/* ==== PRISM.SALES calm look (Nov 2, 2026, Billy: "make PRISM.SALES look like the Portal").
   Same design language as the PRISM Portal "Crisp and clean" block: Plus Jakarta Sans, white page,
   pale PRISM blue sidebar with a white pill for the active item, titles on white, light weights,
   white cards with a hairline border and no heavy shadow, solid flat buttons.
   Styles only. Markup and behavior are unchanged. Loaded last. ==== */
@font-face{font-family:"Plus Jakarta Sans";src:url("../fonts/PlusJakartaSans-var.woff2") format("woff2");font-weight:200 800;font-display:swap}
:root{--font-sans:"Plus Jakarta Sans","Inter",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
 --ink:#14213D;--ink2:#2B3654;--soft:#5B6478;--tintbg:#EEF2FA;--band:#F3F5F9;--hair:#E8ECF3;--btn:#203F96;
 --text-strong:#14213D;--text:#2B3654;--surface-page:#fff;
 --shadow-card:none;--shadow-raised:none;--shadow-pop:0 1px 2px rgba(11,27,58,.04),0 12px 32px rgba(11,27,58,.08)}
html,body,body.rs{background:#fff}
body{font-family:var(--font-sans);color:var(--ink2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:normal}
button,input,select,textarea{font-family:var(--font-sans)}
.app,.app.wide{background:#fff}
svg.ic,.ic{stroke-width:1.5}

/* ---- dark heroes become a plain white page; the title sits on white ---- */
.head,.detail .head,.rs .rhero{background:none!important;box-shadow:none}
.head::after{display:none}
h1,.rs .rt h1,.desk .rt h1{color:var(--ink);font-weight:400;letter-spacing:-.01em}
h1{font-size:24px;line-height:30px}
.rs .rt h1,.desk .rt h1{font-size:24px;line-height:32px}
h1 small,.rsub,.sub2,.detail .hero .sub{color:var(--soft)}
.rsub{font-size:13.5px}
h1 .cnt{background:var(--tintbg);color:var(--prism-blue-700);font-weight:600}
h1 .mine{color:var(--soft);background:var(--band)}
.rs .rt{padding-bottom:18px;border-bottom:1px solid var(--hair);align-items:center}
.desk .rt{padding-top:24px}
/* phone top bar */
.bar .l{color:var(--ink)}
.bar .l img{box-shadow:none}
.bar .l .t{color:var(--soft)}
.bar .l .t b{color:var(--ink);font-weight:700}
.me{box-shadow:none;background:#DDE3EE;color:var(--ink);font-weight:600}
.rbtn{background:var(--tintbg);box-shadow:none;color:var(--prism-blue-700)}
.ex-pill.dark{background:rgba(232,200,70,.16);color:#7A5C00;border-color:rgba(232,200,70,.55)}
.mgr-badge{background:var(--tintbg)!important;color:var(--prism-blue-700);border:0}
.mgr-badge *{color:var(--prism-blue-700)}
.avatar{background:#DDE3EE;color:var(--ink);font-weight:600}
.avatar.ai{background:#EFE7FD;color:#5B3FC4}

/* ---- sidebar (desktop) and top tabs (tablet) ---- */
.side{background:var(--tintbg);color:var(--ink2);border-right:0;padding:22px 12px 18px}
.side::after{display:none}
.brand img{box-shadow:none}
.brand b{color:var(--ink);font-weight:700;letter-spacing:.02em}
.sl{color:#7A849A;font-weight:600;padding:8px 14px 8px}
.si{color:var(--ink2);font-weight:400;font-size:14.5px;border-radius:12px;padding:0 14px;margin-bottom:2px}
.si .ic{color:#3A4766}
.si:hover{background:rgba(255,255,255,.6)}
.si.on{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 2px rgba(11,27,58,.06)}
.si.on .ic{color:var(--prism-blue-700)}
.si b{background:var(--prism-blue-700);color:#fff;font-weight:600}
.usr,.rs .usr{border-top:1px solid #DCE3EF}
.usr b{color:var(--ink);font-weight:600}.usr span{color:var(--soft)}
.sfoot .rbtn{background:#fff}
.tnav{background:var(--tintbg)}
.tnav::after{background:var(--hair)}
.ttab{color:var(--ink2);font-weight:400}
.ttab b{background:var(--prism-blue-700);color:#fff;font-weight:600}
.ttab.on{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 2px rgba(11,27,58,.06)}
.ttab.on .ic{color:var(--prism-blue-700)}
.ttab.on::after{display:none}
.si b.red,.ttab b.red{background:var(--todo-red);color:#fff}

/* ---- search, filters, chips, segmented controls ---- */
.search,.head-search,.rsearch{background:#fff;border:1px solid #DCE2EC;box-shadow:none}
.fbtn,.fbtn2,.rfbtn,.tools.top .fbtn2:not(.on){background:#fff;border:1px solid #DCE2EC;color:var(--prism-blue-700);box-shadow:none}
.fbtn2.on,.rfbtn.on{background:var(--tintbg);border-color:#C9D4EC;color:var(--prism-blue-700);box-shadow:none}
.rs .rfbtn .fcnt{background:var(--prism-blue-700);color:#fff}
.fbtn2 .badge{background:var(--prism-blue-700)}
.chip{font-weight:500;border-color:var(--hair);box-shadow:none}
.chip.on{background:var(--prism-blue-700);border-color:var(--prism-blue-700);box-shadow:none;font-weight:600}
.pchips span{font-weight:500}
.rper{background:var(--tintbg);border:0}
.rper span{color:var(--ink2);font-weight:500}
.rper span.on{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(11,27,58,.06)}
.rtype button{color:var(--ink2);background:var(--tintbg);border:0;font-weight:500}
.rtype button.on{background:var(--prism-blue-700);color:#fff}
.repsel{border:1px solid var(--hair);box-shadow:none}
.repsel span{font-weight:500}
.repsel span.on{box-shadow:none;font-weight:600}
.seg3{background:var(--tintbg)}
.seg3 span.on{box-shadow:0 1px 2px rgba(11,27,58,.06)}
.typesel span,.typesel>span{box-shadow:none;border:1px solid var(--hair);font-weight:500}

/* ---- cards: white, hairline, 16px radius, no heavy shadow ---- */
.card,.wc,.kpi,.dcard,.acard,.tcard,.fx,.tstrip,.active,.totals,.optile,.fu,.bempty,.rs .bempty,.review,.detail .steps,.detail .box,.detail .act,.btn3.inbox,.team .mem,.relbox{box-shadow:none;border:1px solid var(--hair)}
.card,.dcard,.acard,.detail .box,.totals,.active,.tcard{border-radius:16px}
.review{border-color:#F6DDB0}
.card::before,.wc::before{width:3px;opacity:.9}
.card.lostcard,.wc.lostcard{border-color:var(--hair)}
.wco,.card .co{font-weight:600;color:var(--ink)}
.wn{font-weight:500;color:var(--ink2)}
.wv b{font-weight:600;color:var(--ink)}
.kpi .n,.rkpis .kpi .n{font-weight:300;letter-spacing:-.02em;color:var(--ink)}
.kpi .l{font-weight:500;color:var(--soft)}
.kcol{background:var(--band);border:0;border-radius:16px}
.kch .t{font-weight:600;color:#7A849A;letter-spacing:.06em}
.kch .v{font-weight:600}
.kadd{border-color:#C9D4EC;color:var(--prism-blue-700);font-weight:500}
.wf,.ppl,.rv,.nrow,.dcard.lines .ln,.detail .sep{border-top-color:#F0F2F6}
.nn b{font-weight:500;color:var(--ink)}
.nd{background:var(--band);font-weight:600}
/* small caps labels: lighter */
.pl,.fsub,.review .top .t,.dh,.detail .box h3,.detail .k,.claimed .k,.sl{font-weight:600}
.pl{color:#7A849A}
.pk{font-weight:600}
.src,.rtn,.wc .btags .pend,.ret{font-weight:600}
.pp>span{font-weight:600}

/* ---- buttons: solid PRISM blue, flat ---- */
.claim,.btn2.pri,.detail .logbtn,.detail .act.pri,h1 .tnew,.detail .ns-box .nsadd,.fb .b2,.tfab{background:var(--btn);box-shadow:none;font-weight:600}
.btn2.pri.dis{background:#E8ECF3;color:#5B6478}
.claim{border-radius:12px}
.btn3{font-weight:600}
.btn3.inbox{background:#fff;box-shadow:inset 0 0 0 1px #C9D4EC;border:0}
.addco-b{background:#fff;font-weight:600;border-color:#C9D4EC}

/* ---- deal page header: on white, ink text ---- */
.detail .back{color:var(--prism-blue-700);font-weight:500}
.detail .hero{color:var(--ink)}
.detail .hero .dn,.dx .dxh .dn{color:var(--soft)}
.detail .hero .stage{background:var(--tintbg);color:var(--prism-blue-700);border:0}
.dx .dxh .dxchip{color:var(--prism-blue-700);background:var(--tintbg);border:1px solid #DCE3EF;font-weight:500}
.dx .dxh .dxchip:focus-visible,.dx .dxh .dvb:focus-visible{outline-color:var(--prism-blue-700)}
.dx .dxh .rep,.detail .money .rep{color:var(--ink);font-weight:500}
@media (min-width:768px){.dx .dxh .rep{background:#fff;border:1px solid var(--hair)}}
.detail .money .l{color:var(--soft)}
.detail .money .n,.dx .money .n,.detail .money .n.nset{color:var(--ink);-webkit-text-fill-color:var(--ink);font-weight:400!important;letter-spacing:-.02em}
.dx .money .dvb{color:var(--ink)}
.detail .money .dvp{background:var(--tintbg);color:var(--prism-blue-700)}
.detail .money .dvb .n.nset{text-decoration-color:#C9D4EC}
.dx .dxbar .seg{background:#E3E8F0}
.dx .dxbar .seg.done{background:#7AA6F7}
.dx .dxbar .seg.done:first-child{background:#22C3E6}
.dx .dxh .meta{color:var(--soft)}
.dx .dxh h1{font-weight:400!important}
.rs .dx .hero.dxh{padding:4px 20px 18px!important;border-bottom:1px solid var(--hair)}
.dx .qa{font-weight:500}
.dx .qa svg{box-shadow:none;border:1px solid var(--hair);stroke-width:1.6}
@media (min-width:768px){
 .dx .qa{background:#fff;box-shadow:inset 0 0 0 1px #C9D4EC}
 .dx .qa.pri{background:var(--btn);box-shadow:none}
 .dx .qa.off{background:#F5F7FA;box-shadow:none}
 .dx .qa svg{border:0}
 .dx .dxacts{border:0;padding:0;background:none}
}
.detail .ns-box{background:var(--tintbg)}
.detail .ns-box.late{background:#FDECEC}

/* ---- sheets and popovers keep a soft lift so they read above the page ---- */
.sheet,.fxpop{box-shadow:var(--shadow-pop)}
.toast{box-shadow:var(--shadow-pop)}
.tabbar{border-top:1px solid var(--hair)}
.tab{font-weight:500}
.tab.on{font-weight:600}

/* ---- pass 2 ---- */
.pbtn{background:var(--btn);box-shadow:none;font-weight:600}
.pbtn.ghost{background:#fff;color:var(--prism-blue-700);box-shadow:inset 0 0 0 1px #C9D4EC;font-weight:600}
.detail .hero .dtype{color:#0B6E8A;background:#E3F7FC;border:0;font-weight:600}
.detail .money .dvp svg{stroke:var(--prism-blue-700)}
/* folded deal sections share the .fx name with the To-dos focus card: keep them flush with the other boxes */
.dx .box.fx{margin-left:0;margin-right:0;border-radius:16px}
.dx .box.fx::before{display:none}
.rel .ri{color:var(--ink)}
.relbox .rh{font-weight:600;color:#7A849A}
.dx .qa.pri svg{background:var(--btn);border-color:var(--btn)}
/* detail rows: lighter values, label never squeezed, long values (emails) wrap instead of running off the card */
.detail .f{gap:12px;border-top-color:#F0F2F6}
.detail .f .k{flex:none;white-space:nowrap;color:var(--soft)}
.detail .f .v{font-weight:500;color:var(--ink);min-width:0;overflow-wrap:anywhere;justify-content:flex-end}
.detail .f .v.muted{font-weight:400}
.detail .box h3,.detail .ns-box .k,.detail .notes .k{font-weight:600;color:#7A849A}

/* Add team member and other big action buttons: flat, like the Portal */
.addbtn{background:var(--btn)!important;box-shadow:none!important;border-radius:12px;font-weight:600}
.addbtn:hover{background:#18327A!important}
.tog.on{background:#2E8540!important}

/* Docs rows. Since v35 the row markup uses .fi and .fxb, which the To-dos styles also use, so the row lost its layout (huge icons, squeezed titles). Scoped to .frow so To-dos are untouched. */
.fgroup{box-shadow:none;border:1px solid var(--hair);border-radius:16px}
.frow{grid-template-columns:38px minmax(0,1fr) auto;padding:12px 0}
.frow .fi{display:block;padding:0;border-top:0;min-width:0}
.frow .fn{font-weight:600;color:var(--ink)}
.frow .fm{flex-wrap:wrap;white-space:normal}
.frow .fxb{display:flex;flex-direction:row;gap:8px;min-width:0}
.frow .fxb button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 14px;border-radius:10px;border:0;font:600 13px var(--font-sans);cursor:pointer}
.frow .fxb svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.frow .fxb .b1{background:#fff;color:var(--btn);box-shadow:inset 0 0 0 1px #C9D4EC}
.frow .fxb .b2{background:var(--btn);color:#fff}
@media (max-width:560px){.frow .fxb{flex-direction:column;gap:6px}.frow .fxb button{min-height:44px;padding:0 10px;font-size:12px}}
/* Docs type chips sit on white now */
.dchips span{color:var(--ink2);background:#fff;border:1px solid var(--hair)}
.dchips span.on{background:var(--btn);color:#fff;border-color:var(--btn)}
.dchips span.on i{background:rgba(255,255,255,.2);color:#fff}
.dchips i{background:var(--band)}
/* "Open prospect" and "2 open deals here" note on the deal header, readable on white */
.detail .hero .more{color:#0E6E86;background:#E6F7FB;border:1px solid #BFE9F3;padding:0 10px!important}
/* breathing room between the industry chips and the claimed list */
.relbox{margin-top:14px}

/* PRISM.CEO logo, as in the Portal (Billy, Nov 2). The app name sits under it as a quiet label. */
img.plogo{display:block;width:auto;max-width:100%;border-radius:0!important;box-shadow:none!important;object-fit:contain}
.brand{flex-direction:column;align-items:flex-start;gap:4px}
.brand b,.bar .l .t b{font-size:10.5px!important;font-weight:700;letter-spacing:.16em!important;color:var(--soft)!important;line-height:1}
.side .brand{padding:2px 10px 24px}
.side .brand img.plogo{width:176px;height:auto}
.tnav .brand img.plogo{height:30px;width:auto}
.tnav .brand b{display:block!important}
.bar .l{flex-direction:column;align-items:flex-start;gap:3px}
.bar .l img.plogo{width:auto;height:30px}
.bar .l .t{line-height:1}
@media (max-width:360px){.bar .l img.plogo{height:26px}}
/* Sign in and no access screens show the logo too */
.boot::before,#app>.noacc::before{content:"";display:block;width:200px;height:48px;margin:0 auto 22px;background:url(../assets/prism-ceo-success-review.webp) center/contain no-repeat}

/* Pipeline: search, Filters and Sort in one bar directly above the board (Billy, Nov 2) */
.kbbar.wkb{display:flex;align-items:center;gap:12px;margin:22px 0 14px}
.kbbar.wkb .rsearch{flex:1;width:auto;min-width:0}
.kbbar.wkb .bsort{margin:0;padding:0;flex:none}
.rs .kbbar.wkb+.kb,.kbbar.wkb+.bempty{margin-top:0}
.kbbar:not(.wkb){margin:4px 0 2px}
.kbbar .tools.top.pv3{flex-direction:column;align-items:stretch;gap:10px;padding:12px 16px 4px}
.kbbar .tools.top.pv3 .head-search{flex:none;width:100%;height:48px;box-sizing:border-box}
.kbbar .tools.top.pv3 .pfbtn{width:100%;justify-content:center;min-height:44px;box-shadow:none;border:1px solid #DCE2EC;background:#fff}
.kbbar .tools.top.pv3 .pfbtn.on{background:var(--tintbg);border-color:#C9D4EC}
/* To-dos: New to-do button directly above Top risks, in the page (no floating plus) */
.tnewrow{display:flex;justify-content:flex-end;margin:12px 16px 0}
.rs .tnewrow{margin:14px 18px 0}
.tnewrow .tnew{display:inline-flex!important;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--btn);color:#fff;font:600 14px var(--font-sans);cursor:pointer;box-shadow:none}
.tnewrow .tnew svg{width:16px;height:16px;stroke:#fff;stroke-width:2.6;fill:none;stroke-linecap:round}
.app:not(.wide) .tnewrow .tnew{width:100%;justify-content:center;min-height:48px}
.kbbar.wkb .bsort select{height:44px;border-radius:13px;background:#fff;border-color:#DCE2EC}
/* Sales docs quick link on prospect and deal detail (Nov 2 2026) */
.sdocs .hx .add{text-decoration:none}
.sdocs .sdrow{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid #F1F3F7}
.sdocs h3+.sdrow{border-top:0}
.sdocs .fico{width:30px;height:36px}
.sdocs .fico svg{width:30px;height:36px}
.sdocs .fico b{bottom:6px;font-size:7.5px}
.sdocs .sdi{min-width:0}
.sdocs .sdn{font:600 14px/1.3 var(--font-sans);color:var(--ink);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sdocs .sdm{font-size:12px;color:var(--text-subtle);margin-top:2px}
.sdocs .sdb{display:flex;gap:6px}
.sdocs .sdo,.sdocs .sdd{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;padding:0 12px;border-radius:10px;border:0;font:600 13px var(--font-sans);cursor:pointer;text-decoration:none;box-sizing:border-box}
.sdocs .sdo{background:#fff;color:var(--btn);box-shadow:inset 0 0 0 1px #C9D4EC}
.sdocs .sdd{background:var(--btn);color:#fff}
.sdocs .sdo svg,.sdocs .sdd svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sdocs .sdempty{padding:4px 16px 14px;font-size:13px;color:var(--text-subtle)}
@media (max-width:560px){.sdocs .sdd span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.sdocs .sdd{padding:0}}
