/* BioAsia 2027 revenue command (prototype R0): overview, the eight organiser dashboards, the pool and organisation detail.
   Status colours carry a text label everywhere; colour is never the only signal. */
:root{--conf:#0ca30c;--prog:#7C3AED;--none:#CDD0E6;--decl:#d03b3b;--warn:#fab219;--tgt:#17163F;--comp:#1aa5c9;--amber:#e3a21a;--tint:#ececf3}
/* status colours: Confirmed/Paid (conf), In progress (prog), Not started (none), Lost/Overdue (decl), Needs a look (warn), Complimentary (comp); amber: requested; tint: grey tracks */
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--prog:#9A7BF0;--none:#3A3D63;--tgt:#F3F1FB;--tint:#2a2c4a}}
body{background:var(--paper)}
.mk{background:#FFF4D6;color:#3A2A00;border-bottom:1px solid #EAD08A;font:var(--fw-med) var(--fs-small)/1.45 var(--mono);text-align:center;padding:6px 14px}
.mk b{font-weight:var(--fw-semi)}
.dh{background:var(--night);color:var(--on-night)}
.dh .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;min-height:68px;padding-block:8px;max-width:1360px}
.dh .ttl{display:flex;flex-direction:column;line-height:1.25}
.dh .ttl b{font:var(--fw-bold) var(--fs-h) var(--display)}
.dh .ttl small{font:var(--fw-med) var(--fs-xs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--glow-a)}
.dh .vr{height:36px}
.dh .right{margin-left:auto;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.viewas{display:flex;align-items:center;gap:8px;font:var(--fw-med) var(--fs-xs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-night-2)}
.viewas select{font:var(--fw-med) var(--fs-small) var(--sans);letter-spacing:0;text-transform:none;background:rgb(255 255 255 / .08);color:var(--on-night);border:1px solid rgb(255 255 255 / .2);border-radius:999px;padding:6px 12px}
.viewas option{color:#17163F}
.main{max-width:1360px;margin:0 auto;padding:22px 24px 70px;outline:none}
@media (max-width:600px){.main{padding-inline:14px}}

/* page head */
.top{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;justify-content:space-between;margin-bottom:16px}
.top h1{font:800 clamp(1.6rem,3vw,2.2rem)/1.08 var(--display);letter-spacing:-.02em;margin:4px 0 0}
.top .k{font:var(--fw-med) var(--fs-xs) var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.top p{margin:6px 0 0;font-size:var(--fs-body);color:var(--ink-2);max-width:80ch}
.pan{background:var(--surface);border:1px solid var(--line);border-radius:16px}
.card2{padding:16px 18px}
.card2 h3{font:var(--fw-bold) var(--fs-h) var(--display);margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.card2 .sub{margin:3px 0 12px;font-size:var(--fs-small);color:var(--ink-2)}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g21{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}
@media (max-width:980px){.g2,.g3,.g21{grid-template-columns:minmax(0,1fr)}}
.gl{display:flex;align-items:center;gap:12px;margin:30px 0 12px;font:var(--fw-semi) var(--fs-xs) var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.gl::after{content:"";flex:1;height:1px;background:var(--line)}

/* KPI tiles */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.kpi .lb{font-size:var(--fs-small);color:var(--ink-2)}
.kpi .v{font:var(--fw-bold) var(--fs-kpi)/1.05 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.kpi .v small{font:var(--fw-med) var(--fs-small) var(--sans);color:var(--ink-2);letter-spacing:0}
.kpi .s{font-size:var(--fs-small);color:var(--ink-2)}
.kpi .s b{color:var(--ink);font-weight:var(--fw-semi)}
.meter{height:6px;border-radius:6px;background:var(--surface-2);overflow:hidden;display:flex;gap:2px}
.meter i{display:block;height:100%}

/* AI brief */
.brief{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 16px;padding:16px 18px;margin-bottom:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--prog) 9%,var(--surface)),var(--surface) 60%)}
.brief svg{width:30px;height:30px;color:var(--ink)}
.brief h3{font:var(--fw-bold) var(--fs-h) var(--display);margin:0 0 5px;display:flex;gap:8px;align-items:center}
.brief p{margin:0;font-size:var(--fs-body);line-height:1.6;max-width:120ch}
.brief p b{font-weight:var(--fw-semi)}
.brief small{display:block;margin-top:6px;font-size:var(--fs-xs);color:var(--ink-2)}
.aip{font:var(--fw-semi) var(--fs-min) var(--mono);letter-spacing:.06em;background:var(--turmeric-soft);border:1px solid color-mix(in srgb,var(--turmeric) 45%,transparent);border-radius:999px;padding:1px 7px;color:var(--ink)}
.samp{font:var(--fw-semi) var(--fs-min) var(--mono);letter-spacing:.06em;text-transform:uppercase;border:1px dashed var(--ink-2);color:var(--ink-2);border-radius:999px;padding:1px 7px;white-space:nowrap}

/* status legend, stacked bars */
.lgd{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--fs-small);color:var(--ink-2);margin:0 0 10px}
.lgd span{display:inline-flex;align-items:center;gap:6px}
.lgd i{width:12px;height:12px;border-radius:3px;display:inline-block}
.sb{display:flex;gap:2px;height:14px;border-radius:4px;overflow:hidden;background:var(--surface-2);min-width:60px}
.sb i{display:block;height:100%;min-width:2px}
.c-conf{background:var(--conf)}.c-prog{background:var(--prog)}.c-none{background:var(--none)}.c-decl{background:var(--decl)}
.pill{display:inline-flex;align-items:center;gap:6px;font:var(--fw-semi) var(--fs-xs) var(--sans);border-radius:999px;padding:3px 9px;border:1px solid var(--line);background:var(--surface);white-space:nowrap}
.pill i{width:8px;height:8px;border-radius:50%}
/* one rule for every status pill (13 Oct 2026): a dot in the status colour on a soft tint of it; Not started stays plain */
.pill{--pc:var(--none)}.pill.conf,.pill.ok{--pc:var(--conf)}.pill.prog{--pc:var(--prog)}.pill.decl{--pc:var(--decl)}.pill.warn{--pc:var(--warn)}.pill.comp{--pc:var(--comp)}
.pill i{background:var(--pc)}.pill.none i{outline:1px solid var(--ink-2)}
.pill:not(.none){background:color-mix(in srgb,var(--pc) 12%,var(--surface));border-color:color-mix(in srgb,var(--pc) 45%,transparent)}
.pill.warn{background:color-mix(in srgb,var(--warn) 18%,var(--surface));border-color:color-mix(in srgb,var(--warn) 60%,transparent)}   /* yellow needs a little more to show */

/* tables */
.tw{overflow-x:auto}
table.t{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.t th{text-align:left;font:var(--fw-semi) var(--fs-min) var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.t td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.t tr:last-child td{border-bottom:0}
.t td.num,.t th.num{text-align:right;font-variant-numeric:tabular-nums}
.t tbody tr[data-org],.t tbody tr[data-go]{cursor:pointer}
.t tbody tr[data-org]:hover,.t tbody tr[data-go]:hover{background:var(--surface-2)}
.t .nm{font-weight:var(--fw-semi)}
.t .mut{color:var(--ink-2);font-size:var(--fs-small)}
.prio{display:inline-flex;align-items:center;gap:6px;font:var(--fw-semi) var(--fs-small) var(--sans);font-variant-numeric:tabular-nums}
.prio i{width:34px;height:5px;border-radius:5px;background:var(--surface-2);position:relative;overflow:hidden}
.prio i b{position:absolute;inset:0 auto 0 0;background:var(--ink)}
.flags{display:flex;gap:4px;flex-wrap:wrap}
.flags span{font:var(--fw-semi) var(--fs-min) var(--mono);border:1px solid var(--line);border-radius:6px;padding:1px 5px;color:var(--ink-2)}
.flags span.on{border-color:var(--teal);color:var(--teal)}

/* funnel */
.fun{display:grid;gap:8px}
.fun .r{display:grid;grid-template-columns:150px minmax(0,1fr) 120px;gap:10px;align-items:center;font-size:var(--fs-small)}
.fun .r .bar{height:22px;border-radius:5px;background:var(--surface-2);position:relative}
.fun .r .bar i{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--prog)}
.fun .r .bar i.cf{background:var(--conf)}
.fun .r .v{text-align:right;font-variant-numeric:tabular-nums}
.fun .r .v small{display:block;color:var(--ink-2);font-size:var(--fs-xs)}
@media (max-width:600px){.fun .r{grid-template-columns:110px minmax(0,1fr) 90px}}

/* streams (target vs committed vs paid) */
.strm{display:grid;gap:12px}
.strm .r{display:grid;grid-template-columns:190px minmax(0,1fr) 170px;gap:12px;align-items:center;font-size:var(--fs-small)}
.strm .track{position:relative;height:18px;border-radius:5px;background:var(--surface-2)}
.strm .track .cm{position:absolute;inset:0 auto 0 0;border-radius:5px;background:color-mix(in srgb,var(--prog) 35%,var(--surface))}
.strm .track .pd{position:absolute;inset:0 auto 0 0;border-radius:5px;background:var(--prog)}
.strm .track .tg{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--tgt);border-radius:1px}
.strm .v{text-align:right;font-variant-numeric:tabular-nums}
.strm .v small{display:inline;white-space:nowrap;color:var(--ink-2);font-size:var(--fs-xs)}
@media (max-width:700px){.strm .r{grid-template-columns:1fr;gap:4px}.strm .v{text-align:left}}

/* lists */
.ls{list-style:none;margin:0;padding:0;display:grid}
.ls li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--fs-small)}
.ls li:last-child{border-bottom:0}
.ls .l{min-width:0}
.ls .l b{font-weight:var(--fw-semi);display:block}
.ls .l small{color:var(--ink-2);font-size:var(--fs-small)}
.ls .r{display:flex;gap:6px;align-items:center;flex:none}
.empty{color:var(--ink-2);font-size:var(--fs-small);padding:10px 0}

/* session / room / award cards */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.sc{padding:14px 16px;display:grid;gap:8px}
.sc h4{margin:0;font:var(--fw-bold) var(--fs-body) var(--display)}
.sc .when{font:var(--fw-med) var(--fs-xs) var(--mono);color:var(--ink-2)}
.sc .row{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-small);align-items:center}
.sc .row span:first-child{color:var(--ink-2)}
.dots{display:flex;gap:4px;flex-wrap:wrap}
.dots i{width:14px;height:14px;border-radius:4px}

/* side-event calendar */
.cal{display:grid;gap:2px;font-size:var(--fs-xs);min-width:760px}
.cal .h{font:var(--fw-semi) var(--fs-min) var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:6px}
.cal .rm{padding:8px;font-weight:var(--fw-semi);font-size:var(--fs-small);display:flex;flex-direction:column;justify-content:center}
.cal .rm small{font-weight:var(--fw-reg);color:var(--ink-2)}
.cal .c{min-height:48px;border-radius:6px;background:var(--surface-2);padding:5px 6px;line-height:1.3}
.cal .c.bk{background:color-mix(in srgb,var(--prog) 16%,var(--surface));border-left:3px solid var(--prog)}
.cal .c.pd{background:color-mix(in srgb,var(--warn) 18%,var(--surface));border-left:3px dashed var(--warn)}
.cal .c.cl{background:color-mix(in srgb,var(--decl) 14%,var(--surface));border-left:3px solid var(--decl)}
.cal .c b{display:block;font-weight:var(--fw-semi)}

/* revenue chart */
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .ax{font:var(--fw-med) var(--fs-min) var(--mono);fill:var(--ink-2)}
.chart .grd{stroke:var(--line);stroke-width:1}

/* pool */
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.filters input[type=search]{width:auto;flex:1 1 220px;min-width:180px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:8px 14px;font:inherit;font-size:var(--fs-body)}
.filters select{width:auto;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font:inherit;font-size:var(--fs-small)}
.filters label{display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-small);border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;cursor:pointer}
.cnt{font-size:var(--fs-small);color:var(--ink-2);margin-left:auto}
.pager{display:flex;gap:8px;justify-content:center;margin-top:12px}
.minibtn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 11px;font:var(--fw-semi) var(--fs-small) var(--sans);cursor:pointer;color:var(--ink);white-space:nowrap}
.minibtn:hover{border-color:var(--teal);color:var(--teal)}
.minibtn.pri{background:var(--cta);border-color:var(--cta);color:#fff}
.ro .ed{display:none!important}

/* drawer */
.scrim2{position:fixed;inset:0;background:rgb(10 10 31 / .35);z-index:60}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--surface);z-index:61;box-shadow:-20px 0 50px rgb(10 10 31 / .2);overflow-y:auto}
.dw-in{padding:20px 22px 40px}
.dw-h{display:flex;gap:10px;align-items:start;justify-content:space-between}
.dw-h h2{font:var(--fw-bold) var(--fs-h2)/1.15 var(--display);margin:4px 0 0}
.dw-h .k{font:var(--fw-med) var(--fs-xs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.dw-sec{margin-top:18px}
.dw-sec h3{font:var(--fw-semi) var(--fs-xs) var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:var(--fs-small);margin:0}
.facts dt{color:var(--ink-2)}.facts dd{margin:0}
.trk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.trk div{border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:var(--fs-small);display:grid;gap:6px}
.why{margin:0;padding-left:18px;font-size:var(--fs-small);line-height:1.6}
ul.why{display:block;color:inherit}   /* site.css has a .why badge of its own */
a.minibtn{text-decoration:none;display:inline-block}
.draft{white-space:pre-wrap;font:var(--fs-body)/1.6 var(--sans);background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:8px}
.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.log{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:var(--fs-small)}
.log li{display:grid;grid-template-columns:auto 1fr;gap:4px 10px}
.log li > span{min-width:0}
.log .actb,.log .actt{display:block;margin-top:3px}
.log .actt{white-space:pre-line;overflow-wrap:anywhere;max-width:90ch}
.log .actb summary{cursor:pointer;list-style:none;overflow-wrap:anywhere}.log .actb summary::-webkit-details-marker{display:none}
.log .actb .more{color:var(--teal);white-space:nowrap}.log .actb[open] summary .mut{display:none}.log .actb[open] .more::after{content:' (hide)'}
.log .actb .actt{margin-top:6px;padding:10px 12px;border-left:3px solid var(--line);background:var(--paper)}
.log time{font:var(--fw-med) var(--fs-xs) var(--mono);color:var(--ink-2);padding-top:2px}
.xb{background:none;border:0;font-size:22px;cursor:pointer;color:var(--ink);padding:4px 8px;border-radius:8px}
.xb:hover{background:var(--surface-2)}

/* tooltip, toast */
.tip{position:fixed;z-index:80;pointer-events:none;background:var(--ink);color:var(--paper);font-size:var(--fs-small);line-height:1.45;padding:7px 10px;border-radius:8px;max-width:280px;box-shadow:var(--shadow)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:90;background:var(--ink);color:var(--paper);padding:11px 18px;border-radius:12px;font-size:var(--fs-body);max-width:calc(100vw - 32px)}

/* organisation record page (org.html) */
.oh{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:end;justify-content:space-between;margin-bottom:14px}
.oh .k{font:var(--fw-med) var(--fs-xs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.oh h1{font:800 clamp(1.6rem,3vw,2.3rem)/1.08 var(--display);letter-spacing:-.02em;margin:4px 0 4px}
.oh p{margin:0;font-size:var(--fs-body)}
.oa{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.assign{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font:inherit;font-size:var(--fs-small);background:var(--surface);width:auto}
.otabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 14px;border-bottom:1px solid var(--line);padding-bottom:8px}
.otabs button{border:0;background:none;border-radius:999px;padding:7px 14px;font:inherit;font-size:var(--fs-body);cursor:pointer;color:var(--ink-2)}
.otabs button:hover{background:var(--surface-2);color:var(--ink)}
.otabs button[aria-pressed="true"]{background:var(--cta);color:#fff;font-weight:var(--fw-semi)}
.otabs button span{font:var(--fw-med) var(--fs-min) var(--mono);opacity:.75;margin-left:3px}
.og{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
.og>div,.og>aside{display:grid;gap:14px}
@media (max-width:980px){.og{grid-template-columns:minmax(0,1fr)}}
.osec .sh{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:6px}
.osec .sh .sub{margin:3px 0 0}
.otab>.osec+.osec{margin-top:14px}
.ef{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 14px;margin:6px 0 4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.fld{display:flex;flex-direction:column;gap:4px}
.fld.wide,.ef .err,.ef .ef-a,.ef .amt{grid-column:1/-1}
.fld label{font-size:var(--fs-small);color:var(--ink-2);font-weight:var(--fw-med)}
.fld input:not([type=checkbox]):not([type=radio]),.fld select,.fld textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;font-size:var(--fs-body);background:var(--surface);color:var(--ink)}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.ef-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.err{color:var(--decl);font-size:var(--fs-small);margin:0}
.amt{margin:0}
.signout{border:0;background:none;padding:4px 0;font:var(--fw-med) var(--fs-small) var(--sans);color:var(--on-night-2);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.signout:hover{color:var(--on-night)}
.filters .cnt + [data-export]{margin-left:4px}
.signin{max-width:560px;margin:30px auto;display:grid;gap:12px}
.signin h1{font:var(--fw-bold) var(--fs-title) var(--display);margin:0}
.devf{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-top:6px}
.devf label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-small);color:var(--ink-2)}
.devf select{border:1px solid var(--line);border-radius:9px;padding:7px 10px;font:inherit;width:auto}
.signbox{position:fixed;inset:0;z-index:70;background:rgb(10 10 31 / .45);display:grid;place-items:center;padding:16px}
.signbox .pan{max-width:440px;width:100%;padding:20px;display:grid;gap:10px}
.signbox h2{font:var(--fw-bold) var(--fs-h2) var(--display);margin:0}
.aplist{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:var(--fs-small)}
.aplist>span{display:inline-flex;gap:6px;align-items:center}
.fld[hidden]{display:none}
@media (max-width:700px){.ls li{flex-wrap:wrap}}
.fld input[type=checkbox]{width:16px;height:16px;accent-color:var(--teal)}
.hd2{display:flex;justify-content:space-between;align-items:center;gap:10px}
.prq-n{padding:6px 9px;border-radius:9px;background:var(--teal-soft)}
.ef .chk{display:flex;gap:8px;align-items:center;font-size:var(--fs-small);grid-column:1/-1}

/* ---------- lead management (phase 1) ---------- */
.signbox .pan.ac{max-width:640px;max-height:calc(100vh - 32px);overflow:auto}
.ac-h{display:flex;justify-content:space-between;align-items:start;gap:12px}
.ac .ef{grid-template-columns:1fr 1fr}
@media (max-width:560px){.ac .ef{grid-template-columns:1fr}}
.dups{margin:2px 0 0;border:1px solid var(--line);border-radius:10px;padding:0 10px}
.dups li.dup-note{border-left:0;margin:8px 0;padding:8px 10px}
.dups li{padding:8px 0 8px 10px;border-left:3px solid var(--none);margin-left:-10px}
.dups li.dup-x{border-left-color:var(--decl);background:color-mix(in srgb,var(--decl) 6%,transparent)}
.dups li.dup-l{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent)}
.dups li.dup-s{border-left-color:var(--none)}
.dup-note{font-size:var(--fs-small);margin:4px 0 0;padding:8px 10px;border-radius:9px;background:color-mix(in srgb,var(--warn) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 45%,transparent)}
.dup-note.x{background:color-mix(in srgb,var(--decl) 9%,var(--surface));border-color:color-mix(in srgb,var(--decl) 45%,transparent)}
.chips{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:var(--fs-small);background:var(--surface);cursor:default}
label.chip{cursor:pointer}
label.chip:has(input:checked),.chip.on{border-color:color-mix(in srgb,var(--teal) 55%,transparent);background:color-mix(in srgb,var(--teal) 9%,var(--surface))}
.chip .xs{border:0;background:none;padding:0 0 0 2px;font:var(--fw-bold) var(--fs-small) var(--sans);color:var(--ink-2);cursor:pointer;line-height:1}
.chip .xs:hover{color:var(--decl)}
fieldset.fld{border:0;padding:0;margin:0}
fieldset.fld legend{font-size:var(--fs-small);color:var(--ink-2);font-weight:var(--fw-med);margin-bottom:6px;padding:0}
.leadbar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin:0 0 12px;font-size:var(--fs-small)}
.merged{padding:12px 16px;margin-bottom:12px;border-color:color-mix(in srgb,var(--warn) 55%,transparent);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}
.mergep{padding:16px 18px;margin-bottom:14px;border-color:color-mix(in srgb,var(--teal) 45%,transparent)}
.mergep .sh{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:10px}
.mergep h3{margin:0 0 4px}
.mergep .fld{max-width:420px}
.rad{display:flex;gap:6px;align-items:start;cursor:pointer}
.rad input{margin-top:3px}
.bulk{position:sticky;top:8px;z-index:5;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;margin:0 0 10px;border:1px solid color-mix(in srgb,var(--teal) 45%,transparent);border-radius:12px;background:color-mix(in srgb,var(--teal) 7%,var(--surface));font-size:var(--fs-small)}
.bulk select{width:auto;max-width:220px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;font:inherit;font-size:var(--fs-small);background:var(--surface);color:var(--ink)}
td.ck,th.ck{width:28px;padding-right:0}
tr.sel td{background:color-mix(in srgb,var(--teal) 7%,transparent)}
.qsec{padding:16px 18px;margin-bottom:14px}
.qsec h3{margin:0 0 4px}
.imp{padding:16px 18px;margin-bottom:14px}
.imp .tw{max-height:420px;overflow:auto}
.inl{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.inl input,.inl select{border:1px solid var(--line);border-radius:8px;padding:4px 8px;font:inherit;font-size:var(--fs-small);background:var(--surface);color:var(--ink)}
.signbox .pan.ac.imp{max-width:980px}
.split{position:relative;display:inline-flex}
.split #addco{border-top-right-radius:0;border-bottom-right-radius:0}
.split .caret{font-size:16px;line-height:1;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgb(255 255 255 / .35);padding-left:10px;padding-right:12px}
.split .menu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:250px;display:grid;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgb(10 10 31 / .25)}
.split .menu[hidden]{display:none}
.split .menu button{text-align:left;border:0;background:none;padding:9px 12px;border-radius:8px;font:var(--fw-semi) var(--fs-body) var(--sans);color:var(--ink);cursor:pointer;display:grid;gap:2px}
.split .menu button small{font-weight:var(--fw-reg);font-size:var(--fs-small);color:var(--ink-2)}
.split .menu button:hover,.split .menu button:focus-visible{background:color-mix(in srgb,var(--teal) 9%,var(--surface));outline:none}

/* roles editor (Admin) */
.roleed fieldset legend{font:var(--fw-semi) var(--fs-xs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.rset{display:grid;gap:2px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rrow{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 12px;background:var(--surface);font-size:var(--fs-body);cursor:pointer}
.rrow + .rrow{border-top:1px solid var(--line)}
.rrow select{max-width:min(320px,55%);border:1px solid var(--line);border-radius:8px;padding:5px 8px;font:inherit;font-size:var(--fs-small);background:var(--surface);color:var(--ink)}
.rrow input[type=checkbox]{width:18px;height:18px;accent-color:var(--teal)}
@media (max-width:600px){.rrow{flex-direction:column;align-items:stretch}.rrow select{max-width:none}}

/* ---------- step 1: one slim top bar, a main menu, Companies with views; rectangular buttons ---------- */
/* the slim dark header still used by the sign-in page (signin.html); the team app's own frame is at the end of this file */
.dh .wrap.sh{display:flex;align-items:center;gap:8px 20px;min-height:56px;padding-block:6px;flex-wrap:nowrap}
.dh .logos{gap:10px}
.dh .tls img{width:30px;height:30px}.dh .tls .l1{font-size:var(--fs-xs)}.dh .tls .l2{font-size:var(--fs-small)}.dh .vr{height:26px}.dh .ba-logo{height:28px}
@media (max-width:600px){.dh .tls-txt{display:none}}
/* buttons are rectangles in Revenue command; pills stay for statuses and tags only */
.rc .btn{border-radius:8px}
.rc .minibtn{border-radius:7px}
.rc .split #addco{border-radius:8px 0 0 8px}.rc .split .caret{border-radius:0 8px 8px 0}
.rc .filters select,.rc .filters input[type=search],.rc .ctool input[type=search]{border-radius:8px}

.dd{position:relative;display:inline-flex}
.nbadge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--warn);color:#2A1E00;font:var(--fw-bold) var(--fs-min) var(--sans)}
.mk[hidden]{display:none}

/* companies: views as tabs, one Filters button, filters in use as chips */
.vtabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:0 0 12px}
.vtabs::-webkit-scrollbar{display:none}
.vtabs button{border:0;background:none;font:var(--fw-med) var(--fs-body) var(--sans);color:var(--ink-2);padding:9px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap}
.vtabs button:hover{color:var(--ink)}
.vtabs button[aria-current="page"]{color:var(--ink);font-weight:var(--fw-semi);border-bottom-color:var(--teal)}
.vtabs .sv{display:inline-flex;align-items:center}
.vtabs .sv .xs{padding:0 6px 0 0;border:0;font-size:15px;color:var(--ink-2)}
.ctool{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.ctool input[type=search]{flex:1 1 260px;min-width:200px;border:1px solid var(--line);background:var(--surface);padding:8px 12px;font:inherit;font-size:var(--fs-body);color:var(--ink)}
.ctool .nbadge{background:var(--teal);color:#fff;margin-left:4px}
.fpanel{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 0 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px}
.fpanel[hidden]{display:none}
.fpanel fieldset{border:0;padding:0;margin:0}.fpanel legend{font-size:var(--fs-small);color:var(--ink-2);font-weight:var(--fw-med);margin-bottom:6px}
.fpanel .chk{display:flex;gap:6px;align-items:center;font-size:var(--fs-body);margin:2px 0}
.chiprow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.chiprow:empty{display:none}
.linkbtn{border:0;background:none;padding:2px 4px;font:var(--fw-med) var(--fs-small) var(--sans);color:var(--teal);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.soon{border-style:dashed}
.viewas{white-space:nowrap}
/* small buttons and links-as-buttons share one height; a row's actions stay on one line */
.rc .minibtn{display:inline-flex;align-items:center;justify-content:center;min-height:30px;box-sizing:border-box;line-height:1.2;text-decoration:none}
@media (max-width:700px){}

/* ---------- icon buttons: quiet squares that show what they do on hover ---------- */
.ico{display:block;flex:none}
.ib{display:inline-grid;place-items:center;width:32px;height:32px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;text-decoration:none;flex:none}
.ib:hover,.ib:focus-visible{background:var(--surface-2);color:var(--ink);border-color:var(--line);outline:none}
.ib.line{border-color:var(--line);background:var(--surface)}
.ib.pri{background:var(--cta);color:#fff}.ib.pri:hover{background:var(--cta-hover);color:#fff}
.ib.danger:hover{color:var(--decl);border-color:color-mix(in srgb,var(--decl) 40%,transparent);background:color-mix(in srgb,var(--decl) 7%,var(--surface))}
.ib.ok:hover{color:var(--conf)}
.ib.sm{width:26px;height:26px;border-radius:6px}.ib.sm .ico{width:14px;height:14px}
.ib[disabled]{opacity:.4;cursor:not-allowed}
.ibs{display:inline-flex;gap:2px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.btn .ico{margin-right:-2px}

/* company page: breadcrumb, quieter tabs, a ⋯ menu for rare actions, compact product lines */
.crumb{margin:0 0 6px}.crumb a{display:inline-flex;align-items:center;gap:4px;color:var(--ink-2);text-decoration:none;font-size:var(--fs-small)}.crumb a:hover{color:var(--teal)}
.oa{gap:6px}
.oa .btn .ico,.btn .ico{display:inline-block;vertical-align:-3px}
.otabs{gap:2px;padding-bottom:0}
.otabs button{border-radius:0;padding:9px 12px;border-bottom:2px solid transparent;margin-bottom:-1px}
.otabs button:hover{background:none;color:var(--ink)}
.otabs button[aria-pressed="true"]{background:none;color:var(--ink);border-bottom-color:var(--teal)}
.dd .omenu{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:260px;display:grid;gap:2px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px rgb(10 10 31 / .2)}
.dd .omenu[hidden]{display:none}
.omenu button{display:flex;align-items:center;gap:8px;text-align:left;border:0;background:none;padding:8px 10px;border-radius:8px;font:var(--fw-med) var(--fs-body) var(--sans);color:var(--ink);cursor:pointer}
.omenu button:hover{background:var(--surface-2)}
.omenu .mi{display:grid;gap:4px;padding:6px 10px 8px;font-size:var(--fs-xs);color:var(--ink-2);border-bottom:1px solid var(--line);margin-bottom:4px}
.omenu .assign{width:100%}
.osec .sh{display:flex;justify-content:space-between;gap:12px;align-items:start}
.t.lines td{vertical-align:middle}
.leadbar .ib{margin-left:-4px}
.aplist.ibs{justify-content:flex-start;gap:6px;margin-top:6px}
.qclear{display:flex;gap:8px;align-items:center;color:var(--ink-2);font-size:var(--fs-small);margin:4px 2px 0}.qclear .ico{color:var(--conf)}
.vtabs .vt-extra{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:9px 6px 9px 12px;font-size:var(--fs-small);color:var(--ink-2);text-decoration:none;white-space:nowrap}.vtabs .vt-extra:hover{color:var(--teal)}

/* =====================================================================================================
   DESIGN TOKENS: Revenue command (body.rc). Every font, size, weight and control height below reads from these,
   so the app stays consistent: change a token here, never a one-off size in a rule. The public website is untouched.
   ===================================================================================================== */
.rc{
  --font:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;           /* Inter: the same on every device */
  --fs-title:24px; --fs-h2:20px; --fs-h:16px; --fs-body:14px; --fs-small:13px; --fs-xs:12px; --fs-min:11px; --fs-kpi:26px;
  --fw-reg:400; --fw-med:500; --fw-semi:600; --fw-bold:700;
  --lh-tight:1.25; --lh-body:1.45; --lh-table:1.35;                     /* tables are read in rows, not paragraphs */
  --ctl-h:32px; --ctl-h-sm:28px; --ib:28px;                               /* compact, as GitHub, Stripe and Salesforce */
  --cell-py:7px; --cell-px:10px; --th-py:8px; --list-py:7px;              /* table and list row spacing */
  --display:var(--font); --mono:var(--font); --sans:var(--font);         /* site.css uses these names: point them all at one family */
  font-family:var(--font); font-feature-settings:"cv11","ss01";
}

/* type roles: title · heading · body · small · extra small (minimum 11px anywhere) */
.rc .top h1,.rc .oh h1{font:var(--fw-semi) var(--fs-title)/var(--lh-tight) var(--font);letter-spacing:-.015em;margin:0}
@media (max-width:600px){.rc{--fs-title:21px}}
.rc .top .k{display:none}                                                 /* the menu and breadcrumb already say where you are */
.rc .oh .k{font:var(--fw-med) var(--fs-small) var(--font);letter-spacing:0;text-transform:none;color:var(--ink-2);margin-bottom:2px}
.rc .top{margin-bottom:18px}.rc .top p{margin-top:4px;color:var(--ink-2)}
/* page header: title + ⓘ, one line under it; the rest in "About this page" (18 Oct 2026) */
.top h1 .about-b{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:8px;vertical-align:3px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink-2);font:var(--fw-semi) 15px/1 var(--font);cursor:pointer}
.top h1 .about-b:hover,.top h1 .about-b[aria-expanded="true"]{border-color:var(--teal);color:var(--teal)}
.top h1 .about-b:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.rc .top + .about,.about{margin:-8px 0 18px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--teal);border-radius:10px;max-width:96ch}
.about[hidden]{display:none}
.about b:first-child{display:block;font-size:var(--fs-small);margin-bottom:4px}
.about p{margin:0;color:var(--ink-2);font-size:var(--fs-body)}
@media print{.about-b,.about{display:none!important}}
/* company page: "Where we are" at the top of Overview (18 Oct 2026); it replaces the side cards that repeated the tabs */
.rc .where{margin-bottom:14px;border-left:3px solid var(--teal)}
.rc .where .where-f{grid-template-columns:120px minmax(0,1fr)}
.rc .where .where-f dd{line-height:1.7}
.rc .where .linkbtn{font-weight:600}
.rc .card2 h3,.rc .brief h3{font:var(--fw-semi) var(--fs-h)/var(--lh-tight) var(--font);letter-spacing:-.005em}
.rc .signbox h2{font:var(--fw-semi) var(--fs-h2)/var(--lh-tight) var(--font)}
.rc .kpi .v{font:var(--fw-semi) var(--fs-kpi)/1.15 var(--font);letter-spacing:-.02em}
.rc .kpi .v small{font-size:var(--fs-small)}
.rc .brief p{font-size:var(--fs-body)}
/* body: table cells, names, list items, facts, buttons */
.rc .t td,.rc .ls li,.rc .ls .l b,.rc .facts dt,.rc .facts dd,.rc .leadbar,.rc .empty,.rc .fun,.rc .fun .r > span,.rc .strm .r,.rc .top p,.rc .oh p{font-size:var(--fs-body)}
.rc .nm{font:var(--fw-semi) var(--fs-body)/1.35 var(--font);letter-spacing:0}   /* names: body font (site.css makes .nm 17px display) */
/* small: secondary lines, labels, help text */
.rc .t .mut,.rc .ls .l small,.rc .kpi .s,.rc .kpi .lb,.rc .card2 .sub,.rc .cnt,.rc .crumb a,.rc .chip,.rc .fld > label,.rc .fld legend{font-size:var(--fs-small)}
.rc .fld > label,.rc fieldset.fld legend,.rc .fpanel legend{font-weight:var(--fw-med);color:var(--ink-2)}
/* one label style: column headings, group headings, menu headings */
.rc .t th,.rc .roleed fieldset legend,.rc .dh .menu .mh{font:var(--fw-semi) var(--fs-small)/1.3 var(--font);letter-spacing:0;text-transform:none;color:var(--ink-2)}
.rc .t td{padding:var(--cell-py) var(--cell-px);line-height:var(--lh-table)}
.rc .t td .mut{line-height:var(--lh-table)}
.rc .t th{padding:var(--th-py) var(--cell-px)}
.rc .ls li{padding-top:var(--list-py);padding-bottom:var(--list-py)}
/* extra small: status labels, tags, codes */
.rc .pill{font:var(--fw-semi) var(--fs-xs) var(--font)}
.rc .flags span,.rc .samp,.rc .aip,.rc .nbadge{font-family:var(--font);font-size:var(--fs-min);font-weight:var(--fw-semi);letter-spacing:.02em}
.rc .gl{font:var(--fw-semi) var(--fs-xs) var(--font);letter-spacing:.04em}
/* numbers line up in columns */
.rc .num,.rc .strm .v,.rc .prio,.rc .fun .v,.rc .kpi .v{font-variant-numeric:tabular-nums}
/* tabs */
.rc .otabs button,.rc .vtabs button{font-size:var(--fs-body);font-weight:var(--fw-med)}
.rc .otabs button[aria-pressed="true"],.rc .vtabs button[aria-current="page"]{font-weight:var(--fw-semi)}

/* controls: one height for buttons, text boxes and dropdowns; small buttons and icons have their own */
.rc .btn-sm,.rc .ctool .btn{height:var(--ctl-h);padding-block:0;box-sizing:border-box;font-size:var(--fs-body)}
.rc .fld input:not([type=checkbox]):not([type=radio]):not([type=file]),.rc .fld select,.rc .ctool input[type=search],.rc .filters select,.rc .filters input[type=search],
.rc select.assign,.rc .omenu select,.rc [data-qcat],.rc select[data-urole],.rc .rrow select{height:var(--ctl-h);padding:0 10px;font-size:var(--fs-body);box-sizing:border-box}
.rc .fld textarea{font-size:var(--fs-body)}
.rc .minibtn{height:var(--ctl-h-sm);min-height:var(--ctl-h-sm);font-size:var(--fs-small)}
.rc .ib{width:var(--ib);height:var(--ib)}
.rc .oa .ib,.rc .ctool .ib{width:var(--ctl-h);height:var(--ctl-h)}
.rc .ib.sm{width:24px;height:24px}
.rc .samp{text-transform:none}
/* figures and buttons never break across lines */
.rc .t td.num,.rc .minibtn,.rc .btn,.rc .pill{white-space:nowrap}
.rc input.inl{height:var(--ctl-h);padding:0 10px;font-size:var(--fs-body);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-sizing:border-box}
.rc tr.norows td.empty{text-align:center;color:var(--ink-2);padding:18px 10px}
/* small print still meets the 11px minimum */
.rc small,.rc sup{font-size:max(var(--fs-min),.85em)}
.rc .cal{font-size:var(--fs-xs)}.rc .cal .h{font:var(--fw-semi) var(--fs-min) var(--font);letter-spacing:.04em}.rc .cal .rm{font-size:var(--fs-small)}.rc .cal .rm small{font-size:var(--fs-xs)}
/* label/value lists line up across cards on the company page */
.rc .facts{grid-template-columns:200px minmax(0,1fr)}
@media (max-width:600px){.rc .facts{grid-template-columns:130px minmax(0,1fr)}}
/* a figure and its count read on one line: "₹0 · 0 deals" */
.rc .fun .r .v small{display:inline;margin-left:6px;font-size:var(--fs-small)}.rc .fun .r .v small::before{content:"· "}
.rc .fun .r{grid-template-columns:160px minmax(0,1fr) 150px}
/* phones: the companies list keeps the company, its lead status and the claim button; the rest is on the company page */
@media (max-width:700px){.rc .t .opt{display:none}}
@media (max-width:700px){.rc .t td.ck,.rc .t th.ck,.rc #pbulk{display:none}.rc .card2{padding:12px}.rc .t td,.rc .t th{padding-left:6px;padding-right:6px}}

/* account: an avatar with your initials; the menu has who you are, Admin (admins) and Sign out */
.avatar{width:var(--ctl-h);height:var(--ctl-h);border-radius:50%;border:2px solid rgb(255 255 255 / .18);background:linear-gradient(135deg,#7DD3FC,#38BDF8);color:#0A0A1F;font:var(--fw-semi) var(--fs-small)/1 var(--font);letter-spacing:.02em;cursor:pointer;display:grid;place-items:center;padding:0}
.avatar:hover,.avatar[aria-expanded="true"]{border-color:rgb(255 255 255 / .55)}
.avatar:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* ---------- deals board (lists.js): columns per stage, cards you drag; everything from the tokens ---------- */
.board{display:grid;grid-template-columns:repeat(7,minmax(200px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}
.bcol{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;min-height:240px;transition:border-color .12s,background .12s}
.bcol header{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px 8px;border-bottom:1px solid var(--line)}
.bcol .bh-t{font:var(--fw-semi) var(--fs-small)/1.3 var(--font);color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.bcol .bh-t .ico{color:var(--ink-2)}
.bcol .bh-n{font:var(--fw-semi) var(--fs-xs) var(--font);color:var(--ink-2);background:var(--surface);border-radius:999px;padding:1px 8px;align-self:center}
.bcol.locked{background:color-mix(in srgb,var(--surface-2) 60%,var(--surface))}
.bcol.over{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 8%,var(--surface-2))}
.bcol.locked.over{border-color:var(--decl)}
.bcards{display:grid;gap:8px;padding:10px;align-content:start}
.bempty{margin:6px 2px;font-size:var(--fs-xs);color:var(--ink-2)}
.dcard{display:grid;gap:3px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;box-shadow:0 1px 0 rgb(10 10 31 / .03)}
.dcard:hover,.dcard:focus-visible{border-color:color-mix(in srgb,var(--teal) 50%,var(--line));outline:none}
.dcard.drag{cursor:grab}.dcard.dragging{opacity:.5}
.dc-org{font:var(--fw-semi) var(--fs-body)/1.3 var(--font)}
.dc-item{font-size:var(--fs-small);color:var(--ink-2);line-height:1.35}
.dc-meta{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink-2);margin-top:2px}
.dc-amt{font:var(--fw-semi) var(--fs-small) var(--font);color:var(--ink);font-variant-numeric:tabular-nums}
.dc-foot{display:flex;gap:8px;align-items:center;margin-top:6px;font-size:var(--fs-xs);color:var(--ink-2)}
.dc-days{display:inline-flex;gap:4px;align-items:center}
.dc-due{margin-left:auto;font-weight:var(--fw-semi)}.dc-due.late,.late{color:var(--decl)}
.mini-av{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--teal) 14%,var(--surface));color:var(--teal);font:var(--fw-semi) var(--fs-min) var(--font)}
.bfoot{margin:10px 2px 0;font-size:var(--fs-small)}
.dfacts{margin:14px 0}
.rc tr.rowlink{cursor:pointer}.rc tr.rowlink:hover td{background:var(--surface-2)}
/* the "which company?" picker */
.pick{max-width:520px}
.pk-list{margin:0;border:1px solid var(--line);border-radius:10px;max-height:340px;overflow:auto}
.pk-list li{padding:0;border-bottom:1px solid var(--line)}.pk-list li:last-child{border-bottom:0}
.pk-list li.empty{padding:12px;justify-content:flex-start}
.pk{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 12px;color:var(--ink);text-decoration:none}
.pk:hover,.pk:focus-visible{background:var(--surface-2);outline:none}
.pk .ico{color:var(--ink-2)}
.top .btn .ico{display:inline-block;vertical-align:-3px}
/* toolbar dropdowns sit inline at the control height, like the search box */
.rc .ctool select{width:auto;max-width:240px;height:var(--ctl-h);padding:0 10px;font-size:var(--fs-body);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);box-sizing:border-box}
@media (max-width:700px){.rc .ctool select{flex:1 1 140px;max-width:none}}
.board{grid-template-columns:repeat(7,minmax(168px,1fr))}
.dc-due{white-space:nowrap}
.rc .dw-h .k{font:var(--fw-med) var(--fs-small) var(--font);letter-spacing:0;text-transform:none;color:var(--ink-2)}
.rc .dw-h h2{font:var(--fw-semi) var(--fs-h2)/var(--lh-tight) var(--font);margin:2px 0 4px}
.dc-foot{flex-wrap:wrap;row-gap:4px}.dcard{min-width:0;overflow-wrap:anywhere}
/* logs */
.lg-date{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--ink-2)}
.rc .lg-date input{height:var(--ctl-h);padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-small)}
.lg-d{font-size:var(--fs-small);color:var(--ink-2);max-width:420px}.lg-d b{color:var(--ink);font-weight:var(--fw-med)}
.lg-f{color:var(--ink-2)}
.lg-help{margin:0 0 4px;font-size:var(--fs-small)}.vtabs.subtabs{margin-top:4px}.vtabs.subtabs button{font-size:var(--fs-small);padding:7px 10px}
.rc .t tr.gone td .nm,.rc .t tr.gone td:not(:last-child){color:var(--ink-2)}   /* contacts who left: kept, but muted */
/* proformas: tick deals, the bar under them, and the lock warning */
.rc .t td.ck,.rc .t th.ck{width:34px}
.rc .selbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:10px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:var(--fs-body)}
.rc .warn-l{border-left:3px solid var(--amber);padding:6px 10px;background:color-mix(in srgb,var(--amber) 10%,var(--surface));border-radius:6px;font-size:var(--fs-small)}
.rc .ef .wide{grid-column:1/-1}
@media (max-width:700px){.rc .osec .t td.ck,.rc .osec .t th.ck{display:table-cell}}
/* Reports → Stalls: the hall picker, a segmented control like the floor plan's Map | List */
/* segmented bar (look H, 12 Oct 2026): options on a grey track; the chosen one lifts out as a white pill. Counts in <b>.
   Options with their own colour (style="--c:…", e.g. the awards) show an icon and count in it, and an underline when chosen. */
.rc .seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:4px;border-radius:12px;background:var(--tint);max-width:100%}
.rc .seg button{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:9px;background:none;padding:6px 12px;cursor:pointer;font:500 var(--fs-small) var(--sans);color:var(--ink-2);white-space:nowrap}
.rc .seg button:hover{color:var(--ink);background:rgb(255 255 255 / .55)}
.rc .seg button[aria-pressed="true"]{background:var(--surface);color:var(--ink);font-weight:var(--fw-semi);box-shadow:0 1px 3px rgb(10 10 31 / .12)}
.rc .seg button b,.rc .seg button em{font-style:normal;font-weight:var(--fw-bold);font-size:var(--fs-xs);min-width:20px;text-align:center;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--c,var(--ink-2)) 15%,transparent);color:var(--c,var(--ink-2))}
.rc .seg button .ico{color:var(--c);width:15px;height:15px}
.rc .seg button[style][aria-pressed="true"]{box-shadow:0 1px 3px rgb(10 10 31 / .12),inset 0 -2px 0 var(--c)}
.rc .seg.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.rc .seg.scroll::-webkit-scrollbar{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rc .seg{background:rgb(255 255 255 / .08)}}
.rc .st-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:0 0 14px}
/* Programme → Side events: the room planner (rooms down{overflow-x:auto}
/* timeline report: month rows, the date column, Admin's inline edit */
.rc .tl-t .tl-m th{background:var(--surface-2,color-mix(in srgb,var(--ink) 4%,var(--surface)));font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:8px 10px}
.rc .tl-t .tl-d{white-space:nowrap}
.rc .tl-t tr.clk{cursor:pointer}
.rc .tl-form{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:end}
.rc .tl-form label{display:flex;flex-direction:column;gap:4px;font-size:var(--fs-small)}
.rc .tl-form .tl-ck{flex-direction:row;align-items:center;gap:6px;padding-bottom:6px}
.rc .tl-form .tl-btns{display:flex;gap:8px}
.rc .tl-form p{flex-basis:100%;margin:0}
.rc .tl-need{color:color-mix(in srgb,var(--amber) 70%,var(--ink));font-size:var(--fs-small);font-weight:var(--fw-semi)}
/* overview report: a box per area */
.rc .ov-att{margin-bottom:14px}
.rc .ov-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:14px}
.rc .ov-box{padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.rc .ov-box h3{margin:0;display:flex;gap:10px;align-items:center;font-size:var(--fs-body)}
.rc .ov-ic{width:32px;height:32px;border-radius:9px;display:inline-grid;place-items:center;flex:none;background:color-mix(in srgb,var(--prog) 12%,var(--surface));color:var(--prog)}
.rc .ov-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rc .ov-nums div{display:grid;gap:2px;align-content:start}
.rc .ov-nums b{font-size:var(--fs-h2);line-height:1.1;font-variant-numeric:tabular-nums}
.rc .ov-nums span,.rc .ov-inr span{font-size:var(--fs-xs);color:var(--ink-2)}
.rc .ov-inr{font-weight:var(--fw-semi);font-variant-numeric:tabular-nums}
.rc .ov-note{margin:0;font-size:var(--fs-small);color:var(--ink-2);flex:1}
.rc .ov-view{font-size:var(--fs-small);font-weight:var(--fw-semi);display:inline-flex;align-items:center;gap:4px;align-self:flex-start}
.rc .ov-box.later{border-style:dashed;background:transparent}
.rc .ov-box.later .ov-ic{background:color-mix(in srgb,var(--ink) 6%,var(--surface));color:var(--ink-2)}
/* side events calendar (from the client's sheet): one card per slot or run of slots; classes start sc- (".media" is taken by the site) */
.rc .sc-lg{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:var(--fs-small);color:var(--ink-2)}.rc .sc-lg span{display:inline-flex;align-items:center;gap:6px}
.rc .sc-sw{width:14px;height:12px;border-radius:3px;display:inline-block}
.rc .sc-sw.k-avail{background:#f2c300}.rc .sc-sw.k-rq{background:var(--amber)}.rc .sc-sw.k-bk{background:var(--prog)}.rc .sc-sw.k-sold{background:var(--conf)}.rc .sc-sw.k-comp{background:var(--comp)}.rc .sc-sw.k-sess{background:#2f66d0}.rc .sc-sw.k-res{background:var(--ink-2)}.rc .sc-sw.k-lunch{background:var(--none)}
.rc .sc-sw.k-media{background:repeating-linear-gradient(45deg,var(--none),var(--none) 3px,#f3f3f8 3px,#f3f3f8 6px)}
.rc .sc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rc .sc-grid{display:grid;gap:6px;min-width:980px}
.rc .sc-h{font-size:var(--fs-xs);font-weight:var(--fw-semi);color:var(--ink-2);text-transform:uppercase;letter-spacing:.03em;padding:4px 6px}
.rc .sc-floor{grid-column:1/-1;font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--prog);text-transform:uppercase;letter-spacing:.05em;margin:10px 0 0;padding-bottom:4px;border-bottom:1px solid var(--line)}
.rc .sc-rm{display:grid;align-content:center;padding:4px 6px}.rc .sc-rm b{font-size:var(--fs-small)}.rc .sc-rm small{font-size:var(--fs-xs);color:var(--ink-2)}
.rc .sc-c{min-height:58px;border-radius:8px;padding:8px 10px;display:grid;align-content:start;gap:2px;border:0;border-left:3px solid transparent;font:inherit;font-size:var(--fs-small);text-align:left;color:var(--ink);min-width:0}
.rc button.sc-c{cursor:pointer}.rc button.sc-c:hover{filter:brightness(.97);box-shadow:0 2px 8px rgb(10 10 31 / .08)}
.rc .sc-c b{font-weight:var(--fw-semi);overflow-wrap:anywhere}.rc .sc-c small{font-size:var(--fs-xs);color:var(--ink-2);line-height:1.35}
.rc .sc-c.k-avail{background:#fff8dc;border:1px dashed #e3b100;border-left:3px dashed #e3b100}.rc .sc-c.k-avail b,.rc .sc-c.k-avail small{color:#8a6a00}.rc .sc-c.k-avail small{font-weight:var(--fw-semi)}.rc button.sc-c.k-avail:hover{background:#fff1b8}
.rc .sc-c.k-rq{background:#fdf1d8;border-left:3px dashed var(--amber)}
.rc .sc-c.k-bk{background:color-mix(in srgb,var(--prog) 14%,var(--surface));border-left-color:var(--prog)}
.rc .sc-c.k-sold{background:#e1f4e6;border-left-color:var(--conf)}
.rc .sc-c.k-comp{background:#dff2f7;border-left-color:var(--comp)}
.rc .sc-c.k-sess{background:#e6eefc;border-left-color:#2f66d0}
.rc .sc-c.k-res{background:var(--tint);border-left-color:var(--ink-2)}.rc .sc-c.k-res b{color:#40405a}
.rc .sc-c.k-lunch{background:#f4f4f6}.rc .sc-c.k-lunch b{font-weight:var(--fw-med);color:var(--ink-2)}
.rc .sc-c.k-media{background:repeating-linear-gradient(45deg,#e4e4ee,#e4e4ee 4px,#f7f7fb 4px,#f7f7fb 8px)}.rc .sc-c.k-media b{font-weight:var(--fw-med);color:var(--ink-2)}
/* awards: the team's table of every juror's score and vote */
.rc .aw-jt .aw-v1{color:var(--conf);font-weight:var(--fw-bold)}.rc .aw-jt .aw-v0{color:var(--decl);font-weight:var(--fw-bold)}
.rc .aw-jt td:first-child{min-width:200px}
/* toolbar right side: a compact legend (two rows) beside the main button */
.rc .sc-right{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.rc .sc-right .sc-lg{display:grid;grid-template-columns:repeat(5,auto);gap:4px 14px;font-size:var(--fs-xs)}
@media (max-width:760px){.rc .sc-right{margin-left:0;justify-content:flex-start}.rc .sc-right .sc-lg{grid-template-columns:repeat(3,auto)}}
/* deal progress: grouped bars and donuts */
.rc .dp-scroll{overflow-x:auto}.rc .dp-bars{width:100%;height:auto;display:block}
.rc .dp-bars .grd{stroke:var(--line)}.rc .dp-bars .ax{font-size:var(--fs-min);fill:var(--ink-2)}
.rc .dp-donut{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.rc .dp-donut svg{width:180px;height:180px;flex:none}
.rc .dp-mid{font-size:var(--fs-kpi);font-weight:var(--fw-bold);fill:var(--ink)}.rc .dp-sub{font-size:var(--fs-xs);fill:var(--ink-2)}
.rc .dp-key{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--fs-small);flex:1;min-width:160px}
.rc .dp-key li{display:grid;grid-template-columns:12px 1fr auto 40px;gap:8px;align-items:center}.rc .dp-key i{width:12px;height:12px;border-radius:3px}.rc .dp-key small{color:var(--ink-2);text-align:right}
/* benefits checklist (company page) */
.rc .bf-t .bf-g th{background:color-mix(in srgb,var(--ink) 4%,var(--surface));text-align:left;font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:8px 10px}.rc .bf-t .bf-g th span{text-transform:none;letter-spacing:0;font-weight:var(--fw-med);margin-left:8px}
.rc .bf-t td{vertical-align:top}.rc .bf-t small{font-size:var(--fs-xs)}.rc .bf-t .bf-na td{opacity:.5}.rc .bf-t .bf-edit td{background:color-mix(in srgb,var(--prog) 5%,var(--surface))}
.rc .tag,.rc .bf-src{display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-semi);padding:2px 8px;border-radius:99px;background:var(--tint);color:var(--ink-2);white-space:nowrap}.rc .bf-src.link{background:color-mix(in srgb,var(--prog) 12%,var(--surface));color:var(--prog)}
.rc .bf-choice{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:0 0 12px;font-size:var(--fs-body)}.rc .bf-choice label{display:flex;gap:6px;align-items:flex-start}
.rc .sdv-cell{display:grid;gap:4px;min-width:60px;background:linear-gradient(var(--tint),var(--tint)) bottom/100% 6px no-repeat}.rc .sdv-cell b{font-size:var(--fs-small)}.rc .sdv-cell i{display:block;height:6px;border-radius:99px;background:var(--c)}
/* Billing: Ready to bill, by company */
.rc .bl-ch{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between;margin:0 0 10px}.rc .bl-cn{font-size:var(--fs-h)}
.rc .bl-co{margin-bottom:12px}.rc .bl-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
/* boxes that open where their number comes from (13 Oct 2026) */
a.kpi.kgo{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
a.kpi.kgo:hover,a.kpi.kgo:focus-visible,.ov-box.kgo:hover{border-color:var(--accent,var(--prog));box-shadow:0 4px 14px rgba(40,30,90,.10);transform:translateY(-1px)}
a.kpi.kgo .lb::after{content:" →";opacity:0;transition:opacity .15s}
a.kpi.kgo:hover .lb::after,a.kpi.kgo:focus-visible .lb::after{opacity:.7}
.ov-box.kgo{cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.kgo-note{margin:0 0 10px;padding:8px 12px;border-radius:10px;background:var(--prog-bg,color-mix(in srgb,var(--prog) 10%,var(--surface)));font-size:var(--fs-small)}
.kgo-note a{font-weight:var(--fw-semi)}
[data-hl="free"] .sc-c:not(.k-avail),[data-hl="booked"] .sc-c:not(.k-bk):not(.k-sold):not(.k-comp),[data-hl="requested"] .sc-c:not(.k-rq){opacity:.22}
/* Reports: the word opens the Overview, the arrow the menu */
/* spacing (13 Oct 2026): one gap between sections, one small gap under a heading or a list; was a dozen inline margins */
.rc{--gap:14px;--gap-s:8px;--gap-l:20px}
/* helpers replace inline styles, so they win like inline styles did */
.rc .mt{margin-top:var(--gap)!important}.rc .mb{margin-bottom:var(--gap)!important}.rc .mt-s{margin-top:var(--gap-s)!important}.rc .mt-l{margin-top:var(--gap-l)!important}.rc .m0{margin:0!important}
.rc .note{margin:var(--gap-s) 0 0!important}.rc .note0{margin:0 0 var(--gap-s)!important}.rc .bar10{height:10px!important}.rc .tc{text-align:center!important}

/* contacts to sort (contacts.js) */
.clg .clact{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}
.clg .clfind input{min-width:200px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--paper)}
.clg .clnew{margin:6px 0 10px}
.clg details summary{cursor:pointer;color:var(--ink-2);font-size:var(--fs-small)}
.clg .ls label.l{display:flex;gap:8px;align-items:baseline;cursor:pointer}
.dqpop{position:fixed;z-index:60;min-width:270px;max-width:calc(100vw - 16px);padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(10,10,31,.14)}
.dqpop small{display:block;padding:6px 8px 2px;color:var(--ink-2);font-size:var(--fs-min);text-transform:uppercase;letter-spacing:.06em}
.dqpop a{display:flex;justify-content:space-between;gap:16px;padding:7px 8px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:var(--fs-small)}
.dqpop a:hover,.dqpop a:focus{background:var(--tint)}
.dqpop a b{font-variant-numeric:tabular-nums}
.dqpop .ok{margin:6px 8px;font-size:var(--fs-small);color:var(--ink-2)}
/* AI analyser (13 Oct 2026): a chip after Reports, like Google's "AI Mode": rounded, lightly filled, lens-and-star icon; icon only on a phone */
/* the Opportunities screen */
.rc .opp{margin-bottom:var(--gap,12px)}
.rc .opp-hd{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.rc .opp-hd h3{margin:0}
.rc .opp-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.rc .opp-gain{text-align:right;flex:none}.rc .opp-gain b{display:block;font:800 1.4rem/1.1 var(--display);letter-spacing:-.01em}.rc .opp-gain small{color:var(--ink-2);font-size:var(--fs-small)}
.rc .opp-why{margin:10px 0 4px}.rc .opp-next{margin:0 0 4px;color:var(--ink-2)}
.rc .opp-ls li{cursor:pointer}.rc .opp-ls li:hover .l b{text-decoration:underline;text-underline-offset:3px}
.rc .opp-ls .l small{display:block}.rc .opp-ls .l .opp-do{color:var(--teal)}
.rc .opp-ls .r{flex-direction:column;align-items:flex-end;gap:2px}.rc .opp-ls .r small{color:var(--ink-2);font-size:var(--fs-small)}
.rc .opp-odds{font-weight:var(--fw-bold);cursor:help}
.rc .opp-how{margin-top:8px}.rc .opp-how summary{cursor:pointer;color:var(--ink-2);font-size:var(--fs-small)}.rc .opp-how p{margin:6px 0 0;color:var(--ink-2);font-size:var(--fs-small);max-width:90ch}
.rc .opp-act{margin:10px 0 0}.rc .opp-act .minibtn{gap:6px}
.rc .opp-ai{display:inline-flex;align-items:center;gap:7px}
.rc .opp-sum{margin-bottom:14px;background:linear-gradient(90deg,color-mix(in srgb,var(--prog) 9%,var(--surface)),var(--surface) 60%)}.rc .opp-sum h3{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.rc .opp-sl{margin:6px 0;padding-left:20px}.rc .opp-sl li{margin:4px 0}
@media (max-width:600px){.rc .opp-hd{flex-direction:column}.rc .opp-gain{text-align:left}.rc .opp-tools{flex-direction:column;align-items:stretch}.rc .opp-tools .seg{align-self:flex-start}}

/* Reports › Stalls › Floor map (14 Oct 2026): hall cards, the plan (drawn by mockups/hallplan.js) with a side panel, and print */
.rc{--hall:var(--surface);--feature:color-mix(in srgb,var(--ink-2) 14%,var(--surface));--exit:#16A34A;--route:#0EA5E9;--booked-fill:#C9C8D6;--booked-stroke:#8E8CA8}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rc{--route:#38BDF8;--booked-fill:#3A3956;--booked-stroke:#5E5C80;--cad-fill:20%}}
:root[data-theme="dark"] .rc{--route:#38BDF8;--booked-fill:#3A3956;--booked-stroke:#5E5C80;--cad-fill:20%}
.rc .fm-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.rc .fm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:var(--gap)}
.rc .fm-card{display:flex;flex-direction:column;gap:6px;padding:12px 14px;text-align:left;font:inherit;color:inherit;cursor:pointer}
.rc .fm-card[aria-pressed="true"]{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.rc .fm-card .lb,.rc .fm-card .s{font-size:var(--fs-small);color:var(--ink-2)}
.rc .fm-card .v{font:var(--fw-bold) var(--fs-kpi)/1.05 var(--display);font-variant-numeric:tabular-nums}.rc .fm-card .v small{font:var(--fw-med) var(--fs-small) var(--sans);color:var(--ink-2)}
.rc .fm-card .sb{height:10px;border:1px solid var(--line)}
.rc .fm-tools .chip{cursor:pointer;font:inherit;color:inherit}.rc .fm-tools .chip b{font-weight:var(--fw-bold);color:var(--ink-2)}
.rc .fm-zoom{display:inline-flex;gap:4px}.rc .fm-zoom .btn{min-width:var(--ctl-h);justify-content:center}
.rc .fm{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--gap);align-items:start}
.rc .fm-off{margin-bottom:var(--gap);border-color:var(--warn,#C2410C);font-size:var(--fs-small)}
.rc .fm-area p{max-width:80ch}
.rc .fm-dl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:-4px 0 var(--gap);font-size:var(--fs-small)}
.rc .fm-plan{padding:10px;min-width:0}
.rc .fm-box{overflow:auto;max-height:min(78vh,920px);border-radius:10px;background:var(--paper);overscroll-behavior:contain}
.rc #fmMap{display:block;width:100%;height:auto}.rc #fmMap text{font-family:var(--sans)}
.rc #fmMap .stall{cursor:pointer;outline:none}.rc #fmMap .stall:hover .b{stroke-width:1.1}
.rc #fmMap .stall:focus-visible .b,.rc #fmMap .stall.pick .b{stroke:var(--ink);stroke-width:1.4}
.rc .fm-lgd{margin:10px 2px 2px}.rc .fm-lgd i{border:1px solid transparent}
.rc .fm-side{position:sticky;top:12px}.rc .fm-side h3{margin-bottom:2px}.rc .fm-side .facts{margin-top:6px;grid-template-columns:auto minmax(0,1fr)}.rc .fm-side dd{overflow-wrap:anywhere}
.rc .fm-print,.rc .fm-ptitle{display:none}
@media (max-width:980px){.rc .fm{grid-template-columns:minmax(0,1fr)}.rc .fm-side{position:static}}
@media (max-width:700px){.rc .fm-cards{gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.rc .fm-card{padding:8px 10px;gap:4px}.rc .fm-card .s{display:none}.rc .fm-card .v{font-size:1.25rem}.rc .fm-card .v small{display:block;font-size:var(--fs-xs)}
  .rc .fm-box{max-height:70vh}.rc .fm-tools{justify-content:flex-start}}
/* printed: the hall plan, its key and the stall → company list, on white, in colour */
@media print{
  .rc:has(.fm) .dh,.rc:has(.fm) .mk,.rc:has(.fm) .top p,.rc:has(.fm) .fm-acts,.rc:has(.fm) .fm-cards,.rc:has(.fm) .fm-tools,.rc:has(.fm) .fm-dl,.rc:has(.fm) .fm-off,.rc:has(.fm) .fm-side,.rc:has(.fm) .toast{display:none!important}
  .rc:has(.fm){background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact;color-scheme:light;
    --paper:#fff;--surface:#fff;--surface-2:#ECEEFD;--ink:#17163F;--ink-2:#57597C;--line:#DADDF3;--prog:#2563EB;--none:#CDD0E6;--teal:#0D9488;--turmeric:#2F95DC;--route:#0EA5E9;--booked-fill:#C9C8D6;--booked-stroke:#8E8CA8}
  .rc .fm{display:block}.rc .fm-plan{border:0;padding:0}.rc .fm-box{max-height:none;overflow:visible;background:none}.rc #fmMap{width:100%!important;max-height:92vh}
  .rc:has(.fm) .top h1{display:none}.rc .fm-ptitle{display:block;font:var(--fw-bold) var(--fs-h) var(--display);margin:0 0 8px}
  .rc .fm-print{display:block;break-before:page}.rc .fm-print .t{font-size:11px}.rc .fm-print .t td,.rc .fm-print .t th{padding:3px 6px}
}

.linkb{background:none;border:0;padding:0;font:inherit;color:var(--teal);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* the AI panel (ai.js): Ask BioAsia and the analyser's opportunities, on every page */
.aipane{position:fixed;top:0;right:0;bottom:0;z-index:2000;width:min(440px,100vw);display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);box-shadow:-12px 0 40px rgba(10,10,31,.16)}
.aip-h{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.aip-h > b{display:inline-flex;align-items:center;gap:6px}.aip-h .xb{margin-left:auto}
.aip-tabs{display:flex;gap:4px}.aip-tabs button{border:1px solid var(--line);background:none;border-radius:999px;padding:4px 12px;font:inherit;font-size:var(--fs-small);color:var(--ink-2);cursor:pointer}
.aip-tabs button[aria-pressed="true"]{background:var(--tint);color:var(--ink);border-color:transparent;font-weight:var(--fw-semi)}
.aip-b{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px 14px;overflow:auto}
.aip-chat{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:8px}
.aip-q{align-self:flex-end;max-width:85%;background:var(--teal);color:#fff;padding:8px 12px;border-radius:14px 14px 4px 14px;white-space:pre-wrap;overflow-wrap:anywhere}
.aip-a{align-self:flex-start;max-width:100%;background:var(--paper);border:1px solid var(--line);padding:10px 12px;border-radius:14px 14px 14px 4px;overflow-wrap:anywhere}
.aip-a p{margin:0 0 6px}.aip-a p:last-child{margin-bottom:0}.aip-a ul,.aip-a ol{margin:4px 0 6px;padding-left:20px}.aip-a .tw{margin:6px 0;overflow-x:auto}.aip-a .t{font-size:var(--fs-small)}
.aip-how{margin-top:8px;font-size:var(--fs-small);color:var(--ink-2)}.aip-how summary{cursor:pointer}.aip-how ul{padding-left:18px;margin:6px 0 0}
.aip-sug{display:flex;flex-direction:column;gap:6px;margin-top:10px}.aip-sug .chip{text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:8px 10px;font:inherit;font-size:var(--fs-small);color:var(--ink)}
.aip-sug .chip:hover{border-color:var(--teal)}
.aip-f{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}.aip-f textarea{width:100%;resize:vertical;min-height:52px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--paper);color:var(--ink)}
.aip-fa{display:flex;justify-content:space-between;align-items:center}
@media (max-width:700px){.aipane{width:100vw;border-left:0}}

.aip-look{margin:0 0 6px;font-size:var(--fs-min);color:var(--ink-2)}
.aip-src{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.aip-src a{font-size:var(--fs-min);border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--ink);text-decoration:none;background:var(--surface)}.aip-src a::before{content:"↗ ";color:var(--teal)}
.aip-draft{margin:6px 0;border-left:3px solid var(--teal);background:var(--surface);border-radius:0 10px 10px 0;padding:8px 10px}.aip-dt{white-space:normal}.aip-dact{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px;font-size:var(--fs-min)}
.aip-fu{margin-top:0}
/* Outreach (OR-01..05, 14 Oct 2026): the brief card in the AI panel (assets/ai.js) and the Outreach card on a company page (assets/outreach.js) */
.aib{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px;display:grid;gap:6px}
.aib h4{display:flex;align-items:center;gap:8px;margin:8px 0 0;font:700 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.aib h4:first-child{margin-top:0}
.aib h4 span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--prog);color:#fff;font-size:11px;letter-spacing:0}
.aib p,.aib ul{margin:0}.aib ul{padding-left:18px}.aib li{margin:2px 0}
.aib-ps{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.aib-p{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:8px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:7px 9px;background:var(--paper)}
.aib-p small{display:block;font-size:12px}
.aib-n{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:700 11px var(--sans);background:var(--surface-2)}
.aib-p.top .aib-n{background:var(--prog);color:#fff}
.aib-li{font-size:12px;white-space:nowrap;border:1px solid var(--line);border-radius:7px;padding:2px 7px;color:var(--ink);text-decoration:none;background:var(--surface)}
.aib-sm{font-size:12.5px}
.aib-f{grid-template-columns:minmax(0,1fr)}.aib-f textarea,.aib-f input,.aib-f select{font:inherit}
.aib-cnt{float:right;font-size:11.5px;color:var(--ink-2);font-weight:500}
.aib-fix{display:grid;gap:4px;font-size:13px}.aib-fix label{display:flex;gap:6px;align-items:baseline}
.aib-ok{padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--conf) 14%,var(--surface))}
.ors-l{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ors{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:start;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px}
.ors.now{border-color:color-mix(in srgb,var(--prog) 55%,var(--line))}
.ors-a{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;align-items:center}
.ors .orc{grid-column:1/-1;margin:4px 0 0}
/* My outreach today (OR-06, 14 Oct 2026; assets/today.js) */
.td-h{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:flex-end;justify-content:space-between;margin:0 0 12px}
.td-h2{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.td-who{display:flex;gap:6px;align-items:center;font-size:13.5px}.td-who select{font:inherit;padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.td-prog{display:flex;align-items:center;gap:10px;font-size:13.5px}
.td-bar{width:160px;height:8px;border-radius:99px;background:var(--surface-2);overflow:hidden}.td-bar i{display:block;height:100%;background:var(--prog)}
.td-l{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.td-row{display:grid;grid-template-columns:150px minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:13.5px}
.td-row.done{opacity:.6}
.td-co,.td-to{min-width:0}.td-co small,.td-to small{display:block;color:var(--ink-2);font-size:12px}
.td-chip{justify-self:start;font-size:12px;font-weight:600;border-radius:999px;padding:2px 9px;background:var(--surface-2);color:var(--prog)}
.td-reply{background:color-mix(in srgb,var(--decl) 14%,var(--surface));color:var(--decl)}
.td-followup{background:color-mix(in srgb,var(--prog) 14%,var(--surface));color:var(--prog)}
.td-renewal{background:color-mix(in srgb,var(--conf) 16%,var(--surface));color:var(--conf)}
.td-winback{background:color-mix(in srgb,var(--warn) 18%,var(--surface));color:var(--ink)}
.td-invited,.td-warm{background:color-mix(in srgb,var(--prog) 10%,var(--surface));color:var(--prog)}
.td-done{background:color-mix(in srgb,var(--conf) 14%,var(--surface));color:var(--conf)}
.td-a{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
.td-why{font-size:12.5px;color:var(--ink-2)}
.td-dh{margin:18px 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
@media (max-width:900px){.td-row{grid-template-columns:minmax(0,1fr)}.td-a{justify-content:flex-start}}
/* Reports › Forecast (14 Oct 2026; assets/forecast.js) */
.fc-hero{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:12px}
.fc-tile{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}
.fc-tile .lb,.fc-tilelink .lb{font-size:12px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.fc-tile .v{display:block;font:800 28px/1.15 var(--display);margin:6px 0 2px;font-variant-numeric:tabular-nums}
.fc-tile .v small{font:600 14px var(--sans);color:var(--ink-2)}.fc-tile .s{font-size:13px;color:var(--ink-2)}
.fc-tile.fc-main .v{font-size:36px}
.fc-st{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.fc-st::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st-ok{background:color-mix(in srgb,var(--conf) 15%,var(--surface));color:var(--conf)}
.st-behind{background:color-mix(in srgb,var(--warn) 22%,var(--surface));color:var(--ink)}
.st-risk{background:color-mix(in srgb,var(--decl) 14%,var(--surface));color:var(--decl)}
.st-none{background:var(--surface-2);color:var(--ink-2)}
.fc-since{margin:10px 0 0;font-size:13px}
.fc-notes{margin:12px 0 0;border-left:3px solid var(--warn);padding:2px 0 2px 12px;display:grid;gap:4px;font-size:13px;color:var(--ink-2)}.fc-notes p{margin:0}
.fc-chart{position:relative}.fc-chart svg{width:100%;height:auto;display:block}
.fc-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12.5px;color:var(--ink-2);margin:0 0 8px}
.fc-legend span{display:inline-flex;align-items:center;gap:6px}
.fc-legend i{display:inline-block;width:22px;height:0;border-top:2px solid var(--prog)}
.fc-legend i.proj{border-top-style:dashed}.fc-legend i.band{height:10px;border:0;background:color-mix(in srgb,var(--prog) 18%,transparent);border-radius:3px}
.fc-legend i.tgt{border-top-color:var(--ink)}.fc-legend i.need{border-top:2px dotted var(--ink-2)}
.fc-grid{stroke:var(--line);stroke-width:1}.fc-ax{font-size:11px;fill:var(--ink-2)}.fc-lab{font-size:12px;font-weight:600;fill:var(--ink)}
.fc-today{stroke:var(--ink-2);stroke-width:1;stroke-dasharray:2 3}.fc-target{stroke:var(--ink);stroke-width:1.5}
.fc-need{stroke:var(--ink-2);stroke-width:2;stroke-dasharray:1 4;stroke-linecap:round}
.fc-band{fill:var(--prog);fill-opacity:.16}.fc-proj{fill:none;stroke:var(--prog);stroke-width:2;stroke-dasharray:6 5}.fc-act{fill:none;stroke:var(--prog);stroke-width:2.5}
.fc-dot{fill:var(--prog);stroke:var(--surface);stroke-width:2}.fc-end{fill:var(--surface);stroke:var(--prog);stroke-width:2}
.fc-tip{position:absolute;pointer-events:none;background:var(--ink);color:var(--surface);font-size:12.5px;border-radius:8px;padding:7px 9px;line-height:1.45;white-space:nowrap;transform:translate(-50%,-110%);z-index:2}
.fc-t td small{display:block;color:var(--ink-2);font-size:11.5px;font-weight:400}
.fc-t th,.fc-t td{padding-left:8px;padding-right:8px}.fc-t td:first-child,.fc-t th:first-child{min-width:170px}.fc-t td:first-child small{white-space:normal}
.fc-why{display:block;color:var(--ink-2);font-size:12px}.fc-t tr.tot td{font-weight:700}
.fc-bar{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-top:5px;min-width:80px}.fc-bar i{display:block;height:100%;background:var(--prog);border-radius:99px}
.fc-levers{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.fc-lv{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font-size:13.5px}
.fc-lv b.n{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--surface-2);font-size:12px}
.fc-lv small{display:block;color:var(--ink-2);font-size:12px}.fc-lv .amt{font:700 16px var(--display);text-align:right;font-variant-numeric:tabular-nums}
.fc-note{font-size:12.5px;color:var(--ink-2);border-left:3px solid var(--warn);padding:3px 0 3px 10px;margin:10px 0 0}
.fc-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fc-grid2>*{min-width:0}
.fc-box{border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:13.5px}.fc-box h3{margin:0 0 6px;font-size:15px}
.fc-box table{width:100%;border-collapse:collapse}.fc-box td{padding:6px 0;border-bottom:1px dashed var(--line)}.fc-box td:last-child{text-align:right;font-weight:600;white-space:nowrap}
.fc-box input{width:80px;font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:7px;text-align:right}
.fc-tilelink{display:grid;gap:4px;text-decoration:none;color:inherit;padding:14px 16px}.fc-tilelink:hover{border-color:var(--prog)}
.fc-tl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:15px}.fc-tl b{font:800 24px var(--display)}
@media (max-width:1000px){.fc-hero,.fc-grid2{grid-template-columns:minmax(0,1fr)}.fc-lv{grid-template-columns:28px minmax(0,1fr)}.fc-lv .amt,.fc-lv .btn{grid-column:2;justify-self:start}}
/* job titles from Apollo (org.html Contacts) */
.tsug{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:12.5px;padding:4px 8px;border-radius:8px;background:var(--soft, rgba(13,148,136,.08))}
.pill.ttl{font-size:11px}
.enr{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0;font-size:12.5px}
/* Send to Finance (org.html Deals) and the Finance queue (#finance) */
.hchk{list-style:none;padding:0;margin:4px 0 2px;display:grid;gap:3px;font-size:13.5px}
.hchk .ok{color:var(--conf);margin-right:4px}.hchk .no{color:var(--decl);margin-right:4px}
.fq-d{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:6px 2px}
.fq-kv{display:grid;grid-template-columns:130px minmax(0,1fr);gap:4px 12px;font-size:13.5px;margin:0}.fq-kv dt{color:var(--ink-2)}.fq-kv dd{margin:0}
@media (max-width:900px){.fq-d{grid-template-columns:minmax(0,1fr)}}

/* sales flow (17 Oct 2026): the company's steps on its page, the Finance column's sub-label on the deals board */
.lsteps{display:inline-flex;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;font:var(--fw-semi) var(--fs-xs) var(--sans)}
.lsteps li{padding:3px 10px 3px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);margin-left:-1px;white-space:nowrap}
.lsteps li:first-child{border-radius:999px 0 0 999px;padding-left:10px;margin-left:0}.lsteps li:last-child{border-radius:0 999px 999px 0}
.lsteps li.done{background:color-mix(in srgb,var(--prog) 10%,var(--surface));color:var(--ink)}
.lsteps li.now{background:color-mix(in srgb,var(--conf) 14%,var(--surface));border-color:color-mix(in srgb,var(--conf) 55%,transparent);color:var(--ink)}
.leadbar .ctag{font-size:var(--fs-xs)}
.dc-sub{font-size:var(--fs-xs);color:var(--ink-2)}
.board{grid-template-columns:repeat(6,minmax(168px,1fr))}
/* What we sell (catalogue.js, 18 Oct 2026): figures edited in place, what a package includes folds open */
.sell .t td{vertical-align:top}
.rc .sell input.inl.sn{width:96px;max-width:100%;text-align:right;font-variant-numeric:tabular-nums}
.rc .sell select.inl{min-width:88px;height:var(--ctl-h);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-small);padding:0 6px}
.sell tr.off td{opacity:.6}
.sell .chip{white-space:nowrap}
.sell-inc summary{cursor:pointer;font-size:var(--fs-small);max-width:340px}
.sell-inc .ef{margin-top:8px;min-width:280px}
.neg{color:var(--decl)}
.oh .likely{margin:2px 0 0}
.sell td.nw{white-space:nowrap}
/* team app clean-up (18 Oct 2026): category chips (Companies, Deals, Contacts), the Companies bar and Views menu, Owner = Me */
.cchiprow:empty{display:none}.cchiprow{margin:0 0 10px}
.cchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.cchip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 11px;background:var(--surface);font:var(--fw-med) var(--fs-small) var(--sans);color:var(--ink);cursor:pointer;white-space:nowrap}
.cchip b{font-weight:var(--fw-bold);font-size:var(--fs-min);color:var(--ink-2)}.cchip small{color:var(--ink-2);font-weight:var(--fw-reg)}
.cchip:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--line))}
.cchip.own{border:1.5px solid var(--teal)}
.cchip[aria-pressed="true"]{background:color-mix(in srgb,var(--teal) 14%,var(--surface));border-color:var(--teal);font-weight:var(--fw-semi)}
.cchip[aria-pressed="true"] b{color:var(--ink)}
.pbar{gap:8px}.pbar .pf{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--ink-2)}
.pbar .pf select{height:var(--ctl-h);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:var(--fs-small);padding:0 8px;max-width:190px}
.pbar input[type=search]{flex:1 1 200px}
.pbar .btn.on{border-color:var(--teal);color:var(--teal)}
.pbar .dd .pvmenu{left:0;right:auto;min-width:280px;max-height:70vh;overflow:auto}
.pvmenu button{justify-content:space-between;width:100%}.pvmenu button[aria-checked="true"]{background:color-mix(in srgb,var(--teal) 10%,var(--surface));font-weight:var(--fw-semi)}
.pvmenu button:disabled{opacity:.5;cursor:default}
.pvmenu .vn{font-size:var(--fs-min);font-weight:var(--fw-bold);color:var(--ink-2);background:var(--tint);border-radius:99px;padding:1px 7px}
.pvmenu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.pvmenu .mh{padding:4px 10px;color:var(--ink-2);font-size:var(--fs-min)}
.pvmenu .svrow{display:flex;align-items:center}.pvmenu .svrow .xs{border:0;background:none;color:var(--ink-2);cursor:pointer;font-size:15px;padding:0 8px}
.pmine{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 10px}.pmine .mut{font-size:var(--fs-small)}
.pmine .pdig{margin-left:auto;display:inline-flex;gap:6px;align-items:center;font-size:var(--fs-small)}.pmine .pdig.hl{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}
.pwarn{margin-top:4px}
@media (max-width:700px){.pbar .pf{flex:1 1 45%}.pbar .pf select{flex:1;max-width:none}.pmine .pdig{margin-left:0}}
