:root{--g:#146c43;--g2:#198754;--g3:#e8f5ee;--g4:#f3faf6;--ink:#17322a;--muted:#6b7d76;--line:#dfe9e4;--bg:#f6f9f7;--white:#fff;--danger:#b42318;--warn:#a15c00;--shadow:0 12px 36px rgba(28,65,50,.08);--r:18px}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.icon{display:block}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 16px;z-index:30}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,var(--g2),#0f5a39);display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(20,108,67,.2)}.brand-mark span{font-weight:800;font-size:13px;letter-spacing:.5px}.brand strong{display:block;font-size:17px;letter-spacing:.5px}.brand small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.nav-list{display:grid;gap:6px;margin-top:30px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;color:#52685f;font-weight:650;font-size:14px}.nav-item:hover{background:var(--g4);color:var(--g)}.nav-item.active{background:var(--g3);color:var(--g)}.sidebar-note{margin-top:auto;display:flex;gap:10px;padding:13px;background:var(--g4);border:1px solid #d9ece2;border-radius:14px;color:var(--g)}.sidebar-note strong,.sidebar-note small{display:block}.sidebar-note strong{font-size:12px}.sidebar-note small{font-size:10px;color:#557167;margin-top:3px}.user-mini{display:flex;align-items:center;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.avatar{width:38px;height:38px;border-radius:12px;background:var(--g);color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.avatar.soft{background:var(--g3);color:var(--g)}.user-mini-copy{min-width:0;flex:1}.user-mini-copy strong,.user-mini-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-mini-copy strong{font-size:12px}.user-mini-copy small{font-size:10px;color:var(--muted);margin-top:2px}.icon-button{width:38px;height:38px;border:1px solid var(--line);background:#fff;border-radius:11px;display:inline-grid;place-items:center;color:#61736c;cursor:pointer;position:relative}.icon-button:hover{color:var(--g);border-color:#bcd8ca}.main-column{margin-left:264px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;background:rgba(246,249,247,.93);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.eyebrow{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--g);font-weight:800}.topbar-title h1{font-size:20px;margin:3px 0 0}.topbar-actions{display:flex;align-items:center;gap:9px}.role-switch select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px 30px 9px 11px;color:#4c6158;font-size:12px}.dot{position:absolute;width:7px;height:7px;background:#e15454;border-radius:50%;top:6px;right:7px;border:2px solid white}.content{padding:28px 32px 42px;max-width:1500px;width:100%;margin:0 auto}.footer{margin-top:auto;padding:18px 32px;border-top:1px solid var(--line);color:#82918b;font-size:10px}.mobile-only{display:none}.welcome-card{background:linear-gradient(115deg,#fff 0%,#fff 54%,#edf8f1 100%);border:1px solid var(--line);border-radius:22px;padding:24px 26px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.welcome-card h2{margin:5px 0 7px;font-size:25px}.welcome-card p{margin:0;color:var(--muted);max-width:760px;font-size:13px;line-height:1.6}.welcome-badge{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #d8ebe1;border-radius:15px;padding:12px 15px;color:var(--g);min-width:150px}.welcome-badge span{font-size:10px;line-height:1.4}.welcome-badge b{font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.stat-card,.panel,.monitor-card,.report-card,.settings-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 28px rgba(28,65,50,.045)}.stat-card{padding:17px;display:flex;gap:13px;align-items:center}.stat-icon,.domain-icon,.monitor-icon,.report-icon{width:42px;height:42px;border-radius:13px;background:var(--g3);color:var(--g);display:grid;place-items:center;flex:0 0 auto}.stat-card span,.stat-card small{display:block}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{font-size:24px;line-height:1.2}.stat-card small{font-size:9px;color:#95a29d}.two-col{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:16px;margin-top:16px}.two-col.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(300px,.7fr)}.panel{padding:20px}.panel.compact{padding:17px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.panel-head h3{margin:4px 0 0;font-size:16px}.text-link{font-size:11px;color:var(--g);font-weight:700;display:flex;align-items:center;gap:5px}.domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.domain-card{border:1px solid var(--line);border-radius:15px;padding:13px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px}.domain-card .domain-icon{width:38px;height:38px}.domain-copy span,.domain-copy small{display:block}.domain-copy span{font-size:11px;font-weight:700}.domain-copy strong{font-size:21px}.domain-copy small{font-size:9px;color:var(--muted)}.domain-meta{font-size:9px;color:var(--g);font-weight:700}.attention-list{display:grid;gap:3px}.attention-row{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid #eef3f0}.attention-row:last-child{border:0}.attention-dot{width:7px;height:7px;border-radius:50%}.attention-dot.red{background:#d94d43}.attention-dot.amber{background:#e0a33a}.attention-dot.green{background:#3aa673}.attention-row strong,.attention-row small{display:block}.attention-row strong{font-size:11px}.attention-row small,.attention-row>span:last-child{font-size:9px;color:var(--muted)}.profile-bars{display:grid;gap:9px}.profile-row{display:grid;grid-template-columns:190px 1fr 46px;align-items:center;gap:12px;font-size:10px}.bar{height:8px;background:#eef3f0;border-radius:99px;overflow:hidden}.bar i{height:100%;display:block;background:linear-gradient(90deg,#77c397,var(--g2));border-radius:inherit}.profile-row b{font-size:10px;text-align:right}.microcopy{font-size:9px;color:#87958f;line-height:1.5;margin:14px 0 0}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}.page-intro h2{font-size:24px;margin:4px 0 5px}.page-intro p{font-size:12px;color:var(--muted);margin:0}.button-row{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;padding:10px 14px;border:1px solid transparent;font-weight:750;font-size:11px;cursor:pointer}.btn.primary{background:var(--g);color:#fff}.btn.primary:hover{background:#0f5d39}.btn.secondary{background:#fff;color:var(--g);border-color:#c9ded3}.btn.small{padding:8px 11px;font-size:10px}.btn.wide{width:100%;padding:12px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}.searchbox{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:0 11px;min-width:280px}.searchbox input{border:0;outline:0;padding:10px 0;width:100%;font-size:11px}.filter-chip{font-size:10px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{text-align:left;color:#82918b;font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:10px;border-bottom:1px solid var(--line)}.data-table td{padding:11px 10px;border-bottom:1px solid #edf2ef;font-size:10px}.student-cell{display:flex;align-items:center;gap:10px}.student-cell strong,.student-cell small{display:block}.student-cell strong{font-size:11px}.student-cell small{font-size:9px;color:var(--muted);margin-top:2px}.badge{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:750}.badge.success{background:#e8f6ee;color:#1d7447}.badge.warning{background:#fff3df;color:#9a5b05}.badge.danger{background:#fdecec;color:#a63129}.badge.info{background:#eaf4ff;color:#306ca8}.badge.neutral{background:#eef3f0;color:#60736a}.student-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.big-number{display:block;font-size:27px;margin:5px 0}.panel.compact small{color:var(--muted);font-size:9px;display:block;margin-top:5px}.skkpd-table{display:grid}.skkpd-head,.skkpd-r{display:grid;grid-template-columns:1fr 52px 52px 52px;align-items:center;border-bottom:1px solid #eef3f0}.skkpd-head{padding:7px 0;color:#81908a;font-size:9px;text-transform:uppercase}.skkpd-r{padding:9px 0;font-size:10px}.skkpd-r span small{color:var(--g);font-weight:800;margin-right:7px}.skkpd-r b{text-align:center;font-size:10px}.timeline{position:relative;padding-left:16px}.timeline:before{content:"";position:absolute;left:3px;top:6px;bottom:8px;width:1px;background:#d8e6df}.timeline>div{position:relative;padding:0 0 18px 12px}.timeline>div:before{content:"";position:absolute;left:-16px;top:4px;width:7px;height:7px;border-radius:50%;background:var(--g);box-shadow:0 0 0 4px #e5f4eb}.timeline span,.timeline b{display:block}.timeline span{font-size:8px;color:var(--g);font-weight:800}.timeline b{font-size:11px;margin-top:2px}.timeline p{font-size:9px;color:var(--muted);line-height:1.5;margin:4px 0 0}.back-link{display:block;color:var(--g);font-size:10px;margin-bottom:7px}.assessment-shell{max-width:900px;margin:0 auto}.assessment-top{display:flex;justify-content:space-between;align-items:flex-end}.assessment-top h2{margin:4px 0 0;font-size:21px}.progress-copy{text-align:right}.progress-copy b,.progress-copy span{display:block}.progress-copy b{font-size:15px}.progress-copy span{font-size:9px;color:var(--muted)}.progress-track{height:7px;background:#e4ece8;border-radius:99px;overflow:hidden;margin:14px 0 18px}.progress-track i{display:block;height:100%;background:var(--g2);transition:.3s}.assessment-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px 28px;box-shadow:var(--shadow)}.assessment-labels{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.stage-pill{background:var(--g3);color:var(--g);padding:5px 8px;border-radius:99px;font-weight:800}.assessment-card h3{font-size:20px;line-height:1.45;margin:17px 0 18px;max-width:760px}.answer-list{display:grid;gap:9px}.answer-option{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 13px;text-align:left;cursor:pointer;color:var(--ink)}.answer-option:hover{border-color:#9fc9b2;background:#fbfefc}.answer-option.selected{border-color:var(--g2);background:var(--g4);box-shadow:inset 0 0 0 1px var(--g2)}.answer-key{width:28px;height:28px;border-radius:9px;background:#eef4f1;display:grid;place-items:center;font-size:10px;font-weight:850;color:#527066}.answer-option.selected .answer-key{background:var(--g);color:#fff}.answer-text{font-size:11px;line-height:1.45}.assessment-actions{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid #edf2ef}.save-state{text-align:center;font-size:9px;color:var(--muted)}.assessment-help{display:flex;gap:10px;align-items:flex-start;margin:12px 6px;color:#557068}.assessment-help b,.assessment-help span{display:block}.assessment-help b{font-size:10px;color:var(--g)}.assessment-help span{font-size:9px;line-height:1.5;margin-top:2px}.monitor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.monitor-card{padding:17px;display:grid;grid-template-columns:42px 1fr;gap:11px;position:relative}.monitor-card span,.monitor-card small{display:block}.monitor-card span{font-size:11px;font-weight:700}.monitor-card strong{font-size:22px}.monitor-card small{font-size:9px;color:var(--muted)}.monitor-card em{grid-column:2;font-style:normal;font-size:9px;color:var(--g);font-weight:700}.source-list{display:grid}.source-list>div{display:grid;grid-template-columns:26px 1fr auto;gap:9px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2ef}.source-list>div:last-child{border:0}.source-list strong,.source-list small,.source-list b{display:block}.source-list b{font-size:10px}.source-list small,.source-list strong{font-size:9px}.source-list small{color:var(--muted)}.source-list strong{color:#6e8078}.rule-list{display:grid;gap:11px}.rule-list>div{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start}.rule-list b:first-child{width:26px;height:26px;border-radius:9px;background:var(--g3);color:var(--g);display:grid;place-items:center}.rule-list span{font-size:10px;line-height:1.55;color:#53675f}.privacy-banner{display:flex;gap:11px;align-items:flex-start;margin-top:15px;background:var(--g4);border-color:#d7ebe0;color:var(--g)}.privacy-banner b,.privacy-banner span{display:block}.privacy-banner b{font-size:11px}.privacy-banner span{font-size:9px;color:#587267;margin-top:3px}.report-grid,.settings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.report-card{padding:20px}.report-card h3{font-size:14px;margin:13px 0 6px}.report-card p{font-size:10px;color:var(--muted);line-height:1.55;margin:0 0 14px}.report-card>span{font-size:9px;color:var(--g);font-weight:800;background:var(--g4);padding:5px 7px;border-radius:8px}.settings-card{padding:18px;display:flex;gap:12px;color:var(--g)}.settings-card h3{font-size:13px;color:var(--ink);margin:0 0 4px}.settings-card p{font-size:9px;color:var(--muted);line-height:1.45;margin:0}.scrim{display:none}.login-body{min-height:100vh;background:#f4f8f5}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.35fr .65fr}.login-showcase{padding:7vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 10%,#d9efe2 0,transparent 34%),linear-gradient(140deg,#f8fcf9,#eaf6ef)}.brand.large .brand-mark{width:52px;height:52px}.brand.large strong{font-size:20px}.hero-pill{align-self:flex-start;margin-top:70px;padding:7px 10px;background:#fff;border:1px solid #d7e9df;border-radius:99px;font-size:10px;color:var(--g);font-weight:800}.login-showcase h1{font-size:42px;line-height:1.12;max-width:780px;margin:20px 0 15px}.login-showcase>p{max-width:700px;font-size:13px;line-height:1.7;color:#5f746b}.login-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:690px;margin-top:28px}.login-feature-grid>div{padding:15px;background:rgba(255,255,255,.72);border:1px solid #dcebe3;border-radius:14px}.login-feature-grid b,.login-feature-grid span{display:block}.login-feature-grid b{font-size:24px;color:var(--g)}.login-feature-grid span{font-size:9px;color:var(--muted)}.login-panel{background:#fff;padding:9vw 5vw;display:flex;flex-direction:column;justify-content:center}.login-panel h2{font-size:25px;margin:4px 0}.muted{color:var(--muted);font-size:11px}.form-stack{display:grid;gap:14px;margin-top:24px}.form-stack label{font-size:10px;font-weight:700}.form-stack input{display:block;width:100%;border:1px solid var(--line);border-radius:11px;padding:12px;margin-top:6px;outline:none}.form-stack input:focus{border-color:#8fc2a7;box-shadow:0 0 0 3px #edf7f1}.privacy-note{display:flex;gap:8px;color:var(--g);font-size:9px;line-height:1.5;margin-top:18px}.alert.error{padding:10px;border-radius:10px;background:#fff0ef;color:#a6342d;font-size:10px;margin-top:12px}
@media(max-width:1100px){.stat-grid,.monitor-grid,.report-grid,.settings-grid{grid-template-columns:repeat(2,1fr)}.two-col,.two-col.wide-left{grid-template-columns:1fr}.student-summary-grid{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-showcase{display:none}.login-panel{min-height:100vh;padding:12vw 10vw}}
@media(max-width:760px){.sidebar{transform:translateX(-105%);transition:.25s;width:282px}.sidebar.open{transform:none}.main-column{margin-left:0}.topbar{height:70px;padding:0 16px}.topbar-title h1{font-size:17px}.mobile-only{display:inline-grid}.role-switch{display:none}.content{padding:18px 14px 34px}.scrim{position:fixed;inset:0;background:rgba(8,30,20,.35);z-index:25}.scrim.show{display:block}.welcome-card{padding:19px}.welcome-badge{display:none}.welcome-card h2{font-size:21px}.stat-grid,.monitor-grid,.report-grid,.settings-grid,.domain-grid,.student-summary-grid{grid-template-columns:1fr}.stat-card{padding:14px}.page-intro{align-items:flex-start;flex-direction:column}.button-row{width:100%;flex-wrap:wrap}.toolbar{align-items:stretch;flex-wrap:wrap}.searchbox{min-width:100%}.panel{padding:16px}.profile-row{grid-template-columns:125px 1fr 38px}.assessment-card{padding:20px 16px}.assessment-card h3{font-size:17px}.assessment-actions{grid-template-columns:1fr 1fr}.save-state{grid-column:1/-1;grid-row:1}.assessment-actions .btn{width:100%}.login-panel{padding:28px 20px}.footer{padding:16px}.skkpd-head,.skkpd-r{grid-template-columns:1fr 40px 40px 40px}}
/* v0.2.0-RC additions */
.body-copy{font-size:10px;line-height:1.65;color:var(--muted)}
.action-list{display:grid;gap:9px}.action-list a{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.action-list b,.action-list small{display:block}.action-list b{font-size:10px}.action-list small{font-size:9px;color:var(--muted);margin-top:2px}
.priority-list{display:grid}.priority-list>a{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #edf2ef;color:var(--ink);text-decoration:none}.priority-list>a:last-child{border:0}.priority-list b,.priority-list small{display:block}.priority-list b{font-size:10px}.priority-list small{font-size:9px;color:var(--muted);margin-top:2px}
.signal-list{display:grid;gap:10px}.signal-list>div{position:relative;padding:11px 12px 11px 28px;border:1px solid var(--line);border-radius:12px}.signal-dot{position:absolute;left:11px;top:15px;width:7px;height:7px;border-radius:50%;background:#d18a21}.signal-list b{font-size:9px;color:#966313}.signal-list p{font-size:9px;line-height:1.55;color:var(--muted);margin:4px 0 0}
.form-stack select,.form-stack textarea,.form-stack input[type=file]{display:block;width:100%;border:1px solid var(--line);border-radius:11px;padding:11px;margin-top:6px;background:#fff;color:var(--ink);font:inherit}.form-stack textarea{resize:vertical}.form-stack select:focus,.form-stack textarea:focus{outline:none;border-color:#8fc2a7;box-shadow:0 0 0 3px #edf7f1}.check-row{display:flex!important;align-items:center;gap:9px;font-weight:600!important}.check-row input{width:auto!important;margin:0!important}.form-result{min-height:16px;font-size:9px;color:var(--muted)}.form-result.ok{color:#1d7447}.form-result.bad{color:#a63129}
.wellbeing-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}.wellbeing-card{display:flex;align-items:center;gap:12px;padding:16px}.wellbeing-card h3{font-size:11px;margin:0 0 4px}.wellbeing-card p{font-size:9px;color:var(--muted);margin:0}.ring{--p:70;width:52px;height:52px;min-width:52px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--g2) calc(var(--p)*1%),#e8efeb 0);position:relative}.ring:after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}.ring strong{position:relative;z-index:1;font-size:10px}
.import-summary{margin-top:15px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#fbfefc}.import-summary h3{font-size:12px;margin:0 0 4px}.import-summary p{font-size:9px;color:var(--muted)}.import-errors{display:grid;gap:6px;margin:10px 0}.import-errors>div{display:grid;grid-template-columns:72px 1fr;gap:8px;padding:8px;background:#fff5f3;border-radius:8px;font-size:9px}.import-errors b{color:#a63129}
.danger-lite{background:#fffaf9;border-color:#f4d7d2}
@media(max-width:1200px){.wellbeing-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.wellbeing-grid{grid-template-columns:1fr}.wellbeing-card{min-height:84px}.priority-list>a{grid-template-columns:38px 1fr}.priority-list .badge{grid-column:2;justify-self:start}.page-intro .button-row{display:flex}}
@media print{.sidebar,.topbar,.footer,.button-row,.btn,.role-switch{display:none!important}.main-column{margin-left:0!important}.content{padding:0!important}.panel,.report-card{box-shadow:none!important;break-inside:avoid}.app-shell{display:block}.report-grid{grid-template-columns:repeat(2,1fr)}}

.compact-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.compact-metrics>div{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.compact-metrics span{font-size:.82rem;color:var(--muted)}.compact-metrics b{color:var(--green-700)}
@media(max-width:600px){.compact-metrics{grid-template-columns:1fr}}
/* Assurance v1.1: actionable review/follow-up controls */
.priority-list .priority-item{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid #edf2ef}.priority-list .priority-item:last-child{border:0}.priority-list .priority-item small{display:block;font-size:9px;color:var(--muted);margin:4px 0}.priority-list .priority-item .button-row{margin-top:7px;align-items:center;flex-wrap:wrap}.priority-list .priority-item input{border:1px solid var(--line);border-radius:9px;padding:8px;min-width:190px}.report-card{display:block}.report-card:hover{border-color:#bcd8ca;transform:translateY(-1px)}
@media(max-width:760px){.priority-list .priority-item{grid-template-columns:38px 1fr}.priority-list .priority-item>.badge{grid-column:2;justify-self:start}.priority-list .priority-item input{min-width:0;width:100%}}
/* SMK/MAK assurance additions */
.report-summary{display:grid;gap:10px}.report-summary-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid #edf2ef}.report-summary-row b{font-size:10px}.report-summary-row span{font-size:10px;color:var(--muted);text-align:right}.report-summary-block{padding:10px 0}.report-summary-block>b{font-size:10px}.report-summary-list{display:grid;gap:7px;margin-top:8px}.report-summary-list>div{padding:9px 11px;border:1px solid var(--line);border-radius:10px;font-size:9px;line-height:1.5;color:var(--muted)}
@media(max-width:900px){.role-switch{display:none}.topbar{padding-left:18px;padding-right:18px}.page-intro{min-width:0}.button-row{flex-wrap:wrap}}
/* EXOLINK Unified v2 — splash, track selector, and track context */
.official-logo{display:block;object-fit:contain}.brand-logo{width:52px;height:52px;object-fit:contain;border-radius:14px;filter:drop-shadow(0 0 10px rgba(255,255,255,.92)) drop-shadow(0 6px 13px rgba(7,103,65,.18))}.brand{gap:10px}.brand>div strong{letter-spacing:.04em}.track-switch-link{font-size:11px;font-weight:800;color:var(--green-700);text-decoration:none;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;white-space:nowrap}.track-switch-link:hover{background:var(--soft)}
.unified-splash,.track-selector-body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 38%,#fff 0,#f7fffb 38%,#e6fbef 75%,#d4f7e4 100%);color:#083c2d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.unified-splash{overflow:hidden}.splash-stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;position:relative;isolation:isolate}.splash-stage:before,.splash-stage:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(1px);opacity:.6}.splash-stage:before{width:55vw;height:55vw;max-width:620px;max-height:620px;left:-22vw;top:-18vw;background:linear-gradient(145deg,rgba(51,225,143,.28),rgba(255,255,255,.15))}.splash-stage:after{width:70vw;height:34vw;right:-28vw;bottom:-10vw;background:linear-gradient(120deg,rgba(0,180,119,.28),rgba(173,255,211,.12))}.splash-logo{width:min(76vw,520px);max-height:52vh;filter:drop-shadow(0 0 22px #fff) drop-shadow(0 0 38px rgba(255,255,255,.95)) drop-shadow(0 14px 25px rgba(6,84,59,.15));animation:splashPulse 2.2s ease-in-out infinite}.splash-stage h1{font-size:clamp(20px,4vw,34px);margin:22px 0 8px}.splash-stage p{margin:0;color:#587267;font-size:clamp(13px,2.2vw,17px)}.loading-dots{display:flex;gap:8px;margin-top:22px}.loading-dots span{width:10px;height:10px;border-radius:50%;background:#b7ead0;animation:dotPulse 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.16s;background:#11b86e}.loading-dots span:nth-child(3){animation-delay:.32s}.splash-orb{position:absolute;border-radius:50%;background:linear-gradient(145deg,#8ef0b8,#11b86e);box-shadow:0 10px 30px rgba(17,184,110,.15);z-index:-1}.orb-a{width:22px;height:22px;top:10%;right:22%}.orb-b{width:10px;height:10px;bottom:17%;left:27%;opacity:.55}@keyframes splashPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 18px #fff) drop-shadow(0 0 32px rgba(255,255,255,.9)) drop-shadow(0 14px 25px rgba(6,84,59,.15))}50%{transform:scale(1.015);filter:drop-shadow(0 0 28px #fff) drop-shadow(0 0 46px #fff) drop-shadow(0 18px 30px rgba(6,84,59,.18))}}@keyframes dotPulse{0%,100%{transform:scale(.78);opacity:.45}50%{transform:scale(1);opacity:1}}
.track-selector{width:min(960px,100%);margin:auto;min-height:100vh;padding:34px 26px 48px;display:flex;flex-direction:column;justify-content:center}.selector-brand{text-align:center}.selector-logo{width:min(290px,66vw);height:auto;margin:0 auto -4px;filter:drop-shadow(0 0 16px #fff) drop-shadow(0 8px 14px rgba(9,95,64,.12))}.selector-brand p{margin:0;color:#20684d;font-weight:800;font-size:13px;letter-spacing:.04em}.selector-copy{text-align:center;margin:28px auto 22px;max-width:680px}.selector-copy h1{font-size:clamp(34px,7vw,58px);margin:3px 0 8px;letter-spacing:-.04em;color:#073f2e}.selector-copy p{font-size:15px;line-height:1.65;color:#60766d;margin:0}.track-cards{display:grid;gap:14px}.track-card{display:grid;grid-template-columns:74px 1fr 44px;align-items:center;gap:16px;padding:18px 20px;border-radius:24px;text-decoration:none;color:#073f2e;background:rgba(255,255,255,.9);border:1px solid rgba(109,199,156,.34);box-shadow:0 13px 36px rgba(14,106,72,.08);transition:.2s ease}.track-card:hover,.track-card:focus-visible{transform:translateY(-2px);box-shadow:0 18px 42px rgba(14,106,72,.14);outline:none}.track-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;font-weight:900;color:#07543b;background:linear-gradient(145deg,#d9f8e8,#a9ecc9)}.track-card-sma .track-icon{background:linear-gradient(145deg,#dff9f1,#b6eee2)}.track-card-smk .track-icon{background:linear-gradient(145deg,#efffd2,#d6f681)}.track-card h2{margin:0 0 3px;font-size:23px}.track-card p{margin:0 0 4px;font-size:13px;color:#526f64}.track-card small{font-size:11px;line-height:1.45;color:#6b7d76}.track-arrow{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#d9f8e8;font-size:22px;font-weight:900}.selector-note{margin:18px auto 0;display:flex;gap:9px;align-items:center;padding:14px 18px;border-radius:18px;background:rgba(220,249,234,.82);border:1px solid #bfe8d2;max-width:760px;font-size:12px}.selector-note span{color:#5d746a}.track-smp{--track-accent:#13a66a}.track-sma{--track-accent:#09a886}.track-smk{--track-accent:#7fa91b}.track-smp .topbar,.track-sma .topbar,.track-smk .topbar{border-top:3px solid var(--track-accent)}
@media(max-width:760px){.track-selector{padding:20px 16px 34px;justify-content:flex-start}.selector-brand{padding-top:10px}.selector-copy{margin:16px auto}.track-card{grid-template-columns:62px 1fr 38px;padding:16px 14px;gap:12px;border-radius:20px}.track-icon{width:56px;height:56px;border-radius:16px}.track-card h2{font-size:20px}.track-card small{display:block}.selector-note{align-items:flex-start;flex-direction:column}.track-switch-link{font-size:9px;padding:7px 9px}.brand-logo{width:44px;height:44px}}
.login-brand-logo{width:72px;height:72px;border-radius:18px}.brand.large .brand-logo{filter:drop-shadow(0 0 14px #fff) drop-shadow(0 8px 18px rgba(5,92,61,.16))}
/* Unified visual QA hardening: explicit logo geometry for browser/PDF renderers */
.splash-logo{width:420px;max-width:76vw;height:auto;max-height:none}
.selector-logo{width:260px;max-width:66vw;height:auto}
@media(max-width:760px){.splash-logo{width:280px;max-width:76vw}.selector-logo{width:220px;max-width:62vw}}
/* Defensive rendering: hidden form controls must never become visible in fallback/print renderers. */
input[type="hidden"]{display:none!important}

/* ========================================================================
   EXOLINK Unified v2.1 — MOCKUP FIDELITY LAYER
   Visual contract: user-approved 8-panel EXOLINK reference board.
   ======================================================================== */
:root{
  --mock-green:#0aa665;--mock-green-dark:#043d2f;--mock-blue:#2f6de1;
  --mock-orange:#ff8a1c;--mock-purple:#7255cc;--mock-teal:#0a9b73;
  --mock-bg:#f7fbf9;--mock-line:#e4ece8;--mock-text:#092f27;--mock-muted:#677b73;
  --mock-shadow:0 10px 30px rgba(24,79,61,.07);--mock-radius:14px;
}
.track-smp{--track-accent:#0baa62;--track-soft:#e8f8ef;--track-deep:#075d3b}
.track-sma{--track-accent:#7354cd;--track-soft:#f1edff;--track-deep:#5036a3}
.track-smk{--track-accent:#07966f;--track-soft:#e6f8f2;--track-deep:#09674f}
html{background:#fff;color:var(--mock-text)}body{background:#fff;color:var(--mock-text)}
.panel,.stat-card,.report-card,.settings-card,.assessment-card{border-color:var(--mock-line);box-shadow:var(--mock-shadow);border-radius:14px}
.btn.primary{background:var(--track-accent,var(--mock-green));border-color:var(--track-accent,var(--mock-green))}.btn.primary:hover{filter:brightness(.93)}
.eyebrow,.text-link{color:var(--track-accent,var(--mock-green))}

/* 1. Splash screen — panel 1 fidelity */
.mockup-splash{background:#003b2c!important;color:#fff;overflow:hidden}
.mockup-splash .splash-stage{position:relative;min-height:100vh;background:linear-gradient(180deg,#003d2d 0%,#07513c 52%,#052e27 100%);color:#fff;padding:38px 24px 28px;justify-content:flex-start;overflow:hidden}
.mockup-splash .splash-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,rgba(33,255,143,.22),transparent 26%),linear-gradient(180deg,transparent 57%,rgba(1,31,25,.55));z-index:-1}
.mockup-splash .splash-photo-layer{position:absolute;left:0;right:0;bottom:0;height:54%;background:url('mockup/splash-panel-reference.png') center bottom/cover no-repeat;mix-blend-mode:screen;opacity:.42;filter:saturate(1.15);z-index:-1}
.mockup-splash .splash-logo{width:310px;max-width:82vw;margin-top:5vh;max-height:330px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.95)) drop-shadow(0 0 22px rgba(70,255,152,.95)) drop-shadow(0 0 46px rgba(11,231,115,.55));animation:splashPulse 2.2s ease-in-out infinite}
.mockup-splash .splash-progress{width:min(160px,42vw);height:6px;border:1px solid rgba(255,255,255,.65);border-radius:99px;padding:1px;margin:22px 0 14px;background:rgba(255,255,255,.08)}
.mockup-splash .splash-progress span{display:block;height:100%;width:68%;border-radius:99px;background:#24f58d;box-shadow:0 0 12px #20f08a;animation:mockLoad 2.2s ease-in-out infinite}
.mockup-splash h1{font-size:18px;margin:0 0 8px;color:#fff}.mockup-splash p{font-size:12px;color:#fff;opacity:.9;max-width:260px;line-height:1.5}
.mockup-splash blockquote{position:absolute;bottom:110px;right:20px;margin:0;font:italic 18px/1.3 Georgia,serif;text-align:right;color:#fff;transform:rotate(-4deg);text-shadow:0 2px 10px rgba(0,0,0,.35)}
.mockup-splash small{position:absolute;bottom:22px;font-size:9px;line-height:1.5;letter-spacing:.03em;color:rgba(255,255,255,.92)}
@keyframes mockLoad{0%{width:10%}70%{width:82%}100%{width:100%}}

/* 2. Track selector — panel 2 fidelity */
.mockup-track-selector-body{background:linear-gradient(180deg,#fff,#fbfffd)!important}
.mockup-track-selector{width:min(560px,100%);padding:24px 18px 30px;justify-content:flex-start}
.mockup-track-selector .selector-brand{text-align:center}.mockup-track-selector .selector-logo{width:230px;max-width:64vw;margin:0 auto 4px;filter:none}
.mockup-track-selector .selector-brand h1{font-size:28px;line-height:1.15;margin:4px 0 6px;color:#075b3d}.mockup-track-selector .selector-brand p{font-weight:500;font-size:12px;color:#708078;letter-spacing:0}
.mockup-track-cards{display:grid;gap:12px;margin-top:20px}.mockup-track-cards .track-card{min-height:120px;grid-template-columns:1fr 44%;padding:18px 0 18px 20px;border-radius:10px;border:1px solid #e0eae5;box-shadow:0 5px 15px rgba(28,65,50,.07);overflow:hidden;position:relative;gap:8px;transform:none}
.mockup-track-cards .track-card-smp{background:linear-gradient(90deg,#e9f5ff,#edf8ff)}
.mockup-track-cards .track-card-sma{background:linear-gradient(90deg,#f3edff,#f5efff)}
.mockup-track-cards .track-card-smk{background:linear-gradient(90deg,#fff3e8,#fff8ef)}
.mockup-track-cards .track-card h2{font-size:22px;margin:0 0 6px}.mockup-track-cards .track-card-smp h2{color:#086b9c}.mockup-track-cards .track-card-sma h2{color:#6642ad}.mockup-track-cards .track-card-smk h2{color:#d7640b}
.mockup-track-cards .track-card p{font-size:11px;line-height:1.45;color:#1d4c3d;margin:0;max-width:220px}.mockup-track-cards .track-card img{width:100%;height:112px;object-fit:cover;object-position:70% center;align-self:end;border-radius:10px 0 0 10px;mix-blend-mode:multiply}
.mockup-track-cards .track-arrow{display:none}.selector-motto{text-align:center;color:#14744e;font-style:italic;font-weight:700;font-size:11px;margin:22px 0 0}

/* 3. Login — panel 3 fidelity */
.login-body{min-height:100vh;background:#fff!important}
.mockup-login-shell{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:radial-gradient(circle at 50% 15%,#f8fffb,#fff 52%)}
.mockup-login-panel{width:min(420px,100%);text-align:center}.mockup-login-logo{width:220px;max-width:64vw;height:auto;display:block;margin:0 auto 18px;filter:none}.mockup-login-panel h1{font-size:26px;margin:0 0 5px}.mockup-login-panel>p{color:var(--mock-muted);font-size:12px;margin:0 0 18px}.mockup-login-form{display:grid;gap:10px;text-align:left}
.mockup-login-form>label{height:46px;border:1px solid #dfe8e4;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#fff}.mockup-login-form>label:focus-within{border-color:var(--track-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--track-accent) 12%,transparent)}
.mockup-login-form>label>span{color:#698078;font-size:15px}.mockup-login-form input:not([type=checkbox]){border:0;outline:0;flex:1;font-size:12px;padding:0}.password-eye{border:0;background:transparent;color:#60766d;cursor:pointer}
.login-options{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#556b62;margin:1px 0 4px}.login-options .remember{display:flex;align-items:center;gap:5px}.login-options a,.register-hint a,.login-back{color:#1870c9}.mockup-login-submit{height:44px;border-radius:8px;font-size:12px}
.login-divider{display:flex;align-items:center;gap:12px;color:#72837c;font-size:10px;margin:16px 0}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e4ebe7;flex:1}.google-login{width:100%;height:42px;border:1px solid #dde6e2;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;color:#273e35}.google-login.is-disabled{opacity:.55;cursor:not-allowed}.register-hint{font-size:10px!important;margin:17px 0 10px!important}.login-back{font-size:10px;display:inline-block}.demo-hint{font-size:9px!important;color:#95a49e!important;margin:12px 0!important}

/* 4. Role selector — panel 4 fidelity */
.role-selector-body{min-height:100vh;background:#fff}.role-selector-shell{width:min(560px,100%);margin:auto;min-height:100vh;padding:28px 18px 32px}.role-selector-brand{text-align:center}.role-selector-brand img{width:120px;height:auto;margin-bottom:12px}.role-selector-brand h1{font-size:25px;margin:0 0 6px}.role-selector-brand p{font-size:11px;color:#71827a;margin:0}.role-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.role-choice{min-height:115px;border:1px solid #e3ebe7;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;box-shadow:0 5px 16px rgba(29,83,65,.04);font-size:10px;text-align:center;padding:12px}.role-choice:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--track-accent) 38%,#e3ebe7)}.role-choice-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--track-soft);color:var(--track-accent)}.role-choice:nth-child(2) .role-choice-icon{background:#fff0e5;color:#e66c1b}.role-choice:nth-child(3) .role-choice-icon{background:#f1ecff;color:#7451c5}.role-back{font-size:11px;color:#2670bb}

/* 5–8. Logged-in shell — exact information hierarchy from mockup */
.app-shell{min-height:100vh;background:#fff}.sidebar{width:220px;padding:14px 10px;background:#fff;border-right:1px solid #e3ebe7;box-shadow:none}.main-column{margin-left:220px;background:#fff}.mockup-brand{height:56px;padding:4px 8px;gap:8px}.mockup-brand .brand-logo{width:42px;height:42px;border-radius:0;filter:none}.mockup-brand strong{font-size:14px;line-height:1}.mockup-brand small{font-size:12px;color:var(--track-accent);font-weight:800;margin-top:2px}.nav-list{margin-top:12px;gap:2px}.nav-item{padding:9px 10px;border-radius:6px;font-size:11px;color:#24483d;font-weight:620}.nav-item.active{background:var(--track-accent);color:#fff}.nav-item:hover{background:var(--track-soft);color:var(--track-deep)}.nav-item.active:hover{background:var(--track-accent);color:#fff}.sidebar-logout{margin-top:auto;display:flex;align-items:center;gap:8px;color:#e44b4b;font-size:11px;padding:10px}
.topbar{height:58px;background:#fff;backdrop-filter:none;padding:0 18px;border-bottom:1px solid #e5ece8;position:sticky}.topbar-search{height:34px;flex:1;max-width:430px;border:1px solid #e1e9e5;border-radius:6px;background:#f7f9f8;display:flex;align-items:center;gap:7px;padding:0 10px;color:#71827a}.topbar-search input{border:0;outline:0;background:transparent;flex:1;font-size:10px;color:#2c463d}.topbar-actions{gap:8px;margin-left:auto}.topbar-icon,.topbar-menu{width:32px;height:32px;border:0;background:transparent;display:grid;place-items:center;color:#1c4b3c;position:relative}.notification-dot{position:absolute;width:6px;height:6px;background:#f05d58;border-radius:50%;right:6px;top:5px}.user-top-card{display:flex;align-items:center;gap:7px;padding-left:5px}.avatar.small{width:30px;height:30px;border-radius:50%;font-size:10px;background:var(--track-accent)}.user-top-card b,.user-top-card small{display:block;white-space:nowrap}.user-top-card b{font-size:10px}.user-top-card small{font-size:8px;color:#6f8179}.content{padding:12px 14px 28px;max-width:none}.footer{display:none}
.track-sma .topbar,.track-smk .topbar,.track-smp .topbar{border-top:0}

/* student dashboard */
.mockup-hero{height:138px;border-radius:10px;background:linear-gradient(100deg,var(--track-soft),#fff);border:1px solid #e0ebe6;overflow:hidden;display:grid;grid-template-columns:1fr 210px;align-items:stretch;position:relative}.student-hero-copy{padding:18px 20px;z-index:1}.student-hero-copy h2{font-size:24px;margin:0 0 5px}.student-hero-copy h2 span{font-size:18px}.student-hero-copy p{font-size:11px;margin:0 0 12px;color:#345d4d}.student-hero-copy blockquote{margin:0;color:#0b6746;font:italic 13px/1.5 Georgia,serif;max-width:360px}.mockup-hero img{width:210px;height:138px;object-fit:cover;object-position:70% center;justify-self:end;mix-blend-mode:multiply}.mockup-main-title{display:none}.student-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.student-quick-card{min-height:76px;border:1px solid #e4ebe8;border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;background:#fff;box-shadow:0 3px 12px rgba(34,81,65,.04)}.student-quick-icon{grid-row:1/3;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:#e7f8ef;color:#0aa665}.student-quick-card:nth-child(2) .student-quick-icon{background:#eef0ff;color:#6070df}.student-quick-card:nth-child(3) .student-quick-icon{background:#fff0e3;color:#f1871d}.student-quick-card:nth-child(4) .student-quick-icon{background:#e8f2ff;color:#2874d9}.student-quick-card strong{font-size:10px}.student-quick-card small{font-size:8px;color:#71827a}.mockup-section{margin-top:13px}.section-title-row{display:flex;align-items:center;justify-content:space-between}.mockup-section h3{font-size:12px;margin:0 0 8px}.section-title-row a{font-size:9px;color:#2670bb;font-weight:700}.development-mini-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.development-mini-grid article{min-height:78px;border:1px solid #e4ebe8;border-radius:8px;padding:8px;background:#fff;display:flex;flex-direction:column}.development-mini-grid article>span{color:var(--track-accent);margin-bottom:5px}.development-mini-grid b{font-size:9px}.development-mini-grid small{font-size:8px;color:#526e63;margin:2px 0 7px}.development-mini-grid i{height:4px;background:#e9efec;border-radius:99px;margin-top:auto;overflow:hidden}.development-mini-grid em{height:100%;display:block;background:#12b765;border-radius:99px}.counselor-message{margin-top:13px;border:1px solid #e4ebe8;border-radius:8px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;background:#fff}.message-avatar{width:32px;height:32px;border-radius:50%;background:#dff3e8;color:#0a774c;display:grid;place-items:center;font-size:9px;font-weight:800}.counselor-message b{font-size:10px}.counselor-message p{font-size:8.5px;margin:3px 0;color:#415e54}.counselor-message small{font-size:7.5px;color:#899790}.interest-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border:1px solid #e5ece9;border-radius:8px;padding:10px}.interest-bar>div{position:relative;padding-bottom:8px}.interest-bar b,.interest-bar strong{font-size:9px}.interest-bar strong{float:right;color:var(--track-accent)}.interest-bar i{position:absolute;bottom:0;left:0;width:var(--v);height:4px;background:var(--track-accent);border-radius:99px}.step-line{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border:1px solid #e5ece9;border-radius:8px;padding:12px 10px}.step-line span{font-size:9px;text-align:center;position:relative;color:#60756d}.step-line span:before{content:"";display:block;width:20px;height:20px;border-radius:50%;background:#edf2ef;border:2px solid #d8e3de;margin:0 auto 5px}.step-line span.done:before{background:var(--track-accent);border-color:var(--track-accent);box-shadow:inset 0 0 0 5px #fff}.step-line span small{display:block;font-size:7px;color:#8a9792;margin-top:2px}.transition-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.transition-grid article{border:1px solid #e5ece9;border-radius:8px;padding:10px 7px;text-align:center}.transition-grid b{display:block;font-size:9px}.transition-grid strong{font-size:10px;color:var(--track-accent)}.dashboard-quote{margin-top:13px;border-radius:8px;background:linear-gradient(90deg,#edf8f2,#eaf4ff);padding:10px;text-align:center;color:#176b4e;font:italic 11px Georgia,serif}

/* restyle existing feature pages to stay in same design language */
.page-intro{margin-bottom:10px;align-items:center}.page-intro h2{font-size:19px;margin:2px 0 4px}.page-intro p{font-size:10px}.panel{padding:14px}.two-col{gap:10px;margin-top:10px}.stat-grid{gap:9px;margin-top:10px}.stat-card{padding:12px}.assessment-card{padding:18px}.form-stack label{font-size:10px}.form-stack input,.form-stack select,.form-stack textarea{font-size:11px;border-radius:7px}.data-table th{font-size:8px}.data-table td{font-size:9px}.welcome-card{border-radius:10px;padding:17px}.welcome-card h2{font-size:20px}.report-card,.settings-card{border-radius:10px}

/* mobile student dashboard — panel 5 fidelity */
.mobile-brand{align-items:center;gap:5px;min-height:44px}.mobile-brand img{width:42px;height:42px;object-fit:contain}.mobile-brand strong{font-size:12px;line-height:.9}.mobile-brand strong span{font-size:10px;color:var(--track-accent)}
@media(max-width:760px){
  .sidebar{transform:translateX(-105%);transition:.2s ease;width:240px;box-shadow:0 18px 45px rgba(15,60,45,.16)}.sidebar.open{transform:translateX(0)}.main-column{margin-left:0}.topbar{height:62px;padding:0 12px}.mobile-only{display:flex}.topbar .icon-button.mobile-only{order:4;margin-left:0;border:0}.mobile-brand{display:flex!important;order:1}.topbar-search{display:none}.topbar-actions{order:3;margin-left:auto}.topbar-actions .user-top-card span:last-child,.topbar-actions .topbar-icon:first-child,.topbar-actions .topbar-menu{display:none}.content{padding:10px 12px 24px}.role-student .content{padding-top:9px}.role-student .mockup-hero{height:126px;grid-template-columns:1fr 125px;border-radius:9px}.role-student .student-hero-copy{padding:13px 12px}.role-student .student-hero-copy h2{font-size:18px}.role-student .student-hero-copy p{font-size:9px}.role-student .student-hero-copy blockquote{font-size:10px;line-height:1.4}.role-student .mockup-hero img{width:125px;height:126px}.mockup-main-title{display:block;margin:13px 0 7px}.mockup-main-title h3{font-size:12px;margin:0}.student-quick-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:0}.student-quick-card{min-height:94px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:11px}.student-quick-icon{width:32px;height:32px;margin-bottom:7px}.student-quick-card strong{font-size:11px}.student-quick-card small{font-size:8px}.development-mini-grid{grid-template-columns:repeat(2,1fr)}.development-mini-grid article:nth-child(5){grid-column:1/-1}.interest-bar{grid-template-columns:repeat(2,1fr);gap:10px}.step-line{grid-template-columns:repeat(2,1fr);gap:12px}.transition-grid{grid-template-columns:repeat(2,1fr)}.transition-grid article:last-child{grid-column:1/-1}.counselor-message{display:none}.dashboard-quote{margin-top:12px;padding:13px;font-size:10px}.page-intro{align-items:flex-start}.page-intro .button-row{margin-top:8px}.two-col,.student-summary-grid,.stat-grid{grid-template-columns:1fr}.mockup-track-selector .selector-brand h1{font-size:24px}.mockup-track-cards .track-card{grid-template-columns:1fr 42%;min-height:118px}.mockup-track-cards .track-card p{font-size:10px}.role-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:360px){.mockup-track-cards .track-card{grid-template-columns:1.1fr .9fr;padding-left:14px}.mockup-track-cards .track-card h2{font-size:19px}.student-quick-card{min-height:88px}.role-student .student-hero-copy blockquote{font-size:9px}.role-selector-shell{padding-left:12px;padding-right:12px}}
@media(min-width:1000px){
  .sidebar{width:250px;padding:18px 12px}.main-column{margin-left:250px}.mockup-brand{height:66px}.mockup-brand .brand-logo{width:50px;height:50px}.mockup-brand strong{font-size:17px}.mockup-brand small{font-size:13px}.nav-list{margin-top:15px;gap:4px}.nav-item{font-size:13px;padding:11px 12px;border-radius:7px}.sidebar-logout{font-size:13px;padding:12px}.topbar{height:70px;padding:0 24px}.topbar-search{height:40px;max-width:520px}.topbar-search input{font-size:12px}.topbar-icon,.topbar-menu{width:38px;height:38px}.avatar.small{width:36px;height:36px;font-size:12px}.user-top-card b{font-size:12px}.user-top-card small{font-size:10px}.content{padding:18px 22px 34px;max-width:1320px;margin:0 auto;width:100%}
  .mockup-hero{height:190px;grid-template-columns:1fr 300px}.student-hero-copy{padding:26px 28px}.student-hero-copy h2{font-size:31px;margin-bottom:7px}.student-hero-copy p{font-size:14px;margin-bottom:16px}.student-hero-copy blockquote{font-size:17px;max-width:520px}.mockup-hero img{width:300px;height:190px}
  .student-quick-grid{gap:12px;margin-top:14px}.student-quick-card{min-height:105px;padding:15px 17px;grid-template-columns:46px 1fr;column-gap:12px;border-radius:10px}.student-quick-icon{width:44px;height:44px;border-radius:10px}.student-quick-card strong{font-size:13px}.student-quick-card small{font-size:10px}.mockup-section{margin-top:18px}.mockup-section h3{font-size:15px;margin-bottom:11px}.section-title-row a{font-size:11px}.development-mini-grid{gap:11px}.development-mini-grid article{min-height:108px;padding:13px;border-radius:10px}.development-mini-grid b{font-size:12px}.development-mini-grid small{font-size:10px}.development-mini-grid i{height:6px}.counselor-message{padding:14px 16px;gap:12px}.message-avatar{width:40px;height:40px}.counselor-message b{font-size:13px}.counselor-message p{font-size:11px}.counselor-message small{font-size:9px}.interest-bar{padding:15px 14px}.interest-bar b,.interest-bar strong{font-size:12px}.interest-bar i{height:6px}.step-line{padding:16px 12px}.step-line span{font-size:12px}.step-line span:before{width:26px;height:26px}.step-line span small{font-size:9px}.transition-grid{gap:11px}.transition-grid article{padding:14px 9px}.transition-grid b{font-size:12px}.transition-grid strong{font-size:13px}.dashboard-quote{font-size:14px;padding:14px}
  .page-intro h2{font-size:26px}.page-intro p{font-size:12px}.panel{padding:20px}.form-stack label{font-size:12px}.form-stack input,.form-stack select,.form-stack textarea{font-size:13px}.data-table th{font-size:10px}.data-table td{font-size:11px}
}
/* Splash fidelity correction: use only the approved lower student scene, avoiding duplicated logo/loading copy. */
.mockup-splash .splash-photo-layer{height:52%;background-image:url('mockup/splash-students-reference.png');background-position:center bottom;background-size:100% auto;background-repeat:no-repeat;mix-blend-mode:normal;opacity:.92;filter:saturate(1.05)}
.mockup-splash blockquote,.mockup-splash small{display:none}

/* P8 UI/UX assurance repairs — preserve mockup visual language while improving interaction ergonomics. */
.mockup-login-form>label{min-height:48px}
.mockup-login-form>label>input{height:100%;min-height:44px}
.password-eye{width:40px!important;height:40px!important;min-width:40px;border:0;background:transparent;border-radius:8px;cursor:pointer}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.searchbox input{min-height:40px}
@media(max-width:760px){
  .topbar{min-height:64px}
  .topbar-icon,.topbar-menu,.topbar .icon-button.mobile-only{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
  .mockup-login-submit,.google-login{min-height:46px}
  .student-quick-card{min-height:96px}
  .form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea{min-height:44px}
}
/* P8 contrast repair: deep brand tones for small text and filled controls; bright accents remain decorative/progress. */
.track-smp{--track-action:#08754c}
.track-sma{--track-action:#08754c}
.track-smk{--track-action:#067457}
.nav-item.active,.nav-item.active:hover,.btn.primary{background:var(--track-action,var(--track-deep));border-color:var(--track-action,var(--track-deep));color:#fff}
.eyebrow,.text-link,.mockup-brand small,.section-title-row a{color:var(--track-deep,#075d3b)}
.interest-bar strong,.transition-grid strong{color:var(--track-deep,#075d3b)}

/* ========================================================================
   EXOLINK Unified v2.2 — Smooth visual system
   Goal: reproduce the mockup's soft gradients, depth, translucent surfaces,
   image blending and gentle interaction motion without changing information
   architecture or role/track behavior.
   ======================================================================== */
:root{
  --smooth-shadow-1:0 5px 16px rgba(18,77,58,.055),0 1px 2px rgba(18,77,58,.03);
  --smooth-shadow-2:0 12px 34px rgba(18,77,58,.085),0 3px 8px rgba(18,77,58,.04);
  --smooth-shadow-3:0 22px 55px rgba(18,77,58,.13),0 6px 18px rgba(18,77,58,.055);
  --smooth-border:rgba(128,170,154,.22);
  --smooth-white:rgba(255,255,255,.88);
  --smooth-glass:rgba(255,255,255,.72);
  --smooth-ease:cubic-bezier(.2,.8,.2,1);
}
.track-smp{--track-rgb:11,170,98;--track-glow:#dff8eb;--track-glow-2:#e9f6ff;--track-action-grad:linear-gradient(135deg,#0ab168 0%,#08764c 100%)}
.track-sma{--track-rgb:11,170,98;--track-glow:#dff8eb;--track-glow-2:#e9f8f1;--track-action-grad:linear-gradient(135deg,#0ab168 0%,#08764c 100%)}
.track-smk{--track-rgb:7,150,111;--track-glow:#e1f8f0;--track-glow-2:#fff0df;--track-action-grad:linear-gradient(135deg,#11ad7d 0%,#087157 100%)}

html{scroll-behavior:smooth;background:#f8fcfa}
body{background:#f8fcfa}
button,a,input,select,textarea{transition:border-color .2s var(--smooth-ease),box-shadow .2s var(--smooth-ease),background-color .2s var(--smooth-ease),color .2s var(--smooth-ease),transform .2s var(--smooth-ease),filter .2s var(--smooth-ease)}

/* public screens: ambient gradient field */
.mockup-track-selector-body,.login-body,.role-selector-body{
  position:relative;isolation:isolate;overflow-x:hidden;
  background:
    radial-gradient(55rem 28rem at -8% -8%,rgba(65,224,146,.15),transparent 62%),
    radial-gradient(42rem 26rem at 108% 7%,rgba(99,214,253,.11),transparent 62%),
    linear-gradient(180deg,#fbfffd 0%,#fff 45%,#f8fcfa 100%)!important;
}
.mockup-track-selector-body:before,.login-body:before,.role-selector-body:before,
.mockup-track-selector-body:after,.login-body:after,.role-selector-body:after{
  content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.9;
}
.mockup-track-selector-body:before,.login-body:before,.role-selector-body:before{width:300px;height:300px;left:-150px;bottom:-80px;background:radial-gradient(circle,rgba(32,211,126,.16),rgba(32,211,126,0) 70%)}
.mockup-track-selector-body:after,.login-body:after,.role-selector-body:after{width:260px;height:260px;right:-130px;top:22%;background:radial-gradient(circle,rgba(65,179,255,.10),rgba(65,179,255,0) 72%)}

/* splash: brighter edge glow and depth while keeping approved imagery */
.mockup-splash .splash-stage{
  background:
    radial-gradient(ellipse at 50% 20%,rgba(54,255,153,.19),transparent 27%),
    radial-gradient(ellipse at 82% 42%,rgba(13,214,147,.10),transparent 30%),
    linear-gradient(180deg,#003628 0%,#07533e 50%,#042e27 100%);
}
.mockup-splash .splash-stage:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.045),transparent 27%,transparent 70%,rgba(255,255,255,.035));mix-blend-mode:screen}
.mockup-splash .splash-logo{filter:drop-shadow(0 0 8px rgba(255,255,255,.98)) drop-shadow(0 0 19px rgba(66,255,157,.88)) drop-shadow(0 14px 30px rgba(0,0,0,.20));}
.mockup-splash .splash-progress{box-shadow:inset 0 1px 4px rgba(0,0,0,.28),0 0 18px rgba(43,243,142,.12)}

/* selector */
.mockup-track-selector{position:relative;padding-top:30px}
.mockup-track-selector .selector-logo{filter:drop-shadow(0 10px 20px rgba(12,94,60,.09))}
.mockup-track-selector .selector-brand h1{letter-spacing:-.025em;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.mockup-track-cards{gap:14px}
.mockup-track-cards .track-card{
  border:1px solid rgba(115,163,144,.19);border-radius:16px;
  box-shadow:var(--smooth-shadow-2);backdrop-filter:blur(8px);
  transition:transform .24s var(--smooth-ease),box-shadow .24s var(--smooth-ease),border-color .24s var(--smooth-ease),filter .24s var(--smooth-ease);
}
.mockup-track-cards .track-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.24) 48%,rgba(255,255,255,.08) 100%);opacity:.62}
.mockup-track-cards .track-card>*{position:relative;z-index:1}
.mockup-track-cards .track-card-smp{background:radial-gradient(circle at 92% 20%,rgba(95,205,255,.34),transparent 40%),linear-gradient(100deg,#eaf7ff 0%,#f5fbff 45%,#e9f8f1 100%)}
.mockup-track-cards .track-card-sma{background:radial-gradient(circle at 92% 18%,rgba(177,143,255,.32),transparent 42%),linear-gradient(100deg,#f4efff 0%,#faf7ff 44%,#f5efff 100%)}
.mockup-track-cards .track-card-smk{background:radial-gradient(circle at 92% 16%,rgba(255,185,99,.30),transparent 42%),linear-gradient(100deg,#fff4e9 0%,#fffbf5 44%,#f1fbf5 100%)}
.mockup-track-cards .track-card:hover,.mockup-track-cards .track-card:focus-visible{transform:translateY(-3px) scale(1.006);box-shadow:var(--smooth-shadow-3);border-color:rgba(67,144,113,.27);filter:saturate(1.03)}
.mockup-track-cards .track-card img{mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 22%,#000 100%);filter:saturate(1.04) contrast(1.02)}
.selector-motto{padding:9px 16px;border-radius:999px;background:rgba(234,249,240,.68);border:1px solid rgba(77,166,126,.14);box-shadow:0 8px 24px rgba(19,94,63,.05)}

/* login */
.mockup-login-shell{background:transparent}
.mockup-login-panel{padding:30px 30px 26px;border-radius:24px;background:rgba(255,255,255,.80);border:1px solid rgba(133,173,157,.20);box-shadow:0 26px 70px rgba(20,78,59,.105);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.mockup-login-logo{filter:drop-shadow(0 12px 20px rgba(12,90,57,.10))}
.mockup-login-form>label{background:rgba(255,255,255,.82);border-color:rgba(111,153,137,.25);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 3px 11px rgba(24,77,59,.035)}
.mockup-login-form>label:focus-within{background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--track-accent) 10%,transparent),0 7px 18px rgba(24,77,59,.055)}
.mockup-login-submit,.btn.primary{background:var(--track-action-grad,linear-gradient(135deg,#18af70,#08754c));box-shadow:0 8px 18px rgba(var(--track-rgb,11,170,98),.20);border:0}
.mockup-login-submit:hover,.btn.primary:hover{filter:brightness(1.02) saturate(1.05);transform:translateY(-1px);box-shadow:0 11px 24px rgba(var(--track-rgb,11,170,98),.25)}
.google-login{background:rgba(255,255,255,.76);box-shadow:0 4px 14px rgba(24,77,59,.035)}

/* role picker */
.role-selector-shell{position:relative}
.role-selector-brand img{filter:drop-shadow(0 10px 18px rgba(11,102,64,.10))}
.role-card-grid{gap:14px}
.role-choice{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(249,253,251,.82));border-color:rgba(113,157,140,.20);box-shadow:var(--smooth-shadow-1)}
.role-choice:before{content:"";position:absolute;inset:-40% auto auto -25%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(var(--track-rgb,11,170,98),.12),transparent 70%);pointer-events:none}
.role-choice:hover,.role-choice:focus-visible{transform:translateY(-3px);box-shadow:var(--smooth-shadow-2);border-color:rgba(var(--track-rgb,11,170,98),.32);background:#fff}
.role-choice-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.75),0 7px 18px rgba(var(--track-rgb,11,170,98),.12)}

/* logged-in shell: gentle colored canvas + glassy chrome */
.app-shell{background:
  radial-gradient(34rem 26rem at 84% -6%,rgba(var(--track-rgb,11,170,98),.095),transparent 68%),
  radial-gradient(24rem 22rem at 29% 102%,rgba(var(--track-rgb,11,170,98),.045),transparent 72%),
  linear-gradient(180deg,#fbfefc 0%,#f7fbf9 100%)}
.sidebar{background:rgba(255,255,255,.90);border-right:1px solid rgba(125,164,149,.18);box-shadow:9px 0 34px rgba(18,67,51,.035);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.main-column{background:transparent}
.topbar{background:rgba(255,255,255,.76);border-bottom:1px solid rgba(125,164,149,.16);box-shadow:0 7px 24px rgba(23,78,60,.035);backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15)}
.topbar-search{background:rgba(248,252,250,.80);border-color:rgba(127,166,151,.20);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.topbar-search:focus-within{background:#fff;border-color:rgba(var(--track-rgb,11,170,98),.35);box-shadow:0 0 0 4px rgba(var(--track-rgb,11,170,98),.07)}
.avatar.small{background:var(--track-action-grad);box-shadow:0 6px 14px rgba(var(--track-rgb,11,170,98),.18)}
.mockup-brand .brand-logo{filter:drop-shadow(0 5px 8px rgba(11,102,64,.08))}
.nav-item{position:relative;overflow:hidden}
.nav-item.active{background:var(--track-action-grad);box-shadow:0 6px 14px rgba(var(--track-rgb,11,170,98),.17)}
.nav-item:hover:not(.active){background:linear-gradient(90deg,var(--track-soft),rgba(255,255,255,.72));transform:translateX(2px)}
.content{position:relative}

/* hero cards: multi-layer gradient + softly blended image */
.mockup-hero{border-radius:16px;border:1px solid rgba(115,163,144,.19);box-shadow:var(--smooth-shadow-2);background:
  radial-gradient(circle at 12% 10%,rgba(255,255,255,.92),transparent 32%),
  radial-gradient(circle at 75% 45%,rgba(var(--track-rgb,11,170,98),.10),transparent 45%),
  linear-gradient(105deg,var(--track-soft) 0%,rgba(255,255,255,.97) 60%,var(--track-glow-2,#f4fbf7) 100%)}
.mockup-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.15),transparent 38%,rgba(255,255,255,.22));}
.mockup-hero img{position:relative;z-index:0;mix-blend-mode:normal;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.9) 24%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.9) 24%,#000 100%);filter:saturate(1.02) contrast(1.01)}
.student-hero-copy{position:relative;z-index:2}
.student-hero-copy h2{letter-spacing:-.025em}
.student-hero-copy blockquote{text-shadow:0 1px 0 rgba(255,255,255,.7)}

/* white cards become soft gradient surfaces */
.student-quick-card,.development-mini-grid article,.counselor-message,.interest-bar,.step-line,.transition-grid article,
.panel,.stat-card,.report-card,.settings-card,.assessment-card,.monitor-card,.welcome-card,.domain-card{
  border-color:rgba(119,160,144,.18);
  box-shadow:var(--smooth-shadow-1);
  background:linear-gradient(145deg,rgba(255,255,255,.96) 0%,rgba(249,253,251,.90) 100%);
}
.student-quick-card{position:relative;overflow:hidden}
.student-quick-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 0%,rgba(var(--track-rgb,11,170,98),.055),transparent 45%)}
.student-quick-card>*{position:relative;z-index:1}
.student-quick-card:hover,.student-quick-card:focus-visible{transform:translateY(-2px);box-shadow:var(--smooth-shadow-2);border-color:rgba(var(--track-rgb,11,170,98),.27);background:#fff}
.student-quick-icon{box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 7px 16px rgba(22,76,59,.08)}
.development-mini-grid article:hover,.transition-grid article:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(22,76,59,.075)}
.development-mini-grid i,.bar{background:linear-gradient(90deg,#edf3f0,#e6efeb)}
.development-mini-grid em,.bar i,.interest-bar i{background:linear-gradient(90deg,color-mix(in srgb,var(--track-accent) 75%,#7ce0aa),var(--track-accent));box-shadow:0 0 8px rgba(var(--track-rgb,11,170,98),.18)}
.counselor-message{background:linear-gradient(105deg,rgba(255,255,255,.98),rgba(var(--track-rgb,11,170,98),.045))}
.dashboard-quote{border:1px solid rgba(var(--track-rgb,11,170,98),.10);background:linear-gradient(95deg,rgba(var(--track-rgb,11,170,98),.08),rgba(111,190,255,.09));box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}

/* generic content panels keep the same visual language */
.page-intro h2{letter-spacing:-.025em}
.panel:hover,.stat-card:hover,.report-card:hover,.settings-card:hover{box-shadow:var(--smooth-shadow-2)}
.stat-icon,.domain-icon,.monitor-icon,.report-icon{background:linear-gradient(145deg,var(--track-soft),rgba(255,255,255,.95));box-shadow:inset 0 0 0 1px rgba(var(--track-rgb,11,170,98),.08)}
.badge{border:1px solid rgba(255,255,255,.55);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.answer-option{transition:transform .18s var(--smooth-ease),box-shadow .18s var(--smooth-ease),border-color .18s var(--smooth-ease),background .18s var(--smooth-ease)}
.answer-option:hover{transform:translateY(-1px);box-shadow:var(--smooth-shadow-1)}
.answer-option.selected{box-shadow:0 0 0 3px rgba(var(--track-rgb,11,170,98),.07),var(--smooth-shadow-1)}
.form-stack input,.form-stack select,.form-stack textarea,.searchbox,.filter-chip{background:rgba(255,255,255,.82);border-color:rgba(119,160,144,.22)}
.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{outline:0;border-color:rgba(var(--track-rgb,11,170,98),.42);box-shadow:0 0 0 4px rgba(var(--track-rgb,11,170,98),.075)}

/* mobile: softer ambient canvas and rounded surfaces */
@media(max-width:760px){
  .app-shell{background:radial-gradient(28rem 18rem at 100% 0%,rgba(var(--track-rgb,11,170,98),.10),transparent 65%),linear-gradient(180deg,#fbfefc,#f5faf7)}
  .topbar{background:rgba(255,255,255,.82);box-shadow:0 4px 18px rgba(23,78,60,.045)}
  .content{padding-left:13px;padding-right:13px}
  .role-student .mockup-hero{border-radius:15px;box-shadow:0 10px 26px rgba(20,78,59,.075)}
  .student-quick-card{border-radius:13px;box-shadow:0 6px 18px rgba(22,76,59,.055)}
  .development-mini-grid article{border-radius:12px}
  .mockup-track-cards .track-card{border-radius:15px}
  .role-choice{border-radius:15px}
  .mockup-login-panel{padding:24px 18px 22px;border-radius:20px;box-shadow:0 20px 50px rgba(20,78,59,.09)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* =========================================================
   v2.3.0 — Ergonomic Brand Integration
   Visual rule: the EXOLINK mark must float in the ambient
   background, never appear inside a white image rectangle.
   ========================================================= */
:root{
  --brand-halo:rgba(255,255,255,.92);
  --brand-green-halo:rgba(65,255,157,.34);
  --surface-border:rgba(111,154,137,.16);
  --surface-shadow:0 10px 30px rgba(20,74,56,.055);
  --surface-shadow-hover:0 16px 38px rgba(20,74,56,.09);
}

/* Brand lockups: transparent art, ambient halo only */
.selector-logo,.mockup-login-logo,.role-selector-brand img,.mockup-brand .brand-logo,.splash-logo{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:contain;
}
.selector-logo,.mockup-login-logo,.role-selector-brand img{
  filter:drop-shadow(0 0 10px rgba(255,255,255,.96)) drop-shadow(0 8px 20px rgba(13,100,65,.11));
}
.selector-brand,.role-selector-brand,.mockup-login-panel{isolation:isolate}
.selector-brand:before,.role-selector-brand:before,.mockup-login-panel:before{
  content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%;
  background:radial-gradient(circle,rgba(90,239,159,.13) 0%,rgba(90,239,159,.055) 34%,transparent 72%);
  filter:blur(1px)
}
.selector-brand{position:relative}
.selector-brand:before{width:310px;height:190px;left:50%;top:-28px;transform:translateX(-50%)}
.role-selector-brand{position:relative}
.role-selector-brand:before{width:240px;height:150px;left:50%;top:-24px;transform:translateX(-50%)}
.mockup-login-panel:before{width:280px;height:180px;left:50%;top:-65px;transform:translateX(-50%)}

/* Splash: logo is part of the background atmosphere, not a card */
.mockup-splash .splash-stage{
  background:
    radial-gradient(38rem 24rem at 50% 21%,rgba(32,255,139,.17),transparent 60%),
    radial-gradient(28rem 18rem at 50% 25%,rgba(255,255,255,.09),transparent 63%),
    linear-gradient(180deg,#00372b 0%,#07513e 51%,#062f27 100%);
}
.mockup-splash .splash-logo{
  width:min(300px,72vw);margin-top:4.5vh;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.98)) drop-shadow(0 0 20px rgba(255,255,255,.75)) drop-shadow(0 0 34px rgba(43,255,143,.43)) drop-shadow(0 16px 32px rgba(0,0,0,.18));
}
.mockup-splash .splash-photo-layer{opacity:.86;filter:saturate(1.02) contrast(1.01)}

/* Selector: reduce brand footprint so decision content enters first viewport */
.mockup-track-selector{padding-top:18px;max-width:540px}
.mockup-track-selector .selector-logo{width:176px;max-width:48vw;margin:0 auto -3px}
.mockup-track-selector .selector-brand h1{font-size:25px;margin-top:0}
.mockup-track-selector .selector-brand p{max-width:390px;margin-inline:auto;line-height:1.45}
.mockup-track-cards{margin-top:15px;gap:11px}
.mockup-track-cards .track-card{
  min-height:110px;padding:15px 0 15px 17px;border-radius:16px;
  border-color:rgba(103,157,136,.16);box-shadow:var(--surface-shadow);
}
.mockup-track-cards .track-card:hover,.mockup-track-cards .track-card:focus-visible{box-shadow:var(--surface-shadow-hover)}
.mockup-track-cards .track-card img{height:104px;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 16%,#000 34%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.72) 16%,#000 34%,#000 100%)}
.selector-motto{margin-top:14px;background:rgba(238,251,244,.55);box-shadow:none}

/* Login and role selector: smaller lockup, more action-oriented vertical rhythm */
.mockup-login-logo{width:154px!important;max-width:48vw!important;margin-bottom:4px!important}
.mockup-login-panel{position:relative;padding-top:22px!important}
.role-selector-brand img{width:96px!important;margin-bottom:7px!important}
.role-selector-shell{padding-top:22px}
.role-card-grid{margin-top:18px;gap:10px}
.role-choice{min-height:106px;border-radius:15px;box-shadow:0 7px 22px rgba(20,74,56,.045)}

/* Cards: reduce visual noise. Elevation communicates action priority only. */
.student-quick-card,.development-mini-grid article,.transition-grid article,.panel,.stat-card,.report-card,.settings-card,.assessment-card,.monitor-card,.domain-card{
  box-shadow:0 6px 20px rgba(20,74,56,.042);
}
.student-quick-card:hover,.student-quick-card:focus-visible,.panel:hover,.stat-card:hover,.report-card:hover,.settings-card:hover{
  box-shadow:0 12px 30px rgba(20,74,56,.075);
}

/* Student hierarchy: actions first, development state second. Progress bars are secondary. */
.student-quick-card{border-color:rgba(var(--track-rgb,11,170,98),.15)}
.student-quick-card strong{color:#123f31}
.mockup-section .section-title-row h3,.mockup-section>h3{letter-spacing:-.01em}
.development-mini-grid article{position:relative;min-height:94px}
.development-mini-grid article small{
  display:inline-flex;width:max-content;max-width:100%;padding:3px 7px;border-radius:999px;
  background:rgba(var(--track-rgb,11,170,98),.07);color:color-mix(in srgb,var(--track-accent) 82%,#234);font-weight:700;
}
.development-mini-grid i{opacity:.68;height:4px!important;margin-top:9px}
.development-mini-grid em{box-shadow:none!important}

/* Dashboard prioritization: actionable panels get slightly stronger treatment */
.counselor-message,.dashboard-quote{box-shadow:none}
.counselor-message{border-color:rgba(var(--track-rgb,11,170,98),.13)}
.dashboard-quote{background:linear-gradient(95deg,rgba(var(--track-rgb,11,170,98),.055),rgba(111,190,255,.055))}

/* Desktop density: widen whitespace around major groups instead of equal card emphasis */
@media(min-width:1000px){
  .content{padding-top:24px}
  .student-quick-grid{gap:13px}
  .mockup-section{margin-top:20px}
  .student-quick-card{min-height:100px}
  .development-mini-grid article{min-height:96px}
}

/* Mobile ergonomics: first decision/action visible earlier; 44px minimum targets preserved */
@media(max-width:760px){
  .mockup-track-selector{padding:12px 13px 25px}
  .mockup-track-selector .selector-brand{padding-top:2px}
  .mockup-track-selector .selector-logo{width:142px;max-width:42vw;margin-bottom:-5px}
  .mockup-track-selector .selector-brand h1{font-size:22px;margin:0 0 4px}
  .mockup-track-selector .selector-brand p{font-size:10.5px;line-height:1.35}
  .mockup-track-cards{margin-top:11px;gap:9px}
  .mockup-track-cards .track-card{min-height:103px;padding:12px 0 12px 13px;border-radius:14px;grid-template-columns:1fr 40%}
  .mockup-track-cards .track-card h2{font-size:18px;margin-bottom:3px}
  .mockup-track-cards .track-card p{font-size:9.5px;line-height:1.35}
  .mockup-track-cards .track-card img{height:97px}
  .selector-motto{font-size:9px;margin-top:10px;padding:7px 10px}

  .role-selector-shell{padding-top:16px}
  .role-selector-brand img{width:82px!important;margin-bottom:4px!important}
  .role-selector-brand h1{font-size:22px}
  .role-card-grid{margin-top:14px;gap:9px}
  .role-choice{min-height:96px;padding:10px}

  .mockup-login-logo{width:132px!important}
  .mockup-login-panel{padding-top:19px!important}

  .role-student .mockup-hero{height:118px;grid-template-columns:1fr 116px}
  .role-student .mockup-hero img{width:116px;height:118px}
  .role-student .student-hero-copy{padding:11px 11px}
  .role-student .student-hero-copy h2{font-size:17px}
  .student-quick-grid{gap:7px}
  .student-quick-card{min-height:88px;padding:10px}
  .student-quick-icon{width:31px;height:31px;margin-bottom:5px}
  .development-mini-grid{gap:8px}
  .development-mini-grid article{min-height:86px;padding:10px}
  .development-mini-grid article small{padding:2px 6px;font-size:8px}

  .track-card,.role-choice,.student-quick-card,.btn,.icon-button,.topbar-icon,.topbar-menu{min-height:44px}
}

@media(max-width:360px){
  .mockup-track-selector .selector-logo{width:124px}
  .mockup-track-cards .track-card{min-height:98px}
  .mockup-track-cards .track-card img{height:92px}
}

/* v2.3 final polish: dissolve the student photography into the splash canvas */
.mockup-splash .splash-photo-layer{
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.78) 24%,#000 42%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.78) 24%,#000 42%,#000 100%);
}

/* v2.4.0 — Pilot impact scorecard */
.impact-scorecard{margin-top:16px;overflow:hidden}
.impact-scorecard .panel-head{align-items:flex-start;gap:16px}.impact-scorecard .panel-head p{margin:5px 0 0}
.impact-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.impact-metric-grid article{border:1px solid var(--border);border-radius:16px;padding:15px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,252,249,.88));min-height:112px;display:flex;flex-direction:column;justify-content:center}
.impact-metric-grid span{font-size:12px;color:var(--muted);font-weight:700}.impact-metric-grid strong{font-size:27px;line-height:1.05;margin:7px 0 5px;color:var(--text)}.impact-metric-grid small{font-size:11px;color:var(--muted);line-height:1.35}
.impact-funnel{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin-top:16px;padding:14px;border-radius:16px;background:var(--surface-soft,#f6fbf8);border:1px solid var(--border)}
.impact-funnel div{text-align:center}.impact-funnel b{display:block;font-size:20px}.impact-funnel span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.impact-funnel i{font-style:normal;color:var(--muted)}
.impact-note{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 14px;border-radius:14px;background:rgba(20,166,106,.07);font-size:12px;line-height:1.5}.impact-note svg{flex:0 0 auto;margin-top:1px}
@media(max-width:900px){.impact-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.impact-funnel{grid-template-columns:1fr 1fr;gap:10px}.impact-funnel i{display:none}.impact-funnel div:last-child{grid-column:1/-1}}
@media(max-width:520px){.impact-metric-grid{grid-template-columns:1fr}.impact-metric-grid article{min-height:auto}.impact-funnel{grid-template-columns:1fr 1fr}.impact-scorecard .panel-head>.badge{display:none}}

/* =========================================================
   v2.4.1 — Adult dashboard ergonomic hardening
   Action first, evidence second, program impact third.
   ========================================================= */
.dashboard-focus{
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:20px 22px;border:1px solid rgba(111,154,137,.17);border-radius:18px;
  background:
    radial-gradient(circle at 94% 10%,rgba(var(--track-rgb,11,170,98),.09),transparent 28%),
    linear-gradient(120deg,rgba(255,255,255,.98),rgba(247,252,249,.92));
  box-shadow:0 8px 24px rgba(20,74,56,.05)
}
.dashboard-focus h2{margin:4px 0 6px;font-size:24px;letter-spacing:-.025em;color:#123c30}
.dashboard-focus p{margin:0;max-width:720px;font-size:12.5px;line-height:1.55;color:#657971}
.human-review-chip{display:flex;align-items:center;gap:10px;flex:0 0 292px;padding:11px 13px;border:1px solid rgba(var(--track-rgb,11,170,98),.18);border-radius:14px;background:rgba(255,255,255,.78);color:var(--track-deep,#075d3b)}
.human-review-chip span,.human-review-chip b,.human-review-chip small{display:block}
.human-review-chip b{font-size:11.5px}.human-review-chip small{margin-top:2px;font-size:9.5px;line-height:1.35;color:#61766d;font-weight:500}
.dashboard-stat-grid{margin-top:13px;gap:11px}
.dashboard-stat-grid .stat-card{min-height:86px;padding:14px 15px;border-radius:15px;box-shadow:0 4px 14px rgba(20,74,56,.035)}
.dashboard-stat-grid .stat-card:hover{box-shadow:0 4px 14px rgba(20,74,56,.035);transform:none}
.dashboard-stat-grid .stat-card.attention{border-color:rgba(224,163,58,.28);background:linear-gradient(145deg,#fffdf9,#fffaf0)}
.dashboard-stat-grid .stat-card.attention .stat-icon{background:#fff3df;color:#9a5b05}
.dashboard-stat-grid .stat-card span{font-size:10.5px}.dashboard-stat-grid .stat-card strong{font-size:23px}.dashboard-stat-grid .stat-card small{font-size:9.5px;line-height:1.35}
.dashboard-workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:13px;margin-top:13px}
.dashboard-workspace>.panel{margin:0;min-width:0}
.review-panel{padding:18px 19px}.review-panel .panel-head{margin-bottom:8px}.review-panel .panel-head h3,.dashboard-shortcuts h3{font-size:15px;margin:3px 0 0}
.review-panel .body-copy{font-size:10.5px;margin:4px 0 0;color:#71827b}
.review-panel.empty-state{min-height:210px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#fff,#fbfefc)}
.review-panel.empty-state>div{max-width:480px;text-align:center}
.priority-list>a{min-height:58px;padding:10px 4px;border-radius:11px}
.priority-list>a:hover{background:rgba(var(--track-rgb,11,170,98),.045)}
.priority-list>a b{font-size:10.5px}.priority-list>a small{font-size:9px;line-height:1.4;margin-top:2px;color:#71827b}
.dashboard-shortcuts{padding:18px}.dashboard-shortcuts>div{margin-bottom:10px}.dashboard-shortcuts nav{display:grid;gap:7px}
.dashboard-shortcuts nav a{display:grid;grid-template-columns:34px 1fr 14px;align-items:center;gap:9px;min-height:54px;padding:8px 9px;border:1px solid rgba(119,160,144,.14);border-radius:12px;background:rgba(250,253,251,.76)}
.dashboard-shortcuts nav a:hover{border-color:rgba(var(--track-rgb,11,170,98),.24);background:#fff;transform:translateX(2px)}
.dashboard-shortcuts nav a>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--track-soft,#e9f7ef);color:var(--track-deep,#075d3b)}
.dashboard-shortcuts nav b,.dashboard-shortcuts nav small{display:block}.dashboard-shortcuts nav b{font-size:10.5px}.dashboard-shortcuts nav small{font-size:8.7px;color:#71827b;margin-top:2px}.dashboard-shortcuts nav i{font-style:normal;color:#82958d;font-size:18px}

.impact-scorecard{margin-top:13px;padding:18px 19px!important;border-radius:18px!important;overflow:hidden}
.impact-scorecard:hover{box-shadow:var(--smooth-shadow-1)!important}
.impact-scorecard .panel-head{align-items:flex-start;margin-bottom:11px}.impact-scorecard .panel-head h3{font-size:16px}.impact-scorecard .panel-head p{font-size:10.5px;max-width:680px;line-height:1.5}
.live-chip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 9px;border-radius:999px;background:#f1f7f4;color:#61766d;font-size:8.7px;font-weight:700}
.live-chip i{width:6px;height:6px;border-radius:50%;background:#2c9d65;box-shadow:0 0 0 3px rgba(44,157,101,.10)}
.impact-metric-grid.ergonomic{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:0}
.impact-metric-grid.ergonomic article{min-height:104px;padding:13px;border-radius:14px;border:1px solid rgba(119,160,144,.14);background:linear-gradient(145deg,#fff,#fbfefc);justify-content:flex-start}
.impact-metric-grid.ergonomic article:hover{box-shadow:none;transform:none}
.impact-metric-grid.ergonomic span{font-size:10px}.impact-metric-grid.ergonomic strong{font-size:23px;margin:6px 0 7px;color:#143c31}.impact-metric-grid.ergonomic small{font-size:9px;margin-top:7px;line-height:1.35}
.impact-progress{height:5px;background:#e9f0ed;border-radius:999px;overflow:hidden}.impact-progress i{display:block;width:min(var(--v,0%),100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#71c596,var(--track-accent,#0aaa62))}
.impact-flow{display:grid;grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr 18px 1fr;align-items:center;gap:4px;margin-top:11px;padding:11px 12px;border:1px solid rgba(119,160,144,.13);border-radius:13px;background:rgba(247,251,249,.78)}
.impact-flow div{text-align:center;min-width:0}.impact-flow b,.impact-flow span{display:block}.impact-flow b{font-size:17px;color:#153e32}.impact-flow span{font-size:8.7px;color:#6f827a;margin-top:2px}.impact-flow i{text-align:center;font-style:normal;color:#9aaaa3}
.impact-secondary{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid #edf2ef}
.impact-secondary>div{display:flex;align-items:center;gap:7px;color:var(--track-deep,#075d3b)}.impact-secondary>div span,.impact-secondary>div b,.impact-secondary>div small{display:block}.impact-secondary>div b{font-size:9.8px}.impact-secondary>div small{font-size:8.4px;color:#71827b;margin-top:1px}
.impact-secondary p{margin:0;text-align:right;font-size:8.6px;line-height:1.4;color:#87968f}

/* Adult desktop readability: minimum practical text sizes, no faux-clickable elevation. */
.role-counselor .panel,.role-principal .panel,.role-administrator .panel,.role-curriculum .panel,.role-program_head .panel,.role-pkl_coordinator .panel,.role-bkk .panel{cursor:default}
.role-counselor .content,.role-principal .content,.role-administrator .content,.role-curriculum .content,.role-program_head .content,.role-pkl_coordinator .content,.role-bkk .content{max-width:1360px}

@media(max-width:1050px){
  .dashboard-workspace{grid-template-columns:1fr}.dashboard-shortcuts nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .impact-metric-grid.ergonomic{grid-template-columns:repeat(2,minmax(0,1fr))}
  .human-review-chip{flex-basis:245px}
}
@media(max-width:760px){
  .dashboard-focus{align-items:flex-start;flex-direction:column;padding:16px;border-radius:15px;gap:12px}.dashboard-focus h2{font-size:20px}.dashboard-focus p{font-size:11px}.human-review-chip{width:100%;flex-basis:auto;padding:10px}
  .dashboard-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.dashboard-stat-grid .stat-card{min-height:96px;align-items:flex-start;flex-direction:column;gap:7px;padding:12px}.dashboard-stat-grid .stat-icon{width:34px;height:34px;border-radius:10px}.dashboard-stat-grid .stat-card strong{font-size:21px}.dashboard-stat-grid .stat-card small{font-size:8.5px}
  .dashboard-workspace{gap:10px;margin-top:10px}.review-panel,.dashboard-shortcuts,.impact-scorecard{padding:14px!important}.priority-list>a{grid-template-columns:36px 1fr;min-height:64px}.priority-list>a .badge{grid-column:2;justify-self:start;margin-top:4px}
  .dashboard-shortcuts nav{grid-template-columns:1fr}.dashboard-shortcuts nav a{min-height:58px}
  .impact-scorecard{margin-top:10px}.impact-scorecard .panel-head{gap:8px}.live-chip{display:none}.impact-metric-grid.ergonomic{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.impact-metric-grid.ergonomic article{min-height:112px;padding:11px}.impact-metric-grid.ergonomic strong{font-size:21px}
  .impact-flow{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:9px 5px}.impact-flow i{display:none}.impact-flow b{font-size:15px}.impact-flow span{font-size:7.5px;line-height:1.2}
  .impact-secondary{grid-template-columns:1fr;gap:8px}.impact-secondary p{text-align:left}
}
@media(max-width:390px){
  .dashboard-stat-grid{grid-template-columns:1fr 1fr!important}.impact-metric-grid.ergonomic{grid-template-columns:1fr 1fr}.impact-metric-grid.ergonomic article{min-height:108px}.impact-flow span{font-size:7px}
}

/* =========================================================
   v2.4.2 — Comprehensive UI/UX ergonomic hardening
   Readability, touch ergonomics, assessment affordance,
   keyboard focus, tablet behavior, and honest controls.
   ========================================================= */
:root{
  --focus-ring:rgba(var(--track-rgb,11,170,98),.28);
  --readable-muted:#60746b;
}

/* Keyboard users must always know where focus is. */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid var(--focus-ring);
  outline-offset:2px;
}

/* Global interactive ergonomics. */
.nav-item{min-height:44px;padding:10px 12px;font-size:13px;line-height:1.35}
.sidebar-logout{min-height:44px;font-size:12.5px;border-radius:8px}
.topbar{min-height:64px;height:64px}
.topbar-search{min-height:44px;height:44px;border-radius:10px}
.topbar-search input{font-size:13px;line-height:1.4}
.topbar-icon,.topbar-menu,.icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:11px}
.user-top-card{min-height:44px}
.user-top-card b{font-size:12px}.user-top-card small{font-size:10.5px}
.btn{min-height:44px;padding:10px 15px;font-size:12.5px;line-height:1.3}
.btn.small{min-height:44px;padding:9px 12px;font-size:12px}
.text-link{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
.track-card,.role-choice,.student-quick-card{min-height:48px}

/* Forms: legible labels, comfortable fields, consistent states. */
.content input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
.content select,.content textarea,
.mockup-login-form input:not([type=checkbox]){
  min-height:44px;font-size:14px;line-height:1.4;
}
.form-stack{gap:16px}
.form-stack label{font-size:12.5px;line-height:1.45;color:#294b40}
.form-stack input,.form-stack select,.form-stack textarea{
  width:100%;border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-top:7px;background:#fff;color:var(--ink);outline:none;
}
.form-stack textarea{min-height:96px;resize:vertical}
.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{
  border-color:#78b89a;box-shadow:0 0 0 3px rgba(var(--track-rgb,11,170,98),.12)
}
.searchbox{min-height:44px}.searchbox input{font-size:13px;min-height:42px}

/* Practical content readability across adult/student views. */
.page-intro h2{font-size:25px;line-height:1.2}
.page-intro p,.body-copy{font-size:13px!important;line-height:1.6;color:var(--readable-muted)}
.panel-head h3,.panel>h3{font-size:16.5px;line-height:1.3}
.content .data-table th{font-size:11.5px;line-height:1.35;padding:12px 10px}
.content .data-table td{font-size:12.5px;line-height:1.45;padding:12px 10px}
.content .student-cell strong{font-size:12.5px}.content .student-cell small{font-size:11.5px}
.content .settings-card p,.content .report-card p,.content .signal-list p,
.content .source-list small,.content .priority-list small{font-size:11.5px!important;line-height:1.5}
.content .microcopy{font-size:11.5px;line-height:1.55}
.content .panel.compact small{font-size:11.5px;line-height:1.4}
.content .timeline span{font-size:10.5px}.content .timeline b{font-size:12.5px}.content .timeline p{font-size:11.5px}
.content .skkpd-head{font-size:10.5px}.content .skkpd-r{font-size:12px}.content .skkpd-r b{font-size:12px}
.content .attention-row strong{font-size:12.5px}.content .attention-row small,.content .attention-row>span:last-child{font-size:11.5px}
.content .source-list>div,.content .rule-list>div{min-height:48px}
.content .source-list b,.content .rule-list strong{font-size:12.5px}
.content .rule-list span{font-size:12px;line-height:1.5}
.badge{font-size:10.5px;line-height:1.25;padding:6px 9px}

/* Adult dashboard density without miniature text. */
.dashboard-focus p{font-size:13px}.human-review-chip b{font-size:12px}.human-review-chip small{font-size:11px}
.dashboard-stat-grid .stat-card span{font-size:11.5px}.dashboard-stat-grid .stat-card small{font-size:11px}.dashboard-stat-grid .stat-card strong{font-size:24px}
.review-panel .body-copy{font-size:12px!important}.priority-list>a b{font-size:12.5px}.priority-list>a small{font-size:11.5px!important}
.dashboard-shortcuts nav a{min-height:60px}.dashboard-shortcuts nav b{font-size:12.5px}.dashboard-shortcuts nav small{font-size:11px}
.impact-scorecard .panel-head p{font-size:12px}.live-chip{font-size:10.5px}
.impact-metric-grid.ergonomic span{font-size:11.5px}.impact-metric-grid.ergonomic small{font-size:11px}.impact-metric-grid.ergonomic strong{font-size:24px}
.impact-flow span{font-size:10.5px}.impact-secondary>div b{font-size:11.5px}.impact-secondary>div small{font-size:10.5px}.impact-secondary p{font-size:10.5px}

/* Student quick cards/readability. */
.student-quick-card b,.student-quick-card strong{font-size:12.5px!important;line-height:1.35}
.student-quick-card small,.student-quick-card p{font-size:11px!important;line-height:1.4}
.development-mini-grid article small{font-size:10.5px}

/* Assessment is a primary student task: full-width answers and clear selection. */
.assessment-layout,.assessment-shell{max-width:920px;margin-left:auto;margin-right:auto}
.assessment-card{padding:26px 28px;border-radius:20px}
.assessment-card h3{font-size:21px;line-height:1.48;margin:18px 0 20px}
.assessment-labels,.assessment-top{font-size:12px}
.assessment-progress{min-width:145px;text-align:right}.assessment-progress>span{font-size:11.5px;color:var(--readable-muted);font-weight:700}
.answer-list{gap:10px}
.answer-option{
  display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:12px;
  width:100%;min-height:56px;padding:14px 15px;border-radius:13px;text-align:left;
  font:inherit;line-height:1.5;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.answer-option::before{
  content:"";width:18px;height:18px;flex:0 0 18px;margin-top:1px;border:2px solid #9eb0a8;border-radius:50%;background:#fff;
}
.answer-option:hover{border-color:#76b793;background:#fbfefc}
.answer-option.selected{border-color:var(--track-accent,var(--g2));background:var(--track-soft,var(--g4));box-shadow:inset 0 0 0 1px var(--track-accent,var(--g2))}
.answer-option.selected::before{border-color:var(--track-accent,var(--g2));box-shadow:inset 0 0 0 4px #fff;background:var(--track-accent,var(--g2))}
.answer-text{display:block;flex:1;min-width:0;width:auto!important;font-size:14px;line-height:1.55;color:#203e34;overflow-wrap:anywhere}
.assessment-actions{margin-top:22px;gap:12px}.assessment-actions .btn{min-width:130px}
.save-state{font-size:11.5px;line-height:1.4;color:var(--readable-muted)}
.assessment-help{margin:14px 4px 0;padding:12px 14px;border-radius:12px;background:rgba(var(--track-rgb,11,170,98),.055);border:1px solid rgba(var(--track-rgb,11,170,98),.10)}
.assessment-help b{font-size:12.5px;line-height:1.45}.assessment-help span{font-size:11.5px;line-height:1.55}

/* Login: no tiny controls, no accidental mobile zoom. */
.mockup-login-form label{min-height:48px}
.mockup-login-form input:not([type=checkbox]){min-height:48px;font-size:15px}
.password-eye{width:44px!important;height:44px!important;min-width:44px;min-height:44px}
.mockup-login-submit,.google-login{min-height:48px}
.login-options{gap:12px}.login-options,.register-hint,.login-back,.demo-hint{font-size:12px!important;line-height:1.45}
.login-support{color:var(--readable-muted);text-align:right;max-width:230px}

/* Prevent medium-tablet layouts from being squeezed between sidebar and content. */
@media(max-width:820px){
  .sidebar{transform:translateX(-105%);transition:.25s;width:282px}
  .sidebar.open{transform:none}
  .main-column{margin-left:0;min-width:0}
  .mobile-only{display:inline-grid}
  .topbar{padding:0 14px}
  .topbar-search{max-width:none;min-width:0}
  .user-top-card>span:last-child{display:none}
  .content{max-width:100%;min-width:0}
  .two-col,.two-col.wide-left{grid-template-columns:1fr}
  .student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  .content{padding:18px 14px 34px}
  .page-intro{gap:12px}.page-intro h2{font-size:22px}.page-intro p,.body-copy{font-size:14px!important;line-height:1.6}
  .panel{padding:16px}.panel-head{gap:10px}
  .btn{min-height:48px;font-size:14px;padding:11px 14px}
  .btn.small{min-height:44px;font-size:13px}
  .nav-item{min-height:48px;font-size:14px;padding:11px 12px}
  .sidebar-logout{min-height:48px;font-size:14px}
  .topbar-icon,.topbar-menu,.icon-button{width:44px;height:44px}
  .topbar-search{min-height:44px;height:44px}
  .content input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
  .content select,.content textarea,.topbar-search input,.mockup-login-form input:not([type=checkbox]){font-size:16px!important}
  .content input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.content select{min-height:48px}
  .form-stack label{font-size:13.5px}
  .data-table{min-width:700px}
  .content .data-table td{font-size:13px}.content .data-table th{font-size:11.5px}
  .assessment-card{padding:19px 15px;border-radius:17px}.assessment-card h3{font-size:19px;line-height:1.5;margin:16px 0 18px}
  .assessment-top{align-items:flex-start;gap:10px}.assessment-progress{min-width:118px}.assessment-progress>span{font-size:12px}
  .answer-option{min-height:62px;padding:14px 13px;gap:11px;border-radius:12px}.answer-option::before{width:20px;height:20px;flex-basis:20px;margin-top:1px}
  .answer-text{font-size:15px;line-height:1.55}
  .assessment-actions{grid-template-columns:1fr 1fr;gap:9px}.assessment-actions .save-state{grid-column:1/-1;grid-row:1;text-align:left;min-height:18px}.assessment-actions .btn{grid-row:2;min-width:0;width:100%}
  .assessment-help{margin:12px 0 0;padding:12px}.assessment-help b{font-size:13px}.assessment-help span{font-size:12.5px}
  .dashboard-focus p{font-size:13px}.human-review-chip small{font-size:11.5px}
  .dashboard-stat-grid .stat-card span{font-size:12px}.dashboard-stat-grid .stat-card small{font-size:11px}
  .dashboard-shortcuts nav b{font-size:13px}.dashboard-shortcuts nav small{font-size:11.5px}
  .impact-metric-grid.ergonomic span{font-size:11.5px}.impact-metric-grid.ergonomic small{font-size:11px}.impact-flow span{font-size:9.5px}
}

@media(max-width:420px){
  .topbar-search{display:none}
  .topbar-actions{gap:4px}
  .content{padding-left:12px;padding-right:12px}
  .student-summary-grid{grid-template-columns:1fr}
  .assessment-progress{min-width:100px}
  .assessment-card h3{font-size:18px}
  .answer-text{font-size:15px}
  .button-row>.btn{flex:1 1 145px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

/* v2.4.2 final ergonomic corrections after full-route audit */
.topbar-search input{height:100%;min-height:44px}
.content p{font-size:12px;line-height:1.5}
.wellbeing-card p{font-size:12px!important;line-height:1.45}
.mockup-login-panel{width:min(420px,calc(100vw - 36px));max-width:100%}
.topbar-icon.is-static:disabled{opacity:.55;cursor:default}
button:disabled,.btn:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:760px){.content p{font-size:13px;line-height:1.55}.mockup-login-panel{width:min(420px,calc(100vw - 28px))}}

/* Student-facing readability pass: no miniature copy in primary learning/BK tasks. */
.eyebrow{font-size:10.5px;line-height:1.35}
.student-quick-card strong{font-size:12.5px!important}.student-quick-card small{font-size:11px!important}
.mockup-section h3{font-size:13px}.section-title-row a{font-size:11px;min-height:36px;display:inline-flex;align-items:center}
.development-mini-grid b{font-size:11.5px}.development-mini-grid small{font-size:10.5px!important;line-height:1.35}
.counselor-message b{font-size:12px}.counselor-message p{font-size:11.5px!important;line-height:1.45}.counselor-message small{font-size:10.5px}
.interest-bar b,.interest-bar strong{font-size:11px}.step-line span{font-size:10.5px}.step-line span small{font-size:10px}.transition-grid b{font-size:11px}.transition-grid strong{font-size:11.5px}
.dashboard-quote{font-size:12px;line-height:1.5}
.mockup-track-cards .track-card p{font-size:11.5px;line-height:1.45}
.role-choice strong{font-size:12.5px;line-height:1.35}
@media(max-width:760px){
  .role-student .student-hero-copy p{font-size:12px!important;line-height:1.4}
  .role-student .student-hero-copy blockquote{font-size:11.5px;line-height:1.45}
  .student-quick-card strong{font-size:13px!important}.student-quick-card small{font-size:11.5px!important}
  .development-mini-grid b{font-size:12px}.development-mini-grid small{font-size:11px!important}
  .interest-bar b,.interest-bar strong{font-size:11.5px}.step-line span{font-size:11px}.step-line span small{font-size:10.5px}.transition-grid b{font-size:11.5px}.transition-grid strong{font-size:12px}
  .dashboard-quote{font-size:11.5px}
  .mockup-track-cards .track-card p{font-size:11.5px}
}
.assessment-top>div:first-child{display:grid;justify-items:start;gap:6px;min-width:0}
.assessment-top>div:first-child .eyebrow{line-height:1.35}
.assessment-top>div:first-child .stage-pill{justify-self:start}
.assessment-layout{scroll-margin-top:76px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* ========================================================================
   EXOLINK Unified v2.4.3 — Green brand consistency hardening
   Brand rule: EXOLINK remains green across SMP/MTs, SMA/MA, and SMK/MAK.
   Track differences are communicated by content/illustration, not purple
   action colors. Keep warnings/status semantics intact.
   ======================================================================== */
.track-sma{
  --track-accent:#0baa62;
  --track-soft:#e8f8ef;
  --track-deep:#075d3b;
  --track-action:#08754c;
  --track-rgb:11,170,98;
  --track-glow:#dff8eb;
  --track-glow-2:#e9f8f1;
  --track-action-grad:linear-gradient(135deg,#0ab168 0%,#08764c 100%);
}
/* Public track selector must not re-introduce a purple SMA brand. */
.mockup-track-cards .track-card-sma{
  background:radial-gradient(circle at 92% 18%,rgba(76,201,137,.24),transparent 42%),linear-gradient(100deg,#edf9f2 0%,#f8fffb 44%,#eef9f3 100%);
}
.mockup-track-cards .track-card-sma h2{color:#08754c}
/* Role / student action accents inside SMA follow the EXOLINK green family. */
.track-sma .role-choice:nth-child(3) .role-choice-icon,
.track-sma .student-quick-card:nth-child(2) .student-quick-icon{
  background:#e8f8ef;
  color:#08754c;
}
/* Decorative purple tokens are prohibited in the SMA/MA runtime. */
.track-sma .avatar,
.track-sma .avatar.small{background:#08754c;color:#fff}

/* ========================================================================
   EXOLINK Unified v2.4.4 — Guided planning UX hardening
   Student planning is a guided decision flow, not an administrative form.
   ======================================================================== */
.planning-intro{margin-bottom:12px}
.planning-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:0 0 12px}
.planning-type-card{display:flex;gap:10px;align-items:flex-start;min-height:74px;padding:12px;border:1px solid #dfeae5;border-radius:12px;background:#fff;color:#173f32;box-shadow:0 4px 14px rgba(18,77,58,.04)}
.planning-type-card>span{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:#e8f8ef;color:#08754c}
.planning-type-card b,.planning-type-card small{display:block}.planning-type-card b{font-size:12.5px;line-height:1.35}.planning-type-card small{font-size:11.5px;line-height:1.45;color:#657971;margin-top:3px}
.planning-type-card.active{border-color:#7dc4a1;background:linear-gradient(135deg,#f2fcf6,#fff);box-shadow:0 0 0 2px rgba(11,170,98,.08)}
.planning-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.65fr);gap:14px;align-items:start}
.planning-main{min-width:0}.planning-context{position:sticky;top:76px}
.planning-guide{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;border:1px solid #d9ece2;background:#f4fbf7;border-radius:12px;margin-bottom:14px}
.planning-guide-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:#daf3e6;color:#08754c}
.planning-guide b,.planning-guide small{display:block}.planning-guide b{font-size:12.5px}.planning-guide small{font-size:11.5px;line-height:1.5;color:#60766d;margin-top:3px}
.guided-planning-form{display:grid;gap:12px}
.planning-question{border:1px solid #e0ebe6;border-radius:13px;padding:13px;margin:0;min-width:0;background:#fff}
.planning-question legend{display:flex;align-items:flex-start;gap:9px;width:100%;padding:0 0 8px;color:#173f32}
.planning-question legend>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:0 0 26px;background:#e6f7ed;color:#08754c;font-size:12px;font-weight:800}
.planning-question legend b{font-size:13.5px;line-height:1.45;flex:1}.planning-question legend em{font-size:10.5px;font-style:normal;color:#72857d;padding-top:3px}
.question-help{font-size:11.5px;line-height:1.45;color:#697d75;margin:0 0 9px 35px}
.planning-options{display:grid;gap:8px}.planning-options.multi{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-options.single{grid-template-columns:repeat(2,minmax(0,1fr))}
.planning-option{position:relative;display:flex;align-items:flex-start;gap:9px;min-height:48px;padding:10px 11px;border:1px solid #dce8e2;border-radius:10px;background:#fbfefc;cursor:pointer;font-size:12.5px;line-height:1.4;color:#24483d}
.planning-option:hover{border-color:#7ebf9e;background:#f5fcf8}.planning-option:focus-within{outline:3px solid rgba(11,170,98,.15);outline-offset:1px}
.planning-option input{width:19px;height:19px;min-width:19px;margin:0;margin-top:0;accent-color:#08754c}
.planning-option:has(input:checked){border-color:#5db58a;background:#edf9f2;box-shadow:0 0 0 1px rgba(8,117,76,.08)}
.planning-question textarea{width:100%;min-height:92px;border:1px solid #dce8e2;border-radius:10px;padding:11px 12px;font:inherit;font-size:16px;line-height:1.5;color:#173f32;background:#fff}
.question-message{min-height:0;font-size:11px;color:#a14545;margin-top:6px}.question-message:not(:empty){min-height:18px}
.planning-submit{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;border-radius:12px;background:#f4faf7;border:1px solid #dfebe5}
.planning-submit b,.planning-submit small{display:block}.planning-submit b{font-size:12.5px}.planning-submit small{font-size:11px;line-height:1.4;color:#667a72;margin-top:2px}.planning-submit .btn{white-space:nowrap}
.plan-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planning-answer-list{display:grid;gap:8px;margin-top:10px}.planning-answer-list>div{padding:10px 12px;border:1px solid #e3ece8;border-radius:10px;background:#fbfdfc}.planning-answer-list span,.planning-answer-list b{display:block}.planning-answer-list span{font-size:11px;color:#6a7e76}.planning-answer-list b{font-size:12.5px;line-height:1.45;margin-top:3px;color:#173f32}
.review-plan-form{display:grid;gap:10px}.review-plan-form label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#24483d}.review-plan-form select,.review-plan-form textarea{font-size:16px}
.planning-steps{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px;counter-reset:planstep}.planning-steps li{position:relative;padding-left:38px;min-height:30px}.planning-steps li:before{counter-increment:planstep;content:counter(planstep);position:absolute;left:0;top:0;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:#e6f7ed;color:#08754c;font-size:11px;font-weight:800}.planning-steps b,.planning-steps span{display:block}.planning-steps b{font-size:12px}.planning-steps span{font-size:11px;line-height:1.4;color:#687c74;margin-top:2px}
.review-note-student{margin-top:14px;padding:12px;border-radius:11px;background:#f3faf6;border:1px solid #dcebe4}.review-note-student p{font-size:12px;line-height:1.5;margin:5px 0 0;color:#24483d}
@media(max-width:900px){.planning-layout{grid-template-columns:1fr}.planning-context{position:static}}
@media(max-width:760px){
  .planning-type-grid{grid-template-columns:1fr}.planning-type-card{min-height:68px;padding:11px}
  .planning-options.multi,.planning-options.single{grid-template-columns:1fr}
  .planning-question{padding:12px 10px}.planning-question legend b{font-size:14px}.question-help{margin-left:35px;font-size:12px}
  .planning-option{min-height:52px;font-size:14px;padding:12px}
  .planning-submit{align-items:stretch;flex-direction:column}.planning-submit .btn{width:100%;white-space:normal;min-height:50px;font-size:14px}
  .planning-guide b{font-size:13px}.planning-guide small{font-size:12px}
}

/* Remove obsolete purple SMA token definitions at source as well as by override. */
.track-sma{--track-action:#08754c}
.track-sma{--track-rgb:11,170,98;--track-glow:#dff8eb;--track-glow-2:#e9f8f1;--track-action-grad:linear-gradient(135deg,#0ab168 0%,#08764c 100%)}
/* Evidence Architecture v2.5.0 */
.evidence-method-note{margin-bottom:18px}.evidence-review-list{display:grid;gap:18px}.evidence-student-card{border:1px solid var(--border,#dbe8e1);border-radius:20px;padding:20px;background:#fff}.evidence-student-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e8f0eb;padding-bottom:14px;margin-bottom:14px}.evidence-student-head>div:nth-child(2){flex:1}.evidence-student-head h3{margin:0 0 2px}.evidence-theme-block{padding:14px 0;border-bottom:1px solid #edf3ef}.evidence-theme-block:last-child{border-bottom:0}.evidence-theme-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.evidence-theme-head h4{margin:3px 0 8px;font-size:1.05rem}.evidence-chip-row{display:grid;gap:8px}.evidence-chip{display:block;background:#f6faf7;border:1px solid #dcebe2;border-radius:12px;padding:10px 12px;line-height:1.45}.evidence-meta{font-size:.9rem;margin:9px 0}.service-suggestion{background:#f1f8f4;border-radius:12px;padding:11px 13px;margin-top:10px}.service-suggestion ul{margin:7px 0 0 18px}.evidence-quality-box{margin-top:12px;padding:12px 14px;border-radius:12px;background:#fff8e8;border:1px solid #f1dca2}.evidence-quality-box small{display:block;margin-top:6px}@media(max-width:600px){.evidence-student-card{padding:15px;border-radius:16px}.evidence-student-head,.evidence-theme-head{align-items:flex-start}.evidence-theme-head{flex-direction:column}.evidence-student-head .badge{margin-left:auto}.evidence-chip{font-size:.94rem}}


/* v2.6.1 — Prototype-aligned BK report & action workflow */
.bk-workflow-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px;padding:12px 14px;border:1px solid #dcebe2;border-radius:16px;background:#f8fbf9;color:#5c7167;font-size:.91rem}.bk-workflow-strip span{padding:7px 10px;border-radius:999px}.bk-workflow-strip span.active{background:#0c7a54;color:#fff;font-weight:800}.bk-workflow-strip i{font-style:normal;color:#8ba59a}.bk-principle{border-left:4px solid #0c7a54}.bk-principle p{margin:6px 0 0}.bk-report-list{display:grid;gap:20px}.bk-report-card{padding:0;overflow:hidden}.bk-student-header{display:flex;align-items:center;gap:12px;padding:20px 22px;background:linear-gradient(135deg,#f5fbf7,#fff);border-bottom:1px solid #e4eee8}.bk-student-header>div:nth-child(2){flex:1}.bk-student-header h3{margin:2px 0 3px}.bk-report-section{padding:20px 22px;border-bottom:1px solid #e8f0eb}.bk-report-section:last-child{border-bottom:0}.section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.section-title>span{display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;background:#e7f5ed;color:#086442;font-weight:900}.section-title h4{margin:1px 0 3px;font-size:1.12rem}.section-title p{margin:0;color:#6b7d74;line-height:1.55}.section-title.compact{margin-top:4px}.bk-evidence-table{border:1px solid #dfeae4;border-radius:14px;overflow:hidden}.bk-evidence-row{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(260px,1.55fr) minmax(220px,1.15fr);gap:0;border-top:1px solid #e8f0eb}.bk-evidence-row:first-child{border-top:0}.bk-evidence-row>*{padding:12px 14px;line-height:1.5}.bk-evidence-row>*+*{border-left:1px solid #e8f0eb}.bk-evidence-row.head{background:#0d7954;color:#fff}.bk-evidence-row.head b{font-size:.88rem}.bk-evidence-row small{font-size:.9rem;color:#61756b}.bk-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bk-summary-grid>div{border:1px solid #e0ebe5;background:#fbfdfc;border-radius:14px;padding:14px}.bk-summary-grid>div.wide{grid-column:1/-1;background:#f2f8f4}.bk-summary-grid span{display:block;font-size:.8rem;font-weight:800;color:#557064;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.bk-summary-grid p,.bk-summary-grid ul{margin:0;line-height:1.55}.bk-summary-grid ul{padding-left:18px}.bk-question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.check-card,.radio-card{display:flex!important;gap:10px;align-items:flex-start;border:1px solid #dce8e1;border-radius:13px;padding:12px 13px;background:#fff;cursor:pointer;min-height:48px}.check-card input,.radio-card input{width:18px;height:18px;min-width:18px;margin-top:2px;accent-color:#0c7a54}.check-card span,.radio-card span{line-height:1.45}.radio-card:has(input:checked),.check-card:has(input:checked){border-color:#0c7a54;background:#f0f8f4;box-shadow:0 0 0 2px rgba(12,122,84,.08)}.safety-check{margin:2px 0 14px}.bk-guideline-banner{border:1px solid #f0d59a;background:#fff8e5;border-radius:13px;padding:12px 14px;margin:14px 0}.bk-guideline-banner b{color:#6c4b00}.bk-guideline-banner p{margin:4px 0 0;line-height:1.5}.bk-guideline-banner.small{margin-top:18px}.bk-decision-fieldset,.bk-service-form fieldset{border:0;padding:0;margin:16px 0}.bk-decision-fieldset legend,.bk-service-form legend{font-weight:850;margin-bottom:10px}.bk-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bk-decision-grid.compact{grid-template-columns:1fr}.bk-form-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:14px}.bk-review-summary{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bk-review-summary h3{margin:3px 0}.bk-review-pill{max-width:620px;background:#eef7f2;border:1px solid #d4e8dd;border-radius:14px;padding:12px 14px}.bk-review-pill b,.bk-review-pill small{display:block}.bk-review-pill small{margin-top:4px;color:#557064}.bk-component-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.bk-component-grid article{border:1px solid #dfeae4;border-radius:14px;padding:14px;background:#fbfdfc}.bk-component-grid p{font-size:.92rem;line-height:1.5;margin:8px 0}.bk-component-grid small{display:block;color:#607269;line-height:1.45}.bk-intervention-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;align-items:start}.bk-service-groups{display:grid;gap:16px}.bk-service-group>b{display:block;margin-bottom:8px;color:#315c49}.bk-service-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.radio-card.service strong,.radio-card.service small{display:block}.radio-card.service small{margin-top:3px;color:#607269}.two-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bk-detail{margin-top:12px;border:1px solid #dfeae4;border-radius:12px;padding:10px 12px;background:#fbfdfc}.bk-detail summary{cursor:pointer;font-weight:800;color:#176044;min-height:30px}.bk-detail[open] summary{margin-bottom:8px}.bk-detail small{display:block;margin-top:4px}.followup-list input{min-width:180px}.bk-service-form .wide{width:100%;justify-content:center}
@media(max-width:1050px){.bk-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bk-intervention-layout{grid-template-columns:1fr}.bk-service-choice-grid{grid-template-columns:1fr}}
@media(max-width:768px){.bk-workflow-strip{gap:5px;padding:10px}.bk-workflow-strip i{display:none}.bk-workflow-strip span{font-size:.82rem;padding:6px 8px}.bk-student-header{padding:16px;align-items:flex-start}.bk-student-header .badge{margin-left:auto}.bk-report-section{padding:16px}.bk-evidence-table{border:0;display:grid;gap:10px}.bk-evidence-row.head{display:none}.bk-evidence-row{display:block;border:1px solid #dfeae4;border-radius:12px;padding:12px;background:#fff}.bk-evidence-row>*{display:block;padding:0;border:0!important}.bk-evidence-row span{margin:6px 0}.bk-summary-grid,.bk-question-grid,.bk-decision-grid,.two-fields,.bk-component-grid{grid-template-columns:1fr}.bk-summary-grid>div.wide{grid-column:auto}.bk-review-summary{display:block}.bk-review-pill{margin-top:10px}.bk-form-actions{flex-direction:column-reverse;align-items:stretch}.bk-form-actions .btn{width:100%;justify-content:center}.bk-service-choice-grid{grid-template-columns:1fr}.check-card,.radio-card{min-height:48px}.bk-report-section input:not([type=checkbox]):not([type=radio]),.bk-report-section textarea,.bk-service-form input:not([type=checkbox]):not([type=radio]),.bk-service-form textarea,.bk-service-form select{font-size:16px}}

/* v2.6.1 — prototype-aligned BK report workflow */
.bk-workflow-strip span.done{background:#e8f5ee;color:#0b6d4b;font-weight:800}
.section-title.plain{padding-left:44px}.section-title.plain>div{width:100%}
.bk-monitoring-layout{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1.75fr);gap:16px;align-items:start}
.bk-queue-panel{position:sticky;top:98px;padding:14px}.bk-queue-panel .panel-head{margin-bottom:8px}.bk-queue-panel h3{margin:2px 0 0}
.bk-queue-list{display:grid;gap:7px}.bk-queue-item{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid transparent;border-radius:12px}.bk-queue-item:hover{background:#f4faf6}.bk-queue-item.active{background:#edf8f2;border-color:#cfe7da}.bk-queue-item .avatar{width:34px;height:34px;border-radius:10px;font-size:12px}.bk-queue-item>span:last-child{min-width:0}.bk-queue-item b,.bk-queue-item small{display:block}.bk-queue-item b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bk-queue-item small{font-size:10px;color:#64786f;margin-top:2px;line-height:1.35}
.bk-review-form>label:not(.check-card),.bk-service-form>label,.bk-service-form .two-fields>label{display:grid;gap:6px;margin:12px 0;font-size:12.5px;font-weight:750;color:#294b40}
.bk-review-form textarea,.bk-review-form input:not([type=checkbox]):not([type=radio]),.bk-service-form textarea,.bk-service-form input:not([type=checkbox]):not([type=radio]),.bk-service-form select{width:100%;min-height:46px;border:1px solid #dce8e2;border-radius:10px;padding:10px 12px;background:#fff;color:#173f32;font:inherit;font-size:14px;line-height:1.45}
.bk-review-form textarea,.bk-service-form textarea{min-height:96px;resize:vertical}
.bk-review-form textarea:focus,.bk-review-form input:focus,.bk-service-form textarea:focus,.bk-service-form input:focus,.bk-service-form select:focus{outline:0;border-color:#3c9b76;box-shadow:0 0 0 4px rgba(12,122,84,.08)}
.bk-form-step{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid #e5eee9}.bk-form-step.last{padding-bottom:0;margin-bottom:0;border-bottom:0}.bk-form-step>.section-title{margin-bottom:14px}
.bk-service-form .bk-component-grid{margin-bottom:18px}.bk-service-form fieldset{margin:14px 0 18px}.bk-service-form fieldset legend{font-size:13px}.bk-service-form .two-fields{margin:0}.bk-service-form .bk-detail{margin:14px 0 0}.bk-service-form .btn.wide{margin-top:14px;min-height:46px}
@media(max-width:1050px){.bk-monitoring-layout{grid-template-columns:1fr}.bk-queue-panel{position:static}.bk-queue-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.section-title.plain{padding-left:0}.bk-queue-list{grid-template-columns:1fr}.bk-queue-panel{padding:12px}.bk-review-form>label:not(.check-card),.bk-service-form>label,.bk-service-form .two-fields>label{font-size:13.5px}.bk-review-form textarea,.bk-review-form input:not([type=checkbox]):not([type=radio]),.bk-service-form textarea,.bk-service-form input:not([type=checkbox]):not([type=radio]),.bk-service-form select{font-size:16px;min-height:48px}.bk-form-step{padding-bottom:18px;margin-bottom:18px}}
@media(max-width:768px){
  .planning-option{padding-left:42px;position:relative}
  .planning-option input[type=radio],.planning-option input[type=checkbox]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:2}
  .planning-option::before{content:"";position:absolute;left:13px;top:14px;width:20px;height:20px;border:2px solid #9bb7aa;background:#fff;box-sizing:border-box;z-index:1}
  .planning-option:has(input[type=radio])::before{border-radius:50%}
  .planning-option:has(input[type=checkbox])::before{border-radius:5px}
  .planning-option:has(input:checked)::before{border-color:#08754c;background:#08754c;box-shadow:inset 0 0 0 4px #fff}
  .planning-option>span{display:block;min-width:0;width:100%;overflow-wrap:anywhere;word-break:normal;position:relative;z-index:1}
}


/* ========================================================================
   EXOLINK Unified v2.6.3 — UI/UX cascade-collision hardening and revalidation
   Scope: visual & interaction presentation only. No domain content or logic.
   Product typography targets (not psychometric rules):
   - adult working copy: >=14px desktop, >=14.5px compact/mobile
   - student primary copy: >=15px desktop, >=15.5px mobile
   - secondary/supporting copy: >=12.5px
   - interactive targets: >=44px; primary student targets >=48px
   ======================================================================== */
:root{
  --exo-fs-support:12.5px;
  --exo-fs-meta:13px;
  --exo-fs-label:14px;
  --exo-fs-body:14.5px;
  --exo-fs-student:15.5px;
  --exo-fs-control:15px;
  --exo-leading-tight:1.35;
  --exo-leading-body:1.58;
  --exo-space-section:22px;
}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--exo-fs-body);line-height:var(--exo-leading-body)}
.content{line-height:var(--exo-leading-body)}
.content p{font-size:var(--exo-fs-body);line-height:var(--exo-leading-body)}
.content small{font-size:var(--exo-fs-support);line-height:1.45}
.eyebrow{font-size:12px;line-height:1.4;letter-spacing:.11em}
.badge{font-size:12.5px;line-height:1.35}
.btn,button,input,select,textarea{font-size:var(--exo-fs-control)}
.btn,button:not(.answer-option):not(.planning-option){min-height:44px}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;line-height:1.45}

/* Navigation & shell readability */
.brand strong{font-size:18px}.brand small{font-size:12px;line-height:1.35}
.nav-item{font-size:14.5px;line-height:1.35;min-height:46px}
.sidebar-note strong{font-size:13.5px}.sidebar-note small{font-size:12.5px;line-height:1.4}
.user-mini-copy strong{font-size:13.5px}.user-mini-copy small{font-size:12px}
.topbar-title h1{font-size:22px;line-height:1.2}.topbar-title .eyebrow{font-size:11.5px}
.topbar-search input{font-size:14.5px}
.page-intro h2,.page-intro h1{line-height:1.2}
.page-intro p{max-width:74ch}

/* Generic content cards, tables and forms */
.panel,.report-card,.settings-card,.monitor-card,.welcome-card,.domain-card{line-height:1.52}
.panel h2,.panel h3,.report-card h2,.report-card h3,.settings-card h3{line-height:1.28}
.data-table td,.data-table th{font-size:13.5px;line-height:1.45;padding-top:11px;padding-bottom:11px}
.form-stack label,.field-label,.bk-review-form>label:not(.check-card),.bk-service-form>label{font-size:14px;line-height:1.4}
.form-stack small,.source-list small,.priority-list small,.domain-meta{font-size:12.5px;line-height:1.45}
.stat-card small,.stat-card p{font-size:12.5px!important;line-height:1.45}
.stat-card strong{line-height:1.1}

/* Student dashboard: age-appropriate legibility and scanability */
.role-student .content{font-size:var(--exo-fs-student)}
.role-student .student-hero-copy h2{font-size:27px;line-height:1.16;margin-bottom:7px}
.role-student .student-hero-copy h2 span{font-size:20px}
.role-student .student-hero-copy p{font-size:14.5px!important;line-height:1.5;margin-bottom:10px}
.role-student .student-hero-copy blockquote{font-size:15px;line-height:1.55;max-width:42ch}
.mockup-main-title h3,.mockup-section h3{font-size:17px;line-height:1.3}
.section-title-row a{font-size:13.5px;line-height:1.35;min-height:44px;padding:8px 4px}
.student-quick-grid{gap:12px}
.student-quick-card{min-height:108px;padding:15px 16px;border-radius:14px;grid-template-columns:46px 1fr;column-gap:12px}
.student-quick-icon{width:44px;height:44px;border-radius:12px}
.student-quick-card strong{font-size:15px!important;line-height:1.3}
.student-quick-card small{font-size:13px!important;line-height:1.42;margin-top:2px}
.mockup-section{margin-top:var(--exo-space-section)}
.development-mini-grid{gap:12px}
.development-mini-grid article{min-height:112px;padding:13px 14px;border-radius:13px}
.development-mini-grid b{font-size:14px;line-height:1.35}
.development-mini-grid small{font-size:12.5px!important;line-height:1.42;margin-top:3px}
.development-mini-grid i{height:6px}
.counselor-message{padding:15px 17px;border-radius:13px;gap:13px}
.message-avatar{width:42px;height:42px;font-size:12px}
.counselor-message b{font-size:14.5px}.counselor-message p{font-size:14px!important;line-height:1.55}.counselor-message small{font-size:12.5px}
.interest-bar{gap:12px;padding:14px;border-radius:13px}
.interest-bar b,.interest-bar strong{font-size:14px;line-height:1.35}
.interest-bar i{height:6px}
.step-line{gap:10px;padding:15px 12px;border-radius:13px}
.step-line span{font-size:13.5px;line-height:1.35}
.step-line span small{font-size:12px;line-height:1.35;margin-top:4px}
.step-line span:before{width:26px;height:26px;margin-bottom:7px}
.transition-grid{gap:11px}.transition-grid article{padding:14px 10px;border-radius:12px;min-height:72px}
.transition-grid b{font-size:13.5px}.transition-grid strong{font-size:14.5px;line-height:1.35}
.dashboard-quote{font-size:14.5px;line-height:1.55;padding:14px 16px;border-radius:12px}

/* Student assessment: readable question + full-width response choices */
.assessment-card{line-height:1.55}
.assessment-card h3{font-size:19px;line-height:1.4}
.assessment-card p,.assessment-card .question-help{font-size:14.5px;line-height:1.55}
.answer-option{min-height:54px;padding:12px 14px;border-radius:12px;align-items:flex-start}
.answer-text{font-size:16px!important;line-height:1.5}
.answer-option input{width:20px;height:20px;min-width:20px;margin-top:2px}
.assessment-progress,.stage-pill{font-size:13px}
.assessment-actions .btn{min-height:48px;font-size:15px}

/* Guided planning: remove administrative density while preserving content */
.planning-type-card{min-height:88px;padding:14px;border-radius:14px}
.planning-type-card b{font-size:14.5px;line-height:1.35}.planning-type-card small{font-size:13px;line-height:1.5}
.planning-guide{padding:14px 15px;border-radius:14px}.planning-guide b{font-size:14.5px}.planning-guide small{font-size:13px;line-height:1.55}
.planning-question{padding:15px 16px;border-radius:14px}
.planning-question legend b{font-size:15.5px;line-height:1.48}.planning-question legend em{font-size:12px}
.question-help{font-size:13.5px;line-height:1.5;margin-bottom:11px}
.planning-option{min-height:50px;padding:11px 12px 11px 44px;font-size:14.5px;line-height:1.45;border-radius:11px}
.planning-submit b{font-size:14px}.planning-submit small{font-size:12.5px;line-height:1.45}
.planning-answer-list span{font-size:12.5px}.planning-answer-list b{font-size:14px;line-height:1.48}
.planning-steps b{font-size:13.5px}.planning-steps span{font-size:12.5px;line-height:1.45}

/* BK report & follow-up workspace */
.bk-workflow-strip span{font-size:13px!important;line-height:1.35}
.bk-student-header h2,.bk-student-header h3{line-height:1.25}
.bk-report-section{line-height:1.55}
.bk-report-section h3,.bk-form-step h3{font-size:17px;line-height:1.3}
.bk-evidence-row>*{font-size:13.5px;line-height:1.48}
.bk-summary-grid b,.bk-question-grid b,.bk-decision-grid b{font-size:14px;line-height:1.4}
.bk-summary-grid small,.bk-question-grid small,.bk-decision-grid small{font-size:12.5px;line-height:1.45}
.check-card,.radio-card{font-size:14px;line-height:1.45;min-height:48px}
.bk-service-choice-grid b{font-size:14.5px}.bk-service-choice-grid small{font-size:12.5px;line-height:1.5}
.bk-review-pill,.bk-review-summary{font-size:13px;line-height:1.45}

/* Mobile & tablet: prioritize reading comfort over information density */
@media(max-width:900px){
  .content{padding-left:18px;padding-right:18px}
  .panel,.report-card,.settings-card,.monitor-card{border-radius:15px}
}
@media(max-width:760px){
  :root{--exo-fs-body:14.5px;--exo-fs-student:15.5px;--exo-fs-control:16px}
  .topbar{height:68px;padding:0 14px}.topbar-title h1{font-size:19px}
  .content{padding:16px 14px 34px}
  .content p{font-size:14.5px;line-height:1.6}
  .eyebrow{font-size:11.5px}.badge{font-size:12.5px}
  .btn{min-height:48px;font-size:15px;padding-top:11px;padding-bottom:11px}
  .icon-button,.topbar-icon,.topbar-menu{min-width:44px;min-height:44px}
  .data-table td,.data-table th{font-size:14px}
  .panel{padding:17px}

  .role-student .content{padding-top:12px}
  .role-student .mockup-hero{height:auto;min-height:154px;grid-template-columns:minmax(0,1fr) 132px;border-radius:14px}
  .role-student .student-hero-copy{padding:17px 15px}
  .role-student .student-hero-copy h2{font-size:22px;line-height:1.16}
  .role-student .student-hero-copy p{font-size:14px!important;line-height:1.5}
  .role-student .student-hero-copy blockquote{font-size:14px;line-height:1.52}
  .role-student .mockup-hero img{width:132px;height:100%;min-height:154px;object-fit:cover}
  .mockup-main-title{margin:18px 0 10px}.mockup-main-title h3{font-size:17px}
  .student-quick-grid{gap:10px}
  .student-quick-card{min-height:116px;padding:14px;border-radius:14px}
  .student-quick-card strong{font-size:15px!important}.student-quick-card small{font-size:13px!important}
  .student-quick-icon{width:42px;height:42px}
  .mockup-section{margin-top:22px}.mockup-section h3{font-size:16px}.section-title-row a{font-size:13px}
  .development-mini-grid{gap:10px}.development-mini-grid article{min-height:112px;padding:13px}
  .development-mini-grid b{font-size:14px}.development-mini-grid small{font-size:12.5px!important}
  .interest-bar{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}
  .interest-bar b,.interest-bar strong{font-size:13.5px}
  .step-line{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:15px}
  .step-line span{font-size:13.5px}.step-line span small{font-size:12.5px}
  .transition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .transition-grid b{font-size:13.5px}.transition-grid strong{font-size:14px}
  .dashboard-quote{font-size:14px;line-height:1.55;padding:15px}

  .assessment-card{padding:20px 16px}.assessment-card h3{font-size:19px}.assessment-card p{font-size:14.5px}
  .answer-option{min-height:56px;padding:13px 14px}.answer-text{font-size:16px!important}

  .planning-type-grid{grid-template-columns:1fr}.planning-type-card{min-height:82px}
  .planning-layout{grid-template-columns:1fr}.planning-context{position:static}
  .planning-options.multi,.planning-options.single{grid-template-columns:1fr}
  .planning-question legend b{font-size:15.5px}.question-help{font-size:13.5px}
  .planning-option{font-size:15px;min-height:52px;padding-left:44px}

  .bk-workflow-strip{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.bk-workflow-strip span{font-size:13px!important;white-space:nowrap;min-height:38px;display:inline-flex;align-items:center}
  .bk-report-section{padding:17px}.bk-report-section h3,.bk-form-step h3{font-size:17px}
  .bk-evidence-row>*{font-size:14px}.bk-summary-grid b,.bk-question-grid b,.bk-decision-grid b{font-size:14.5px}
  .check-card,.radio-card{font-size:14.5px;min-height:50px}
}
@media(max-width:420px){
  .content{padding-left:13px;padding-right:13px}
  .role-student .mockup-hero{grid-template-columns:minmax(0,1fr) 116px;min-height:160px}
  .role-student .mockup-hero img{width:116px;min-height:160px}
  .role-student .student-hero-copy{padding:16px 13px}
  .role-student .student-hero-copy h2{font-size:21px}
  .role-student .student-hero-copy blockquote{font-size:13.5px}
  .student-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-quick-card{min-width:0}
}

/* ========================================================================
   EXOLINK Unified v2.7.0 — Regulatory-first Program BK backbone
   Presentation only: needs → program → operational plan → RPLBK → execution
   → evaluation → follow-up. Content/domain decisions remain human-reviewed.
   ======================================================================== */
.bk-program-intro{align-items:flex-start}
.bk-program-stepper{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 18px}
.bk-program-stepper a{display:flex;align-items:center;gap:9px;min-height:52px;padding:10px 12px;border:1px solid var(--line,#dfe9e4);border-radius:13px;background:#fff;color:inherit;text-decoration:none;min-width:0}
.bk-program-stepper a span{width:28px;height:28px;min-width:28px;border-radius:50%;display:grid;place-items:center;background:#edf7f2;color:#0b7a52;font-weight:800;font-size:12px}
.bk-program-stepper a b{font-size:13px;line-height:1.25;white-space:normal}
.bk-program-stepper a.active{border-color:#72c8a6;background:#f1fbf6;box-shadow:0 7px 18px rgba(9,119,78,.08)}
.bk-program-stepper a.active span{background:#0a9b66;color:white}
.bk-program-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.bk-domain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.bk-domain-grid>div{padding:13px 14px;border:1px solid #dcebe4;background:#f8fcfa;border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}
.bk-domain-grid span{font-size:13px;font-weight:700}.bk-domain-grid strong{font-size:22px;line-height:1;color:#087d55}.bk-domain-grid small{grid-column:1/-1;color:#6f7f78}
.bk-need-summary{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border-radius:12px;background:#eaf8f1;margin-bottom:12px}.bk-need-summary b{font-size:14px}.bk-need-summary span{font-size:13px;color:#52655c}
.bk-details{border-top:1px solid #e2ebe6;padding-top:10px}.bk-details summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.bk-program-list{display:grid;gap:10px;margin-top:14px}.bk-program-list article{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:13px 14px;border:1px solid #e0e9e5;border-radius:12px;background:#fff}.bk-program-list article>div{display:grid;gap:3px;min-width:0}.bk-program-list b{font-size:14.5px;line-height:1.35}.bk-program-list small,.bk-program-list span{font-size:12.5px;line-height:1.45;color:#61736b}.bk-program-list .badge{flex:0 0 auto}
.form-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 14px}.form-grid-2>label{display:grid;gap:6px;font-weight:700;font-size:14px}.form-grid-2 .span-2{grid-column:1/-1}.form-grid-2 input,.form-grid-2 select,.form-grid-2 textarea{width:100%}
.bk-program-principle{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin-top:16px;background:#f5fbf8}.bk-program-principle p{margin:3px 0 0}
@media(max-width:980px){.bk-program-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.bk-program-grid{grid-template-columns:1fr}}
@media(max-width:760px){.bk-program-stepper{grid-template-columns:1fr 1fr;gap:7px}.bk-program-stepper a{min-height:48px;padding:9px 10px}.bk-program-stepper a b{font-size:12.5px}.bk-domain-grid{grid-template-columns:1fr 1fr}.form-grid-2{grid-template-columns:1fr}.form-grid-2 .span-2{grid-column:auto}.bk-program-list article{gap:10px}.bk-program-principle{grid-template-columns:1fr}.bk-program-principle>.icon{margin-bottom:4px}}
@media(max-width:420px){.bk-program-stepper{grid-template-columns:1fr}.bk-domain-grid{grid-template-columns:1fr}.bk-program-list article{flex-direction:column}.bk-program-list .badge{align-self:flex-start}}

/* ========================================================================
   EXOLINK v2.8.0 checkpoint — WCAG 2.2 contrast hardening
   Release rule: readability/accessibility is a hard gate, not a cosmetic pass.
   This layer only raises text contrast; layout, brand identity and workflow are unchanged.
   ======================================================================== */
:root{--muted:#60746b;--exo-readable-muted:#60746b}
.footer,
.microcopy,
.data-table th,
.skkpd-head,
.student-quick-card small,
.counselor-message small,
.step-line span small,
.review-panel .body-copy,
.priority-list>a small,
.dashboard-shortcuts nav small,
.impact-flow span,
.impact-secondary>div small,
.impact-secondary p{color:var(--exo-readable-muted)!important}

/* v2.8.1 accessibility hardening: keyboard bypass + explicit focus target */
.skip-link{position:fixed;z-index:9999;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#083f2e;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:3px solid #fff;outline-offset:2px}
#main-content:focus{outline:none}

.official-report-header{border-bottom:2px solid var(--ink);padding:8px 0 16px;margin:8px 0 14px;text-align:center}.official-school-identity{display:flex;flex-direction:column;gap:2px}.official-school-identity strong{font-size:17px}.official-school-identity span{font-size:9px;color:var(--muted)}.official-title h2{font-size:18px;margin:15px 0 4px;text-transform:uppercase}.official-title p{margin:0;font-size:10px}.official-report-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 0 14px;border-bottom:1px solid var(--line);font-size:9px}.official-report-meta span{display:block}.report-card small{display:block;margin-top:8px;font-size:8px;color:var(--muted);line-height:1.4}
@media(max-width:760px){.official-report-meta{grid-template-columns:1fr}.official-title h2{font-size:16px}}
@media print{.page-intro,.report-catalog-grid,.report-history,.report-preview-toolbar,.privacy-banner{display:none!important}.official-report-preview{border:0!important;padding:0!important;margin:0!important}.official-report-header{margin-top:0}.official-report-meta{grid-template-columns:repeat(3,1fr)}body{background:#fff!important}}

/* v2.10.1 official default reporting templates */
.official-document-body{font-size:10px;line-height:1.55;color:var(--ink)}
.official-document-body h3{margin:22px 0 10px;font-size:14px;text-align:center}.official-document-body h4{margin:14px 0 6px;font-size:11px}
.official-format-note{padding:8px 10px;margin:0 0 12px;border:1px solid var(--line);background:#f8faf9;color:var(--muted);font-size:8px}
.official-journal-context{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0 12px}.official-journal-context span{border-bottom:1px solid var(--line);padding:5px 0}
.official-table-wrap{width:100%;overflow-x:auto;margin:8px 0 16px}.official-table{width:100%;border-collapse:collapse;font-size:8px}.official-table th,.official-table td{border:1px solid #555;padding:5px 6px;vertical-align:top;text-align:left}.official-table th{background:#f4f4f4;font-weight:700;text-align:center}.official-journal-table th:nth-child(1){width:4%}.official-journal-table th:nth-child(2){width:11%}
.official-evaluation-table{font-size:7px;min-width:980px}.official-signature-grid{display:grid;grid-template-columns:1fr 260px;gap:24px;margin-top:24px}.signature-space{height:55px}.official-frontmatter{text-align:center;padding:18px 8px 26px}.official-frontmatter h3{margin-top:0}.official-frontmatter hr{border:0;border-top:1px solid var(--line);margin:22px 0}.official-adaptation-note{font-size:8px;color:var(--muted)}
@media(max-width:760px){.official-journal-context{grid-template-columns:1fr}.official-signature-grid{grid-template-columns:1fr}.official-table{min-width:720px}.official-table-wrap{-webkit-overflow-scrolling:touch}}
@media print{.official-format-note{display:none!important}.official-table-wrap{overflow:visible}.official-table{font-size:8pt}.official-evaluation-table{font-size:6.6pt;min-width:0}.official-table th,.official-table td{padding:3pt}.page-break-before{break-before:page;page-break-before:always}.official-frontmatter{break-after:page;page-break-after:always}.official-program-report h3{break-after:avoid}.official-signature-grid{break-inside:avoid}}
@media print{
  @page{size:A4 portrait;margin:12mm}
  @page appendix{size:A4 landscape;margin:8mm}
  .official-appendix{page:appendix}
}
.official-cover-page{min-height:860px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:80px 24px 30px}.official-cover-page h1{max-width:720px;font-size:24px;line-height:1.35;margin:70px 0 12px;text-transform:uppercase}.official-cover-school{font-size:18px;font-weight:800}.official-cover-spacer{flex:1}.official-front-page{min-height:820px;padding:32px 12px}.official-front-page>h3{text-align:center;margin-bottom:30px}.official-approval-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;text-align:center;margin-top:80px}.official-toc{line-height:2}.official-program-report .report-summary-block,.official-program-report .report-summary-row{background:#fff}
@media print{.official-program-preview-header,.official-program-report~*{background:#fff!important}.official-report-meta{display:none!important}.official-report-preview,.official-document-body,.official-front-page,.official-cover-page,.official-appendix{background:#fff!important}.compact-metrics>div{background:#fff!important;border-radius:0!important;padding:5pt 0!important;border:0!important;border-bottom:1px solid #ddd!important}.official-cover-page,.official-front-page{min-height:0;height:auto}.official-approval-grid{break-inside:avoid}}
@media print{html,body,main,main.official-report-preview,.official-report-preview,.official-document-body,.official-program-report,.official-appendix{background:#fff!important;background-image:none!important}}


/* v2.11.0 BK workflow simplification + POP report-fidelity repair */
.workdesk-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:16px}.workdesk-actions{display:grid;gap:10px}.workdesk-action{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);background:#fff}.workdesk-action:hover{border-color:var(--green-500);background:var(--soft)}.workdesk-action.primary{border-color:var(--green-600);background:linear-gradient(135deg,#f3fff9,#fff)}.workdesk-action b{display:flex;justify-content:space-between;gap:10px;font-size:14px}.workdesk-action em{font-style:normal;min-width:28px;text-align:center;border-radius:999px;background:var(--green-100);padding:2px 8px}.workdesk-action span{font-size:11px;color:var(--muted);line-height:1.45}.bk-admin-flow>summary{cursor:pointer;font-weight:800}.bk-program-stepper.compact{margin-top:12px}
.official-journal-letterhead{text-align:center;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:14px}.official-journal-letterhead div{display:flex;flex-direction:column;gap:3px}.official-journal-letterhead b{font-size:14px}.official-journal-letterhead span{font-size:9px}.official-journal-title{text-align:center;font-size:14px;margin:12px 0}.official-journal-context-pop{grid-template-columns:repeat(5,1fr)}.official-appendix-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;margin:8px 0 14px;font-size:8.2pt}.official-appendix-meta span{border-bottom:1px solid #888;padding:4px 0}.appendix-service-title{text-align:left!important;margin-top:12px!important}.official-analysis-table,.official-obstacle-table,.official-activities-table{table-layout:fixed}.official-evaluation-table{table-layout:fixed;min-width:0!important}.official-evaluation-table th:nth-child(1){width:11%}.official-evaluation-table th:nth-child(2){width:14%}.official-evaluation-table th:nth-child(3){width:12%}.official-evaluation-table th:nth-child(4){width:16%}.official-evaluation-table th:nth-child(5){width:18%}.official-evaluation-table th:nth-child(6){width:9%}.official-evaluation-table th:nth-child(7){width:9%}.official-evaluation-table th:nth-child(8){width:11%}.official-evaluation-table td{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:900px){.workdesk-grid{grid-template-columns:1fr}.official-journal-context-pop{grid-template-columns:1fr 1fr}}
@media print{.official-journal-letterhead,.official-journal-title{break-inside:avoid}.official-evaluation-table{font-size:7.1pt!important;line-height:1.18}.official-evaluation-table th,.official-evaluation-table td{padding:2.6pt!important}.official-appendix{page:appendix}.official-report-chapters p{font-size:10.5pt;line-height:1.55}.official-analysis-table,.official-obstacle-table,.official-activities-table{font-size:8.5pt!important}}

/* v2.11.0 - POP Lampiran 31 visual fidelity repair */
.pop31-service-block{margin:8px 0 18px}.pop31-matrix{width:100%;table-layout:fixed;border-collapse:collapse;font-size:8.2pt}.pop31-matrix th,.pop31-matrix td{border:1px solid #222!important;padding:5px!important;vertical-align:top;overflow-wrap:anywhere}.pop31-matrix th{text-align:center;font-weight:700;background:#f2f2f2!important;color:#111!important}.pop31-matrix .pop31-description{min-height:64px}.pop31-list{margin:0;padding-left:16px}.pop31-list li{margin:0 0 3px}.official-appendix{page:appendix}.official-journal-document{page:journal}
@media print{
  @page appendix{size:A4 portrait;margin:12mm}
  @page journal{size:A4 portrait;margin:12mm}
  .pop31-matrix{font-size:8.2pt!important;line-height:1.25}.pop31-matrix th,.pop31-matrix td{padding:4pt!important}
  .pop31-service-block{break-inside:avoid;page-break-inside:avoid}
}

.current-program-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.current-program-strip span{color:var(--muted);font-size:12px}.current-program-strip b{font-size:13px}.compact-program-switch{margin-bottom:12px}


/* v2.11.1 fidelity delta: Lampiran 33 geometry, BAB III pagination, and closed mobile drawer */
.official-journal-period{text-align:center;line-height:1.6;margin:6px 0 12px;font-size:9px}
.official-journal-class-week{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:4px 0 9px;font-size:9px}
.official-journal-signature{width:260px;margin:24px 0 0 auto;text-align:left}
.official-report-bab3,.official-report-saran{break-inside:avoid;page-break-inside:avoid}
@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
  .sidebar{transform:translateX(calc(-100% - 56px));box-shadow:none}
  .sidebar.open{transform:translateX(0);box-shadow:0 18px 45px rgba(15,60,45,.16)}
  .main-column,.content{max-width:100%;min-width:0}
}
@media(max-width:760px){
  .official-journal-class-week{align-items:flex-start}
  .official-journal-signature{width:min(260px,100%)}
}
@media print{
  .official-journal-period,.official-journal-class-week,.official-journal-signature{break-inside:avoid;page-break-inside:avoid}
  .official-journal-signature{width:250px;margin-left:auto;margin-right:0}
  .official-report-bab3,.official-report-saran{break-inside:avoid!important;page-break-inside:avoid!important}
}

.report-input-trace{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;border:1px solid #dcebe3;border-radius:10px;background:#f7fbf9;font-size:11px}.report-input-trace b{color:var(--g)}.report-input-trace span{font-weight:700}.report-input-trace small{width:100%;color:var(--muted)}
@media print{.report-input-trace{display:none!important}}


/* v2.12.1 — role-minimal UI + contextual help */
.context-help{position:relative;display:inline-flex;align-self:flex-start;z-index:8}
.context-help>summary{list-style:none;width:30px;height:30px;border:1px solid #cfe1d8;border-radius:999px;background:#fff;color:var(--g);display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(20,108,67,.07)}
.context-help>summary::-webkit-details-marker{display:none}.context-help>summary:hover,.context-help[open]>summary{background:var(--g3);border-color:#a9cdbb}
.context-help-card{position:absolute;right:0;top:38px;width:min(320px,calc(100vw - 48px));padding:13px 14px;border:1px solid #d7e6de;border-radius:13px;background:#fff;box-shadow:0 16px 38px rgba(25,66,50,.14);color:var(--ink);z-index:80}
.context-help-left .context-help-card{left:0;right:auto}.context-help-card b{display:block;font-size:12px;margin-bottom:5px}.context-help-card p{margin:0!important;font-size:11px!important;line-height:1.55;color:var(--muted)!important;text-transform:none;letter-spacing:0;font-weight:500}
.dashboard-focus>.context-help{margin-left:auto}.page-intro>.context-help{margin-left:auto;margin-bottom:3px}.page-intro-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.page-bottom-help{display:flex;justify-content:flex-end;margin-top:10px}.report-help-row{display:flex;justify-content:flex-end;margin:6px 0 12px}.impact-secondary>.context-help{margin-left:auto}.assessment-help>.context-help{margin-left:auto}.section-title>.context-help{margin-left:auto}.bk-form-step fieldset>.context-help{float:right;margin-top:-4px}.bk-intervention-layout aside>.context-help{margin-top:12px}
.dashboard-focus{align-items:flex-start}.dashboard-focus .human-review-chip{display:none!important}.student-summary-grid .panel.compact{min-height:98px}.student-summary-grid .panel.compact .big-number{margin-top:9px}
@media(max-width:760px){.context-help-card{position:fixed;left:16px!important;right:16px!important;top:auto;bottom:18px;width:auto;max-width:none}.page-intro{align-items:flex-start}.page-intro-actions{margin-left:0}.dashboard-focus>.context-help{margin-left:0}.impact-secondary>.context-help{margin-left:0}}

.help-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.help-manual-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 7px 24px rgba(28,65,50,.045);overflow:hidden}.help-manual-card summary{list-style:none;display:flex;align-items:center;gap:10px;padding:15px 16px;cursor:pointer;color:var(--ink);font-size:12px;font-weight:750}.help-manual-card summary::-webkit-details-marker{display:none}.help-manual-card summary svg{color:var(--g)}.help-manual-card summary i{margin-left:auto;font-style:normal;color:var(--g);font-size:17px}.help-manual-card[open] summary i{transform:rotate(45deg)}.help-manual-card p{margin:0;padding:0 16px 16px 44px;color:var(--muted);font-size:11px;line-height:1.6}.help-safety{margin-top:14px}.help-safety h3{margin-top:0}.topbar-icon svg{margin:auto}
@media(max-width:760px){.help-card-grid{grid-template-columns:1fr}}
@media print{.context-help,.page-bottom-help,.report-help-row{display:none!important}}

/* v2.15.1 accessibility/content-preservation remediation: keep useful student guidance available on small screens. */
@media(max-width:760px){.role-student .counselor-message{display:flex}}

/* v2.14 canonical delta: counselor analysis workbench only. Baseline v2.13.1 selectors above are unchanged. */
.analysis-inline-form{display:inline-flex;align-items:center}.analysis-workbench{margin-top:16px;padding:0;overflow:hidden}.analysis-workbench-head{padding:18px 20px 14px;background:linear-gradient(135deg,#f6fcf8,#fff)}.analysis-workbench-head h3{margin:4px 0 6px}.analysis-tabs{display:flex;gap:4px;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 14px;background:#fff;scrollbar-width:thin}.analysis-tabs a{white-space:nowrap;padding:13px 12px 11px;color:var(--muted);font-size:12px;font-weight:700;border-bottom:2px solid transparent}.analysis-tabs a.active{color:var(--g);border-color:var(--g)}.analysis-tab-body{padding:18px 20px 20px}.analysis-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analysis-overview-grid article{border:1px solid var(--line);border-radius:13px;padding:13px;background:#fff}.analysis-overview-grid span{display:block;color:var(--muted);font-size:10px}.analysis-overview-grid b{display:block;font-size:18px;margin-top:5px}.analysis-evidence-table{border:1px solid var(--line);border-radius:13px;overflow:hidden}.analysis-evidence-row{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;padding:12px 14px;border-top:1px solid var(--line);align-items:start}.analysis-evidence-row:first-child{border-top:0}.analysis-evidence-row.head{background:#f6faf7;color:var(--muted);font-size:11px}.evidence-chip{display:inline-block;margin:2px 4px 2px 0;padding:5px 7px;border-radius:999px;background:#edf7f1;color:#276347;font-size:10px;font-weight:700}.analysis-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.analysis-section-title h4{margin:0}.analysis-option-list,.analysis-confirm-list,.analysis-history{display:grid;gap:10px}.analysis-option-list article,.analysis-history article{border:1px solid var(--line);border-radius:13px;padding:13px 14px}.analysis-option-list p,.analysis-history p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.analysis-confirm-list>div{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:11px;background:#fff}.analysis-confirm-list>div>span{color:var(--g);font-weight:800}.analysis-confirm-list p{margin:0;font-size:12px;line-height:1.5}.analysis-meta{padding:10px 20px 14px;border-top:1px dashed var(--line);color:var(--muted);font-size:10px;background:#fbfdfc}
@media(max-width:900px){.analysis-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-evidence-row{grid-template-columns:1fr}.analysis-section-title{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.analysis-overview-grid{grid-template-columns:1fr}.analysis-tab-body{padding:15px}.analysis-workbench-head{padding:16px}.analysis-tabs{padding:0 8px}.analysis-inline-form{width:100%}.analysis-inline-form .btn{width:100%;justify-content:center}}


/* v2.15.2 targeted form fidelity: consistent file chooser without changing global form system */
.file-picker{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;min-height:48px;margin-top:7px;padding:6px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer}
.file-picker:focus-within{outline:3px solid rgba(0,139,94,.18);outline-offset:2px}
.file-picker-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border-radius:9px;background:var(--green,#0b8b62);color:#fff;font-weight:700}
.file-picker-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:500}
@media(max-width:480px){.file-picker{grid-template-columns:1fr}.file-picker-button{min-height:40px}.file-picker-name{padding:0 6px 4px;white-space:normal;overflow-wrap:anywhere}}


/* v2.15.3 targeted usability fixes: login width + evidence visualization. */
.mockup-login-panel{width:min(380px,calc(100vw - 56px))!important;max-width:380px!important}
.evidence-dashboard-panel{margin:16px 0}
.evidence-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:20px;align-items:start}
.evidence-bar-chart{display:grid;gap:12px}.evidence-bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:11px}.evidence-bar-row>div:first-child span{font-weight:700}.evidence-bar-row>div:first-child b{color:var(--g)}
.evidence-bar-track{height:10px;background:#eef4f0;border-radius:999px;overflow:hidden;margin-top:5px}.evidence-bar-track i{display:block;height:100%;width:min(var(--v),100%);background:linear-gradient(90deg,#62b88a,var(--g));border-radius:inherit}.evidence-bar-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.workflow-mini-chart{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.workflow-mini-chart>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--g4)}.workflow-mini-chart span,.workflow-mini-chart strong{display:block}.workflow-mini-chart span{font-size:10px;color:var(--muted)}.workflow-mini-chart strong{font-size:22px;margin-top:4px}
.evidence-source-note{margin-bottom:14px}.evidence-source-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.evidence-source-chips span{padding:7px 10px;border-radius:999px;background:var(--g4);border:1px solid #d8e9df;font-size:10px;font-weight:700;color:#32594a}
.evidence-intake-grid{align-items:start}
@media(max-width:760px){.mockup-login-shell{padding-left:20px!important;padding-right:20px!important}.mockup-login-panel{width:min(350px,calc(100vw - 40px))!important;max-width:350px!important;padding-left:18px!important;padding-right:18px!important}.evidence-dashboard-grid{grid-template-columns:1fr}.workflow-mini-chart{grid-template-columns:repeat(2,1fr)}.evidence-source-chips span{font-size:11px}.evidence-intake-grid{grid-template-columns:1fr!important}}


/* v2.15.5 UI/UX hard gate remediation — readability, hierarchy, density, contrast. */
:root{
  --muted:#536961;
  --ui-body-min:14px;
  --ui-support-min:12.5px;
  --ui-mobile-body-min:14.5px;
}
/* Never shrink actionable/runtime information to make dense screens fit. */
.analysis-workbench{font-size:var(--ui-body-min)}
.analysis-workbench-head{padding:20px 22px 16px}
.analysis-workbench-head h3{font-size:18px;line-height:1.35}
.analysis-workbench-head p{font-size:14px;line-height:1.55;max-width:860px}
.analysis-tabs{gap:6px;padding:0 16px}
.analysis-tabs a{padding:14px 14px 12px;font-size:14px;line-height:1.35;min-height:44px;display:inline-flex;align-items:center}
.analysis-tab-body{padding:20px 22px 24px}
.analysis-overview-grid{gap:12px}
.analysis-overview-grid article{padding:15px}
.analysis-overview-grid span{font-size:12.5px;line-height:1.45}
.analysis-overview-grid b{font-size:20px;line-height:1.3}
.analysis-evidence-row{padding:14px 16px;gap:14px;line-height:1.55}
.analysis-evidence-row.head{font-size:12.5px;font-weight:750}
.analysis-evidence-row:not(.head)>*{font-size:14px}
.evidence-chip{padding:6px 9px;font-size:12.5px;line-height:1.35}
.analysis-section-title{margin-bottom:14px}
.analysis-section-title h4{font-size:16px;line-height:1.4}
.analysis-option-list,.analysis-confirm-list,.analysis-history{gap:12px}
.analysis-option-list article,.analysis-history article{padding:15px 16px}
.analysis-option-list article>strong,.analysis-history article>strong{font-size:14.5px;line-height:1.45}
.analysis-option-list p,.analysis-history p{font-size:13.5px;line-height:1.6;margin-top:6px}
.analysis-confirm-list>div{padding:13px 15px;min-height:44px}
.analysis-confirm-list p{font-size:14px;line-height:1.6}
.analysis-meta{padding:12px 22px 16px;font-size:12.5px;line-height:1.55}
.analysis-workbench details>summary{min-height:44px;display:flex;align-items:center;font-size:14px;line-height:1.45}
.analysis-workbench .btn{min-height:44px;font-size:14px;padding:10px 15px}
/* Evidence dashboard: readable operational evidence, not decorative microcopy. */
.evidence-dashboard-grid{gap:22px}
.evidence-bar-chart{gap:14px}
.evidence-bar-row>div:first-child{font-size:14px;line-height:1.45}
.evidence-bar-row small{font-size:12.5px;line-height:1.5;margin-top:5px}
.evidence-bar-track{height:11px;margin-top:7px}
.evidence-source-note{font-size:14px;line-height:1.55}
.evidence-source-chips{gap:9px;margin-top:7px}
.evidence-source-chips span{padding:7px 10px;font-size:12.5px;line-height:1.35}
/* Help is secondary, but still readable. */
.sidebar-note strong{font-size:13px}
.sidebar-note small,.user-mini-copy small,.brand small{font-size:12.5px;line-height:1.4}
.user-mini-copy strong{font-size:14px}
.footer{font-size:12.5px;line-height:1.45}
.eyebrow{font-size:12px}
/* Preserve compact badges as labels while keeping legibility. */
.badge{font-size:12px;line-height:1.25;padding:6px 9px}
/* Runtime working controls. */
.btn{min-height:44px;font-size:14px}
.btn.small{min-height:44px;font-size:13px;padding:9px 12px}
.text-link{font-size:13px;min-height:44px;align-items:center}
/* Progressive disclosure: metadata must not visually compete with decision content. */
.analysis-meta{color:#536961;background:#fbfdfc}
@media(max-width:768px){
  .analysis-workbench{font-size:var(--ui-mobile-body-min)}
  .analysis-workbench-head{padding:17px 16px 14px}
  .analysis-workbench-head h3{font-size:18px}
  .analysis-workbench-head p{font-size:14.5px}
  .analysis-tabs{padding:0 8px;gap:3px}
  .analysis-tabs a{font-size:14px;min-height:48px;padding:14px 12px}
  .analysis-tab-body{padding:16px}
  .analysis-evidence-row:not(.head)>*{font-size:14.5px}
  .analysis-evidence-row{padding:14px}
  .analysis-option-list p,.analysis-history p{font-size:14px}
  .analysis-confirm-list p{font-size:14.5px}
  .analysis-meta{padding:12px 16px 15px;font-size:12.5px}
  .evidence-bar-row>div:first-child{font-size:14.5px}
  .evidence-source-chips span{font-size:13px}
  .analysis-workbench .btn{min-height:48px;font-size:15px}
}

/* v2.15.6 subtitle stack fix */
.analysis-option-list .analysis-subtitle{display:block;margin-bottom:6px}
.analysis-option-list .analysis-subcopy{display:block;font-size:14.5px;line-height:1.45;color:var(--ink);margin:0 0 6px}
@media (max-width:768px){.analysis-option-list .analysis-subtitle{margin-bottom:7px}.analysis-option-list .analysis-subcopy{font-size:15px;line-height:1.5}}

/* v2.15.11 login routing clarity */
.portal-audience{margin:0 0 16px;padding:11px 12px;border:1px solid rgba(111,153,137,.20);border-radius:10px;background:rgba(243,250,246,.72);text-align:left}.portal-audience strong,.portal-audience span{display:block}.portal-audience strong{font-size:12px;color:#244b3d;line-height:1.45}.portal-audience span{font-size:11px;color:#6a7a74;line-height:1.45;margin-top:3px}
