/* rev2 orbit wheels · palette from site-shell.css / horizon.css */
:root{--bg:#080f17;--surf:#0e1c25;--bd:#2a424a;--mint:#9de4c8;--mut:#a2b8c1;--txt:#edf4f3}
body{background:var(--bg);color:var(--txt);font-family:Manrope,Arial,sans-serif;margin:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ob{max-width:1320px;margin:0 auto;padding:18px clamp(12px,3vw,32px) 60px}
.ob-eyebrow{letter-spacing:.12em;font-size:12px;color:var(--mint);margin:8px 0 4px}
.ob-intro h1{font-size:clamp(24px,3.4vw,38px);margin:0 0 8px}.ob-intro>p{color:var(--mut);max-width:760px;margin:0 0 14px}
.ob-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.ob-search input{min-height:44px;width:min(420px,88vw);box-sizing:border-box;padding:0 14px;border-radius:12px;border:1px solid var(--bd);background:var(--surf);color:var(--txt);font:inherit}
.ob-seg-ctl{display:none;gap:4px}.ob-seg-ctl button,.ob-crumb button,.ob-peek,.ob-cardbtn{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--bd);background:var(--surf);color:var(--txt);font:inherit;cursor:pointer}
.ob-seg-ctl button[aria-pressed=true]{border-color:var(--mint);color:var(--mint)}
.ob-crumb{color:var(--mut);font-size:14px}.ob-crumb button{min-height:36px;padding:0 10px}
.ob-layout{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) minmax(300px,360px);gap:14px;align-items:start}
.ob-col{background:var(--surf);border:1px solid var(--bd);border-radius:18px;padding:12px}
.ob-wt{font-size:16px;margin:0 0 6px}.ob-wt small{display:block;font-weight:400;color:var(--mut);font-size:12px}
.ob-wheel{width:100%;height:auto;display:block;touch-action:manipulation;-webkit-tap-highlight-color:transparent;overflow:visible}
.ob-seg{cursor:pointer;outline:none}
.ob-slice{fill:var(--seg);stroke:#080f17;stroke-width:1.5;transition:opacity .2s,filter .2s;opacity:.9}
.ob-seg.is-tick .ob-slice{opacity:.35}
.ob-seg.is-dim .ob-slice{opacity:.14}.ob-seg.is-dim .ob-lbl{opacity:.3}
.ob-seg.is-linked .ob-slice{stroke:#edf4f3;stroke-width:2.5;filter:drop-shadow(0 0 6px rgba(157,228,200,.75));opacity:1}
.ob-seg.is-on .ob-slice{stroke:#edf4f3;stroke-width:3.5;opacity:1;filter:drop-shadow(0 0 9px rgba(237,244,243,.6))}
.ob-seg:focus-visible .ob-slice{stroke:#ffffff;stroke-width:4;stroke-dasharray:6 3}
@media(hover:hover){.ob-seg:hover .ob-slice{opacity:1}}
.ob-lbl{fill:#080f17;font-size:11px;font-weight:800;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
#ob-w2 [data-ring="0"] .ob-lbl{font-size:8.5px}
.ob-disc{fill:#0b1720;stroke:var(--bd);stroke-width:1.5}.ob-centre{cursor:pointer}
.ob-ring-bg{fill:none;stroke:#1b2c35;stroke-width:5}.ob-ring{fill:none;stroke-width:5;stroke-linecap:round}
.ob-c1{fill:var(--txt);font-size:20px;font-weight:800;text-anchor:middle}.ob-c1s{font-size:17px}.ob-c2{fill:var(--mut);font-size:11px;text-anchor:middle}.ob-c3{fill:var(--mut);font-size:9px;text-anchor:middle}
.ob-strip{align-self:center;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:10px;color:var(--mut)}
.ob-node{border:1px solid var(--bd);border-radius:8px;padding:2px 4px;background:var(--surf);writing-mode:vertical-rl}
.ob-wire{position:relative;width:2px;height:160px;background:repeating-linear-gradient(var(--bd) 0 4px,transparent 4px 8px)}
.ob-pulse{position:absolute;left:-3px;top:0;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint);animation:obp 2.6s linear infinite}
.ob-doc{position:absolute;left:-26px;top:40%;font-size:9px;padding:2px 4px;border-radius:5px;background:#16323a;color:var(--txt);white-space:nowrap;animation:obd 2.6s ease-in-out infinite}
@keyframes obp{from{top:0}to{top:152px}}@keyframes obd{0%,100%{transform:translateY(-30px);opacity:.2}50%{transform:translateY(30px);opacity:1}}
.ob-panel{background:var(--surf);border:1px solid var(--bd);border-radius:18px;padding:14px;max-height:calc(100vh - 120px);overflow:auto;position:sticky;top:76px}
.ob-head{display:flex;gap:10px}.ob-sw{width:12px;height:42px;border-radius:6px;flex:none}.ob-head h2{font-size:17px;margin:0}.ob-head p{color:var(--mut);margin:4px 0 0;font-size:13px}
.ob-h3{font-size:14px;margin:14px 0 8px;color:var(--mint)}
.ob-handoff{margin-top:12px;border:1px dashed var(--mint);border-radius:12px;padding:8px 10px;font-size:13px}.ob-handoff h3{font-size:13px;margin:0 0 4px}.ob-handoff ul{margin:0;padding-left:18px}.ob-handoff em{color:var(--mint);font-style:normal}
.ob-card{border:1px solid var(--bd);border-left:5px solid #d8cf83;border-radius:12px;padding:10px;margin-bottom:8px;background:#0b1720}
.ob-card.sev-critical{border-left-color:#da9299}.ob-card.sev-attention{border-left-color:#daa273}.ob-card.is-on{outline:2px solid var(--mint)}
.ob-card header{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--mut)}.ob-sev{font-weight:800;color:var(--txt)}
.ob-card h4{margin:6px 0 4px;font-size:14px}.ob-card p{margin:0 0 8px;font-size:13px;color:var(--mut)}.ob-cardbtn{min-height:36px;font-size:13px}
.ob-muted,.ob-more{color:var(--mut);font-size:13px}
.ob-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ob-primary,.ob-secondary{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;font-weight:700;text-decoration:none}
.ob-primary{background:var(--mint);color:#080f17}.ob-secondary{border:1px solid var(--mint);color:var(--mint)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--txt);outline-offset:2px}
.ob-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:13px;color:var(--mut)}.ob-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.ob-peek{display:none;margin:8px auto 0}
@media(max-width:1100px){.ob-layout{grid-template-columns:1fr 1fr}.ob-strip{display:none}.ob-panel{grid-column:1/-1;position:static;max-height:none}}
@media(max-width:700px){.ob-layout{grid-template-columns:1fr}.ob-seg-ctl{display:flex}.ob-peek{display:block}
 .ob-col{padding:8px;scroll-margin-top:70px}.ob-lbl{font-size:13px}#ob-w2 [data-ring="0"] .ob-lbl{font-size:10px}}
@media(prefers-reduced-motion:reduce){.ob-pulse,.ob-doc{animation:none}.ob-slice{transition:none}}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--site-mint,#9de4c8);color:#06231b;padding:8px 12px;border-radius:8px}.skip:focus{left:8px}
.site-header a{text-decoration:none;color:inherit}

.ob-legend{display:grid;gap:6px}.ob-legend div{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.ob-legend b{font-size:12px;color:var(--txt);min-width:150px}
.ob-legend i.rib{height:4px;width:16px;border-radius:2px;vertical-align:3px}
.ob-ribbon{pointer-events:none}
.ob-card.sev-critical{border-left-color:#ec8f97}.ob-card.sev-attention{border-left-color:#e8a26a}.ob-card{border-left-color:#e3d27a}

/* base <dialog> look copied verbatim from landing.css (landing.css itself is not loaded on this page) */
dialog.ob-pop{color:#eef5f5;border:1px solid #3b545a;border-radius:14px;background:#101e28;box-shadow:0 30px 130px #000a;position:fixed;inset:0;margin:auto;height:fit-content;z-index:60;max-width:640px}
.ob-pop-h{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#97b4bc;margin:18px 0 10px;font-weight:600}
.ob-pop-fix{list-style:none;margin:0;padding:0}.ob-pop-fix .notification-choice{cursor:default}
.bubble-dialog.ob-pop .notification-card h3{margin:14px 0 6px}
/* KPI strip */
.ob-kpis{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:0 0 12px}
.ob-kpi-wrap{position:relative;flex:1 1 200px}
.ob-kpi{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;min-height:56px;padding:8px 14px;border-radius:12px;border:1px solid #2a424a;background:#0e1c25;color:#edf4f3;font:inherit;cursor:pointer}
.ob-kpi b{grid-row:1/3;font-size:24px;font-weight:800;font-variant-numeric:tabular-nums}.ob-kpi span{font-size:13px}.ob-kpi small{font-size:11px;color:#a9bec6}
.ob-kpi[data-kpi="risk"] b{color:#e8a26a}.ob-kpi[data-kpi="late"] b{color:#ec8f97}.ob-kpi[data-kpi="cash"] b{color:#ec8f97;font-size:20px}
.ob-kpi[aria-expanded="true"]{border-color:#7fdcb4;box-shadow:0 0 0 1px #7fdcb4 inset}
.ob-kpi-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);list-style:none;margin:0;padding:6px;border:1px solid #3b545a;border-radius:12px;background:#101e28;box-shadow:0 18px 50px #000a}
.ob-kpi-item{width:100%;text-align:left;min-height:44px;padding:0 12px;border-radius:8px;border:0;background:transparent;color:#edf4f3;font:inherit;font-size:13px;cursor:pointer}.ob-kpi-item:hover,.ob-kpi-item:focus-visible{background:#193b32}
.ob-kpi-reset{min-height:44px;padding:0 14px;border-radius:999px;border:1px solid #2a424a;background:transparent;color:#a9bec6;font:inherit;cursor:pointer;align-self:center}.ob-kpi-reset:disabled{opacity:.45;cursor:default}
/* KPI highlight on wheels */
.ob-seg.is-kpi .ob-slice{opacity:1;stroke:#edf4f3;stroke-width:3}
/* problem pulse (stops when handled) */
@keyframes ob-problem-pulse{0%,100%{filter:drop-shadow(0 0 0 rgba(236,143,151,0))}50%{filter:drop-shadow(0 0 7px rgba(236,143,151,.95))}}
.ob-seg.is-pulse .ob-slice{animation:ob-problem-pulse 1.8s ease-in-out infinite}
.ob-seg.is-handled .ob-slice{animation:none;opacity:.75}
.ob-badge{cursor:pointer;outline:none}.ob-badge-t{fill:#06121a;font-size:13px;font-weight:900;pointer-events:none}.ob-badge:focus-visible circle{stroke:#fff;stroke-width:3}
/* problem card extras (inside landing .bubble-dialog/.notification-card) */
.ob-pop-fix{display:grid;gap:0}.ob-pop-fix button.notification-choice{width:100%;text-align:left;font:inherit;color:inherit}
.notification-choice.is-chosen{background:#193b32;border-color:#6aba9c}
.ob-pop-done{margin:6px 0 0;color:#7fdcb4;font-size:14px}
.ob-pop-link{display:inline-flex;min-height:44px;align-items:center;color:#7fdcb4;font-weight:700}
@media(prefers-reduced-motion:reduce){.ob-seg.is-pulse .ob-slice{animation:none;stroke:#ec8f97;stroke-width:2.5}}
@media(max-width:700px){.ob-kpis{gap:8px}.ob-kpi-wrap{flex:1 1 100%}.ob-kpi{min-height:52px}}
@media(min-width:1101px){dialog.ob-pop{inset:auto;right:24px;top:84px;left:auto;margin:0;width:min(520px,40vw);max-height:calc(100dvh - 110px);overflow:auto}}
@media(max-width:700px){dialog.ob-pop{inset:auto 0 0 0;margin:0 auto;width:calc(100% - 16px);max-height:78dvh;overflow:auto;border-radius:14px 14px 0 0}}
.bubble-dialog-head button{background:transparent;border:0;font:inherit;cursor:pointer}

.ob-built{fill:none;stroke:#06121a;stroke-width:1.6;pointer-events:none;opacity:.85}
.ob-ready-bg{fill:#06121a55;pointer-events:none}.ob-ready{fill:#06121a;pointer-events:none}
.ob-short{fill:#ec8f97;stroke:#06121a;stroke-width:1.5;pointer-events:none}
.ob-legend i.lg-built{background:transparent;border:3px double #edf4f3;width:10px;height:10px}.ob-legend i.lg-bought{background:transparent;border:1px solid #edf4f3}
.ob-legend i.lg-ready{height:4px;width:16px;background:linear-gradient(90deg,#edf4f3 66%,#2f4651 66%)}.ob-legend i.lg-short{border-radius:50%;background:#ec8f97}
.ob-qline{flex-basis:100%;margin:0;font-size:13px;color:#edf4f3;line-height:1.5}.ob-qline b{color:#7fdcb4}.ob-qhint{color:#a9bec6}
.ob-bom{margin-top:10px}.ob-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ec8f97;margin-right:5px}.ob-bomt td small{color:#a9bec6}
/* narrow screens: no horizontal overflow on the demo page */
@media(max-width:560px){
 .ob-cta{flex-direction:column;align-items:stretch}
 .ob-primary,.ob-secondary{display:flex;justify-content:center;width:100%;box-sizing:border-box;min-height:48px;padding:10px 16px;white-space:normal;text-align:center;line-height:1.3}
 .ob-handoff,.ob-handoff li{overflow-wrap:anywhere;white-space:normal;min-width:0}
 .ob-legend b{min-width:0;flex-basis:100%}
 .ob-legend div,.ob-legend span{min-width:0;white-space:normal}
}
body[data-page="demo"]{overflow-x:clip}
/* CTA pills: real horizontal padding, wrap instead of clipping (overrides generic a[data-book]/link resets) */
body .ob-cta .ob-primary,body .ob-cta .ob-secondary{display:inline-flex!important;align-items:center;justify-content:center;padding:11px 20px!important;min-height:44px;box-sizing:border-box;max-width:100%;white-space:normal;text-align:center;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:560px){body .ob-cta .ob-primary,body .ob-cta .ob-secondary{display:flex!important;width:100%}}

.ob-card-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.ob-card-acts .ob-cardbtn{min-height:40px;padding:0 14px;font-size:13px;cursor:pointer}.ob-card-acts .ob-confirm{border-color:var(--mint);color:var(--mint)}.ob-card-acts .ob-cardbtn:focus-visible{outline:2px solid var(--mint);outline-offset:2px}@media(max-width:600px){.ob-card-acts .ob-cardbtn{flex:1 1 0;min-width:0;min-height:44px}}.ob-done ul{list-style:none;margin:0 0 10px;padding:0;font-size:13px;color:var(--mut)}.ob-done li{padding:4px 0}.ob-done li span{color:var(--mint);margin-right:6px}
