:root{--bg:#f3f4fb;--surface:#ffffff;--surface-2:#f8f9fe;--surface-3:#f1f2fb;--ink:#161a28;--ink-2:#565d78;--ink-3:#656c8a;--line:#e6e8f3;--line-2:#eef0f8;--brand:#5a49e0;--brand-2:#7c3aed;--brand-soft:#ede9ff;--brand-ink:#ffffff;--neuro:#6d4aff;--neuro-2:#00b8d4;--neuro-soft:#efeaff;--accent:#0d9488;--ok:#15803d;--ok-bg:#dcfce7;--warn:#96460a;--warn-bg:#fdecc8;--danger:#b3271a;--danger-bg:#fde2df;--info:#1d4ed8;--info-bg:#dbeafe;--sidebar:#1d1a3d;--sidebar-2:#161331;--sidebar-ink:#c9c6ec;--sidebar-ink-2:#8681b8;--sidebar-active:#2c2760;--shadow-sm:0 1px 2px rgba(22,26,50,.06);--shadow:0 2px 6px rgba(22,26,50,.06),0 10px 30px rgba(22,26,50,.05);--shadow-lg:0 8px 24px rgba(22,26,50,.1),0 24px 60px rgba(22,26,50,.1);--radius:14px;--radius-sm:10px;--radius-lg:20px;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;--display:"Manrope",var(--font)}:root[data-theme=dark]{--bg:#0c0e16;--surface:#141824;--surface-2:#191d2c;--surface-3:#1e2333;--ink:#e9ebf5;--ink-2:#9aa1bd;--ink-3:#848cab;--line:#252b3d;--line-2:#272d40;--brand:#8b7bff;--brand-2:#a78bfa;--brand-soft:#241f45;--brand-ink:#ffffff;--neuro:#9d84ff;--neuro-2:#22d3ee;--neuro-soft:#211c40;--accent:#2dd4bf;--ok:#4ade80;--ok-bg:#0f2a1a;--warn:#fbbf24;--warn-bg:#33270a;--danger:#f87171;--danger-bg:#331414;--info:#60a5fa;--info-bg:#0f1f3d;--sidebar:#131028;--sidebar-2:#0e0c20;--sidebar-ink:#b6b2e0;--sidebar-ink-2:#726da6;--sidebar-active:#252056;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow:0 2px 8px rgba(0,0,0,.35),0 12px 36px rgba(0,0,0,.35);--shadow-lg:0 10px 30px rgba(0,0,0,.5),0 30px 70px rgba(0,0,0,.4)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0c0e16;--surface:#141824;--surface-2:#191d2c;--surface-3:#1e2333;--ink:#e9ebf5;--ink-2:#9aa1bd;--ink-3:#848cab;--line:#252b3d;--line-2:#272d40;--brand:#8b7bff;--brand-2:#a78bfa;--brand-soft:#241f45;--neuro:#9d84ff;--neuro-2:#22d3ee;--neuro-soft:#211c40;--accent:#2dd4bf;--ok:#4ade80;--ok-bg:#0f2a1a;--warn:#fbbf24;--warn-bg:#33270a;--danger:#f87171;--danger-bg:#331414;--info:#60a5fa;--info-bg:#0f1f3d;--sidebar:#131028;--sidebar-2:#0e0c20;--sidebar-ink:#b6b2e0;--sidebar-ink-2:#726da6;--sidebar-active:#252056;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow:0 2px 8px rgba(0,0,0,.35),0 12px 36px rgba(0,0,0,.35);--shadow-lg:0 10px 30px rgba(0,0,0,.5),0 30px 70px rgba(0,0,0,.4)}}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:2px solid var(--surface)}::-webkit-scrollbar-thumb:hover{background:var(--ink-3)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}svg:not([width]){width:16px;height:16px;flex:none;vertical-align:middle}.card-h>svg:first-child{width:18px;height:18px;color:var(--ink-3)}.list-row>svg{color:var(--ink-3)}.app{display:grid;grid-template-columns:248px 1fr;height:100vh}.sidebar{background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:var(--sidebar-ink);display:flex;flex-direction:column;overflow:hidden}.sb-brand{display:flex;align-items:center;gap:11px;padding:20px 20px 16px}.sb-logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--neuro-2));display:grid;place-items:center;flex:none;box-shadow:0 4px 14px #5a49e080}.sb-logo svg{width:22px;height:22px;color:#fff}.sb-brand .t{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:-.02em;color:#fff;line-height:1.1}.sb-brand .s{font-size:10.5px;color:var(--sidebar-ink-2);letter-spacing:.02em;margin-top:1px}.sb-scroll{flex:1;overflow-y:auto;padding:6px 12px 18px}.sb-scroll::-webkit-scrollbar-thumb{background:#ffffff1f;border-color:transparent}.sb-group{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--sidebar-ink-2);font-weight:700;margin:16px 12px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:10px;color:var(--sidebar-ink);font-weight:500;font-size:13.5px;transition:.13s;margin:1px 0;position:relative}.nav-item svg{width:18px;height:18px;flex:none;opacity:.85}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.active{background:var(--sidebar-active);color:#fff;font-weight:600}.nav-item.active svg{opacity:1}.nav-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(var(--brand),var(--neuro-2))}.nav-item .badge{margin-left:auto;background:var(--brand);color:#fff;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:999px}.nav-item.neuro .badge{background:linear-gradient(90deg,var(--neuro),var(--neuro-2))}.sb-user{border-top:1px solid rgba(255,255,255,.08);padding:12px 14px;display:flex;align-items:center;gap:11px}.sb-user .av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#f0a,#7c3aed);display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;flex:none}.sb-user .nm{font-size:13px;font-weight:600;color:#fff;line-height:1.2}.sb-user .rl{font-size:11px;color:var(--sidebar-ink-2)}.main{display:flex;flex-direction:column;overflow:hidden;min-width:0}.topbar{height:62px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:0 24px;flex:none}.page-title{font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:-.02em}.branch-switch{display:flex;align-items:center;gap:8px;background:var(--surface-3);border:1px solid var(--line);border-radius:10px;padding:7px 12px;font-size:13px;font-weight:600;color:var(--ink-2)}.branch-switch svg{width:15px;height:15px;color:var(--brand)}.branch-switch .dot{width:7px;height:7px;border-radius:50%;background:var(--ok)}.search{flex:1;max-width:420px;position:relative}.search input{width:100%;height:38px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:0 12px 0 38px;font-size:13px;color:var(--ink)}.search input::placeholder{color:var(--ink-3)}.search svg{position:absolute;left:12px;top:11px;width:16px;height:16px;color:var(--ink-3)}.icon-btn{width:38px;height:38px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;display:grid;place-items:center;color:var(--ink-2);position:relative;transition:.13s}.icon-btn:hover{background:var(--surface-3);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.icon-btn .n{position:absolute;top:-4px;right:-4px;background:var(--danger);color:#fff;font-size:9.5px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:grid;place-items:center;padding:0 3px}.spacer{flex:1}.content{flex:1;overflow-y:auto;padding:24px 28px 60px}.view{max-width:1360px;margin:0 auto;animation:fade .25s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-pad{padding:18px 20px}.card-h{display:flex;align-items:center;gap:10px;padding:15px 20px;border-bottom:1px solid var(--line-2)}.card-h h3{font-family:var(--display);font-size:15px;font-weight:700;margin:0;letter-spacing:-.01em}.card-h .link{margin-left:auto;font-size:12.5px;color:var(--brand);font-weight:600;display:flex;align-items:center;gap:3px}.card-h .link svg{width:13px;height:13px}.grid{display:grid;gap:16px}.btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 16px;border-radius:10px;font-size:13px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:.13s}.btn svg{width:16px;height:16px}.btn:hover{background:var(--surface-3)}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border:none;box-shadow:0 4px 14px #5a49e04d}.btn.primary:hover{filter:brightness(1.06)}.btn.neuro{background:linear-gradient(135deg,var(--neuro),var(--neuro-2));color:#fff;border:none;box-shadow:0 4px 14px #6d4aff4d}.btn.sm{height:32px;padding:0 12px;font-size:12.5px}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--surface-3)}.chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4}.chip .d{width:6px;height:6px;border-radius:50%}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.ok .d{background:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.warn .d{background:var(--warn)}.chip.danger{background:var(--danger-bg);color:var(--danger)}.chip.danger .d{background:var(--danger)}.chip.info{background:var(--info-bg);color:var(--info)}.chip.info .d{background:var(--info)}.chip.neuro{background:var(--neuro-soft);color:var(--neuro)}.chip.neuro .d{background:var(--neuro)}.chip.gray{background:var(--surface-3);color:var(--ink-2)}.chip.gray .d{background:var(--ink-3)}.tag{display:inline-block;padding:4px 11px;border-radius:8px;font-size:12px;font-weight:600;background:var(--brand-soft);color:var(--brand)}.tag.neuro{background:var(--neuro-soft);color:var(--neuro)}.tag.teal{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.muted{color:var(--ink-2)}.dim{color:var(--ink-3)}.mono{font-variant-numeric:tabular-nums}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 15px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.stat .ico{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;margin-bottom:11px}.stat .ico svg{width:17px;height:17px}.stat .lbl{font-size:12px;color:var(--ink-2);font-weight:500}.stat .val{font-family:var(--display);font-size:23px;font-weight:800;letter-spacing:-.02em;margin-top:2px}.stat .delta{font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;gap:2px;margin-top:5px}.stat .delta svg{width:12px;height:12px}.delta.up{color:var(--ok)}.delta.down{color:var(--danger)}.tbl-wrap{overflow-x:auto}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th{text-align:left;padding:11px 16px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-weight:700;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--surface-2)}table.tbl td{padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle}table.tbl tbody tr:last-child td,table.tbl tr:last-child td{border-bottom:none}table.tbl tbody tr{transition:.1s;cursor:pointer}table.tbl tbody tr:hover{background:var(--surface-2)}.av-sm{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:12px;flex:none}.cell-person{display:flex;align-items:center;gap:10px}.cell-person .nm{font-weight:600}.cell-person .sub{font-size:11.5px;color:var(--ink-3)}.money.pos{color:var(--ok);font-weight:700}.money.neg{color:var(--danger);font-weight:700}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.fbtn{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border:1px solid var(--line);background:var(--surface);border-radius:9px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.fbtn svg{width:14px;height:14px;color:var(--ink-3)}.fbtn.on{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.seg{display:inline-flex;background:var(--surface-3);border:1px solid var(--line);border-radius:10px;padding:3px}.seg button{border:none;background:transparent;padding:6px 14px;border-radius:7px;font-size:12.5px;font-weight:600;color:var(--ink-2)}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;margin-top:16px}.list-row{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--line-2)}.list-row:last-child{border-bottom:none}.list-row .grow{flex:1;min-width:0}.list-row .t{font-weight:600;font-size:13px}.list-row .s{font-size:11.5px;color:var(--ink-3)}.empty{padding:34px;text-align:center;color:var(--ink-3);font-size:13px}.empty svg{width:34px;height:34px;opacity:.4;margin-bottom:8px}.neuro-banner{background:linear-gradient(120deg,var(--neuro),var(--neuro-2));border-radius:var(--radius);padding:2px}.neuro-banner .inner{background:var(--surface);border-radius:12px;padding:16px 20px}.neuro-head{display:flex;align-items:center;gap:10px}.neuro-head .ic{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--neuro),var(--neuro-2));display:grid;place-items:center;color:#fff}.neuro-head .ic svg{width:19px;height:19px}.neuro-head h3{font-family:var(--display);font-size:15px;font-weight:800;margin:0}.neuro-head .sub{font-size:11px;color:var(--ink-3)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f112080;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:60;display:none;animation:fade .2s}.overlay.on{display:block}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(760px,94vw);background:var(--bg);z-index:61;box-shadow:var(--shadow-lg);transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.drawer.on{transform:none}.drawer-h{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;background:var(--surface)}.drawer-body{flex:1;overflow-y:auto;padding:22px 24px 50px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);padding:0 24px;background:var(--surface);overflow-x:auto;scrollbar-width:thin}.tabs button{border:none;background:transparent;padding:13px 14px;font-size:13px;font-weight:600;color:var(--ink-2);border-bottom:2px solid transparent;margin-bottom:-1px;flex:none;white-space:nowrap}.tabs button.on{color:var(--brand);border-bottom-color:var(--brand)}.tabs button.neuro.on{color:var(--neuro);border-bottom-color:var(--neuro)}.kv{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;font-size:13px}.kv dt{color:var(--ink-3)}.kv dd{margin:0;font-weight:500}.section-t{font-family:var(--display);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:22px 0 12px}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.kcol{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);min-height:200px}.kcol-h{padding:13px 15px;font-size:12.5px;font-weight:700;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.kcol-h .cnt{margin-left:auto;color:var(--ink-3);font-weight:600}.kcol-body{padding:10px;display:flex;flex-direction:column;gap:9px;min-height:60px}.kcard{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;box-shadow:var(--shadow-sm);cursor:grab}.kcard:active{cursor:grabbing}.kcard.drag{opacity:.4}.kcol.over{outline:2px dashed var(--brand);outline-offset:-4px}.kcard .t{font-weight:600;font-size:13px}.kcard .meta{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.cal{display:grid;grid-template-columns:56px repeat(6,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);font-size:12px}.cal .ch{padding:10px 6px;text-align:center;font-weight:700;border-bottom:1px solid var(--line);border-left:1px solid var(--line-2);background:var(--surface-2)}.cal .ch .d{font-size:16px;font-family:var(--display)}.cal .ch .w{font-size:10.5px;color:var(--ink-3);text-transform:uppercase}.cal .ch.today{background:var(--brand-soft);color:var(--brand)}.cal .tcell{padding:6px;text-align:right;color:var(--ink-3);font-size:10.5px;border-bottom:1px solid var(--line-2)}.cal .slot{border-left:1px solid var(--line-2);border-bottom:1px solid var(--line-2);min-height:52px;padding:3px;position:relative}.lesson{border-radius:8px;padding:5px 7px;font-size:11px;font-weight:600;line-height:1.25;height:100%;border-left:3px solid;cursor:pointer;overflow:hidden}.lesson .tm{font-size:10px;font-weight:500;opacity:.85}.bar{height:8px;border-radius:6px;background:var(--surface-3);overflow:hidden}.bar>i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--brand),var(--brand-2))}.metric-row{display:flex;align-items:center;gap:12px;margin:10px 0}.metric-row .ml{width:130px;font-size:12.5px;color:var(--ink-2);flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-row .mv{width:40px;text-align:right;font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums}.att-row{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--line-2)}.att-row:last-child{border-bottom:none}.statuses{display:flex;gap:6px;margin-left:auto}.st-btn{padding:5px 11px;border-radius:8px;font-size:11.5px;font-weight:700;border:1.5px solid transparent;background:var(--surface-3);color:var(--ink-3);transition:.12s}.st-btn.sel-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.st-btn.sel-warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn)}.st-btn.sel-danger{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.st-btn.sel-info{background:var(--info-bg);color:var(--info);border-color:var(--info)}.st-btn:hover{filter:brightness(.97)}.flag-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-2)}.flag-legend b{color:var(--ink)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:var(--surface);padding:12px 20px;border-radius:12px;font-size:13px;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;transition:.28s;z-index:80;display:flex;align-items:center;gap:9px;pointer-events:none}.toast.on{opacity:1;transform:translate(-50%) translateY(0)}.toast svg{width:17px;height:17px;color:var(--ok)}.menu-toggle{display:none}@media(max-width:1080px){.stats{grid-template-columns:repeat(3,1fr)}.dash-grid{grid-template-columns:1fr}.kanban{grid-template-columns:1fr 1fr}}@media(max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;z-index:70;transform:translate(-100%);transition:.25s}.sidebar.open{transform:none}.menu-toggle{display:grid}.stats{grid-template-columns:1fr 1fr}.kanban{grid-template-columns:1fr}.search{display:none}}.sidebar :focus-visible{outline:2px solid #ffffff;outline-offset:2px}.nav-item:focus-visible{background:#ffffff1a;color:#fff}.tbl-wrap :focus-visible{outline-offset:-2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin:0 0 18px}.page-head h1{font-family:var(--display);font-size:24px;font-weight:800;letter-spacing:-.025em;margin:0;line-height:1.15}.page-head .lead{color:var(--ink-2);font-size:13px;margin-top:5px;max-width:70ch}.page-head .acts{margin-left:auto;display:flex;gap:9px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 16px}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field>span.lb{font-size:12px;font-weight:600;color:var(--ink-2)}.field .hint{font-size:11.5px;color:var(--ink-3)}.inp{width:100%;min-height:38px;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:8px 11px;font-size:13px;font-family:inherit;color:var(--ink)}.inp::placeholder{color:var(--ink-3)}.inp:disabled{background:var(--surface-3);color:var(--ink-3);cursor:not-allowed}select.inp{cursor:pointer}textarea.inp{min-height:78px;resize:vertical}.check{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}.check input{width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--brand)}.check .t{font-size:13px;font-weight:600}.check .s{font-size:11.5px;color:var(--ink-2);margin-top:2px;display:block}.check:has(input:disabled){cursor:not-allowed;opacity:.75}.check-list{display:grid;gap:9px}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:62;display:grid;place-items:center;padding:20px;pointer-events:none}.modal{pointer-events:auto;width:min(600px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:fade .18s ease}.modal.wide{width:min(760px,100%)}.modal-h{display:flex;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line-2)}.modal-h h2{font-family:var(--display);font-size:17px;font-weight:800;margin:0;letter-spacing:-.015em}.modal-h .sub{font-size:12px;color:var(--ink-2);margin-top:3px}.modal-b{padding:18px 20px;overflow-y:auto;flex:1}.modal-f{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--line-2);background:var(--surface-2);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap}.notice{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:var(--radius-sm);font-size:12.5px;line-height:1.45;border:1px solid transparent;margin-bottom:14px}.notice svg{flex:none;margin-top:1px}.notice.err{background:var(--danger-bg);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent)}.notice.warn{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.notice.info{background:var(--info-bg);color:var(--info);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.notice .btn{margin-left:auto;flex:none}table.tbl.static tbody tr{cursor:default}table.tbl th[scope=row]{background:transparent;text-transform:none;letter-spacing:0;font-size:13px;color:var(--ink);font-weight:600}.flag{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:7px;font-size:11.5px;font-weight:700;white-space:nowrap}.flag.on{background:var(--brand-soft);color:var(--brand)}.flag.off{background:var(--surface-3);color:var(--ink-3)}.flag svg{width:12px;height:12px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tags .tag{font-size:11px;padding:3px 8px}.set-list{display:grid;gap:10px}.set-row{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.set-row:last-child{border-bottom:none}.set-row .grow{flex:1;min-width:200px}.set-row .nm{font-weight:600;font-size:13.5px}.set-row .s{font-size:12px;color:var(--ink-2);margin-top:3px}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:14px}.svc{display:flex;flex-direction:column;gap:11px}.svc .rows{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-2)}.svc .rows>div{display:flex;gap:7px;align-items:center}.svc .rows svg{color:var(--ink-3)}@media(max-width:1080px){.svc-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:560px){.topbar{padding:0 12px;gap:9px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.topbar::-webkit-scrollbar{height:0}.topbar>*{flex:none}.topbar .spacer{flex:1 0 4px;min-width:4px}.page-title{font-size:16px;white-space:nowrap}.content{padding:16px 14px 48px}.page-head h1{font-size:20px}.page-head .acts{margin-left:0;width:100%}.tabs{padding:0 12px}.tabs button{padding:12px 10px;font-size:12.5px}.card-pad{padding:14px}.modal-wrap{padding:10px}.modal-h,.modal-b,.modal-f{padding-left:14px;padding-right:14px}.modal-f .btn{flex:1;justify-content:center}.toolbar{gap:8px}.toolbar .search{max-width:none;flex:1 1 100%}.svc-grid,.form-grid{grid-template-columns:1fr}.seg{width:100%}.seg button{flex:1;padding:6px 8px}}.modal>form{display:flex;flex-direction:column;min-height:0;flex:1}.fld{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--ink-2)}.fld>span{font-weight:600;color:var(--ink-2)}.fld input[type=text],.fld input[type=number],.fld input[type=date],.fld select,.fld textarea{padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:13.5px;width:100%}.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}.fld small{font-size:11.5px;line-height:1.35}.fld.row{flex-direction:row;align-items:center;gap:9px}.fld.row input[type=checkbox]{width:16px;height:16px;flex:none;accent-color:var(--brand)}.fld.row>span{font-weight:500;color:var(--ink)}.form-grid.one{grid-template-columns:1fr}.fld-set{border:1px solid var(--line);border-radius:11px;padding:12px 14px;display:flex;flex-direction:column;gap:9px;margin:0}.fld-set legend{font-size:12px;font-weight:700;color:var(--ink-2);padding:0 6px}.fld-set[disabled]{opacity:.72}.tabs-scroll{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.tabs-scroll button{scroll-snap-align:start}.lesson-line{display:flex;align-items:center;width:100%;text-align:left;border:none;background:transparent;padding:6px 8px;border-radius:9px;font:inherit;color:var(--ink);cursor:pointer}.lesson-line:hover{background:var(--surface-2)}.lesson-line:focus-visible{outline:2px solid var(--brand);outline-offset:1px}@media(max-width:700px){.tbl-wrap{overflow-x:visible}table.tbl,table.tbl tbody,table.tbl tr,table.tbl td{display:block;width:100%}table.tbl thead{display:none}table.tbl tbody tr{border:1px solid var(--line);border-radius:14px;margin:0 0 10px;padding:6px 0;background:var(--surface)}table.tbl tbody tr:last-child{margin-bottom:0}table.tbl td{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:9px 14px;border:0;text-align:right}table.tbl td:before{content:attr(data-label);flex:0 0 auto;max-width:45%;text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--ink-3)}table.tbl td:first-child{display:block;text-align:left;font-weight:600;padding-bottom:4px}table.tbl td:first-child:before{content:none}table.tbl td:empty{display:none}table.tbl td:last-child:has(button){justify-content:flex-end}table.tbl td:last-child:has(button):before{content:none}.btn,.fbtn,.icon-btn,button,.tabs button,a.nav-item,.inp,select.inp,input.inp{min-height:44px}a.nav-item{align-items:center}.btn.sm{min-height:44px;padding-inline:14px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}}@media(max-width:700px){.att-row{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"avatar who" "statuses statuses";gap:10px 12px;padding:14px 14px 12px}.att-row>:first-child{grid-area:avatar}.att-row>:nth-child(2){grid-area:who;width:auto!important}.statuses{grid-area:statuses;margin-left:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.st-btn{min-height:46px;font-size:13.5px;padding:10px 12px;border-width:2px}.statuses .st-btn:last-child:nth-child(odd){grid-column:1 / -1}}@media(max-width:700px){.portal-tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:0;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);overflow:visible}.portal-tabs button{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;border-radius:0;border:0;padding:6px 2px}[data-portal-main]{padding-bottom:76px}}table.tbl tbody tr.picked{background:color-mix(in srgb,var(--accent) 8%,transparent)}table.tbl tbody tr.picked:hover{background:color-mix(in srgb,var(--accent) 13%,transparent)}table.tbl input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
