@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#0f1b2d;--navy-2:#16263d;--navy-3:#1f3350;--nav-text:#b6c2d4;--accent:#0ea5e9;--accent-hover:#0284c7;--accent-soft:#e0f2fe;--accent-text:#0369a1;--bg:#f4f6f9;--panel:#fff;--panel-2:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--ok:#15803d;--ok-soft:#dcfce7;--warn:#a16207;--warn-soft:#fef3c7;--danger:#b91c1c;--danger-soft:#fee2e2;--violet:#6d28d9;--violet-soft:#ede9fe;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0f172a0a, 0 4px 16px #0f172a0d;--shadow-lg:0 12px 40px #0f172a1f;--sidebar-w:248px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--navy:#0a1322;--navy-2:#111e33;--navy-3:#1a2b45;--accent-soft:#0c2a3d;--accent-text:#7dd3fc;--bg:#0b1220;--panel:#111a2b;--panel-2:#0f1727;--text:#e2e8f0;--muted:#94a3b8;--border:#1f2c41;--ok:#4ade80;--ok-soft:#0f2e1d;--warn:#fbbf24;--warn-soft:#33270a;--danger:#f87171;--danger-soft:#3a1414;--violet:#c4b5fd;--violet-soft:#241c45;--shadow:0 1px 2px #0000004d;--shadow-lg:0 12px 40px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}body{background:var(--bg)}a{color:var(--accent-text);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;line-height:1.25}h3{margin:0 0 14px;font-size:16px}strong{font-weight:600}.muted{color:var(--muted)}.nowrap{white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.logo{align-items:center;gap:10px;display:flex}.logo-mark{flex:none}.logo-word{letter-spacing:-.02em;color:var(--text);font-size:17px;font-weight:700}.logo-light .logo-word{color:#fff}.shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);height:100vh;color:var(--nav-text);flex-direction:column;padding:20px 14px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{padding:0 8px 20px}.sidebar-nav{flex-direction:column;flex:1;gap:18px;display:flex}.nav-group{flex-direction:column;gap:2px;display:flex}.nav-group-title{text-transform:uppercase;letter-spacing:.1em;color:#64748b;padding:0 10px 6px;font-size:11px;font-weight:600}.nav-link{border-radius:var(--radius-sm);color:var(--nav-text);align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f;text-decoration:none}.nav-link.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent);background:#0ea5e929}.nav-link.active svg{color:#7dd3fc}.sidebar-user{border-top:1px solid #ffffff14;align-items:center;gap:10px;margin-top:16px;padding:12px 10px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#38bdf8,#6366f1);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.sidebar-user-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.sidebar-user-name{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.role-badge{color:#7dd3fc;background:#0ea5e92e;border-radius:999px;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:600}.icon-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--nav-text);cursor:pointer;background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-button:hover{color:#fff;background:#ffffff14}.mobile-bar,.scrim{display:none}.content{width:100%;max-width:1280px;padding:28px 36px 48px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.page-heading{min-width:0}.page-header h1{margin:0;font-size:26px;font-weight:700}.page-subtitle{color:var(--muted);max-width:72ch;margin:6px 0 0}.page-back a{align-items:center;gap:6px;margin-bottom:8px;font-size:14px;display:inline-flex}.page-actions{flex-wrap:wrap;gap:8px;display:flex}.button{border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.button:hover{text-decoration:none}.button:disabled{opacity:.55;cursor:default}.button-primary{background:var(--accent);color:#fff}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-ghost{background:var(--panel);border-color:var(--border);color:var(--text)}.button-ghost:hover{border-color:var(--accent);color:var(--accent-text)}.button-block{width:100%;padding:11px 16px}input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:100%;color:var(--text);font:inherit;padding:10px 12px;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0ea5e933}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.input-icon input{padding-left:40px;padding-right:44px}.input-icon.invalid input{border-color:var(--danger)}.input-action{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid;position:absolute;right:4px}.input-action:hover{color:var(--text)}.search{align-items:center;width:360px;max-width:100%;display:flex;position:relative}.search svg{color:var(--muted);pointer-events:none;position:absolute;left:12px}.search input{padding-left:40px}.alert{border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.spinner-light{border-color:#fff #ffffff59 #ffffff59}.loading{color:var(--muted);align-items:center;gap:10px;padding:24px 0;display:flex}.center{place-items:center;min-height:100vh;display:grid}@keyframes spin{to{transform:rotate(360deg)}}.chip{background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.chip-ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.chip-warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chip-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.chip-info{background:var(--accent-soft);color:var(--accent-text);border-color:#0000}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.hero{border-radius:var(--radius);background:linear-gradient(120deg, var(--navy) 0%, var(--navy-3) 60%, #0c4a6e 100%);color:#fff;margin-bottom:20px;padding:26px 28px;position:relative;overflow:hidden}.hero:after{content:"";background:radial-gradient(circle,#38bdf859,#0000 65%);border-radius:50%;width:320px;height:320px;position:absolute;top:-60px;right:-40px}.hero h2{margin:0 0 6px;font-size:22px;position:relative}.hero p{color:#cbd5e1;max-width:60ch;margin:0;position:relative}.stats{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:20px;display:grid}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);align-items:center;gap:14px;padding:18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.stat-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-1px)}.stat-icon{border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid}.tone-sky{background:var(--accent-soft);color:var(--accent-text)}.tone-violet{background:var(--violet-soft);color:var(--violet)}.tone-emerald{background:var(--ok-soft);color:var(--ok)}.stat-body{flex-direction:column;flex:1;min-width:0;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);font-size:14px}.stat-arrow{color:var(--muted);transition:transform .15s,color .15s}.stat-card:hover .stat-arrow{color:var(--accent);transform:translate(3px)}.dash-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;gap:16px;display:grid}.dash-grid .panel{margin:0}.checklist{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.checklist li{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.checklist li:last-child{border-bottom:0}.checklist li>div{flex-direction:column;flex:1;min-width:0;font-size:14px;display:flex}.checklist .muted{font-size:13px}.check-icon{background:var(--accent-soft);width:36px;height:36px;color:var(--accent-text);border-radius:10px;flex:none;place-items:center;display:grid}.checklist .button{padding:6px 12px}.roadmap{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.stage{align-items:center;gap:12px;padding:8px 0;font-size:14px;display:flex;position:relative}.stage:not(:last-child):after{content:"";background:var(--border);width:2px;position:absolute;top:36px;bottom:-8px;left:13px}.stage-num{background:var(--panel-2);width:28px;height:28px;color:var(--muted);border:2px solid var(--border);z-index:1;border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid;position:relative}.stage-title{color:var(--muted);flex:1}.stage-current .stage-num{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 4px #0ea5e933}.stage-current .stage-title{color:var(--text);font-weight:600}.stage-done .stage-num{background:var(--ok);border-color:var(--ok);color:#fff}.tabs{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);scrollbar-width:thin;gap:4px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.tab{border-radius:var(--radius-sm);color:var(--muted);white-space:nowrap;align-items:center;gap:7px;padding:8px 12px;font-size:14px;font-weight:500;display:inline-flex}.tab:hover{color:var(--text);background:var(--panel-2);text-decoration:none}.tab.active{background:var(--accent-soft);color:var(--accent-text);font-weight:600}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;font-size:14px;display:flex}.table-wrap{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);max-height:calc(100vh - 260px);box-shadow:var(--shadow);overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:11px 14px}th{z-index:1;background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:12px;font-weight:600;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--panel-2)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--panel-2) 50%, var(--border) 75%);background-size:200% 100%;border-radius:6px;height:12px;animation:1.2s infinite shimmer;display:block}.skeleton-row:hover td{background:0 0}@keyframes shimmer{to{background-position:-200% 0}}.inline-link{align-items:center;gap:5px;display:inline-flex}.empty{text-align:center;color:var(--muted);background:var(--panel);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:48px 20px;display:flex}.empty p{max-width:46ch;margin:0}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.course-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:20px;transition:border-color .15s,box-shadow .15s;display:flex}.course-card:hover{border-color:var(--accent);box-shadow:var(--shadow-lg);text-decoration:none}.course-card p{flex:1;margin:0;font-size:14px}.course-icon{background:var(--violet-soft);width:42px;height:42px;color:var(--violet);border-radius:10px;place-items:center;display:grid}.course-title{flex-wrap:wrap;align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}.course-open{color:var(--accent-text);align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.progress-panel{flex-direction:column;gap:10px;display:flex}.progress{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.progress span{background:linear-gradient(90deg, var(--accent), #6366f1);border-radius:inherit;height:100%;display:block}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;font-size:14px;display:flex}.lesson-list li:last-child{border-bottom:0}.lesson-list li a{color:var(--text);flex:1;min-width:0;font-weight:500}.lesson-icon{color:var(--muted);flex:none}.lesson-list li.done .lesson-icon{color:var(--ok)}.lesson{max-width:80ch}.lesson-body{white-space:pre-wrap;max-width:72ch;font-size:16px;line-height:1.7}.clauses{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.video{border-radius:var(--radius);background:#000;width:100%;max-height:520px;margin-bottom:16px}.login-page{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100vh;display:grid}.login-brand{color:#fff;background:radial-gradient(at 20% 0,#1e3a5f 0%,#0000 60%),linear-gradient(160deg,#0f1b2d 0%,#0a1322 100%);flex-direction:column;gap:32px;padding:40px 48px;display:flex;position:relative;overflow:hidden}.login-tagline{z-index:1;max-width:30ch;margin-top:auto;position:relative}.login-tagline h2{letter-spacing:-.02em;margin:0 0 12px;font-size:30px;font-weight:700}.login-tagline p{color:#94a3b8;margin:0;font-size:16px}.login-illustration{width:calc(100% + 96px);height:42%;min-height:200px;margin:0 -48px -40px;position:relative}.pulse{animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}.login-side{background:var(--bg);place-items:center;padding:32px 20px;display:grid}.login-card{flex-direction:column;gap:16px;width:100%;max-width:380px;display:flex}.login-card h1{margin:0;font-size:26px}.login-card>.muted{margin:-8px 0 8px;font-size:14px}@media (width<=900px){.shell{grid-template-columns:minmax(0,1fr)}.mobile-bar{z-index:20;background:var(--navy);justify-content:space-between;align-items:center;padding:10px 12px 10px 16px;display:flex;position:sticky;top:0}.sidebar{z-index:40;width:min(280px,85vw);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.nav-open .sidebar{box-shadow:var(--shadow-lg);transform:none}.nav-open .scrim{z-index:30;background:#02061780;display:block;position:fixed;inset:0}.content{padding:20px 16px 40px}.page-header h1{font-size:22px}.search{width:100%}.table-wrap{max-height:none}.dash-grid,.login-page{grid-template-columns:minmax(0,1fr)}.login-brand{gap:16px;padding:20px 16px 0}.login-tagline{margin-top:0}.login-tagline h2{font-size:20px}.login-tagline p{display:none}.login-illustration{width:calc(100% + 32px);height:110px;min-height:0;margin:0 -16px}.login-side{align-items:start;padding-top:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);width:100%;color:var(--text);font:inherit;padding:10px 12px}textarea{resize:vertical;min-height:80px;line-height:1.5}select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0ea5e933}select:disabled{opacity:.6}.select-compact{width:auto;padding:9px 10px}.required{color:var(--danger)}.field-invalid input,.field-invalid select,.field-invalid textarea{border-color:var(--danger)}.field-error{color:var(--danger);font-weight:500}.field small{font-size:12.5px;font-weight:400}.field-full{grid-column:1/-1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;margin-bottom:14px;display:grid}.form-grid-1{grid-template-columns:minmax(0,1fr)}.form-actions{justify-content:flex-end;gap:8px;display:flex}.checkbox,.toggle{cursor:pointer;align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.checkbox input,.toggle input{width:16px;height:16px;accent-color:var(--accent)}.toggle{color:var(--muted)}.file-input{flex-direction:column;gap:6px;display:flex}.file-input input{padding:7px}.input-with-button{gap:8px;display:flex}.input-with-button input{font-family:ui-monospace,Consolas,monospace}.button-danger{background:var(--danger);color:#fff}.button-danger:hover:not(:disabled){filter:brightness(.92)}.button-ghost-danger:hover{border-color:var(--danger);color:var(--danger)}.icon-button-plain{color:var(--muted)}.icon-button-plain:hover{background:var(--panel-2);color:var(--text)}.modal-backdrop{z-index:100;background:#0206178c;place-items:center;padding:20px 12px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);width:100%;max-width:520px;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:16px;max-height:calc(100vh - 40px);display:flex}.modal-wide{max-width:860px}.modal-form{flex-direction:column;width:100%;min-height:0;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-body{flex:1;padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);background:var(--panel-2);border-radius:0 0 16px 16px;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal-footer-left{flex-wrap:wrap;gap:8px;margin-right:auto;display:flex}.confirm-text{margin-top:0}.secret{border-radius:var(--radius-sm);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.secret code{color:var(--text);letter-spacing:.02em;font-size:18px;font-weight:600}.toasts{z-index:200;flex-direction:column;gap:8px;max-width:calc(100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{border-radius:var(--radius-sm);background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);align-items:center;gap:10px;padding:12px 16px;font-size:14px;animation:.2s toast-in;display:flex}.toast-ok svg{color:#4ade80}.toast-error{background:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}tbody tr.clickable{cursor:pointer}.row-actions{white-space:nowrap;justify-content:flex-end;gap:2px;display:flex}.row-actions .icon-button{width:32px;height:32px}.cell-user{flex-direction:column;display:flex}.cell-user .muted{font-size:13px}.toolbar-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.child-table{margin-top:20px}.child-table-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.child-table-head h3{margin:0}.table-compact{max-height:none;box-shadow:none}.table-compact th,.table-compact td{padding:7px 10px}.table-compact td input,.table-compact td select{min-width:80px;padding:6px 8px}.table-compact tr.editing td{background:var(--accent-soft)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:28px;display:flex;position:relative}.dropzone:hover{border-color:var(--accent);color:var(--accent-text)}.dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.import-result{margin-top:16px}.import-stats{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;display:grid}.import-stats>div{border-radius:var(--radius-sm);background:var(--panel-2);border:1px solid var(--border);flex-direction:column;padding:10px;display:flex}.import-stats strong{font-variant-numeric:tabular-nums;font-size:22px}.import-stats span{color:var(--muted);font-size:12.5px}.tone-ok{color:var(--ok)}.tone-info{color:var(--accent-text)}.tone-danger{color:var(--danger)}.import-errors{max-height:220px;padding-left:20px;font-size:14px;overflow-y:auto}.drawer-backdrop{z-index:110;background:#02061766;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--panel);width:min(440px,100vw);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s drawer-in;display:flex}.drawer-body{padding:16px 20px;overflow-y:auto}@keyframes drawer-in{0%{opacity:0;transform:translate(30px)}}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-left:2px solid var(--border);padding:0 0 18px 20px;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-6px}.timeline-head{flex-direction:column;font-size:14px;display:flex}.changes{flex-direction:column;gap:3px;margin:6px 0 0;padding:0;font-size:13.5px;list-style:none;display:flex}.changes s{color:var(--muted)}.props{grid-template-columns:max-content 1fr;gap:10px 20px;margin:0;font-size:14px;display:grid}.props dt{color:var(--muted)}.props dd{margin:0}.sidebar-user-link{min-width:0;color:inherit;border-radius:var(--radius-sm);flex:1;align-items:center;gap:10px;display:flex}.sidebar-user-link:hover{text-decoration:none}.sidebar-user-link:hover .sidebar-user-name{color:#7dd3fc}@media (width<=900px){.form-grid{grid-template-columns:minmax(0,1fr)}.modal-backdrop{align-items:end;padding:0}.modal{border-radius:16px 16px 0 0;max-height:92vh}.modal-footer{border-radius:0}.toolbar-group{width:100%}}.editor-module-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.editor-module-head h3{margin:0}.editor-lessons{margin-bottom:12px}.editor-lessons li.draft a{color:var(--muted)}.editor-lessons .row-actions{margin-left:auto}.row-actions .icon-button:disabled{opacity:.3;cursor:default}.lesson-editor{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.lesson-editor-side .panel h3{align-items:center;gap:8px;display:flex}.editor-tabs{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px;display:flex}.editor-tabs .tab{font:inherit;cursor:pointer;background:0 0;border:0}.editor-hint{margin-left:auto;font-size:12.5px}.markdown-input{min-height:360px;font-family:ui-monospace,Consolas,monospace;font-size:14px}.markdown-preview{border:1px dashed var(--border);border-radius:var(--radius-sm);min-height:360px;padding:12px 16px}.upload-progress{flex-direction:column;gap:8px;display:flex}.clause-picker{flex-direction:column;gap:10px;display:flex}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips .chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 0 0 4px;display:inline-flex}.clause-options{flex-direction:column;gap:6px;max-height:240px;margin:0;padding:0;font-size:14px;list-style:none;display:flex;overflow-y:auto}.clause-options .checkbox{align-items:flex-start;font-weight:400}.markdown{overflow-wrap:anywhere;max-width:72ch;font-size:16px;line-height:1.7}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3{margin:1.4em 0 .5em}.markdown h1{font-size:24px}.markdown h2{font-size:20px}.markdown h3{font-size:17px}.markdown img{border-radius:var(--radius-sm);max-width:100%}.markdown code{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;font-size:.9em}.markdown pre{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;overflow-x:auto}.markdown pre code{background:0 0;border:0;padding:0}.markdown blockquote{border-left:3px solid var(--accent);color:var(--muted);margin:1em 0;padding:4px 16px}.markdown table{width:auto;margin:1em 0}.markdown th,.markdown td{border:1px solid var(--border)}.markdown .katex-display{padding:4px 0;overflow:auto hidden}@media (width<=1100px){.lesson-editor{grid-template-columns:minmax(0,1fr)}}
