:root{--background:#f6f5f1;--surface:#ffffff;--surface-muted:#ece9e1;--text:#20201d;--muted:#6b675e;--line:#d9d4c9;--accent:#176b5d;--accent-strong:#0c4c42;--danger:#a83c32;--focus:rgba(23,107,93,0.22)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--background);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh}.topbar{background:rgba(246,245,241,.92);border-bottom:1px solid var(--line);gap:18px;justify-content:space-between;min-height:66px;padding:0 28px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand,.topbar{align-items:center;display:flex}.brand{gap:12px;min-width:0}.brand-mark{align-items:center;background:var(--accent);color:white;display:inline-flex;flex:0 0 auto;font-weight:800;height:34px;justify-content:center;width:34px}.brand-title{font-size:17px;font-weight:760}.brand-subtitle{color:var(--muted);font-size:13px}.topbar-actions{align-items:center;display:flex;gap:10px}.page{margin:0 auto;max-width:1180px;padding:28px}.auth-page{align-items:center;display:grid;min-height:100vh;padding:24px}.auth-panel{background:var(--surface);border:1px solid var(--line);margin:0 auto;max-width:420px;padding:28px;width:100%}.page-heading{align-items:flex-end;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.15;margin-bottom:8px}h2{font-size:18px;margin-bottom:14px}h3{font-size:15px;margin-bottom:8px}.muted{color:var(--muted)}.admin-grid,.grid{display:grid;grid-gap:18px;gap:18px}.admin-grid{align-items:start;grid-template-columns:minmax(280px,.95fr) minmax(360px,1.35fr)}.panel{background:var(--surface);border:1px solid var(--line);padding:18px}.panel-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.form-grid,.two-cols{display:grid;grid-gap:12px;gap:12px}.two-cols{grid-template-columns:1fr 120px}label{color:var(--muted);display:grid;font-size:13px;grid-gap:5px;gap:5px}input,select,textarea{background:#fff;border:1px solid var(--line);color:var(--text);min-height:42px;outline:none;padding:9px 10px;width:100%}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--focus)}.button{align-items:center;background:var(--accent);border:1px solid var(--accent);color:white;display:inline-flex;font-weight:680;gap:8px;justify-content:center;min-height:42px;padding:9px 13px}.button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.button.secondary{background:transparent;border-color:var(--line);color:var(--text)}.button.danger{background:transparent;border-color:#d6b9b5;color:var(--danger)}.button:disabled{cursor:default;opacity:.65}.notice{border:1px solid var(--line);color:var(--muted);padding:10px 12px}.notice.success{border-color:rgba(23,107,93,.35);color:var(--accent-strong)}.secret{background:#171915;color:#f4f1e7;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow-wrap:anywhere;padding:10px 12px}.table{border-collapse:collapse;width:100%}.table td,.table th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}.table th{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.access-list{display:flex;flex-wrap:wrap;gap:7px}.pill{align-items:center;background:var(--surface-muted);display:inline-flex;gap:6px;min-height:30px;padding:4px 8px}.course-list{display:grid;grid-gap:16px;gap:16px}.course-block{background:var(--surface);border:1px solid var(--line);padding:18px}.lesson-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.lesson{border-top:1px solid var(--line);padding-top:14px}.video-frame{aspect-ratio:16/9;background:#111;border:0;display:block;margin-top:10px;width:100%}.empty{border:1px dashed var(--line);color:var(--muted);padding:18px}@media (max-width:820px){.page-heading,.topbar{align-items:flex-start;flex-direction:column}.topbar{padding:14px 18px}.page{padding:20px}.admin-grid,.two-cols{grid-template-columns:1fr}.table{display:block;overflow-x:auto}}