:root{--navy:#102A56;--royal:#087CEB;--gold:#FFD56A;--ice:#F4F7FB;--slate:#334155;--line:#dce7f4;--muted:#64748b;--white:#fff;--green:#16866b;--red:#b84545;--shadow:0 14px 40px rgba(16,42,86,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#eef4fc 0%,#f8fbff 56%,#f4f7fb 100%);color:var(--navy);font:15px/1.55 Inter,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.container{width:min(1240px,calc(100% - 48px));margin:auto}.masthead{background:var(--navy);color:#fff}.masthead-inner{min-height:112px;display:flex;gap:20px;align-items:center;justify-content:space-between}.brand-lockup{display:flex;align-items:center;gap:16px}.brand-mark{width:58px;height:58px;border-radius:17px;border:2px solid rgba(255,213,106,.7);display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:900;letter-spacing:-3px}.brand-mark b{color:var(--gold)}.brand-eyebrow{color:var(--gold);letter-spacing:.19em;font-size:11px;font-weight:900}.brand-name{font-size:25px;line-height:1.2;font-weight:800;letter-spacing:-.5px}.brand-tag{font-size:12px;letter-spacing:.08em;color:#cddcf1;margin-top:4px}.header-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:#d9e7fd}.account-chip{background:#254571;border:1px solid #49658d;color:#fff;padding:7px 12px;border-radius:999px;font-size:12px;font-weight:700}.utility-bar{background:#eaf3ff;border-bottom:1px solid #d9e6f7}.utility-inner{padding:9px 0;display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#345677;font-weight:650}.workspace{display:grid;grid-template-columns:255px minmax(0,1fr);gap:27px;padding:30px 0 66px;align-items:start}.sidebar{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:19px;min-height:590px;position:sticky;top:20px;display:flex;flex-direction:column}.side-head,.section-kicker{font-size:11px;color:var(--royal);font-weight:850;letter-spacing:.14em}.side-nav{display:grid;gap:7px;margin-top:17px}.nav-link{width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid transparent;background:transparent;color:var(--slate);text-align:left;border-radius:11px;font-weight:700}.nav-link:hover{background:#f0f6ff}.nav-link.active{background:#eaf3ff;border-color:#a9d4ff;color:var(--navy)}.nav-icon{width:23px;text-align:center;font-size:20px;color:var(--royal)}.side-spacer{flex:1;min-height:140px}.sidebar-note{padding:17px;border-radius:14px;background:linear-gradient(150deg,var(--navy),#1b4683);color:#fff;display:grid;gap:7px}.sidebar-note-icon{color:var(--gold);font-size:21px}.sidebar-note strong{font-size:14px}.sidebar-note span{font-size:12px;color:#d0deef}.side-action{margin-top:16px}.main-panel{min-width:0}.hero{border-radius:20px;background:var(--navy);color:white;padding:32px 35px;position:relative;overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px}.hero:before{content:"";position:absolute;width:260px;height:260px;right:-104px;top:-115px;border-radius:50%;background:rgba(8,124,235,.22);box-shadow:-90px 100px 0 rgba(255,213,106,.07)}.hero .eyebrow{position:relative;color:var(--gold);font-size:11px;letter-spacing:.16em;font-weight:900}.hero h1{position:relative;margin:9px 0 10px;font-size:clamp(27px,4.4vw,39px);line-height:1.12;letter-spacing:-.9px}.hero p{position:relative;color:#d9e5f5;margin:0;max-width:700px}.headline-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:25px 0 13px}.headline-line h2{margin:0;font-size:20px;letter-spacing:-.35px}.small-label{font-size:11px;font-weight:850;letter-spacing:.1em;color:#657b9d}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 4px 18px rgba(16,42,86,.04);padding:19px;min-width:0}.card h3{font-size:16px;line-height:1.3;margin:7px 0 8px}.card p{font-size:13px;color:#53657e;margin:6px 0}.card .eyebrow{color:var(--royal);font-size:10px;font-weight:850;letter-spacing:.11em}.card .metric{font-size:32px;font-weight:900;letter-spacing:-1px;line-height:1.3}.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eaf3ff;color:#155599;font-size:11px;font-weight:800}.tag.gold{background:#fff2cb;color:#8e6810}.tag.green{background:#e4f6ee;color:#126f52}.tag.red{background:#fdebe7;color:#a43b34}.tag.gray{background:#eaf0f6;color:#64748b}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.course-card{padding:0;overflow:hidden}.course-cover{padding:24px 22px;background:linear-gradient(125deg,#102A56 0%,#175bb1 100%);color:#fff;min-height:154px;position:relative}.course-cover.paid{background:linear-gradient(125deg,#102A56 0%,#334155 100%)}.course-cover:after{content:"";border:2px solid rgba(255,213,106,.45);border-radius:50%;position:absolute;width:175px;height:175px;right:-66px;bottom:-79px}.course-cover strong{position:relative;display:block;font-size:21px;line-height:1.23;margin:12px 0 9px;max-width:82%}.course-cover .tag{position:relative;color:#ffe8a9;background:#2c4d70}.course-body{padding:18px 21px}.course-body p{margin:0 0 14px;color:#64748b;font-size:13px}.progress-track{height:9px;background:#e5edf8;border-radius:999px;overflow:hidden;margin:10px 0 6px}.progress-fill{height:100%;background:var(--royal);border-radius:999px;transition:width .3s}.progress-meta{display:flex;justify-content:space-between;font-size:11px;color:#65768b;font-weight:700}.module-list{display:grid;gap:10px}.module{background:#fff;border:1px solid var(--line);border-radius:13px;display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 17px}.module-index{background:#edf4fd;color:#2873c8;display:grid;place-items:center;width:43px;height:43px;border-radius:12px;font-size:13px;font-weight:900}.module h3{margin:0;font-size:14px;line-height:1.3}.module p{margin:4px 0 0;font-size:12px;color:#7b899f}.buttons{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.btn{border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:800}.btn:hover{filter:brightness(1.1)}.btn.secondary{background:#fff;color:var(--navy);border-color:#b9cde5}.btn.blue{background:var(--royal);border-color:var(--royal)}.btn:disabled{opacity:.48;cursor:not-allowed}.note{background:#fff9e8;border:1px solid #f3d58b;color:#765515;padding:14px 16px;border-radius:12px;margin:12px 0 23px;font-size:13px}.note strong{color:#624704}.empty{background:#fff;border:1px dashed #b6c7db;border-radius:15px;padding:28px;color:#566a84}.empty h3{color:var(--navy);margin:0 0 5px}.empty p{margin:0;font-size:13px}.mini{font-size:12px;color:var(--muted)}.input-row{display:grid;gap:6px;margin:12px 0}.input-row label{font-size:12px;font-weight:850;color:var(--slate)}input,select{width:100%;border:1px solid #bdcce0;border-radius:9px;padding:10px 12px;color:var(--navy);background:#fff}form{max-width:560px}.quiz-option{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid #cfdef0;border-radius:9px;margin:8px 0;background:#fff;cursor:pointer}.quiz-option input{width:auto}.quiz-block{padding:18px;border:1px solid var(--line);border-radius:12px;margin:13px 0;background:#fbfdff}.quiz-block strong{display:block;margin-bottom:9px}.searchrow{display:flex;gap:12px;flex-wrap:wrap}.searchrow input{flex:2;min-width:200px}.searchrow select{flex:1;min-width:150px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.resource{display:flex;gap:13px;align-items:flex-start}.resource-icon{display:grid;place-items:center;border-radius:12px;background:#eaf3ff;color:var(--royal);width:42px;height:42px;flex:none;font-size:19px}.resource h3{margin:0 0 5px}.resource p{margin:0}.statline{display:flex;gap:10px;flex-wrap:wrap}.stat-pill{padding:8px 12px;background:#eef5fd;border:1px solid #d4e7fa;color:var(--navy);border-radius:9px;font-size:12px;font-weight:800}.table-wrap{overflow:auto;border:1px solid var(--line);background:#fff;border-radius:13px}.data-table{border-collapse:collapse;width:100%;min-width:550px}.data-table th,.data-table td{padding:12px 13px;border-bottom:1px solid #e8eff7;text-align:left;vertical-align:middle;font-size:12px}.data-table th{color:#4b6789;background:#f2f7fd;font-weight:850}.data-table tr:last-child td{border-bottom:0}.admin-row-actions{display:flex;gap:5px;flex-wrap:wrap}.admin-row-actions button{padding:7px 8px;font-size:11px}.divider{border:0;border-top:1px solid #e0e8f3;margin:19px 0}.auth-card{max-width:610px}.footer{border-top:1px solid var(--line);background:#fff;color:#627591;font-size:11px}.footer .container{display:flex;justify-content:space-between;gap:15px;padding:18px 0}.footer b{color:var(--gold)}.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}
@media(max-width:980px){.workspace{grid-template-columns:205px minmax(0,1fr);gap:14px}.cards{grid-template-columns:repeat(2,1fr)}.main-panel{min-width:0}.container{width:min(100% - 32px,1240px)}.sidebar{padding:13px}.course-cover{padding:20px}.module{grid-template-columns:37px minmax(0,1fr) auto;padding:13px}.module-index{width:36px;height:36px}}@media(max-width:720px){.masthead-inner{padding:16px 0;min-height:0;align-items:flex-start}.brand-name{font-size:18px}.brand-mark{width:45px;height:45px;font-size:21px}.header-right{display:none}.workspace{grid-template-columns:1fr;gap:17px;padding-top:17px}.sidebar{min-height:0;position:static}.side-head,.side-spacer,.sidebar-note{display:none}.side-nav{display:flex;overflow:auto;margin:0}.nav-link{width:auto;white-space:nowrap;flex:none;font-size:12px;padding:9px}.nav-icon{display:none}.side-action{margin-top:9px}.hero{padding:26px}.cards,.course-grid,.resource-grid{grid-template-columns:1fr}.module{grid-template-columns:36px minmax(0,1fr)}.module>.tag{grid-column:2;justify-self:start}.utility-inner{flex-direction:column;gap:2px}.footer .container{flex-direction:column}}
