:root{--brand:#fc4c1c;--brand-rgb:252,76,28;--brand-dark:#d93a0e;--brand-ink:#c2340c;--blue:#0e73e4;--blue-rgb:14,115,228;--royal:#03228f;--navy:#061340;--side-bg:#0a1540;--side-text:#a3add4;--side-line:#ffffff12;--side-hover:#ffffff0d;--bg:#f3f5fa;--box:#fff;--text:#3b4160;--heading:#161c3a;--muted:#7a83a3;--border:#e7eaf3;--input:#d9deec;--head:#f7f8fc;--soft:#f0f2f8;--success:#169c6f;--success-rgb:22,156,111;--warning:#c98a0c;--warning-rgb:229,160,25;--danger:#dc3f45;--danger-rgb:220,63,69;--violet:#7b5ce6;--shadow:0 .75rem 1.5rem #12263f0b;--shadow-lg:0 24px 60px #06134047;--f-display:"Livvic", "Trebuchet MS", system-ui, sans-serif;--f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1021;--box:#131a2f;--text:#c5cbe0;--heading:#eef1fa;--muted:#8890ae;--border:#ffffff12;--input:#ffffff21;--head:#171f38;--soft:#1a2240;--side-bg:#070e2a;--brand-ink:#ff7a52;--success:#2bc48e;--warning:#edb43c;--danger:#f06a6e;--blue:#4c9bf2;--shadow:0 1px 2px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1021;--box:#131a2f;--text:#c5cbe0;--heading:#eef1fa;--muted:#8890ae;--border:#ffffff12;--input:#ffffff21;--head:#171f38;--soft:#1a2240;--side-bg:#070e2a;--brand-ink:#ff7a52;--success:#2bc48e;--warning:#edb43c;--danger:#f06a6e;--blue:#4c9bf2;--shadow:0 1px 2px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}#app{flex-direction:column;min-height:100%;display:flex}body{background:var(--bg);color:var(--text);font-family:var(--f-body);margin:0;font-size:13.5px;line-height:1.5}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid rgba(var(--brand-rgb),.55);outline-offset:2px}svg.i{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}h1,h2,h3,h4,h5{color:var(--heading);text-wrap:balance}a{color:var(--blue)}.num{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.login{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);display:grid}.login-art{background:linear-gradient(150deg,var(--royal) 0%,var(--navy) 62%);color:#fff;padding-block:44px;padding-left:max(48px,env(safe-area-inset-left,0px));flex-direction:column;justify-content:space-between;gap:32px;padding-right:48px;display:flex;position:relative;overflow:hidden}.login-art .logo{color:#fff;align-self:flex-start;width:auto;height:38px}.login-art h1{font:700 clamp(28px,3.2vw,42px)/1.12 var(--f-display);color:#fff;max-width:15ch;margin:0 0 14px}.login-art p{color:#b7c1e6;max-width:44ch;margin:0;font-size:15px}.chips{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.chips span{font:600 11px var(--f-display);letter-spacing:.09em;text-transform:uppercase;color:#e3e8fa;background:#ffffff14;border-radius:30px;align-items:center;gap:7px;padding:6px 12px;display:inline-flex}.chips i{border-radius:50%;width:8px;height:8px;display:inline-block}.login-art>*{z-index:1;position:relative}.login-art>.login-mark{z-index:0;opacity:.1;pointer-events:none;width:min(420px,56%);color:var(--brand);position:absolute;bottom:-60px;right:-70px}.login-foot{color:#8e9ac8;font-size:12px;font-family:var(--f-display);position:relative}.login-form-wrap{padding-block:40px;padding-left:24px;padding-right:max(24px,env(safe-area-inset-right,0px));place-items:center;display:grid}.login-card{background:var(--box);width:min(410px,100%);box-shadow:var(--shadow);border-radius:10px;padding:32px}.login-card h2{font:700 21px var(--f-display);margin:0 0 4px}.login-card .sub-t{color:var(--muted);margin:0 0 24px}.pw-wrap{position:relative}.pw-wrap .form-control{padding-right:44px}.pw-wrap button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;display:grid;position:absolute;top:4px;right:4px}.pw-wrap button:hover{color:var(--brand)}.login-row{justify-content:space-between;align-items:center;margin:2px 0 20px;font-size:12.8px;display:flex}.login-row a{color:var(--brand-ink);font-weight:500;text-decoration:none}.login-err{color:var(--danger);min-height:18px;margin:-6px 0 12px;font-size:12.5px}@media (width<=860px){.login{grid-template-columns:1fr}.login-art{padding-top:28px;padding-bottom:28px;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));gap:26px}.login-mark{display:none}.login-art h1{font-size:26px}.login-form-wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}.sidebar{background:var(--side-bg);z-index:40;width:250px;padding-left:env(safe-area-inset-left,0px);flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0}.side-logo{height:70px;margin-top:env(safe-area-inset-top,0px);flex:none;align-items:center;padding:0 22px;display:flex}.side-logo svg{color:#fff;width:auto;height:24px}.side-nav{font-family:var(--f-display);flex:1;padding:6px 0 20px;overflow-y:auto}.menu-title{letter-spacing:.07em;text-transform:uppercase;color:#6874a6;padding:16px 24px 8px;font-size:11px;font-weight:600}.nav-a{color:var(--side-text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 24px;font-size:14px;font-weight:500;display:flex;position:relative}.nav-a:hover{color:#fff;background:var(--side-hover)}.nav-a.on{color:#fff}.nav-a.on:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.nav-a.on svg{color:var(--brand)}.nav-a .tag{font:600 10px var(--f-body);background:rgba(var(--brand-rgb),.18);color:#ffb49e;border-radius:20px;margin-left:auto;padding:2px 7px}.side-foot{padding:14px 22px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--side-line);color:#6874a6;font-size:11.5px}.main{flex-direction:column;min-height:100%;margin-left:250px;display:flex}.topbar{top:env(safe-area-inset-top,0px);z-index:30;background:var(--box);height:70px;box-shadow:var(--shadow);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));align-items:center;gap:12px;display:flex;position:sticky}body:before{content:"";height:env(safe-area-inset-top,0px);z-index:31;background:var(--box);position:fixed;inset:0 0 auto}.tb-btn{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.tb-btn:hover{background:var(--soft);color:var(--heading)}.burger{display:none}.tb-search{flex:0 300px;min-width:0;position:relative}.tb-search input{background:var(--soft);border:0;border-radius:30px;width:100%;height:38px;padding:0 16px 0 40px}.tb-search svg{color:var(--muted);position:absolute;top:10px;left:14px}.tb-sp{flex:1}.tb-user{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:6px 8px;display:flex}.tb-user:hover{background:var(--soft)}.tb-user b{color:var(--heading);font-size:13px;font-weight:600;line-height:1.2;display:block}.tb-user small{color:var(--muted);font-size:11.5px}.dropdown{right:max(16px,env(safe-area-inset-right,0px));background:var(--box);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:50;border-radius:8px;min-width:220px;padding:6px;position:absolute;top:64px}.dropdown button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:10px;width:100%;padding:9px 12px;display:flex}.dropdown button:hover{background:var(--soft)}.dropdown .sep{background:var(--border);height:1px;margin:6px 0}.page{padding-block:24px 32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));flex:1;width:100%;max-width:1440px}@media (width>=768px){.page{padding-left:24px;padding-right:24px}}.footer{padding:18px 24px calc(18px + env(safe-area-inset-bottom,0px));color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.overlay{display:none}@media (width<=992px){.sidebar{transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-lg);transform:none}.main{margin-left:0}.burger{display:grid}.overlay.show{z-index:35;background:#06134073;display:block;position:fixed;inset:0}}@media (width<=640px){.tb-search,.tb-user .who,.demo-pill{display:none}}.ptitle{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.ptitle h4{font:600 16px var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin:0}.crumbs{color:var(--muted);flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.crumbs button{color:var(--text);cursor:pointer;background:0 0;border:0;padding:0}.crumbs button:hover{color:var(--brand-ink)}.crumbs span:before{content:"/";color:var(--muted);margin-right:6px}.grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.c12{grid-column:span 12}.c8{grid-column:span 8}.c7{grid-column:span 7}.c6{grid-column:span 6}.c5{grid-column:span 5}.c4{grid-column:span 4}.c3{grid-column:span 3}@media (width<=1200px){.c3{grid-column:span 6}.c4,.c8,.c7,.c5{grid-column:span 12}}@media (width<=768px){.c6,.c3{grid-column:span 12}}.tiles{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:24px;display:grid}.card{background:var(--box);box-shadow:var(--shadow);border-radius:6px;min-width:0}.card-b{padding:20px}.card-h{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 0;display:flex}.card-t{font:600 15px var(--f-display);color:var(--heading);margin:0}.card-sub{color:var(--muted);margin:2px 0 0;font-size:12.5px}.mini{align-items:center;gap:14px;padding:20px;display:flex}.mini .lbl{color:var(--muted);margin:0 0 4px;font-weight:500}.mini .val{font:600 20px var(--f-display);color:var(--heading);font-variant-numeric:tabular-nums;margin:0}.mini .ex{color:var(--muted);margin-top:2px;font-size:12px}.av{border-radius:50%;flex:none;place-items:center;width:46px;height:46px;margin-left:auto;display:grid}.av svg{width:22px;height:22px}.soft-brand{background:rgba(var(--brand-rgb),.12);color:var(--brand-ink)}.soft-blue{background:rgba(var(--blue-rgb),.12);color:var(--blue)}.soft-green{background:rgba(var(--success-rgb),.13);color:var(--success)}.soft-amber{background:rgba(var(--warning-rgb),.16);color:var(--warning)}.soft-red{background:rgba(var(--danger-rgb),.13);color:var(--danger)}.soft-grey{background:var(--soft);color:var(--muted)}.welcome{overflow:hidden}.welcome .top{background:rgba(var(--brand-rgb),.1);justify-content:space-between;gap:10px;padding:20px 20px 46px;display:flex;position:relative}.welcome .top h5{font:600 16px var(--f-display);color:var(--brand-ink);margin:0 0 4px}.welcome .top p{color:var(--text);margin:0}.welcome .top svg.mark{width:96px;height:auto;color:var(--brand);opacity:.25;position:absolute;bottom:8px;right:16px}.welcome .body{grid-template-columns:auto 1fr 1fr;align-items:end;gap:16px;padding:0 20px 20px;display:grid}.welcome .ava{border:4px solid var(--box);width:72px;height:72px;margin-top:-36px;font-size:24px}.welcome .stat b{font:600 16px var(--f-display);color:var(--heading);display:block}.welcome .stat small{color:var(--muted)}.ava{color:#fff;width:34px;height:34px;font:600 12.5px var(--f-display);border-radius:50%;flex:none;place-items:center;display:grid}.ava.sm{width:26px;height:26px;font-size:10.5px}.stack{display:flex}.stack .ava{border:2px solid var(--box);margin-left:-5px}.stack .ava:first-child{margin-left:0}.who-cell{align-items:center;gap:10px;min-width:0;display:flex}.who-cell b{color:var(--heading);font-weight:600;display:block}.who-cell small{color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px}th{background:var(--head);color:var(--heading);font-size:12.8px;font-weight:600}td.wrap,th.wrap{white-space:normal;min-width:220px}td.r,th.r{text-align:right}tr.click{cursor:pointer}tr.click:hover td{background:var(--head)}tfoot td{color:var(--heading);background:var(--head);font-weight:600}.t-name b{color:var(--heading);font-weight:600;display:block}.t-name small{color:var(--muted)}.badge{white-space:nowrap;border-radius:4px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.dot{background:currentColor;border-radius:50%;width:7px;height:7px}.prov{align-items:center;gap:6px;font-weight:500;display:inline-flex}.prov i{border-radius:2px;width:9px;height:9px;display:inline-block}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn svg.i{width:16px;height:16px}.btn-p{background:var(--brand);color:#fff;box-shadow:0 2px 6px rgba(var(--brand-rgb),.3)}.btn-p:hover{background:var(--brand-dark)}.btn-l{background:var(--soft);color:var(--heading)}.btn-l:hover{background:var(--border)}.btn-o{border-color:var(--input);color:var(--heading);background:0 0}.btn-o:hover{border-color:var(--brand);color:var(--brand-ink)}.btn-sm{height:30px;padding:0 10px;font-size:12.5px}.btn-w{width:100%;height:44px;font-size:14.5px;font-weight:600}.btn-icon{width:32px;padding:0}.field{gap:6px;min-width:0;margin-bottom:16px;display:grid}.field label,.flabel{color:var(--heading);font-size:12.8px;font-weight:600}.form-control,.form-select{border:1px solid var(--input);background:var(--box);border-radius:5px;width:100%;min-width:0;height:40px;padding:0 12px}textarea.form-control{resize:vertical;height:auto;min-height:84px;padding:10px 12px}.form-control:focus,.form-select:focus{border-color:rgba(var(--brand-rgb),.6);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.12);outline:none}.form-select.sm,.form-control.sm{height:34px;font-size:12.8px}.frow{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}@media (width<=560px){.frow{grid-template-columns:1fr}}.help{color:var(--muted);font-size:12px}.check{border:1px solid var(--border);cursor:pointer;border-radius:6px;align-items:flex-start;gap:10px;margin-bottom:8px;padding:10px 12px;display:flex}.check input{accent-color:var(--brand);margin-top:3px}.check b{color:var(--heading);font-weight:600;display:block}.check small{color:var(--muted)}.check.locked{opacity:.75;cursor:not-allowed;background:var(--head)}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar .form-control,.toolbar .form-select{width:auto;min-width:150px}.toolbar .grow{flex:220px}.period{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seg{background:var(--soft);border-radius:6px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:6px 12px;font-size:12.8px;font-weight:500}.seg button.on{background:var(--box);color:var(--heading);box-shadow:0 1px 2px #00000014}.plabel{font:600 14px var(--f-display);color:var(--heading);text-align:center;min-width:130px}.period input[type=date]{border:1px solid var(--input);background:var(--box);border-radius:5px;height:34px;padding:0 8px}.preset{border:1px dashed var(--input);cursor:pointer;color:var(--text);background:0 0;border-radius:20px;padding:4px 10px;font-size:12px}.preset:hover{border-color:var(--brand);color:var(--brand-ink)}.kv{grid-template-columns:auto 1fr;gap:10px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{color:var(--heading);text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.stat-row{background:var(--border);border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:16px;display:grid;overflow:hidden}.stat-row div{background:var(--box);padding:14px 16px}.stat-row small{color:var(--muted);margin-bottom:2px;display:block}.stat-row b{font:600 17px var(--f-display);color:var(--heading);font-variant-numeric:tabular-nums}@media (width<=560px){.stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.note{border-radius:6px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:12.8px;display:flex}.note svg{margin-top:1px}.empty{text-align:center;color:var(--muted);padding:28px}.pgrid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:24px;display:grid}.pcard{cursor:pointer;border:1px solid #0000;flex-direction:column;display:flex}.pcard:hover{border-color:rgba(var(--brand-rgb),.35)}.pcard .card-b{flex:1;gap:14px;display:grid}.pcard h5{font:600 15px var(--f-display);margin:0}.pcard .meta{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;font-size:12.5px;display:flex}.progress{background:var(--soft);border-radius:4px;height:6px;overflow:hidden}.progress span{background:var(--brand);border-radius:4px;height:100%;display:block}.task-done .t-name b{color:var(--muted);text-decoration:line-through}.tstatus{border:2px solid var(--input);cursor:pointer;color:#fff;background:0 0;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid}.tstatus.done{background:var(--success);border-color:var(--success)}.tstatus.prog{border-color:var(--blue);background:radial-gradient(circle,var(--blue) 0 4px,transparent 5px)}.tstatus svg{stroke-width:3px;width:12px;height:12px}.entries td{background:var(--head);font-size:12.8px}.entries td:first-child{padding-left:52px}.hbar{grid-template-columns:150px 1fr 70px;align-items:center;gap:12px;margin-bottom:12px;display:grid}.hbar .track{background:var(--soft);border-radius:6px;height:10px;overflow:hidden}.hbar .fill{border-radius:6px;height:100%}.hbar b{color:var(--heading);text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.hbar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart svg{width:100%;height:auto;display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:12.5px;display:flex}.legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.modal-bg{z-index:60;background:#06134080;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--box);width:min(560px,100%);box-shadow:var(--shadow-lg);border-radius:8px;flex-direction:column;max-height:calc(100% - 32px);display:flex}.modal-h{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-h h5{font:600 16px var(--f-display);margin:0}.modal-b{padding:20px;overflow-y:auto}.modal-f{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.toast{right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--heading);color:var(--box);box-shadow:var(--shadow-lg);z-index:70;border-radius:6px;align-items:center;gap:10px;max-width:calc(100% - 40px);padding:12px 16px;display:flex;position:fixed}.access{width:26px;height:22px;font:700 11px var(--f-display);border-radius:4px;place-items:center;margin-right:4px;display:inline-grid}.access.off{background:var(--soft);color:var(--muted);opacity:.6}.denied{text-align:center;max-width:460px;margin:40px auto}.lang{align-items:center;gap:6px;display:flex}.lang button{cursor:pointer;color:var(--side-text);font:600 11px var(--f-display);letter-spacing:.06em;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:6px;padding:4px 7px;display:flex}.lang button:hover{background:var(--side-hover);color:#fff}.lang button.on{color:#fff;background:#ffffff0f;border-color:#ffffff2e}.lang svg{border-radius:2px;width:20px;height:14px;display:block;box-shadow:0 0 0 1px #ffffff26}.side-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.login-foot{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;display:flex}.srv{grid-template-columns:minmax(150px,auto) 1fr;margin:0;display:grid}.srv dt,.srv dd{border-bottom:1px solid var(--border);margin:0;padding:11px 0}.srv dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding-right:16px;font-size:12px;font-weight:600}.srv dd{color:var(--heading);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.srv dt:last-of-type,.srv dd:last-of-type{border-bottom:0}.srv .mono{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.8px}.copy{background:var(--soft);color:var(--muted);cursor:pointer;border:0;border-radius:4px;place-items:center;width:26px;height:24px;padding:0;display:grid}.copy:hover{color:var(--brand-ink)}.copy svg{width:14px;height:14px}.dchips{flex-wrap:wrap;gap:6px;display:flex}.dchips span{background:var(--soft);border-radius:4px;padding:3px 8px;font-size:12.5px;font-weight:500}.quota{gap:6px;width:100%;display:grid}.quota .progress{height:8px}@media (width<=560px){.srv{grid-template-columns:1fr}.srv dt{border-bottom:0;padding-bottom:0}}.fsec{border-top:1px solid var(--border);font:600 13px var(--f-display);color:var(--heading);margin:6px 0 14px;padding-top:14px}.subprog{width:max-content;color:var(--muted);align-items:center;gap:4px;margin-top:4px;font-size:11.5px;font-weight:600;display:flex}.subprog svg{width:13px;height:13px}.subprog.all{color:var(--success)}table.tasks th,table.tasks td{padding-left:8px;padding-right:8px}table.tasks td.wrap{min-width:200px}tr.expand>td{background:var(--head);white-space:normal;padding:0}.xpanel{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;width:0;min-width:100%;padding:16px 20px 18px 52px;display:grid}@media (width<=900px){.xpanel{grid-template-columns:1fr;padding-left:16px}}.xh{font:600 12px var(--f-display);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.sub{cursor:pointer;border-radius:5px;align-items:center;gap:10px;padding:7px 8px;display:flex}.sub:hover{background:var(--box)}.sub input{width:16px;height:16px;accent-color:var(--success);flex:none;margin:0}.sub span{flex:1;min-width:0}.sub.done span{color:var(--muted);text-decoration:line-through}.sub .del{opacity:0;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px;display:grid}.sub:hover .del,.sub .del:focus-visible{opacity:1}.sub .del svg{width:14px;height:14px}.subadd{gap:8px;margin-top:8px;display:flex}.subadd .form-control{height:34px}.xentries{gap:2px;display:grid}.xentries div{border-radius:5px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:6px 8px;font-size:12.8px;display:grid}.xentries div:hover{background:var(--box)}.xentries small{color:var(--muted)}.ferr{color:var(--danger);margin-top:-2px;font-size:12px}.form-control.is-invalid,.form-select.is-invalid{border-color:var(--danger)}.btn[disabled]{opacity:.6;cursor:not-allowed}.linkish{color:var(--brand-ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:500}.linkish:hover{text-decoration:underline}a.plain{color:inherit;text-decoration:none}.toast.error{background:var(--danger);color:#fff}.alert-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.login-card .ok{color:var(--success);margin:-8px 0 14px;font-size:12.8px}.nav-a{text-decoration:none}.crumbs a{color:var(--text)}.crumbs a:hover{color:var(--brand-ink)}.side-logo a svg{width:auto;height:24px}
