/* Built on Fluent 2 design tokens: type ramp, neutral palette, 4px corners, shadow elevation. */
:root{
--brand:#0F6CBD;--brand-hover:#115EA3;--brand-pressed:#0C3B5E;--brand-tint:#EBF3FC;
--n-fg1:#242424;--n-fg2:#424242;--n-fg3:#616161;
--n-bg1:#FFFFFF;--n-bg2:#FAFAFA;--n-bg3:#F5F5F5;--n-bg4:#F0F0F0;
--stroke1:#D1D1D1;--stroke2:#E0E0E0;--stroke-access:#616161;
--ok:#107C10;--ok-bg:#F1FAF1;--ok-line:#9FD89F;
--warn:#835B00;--warn-bg:#F5F5F5;--warn-line:#E0C36A;--warn-bar:#C19C00;
--bad:#B10E1C;--bad-bg:#F5F5F5;
--r:4px;--r-l:8px;
--shadow2:0 1px 2px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);
--shadow4:0 2px 4px rgba(0,0,0,.14),0 0 2px rgba(0,0,0,.12);
--font:'Segoe UI Variable Text','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif;
--mono:Consolas,'Cascadia Mono',monospace;
--header:48px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:112px;-webkit-text-size-adjust:100%}
body{margin:0;min-width:1100px;min-height:100vh;display:flex;flex-direction:column;background:var(--n-bg3);color:var(--n-fg1);font:400 14px/20px var(--font)}
h1,h2,h3,h4{font-family:var(--font);color:var(--n-fg1);margin:0}
h1{font-size:28px;line-height:36px;font-weight:600}
h2{font-size:20px;line-height:28px;font-weight:600;margin-bottom:8px}
h3{font-size:16px;line-height:22px;font-weight:600;margin:16px 0 4px}
p{margin:0 0 12px}
ul,ol{margin:0 0 12px;padding-left:20px}
li{margin-bottom:4px}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-hover);text-decoration:underline}
button,input,select{font:inherit}
:focus-visible{outline:2px solid var(--n-fg1);outline-offset:1px;border-radius:var(--r)}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:8px;background:var(--n-bg1);padding:6px 12px;z-index:60}.skip:focus{left:8px}

/* App header */
.bar{position:sticky;top:0;z-index:30;height:var(--header);background:var(--n-bg1);border-bottom:1px solid var(--stroke2)}
.bar-in{display:flex;align-items:center;height:100%;max-width:1360px;margin:0 auto;padding:0 24px;gap:4px}
.home-link{display:flex;align-items:center;margin-right:20px;color:var(--n-fg1)}
.home-link:hover{text-decoration:none}
.bar img{height:28px;width:auto;display:block}
.bar .prod{font-weight:600;margin-left:12px;padding-left:12px;border-left:1px solid var(--stroke1)}
.bar .sp{flex:1}
.bar a.nv{color:var(--n-fg2);padding:6px 12px;border-radius:var(--r)}
.bar a.nv:hover{background:var(--n-bg3);color:var(--n-fg1);text-decoration:none}
.bar a.nv[aria-current=page]{color:var(--brand);font-weight:600}

/* Layout */
#app{flex:1;width:100%}
.wrap{max-width:1360px;margin:0 auto;padding:20px 24px 48px}
.sub{color:var(--n-fg3);margin:4px 0 16px}
.count{font-size:12px;line-height:16px;color:var(--n-fg3);margin:0 0 4px}
.tiny{font-size:12px;line-height:16px;color:var(--n-fg3)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 12px;background:var(--brand);color:#fff;border:1px solid transparent;border-radius:var(--r);font-weight:600;cursor:pointer;line-height:20px}
.btn:hover{background:var(--brand-hover);color:#fff;text-decoration:none}
.btn:active{background:var(--brand-pressed)}
.btn[disabled],.btn.off{background:var(--n-bg4);color:#BDBDBD;border-color:var(--stroke2);cursor:not-allowed;pointer-events:none}
.btn[hidden]{display:none}
.hdr-rec{margin-right:8px}
.btn.ghost{background:var(--n-bg1);color:var(--n-fg1);border-color:var(--stroke1)}
.btn.ghost:hover{background:var(--n-bg3)}
.btn.full{width:100%}

/* Cards */
.panel,.side-c{background:var(--n-bg1);border-radius:var(--r-l);box-shadow:var(--shadow2);padding:16px}
.home{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:16px;margin-top:16px}
.scen{display:grid;gap:8px}
.scen-b{display:block;width:100%;text-align:left;background:var(--n-bg1);border:1px solid var(--stroke2);border-radius:var(--r);padding:8px 12px;cursor:pointer;color:var(--n-fg1)}
.scen-b:hover{background:var(--n-bg3)}
.scen-b b{display:block;font-weight:600}.scen-b span{font-size:12px;line-height:16px;color:var(--n-fg3)}
.quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.quick a{display:block;border:1px solid var(--stroke2);border-radius:var(--r);padding:8px 12px;color:var(--n-fg1)}
.quick a:hover{background:var(--n-bg3);text-decoration:none}
.quick b{display:block;font-weight:600}.quick span{font-size:12px;line-height:16px;color:var(--n-fg3)}
.ref-line{margin:12px 0 0;color:var(--n-fg3)}

/* What to know first */
.know{background:var(--n-bg1);border-radius:var(--r-l);box-shadow:var(--shadow2);padding:10px 16px;margin-bottom:16px}
.know summary{cursor:pointer;font-weight:600;font-size:16px;line-height:22px}
.idea{font-size:16px;line-height:22px;margin:10px 0}
.bound{display:grid;grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);gap:0;margin-bottom:10px;border:1px solid var(--stroke2);border-radius:var(--r)}
.bound>div:not(.b-line){padding:10px 14px}
.bound h2{font-size:14px;line-height:20px;margin:0}
.k{color:var(--n-fg3);font-size:12px;line-height:16px;margin:0 0 6px}
.bound ul{display:flex;flex-wrap:wrap;gap:0 20px;margin:0}
.bound li{margin:0}
.b-line{display:flex;align-items:center;text-align:center;padding:8px 12px;font-size:12px;line-height:16px;font-weight:600;color:var(--brand);border-left:1px solid var(--stroke2);border-right:1px solid var(--stroke2);background:var(--brand-tint)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--stroke2);border-radius:var(--r);margin-bottom:4px}
.split>div{padding:10px 14px;min-width:0}
.split>div+div{border-left:1px solid var(--stroke2)}
.split h3{font-size:14px;line-height:20px;margin:0}
.split dl{display:grid;grid-template-columns:48px minmax(0,1fr);gap:2px 8px;margin:0}
.split dt{color:var(--n-fg3)}.split dd{margin:0}
.split>.pool{grid-column:1/-1;border-left:0;border-top:1px solid var(--stroke2);background:var(--n-bg3);font-weight:600;text-align:center;padding:6px}

/* Workspace */
.ws{display:grid;grid-template-columns:180px minmax(0,1fr) 340px;gap:16px;align-items:start}
.side{position:sticky;top:calc(var(--header) + 16px);display:grid;gap:12px;max-height:calc(100vh - var(--header) - 32px);overflow:auto;padding:2px}
.side h2{font-size:16px;line-height:22px}
.sh{font-size:18px!important;line-height:24px!important}
.stage{background:var(--n-bg1);border-radius:var(--r-l);box-shadow:var(--shadow2);padding:4px 16px 8px;margin-bottom:16px}
.stage>h2{font-size:16px;line-height:22px;padding:10px 0 8px;margin:0;border-bottom:1px solid var(--stroke2)}
.qc{padding:12px 0;border-bottom:1px solid var(--stroke2)}
.qc:last-child{border-bottom:0}
.qc h3{margin:0;font-size:14px;line-height:20px}
.qc-h{display:flex;gap:8px}
.hint{color:var(--n-fg3);margin:2px 0 0}
.whyq{font-size:12px;line-height:16px;color:var(--n-fg3);margin:8px 0 0 28px}
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px;margin:6px 0 0 28px}
.chip{display:flex;gap:8px;align-items:flex-start;background:none;border:0;padding:5px 4px;cursor:pointer;color:var(--n-fg1);text-align:left;border-radius:var(--r)}
.chip:hover{background:var(--n-bg3)}
.chip::before{content:'';flex:none;width:16px;height:16px;margin-top:2px;border:1px solid var(--stroke-access);border-radius:50%;background:var(--n-bg1)}
.chips.multi .chip::before{border-radius:2px}
.chip[aria-pressed=true]{font-weight:600}
.chip[aria-pressed=true]::before{border:5px solid var(--brand)}
.chips.multi .chip[aria-pressed=true]::before{border:0;background:var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-6.5' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") center/16px no-repeat}
.assume{margin:8px 0 0 28px}
.num{display:block;margin:6px 0 0 28px}.num span{display:block;margin-bottom:4px}
input[type=number],input[type=email]{height:32px;padding:0 10px;border:1px solid var(--stroke1);border-bottom-color:var(--stroke-access);border-radius:var(--r);background:var(--n-bg1);color:var(--n-fg1);width:100%}
.num input{width:120px}
input:focus{outline:0;border-bottom:2px solid var(--brand)}
.checks{display:grid;gap:0;margin:6px 0 0 28px}
.chk{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:8px 0;border-top:1px solid var(--stroke2);align-items:center}
.chk:first-child{border-top:0}
.chk p{font-size:12px;line-height:16px;color:var(--n-fg3);margin:2px 0 0}
.adm{font-size:12px;color:var(--n-fg3);margin-left:8px}
.seg{display:inline-flex;border:1px solid var(--stroke1);border-radius:var(--r);overflow:hidden;background:var(--n-bg1)}
.seg button{border:0;border-right:1px solid var(--stroke1);background:none;color:var(--n-fg1);padding:5px 10px;cursor:pointer;white-space:nowrap}
.seg button:last-child{border-right:0}
.seg button:hover{background:var(--n-bg3)}
.seg button[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:600}
.seg.big{margin:8px 0 12px}

/* Message bars and badges */
.note,.assume{display:block;border:1px solid var(--stroke2);background:var(--n-bg3);border-radius:var(--r);padding:8px 12px;font-size:14px}
.note{margin:8px 0}
.assume{font-size:12px;line-height:16px}
.note.amber,.assume{background:var(--warn-bg);border-left:3px solid var(--warn-bar)}
.note.red{background:var(--bad-bg);border-left:3px solid var(--bad)}
.note.green{background:var(--ok-bg);border-color:var(--ok-line)}
.lb,.tm,.kind{display:inline-block;font:600 11px/16px var(--font);border-radius:var(--r);padding:0 6px;white-space:nowrap;border:1px solid var(--stroke2);background:var(--n-bg1);color:var(--n-fg2)}
.lb-ms{color:var(--brand);border-color:#B4D6FA}
.lb-our{color:#0B6A6F;border-color:#9AD3D6}
.lb-rep{color:var(--warn);border-color:var(--warn-line)}
.lb-np{color:var(--n-fg3);border-color:var(--stroke1);background:var(--n-bg3)}
.tm-date{color:var(--warn);border-color:var(--warn-line)}
.tm-none{border-style:dashed}
.k-look{color:var(--ok);border-color:var(--ok-line)}.k-change{color:var(--warn);border-color:var(--warn-line)}
.path{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere}

/* Tables */
.tw{margin:8px 0 16px;border:1px solid var(--stroke2);border-radius:var(--r);overflow:hidden}
table{width:100%;border-collapse:collapse;background:var(--n-bg1)}
th{font-weight:600;text-align:left;color:var(--n-fg2);background:var(--n-bg2);border-bottom:1px solid var(--stroke1);padding:7px 10px;vertical-align:bottom}
td{padding:8px 10px;border-bottom:1px solid var(--stroke2);vertical-align:top;overflow-wrap:break-word}
tbody tr:hover td{background:var(--n-bg2)}
tbody tr:last-child td{border-bottom:0}
table.steps{table-layout:fixed}
table.steps th:nth-child(1){width:84px}table.steps th:nth-child(2){width:27%}table.steps th:nth-child(3){width:17%}table.steps th:nth-child(4){width:13%}table.steps th:nth-child(5){width:19%}table.steps th:nth-child(7){width:104px}
table.steps td{overflow-wrap:anywhere}
table.steps tr.warn td{background:var(--bad-bg)}
table.steps tr.warn td:first-child{box-shadow:inset 3px 0 0 var(--bad)}

/* Stack and figures */
.stack{border:1px solid var(--stroke2);border-radius:var(--r);margin:8px 0}
.stack div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;padding:6px 10px;border-bottom:1px solid var(--stroke2)}
.stack div:last-child{border-bottom:0}
.stack span{color:var(--n-fg3)}.stack b{font-weight:600}
.side .stack div{grid-template-columns:minmax(0,1fr);gap:0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0;border:1px solid var(--stroke2);border-radius:var(--r);margin:8px 0 12px}
.card{padding:8px 12px}
.card+.card{border-left:1px solid var(--stroke2)}
.card span{display:block;font-size:12px;line-height:16px;color:var(--n-fg3)}
.card b{display:block;font-size:20px;line-height:28px;font-weight:600}
.side .card{padding:6px 8px}.side .card b{font-size:16px;line-height:22px}
ul.plain,ol.plain,ol.order,ol.three{padding-left:20px}

/* Report */
.acts{position:sticky;top:var(--header);z-index:20;display:flex;gap:8px;align-items:center;background:var(--n-bg3);padding:8px 0;margin-bottom:8px}
#copied{font-size:12px;color:var(--ok)}
.report{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:32px;background:var(--n-bg1);border-radius:var(--r-l);box-shadow:var(--shadow2);padding:24px;max-width:1500px}
.r-head{grid-column:1/-1;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--stroke2)}
.eyebrow{color:var(--n-fg3);margin:0 0 2px}
.r-meta{display:flex;gap:32px;margin:12px 0 8px}
.r-meta dt{font-size:12px;line-height:16px;color:var(--n-fg3)}.r-meta dd{margin:0;font-weight:600}
.current{color:var(--n-fg2);margin:4px 0 0}
.current.changed{background:var(--warn-bg);border:1px solid var(--stroke2);border-left:3px solid var(--warn-bar);border-radius:var(--r);padding:8px 12px}
.find{grid-column:1;grid-row:2/span 30;position:sticky;top:112px;align-self:start}
.find h2{font-size:14px;line-height:20px;margin-bottom:4px}
.find-g,.proto-who{display:grid;gap:2px}
.find a,.proto-who a{display:block;padding:6px 10px;color:var(--n-fg1);border-radius:var(--r)}
.find a:hover,.proto-who a:hover{background:var(--n-bg3);text-decoration:none}
.find b,.proto-who b{display:block;font-weight:400}.find span,.proto-who span{font-size:12px;line-height:16px;color:var(--n-fg3)}
.report>span,.r-note{grid-column:2}
.r-s{grid-column:2;min-width:0;padding:16px 0 4px;border-top:1px solid var(--stroke2);scroll-margin-top:112px}
.r-s:first-of-type{border-top:0;padding-top:0}
.who-tag{font-size:12px;line-height:16px;font-weight:600;color:var(--brand);margin:0 0 2px}
.lead{font-size:16px;line-height:22px}
.locked{background:var(--brand-tint);border:0;border-radius:var(--r-l);padding:16px 20px!important;margin:12px 0}
.paste{margin:4px 0 12px;background:var(--n-bg3);padding:10px 14px;border-radius:var(--r)}
.back{font-size:12px;margin:0 0 8px}
.keys{display:grid;gap:4px;margin:4px 0 12px}
.keys div{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px;align-items:baseline}
.keys dd{margin:0}

/* Quick answers */
.ans{font-size:16px;line-height:22px}
.opts{display:grid;gap:4px;margin:8px 0}
.opt{text-align:left;background:var(--n-bg1);border:1px solid var(--stroke1);border-radius:var(--r);padding:7px 12px;cursor:pointer;color:var(--n-fg1)}
.opt:hover{background:var(--n-bg3)}
.opt[aria-pressed=true]{border-color:var(--brand);background:var(--brand-tint);font-weight:600}
.after-q{margin-top:24px;border-top:1px solid var(--stroke2);padding-top:12px}
.after-q p{margin-bottom:6px}

@media print{
.bar,.acts,.ex-bar,.find,.back,.skip{display:none!important}
body{background:#fff;min-width:0;font-size:11px;line-height:15px}
.wrap{padding:0}
.report{display:block;box-shadow:none;padding:0}
tr{break-inside:avoid}
a{color:inherit}
}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[tabindex="-1"]:focus{outline:0}
input[aria-invalid=true]{border-color:var(--bad)}

.report{display:block;max-width:1400px}
.ov{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:32px;align-items:start}
.ov-main{min-width:0}
.ov-side{position:sticky;top:112px;background:var(--brand-tint);border-radius:var(--r-l);padding:16px;scroll-margin-top:112px}
.ov-side h2{font-size:16px;line-height:22px;margin-bottom:4px}
.lead-form{background:var(--n-bg1);border-radius:var(--r);box-shadow:var(--shadow2);padding:12px;margin:8px 0}
.lead-form .note{margin:0}

.hdr-cta{margin-left:8px}
.foot{background:var(--n-bg1);border-top:1px solid var(--stroke2)}
.foot-in{display:flex;align-items:center;gap:20px;max-width:1360px;margin:0 auto;padding:16px 24px}
.foot-in img{height:24px;display:block}
.foot-in p{margin:0;flex:1}
.foot-note{max-width:1360px;margin:0 auto;padding:0 24px 16px}
.ov-contact{margin-top:12px;background:var(--n-bg1);border-radius:var(--r);box-shadow:var(--shadow2);padding:12px}
.ov-contact p{margin-bottom:8px}
@media print{.foot{display:none}}

/* Section rails */
.rail{position:sticky;top:calc(var(--header) + 16px);display:grid;gap:2px;align-self:start}
.rail a,.rail button{display:block;width:100%;text-align:left;background:none;border:0;border-left:2px solid var(--stroke2);padding:6px 10px;font:inherit;color:var(--n-fg2);cursor:pointer}
.rail a:hover,.rail button:hover{background:var(--n-bg4);color:var(--n-fg1);text-decoration:none}
.rail [aria-current]{border-left-color:var(--brand);color:var(--brand);font-weight:600}
.rail button.done::after{content:' \2713';color:var(--ok)}
.ans-l{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start}
.ans-b{max-width:960px}
@media print{.rail{display:none}}

/* Stop-spend flow */
.flow{margin:8px 0 16px}
.flow-h,.flow-r{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1.5fr);gap:32px;padding:10px 12px}
.flow-h{font-weight:600;color:var(--n-fg3);padding-bottom:4px}
.flow-r{border:1px solid var(--stroke2);border-radius:var(--r);margin-bottom:8px;background:var(--n-bg1)}
.flow-do{position:relative}
.flow-do::before{content:'\2192';position:absolute;left:-24px;color:var(--brand);font-weight:600}
.ex-bar{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.linkb{background:none;border:0;padding:0;font:inherit;color:var(--brand);text-decoration:underline;cursor:pointer;white-space:nowrap}
