:root{--bg:#f4f7fb;--panel:#fff;--text:#162033;--muted:#667085;--line:#dbe3ee;--primary:#174ea6;--primary2:#0b6fbe;--danger:#b42318;--success:#067647;--warning:#b54708;--shadow:0 8px 26px rgba(16,24,40,.08)}*{box-sizing:border-box}html{font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;line-height:1.5}.topbar{min-height:68px;background:#0f2f5f;color:#fff;display:flex;align-items:center;gap:24px;padding:0 28px;position:sticky;top:0;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,.12)}.brand{font-weight:800;white-space:nowrap}.brand a,.topbar nav a{color:#fff;text-decoration:none}.topbar nav{display:flex;gap:16px;flex:1;flex-wrap:wrap}.topbar nav a{opacity:.9;font-size:.93rem}.topbar nav a:hover{opacity:1;text-decoration:underline}.user-chip{background:rgba(255,255,255,.14);padding:7px 11px;border-radius:999px;font-size:.85rem}.container{max-width:1240px;margin:28px auto;padding:0 20px 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.page-heading h1{margin:0;font-size:1.9rem}.card,.lesson-document section,.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card{padding:22px;margin-bottom:18px}.card h2,.card h3{margin-top:0}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.stat strong{font-size:1.65rem;display:block}.stat span{color:var(--muted)}label{font-weight:650;font-size:.92rem;display:block;margin-bottom:6px}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;padding:10px 12px;font:inherit;color:var(--text);outline:none}textarea{min-height:110px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#4d8fd8;box-shadow:0 0 0 3px rgba(23,78,166,.1)}.help,.muted{color:var(--muted);font-size:.9rem}.required:after{content:' *';color:var(--danger)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:10px 15px;background:#e8eef7;color:#17345e;text-decoration:none;font-weight:700;cursor:pointer;font:inherit}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--primary);color:#fff}.btn.success{background:var(--success);color:#fff}.btn.danger{background:var(--danger);color:#fff}.btn.ghost{background:#fff;border:1px solid var(--line)}.btn.small{padding:7px 10px;font-size:.86rem}.flash{padding:12px 15px;border-radius:10px;margin-bottom:16px;border:1px solid}.flash.success{background:#ecfdf3;color:#05603a;border-color:#abefc6}.flash.error{background:#fef3f2;color:#912018;border-color:#fecdca}.flash.warning{background:#fffaeb;color:#93370d;border-color:#fedf89}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:11px 12px;border:1px solid var(--line);vertical-align:top;text-align:left}th{background:#f6f8fb;font-weight:750}.badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:#eef4ff;color:#244a8f}.badge.success{background:#ecfdf3;color:#067647}.badge.warning{background:#fffaeb;color:#b54708}.badge.danger{background:#fef3f2;color:#b42318}.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 14px}.check{display:flex;gap:8px;align-items:flex-start;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.check input{margin-top:4px}.source-card{border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0;background:#fbfcfe}.source-card h4{margin:0 0 6px}.stepper{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.step{padding:8px 12px;border-radius:999px;background:#e8edf5;color:#4b5565;font-size:.85rem;font-weight:700}.step.active{background:var(--primary);color:#fff}.auth-shell{min-height:calc(100vh - 90px);display:grid;place-items:center;padding:30px}.auth-card{width:min(460px,100%);padding:28px}.auth-card h1{margin-top:0}.lesson-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.lesson-document{max-width:980px;margin:0 auto}.lesson-document section{padding:24px 28px;margin-bottom:16px;box-shadow:none}.lesson-document .lesson-title{text-align:center;background:linear-gradient(135deg,#0f2f5f,#174ea6);color:#fff}.lesson-document .lesson-title h1{margin:0;font-size:2rem}.subtitle{opacity:.9}.lesson-document h2{font-size:1.25rem;border-bottom:2px solid #e8eef7;padding-bottom:8px;color:#163f79}.lesson-document h3{font-size:1.02rem;color:#253b5b;margin-top:18px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-grid>div{border:1px solid var(--line);border-radius:9px;padding:10px}.info-grid strong{display:block;color:#56647a;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.info-grid span{display:block;margin-top:3px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.mini-card{border:1px solid var(--line);border-radius:10px;padding:15px;background:#fbfcff}.mini-card h3{margin-top:0}.phase{border-left:5px solid #4c79ba!important}.phase-meta{display:flex;gap:20px;flex-wrap:wrap;background:#f7f9fc;padding:9px 12px;border-radius:8px}.objective-list li{margin:8px 0}.validation-box{border-radius:12px;padding:14px 16px;margin:14px 0}.validation-box.pass{background:#ecfdf3;border:1px solid #abefc6}.validation-box.fail{background:#fef3f2;border:1px solid #fecdca}.validation-box.warn{background:#fffaeb;border:1px solid #fedf89}.field-actions{display:flex;justify-content:flex-end;margin:-2px 0 6px}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs a{padding:10px 12px;text-decoration:none;color:#43516a;font-weight:700}.tabs a.active{color:var(--primary);border-bottom:3px solid var(--primary)}.code-note{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;background:#0f172a;color:#e2e8f0;padding:12px;border-radius:8px;overflow:auto}.empty{padding:34px;text-align:center;border:2px dashed #cad5e2;border-radius:12px;color:var(--muted);background:#fff}.inline-form{display:inline}.nowrap{white-space:nowrap}@media(max-width:850px){.topbar{align-items:flex-start;flex-direction:column;padding:15px 20px;gap:10px;position:static}.topbar nav{gap:12px}.stats{grid-template-columns:repeat(2,1fr)}.col-8,.col-6,.col-4,.col-3{grid-column:span 12}.checkbox-grid{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}}@media(max-width:520px){.stats,.checkbox-grid,.info-grid{grid-template-columns:1fr}.container{padding:0 12px}.lesson-document section{padding:18px}.lesson-document .lesson-title h1{font-size:1.55rem}}@media print{body{background:#fff}.topbar,.page-heading,.lesson-toolbar,.flash,.no-print{display:none!important}.container{max-width:none;margin:0;padding:0}.lesson-document{max-width:none}.lesson-document section{box-shadow:none;border:0;border-radius:0;margin:0 0 10px;padding:8px 0;break-inside:avoid}.lesson-document .lesson-title{color:#000;background:#fff;border-bottom:2px solid #000}.lesson-document h2{color:#000}.table-wrap{overflow:visible}table{font-size:10pt}th,td{padding:6px}.phase{border-left:2px solid #999!important}}

/* Account management enhancements */
.narrow-card{max-width:920px;margin-left:auto;margin-right:auto}
.actions.compact{gap:6px;flex-wrap:wrap;margin:0}
.inline-form{display:inline;margin:0}
hr{border:0;border-top:1px solid var(--border,#d8dee8);margin:24px 0}

/* Interactive dashboard summary cards */
.dashboard-stats .stat-button{font:inherit;color:inherit;text-align:left;width:100%;cursor:pointer;position:relative;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;background:#fff}
.dashboard-stats .stat-button small{display:block;margin-top:7px;color:var(--primary);font-weight:700;font-size:.78rem}
.dashboard-stats .stat-button::after{content:'›';position:absolute;right:17px;top:50%;transform:translateY(-50%);font-size:1.65rem;line-height:1;color:#8da1ba}
.dashboard-stats .stat-button:hover{border-color:#9bb8de;box-shadow:0 10px 28px rgba(16,24,40,.11);transform:translateY(-1px)}
.dashboard-stats .stat-button:focus-visible{outline:3px solid rgba(23,78,166,.22);outline-offset:2px;border-color:var(--primary)}
.dashboard-stats .stat-button[aria-expanded="true"]{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,78,166,.08)}
.dashboard-stats .stat-button[aria-expanded="true"]::after{content:'⌄'}
.dashboard-drilldown{scroll-margin-top:90px;border-top:4px solid var(--primary)}
.dashboard-detail-heading{align-items:flex-start}
.dashboard-detail-heading h2{margin-bottom:2px}
.dashboard-detail-heading p{margin:0}
.dashboard-account-grid{margin-top:6px}
@media(max-width:520px){.dashboard-detail-heading{align-items:stretch;flex-direction:column}.dashboard-detail-heading .btn{align-self:flex-start}}
