:root{--ink:#12252b;--ink-soft:#3d555c;--muted:#6b8288;--paper:#f3f7f6;--surface:#fff;--teal:#0b5f63;--teal-deep:#08484b;--teal-soft:#d8eeec;--mint:#1a9b8e;--amber:#c47a1a;--amber-soft:#f8ead2;--rose:#b33b4a;--rose-soft:#f8e0e3;--ok:#1f7a4c;--ok-soft:#daf0e4;--track:#e3eceb;--line:#12252b1a;--shadow:0 14px 40px #08282c12;--radius:18px;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink);font-family:var(--font-body);background:radial-gradient(1000px 520px at 8% -8%, #1a9b8e29, transparent 55%), radial-gradient(800px 420px at 100% 0%, #0b5f631f, transparent 50%), linear-gradient(180deg, #eef5f4 0%, var(--paper) 45%, #e8f1ef 100%);-webkit-font-smoothing:antialiased;margin:0}button{font:inherit;cursor:pointer}.app-shell{max-width:1180px;margin:0 auto;padding:1rem 1.15rem 2.5rem}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem;margin-bottom:1.1rem;display:flex}.brand{align-items:center;gap:.7rem;display:flex}.brand-mark{background:linear-gradient(145deg, var(--teal), var(--teal-deep));color:#e8f6f4;border-radius:11px;place-items:center;width:40px;height:40px;font-weight:700;display:grid;box-shadow:0 8px 20px #0b5f6347}.brand h1{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.25rem;font-weight:650}.role-switch{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffbf;border-radius:999px;gap:.3rem;padding:.3rem;display:flex}.role-switch button{color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:.5rem .95rem;font-size:.9rem;font-weight:550;transition:background .2s,color .2s}.role-switch button:hover{background:var(--teal-soft);color:var(--teal-deep)}.role-switch button.active{background:var(--teal);color:#f4fffd;box-shadow:0 6px 16px #0b5f6338}.stack{flex-direction:column;gap:1rem;display:flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-pad{padding:1.1rem 1.2rem}.profile-band{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.profile-left{flex:240px;align-items:center;gap:.9rem;min-width:0;display:flex}.profile-left h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:1.45rem}.sub{color:var(--muted);margin:.2rem 0 0;font-size:.88rem}.avatar{background:linear-gradient(160deg, var(--teal-soft), #b8ddd8);width:52px;height:52px;color:var(--teal-deep);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid;overflow:hidden;box-shadow:0 4px 12px #08282c1f,inset 0 0 0 2px #fff9}.avatar svg{width:100%;height:100%}.avatar.lg{width:68px;height:68px;font-size:1.15rem}.mini-avatar{overflow:hidden}.mini-avatar svg{width:100%;height:100%}.metric-col{flex-wrap:wrap;gap:.55rem;display:flex}.metric-col .metric{flex:84px}@media (width<=560px){.metric-col{width:100%}}.metric{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:14px;padding:.7rem .75rem}.metric b{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.4rem;line-height:1.1;display:block}.metric span{color:var(--muted);font-size:.72rem;font-weight:550}.metric.tone-ok b{color:var(--ok)}.metric.tone-warn b{color:var(--amber)}.metric.tone-danger b{color:var(--rose)}.ring{place-items:center;display:grid;position:relative}.ring-arc{transition:stroke-dashoffset .6s}.ring-label{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.ring-label b{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.2rem;line-height:1}.ring-label span{color:var(--muted);margin-top:.15rem;font-size:.68rem;font-weight:600}.grid-2{grid-template-columns:1.15fr .85fr;gap:1rem;display:grid}@media (width<=960px){.grid-2{grid-template-columns:1fr}}.section-title{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.section-title h3{margin:0;font-size:.98rem;font-weight:650}.legend{color:var(--muted);flex-wrap:wrap;gap:.65rem;font-size:.72rem;font-weight:550;display:flex}.legend span{align-items:center;gap:.3rem;display:inline-flex}.dot,i.dot{background:#c5d2d4;border-radius:50%;flex-shrink:0;width:9px;height:9px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--amber)}.dot.danger{background:var(--rose)}.dot.muted{background:#c5d2d4}.comp-bars{flex-direction:column;gap:.75rem;display:flex}.comp-bars.tall{gap:.95rem}.comp-row{grid-template-columns:auto 1fr;align-items:center;gap:.65rem;display:grid}.bar-row-head{justify-content:space-between;gap:.75rem;margin-bottom:.35rem;font-size:.84rem;display:flex}.bar-row-head span{color:var(--ink-soft);font-weight:550}.bar-row-head strong{font-variant-numeric:tabular-nums;color:var(--ink)}.bar-track{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.bar-fill{border-radius:inherit;height:100%;transition:width .5s;display:block}.bar-fill.teal{background:linear-gradient(90deg, var(--mint), var(--teal))}.bar-fill.ok{background:var(--ok)}.bar-fill.warn{background:var(--amber)}.bar-fill.danger{background:var(--rose)}.bar-row{margin-bottom:.15rem}.chip{border-radius:999px;align-items:center;padding:.22rem .55rem;font-size:.7rem;font-weight:650;display:inline-flex}.chip.ok{background:var(--ok-soft);color:var(--ok)}.chip.warn{background:var(--amber-soft);color:var(--amber)}.chip.danger{background:var(--rose-soft);color:var(--rose)}.chip.neutral{background:var(--teal-soft);color:var(--teal-deep)}.chip.muted{color:var(--ink-soft);background:#e8eef0}.timeline{flex-direction:column;gap:0;padding-left:.2rem;display:flex;position:relative}.tl-item{grid-template-columns:16px 1fr;gap:.65rem;padding-bottom:.85rem;display:grid;position:relative}.tl-item:not(:last-child):before{content:"";background:var(--track);width:2px;position:absolute;top:14px;bottom:0;left:7px}.tl-item.done:not(:last-child):before{background:var(--mint)}.tl-dot{z-index:1;background:#fff;border:2px solid #c5d2d4;border-radius:50%;width:14px;height:14px;margin-top:2px}.tl-item.done .tl-dot{background:var(--mint);border-color:var(--mint)}.tl-item.active .tl-dot{border-color:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}.tl-item p{color:var(--ink-soft);margin:0;font-size:.88rem;line-height:1.35}.tl-item.done p{color:var(--muted);-webkit-text-decoration:line-through #6b828873;text-decoration:line-through #6b828873}.tl-item.active p{color:var(--ink);font-weight:600}.cert-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}@media (width<=640px){.cert-grid{grid-template-columns:1fr}}.cert-tile{border:1px solid var(--line);background:#fbfdfe;border-radius:14px;flex-direction:column;gap:.35rem;min-height:96px;padding:.75rem;display:flex}.cert-tile strong{font-size:.82rem;line-height:1.25}.cert-tile span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem}.cert-tile em{width:fit-content;margin-top:auto;font-style:normal}.cert-tile.expiring{background:#fffaf2;border-color:#c47a1a59}.next-grid{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}@media (width<=640px){.next-grid{grid-template-columns:1fr}}.next-card{text-align:left;color:var(--ink);background:linear-gradient(160deg,#f2faf8,#e8f4f2);border:1px solid #0b5f632e;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:.85rem;transition:transform .2s,box-shadow .2s;display:flex}.next-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0b5f631f}.next-card strong{font-size:.84rem;line-height:1.3}.next-card span{color:var(--muted);font-size:.72rem}.next-card svg{color:var(--teal)}.alert-band{flex-wrap:wrap;gap:.55rem;display:flex;padding:.85rem 1rem!important}.pulse-alert{border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .8rem;font-size:.82rem;font-weight:550;display:inline-flex}.pulse-alert.warn{background:var(--amber-soft);color:#7a4a0d}.pulse-alert.danger{background:var(--rose-soft);color:#7a2430}.pulse{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.4s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.heat-grid{grid-template-columns:100px repeat(4,1fr);align-items:center;gap:.45rem;display:grid}@media (width<=640px){.heat-grid{grid-template-columns:72px repeat(4,1fr)}}.heat-corner{height:1px}.heat-col-label{text-align:center;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:650}.heat-row-label{align-items:center;gap:.45rem;font-size:.84rem;font-weight:600;display:flex}.mini-avatar{background:var(--teal-soft);width:30px;height:30px;color:var(--teal-deep);border-radius:50%;flex-shrink:0;place-items:center;font-size:.65rem;font-weight:700;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1.5px #ffffffb3}.heat,i.heat{background:#e8eef0;border-radius:10px;height:36px;display:block}.heat.ok{background:linear-gradient(160deg, #7dceaa, var(--ok))}.heat.warn{background:linear-gradient(160deg, #f0c77a, var(--amber))}.heat.danger{background:linear-gradient(160deg, #e8919a, var(--rose))}.heat.empty{opacity:.55;background:#eef2f3}.nurse-cards{grid-template-columns:repeat(5,1fr);gap:.75rem;display:grid}@media (width<=1000px){.nurse-cards{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.nurse-cards{grid-template-columns:repeat(2,1fr)}}.nurse-card{border:1px solid var(--line);background:#fbfdfe;border-radius:16px;flex-direction:column;gap:.65rem;padding:.85rem;display:flex}.nurse-card.risk-danger{background:#fff8f9;border-color:#b33b4a47}.nurse-card.risk-warn{background:#fffaf3;border-color:#c47a1a47}.nurse-card-top{grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;display:grid}.nurse-card-top strong{font-size:.88rem;display:block}.nurse-card-top span{color:var(--muted);font-size:.72rem}.spark{align-items:flex-end;gap:4px;height:48px;padding:0 .15rem;display:flex}.spark-bar{border-radius:4px 4px 2px 2px;flex:1;min-height:8px}.spark-bar.ok{background:var(--ok);opacity:.85}.spark-bar.warn{background:var(--amber);opacity:.9}.spark-bar.danger{background:var(--rose)}.nurse-card-foot{color:var(--muted);justify-content:space-between;align-items:center;font-size:.75rem;font-weight:550;display:flex}.pipeline{flex-direction:column;gap:.65rem;display:flex}.pipe-card{border:1px solid var(--line);background:#f7fbfa;border-radius:14px;grid-template-columns:48px 1fr;align-items:center;gap:.75rem;padding:.75rem;display:grid}.pipe-when{background:var(--teal);color:#f4fffd;border-radius:12px;place-items:center;width:48px;height:48px;font-size:.78rem;font-weight:700;display:grid}.pipe-body{flex-direction:column;gap:.25rem;display:flex}.pipe-body strong{font-size:.9rem}.pipe-body span{color:var(--muted);font-size:.75rem}.domain-pills{grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1rem;display:grid}@media (width<=640px){.domain-pills{grid-template-columns:repeat(2,1fr)}}.domain-pill{text-align:center;background:var(--paper);border:1px solid var(--line);animation:.45s both rise;animation-delay:calc(var(--i,0) * 60ms);border-radius:14px;padding:.7rem .4rem}.domain-pill b{font-family:var(--font-display);font-size:1.25rem;display:block}.domain-pill span{color:var(--muted);font-size:.7rem;font-weight:550}.fade-in{animation:.4s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-nav{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.back-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.85rem;font-weight:600;display:inline-flex}.back-btn:hover{color:var(--teal);border-color:#0b5f6359}.page-crumb{color:var(--muted);font-size:.82rem;font-weight:550}.text-link{color:var(--teal);text-underline-offset:3px;background:0 0;border:0;margin-left:auto;font-size:.85rem;font-weight:600;text-decoration:underline}.path-launch-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.path-launch-head h3{margin:.15rem 0 .25rem;font-size:1.15rem}.path-launch-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}@media (width<=720px){.path-launch-grid{grid-template-columns:1fr}}.path-launch-card{text-align:left;border:1px solid var(--line);border-left:3px solid var(--accent,var(--teal));color:var(--ink);background:#fbfdfe;border-radius:14px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.95rem 1rem;transition:transform .2s,box-shadow .2s;display:flex}.path-launch-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0b5f631a}.path-launch-card strong{font-size:.95rem}.path-launch-card span{color:var(--muted);font-size:.78rem}.path-launch-card em{color:var(--accent,var(--teal));margin-top:.35rem;font-size:.75rem;font-style:normal;font-weight:650}.path-launch-card svg{color:var(--accent,var(--teal))}.inspect-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--mint);margin:0;font-size:.68rem;font-weight:700}.path-picker{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1rem;display:grid}@media (width<=720px){.path-picker{grid-template-columns:1fr}}.path-tab{text-align:left;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem .9rem;display:flex}.path-tab strong{font-size:.9rem}.path-tab em{color:var(--muted);font-size:.75rem;font-style:normal}.path-tab.active{border-color:var(--accent,var(--teal));background:color-mix(in srgb, var(--accent,var(--teal)) 12%, white);box-shadow:inset 0 0 0 1px var(--accent,var(--teal))}.path-layout{grid-template-columns:1.4fr .85fr;align-items:stretch;gap:1rem;display:grid}@media (width<=900px){.path-layout{grid-template-columns:1fr}}.tree-board{background:radial-gradient(circle at 50% 20%, color-mix(in srgb, var(--accent,var(--teal)) 14%, transparent), transparent 55%), linear-gradient(180deg, #0f2a2c 0%, #163a3d 45%, #1a4548 100%);border-radius:16px;min-height:420px;position:relative;overflow:hidden}.tree-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.tree-links .link{stroke:#ffffff2e;stroke-width:.6px}.tree-links .link.lit{stroke:color-mix(in srgb, var(--accent,var(--mint)) 80%, white);stroke-width:.85px}.skill-node{color:#e8f4f2;background:0 0;border:0;flex-direction:column;align-items:center;gap:.3rem;width:72px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.node-gem{letter-spacing:.02em;background:#00000059;border:2px solid #ffffff40;border-radius:14px;place-items:center;width:48px;height:48px;font-size:.72rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:grid}.skill-node:hover .node-gem{transform:scale(1.06)}.skill-node.selected .node-gem{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent,var(--mint)) 55%, transparent)}.skill-node.done .node-gem{background:var(--ok);border-color:#9fe0b8}.skill-node.active .node-gem{background:var(--amber);border-color:#f0d39a}.skill-node.overdue .node-gem{background:var(--rose);border-color:#f0a8b0}.skill-node.ready .node-gem{background:color-mix(in srgb, var(--accent,var(--teal)) 75%, black);border-color:color-mix(in srgb, var(--accent,var(--mint)) 60%, white)}.skill-node.locked .node-gem{color:#ffffff73;background:#ffffff14}.node-name{text-shadow:0 1px 4px #00000073;font-size:.7rem;font-weight:600}.path-inspect{flex-direction:column;gap:.55rem;padding:.25rem .15rem;display:flex}.path-inspect h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.25rem}.state-pill{text-transform:capitalize;border-radius:999px;width:fit-content;padding:.25rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.state-pill.done{background:var(--ok-soft);color:var(--ok)}.state-pill.active,.state-pill.ready{background:var(--amber-soft);color:var(--amber)}.state-pill.overdue{background:var(--rose-soft);color:var(--rose)}.state-pill.locked{color:var(--ink-soft);background:#e8eef0}.inspect-meter{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;align-items:center;gap:.55rem;font-size:.8rem;font-weight:650;display:grid}.req-label,.muted-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:.35rem 0 0;font-size:.72rem;font-weight:650}.req-chips{flex-wrap:wrap;gap:.4rem;display:flex}.course-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;align-items:flex-start;gap:.65rem;margin-top:.25rem;padding:.75rem .85rem;display:flex}.course-card.muted{opacity:.75}.course-card strong{font-size:.82rem;display:block}.course-card span{color:var(--muted);font-size:.78rem}.course-card svg{color:var(--teal);flex-shrink:0;margin-top:2px}.course-hero{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.course-hero h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.2rem 0 .35rem;font-size:1.55rem}.section-h{margin:0 0 .75rem;font-size:1rem}.prereq-list{flex-direction:column;gap:.55rem;display:flex}.prereq-row{background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:.65rem;padding:.65rem .75rem;display:flex}.prereq-row strong{font-size:.88rem;display:block}.prereq-row span{color:var(--muted);text-transform:capitalize;font-size:.75rem}.detail-grid{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}@media (width<=640px){.detail-grid{grid-template-columns:1fr}}.detail-grid>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.65rem .75rem}.detail-grid strong{margin-top:.2rem;font-size:.88rem;display:block}.simple-list{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.simple-list li{border:1px solid var(--line);color:var(--ink-soft);background:#fbfdfe;border-radius:10px;padding:.45rem .65rem;font-size:.86rem}.simple-list.numbered li{align-items:center;gap:.4rem;display:flex}.cta{background:var(--teal);color:#f4fffd;border:0;border-radius:12px;align-items:center;gap:.4rem;width:fit-content;margin-top:.35rem;padding:.6rem .9rem;font-size:.88rem;font-weight:600;display:inline-flex}.brand-sub{color:var(--muted);margin:.1rem 0 0;font-size:.78rem}.demo-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:center;align-items:center;gap:.65rem;margin-top:2rem;padding-top:1rem;font-size:.78rem;display:flex}.demo-footer button{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600}.demo-footer button:hover{color:var(--teal);border-color:#0b5f6359}.stage-tag{letter-spacing:.1em;text-transform:uppercase;color:var(--mint);margin:0 0 .25rem;font-size:.68rem;font-weight:700}.before-strip{border:1px dashed var(--line);background:#12252b0a;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;padding:.75rem 1rem;display:flex}.before-label{text-transform:uppercase;letter-spacing:.08em;color:var(--rose);margin:0;font-size:.72rem;font-weight:700}.after-label{color:var(--teal);margin:0;font-size:.78rem;font-weight:700}.before-arrow{color:var(--muted);margin:0;font-weight:700}.before-sources{flex-wrap:wrap;gap:.4rem;display:flex}.before-sources span{background:var(--rose-soft);color:#7a2430;opacity:.85;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .55rem;font-size:.72rem;font-weight:600;-webkit-text-decoration:line-through #7a243073;text-decoration:line-through #7a243073;display:inline-flex}.idp-stage .idp-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.idp-stage h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.35rem}.aspiration{border-left:3px solid var(--teal);font-family:var(--font-display);color:var(--ink);background:linear-gradient(145deg,#f0faf8,#e7f3f2);border-radius:14px;margin:0 0 1rem;padding:.9rem 1rem;font-size:1.05rem;line-height:1.45}.idp-timeline{grid-template-columns:1fr 1fr;gap:0 1rem;display:grid}@media (width<=720px){.idp-timeline{grid-template-columns:1fr}}.gap-action-list{flex-direction:column;gap:.55rem;display:flex}.gap-action{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfdfe;border-radius:14px;grid-template-columns:1fr auto 1.1fr;align-items:center;gap:.65rem;padding:.85rem .95rem;transition:border-color .2s,transform .2s;display:grid}.gap-action:hover{border-color:#0b5f6359;transform:translateY(-1px)}@media (width<=800px){.gap-action{grid-template-columns:1fr}.gap-action-arrow{display:none}}.gap-action-left,.gap-action-right{align-items:center;gap:.65rem;min-width:0;display:flex}.gap-action strong{font-size:.88rem;display:block}.gap-meta,.gap-action-right span,.done-row span{color:var(--muted);text-transform:capitalize;margin-top:.15rem;font-size:.75rem;display:block}.gap-action-arrow{color:var(--muted);font-weight:700}.gap-action-right{background:var(--teal-soft);border-radius:12px;padding:.45rem .55rem}.gap-action-right svg:first-child{color:var(--teal);flex-shrink:0}.gap-go{color:var(--teal);flex-shrink:0;margin-left:auto}.done-list{flex-direction:column;gap:.5rem;display:flex}.done-row{border-bottom:1px solid var(--line);align-items:center;gap:.65rem;padding:.55rem .15rem;display:flex}.done-row:last-child{border-bottom:0}.done-row strong{font-size:.88rem}.mgr-alert-list{flex-direction:column;gap:.45rem;display:flex}.mgr-alert{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfdfe;border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.7rem;padding:.7rem .85rem;transition:border-color .2s,transform .2s;display:grid}.mgr-alert:hover{border-color:#0b5f6359;transform:translateY(-1px)}.mgr-alert.kind-overdue{border-left:3px solid var(--rose)}.mgr-alert.kind-expiring{border-left:3px solid var(--amber)}.mgr-alert.kind-support{border-left:3px solid var(--teal)}.mgr-alert-body strong{font-size:.88rem;display:block}.mgr-alert-body span{color:var(--muted);margin-top:.1rem;font-size:.78rem;display:block}.mgr-alert-go{color:var(--muted)}.heat-row-label.as-btn{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;padding:0}.heat-hit{cursor:pointer;background:0 0;border:0;width:100%;padding:0;display:block}.heat-hit .heat{width:100%}.nurse-card.as-card-btn{cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;transition:transform .2s,box-shadow .2s}.nurse-card.as-card-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0b5f631a}.coach-bar{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.coach-bar>div{flex:1;min-width:180px}.coach-bar strong{font-size:.92rem;display:block}.coach-bar span{color:var(--muted);font-size:.8rem}.coach-bar .cta{margin-top:0}.idp-title{margin:0 0 .5rem;font-size:1rem}.empty-ok{background:var(--ok-soft);color:var(--ok);border-radius:12px;align-items:center;gap:.55rem;padding:.85rem;font-size:.88rem;font-weight:600;display:flex}.idp-toggle{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.idp-toggle-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.idp-toggle-head h3{font-family:var(--font-display);letter-spacing:-.02em;margin:.15rem 0 .25rem;font-size:1.2rem}.idp-year{font-family:var(--font-body);color:var(--muted);font-size:.95rem;font-weight:500}.idp-summary{color:var(--muted);margin:0;font-size:.82rem}.idp-toggle-right{align-items:center;gap:.5rem;display:flex}.idp-chevron{color:var(--muted);transition:transform .25s}.idp-chevron.open{transform:rotate(180deg)}.career-track{padding:.85rem .15rem .35rem}.career-ends{justify-content:space-between;margin-bottom:.45rem;font-size:.78rem;font-weight:650;display:flex}.career-from{color:var(--ink-soft)}.career-to{color:var(--teal)}.career-rail{background:var(--track);border-radius:999px;height:14px;position:relative;overflow:visible}.career-fill{border-radius:inherit;background:linear-gradient(90deg, var(--mint), var(--teal));height:100%;transition:width .6s;display:block}.career-pin{border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0003}.career-pin.done{background:var(--ok)}.career-pin.active{background:var(--amber);width:12px;height:12px;box-shadow:0 0 0 4px var(--amber-soft)}.career-pin.pending{background:#c5d2d4}.career-label{color:var(--ink-soft);align-items:center;gap:.4rem;margin:.65rem 0 0;font-size:.84rem;display:flex}.career-label strong{color:var(--teal-deep)}.idp-hint{text-align:center;color:var(--muted);margin:.5rem 0 0;font-size:.75rem;font-weight:550}.idp-details{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.idp-meta{grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:1rem;display:grid}@media (width<=640px){.idp-meta{grid-template-columns:1fr}}.idp-meta>div{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.6rem .75rem}.idp-meta strong{margin-top:.15rem;font-size:.88rem;display:block}.idp-milestones{flex-direction:column;gap:.45rem;margin-bottom:1rem;display:flex}.idp-ms{border:1px solid var(--line);background:#fbfdfe;border-radius:12px;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;display:flex}.idp-ms.done{opacity:.75}.idp-ms.active{background:#fffaf3;border-color:#c47a1a59}.idp-ms-dot{background:#c5d2d4;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px}.idp-ms.done .idp-ms-dot{background:var(--ok)}.idp-ms.active .idp-ms-dot{background:var(--amber);box-shadow:0 0 0 3px var(--amber-soft)}.idp-ms strong{font-size:.88rem;display:block}.idp-ms span{color:var(--muted);text-transform:capitalize;margin-top:.1rem;font-size:.75rem;display:block}.idp-linked{background:var(--teal-soft);color:var(--teal-deep);border-radius:12px;margin:.35rem 0 0;padding:.75rem .85rem;font-size:.84rem;line-height:1.45}.mel-grid{grid-template-columns:minmax(280px,.72fr) 1.28fr;align-items:stretch;gap:1rem;display:grid}@media (width<=900px){.mel-grid{grid-template-columns:1fr}}.mel-grid>.panel{flex-direction:column;display:flex}.gap-rank-list{scrollbar-width:thin;scrollbar-color:#0b5f634d transparent;flex-direction:column;gap:.5rem;height:512px;padding-right:6px;display:flex;overflow-y:auto}.gap-rank-list::-webkit-scrollbar{width:7px}.gap-rank-list::-webkit-scrollbar-thumb{background:#0b5f6347;border-radius:999px}.gap-rank-list::-webkit-scrollbar-track{background:0 0}.gap-rank{text-align:left;border:1px solid var(--line);width:100%;color:var(--ink);background:#fbfdfe;border-radius:14px;flex-direction:column;flex-shrink:0;gap:.4rem;padding:.75rem .85rem;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.gap-rank:hover{border-color:#0b5f634d;transform:translateY(-1px)}.gap-rank.selected{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal);background:#f2faf8}.gap-rank-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.gap-rank-head strong{font-size:.9rem}.gap-rank-meta{color:var(--muted);flex-wrap:wrap;gap:.7rem;font-size:.74rem;font-weight:550;display:flex}.gap-rank-meta span{align-items:center;gap:.25rem;display:inline-flex}.trend.rising{color:var(--rose)}.trend.steady{color:var(--muted)}.trend.falling{color:var(--ok)}.bar-track.sm{height:6px}.gap-detail{gap:0}.gap-detail .muted-label{margin-top:1.25rem;font-size:.74rem}.gap-detail .team-pattern{flex-direction:column;gap:.7rem;margin:.5rem 0 .25rem;display:flex}.team-row{grid-template-columns:88px 1fr 52px;align-items:center;gap:.75rem;display:grid}.team-row .bar-track{height:13px}.team-name{font-size:.86rem;font-weight:600}.team-num{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.hint{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:500}.benefit-list{flex-direction:column;gap:.5rem;margin:.5rem 0;display:flex}.benefit-row{background:var(--paper);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.7rem .8rem;display:grid}.benefit-row .mini-avatar{width:36px;height:36px}.benefit-row strong{font-size:.9rem;display:block}.benefit-row span:not(.chip):not(.mini-avatar){color:var(--muted);margin-top:.1rem;font-size:.78rem;display:block}.tie-in{background:var(--teal-soft);color:var(--teal-deep);border-radius:12px;align-items:center;gap:.45rem;margin:.5rem 0 1.25rem;padding:.7rem .85rem;font-size:.85rem;font-weight:550;display:flex}.programme-card{background:linear-gradient(160deg,#f2faf8,#e8f4f2);border:1px solid #0b5f6333;border-radius:16px;margin-top:auto;padding:1.1rem 1.15rem}.programme-top{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.programme-top strong{font-size:1.1rem;font-family:var(--font-display);letter-spacing:-.02em}.programme-meta{flex-wrap:wrap;gap:.5rem;margin-top:.85rem;display:flex}.programme-meta span{border:1px solid var(--line);color:var(--ink-soft);background:#fffc;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .7rem;font-size:.78rem;font-weight:550;display:inline-flex}.plan-toggle{border:1px solid var(--teal);color:var(--teal);background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.4rem .7rem;font-size:.78rem;font-weight:650;display:inline-flex}.plan-toggle.on{background:var(--teal);color:#f4fffd}.plan-summary{color:var(--muted);flex-wrap:wrap;gap:.8rem;font-size:.78rem;font-weight:600;display:flex}.plan-summary span{align-items:center;gap:.3rem;display:inline-flex}.plan-board{grid-template-columns:repeat(4,1fr);gap:.7rem;display:grid}@media (width<=820px){.plan-board{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.plan-board{grid-template-columns:1fr}}.plan-col{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.5rem;min-height:90px;padding:.6rem;display:flex}.plan-col-head{color:var(--ink-soft);justify-content:space-between;align-items:center;padding:0 .15rem;font-size:.78rem;font-weight:700;display:flex}.plan-col-head span{background:var(--teal-soft);width:20px;height:20px;color:var(--teal-deep);border-radius:50%;place-items:center;font-size:.7rem;display:grid}.plan-empty{color:var(--muted);text-align:center;opacity:.5;padding:.75rem 0}.plan-card{border:1px solid var(--line);border-left:3px solid var(--teal);background:#fff;border-radius:12px;padding:.6rem .65rem}.plan-card.sev-high{border-left-color:var(--rose)}.plan-card.sev-medium{border-left-color:var(--amber)}.plan-card strong{font-size:.8rem;line-height:1.25;display:block}.plan-card-meta{color:var(--muted);gap:.5rem;margin:.35rem 0;font-size:.72rem;display:flex}.plan-remove{color:var(--muted);background:0 0;border:0;align-items:center;gap:.2rem;padding:0;font-size:.72rem;font-weight:600;display:inline-flex}.plan-remove:hover{color:var(--rose)}.filter-chips{flex-wrap:wrap;gap:.35rem;margin-bottom:.85rem;display:flex}.filter-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:.3rem .75rem;font-size:.78rem;font-weight:600;transition:all .18s}.filter-chip:hover{color:var(--teal);border-color:#0b5f6359}.filter-chip.active{background:var(--teal);border-color:var(--teal);color:#f4fffd}.gap-rank{cursor:pointer}.gap-rank-bar{align-items:center;gap:.5rem;display:flex}.gap-rank-bar .bar-track{flex:1}.gap-rank-go{color:var(--muted);opacity:0;flex-shrink:0;transition:opacity .18s,transform .18s;transform:translate(-4px)}.gap-rank:hover .gap-rank-go{opacity:1;transform:translate(0)}.gap-rank.selected .gap-rank-go{opacity:1;color:var(--teal);transform:translate(0)}.team-row{cursor:default}.benefit-row{transition:border-color .18s,transform .18s}.benefit-row:hover{border-color:#0b5f634d;transform:translate(2px)}.plan-toggle{transition:all .18s}.plan-toggle:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0b5f632e}.plan-head-right{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.plan-head-right .cta{margin-top:0}.plan-card{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.plan-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #08282c1a}.plan-card.active{box-shadow:inset 0 0 0 1px var(--teal), 0 6px 16px #0b5f6324}.plan-empty{color:var(--muted);text-align:center;opacity:.65;border:1px dashed var(--line);border-radius:10px;padding:.9rem .5rem;font-size:.72rem}@media print{.role-switch,.topbar nav,.filter-chips,.plan-toggle,.plan-remove,.gap-rank-go,.plan-head-right .cta{display:none!important}}.cert-radar{grid-template-columns:repeat(6,1fr);gap:.5rem;display:grid}@media (width<=820px){.cert-radar{grid-template-columns:repeat(3,1fr)}}@media (width<=480px){.cert-radar{grid-template-columns:repeat(2,1fr)}}.radar-col{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:.4rem;min-height:96px;padding:.5rem;display:flex}.radar-col.now{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.radar-head{color:var(--ink-soft);justify-content:space-between;align-items:center;padding:0 .1rem;font-size:.78rem;font-weight:700;display:flex}.radar-now{text-transform:uppercase;letter-spacing:.05em;color:var(--teal);background:var(--teal-soft);border-radius:999px;padding:.1rem .35rem;font-size:.6rem;font-weight:700}.radar-body{flex-direction:column;gap:.35rem;display:flex}.radar-clear{color:var(--muted);opacity:.4;text-align:center}.radar-chip{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:.35rem;padding:.3rem .35rem;transition:transform .15s,box-shadow .15s;display:flex}.radar-chip:hover{transform:translateY(-1px);box-shadow:0 4px 10px #08282c1a}.radar-chip.expired{border-left:3px solid var(--rose)}.radar-chip.soon{border-left:3px solid var(--amber)}.radar-chip.ok{border-left:3px solid var(--ok)}.radar-cert{font-size:.72rem;font-weight:600;line-height:1.15}.radar-note{color:var(--muted);margin:.75rem 0 0;font-size:.75rem}.gap-assign-list{flex-direction:column;gap:.75rem;display:flex}.gap-assign{border:1px solid var(--line);background:#fbfdfe;border-radius:14px;padding:.75rem .85rem}.rec-row{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:.6rem;margin-top:.7rem;padding-top:.7rem;display:flex}.rec-info{align-items:center;gap:.5rem;min-width:0;display:flex}.rec-info svg{color:var(--teal);flex-shrink:0}.rec-info strong{font-size:.84rem;line-height:1.2;display:block}.rec-info span{color:var(--muted);font-size:.74rem}.assign-btn{border:1px solid var(--teal);color:var(--teal);background:0 0;border-radius:999px;flex-shrink:0;align-items:center;gap:.3rem;padding:.4rem .75rem;font-size:.78rem;font-weight:650;transition:all .15s;display:inline-flex}.assign-btn:hover{transform:translateY(-1px)}.assign-btn.on{background:var(--ok);border-color:var(--ok);color:#fff}@media (width<=560px){.tree-board{min-height:360px}.skill-node{width:54px}.node-gem{border-width:1.5px;width:38px;height:38px;font-size:.6rem}.node-name{font-size:.6rem}}
