:root{color-scheme:dark;--bg:#1c1a17;--bg-sidebar:#191714;--surface:#24211d;--surface-2:#26231f;--surface-accent:#2a2620;--border:#3a352e;--border-soft:#332f29;--border-softer:#2e2a25;--text:#ede6da;--text-strong:#f3ece0;--text-soft:#b3aa9c;--text-muted:#a39a8c;--accent:#d6ba85;--accent-hover:#e2c996;--accent-active:#c4a673;--accent-label:#c9a96e;--on-accent:#231d14;--accent-border:#7a6642;--ok-bg:#2b3324;--ok-fg:#b9c2a0;--warn-bg:#3a2a22;--warn-fg:#e0a98a;--danger-bg:#3a2220;--danger-fg:#e89a8e;--danger-field:#b8665c;--info-bg:#232a30;--info-fg:#a9bccb;--focus-ring:#e8d2a6;--disabled-bg:#2a2724;--disabled-fg:#6f675c;--overlay:rgba(12,11,9,0.72);--skeleton:#2e2a25;--skeleton-hi:#36312b;--text-body:#ddd5c8;--text-chip:#d9d1c4;--text-dim:#a39a8c;--border-strong:#4a443b;--control-border:#7a7367;--accent-soft-bg:#3a3326;--accent-soft-border:#5a4c33;--accent-light:#e6d3ae;--on-accent-light:#2a2217;--ok-border:#3f4b33;--ok-text:#dde2d0;--warn-border:#5e4232;--warn-text:#e8d6cb;--info-border:#34414b;--info-text:#dde5eb;--info-text-soft:#c3cfd8;--danger-border:#5c3530;--danger-text:#f0d2cc;--danger-hover:#f0aea3;--danger-hover-bg:#45282a;--danger-hover-border:#6e3f38;--danger-active-bg:#4e2c27;--danger-tint:#2e2320;--secondary-active:#332e26;--bar-bg:#211e1a;--media-bg:#15130f;--chart-mid:#9c875e;--font-display:"Cormorant Garamond","Cormorant Garamond Fallback",Georgia,"Times New Roman",serif;--font-body:"Manrope","Manrope Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","JetBrains Mono Fallback",ui-monospace,SFMono-Regular,Menlo,monospace;--r-sm:8px;--r-field:12px;--r-card:18px;--r-card-lg:22px;--shadow-1:0 8px 24px rgba(0,0,0,0.35);--shadow-2:0 24px 64px rgba(0,0,0,0.55);--tabbar-h:84px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}a{color:var(--accent-label)}a:hover{color:var(--focus-ring)}h1,h2{font-family:var(--font-display);font-weight:600}h1,h2,h3{color:var(--text-strong);margin:0}h3{font:700 19px/1.35 var(--font-body)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}button{font-family:inherit}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.mono-label{font:500 12px/1.4 var(--font-mono);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-label)}.mono-label-sm{font:500 11px/1.4 var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:1px solid transparent;font:700 15px/1 var(--font-body);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn-primary:hover:not([disabled]){background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn-primary:active:not([disabled]){background:var(--accent-active);border-color:var(--accent-active)}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border-strong);font-weight:600}.btn-secondary:hover:not([disabled]){background:var(--surface-accent);border-color:var(--accent-soft-border);color:var(--text-strong)}.btn-secondary:active:not([disabled]){background:var(--secondary-active)}.btn-ghost{background:transparent;color:var(--accent-label);font-weight:600}.btn-ghost:hover:not([disabled]){background:var(--surface-2);color:var(--focus-ring)}.btn-danger{background:var(--danger-bg);color:var(--danger-fg);border-color:var(--danger-border)}.btn-danger:hover:not([disabled]){background:var(--danger-hover-bg);color:var(--danger-hover);border-color:var(--danger-hover-border)}.btn-danger:active:not([disabled]){background:var(--danger-active-bg)}.btn[aria-disabled=true],.btn[disabled]{background:var(--disabled-bg);color:var(--disabled-fg);border-color:var(--border-soft);cursor:not-allowed}.btn-h44{height:44px;font-size:14px;padding:0 18px}.btn-h52{height:52px;font-size:16px}.btn-h56{height:56px;font-size:16px}.btn-block{width:100%}.btn .spin,.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.icon-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);background:transparent;color:var(--accent-label);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:hover{background:var(--surface-accent);border-color:var(--accent-soft-border)}.icon-btn[disabled]{background:var(--disabled-bg);color:var(--disabled-fg);border-color:var(--border-soft);cursor:not-allowed}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font:600 12px/1.3 var(--font-body);background:var(--border-softer);color:var(--text-soft);white-space:nowrap}.badge-ok{background:var(--ok-bg);color:var(--ok-fg)}.badge-warn{background:var(--warn-bg);color:var(--warn-fg)}.badge-danger{background:var(--danger-bg);color:var(--danger-fg)}.badge-info{background:var(--info-bg);color:var(--info-fg)}.badge-accent{background:var(--accent-soft-bg);color:var(--accent-label)}.badge-neutral{background:var(--border-softer);color:var(--text-soft)}.chip{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--text-chip);font:500 14px/1 var(--font-body);cursor:pointer;text-decoration:none}.chip.on,.chip[aria-pressed=true]{border-color:var(--accent)}.chip-count,.chip.on,.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:700}.chip-count{min-width:24px;height:24px;padding:0 6px;border-radius:12px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.chip[aria-pressed=true] .chip-count{background:var(--on-accent);color:var(--accent-label)}.input,.select,.textarea{width:100%;height:48px;padding:0 16px;border-radius:var(--r-field);border:1px solid var(--control-border);background:var(--surface);color:var(--text-strong);font:400 15px/1.4 var(--font-body)}.textarea{height:auto;padding:12px 16px;line-height:1.55;resize:vertical;min-height:96px}.select{padding:0 12px;color:var(--text)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--accent)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger-field)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--disabled-bg);color:var(--disabled-fg);border-color:var(--border-soft)}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}.field-label{font-size:13px;color:var(--text-muted)}.field-hint{font-size:12px;color:var(--text-dim)}.field-error{font-size:12px;color:var(--danger-fg)}.card{background:var(--surface);border:1px solid var(--border-soft);padding:18px}.card-accent{border-color:var(--accent-soft-border)}.card-accent,.card-stage{background:var(--surface-accent)}.card-stage{border-color:var(--accent-border);border-radius:var(--r-card-lg)}.progress{height:6px;border-radius:3px;background:var(--border)}.progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .35s ease}.progress-8{height:8px;border-radius:4px;background:var(--border-soft)}.skeleton{background:var(--skeleton);border-radius:8px;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%,to{background:var(--skeleton)}50%{background:var(--skeleton-hi)}}.notice{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;border:1px solid var(--border);font-size:14px;line-height:1.55}.notice-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.state{flex-direction:column;gap:14px;text-align:center;padding:0 32px}.state,.state-icon{display:flex;align-items:center;justify-content:center}.state-icon{width:72px;height:72px;border-radius:50%;background:var(--surface-accent);border:1px solid var(--accent-soft-border);color:var(--accent-label)}.state-icon.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-fg)}.state-icon.ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-fg)}.state-icon.warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-fg)}.state-title{font:600 30px/1.1 var(--font-display);color:var(--text-strong)}.state-text{font-size:15px;line-height:1.55;color:var(--text-soft)}.toast{gap:12px;padding:14px 16px;border-radius:16px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-1);font-size:14px}.modal-back,.toast{display:flex;align-items:center}.modal-back{position:fixed;inset:0;background:var(--overlay);justify-content:center;z-index:100;padding:16px}.modal{width:min(480px,100%);overflow:auto;padding:26px;border-radius:var(--r-card-lg);background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-2);display:flex;flex-direction:column;gap:14px}.modal h2{font-size:30px;line-height:1.1}.sheet-back{position:fixed;inset:0;background:var(--overlay);z-index:100;display:flex;align-items:flex-end}.sheet{width:100%;padding:12px 20px calc(28px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--surface-2);border-top:1px solid var(--border);box-shadow:var(--shadow-2)}.avatar{flex:none;border-radius:50%;background:var(--surface-accent);color:var(--accent-label);display:inline-flex;align-items:center;justify-content:center;font-weight:700;width:36px;height:36px;font-size:13px}.avatar-28{width:28px;height:28px;font-size:11px}.avatar-48{width:48px;height:48px;font-size:16px}.avatar-72{width:72px;height:72px;font-size:30px;font-family:var(--font-display);font-weight:600;border:1px solid var(--accent-soft-border)}.switch{width:44px;height:26px;border-radius:13px;border:0;background:var(--control-border);position:relative;cursor:pointer;flex:none}.switch:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--text-muted);transition:transform .15s}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{transform:translateX(18px);background:var(--on-accent)}.switch:disabled{background:var(--disabled-bg)}.check{font:700 13px var(--font-body);width:22px;height:22px;border-radius:6px;border:1.5px solid var(--control-border);flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--on-accent);cursor:pointer;padding:0}.check[aria-checked=mixed],.check[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.radio{padding:0;background:transparent;cursor:pointer;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--control-border);flex:none;display:inline-flex;align-items:center;justify-content:center}.radio[aria-checked=true]{border-color:var(--accent)}.radio[aria-checked=true]:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent)}.seg{display:flex;gap:4px;padding:4px;border-radius:24px;background:var(--surface);border:1px solid var(--border-soft)}.seg>a,.seg>button{flex:1 1;height:44px;border-radius:22px;border:0;background:transparent;color:var(--text-soft);font:700 14px/1 var(--font-body);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.seg>[aria-checked=true],.seg>[aria-selected=true]{background:var(--surface-accent);color:var(--accent-label)}.utabs{display:flex;gap:24px;border-bottom:1px solid var(--border-soft)}.utabs>a,.utabs>button{padding:10px 0;border:0;border-bottom:2px solid transparent;background:none;color:var(--text-muted);font:600 14px/1.4 var(--font-body);text-decoration:none;cursor:pointer}.utabs>[aria-current=page],.utabs>[aria-selected=true]{color:var(--text-strong);font-weight:700;border-bottom-color:var(--accent)}@font-face{font-family:Manrope Fallback;font-weight:400 599;src:local("Arial"),local("ArialMT");size-adjust:101.5%;ascent-override:105.0%;descent-override:29.6%;line-gap-override:0%}@font-face{font-family:Manrope Fallback;font-weight:600 800;src:local("Arial Bold"),local("Arial-BoldMT");size-adjust:98.7%;ascent-override:108.0%;descent-override:30.4%;line-gap-override:0%}@font-face{font-family:Cormorant Garamond Fallback;font-weight:400 800;src:local("Georgia");size-adjust:76.8%;ascent-override:120.3%;descent-override:37.4%;line-gap-override:0%}@font-face{font-family:JetBrains Mono Fallback;font-weight:400 800;src:local("Menlo"),local("Menlo-Regular");size-adjust:99.7%;ascent-override:102.3%;descent-override:30.1%;line-gap-override:0%}html{text-size-adjust:100%}.input,.select,.textarea{font-size:16px}.modal{max-height:90vh;max-height:90dvh}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/cormorant-garamond-cyrillic-600-normal.0217bfb5.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-cyrillic-600-normal.d96e2338.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/cormorant-garamond-cyrillic-700-normal.1f64c6ee.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-cyrillic-700-normal.be270825.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/cormorant-garamond-latin-600-normal.0e4e8436.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-latin-600-normal.7a726ec1.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/cormorant-garamond-latin-700-normal.cdf2c76d.woff2) format("woff2"),url(/_next/static/media/cormorant-garamond-latin-700-normal.de97daf3.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/manrope-cyrillic-400-normal.1a075d0e.woff2) format("woff2"),url(/_next/static/media/manrope-cyrillic-400-normal.95a0f8ac.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/manrope-cyrillic-500-normal.ac925df1.woff2) format("woff2"),url(/_next/static/media/manrope-cyrillic-500-normal.d0b4a6ff.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/manrope-cyrillic-600-normal.84ba124a.woff2) format("woff2"),url(/_next/static/media/manrope-cyrillic-600-normal.d65ac87d.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/manrope-cyrillic-700-normal.a3ab8973.woff2) format("woff2"),url(/_next/static/media/manrope-cyrillic-700-normal.378d7f92.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/manrope-latin-400-normal.b69ff29f.woff2) format("woff2"),url(/_next/static/media/manrope-latin-400-normal.3f370876.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/manrope-latin-500-normal.1439e66f.woff2) format("woff2"),url(/_next/static/media/manrope-latin-500-normal.f0da4735.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/manrope-latin-600-normal.ef413a9e.woff2) format("woff2"),url(/_next/static/media/manrope-latin-600-normal.bdb77099.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/_next/static/media/manrope-latin-700-normal.4fc2723e.woff2) format("woff2"),url(/_next/static/media/manrope-latin-700-normal.91396a4b.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-cyrillic-400-normal.17524150.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-cyrillic-400-normal.29859c59.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/jetbrains-mono-cyrillic-500-normal.ae6258df.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-cyrillic-500-normal.00657183.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-latin-400-normal.db9d659a.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-latin-400-normal.b0c7be19.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_next/static/media/jetbrains-mono-latin-500-normal.af2e87f5.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-latin-500-normal.24c9023a.woff) format("woff")}h1{font:600 44px/1 var(--font-display);letter-spacing:0}h2{font:700 17px/1.4 var(--font-body)}h3{font-size:16px}.center{display:grid;place-content:center;grid-gap:12px;gap:12px;text-align:center;padding:24px}.center,.shell{min-height:100vh;min-height:100dvh}.shell{display:grid;grid-template-columns:248px minmax(0,1fr)}.side{background:var(--bg-sidebar);border-right:1px solid var(--border-softer);padding:20px 12px;display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.side>*{flex-shrink:0}.school-switch{display:flex;align-items:center;gap:10px;padding:8px;min-height:52px;border-radius:14px;border:1px solid var(--border-soft);background:var(--surface);color:var(--text);text-align:left;width:100%;position:relative}.school-switch select{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.school-switch:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px}.school-switch>svg{flex:none;color:var(--text-muted)}.school-mark{width:34px;height:34px;flex:none;border-radius:10px;background:var(--accent);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font:700 20px var(--font-display)}.school-name{font-size:14px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.school-role{font-size:12px;color:var(--text-muted);display:block}.nav-toggle{display:none;width:100%}.nav-group,.side-nav{display:flex}.nav-group{flex-direction:column;gap:1px}.nav-title{padding:0 12px 4px;font:10px var(--font-mono);letter-spacing:.22em;color:var(--text-dim);text-transform:uppercase}.nav{display:flex;align-items:center;justify-content:space-between;height:32px;padding:0 12px;border-radius:10px;color:var(--text-soft);text-decoration:none;font-size:13px;font-weight:600}.nav:hover{background:var(--surface-2);color:var(--text)}.nav.active{background:var(--surface-accent);color:var(--accent-label)}.nav .sr-only{position:absolute}.nav-badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-size:11px;font-weight:700;justify-content:center}.nav-badge,.side-foot{display:flex;align-items:center}.side-foot{margin-top:auto;padding:10px;border-radius:14px;background:var(--surface);border:1px solid var(--border-soft);gap:10px}.side-foot .who{flex:1 1;min-width:0;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.side-foot .who small{display:block;font-size:11px;color:var(--text-muted);font-weight:400}.main{padding:32px 40px;max-width:1192px;width:100%;min-width:0;display:flex;flex-direction:column;gap:20px}.main:focus{outline:none}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.page-head>div:first-child{display:flex;flex-direction:column;gap:8px}.muted{color:var(--text-muted)}.small{font-size:13px}.empty{padding:24px 0;text-align:center}.card{border-radius:var(--r-card);padding:20px;margin:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.btn{height:44px;padding:0 20px;font-size:14px}.btn-sm{height:36px;padding:0 14px;font-size:13px}.input,.select{height:44px}textarea.input{height:auto;min-height:96px;padding:12px 16px;resize:vertical}select.input{padding:0 12px}.hint{font-size:12px;color:var(--text-dim)}.grid2{grid-template-columns:1fr 1fr;grid-gap:16px}.grid2,.grid3{display:grid;gap:16px}.grid3{grid-template-columns:repeat(3,1fr);grid-gap:16px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.badge-active,.badge-paid,.badge-published,.badge-succeeded{background:var(--ok-bg);color:var(--ok-fg)}.badge-archived,.badge-draft{background:var(--border-softer);color:var(--text-soft)}.badge-created,.badge-pending{background:var(--info-bg);color:var(--info-fg)}.badge-canceled,.badge-cancelled,.badge-expired{background:var(--border-softer);color:var(--text-muted)}.badge-failed,.badge-refunded,.badge-revoked{background:var(--danger-bg);color:var(--danger-fg)}.notice{margin:0}.notice-ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.notice-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.notice-info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 16px;border-bottom:1px solid var(--border-softer);vertical-align:middle;font-size:14px}th{font:500 11px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);border-bottom-color:var(--border-soft)}tbody tr{min-height:52px}tbody tr:hover{background:var(--surface-accent)}.course-link{color:var(--text-strong);text-decoration:none;font-weight:600}.course-link:hover{color:var(--accent-label)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border-soft);margin:0;overflow-x:auto;max-width:100%;scrollbar-width:thin}.tab{flex:none;white-space:nowrap;padding:12px 0;background:none;border:0;border-bottom:2px solid transparent;color:var(--text-muted);font:600 14px var(--font-body);cursor:pointer}.tab[aria-selected=true]{color:var(--text-strong);border-color:var(--accent);font-weight:700}.builder{display:grid;grid-template-columns:292px 1fr;grid-gap:20px;gap:20px;align-items:start}.tree-module{margin-bottom:14px}.tree-lesson{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border-radius:12px;cursor:pointer;border:1px solid transparent}.tree-lesson:hover{background:var(--surface-2)}.tree-lesson.sel{background:var(--surface-accent);border-color:var(--accent-soft-border)}.block{border:1px solid var(--border-soft);border-radius:14px;padding:12px;margin-bottom:10px;background:var(--surface)}.block-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px;font:11px var(--font-mono);letter-spacing:.14em;color:var(--accent-label);text-transform:uppercase}.drag-handle{cursor:-webkit-grab;cursor:grab;color:var(--text-dim);-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-over=true]{outline:2px dashed var(--accent);outline-offset:2px}.auth{margin:10svh auto;padding:32px;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--r-card-lg);display:flex;flex-direction:column;gap:16px}.auth h1{font-size:32px;line-height:1.1}.modal{width:min(760px,100%)}.lib-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px;margin-top:10px}.lib-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;padding:8px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface);color:inherit;cursor:pointer}.lib-item:hover{border-color:var(--accent)}.lib-item img{width:100%;height:100px;object-fit:cover}.lib-icon{font:11px var(--font-mono);color:var(--accent-label)}.lesson-preview{border:1px solid var(--border-soft);border-radius:18px;padding:16px;max-width:390px;margin:12px 0;background:var(--bg)}.lesson-preview img,.lesson-preview video{max-width:100%}.preview-callout{padding:10px 12px;border-radius:12px;background:var(--info-bg);color:var(--info-text)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(224px,1fr));grid-gap:16px;gap:16px}.stat{display:flex;flex-direction:column;gap:10px;padding:20px;border:1px solid var(--border-soft);border-radius:var(--r-card);background:var(--surface);font-size:13px;color:var(--text-muted)}.stat strong{font:600 40px/1 var(--font-display);color:var(--text-strong)}.bars{display:flex;align-items:flex-end;gap:6px;height:150px;border-bottom:1px solid var(--border-soft)}.bar{flex:1 1;background:var(--accent);border-radius:3px 3px 0 0;min-height:3px}.progress{height:8px;border-radius:4px;background:var(--border-soft);overflow:hidden}.progress>div{height:100%;background:var(--accent)}@media (max-width:1100px){.builder,.grid2,.grid3{grid-template-columns:1fr}.main{padding:28px}}@media (max-width:860px){.shell{grid-template-columns:minmax(0,1fr)}.side{position:static;height:auto}.nav-toggle{display:inline-flex}.tab{min-height:44px}.side-nav:not(.open){display:none}.nav{height:44px}.btn-sm,.chip,.icon-btn{min-height:44px;min-width:44px}.main{padding:24px 20px}}.empty-state{padding:48px 32px;border:1.5px dashed var(--border-strong);border-radius:var(--r-card-lg);display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.empty-title{font:600 30px/1.1 var(--font-display);color:var(--text-strong)}.empty-text{max-width:520px;font-size:15px;line-height:1.6;color:var(--text-soft)}.side-panel{position:fixed;top:0;right:0;width:420px;max-width:100%;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:28px;background:var(--surface-2);border-left:1px solid var(--border);box-shadow:-24px 0 64px rgba(0,0,0,.45);display:flex;flex-direction:column;gap:16px;z-index:60}.search-field{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:22px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);border-color:var(--control-border)}.search-field:focus-within{outline:2px solid var(--focus-ring);outline-offset:2px;border-color:var(--accent)}.search-field input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--text);font:14px var(--font-body);outline:none}.input::placeholder,.search-field input::placeholder,.textarea::placeholder{color:var(--text-dim);opacity:1}.toast-fixed{left:50%;transform:translateX(-50%);min-width:320px}.toast-fixed,.toast-region{position:fixed;bottom:24px;z-index:120}.toast-region{left:0;right:0;height:0;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.toast-region .toast{pointer-events:auto;min-width:320px}.skip-link{position:fixed;left:12px;top:-64px;z-index:300;height:44px;padding:0 18px;display:inline-flex;align-items:center;border-radius:999px;background:var(--accent);color:var(--on-accent);font:700 14px var(--font-body);text-decoration:none;transition:top .12s}.skip-link:focus{top:12px;color:var(--on-accent)}.toast-ico{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.toast-ico.ok{background:var(--ok-bg);color:var(--ok-fg)}.toast-ico.danger{background:var(--danger-bg);color:var(--danger-fg)}.toast-ico.info{background:var(--info-bg);color:var(--info-fg)}.tbl{border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border-soft);overflow:hidden}.tbl.tbl-scroll{overflow-x:auto;position:relative}.tbl-scroll>*{min-width:760px}.tbl-row{display:grid;grid-gap:16px;gap:16px;align-items:center;padding:10px 20px;min-height:52px;border-bottom:1px solid var(--border-softer)}.tbl-row.head{min-height:0;padding:12px 20px;border-bottom-color:var(--border-soft);font:500 11px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}.tbl-row.sel{background:var(--surface-accent)}.tbl-foot{padding:12px 20px;justify-content:space-between;font-size:13px;color:var(--text-dim)}.chip-row,.tbl-foot{display:flex;align-items:center}.chip-row{gap:8px;flex-wrap:wrap}.kv{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px 16px;gap:10px 16px;font-size:14px}.kv>:nth-child(odd){color:var(--text-muted)}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg)}.auth{margin:0;width:100%;max-width:440px}.auth form{display:flex;flex-direction:column;gap:16px}.auth .field{margin:0;gap:6px}.auth .btn{width:100%;height:52px;font-size:16px}.auth-link{align-self:center;min-height:44px;display:flex;align-items:center;font-size:14px}.funnel-row{display:grid;grid-template-columns:36px minmax(0,1fr) 240px 48px 64px;grid-gap:12px;gap:12px;align-items:center;min-height:30px}.funnel-row.head{min-height:0;font:10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}.menu-pop{position:absolute;top:40px;right:0;width:232px;padding:6px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);box-shadow:var(--shadow-1);display:flex;flex-direction:column;z-index:30}.menu-pop button{height:40px;padding:0 12px;border-radius:10px;border:0;background:transparent;color:var(--text);font:14px var(--font-body);text-align:left;cursor:pointer}.menu-pop button:hover{background:var(--surface-accent);color:var(--text-strong)}.builder{grid-template-columns:292px minmax(0,1fr)}@media (max-width:1100px){.builder{grid-template-columns:minmax(0,1fr)}}@media (max-width:860px){.input,.select{min-height:44px}button.check{position:relative}button.check:after{content:"";position:absolute;inset:-10px}.tbl{overflow-x:auto;position:relative}.tbl>*{min-width:640px}.lesson-bar{flex-wrap:wrap!important;row-gap:12px}.set-layout{grid-template-columns:minmax(0,1fr)!important;gap:16px!important}.set-nav a{min-height:44px;display:inline-flex;align-items:center}.set-nav{position:static!important;padding-top:0!important;flex-direction:row!important;flex-wrap:wrap}.set-grid2{grid-template-columns:minmax(0,1fr)!important}.set-grid2>*{grid-column:auto!important}.pane3{grid-template-columns:minmax(0,1fr)!important;margin:-24px -20px!important}.pane3,.pane3>*{min-height:0!important}.pane3>*{border-left:0!important;border-right:0!important;border-bottom:1px solid var(--border-softer)}.stack2{grid-template-columns:minmax(0,1fr)!important}.stack2>*{grid-column:auto!important;min-width:0}}.select,select{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-field{max-width:100%}.search-field input{align-self:stretch;height:100%}.hscroll,.tbl{background:linear-gradient(to right,var(--surface) 30%,transparent) 0 /28px 100% no-repeat local,linear-gradient(to left,var(--surface) 30%,transparent) 100% /28px 100% no-repeat local,linear-gradient(to right,rgba(0,0,0,.5),transparent) 0 /14px 100% no-repeat scroll,linear-gradient(to left,rgba(0,0,0,.5),transparent) 100% /14px 100% no-repeat scroll,var(--surface)}.hscroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}.hscroll,.tabs{-webkit-overflow-scrolling:touch}.tabs{background:linear-gradient(to right,var(--bg) 30%,transparent) 0 /28px 100% no-repeat local,linear-gradient(to left,var(--bg) 30%,transparent) 100% /28px 100% no-repeat local,linear-gradient(to right,rgba(0,0,0,.5),transparent) 0 /14px 100% no-repeat scroll,linear-gradient(to left,rgba(0,0,0,.5),transparent) 100% /14px 100% no-repeat scroll}.g-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));grid-gap:20px;gap:20px;align-items:start}.g-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));grid-gap:16px;gap:16px}.g-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,84px),1fr));grid-gap:8px;gap:8px}.g-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:12px;gap:12px}.modal-back,.side-panel{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.side-panel{padding:max(28px,env(safe-area-inset-top)) 28px calc(28px + env(safe-area-inset-bottom))}.modal-back{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.modal{max-width:100%;overscroll-behavior:contain}.toast-region{bottom:calc(24px + env(safe-area-inset-bottom))}.toast-region .toast{max-width:min(560px,calc(100vw - 32px));min-width:min(320px,calc(100vw - 32px))}.side{padding-left:max(12px,env(safe-area-inset-left))}@media (max-width:1100px){.main{overflow-wrap:anywhere}}@media (max-width:860px){h1{font-size:36px;line-height:1.05}.empty-title{font-size:26px}.main{padding:24px max(20px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.side{padding:max(20px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 14px max(12px,env(safe-area-inset-left))}.input,.search-field input,.select,.textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:16px!important}.side-panel{width:100%;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.modal{padding:20px}.modal h2{font-size:26px}.toast-region .toast{min-width:0}.search-field{width:100%!important}.row>.select,label.row>select.select{width:100%!important;min-width:0!important}.page-head>.row,.page-head>div+div{width:100%}.page-head .btn{flex:1 1 auto}.main .btn,.main a.btn,.tbl-row a,.tbl-row button{min-height:44px}.tbl-row button.check,.tbl-row button.radio{min-height:22px}.chip,.chips button,.seg>a,.seg>button{min-height:44px}.menu-pop button{height:44px}.badge{max-width:100%}button.check:after{inset:-11px}.g-cards{gap:14px}}.col2,.col3{display:grid;grid-gap:16px;gap:16px;align-items:start}.col2{grid-template-columns:repeat(2,minmax(0,1fr))}.col3{grid-template-columns:repeat(3,minmax(0,1fr))}.col2>*,.col3>*,.g-2>*,.g-cards>*,.g-kpi>*,.g-mini>*{min-width:0}@media (max-width:1100px){.col3{grid-template-columns:repeat(2,minmax(0,1fr))}.span2{grid-column:1/-1!important}}@media (max-width:860px){.col2,.col3{grid-template-columns:minmax(0,1fr)}.funnel-row{grid-template-columns:32px minmax(0,1fr) 44px 44px;row-gap:6px}.funnel-row>:first-child{grid-column:1;grid-row:1}.funnel-row>:nth-child(2){grid-column:2;grid-row:1}.funnel-row>:nth-child(4){grid-column:3;grid-row:1}.funnel-row>:nth-child(5){grid-column:4;grid-row:1}.funnel-row>:nth-child(3){grid-column:2/-1;grid-row:2}.funnel-row.head>:nth-child(3){display:none}}.split{display:grid;grid-template-columns:var(--split-cols,minmax(0,1fr));grid-gap:24px;gap:24px;align-items:start}.split>*{min-width:0}.pane2{display:grid;grid-template-columns:var(--split-cols);margin:-32px -40px;min-height:100vh;min-height:100dvh}.pane2>*{min-width:0}.pane3,.pane3-col{min-height:100vh;min-height:100dvh}.save-bar{position:fixed;left:248px;right:0;bottom:0;z-index:40;background:var(--surface-accent);border-top:1px solid var(--accent-soft-border);padding:14px 40px calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;flex-wrap:wrap}.save-bar>span{flex:1 1 200px;font-size:14px}.has-save-bar{padding-bottom:96px}@media (max-width:1100px){.pane2,.split{grid-template-columns:minmax(0,1fr)}.builder>aside,.split-aside{position:static!important}.builder>aside{max-height:min(60dvh,520px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}}@media (max-width:860px){.pane2{margin:-24px -20px;min-height:0}.pane2>*{border-right:0!important;border-bottom:1px solid var(--border-softer)}.pane3,.pane3-col{min-height:0}.save-bar{left:0;padding:12px max(20px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.has-save-bar{padding-bottom:150px}.detail-pane{position:fixed!important;inset:0;z-index:60;border-radius:0!important;overflow-y:auto;overscroll-behavior:contain;padding-top:max(24px,env(safe-area-inset-top))!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}.row{min-width:0}.row>*{max-width:100%}.row>label{min-width:0}}.badge,.btn,.chip,.nav,.tab{overflow-wrap:break-word}.avatar,.badge,.btn,.chip,.icon-btn{flex-shrink:0}@media (max-width:480px){h1{font-size:30px}}@media (max-width:860px){input.input:not([type=checkbox]):not([type=radio]),select,select.select{height:44px!important}.card-head a:not(.btn),.card>a:not(.btn),.main>a,.page-head a:not(.btn),.row>a:not(.btn):not(.chip):not(.badge):not(.course-link),.row>div>a:not(.btn):not(.chip){display:inline-flex;align-items:center;min-height:44px}.tab{min-width:44px}.tree-lesson{min-height:44px!important}.tree-lesson>button{align-self:stretch;min-height:44px}.tbl-row button:not(.check):not(.radio):not(.switch){min-width:44px}button.check:after{inset:-14px}.search-field{min-height:44px}.search-field input{min-height:44px;margin:-1px 0}.backlink,.chip-row a,.course-link,a.badge{display:inline-flex;align-items:center;min-height:44px}.backlink{align-self:flex-start}.radio,.switch{position:relative}.radio:before{content:"";position:absolute;inset:-11px}.switch:before{content:"";position:absolute;inset:-9px 0}.tbl-row button[id^=contact-row-]{min-height:44px!important;display:inline-flex!important;align-items:center}}.panel-gap{margin-right:440px}@media (max-width:1100px){.panel-gap{margin-right:0}}.radio:before{inset:-13px}@media (max-width:860px){.field>.row>input{min-height:44px}}[role=button],[role=tab],a,button,input,label,select,summary,textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.side-panel{overflow-x:hidden}@media (max-width:860px){.row{flex-wrap:wrap!important}}@media (max-width:1100px){.tbl.tbl-wide{overflow-x:auto}.tbl.tbl-wide>*{min-width:920px}.blk-chev{order:2}.blk-summary{order:3;flex:1 1 100%!important}}