/* Nestlyra Focus v42 — distinct module architecture */
.v42-fit-view{min-height:0;overflow:hidden!important}.v42-module{display:flex;min-height:0;height:100%;flex-direction:column}.v42-module .page-head{flex:0 0 auto;margin-bottom:12px}.v42-module>.card,.v42-module>[class$="-board"],.v42-module>[class$="-command"],.v42-module>[class$="-lab"],.v42-module>[class$="-kanban"],.v42-module>[class$="-shelves"],.v42-module>[class$="-studio"],.v42-module>[class$="-roadmaps"],.v42-module>[class$="-horizon"],.v42-module>[class$="-pipeline"]{min-height:0;flex:1}.v42-empty{display:grid;min-height:300px;place-items:center;align-content:center;gap:7px;text-align:center}.v42-empty>span{display:grid;width:52px;height:52px;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--accent) 12%,var(--panel2));color:var(--accent);font-size:24px}.v42-empty h3,.v42-empty p{margin:0}.v42-empty p{max-width:360px;color:var(--muted);font-size:11px}.danger-mini{color:#e35d78!important}

/* dashboard: donut + bar + line, kept inside one desktop viewport */
.v42-role{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;margin:-8px 0 10px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.v42-role span{color:var(--accent);font-size:8px;font-weight:800;letter-spacing:.14em}.v42-role small{color:var(--muted);font-size:8px}.v42-dashboard{display:grid;min-height:0;height:calc(100dvh - 210px);grid-template-columns:minmax(210px,.48fr) minmax(400px,1.2fr) minmax(280px,.72fr);grid-template-rows:minmax(0,1fr) 112px;gap:10px}.v42-dashboard>.card{min-height:0;padding:13px;overflow:hidden}.v42-dashboard .card-title{margin-bottom:8px}.v42-overall{grid-row:1/3}.v42-bars{grid-row:1/3}.v42-line canvas{height:calc(100% - 26px)!important}.v42-overall>div:nth-child(2){position:relative;height:min(30vh,230px);margin:12px auto}.v42-overall canvas{height:100%!important}.v42-overall>div>strong{position:absolute;inset:50% auto auto 50%;font-size:28px;transform:translate(-50%,-50%)}.v42-overall>p{margin:8px 0;padding:10px;border-radius:10px;background:var(--panel2);color:var(--muted);font-size:9px;line-height:1.5}.v42-overall>p b{color:var(--text)}.v42-bars canvas{height:calc(100% - 30px)!important}.v42-line{grid-column:3}.v42-now{grid-column:3}.v42-now .card-title button{border:0;background:none;color:var(--accent);font-size:8px;font-weight:800}.v42-now>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.v42-now>div>span{display:grid;padding:8px;border-radius:8px;background:var(--panel2);text-align:center}.v42-now b{font-size:15px}.v42-now small{color:var(--muted);font-size:7px}

/* certification pathway */
.cert-path{display:flex;flex-direction:column;overflow:hidden}.cert-stage-line{display:grid;grid-template-columns:repeat(5,1fr);flex:0 0 auto;padding:8px 2px 16px}.cert-stage-line span{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px;color:var(--muted);font-size:8px}.cert-stage-line span:after{content:"";position:absolute;z-index:0;left:7px;right:-7px;top:6px;height:2px;background:var(--line)}.cert-stage-line span:last-child:after{display:none}.cert-stage-line i{position:relative;z-index:1;width:12px;height:12px;border:3px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:50%;background:var(--panel)}.cert-stage-line b{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:var(--panel2);color:var(--text)}.cert-cards{display:grid;min-height:0;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:9px;overflow:auto}.cert-cards article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--accent) 5%,var(--panel2)))}.v42-ring{--p:0;display:grid;width:68px;height:68px;place-items:center;border-radius:50%;background:radial-gradient(circle,var(--panel) 58%,transparent 60%),conic-gradient(var(--accent) calc(var(--p)*1%),var(--line) 0)}.v42-ring strong{font-size:13px}.cert-cards h3,.cert-cards p{margin:2px 0}.cert-cards small,.cert-cards span,.cert-cards p{color:var(--muted);font-size:8px}.cert-cards footer{display:flex;grid-column:1/-1;justify-content:flex-end;gap:6px}

/* exam command board */
.exam-command{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-content:start;gap:10px;overflow:auto}.exam-command article{display:grid;grid-template-columns:68px minmax(0,1fr);gap:13px;border-top:3px solid #df8737}.exam-command article>header{display:grid;align-content:start;justify-items:center;padding:10px 4px;border-radius:11px;background:#df873712}.exam-command article>header span{font-size:25px;font-weight:800}.exam-command article>header small{color:#df8737;font-size:7px;font-weight:800;letter-spacing:.08em;text-align:center}.exam-command main h3,.exam-command main p{margin:0}.exam-command main p{color:var(--muted);font-size:8px}.syllabus-meter{height:10px;margin:13px 0 5px;border-radius:10px;background:var(--panel2);overflow:hidden}.syllabus-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#df8737,#f1c15d)}.exam-command main>div:nth-of-type(2){display:flex;justify-content:space-between;color:var(--muted);font-size:8px}.exam-command blockquote{margin:10px 0 0;padding:8px;border-left:2px solid #df8737;background:#df87370d;color:var(--muted);font-size:8px}.exam-command footer{display:flex;grid-column:1/-1;justify-content:flex-end;gap:6px}

/* mock lab */
.mock-lab{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(380px,1.1fr);grid-template-rows:minmax(210px,.7fr) minmax(190px,.55fr);gap:10px}.mock-lab>.card{min-height:0;padding:13px;overflow:hidden}.mock-gauge-body{position:relative;height:calc(100% - 28px)}.mock-gauge-body canvas{height:100%!important}.mock-gauge-body>div{position:absolute;inset:50% auto auto 50%;display:grid;text-align:center;transform:translate(-50%,-50%)}.mock-gauge-body strong{font-size:26px}.mock-gauge-body small{max-width:115px;color:var(--muted);font-size:7px}.mock-trajectory canvas{height:calc(100% - 28px)!important}.mock-weakness{overflow:auto!important}.mock-weakness>div:not(.card-title){display:grid;grid-template-columns:100px 1fr 36px;align-items:center;gap:7px;margin:8px 0;font-size:8px}.mock-weakness>div>i{height:7px;border-radius:8px;background:var(--panel2);overflow:hidden}.mock-weakness>div>i b{display:block;height:100%;background:linear-gradient(90deg,#d65778,#f1b355)}.mock-weakness p{color:var(--muted);font-size:9px;line-height:1.6}.mock-ledger{overflow:auto!important}.mock-ledger article{display:grid;grid-template-columns:68px minmax(0,1fr) 42px auto auto;align-items:center;gap:7px;padding:8px;border-bottom:1px solid var(--line)}.mock-ledger time,.mock-ledger small{color:var(--muted);font-size:7px}.mock-ledger article>span{display:grid}.mock-ledger strong{font-size:9px}

/* revision queue */
.revision-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.revision-board>section{display:flex;min-height:0;flex-direction:column;padding:12px;overflow:hidden}.revision-board section>header{display:flex;justify-content:space-between}.revision-board section>header h3{margin:0;font-size:11px}.revision-board section>header span{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--panel2);font-size:8px}.revision-board section>div{min-height:0;margin-top:9px;overflow:auto}.revision-board article{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:7px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}.revision-board article>span{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:#338aa217;color:#338aa2}.revision-board article>button:nth-child(2){display:grid;border:0;background:none;color:var(--text);text-align:left}.revision-board article strong{font-size:9px}.revision-board article small,.revision-board section>div>p{color:var(--muted);font-size:7px}.revision-board .confidence-low{border-left:3px solid #e35d78}.revision-board .confidence-high{border-left:3px solid #1e9a79}

/* assignment kanban */
.assignment-kanban{display:grid;grid-template-columns:repeat(4,minmax(235px,1fr));gap:9px;overflow:auto hidden}.assignment-kanban>section{display:flex;min-height:0;flex-direction:column;padding:9px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 65%,transparent)}.assignment-kanban>section>header{display:flex;justify-content:space-between;padding:4px 3px 10px;font-size:9px;font-weight:800}.assignment-kanban>section>header b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--panel)}.assignment-kanban article{margin-bottom:8px;padding:11px}.assignment-kanban article small,.assignment-kanban article p{color:var(--muted);font-size:7px}.assignment-kanban article h3{margin:7px 0 3px;font-size:10px}.assignment-kanban article p{margin:0}.assignment-kanban article footer{display:flex;justify-content:flex-end;gap:5px;margin-top:9px}.kanban-empty{display:grid;min-height:80px;place-items:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:8px}

/* resource shelves */
.resource-shelves{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;overflow:hidden}.resource-shelves>section{display:flex;min-height:0;flex-direction:column}.resource-shelves>section>header{display:flex;justify-content:space-between;padding:5px 3px 9px}.resource-shelves>section>header h3{margin:0;font-size:10px}.resource-shelves>section>header span{color:var(--muted);font-size:8px}.resource-shelves>section>div{min-height:0;overflow:auto}.resource-shelves article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;margin-bottom:8px;padding:11px;border-left:3px solid #8a6a3c}.resource-shelves article>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#8a6a3c17;color:#8a6a3c}.resource-shelves article h3,.resource-shelves article p{margin:2px 0}.resource-shelves article small{color:var(--muted);font-size:7px}.resource-shelves article p{color:#d8a937;font-size:9px}.resource-shelves article footer{display:flex;grid-column:1/-1;justify-content:flex-end;gap:5px}.shelf-empty{padding:30px 10px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:8px;text-align:center}

/* practice timeline */
.practice-studio{display:grid;grid-template-columns:minmax(360px,1fr) minmax(340px,.8fr);gap:10px}.practice-chart{min-height:0}.practice-chart canvas{height:calc(100% - 32px)!important}.practice-timeline{min-height:0;padding:4px 2px;overflow:auto}.practice-timeline>article{display:grid;grid-template-columns:62px 13px minmax(0,1fr);gap:7px}.practice-timeline time{padding-top:13px;color:var(--muted);font-size:7px;text-align:right}.practice-timeline>article>i{position:relative;border-left:2px solid var(--line)}.practice-timeline>article>i:before{content:"";position:absolute;left:-5px;top:14px;width:8px;height:8px;border-radius:50%;background:#1e9a79}.practice-timeline article>.card{margin-bottom:8px;padding:10px}.practice-timeline header,.practice-timeline footer{display:flex;align-items:center;justify-content:space-between}.practice-timeline h3{margin:5px 0;font-size:10px}.practice-timeline header span,.practice-timeline footer small{color:var(--muted);font-size:7px}.practice-timeline footer{justify-content:flex-end;gap:5px}.practice-timeline footer small{margin-right:auto}.accuracy-bar{height:6px;margin:7px 0;border-radius:6px;background:var(--panel2);overflow:hidden}.accuracy-bar i{display:block;height:100%;background:#1e9a79}

/* project roadmaps */
.project-roadmaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));align-content:start;gap:10px;overflow:auto}.project-roadmaps article{border-top:3px solid #8857b8}.project-roadmaps header,.project-roadmaps article>div:nth-of-type(2),.project-roadmaps footer{display:flex;align-items:center;justify-content:space-between}.project-roadmaps header{color:var(--muted);font-size:8px}.project-roadmaps h3{margin:13px 0}.roadmap-line{position:relative;height:7px;margin:17px 0;border-radius:8px;background:var(--panel2)}.roadmap-line i{display:block;height:100%;border-radius:inherit;background:#8857b8}.roadmap-line b{position:absolute;top:50%;width:15px;height:15px;border:4px solid var(--panel);border-radius:50%;background:#8857b8;transform:translate(-50%,-50%)}.project-roadmaps article>div:nth-of-type(2){font-size:9px}.project-roadmaps article>div span,.project-roadmaps blockquote{color:var(--muted);font-size:8px}.project-roadmaps blockquote{margin:13px 0;padding:9px;border-left:3px solid #8857b8;background:#8857b810}.project-roadmaps footer{justify-content:flex-end;gap:6px}.project-roadmaps .status-blocked{border-top-color:#e35d78}

/* habit heatmap */
.habit-grid{display:flex;flex-direction:column;overflow:auto}.habit-grid>header,.habit-grid>article{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(7,44px) 62px 30px;align-items:center;gap:5px;padding:8px;border-bottom:1px solid var(--line)}.habit-grid>header{position:sticky;z-index:1;top:0;background:var(--panel);color:var(--muted);font-size:7px}.habit-grid>header time{display:grid;justify-items:center}.habit-grid>header time b{color:var(--text);font-size:9px}.habit-grid>article>button:first-child{display:grid;border:0;background:none;color:var(--text);text-align:left}.habit-grid>article>button strong{font-size:9px}.habit-grid>article>button small{color:var(--muted);font-size:7px}.habit-grid>article>i{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:var(--panel2);color:var(--muted);font-style:normal}.habit-grid>article>i.done{background:#1e9a7920;color:#1e9a79}.v42-mini-ring{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:radial-gradient(circle,var(--panel) 56%,transparent 59%),conic-gradient(#2e9a58 calc(var(--p)*1%),var(--line) 0)}.v42-mini-ring b{font-size:7px}.habit-grid>footer{display:flex;align-items:center;justify-content:space-between;padding:12px}.habit-grid>footer small{color:var(--muted);font-size:8px}

/* goal horizon */
.goal-horizon{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));align-content:start;gap:10px;overflow:auto}.goal-horizon article{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px}.goal-orbit{position:relative;display:grid;width:86px;height:86px;place-items:center;border-radius:50%;background:radial-gradient(circle,var(--panel) 52%,transparent 54%),conic-gradient(#bf6a38 calc(var(--p)*1%),var(--line) 0)}.goal-orbit span{font-size:20px}.goal-orbit strong{position:absolute;bottom:-3px;padding:3px 6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);font-size:8px}.goal-horizon main h3,.goal-horizon main p{margin:3px 0}.goal-horizon main small,.goal-horizon main p{color:var(--muted);font-size:8px}.goal-forecast{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:20px;background:#bf6a3814;color:#bf6a38;font-size:8px;font-weight:800}.goal-forecast.risk{background:#e35d7815;color:#e35d78}.goal-horizon footer{display:flex;grid-column:1/-1;justify-content:flex-end;gap:6px}

/* interview pipeline */
.interview-pipeline{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:9px;overflow:auto hidden}.interview-pipeline>section{display:flex;min-height:0;flex-direction:column;padding:8px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,#427ab6 4%,var(--panel2))}.interview-pipeline>section>header{display:flex;justify-content:space-between;padding:4px 3px 9px;color:#427ab6;font-size:8px;font-weight:800}.interview-pipeline article{position:relative;margin-bottom:8px;padding:11px}.interview-score{position:absolute;right:10px;top:10px;display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:radial-gradient(circle,var(--panel) 54%,transparent 57%),conic-gradient(#427ab6 calc(var(--p)*1%),var(--line) 0);font-size:7px;font-weight:800}.interview-pipeline article h3{max-width:130px;margin:4px 0;font-size:10px}.interview-pipeline article p,.interview-pipeline article small{margin:0;color:var(--muted);font-size:7px}.interview-pipeline blockquote{margin:10px 0;padding:7px;border-left:2px solid #427ab6;background:#427ab60d;color:var(--muted);font-size:7px}.interview-pipeline footer{display:flex;justify-content:flex-end;gap:5px}.pipeline-empty{display:grid;min-height:75px;place-items:center;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:8px}

@media(max-width:1100px) and (min-width:761px){.v42-dashboard{grid-template-columns:220px 1fr;grid-template-rows:minmax(0,1fr) 110px}.v42-overall{grid-row:1/3}.v42-bars{grid-row:1}.v42-line{grid-column:2;grid-row:2}.v42-now{display:none}.mock-lab{grid-template-columns:220px 1fr}.resource-shelves{grid-template-columns:repeat(2,1fr)}.interview-pipeline{grid-template-columns:repeat(5,210px)}}
@media(max-height:760px) and (min-width:761px){.v42-dashboard{height:calc(100dvh - 184px)}.v42-overall>div:nth-child(2){height:160px}.v42-module .page-head{margin-bottom:8px}.cert-cards article,.project-roadmaps article,.goal-horizon article{padding:10px}}
@media(max-width:760px){.v42-fit-view{overflow:auto!important}.v42-module{height:auto}.v42-dashboard{display:grid;height:auto;grid-template-columns:1fr}.v42-overall,.v42-bars,.v42-line,.v42-now{grid-column:auto;grid-row:auto;min-height:240px}.v42-bars{height:420px}.v42-line{height:240px}.mock-lab,.practice-studio,.revision-board,.resource-shelves{grid-template-columns:1fr}.mock-lab{grid-template-rows:260px 280px auto auto}.assignment-kanban,.interview-pipeline{grid-template-columns:repeat(4,250px);min-height:500px}.cert-stage-line{display:none}.habit-grid>header,.habit-grid>article{grid-template-columns:140px repeat(7,34px) 50px 30px;min-width:560px}.walk-shade{background:rgba(9,13,32,.72)}}
