:root{--brand:#b50027;--brand-hover:#93001f;--gold:#dead00;--ink:#1c1c1c;--text:#2b2b2b;--muted:#6d6d6d;--border:#e5e5e5;--surface:#f7f6f4;--card:#fff;--nav-bg:#141414;--shadow:0 1px 3px hsla(0,0%,8%,.06),0 8px 24px hsla(0,0%,8%,.07);--btn-bg:var(--brand);--btn-text:#fff}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:Poppins,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}a{color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:13px 24px;font-weight:600;font-size:14px;letter-spacing:.2px;text-decoration:none;transition:background .15s ease,transform .1s ease}.btn:hover{background:var(--brand-hover)}.btn:active{transform:translateY(1px)}.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:12px 22px;font-weight:600;font-size:14px;text-decoration:none;transition:border-color .15s ease,background .15s ease}.btn-ghost:hover{border-color:var(--muted);background:#fff}.link{background:none;border:none;color:var(--brand);text-decoration:none;font-weight:600;font-size:14px;padding:0}.link:hover{text-decoration:underline}.field-label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}.field-input{width:100%;padding:13px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:8px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.field-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(181,0,39,.12)}.auth-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:radial-gradient(1200px 600px at 50% -10%,#2c2c2c 0,#141414 55%)}.auth-logo{height:30px;margin-bottom:14px}.auth-academy{color:var(--gold);font-size:12px;font-weight:600;letter-spacing:4px;text-transform:uppercase;margin:0 0 36px}.auth-card{width:100%;max-width:420px;background:var(--card);border-radius:14px;padding:36px 34px 32px;box-shadow:0 24px 60px rgba(0,0,0,.35)}.auth-card h1{font-size:21px;font-weight:700;color:var(--ink);margin:0 0 6px}.auth-card .sub{font-size:14px;color:var(--muted);line-height:1.55;margin:0 0 26px}.auth-error{margin:14px 0 0;font-size:13px;color:var(--brand);background:#fdf0f2;border:1px solid #f3cdd5;border-radius:8px;padding:10px 12px}.auth-foot{margin-top:32px;font-size:12px;color:hsla(0,0%,100%,.45);text-align:center;line-height:1.7}.auth-foot a{color:hsla(0,0%,100%,.65)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:24px;gap:24px}.course-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.course-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px hsla(0,0%,8%,.08),0 16px 36px hsla(0,0%,8%,.12)}.course-card-cover{height:116px;background:linear-gradient(120deg,#1c1c1c,#3a3a3a 70%);position:relative;display:flex;align-items:flex-end;padding:14px 18px}.course-card-cover:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--brand)}.course-card-cover img{height:18px;opacity:.9}.course-card-body{padding:18px 20px 20px;display:flex;flex-direction:column;flex:1 1;gap:14px}.course-card-body h3{font-size:16px;font-weight:600;color:var(--ink);line-height:1.45;margin:0;flex:1 1}.page-wrap{max-width:1040px;margin:0 auto;padding:44px 32px 64px}.page-eyebrow{font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--brand);margin:0 0 10px}.page-title{font-size:32px;font-weight:700;color:var(--ink);margin:0 0 8px}.page-sub{margin:0 0 40px}.empty-state,.page-sub{font-size:15px;color:var(--muted)}.empty-state{background:var(--card);border:1px dashed var(--border);border-radius:12px;padding:48px 32px;text-align:center;line-height:1.6}.progress-track{width:100%;height:6px;background:var(--border);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--brand);border-radius:999px}.admin-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px 24px 26px}.admin-grid{display:grid;grid-template-columns:2fr 1fr;grid-gap:18px;gap:18px}@media (max-width:640px){.admin-grid{grid-template-columns:1fr}}.admin-hint{font-size:12.5px;color:var(--muted);margin:8px 0 0;line-height:1.55}.admin-notice{margin:14px 0 0;font-size:13px;color:#1c6b3c;background:#eff9f3;border:1px solid #cbe9d8;border-radius:8px;padding:10px 12px}.admin-sm{padding:8px 14px;font-size:13px;border-radius:7px}.admin-danger{color:var(--brand);border-color:#f0cdd4}.admin-danger:disabled{color:var(--muted);border-color:var(--border);cursor:not-allowed}.admin-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.7}.admin-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 16px}.admin-section-head h2{font-size:20px;font-weight:700;color:var(--ink);margin:0}.admin-section-head span{font-size:13px;color:var(--muted)}.admin-table{width:100%;margin-bottom:44px;background:var(--card);border:1px solid var(--border);border-radius:12px;border-collapse:collapse;overflow:hidden;font-size:14px}.admin-table td,.admin-table th{text-align:left;padding:14px 20px;vertical-align:middle}.admin-table th{background:#fafaf9;border-bottom:1px solid var(--border);font-size:11.5px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.admin-table tbody tr+tr td{border-top:1px solid var(--border)}.admin-table td.num,.admin-table th.num{text-align:right;width:1%;white-space:nowrap}.admin-warn{display:inline-block;margin-left:8px;font-size:11px;font-weight:600;color:#8a6100;background:#fdf5e2;border:1px solid #f0e0b8;border-radius:999px;padding:2px 8px}@media (max-width:760px){.admin-table td,.admin-table th{padding:12px}}.lesson-list{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:6px}.lesson-chapter{font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--brand);margin:16px 0 6px;padding:0 12px}.lesson-list>div:first-child .lesson-chapter{margin-top:8px}.lesson-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px}.lesson-row:hover{background:#fafaf9}.lesson-row-dragging{opacity:.4}.lesson-row-editing{background:#fafaf9;border:1px solid var(--border);padding:18px;margin:6px 0}.lesson-grip{color:#c4c4c4;cursor:-webkit-grab;cursor:grab;font-size:13px;letter-spacing:-2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lesson-num{width:24px;flex-shrink:0;font-size:12.5px;color:var(--muted);text-align:right}.lesson-title{font-size:14.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson-meta{font-size:12px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.icon-btn{background:none;border:1px solid transparent;border-radius:6px;width:28px;height:28px;flex-shrink:0;color:var(--muted);font-size:14px;line-height:1}.icon-btn:hover:not(:disabled){border-color:var(--border);background:#fff;color:var(--ink)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn-danger:hover:not(:disabled){color:var(--brand);border-color:#f0cdd4}.admin-chip{display:inline-block;margin-left:8px;font-size:10.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--muted);background:#f2f1ef;border:1px solid var(--border);border-radius:999px;padding:2px 8px;vertical-align:middle}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0 16px;color:var(--muted);font-size:12px}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.notice-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:10px;padding:16px 20px;margin-bottom:28px;font-size:14px;line-height:1.6;color:var(--muted)}.notice-bar strong{color:var(--ink)}.lesson-kind{display:inline-block;margin-right:8px;font-family:Poppins,Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.5px;color:var(--brand);background:#fdf0f2;border:1px solid #f3cdd5;border-radius:4px;padding:1px 5px}