:root{--wine:#6f172d;--wine-deep:#430d1c;--wine-soft:#8d2942;--gold:#d4af63;--gold-light:#f0dfb4;--cream:#f8f4ed;--paper:#fffdf9;--ink:#281a20;--muted:#78676d;--line:#e8ddd7;--success:#42755a;--warning:#a45c24}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}a,button{transition:.2s ease}a{text-decoration:none;color:inherit}.brand{display:flex;align-items:center;gap:13px;position:relative;z-index:2}.brand img{object-fit:contain}.brand div{display:flex;flex-direction:column}.brand strong{font-family:Georgia,serif;font-size:16px;letter-spacing:.08em}.brand span{margin-top:3px;color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.eyebrow{display:block;color:var(--wine);font-size:10px;font-weight:800;letter-spacing:.25em}.eyebrow.light{color:var(--gold)}.form-error{margin:0;color:#a22d46;font-size:11px;text-align:center}.primary-button:disabled{opacity:.65;cursor:wait}.access-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.access-hero{position:relative;overflow:hidden;display:flex;min-height:100vh;flex-direction:column;justify-content:space-between;padding:48px 64px;background:linear-gradient(145deg,var(--wine-deep),var(--wine) 62%,#80233b);color:#fff}.access-hero:before{content:"";position:absolute;inset:0;opacity:.11;background-image:radial-gradient(#fff 1px,transparent 0);background-size:19px 19px}.hero-glow{position:absolute;width:540px;height:540px;border:1px solid rgba(212,175,99,.22);border-radius:50%;right:-240px;top:16%;box-shadow:0 0 0 80px rgba(212,175,99,.04),0 0 0 160px rgba(212,175,99,.025)}.hero-copy{position:relative;max-width:650px}.hero-copy h1{max-width:610px;margin:20px 0 24px;font:400 clamp(46px,5vw,78px)/.98 Georgia,serif;letter-spacing:-.04em}.hero-copy h1 em{color:var(--gold);font-weight:400}.hero-copy>p{max-width:560px;color:rgba(255,255,255,.72);font-size:18px;line-height:1.65}.hero-points{display:grid;gap:12px;margin-top:34px;color:rgba(255,255,255,.8);font-size:14px}.hero-points span{display:flex;align-items:center;gap:10px}.hero-points svg{width:17px;color:var(--gold)}.signature{position:relative;margin:0;color:rgba(255,255,255,.43);font-size:11px;letter-spacing:.08em}.access-panel{display:grid;place-items:center;padding:40px;background:linear-gradient(145deg,#fbf8f2,#f3ece4)}.mobile-brand{display:none}.auth-card{width:min(100%,470px);padding:44px;border:1px solid rgba(111,23,45,.08);border-radius:28px;background:rgba(255,253,249,.94);box-shadow:0 24px 80px rgba(65,25,36,.11)}.auth-kicker{display:flex;align-items:center;gap:8px;color:var(--wine);font-size:10px;font-weight:800;letter-spacing:.18em}.auth-kicker svg{width:15px;color:var(--gold)}.auth-card h2{margin:18px 0 8px;font:400 35px/1.1 Georgia,serif}.auth-card>p{margin:0;color:var(--muted);font-size:14px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:28px 0 24px;padding:4px;border-radius:12px;background:#f1e9e5}.auth-tabs button{border:0;border-radius:9px;padding:11px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer}.auth-tabs button.active{background:#fff;color:var(--wine);box-shadow:0 4px 14px rgba(65,25,36,.08)}.auth-form{display:grid;gap:18px}.auth-form label>span{display:block;margin-bottom:7px;font-size:12px;font-weight:700}.field{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff}.field:focus-within{border-color:var(--wine-soft);box-shadow:0 0 0 3px rgba(111,23,45,.07)}.field svg{width:17px;color:#9d8a91}.field input{width:100%;height:48px;border:0;outline:0;background:transparent;color:var(--ink)}.form-help{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.form-help button{border:0;background:transparent;color:var(--wine);cursor:pointer}.remember{gap:7px}.primary-button,.remember{display:flex;align-items:center}.primary-button{justify-content:center;gap:10px;width:100%;min-height:50px;border:0;border-radius:12px;background:var(--wine);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 12px 24px rgba(111,23,45,.2)}.primary-button:hover{background:var(--wine-deep);transform:translateY(-1px)}.primary-button svg{width:18px}.auth-form small{color:#9a898e;font-size:10px;text-align:center;line-height:1.5}.success-box{text-align:center;padding:12px 0}.success-box>div{display:grid;place-items:center;width:56px;height:56px;margin:auto;border-radius:50%;background:#e9f3ec;color:var(--success)}.success-box h3{margin:18px 0 7px;font:28px Georgia,serif}.success-box p{color:var(--muted);line-height:1.6}.success-box button{border:0;background:transparent;color:var(--wine);font-weight:800;cursor:pointer}.demo-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:10px}.demo-links span{color:#998990}.demo-links a{color:var(--wine);font-weight:800}.dashboard-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 22px;background:var(--wine-deep);color:#fff;z-index:10}.sidebar nav{display:grid;gap:7px;margin-top:48px}.sidebar a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;color:rgba(255,255,255,.58);font-size:13px;font-weight:700}.sidebar a.active,.sidebar a:hover{background:rgba(255,255,255,.09);color:#fff}.sidebar a svg,.sidebar nav svg{width:18px;color:var(--gold)}.sidebar-quote,.sidebar>a{margin-top:auto}.sidebar-quote{margin-bottom:16px;padding:18px;border:1px solid rgba(212,175,99,.22);border-radius:15px;background:rgba(212,175,99,.06)}.sidebar-quote svg{width:18px;color:var(--gold)}.sidebar-quote p{margin:9px 0 0;color:rgba(255,255,255,.58);font:italic 12px/1.6 Georgia,serif}.dashboard-main{min-width:0}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:rgba(255,253,249,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar>div:first-of-type{display:flex;flex-direction:column;gap:4px}.topbar span{color:var(--wine);font-size:9px;font-weight:800;letter-spacing:.18em}.topbar strong{font-size:13px}.profile{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}.profile>div{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--wine);color:#fff;font-size:11px;font-weight:800}.profile span{display:flex;flex-direction:column;letter-spacing:0;color:var(--ink)}.profile small{margin-top:3px;color:var(--muted);font-size:9px}.menu-button,.profile>svg{display:none}.dashboard-content{max-width:1240px;margin:auto;padding:42px}.admin-title,.welcome-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.admin-title h1,.welcome-row h1{margin:10px 0 8px;font:400 clamp(32px,4vw,48px)/1.1 Georgia,serif}.admin-title p,.welcome-row p{margin:0;color:var(--muted);font-size:14px}.progress-ring{width:112px;height:112px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--gold) var(--progress),#eadfda 0);position:relative}.progress-ring:after{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--cream)}.progress-ring span{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}.progress-ring strong{font:25px Georgia,serif}.progress-ring small{color:var(--muted);font-size:9px}.next-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;margin:32px 0;padding:24px 26px;border-radius:18px;background:linear-gradient(135deg,var(--wine),var(--wine-deep));color:#fff;box-shadow:0 20px 44px rgba(79,13,31,.17)}.next-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:rgba(212,175,99,.14);color:var(--gold)}.next-action span{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:.18em}.next-action h2{margin:6px 0 4px;font:24px Georgia,serif}.next-action p{margin:0;color:rgba(255,255,255,.62);font-size:12px}.next-action button{display:flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:12px 15px;background:#fff;color:var(--wine);font-size:11px;font-weight:800;cursor:pointer}.next-action button svg{width:15px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:38px 0 15px}.section-heading h2{margin:8px 0 0;font:28px Georgia,serif}.section-heading>span{color:var(--muted);font-size:11px}.stage-list{display:grid;gap:12px}.stage-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--paper)}.stage-card.expanded{border-color:rgba(111,23,45,.25);box-shadow:0 12px 35px rgba(55,25,34,.06)}.stage-header{width:100%;display:grid;grid-template-columns:50px 1fr 180px 24px;align-items:center;gap:16px;border:0;padding:18px 22px;background:transparent;text-align:left;cursor:pointer}.stage-number{font:22px Georgia,serif;color:var(--gold)}.stage-title{display:flex;flex-direction:column}.stage-title small{color:var(--wine);font-size:8px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.stage-title strong{margin-top:4px;font:20px Georgia,serif}.stage-progress{display:flex;align-items:center;gap:10px}.inline-progress>i,.stage-progress>i{display:block;overflow:hidden;height:5px;flex:1 1;border-radius:10px;background:#eee4df}.inline-progress b,.stage-progress b{display:block;height:100%;border-radius:10px;background:var(--gold)}.stage-progress small{width:30px;color:var(--muted);font-size:9px}.stage-header>svg{width:18px;color:var(--muted);transition:.2s}.expanded .stage-header>svg{transform:rotate(180deg)}.stage-body{display:grid;gap:8px;padding:0 22px 22px 88px}.stage-body>p{margin:0 0 8px;color:var(--muted);font-size:12px}.check-item{display:flex;align-items:flex-start;gap:12px;width:100%;border:1px solid #eee4df;border-radius:11px;padding:13px;background:#fff;text-align:left;cursor:pointer}.check-item:hover{border-color:rgba(111,23,45,.25)}.checkbox{flex:0 0 21px;height:21px;display:grid;place-items:center;border:1px solid #ccbfc0;border-radius:6px}.checkbox svg{width:14px}.check-item>span:last-child{display:flex;flex-direction:column;gap:4px}.check-item strong{font-size:12px}.check-item small{color:var(--muted);font-size:10px;line-height:1.4}.check-item.checked{background:#f4f7f2}.check-item.checked .checkbox{border-color:var(--success);background:var(--success);color:#fff}.check-item.checked strong{text-decoration:line-through;color:#657368}.celebration{display:flex;align-items:center;gap:18px;margin-top:24px;padding:24px;border:1px solid rgba(212,175,99,.4);border-radius:16px;background:#fffaf0;color:var(--wine)}.celebration>svg{width:38px;color:var(--gold)}.celebration span{font-size:9px;font-weight:800;letter-spacing:.18em}.celebration h2{margin:5px 0 0;font:23px Georgia,serif}.admin-title button{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:11px 14px;background:#fff;color:var(--wine);font-size:11px;font-weight:800;cursor:pointer}.admin-title button svg{width:16px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0}.metric-grid article{display:flex;gap:14px;padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.metric-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f4e8e9;color:var(--wine)}.metric-grid svg{width:20px}.metric-grid div{display:flex;flex-direction:column}.metric-grid small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.12em}.metric-grid strong{margin:4px 0;font:28px Georgia,serif}.metric-grid p{margin:0;color:var(--success);font-size:9px}.admin-table-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.table-top{display:flex;justify-content:space-between;align-items:center;padding:22px}.table-top h2{margin:0;font:23px Georgia,serif}.table-top p{margin:5px 0 0;color:var(--muted);font-size:11px}.table-top label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:#fff}.table-top label svg{width:15px;color:var(--muted)}.table-top input{height:38px;border:0;outline:0;background:transparent;font-size:11px}.student-table{overflow-x:auto}.table-row{min-width:900px;display:grid;grid-template-columns:1.5fr .85fr 1fr .8fr .75fr 32px;align-items:center;gap:16px;padding:15px 22px;border-top:1px solid #eee5e0;font-size:11px}.table-head{background:#faf6f2;color:#95858a;font-size:8px;font-weight:800;letter-spacing:.12em}.student-cell{display:flex;align-items:center;gap:10px}.student-cell i{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f0e2e4;color:var(--wine);font-style:normal;font-size:10px;font-weight:800}.student-cell b{display:flex;flex-direction:column;font-size:11px}.student-cell small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:400}.inline-progress{display:flex;align-items:center;gap:9px}.inline-progress strong{width:30px;font-size:10px}.status{display:inline-block;border-radius:20px;padding:6px 9px;background:#f2ece8;color:var(--wine);font-style:normal;font-size:8px;font-weight:800}.status.warning{background:#fff0df;color:var(--warning)}.status.done{background:#e8f3eb;color:var(--success)}.table-row button{border:0;background:transparent;color:var(--wine);cursor:pointer}.table-row button svg{width:17px}@media(max-width:1000px){.access-page{grid-template-columns:1fr}.access-hero{display:none}.access-panel{min-height:100vh}.mobile-brand{display:block;margin-bottom:28px;color:var(--wine)}.dashboard-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-270px;width:250px;transition:.25s}.sidebar.open{left:0;box-shadow:20px 0 40px rgba(0,0,0,.2)}.menu-button{display:grid;place-items:center;border:0;background:transparent;color:var(--wine)}.menu-button svg{width:22px}.topbar{padding:0 18px}.metric-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.access-panel{padding:24px}.auth-card{padding:28px 22px}.dashboard-content{padding:26px 18px}.profile span,.topbar>div:first-of-type{display:none}.profile>svg{display:block}.admin-title,.welcome-row{align-items:flex-start}.progress-ring{width:88px;height:88px;flex:0 0 88px}.next-action{grid-template-columns:auto 1fr;padding:20px}.next-action button{grid-column:1/-1;justify-content:center}.stage-header{grid-template-columns:36px 1fr 22px;padding:16px}.stage-progress{display:none}.stage-body{padding:0 16px 16px}.section-heading>span{display:none}.metric-grid{grid-template-columns:1fr}.admin-title button{display:none}.table-top{align-items:flex-start;gap:16px;flex-direction:column}.table-top input,.table-top label{width:100%}}