/* Cove Desk, Paper style. Every color is a token so dark mode is a swap of values. */
:root{color-scheme:light;--lane:#E8E4DB;--bg:#EFECE6;--rail:#F4F1EA;--paper:#FAF8F4;--line:#E2DED5;--line2:#DCD8CF;--div:#E8E4DC;--div2:#ECE8E0;--hover:#EAE6DD;--hover2:#F1EEE7;--chipline:#D6D1C7;--pill:#E4E0D7;--ink:#111;--text:#1C1B18;--text2:#2B2A27;--nav:#3A3833;--muted:#66625B;--eyebrow:#7A756C;--unk:#8F897F;--note:#F6EED3;--noteink:#5A4A10;--sage:#7FAF73;--rose:#E8907A;--gold:#F2C744}
html[data-theme=dark]{color-scheme:dark;--lane:#1B1A17;--bg:#141311;--rail:#1A1916;--paper:#211F1C;--line:#34312C;--line2:#302D29;--div:#2B2925;--div2:#2B2925;--hover:#292723;--hover2:#292723;--chipline:#47443E;--pill:#36332E;--ink:#F3F0E9;--text:#E7E3DB;--text2:#D6D1C7;--nav:#C2BDB3;--muted:#A6A196;--eyebrow:#9A9488;--unk:#8C877C;--note:#3B3321;--noteink:#EAD58F}
*{box-sizing:border-box}
body{margin:0;background:var(--rail);color:var(--text);font-family:'Inter',system-ui,sans-serif;font-feature-settings:'cv11','ss01';font-synthesis:none;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit;font-size:calc(15px*var(--ts,1));color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.app{min-height:100vh;background:var(--bg);display:flex;align-items:stretch}
main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}

/* rail */
.rail{flex:0 0 auto;width:72px;padding:18px 12px 16px;background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;transition:width .2s ease;position:sticky;top:0;height:100vh}
html[data-rail=open] .rail{width:224px}
.ri{position:relative;display:flex;align-items:center;gap:14px;height:44px;padding:0 13px;border-radius:12px;color:var(--nav);font-size:calc(14px*var(--ts,1));font-weight:450;background:none;border:0;width:100%;text-align:left}
.ri:hover{background:var(--hover)}
.ri[aria-current=page]{color:var(--ink);font-weight:600;background:var(--hover)}
.ri[aria-current=page]::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--ink)}
.ri svg{flex:none}
.dot{position:absolute;left:30px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 2px var(--rail)}
.lbl,.cnt{display:none;white-space:nowrap}
html[data-rail=open] .lbl{display:inline}
html[data-rail=open] .cnt{display:inline;margin-left:auto;font-size:calc(12px*var(--ts,1));color:var(--muted);font-variant-numeric:tabular-nums}
html[data-rail=open] .dot{display:none}
.new{display:flex;align-items:center;gap:14px;height:48px;padding:0 4px;margin-bottom:8px;color:var(--ink);font-size:calc(14px*var(--ts,1));font-weight:600}
.new span.c{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;flex:none}
.tog{display:flex;align-items:center;gap:14px;height:40px;padding:0 13px;border-radius:12px;color:var(--muted);font-size:calc(13px*var(--ts,1));background:none;border:0;width:100%}
.tog:hover{background:var(--hover)}
.tog svg{transition:transform .2s ease}
.foot{margin-top:auto;display:flex;flex-direction:column;gap:8px}
.me{display:flex;align-items:center;gap:12px;padding:4px;border-radius:12px;color:var(--ink)}
.me:hover,.me[aria-current=page]{background:var(--hover)}
.me span.a{width:40px;height:40px;border-radius:50%;background:var(--text2);color:var(--rail);font-size:calc(13px*var(--ts,1));font-weight:600;display:flex;align-items:center;justify-content:center;flex:none}
.brand{display:flex;align-items:center;gap:12px;height:44px;padding:0 4px;color:var(--ink);min-width:0}
.brand-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px}
.brand-row .tog{width:40px;height:32px;padding:0;justify-content:center;margin-left:4px;flex:none}
html[data-rail=open] .brand-row{flex-direction:row;align-items:center;justify-content:space-between}
.wm{font:400 26px/1 'Instrument Serif',Georgia,serif;letter-spacing:0}
.sun{display:none}
html[data-theme=dark] .sun{display:block}
html[data-theme=dark] .moon{display:none}

/* shell */
.top{min-height:64px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line2);background:var(--bg);flex-wrap:wrap}
.top h1{margin:0;font-size:calc(22px*var(--ts,1));font-weight:650;letter-spacing:-0.015em;color:var(--ink)}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px}
.eyebrow{font-size:calc(13px*var(--ts,1));color:var(--eyebrow);font-weight:400}
.muted{color:var(--muted)}
.unk{color:var(--unk)}
.num{font-variant-numeric:tabular-nums}
.btn{height:40px;padding:0 16px;border-radius:12px;justify-content:center;border:1px solid var(--chipline);background:var(--paper);color:var(--ink);font-size:calc(13px*var(--ts,1));font-weight:550;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.btn:hover{background:var(--hover2)}
.btn-dark{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-dark:hover{background:var(--text2)}
.btn-ghost{border-color:transparent;background:transparent}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.chip{height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--chipline);background:transparent;color:var(--text2);font-size:calc(13px*var(--ts,1));font-weight:500;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.chip[aria-pressed=true],.chip[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
select.chip{max-width:190px;field-sizing:content;text-overflow:ellipsis;appearance:none;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 15px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:4px 4px;background-repeat:no-repeat}
.need{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ink);flex:none}
.field{display:flex;flex-direction:column;gap:6px;font-size:calc(13px*var(--ts,1));color:var(--muted)}
.field input,.field textarea,.field select{width:100%;min-width:0;height:40px;border:1px solid var(--chipline);border-radius:12px;background:var(--paper);padding:0 12px}
.field textarea{height:auto;padding:10px 12px;line-height:1.5}
.flash{margin:16px 32px 0;padding:12px 16px;border-radius:12px;background:var(--note);color:var(--text2);font-size:calc(14px*var(--ts,1))}
table.tbl{width:100%;border-collapse:collapse;font-size:calc(14px*var(--ts,1))}
table.tbl th{padding:12px 16px;font-size:calc(12px*var(--ts,1));font-weight:500;color:var(--eyebrow);text-align:left}
table.tbl td{padding:12px 16px;border-top:1px solid var(--div2);vertical-align:top}
table.tbl tr.rowlink:hover td{background:var(--hover2);cursor:pointer}

/* highlighter marks: yellow attention, sage wins, rose problems */
.hl,.hl-sage,.hl-rose{padding:0 4px;margin:0 -2px;border-radius:3px;-webkit-box-decoration-break:clone;box-decoration-break:clone;background-repeat:no-repeat;background-size:100% 58%;background-position:0 82%;color:var(--ink)}
.hl{background-image:linear-gradient(100deg,rgba(255,214,92,0) 0%,rgba(255,214,92,.85) 3%,rgba(255,214,92,.6) 48%,rgba(255,214,92,.85) 96%,rgba(255,214,92,0) 100%)}
.hl-sage{background-image:linear-gradient(100deg,rgba(170,206,160,0) 0%,rgba(170,206,160,.9) 3%,rgba(170,206,160,.65) 48%,rgba(170,206,160,.9) 96%,rgba(170,206,160,0) 100%)}
.hl-rose{background-image:linear-gradient(100deg,rgba(247,170,150,0) 0%,rgba(247,170,150,.9) 3%,rgba(247,170,150,.6) 48%,rgba(247,170,150,.9) 96%,rgba(247,170,150,0) 100%)}
html[data-theme=dark] .hl{background-image:linear-gradient(100deg,rgba(242,199,68,0) 0%,rgba(242,199,68,.5) 3%,rgba(242,199,68,.34) 48%,rgba(242,199,68,.5) 96%,rgba(242,199,68,0) 100%)}
html[data-theme=dark] .hl-sage{background-image:linear-gradient(100deg,rgba(127,175,115,0) 0%,rgba(127,175,115,.55) 3%,rgba(127,175,115,.38) 48%,rgba(127,175,115,.55) 96%,rgba(127,175,115,0) 100%)}
html[data-theme=dark] .hl-rose{background-image:linear-gradient(100deg,rgba(232,144,122,0) 0%,rgba(232,144,122,.55) 3%,rgba(232,144,122,.38) 48%,rgba(232,144,122,.55) 96%,rgba(232,144,122,0) 100%)}

/* inbox */
.split{flex:1;display:flex;flex-wrap:wrap;align-items:stretch}
.threads{flex:0 0 340px;max-width:100%;min-width:0;border-right:1px solid var(--line2);padding:12px 16px 20px;display:flex;flex-direction:column;gap:4px}
.trow{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:12px;min-width:0}
.trow>*{min-width:0}
.trow:hover{background:var(--hover2)}
.trow.on{background:var(--paper);box-shadow:0 0 0 1px var(--line)}
.trow .nm{font-size:calc(15px*var(--ts,1));font-weight:550;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow .sn{font-size:calc(14px*var(--ts,1));color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.convo{flex:999 1 440px;min-width:0;padding:28px 36px;display:flex;flex-direction:column;gap:20px}
.mail{padding:18px 20px;border-radius:16px;border:1px solid var(--line)}
.mail.in{background:var(--paper)}
.mail p{margin:0;font-size:calc(15px*var(--ts,1));line-height:1.65;color:var(--text2);white-space:pre-line;overflow-wrap:anywhere}
.note{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--note)}
.note p{margin:0;font-size:calc(14px*var(--ts,1));line-height:1.6;color:var(--text2)}
.details{flex:1 1 280px;max-width:340px;border-left:1px solid var(--line2);padding:28px 24px;display:flex;flex-direction:column;gap:26px}
.kv{display:flex;justify-content:space-between;gap:12px;font-size:calc(14px*var(--ts,1))}
.kv dt{color:var(--muted)}
.kv dd{margin:0;text-align:right}
.composer textarea{display:block;width:100%;border:0;border-radius:12px;background:transparent;padding:14px 16px;font-size:calc(15px*var(--ts,1));color:var(--ink);resize:vertical;min-height:92px;outline:none}

/* pipeline */
.board{display:flex;gap:12px;align-items:flex-start;min-width:min-content}
.card{padding:14px 16px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .15s,box-shadow .15s;min-width:0}
.card:hover{border-color:var(--chipline)}
.colhead{display:flex;align-items:baseline;justify-content:space-between;padding:0 4px}
.dropzone{min-height:140px;border-radius:16px;display:flex;flex-direction:column;gap:10px;padding-bottom:24px}
.dropzone.over{outline:2px dashed var(--chipline);outline-offset:4px}

/* call list */
.dial{max-width:880px;width:100%;margin:0 auto;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}
.outs{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(176px*var(--ts,1)),1fr));gap:8px}
.outs .btn .ell{flex:1;text-align:left}
.outs kbd{flex:none}
.outs .btn{justify-content:space-between;height:44px;border-radius:14px}
.outs kbd{font-family:inherit;font-size:calc(11px*var(--ts,1));color:var(--eyebrow);border:1px solid var(--chipline);border-radius:6px;padding:1px 6px}
.callnum{font-size:calc(30px*var(--ts,1));font-weight:600;letter-spacing:-0.02em;color:var(--ink)}

dialog{border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--text);padding:24px;max-width:460px;width:calc(100% - 32px)}
dialog::backdrop{background:rgba(0,0,0,.35)}

@media (max-width:760px){
.app{flex-direction:column}
.rail{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:20;width:auto!important;height:64px;flex-direction:row;align-items:center;justify-content:space-around;padding:0 6px;border-right:0;border-top:1px solid var(--line);gap:0}
.rail .new,.rail .srch,.rail .spacer,.rail .foot,.rail .brand,.rail .m-hide{display:none}
.ri{padding:0 12px;height:48px;width:auto}
.ri[aria-current=page]::before{top:-8px;bottom:auto;left:10px;right:10px;width:auto;height:3px;border-radius:0 0 3px 3px}
.lbl,.cnt{display:none!important}
html[data-rail=open] .dot{display:block}
main{padding-bottom:72px}
.top{min-height:56px;padding:12px 16px}
.pad{padding-left:16px!important;padding-right:16px!important}
.stack,.threads,.details{flex-basis:100%!important;max-width:none!important;border-left:0!important;border-right:0!important;border-bottom:1px solid var(--line2)}
.convo{padding:20px 16px}
.board{min-width:0!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:84%;scroll-snap-type:x mandatory}
.board>section{scroll-snap-align:start}
.ucost{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.h-xl{font-size:calc(28px*var(--ts,1))!important}
.lead{font-size:calc(20px*var(--ts,1))!important}
.hide-m{display:none!important}
.dial{padding:20px 16px 40px}
.m-tools{display:flex!important}
.has-thread .threads{display:none}
.no-thread .convo,.no-thread .details{display:none}
}
.m-tools{display:none}

/* tags */
.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 9px;border-radius:999px;background:var(--pill);color:var(--text2);font-size:calc(12px*var(--ts,1));font-weight:500;white-space:nowrap}
.tag button{all:unset;cursor:pointer;color:var(--muted);font-size:calc(14px*var(--ts,1));line-height:1;padding-left:2px}
.tag button:hover{color:var(--ink)}
.tags{display:flex;flex-wrap:wrap;gap:6px}

/* workflow map */
.wf-wrap.panning{cursor:grabbing;user-select:none}
.wf-wrap{cursor:grab;flex:none;height:calc(100vh - 100px);min-height:420px;position:relative;overflow:auto;background-color:var(--bg);background-image:radial-gradient(var(--chipline) 1px,transparent 1.2px);background-size:22px 22px}
.wf-scale{margin:0 auto;position:relative}
.wf-canvas{position:relative;transform-origin:0 0;display:grid;grid-template-columns:repeat(4,264px);column-gap:34px;row-gap:54px;padding:44px 90px 90px 40px;width:max-content;box-sizing:content-box}
.wf-canvas>svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:0}
.wf-frame{position:absolute;border:1.5px dashed var(--chipline);border-radius:22px;background:color-mix(in srgb,var(--rail) 60%,transparent);z-index:0}
.wf-frame span{position:absolute;top:-11px;left:18px;background:var(--bg);padding:0 8px;font-size:calc(12px*var(--ts,1));font-weight:600;color:var(--eyebrow);letter-spacing:.01em}
.wf-node{cursor:default;position:relative;padding:14px;width:264px;justify-self:center;align-self:start;box-shadow:0 1px 0 var(--line),0 10px 28px -20px rgba(0,0,0,.4);z-index:1}
.wf-node.who-build,.wf-node.who-parked{border-style:dashed;box-shadow:none}
.wf-row{display:flex;gap:12px;align-items:flex-start}
.wf-logo{width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;flex:none;color:#111}
.wf-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.wf-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.wf-title{font-size:calc(14.5px*var(--ts,1));font-weight:650;color:var(--ink);letter-spacing:-0.01em;line-height:1.25}
.wf-title a:hover{text-decoration:underline}
.wf-desc{margin:0;font-size:calc(12.5px*var(--ts,1));color:var(--muted);line-height:1.4}
.wf-who{font-size:calc(11px*var(--ts,1));font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap;flex:none}
.wf-who.auto{background:rgba(127,175,115,.3);color:var(--ink)}
.wf-who.you{background:rgba(242,199,68,.45);color:var(--ink)}
.wf-who.build{background:var(--pill);color:var(--text2)}
.wf-who.parked{border:1px solid var(--chipline);color:var(--unk)}
.wf-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.wf-link{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;border:1px solid var(--chipline);background:var(--paper);font-size:calc(11.5px*var(--ts,1));font-weight:550;color:var(--ink)}
.wf-link:hover{background:var(--hover2);border-color:var(--ink)}
.wf-link img{border-radius:3px}
.wf-edge{fill:none;stroke:var(--ink);stroke-width:1.6}
.wf-edge.build{stroke:var(--chipline);stroke-dasharray:2 0}
.wf-edge.dash{stroke:var(--unk);stroke-dasharray:4 5;stroke-width:1.4}
.wf-lbl{font-size:calc(11px*var(--ts,1));fill:var(--eyebrow);font-family:Inter,sans-serif;paint-order:stroke;stroke:var(--bg);stroke-width:5px}
.wf-zoom{position:fixed;right:24px;bottom:24px;display:flex;gap:4px;z-index:5;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px}
.wf-zoom button{width:32px;height:32px;border-radius:50%;border:0;background:none;color:var(--ink);font-size:calc(16px*var(--ts,1))}
.wf-zoom button:hover{background:var(--hover)}
.wf-legend{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:calc(12px*var(--ts,1));color:var(--muted)}
.wf-list{display:none}
@media (max-width:760px){
.wf-wrap,.wf-zoom{display:none}
.wf-list{display:flex;flex-direction:column;padding:16px 16px 40px}
.wf-list .wf-node{position:relative;left:auto!important;top:auto!important;width:auto!important;min-height:0!important}
.wf-step-arrow{width:2px;height:16px;background:var(--chipline);margin:0 auto}
}
.testbar{display:flex;align-items:center;gap:10px;padding:8px 32px;background:var(--note);color:var(--noteink);font-size:calc(13px*var(--ts,1));border-bottom:1px solid var(--line2)}
@media (max-width:760px){.testbar{padding:8px 16px}}

/* ---- quality of life pass (Oct 26) ---- */
.ell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}
.nowrap{white-space:nowrap}
.strong{font-weight:550;color:var(--ink)}
.r{text-align:right}
.h2{margin:0;font-size:calc(17px*var(--ts,1));font-weight:600;color:var(--ink)}
.btn-sm{height:32px;padding:0 12px;border-radius:10px;font-size:calc(12.5px*var(--ts,1))}
.seg{display:flex;gap:4px}
.top .seg .chip{height:40px;border-radius:12px;padding:0 14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sec-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sec-h>div:first-child{flex:1 1 320px;min-width:0}
table.tbl td.strong{min-width:150px}
td.biz{min-width:calc(200px*var(--ts,1));font-weight:550;color:var(--ink)}
td.biz .needs{margin-top:4px}
.needs{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;background:rgba(242,199,68,.5);color:var(--ink);font-size:calc(11.5px*var(--ts,1));font-weight:600;white-space:nowrap;flex:none;width:max-content}
html[data-theme=dark] .needs{background:rgba(242,199,68,.3)}
.needs.r{background:rgba(232,144,122,.4)}
html[data-theme=dark] .needs.r{background:rgba(232,144,122,.32)}
td.biz{display:table-cell}
td.biz>.clamp2{display:-webkit-box}
td.biz>.needs{display:flex}

/* pipeline cards: only what helps decide the next move */
.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
.card-top .eyebrow{font-size:calc(12px*var(--ts,1))}
.card-co{font-size:calc(15.5px*var(--ts,1));font-weight:600;letter-spacing:-0.01em;color:var(--ink);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.card-sub{font-size:calc(13px*var(--ts,1));color:var(--muted)}
.card-facts{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:calc(13px*var(--ts,1))}
.card-facts b{font-weight:600;color:var(--ink)}
.card-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-size:calc(13px*var(--ts,1));line-height:1.45;padding-top:8px;border-top:1px solid var(--div);color:var(--text2)}
.card .tag{height:20px;font-size:calc(11.5px*var(--ts,1));padding:0 8px}
.card.peeking{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.card.dragging{opacity:.35}
.colname{font-size:calc(14px*var(--ts,1));font-weight:600;color:var(--ink)}
.col{display:flex;flex-direction:column;gap:10px;min-width:0}
.board-wrap{flex:1;overflow-x:auto;padding:18px 32px 32px}
tr.peeking td{background:var(--hover2)}
tr.sel td{background:var(--note)}

/* filters and saved lists */
.fpad{padding:18px 32px 0}
.fbar{display:flex;flex-direction:column;gap:10px}
.lists{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lists .eyebrow{margin-right:4px;font-size:calc(12px*var(--ts,1))}
.cnt-i{opacity:.6;font-variant-numeric:tabular-nums;margin-left:2px}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filters .search{flex:1 1 260px;height:36px;border:1px solid var(--chipline);border-radius:12px;background:var(--paper);padding:0 16px;min-width:0}

/* contacts: select rows, tag them */
th.ck,td.ck{width:40px;padding-right:0!important}
td.ck input,th.ck input{width:16px;height:16px;accent-color:var(--ink);cursor:pointer;margin:2px 0 0}
.bulkbar{position:sticky;bottom:16px;z-index:5;margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 8px 8px 18px;background:var(--paper);border:1px solid var(--ink);border-radius:999px;box-shadow:0 12px 32px -16px rgba(0,0,0,.35);width:max-content;max-width:100%}
.bulkbar[hidden]{display:none}
.bulkbar .strong{font-size:calc(14px*var(--ts,1));white-space:nowrap}
.pill-in{height:36px;border:1px solid var(--chipline);border-radius:12px;background:var(--paper);padding:0 14px;font-size:calc(14px*var(--ts,1));width:160px;min-width:0}
.listfoot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:14px}

/* side panel */
.peek{position:fixed;top:0;right:0;bottom:0;width:min(480px,100vw);background:var(--paper);border-left:1px solid var(--line);box-shadow:-24px 0 48px -32px rgba(0,0,0,.35);z-index:30;display:flex;flex-direction:column;animation:peekin .18s ease}
.peek[hidden]{display:none}
@keyframes peekin{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.peek{animation:none}}
.peek-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px 8px 22px;border-bottom:1px solid var(--div);flex:none}
.peek-bar .eyebrow{font-size:calc(12px*var(--ts,1))}
.peek-ic{width:34px;height:34px;border-radius:12px;border:0;background:none;color:var(--text2);display:inline-flex;align-items:center;justify-content:center}
.peek-ic:hover{background:var(--hover)}
.peek-body{flex:1;overflow-y:auto;overscroll-behavior:contain}
.peek-body.loading{opacity:.45;transition:opacity .1s .12s}
@media (min-width:1280px){html.peek-open main{margin-right:480px}}
.pk{padding:20px 22px 48px;display:flex;flex-direction:column;gap:18px}
.pk-head{display:flex;flex-direction:column;gap:6px;min-width:0}
.pk-meta{font-size:calc(12.5px*var(--ts,1))}
.pk-title{margin:0;font-size:calc(24px*var(--ts,1));font-weight:650;letter-spacing:-0.02em;color:var(--ink);line-height:1.15;overflow-wrap:anywhere}
.pk-sub{font-size:calc(14px*var(--ts,1));color:var(--muted)}
.pk-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pk-actions .btn svg{flex:none;margin-left:-2px}
.pk-stages{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px;padding:4px;background:var(--rail);border:1px solid var(--line);border-radius:16px}
.pk-stages button{flex:1 0 auto;height:30px;padding:0 10px;white-space:nowrap;border-radius:12px;border:0;background:none;color:var(--muted);font-size:calc(12.5px*var(--ts,1));font-weight:550}
.pk-stages button[aria-current=step]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pk-stages button:hover:not([aria-current=step]):not([disabled]){background:var(--hover2)}
.pk-stages button[disabled]{opacity:.45;cursor:not-allowed}
.pk-next{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:14px;background:var(--rail);border:1px solid var(--line);font-size:calc(14px*var(--ts,1));line-height:1.5}
.pk-next.on{background:var(--note);border-color:transparent}
.pk-next strong{font-size:calc(15px*var(--ts,1));color:var(--ink);font-weight:600}
.pk-sec{display:flex;flex-direction:column;gap:10px;padding-top:16px;border-top:1px solid var(--div)}
.pk-h{display:flex;justify-content:space-between;align-items:baseline;font-size:calc(13px*var(--ts,1));font-weight:600;color:var(--ink)}
.pk-link{font-weight:500;color:var(--muted);text-decoration:underline;font-size:calc(13px*var(--ts,1))}
.pk-facts{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.pk-facts div{min-width:0}
.pk-facts dt{font-size:calc(12px*var(--ts,1));color:var(--eyebrow)}
.pk-facts dd{margin:2px 0 0;font-size:calc(14px*var(--ts,1));color:var(--ink);overflow-wrap:anywhere}
.pk-missing{margin:0;font-size:calc(12.5px*var(--ts,1));color:var(--unk);line-height:1.5}
.pk-row{display:flex;gap:8px}
.pk-input{flex:1;min-width:0;height:40px;border:1px solid var(--chipline);border-radius:12px;background:var(--paper);padding:0 12px;font-size:calc(14px*var(--ts,1));color:var(--ink)}
textarea.pk-input{height:auto;padding:8px 12px;resize:vertical;line-height:1.5}
.pk-log{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,150px);gap:8px}
.pk-log textarea{grid-column:1/-1}
.pk-log .btn{justify-self:start}
.pk-quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.pk-quick .eyebrow{font-size:calc(12px*var(--ts,1));margin-right:2px}
.pk-quick .chip{height:26px;padding:0 10px;font-size:calc(12px*var(--ts,1));cursor:pointer}
.pk-quick .chip:hover{background:var(--hover2)}
.pk-act{display:grid;grid-template-columns:calc(64px*var(--ts,1)) minmax(0,1fr);gap:10px;font-size:calc(13.5px*var(--ts,1));line-height:1.5;color:var(--text2);padding:3px 0}
.pk-act .num{font-size:calc(12px*var(--ts,1));color:var(--eyebrow);padding-top:1px}
.pk-calls{border-top:1px dashed var(--div);padding-top:6px}
.pk-crit{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:calc(13.5px*var(--ts,1))}
.pk-crit li{display:flex;justify-content:space-between;gap:12px}
.pk-empty{margin:0;font-size:calc(14px*var(--ts,1))}
.pk .tag span{white-space:nowrap}

/* display page */
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.size{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;width:96px;height:88px;padding:10px;border:1px solid var(--chipline);border-radius:16px;cursor:pointer;color:var(--ink)}
.size input{position:absolute;opacity:0;inset:0;cursor:pointer}
.size .aa{font-weight:600;line-height:1}
.size .eyebrow{font-size:calc(12px*var(--ts,1))}
.size.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:var(--paper)}
.size:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
.linkcard{display:flex;align-items:center;gap:16px;padding:18px 22px;color:var(--ink)}
.linkcard:hover{border-color:var(--chipline);background:var(--hover2)}
.linkcard .muted{font-size:calc(14px*var(--ts,1))}

@media (max-width:760px){
.fpad{padding:14px 16px 0!important}
.board-wrap{padding:14px 16px 24px!important}
.bulkbar{bottom:80px;border-radius:16px}
.pk-log{grid-template-columns:1fr}
.pk-stages{gap:2px;padding:3px}
.pk-stages button{padding:0 6px;font-size:calc(12px*var(--ts,1))}
.pk{padding:18px 16px 48px}
.peek{z-index:40}
.brand-row{display:none}
}

.kpi-wait{font-size:calc(13px*var(--ts,1));color:var(--unk);line-height:1.45}

/* home */
.home{padding:24px 32px 48px;display:flex;flex-direction:column;gap:20px;max-width:1280px;width:100%}
.home-hello{display:flex;flex-direction:column;gap:2px;padding:10px 0}
.home-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(210px*var(--ts,1)),1fr));gap:12px}
.tile{padding:18px;display:flex;flex-direction:column;gap:8px;color:var(--ink)}
.tile:hover{border-color:var(--chipline)}
.tile b{font-size:calc(30px*var(--ts,1));font-weight:600;letter-spacing:-0.03em;line-height:1}
.tile .muted{font-size:calc(12.5px*var(--ts,1));line-height:1.45}
.home-grid{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.home-list{flex:999 1 calc(480px*var(--ts,1));min-width:0;padding:22px;display:flex;flex-direction:column;gap:4px}
.home-list .sec-h{margin-bottom:8px}
.home-side{flex:1 1 calc(300px*var(--ts,1));min-width:0;display:flex;flex-direction:column;gap:20px}
.hrow{display:grid;grid-template-columns:calc(86px*var(--ts,1)) minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 12px;margin:0 -12px;border-radius:12px;color:var(--ink)}
.hrow:hover,.hrow.peeking{background:var(--hover2)}
.hrow .needs{margin-top:1px}
.hrow-main{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:calc(14px*var(--ts,1))}
.hrow-main .muted{font-size:calc(13px*var(--ts,1));line-height:1.45}
.hrow .eyebrow{font-size:calc(12px*var(--ts,1));padding-top:2px}
.stage-row{display:grid;grid-template-columns:calc(92px*var(--ts,1)) minmax(0,1fr) 32px;gap:10px;align-items:center;font-size:calc(14px*var(--ts,1));color:var(--text2);padding:2px 0}
.stage-row:hover{color:var(--ink)}
.stage-row .bar{height:8px;border-radius:999px;background:var(--div2);overflow:hidden}
.stage-row .bar span{display:block;height:100%;border-radius:999px;background:var(--ink)}
.stage-row b{text-align:right;color:var(--ink);font-weight:600}
.wk{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wk dt{font-size:calc(12px*var(--ts,1));color:var(--eyebrow)}
.wk dd{margin:2px 0 0;font-size:calc(22px*var(--ts,1));font-weight:600;color:var(--ink);letter-spacing:-0.02em}
.needs.g{background:rgba(170,206,160,.6)}
html[data-theme=dark] .needs.g{background:rgba(127,175,115,.38)}
.m-only{display:none!important}
@media (max-width:760px){.home{padding:16px 16px 32px!important}.m-only{display:flex!important}.top .btn-dark svg{display:none}}

/* ---- Oct 26 evening pass ---- */
.wm-d{color:var(--muted)}
.rail-sep{height:1px;background:var(--line);margin:8px 10px;flex:none}
.srch{font-family:inherit}
.kbd{margin-left:auto;font:500 calc(11px*var(--ts,1))/1 Inter,sans-serif;color:var(--eyebrow);border:1px solid var(--chipline);border-radius:6px;padding:3px 6px}
html:not([data-rail=open]) .kbd{display:none}
.lead-stages{max-width:520px}
.flash{transition:opacity .4s ease,margin .4s ease,padding .4s ease}
.flash.gone{opacity:0}
.show-more{align-self:center;margin-top:2px}
.more-cards{display:flex;flex-direction:column;gap:10px}
.more-cards[hidden]{display:none}
th[data-sort]{cursor:pointer;user-select:none;white-space:nowrap}
th[data-sort]:hover{color:var(--ink)}
th[data-sort]::after{content:"";display:inline-block;width:10px}
th[data-dir=asc]::after{content:" ↑"}
th[data-dir=desc]::after{content:" ↓"}
th[data-sort][data-dir]{color:var(--ink)}
/* quick find */
.palette{max-width:560px;width:calc(100% - 32px);padding:0;margin-top:12vh;border-radius:16px;overflow:hidden}
.palette::backdrop{background:rgba(0,0,0,.28)}
.palette input{display:block;width:100%;border:0;border-bottom:1px solid var(--div);background:var(--paper);padding:18px 20px;font-size:calc(17px*var(--ts,1));color:var(--ink);outline:none}
.palette ul{list-style:none;margin:0;padding:6px;max-height:50vh;overflow-y:auto}
.palette li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 12px;border-radius:12px;cursor:pointer}
.palette li[aria-selected=true],.palette li:hover{background:var(--hover)}
.pal-t{font-weight:600;color:var(--ink);font-size:calc(15px*var(--ts,1));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-s{grid-column:1/-1;font-size:calc(13px*var(--ts,1));color:var(--muted)}
.pal-none{color:var(--muted);font-size:calc(14px*var(--ts,1));cursor:default!important}
.pal-hint{margin:0;padding:10px 20px;border-top:1px solid var(--div);font-size:calc(12px*var(--ts,1))}
@media (max-width:760px){.palette{margin-top:8vh}}
.brand svg{flex:none}
.brand .wm{white-space:nowrap}
.palette input::-webkit-search-cancel-button{display:none}
html[data-rail=open] .brand-row .tog{width:32px;margin-left:0}
html[data-rail=open] .brand{gap:10px;overflow:hidden}
.brand .wm{font-size:24px}
/* (i) info popovers: help text only when asked */
.h-row{display:flex;align-items:center;gap:6px;min-width:0}
.info{position:relative;display:inline-flex;vertical-align:middle}
.info summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;color:var(--eyebrow)}
.info summary::-webkit-details-marker{display:none}
.info summary:hover,.info[open] summary{color:var(--ink);background:var(--hover)}
.info-pop{position:absolute;top:30px;left:-8px;z-index:25;width:max-content;max-width:min(320px,80vw);padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px -12px rgba(0,0,0,.25);font-size:calc(13px*var(--ts,1));font-weight:400;line-height:1.5;color:var(--text2);text-align:left;white-space:normal;letter-spacing:0}
.info-pop.flip{left:auto;right:-8px}

/* ---- pipeline lanes ---- */
.col{flex:1 1 calc(232px*var(--ts,1));min-width:calc(232px*var(--ts,1));background:var(--lane);border-radius:16px;padding:10px 8px 10px;position:relative}
.colhead{display:flex;align-items:center;gap:6px;padding:4px 6px 6px}
.colhead .colname{flex:none}
.colhead [data-count]{margin-left:auto}
.col-tog{width:26px;height:26px;border:0;border-radius:8px;background:none;color:var(--eyebrow);display:inline-flex;align-items:center;justify-content:center;transform:rotate(180deg)}
.col-tog:hover{background:var(--hover);color:var(--ink)}
.col.shut{flex:0 0 52px;min-width:52px;cursor:pointer;padding:10px 0;align-self:stretch;min-height:240px}
.col.shut:hover{background:var(--hover)}
.col.shut .colhead{flex-direction:column;align-items:center;gap:10px;padding:2px 0}
.col.shut .colhead [data-count]{margin:0;order:-1}
.col.shut .colname{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.col.shut .col-tog{transform:none;order:-2}
.col.shut .info{display:none}
.col.shut .dropzone{position:absolute;inset:0;opacity:0;min-height:0;overflow:hidden;padding:0}
.col.shut .show-more,.col.shut .more-cards{display:none}
.dropzone{min-height:80px}
.card-top{display:block;font-size:calc(12px*var(--ts,1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-sub{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.card-foot{align-items:center}
.card-foot .needs{flex:none}

/* ---- settings ---- */
.settings{padding:24px 32px 48px;display:flex;flex-direction:column;gap:20px;max-width:1040px;width:100%}
.set{padding:22px 24px;display:flex;flex-direction:column;gap:16px;scroll-margin-top:16px}
.set.is-test{background:var(--note);border-color:transparent}
.sec-title{display:flex;align-items:center;gap:10px;min-width:0}
.sec-ic{width:32px;height:32px;border-radius:10px;background:var(--rail);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);flex:none}
.set.is-test .sec-ic{background:rgba(255,255,255,.5)}
.set-split{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.set-sub{margin:6px 0 0 42px;font-size:calc(14px*var(--ts,1));line-height:1.5}
#data .set-sub{margin-left:0}
.set-form{display:flex;flex-direction:column;gap:16px}
.set-inline{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.check{display:flex;gap:8px;align-items:center;font-size:calc(14px*var(--ts,1));min-height:40px}
.check input{width:16px;height:16px;accent-color:var(--ink)}
.conn{display:flex;flex-direction:column;border-top:1px solid var(--div)}
.conn-row{display:grid;grid-template-columns:36px minmax(0,1fr) calc(104px*var(--ts,1)) calc(104px*var(--ts,1));align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--div)}
.conn-row>.needs{grid-column:3;justify-self:stretch;width:100%;box-sizing:border-box;justify-content:center;text-align:center;height:32px;display:inline-flex;align-items:center;border-radius:999px}
.conn-row form{grid-column:4}
.conn-row form .btn{width:100%;height:32px;justify-content:center}
.conn-ic{width:36px;height:36px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.conn-main{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:calc(14px*var(--ts,1))}
.conn-main b{color:var(--ink);font-weight:600}
.conn-main .muted{font-size:calc(13px*var(--ts,1))}
.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(210px*var(--ts,1)),1fr));gap:8px}
.mode{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--paper);cursor:pointer}
.mode:hover{border-color:var(--chipline)}
.mode input{position:absolute;opacity:0;inset:0;cursor:pointer}
.mode b{display:block;color:var(--ink);font-weight:600;font-size:calc(15px*var(--ts,1))}
.mode .muted{font-size:calc(13px*var(--ts,1));line-height:1.45}
.mode-ic{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--rail);border:1px solid var(--line);color:var(--ink)}
.mode.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.m-off .mode-ic{background:rgba(232,144,122,.35);border-color:transparent}
.m-dry .mode-ic{background:rgba(242,199,68,.45);border-color:transparent}
.m-live .mode-ic{background:rgba(127,175,115,.45);border-color:transparent}
.mode.on.m-off{background:rgba(232,144,122,.12)}
.mode.on.m-dry{background:rgba(242,199,68,.14)}
.mode.on.m-live{background:rgba(127,175,115,.14)}
.mode:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
.inp,.sel{height:40px;border:1px solid var(--chipline);border-radius:12px;background:var(--paper);padding:0 12px;font-size:calc(14px*var(--ts,1));color:var(--ink);min-width:0;width:100%}
.sel,.field select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:4px 4px;background-repeat:no-repeat}
.ugrid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) minmax(0,.9fr) minmax(0,1.5fr) calc(100px*var(--ts,1));gap:10px;align-items:center}
.uhead{font-size:calc(12px*var(--ts,1));color:var(--eyebrow);padding:0 2px}
.urow{padding:10px 2px;border-top:1px solid var(--div);font-size:calc(14px*var(--ts,1))}
.urow.off{opacity:.55}
.uadd{padding:14px 0 0;border-top:1px solid var(--div)}
.uadd .btn{justify-content:center}
.pw{display:flex;gap:6px;min-width:0}
.pw .inp{flex:1}
.perm-wrap summary{cursor:pointer;list-style:none;font-size:calc(13px*var(--ts,1))}
.perm-wrap summary::-webkit-details-marker{display:none}
.perm{margin-top:10px}
.perm th.c,.perm td.c{text-align:center;width:90px}
.perm td.ok{color:var(--sage)}
.perm td.no{color:var(--unk)}
.tagrow{display:grid;grid-template-columns:auto minmax(80px,1fr) minmax(0,260px) auto auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--div)}
.btn.danger{border-color:var(--rose)}
.btn.danger:hover{background:rgba(232,144,122,.15)}
.danger-fill{background:#B4472E;border-color:#B4472E;color:#fff}
.danger-fill[disabled]{background:var(--pill);border-color:var(--pill);color:var(--unk)}
.links3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.links3 .linkcard{padding:16px 18px}
/* buyers */
.buyer-list{display:flex;flex-direction:column;gap:12px}
.buyer{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.buyer.off{opacity:.55}
.buyer-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}
.buyer-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0}
.buyer-act{display:flex;gap:6px;align-items:center}
.buyer-box{margin:0;font-size:calc(14px*var(--ts,1));line-height:1.55;color:var(--text2)}
@media (max-width:760px){
.settings{padding:16px!important}
.ugrid{grid-template-columns:1fr 1fr}
.uhead{display:none}
.conn-row{grid-template-columns:36px minmax(0,1fr) calc(104px*var(--ts,1))}
.conn-row form{grid-column:2/-1;justify-self:start}
.tagrow{grid-template-columns:auto 1fr}
.set-sub{margin-left:0}
}
.pw .btn-sm,.tagrow .btn-sm{height:36px}
.tagrow .muted{font-size:calc(14px*var(--ts,1))}
.uadd .inp,.uadd .sel,.urow .sel{height:36px}
@media (max-width:760px){.board{scroll-snap-type:x mandatory}.col{flex:0 0 84%;min-width:84%;scroll-snap-align:start}.col.shut{flex:0 0 52px;min-width:52px}}
/* avatars and profile */
.av{border-radius:50%;object-fit:cover;flex:none;display:inline-block;background:var(--pill)}
.av-i{display:inline-flex;align-items:center;justify-content:center;background:var(--text2);color:var(--rail);font-weight:600}
.me .av{width:40px;height:40px}
.welcome{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;background:var(--note);border-color:transparent}
.prof{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.prof-photo{display:flex;flex-direction:column;align-items:center;gap:8px}
.photo-drop{position:relative;cursor:pointer;border-radius:50%}
.photo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.photo-drop:hover .av{filter:brightness(.92)}
.photo-edit{position:absolute;right:0;bottom:0;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;border:3px solid var(--paper)}
.prof-fields{flex:1 1 320px;display:flex;flex-direction:column;gap:12px;min-width:0}
.switch{width:44px;height:26px;border-radius:999px;border:0;background:var(--pill);position:relative;padding:0;flex:none}
.switch span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--paper);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .15s}
.switch[aria-checked=true]{background:var(--ink)}
.switch[aria-checked=true] span{left:21px}
.u-name{display:flex;align-items:center;gap:10px;min-width:0}
.u-name>.ell{min-width:0}
.you{flex:none;font-size:calc(11px*var(--ts,1));font-weight:600;padding:2px 8px;border-radius:999px;background:var(--pill);color:var(--text2)}
.help-toc{display:flex;flex-wrap:wrap;gap:6px}
.help ul,.help ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:calc(15px*var(--ts,1));line-height:1.55;color:var(--text2)}
.help li[hidden],.keys>div[hidden]{display:none}
.keys{margin:0;display:flex;flex-direction:column}
.keys>div{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--div);font-size:calc(14px*var(--ts,1))}
.keys dd{margin:0;color:var(--text2)}
kbd{font:500 calc(12px*var(--ts,1))/1 Inter,sans-serif;border:1px solid var(--chipline);border-bottom-width:2px;border-radius:6px;padding:3px 6px;background:var(--paper);color:var(--ink)}
.foot .ri{margin-bottom:2px}

/* inbox upgrades */
.inbox-search .inp{width:220px;height:32px;border-radius:10px}
.convo-acts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.snz{position:relative}
.snz summary{list-style:none;cursor:pointer}
.snz summary::-webkit-details-marker{display:none}
.snz-pop{position:absolute;right:0;top:40px;z-index:20;min-width:200px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px -12px rgba(0,0,0,.25);padding:6px;display:flex;flex-direction:column}
.snip .snz-pop{right:auto;left:0;top:auto;bottom:44px;min-width:260px;max-height:320px;overflow:auto}
.snz-o{all:unset;cursor:pointer;padding:9px 10px;border-radius:8px;font-size:calc(14px*var(--ts,1));color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:8px}
.snz-o:hover{background:var(--hover)}
.snz-o input{font:inherit;border:1px solid var(--chipline);border-radius:8px;padding:2px 6px;background:var(--paper);color:var(--ink)}
.snip-row{display:flex;align-items:center}
.snip-row .snz-o{flex:1}
.snip-x{all:unset;cursor:pointer;color:var(--unk);padding:4px 8px;border-radius:6px}
.snip-x:hover{color:var(--ink);background:var(--hover)}
.mail.pending{border-style:dashed;background:transparent}
.pend-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.second-look{display:flex;gap:10px;margin:0 12px 6px;padding:12px 14px;border-radius:14px;background:var(--note);font-size:calc(14px*var(--ts,1));line-height:1.5;color:var(--text2)}
.second-look[hidden]{display:none}
.second-look b{color:var(--ink)}

/* timeline and tasks */
.tl-add{display:flex;gap:8px;align-items:flex-end}
.tl-add textarea{flex:1}
.tl-filter{flex-wrap:wrap}
.tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tl-i{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--div2);position:relative}
.tl-i[hidden]{display:none}
.tl-dot{width:28px;height:28px;border-radius:50%;background:var(--paper);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--eyebrow)}
.tl-dot .av{width:26px!important;height:26px!important}
.k-email .tl-dot{color:#3E6E9E}
.k-call .tl-dot{color:#4F7F45}
.k-note .tl-dot{background:var(--note);border-color:transparent;color:var(--noteink)}
.tl-top{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:calc(14px*var(--ts,1))}
.tl-top b{color:var(--ink);font-weight:600}
.tl-when{margin-left:auto;font-size:calc(12px*var(--ts,1))}
.tl-body{margin:4px 0 0;font-size:calc(14px*var(--ts,1));line-height:1.55;color:var(--text2);white-space:pre-line;overflow-wrap:anywhere}
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tl audio{margin-top:6px;width:100%;height:34px}
.tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.task{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--div2);font-size:calc(14px*var(--ts,1))}
.task .tick{all:unset;cursor:pointer;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--chipline);display:flex;align-items:center;justify-content:center;color:transparent}
.task .tick:hover{border-color:var(--ink);color:var(--eyebrow)}
.task.done .tick{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.task.done .task-t{text-decoration:line-through;color:var(--unk)}
.task.late .eyebrow{color:#B4472E;font-weight:600}
.task.today .eyebrow{color:var(--noteink);font-weight:600}
.task-t{min-width:0;overflow-wrap:anywhere}
.task-add{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.task-add .pk-input:first-of-type{flex:1 1 180px}

/* files */
.files{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.file{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto auto;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid var(--div2);font-size:calc(14px*var(--ts,1))}
.file-ic{color:var(--eyebrow);display:flex}
.file-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:500}
.file-n:hover{text-decoration:underline}
.file .tag{height:20px;font-size:calc(11px*var(--ts,1))}
.file-add{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px;border:1.5px dashed var(--chipline);border-radius:12px;margin-top:6px}
.file-add .sel{flex:0 1 180px}
.file-add.over{border-color:var(--ink);background:var(--hover2)}
.file-pick{cursor:pointer}
@media (max-width:760px){.file{grid-template-columns:22px minmax(0,1fr) auto}.file .eyebrow,.file .tag{display:none}}
/* buyers v2 */
.buyer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(340px*var(--ts,1)),1fr));gap:12px;align-items:start}
.buyer{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.buyer-contact{margin:4px 0 0;font-size:calc(13px*var(--ts,1))}
.buyer-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.buyer-stats{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:calc(13px*var(--ts,1));color:var(--muted);padding-top:10px;border-top:1px solid var(--div)}
.buyer-stats b{color:var(--ink);font-weight:600}
.buyer-stats a:hover{text-decoration:underline}
.buyer-stats .needs{margin-left:auto}
.buyer-more summary{cursor:pointer;list-style:none}
.buyer-more summary::-webkit-details-marker{display:none}
.buyer-act{display:flex;gap:4px;justify-content:flex-end;margin-top:-4px}
.deal-note{margin:12px 0 0;font-size:calc(14px*var(--ts,1));color:var(--text2)}

/* aging and custom fields */
.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card-top .ell{min-width:0}
.age{flex:none;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;font-size:calc(11px*var(--ts,1));font-weight:600;color:var(--eyebrow);background:var(--hover2);font-variant-numeric:tabular-nums}
.age.y{background:rgba(242,199,68,.45);color:var(--ink)}
.age.r{background:rgba(232,144,122,.4);color:var(--ink)}
.cf-form{padding:18px 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
/* one pager */
.brief-wrap{display:grid;grid-template-columns:minmax(320px,440px) 1fr;gap:24px;align-items:start;padding-bottom:48px}
.brief-edit{display:flex;flex-direction:column;gap:16px;min-width:0}
.brief-edit .set{margin:0}
.brief-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.brief-style{text-decoration:none;display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px;cursor:pointer;font:inherit;color:inherit}
.brief-style b{font-size:calc(13px*var(--ts,1))}.brief-style .muted{font-size:calc(11.5px*var(--ts,1));line-height:1.35}
.brief-style.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.bs-thumb{display:flex;flex-direction:column;gap:4px;height:58px;border-radius:8px;padding:8px;margin-bottom:4px;border:1px solid var(--line)}
.bs-thumb i{display:block;height:6px;border-radius:3px}
.bs-thumb.t-paper{background:#FAF8F4}.t-paper i{background:#D9D2C3}.t-paper i:first-child{height:12px;width:70%;background:#3b3833}
.bs-thumb.t-classic{background:linear-gradient(#14284B 0 45%,#fff 45%)}.t-classic i{background:#D7DCE5}.t-classic i:first-child{height:10px;width:65%;background:#fff}
.bs-thumb.t-bold{background:linear-gradient(#161513 0 50%,#fff 50%)}.t-bold i{background:#F3EFE6}.t-bold i:first-child{height:12px;width:75%;background:#E8C66A}
.brief-form{display:flex;flex-direction:column;gap:12px}
.brief-form textarea{resize:vertical}
.brief-facts{white-space:pre-wrap;font:calc(12px*var(--ts,1))/1.5 ui-monospace,Menlo,monospace;background:var(--bg);border-radius:12px;padding:12px;margin:10px 0 0;max-height:260px;overflow:auto}
.brief-prev{position:sticky;top:16px;background:var(--lane);border-radius:16px;padding:18px;overflow:hidden}
.brief-prev iframe{display:block;width:8.5in;height:11in;border:0;transform-origin:0 0;background:transparent}
@media (max-width:1100px){.brief-wrap{grid-template-columns:1fr}.brief-prev{position:static}}

/* analytics key numbers: one strip, even columns */
.kstrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:0;overflow:hidden}
.kcell{display:flex;flex-direction:column;gap:8px;padding:18px 20px;min-width:0;border-left:1px solid var(--div)}
.kcell:first-child{border-left:0}
.kval{font-size:calc(30px*var(--ts,1));font-weight:600;letter-spacing:-0.03em;color:var(--ink);line-height:calc(34px*var(--ts,1));white-space:nowrap}
.kval.unk{font-size:calc(22px*var(--ts,1));font-weight:500;letter-spacing:-0.01em;color:var(--unk)}
.ksub{font-size:calc(12px*var(--ts,1));color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.kstrip{grid-template-columns:repeat(3,minmax(0,1fr))}.kcell:nth-child(3n+1){border-left:0}.kcell:nth-child(n+4){border-top:1px solid var(--div)}}
@media (max-width:620px){.kstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.kcell{border-left:1px solid var(--div)!important;border-top:1px solid var(--div)}.kcell:nth-child(odd){border-left:0!important}.kcell:nth-child(-n+2){border-top:0}}

/* one rule for corners: things you click or type in are 12px (10px when small); pills are only for labels, chips and switches */

/* buyers v3 */
.buyer{padding:20px;gap:14px}
.bh{display:flex;align-items:center;gap:12px;min-width:0}
.blogo{width:44px;height:44px;flex:none;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-weight:650;font-size:calc(17px*var(--ts,1));color:var(--ink);overflow:hidden}
.bh-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bh-main .h2{margin:0}
.bsite{font-size:calc(13px*var(--ts,1));color:var(--muted)}
a.bsite:hover{color:var(--ink);text-decoration:underline}
.bfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;border:1px solid var(--div);border-radius:12px;overflow:hidden}
.bfacts>div{padding:10px 12px;border-left:1px solid var(--div);min-width:0}
.bfacts>div:first-child{border-left:0}
.bfacts dt{font-size:calc(11.5px*var(--ts,1));color:var(--eyebrow);margin-bottom:3px}
.bfacts dd{margin:0;font-size:calc(13.5px*var(--ts,1));font-weight:550;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsec{display:flex;flex-direction:column;gap:6px}
.bsec p{margin:0;font-size:calc(14px*var(--ts,1));line-height:1.55;color:var(--text2);white-space:pre-line}
.bperson{display:flex;gap:10px;align-items:center;min-width:0}
.bav{width:32px;height:32px;flex:none;border-radius:50%;background:var(--pill);display:flex;align-items:center;justify-content:center;font-size:calc(13px*var(--ts,1));font-weight:600;color:var(--text2)}
.bperson-t{min-width:0;font-size:calc(14px*var(--ts,1));display:flex;flex-direction:column}
.bperson-l{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:calc(13px*var(--ts,1));color:var(--muted)}
.bperson-l a:hover,.bpeople a:hover{color:var(--ink);text-decoration:underline}
.bfoot{display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:calc(13px*var(--ts,1));color:var(--muted);padding-top:12px;border-top:1px solid var(--div)}
.bfoot b{color:var(--ink);font-weight:600}
.bfoot a:hover{text-decoration:underline}
.bfoot .needs{margin-left:auto}
.btabs{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;min-height:32px}
.btabs details[open]{flex:1 0 100%;order:2}
.btabs .buyer-act{margin:0 0 0 auto;display:flex;gap:4px}
.bpeople{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column}
.bpeople li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:8px 0;border-top:1px solid var(--div);font-size:calc(13.5px*var(--ts,1))}
dialog.bdlg{width:min(760px,calc(100vw - 32px));max-width:none}
.bdlg form{display:flex;flex-direction:column;gap:14px}
.bfs{border:1px solid var(--div);border-radius:12px;padding:12px 14px 14px;margin:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.bfs legend{padding:0 6px}
.bc-head,.bc-row{display:grid;grid-template-columns:40px 1.2fr 1fr 1.4fr 1fr 28px;gap:8px;align-items:center}
.bc-head{font-size:calc(11.5px*var(--ts,1));color:var(--eyebrow)}
.bc-row input[type=radio]{justify-self:center;width:16px;height:16px;accent-color:var(--ink)}
#bc-rows{display:flex;flex-direction:column;gap:8px}
@media (max-width:700px){.bc-head{display:none}.bc-row{grid-template-columns:28px 1fr 1fr;}.bc-row .snip-x{grid-column:3;justify-self:end}}
