:root{--navy-950:#061629;--navy-900:#0d2342;--navy-800:#14365f;--navy-700:#1d4776;--gold-600:#c9930e;--gold-500:#d8a514;--gold-100:#fff7df;--ink-900:#172033;--ink-700:#455066;--ink-500:#6d7688;--line:#dfe5ed;--surface:#fff;--surface-muted:#f4f6fa;--surface-blue:#edf3fa;--green:#18794e;--green-bg:#eaf7f0;--red:#b42318;--red-bg:#fff0ef;--amber:#8a6200;--shadow:0 14px 42px #0a1f3a17;--radius:14px}*{box-sizing:border-box}html{background:var(--surface-muted);min-height:100%}body{min-height:100vh;color:var(--ink-900);background:var(--surface-muted);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--navy-900);letter-spacing:-.025em}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:.78rem;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.55;cursor:not-allowed;transform:none}.button--primary{color:#fff;background:var(--navy-900);box-shadow:0 7px 18px #0d23422e}.button--gold{color:var(--navy-950);background:var(--gold-500)}.button--secondary{color:var(--navy-900);border-color:var(--line);background:#fff}.button--danger{color:var(--red);background:var(--red-bg);border-color:#efc3bf}.text-button{color:var(--navy-700);cursor:pointer;background:0 0;align-items:center;gap:6px;font-size:.74rem;font-weight:800;display:inline-flex}.brand-mark{align-items:center;gap:12px;display:flex}.brand-mark__seal{width:44px;height:44px;color:var(--navy-950);background:var(--gold-500);border-radius:50%;place-items:center;font-family:Georgia,serif;font-weight:900;display:grid}.brand-mark strong{color:inherit;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;display:block}.brand-mark span{color:inherit;opacity:.72;margin-top:2px;font-size:.64rem;display:block}.landing{background:#fff;min-height:100vh}.landing-nav{color:#fff;background:var(--navy-950);border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:24px;min-height:78px;padding:0 clamp(24px,6vw,90px);display:flex}.landing-nav__actions{gap:10px;display:flex}.hero{color:#fff;background:radial-gradient(circle at 82% 16%, #d8a51433, transparent 27%), linear-gradient(145deg,var(--navy-950),var(--navy-800));grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;gap:70px;min-height:620px;padding:90px clamp(24px,7vw,110px);display:grid}.hero__eyebrow{color:var(--gold-500);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:900}.hero h1{color:#fff;max-width:760px;margin:12px 0 20px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.05}.hero__lead{color:#d7e0ec;max-width:710px;font-size:1.02rem;line-height:1.75}.hero__actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.hero-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;padding:28px;box-shadow:0 20px 60px #00000038}.hero-panel h2{color:#fff;font-size:1.2rem}.hero-panel__list{gap:13px;margin-top:18px;display:grid}.hero-panel__list div{background:#ffffff14;border-radius:12px;grid-template-columns:auto 1fr;gap:12px;padding:14px;display:grid}.hero-panel__list strong{color:#fff;font-size:.78rem}.hero-panel__list p{color:#c7d4e2;margin:3px 0 0;font-size:.68rem;line-height:1.5}.hero-panel__number{width:28px;height:28px;color:var(--navy-950);background:var(--gold-500);border-radius:50%;place-items:center;font-size:.68rem;font-weight:900;display:grid}.feature-section{background:var(--surface-muted);padding:78px clamp(24px,7vw,110px)}.feature-section__header{max-width:760px;margin-bottom:34px}.feature-section__header p{color:var(--ink-500);line-height:1.7}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.feature-card{border:1px solid var(--line);border-radius:var(--radius);min-height:210px;box-shadow:var(--shadow);background:#fff;padding:24px}.feature-card__icon{width:44px;height:44px;color:var(--gold-600);background:var(--gold-100);border-radius:11px;place-items:center;display:grid}.feature-card h3{margin:18px 0 8px;font-size:1rem}.feature-card p{color:var(--ink-500);font-size:.76rem;line-height:1.65}.login-page{background:#fff;grid-template-columns:minmax(420px,1.15fr) minmax(420px,.85fr);min-height:100vh;display:grid}.login-intro{color:#fff;background:radial-gradient(circle at 75% 15%, #d8a51433, transparent 28%), linear-gradient(145deg,var(--navy-950),var(--navy-800));flex-direction:column;justify-content:space-between;min-height:100vh;padding:56px clamp(42px,7vw,100px) 36px;display:flex}.login-intro h1{color:#fff;max-width:650px;margin:44px 0 15px;font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.6rem)}.login-intro p{color:#cad7e6;max-width:620px;line-height:1.7}.login-features{gap:14px;margin-top:28px;display:grid}.login-features div{color:#e7edf5;align-items:center;gap:11px;font-size:.8rem;display:flex}.login-features svg{color:var(--gold-500)}.login-panel{background:#f8f9fb;place-items:center;min-height:100vh;padding:40px;display:grid}.login-card{border:1px solid var(--line);width:min(100%,450px);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:34px}.login-card h2{margin-bottom:6px;font-family:Georgia,serif;font-size:1.55rem}.login-card>p{color:var(--ink-500);font-size:.75rem;line-height:1.5}.login-form{gap:15px;margin-top:24px;display:grid}.login-form label,.form-grid label{color:var(--ink-700);font-size:.7rem;font-weight:800}.login-form input,.form-grid input,.form-grid select,.form-grid textarea,.submission-form textarea,.submission-form input{border:1px solid var(--line);width:100%;color:var(--ink-900);background:#fff;border-radius:8px;outline:none;margin-top:6px;padding:0 12px}.login-form input,.form-grid input,.form-grid select,.submission-form input{min-height:42px}.form-grid textarea,.submission-form textarea{resize:vertical;min-height:120px;padding-top:11px}.login-form input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.submission-form textarea:focus,.submission-form input:focus{border-color:var(--navy-700);box-shadow:0 0 0 3px #1d47761a}.form-error,.success-banner{border-radius:8px;padding:11px 13px;font-size:.72rem;line-height:1.5}.form-error{color:var(--red);background:var(--red-bg);border:1px solid #efc3bf}.success-banner{color:var(--green);background:var(--green-bg);border:1px solid #bce2cf}.portal{grid-template-columns:265px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:40;color:#fff;background:linear-gradient(180deg,var(--navy-950),var(--navy-900));flex-direction:column;width:265px;padding:25px 18px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand-mark{border-bottom:1px solid #ffffff1a;padding:0 8px 22px}.sidebar-nav{gap:5px;margin-top:22px;display:grid}.sidebar-nav__label{color:#8298b0;letter-spacing:.1em;text-transform:uppercase;padding:0 10px 7px;font-size:.58rem;font-weight:900}.nav-link{color:#c7d3e2;border-radius:9px;align-items:center;gap:11px;min-height:43px;padding:0 11px;font-size:.74rem;font-weight:750;display:flex}.nav-link:hover,.nav-link--active{color:#fff;background:#ffffff17}.nav-link--active svg{color:var(--gold-500)}.sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding:17px 10px 2px}.sidebar-footer strong{color:var(--gold-500);font-size:.72rem;display:block}.sidebar-footer span{color:#8ea3bb;margin-top:4px;font-size:.61rem;display:block}.portal-main{min-width:0;margin-left:265px}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:0 28px;display:flex;position:sticky;top:0}.topbar__context strong{color:var(--navy-900);font-size:.82rem;display:block}.topbar__context span{color:var(--ink-500);margin-top:3px;font-size:.64rem;display:block}.topbar__actions{align-items:center;gap:10px;display:flex}.user-chip{border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:9px;padding:7px 11px 7px 7px;display:flex}.user-chip__avatar{color:#fff;background:var(--navy-800);border-radius:50%;place-items:center;width:32px;height:32px;font-size:.67rem;font-weight:900;display:grid}.user-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:150px;color:var(--ink-900);font-size:.68rem;display:block;overflow:hidden}.user-chip span{color:var(--ink-500);margin-top:2px;font-size:.58rem;display:block}.mobile-menu{width:40px;height:40px;color:var(--navy-900);border:1px solid var(--line);background:#fff;border-radius:8px;place-items:center;display:none}.content{padding:30px clamp(20px,3vw,42px) 55px}.page-header{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:24px;display:flex}.page-header__eyebrow{color:var(--gold-600);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;font-weight:900}.page-header h1{margin:5px 0 6px;font-family:Georgia,serif;font-size:clamp(1.7rem,2.5vw,2.5rem)}.page-header p{max-width:760px;color:var(--ink-500);margin-bottom:0;font-size:.78rem;line-height:1.65}.page-actions{flex-wrap:wrap;gap:9px;display:flex}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 8px 28px #0a1f3a0b}.panel__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:17px 20px;display:flex}.panel__header h2{margin-bottom:4px;font-size:.98rem}.panel__header p{color:var(--ink-500);margin-bottom:0;font-size:.68rem;line-height:1.45}.panel__body{padding:20px}.dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:20px;display:grid}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-height:130px;padding:18px}.stat-card__icon{width:38px;height:38px;color:var(--gold-600);background:var(--gold-100);border-radius:9px;place-items:center;display:grid}.stat-card strong{color:var(--navy-900);margin-top:16px;font-family:Georgia,serif;font-size:1.45rem;display:block}.stat-card span{color:var(--ink-500);margin-top:3px;font-size:.65rem;display:block}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.course-card{border:1px solid var(--line);background:#fff;border-radius:13px;flex-direction:column;min-height:285px;padding:20px;display:flex;box-shadow:0 8px 28px #0a1f3a0a}.course-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.course-card__badge{color:var(--navy-800);background:var(--surface-blue);text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:.58rem;font-weight:900}.course-card__code{color:var(--gold-600);font-size:.62rem;font-weight:900}.course-card h2{margin:18px 0 8px;font-size:1.02rem}.course-card p{color:var(--ink-500);font-size:.72rem;line-height:1.6}.course-card__meta{color:var(--ink-500);justify-content:space-between;margin-top:auto;padding-top:16px;font-size:.63rem;display:flex}.progress-bar{background:#edf0f4;border-radius:999px;width:100%;height:8px;margin-top:12px;overflow:hidden}.progress-bar span{border-radius:inherit;background:linear-gradient(90deg,var(--navy-800),var(--gold-500));height:100%;display:block}.course-card__footer{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.course-card__footer strong{color:var(--navy-900);font-size:.68rem}.empty-state{text-align:center;color:var(--ink-500);padding:38px 22px}.empty-state h2{font-size:1rem}.empty-state p{max-width:520px;margin:8px auto 0;font-size:.73rem;line-height:1.6}.course-hero{color:#fff;background:linear-gradient(125deg,var(--navy-950),var(--navy-800));border-radius:16px;grid-template-columns:1fr auto;gap:24px;margin-bottom:20px;padding:28px;display:grid}.course-hero h1{color:#fff;margin:9px 0 10px;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.8rem)}.course-hero p{color:#c9d5e4;max-width:750px;margin-bottom:0;line-height:1.65}.course-hero__stats{align-content:center;gap:10px;min-width:180px;display:grid}.course-hero__stats div{background:#ffffff14;border-radius:10px;padding:12px}.course-hero__stats strong{color:var(--gold-500);font-size:1.1rem;display:block}.course-hero__stats span{color:#c9d5e4;margin-top:3px;font-size:.61rem;display:block}.module-list{gap:14px;display:grid}.module-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.module-card__header{border-bottom:1px solid var(--line);background:#fbfcfe;justify-content:space-between;gap:20px;padding:17px 19px;display:flex}.module-card__header h2{margin-bottom:4px;font-size:.95rem}.module-card__header p{color:var(--ink-500);margin-bottom:0;font-size:.67rem}.lesson-list{display:grid}.lesson-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:66px;padding:12px 18px;display:grid}.lesson-row:last-child{border-bottom:0}.lesson-row__icon{width:36px;height:36px;color:var(--navy-700);background:var(--surface-blue);border-radius:9px;place-items:center;display:grid}.lesson-row__icon--done{color:var(--green);background:var(--green-bg)}.lesson-row strong{color:var(--ink-900);font-size:.74rem;display:block}.lesson-row span{color:var(--ink-500);margin-top:4px;font-size:.62rem;display:block}.lesson-row__meta{text-align:right;color:var(--ink-500);font-size:.62rem}.lesson-page{max-width:1050px;margin:0 auto}.lesson-breadcrumb{color:var(--ink-500);align-items:center;gap:8px;margin-bottom:16px;font-size:.67rem;display:flex}.lesson-document{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:clamp(22px,4vw,44px)}.lesson-document__meta{color:var(--gold-600);letter-spacing:.08em;text-transform:uppercase;font-size:.65rem;font-weight:900}.lesson-document h1{margin:8px 0 10px;font-family:Georgia,serif;font-size:clamp(1.8rem,3.5vw,3rem)}.lesson-document__summary{color:var(--ink-500);font-size:.9rem;line-height:1.7}.lesson-content{color:var(--ink-700);white-space:pre-wrap;margin-top:30px;font-size:.92rem;line-height:1.85}.media-frame{aspect-ratio:16/9;background:#000;border:0;border-radius:12px;width:100%;margin-top:24px}.lesson-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding-top:20px;display:flex}.lesson-actions__group{flex-wrap:wrap;gap:10px;display:flex}.assignment-list{gap:16px;display:grid}.assignment-card{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:hidden}.assignment-card__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 20px;display:flex}.assignment-card__header h2{margin-bottom:5px;font-size:.95rem}.assignment-card__header p{color:var(--ink-500);margin-bottom:0;font-size:.65rem}.status{text-transform:uppercase;border-radius:999px;align-items:center;padding:5px 8px;font-size:.58rem;font-weight:900;display:inline-flex}.status--success{color:var(--green);background:var(--green-bg)}.status--warning{color:var(--amber);background:var(--gold-100)}.status--neutral{color:var(--navy-700);background:var(--surface-blue)}.submission-form{gap:14px;padding:18px 20px;display:grid}.submission-form__actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-box{color:var(--ink-700);border:1px solid var(--line);background:#fbfcfe;border-radius:9px;padding:14px;font-size:.7rem;line-height:1.55}.list{display:grid}.list-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:18px;min-height:68px;padding:13px 18px;display:grid}.list-row:last-child{border-bottom:0}.list-row strong{color:var(--ink-900);font-size:.74rem;display:block}.list-row p{color:var(--ink-500);margin:4px 0 0;font-size:.65rem;line-height:1.45}.list-row time{color:var(--ink-500);white-space:nowrap;font-size:.61rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px;display:grid}.form-grid__wide{grid-column:1/-1}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tab{min-height:38px;color:var(--navy-700);border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;padding:0 13px;font-size:.68rem;font-weight:800;display:inline-flex}.tab--active{color:#fff;background:var(--navy-900);border-color:var(--navy-900)}.footer{border-top:1px solid var(--line);min-height:58px;color:var(--ink-500);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:0 30px;font-size:.62rem;display:flex}.sidebar-backdrop{display:none}@media (max-width:1180px){.course-grid,.stat-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.admin-grid{grid-template-columns:1fr}}@media (max-width:920px){.hero{grid-template-columns:1fr;min-height:auto}.login-page{grid-template-columns:1fr}.login-intro,.login-panel{min-height:auto}.sidebar{transition:transform .22s;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-backdrop{z-index:35;background:#030e1b94;display:block;position:fixed;inset:0}.portal{grid-template-columns:1fr}.portal-main{margin-left:0}.mobile-menu{display:grid}.topbar__context{display:none}}@media (max-width:680px){.landing-nav{padding:0 18px}.landing-nav .brand-mark span{display:none}.hero,.feature-section{padding-left:20px;padding-right:20px}.hero{padding-top:58px;padding-bottom:58px}.feature-grid,.course-grid,.stat-grid,.form-grid{grid-template-columns:1fr}.form-grid__wide{grid-column:auto}.login-intro,.login-panel{padding-left:20px;padding-right:20px}.login-card{padding:28px 20px}.content{padding:23px 16px 40px}.topbar{padding:0 14px}.user-chip strong,.user-chip span{display:none}.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.page-actions .button{flex:1}.course-hero{grid-template-columns:1fr;padding:22px}.course-hero__stats{grid-template-columns:repeat(3,1fr);min-width:0}.course-hero__stats div{padding:10px}.lesson-row{grid-template-columns:auto 1fr}.lesson-row__meta{text-align:left;grid-column:2}.lesson-actions{flex-direction:column;align-items:stretch}.lesson-actions__group .button{flex:1}.assignment-card__header{flex-direction:column}.footer{flex-direction:column;justify-content:center;align-items:flex-start;padding:15px 20px}}
