/* Lignaverda dMRV – house style taken from the new lignaverda.org (teal, ink, cream, green; Alexandria + Roboto; pill buttons; soft rounded cards) */
:root{
  --teal:#05738f;--ink:#004257;--cream:#faf5ed;--sand:#f1e9dc;--green:#8cb53d;--brown:#524a40;--white:#fff;
  --amber:#c98a00;--red:#b83a2e;--grey:#5f7a84;--line:rgba(0,66,87,.14);--line2:rgba(0,66,87,.28);
  --display:"Alexandria","Arial Black",sans-serif;--body:"Roboto","Helvetica Neue",Arial,sans-serif;
  --r:20px;--rs:12px;--shadow:0 1px 2px rgba(0,66,87,.06),0 6px 20px rgba(0,66,87,.06);
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--body);font-weight:400;color:var(--ink);background:var(--cream);font-size:14.5px;line-height:1.5;min-height:100vh;display:flex;flex-direction:column}
#app{flex:1;display:flex;flex-direction:column}
a{color:var(--teal);text-underline-offset:3px}
a:hover{color:var(--ink)}
h2,h3{font-family:var(--display);font-weight:900;text-transform:uppercase;color:var(--ink);line-height:1.1;letter-spacing:.005em}
h2{font-size:24px;margin:0 0 12px}
h3{font-size:14px;margin:22px 0 10px;letter-spacing:.03em}
.muted{color:var(--grey);font-size:12.5px}
code{font-size:12px;background:var(--sand);padding:1px 6px;border-radius:6px;word-break:break-all}
pre{white-space:pre-wrap;font-size:11.5px;max-height:300px;overflow:auto;background:var(--cream);padding:10px;border-radius:var(--rs)}
pre.raw{max-height:60vh}
:focus-visible{outline:3px solid var(--green);outline-offset:2px}

/* header */
header{position:sticky;top:0;z-index:500;background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;height:64px;border-bottom:4px solid var(--green)}
header .hl{display:flex;align-items:center;min-width:0;gap:8px}
header a.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
header a.brand img{height:34px;width:auto;display:block}
header a.brand span{font-family:var(--display);font-weight:900;font-size:13px;letter-spacing:.06em;color:var(--ink);background:var(--green);padding:3px 9px;border-radius:999px}
nav{display:flex;gap:2px;margin-left:22px;overflow-x:auto;scrollbar-width:none}
nav::-webkit-scrollbar{display:none}
nav a{color:rgba(250,245,237,.78);text-decoration:none;padding:8px 13px;border-radius:999px;white-space:nowrap;font-size:13.5px;font-weight:400;transition:background .15s,color .15s}
nav a:hover{color:var(--cream);background:rgba(250,245,237,.08)}
nav a.on{color:var(--ink);background:var(--cream);font-weight:500}
header .who{font-size:12.5px;color:rgba(250,245,237,.75);display:flex;gap:8px;align-items:center;white-space:nowrap}
header .who button{background:none;border:1.5px solid rgba(250,245,237,.5);color:var(--cream);border-radius:999px;padding:4px 12px;cursor:pointer;font:inherit;font-size:12px}
header .who button:hover{background:var(--cream);color:var(--ink);border-color:var(--cream)}
main{padding:26px clamp(16px,3vw,40px) 40px;width:100%;max-width:1480px;margin:0 auto;flex:1}
.appfoot{background:var(--ink);color:rgba(250,245,237,.7);font-size:12px;padding:14px 0;border-top:4px solid var(--green)}
.appfoot img{display:block;width:100%;height:auto;max-height:46px;object-fit:cover;object-position:left 55%;opacity:.95}
.appfoot div{max-width:1480px;margin:0 auto;padding:0 clamp(16px,3vw,40px);display:flex;gap:8px 24px;flex-wrap:wrap;justify-content:space-between}

/* page heads */
.phead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.phead h2{margin:0}
.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);font-weight:500;margin:0 0 6px}
.back{display:inline-flex;gap:6px;align-items:center;font-size:13px;text-decoration:none;margin-bottom:10px}

/* cards */
.card{background:var(--white);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)}
.card h3:first-child{margin-top:0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;border:2px solid var(--teal);background:var(--teal);color:var(--cream);font:500 13.5px var(--body);cursor:pointer;text-decoration:none;line-height:1.1;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--green);border-color:var(--green);color:var(--white)}
.btn.sec{background:transparent;color:var(--ink);border-color:var(--line2)}
.btn.sec:hover{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn.ok{background:var(--green);border-color:var(--green);color:var(--white)}
.btn.ok:hover{background:var(--ink);border-color:var(--ink)}
.btn.danger{background:transparent;color:var(--red);border-color:rgba(184,58,46,.4)}
.btn.danger:hover{background:var(--red);color:#fff;border-color:var(--red)}
.btn.sm{padding:6px 13px;font-size:12.5px}
.btn:disabled{opacity:.45;cursor:default;pointer-events:none}
label.btn input[type=file]{display:none}

/* chips */
.chip{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:500;letter-spacing:.01em;white-space:nowrap}
.chip.ok{background:#e8f1d6;color:#4c7413}.chip.warn{background:#fbedc7;color:#8a5f00}.chip.bad{background:#f7dcd8;color:var(--red)}.chip.neutral{background:var(--sand);color:var(--brown)}

/* messages */
.msg{padding:10px 14px;border-radius:var(--rs);margin:10px 0;font-size:13.5px}
.msg.err{background:#f7dcd8;color:var(--red)}
.msg.info{background:#e1eff3;color:var(--ink)}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--cream);padding:11px 20px;border-radius:999px;z-index:2000;font-size:13.5px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.toast.bad{background:var(--red)}
.warnt{color:var(--amber);font-weight:700}

/* forms */
select,input:not([type=checkbox]):not([type=file]):not([type=radio]),textarea{font:400 14px var(--body);color:var(--ink);padding:9px 12px;border:1px solid var(--line2);border-radius:var(--rs);background:var(--white);width:100%;transition:border-color .15s}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(5,115,143,.15)}
input:disabled,select:disabled,textarea:disabled{background:var(--cream);color:var(--grey)}
input[type=checkbox]{accent-color:var(--teal);width:16px;height:16px;vertical-align:-3px}
.phead select{width:auto;min-width:200px;border-radius:999px}
label{font-size:12px;color:var(--grey);display:block;font-weight:500}
label input,label select,label textarea{margin-top:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}
.grid .full,label.full{grid-column:1/-1}
fieldset{border:0;background:var(--cream);border-radius:16px;margin:0 0 12px;padding:14px 16px 16px}
legend{float:left;width:100%;font-family:var(--display);font-weight:900;text-transform:uppercase;color:var(--teal);font-size:11.5px;letter-spacing:.06em;padding:0;margin:0 0 10px}
fieldset .grid{clear:both}
.calc{color:var(--ink);font-size:14px;padding:9px 0;font-weight:500}
.calc .muted{font-weight:400}

/* tables */
table{border-collapse:collapse;width:100%}
th{text-align:left;font-size:11px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);padding:8px 10px;border-bottom:1.5px solid var(--line2);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
td input,td select{padding:6px 9px}
table.click tr[data-id],table.click tr[data-u]{cursor:pointer;transition:background .12s}
table.click tr[data-id]:hover,table.click tr[data-u]:hover{background:var(--cream)}
.tscroll{overflow-x:auto}
.listbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.listbar h3{margin:0}

/* login */
.login{flex:1;display:grid;grid-template-columns:1.25fr 1fr;min-height:100vh}
.login .lpic{position:relative;background:#6b5a3c url(img/senegal-aerial.jpg) center/cover;color:var(--cream);display:flex;flex-direction:column;justify-content:flex-end;padding:48px clamp(24px,4vw,64px)}
.login .lpic::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,40,55,.85) 0%,rgba(0,40,55,.35) 50%,rgba(0,40,55,.1) 100%)}
.login .lpic>*{position:relative}
.login .lpic img{width:170px;position:absolute;top:40px;left:clamp(24px,4vw,64px)}
.login .lpic h1{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,3.4vw,48px);line-height:1.05;margin:0 0 14px;max-width:620px}
.login .lpic p{font-size:17px;font-weight:300;max-width:520px;margin:0}
.login .lform{display:flex;flex-direction:column;justify-content:center;padding:48px clamp(24px,5vw,80px);background:var(--cream)}
.login .lform h2{font-size:28px;margin-bottom:6px}
.login form{display:grid;gap:12px;margin-top:22px;max-width:380px}
.login form .btn{justify-content:center;padding:12px 18px;font-size:15px;margin-top:6px}
.login .lform img.line{width:100%;max-width:420px;margin-top:40px;opacity:.9}

/* layout helpers */
.two{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start}
.menu{padding:14px 10px;position:sticky;top:130px}
.menu .mg{font-family:var(--display);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);margin:14px 12px 6px}
.menu .mg:first-child{margin-top:2px}
.menu a{display:block;padding:7px 12px;border-left:3px solid transparent;color:var(--ink);text-decoration:none;font-size:14px;border-radius:0 10px 10px 0}
.menu a:hover{background:var(--cream)}
.menu a.on{border-left-color:var(--green);background:var(--cream);font-weight:500}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* tabs as pills */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 16px}
.tabs a{padding:7px 15px;text-decoration:none;color:var(--teal);border:1.5px solid rgba(5,115,143,.35);border-radius:999px;font-size:13px;font-weight:500;background:transparent;transition:background .15s,color .15s}
.tabs a:hover{background:rgba(5,115,143,.08)}
.tabs a.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.cnt{font-size:11px;opacity:.75;margin-left:2px}

/* modal */
#modal{position:fixed;inset:0;background:rgba(0,66,87,.6);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:flex-start;justify-content:center;overflow:auto;padding:48px 14px}
.mbox{background:var(--white);border-radius:24px;max-width:580px;width:100%;padding:26px 28px;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.mbox.wide{max-width:1000px}
.mclose{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:0;background:var(--cream);font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
.mclose:hover{background:var(--sand)}
.mhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-right:44px}
.mhead h2{margin:0;font-size:22px}
.savebar{position:sticky;bottom:-26px;background:var(--white);padding:14px 0 6px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.savebar input{flex:1;min-width:240px;border-radius:999px}

/* dashboard */
.band{background:var(--teal) url(img/senegal-aerial.jpg) center 60%/cover;border-radius:24px;color:var(--cream);position:relative;overflow:hidden;margin-bottom:18px}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,66,87,.94) 0%,rgba(5,115,143,.86) 55%,rgba(5,115,143,.55) 100%)}
.band>div{position:relative;padding:28px clamp(20px,3vw,40px);display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.band .bn{font-weight:400;font-size:clamp(30px,3.2vw,46px);line-height:1.05}
.band .bl2{font-size:15px;font-weight:300;opacity:.95}
.band .bs{font-size:12px;opacity:.75;margin-top:4px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;margin-bottom:18px}
.kpi{background:var(--white);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);position:relative}
.kpi::before{content:"";position:absolute;left:18px;top:0;width:28px;height:4px;border-radius:0 0 4px 4px;background:var(--green)}
.kv{font-family:var(--display);font-weight:900;font-size:24px;color:var(--teal);line-height:1.15;margin-top:4px}
.kl{font-size:13.5px;color:var(--ink);margin-top:4px}
.ks{font-size:11.5px;color:var(--grey);margin-top:3px}
.todo{margin-bottom:18px;background:#fff6df;box-shadow:none;border:1.5px solid #f0d99a;display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center}
.todo b{font-family:var(--display);text-transform:uppercase;font-size:12px;letter-spacing:.06em;color:var(--brown)}
.bars .bar{display:grid;grid-template-columns:150px 1fr 70px;gap:10px;align-items:center;margin:8px 0;font-size:13.5px}
.bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bt{background:var(--cream);border-radius:999px;height:12px;display:block;overflow:hidden}
.bf{background:var(--green);height:12px;border-radius:999px;display:block}
.bf.low{background:var(--amber)}
.bv{text-align:right;color:var(--grey);font-variant-numeric:tabular-nums}
.note{font-size:12.5px;color:var(--grey);margin-top:14px}

/* map */
#map{height:calc(100vh - 190px);min-height:440px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.maprow{display:flex;gap:18px}
.maprow #map{flex:1}
.side{width:320px;flex:none;display:flex;flex-direction:column;max-height:calc(100vh - 190px)}
.legend{font-size:12px;color:var(--grey);margin-top:12px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-2px}
.zoombar{margin:12px 0 10px;display:flex;gap:6px;flex-wrap:wrap}
.sitelist{overflow:auto;border-top:1px solid var(--line);flex:1}
.sitelist a{display:flex;justify-content:space-between;gap:8px;padding:9px 6px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;border-radius:8px}
.sitelist a:hover{background:var(--cream);color:var(--teal)}
.leaflet-container{font-family:var(--body)}
.leaflet-popup-content-wrapper{border-radius:14px}
.leaflet-popup-content b{font-family:var(--display);text-transform:uppercase;font-size:13px}

/* site page */
.siterow{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;margin-bottom:18px}
#smap{height:340px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.sfacts{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;align-content:start}
.sfacts div{display:flex;flex-direction:column;gap:2px}
.sfacts .full{grid-column:1/-1}
.sfacts .muted{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);font-weight:500}
.sfacts b{font-size:15px;font-weight:500}
.sfacts .big b{font-family:var(--display);font-weight:900;font-size:24px;color:var(--teal)}

/* evidence */
.thumbs{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 12px}
.thumb{width:130px;cursor:pointer;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink);text-decoration:none}
.thumbs.big .thumb{width:170px}
.thumb img,.ficon{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--sand);transition:transform .3s}
.thumb:hover img,.thumb:hover .ficon{transform:scale(1.03)}
.ficon{display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:900;color:var(--brown)}
.thumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
label.up{display:inline-flex;align-items:center;gap:8px;color:var(--teal);cursor:pointer;font-size:13px}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin:8px 0}
.checks label{color:var(--ink);font-size:13.5px;font-weight:400}
details summary{cursor:pointer;color:var(--teal)}

@media (max-width:1100px){header{height:auto;flex-wrap:wrap;padding:10px 16px}nav{margin-left:0;order:3;width:100%}.band>div{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.two,.cols2,.siterow{grid-template-columns:1fr}.maprow{flex-direction:column}.side{width:auto;max-height:none}.menu{position:static}.login{grid-template-columns:1fr}.login .lpic{min-height:300px;padding-top:28px}.login .lpic img{position:static;width:140px;margin-bottom:auto;padding-bottom:28px}}
@media (max-width:560px){.band>div{grid-template-columns:1fr}header .who{font-size:0}header .who button{font-size:12px}}
/* map v2 */
.side #q{border-radius:999px;margin-bottom:12px}
.mfilters{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-bottom:12px}
.mfilters .full{grid-column:1/-1}
.mfilters select{padding:7px 10px}
.mlayers{display:grid;gap:4px;padding:10px 12px;background:var(--cream);border-radius:14px;margin-bottom:12px}
.mlayers label{color:var(--ink);font-size:13.5px;font-weight:400;display:flex;align-items:center;gap:6px;cursor:pointer}
.mlayers .muted{font-size:12px}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;flex:none;vertical-align:0}
.mtotals{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:4px}
.mtotals div{display:flex;flex-direction:column;background:var(--cream);border-radius:12px;padding:8px 10px}
.mtotals b{font-family:var(--display);font-weight:900;font-size:16px;color:var(--teal)}
.mtotals span{font-size:11.5px;color:var(--grey)}
.legend{margin:10px 0}
.sitelist a span:first-child{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.side{max-height:calc(100vh - 230px)}
#map{height:calc(100vh - 230px)}
.leaflet-control-layers{border-radius:14px!important;border:0!important;box-shadow:0 6px 20px rgba(0,0,0,.25)!important;font-family:var(--body)}
.leaflet-control-layers-expanded{padding:10px 14px!important;color:var(--ink)}
.leaflet-control-layers-base label{margin:3px 0;font-size:13px}
.pcard-pop .leaflet-popup-content-wrapper{padding:0;overflow:hidden;border-radius:18px}
.pcard-pop .leaflet-popup-content{margin:0;width:320px!important}
.pcard .pph{height:140px;background:var(--sand) center/cover}
.pcard .pbody{padding:14px 16px 16px}
.pcard .ptop{display:flex;justify-content:space-between;align-items:center;gap:8px}
.pcard .pname{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:15px;color:var(--ink);line-height:1.15}
.pmeta{font-size:12px;color:var(--grey);margin:3px 0 10px}
.pcard .pgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:12px}
.pcard .pgrid div{display:flex;flex-direction:column}
.pcard .pgrid span{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);font-weight:500}
.pcard .pgrid b{font-size:13.5px;font-weight:500;color:var(--ink)}
.pcard .btn,.ppt .btn{color:var(--cream)}
.ppt{display:grid;gap:6px;min-width:200px}
.ppt b{font-family:var(--display);text-transform:uppercase;font-size:14px}
.ppt .eyebrow{margin:0;font-size:11px}
h2.editable{cursor:pointer;border-radius:8px;transition:background .15s}
h2.editable:hover{background:var(--sand)}
h2 .pen{font-family:var(--body);font-size:16px;color:var(--teal);opacity:.6;font-weight:400}
h2.editable:hover .pen{opacity:1}
.pcard .pgrid b{font-family:var(--body);text-transform:none;font-size:13.5px;font-weight:500}
.pcard .pmeta{text-transform:none}
/* site page v3 */
.smapwrap{display:flex;flex-direction:column;gap:10px;min-width:0}
.smapbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.smapbar .muted{margin-left:auto}
.ehint{font-size:12.5px;color:var(--brown);background:#fff6df;border-radius:999px;padding:5px 12px}
.earea{font-family:var(--display);font-weight:900;color:var(--teal);margin-left:auto}
.sgroups{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 0;position:relative;z-index:1}
.sgroups a{padding:10px 18px;text-decoration:none;color:var(--ink);font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:12.5px;letter-spacing:.04em;border-radius:16px 16px 0 0;background:var(--sand)}
.sgroups a:hover{background:#e9dfcf}
.sgroups a.on{background:var(--white);color:var(--teal)}
.sgroups .cnt{font-family:var(--body);font-weight:500;color:var(--teal)}
.sgcard{border-top-left-radius:0}
.tabs.sub{margin:0 0 14px}
.tabs.sub a{padding:5px 13px;font-size:12.5px}
.kebab{border:0;background:none;font-size:20px;line-height:1;color:var(--teal);cursor:pointer;width:32px;height:28px;border-radius:999px}
.kebab:hover{background:var(--cream)}
.demo{margin-bottom:18px;background:#eaf3f6;box-shadow:none;border:1.5px dashed rgba(5,115,143,.45)}
.demo b{font-family:var(--display);text-transform:uppercase;font-size:12px;letter-spacing:.06em;color:var(--teal);margin-right:6px}
/* Wayback control */
.wbx{background:rgba(255,255,255,.96);border-radius:14px;padding:8px 10px;box-shadow:0 4px 16px rgba(0,0,0,.25);font:12.5px var(--body);color:var(--ink);max-width:360px;display:grid;gap:6px}
.wbline{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.wbl{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);font-weight:500}
.wbrow{display:flex;gap:6px;align-items:center}
.wbrow select{padding:5px 8px;font-size:12.5px;border-radius:999px}
.wbrow .btn{padding:4px 10px;font-size:12px}
.leaflet-pm-toolbar{display:none}
.wbx [hidden]{display:none!important}
/* ---- navigation: daily tabs + Verification and admin menu ---- */
.more{position:relative}
.more>button{background:none;border:1.5px solid rgba(250,245,237,.35);color:rgba(250,245,237,.85);font:inherit;font-size:13.5px;padding:7px 13px;border-radius:999px;cursor:pointer;white-space:nowrap;margin-left:6px}
.more>button:hover,.more>button.on{background:rgba(250,245,237,.12);color:var(--cream)}
.moremenu{display:none;position:absolute;top:calc(100% + 8px);left:6px;min-width:240px;background:var(--cream);border-radius:16px;padding:8px;box-shadow:0 14px 34px rgba(0,0,0,.3);z-index:900;flex-direction:column}
.moremenu.open{display:flex}
.moremenu a{color:var(--ink)!important;background:none!important;padding:9px 12px;border-radius:10px;font-weight:400}
.moremenu a:hover{background:var(--white)!important}
.moremenu a.on{background:var(--white)!important;font-weight:500;color:var(--teal)!important}
nav{overflow:visible}
.burger{display:none;margin-left:auto;background:none;border:1.5px solid rgba(250,245,237,.5);color:var(--cream);border-radius:12px;width:44px;height:40px;font-size:20px;cursor:pointer}
.navwho{display:none}
.hbtns{display:inline-flex;gap:8px;align-items:center;flex-wrap:wrap}
.hbtns select{width:auto;border-radius:999px;padding:7px 12px}
.pbtns{display:flex;gap:8px;flex-wrap:wrap}
.chkl{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px;padding-top:22px}
table.kmiss{margin-bottom:14px;background:#fbe9e7;border-radius:12px}
table.kmiss th{color:var(--red)}
th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}
.bt.bud{display:inline-block;width:90px;vertical-align:middle;height:10px}
.bt.bud .bf{height:10px}
.bf.over{background:var(--red)}
.overt{color:var(--red);font-weight:500}

/* ---- phones and small tablets ---- */
@media (max-width:1100px){
  header{height:auto;min-height:60px;flex-wrap:wrap;padding:10px 16px;gap:10px}
  header .hl{width:100%;flex-wrap:wrap}
  .burger{display:inline-flex;align-items:center;justify-content:center}
  header>.who{display:none}
  nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;gap:2px;margin:6px 0 4px;padding:8px;background:rgba(250,245,237,.06);border-radius:16px}
  nav.open{display:flex}
  nav a{padding:11px 14px;font-size:15px;border-radius:12px}
  .more>button{display:none}
  .moremenu{display:flex;position:static;background:none;box-shadow:none;padding:0;min-width:0;border-top:1px solid rgba(250,245,237,.15);margin-top:6px;padding-top:6px;border-radius:0}
  .moremenu::before{content:"Verification and admin";font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);padding:6px 14px}
  .moremenu a{color:rgba(250,245,237,.85)!important;font-size:15px;padding:11px 14px}
  .moremenu a.on{background:var(--cream)!important;color:var(--ink)!important}
  .navwho{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-top:1px solid rgba(250,245,237,.15);margin-top:6px;padding:10px 14px 4px;color:rgba(250,245,237,.75);font-size:13px}
  .navwho span{flex:1 1 100%}
  .navwho button{background:none;border:1.5px solid rgba(250,245,237,.5);color:var(--cream);border-radius:999px;padding:6px 14px;font:inherit;cursor:pointer}
  .band>div{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  main{padding:18px 14px 30px}
  h2{font-size:21px}
  .phead{align-items:flex-start}
  .phead>span,.hbtns{width:100%}
  .two,.cols2,.siterow{grid-template-columns:1fr}
  .menu{position:static;display:flex;flex-wrap:wrap;gap:4px;padding:10px}
  .menu .mg{width:100%;margin:8px 4px 2px}
  .menu a{border-left:0;border-radius:999px;padding:6px 12px;background:var(--cream);font-size:13px}
  .menu a.on{background:var(--teal);color:#fff}
  .maprow{flex-direction:column}
  #map{height:62vh;min-height:360px}
  .side{width:auto;max-height:none}
  .sitelist{max-height:340px}
  #smap{height:300px}
  .sfacts{grid-template-columns:1fr 1fr}
  .sgroups{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
  .sgroups a{white-space:nowrap;padding:9px 14px;font-size:11.5px}
  .card{padding:16px}
  .kpis{grid-template-columns:repeat(2,1fr);gap:10px}
  .kv{font-size:20px}
  .bars .bar{grid-template-columns:100px 1fr 56px}
  #modal{padding:0}
  .mbox,.mbox.wide{max-width:none;min-height:100vh;border-radius:0;padding:22px 16px 30px}
  .savebar{bottom:-30px}
  .wbx{max-width:230px}
  .wbx .wbrow{flex-wrap:wrap}
  .login .lform{padding:28px 20px}
  .appfoot div{flex-direction:column}
  td,th{padding:8px 7px}
  .tabs a{padding:6px 12px}
}
@media (max-width:560px){
  .band>div{grid-template-columns:1fr 1fr;gap:14px;padding:20px}
  .band .bn{font-size:26px}
  .kpis{grid-template-columns:1fr 1fr}
  .mfilters{grid-template-columns:1fr}
  .grid{grid-template-columns:1fr}
  .sfacts .big b{font-size:19px}
  .leaflet-control-layers-expanded{max-width:70vw}
}
/* ---- smart tables: search, sort, filters ---- */
.stbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.stbar .stq{width:auto;flex:1 1 220px;max-width:320px;border-radius:999px;padding:8px 14px}
.stbar .stf{width:auto;max-width:220px;border-radius:999px;padding:7px 12px;font-size:13px}
.stright{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:var(--ink)}
th.sortable::after{content:" ↕";opacity:.35}
th.sortable.asc::after{content:" ↑";opacity:1}
th.sortable.desc::after{content:" ↓";opacity:1}
/* ---- timeline ---- */
.tlf{display:flex;gap:12px;flex-wrap:wrap}
.tlf label{color:var(--ink);font-weight:400;font-size:13px;display:flex;align-items:center;gap:4px;cursor:pointer}
.timeline{position:relative;padding-left:22px;border-left:2px solid var(--line);margin-left:8px}
.tly{font-family:var(--display);font-weight:900;color:var(--teal);font-size:18px;margin:18px 0 8px -22px;padding-left:4px;background:var(--white)}
.tly:first-child{margin-top:0}
.tle{position:relative;display:flex;gap:12px;align-items:flex-start;padding:8px 10px;border-radius:12px;margin-bottom:4px}
.tle.click{cursor:pointer}.tle.click:hover{background:var(--cream)}
.tld{position:absolute;left:-29px;top:14px;width:12px;height:12px;border-radius:50%;border:2px solid var(--white)}
.tlt{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}
.tlt b{font-weight:500}
.tle img{width:84px;height:60px;object-fit:cover;border-radius:10px;flex:none;background:var(--sand)}
/* ---- photo points ---- */
.pp{margin-bottom:14px;box-shadow:none;border:1px solid var(--line)}
.ppn{font-family:var(--display);text-transform:uppercase;font-size:14px}
.ppstrip{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px}
.ppstrip figure{margin:0;flex:0 0 240px;cursor:pointer}
.ppstrip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:var(--sand);display:block}
.ppstrip figcaption{font-size:12.5px;margin-top:5px;color:var(--grey)}
.ppstrip figcaption b{color:var(--ink);font-weight:500}
/* ---- planning ---- */
.seg{display:inline-flex;background:var(--white);border-radius:999px;padding:3px;box-shadow:var(--shadow)}
.seg a{padding:6px 14px;border-radius:999px;text-decoration:none;color:var(--teal);font-size:13px;font-weight:500}
.seg a.on{background:var(--teal);color:#fff}
.calm{font-family:var(--display);text-transform:uppercase;margin:0 8px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cw{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--teal);font-weight:500;padding:4px 6px}
.cd{min-height:96px;background:var(--cream);border-radius:10px;padding:5px 6px;display:flex;flex-direction:column;gap:3px;min-width:0}
.cd.empty{background:transparent}
.cd.today{outline:2px solid var(--green)}
.cdn{font-size:12px;color:var(--grey)}
.ct{display:block;font-size:12px;background:var(--white);border-left:3px solid var(--teal);border-radius:6px;padding:3px 6px;color:var(--ink);text-decoration:none;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct.late{border-left-color:var(--red);color:var(--red)}
.ct.done{border-left-color:var(--grey);color:var(--grey);text-decoration:line-through}
/* ---- companies ---- */
.cmap{height:300px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
@media (max-width:900px){
  .stbar .stq{max-width:none;flex-basis:100%}
  .stright{margin-left:0}
  .cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}
  .cd{min-height:64px;padding:3px}
  .ct{font-size:10px;padding:2px 3px}
  .cw{font-size:9px;padding:2px}
  .ppstrip figure{flex-basis:200px}
}
/* ---- mobile fixes: nothing may push the page wider than the screen ---- */
html,body{max-width:100%}
body{overflow-x:clip}
main,section,.two>*,.cols2>*,.siterow>*,.maprow>*,.card,.kpi,.phead>div{min-width:0}
.tscroll{max-width:100%;-webkit-overflow-scrolling:touch}
.mobsel{display:none}
@media (max-width:900px){
  .two{display:block}
  .menu{display:none}
  .mobsel{display:block;margin-bottom:14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
  .mobsel select{font-size:15px;border-radius:999px;padding:10px 14px;margin-top:6px;text-transform:none;letter-spacing:0}
  .stbar .stf{flex:1 1 calc(50% - 8px);max-width:none}
  .tscroll table{min-width:560px}
  .tscroll td,.tscroll th{white-space:nowrap}
  .tscroll td b{white-space:normal}
  .hbtns{gap:6px}
  .hbtns select{flex:1 1 100%;min-width:0}
  .phead select{min-width:0}
}
/* ---- mobile menu as an overlay; no zoom buttons on touch screens ---- */
@media (max-width:1100px){
  header{position:sticky;top:0}
  nav{position:fixed;left:10px;right:10px;top:72px;max-height:calc(100dvh - 86px);overflow-y:auto;z-index:950;margin:0;background:var(--ink);box-shadow:0 18px 40px rgba(0,0,0,.4);border:1px solid rgba(250,245,237,.12)}
  nav a,.moremenu a{padding:9px 14px;font-size:15px}
  body.navopen{overflow:hidden}
  body.navopen::after{content:"";position:fixed;inset:0;background:rgba(0,30,40,.45);z-index:940}
}
@media (pointer:coarse){.leaflet-control-zoom{display:none}}
/* ---- Wayback timeline ---- */
.wbx.wide{width:min(560px,calc(100vw - 40px));max-width:none}
.wbtl{display:flex;align-items:center;gap:6px}
.wbtl[hidden],.wbleg[hidden]{display:none!important}
.wbnav{flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line2);background:#fff;color:var(--ink);font-size:16px;line-height:1;cursor:pointer}
.wbnav:hover{border-color:var(--teal);color:var(--teal)}
.wbtrack{position:relative;flex:1;height:46px;cursor:pointer;touch-action:none;outline:none}
.wbtrack:focus-visible{outline:2px solid var(--green);border-radius:8px}
.wbline2{position:absolute;left:0;right:0;top:16px;height:4px;border-radius:2px;background:var(--sand)}
.wbtick{position:absolute;top:6px;width:4px;height:24px;margin-left:-2px;border:0;border-radius:2px;padding:0;cursor:pointer;background:var(--grey)}
.wbtick.rainy{background:#3e9b4a}.wbtick.dry{background:#d9a23a}.wbtick.unk{background:#b9c3c6}
.wbtick.on{outline:2px solid var(--ink);outline-offset:1px}
.wbtick:hover{transform:scaleY(1.15)}
.wbknob{position:absolute;top:2px;width:14px;height:32px;margin-left:-7px;border-radius:7px;background:rgba(0,66,87,.15);border:2px solid var(--ink);pointer-events:none;transition:left .15s}
.wbknob[hidden]{display:none}
.wbyears{position:absolute;left:0;right:0;top:32px;height:14px;font-size:10px;color:var(--grey)}
.wbyears span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.wbleg{display:flex;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--ink);align-items:center}
.wbleg i{display:inline-block;width:4px;height:12px;border-radius:2px;margin-right:4px;vertical-align:-2px}
.wbleg i.rainy{background:#3e9b4a}.wbleg i.dry{background:#d9a23a}
.wbleg [data-st]{margin-left:auto}
@media (max-width:900px){.wbx.wide{width:calc(100vw - 48px)}}
/* map page on phones: layer switches right under the map, search and filters after */
@media (max-width:900px){
  .side{display:flex;flex-direction:column}
  .side .mlayers{order:1;display:flex;flex-wrap:wrap;gap:6px 14px}
  .side .mtotals{order:2}
  .side .legend{order:3}
  .side #q{order:4;margin-top:8px}
  .side .mfilters{order:5}
  .side .sitelist{order:6}
}
/* ---- planning timeline (Gantt) ---- */
.gtools{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.gtools label{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:13px}
.gtools select{width:auto;padding:6px 10px;border-radius:999px}
.gwrap{display:flex;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.gleft{flex:none;width:250px;border-right:1px solid var(--line);background:#fff;z-index:2}
.gright{flex:1;overflow-x:auto;position:relative}
.ghdr{height:44px;border-bottom:1px solid var(--line2);position:relative;background:var(--cream)}
.gys,.gms{position:relative;height:22px}
.gy{position:absolute;top:3px;font-family:var(--display);font-weight:900;font-size:11.5px;color:var(--teal);padding-left:4px}
.gm{position:absolute;top:0;height:22px;font-size:10.5px;color:var(--grey);border-left:1px solid var(--line);padding:3px 0 0 4px;overflow:hidden;white-space:nowrap}
.grows{position:relative}
.grow{position:absolute;left:0;right:0;height:34px;display:flex;flex-direction:column;justify-content:center;padding:0 12px;border-bottom:1px solid #f1ede5;cursor:pointer;overflow:hidden}
.grow:hover{background:var(--cream)}
.grow.ghead{flex-direction:row;justify-content:space-between;align-items:center;background:var(--sand);cursor:default;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:11.5px;color:var(--ink);letter-spacing:.03em}
.gtt{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gsub{font-size:11px;color:var(--grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcanvas{position:relative;background:repeating-linear-gradient(#fff 0 33px,#f1ede5 33px 34px)}
.gband{position:absolute;top:0;bottom:0;background:rgba(62,155,74,.07);border-left:1px dashed rgba(62,155,74,.3);border-right:1px dashed rgba(62,155,74,.3)}
.gtoday{position:absolute;top:0;bottom:0;width:0;border-left:2px solid var(--red);z-index:3;pointer-events:none}
.gtoday span{position:absolute;top:2px;left:4px;font-size:10px;color:var(--red);font-weight:500;background:#fff;padding:0 3px;border-radius:4px}
.garrows{position:absolute;left:0;top:0;pointer-events:none;z-index:1}
.garrows path{fill:none;stroke:#9aa9ae;stroke-width:1.4}
.garrows path.ah{stroke-width:1.6}
.gbar{position:absolute;height:20px;border-radius:7px;background:color-mix(in srgb,var(--c) 30%,#fff);border:1.5px solid var(--c);z-index:2;cursor:grab;overflow:visible;touch-action:none;display:flex;align-items:center}
.gbar.drag{cursor:grabbing;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:4}
.gbar.drag::after{content:attr(data-tip);position:absolute;bottom:24px;left:0;white-space:nowrap;background:var(--ink);color:#fff;font-size:11px;padding:2px 7px;border-radius:6px}
.gbar.done{opacity:.55}
.gbar.late{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.gprog{position:absolute;left:0;top:0;bottom:0;background:var(--c);border-radius:5px 0 0 5px;opacity:.85}
.glab{position:relative;font-size:11px;padding:0 6px;white-space:nowrap;color:var(--ink);overflow:hidden;text-overflow:ellipsis;max-width:100%}
.gh{position:absolute;top:-2px;bottom:-2px;width:9px;cursor:ew-resize}
.gh.l{left:-4px}.gh.r{right:-4px}
.gun{display:flex;flex-wrap:wrap;gap:6px}
.gun a{background:var(--cream);border-radius:999px;padding:6px 12px;text-decoration:none;color:var(--ink);font-size:13px}
@media (max-width:900px){.gleft{width:130px}.grow{padding:0 8px}.gsub{display:none}.gtools .muted{margin-left:0!important;flex-basis:100%}}
/* menu overlay must sit under the open menu, not over it */
@media (max-width:1100px){
  body.navopen header{z-index:960}
  body.navopen::after{z-index:955;pointer-events:auto}
}
.gprog{top:auto;height:4px;bottom:0;border-radius:0 0 0 5px;opacity:1}
/* ---- image date + timeline as a bar under the map ---- */
.mapcol{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}
.maprow>.mapcol{flex:1}
.mapcol #map{height:calc(100vh - 300px);min-height:420px}
.wbx,.wbx.wide{position:static;width:auto;max-width:none;box-shadow:var(--shadow);border-radius:16px;padding:8px 12px;gap:4px}
.wbline{align-items:center}
.wbline .wbrow{margin-left:auto}
.wbtrack{height:40px}
.wbleg{font-size:11px}
.wbleg i.unk{background:#b9c3c6}
.smapwrap .mapcol{gap:8px}
@media (max-width:900px){
  .mapcol #map{height:56vh;min-height:320px}
  .wbx,.wbx.wide{width:auto;padding:8px 10px}
  .wbline{font-size:12px}
  .wbline .wbrow{margin-left:0;width:100%}
  .wbline .wbrow .btn{flex:1;justify-content:center}
}
.pcard .btn.sec{color:var(--ink)}
.stpick{background:var(--cream);border-radius:14px;padding:12px 14px;margin:-4px 0 12px}
.stpickh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.stpickl{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 12px}
.stpickl label{color:var(--ink);font-size:13px;font-weight:400;display:flex;gap:6px;align-items:center;cursor:pointer}
/* ---- phones: give the map the room ---- */
@media (max-width:900px){
  header{min-height:52px;padding:6px 12px}
  header a.brand img{height:26px}
  header a.brand span{font-size:11px;padding:2px 7px}
  .burger{width:40px;height:36px;font-size:18px}
  nav{top:60px}
  main{padding:12px 10px 24px}
  .eyebrow{display:none}
  .phead{margin-bottom:10px;gap:8px}
  h2{font-size:19px}
  .back{margin-bottom:4px}
  /* map page */
  .maprow{gap:10px}
  .mapcol{gap:6px}
  .mapcol #map{height:calc(100dvh - 190px);min-height:300px;border-radius:16px}
  #smap{height:62vh;border-radius:16px}
  .leaflet-control-attribution{font-size:8px!important;line-height:1.2;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .leaflet-control-scale{display:none}
  /* image bar: one compact block */
  .wbx,.wbx.wide{padding:6px 8px;border-radius:12px;gap:2px}
  .wbline{gap:6px;font-size:11.5px;flex-wrap:nowrap}
  .wbline .wbl{display:none}
  .wbline #wbcur{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .wbline .wbrow{width:auto;margin-left:auto;flex:none}
  .wbline .wbrow .btn{padding:4px 9px;font-size:11.5px;flex:none}
  .wbtl{gap:4px}
  .wbnav{width:26px;height:26px;font-size:14px}
  .wbtrack{height:32px}
  .wbline2{top:12px}
  .wbtick{top:4px;height:18px;width:5px}
  .wbknob{top:0;height:26px}
  .wbyears{top:24px;font-size:9px}
  .wbleg{display:none!important}
}
@media (max-width:900px){
  .phead.compact{flex-wrap:nowrap;align-items:center}
  .phead.compact>span{width:auto}
  .phead.compact .btn{padding:6px 12px;font-size:12.5px}
}
/* ---- cash flow statement ---- */
.fcard{padding:16px 18px}
.ftab{font-size:12.5px;border-collapse:separate;border-spacing:0}
.ftab th,.ftab td{padding:5px 8px;white-space:nowrap;border-bottom:1px solid var(--line)}
.ftab thead th{background:var(--cream);text-align:right;font-size:10.5px}
.ftab thead th.fq{text-align:center;color:var(--ink);font-size:11px;border-left:2px solid #fff}
.ftab thead th.fy{background:#e8f1d6}
.ftab th.fa,.ftab td.fa{text-align:right;font-variant-numeric:tabular-nums}
.ftab th.fb,.ftab td.fb{text-align:right;font-variant-numeric:tabular-nums;background:#f5f9ec}
.ftab td.fb.ed{cursor:pointer}.ftab td.fb.ed:hover{outline:1.5px solid var(--green);outline-offset:-2px}
.ftab .fl{text-align:left;position:sticky;left:0;background:#fff;z-index:1;min-width:230px;max-width:280px;white-space:normal}
.ftab thead .fl{background:var(--cream)}
.ftab tr.fg td{font-weight:500;background:#fbf8f2;cursor:pointer;border-top:1px solid var(--line2)}
.ftab tr.fg td.fl{background:#fbf8f2;font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
.ftab tr.fg td.fb{background:#eef5df}
.ftab .tw{color:var(--teal);display:inline-block;width:12px}
.ftab tr.fln td{color:#33525c}
.ftab tr.fln td.fl{padding-left:28px}
.ftab .code{font-size:10.5px;color:var(--grey);background:var(--cream);padding:0 5px;border-radius:6px}
.ftab .sh{font-size:10px;color:var(--brown);border:1px solid var(--sand);padding:0 5px;border-radius:6px}
.ftab .z{color:#c5cdd0}
.ftab .fu{min-width:110px}
.fbar{display:inline-block;width:64px;height:8px;background:var(--cream);border-radius:4px;vertical-align:middle;overflow:hidden;margin-right:6px}
.fbar span{display:block;height:8px;background:var(--green);border-radius:4px}
.fbar span.ahead{background:var(--amber)}.fbar span.over{background:var(--red)}
.fpct{font-variant-numeric:tabular-nums;font-size:11.5px}
.qs{display:inline-block;font-size:9.5px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--grey);margin-top:2px}
.qs.closed{color:#4c7413}.qs.run{color:#a86f00}
.ftab tfoot td{background:var(--ink);color:var(--cream);font-weight:500;border-bottom:1px solid rgba(250,245,237,.15)}
.ftab tfoot td.fl{background:var(--ink);font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:11px}
.ftab tfoot td.fc{text-align:center;font-variant-numeric:tabular-nums}
.ftab tfoot tr.fdel td{background:#0b5468;font-weight:400}
.ftab tfoot td.neg{color:#ffb4a8}
.ftab tfoot .z{color:rgba(250,245,237,.5)}
@media (max-width:900px){.ftab .fl{min-width:150px;max-width:170px}.fcard{padding:12px}}

/* ---- finance: forecast, liquidity, cash request, scenarios ---- */
.fbarline{gap:8px}
.seg.sm a{padding:5px 11px;font-size:12px}
.ftab th.ff,.ftab td.ff{text-align:right;font-variant-numeric:tabular-nums;background:#eef4f7;color:#0b4f63}
.ftab td.fr{text-align:right;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,#fff 0,#eef4f7 100%)}
.ftab tr.fg td.ff{background:#e3eef3}
.ftab td.ed{cursor:pointer}.ftab td.ed:hover{outline:1.5px solid var(--green);outline-offset:-2px}
.ftab td.sp{font-style:italic;color:#6d8790}
.ftab td.ovr::after{content:"•";color:var(--teal);margin-left:3px}
.undert{color:#4c7413}
.msg.warn{background:#fff4dc;border-left:4px solid var(--amber);padding:10px 14px;border-radius:var(--rs);margin:10px 0;font-size:13.5px}
.chartwrap{position:relative;width:100%}
.lchart{width:100%;height:auto;display:block;touch-action:pan-y}
.lchart .ax{font-size:11px;fill:#5f7a84;font-family:var(--body)}
.lchart .dl{font-size:11.5px;fill:#004257;font-family:var(--body);font-weight:500}
.ctip{position:absolute;top:8px;background:#fff;border:1px solid var(--line2);border-radius:10px;padding:8px 10px;font-size:12px;box-shadow:var(--shadow);pointer-events:none;min-width:200px;z-index:5}
.ctip div{margin-top:3px;white-space:nowrap}
.sw{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:baseline}
.legend{display:flex;flex-wrap:wrap;gap:6px}
.lgd{border:1.5px solid var(--line2);background:#fff;border-radius:999px;padding:4px 11px;font-size:12px;color:var(--ink);cursor:pointer;font-family:var(--body)}
.lgd.off{opacity:.45;text-decoration:line-through}
.small{font-size:12.5px}
.nowrap{white-space:nowrap}
.pill{display:inline-block;font-size:11px;padding:1px 8px;border-radius:999px;background:var(--cream);color:var(--brown);border:1px solid var(--sand)}
.pill.st-requested{background:#fff4dc;color:#7a5200;border-color:#f0d9a0}
.pill.st-received{background:#eef5df;color:#3d6010;border-color:#cfe2a8}
.pill.st-planned{background:#eef4f7;color:#0b4f63;border-color:#cfe0e8}
.pill.st-cancelled{opacity:.6;text-decoration:line-through}
.reqgrid{align-items:start}
.reqgrid label{display:block;margin-bottom:10px}
.reqsum{width:100%;border-collapse:collapse;margin:8px 0 14px}
.reqsum td{padding:5px 4px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.reqsum tr.tot td{font-weight:700;border-top:2px solid var(--ink);border-bottom:none;font-size:14.5px}
#reqdoc .big{font-size:20px;margin:0 0 8px;font-family:var(--display);color:var(--teal)}
.scgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:12px}
.gp label{font-size:12.5px}
@media (max-width:760px){.cols2.reqgrid{grid-template-columns:1fr}.scgrid{grid-template-columns:1fr}.lchart .dl{font-size:13px}}
@media print{
  body *{visibility:hidden}
  #reqdoc,#reqdoc *{visibility:visible}
  #reqdoc{position:absolute;left:0;top:0;width:100%;box-shadow:none;border:none}
  .noprint{display:none!important}
}
label.chk{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:13.5px;font-weight:400}

/* Sales module */
.scard{margin-bottom:14px}
.scard .sh{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start}
.scard .shc{display:flex;gap:6px;flex-wrap:wrap}
.scard .stask{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}
.scard .sgrow{flex:1}
.scard .sact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.scard .snote{background:var(--cream);padding:8px 12px;border-radius:var(--rs);margin:6px 0}
.scard label{display:block;margin-top:8px}
label.inl{display:inline-flex;align-items:center;gap:6px;margin:0}
.sfilters{display:flex;gap:8px;flex-wrap:wrap}
.sfilters select{width:auto}

/* ---- new top bar: module switcher, module sub-menu, profile bubble. Always visible while scrolling ---- */
header.top{display:block;height:auto;min-height:0;padding:0;gap:0;position:sticky;top:0;z-index:900;border-bottom:4px solid var(--green)}
.leaflet-container{isolation:isolate}
.hrow{display:flex;align-items:center;gap:18px;padding:0 22px;height:60px}
.mods{display:flex;gap:6px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.mods::-webkit-scrollbar,.hsn::-webkit-scrollbar{display:none}
.mods a{color:rgba(250,245,237,.85);text-decoration:none;padding:8px 18px;border-radius:999px;border:1.5px solid rgba(250,245,237,.28);font-size:14px;font-weight:500;white-space:nowrap;transition:background .15s,color .15s}
.mods a:hover{background:rgba(250,245,237,.1);color:var(--cream)}
.mods a.on{background:var(--green);border-color:var(--green);color:var(--ink)}
.hsub{display:flex;align-items:center;gap:16px;padding:0 22px;height:44px;background:rgba(250,245,237,.08);border-top:1px solid rgba(250,245,237,.1)}
.hsl{font-family:var(--display);font-weight:900;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);flex:none}
.hsn{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;min-width:0}
.hsn a{color:rgba(250,245,237,.78);text-decoration:none;padding:7px 13px;border-radius:999px;white-space:nowrap;font-size:13.5px;transition:background .15s,color .15s}
.hsn a:hover{color:var(--cream);background:rgba(250,245,237,.08)}
.hsn a.on{color:var(--ink);background:var(--cream);font-weight:500}
.pwrap{position:relative;flex:none}
.pbub{width:40px;height:40px;border-radius:50%;border:2px solid rgba(250,245,237,.55);background:var(--teal);color:var(--cream);font:700 14px var(--body);letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pbub:hover,.pbub[aria-expanded=true]{border-color:var(--green);background:var(--green);color:var(--ink)}
.pmenu{display:none;position:absolute;right:0;top:calc(100% + 10px);min-width:250px;background:var(--cream);color:var(--ink);border-radius:16px;padding:8px;box-shadow:0 14px 34px rgba(0,0,0,.3);flex-direction:column;gap:2px;z-index:950}
.pmenu.open{display:flex}
.pwho{display:flex;flex-direction:column;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:4px}
.pwho span{font-size:12.5px;color:var(--grey);overflow-wrap:anywhere}
.pmenu button{background:none;border:0;text-align:left;font:inherit;font-size:14px;color:var(--ink);padding:9px 12px;border-radius:10px;cursor:pointer}
.pmenu button:hover{background:var(--white)}
@media (max-width:700px){
  .hrow{gap:10px;padding:0 12px;height:54px}
  header a.brand span{display:none}
  .mods a{padding:7px 12px;font-size:13px}
  .hsub{padding:0 12px;gap:10px;height:42px}
  .hsl{display:none}
  .pbub{width:36px;height:36px;font-size:13px}
  .menu{top:112px}
}

.hmore{background:none;border:0;color:rgba(250,245,237,.78);font:inherit;font-size:13.5px;padding:7px 13px;border-radius:999px;cursor:pointer;white-space:nowrap}
.hmore:hover,.hmore[aria-expanded=true]{color:var(--cream);background:rgba(250,245,237,.08)}
.hmore.on{color:var(--ink);background:var(--cream);font-weight:500}
.hmenu{display:none;position:fixed;min-width:230px;background:var(--cream);border-radius:16px;padding:8px;box-shadow:0 14px 34px rgba(0,0,0,.3);z-index:950;flex-direction:column}
.hmenu.open{display:flex}
.hmenu a{color:var(--ink);text-decoration:none;padding:9px 12px;border-radius:10px;font-size:14px}
.hmenu a:hover{background:var(--white)}
.hmenu a.on{background:var(--white);color:var(--teal);font-weight:500}

/* Finance: Agicap cash flow tree */
.cft-table tr.cfx{cursor:pointer}
.cft-table tr.cfx:hover td{background:var(--cream)}
.cft-table .cft{display:inline-block;width:14px;color:var(--teal)}
.cft-table tr.tot td{font-weight:700;background:var(--sand)}
.cft-table tr.d1 td.fl{font-weight:500}
.cft-table td.yt,.cft-table th:last-child{font-weight:700;border-left:2px solid var(--line2)}
.cft-table td.num{white-space:nowrap}

/* =====================================================================
   Readability pass (03/11/2026). One rule set for every screen:
   one title per page, one main action, filters in one toolbar, quiet secondary actions.
   Brand colours unchanged; Alexandria kept for the logo badge only, Roboto for the interface.
   ===================================================================== */
:root{--text2:#4d6670;--rb:8px}
/* type: sentence case, no heavy capitals */
h2,h3,h4{font-family:var(--body);text-transform:none;letter-spacing:0;color:var(--ink)}
h2{font-size:24px;font-weight:600;line-height:1.25}
h3{font-size:16px;font-weight:600;margin:24px 0 10px;line-height:1.3}
.card h3:first-child{margin-top:0}
.eyebrow{text-transform:none;letter-spacing:0;color:var(--text2);font-size:13.5px;font-weight:400;margin:0 0 4px}
.muted{color:var(--text2)}
th{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500;color:var(--text2)}
/* page head: title + context on the left, one main action on the right */
.phead{align-items:flex-end;margin-bottom:18px}
.ctx{color:var(--text2);font-size:13.5px;margin:4px 0 0;max-width:80ch}
.ctx a{color:var(--teal)}
/* toolbar: all filters and view options of a page in one band */
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:10px 12px;background:var(--white);border-radius:var(--rs);box-shadow:var(--shadow)}
.toolbar .fill{flex:1}
.toolbar select,.toolbar input:not([type=checkbox]){width:auto;padding:7px 10px;font-size:13.5px}
.toolbar input[type=search],.toolbar input.search{min-width:220px}
/* buttons: rectangular, three levels */
.btn{border-radius:var(--rb);padding:8px 16px;font-weight:500}
.btn.sm{padding:6px 12px}
.btn.sec{background:var(--white);border:1px solid var(--line2);color:var(--ink)}
.btn.sec:hover{border-color:var(--teal);color:var(--teal);background:var(--white)}
.btn.danger{border-width:1px}
.lnk{background:none;border:0;padding:4px 6px;font:inherit;font-size:13.5px;color:var(--teal);cursor:pointer;text-decoration:none;border-radius:6px}
.lnk:hover{text-decoration:underline}
.lnk.quiet{color:var(--text2)}
.lnk.bad{color:var(--red)}
label.btn{border-radius:var(--rb)}
/* in-page tabs: underline, not pills (pills are kept for switches like entity or currency) */
.tabs{gap:0;border-bottom:1px solid var(--line);margin:0 0 18px}
.tabs a{border:0;border-radius:0;padding:9px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--text2);background:none}
.tabs a:hover{background:none;color:var(--ink)}
.tabs a.on{background:none;color:var(--ink);border-bottom-color:var(--teal);font-weight:500}
.seg{box-shadow:none;border:1px solid var(--line2);padding:2px}
.seg a{padding:5px 12px;font-size:13px}
/* top bar: quieter module switcher, underline sub-menu, no repeated module label */
.mods a{border-color:transparent;font-weight:500;padding:7px 16px}
.mods a:hover{border-color:transparent}
.mods a.on{background:var(--cream);border-color:var(--cream);color:var(--ink)}
.hsl{display:none}
.hsub{height:42px;gap:0;background:rgba(250,245,237,.06)}
.hsn{height:100%;align-items:stretch;gap:4px}
.hsn a,.hmore{border-radius:0;padding:0 12px;display:flex;align-items:center;border-bottom:3px solid transparent;color:rgba(250,245,237,.75);background:none}
.hsn a:hover,.hmore:hover,.hmore[aria-expanded=true]{background:none;color:var(--cream)}
.hsn a.on,.hmore.on{background:none;color:var(--cream);border-bottom-color:var(--green);font-weight:500}
header a.brand span{font-size:11px;padding:2px 8px}
/* cards a bit flatter so the content leads */
.card{border-radius:14px}
/* Sales: task rail + one list */
.s-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.s-rail{display:flex;flex-direction:column;gap:2px;position:sticky;top:124px}
.s-rail a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--rb);color:var(--ink);text-decoration:none;font-size:14px}
.s-rail a b{font-weight:500;color:var(--text2);font-variant-numeric:tabular-nums}
.s-rail a:hover{background:var(--sand)}
.s-rail a.on{background:var(--white);box-shadow:var(--shadow);font-weight:500}
.s-rail a.on b{color:var(--teal)}
.s-rail a.none{color:var(--text2)}
.s-railsel{display:none}
.s-list{padding:0}
.s-empty{padding:22px;margin:0;color:var(--text2)}
.si{padding:18px 22px;border-top:1px solid var(--line)}
.si:first-child{border-top:0}
.si-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.si-name{font-weight:600;font-size:15px;color:var(--ink)}
.si-name .muted{font-weight:400;font-size:14px}
.si-tag{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.si-b{margin:12px 0 0;max-width:820px}
.si-f{display:block;margin:0 0 10px;font-size:13px;color:var(--text2)}
.si-f input,.si-f select,.si-f textarea{margin-top:4px}
.si-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:0 12px;align-items:start}
.si-grid .si-f.wide{grid-row:span 1}
.si-note{margin:0 0 6px;color:var(--ink);font-size:14px}
.si-chk{font-size:13.5px;color:var(--ink)}
.si-a{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.si-a .fill{flex:1}
@media (max-width:860px){
  .s-layout{grid-template-columns:1fr;gap:12px}
  .s-rail{display:none}
  .s-railsel{display:block;width:100%}
  .si{padding:16px}
  .si-grid{grid-template-columns:1fr}
  .si-tag{align-items:flex-start;flex-direction:row}
}
/* Admin */
.utab .u-name{font-weight:600;color:var(--ink)}
.warnt{color:var(--amber);font-weight:500}
table.acct{width:auto;border-collapse:collapse}
table.acct td{padding:6px 16px 6px 0;border:0;vertical-align:middle}
table.acct td:first-child{min-width:150px;font-weight:500}
.seg.lvl a.dis{opacity:.45;pointer-events:none}
.mbox h3{margin-top:22px}
.grid label .muted{display:block;margin-top:4px}
/* Finance */
label.upl input[type=file],label.btn input[type=file]{display:none}
.card.empty{padding:28px}
.card.empty p:first-child{margin-top:0;font-size:15px;color:var(--ink)}
.ctx.src{margin-top:12px}
.toolbar .seg{background:var(--cream)}
.toolbar input.search{width:300px;max-width:100%;flex:0 1 300px}
.toolbar select{flex:none}
.ctx label.upl{display:inline;margin:0;padding:0 2px}
@media (max-width:860px){.toolbar input.search{flex:1 1 100%;width:100%}}
/* Operations */
.card.todo{background:#fff8e6;border:1px solid #f0dca8;box-shadow:none}
.card.todo h3{margin:0 0 6px;font-size:15px}
.card.todo ul{margin:0;padding-left:18px;display:grid;gap:3px}
.card.todo a{color:var(--ink)}
.kpi .kv{font-family:var(--body);font-weight:600}
.kpi::before,.kpi::after{display:none}
.menu .mg{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500;color:var(--text2)}
.phead .hbtns .lnk{margin-right:4px}
.card.todo{display:block}
/* Map: the map keeps its own height; the side list no longer stretches it (it shrank when "Sites" was unticked) */
.maprow{align-items:flex-start}
.maprow .mapcol #map{flex:none}
.maprow>.side{max-height:calc(100vh - 160px);overflow:hidden}
.maprow>.side .sitelist{min-height:0}
@media (max-width:900px){.maprow{align-items:stretch}.maprow>.side{max-height:none}}

/* Review comments */
.cwrap{position:relative;flex:none}
.cbtn{position:relative;width:40px;height:40px;border-radius:50%;border:2px solid rgba(250,245,237,.35);background:transparent;color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center}
.cbtn:hover,.cbtn[aria-expanded=true]{border-color:var(--green);color:var(--green)}
.cbadge{position:absolute;top:-4px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--amber);color:#fff;font:600 11px/18px var(--body);text-align:center}
.cmenu{min-width:270px}
.cmenu button,.cmenu a{display:block;width:100%;text-align:left;background:none;border:0;font:inherit;font-size:14px;color:var(--ink);padding:9px 12px;border-radius:10px;cursor:pointer;text-decoration:none}
.cmenu button:hover,.cmenu a:hover{background:var(--white)}
body.cmode #main,body.cmode #main *{cursor:crosshair!important}
body.cmode #main{outline:2px dashed var(--amber);outline-offset:6px}
#cbar{position:fixed;left:50%;top:116px;transform:translateX(-50%);z-index:960;background:var(--ink);color:var(--cream);padding:10px 16px;border-radius:999px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
#cbar .lnk{color:var(--green)}
#cpins{position:absolute;top:0;left:0;width:0;height:0;z-index:800}
.cpin{position:absolute;transform:translate(-50%,-100%);width:28px;height:28px;border-radius:50% 50% 50% 4px;border:2px solid #fff;background:var(--amber);color:#fff;font:700 12px var(--body);cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3);padding:0;display:flex;align-items:center;justify-content:center}
.cpin.on{background:var(--ink)}
.cpin.draft{position:absolute;transform:translate(-50%,-100%);pointer-events:none}
.ccard{position:absolute;z-index:850;background:var(--white);border-radius:14px;padding:14px 16px;box-shadow:0 18px 50px rgba(0,40,55,.28);font-size:14px}
.ccard .cc-h{display:flex;align-items:baseline;gap:8px}
.ccard .cc-h .lnk{margin-left:auto;font-size:18px;line-height:1;padding:0 4px}
.ccard .cc-b{margin:8px 0;white-space:pre-wrap;color:var(--ink)}
.ccard .cc-r{background:var(--cream);border-radius:10px;padding:8px 10px;margin:6px 0}
.ccard .cc-r p{margin:2px 0 0;white-space:pre-wrap}
.ccard.new .si-f{margin-top:6px}
@media print{#cpins,.cbtn,#ccard{display:none}}

.cbtn.on{background:var(--green);border-color:var(--green);color:var(--ink)}
#cbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 24px)}
#cbar .lnk{padding:2px 4px}
/* Records menu: clear groups, dark readable items, obvious current page (desktop; phones keep the chip layout) */
@media (min-width:901px){
.menu{padding:10px 10px 14px;max-height:calc(100vh - 150px);overflow-y:auto}
.menu .mg{font-size:13px;font-weight:600;color:var(--ink);margin:18px 10px 6px;padding-top:14px;border-top:1px solid var(--line)}
.menu .mg:first-child{margin-top:4px;padding-top:0;border-top:0}
.menu a{display:block;color:var(--ink);font-size:14.5px;padding:7px 12px;border-radius:8px;border-left:0;text-decoration:none;line-height:1.3}
.menu a:hover{background:var(--cream)}
.menu a.on{background:var(--ink);color:#fff;font-weight:500}
}

/* Map point icons: small when zoomed out, larger when zoomed in */
.leaflet-marker-icon.mk{width:18px!important;height:18px!important;margin-left:-9px!important;margin-top:-9px!important;background:none;border:0}
.mk svg{width:100%;height:100%;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.z-lo .leaflet-marker-icon.mk{width:12px!important;height:12px!important;margin-left:-6px!important;margin-top:-6px!important}
.z-hi .leaflet-marker-icon.mk{width:24px!important;height:24px!important;margin-left:-12px!important;margin-top:-12px!important}
.leaflet-marker-icon.mk-wx{width:22px!important;height:22px!important;margin-left:-11px!important;margin-top:-11px!important;z-index:500!important}
.z-lo .leaflet-marker-icon.mk-wx{width:16px!important;height:16px!important;margin-left:-8px!important;margin-top:-8px!important}
.mki{display:inline-block;width:16px;height:16px;vertical-align:-3px;margin-right:4px}
.mki svg{width:100%;height:100%}

/* Weather card on the site page */
.wxcard{margin:14px 0}
.wxgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:end;margin-top:10px}
.wxfacts{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.wxfacts>div{display:flex;flex-direction:column;gap:2px}
.wxfacts b{font-size:18px;color:var(--ink);font-weight:600}
.wxbars{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:150px;align-items:end}
.wxb{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:3px}
.wxb i{display:block;width:100%;max-width:26px;background:#2b8fd6;border-radius:4px 4px 0 0}
.wxv{font-size:10.5px;color:var(--text2);font-variant-numeric:tabular-nums}
.wxm{font-size:11px;color:var(--text2)}
@media (max-width:860px){.wxgrid{grid-template-columns:1fr}}

/* Photo points: placing on the map, comparison */
.leaflet-container.placing{cursor:crosshair!important;outline:3px dashed var(--amber);outline-offset:-3px}
.pp.hl{box-shadow:0 0 0 3px var(--amber),var(--shadow)}
.pptimg{display:block;width:220px;max-width:100%;height:140px;object-fit:cover;border-radius:10px;margin:6px 0}
.cmpbar{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 12px}
.cmpbar label{flex:1;min-width:180px}
.cmpbox{position:relative;width:100%;aspect-ratio:4/3;background:#111;border-radius:12px;overflow:hidden;user-select:none}
.cmpbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cmpafter{position:absolute;inset:0}
.cmpline{position:absolute;top:0;bottom:0;width:3px;background:#fff;transform:translateX(-50%);box-shadow:0 0 6px rgba(0,0,0,.5);pointer-events:none}
.cmplab{position:absolute;top:10px;background:rgba(0,40,55,.75);color:#fff;font-size:13px;padding:4px 10px;border-radius:999px}
.cmplab.l{left:10px}.cmplab.r{right:10px}
#cr{width:100%;margin-top:10px}
.cmpbox{aspect-ratio:auto;height:min(62vh,620px)}

.hsn .rvn{display:inline-block;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--amber);color:#fff;font:600 11px/18px var(--body);text-align:center}

/* Map page: Add record menu, placing bar, full screen */
.addwrap{position:relative}
.addmenu{right:0;left:auto;max-height:70vh;overflow:auto;min-width:260px}
.addmenu .amg{font-size:12.5px;font-weight:600;color:var(--text2);padding:10px 12px 4px}
.addmenu button{display:block;width:100%;text-align:left;background:none;border:0;font:inherit;font-size:14px;color:var(--ink);padding:7px 12px;border-radius:8px;cursor:pointer}
.addmenu button:hover{background:var(--white)}
#addbar{display:flex;gap:12px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--cream);padding:9px 14px;border-radius:10px;margin-bottom:8px;font-size:14px}
#addbar .lnk{color:var(--green)}
.wbl{text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:600}
.fsx{display:none}
.maprow:fullscreen{background:var(--cream);padding:14px;gap:14px;align-items:stretch}
.maprow:fullscreen .fsx{display:block;position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:1200;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:8px 16px;font:500 13px var(--body);cursor:pointer}
.maprow:fullscreen .mapcol #map{height:calc(100vh - 130px)}
.maprow:fullscreen>.side{max-height:calc(100vh - 28px)}

/* =====================================================================
   Brand typography (03/11/2026), as on the new lignaverda.org:
   Alexandria Black, upper case, for page titles and key figures only;
   Roboto for everything else (Light for intro text, Regular for reading, Medium for labels and section titles).
   ===================================================================== */
h2{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:.01em;font-size:23px;line-height:1.12}
.mhead h2,.mbox h2{font-size:19px}
h3,h4{font-family:var(--body);font-weight:500;text-transform:none;letter-spacing:0}
h3{font-size:16.5px}
.ctx{font-weight:300;font-size:15px;color:var(--ink);opacity:.85}
b,strong{font-weight:500}
.kpis b,.kv{font-family:var(--display);font-weight:900;letter-spacing:0}
@media (max-width:700px){h2{font-size:19px}}

/* Carbon model, 1 ha */
.cmk div{background:#fff;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.cmk b{font-size:24px;color:var(--teal);line-height:1.1}
.cmk span{font-size:13px;color:var(--text2)}
.cmchart{width:100%;height:auto;display:block;font:12px var(--body);fill:var(--text2)}
.cmleg{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;margin-top:6px}
.cmleg i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.cmleg i.ln{width:18px;height:0;border-top:2.4px dashed;border-radius:0;vertical-align:3px}
.cmleg .muted{margin-left:auto}
table.num td:not(:first-child),table.num th:not(:first-child),td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}
td.eq code{font-size:12px;background:var(--sand);padding:2px 6px;border-radius:6px;white-space:normal}
td.eq{max-width:340px}
.cmas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 24px}
.cmas div{display:flex;flex-direction:column}
.cmas span{font-size:12.5px;color:var(--text2)}
.cmas b{font-weight:400}
details summary{cursor:pointer;color:var(--teal);margin:10px 0}
/* Cash flow: bank balances per account */
table.cfbal tr[data-acct]{cursor:pointer}
table.cfbal tr[data-acct]:hover td{background:var(--sand)}
table.cfbal tr.on td{background:#eef4e2;font-weight:500}
/* Finance: transactions and tags */
.txsum{margin:0 0 10px;font-size:13.5px}
.txsum b{color:var(--ink)}
.txbulk{display:flex;align-items:center;gap:12px;background:#eef4e2;border-radius:10px;padding:8px 12px;margin-bottom:10px}
table.txtab td{vertical-align:top}
table.txtab td.nw{white-space:nowrap}
table.txtab td.txn{max-width:420px;overflow-wrap:anywhere}
table.txtab td.txc{max-width:220px;color:var(--text2)}
table.txtab td.txt{min-width:120px}
table.txtab td.neg{color:var(--ink)}
table.txtab td.pos{color:#3d6b10}
table.txtab tr.ign td{opacity:.6}
.tag{display:inline-flex;align-items:center;gap:4px;background:#e3eef2;color:var(--ink);border-radius:999px;padding:2px 9px;font-size:12px;margin:1px 4px 1px 0;white-space:nowrap}
.tag button{border:0;background:none;cursor:pointer;color:var(--text2);font-size:14px;line-height:1;padding:0 0 0 2px}
button.tag{border:0;cursor:pointer}
button.tag:hover{background:var(--green);color:#fff}
.tagbox{display:flex;flex-wrap:wrap;gap:4px;min-height:30px;margin:8px 0}
.tagsugg{display:flex;flex-wrap:wrap;gap:2px;max-height:150px;overflow:auto}
.lnk.tg{font-size:12px}
.pager{display:flex;gap:16px;justify-content:center;align-items:center;margin:10px 0 24px}
/* Transactions table: wrap long bank texts instead of overlapping */
table.txtab{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}
table.txtab th,table.txtab td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:normal;text-align:left}
table.txtab th.num,table.txtab td.num{text-align:right;white-space:nowrap}
table.txtab th.nc,table.txtab td.nc{width:34px}
table.txtab th:nth-child(2){width:96px}
table.txtab td.txn{max-width:none;overflow-wrap:anywhere;display:table-cell}
table.txtab td.txn .tx2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
table.txtab td.txc{max-width:none;width:18%;overflow-wrap:anywhere}
table.txtab td.txt{width:150px;min-width:0}
table.txtab th:last-child,table.txtab td:last-child{width:110px}
table.txtab .acc{width:110px}

/* Cash flow statement: reads like a statement */
table.cfs{border-collapse:collapse;width:100%;font-size:13px;font-variant-numeric:tabular-nums}
table.cfs th,table.cfs td{padding:5px 10px;white-space:nowrap}
table.cfs thead th{font-weight:500;color:var(--text2);border-bottom:1.5px solid var(--ink);text-align:right}
table.cfs .fl{text-align:left;min-width:260px;white-space:normal}
table.cfs td.num{text-align:right}
table.cfs .yt{background:#f3f7ea;font-weight:500}
table.cfs tr.cash td{font-weight:500;color:var(--ink)}
table.cfs tr.cash.end td{border-top:1px solid var(--ink);border-bottom:3px double var(--ink)}
table.cfs tr.sh td{padding-top:16px;font-weight:500;font-size:13.5px;color:var(--teal)}
table.cfs tr.it td{border-bottom:1px solid #eef1ee;color:var(--ink)}
table.cfs tr.it td.fl{padding-left:24px}
table.cfs tr.it.d1 td{font-weight:500}
table.cfs tr.it.d3 td,table.cfs tr.it.d4 td{color:var(--text2)}
table.cfs tr.cfx{cursor:pointer}
table.cfs tr.cfx:hover td{background:var(--sand)}
table.cfs .cft{display:inline-block;width:14px;color:var(--text2)}
table.cfs tr.sub td{font-weight:500;border-top:1px solid var(--ink);padding-bottom:6px}
table.cfs tr.net td{font-weight:500;border-top:1.5px solid var(--ink);padding-top:10px;color:var(--ink)}
table.cfs tr.trf td{color:var(--text2);font-style:italic}
table.cfs .z{color:#c5cdc9}
table.cfs tr.ac{cursor:pointer}
table.cfs tr.ac:hover td{background:var(--sand)}
table.cfs tr.ac.on td{background:#eef4e2;font-weight:500}
table.cfs.brk thead th{white-space:normal;vertical-align:bottom}
table.txtab th.dt{width:96px}
table.txtab th.acc{width:110px}
table.txtab th.cat{width:20%}
table.txtab th.tgh{width:150px}
table.txtab th.amt{width:110px}
table.txtab th:nth-child(2){width:auto}
table.txtab th.nc+th.dt{width:96px}
/* Cash flow statement v2: whole numbers, fits 12 months + year on screen, levels shown by indent and tone rather than bold */
.cfcards>.card+.card{margin-top:22px}
table.cfs.st,table.cfs.bal{table-layout:fixed}
table.cfs th,table.cfs td{padding:5px 6px;font-size:12.5px}
table.cfs .fl{min-width:0;width:230px}
table.cfs.st .yt,table.cfs.bal th:last-child{width:84px}
table.cfs .yt{font-weight:400;background:#f3f7ea}
table.cfs tr.sh td{font-weight:500;color:var(--teal);font-size:12.5px;letter-spacing:.02em}
table.cfs tr.it.d1 td{font-weight:400;color:var(--ink)}
table.cfs tr.it.d2 td{color:#3f5a63;font-size:12px}
table.cfs tr.it.d3 td,table.cfs tr.it.d4 td{color:var(--text2);font-size:11.5px}
table.cfs tr.it.d2 td.fl,table.cfs tr.it.d3 td.fl,table.cfs tr.it.d4 td.fl{background:linear-gradient(90deg,transparent 22px,#e3ebe6 22px,#e3ebe6 23.5px,transparent 23.5px)}
table.cfs tr.sub td,table.cfs tr.net td,table.cfs tr.cash td{font-weight:500}
table.cfs tr.it.d1+tr.it.d1 td{border-top:0}
table.cfs tr.ac.on td{font-weight:400}
select.tcsel{max-width:260px}
table.cfs .nd{background:repeating-linear-gradient(135deg,transparent 0 6px,#f4f6f4 6px 7px)}
table.cfs th.nd{color:#b6c1bd}
table.txtab tbody tr{cursor:pointer}
table.txtab tbody tr:hover td{background:#f7f9f6}
table.txtab tbody tr.sel td{background:#e8f1d6}
/* Cash flow: every period column has the same width, monthly or quarterly; the label column takes the rest */
table.cfs.st th.num:not(.yt),table.cfs.bal th.num{width:6.4%}
table.cfs.st .fl,table.cfs.bal .fl{width:auto}
table.cfs.st th.yt{width:84px}
/* Finance: entity switch above the page title */
.entstrip{display:flex;align-items:center;gap:6px;margin:0 0 16px;flex-wrap:wrap}
.entstrip .entl{font-size:12.5px;color:var(--text2);margin-right:6px}
.entstrip a{display:inline-flex;align-items:baseline;gap:6px;padding:7px 16px;border-radius:999px;border:1.5px solid var(--teal);color:var(--teal);text-decoration:none;font-weight:500;font-size:14px;background:#fff}
.entstrip a small{font-size:11px;font-weight:400;opacity:.75}
.entstrip a:hover{background:#e3eef2}
.entstrip a.on{background:var(--teal);color:#fff}
table.txtab td.ced{cursor:pointer}
table.txtab td.ced:hover{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px}
.edt{display:inline-block;font-size:10.5px;background:#fbefd5;color:#7a5600;border-radius:999px;padding:0 6px;margin-left:4px}
.catlist{max-height:340px;overflow:auto;margin-top:8px;display:flex;flex-direction:column;gap:2px}
.catopt{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;background:none;padding:7px 10px;border-radius:8px;cursor:pointer;font:inherit;color:var(--ink)}
.catopt b{font-weight:500}
.catopt span{font-size:12px;color:var(--text2)}
.catopt:hover,.catopt.on{background:#e8f1d6}
/* searchable drop-down */
.combo{position:relative;display:inline-block}
.combo-btn{font:inherit;font-size:14px;padding:8px 32px 8px 14px;border:1.5px solid var(--line2);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23004257'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--ink);cursor:pointer;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.combo-pop{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:340px;background:#fff;border-radius:14px;box-shadow:0 12px 32px rgba(0,40,55,.22);padding:8px}
.combo-pop input{width:100%;margin-bottom:6px}
.combo-list{max-height:320px;overflow:auto;display:flex;flex-direction:column}
.combo-list button{border:0;background:none;text-align:left;font:inherit;font-size:13.5px;padding:6px 10px;border-radius:8px;cursor:pointer;color:var(--ink)}
.combo-list button span{display:block;font-size:11.5px;color:var(--text2)}
.combo-list button:hover,.combo-list button.on{background:#e8f1d6}
.combo-pop.drp{width:300px}
.drc{display:flex;align-items:center;gap:6px;border-top:1px solid var(--line);margin-top:6px;padding-top:8px;flex-wrap:wrap}
.drc input{width:118px;padding:6px 8px;font-size:13px}
/* Transactions: one compact filter row, summary and bulk actions on one line */
.toolbar.txbar{flex-wrap:nowrap;gap:8px;overflow-x:auto}
.toolbar.txbar>*{flex:none}
.toolbar.txbar input[type=search]{flex:1 1 140px;width:auto;min-width:110px;max-width:240px}
.toolbar.txbar select,.toolbar.txbar .combo-btn{font-size:13.5px;max-width:170px}
.toolbar.txbar .inl{font-size:13px;white-space:nowrap}
.txhead{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;margin:0 0 8px}
.txhead .txsum{margin:0}
.txbulk[hidden]{display:none!important}
.txhead .txbulk{background:none;padding:0;margin:0;display:flex;align-items:center;gap:10px}
.txhead #tbn{font-size:13.5px;color:var(--ink);font-weight:500}
.drc input[type=date]{width:128px!important;flex:none}
.drc span{flex:none}
.combo-pop{overflow:visible}
@media (max-width:900px){.toolbar.txbar{flex-wrap:wrap}}
.txmore{text-align:center;padding:10px;font-size:13px;min-height:4px}
.phead .ctx{display:none}
/* the filter row must not clip the drop-downs */
.toolbar.txbar{overflow:visible;flex-wrap:wrap}
.toolbar.txbar .combo-pop{z-index:60}
table.cfs.bal .op{background:#f3f7ea;border-right:1px solid var(--line)}
.combo-list .crow{display:flex;align-items:center}
.combo-list .crow button{flex:1}
.combo-list .ctog{width:20px;flex:none;text-align:center;color:var(--text2);text-decoration:none;font-size:12px}
.combo-list .ctog:hover{color:var(--ink)}
/* Cash flow statement in the budget-control look: cream group rows, account codes as small tags, dark balance rows */
table.cfs .code{font-size:10.5px;color:var(--grey);background:var(--cream);padding:0 5px;border-radius:6px;font-weight:400;font-family:var(--body);text-transform:none;letter-spacing:0}
table.cfs tr.it.d1 td{background:#fbf8f2;border-top:1px solid var(--line2)}
table.cfs tr.it.d1 td.fl{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.03em;color:var(--ink)}
table.cfs tr.it.d1 td.yt{background:#eef5df}
table.cfs tr.it.d2 td{font-size:12.5px;color:#33525c}
table.cfs tr.cash td{background:var(--ink);color:var(--cream);border:0}
table.cfs tr.cash td.fl{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
table.cfs tr.cash td .z{color:rgba(250,245,237,.5)}
table.cfs tr.cash.end td{border:0}
table.cfs tr.cash td.yt{background:#0b5468}
table.cfs tr.net td{background:#0b5468;color:var(--cream);border:0}
table.cfs tr.net td.fl{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:11px;letter-spacing:.03em}
table.cfs tr.net td.yt{background:#0b5468}
table.cfs tr.sub td{background:#fff}
table.cfs tr.sub td.fl{font-weight:500}
table.cfs.bal tr.ac td{background:#fff}
table.cfs tr.cash td.op{background:#0b5468}
/* Balance pass: Alexandria only for page titles; one dark band (closing balance); everything else light */
table.cfs tr.it.d1 td.fl,table.cfs tr.cash td.fl,table.cfs tr.net td.fl,
.ftab tr.fg td.fl,.ftab tfoot td.fl{font-family:var(--body);font-weight:500;text-transform:none;font-size:12.5px;letter-spacing:0}
table.cfs tr.it.d1 td.fl{font-size:12px;letter-spacing:.02em}
table.cfs tr.cash td,table.cfs tr.net td{background:#eaf2f4;color:var(--ink)}
table.cfs tr.cash td .z,table.cfs tr.net td .z{color:#9fb3b9}
table.cfs tr.cash td.yt,table.cfs tr.net td.yt,table.cfs tr.cash td.op{background:#dde9ec}
table.cfs tr.net td{background:#fff;border-top:1.5px solid var(--ink)}
table.cfs tr.net td.yt{background:#f3f7ea}
table.cfs.st tr.cash.end td{background:var(--ink);color:var(--cream)}
table.cfs.st tr.cash.end td.yt{background:#0b5468}
table.cfs.st tr.cash.end td .z{color:rgba(250,245,237,.5)}
.ftab tfoot td{background:#eaf2f4;color:var(--ink)}
.ftab tfoot tr.fdel td{background:#fff;color:var(--ink);border-top:1px solid var(--line2)}
.ftab tfoot td.fl{background:#eaf2f4}
.ftab tfoot tr.fdel td.fl{background:#fff}
.ftab tfoot td.neg{color:var(--red)}
.ftab tfoot .z{color:#9fb3b9}
.ftab tfoot tr:last-child td{background:var(--ink);color:var(--cream)}
.ftab tfoot tr:last-child td.neg{color:#ffb4a8}
/* active filters stand out */
.toolbar select.act,.toolbar input.act,.combo-btn.act{border-color:var(--teal)!important;background-color:#e3eef2;color:var(--ink);font-weight:500}
.clrf{font-size:13px;white-space:nowrap}
/* tag window */
.tgwin h3{margin:0 0 4px;font-size:18px}
.tgsub{margin:0 0 14px;color:var(--text2);font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tgfield{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border:1.5px solid var(--line2);border-radius:12px;padding:6px 8px;min-height:44px;cursor:text;background:#fff}
.tgfield:focus-within{border-color:var(--teal)}
.tgfield input{border:0!important;outline:0;flex:1 1 140px;min-width:120px;padding:4px!important;box-shadow:none!important;background:none}
.tagsugg{margin-top:10px;max-height:140px}
.tgbtns{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.rmap{margin:0 0 12px;padding-left:18px;font-size:13px}
.rmrow{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--line)}
.rmrow select{width:100%}
/* account code: a small info mark, the number on hover */
.ci{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;border:1px solid #b9c6ca;color:#8aa0a7;font:italic 600 9px/1 Georgia,serif;margin-left:5px;vertical-align:1px;cursor:help;text-transform:none;letter-spacing:0}
.ci:hover{border-color:var(--teal);color:var(--teal)}
/* statement labels: wrapped lines stay aligned */
table.cfs .lbl{display:flex;align-items:flex-start}
table.cfs .lbl>span:last-child{flex:1}
table.cfs .cft{flex:none}
/* figures open the transactions behind them */
table.cfs td.dr{cursor:pointer}
table.cfs td.dr:hover{text-decoration:underline;text-decoration-color:var(--green);text-underline-offset:3px}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:#fff;box-shadow:-12px 0 40px rgba(0,40,55,.18);z-index:80;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .2s ease}
.drawer.on{transform:none}
.drawer .dhead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--line)}
.drawer .dhead b{display:block;font-size:15px;font-weight:500;color:var(--ink)}
.drawer .dhead span{font-size:12.5px;color:var(--text2)}
.drawer .dx{border:0;background:var(--cream);width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--ink);flex:none}
.drawer .dbody{overflow:auto;padding:6px 20px 20px}
.dtab{width:100%;border-collapse:collapse;font-size:12.5px}
.dtab td{padding:7px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.dtab td.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.dtab td.nw{white-space:nowrap;color:var(--text2)}
.dtab .tx2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dtab tfoot td{font-weight:500;border-top:1.5px solid var(--ink);border-bottom:0}
.dnote{font-size:12px;margin-top:10px}
@media (prefers-reduced-motion:reduce){.drawer{transition:none}}
/* Add record menu: groups clearly separated from the items under them */
.addmenu{background:#fff;padding:6px}
.addmenu .amg{font-size:12px;font-weight:500;color:var(--teal);background:#eaf2f4;border-radius:8px;padding:6px 12px;margin:8px 0 2px;letter-spacing:.02em}
.addmenu .amg:first-child{margin-top:0}
.addmenu button{padding:6px 12px 6px 24px;font-size:13.5px}
.addmenu button:hover{background:#f3f7ea}
/* Records menu: items indented under their group, with a guide line */
.menu .mg{color:var(--teal);font-weight:500;margin-left:6px}
.menu a{margin-left:16px;padding:6px 12px;font-size:14px;border-left:2px solid #e1e9ec;border-radius:0 8px 8px 0}
.menu a:hover{border-left-color:var(--green)}
.menu a.on{border-left-color:var(--ink)}
/* Record window: compact working form – label left, field right, two pairs per row, light sections */
.mhead.rech h2{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:18px;font-weight:500}
.mhead.rech h2 span{color:var(--text2);font-weight:400;margin-left:6px}
.recform fieldset{background:none;border-radius:0;border-top:1px solid var(--line);padding:10px 0 6px;margin:0}
.recform fieldset:first-child{border-top:0;padding-top:0}
.recform legend{font-family:var(--body);font-weight:500;text-transform:none;letter-spacing:0;font-size:12.5px;color:var(--teal);margin:0 0 6px}
.recform .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px}
.recform label{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:10px;margin:0;font-size:12.5px;color:var(--text2);font-weight:400}
.recform label>span.muted{display:none}
.recform label.full{grid-column:1/-1;grid-template-columns:150px minmax(0,1fr);align-items:start}
.recform label.full textarea{min-height:52px}
.recform input,.recform select,.recform textarea{height:32px;padding:4px 10px;font-size:13.5px;border-radius:8px;margin:0;width:100%}
.recform textarea{height:auto}
.recform .calc{font-size:13.5px;color:var(--ink)}
.recform label.ro{align-items:center}
.savebar{gap:8px;padding-top:10px}
.savebar .btn{padding:7px 14px;font-size:13px}
@media (max-width:760px){.recform .grid{grid-template-columns:1fr}.recform label,.recform label.full{grid-template-columns:110px minmax(0,1fr)}}
/* record window tabs */
.rtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 12px}
.rtabs a{padding:8px 14px;font-size:13.5px;color:var(--text2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}
.rtabs a:hover{color:var(--ink)}
.rtabs a.on{color:var(--ink);border-bottom-color:var(--green);font-weight:500}
.recform .calc{display:flex;align-items:baseline;gap:6px}
.recform .calc .muted{font-size:11px}
.msg.info.slim{padding:8px 14px;font-size:13px;margin-bottom:12px}
.fmore{font-size:16px;line-height:1;padding:6px 12px}
.fmenu{right:0;left:auto;top:calc(100% + 6px);min-width:170px}
.fmenu:not([hidden]){display:flex;flex-direction:column}
/* sites stand out on the satellite image: white halo round the outline, a pin when zoomed out */
.leaflet-container path.leaflet-interactive{filter:drop-shadow(0 0 1.2px #fff) drop-shadow(0 0 1px #fff)}
.sitepin{display:none}
.z-pins .sitepin{display:block}
.sitepin span{display:block;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}
/* zoomed out: villages and other points step back so the sites lead */
.z-pins .leaflet-marker-icon.mk{opacity:.75}
/* Field mode */
.fstat{font-size:12.5px;font-weight:500;padding:4px 12px;border-radius:999px}
.fstat.on{background:#e8f1d6;color:#3d6b10}.fstat.off{background:#fbefd5;color:#7a5600}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:8px}
.fgrid .card h3{margin-top:0}
.flist{list-style:none;margin:0 0 10px;padding:0}
.flist li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}
.flist li>span:first-child{flex:1 1 100%;font-weight:500}
.flist .errt{color:var(--red)}
.ftypes{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-bottom:16px}
.ftype{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:16px;border:1.5px solid var(--line2);border-radius:14px;background:#fff;cursor:pointer;font:inherit;color:var(--ink)}
.ftype b{font-weight:500;font-size:15px}.ftype span{font-size:12.5px;color:var(--text2)}
.ftype:hover:not(:disabled){border-color:var(--teal)}.ftype:disabled{opacity:.5;cursor:not-allowed}
.fform h3{font-size:14px;margin:16px 0 8px}
.gpsrow{display:flex;gap:8px}.gpsrow input{flex:1}
.fkid{display:grid;grid-template-columns:1fr 90px 90px 24px;gap:8px;margin-bottom:6px}
.fphotos{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.fthumb{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden}
.fthumb img{width:100%;height:100%;object-fit:cover}
.fthumb button{position:absolute;top:4px;right:4px;border:0;border-radius:50%;width:24px;height:24px;background:rgba(0,0,0,.55);color:#fff;cursor:pointer}
.fcam{display:inline-flex;cursor:pointer}
@media (max-width:760px){.fgrid{grid-template-columns:1fr}.ftype{padding:14px}.fkid{grid-template-columns:1fr 70px 70px 24px}}
.wxb.nd i{background:#e3e8e5}.wxsy{margin:0 8px}
/* hub buttons on the map */
.leaflet-top.leaflet-left{display:flex;align-items:flex-start;gap:8px}
.leaflet-top.leaflet-left .leaflet-control{float:none;clear:none}
.hubbar{display:flex;gap:2px;background:#fff;border-radius:999px;padding:3px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.hubbar button{border:0;background:none;font:500 13px var(--body);color:var(--ink);padding:6px 12px;border-radius:999px;cursor:pointer}
.hubbar button:hover{background:#eaf2f4}
.hubbar button.on{background:var(--teal);color:#fff}

/* Admin sits beside the profile bubble, top right */
.hadm{flex:none;margin-left:auto;margin-right:10px;color:rgba(250,245,237,.85);text-decoration:none;font-size:13px;font-weight:500;padding:6px 12px;border-radius:999px;border:1.5px solid rgba(250,245,237,.28)}
.hadm:hover{background:rgba(250,245,237,.1);color:var(--cream)}
.hadm.on{background:var(--green);border-color:var(--green);color:var(--ink)}
.calc [data-calc]{transition:color .2s}

/* Density switch, top right next to comments */
.dens{flex:none;display:flex;border:1.5px solid rgba(250,245,237,.28);border-radius:8px;overflow:hidden;margin-right:4px}
.dens button{width:34px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;border-left:1px solid rgba(250,245,237,.18);color:rgba(250,245,237,.55);cursor:pointer;padding:0}
.dens button:first-child{border-left:0}
.dens button:hover{color:var(--cream);background:rgba(250,245,237,.08)}
.dens button.on{color:var(--green);background:rgba(250,245,237,.1)}
@media (max-width:700px){.dens{display:none}}

/* Compact */
html[data-density=compact] body{font-size:13.5px;line-height:1.45}
html[data-density=compact] main{padding-top:18px;padding-bottom:28px}
html[data-density=compact] h2{font-size:21px;margin-bottom:8px}
html[data-density=compact] .phead{margin-bottom:12px}
html[data-density=compact] .card{padding:14px 16px}
:where(html[data-density=compact]) th{padding:6px 8px}
:where(html[data-density=compact]) td{padding:6px 8px}
html[data-density=compact] .ftab th,html[data-density=compact] .ftab td{padding:3px 7px}
html[data-density=compact] .kpis{gap:10px;margin-bottom:12px}
html[data-density=compact] .recform input,html[data-density=compact] .recform select{height:29px;font-size:13px}

/* Super compact */
html[data-density=super] body{font-size:12.5px;line-height:1.35}
html[data-density=super] main{padding-top:12px;padding-bottom:20px}
html[data-density=super] h2{font-size:18px;margin-bottom:6px}
html[data-density=super] h3{font-size:14px;margin-bottom:6px}
html[data-density=super] .phead{margin-bottom:8px}
html[data-density=super] .card{padding:10px 12px}
:where(html[data-density=super]) th{padding:3px 6px;font-size:11.5px}
:where(html[data-density=super]) td{padding:3px 6px}
html[data-density=super] .ftab th,html[data-density=super] .ftab td{padding:2px 5px}
html[data-density=super] .kpis{gap:8px;margin-bottom:8px}
html[data-density=super] .recform label{font-size:12px}
html[data-density=super] .recform .grid{gap:2px 20px}
html[data-density=super] .recform input,html[data-density=super] .recform select{height:26px;font-size:12.5px;padding:2px 8px}
html[data-density=super] .btn{padding-top:5px;padding-bottom:5px}
html[data-density=compact] .kebab{height:22px}
html[data-density=compact] td .chip{padding-top:1px;padding-bottom:1px}
html[data-density=compact] .menu a{padding:5px 12px;font-size:13.5px}
html[data-density=compact] .stbar{margin-bottom:8px}
html[data-density=compact] .stbar .stq,html[data-density=compact] .stbar .stf{padding-top:5px;padding-bottom:5px}
html[data-density=super] .kebab{height:18px;font-size:16px}
html[data-density=super] td input[type=checkbox]{width:13px;height:13px;vertical-align:-2px}
html[data-density=super] td .chip{padding-top:0;padding-bottom:0;font-size:11px}
html[data-density=super] .menu a{padding:3px 12px;font-size:12.5px}
html[data-density=super] .stbar{margin-bottom:6px}
html[data-density=super] .stbar .stq,html[data-density=super] .stbar .stf{padding-top:3px;padding-bottom:3px;font-size:12.5px}
html[data-density=super] .btn.sm,html[data-density=super] .btn.sec{padding-top:3px;padding-bottom:3px}
/* Keep the layout still between pages: always reserve the scrollbar, same header height with or without buttons */
html{scrollbar-gutter:stable;overflow-y:scroll}
.two>section>.phead,.two>div>.phead,#sitesbox>.phead{min-height:44px;align-items:center}

/* Finance tables: only the row height changes, indents and section gaps stay */
html[data-density=compact] table.cfs th,html[data-density=compact] table.cfs td{padding-top:3px;padding-bottom:3px}
html[data-density=compact] table.cfs tr.sh td{padding-top:10px}
html[data-density=compact] table.txtab th,html[data-density=compact] table.txtab td{padding-top:4px;padding-bottom:4px}
html[data-density=super] table.cfs th,html[data-density=super] table.cfs td{padding-top:1px;padding-bottom:1px;font-size:12px}
html[data-density=super] table.cfs tr.sh td{padding-top:6px}
html[data-density=super] table.cfs tr.net td{padding-top:4px}
html[data-density=super] table.txtab th,html[data-density=super] table.txtab td{padding-top:2px;padding-bottom:2px}
.newver{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:3000;background:var(--ink);color:var(--cream);padding:8px 10px 8px 16px;border-radius:999px;font-size:13.5px;box-shadow:0 6px 20px rgba(0,0,0,.25);display:flex;align-items:center;gap:12px}
.newver button{background:var(--green);color:var(--ink);border:0;border-radius:999px;padding:5px 14px;font:500 13px var(--body);cursor:pointer}
/* Account number tip: shows at once beside the "i", above everything */
.ci{position:relative}
.ci[data-tip]:hover::after,.ci[data-tip]:focus::after{content:attr(data-tip);position:absolute;left:calc(100% + 6px);top:50%;transform:translateY(-50%);background:var(--ink);color:var(--cream);font:500 12px/1.2 var(--body);font-style:normal;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:50;pointer-events:none}
/* Same width for the account picker on every entity, so the buttons beside it stay put */
#cfa{width:210px;flex:none}
/* Sideways tab rows: fade + arrow where tabs are hidden */
.nedge{position:relative;display:flex;min-width:0;flex:1 1 auto;align-self:stretch;align-items:center}
.hsub .nedge{height:100%;align-items:stretch}
.nedge>.mods,.nedge>.hsn{flex:1 1 auto}
.nedge.nmore>.mods,.nedge.nmore>.hsn{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 56px),transparent)}
.nedge.nback>.mods,.nedge.nback>.hsn{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px);mask-image:linear-gradient(90deg,transparent,#000 48px)}
.nedge.nmore.nback>.mods,.nedge.nmore.nback>.hsn{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 56px),transparent)}
.narr{display:none;position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:0;background:var(--green);color:var(--ink);font:700 18px/26px var(--body);padding:0;cursor:pointer;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.25)}
.narr.r{right:0}.narr.l{left:0}
.nedge.nmore .narr.r,.nedge.nback .narr.l{display:block}
@media (max-width:700px){
  .hadm{display:none}
  .pmenu .padm{display:block}
}
.pmenu .padm{display:none;font-size:14px;color:var(--ink);padding:9px 12px;border-radius:10px;text-decoration:none}
.pmenu .padm:hover{background:var(--white)}

/* Comment button: floating, bottom right of the screen */
.cwrap{position:fixed;right:22px;bottom:22px;z-index:900}
.cbtn{width:48px;height:48px;background:var(--teal);border:0;color:var(--cream);box-shadow:0 6px 18px rgba(0,40,55,.3)}
.cbtn:hover,.cbtn[aria-expanded=true]{background:var(--ink);color:var(--green)}
.cbtn.on{background:var(--green);color:var(--ink)}
.cbadge{top:-3px;right:-3px}
@media (max-width:700px){.cwrap{right:14px;bottom:14px}}
/* Map sources: a discreet "i", full text on hover or tap */
.leaflet-container .leaflet-control-attribution{width:18px;height:18px;padding:0;margin:0 6px 6px 0;border-radius:50%;background:rgba(255,255,255,.75);overflow:hidden;white-space:nowrap;color:transparent;cursor:pointer;position:relative;font-size:11px;line-height:18px}
.leaflet-container .leaflet-control-attribution::before{content:"i";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#4a5f66;font:italic 600 11px/1 Georgia,serif}
.leaflet-container .leaflet-control-attribution:hover,.leaflet-container .leaflet-control-attribution.open{width:auto;max-width:calc(100% - 24px);height:auto;padding:2px 8px;border-radius:6px;color:#333;white-space:normal;background:rgba(255,255,255,.92)}
.leaflet-container .leaflet-control-attribution:hover::before,.leaflet-container .leaflet-control-attribution.open::before{display:none}
.leaflet-container .leaflet-control-attribution a{color:#0b4f63}
/* Site page sections: one card, quiet underline tabs, sub-sections as small pills */
.card.sgcard{padding:0;overflow:hidden;border-radius:14px}
.sgcard .sgroups{display:flex;gap:2px;margin:0;padding:0 14px;border-bottom:1px solid var(--line);background:var(--white);overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.sgcard .sgroups::-webkit-scrollbar{display:none}
.sgcard .sgroups a{display:flex;align-items:center;gap:7px;padding:13px 14px 11px;background:none;border-radius:0;border-bottom:2.5px solid transparent;font:500 14px var(--body);text-transform:none;letter-spacing:0;color:var(--text2);white-space:nowrap}
.sgcard .sgroups a:hover{background:none;color:var(--ink)}
.sgcard .sgroups a.on{color:var(--ink);border-bottom-color:var(--green);background:none}
.sgcard .sgroups a:focus{outline:none}.sgcard .sgroups a:focus-visible{outline:2px solid var(--teal);outline-offset:-4px}
.sgcard .cnt:empty{display:none}
.sgcard .cnt{min-width:20px;height:18px;padding:0 6px;border-radius:9px;background:var(--cream);color:var(--teal);font:600 11px/18px var(--body);text-align:center}
.sgcard a.on .cnt{background:#eef4e2;color:#3d5a10}
.sgsub{display:flex;gap:6px;flex-wrap:wrap;padding:12px 20px 0}
.sgsub a{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--line2);font-size:13px;color:var(--text2);text-decoration:none;background:var(--white)}
.sgsub a:hover{border-color:var(--teal);color:var(--ink)}
.sgsub a.on{background:var(--teal);border-color:var(--teal);color:#fff}
.sgsub a.on .cnt{background:rgba(255,255,255,.2);color:#fff}
.sgbody{padding:14px 20px 18px}
html[data-density=super] .sgcard .sgroups a{padding:9px 12px 7px;font-size:13px}
html[data-density=super] .sgsub{padding:8px 14px 0}
html[data-density=super] .sgbody{padding:10px 14px 12px}
@media (max-width:700px){.sgsub{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:10px 14px 0}.sgsub::-webkit-scrollbar{display:none}.sgsub a{white-space:nowrap}.sgbody{padding:12px 14px 14px}.sgcard .sgroups{padding:0 6px}.sgcard .sgroups a{padding:12px 10px 10px;font-size:13.5px}}
/* Record form: each section is its own tinted block with a clear heading */
.recform fieldset{background:#f6f8f4;border:1px solid #e3e9dc;border-radius:12px;padding:12px 16px 12px;margin:0 0 12px}
.recform fieldset:first-child{border-top:1px solid #e3e9dc;padding-top:12px}
.recform legend{float:left;width:100%;display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:0 0 8px;border-bottom:1px solid #e3e9dc;font:600 14px var(--body);color:var(--ink)}
.recform legend::before{content:"";width:4px;height:16px;border-radius:2px;background:var(--green)}
.recform legend+.grid{clear:both}
.recform input,.recform select,.recform textarea{background:var(--white)}
html[data-density=super] .recform fieldset{padding:8px 12px;margin-bottom:8px}
html[data-density=super] .recform legend{font-size:13px;margin-bottom:6px;padding-bottom:5px}
.recform label::first-letter{text-transform:uppercase}
/* Work-in-progress marking */
.wipchip{display:inline-block;vertical-align:middle;margin-left:10px;padding:3px 10px;border-radius:999px;background:#fde7c2;color:#8a5200;font:600 12px/1.4 var(--body);letter-spacing:0;text-transform:none}
.wipbar{margin:0 0 16px;padding:10px 14px 10px 44px;border-radius:12px;border:1.5px dashed #e7b45c;background:#fff8ea repeating-linear-gradient(-45deg,transparent 0 14px,rgba(231,180,92,.07) 14px 28px);color:#6b4a12;font-size:13.5px;position:relative}
.wipbar::before{content:"🚧";position:absolute;left:14px;top:9px;font-size:17px}
.fsbtn{display:inline-flex;align-items:center;gap:7px}
.offchip{display:inline-block;vertical-align:middle;margin-left:10px;padding:3px 10px;border-radius:999px;background:#e6f1d6;color:#3d5a10;font:600 12px/1.4 var(--body);letter-spacing:0;text-transform:none}
.fintro{margin:0 0 16px;padding:12px 16px;border-radius:12px;background:#eef4e2;border:1px solid #d6e5bd;color:#2f4410;font-size:13.5px;line-height:1.5}
.fintro b{display:block;margin-bottom:2px}
.kobochip{display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 10px;border-radius:999px;border:1px solid var(--line2);color:var(--text2);font:500 12px/1.4 var(--body);letter-spacing:0;text-transform:none}
.kobochip{display:inline-flex;align-items:center;gap:6px}.kobologo{height:15px;width:auto;display:inline-block}
/* CRM */
.relchip{display:inline-block;vertical-align:middle;padding:2px 9px;border-radius:999px;font:500 12px/1.5 var(--body);background:var(--cream);color:var(--text2)}
.rel-client{background:#e6f1d6;color:#3d5a10}.rel-target{background:#e3eef3;color:#0b4f63}.rel-past-client{background:#efe9df;color:#6b5a3d}.rel-partner{background:#eee8f6;color:#4f3d78}.rel-investor{background:#fbefd9;color:#7a4f00}
h2 .relchip{font-size:13px;margin-left:8px}
.relbar{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.relbar button{border:1px solid var(--line2);background:var(--white);border-radius:999px;padding:6px 13px;font:500 13px var(--body);color:var(--text2);cursor:pointer}
.relbar button span{color:var(--muted,#8aa0a7);margin-left:3px;font-weight:400}
.relbar button.on{background:var(--teal);border-color:var(--teal);color:#fff}.relbar button.on span{color:rgba(255,255,255,.75)}
.relbar button.rv{border-color:#e7b45c;color:#8a5200}.relbar button.rv.on{background:#e7b45c;color:#fff}
.revflag{display:inline-flex;width:16px;height:16px;border-radius:50%;background:#fde7c2;color:#8a5200;font:700 11px/16px var(--body);justify-content:center}
.revbar{margin:0 0 14px;padding:10px 14px;border-radius:12px;border:1.5px dashed #e7b45c;background:#fff8ea;color:#6b4a12;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.orgrow{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:900px){.orgrow{grid-template-columns:1fr}}
.orgfacts>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.orgfacts>div.full{display:block}.orgfacts>div.full p{margin:4px 0 0;white-space:pre-wrap;font-size:13px}
.orgfacts h3{margin:16px 0 6px;font-size:14px}
.plist{display:flex;flex-direction:column;gap:2px}
.plist a{display:flex;flex-direction:column;padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:13px}
.plist a:hover{background:var(--cream)}.plist a.on{background:#e3eef3}
.plist a span{font-size:12px;color:var(--text2)}
.dtab td{padding:5px 0;font-size:13px;border-bottom:1px solid var(--line)}
.tlbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.tlbar h3{margin:0;flex:1}.tlbar select,.tlbar input{width:auto;padding:5px 10px;border-radius:999px;font-size:13px}
.tlm{font:600 12px var(--body);color:var(--teal);margin:14px 0 4px;text-transform:uppercase;letter-spacing:.05em}
.tli{border-left:2px solid var(--line2);margin-left:10px;padding:0 0 0 14px;position:relative}
.tli summary{display:flex;gap:10px;align-items:flex-start;cursor:pointer;list-style:none;padding:6px 0}
.tli summary::-webkit-details-marker{display:none}
.tic{position:absolute;left:-12px;top:6px;width:22px;height:22px;border-radius:50%;background:var(--white);border:1.5px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--teal)}
.k-email .tic{border-color:#9cc3d1}.k-meeting .tic{border-color:var(--green);color:#3d5a10}.k-doc_visit .tic{border-color:#e7b45c;color:#8a5200}
.tmain{flex:1;display:flex;flex-direction:column;min-width:0}.tmain b{font-weight:500;font-size:13.5px}.tmain .muted{font-size:12px}
.tdt{font-size:12px;color:var(--text2);white-space:nowrap}
.tbody{white-space:pre-wrap;font-size:13px;background:var(--cream);border-radius:8px;padding:10px 12px;margin:0 0 8px;max-height:360px;overflow:auto}
/* Phones: the three modules always visible, no sideways scrolling */
@media (max-width:700px){
  .hrow{gap:8px;padding:0 10px}
  header a.brand img{height:22px}
  .hrow>.nedge{flex:1 1 auto;min-width:0}
  .hrow .nedge>.mods{overflow:visible;-webkit-mask-image:none!important;mask-image:none!important;gap:2px;justify-content:space-evenly}
  .hrow .nedge .narr{display:none!important}
  .mods a,.mods a.on{padding:6px 10px;font-size:13px;letter-spacing:0}
  .pbub{width:32px;height:32px;font-size:12px}
}
@media (max-width:380px){
  header a.brand img{height:18px}
  .mods a,.mods a.on{padding:5px 7px;font-size:12px}
}
@media (max-width:700px){.hsn a,.hmore{padding:0 9px;font-size:13px}.hsub{padding:0 6px}}
/* Documents */
.dvmeta{margin:-6px 0 14px;font-size:13px}
.dvrecent{margin-bottom:16px}.dvrecent h3{display:flex;justify-content:space-between;align-items:center}
.dvr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:12px;padding:7px 8px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:13.5px;align-items:baseline}
.dvr:hover{background:var(--cream)}.dvr.new{background:#fff8ea}.dvr.new b::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#e7a23b;margin-right:7px;vertical-align:1px}
.dvr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dvrow{display:grid;grid-template-columns:minmax(0,1.3fr) 110px minmax(0,2fr);gap:14px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.dvw,.dvt{display:flex;flex-direction:column;font-size:13.5px}.dvw .muted,.dvt .muted{font-size:12px}
.dvbars{display:flex;align-items:flex-end;gap:2px;height:34px}
.dvbars i{flex:1;max-width:14px;background:var(--teal);border-radius:2px 2px 0 0;min-width:3px}.dvbars i.z{background:var(--line)}
@media (max-width:700px){.dvr{grid-template-columns:1fr}.dvrow{grid-template-columns:1fr 90px}.dvbars{grid-column:1/-1}}
/* Documents / Data rooms switch and rooms */
.dswitch{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:3px;margin:0 0 14px;background:var(--white)}
.dswitch a{padding:5px 14px;border-radius:999px;text-decoration:none;font-size:13.5px;color:var(--text2)}
.dswitch a.on{background:var(--teal);color:#fff}
.rfold{margin-bottom:14px}.rfold h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--teal)}
.ritem{display:flex;gap:12px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;font-size:14px}
.ritem a{flex:1;color:var(--ink);text-decoration:none;font-weight:500}.ritem .muted{font-size:12.5px}
.pick{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto;margin-top:10px}
.pick .agree{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink);grid-template-columns:none}
.pick .agree input{width:16px;height:16px;flex:none}
table.mx th{font-size:12px;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}
table.mx td{font-size:13px;white-space:nowrap}
td.mx1{background:#eef4e2;text-align:center}td.mx1 span{display:block;font-size:11px;color:#3d5a10}td.mx0{text-align:center;color:#b9c6ca}
table.alog td{font-size:13px;padding:6px 8px}
/* Contact search picker */
.cpick{position:absolute;left:0;right:0;top:100%;z-index:60;background:var(--white);border:1px solid var(--line2);border-radius:10px;box-shadow:0 12px 32px rgba(0,40,55,.18);max-height:300px;overflow:auto;margin-top:4px}
.cpick button{display:grid;grid-template-columns:1fr auto;gap:0 8px;width:100%;text-align:left;background:none;border:0;padding:8px 12px;cursor:pointer;font:inherit}
.cpick button b{font-weight:500;font-size:14px;color:var(--ink)}.cpick button span{grid-column:1;font-size:12px;color:var(--text2)}
.cpick button em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-size:11px;background:#e3eef3;color:var(--teal);border-radius:999px;padding:2px 8px}
.cpick button.on,.cpick button:hover{background:var(--cream)}
.cpick p{margin:0;padding:10px 12px;font-size:13px;color:var(--text2)}
input.picked{border-color:var(--green)!important;background:#f4f9ec!important}
.brandprev{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.brandprev .bpl{height:40px;max-width:140px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px}
.brandprev .bpb{height:52px;max-width:220px;object-fit:cover;border-radius:8px}
.recform input.colorin{width:72px!important;height:34px!important;padding:0!important;border-radius:8px!important;cursor:pointer;justify-self:start;background:none!important}
.outchip{display:inline-block;margin-top:3px;font-size:11.5px!important;color:#0b4f63!important;background:#e3eef3;border-radius:999px;padding:1px 8px;width:fit-content}

/* Pipeline board */
.plall{margin:4px 0 12px}
.board{display:grid;grid-template-columns:repeat(6,minmax(200px,1fr));gap:12px;overflow-x:auto;padding-bottom:10px;align-items:start}
.bcol{background:var(--sand);border-radius:var(--rs);padding:10px;min-height:180px;border-top:4px solid var(--line2);transition:background .15s}
.bcol.over{background:#e6f0d4}
.bcol .bh{display:flex;flex-direction:column;gap:1px;margin-bottom:8px}
.bcol .bh b{font-family:var(--display);font-size:13px;text-transform:uppercase;color:var(--ink)}
.bcol .bh span{font-size:12.5px;font-variant-numeric:tabular-nums;color:var(--ink)}
.bcol .bh small{font-size:11.5px;color:var(--grey)}
.bcol.st-qualified{border-top-color:#7fb3c2}.bcol.st-proposal{border-top-color:var(--teal)}.bcol.st-negotiation{border-top-color:var(--amber)}
.bcol.st-won{border-top-color:var(--green)}.bcol.st-lost{border-top-color:var(--red);opacity:.85}
.bcards{display:flex;flex-direction:column;gap:8px}
.dcard{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;background:var(--white);border-radius:10px;padding:9px 11px;box-shadow:var(--shadow);cursor:pointer;font-size:13px;border:1px solid transparent}
.dcard:hover{border-color:var(--line2)}.dcard:focus-visible{outline:3px solid var(--green)}
.dcard.drag{opacity:.4}
.dcard span{color:var(--grey);font-size:12px}
.dcard .dm{display:flex;justify-content:space-between;gap:6px;margin-top:3px}
.dcard .dm em{font-style:normal;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.dcard .dm i{font-style:normal}
@media (max-width:760px){.board{grid-template-columns:repeat(6,78vw);scroll-snap-type:x mandatory}.bcol{scroll-snap-align:start}}

/* Client impact report */
.ibar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ibar select{width:auto}
.impdoc{background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);max-width:980px;margin:0 auto}
.ihero{background:var(--ink);color:var(--cream);display:flex;gap:28px;align-items:center;padding:34px 38px;border-bottom:6px solid var(--green)}
.ihero img{height:46px}
.ihero p{margin:0;color:var(--green);font-weight:600;font-size:14px}
.ihero h1{font-family:var(--display);font-weight:900;font-size:clamp(28px,5vw,46px);line-height:1.02;margin:4px 0 6px;color:var(--white)}
.ihero .isub{color:var(--cream);font-weight:400;opacity:.85}
.ifigs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border-bottom:1px solid var(--line)}
.ifig{padding:24px 28px;border-right:1px solid var(--line)}
.ifig:last-child{border-right:none}
.ifig b{display:block;font-family:var(--display);font-weight:900;font-size:30px;color:var(--teal);line-height:1.05}
.ifig span{display:block;font-size:14px;color:var(--ink);margin-top:4px}
.ifig small{display:block;color:var(--grey);font-size:12.5px}
.impdoc section{padding:24px 38px}
.irow{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}
.imap{height:320px;border-radius:var(--rs)}
.isite{display:flex;flex-direction:column;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.isite span{color:var(--grey);font-size:12.5px}
.ifoot{padding:16px 38px 26px;color:var(--grey);font-size:12px;border-top:1px solid var(--line)}
@media (max-width:760px){.ihero{flex-direction:column;align-items:flex-start;padding:24px}.impdoc section{padding:18px 20px}.irow{grid-template-columns:1fr}.ifig{border-right:none;border-bottom:1px solid var(--line)}}
@media print{
  #impdoc,#impdoc *{visibility:visible}
  #impdoc{position:absolute;left:0;top:0;width:100%;box-shadow:none;border-radius:0;max-width:none}
  .ihero,.ifig b{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .irow{grid-template-columns:1.2fr 1fr}
  #impdoc .leaflet-control-container{display:none}
}

/* CRM suggestions */
.sggrp{margin-bottom:12px;padding:14px 16px}
.sghead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.sghead h3{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:15px}
.sghead h3 a{color:var(--ink);text-decoration:none}
.sgnew{font-size:13px!important}
.sgnew .sgon{width:220px;font:600 14px var(--body)}
.sghead select{width:auto}
.sgb{display:flex;gap:10px;align-items:center}
.sgrow{display:grid;grid-template-columns:24px 140px 160px 170px 1fr auto;gap:8px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}
.sgrow input[type=text],.sgrow input:not([type]){padding:5px 8px;font-size:13px}
.sgm{display:flex;flex-direction:column;min-width:0;font-size:13px}
.sgm b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sgm span{color:var(--grey);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.sgrow{grid-template-columns:24px 1fr 1fr;}.sgrow .sgt,.sgrow .sgm{grid-column:2/4}.sgrow .sgb{grid-column:2/4}}

/* Page preview on the reading bars */
.dvbars i{cursor:pointer}
.dvprev{position:fixed;z-index:3000;width:280px;background:var(--white);border:1px solid var(--line2);border-radius:var(--rs);box-shadow:0 10px 30px rgba(0,66,87,.18);padding:8px;pointer-events:none}
.dvph{display:flex;justify-content:space-between;font-size:12.5px;margin-bottom:6px}.dvph span{color:var(--teal);font-weight:600}
.dvpi{min-height:120px;display:flex;align-items:center;justify-content:center;background:var(--sand);border-radius:8px;overflow:hidden}
.dvpi img{display:block;width:100%;height:auto}

/* Sequences */
.sqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.sqcard{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--ink);border:1px solid transparent}
.sqcard:hover{border-color:var(--line2)}.sqcard.paused{opacity:.8}.sqcard.archived{opacity:.6}
.sqh{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sqh b{font-size:15px}
.sqsteps{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.sqsteps span{width:24px;height:24px;border-radius:50%;background:var(--sand);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--teal)}
.sqsteps em{font-style:normal;color:var(--grey);font-size:12.5px;margin-left:6px}
.sqnums{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--grey)}.sqnums b{color:var(--ink);font-size:14px}
.sqnums .due b{color:var(--amber)}
.sqarch{margin-top:18px}.sqarch summary{cursor:pointer;color:var(--grey);margin-bottom:10px}
.sqtl{display:flex;flex-direction:column;gap:0;margin:6px 0 14px}
.sqstep{display:grid;grid-template-columns:110px 1fr;gap:14px;position:relative;padding-bottom:12px}
.sqstep::before{content:'';position:absolute;left:54px;top:40px;bottom:0;border-left:2px dashed var(--line2)}
.sqstep:last-child::before{display:none}
.sqday{text-align:center;padding-top:10px}.sqday b{display:block;font-family:var(--display);font-size:14px;color:var(--teal)}.sqday span{font-size:11.5px;color:var(--grey)}
.sqbody{padding:12px 16px}
.sqsh{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sqsh .lnk{font-size:12.5px}
.sqic{display:inline-flex;width:26px;height:26px;border-radius:50%;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:var(--teal);flex:0 0 auto}
.sqic.k-linkedin_connect,.sqic.k-linkedin_message{background:#0a66c2}.sqic.k-call{background:var(--green)}.sqic.k-task{background:var(--brown)}
.sqsub{font-weight:600;margin:8px 0 2px}.sqtxt{white-space:pre-wrap;color:var(--text2,#33525c);font-size:13px;margin:4px 0 0}
.sqadd{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.sqadd .sqic{width:18px;height:18px;font-size:10px}
.sqvars{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--grey)}
.chipbtn{border:1px solid var(--line2);background:var(--white);border-radius:999px;padding:3px 10px;font:500 12px var(--body);color:var(--teal);cursor:pointer}
.sqpicked{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sqchip{display:inline-flex;align-items:center;gap:6px;background:var(--sand);border-radius:999px;padding:4px 6px 4px 12px;font-size:13px}
.sqchip em{font-style:normal;color:var(--grey);font-size:12px}.sqchip button{border:0;background:none;cursor:pointer;font-size:15px;color:var(--grey)}
.sqmenu{display:flex;flex-direction:column;gap:8px}
.sqduecell{color:var(--amber);font-weight:600}
.sqdue{margin-bottom:12px}.sqdh{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px}
.sqlate{color:var(--red);font-weight:600}
.seqban{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none;margin-bottom:12px;border-left:4px solid var(--amber)}
.seqban b{color:var(--ink)}.seqban span{color:var(--teal);font-size:13px}
@media (max-width:640px){.sqstep{grid-template-columns:64px 1fr;gap:8px}.sqstep::before{left:31px}}

/* Automations */
.augrp{margin-bottom:22px}.augrp h3{margin:0}.augrp>p{margin:2px 0 10px}
.augrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:12px}
.aucard{padding:14px 16px}.aucard p{margin:6px 0 8px;font-size:13.5px}
.auh{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.auh b{font-size:14.5px}
.audot{width:10px;height:10px;border-radius:50%;background:var(--green);flex:0 0 auto}
.audot.off{background:var(--grey)}.audot.bad{background:var(--red)}.audot.warn{background:var(--amber)}
.aulbl{font-size:12px;font-weight:600;color:var(--green)}.aulbl.off{color:var(--grey)}.aulbl.bad{color:var(--red)}.aulbl.warn{color:var(--amber)}
.aucard dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:12.5px}
.aucard dl div{display:contents}.aucard dt{color:var(--grey)}.aucard dd{margin:0}
.auh .fill,.sqsh .fill,.sqdh .fill{flex:1}
.hsep{flex:0 0 auto;width:1px;height:18px;background:rgba(250,245,237,.28);margin:0 8px;align-self:center}

/* Small pop-up forms: label above the field, full width, larger text (readable on any screen) */
.mbox:not(.wide) .recform label,.mbox:not(.wide) .recform label.full{grid-template-columns:1fr;gap:5px;align-items:start;font-size:12.5px}
.mbox:not(.wide) .recform .grid{gap:12px 18px}
.mbox:not(.wide) .recform input,.mbox:not(.wide) .recform select{height:40px;font-size:14.5px;padding:6px 12px}
.mbox:not(.wide) .recform textarea{font-size:14.5px;padding:8px 12px;min-height:90px}
.mbox:not(.wide) .recform label.chk{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13.5px;color:var(--ink)}
.mbox:not(.wide) .recform label.chk input{width:auto;height:auto}
html[data-density] .mbox:not(.wide) .recform input,html[data-density] .mbox:not(.wide) .recform select{height:38px;font-size:14px}
@media (max-width:640px){.mbox:not(.wide) .recform .grid{grid-template-columns:1fr}}
.tact{display:flex;justify-content:flex-end;padding:4px 0 2px}
.tligone{font-size:12.5px;color:var(--grey);padding:8px 12px;border:1px dashed var(--line2);border-radius:10px;margin:4px 0}
.recform [hidden]{display:none!important}
.dvwhere{font-size:12px;color:var(--teal)}
/* on/off switch */
.tgl{position:relative;display:inline-block;width:38px;height:22px;cursor:pointer;vertical-align:middle}
.tgl input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.tgl span{position:absolute;inset:0;background:#c9d4d1;border-radius:999px;transition:background .15s}
.tgl span::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:transform .15s}
.tgl input:checked+span{background:var(--green)}
.tgl input:checked+span::after{transform:translateX(16px)}
.tgl input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}
.tgl input:disabled+span{opacity:.5}
.lkbtns{display:inline-flex;gap:6px;white-space:nowrap}
/* Document insights: top pages and visit map */
.dvsum{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;margin-top:16px}
.dvsum:empty{display:none}
.tpl{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.tp{display:flex;gap:12px;align-items:center}
.tpimg{width:120px;aspect-ratio:16/9;background:var(--sand);border-radius:6px;overflow:hidden;flex:0 0 auto;border:1px solid var(--line)}
.tpimg img{width:100%;height:100%;object-fit:cover;display:block}
.tp b{display:block;font-size:20px;font-family:var(--display);color:var(--ink)}
.tp span{display:block;font-size:12.5px;color:var(--grey)}
#vmap{height:300px;border-radius:var(--rs);margin-top:8px}
.vpin{background:none;border:0}
.vpin span{position:relative;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--teal);color:#fff;font:600 12px var(--body);box-shadow:0 2px 6px rgba(0,0,0,.25);border:2px solid #fff}
.vpin span::after{content:'';position:absolute;bottom:-9px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--teal)}
@media (max-width:860px){.dvsum{grid-template-columns:1fr}}
.dvr{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) 300px;text-align:left}
.dvr>*{text-align:left;justify-self:start}
.dvr>span.muted{justify-self:end;text-align:right}
@media (max-width:700px){.dvr{grid-template-columns:1fr}.dvr>span.muted{justify-self:start;text-align:left}}
.btn.ibtn{display:inline-flex;align-items:center;justify-content:center;padding:0;width:38px;height:36px}
.prow{display:flex;align-items:flex-start;gap:4px}.prow>a{flex:1;min-width:0}
.pact{display:flex;align-items:center;gap:2px;padding-top:6px}
.apl{font-size:11.5px;color:var(--teal);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:1px 7px}
.lnk.ibl{display:inline-flex;padding:4px;color:var(--grey)}.lnk.ibl:hover{color:var(--teal)}
.apgrp{margin-bottom:12px}.apgrp>p{margin:2px 0 8px}
.aprow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.apwho{display:flex;flex-direction:column}.apwho a{color:var(--ink);text-decoration:none}
.apchg s{color:var(--grey)}.apb{display:flex;gap:10px;align-items:center}
@media (max-width:760px){.aprow{grid-template-columns:1fr}}
.plist a.apl{display:inline-block;padding:1px 8px;font-size:11px;border-radius:999px}
.scmark{display:inline-block;font:700 9.5px var(--body);color:#fff;background:var(--green);border-radius:4px;padding:1px 4px;vertical-align:1px;letter-spacing:.03em}
td.yc,th.yc{min-width:54px}
.cyleg{margin:0 0 8px}
/* events */
.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.evcard{display:block;color:inherit;text-decoration:none}.evcard:hover{box-shadow:0 0 0 2px var(--teal) inset,var(--shadow)}
.evcard h3{margin:10px 0 4px}.evtop{display:flex;justify-content:space-between;align-items:center}
.evnums{display:flex;gap:22px;margin-top:14px}.evnums b{display:block;font-size:24px;color:var(--teal)}.evnums span{font-size:12px;color:var(--muted,#777)}
.evdesc{max-width:72ch;margin:-6px 0 16px}.evclients{margin-bottom:14px}.evclients .chipbtn{margin:3px 2px;display:inline-block;text-decoration:none}
.evok{color:#4c7413;font-weight:700}.evno{color:#b58a00}
.evrow{padding:8px 0;border-bottom:1px solid var(--line2);display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}.evrow:last-child{border:0}
.evbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}.evbar .relbar{margin:0}
.outchip.evchip.yes{background:#e8f1d6;color:#4c7413}
.evwhen{margin:6px 0 0;color:var(--text2);font-size:14px}


.evstats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 24px;padding:18px 22px;margin-bottom:16px;align-items:start}
.evst{display:flex;flex-direction:column;gap:4px;text-align:left;background:none;border:0;padding:0;font:inherit;color:inherit}
.evst b{font-size:28px;line-height:1;color:var(--teal);font-weight:600}.evst b small{font-size:15px;color:var(--text2);font-weight:500}
.evst span{font-size:13px;color:var(--text2)}
.evclbtn{cursor:pointer}.evclbtn:hover span{color:var(--teal)}.evclbtn:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}
.evcllist{grid-column:1/-1;border-top:1px solid var(--line2);padding-top:12px}.evcllist .chipbtn{margin:3px 2px;display:inline-block;text-decoration:none}
.evbar{align-items:center}
.ibgroup{display:inline-flex;gap:6px;margin-left:6px}
/* super admin access bubble */
.accb{margin-left:auto;position:relative;flex:none}
.accbtn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(250,245,237,.35);background:rgba(250,245,237,.1);color:#faf5ed;border-radius:999px;padding:4px 11px;font:500 12px var(--body);cursor:pointer;white-space:nowrap}
.accbtn:hover{background:rgba(250,245,237,.2)}.accbtn:focus-visible{outline:2px solid #faf5ed;outline-offset:2px}
.accpop{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:320px;max-height:60vh;overflow:auto;background:var(--white);color:var(--ink);border-radius:14px;box-shadow:0 12px 32px rgba(0,0,0,.22);padding:14px 16px}
.accpop h4{margin:0 0 8px;font-size:14px}.accpop ul{list-style:none;margin:0;padding:0}
.accpop li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--line2);align-items:center}
.accpop li small{grid-column:1/-1;color:var(--text2);font-size:12px}.accnote{font-size:12px;margin:10px 0 0}
@media (max-width:640px){.accbtn span{display:none}.accpop{position:fixed;left:12px;right:12px;width:auto;top:120px}}
/* HR: holidays and missions */
.hrbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.hrbar .relbar{margin:0}
.yrsw{display:inline-flex;align-items:center;gap:10px}.yrsw b{font-size:17px;min-width:44px;text-align:center}
.hrtop{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:16px;margin-bottom:16px}
.hrnow p{margin:8px 0 0;line-height:1.45}.hrnext ul{list-style:none;margin:6px 0 0;padding:0}
.hrnext li{display:grid;grid-template-columns:auto 160px 1fr auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line2);cursor:pointer}.hrnext li:last-child{border:0}
.lk{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:600}
i.lk{width:12px;height:12px;padding:0;margin-right:6px;vertical-align:-1px}
.k-Holiday{background:#f3c9a5;color:#7a3d10}.k-Dayoff{background:#f6dfa0;color:#6b5100}.k-Mission{background:#bfe0d5;color:#0f5e49}.k-Other{background:#dad6ea;color:#463d79}
.hrcal{overflow-x:auto}.hrgrid{min-width:760px}
.hrh,.hrr{display:grid;grid-template-columns:170px 1fr;align-items:center}
.hrm{display:grid;grid-template-columns:repeat(12,1fr);font-size:12px;color:var(--text2);border-bottom:1px solid var(--line2);padding-bottom:6px}
.hrm span{padding-left:4px;border-left:1px solid var(--line2)}
.hrr{min-height:38px;border-bottom:1px solid var(--line2)}.hrp{font-weight:600;font-size:13.5px;padding-right:10px}
.hrt{position:relative;height:38px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100%/12 - 1px),var(--line2) calc(100%/12 - 1px),var(--line2) calc(100%/12))}
.hrbarl{position:absolute;top:9px;height:20px;border-radius:6px;border:0;cursor:pointer;padding:0}.hrbarl:hover{filter:brightness(.93)}.hrbarl:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.hrbarl.k-Holiday{background:#e8955a}.hrbarl.k-Dayoff{background:#e3b23c}.hrbarl.k-Mission{background:#2f8f74}.hrbarl.k-Other{background:#7a6fb5}
.hrtoday{position:absolute;top:0;bottom:0;width:2px;background:var(--red,#c0392b);opacity:.6}
.hrleg{display:flex;gap:16px;margin-top:12px;font-size:12.5px;color:var(--text2)}.hrempty{padding:18px 0}
@media (max-width:760px){.hrtop{grid-template-columns:1fr}.hrnext li{grid-template-columns:auto 1fr;}.hrnext li span:last-child{grid-column:1/-1}}
/* HR: team meetings */
.mtwrap{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}
.mtlist{padding:8px;max-height:75vh;overflow:auto;position:sticky;top:12px}
.mtl{display:grid;grid-template-columns:1fr auto;gap:0 8px;padding:9px 12px;border-radius:10px;color:inherit;text-decoration:none}
.mtl b{font-size:14px}.mtl span{grid-column:1;font-size:12.5px;color:var(--text2)}.mtl small{grid-column:2;grid-row:1/3;align-self:center;font-size:12px;color:var(--text2)}
.mtl:hover{background:var(--sand)}.mtl.on{background:var(--teal);color:#fff}.mtl.on span,.mtl.on small{color:rgba(255,255,255,.8)}
.mth{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.mth h3{margin:0}.mth p{margin:4px 0 0}
.agl{display:flex;flex-direction:column}
.agi{display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:start;text-align:left;background:none;border:0;border-top:1px solid var(--line2);padding:12px 4px;font:inherit;color:inherit;cursor:pointer}
.agi:hover{background:var(--sand)}.agi .chip{justify-self:start}
.agt{display:flex;flex-direction:column;gap:3px}.agt span{color:var(--text2);font-size:13px}.agt small{color:var(--text2);font-size:12px}
.agm{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.aglead{font-size:12px;font-weight:600;color:var(--teal)}.agcat{font-size:11.5px;background:var(--sand);border-radius:999px;padding:2px 8px}
.mmem{display:flex;flex-wrap:wrap;gap:6px 16px}
@media (max-width:820px){.mtwrap{grid-template-columns:1fr}.mtlist{position:static;max-height:240px}.agi{grid-template-columns:1fr}.agm{justify-content:flex-start}}
/* Sales → Lists */
.lsintro{margin:-4px 0 16px;color:var(--text2);max-width:70ch}
.lsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.lscard{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;color:inherit;text-decoration:none;align-items:baseline}
.lscard h3,.lscard p{grid-column:1/-1;margin:0}.lscard p{font-size:13px;margin-bottom:10px}.lscard b{font-size:26px;color:var(--teal)}.lscard span{color:var(--text2);font-size:13px}
.lscard:hover{box-shadow:0 0 0 2px var(--teal) inset,var(--shadow)}
.lsstat{display:flex;gap:22px;flex-wrap:wrap;margin:-4px 0 14px;color:var(--text2);font-size:13.5px}.lsstat b{color:var(--ink);font-size:16px}
.lsfacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:4px 0 16px}.lsfacts dt{font-size:12px;color:var(--text2);text-transform:capitalize}.lsfacts dd{margin:2px 0 0;overflow-wrap:anywhere}
.rtpick{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rtcard{display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--white);border:1px solid var(--line2);border-radius:14px;padding:18px;font:inherit;color:inherit;cursor:pointer}
.rtcard b{font-size:16px;color:var(--teal)}.rtcard span{font-size:13.5px;line-height:1.45}.rtcard small{color:var(--text2);font-size:12px}
.rtcard:hover,.rtcard:focus-visible{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal) inset;outline:none}
@media (max-width:560px){.rtpick{grid-template-columns:1fr}}
/* field mode */
.fxhero{border-radius:22px;padding:22px 22px 18px;color:#fff;background:linear-gradient(160deg,#00495f,#00313f);box-shadow:var(--shadow);margin-bottom:14px}
.fxhero.off{background:linear-gradient(160deg,#5b3a12,#3b260b)}
.fxtop{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.fxk{margin:0;font-size:13px;opacity:.75}.fxhero h2{margin:2px 0 4px;color:#fff;font-size:24px}.fxsub{margin:0;opacity:.85;font-size:14.5px}
.fxdot{flex:none;width:16px;height:16px;border-radius:50%;margin-top:8px;background:#9be15d;box-shadow:0 0 0 6px rgba(155,225,93,.25)}.fxhero.off .fxdot{background:#ffb347;box-shadow:0 0 0 6px rgba(255,179,71,.25)}
.fxsteps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 14px;padding:0}
.fxs{display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center;background:rgba(255,255,255,.08);border-radius:12px;padding:10px}
.fxs b{font-size:14px}.fxs small{grid-column:2;font-size:12px;opacity:.75}
.fxn{grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(255,255,255,.5);font-size:13px;font-weight:700}
.fxs.done .fxn{background:#9be15d;border-color:#9be15d;color:#123}.fxs.now{background:rgba(255,255,255,.18)}.fxs.now .fxn{background:#fff;color:#00495f;border-color:#fff}.fxs.warn .fxn{background:#ffb347;border-color:#ffb347;color:#3b260b}
.fxacts{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.fxbtn{background:#fff;color:#00495f}.fxbtn.sec{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}.fxp{font-size:13px;opacity:.85}
.fxwarn{background:#fff4dc;border-radius:12px;padding:10px 14px;color:#6b4a00;font-size:14px}
.fxh{margin:20px 0 10px}
.fxtiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.fxtile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:118px;padding:16px;border-radius:18px;border:0;background:var(--white);box-shadow:var(--shadow);font:inherit;text-align:left;cursor:pointer;color:var(--ink)}
.fxtile svg{margin-bottom:4px}.fxtile b{font-size:15px;line-height:1.2}.fxtile span{font-size:12.5px;color:var(--text2)}
.fxtile.f-g svg{color:#2f7d32}.fxtile.f-b svg{color:#0b6e8a}.fxtile.f-r svg{color:#c0392b}.fxtile.f-a svg{color:#b26a00}
.fxtile:active{transform:scale(.98)}.fxtile:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.fxtile:disabled{opacity:.45;cursor:not-allowed}
.fxloc{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}.fxloc h3{margin:0 0 4px}.fxloc p{margin:0}
.fxout{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.fxout li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--white);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}
.fxout li div{display:flex;flex-direction:column;gap:2px}.fxout li span{font-size:12.5px;color:var(--text2)}.fxout li.err{box-shadow:0 0 0 2px #e3a3a3 inset}
.fxhelp{margin:20px 0 4px;color:var(--text2);font-size:14px}.fxhelp summary{cursor:pointer;color:var(--teal);font-weight:500}.fxhelp p{max-width:70ch;line-height:1.5}
@media (max-width:560px){.fxhero{border-radius:18px;padding:18px}.fxhero h2{font-size:21px}.fxsteps{grid-template-columns:1fr;gap:6px}.fxtiles{grid-template-columns:1fr 1fr}.fxtile{min-height:104px;padding:14px}}
/* PR */
.prbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-bottom:14px}.prbar .dswitch{margin:0}
.prleg{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text2)}
.pc{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px;vertical-align:0}.pc.li,.prpost.li{--c:var(--teal);--fg:#fff}.pc.ig,.prpost.ig{--c:#c13584;--fg:#fff}.pc.bl,.prpost.bl{--c:var(--brown);--fg:#fff}.pc{background:var(--c)}
.prmiss{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;background:#e8f4ef;border-radius:12px;padding:10px 14px;margin-bottom:14px;font-size:13.5px}.prmiss a{margin-left:auto;font-weight:600}
.prcal-wrap{display:grid;grid-template-columns:1fr 240px;gap:16px;align-items:start}
.prcal{padding:12px}.prdow,.prgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.prdow span{font-size:12px;color:var(--text2);padding:4px 6px}
.prday{min-height:96px;border-top:1px solid var(--line2);border-left:1px solid var(--line2);padding:4px;display:flex;flex-direction:column;gap:3px;min-width:0}
.prday:nth-child(7n){border-right:1px solid var(--line2)}.prday.out{background:#faf8f4}.prday.out .prdn{opacity:.4}
.prdn{font-size:12px;color:var(--text2);padding:0 2px}.prday.today .prdn{background:var(--teal);color:#fff;border-radius:999px;padding:0 7px;align-self:flex-start}
.prpost{display:block;width:100%;flex-shrink:0;text-align:left;border:0;background:var(--c);border-radius:5px;padding:4px 7px;font:600 12px/1.3 var(--body);color:var(--fg,#fff);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prpost:hover{filter:brightness(1.12)}.prpost.pub{background:var(--sand);color:var(--grey);font-weight:500;box-shadow:inset 3px 0 0 var(--c)}.prpost.pub:hover{filter:none;background:#dedbd4}
.prside{display:flex;flex-direction:column;gap:6px;max-height:70vh;overflow:auto}.prside h3{margin:0 0 4px}.prside .prpost{white-space:normal}
.bboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.bcol{background:#f3efe7;border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px}.bcol h3{margin:2px 4px 4px;font-size:15px}
.bcard{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--white);border:0;border-radius:12px;padding:12px;box-shadow:var(--shadow);font:inherit;color:inherit;cursor:pointer}.bcard span{font-size:12px;color:var(--text2)}
.drgrp{font-size:12px;color:var(--text2);margin:10px 12px 2px}.drnew{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e8590c;vertical-align:2px}
.drst{width:auto;border-radius:999px;padding:6px 10px}.drbrief{background:#faf7f1;border-radius:10px;padding:12px 14px;line-height:1.5}
.prthread h3{margin:18px 0 8px}.prc{border-top:1px solid var(--line2);padding:10px 0}.prch{display:flex;gap:10px;align-items:baseline;font-size:13px}.prc p{margin:4px 0}
.primg{position:relative;display:inline-block;margin:6px 0 0;max-width:100%}.primg img{display:block;max-width:100%;max-height:420px;border-radius:8px}
.primg svg,.mkwrap svg{position:absolute;inset:0;width:100%;height:100%}.primg svg{pointer-events:none}
.primg svg polyline,.mkwrap svg polyline{fill:none;stroke:#e03131;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.primg button{position:absolute;right:8px;bottom:8px;display:inline-flex;gap:4px;align-items:center}.primg button svg{position:static;width:14px;height:14px}
.prnew{margin-top:10px}.prnew textarea{width:100%}.prnewb{display:flex;gap:8px;align-items:center;margin-top:6px}
.mkwrap{position:relative;display:inline-block;max-width:100%;touch-action:none}.mkwrap img{display:block;max-width:100%;max-height:65vh}.mkwrap svg{cursor:crosshair}
.mknote{flex:1;min-width:120px}
@media (max-width:900px){.prcal-wrap{grid-template-columns:1fr}.bboard{grid-template-columns:1fr 1fr}.prday{min-height:70px}.prpost{font-size:11px}}
@media (max-width:560px){.bboard{grid-template-columns:1fr}.prleg{display:none}}
/* Admin → Users access grid */
.umx th,.umx td{vertical-align:middle}.umx thead th{white-space:nowrap}
.umx th.gs,.umx td.gs{border-left:1px solid var(--line2)}.umx th.sub{font-size:11.5px;font-weight:500;color:var(--text2);text-align:center;padding-top:0}
.umx thead tr:first-child th.gs{text-align:center}.umx td.tc{text-align:center;padding-left:6px;padding-right:6px}
.tk{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;font-size:13px;font-weight:700;line-height:1}
.tk.wr{background:var(--teal);color:#fff}.tk.rd{border:1.5px solid var(--teal);color:var(--teal)}.tk.mg{background:#b8860b;color:#fff;font-size:12px}.tk.no{border:1.5px solid var(--line2)}
.uleg{display:flex;flex-wrap:wrap;gap:18px;margin:-4px 0 12px;font-size:13px;color:var(--text2)}.uleg>span{display:inline-flex;align-items:center;gap:6px}
.umx .dragc{width:28px;padding-left:4px;padding-right:0;cursor:default}
.draghd{cursor:grab;touch-action:none;display:inline-block;color:var(--text2);font-size:20px;line-height:1;padding:8px 6px;border-radius:4px;user-select:none}.draghd:hover{background:var(--sand);color:var(--teal)}
.umx tr.dragging{opacity:.4}.umx tr.dropbefore td{box-shadow:inset 0 3px 0 var(--teal)}.umx tr.dropafter td{box-shadow:inset 0 -3px 0 var(--teal)}
.mlab{margin:4px 0 0;font-weight:600;font-size:13.5px}.mnote{margin:0;font-size:12.5px}
/* suggestion list under text fields (replaces the browser's own pop-up) */
input[data-dl],input[list]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23003a4c' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
input[list]::-webkit-calendar-picker-indicator{display:none!important;opacity:0}
body>.combo{position:fixed;z-index:3000;overflow:auto;background:var(--white);border:1px solid var(--line2);border-radius:12px;box-shadow:0 12px 30px rgba(0,40,55,.18);padding:4px}
body>.combo button{display:block;width:100%;text-align:left;border:0;background:none;border-radius:8px;padding:9px 12px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
body>.combo button:hover,body>.combo button.hi{background:var(--sand);color:var(--teal)}
.combonew{padding:8px 12px;font-size:12.5px;color:var(--text2);border-top:1px solid var(--line2);margin-top:2px}
/* avatars */
.av{display:inline-block;border-radius:50%;object-fit:cover;flex:none;vertical-align:middle;background:#ddd}
.avi{display:inline-grid;place-items:center;color:#fff;font-weight:600;letter-spacing:.02em;line-height:1}
.pbub.hasav{padding:0;overflow:hidden}.pbub.hasav .av{width:100%!important;height:100%!important}
.avstack{display:flex;align-items:center;margin-top:6px}.avstack .av{border:2px solid var(--white);margin-left:-8px}.avstack .av:first-child{margin-left:0}
.avstack.sm{grid-column:1/-1;margin-top:4px}.avstack.sm .av{margin-left:-6px;border-width:1.5px}.mtl.on .avstack .av{border-color:var(--teal)}
.uwho{display:flex;align-items:center;gap:10px}.uhead{display:flex;gap:16px;align-items:center}.uhead h2{margin:0}.uhead p{margin:4px 0}
.pchip{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 4px;border:1.5px solid var(--line2);border-radius:999px;cursor:pointer;font-size:13.5px;user-select:none}
.pchip input{position:absolute;opacity:0;pointer-events:none}.pchip:has(input:checked){border-color:var(--teal);background:#e6f1f3}
.pchip:has(input:not(:checked)) .av{filter:grayscale(1);opacity:.55}.pchip:has(input:disabled){cursor:default}.pchip:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:2px}
/* agenda: drag and quick add */
.agrow{display:flex;align-items:stretch;border-top:1px solid var(--line2)}.agrow .agi{border-top:0;flex:1}
.aghd{display:flex;align-items:center;padding:0 6px;cursor:grab;color:var(--text2);font-size:18px;touch-action:none;user-select:none}.aghd:hover{color:var(--teal);background:var(--sand)}
.agrow.dragging{opacity:.4}.agrow.dropbefore{box-shadow:inset 0 3px 0 var(--teal)}.agrow.dropafter{box-shadow:inset 0 -3px 0 var(--teal)}
.agadd{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line2);padding:10px 4px 2px}
.agplus{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--sand);color:var(--teal);font-weight:700}
.agadd input{flex:1;border:0;background:transparent;padding:8px 4px;font-size:14.5px}.agadd input:focus{outline:none;border-bottom:2px solid var(--teal)}
.mtopen{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding:14px 18px;border-radius:16px;background:#fff4e0;border:1.5px solid #f0b54a;color:#5b3a00;text-decoration:none;box-shadow:var(--shadow)}
.mtopen:hover{background:#ffedcc}.mtopen.on{background:#f0b54a;color:#3b2500}
.mton{min-width:52px;height:52px;padding:0 8px;border-radius:14px;background:#e8590c;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:700}
.mtot{display:flex;flex-direction:column;gap:2px;flex:1}.mtot b{font-size:16px}.mtot span{font-size:13.5px}.mtot .stk{font-style:normal;font-weight:700;color:#c92a2a}
.mtopen.on .mtot .stk{color:#7a1010}.mtgo{font-weight:600;font-size:14px;padding:7px 14px;border-radius:999px;background:#fff;color:#8a4b00}
@media (max-width:560px){.mtopen{gap:12px;padding:12px}.mton{min-width:44px;height:44px;font-size:20px}.mtgo{display:none}}
.recform .mmem{display:flex;flex-wrap:wrap;gap:8px}
.recform label.pchip{display:inline-flex;flex-direction:row;align-items:center;gap:8px;margin:0;padding:4px 14px 4px 4px;font-size:13.5px;font-weight:500;color:var(--ink);position:relative}
.recform label.pchip span{margin:0;line-height:1.2;align-self:center}
/* team meeting agenda – monday-style grid, every cell edited in place */
.agl .aghead,.agl .agrow{display:grid;grid-template-columns:28px minmax(0,1fr) 150px 120px 150px 36px;align-items:stretch}
.agl .agrow.noh,.agl .aghead:has(+ .agrow.noh){grid-template-columns:minmax(0,1fr) 150px 120px 150px 36px}
.aghead{font-size:12px;color:var(--text2);font-weight:600;padding:6px 0}.aghead span{padding:0 10px}.aghead span:nth-last-child(-n+4){text-align:center}
.agrow{border-top:1px solid var(--line2);min-height:46px}.agrow:hover{background:color-mix(in srgb,var(--sand) 55%,transparent)}
.agtc{display:flex;flex-direction:column;justify-content:center;padding:4px 8px;min-width:0}
.agtopic{border:1px solid transparent;background:transparent;font:inherit;font-weight:600;color:var(--text);padding:6px 8px;border-radius:6px;width:100%}
.agtopic:hover:not([readonly]){border-color:var(--line)}.agtopic:focus{outline:none;border-color:var(--teal);background:var(--card,#fff)}
.agcon{color:var(--text2);font-size:13px;padding:0 9px 4px}.agtc small{color:var(--text2);font-size:12px;padding:0 9px 4px}
.agcell{border:0;border-left:1px solid var(--card,#fff);background:none;font:inherit;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 8px;min-width:0}
.agcell:disabled{cursor:default}.agcell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aglc{justify-content:flex-start;font-size:13.5px;font-weight:600;color:var(--teal)}.aglc:hover:not(:disabled),.agtg:hover:not(:disabled){background:var(--sand)}
.agph{color:var(--text2);font-weight:400}
.agst{color:#fff;font-weight:600;font-size:13px;border-left:2px solid var(--card,#fff)}
.st-discussed{background:#2e9e6a}.st-ongoing{background:#e8a93a}.st-stuck{background:#d9534f}.agst:hover:not(:disabled){filter:brightness(1.07)}
.agcat{font-size:12px;border-radius:999px;padding:3px 10px;background:hsl(var(--h,40) 55% 92%);color:hsl(var(--h,40) 45% 28%);font-weight:600}
.agmore{border:0;background:none;color:var(--text2);cursor:pointer;font-size:16px;border-radius:6px}.agmore:hover{background:var(--sand);color:var(--teal)}
.agpop{position:fixed;z-index:1000;background:var(--card,#fff);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,40,40,.16);padding:6px;max-height:300px;display:flex;flex-direction:column;gap:4px}
.agpq{border:1px solid var(--line);border-radius:6px;padding:7px 9px;font:inherit;font-size:13.5px}
.agpl{overflow:auto;display:flex;flex-direction:column}
.agpl button{display:flex;align-items:center;gap:8px;border:0;background:none;font:inherit;font-size:13.5px;text-align:left;padding:7px 8px;border-radius:6px;cursor:pointer;color:var(--text)}
.agpl button:hover,.agpl button:focus{background:var(--sand);outline:none}.agpl button.on{background:color-mix(in srgb,var(--teal) 12%,transparent)}
.agpl .agnew{color:var(--teal);font-weight:600}.agpl .agclr{color:var(--text2);border-top:1px solid var(--line2);border-radius:0}
.agdot{width:12px;height:12px;border-radius:3px;display:inline-block}
@media (max-width:820px){.agl .aghead{display:none}.agl .agrow{grid-template-columns:28px 1fr 1fr 1fr 32px}
  .agl .agrow.noh{grid-template-columns:1fr 1fr 1fr 32px}.agtc{grid-column:2 / -1}.agrow.noh .agtc{grid-column:1 / -1}.aghd{grid-row:span 2}
  .agcell{min-height:36px;font-size:12.5px}}
.agl .agrow .agtc input.agtopic{border:1px solid transparent;background:transparent;box-shadow:none;min-height:0;padding:6px 8px}
.agl .agrow .agtc input.agtopic:hover:not([readonly]){border-color:var(--line)}.agl .agrow .agtc input.agtopic:focus{border-color:var(--teal);background:var(--card,#fff)}
.aghead span:nth-last-child(4){text-align:left}
.agcat{background:color-mix(in srgb,var(--c,#8a8f98) 16%,#fff);color:color-mix(in srgb,var(--c,#8a8f98) 75%,#000)}
.agpl .agmng{color:var(--teal);font-weight:600;border-top:1px solid var(--line2);border-radius:0;font-size:13px}
.omg{display:flex;flex-direction:column;gap:6px;margin:4px 0 10px}
.omrow{display:grid;grid-template-columns:30px 1fr auto 32px;gap:8px;align-items:center}
.omsw{width:28px;height:28px;border-radius:7px;border:0;cursor:pointer}
.omrow input.omlab{padding:7px 10px}
.omdone{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text2);white-space:nowrap}
.omdel{border:0;background:none;font-size:20px;color:var(--text2);cursor:pointer;border-radius:6px}.omdel:hover{background:var(--sand);color:#c0392b}
.ompal{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:6px;padding:6px 0 4px}
.ompal button{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer}.ompal button.on{border-color:var(--text);box-shadow:inset 0 0 0 2px #fff}
.omadd{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line2);padding-top:10px}
.omadd input{flex:1}
.ompal[hidden]{display:none}
.mtot span i{font-style:normal;font-weight:600}
.fchecks{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}.fchecks .mlab{flex-basis:100%}
.flg{margin-bottom:12px}.flh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}.flh>div{display:flex;flex-direction:column;gap:3px}
.fll{margin:10px 0 4px;padding-left:18px;font-size:13.5px}.fll li{margin:3px 0}
/* map header lines up with the map below: full screen ends where the map ends, the other buttons sit above the side panel */
.phead.mapphead{display:flex;gap:18px;align-items:center}
.mapphead .mphl{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mapphead>.hbtns{width:320px;flex:none;justify-content:flex-end;flex-wrap:nowrap}
@media (max-width:900px){.phead.mapphead{flex-wrap:wrap}.mapphead>.hbtns{width:auto}}
/* organisation page: tenure and offering tiles */
.offblk{background:var(--sand);border-radius:12px;padding:14px;margin:-2px 0 14px;display:flex;flex-direction:column;gap:12px}
.offten{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.offten b{font-size:16px;color:var(--teal)}.offten span{font-size:13px;color:var(--text2)}
.offgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.offt{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:10px 4px;border-radius:10px;background:#fff;border:1px dashed var(--line);color:#a3aab0;font-size:11.5px;line-height:1.25}
.offt svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.offt.on{border:1px solid transparent;background:var(--teal);color:#fff;font-weight:600}
@media (max-width:420px){.offgrid{grid-template-columns:repeat(2,1fr)}}
.offgrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.offt{min-width:0;padding:10px 2px;font-size:11px;overflow-wrap:anywhere}
.orgfacts>div.offblk{display:flex;flex-direction:column;justify-content:flex-start;border-bottom:0;padding:14px;font-size:inherit}
.offgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.offt{flex-direction:row;justify-content:flex-start;text-align:left;gap:9px;padding:10px 10px;font-size:12.5px;overflow-wrap:normal}
.offt svg{width:22px;height:22px;flex:none}
/* Phones: six modules – they get their own row under the logo, every module visible */
@media (max-width:700px){
  .hrow{height:auto;flex-wrap:wrap;padding:8px 10px 6px;row-gap:6px}
  .hrow>.nedge{order:5;flex:1 1 100%}
  .hrow .nedge>.mods{flex-wrap:wrap;justify-content:flex-start;gap:4px;overflow:visible}
  .mods a,.mods a.on{padding:5px 11px;font-size:13px}
  .hrow>.pwrap,.hrow>.hadm{margin-left:auto}
}
.blkbtn{align-self:end;justify-self:start}.blknote{align-self:end;color:#c0392b;font-size:13px;font-weight:600}
@media (max-width:700px){.hrow .nedge>.mods{gap:2px;justify-content:space-between}.mods a,.mods a.on{padding:5px 8px;font-size:12.5px}}
@media (max-width:360px){.mods a,.mods a.on{padding:4px 6px;font-size:12px}}
.plwrap{max-height:60vh;overflow:auto;margin-top:8px}
.agpl .agsep{border:0;border-top:1px solid var(--line);margin:4px 2px;width:auto}
@media (max-width:600px){.recform label{grid-template-columns:1fr;gap:4px;align-items:start}.recform label.chk,.recform label.inl,.recform label.pchip{display:flex}}
/* profile menu: display density row (also the only place for it on phones) */
.pmenu .pdens{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:14px;color:var(--ink)}
.pmenu .pdens .dens{display:flex;border-color:var(--line);margin:0}
.pmenu .pdens .dens button{color:var(--text2);border-left-color:var(--line)}
.pmenu .pdens .dens button.on{color:var(--teal);background:var(--sand)}
@media (min-width:701px){.pmenu .pdens{display:none}}
@media (max-width:700px){.pmenu .padm{display:block}}
/* phones: modules move to a bottom bar, the top keeps the logo, the sub-pages and the profile */
.mnav{display:none}
@media (max-width:700px){
  .hrow>.nedge{display:none}
  .hrow{flex-wrap:nowrap;padding:8px 12px}
  .mnav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--ink,#0d3b4a);border-top:3px solid var(--green);padding:4px 2px calc(4px + env(safe-area-inset-bottom))}
  .mnav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0 4px;color:rgba(250,245,237,.7);text-decoration:none;font-size:11px;font-weight:500;border-radius:10px}
  .mnav a.on{color:var(--green)}
  .mnav a.on svg{stroke-width:2.2}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .appfoot{padding-bottom:12px}
}
@media (max-width:700px){.cwrap{bottom:calc(76px + env(safe-area-inset-bottom));right:14px}}
/* Field mode: the save button stays visible at the bottom of the screen while filling in */
.fform .savebar{position:sticky;bottom:8px;z-index:5;background:var(--white);margin:14px 0 0;padding:10px 12px;border:1px solid var(--line2);box-shadow:0 -4px 16px rgba(0,40,40,.12);border-radius:12px}
@media (max-width:700px){.fform .savebar{bottom:calc(70px + env(safe-area-inset-bottom))}.fform .savebar .btn{flex:1}}
.tlmore{display:flex;align-items:center;gap:12px;justify-content:center;padding:14px 0 4px}
.orgsc{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.oscr{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:13.5px;padding:6px 0;border-bottom:1px solid var(--line2)}.oscr span{color:var(--text2)}.oscr .lnk{margin-left:auto}
.orgfacts>div#orgsc{display:block;border-bottom:0;padding:0}
.blkrow{display:flex;align-items:center;gap:12px;grid-column:1 / -1;margin-top:2px}.blkrow .blkbtn{align-self:auto}
.pastehint{font-size:12px;margin-left:6px}
.evcard.past{background:transparent;box-shadow:none;border:1px solid var(--line2);filter:grayscale(1);opacity:.62;transition:opacity .15s,filter .15s}.evcard.past:hover{opacity:1;filter:none}

/* ---------- data room (DocSend-style space) ---------- */
div.rv{display:grid;grid-template-columns:232px 1fr;gap:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r);min-height:70vh;overflow:hidden}
.rvnav{border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:4px;background:#fbfbf9}
.rvback{font:500 13px var(--body);color:var(--text2);text-decoration:none;padding:4px 10px}
.rvback:hover{color:var(--ink)}
.rvname{font:600 15px var(--body);color:var(--ink);padding:8px 10px 10px;line-height:1.3}
.rvnav nav{display:flex;flex-direction:column;gap:2px;background:none;padding:0;margin:0;box-shadow:none;position:static}
.rvnav nav a{display:block;padding:8px 10px;border-radius:7px;font:500 14px var(--body);color:var(--text2);text-decoration:none;text-transform:none;letter-spacing:0;background:none}
.rvnav nav a:hover{background:#f0efe9;color:var(--ink)}
.rvnav nav a.on{background:#eaf1f3;color:var(--teal);font-weight:600}
.rvfl{margin-top:18px;display:flex;flex-direction:column;gap:1px}
.rvfl>span{font:600 12px var(--body);color:var(--text2);padding:0 10px 6px}
.rvfl a{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:7px;font:400 13.5px var(--body);color:var(--ink);text-decoration:none}
.rvfl a svg{width:18px;height:18px;flex:none}
.rvfl a em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvfl a:hover{background:#f0efe9}
.rvmain{min-width:0;padding:0 0 32px}
.rvhero{height:150px;background:linear-gradient(120deg,var(--acc),#0f3b3a 80%),url(img/senegal-aerial.jpg) center/cover;background-blend-mode:multiply;position:relative;overflow:hidden}
.rvhero img{width:100%;height:100%;object-fit:cover;display:block}
.rvhl{position:absolute;right:28px;bottom:22px;max-width:60%;text-align:right;font:italic 400 26px/1.15 var(--display);color:#fff;opacity:.92}
.rvid{display:flex;gap:18px;align-items:flex-start;padding:0 28px;margin-top:-38px;position:relative}
.rvlogos{display:flex;align-items:center;flex:none}
.rvlg{width:76px;height:76px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 1px 6px rgba(15,40,40,.18);display:grid;place-items:center;overflow:hidden}
.rvlg img{max-width:70%;max-height:70%;object-fit:contain}
.rvlg.lv{background:var(--teal)}
.rvlg+.rvx+.rvlg,.rvx+.rvlg{margin-left:-14px}
.rvx{display:none}
.rvtitle{flex:1;min-width:0;padding-top:44px}
.rvtitle h2{margin:0;font:600 26px/1.15 var(--display);color:var(--ink)}
.rvtitle p{margin:6px 0 0;color:var(--text2);font-size:13.5px}
.rvmem{display:flex;align-items:center;margin-top:12px}
.rvav{--h:180;display:inline-grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:hsl(var(--h) 45% 88%);color:hsl(var(--h) 45% 28%);font:600 11px var(--body);border:2px solid #fff}
.rvmem .rvav+.rvav,.rvav3 .rvav+.rvav{margin-left:-8px}
.rvplus{width:30px;height:30px;border-radius:50%;border:1.5px dashed var(--line2);background:#fff;color:var(--text2);font-size:17px;line-height:1;margin-left:6px;cursor:pointer}
.rvplus:hover{border-color:var(--teal);color:var(--teal)}
.rvact{display:flex;gap:8px;padding-top:48px;flex:none}
.rvsec{padding:26px 28px 0}
.rvsh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.rvsh h3{margin:0;font:600 18px var(--body);color:var(--ink)}
.rvtable{border-top:1px solid var(--line)}
.rvrow{display:grid;grid-template-columns:22px 34px minmax(0,1fr) 130px 100px 150px;align-items:center;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line);font-size:14px}
.rvhd{font:500 12.5px var(--body);color:var(--text2);padding:9px 6px}
.rvfold{cursor:pointer}
.rvfold:hover,.rvvis:hover{background:#f7f8f6}
.rvchev{color:var(--text2);transition:transform .15s;display:inline-block;text-align:center;font-size:16px}
.rvfold.open .rvchev,.rvvis.open .rvchev{transform:rotate(90deg)}
.rvn{display:flex;flex-direction:column;min-width:0}
.rvn b{font-weight:600;color:var(--ink)}
.rvn small,.rvlr small{color:var(--text2);font-size:12.5px}
.rvn a{color:var(--ink);text-decoration:none;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvn a:hover{color:var(--teal);text-decoration:underline}
.rvac,.rvty,.rvup{color:var(--text2);font-size:13px}
.rvkids .rvrow{background:#fcfcfa}
.rvkids .rvdoc{padding-left:30px}
.rvrm{margin-left:6px;font-size:12px;color:var(--red);opacity:0;background:none;border:0;cursor:pointer}
.rvdoc:hover .rvrm{opacity:1}
.rvrm:focus-visible{opacity:1}
.rpdf{display:inline-grid;place-items:center;width:28px;height:30px;border-radius:4px;background:#fdecea;color:#c0392b;font:700 8.5px var(--body);flex:none;margin-right:2px}
.rvempty{padding:16px 6px}
.rvwelcome{margin:22px 0 0;max-width:68ch;color:var(--text2);line-height:1.55}
/* members */
.rvmlist{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.rvmi{display:flex;align-items:center;gap:9px;padding:7px 12px 7px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;text-align:left}
.rvmi span{display:flex;flex-direction:column}
.rvmi b{font:600 13px var(--body);color:var(--ink)}
.rvmi small{font-size:11.5px;color:var(--text2)}
.rvmi.on{border-color:var(--teal);background:#eef5f6}
.rvperm{border:1px solid var(--line);border-radius:var(--r);padding:18px 20px}
.rvph{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.rvph h4{margin:2px 0 0;font:600 17px var(--body)}
.rvlink{display:flex;gap:6px;flex:1;max-width:460px}
.rvlink input{flex:1;font-size:12.5px;color:var(--text2)}
.rvtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:8px}
.rvtile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;text-align:left}
.rvtile:hover:not(:disabled){border-color:var(--line2)}
.rvti{font-size:17px;color:var(--text2);margin-bottom:4px}
.rvtile b{font:600 13px var(--body);color:var(--ink)}
.rvtile small{font-size:12px;color:var(--text2)}
.rvtile.on{background:#eef5f6;border-color:#b8d3d8}
.rvtile.on .rvti,.rvtile.on small{color:var(--teal)}
.rvmx{margin-top:18px;border-top:1px solid var(--line)}
.rvmxh,.rvmxr{display:grid;grid-template-columns:1fr 90px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}
.rvmxh{font:500 12.5px var(--body);color:var(--text2)}
.rvmxh span+span,.rvmxr input{justify-self:center}
.rvmxr span{display:flex;align-items:center;gap:8px;font-size:14px}
.rvmxr span svg{width:20px;height:20px}
.rvmxr.all span{flex-wrap:wrap}.rvmxr.all small{width:100%;color:var(--text2);padding-left:22px;font-size:12px}
.rvmxr input{width:17px;height:17px;accent-color:var(--teal)}
.rvsave{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}
/* analytics */
.rvkpi{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--r);margin-bottom:20px}
.rvkpi>div{padding:16px 20px;display:flex;flex-direction:column;gap:2px}
.rvkpi>div+div{border-left:1px solid var(--line)}
.rvkpi span{font:500 12.5px var(--body);color:var(--text2)}
.rvkpi span i{font-style:normal;cursor:help}
.rvkpi b{font:600 30px/1.1 var(--display);color:var(--ink);margin-top:6px}
.rvkpi small{color:var(--text2);font-size:12.5px}
.rvav3{display:flex;margin-top:10px}
.rvtabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:0}
.rvtabs button{background:none;border:0;border-bottom:2.5px solid transparent;padding:10px 14px;font:500 14px var(--body);color:var(--text2);cursor:pointer;border-radius:0}
.rvtabs button.on{color:var(--ink);border-bottom-color:var(--teal)}
.rva{border-top:0}
.rva .rvrow{grid-template-columns:22px minmax(0,1fr) 70px 90px 110px 130px}
.rva .rvn{flex-direction:row;align-items:center;gap:9px}
.rva .rvn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvvis{cursor:pointer}
.rvsubv .rvn{padding-left:12px;color:var(--ink);font-size:13.5px}
/* audit log */
.rvlog{border-top:1px solid var(--line)}
.rvlr{display:grid;grid-template-columns:150px minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px 6px;border-bottom:1px solid var(--line);font-size:14px}
.rvlr>span{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}
.rvlr>span:first-child{flex-direction:column;align-items:flex-start;gap:0}
.rvlr>span:nth-child(2){display:grid;grid-template-columns:24px 1fr;column-gap:8px}
.rvlr>span:nth-child(2) small{grid-column:2}
.rvlr .rvav{width:26px;height:26px;font-size:10px}
.rvei{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#eef5f6;color:var(--teal);font-size:12px;grid-row:span 2}
.rvday{padding:16px 6px 8px;font:600 13px var(--body);color:var(--ink);border-bottom:1px solid var(--line);background:#fbfbf9}
.rvlr.rvhd{font:500 12.5px var(--body);color:var(--text2)}
.rvlr.rvhd>span:nth-child(2){display:flex}
/* more menu */
.rvpop{position:absolute;z-index:60;width:230px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(15,40,40,.14);padding:6px;display:flex;flex-direction:column}
.rvpop span{font:600 11.5px var(--body);color:var(--text2);padding:8px 10px 4px}
.rvpop button{background:none;border:0;text-align:left;padding:8px 10px;border-radius:6px;font:400 14px var(--body);color:var(--ink);cursor:pointer}
.rvpop button:hover{background:#f3f4f1}
.rvpop button.dang{color:var(--red)}
@media (max-width:900px){
  div.rv{grid-template-columns:1fr;border-radius:0;border-left:0;border-right:0}
  .rvnav{border-right:0;border-bottom:1px solid var(--line);padding:10px 12px}
  .rvnav nav{flex-direction:row;overflow-x:auto;gap:4px}
  .rvnav nav a{white-space:nowrap}
  .rvfl,.rvname{display:none}
  .rvhero{height:110px}.rvhl{font-size:19px;right:16px;bottom:14px}
  .rvid{flex-wrap:wrap;padding:0 16px;margin-top:-30px}
  .rvlg{width:60px;height:60px}
  .rvtitle{padding-top:0;flex-basis:100%}.rvtitle h2{font-size:21px}
  .rvact{padding-top:0}
  .rvsec{padding:20px 16px 0}
  .rvrow{grid-template-columns:18px 30px minmax(0,1fr) 92px}
  .rvrow .rvac,.rvrow .rvty{display:none}
  .rva .rvrow{grid-template-columns:18px minmax(0,1fr) 46px 80px}
  .rva .rvrow>span:nth-child(4),.rva .rvrow>span:nth-child(6){display:none}
  .rvkpi{grid-template-columns:1fr}.rvkpi>div+div{border-left:0;border-top:1px solid var(--line)}
  .rvlr{grid-template-columns:64px minmax(0,1fr)}
  .rvlr>span:nth-child(3),.rvlr>span:nth-child(4){grid-column:2}
  .rvlr.rvhd{display:none}
}
.rvtitle h2{text-transform:none;letter-spacing:-.01em}
.rvlr{grid-template-columns:70px minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr)}
@media (max-width:900px){div.rv{grid-template-columns:minmax(0,1fr);max-width:100%}.rvnav{min-width:0}.rvhl{max-width:80%}}
/* data room v3: organise, actions, access matrix, invite */
.rvsh .hbtns{display:flex;gap:6px;flex-wrap:wrap}
.rvpop button{display:flex;justify-content:space-between;align-items:center;gap:10px}
.rvpop button small{font-size:11.5px;color:var(--text2)}
.rvpop button small.on{color:var(--teal);font-weight:600}
.rvpop button:disabled{color:#a5aeb0;cursor:default;background:none}
.rvpop span:not(:first-child){border-top:1px solid var(--line);margin-top:4px;padding-top:10px}
.rvops{display:inline-flex;gap:2px;margin-left:8px;opacity:0;transition:opacity .12s}
.rvrow:hover .rvops,.rvops:focus-within{opacity:1}
.rvop{width:24px;height:24px;border:0;border-radius:5px;background:none;color:var(--text2);cursor:pointer;font-size:13px;line-height:1}
.rvop:hover{background:#eef1ee;color:var(--ink)}
.rvup{display:flex;align-items:center;justify-content:space-between}
.rvhdr{background:#fbfbf9}.rvhdr .rvn b{font:600 13px var(--body);color:var(--text2)}
.rvix{font-style:normal;color:var(--text2);font-weight:500;margin-right:8px;font-variant-numeric:tabular-nums}
.rvflh{margin:10px 10px 2px;font:600 11.5px var(--body);color:var(--text2)}
.rpdf.url{background:#e6f0f3;color:var(--teal);font-size:14px}
.rvhint{margin-top:10px;font-size:13px}
.rvmore{font-size:12px;color:var(--text2);margin-left:6px}
.rvmi.off{opacity:.6}
/* access matrix */
.rvmx{margin-top:18px;border-top:1px solid var(--line)}
.rvmxh,.rvmxr{display:grid!important;grid-template-columns:minmax(0,1fr) repeat(4,96px);align-items:center;padding:9px 4px;border-bottom:1px solid var(--line)}
.rvmxh span{font:500 12px var(--body);color:var(--text2);display:flex;flex-direction:column;align-items:center;gap:2px}
.rvmxh span:first-child{align-items:flex-start;justify-content:flex-end}
.rvmxh i{font-style:normal;font-size:15px;color:var(--ink)}
.rvmxr>span{display:flex;justify-content:center}
.rvmxr .rvmxn{justify-content:flex-start;align-items:center;gap:8px;min-width:0;font-size:14px;flex-wrap:wrap}
.rvmxn em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.rvmxn small{width:100%;font-size:12px;color:var(--text2);padding-left:22px}
.rvmxn svg{width:20px;height:20px;flex:none}
.rvmxr.lv0{background:#f7f9f8}.rvmxr.lv0 em{font-weight:600}
.rvmxr.lv1 em{font-weight:500}
.rvmxr.lv2 .rvmxn{padding-left:34px}.rvmxr.lv2 .rpdf{width:22px;height:24px;font-size:7px}
.rvmxt{width:20px;height:20px;border:0;background:none;color:var(--text2);cursor:pointer;font-size:14px;padding:0}
.rvmxr input{width:17px;height:17px;accent-color:var(--teal)}
.rvmxr input:disabled{opacity:.35}
.rvsave{align-items:center;flex-wrap:wrap}
.rvapply{margin-right:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2)}
.rvapply select{font-size:13px}
/* invite in bulk */
.rvchips{display:flex;flex-wrap:wrap;gap:6px}
.rvchip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;border-radius:999px;background:#eef5f6;color:var(--ink);font-size:13px}
.rvchip i{font-style:normal;font-size:11px;color:var(--teal)}
.rvchip.dup{background:#f3f3f1;color:#9aa4a6;text-decoration:line-through}
.rvchip button{border:0;background:none;cursor:pointer;color:var(--text2);font-size:15px;line-height:1;padding:0 4px}
.rvres{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto;margin:10px 0}
.rvres>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:8px;align-items:center}
.rvres span{display:flex;flex-direction:column;min-width:0}.rvres small{color:var(--text2);font-size:12px}
.rvres input{font-size:12px;color:var(--text2)}
.rvabout{display:grid;grid-template-columns:150px 1fr;gap:8px 16px;margin:6px 0 4px;font-size:14px}
.rvabout dt{color:var(--text2)}.rvabout dd{margin:0}
@media (max-width:900px){.rvmxh,.rvmxr{grid-template-columns:minmax(0,1fr) repeat(4,46px)}.rvmxh span{font-size:10.5px}.rvmxr.lv2 .rvmxn{padding-left:16px}.rvops{opacity:1}.rvres>div{grid-template-columns:1fr auto}.rvres input{display:none}}
.rvtable .rvrow{grid-template-columns:22px 34px minmax(0,1fr) 110px 90px 120px 132px}
.rvopc{display:flex;justify-content:flex-end}
.rvopc .rvops{margin-left:0}
.rvnt{display:flex;align-items:baseline;min-width:0}
.rvnt a{min-width:0}
.rvpop{width:270px}.rvpop button{white-space:nowrap}
.rvapply{white-space:nowrap}
@media (max-width:900px){.rvtable .rvrow{grid-template-columns:18px 30px minmax(0,1fr) 84px 0}.rvtable .rvopc{grid-column:3/-1;justify-content:flex-start}}
/* data room analytics: per document, per visit */
.rva .rvrow.rvdv{padding-left:28px}
.rvdv{cursor:pointer}.rvdv:hover,.rvpop2:hover{background:#f7f9f8}.rvpop2{cursor:pointer}
.rvdv.open .rvchev,.rvpop2.open .rvchev{transform:rotate(90deg)}
.rvgr{margin-left:8px;font-size:11.5px;color:var(--text2);background:#f1f3f1;border-radius:999px;padding:1px 8px;white-space:nowrap}
.rvvp{padding:16px 20px 20px 56px;background:#fff;border-bottom:1px solid var(--line)}
.rvvph{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.rvvsel{font-size:13.5px;padding:6px 10px}
.rvvm{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text2)}
.rvch{margin-top:10px}
.rvcht{margin:0 0 10px;font:500 13px var(--body);color:var(--ink)}
.rvchb{display:grid;grid-template-columns:48px 1fr;height:170px}
.rvchy{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:0 8px 18px 0;font-size:11px;color:var(--text2);font-variant-numeric:tabular-nums}
.rvchg{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:3px;border-left:1px solid var(--line);border-bottom:0;background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 calc(50% - 9px)/100% 1px no-repeat;padding:0 4px}
.rvchc{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0;position:relative}
.rvchc i{display:block;width:min(70%,34px);background:var(--teal);border-radius:2px 2px 0 0;margin-bottom:18px;box-shadow:0 1px 0 var(--line2)}
.rvchc:hover i{background:var(--green)}
.rvchc span{position:absolute;bottom:0;font-size:10.5px;color:var(--text2)}
.rvchc::after{content:"";position:absolute;left:-2px;right:-2px;bottom:18px;border-bottom:1px solid var(--line2)}
.rvchx{margin:4px 0 0 48px;text-align:center;font-size:11.5px;color:var(--text2)}
.rvwho{display:flex;flex-direction:column;gap:6px;margin-top:16px;border-top:1px solid var(--line);padding-top:12px}
.rvwho span{display:flex;align-items:center;gap:8px;font-size:13.5px}.rvwho small{color:var(--text2);margin-left:6px}
@media (max-width:900px){.rvvp{padding:12px}.rvchb{height:140px}}
.rvtable.rva .rvrow{grid-template-columns:22px minmax(0,1fr) 70px 96px 100px 120px}
@media (max-width:900px){.rvtable.rva .rvrow{grid-template-columns:18px minmax(0,1fr) 46px 70px}.rvtable.rva .rvrow>span:nth-child(4),.rvtable.rva .rvrow>span:nth-child(6){display:none}}
.rvvph select.rvvsel{width:auto;max-width:100%}
.rvzip{max-height:38vh;overflow:auto;margin:8px 0;border:1px solid var(--line);border-radius:8px}
.rvzip:empty{display:none}
.rvzip>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 130px;gap:10px;padding:6px 10px;border-bottom:1px solid var(--line);font-size:12.5px;align-items:center}
.rvzip span{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rvzip b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rvzip i{font-style:normal;color:var(--text2);text-align:right}.rvzip i.ok{color:#3d6a1e}.rvzip i.bad{color:var(--red)}.rvzip .sk{opacity:.55}
/* documents library */
.dlk{display:grid;grid-template-columns:repeat(4,1fr);background:var(--white);border:1px solid var(--line);border-radius:var(--r);margin:14px 0 16px}
.dlk>div{padding:14px 20px;display:flex;flex-direction:column;gap:2px}.dlk>div+div{border-left:1px solid var(--line)}
.dlk span{font:500 12.5px var(--body);color:var(--text2)}.dlk b{font:600 26px/1.15 var(--display);color:var(--ink);margin-top:4px}
.dlk small{font-size:12.5px;color:var(--text2)}.dlk em{font-style:normal;color:#9a5b00;background:#fff3d6;border-radius:999px;padding:1px 8px}
.dlg{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.dlmain{min-width:0}
.dlchips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.dlchips button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font:500 13px var(--body);color:var(--text2);cursor:pointer}
.dlchips button i{font-style:normal;font-size:11.5px;background:#f1f3f1;border-radius:999px;padding:0 7px;color:var(--text2)}
.dlchips button.on{border-color:var(--teal);color:var(--teal);background:#eef5f6}.dlchips button.on i{background:#fff;color:var(--teal)}
.dln{display:flex;align-items:center;gap:12px;min-width:0}.dln>span:last-child{display:flex;flex-direction:column;min-width:0}
.dln b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dln small{color:var(--text2);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dln .rpdf{width:26px;height:30px;font-size:8px}
.dlppl{display:inline-flex;align-items:center}.dlppl .rvav{width:26px;height:26px;font-size:10px}.dlppl .rvav+.rvav{margin-left:-7px}.dlppl em{font-style:normal;font-size:12px;color:var(--text2);margin-left:6px}
.dlfeed{position:sticky;top:80px;max-height:calc(100vh - 100px);overflow:auto;padding-top:14px}
.dlfeed h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 8px;font-size:15px}
.dlfi{display:flex;gap:10px;padding:9px 8px;border-radius:8px;text-decoration:none;color:var(--ink);align-items:flex-start}
.dlfi:hover{background:#f6f8f7}.dlfi.new{background:#fff8ea}
.dlfi .rvav{width:30px;height:30px;margin-top:2px}
.dlft{display:flex;flex-direction:column;min-width:0;flex:1;font-size:13px}
.dlft b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlft>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.dlft small{color:var(--text2);font-size:12px}
.dlbar{display:block;height:4px;border-radius:4px;background:#e8ecea;margin-top:5px;overflow:hidden}.dlbar i{display:block;height:100%;background:var(--teal)}
.dlmore{margin:8px 8px 0}
@media (max-width:1100px){.dlg{grid-template-columns:1fr}.dlfeed{position:static;max-height:none;order:-1}}
@media (max-width:700px){.dlk{grid-template-columns:1fr 1fr}.dlk>div:nth-child(3){border-left:0}.dlk>div:nth-child(n+3){border-top:1px solid var(--line)}}
.rvtile.soon{border-style:dashed;background:#fafbfa;cursor:default}.rvtile.soon b,.rvtile.soon .rvti{color:#9aa4a6}.rvtile.soon small{color:#b0b8ba;font-style:italic}
.soonl{color:#9aa4a6}.soonl span{display:flex;align-items:center;gap:8px}.soonl small{font-style:italic;color:#b0b8ba}
.mods a{white-space:nowrap}.mods a .rvn{display:inline-block;margin-left:4px;vertical-align:1px}
/* design request: design on the left, comments on the right */
.drgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:20px;align-items:start;margin-top:14px}
.drgrid .prthread h3{margin-top:0}
.drpend{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;min-height:380px;border:2px dashed var(--line2);border-radius:12px;background:repeating-linear-gradient(135deg,#fbfbf9 0 14px,#f6f7f4 14px 28px);padding:28px}
.drpend .drpi{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--line);font-size:24px;color:var(--teal)}
.drpend b{font:600 20px var(--display);color:var(--ink)}.drpend p{margin:0 0 6px;max-width:42ch;color:var(--text2);font-size:14px}.drpend small{color:var(--text2);font-size:12px}
.drvbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.drvs{display:flex;gap:4px;flex-wrap:wrap}.drvs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font:500 12.5px var(--body);color:var(--text2);cursor:pointer}
.drvs button.on{border-color:var(--teal);background:#eef5f6;color:var(--teal)}
.drva{display:flex;gap:6px;align-items:center}
.drview{border:1px solid var(--line);border-radius:10px;background:#f4f5f3;display:grid;place-items:center;overflow:hidden;min-height:300px}
.drview img{display:block;max-width:100%;max-height:640px;object-fit:contain}
.drview iframe{width:100%;height:620px;border:0;background:#fff}
.drvm{font-size:12.5px;margin:6px 0 0}
.drvchip{font-size:11px;font-weight:600;color:var(--teal);background:#eef5f6;border-radius:999px;padding:1px 7px}
.ibtn.dang:hover{color:var(--red);border-color:var(--red)}
@media (max-width:1000px){.drgrid{grid-template-columns:1fr}.drpend{min-height:240px}}
/* design requests list: status colours, done greyed */
.drlist{--c:#8a9a9e}
.drsec{margin-bottom:6px}
.drsec.st-requested{--c:#e8590c}.drsec.st-inprogress{--c:#1971c2}.drsec.st-toreview{--c:#c98a00}.drsec.st-done{--c:#7a8b8f}
.drlist .drgrp{display:flex;align-items:center;gap:8px;margin:14px 10px 6px;font:600 12.5px var(--body);color:var(--ink)}
.drlist .drgrp span{margin-left:auto;font-weight:500;font-size:11.5px;color:var(--text2);background:#f1f3f1;border-radius:999px;padding:1px 8px}
.drdot{width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.drtg{border:0;background:none;color:var(--text2);cursor:pointer;font-size:14px;width:12px;padding:0}
.drlist a.drit{display:flex;flex-direction:column;gap:2px;border-left:4px solid var(--c);border-radius:6px;margin:0 4px 6px;padding:9px 12px;background:#fff;box-shadow:0 0 0 1px var(--line) inset}
.drlist a.drit:hover{background:#f7f9f8}
.drlist a.drit b{font-weight:600}
.drlist a.drit.on{background:#eaf2f4;box-shadow:0 0 0 1.5px var(--teal) inset;color:var(--ink)}
.drlist a.drit.on b,.drlist a.drit.on span{color:var(--ink)}
.drlist .st-done a.drit{opacity:.55;border-left-color:#c5ced0}.drlist .st-done a.drit b{font-weight:500;text-decoration:line-through;text-decoration-color:#9aa6a8}
.drlist .st-done a.drit.on{opacity:1}
.drdue{font-style:normal;font-size:11.5px;color:var(--text2);align-self:flex-start}
.drdue.soon{color:#8a5a00;background:#fff3d6;border-radius:999px;padding:1px 8px}
.drdue.late{color:#b42318;background:#fdecea;border-radius:999px;padding:1px 8px;font-weight:600}
.drst.st-requested{background:#fff0e6;border-color:#f5b98d;color:#a2410a}.drst.st-inprogress{background:#e7f1fb;border-color:#9cc3ea;color:#145a9c}
.drst.st-toreview{background:#fff6dc;border-color:#ecd08a;color:#7c5600}.drst.st-done{background:#edf6e6;border-color:#b5d59b;color:#3d6a1e}
.drlist .drnew{width:auto;height:auto;border-radius:999px;background:var(--teal);color:#fff;font:600 10.5px var(--body);font-style:normal;padding:1px 7px;vertical-align:2px;margin-left:4px}
/* mark up: pins with a note on a precise spot */
.mktools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.mktools button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font:500 13px var(--body);color:var(--text2);cursor:pointer}
.mktools button.on{border-color:#e03131;color:#c92a2a;background:#fff5f5}
.mktools .muted{font-size:12.5px;margin-left:6px}
.mkwrap{position:relative;display:inline-block;max-width:100%}
.mkwrap svg{cursor:copy}.mkwrap svg.drawing{cursor:crosshair}
.mkpins{position:absolute;inset:0;pointer-events:none}
.mkpin{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50% 50% 50% 0;background:#e03131;color:#fff;font:700 12px/26px var(--body);text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.35);border:2px solid #fff;pointer-events:auto}
.mkpin.sm{position:static;transform:none;display:inline-block;width:22px;height:22px;line-height:18px;font-size:11px;flex:none;box-shadow:none}
.primg .mkpin{pointer-events:auto}
.mknotes{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.mknotes li{display:flex;align-items:center;gap:8px}.mknotes li input{flex:1}
.mknotes.ro li{align-items:flex-start;font-size:13.5px}.mknotes.ro li span:last-child{padding-top:2px}
/* clients module: contacts, masked timeline, portals, access requests */
.cxpeople{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.cxp{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px}
.cxp span{display:flex;flex-direction:column;min-width:0;font-size:13px}.cxp b{font-size:14px}.cxp small{color:var(--text2)}
.cxp a{color:var(--teal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cxgate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#f7f8f6;border:1px dashed var(--line2);border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:13.5px;color:var(--text2)}
.cxgate span:nth-child(2){flex:1;min-width:220px}.cxlock{font-size:15px}
.cxt{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;padding:9px 0;border-top:1px solid var(--line);align-items:start}
.cxi{width:28px;height:28px;border-radius:50%;background:#eef5f6;color:var(--teal);display:grid;place-items:center;font-size:12px;font-weight:700}
.cxtw{display:flex;flex-direction:column;min-width:0;font-size:13.5px}.cxtw b{font-weight:600}.cxtw small{font-weight:400;color:var(--text2)}
.cxtw details summary{cursor:pointer;color:var(--teal);font-size:12.5px}.cxtw details p{margin:6px 0 0;color:var(--text2)}
.cxmask{color:#a3adaf;font-style:italic;font-size:12.5px}.cxd{font-size:12.5px;white-space:nowrap}.cxn{font-size:13px;font-weight:400}
.cxportals{display:flex;flex-direction:column;gap:10px}
.cxr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.cxr>div{display:flex;flex-direction:column}.cxr small{color:var(--text2)}.cxact{grid-column:1/-1;margin:0;padding-left:18px;font-size:13px}
.arq{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.arq>div{display:flex;flex-direction:column}.arq small{color:var(--text2);font-size:12.5px}
/* PR ideas and feedback */
.prsend{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.prsend textarea{width:100%;resize:vertical}
.prsb{display:flex;justify-content:space-between;align-items:center;gap:10px}
.idgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
.idc{background:#fff;border:1px solid var(--line);border-left:4px solid #c8d0d2;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.idc.st-new{border-left-color:#e8590c}.idc.st-planned{border-left-color:#1971c2}.idc.st-used{border-left-color:#5c940d;opacity:.75}.idc.st-notnow{opacity:.55}.idc.st-seen{border-left-color:#adb5bd}
.idb{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink)}
.idm{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;color:var(--text2)}
.idst{width:auto;font-size:12.5px;padding:3px 8px;border-radius:999px}
.idst.st-new{background:#fff0e6;color:#a2410a}.idst.st-planned{background:#e7f1fb;color:#145a9c}.idst.st-used{background:#edf6e6;color:#3d6a1e}
.idr{margin:0;background:#f4f8f8;border-radius:8px;padding:8px 10px;font-size:13px}
.ida{display:flex;gap:6px;align-items:center}.ida input{flex:1;font-size:13px}
.ptabs{display:flex;gap:6px;margin-bottom:10px}.ptabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font:500 13.5px var(--body);color:var(--text2);cursor:pointer}.ptabs button.on{border-color:var(--teal);background:#eef5f6;color:var(--teal)}
.impbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;background:#c92a2a;color:#fff;padding:8px 16px;font-size:13.5px}
.impbar button{background:#fff;color:#c92a2a;border:0;border-radius:999px;padding:5px 14px;font:600 13px var(--body);cursor:pointer}
.anseg{display:inline-flex;border:1px solid var(--line2);border-radius:999px;overflow:hidden}
.anseg button{border:0;background:#fff;padding:6px 14px;font:500 13px var(--body);color:var(--text2);cursor:pointer}
.anseg button.on{background:var(--teal);color:#fff}
.anseg button[data-an="1"].on{background:#5f3dc4}
/* notifications bell and @mentions */
.nwrap{position:relative;display:flex;align-items:center;margin-right:10px}
.nbell{position:relative;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(250,245,237,.35);background:transparent;color:#faf5ed;display:grid;place-items:center;cursor:pointer}
.nbell:hover{border-color:var(--green)}.nbell.has{border-color:#f5b300}
.nbn{position:absolute;top:-5px;right:-6px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:#e8590c;color:#fff;font:700 11px/19px var(--body);text-align:center;box-shadow:0 0 0 2px var(--ink)}
.nbn:empty{display:none}
.npanel{position:absolute;top:calc(100% + 10px);right:-60px;width:380px;max-height:70vh;overflow:auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 36px rgba(0,30,40,.2);z-index:80}
.nph{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.npi{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.npi:hover{background:#f6f8f7}.npi.new{background:#fff8ea}.npi.new:hover{background:#fff1d6}
.npic{flex:none;width:28px;height:28px;border-radius:50%;background:#eef5f6;color:var(--teal);display:grid;place-items:center;font-size:13px;font-weight:700}
.npt{display:flex;flex-direction:column;min-width:0;font-size:13px}.npt b{font-weight:600}
.npt span{color:var(--text2);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.npt small{color:var(--text2);font-size:11.5px;margin-top:2px}.npe{padding:16px}
.mention{color:var(--teal);font-weight:600;background:#e8f3f5;border-radius:4px;padding:0 3px}
.mxpick{position:fixed;z-index:1100;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,30,40,.16);padding:4px;min-width:220px}
.mxpick button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:6px 8px;border-radius:6px;font:500 13.5px var(--body);color:var(--ink);cursor:pointer;text-align:left}
.mxpick button.on,.mxpick button:hover{background:#eef5f6}
@media (max-width:700px){.npanel{position:fixed;left:8px;right:8px;top:60px;width:auto}}
.idwho{display:flex;align-items:center;gap:8px;min-width:0}.idwho b{font-weight:600;color:var(--ink)}.idwho small{color:var(--text2)}
.idanon{width:26px;height:26px;border-radius:50%;background:#ece8f8;color:#5f3dc4;display:grid;place-items:center;font-weight:700;font-size:13px;flex:none}
.prch{align-items:center}
/* finance inbox: invoices and cash receipts */
.ibgrid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:16px;align-items:start}
.ibl{padding:6px;max-height:calc(100vh - 230px);overflow:auto}
.ibr{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line)}
.ibr:hover{background:#f6f8f7}.ibr.on{background:#e8f2f4;box-shadow:inset 3px 0 0 var(--teal)}
.ibrt{display:flex;justify-content:space-between;gap:8px;align-items:center}.ibrt b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibrm{font-size:13px;color:var(--text2)}.ibrm em{font-style:normal}.ibrm em.late{color:var(--red);font-weight:600}
.ibr small{color:var(--text2);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibe{padding:14px}
.ibh{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}.ibh h3{margin:0}.ibh p{margin:4px 0 0}
.ibdg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.ibpv{border:1px solid var(--line);border-radius:10px;background:#f4f5f3;min-height:420px;display:grid;place-items:center;overflow:hidden}
.ibpv img{max-width:100%;max-height:70vh;object-fit:contain}.ibpv iframe{width:100%;height:70vh;border:0;background:#fff}
.ibact{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.ibpd{display:flex;align-items:center;gap:6px;font-size:13px}
.ibtl{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.ibtl h4{margin:0 0 6px}
.ibev{padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.ibev p{margin:4px 0 0}
.ibnew{display:flex;gap:6px;align-items:flex-start;margin-top:8px}.ibnew textarea{flex:1}
.ibroles td{vertical-align:top}.ibroles .agree{display:flex;font-size:13px}
@media (max-width:1100px){.ibgrid,.ibdg{grid-template-columns:1fr}.ibpv{min-height:240px}}
.ibf.recform fieldset{border:0;padding:0;margin:0;background:none}
.ibf.recform .grid{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 12px}
.ibf.recform label{display:flex!important;flex-direction:column;align-items:stretch;gap:4px;font-size:12.5px;color:var(--text2);grid-template-columns:none}
.ibf.recform label.full{grid-column:1/-1}
.ibf.recform input,.ibf.recform select{width:100%!important;min-width:0;font-size:14px;color:var(--ink)}
.ibf.recform input:disabled,.ibf.recform select:disabled{background:#f6f7f5;color:var(--ink);opacity:1}

/* transactions: locked, with a history */
table.txtab button.txd{all:unset;cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
table.txtab button.txd:hover{text-decoration:underline}
table.txtab button.txd:focus-visible{outline:2px solid var(--accent,#1f6f5c);outline-offset:2px}
.edt.man{background:#fde3e1;color:#9b1c13}
.erpb{display:inline-block;font-size:10.5px;background:#e3f0ec;color:#1f5a4b;border-radius:999px;padding:0 6px;margin-right:4px}
.txlock{background:#f4f5f4;border-radius:8px;padding:8px 10px;font-size:13px;margin:0 0 8px}
.txman{background:#fde3e1;color:#7c1a12;border-radius:8px;padding:8px 10px;font-size:13px;margin:0 0 8px}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin:6px 0 10px}
.tgrid .trow{display:flex;flex-direction:column;font-size:13px}.tgrid .trow span{color:#6b716f;font-size:11.5px}
.txh3{font-size:14px;margin:12px 0 6px}
.txhist{max-height:240px;overflow:auto;display:flex;flex-direction:column;gap:6px}
.thi{border-left:3px solid #cfd6d3;padding:4px 8px;font-size:13px}.thi.manual,.thi.removed{border-color:#c0392b}.thi.import_kept{border-color:#d49a00}
.thh{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.thr{font-style:italic;margin:2px 0}
.thd{display:flex;gap:6px;flex-wrap:wrap}.thd span{color:#6b716f;min-width:110px}.thd s{color:#9a9f9d}
.txedit{margin-top:12px}.txedit summary{cursor:pointer;font-weight:600}
@media (max-width:600px){.tgrid{grid-template-columns:1fr}}
.txedit .recform{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:8px}.txedit .recform label{display:flex;flex-direction:column;gap:3px;font-size:12.5px}.txedit .recform .full{grid-column:1/-1}.txedit .recform label.inl{flex-direction:row;align-items:center}
@media (max-width:600px){.txedit .recform{grid-template-columns:1fr}}
.ibdrop{position:fixed;inset:0;z-index:2000;background:rgba(10,60,70,.55);display:flex;align-items:center;justify-content:center;pointer-events:none}
.ibdrop[hidden]{display:none}
.ibdrop div{background:#fff;border:3px dashed #1f6f5c;border-radius:16px;padding:36px 48px;font-size:20px;font-weight:600;color:#0d4a55}

/* transaction window, v2 */
.txm{display:flex;flex-direction:column;gap:18px}
.txmh{padding-right:44px}
.txmamt{font-family:Alexandria,var(--font,inherit);font-weight:700;font-size:30px;line-height:1.1;font-variant-numeric:tabular-nums}
.txmamt.neg{color:#9b1c13}.txmamt.pos{color:#1f6f5c}.txmamt small{font-size:15px;color:#6b716f;font-weight:600}
.txmname{font-size:17px;font-weight:600;color:#0d3b45;margin-top:6px;overflow-wrap:anywhere}
.txmx{font-size:12.5px;color:#7a807e;margin-top:2px;overflow-wrap:anywhere}
.txmchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.txchip{font-size:12px;background:#eef1f0;color:#3f4745;border-radius:999px;padding:2px 10px}
.txchip.red{background:#fde3e1;color:#9b1c13}
.txfields{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e3e7e5;border-radius:12px;overflow:hidden}
.txf{padding:10px 14px;border-bottom:1px solid #eef1f0;display:flex;flex-direction:column;gap:2px;min-width:0}
.txf:nth-child(odd):not(.wide){border-right:1px solid #eef1f0}
.txf.wide{grid-column:1/-1}
.txf span{font-size:11.5px;color:#6b716f}
.txf b{font-weight:600;color:#1d2a2c;overflow-wrap:anywhere}
.txf b small{display:block;font-weight:400;font-size:12px;color:#7a807e}
.txf:last-child{border-bottom:0}
.txsec h3{font-size:14px;margin:0 0 8px;color:#0d3b45}
.txnone,.txhint{font-size:13px;color:#7a807e;margin:0}
.thh span{color:#7a807e;font-size:12px}
.txmfoot{display:flex;align-items:center;gap:8px;border-top:1px solid #eef1f0;padding-top:14px}
.txmfoot .fill{flex:1}
.txedit .recform{margin-top:10px}
@media (max-width:600px){.txfields{grid-template-columns:1fr}.txf:nth-child(odd):not(.wide){border-right:0}.txmamt{font-size:24px}}
.txm [hidden]{display:none!important}
.txedit .recform label.inl{flex-direction:row;align-items:center;gap:8px}.txedit .recform label.inl input{width:auto;height:auto;flex:none;margin:0}
/* terms of use */
.appfoot a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.tmgate{min-height:100vh;background:var(--ink);display:flex;align-items:flex-start;justify-content:center;padding:clamp(16px,5vh,48px) 16px}
.tmcard{background:#fff;border-radius:18px;max-width:760px;width:100%;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.tmbar{background:var(--ink);display:flex;align-items:center;gap:10px;padding:16px 28px;border-bottom:4px solid var(--green)}
.tmbar img{height:30px}.tmbar span{font-size:11px;font-weight:700;background:var(--green);color:var(--ink);border-radius:999px;padding:2px 8px}
.tmintro{margin:22px 28px 0;color:#4b5352}
.tmcard>.tmlang,.tmcard>h1,.tmcard>.tmmeta,.tmcard>.tmlist{margin-left:28px;margin-right:28px}
.tmlang{display:flex;gap:6px;margin-top:16px}
.tmlang button{border:1px solid #d6dcda;background:#fff;border-radius:999px;padding:4px 12px;font-size:13px;cursor:pointer}
.tmlang button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.tmcard h1,.tmpage h1{font-family:Alexandria,inherit;font-size:24px;margin:16px 0 2px;color:var(--ink)}
.tmmeta{font-size:12.5px;color:#7a807e;margin:0 0 12px}
.tmlist{padding-left:22px;max-height:48vh;overflow:auto;border-top:1px solid #eef1f0;border-bottom:1px solid #eef1f0;padding-top:8px;padding-bottom:8px}
.tmpage .tmlist{max-height:none;border:0}
.tmlist li{margin:0 0 12px}.tmlist h3{font-size:14.5px;margin:0 0 3px;color:var(--ink)}.tmlist p{margin:0;font-size:14px;line-height:1.55;color:#2b3433}
.tmact{padding:18px 28px 24px;display:flex;flex-direction:column;gap:14px}
.tmok{display:flex;gap:10px;align-items:center;font-weight:600;cursor:pointer}.tmok input{width:18px;height:18px}
.tmbtns{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.tmpage{max-width:820px}
.tmcard h1{margin:16px 28px 2px}
/* the copyright strip stays visible at the bottom of every page */
.appfoot{position:sticky;bottom:0;z-index:40;padding:6px 0;font-size:11.5px;border-top-width:3px}
.appfoot div{padding-right:clamp(72px,8vw,96px)}
.lcopy{margin-top:22px;font-size:12px;color:#7a807e}
@media (max-width:600px){.appfoot{font-size:10.5px;padding:4px 0}.appfoot div>span:first-child{display:none}}
@media print{.appfoot{position:static}}
/* demo environment banner, above the main header on every page */
.demobar{background:#f5b800;color:#2a2100;display:flex;justify-content:center;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:6px 16px;font-size:13px;text-align:center;position:relative;z-index:60}
.demobar b{text-transform:none;letter-spacing:.02em;background:#2a2100;color:#f5b800;border-radius:999px;padding:1px 10px;font-size:12px}
@media (max-width:600px){.demobar span{display:none}}
@media print{.demobar{display:none}}
.tmgate.small{align-items:center}
.tmgate.small .tmcard{max-width:440px}
.tmin{padding:22px 28px 26px;display:flex;flex-direction:column;gap:12px}
.tmin .tmlang{margin:0;justify-content:flex-end}
.tmin h1{margin:0!important;font-size:24px}
.tmin .tmintro{margin:0}
.tmin .tmok{font-weight:400;align-items:flex-start;margin-top:6px}.tmin .tmok input{margin-top:2px;flex:none}
.tmin .tmok a{font-weight:600}
.tmgo{width:100%;margin-top:4px}
.tmout{align-self:center;font-size:13px;color:#7a807e}
.tmpop h1{margin:0 0 2px!important;font-size:22px}.tmpop .tmlist{max-height:60vh;padding-left:20px}.tmpop .tmlang{margin:0 0 6px}
.demobar{font-weight:700;letter-spacing:.02em}
/* import menu on Transactions */
.impwrap{position:relative;display:inline-block}
.impmenu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;background:#fff;border:1px solid #e3e7e5;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);min-width:280px;padding:6px}
.impmenu[hidden]{display:none}
.impmenu label{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:8px;cursor:pointer}
.impmenu label:hover{background:#f2f5f4}.impmenu b{font-size:14px;color:var(--ink)}.impmenu span{font-size:12px;color:#6b716f}
.hbtns{display:flex;gap:8px;align-items:center}
button.uncat{border:1px solid #e9b949;background:#fff6dc;color:#7a5600;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
button.uncat.on{background:#7a5600;color:#fff;border-color:#7a5600}
.ibdup{background:#fff6dc;border:1px solid #e9b949;border-radius:10px;padding:10px 12px;margin:0 0 12px;font-size:13px;color:#5c4300;display:flex;flex-direction:column;gap:4px}
.ibdup ul{margin:4px 0 0;padding-left:18px}
/* Finance → Categories */
.fctabs{display:flex;gap:4px;border-bottom:1px solid #e3e7e5;margin:4px 0 14px}
.fctabs button{background:none;border:0;border-bottom:3px solid transparent;padding:8px 14px;font-size:14.5px;color:#4b5352;cursor:pointer}
.fctabs button.on{border-color:var(--ink);color:var(--ink);font-weight:600}
.fccard{padding:0;overflow:hidden}
.fctool{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #eef1f0}.fctool input{max-width:340px}
.fcrow{display:flex;align-items:center;gap:8px;padding:8px 14px 8px calc(14px + var(--d,0) * 24px);border-bottom:1px solid #f1f3f2;min-height:42px}
.fcrow:hover{background:#f8faf9}
.fctog{width:22px;flex:none;background:none;border:0;color:#6b716f;cursor:pointer;font-size:13px;padding:0}
.fcname{font-size:14px;color:#1d2a2c}
.fcrow[style*="--d:0"] .fcname{font-weight:600}
.fcn{font-size:11.5px;background:#eef1f0;color:#4b5352;border-radius:999px;padding:1px 8px}
.fcn.warn{background:#fff6dc;color:#7a5600;text-decoration:none}
.fcnote{font-size:12px;color:#8a908e;margin-left:auto}
.fcunc{background:#fbfcfb}
.fcact{margin-left:auto;display:flex;gap:4px;opacity:0;transition:opacity .12s}
.fcrow:hover .fcact,.fcrow:focus-within .fcact{opacity:1}
.fcact button{border:1px solid #dfe4e2;background:#fff;border-radius:6px;font-size:12px;padding:3px 8px;cursor:pointer;color:#33403f}
.fcact button:disabled{opacity:.35;cursor:default}
@media (hover:none){.fcact{opacity:1}}
@media (max-width:600px){.fcact button[data-a="up"],.fcact button[data-a="down"]{display:none}.fcnote{display:none}}
/* inbox: required fields and the grouped category search */
i.req{color:#b3261e;font-style:normal}
.ibf .miss{border-color:#b3261e!important;box-shadow:0 0 0 3px rgba(179,38,30,.12)}
.catcombo{position:relative;display:block}
.catbtn{width:100%;text-align:left;border:1px solid var(--line,#cfd6d3);background:#fff;border-radius:999px;padding:8px 16px;min-height:42px;cursor:pointer;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.catbtn:disabled{background:#f4f5f4;cursor:default}
.catbtn b{font-weight:600;color:var(--ink)}.catbtn small{color:#7a807e;font-size:12px}
.catpop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:60;background:#fff;border:1px solid #dfe4e2;border-radius:12px;box-shadow:0 14px 34px rgba(0,0,0,.14);padding:8px}
.catpop[hidden]{display:none}
.catpop input{width:100%;margin-bottom:6px}
.catgroups{max-height:340px;overflow:auto}
.catg{padding:4px 0}.catgh{font-size:11.5px;font-weight:700;color:#6b716f;padding:6px 8px 2px;letter-spacing:.02em}
.catg button{display:block;width:100%;text-align:left;background:none;border:0;padding:6px 8px 6px 18px;border-radius:6px;font-size:14px;cursor:pointer;color:#1d2a2c}
.catg button:hover,.catg button.on{background:#eef4f2}
/* inbox steps: Inbox → To review → Validated, then Rejected and All apart */
.ibsteps{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;margin:6px 0 16px}
.ibstep{display:inline-flex;align-items:center;gap:8px;border:1px solid #d6dcda;background:#fff;border-radius:999px;padding:6px 14px 6px 6px;font-size:14px;color:#3f4745;cursor:pointer}
.ibstep.side{padding:6px 12px}
.ibstep i{font-style:normal;font-size:12px;background:#eef1f0;border-radius:999px;padding:0 8px;color:#4b5352}
.ibdot{width:24px;height:24px;border-radius:50%;background:#eef1f0;color:#4b5352;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.ibstep.has i{background:#fff1c7;color:#7a5600}
.ibstep.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ibstep.on .ibdot{background:#fff;color:var(--ink)}.ibstep.on i{background:rgba(255,255,255,.2);color:#fff}
.ibarrow{width:26px;height:2px;background:#cfd6d3;position:relative;margin:0 2px}
.ibarrow::after{content:"";position:absolute;right:-1px;top:-4px;border-left:6px solid #cfd6d3;border-top:5px solid transparent;border-bottom:5px solid transparent}
.ibsep{width:1px;height:26px;background:#d6dcda;margin:0 14px}
@media (max-width:600px){.ibarrow{width:12px}.ibsep{display:none}.ibstep{font-size:13px}}
.ibsteps .ibstep{flex:none;width:auto;flex-direction:row;white-space:nowrap;min-height:0;line-height:1.2}
.fstabs{display:flex;gap:6px;margin:0 0 14px}
.fstabs a{border:1px solid #d6dcda;border-radius:999px;padding:6px 14px;font-size:14px;color:#3f4745;text-decoration:none;background:#fff}
.fstabs a.on{background:var(--ink);border-color:var(--ink);color:#fff}
.bntab td{padding:8px 14px}.bnact{text-align:right;white-space:nowrap}
.bnhint{display:block;font-size:12.5px;color:#7a5600;margin-top:4px}.bnhint[hidden]{display:none}
.catgroups button small{font-size:11.5px;margin-left:6px}
.catgroups .bnadd{display:block;width:100%;text-align:left;border:0;border-top:1px solid #eef1f0;background:#fbfcfb;padding:9px 10px;font-weight:600;color:var(--ink);cursor:pointer;margin-top:4px}
#ibsup .catgroups > button{display:block;width:100%;text-align:left;background:none;border:0;padding:7px 10px;border-radius:6px;font-size:14px;cursor:pointer}
#ibsup .catgroups > button:hover,#ibsup .catgroups > button.on{background:#eef4f2}
.bnhint button.lnk{display:inline;padding:0;text-align:left;font-size:12.5px}.bnhint{text-align:left}
.drawer{z-index:980}
/* category picker on transactions: collapsed tree */
.cattree{max-height:52vh;overflow:auto;margin-top:8px;border:1px solid #eef1f0;border-radius:10px;padding:4px}
.cattree button{display:flex;align-items:center;gap:6px;width:100%;text-align:left;background:none;border:0;border-radius:6px;cursor:pointer;padding:7px 8px 7px calc(8px + var(--d,0) * 18px);font-size:14px;color:#1d2a2c}
.cattree button:hover{background:#f2f6f4}
.cattree .ctgrp{font-weight:600;color:var(--ink)}.cattree .ctgrp span{width:14px;color:#6b716f;font-size:12px}
.cattree .ctgrp i{font-style:normal;font-weight:400;font-size:11.5px;color:#7a807e;margin-left:auto}
.cattree .ctleaf{padding-left:calc(28px + var(--d,0) * 18px)}
.cattree .ctleaf.on{background:#e6f1ec;font-weight:600}
.txrc{display:flex;flex-direction:column;gap:6px}
.txrci{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;border:1px solid var(--line,#e3ded3);border-radius:8px;background:#fff}
.txrci a{font-weight:600;word-break:break-all}
.txrcm{color:var(--muted,#6b6b6b);font-size:.86em}
.txrci.to_confirm{border-color:#e8c46a;background:#fffaf0}
.txrcq{flex-basis:100%;font-size:.86em;color:#8a6200}
.augrid{display:flex;flex-direction:column;gap:10px;max-width:980px}
.aug{margin:14px 0 0;font-size:.95rem;color:var(--muted,#6b6b6b);font-weight:600}
.aucard{background:#fff;border:1px solid var(--line,#e3ded3);border-radius:10px;padding:14px 16px}
.aucard p{margin:6px 0 0;line-height:1.5}
.auh{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.auh h3{margin:0;font-size:1rem}
.auchip{display:inline-block;font-size:.8rem;padding:2px 9px;border-radius:999px;font-weight:600;white-space:nowrap}
.auchip.on{background:#e3f1df;color:#2d6a1f}.auchip.off{background:#eee;color:#555}.auchip.warn{background:#fff1d1;color:#8a6200}
.autab{margin-top:10px}.autab td{vertical-align:middle}
.aul{margin:6px 0 0 18px}
@media (max-width:640px){.autab td:nth-child(4){display:none}}
.idc{position:relative}
.iddel{position:absolute;top:8px;right:8px;background:none;border:0;padding:4px;border-radius:6px;color:#9a9a9a;cursor:pointer;opacity:.7}
.iddel:hover,.iddel:focus-visible{color:#b3261e;background:#fbe9e7;opacity:1}
.iddel svg{width:16px;height:16px}
.idc .idb{padding-right:24px}

.card.prdone{margin-top:12px;padding:0 16px 6px!important}.prdone>summary{cursor:pointer;margin:0!important;padding:12px 0!important;font-weight:600;color:var(--text2);list-style-position:inside}
.prdone[open]>summary{border-bottom:1px solid var(--line,#e3ded3)}.prdone #pld{opacity:.65;padding:4px 0}

.chico{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-right:5px;vertical-align:-2px;flex-shrink:0}
.chico svg,.chico img{width:14px;height:14px;display:block}.chico img{border-radius:3px}
.tbl .chico.li{color:var(--teal)}.tbl .chico.ig{color:#c13584}
.prpost .chico{color:inherit}.prpost.pub .chico.li{color:var(--teal)}.prpost.pub .chico.ig{color:#c13584}
.prlg{display:inline-flex;align-items:center;gap:5px;margin-left:12px}.prlg svg,.prlg img{width:15px;height:15px}.prlg img{border-radius:3px}
.prlg.li{color:var(--teal)}.prlg.ig{color:#c13584}.prlg span,.prlg{font-weight:500}
.prleg .prlg{color:inherit}.prleg .prlg.li svg{color:var(--teal)}.prleg .prlg.ig svg{color:#c13584}

.stmore{display:flex;justify-content:center;padding:10px 0 4px}

.maprow.fakefs{position:fixed;inset:0;z-index:2000;background:var(--cream);padding:10px;gap:10px;overflow:auto;-webkit-overflow-scrolling:touch}
.maprow.fakefs .fsx{display:block;position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:2100;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:8px 16px;font:500 13px var(--body);cursor:pointer}
.maprow.fakefs .mapcol #map{height:calc(100dvh - 120px)}
body.fsopen{overflow:hidden}
/* full screen: the exit button gets its own strip above the map, never over the site chips */
.maprow.fakefs{padding-top:calc(58px + env(safe-area-inset-top))}
.maprow.fakefs .fsx{top:calc(10px + env(safe-area-inset-top))}
.maprow.fakefs .mapcol #map{height:calc(100dvh - 170px - env(safe-area-inset-top))}
.maprow:fullscreen{padding-top:60px}
.maprow:fullscreen .mapcol #map{height:calc(100vh - 176px)}

.sflow{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.sfmain{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:20px;display:flex;flex-direction:column;align-items:center}
.sfsplit{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%;margin-top:18px;position:relative}
.sfsplit::before{content:"";position:absolute;top:-18px;left:25%;right:25%;height:18px;border:2px solid var(--line2);border-bottom:0;border-radius:10px 10px 0 0}
.sfcol{display:flex;flex-direction:column;align-items:stretch;background:var(--cream);border-radius:var(--rs);padding:12px}
.sfh{font-weight:700;font-size:13px;color:var(--ink);margin-bottom:10px;text-align:center}.sfh.ok{color:var(--teal)}
.sfb{position:relative;background:#fff;border:1.5px solid var(--line2);border-radius:12px;padding:10px 46px 10px 12px;width:100%;max-width:420px;align-self:center}
.sfb b{display:block;font-size:14px;color:var(--ink)}.sfb span{display:block;font-size:12.5px;color:var(--grey);margin-top:2px;line-height:1.35}
.sfb em{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:700;font-size:13px;min-width:26px;text-align:center;padding:2px 7px;border-radius:999px;background:var(--teal);color:#fff}
.sfb em.z{background:var(--sand);color:var(--grey)}
.sfb.start{border-color:var(--teal);border-width:2px}.sfb.end{border-style:dashed}
.sfb.good{border-color:var(--green)}.sfb.good em{background:var(--green);color:var(--ink)}.sfb.bad em:not(.z){background:var(--red)}
.sfa{display:flex;flex-direction:column;align-items:center;margin:4px 0;color:var(--grey);font-size:12px}
.sfa::before{content:"";width:2px;height:14px;background:var(--line2)}.sfa::after{content:"";border:6px solid transparent;border-top-color:var(--line2);border-bottom:0}
.sfa span{padding:2px 0}
.sfn{font-size:12.5px;color:var(--text2,#4a5b62);margin:10px 2px 0;line-height:1.45}.sfn b.warn{color:var(--amber)}
.sfreply{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px}
.sfreply h3{font-size:14px;margin:0 0 4px}.sfreply .sfb{max-width:none}
@media (max-width:900px){.sflow{grid-template-columns:1fr}.sfsplit{grid-template-columns:1fr}.sfsplit::before{display:none}}

.soonbox{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;border:1.5px dashed var(--line2);border-radius:var(--rs);padding:10px 12px 12px;margin-top:4px}
.soonbox .soonh{grid-column:1/-1;font-size:12px;font-weight:600;color:var(--grey)}
.soonbox label{opacity:.6}.soonbox select,.soonbox input{cursor:not-allowed}
@media (max-width:640px){.soonbox{grid-template-columns:1fr}}
.ertool{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.erhow{font-size:12.5px;color:var(--grey);max-width:620px}.erhow summary{margin:0}.erhow p{margin:6px 0 0;line-height:1.45}
.erk{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.erbar{width:80px;height:7px;border-radius:99px;background:var(--sand);overflow:hidden}.erbar i{display:block;height:100%;border-radius:99px;background:var(--grey)}
.erk b{min-width:22px;text-align:right;font-size:13px}
.erk em{font-style:normal;font-size:11.5px;font-weight:600;padding:1px 8px;border-radius:99px;background:var(--sand);color:var(--grey)}
.erk.hot .erbar i{background:var(--red)}.erk.hot em{background:#fbe3df;color:var(--red)}
.erk.warm .erbar i{background:var(--amber)}.erk.warm em{background:#fff1d1;color:#8a6200}
.ertab td{vertical-align:middle}

.plbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:4px 0 12px}.plbar select{max-width:240px}.plbar .plall{margin:0}
.board{grid-template-columns:repeat(8,minmax(170px,1fr));overflow-x:auto}
.dcard .dline{font-style:normal;color:var(--teal)}
.dcard .dnext{display:block;font-size:12px;color:var(--ink);margin-top:4px;line-height:1.35}
.dcard .dflags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.dcard .dflags em{font-style:normal;font-size:11px;font-weight:600;padding:1px 7px;border-radius:99px}
.dcard .dflags em.bad{background:#fbe3df;color:var(--red)}.dcard .dflags em.warn{background:#fff1d1;color:#8a6200}
.dchk{border:1.5px solid var(--line);border-radius:var(--rs);padding:10px 12px}.dchk h3{font-size:14px;margin:0 0 8px}
.dmeet{margin:12px 0}.dmeet h3{font-size:14px}.dmeet details{border-top:1px solid var(--line);padding:8px 0}.dmeet p{margin:6px 0 0;font-size:13px}
.evdone .evgrid{padding:12px 0}
/* Today: commercial priorities */
.tdgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tdsec{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px;border-top:5px solid var(--line2)}
.tdsec .tdhd{display:flex;gap:12px;align-items:center}
.tdsec h3{font-size:15px;margin:0}.tdsec .tdhd p{margin:2px 0 0;font-size:12.5px;color:var(--grey)}
.tdn{flex:none;min-width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font:900 19px var(--display);background:var(--sand);color:var(--grey)}
.tdsec.red{border-top-color:var(--red)}.tdsec.red .tdn{background:var(--red);color:#fff}
.tdsec.amber{border-top-color:var(--amber)}.tdsec.amber .tdn{background:var(--amber);color:#fff}
.tdsec.blue{border-top-color:var(--teal)}.tdsec.blue .tdn{background:var(--teal);color:#fff}
.tdsec.green{border-top-color:var(--green)}.tdsec.green .tdn{background:var(--green);color:var(--ink)}
.tdsec.clear{opacity:.6;box-shadow:none;border:1px solid var(--line);border-top-width:5px}
.tdlist{margin-top:12px;display:flex;flex-direction:column;max-height:360px;overflow:auto}
.tdi{display:flex;align-items:center;gap:10px;padding:9px 4px;border-top:1px solid var(--line);transition:opacity .2s}
.tdi.gone{opacity:0}
.tdi>a{flex:1;min-width:0;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.tdi>a b{font-size:14px}.tdo{font-size:12.5px;color:var(--teal)}.tds{font-size:12.5px;color:var(--grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tdm{font-size:12px;color:var(--grey);white-space:nowrap}.tdi.late .tdm{color:var(--red);font-weight:600}
.tddone{font-size:12px;white-space:nowrap}
.tdflag{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:99px;white-space:nowrap}.tdflag.bad{background:#fbe3df;color:var(--red)}.tdflag.warn{background:#fff1d1;color:#8a6200}
.tdout{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;text-decoration:none;color:var(--ink)}
.tdout em{font-style:normal;font-weight:700;background:var(--sand);padding:4px 12px;border-radius:99px;white-space:nowrap}
@media (max-width:900px){.tdgrid{grid-template-columns:1fr}.tdi{flex-wrap:wrap}.tdi>a{flex-basis:100%}}

.tdideas{grid-column:1/-1;margin-top:14px}
.tdkinds{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tdkinds button{border:1px solid var(--line2);background:#fff;border-radius:99px;padding:4px 11px;font:500 12.5px var(--body);color:var(--ink);cursor:pointer}
.tdkinds button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tdkinds i{font-style:normal;opacity:.7;margin-left:3px}
.tdil{max-height:none}.tdidea{align-items:flex-start}
.tdk{flex:none;width:118px;font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:99px;text-align:center;background:var(--sand);color:var(--grey);margin-top:2px}
.tdk.red{background:#fbe3df;color:var(--red)}.tdk.amber{background:#fff1d1;color:#8a6200}.tdk.blue{background:#dceef2;color:var(--teal)}.tdk.green{background:#e8f1d6;color:#4d6b14}
.tdr{font-size:12.5px;color:var(--grey);line-height:1.4}.tdnote{font-size:13px;color:var(--ink);line-height:1.45;margin-top:4px;padding-left:10px;border-left:3px solid var(--green)}
.tdmore{margin-top:10px}
@media (max-width:900px){.tdk{width:auto}}

.ibfield{font-style:normal;font-size:11.5px;font-weight:600;color:var(--teal);background:#dceef2;padding:1px 7px;border-radius:99px}
.ibfx{background:var(--cream);border-radius:var(--rs);padding:10px 12px;font-size:13px;line-height:1.5}.ibfph{display:block;margin-top:4px}.ibfph a{margin-right:10px}
.fxtile.fxrcpt{width:100%;margin:6px 0 12px;min-height:0;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:2px;align-items:center;text-align:left;padding:14px 16px}.fxtile.fxrcpt svg{grid-row:1/3;margin:0}.fxtile.fxrcpt b,.fxtile.fxrcpt span{margin:0}
/* field expense receipt: phone first, one column, big touch targets */
.rcpt{max-width:560px;margin:0 auto}
.rchead h2{margin:6px 0 2px}.rchead p{margin:0 0 14px;font-size:13px}
.rq{color:var(--red);font-style:normal;font-weight:600;margin-left:2px}
.rcpt form{display:flex;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px}
.rcf{display:flex;flex-direction:column;gap:6px;margin:0;font-size:13px;font-weight:500;color:var(--ink)}
.rcf input,.rcf select,.rcf textarea{width:100%;min-height:46px;font-size:16px;padding:10px 12px;border-radius:10px;margin:0;box-sizing:border-box}
.rcf textarea{min-height:84px}
.rc2{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:10px}
.rcs{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rcl{font-size:13px;font-weight:500;color:var(--ink)}
.rcpick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rcpick .btn{justify-content:center;text-align:center;min-height:46px;display:flex;align-items:center;cursor:pointer;font-size:14px}
.rcseg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line2,var(--line));border-radius:10px;overflow:hidden}
.rcseg button{min-height:44px;border:0;background:var(--white);font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.rcseg button+button{border-left:1px solid var(--line)}
.rcseg button.on{background:var(--teal);color:#fff;font-weight:600}
.rctags{display:flex;flex-wrap:wrap;gap:8px}
.rctags button{min-height:38px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.rctags button.on{background:var(--green);border-color:var(--green);color:#fff}
.rcnew{display:flex;gap:8px}.rcnew input{flex:1;min-height:42px;font-size:16px;padding:8px 12px;border-radius:10px;margin:0}
.rcsave{position:sticky;bottom:0;background:var(--white);padding:10px 0 2px;margin-top:4px}
.rcsave .btn{width:100%;min-height:50px;font-size:16px;justify-content:center}
.rcpt .fphotos{margin:0}.rcpt .fthumb{width:88px;height:88px}
@media (max-width:420px){.rcpt form{padding:14px 12px;border-radius:12px}.rcpick{grid-template-columns:1fr}}
.ibsteps .ibstep.side+.ibstep.side{margin-left:8px}
.hrp{display:flex;align-items:center;gap:8px}.hrp .av{flex:none}
/* clients table: hectares as shaded cells, events as dots, total with a bar */
.cysum{display:flex;flex-wrap:wrap;gap:10px 28px;margin:2px 0 12px}
.cysum div{display:flex;flex-direction:column}.cysum b{font-size:20px;color:var(--ink);line-height:1.1}.cysum span{font-size:12px;color:var(--text2)}
.cyleg{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px}
.hacell{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:44px;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--green) var(--k),#fff);color:var(--ink);font-variant-numeric:tabular-nums}
.hacell.dk{color:#fff;font-weight:600}
.cyleg .hacell{min-width:0}
.hacell .scmark,.cyleg .scmark{background:#fff;color:var(--ink);padding:0 3px;font-size:11px;border:1px solid var(--line)}
td.yc{padding-left:3px;padding-right:3px}
td.evc,th.evc{text-align:center}
.evd{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:-1px}
.evd.yes{background:var(--teal)}.evd.open{border:2px solid var(--amber);box-sizing:border-box}
.cyname{display:inline-flex;align-items:center;gap:8px}.cyname.past b{color:var(--text2);font-weight:500}
.cydot{width:8px;height:8px;border-radius:50%;background:#c9d0ce;flex:none}.cydot.on{background:var(--green)}
.cytot{display:inline-flex;align-items:center;gap:8px;justify-content:flex-end;min-width:120px}
.cytot i{display:block;height:6px;border-radius:3px;background:var(--teal);opacity:.55;max-width:60px;flex:0 0 auto}
.cytot b{min-width:48px;text-align:right}
.hacell .scmark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:var(--amber);color:#fff}
.hacell .evmark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;flex:none}
.hacell .evmark.yes{background:var(--teal);color:#fff}
.hacell .evmark.open{background:#fff;color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.hacell:not([style*="--k:0%"]){}
.ertm{font-size:13px;display:inline-flex;align-items:center;gap:6px}
.hacell .evmark.gala.yes{background:var(--brown,#7a5b3a)}.hacell .evmark.gala.open{color:var(--brown,#7a5b3a);box-shadow:inset 0 0 0 1.5px var(--brown,#7a5b3a)}
.dvp{color:inherit;text-decoration:none}.dvp:hover b{text-decoration:underline;color:var(--teal)}
.evmark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex:none;vertical-align:middle}
.evmark.yes{background:var(--teal);color:#fff}
.evmark.open{background:#fff;color:var(--teal);box-shadow:inset 0 0 0 1.5px var(--teal)}
.evmark.no{background:#f1efec;color:#b9b2a8;position:relative}
.evmark.no::after{content:"";position:absolute;width:22px;height:1.5px;background:#c0574a;transform:rotate(-45deg)}
.evmark.gala.yes{background:var(--brown)}.evmark.gala.open{color:var(--brown);box-shadow:inset 0 0 0 1.5px var(--brown)}
/* lists: filters behind one funnel button, active ones as chips; one line per row */
.stbar{position:relative}
.stchips{display:flex;flex-wrap:wrap;gap:6px}
.stchip{border:1px solid var(--line);background:#eef5f6;color:var(--ink);border-radius:999px;padding:4px 10px;font:13px var(--body);cursor:pointer}
.stchip b{font-weight:600}
.stfb{position:relative}
.stfn{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;border-radius:9px;background:var(--teal);color:#fff;font:600 11px/17px var(--body);font-style:normal;text-align:center;padding:0 4px}
.stfpop{background:var(--cream);border-radius:14px;padding:12px 14px;margin:-4px 0 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 14px}
.stfpop[hidden]{display:none}
.stfpop label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text2);margin:0}
.stfpop .stf{width:100%;max-width:none;border-radius:10px;padding:7px 10px;font-size:13.5px}
.stfpop .stfclr{grid-column:1/-1;justify-self:start;font-size:13px}
.stbar .ibtn{width:36px;height:34px}
.st-wrap{position:relative}
table.st td{white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}
table.st td .chip{white-space:nowrap}

.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.clamp2.open{display:block;-webkit-line-clamp:unset}.rdmore{font-size:13px;margin-top:2px}
/* one height for every control in list toolbars (34 px) and page header buttons (38 px) */
.stbar .btn,.stbar .stq,.toolbar .btn,.toolbar select,.toolbar input[type=search],.toolbar .combo-btn,.listbar .btn,.listbar select,.fctool .btn,.fctool select,.fctool input[type=search],.ertool .btn{height:34px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0;font-size:13.5px}
.toolbar select,.listbar select,.fctool select,.toolbar .combo-btn{justify-content:flex-start}
.stbar .ibtn,.toolbar .ibtn,.listbar .ibtn,.fctool .ibtn{width:36px;padding:0}
.phead .hbtns>.btn,.phead .hbtns>label.btn,.phead>.btn,.phead>a.btn{height:38px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}
.phead .hbtns>.ibtn{width:40px;padding:0}
.stfpop select{width:100%;max-width:none;border-radius:10px;padding:7px 10px;font-size:13.5px;height:34px}
.txfpop .txhide{flex-direction:row;align-items:center;gap:6px;font-size:13px;color:var(--ink);align-self:end;padding-bottom:6px}
.mtold summary{cursor:pointer;padding:10px 14px;font-size:13.5px;color:var(--text2);list-style:none}.mtold summary::before{content:"▸ ";}.mtold[open] summary::before{content:"▾ "}.mtold .mtl:not(.on){opacity:.6}.mtold .mtl:not(.on):hover{opacity:1}
/* transactions: compact one-line rows and toolbar at the common height */
.toolbar.txbar input[type=search],.toolbar.txbar select,.toolbar.txbar .combo-btn,.toolbar.txbar .uncat,.toolbar.txbar .btn{height:34px;box-sizing:border-box;padding-top:0;padding-bottom:0;display:inline-flex;align-items:center}
.toolbar.txbar .seg a{padding-top:5px;padding-bottom:5px}
table.txtab td{vertical-align:middle}
table.txtab td.txn{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.txtab td.txc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn.busy{opacity:.55;cursor:progress}
.hbtns{display:inline-flex;gap:8px;align-items:center}
.entsel select{height:38px;border-radius:999px;border:1.5px solid var(--teal);color:var(--teal);font-weight:600;font-size:14px;padding:0 34px 0 16px;background-color:#fff;width:auto}
/* Finance › Settings: one tidy header */
.fshead{display:flex;align-items:center;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 18px;padding-bottom:0}
.fshead h2{margin:0 0 10px}
.fshead .fstabs{display:flex;gap:2px;margin:0;flex:1;align-self:flex-end;flex-wrap:wrap}
.fshead .fstabs a{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:10px 14px;font-size:14.5px;color:var(--text2);text-decoration:none}
.fshead .fstabs a:hover{color:var(--ink)}
.fshead .fstabs a.on{border-bottom-color:var(--teal);color:var(--ink);font-weight:600;background:none}
.fshead .fsent{margin:0 0 8px auto}
.fshead .fsent .entstrip{margin:0}
.fshead ~ .phead h2{display:none}
.fshead ~ .phead{margin-top:0;align-items:center}
.fshead ~ .phead .ctx{margin:0}
.fctabs{display:inline-flex;gap:0;border:1px solid var(--line2,var(--line));border-radius:999px;padding:3px;margin:0 0 14px;background:#fff}
.fctabs button{border:0;border-radius:999px;padding:6px 16px;font-size:13.5px;color:var(--teal);height:auto}
.fctabs button.on{background:var(--teal);color:#fff;font-weight:600;border:0}
.fshead ~ .phead .fctabs{margin:0}
.entsel{position:relative;display:inline-block}
.entbtn{display:inline-flex;align-items:center;gap:9px;height:38px;padding:0 12px 0 5px;border-radius:999px;border:1px solid var(--line2,var(--line));background:#fff;color:var(--ink);cursor:pointer;font:inherit;box-shadow:0 1px 2px rgba(0,40,55,.06)}
.entbtn:hover{border-color:var(--teal)}
.entbtn b,.entmenu b{font-weight:600;font-size:14px}
.entbtn small,.entmenu small{font-size:11.5px;color:var(--text2);font-weight:500}
.entbtn svg{color:var(--teal);margin-left:2px}
.entcc{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:999px;background:var(--teal);color:#fff;font:700 11px var(--body);letter-spacing:.03em}
.entmenu{position:absolute;z-index:70;top:calc(100% + 6px);left:0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(0,40,55,.16);padding:6px;display:flex;flex-direction:column}
.entmenu[hidden]{display:none}
.entmenu button{display:flex;align-items:center;gap:9px;border:0;background:none;padding:7px 8px;border-radius:10px;cursor:pointer;font:inherit;color:var(--ink);text-align:left}
.entmenu button:hover{background:#eef5f6}
.entmenu button.on .entcc{background:var(--ink)}
.entmenu i{margin-left:auto;font-style:normal;color:var(--teal);font-weight:700}
.fshead .fsent .entmenu{left:auto;right:0}
.mfilters[hidden],.mtotals[hidden]{display:none!important}
.mqrow{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.mqrow input{flex:1;margin:0;height:38px;border-radius:999px;padding:0 14px}
.mqrow .ibtn{width:38px;height:38px;flex:none}
.mqrow .ibtn.on{background:var(--teal);color:#fff;border-color:var(--teal)}
.addwrap .ibtn{width:40px}
.entcc:has(svg){background:none;min-width:26px;width:26px;height:26px;padding:0;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.entcc svg{display:block;border-radius:50%}
.edt.rev{background:#e7f1f4;color:var(--teal)}.cfrev{display:flex;gap:10px;align-items:flex-start;background:var(--cream);border-radius:12px;padding:10px 12px;margin:0 0 10px;cursor:pointer}.cfrev small{display:block;color:var(--text2);font-size:12px;font-weight:400}
/* Hub › Dev requests */
.dvseg{display:inline-flex;border:1px solid var(--line2,var(--line));border-radius:999px;padding:3px;background:#fff;margin:0 0 14px}
.dvseg button{border:0;background:none;border-radius:999px;padding:6px 16px;font:inherit;font-size:13.5px;color:var(--teal);cursor:pointer}
.dvseg button i{font-style:normal;font-size:12px;opacity:.75;margin-left:4px}
.dvseg button.on{background:var(--teal);color:#fff;font-weight:600}
.dvrq{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.dvk{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;flex:none;vertical-align:middle}
.dvk-Bug{background:#fbe5e2;color:#b3412f}.dvk-Improvement{background:#e3eff3;color:var(--teal)}.dvk-Newfeature{background:#eef4dc;color:#5d7f1f}
.dvurg{font-size:11px;font-weight:700;color:#fff;background:#c0574a;border-radius:999px;padding:1px 8px}
.dvfrom{display:inline-flex;align-items:center;gap:6px}
.dvmeta{font-size:13px;margin:-4px 0 12px}
.dvbody{background:var(--cream);border-radius:12px;padding:12px 14px;margin:0 0 14px;white-space:pre-wrap}
.dvreply{border-left:3px solid var(--teal);padding:6px 12px;margin:10px 0}.dvreply p{margin:4px 0 0}
.dvkinds{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.dvkinds button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
.dvkinds button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.recform.dvform{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.recform.dvform label,.recform.dvform label.full{display:flex;flex-direction:column;align-items:stretch;gap:5px}.recform.dvform label.full{grid-column:1/-1}.recform.dvform input,.recform.dvform select{height:38px}.dvform+.mbtns{margin-top:16px}
.mbtns{gap:8px}
.dvbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 14px}.dvbar .dvseg{margin:0}
.dvscope button.on{background:var(--ink)}
.recform.dvform label.dvpriv{flex-direction:row;align-items:center;gap:8px;font-size:13.5px;color:var(--ink)}
.maprow .side .mqrow input#q{height:38px;margin:0;padding:0 14px;font-size:14px;box-sizing:border-box}
.maprow .side .mqrow{align-items:center}
.maprow .side .mqrow .ibtn{margin:0}
.hdev{margin-right:8px}
.recform.dvform label.dvpriv{display:inline-flex;flex-direction:row;align-items:center;gap:10px;width:auto;cursor:pointer;white-space:nowrap}
.recform.dvform label.dvpriv input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;margin:0;padding:0;accent-color:var(--teal)}
/* top bar: the right-hand buttons sit 8 px apart */
@media (min-width:701px){.hrow>.hadm,.hrow>.nwrap,.hdev{margin-right:0}
.hrow>.hadm,.hrow>.hdev,.hrow>.nwrap,.hrow>.pwrap{margin-left:-10px}
.hrow>.dens+.hadm{margin-left:-10px}}
@media (max-width:700px){.hdev{margin-right:0}.hrow>.hdev{margin-left:auto}.hrow>.nwrap,.hrow>.pwrap{margin-left:0}.nwrap{margin-right:0}}
@media (min-width:701px){.hrow>.dens{margin-left:auto}.hrow>.dens~.hadm{margin-left:-10px}}
/* field: forest inventory */
.fxtile.fxinv{background:linear-gradient(135deg,#eaf3df,#fff);border-color:#cfe3b8}
.ivlist{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ivp{display:grid;grid-template-columns:1fr auto;gap:2px 10px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font:inherit;cursor:pointer;color:var(--ink)}
.ivp b{font-size:16px}.ivp span{font-weight:600;color:var(--teal);align-self:center}.ivp small{grid-column:1/-1;color:var(--text2)}
.ivnav .ivgo{display:flex;flex-direction:column;gap:2px;background:var(--cream);border-radius:12px;padding:14px;text-align:center}
.ivgo b{font-size:20px;color:var(--ink)}.ivgo span{font-size:13px;color:var(--text2)}
.ivgo.near{background:#e5f2d8}.ivgo.near b{color:#3c7a2a}
.rcseg.rcseg4{grid-template-columns:repeat(4,1fr)}
.ivtree{display:flex;flex-direction:column;gap:10px;background:var(--cream);border-radius:12px;padding:12px}
.ivtree #tspx{min-height:44px;font-size:16px;border-radius:10px;padding:8px 12px}
.ivtree [hidden]{display:none!important}
.ivrow{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:8px 2px}
.ivrow span{display:flex;flex-direction:column}.ivrow small{color:var(--text2);font-size:12.5px}
.ivrow button{border:0;background:#f1efec;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px}
.plempty{padding:24px;text-align:center}.plempty p{margin:6px 0}
/* holidays and missions: approvals */
.lvapp{border-left:4px solid var(--amber,#c98a00);margin-bottom:16px}
.lvapp h3{margin:0 0 8px}
.lvrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.lvrow:first-of-type{border-top:0}
.lvbtns{display:flex;gap:8px;flex:none}
.lvst{font-size:11.5px;font-weight:600;border-radius:999px;padding:1px 8px;margin-left:6px;white-space:nowrap}
.lvst.pend{background:#fff1c7;color:#7a5600}.lvst.rej{background:#f6dcd8;color:#a03a2c}
.hrbarl.pend{opacity:.55;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.55) 0 4px,transparent 4px 8px)}
.lvinfo{background:var(--cream);border-radius:10px;padding:10px 12px;font-size:13.5px;margin:10px 0 0}
.hrnext li .lvst{justify-self:start;align-self:center}
.ivhow{background:#eef5f6;border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.45;margin:0 0 8px;color:var(--ink)}
.rcseg.rcseg2{grid-template-columns:repeat(2,1fr)}
.ivsoil span{display:flex;align-items:center;gap:10px;font-size:15px}.ivsoil input{width:22px;height:22px;min-height:0}

/* Knowledge: guide catalogue and reader */
.kbbar{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin:0 0 6px}
.kbsearch{display:flex;align-items:center;gap:8px;flex:1 1 280px;max-width:520px;border-bottom:1.5px solid var(--line2);padding:4px 2px;color:var(--grey)}
.kbsearch input,.kbsearch input:focus{border:0!important;box-shadow:none!important;border-radius:0!important;background:none!important;outline:none;font:inherit;font-size:15px;color:var(--ink);flex:1;padding:6px 0!important;min-width:0;height:auto}
.kbbar .dvseg{margin:0;flex-wrap:wrap}
.kbgrp{margin-top:26px}
.kbgrp>h3{color:var(--teal);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.kbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px}
.kbcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--rs);overflow:hidden;text-decoration:none;color:var(--ink);transition:box-shadow .15s,transform .15s}
.kbcard:hover{box-shadow:var(--shadow);transform:translateY(-2px);color:var(--ink)}
.kbcov{position:relative;height:150px;background:var(--ink);overflow:hidden}
.kbcov svg{position:absolute;inset:0;width:100%;height:100%}
.kbt0{background:#244a32}.kbt1{background:var(--ink)}.kbt2{background:var(--brown)}.kbt3{background:var(--teal)}.kbt4{background:#3b3a52}
.kbtag{position:absolute;left:12px;top:12px;background:rgba(0,0,0,.35);color:var(--cream);font:500 11.5px var(--body);letter-spacing:.04em;padding:4px 9px;border-radius:6px}
.kbdraft{position:absolute;right:12px;top:12px;background:var(--amber);color:#fff;font-size:11.5px;padding:3px 9px;border-radius:6px}
.kbcb{padding:16px 18px 14px;display:flex;flex-direction:column;flex:1}
.kbcb h4{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:16px;line-height:1.15;margin:0 0 8px}
.kbcb p{margin:0 0 14px;color:var(--grey);font-size:13.5px;line-height:1.5}
.kbmeta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--grey)}
.kbmeta b{color:var(--teal);font-weight:500}
.kbhead{position:relative;overflow:hidden;color:var(--cream);border-radius:var(--rs);padding:22px 26px;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin:0 0 26px}
.kbhead>div{position:relative}
.kbhead .kbhl{position:absolute;right:0;top:0;width:340px;height:100%}
.kbhead h2{color:var(--cream);margin:0;font-size:clamp(22px,3.2vw,34px)}
.kbeye{margin:0 0 6px;color:var(--green);font-size:13px;font-weight:500;letter-spacing:.03em}
.kbbtns{display:flex;gap:8px;flex-wrap:wrap}
.kbhead .btn.sec{background:transparent;color:var(--cream);border-color:rgba(250,245,237,.45)}
.kbhead .btn.sec:hover{border-color:var(--cream);color:var(--cream)}
.kbwrap{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;align-items:start}
.kbtoc{position:sticky;top:130px;max-height:calc(100vh - 150px);overflow:auto;border-left:2px solid var(--line);padding:2px 0 2px 12px;font-size:13.5px}
.kbtoc a{display:block;color:var(--grey);text-decoration:none;padding:4px 8px;border-radius:6px;line-height:1.35}
.kbtoc a.kbtc{color:var(--ink);font-weight:500;margin-top:12px}
.kbtoc a.kbtc:first-child{margin-top:0}
.kbtoc a:not(.kbtc){padding-left:16px}
.kbtoc a:hover{color:var(--ink);background:var(--sand)}
.kbtoc a.on{color:var(--ink);background:var(--sand);box-shadow:inset 3px 0 0 var(--green)}
.kbart{max-width:780px;font-size:16px;line-height:1.7;color:#173f4d}
.kbart .kblead{font-size:19px;line-height:1.55;color:var(--ink);margin:0 0 6px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.kbart hr.kbrule{border:0;border-top:3px solid var(--green);margin:34px 0 18px}
.kbart .kbch{color:var(--teal);font-weight:500;font-size:13px;letter-spacing:.06em;margin:0 0 4px}
.kbart h2{font-size:clamp(22px,2.6vw,28px);margin:0 0 18px}
.kbart h3{font-family:var(--body);text-transform:none;font-weight:700;font-size:19px;letter-spacing:0;margin:30px 0 10px;color:var(--ink)}
.kbart p{margin:0 0 14px}
.kbart ul,.kbart ol{margin:0 0 14px;padding-left:22px}
.kbart li{margin:4px 0}
.kbart .kbtw{overflow-x:auto;margin:6px 0 18px}
.kbart table{border-collapse:collapse;font-size:14px;line-height:1.45;min-width:60%}
.kbart th{text-align:left;font-weight:500;color:var(--grey);border-bottom:1.5px solid var(--line2);padding:8px 14px 8px 10px;white-space:nowrap}
.kbart td{border-bottom:1px solid var(--line);padding:8px 14px 8px 10px;vertical-align:top}
.kbart td.n,.kbart th.n{text-align:right;font-variant-numeric:tabular-nums}
.kbart tr.tot td{font-weight:700;border-bottom:0}
.kbart figure{margin:10px 0 22px}
.kbart figure img{max-width:100%;max-height:340px;display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px}
.kbart figure.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kbart figure.pair figcaption{grid-column:1/-1}
.kbart figcaption{font-size:13px;color:var(--grey);margin-top:6px}
.kbart .eq{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14.5px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:8px;padding:10px 14px;margin:6px 0 14px;overflow-x:auto}
.kbart .flag{background:#fff7e3;border-left:3px solid var(--amber);border-radius:8px;padding:10px 14px;margin:6px 0 14px;font-size:15px}
.kbart .erp{background:#eef5e3;border-left:3px solid var(--green);border-radius:8px;padding:10px 14px;margin:6px 0 14px;font-size:15px}
.kbart sup.kbfr a{text-decoration:none;font-weight:700;padding:0 2px}
.kbart .kbnh{margin-top:40px;padding-top:16px;border-top:1px solid var(--line)}
.kbart .kbnotes{font-size:13.5px;color:var(--grey);line-height:1.55}
.kbart .kbnotes a[data-b]{text-decoration:none}
.kbart dl{margin:0 0 14px}.kbart dt{font-weight:700;margin-top:10px}.kbart dd{margin:2px 0 0}
.kbtocb{display:none}
.kbtoc a.kbsub{padding-left:28px;font-size:12.5px}
.kbart .kbver{margin:0 0 10px}
.kbart .kbsrc{font-size:13.5px;color:var(--grey);line-height:1.5;margin:0 0 16px}
.kbart h4{font-size:16.5px;font-weight:700;margin:24px 0 8px;color:var(--ink)}
.kbart h5{font-size:15px;font-weight:700;margin:20px 0 6px;color:var(--ink)}
.kbart .kbph{font-size:13px;color:var(--grey);background:var(--sand);border-radius:8px;padding:8px 12px;margin:8px 0 14px}
.kbart p.cap{font-size:13px;color:var(--grey);font-style:italic;margin:14px 0 4px}
@media (max-width:900px){.kbwrap{grid-template-columns:minmax(0,1fr);gap:12px}.kbtocb{display:inline-flex;justify-self:start}.kbtoc{display:none;position:static;max-height:none;border-left:0;border-bottom:1px solid var(--line);padding:0 0 10px}.kbtoc.open{display:block}.kbhead{padding:18px}.kbart{font-size:15.5px}.kbart figure.pair{grid-template-columns:1fr}}
@media print{
  body.kbprint header,body.kbprint .mnav,body.kbprint .appfoot,body.kbprint .kbtoc,body.kbprint .kbtocb,body.kbprint .kbbtns,body.kbprint .kbver,body.kbprint .kbln,body.kbprint .demobar,body.kbprint .impbar{display:none!important}
  body.kbprint{background:#fff}
  body.kbprint main,body.kbprint main *{visibility:visible}
  body.kbprint main{padding:0;max-width:none}
  body.kbprint .kbhead{background:none!important;color:var(--ink);padding:0 0 10px;border-bottom:3px solid var(--green);border-radius:0}
  body.kbprint .kbhead h2{color:var(--ink)}
  body.kbprint .kbwrap{display:block}
  body.kbprint .kbart{max-width:none;font-size:11pt}
  body.kbprint .kbart h2,body.kbprint .kbart h3{break-after:avoid}
  body.kbprint .kbart figure,body.kbprint .kbart table{break-inside:avoid}
}
.rpdf.ph{background:#f1f1ee;color:#8a8a84;font-size:13px;letter-spacing:1px}
.rvph .rvnt{color:var(--muted,#6b6b66)}
.rvph .rvn small{font-style:italic}

/* Calls (Fellow) */
.cl-meta{margin-top:-4px}
.cl-h{font-size:15px;margin:16px 0 6px}
.cl-notes{font-size:14.5px;line-height:1.6;max-height:48vh;overflow:auto;padding-right:6px}
.cl-notes h4{font-size:14.5px;margin:12px 0 4px}
.cl-notes ul{margin:4px 0 8px;padding-left:20px}
.cl-notes p{margin:0 0 8px}
.cl-acts{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.cl-acts li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:14px}
.cl-acts li.done span:first-child{text-decoration:line-through;color:var(--grey)}
.cl-more{margin-top:10px;font-size:14px}
.cl-more summary{cursor:pointer;color:var(--teal)}
.cl-tr{white-space:pre-wrap;font-size:13px;max-height:40vh;overflow:auto;background:var(--sand);padding:10px;border-radius:8px}
.cl-list{display:grid;gap:4px}
.cl-row{display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;background:none;border:1px solid var(--line);border-radius:8px;padding:7px 10px;cursor:pointer;font:inherit;color:var(--ink)}
.cl-row:hover{border-color:var(--teal)}
.cl-row b{font-size:13.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.cl-row span{font-size:12.5px}
.clext{margin:0 0 10px!important;font-size:14px}.clext input{width:auto!important;margin:0;accent-color:var(--teal)}
.cl-notes h5{font-size:13.5px;margin:10px 0 2px;color:var(--teal)}
.tddone{margin-left:6px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2)!important;display:inline-grid;place-items:center;font-size:13px;color:var(--teal);flex:0 0 auto}
.tddone:hover{background:var(--teal);color:#fff}
.ibro{margin:0 0 10px;font-size:13.5px}
.clbub{display:inline-flex;align-items:center}
.clbub>span{margin-left:-6px;display:inline-flex;border-radius:50%;box-shadow:0 0 0 2px var(--white,#fff)}
.clbub>span:first-child{margin-left:0}
.clbub .clmore{width:24px;height:24px;border-radius:50%;background:var(--sand);color:var(--ink);font-size:11px;display:inline-grid;place-items:center;margin-left:-6px}
.clfilt{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 10px}.clfilt .clext{margin:0!important}
.mbtns .fill{flex:1}
/* the buttons of a window (Save, Close, Delete…) stay in view at the bottom while its content scrolls */
#mbody>.mbtns{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:sticky;bottom:0;z-index:3;background:var(--white);margin-top:18px;margin-left:-28px;margin-right:-28px;padding:14px 28px 16px;border-top:1px solid var(--line)}
#mbody>.mbtns:last-child{margin-bottom:-26px;padding-bottom:20px;border-radius:0 0 24px 24px}
#mbody>.mbtns .btn{min-height:40px}
#mbody>.mbtns .ibtn{width:40px;height:40px;padding:0;display:inline-grid;place-items:center}
@media (max-width:640px){#mbody>.mbtns{margin-left:-16px;margin-right:-16px;padding:12px 16px calc(14px + env(safe-area-inset-bottom,0px))}#mbody>.mbtns:last-child{margin-bottom:-30px;border-radius:0}}
/* the window fits the screen; its content scrolls inside, so the bottom buttons sit on its bottom edge */
.mbox{max-height:calc(100dvh - 96px);display:flex;flex-direction:column}
#mbody{overflow:auto;min-height:0;margin:0 -28px;padding:0 28px}
#mbody:has(>.mbtns:last-child){margin-bottom:-26px}
#mbody>.mbtns:last-child{margin-bottom:0;border-radius:0}
@media (max-width:640px){.mbox{max-height:100dvh}#mbody{margin:0 -16px;padding:0 16px}#mbody:has(>.mbtns:last-child){margin-bottom:-30px}#mbody>.mbtns:last-child{margin-bottom:0}}
.mbox{overflow:hidden}
#mbody>.mbtns:last-child{border-radius:0 0 24px 24px}
@media (max-width:640px){#mbody>.mbtns:last-child{border-radius:0}}
/* ---- left menu (modules) + one top bar (the module's tabs) ---- */
:root{--sbw:224px}
:root[data-side=mini]{--sbw:72px}
.sbar{display:none}
.hbar{display:flex;align-items:stretch;gap:14px;padding:0 18px 0 22px;height:56px}
.hbar>.brand{align-self:center}
.hbar>.nedge{flex:1 1 auto;min-width:0;display:flex}
.hbar .hsn{height:100%;align-items:stretch;gap:2px}
.hbar .hsn a,.hbar .hmore{padding:0 14px;margin-top:10px;border-radius:10px 10px 0 0;border-bottom:0;color:rgba(250,245,237,.72);font-size:14px}
.hbar .hsn a:hover,.hbar .hmore:hover{color:var(--cream);background:rgba(250,245,237,.06)}
.hbar .hsn a.on,.hbar .hmore.on{color:var(--ink);background:var(--cream);font-weight:500}
.hbar .htitle{flex:1;display:flex;align-items:center;font-family:var(--display);font-weight:900;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--green)}
.htools{display:flex;align-items:center;gap:8px;margin-left:auto;flex:none}
.htools>*{margin:0!important}
header.top{border-bottom:3px solid var(--cream)}
@media (min-width:701px){
  #app:has(>.sbar){padding-left:var(--sbw);transition:padding-left .2s ease}
  .hbar>.brand{display:none}
  .sbar{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:var(--sbw);z-index:960;background:var(--ink);color:var(--cream);border-right:1px solid rgba(250,245,237,.12);padding:14px 12px 12px;transition:width .2s ease;overflow:hidden}
  .sbrand{display:flex;align-items:center;gap:8px;height:40px;padding:0 6px;margin-bottom:18px;text-decoration:none;flex:none}
  .sbrand .sfull{height:30px;width:auto}
  .sbrand .smark{display:none;width:36px;height:36px;border-radius:10px}
  .sbrand span{font-family:var(--display);font-weight:900;font-size:11px;letter-spacing:.06em;color:var(--ink);background:var(--green);padding:2px 8px;border-radius:999px}
  .snav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;scrollbar-width:none}
  .snav a,.sfoot a,.stog{position:relative;display:flex;align-items:center;gap:12px;height:42px;padding:0 12px;border-radius:12px;color:rgba(250,245,237,.75);text-decoration:none;font-size:14.5px;font-weight:500;white-space:nowrap;background:none;border:0;cursor:pointer;font-family:var(--body);width:100%;text-align:left}
  .snav a svg,.sfoot a svg,.stog svg{flex:none}
  .snav a:hover,.sfoot a:hover,.stog:hover{background:rgba(250,245,237,.08);color:var(--cream)}
  .snav a.on,.sfoot a.on{background:rgba(250,245,237,.14);color:var(--cream)}
  .snav a.on svg,.sfoot a.on svg{color:var(--green);stroke-width:2.2}
  .snav a.on::before,.sfoot a.on::before{content:"";position:absolute;left:-12px;top:9px;bottom:9px;width:4px;border-radius:0 4px 4px 0;background:var(--green)}
  .snav .rvn,.sfoot .rvn{margin-left:auto}
  .sfoot{display:flex;flex-direction:column;gap:2px;padding-top:10px;border-top:1px solid rgba(250,245,237,.12);flex:none}
  .stog{color:rgba(250,245,237,.55);font-size:13px;font-weight:400}
  :root[data-side=mini] .sbar{padding-left:10px;padding-right:10px}
  :root[data-side=mini] .sbrand{justify-content:center;padding:0}
  :root[data-side=mini] .sbrand .sfull,:root[data-side=mini] .sbrand span{display:none}
  :root[data-side=mini] .sbrand .smark{display:block}
  :root[data-side=mini] .snav a span,:root[data-side=mini] .sfoot a span,:root[data-side=mini] .stog span{display:none}
  :root[data-side=mini] .snav a,:root[data-side=mini] .sfoot a,:root[data-side=mini] .stog{justify-content:center;padding:0}
  :root[data-side=mini] .snav a.on::before,:root[data-side=mini] .sfoot a.on::before{left:-10px}
  :root[data-side=mini] .stog svg{transform:scaleX(-1)}
  :root[data-side=mini] .snav .rvn,:root[data-side=mini] .sfoot .rvn{position:absolute;top:3px;right:6px;margin:0;font-size:10px;min-width:16px;padding:0 4px}
  .menu{top:80px}.s-rail{top:76px}#cbar{top:72px}.kbtoc{top:80px}
}
@media (max-width:700px){
  .hbar{flex-wrap:wrap;height:auto;padding:8px 12px 0;row-gap:6px}
  .hbar>.brand img{height:22px}
  .hbar>.nedge{order:5;flex:1 1 100%;height:40px;margin:0 -12px;padding:0 6px}
  .hbar .hsn a,.hbar .hmore{margin-top:4px;padding:0 10px;font-size:13px}
  .hbar .htitle{display:none}
  .htools .dens{display:none}
}
@media print{.sbar{display:none}#app:has(>.sbar){padding-left:0}}
/* windows: the bottom row of buttons is always visible (no scrolling to find Save / Close / Delete) */
#mbody .savebar,#mbody .mfoot:not(.mbtns){position:sticky;bottom:0;z-index:3;background:var(--white);display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:12px 0 14px;border-top:0;
  box-shadow:0 0 0 100vmax var(--white),0 -1px 0 100vmax var(--line);clip-path:inset(-1px -100vmax -100vmax -100vmax)}
#mbody>.savebar:last-child,#mbody>.mfoot:last-child{margin-bottom:0}
#mbody .mfoot .btn,#mbody .savebar .btn{min-height:40px}
main .savebar:not(.fform .savebar){bottom:0}
@media (max-width:700px){main .savebar:not(.fform .savebar){bottom:calc(64px + env(safe-area-inset-bottom))}}
/* Sales → Personas & offers */
.pbgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;align-items:start}
.pbk{background:var(--white);border-radius:16px;box-shadow:var(--shadow);padding:18px 20px 12px}
.pbk.parked{opacity:.72}
.pbk .pbhd{display:flex;align-items:center;gap:10px}
.pbk h3{margin:0;font-size:16px;flex:1;text-transform:none;letter-spacing:0}
.pbk .pbe{margin-left:auto}
.pbs{margin:8px 0 10px;color:var(--text2);font-size:13.5px}
.pbk details{border-top:1px solid var(--line);padding:8px 0}
.pbk summary{cursor:pointer;font-weight:500;font-size:13.5px;color:var(--teal);list-style:none}
.pbk summary::-webkit-details-marker{display:none}
.pbk summary::before{content:"▸";display:inline-block;width:14px;transition:transform .15s}
.pbk details[open] summary::before{transform:rotate(90deg)}
.pbk details p{margin:6px 0 2px 14px;font-size:13.5px;line-height:1.55}
.pbsec{border:1px solid var(--line);border-radius:12px;padding:10px;margin:0 0 10px;background:var(--cream)}
.pbsh{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.pbsh .pbh{flex:1;font-weight:500}
.pbsec textarea{width:100%}
@media (max-width:600px){.pbgrid{grid-template-columns:1fr}}
/* Documents: folders on the left of the list */
.dlwrap{display:grid;grid-template-columns:200px minmax(0,1fr);gap:18px;align-items:start}
.dlright{min-width:0}
.dlfold{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;background:none;position:sticky;top:76px}
.dlfi2{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:none;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}
.dlfi2 span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlfi2 i{font-style:normal;font-size:12px;color:var(--text2)}
.dlfi2 svg{flex:none;color:var(--teal)}
.dlfi2:hover{background:var(--sand)}
.dlfi2.on{background:var(--ink);color:var(--cream)}.dlfi2.on i,.dlfi2.on svg{color:var(--cream)}
.dlfi2.drop{outline:2px dashed var(--green);background:#eef5e0}
.dlfx{flex:none!important;width:22px;text-align:center;border-radius:6px;opacity:0;color:inherit}
.dlfi2:hover .dlfx,.dlfi2:focus-within .dlfx{opacity:.8}.dlfx:hover{background:rgba(0,0,0,.08)}
.dlfnew{margin-top:6px;padding:8px 10px;border:1px dashed var(--line2);border-radius:10px;background:none;font:inherit;font-size:13.5px;color:var(--teal);cursor:pointer;text-align:left}
.dlfnew:hover{background:var(--sand)}
.dlfsel{min-height:0;height:30px;padding:2px 26px 2px 10px;font-size:13px;width:auto;max-width:150px;border-radius:999px}
#dl tr[draggable=true]{cursor:grab}
@media (max-width:900px){.dlwrap{grid-template-columns:1fr}.dlfold{position:static;flex-direction:row;overflow-x:auto;gap:6px;scrollbar-width:none}.dlfi2,.dlfnew{width:auto;flex:none;white-space:nowrap;border:1px solid var(--line2);border-radius:999px;padding:6px 12px}.dlfi2 span{overflow:visible}.dlfx{display:none}}
/* Outreach: sequences, steps, comparison */
.oq-sqgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;align-items:start}
.oq-sqc{background:var(--white);border-radius:16px;box-shadow:var(--shadow);padding:16px 18px}
.oq-sqc.empty{opacity:.65}
.oq-sqch{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px}
.oq-sqch h3{margin:0;font-size:15.5px;text-transform:none;letter-spacing:0}
.oq-sqch .muted{font-size:12.5px;white-space:nowrap}
.oq-sqsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.oq-sqs{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--white);font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.oq-sqs:hover{background:var(--cream);border-color:var(--line2)}
.oq-sqn{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--sand);font-weight:700;font-size:12px;color:var(--ink)}
.t-warm .oq-sqn{background:#e3f0cf}.t-cold .oq-sqn{background:#dcecf1}.t-nurture .oq-sqn{background:#f3e9d6}
.oq-sql{flex:1;min-width:0;display:flex;flex-direction:column}.oq-sql b{font-weight:500;font-size:13.5px}.oq-sql small{font-size:11.5px;color:var(--text2);line-height:1.35}
.oq-sqt{flex:none;font-size:10.5px;padding:1px 7px;border-radius:999px;white-space:nowrap}
.oq-sqt.w{background:#e3f0cf;color:#3d5a10}.oq-sqt.c{background:#dcecf1;color:#05566b}.oq-sqt.n{background:#f3e9d6;color:#7a5000}
.oq-sqs em{flex:none;font-style:normal;font-weight:700;min-width:26px;text-align:right;color:var(--teal)}.oq-sqs em.z{color:var(--text2);font-weight:400;opacity:.6}
.oq-sqstep{display:flex;flex-direction:column;font-size:12.5px;line-height:1.35;min-width:170px}.oq-sqstep b{font-weight:500}.oq-sqstep small{color:var(--text2)}
.oq-sqstep em{font-style:normal;color:#8a5200}.oq-sqstep.due b{color:var(--teal)}.oq-sqstep.stop{color:var(--text2)}
.oq-sqcmp th{white-space:normal;vertical-align:bottom;min-width:120px}.oq-sqcmp th small{display:block;font-weight:400;color:var(--text2)}
.oq-sqcmp tr.rate td{color:var(--teal);font-weight:500}
.oq-sqhint{font-size:12.5px;margin:4px 0 0}
@media (max-width:600px){.oq-sqgrid{grid-template-columns:1fr}}
/* a tab switch next to filter pills: same line, same height */
.evbar .dswitch,.hrbar .dswitch{margin:0}
.evbar .relbar,.hrbar .relbar{align-items:center}
.evbar .relbar button,.hrbar .relbar button{height:38px;display:inline-flex;align-items:center;padding:0 15px}
.card>.relbar.evfl{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.wsex{white-space:normal;background:var(--cream);border-radius:10px;padding:10px 12px;font-family:Calibri,var(--body);font-size:14px}
.wsfoot{font-size:12px;margin:8px 0 0}
.wssug{background:#eef5e0;border-radius:12px;padding:10px 12px;margin:0 0 8px;font-size:13.5px}.wssug p{margin:4px 0 8px}.wssug span{display:flex;gap:6px}
/* ---------- app feel: presses, windows, shimmer, undo, search, phones ---------- */
.btn,button.ibtn,.dswitch a,.relbar button,.snav a,.sfoot a,.mnav a,.oq-sqs,.dlfi2,.pbub,.nbell{transition:transform .12s ease,background-color .15s,color .15s,border-color .15s,box-shadow .15s}
.btn:active,button.ibtn:active,.dswitch a:active,.relbar button:active,.snav a:active,.sfoot a:active,.mnav a:active,.oq-sqs:active,.dlfi2:active,.pbub:active,.nbell:active{transform:scale(.96)}
@keyframes mIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@keyframes mUp{from{transform:translateY(100%)}to{transform:none}}
@keyframes bgIn{from{opacity:0}to{opacity:1}}
#modal{animation:bgIn .18s ease-out}
#modal .mbox{animation:mIn .22s cubic-bezier(.2,.8,.3,1)}
@media (max-width:640px){#modal{align-items:flex-end}#modal .mbox{animation:mUp .26s cubic-bezier(.2,.8,.3,1);border-radius:22px 22px 0 0}
  #modal .mbox::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:var(--line2)}}
.skel{display:flex;flex-direction:column;gap:12px;padding:8px 0;max-width:720px}
.skel i{display:block;height:16px;border-radius:8px;background:linear-gradient(90deg,var(--sand) 0%,#fbf8f2 40%,var(--sand) 80%);background-size:300% 100%;animation:shim 1.3s linear infinite}
.skel i:first-child{height:26px;width:40%}.skel i.s{width:60%}
@keyframes shim{from{background-position:100% 0}to{background-position:-100% 0}}
.undo{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:2100;display:flex;align-items:center;gap:14px;background:var(--ink);color:var(--cream);padding:10px 12px 10px 20px;border-radius:999px;box-shadow:0 12px 34px rgba(0,0,0,.3);font-size:14px;max-width:calc(100vw - 24px);overflow:hidden;animation:mIn .2s ease-out}
.undo.out{opacity:0;transition:opacity .2s}
.undot{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.undo button{flex:none;border:0;border-radius:999px;background:var(--green);color:var(--ink);font:600 13.5px var(--body);padding:7px 16px;cursor:pointer}
.undo i{position:absolute;left:0;bottom:0;height:3px;background:var(--green);animation:undoBar 4s linear forwards}
@keyframes undoBar{from{width:100%}to{width:0}}
#cmdk{position:fixed;inset:0;z-index:2050;background:rgba(0,66,87,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;animation:bgIn .15s ease-out}
.cmdbox{width:100%;max-width:620px;background:var(--white);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden;animation:mIn .18s ease-out}
.cmdbox input{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 20px;font-size:17px;outline:none;min-height:0}
.cmdres{max-height:52vh;overflow:auto;padding:6px}
.cmdres a{display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.cmdres a em{grid-row:1/3;align-self:center;font-style:normal;font-size:11px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}
.cmdres a b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdres a small{color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cmdres a.on,.cmdres a:hover{background:var(--sand)}
.cmdres .muted{padding:12px}
.cmdhint{margin:0;padding:8px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--text2)}
#ptr{position:fixed;top:10px;left:50%;width:36px;height:36px;margin-left:-18px;border-radius:50%;background:var(--white);box-shadow:0 4px 14px rgba(0,0,0,.2);z-index:2000;opacity:0}
#ptr::after{content:"↻";display:grid;place-items:center;height:100%;font-size:20px;color:var(--teal);transition:transform .2s}
#ptr.go::after{transform:rotate(180deg)}
/* phones: floating glass tab bar, bigger touch targets */
@media (max-width:700px){
  .mnav{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));border:1px solid rgba(255,255,255,.18);border-top:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(0,66,87,.78);backdrop-filter:blur(18px) saturate(1.6);-webkit-backdrop-filter:blur(18px) saturate(1.6);box-shadow:0 10px 30px rgba(0,30,40,.35);padding:4px}
  .mnav a{min-height:52px;justify-content:center;border-radius:16px}
  .mnav a.on{background:rgba(255,255,255,.12)}
  body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
  .btn{min-height:44px}
  .hsn a{min-height:40px}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* phones: iOS-style liquid glass for the tab bar, the top bar and the profile menu */
@media (max-width:700px){
  .mnav{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:6px;border-radius:32px;border:0;
    background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.04)) ,rgba(0,58,77,.52);
    backdrop-filter:blur(26px) saturate(190%) brightness(1.05);-webkit-backdrop-filter:blur(26px) saturate(190%) brightness(1.05);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(255,255,255,.12),inset 0 0 0 1px rgba(255,255,255,.14),0 14px 36px rgba(0,30,40,.32),0 2px 6px rgba(0,30,40,.18)}
  .mnav a{min-height:54px;border-radius:26px;gap:3px;font-size:10.5px;color:rgba(255,255,255,.82);transition:background .25s,color .25s,transform .15s}
  .mnav a svg{width:23px;height:23px}
  .mnav a.on{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 0 0 1px rgba(255,255,255,.18),0 4px 12px rgba(0,0,0,.12)}
  .mnav a.on svg{color:var(--green)}
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  header.top{background:rgba(0,66,87,.86);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%)}
  .pmenu{background:rgba(250,245,237,.82);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 18px 40px rgba(0,0,0,.25);border-radius:20px}
  .undo{bottom:calc(96px + env(safe-area-inset-bottom))}
  .toast{bottom:calc(96px + env(safe-area-inset-bottom))}
}
@media (max-width:700px){.appfoot{position:static}}
/* phones: light liquid glass like iOS 26 (Outlook-style floating tab bar, pill tabs at the top) */
@media (max-width:700px){
  .mnav{left:14px;right:14px;bottom:calc(10px + env(safe-area-inset-bottom));padding:5px;border-radius:34px;
    background:rgba(255,255,255,.62);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.95),inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 .5px rgba(0,40,55,.10),0 10px 30px rgba(0,40,55,.18)}
  .mnav a{min-height:56px;border-radius:28px;color:#24323a;font-size:10px;font-weight:500;gap:3px}
  .mnav a svg{width:22px;height:22px;stroke-width:1.7}
  .mnav a.on{color:var(--teal);background:rgba(0,40,55,.08);box-shadow:none}
  .mnav a.on svg{color:var(--teal);stroke-width:2}
  /* the module's tabs: one glass pill group, the open tab as a white pill */
  .hbar>.nedge{height:auto;margin:6px -12px 10px;padding:0 12px}
  .hbar .hsn{gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 0 0 1px rgba(255,255,255,.10);height:auto;align-items:center}
  .hbar .hsn a,.hbar .hmore{margin:0;min-height:36px;padding:0 14px;border-radius:999px;color:rgba(255,255,255,.88);font-size:14px;font-weight:500}
  .hbar .hsn a.on,.hbar .hmore.on{background:#fff;color:var(--teal);box-shadow:0 1px 3px rgba(0,0,0,.15)}
  .hbar .hsep{display:none}
  .hbar .narr{display:none!important}
  header.top{border-bottom:0}
  /* header buttons grouped like a glass pill */
  .htools .nbell,.htools .pbub{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
}
@media (max-width:700px){.hbar .nedge>.hsn{-webkit-mask-image:none!important;mask-image:none!important}}
@media (max-width:700px){
  .mnav{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
  .mnav a,.mnav a.on{background:none!important;position:relative;z-index:1}
  .mnav a:active{transform:none}
  .mpill{position:absolute;left:0;top:5px;border-radius:28px;background:rgba(0,40,55,.08);pointer-events:none;z-index:0;
    transition:transform .38s cubic-bezier(.3,1.35,.5,1),width .38s cubic-bezier(.3,1.35,.5,1),background .2s,box-shadow .2s}
  .mnav.drag .mpill{background:rgba(255,255,255,.75);box-shadow:inset 0 1px 0 #fff,0 6px 18px rgba(0,40,55,.22),0 0 0 .5px rgba(0,40,55,.12);transform-origin:center}
  .mnav.drag a{transition:color .15s}
}
@media (max-width:700px){
  .mnav.drag .mpill{background:radial-gradient(120% 90% at 50% 30%,rgba(255,255,255,.55),rgba(255,255,255,.18) 70%);backdrop-filter:blur(2px) saturate(160%);-webkit-backdrop-filter:blur(2px) saturate(160%);
    box-shadow:inset 0 1px 1px rgba(255,255,255,.95),inset 0 -2px 6px rgba(255,255,255,.35),inset 0 0 0 1px rgba(255,255,255,.6),0 10px 26px rgba(0,40,55,.25);scale:1.14}
  .mpill{transition:transform .38s cubic-bezier(.3,1.35,.5,1),width .38s cubic-bezier(.3,1.35,.5,1),scale .25s cubic-bezier(.3,1.4,.5,1),background .2s,box-shadow .2s}
  .mnav.drag a{scale:1}
}
@media (max-width:700px){.mnav a,.mnav svg{-webkit-user-drag:none;user-drag:none}}
/* Admin → Automations: what each one connects to, and how */
.auch{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.auchh{font-size:12px;color:var(--text2)}
.auc{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px}
.auc b{font-weight:500}
.auc em{font-style:normal;font-size:11px;padding:1px 8px;border-radius:999px;background:var(--sand);color:var(--ink);white-space:nowrap}
.auc em.v-mcp-connector{background:#e6eefc;color:#2a4a8a}.auc em.v-api{background:#e3f0cf;color:#3d5a10}.auc em.v-webhook{background:#f3e9d6;color:#7a5000}.auc em.v-direct{background:#eef1f2;color:#4d6670}
.auc small{color:var(--text2);font-size:12px}
/* phones: the tab pill only as wide as its tabs */
@media (max-width:700px){.hbar>.nedge{display:block}.hbar .nedge>.hsn{width:fit-content;max-width:100%;overflow-x:auto}}
/* top right: every button the same round size (search, who can see, density, dev, bell, profile) */
.htools{--hb:40px;gap:8px}
.htools .nbell,.htools .pbub{width:var(--hb);height:var(--hb);min-width:var(--hb);padding:0;display:grid;place-items:center;border-width:1.5px;font-size:13px}
.htools .pbub img,.htools .pbub .av{width:100%!important;height:100%!important;border-radius:50%;object-fit:cover}
.htools .accb{display:flex}
.htools .accbtn{position:relative;width:var(--hb);height:var(--hb);padding:0;border-radius:50%;justify-content:center;border-width:1.5px}
.htools .accbtn span{display:none}
.htools .accbtn svg{width:18px;height:18px}
.htools .accn{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--green);color:var(--ink);font:700 10.5px/17px var(--body);font-style:normal;text-align:center}
.htools .dens{height:var(--hb);border-radius:999px;border-width:1.5px;margin:0}
.htools .dens button{height:100%;width:38px}
@media (max-width:700px){.htools{--hb:38px;gap:6px}}
/* phones: windows end right under their buttons (no empty band), main button full width */
@media (max-width:640px){
  #modal .mbox{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  #mbody:has(>.mbtns:last-child),#mbody:has(>.mfoot:last-child),#mbody:has(>.savebar:last-child){margin-bottom:0}
  #mbody .mfoot,#mbody .savebar,#mbody>.mbtns{padding-top:10px;padding-bottom:6px;margin-bottom:0}
  #mbody .mfoot>.btn:first-child,#mbody .savebar>.btn:first-child,#mbody>.mbtns>.btn:first-child{flex:1;justify-content:center}
}
/* phones: windows are sheets with the page visible above; dragging one down closes it, never reloads the page */
@media (max-width:640px){
  #modal .mbox{max-height:calc(100dvh - 56px - env(safe-area-inset-top));height:auto;margin-top:auto}
  html:has(#modal),body:has(#modal){overflow:hidden;overscroll-behavior:none}
  #modal{overscroll-behavior:none;touch-action:none}
  #modal #mbody{touch-action:pan-y;overscroll-behavior:contain}
  #modal .mhead,#modal .mbox::before{touch-action:none}
}
@media (max-width:640px){#modal .mbox,#modal .mbox.wide{min-height:0}}
@media (max-width:700px){
  .hbar .hsn a,.hbar .hsn .hmore{max-width:260px;white-space:nowrap;overflow:hidden;transition:max-width .35s cubic-bezier(.3,1,.4,1),opacity .25s,padding .35s,margin .35s,background .2s,color .2s}
  .hbar .hsn.folded a:not(.on),.hbar .hsn.folded .hmore{max-width:0;padding-left:0;padding-right:0;opacity:0;pointer-events:none}
  .hbar .hsn.folded{gap:0}
  .hbar .hsn.folded a.on::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
}
@media (max-width:700px){.hbar .hsn a,.hbar .hsn .hmore{flex:none}}
@media (max-width:700px){
  .mnav.drag a.on:not(.hov){color:#24323a}.mnav.drag a.on:not(.hov) svg{color:currentColor}
  .mnav a.hov{color:var(--teal)}.mnav a.hov svg{color:var(--teal)}
  body:has(.mnav.drag){overscroll-behavior:none}
}
@media (max-width:700px){
  .mpill{transform:translateX(var(--x,0px)) scale(var(--s,1));scale:none;transition:transform .38s cubic-bezier(.3,1.35,.5,1),width .38s cubic-bezier(.3,1.35,.5,1),background .2s,box-shadow .2s}
  .mnav.drag .mpill{--s:1.14;scale:none}
}
/* page heads: title left, its buttons on the same line at the right (phones and narrow screens too) */
@media (max-width:900px){
  .phead{align-items:center}
  .phead>div:first-child{flex:1 1 auto}
  .phead>.hbtns{width:auto;margin-left:auto;flex:none;justify-content:flex-end}
  .stright{margin-left:auto}
}
/* invoices: Rejected and All are filters, not steps of the flow – plain links set apart */
.ibsteps .ibstep.side{background:none;border-color:transparent;color:var(--text2);font-size:13px;padding:6px 8px}
.ibsteps .ibstep.side i{background:none;padding:0 0 0 2px}
.ibsteps .ibstep.side.on{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
.ibsteps .ibstep.side.on i{color:var(--ink);background:none}
@media (max-width:700px){
  .ibsteps{gap:6px;align-items:stretch;margin:2px 0 12px}
  .ibsteps .ibstep:not(.side){flex:1 1 0;min-width:0;flex-direction:column;gap:1px;padding:8px 2px 7px;border-radius:14px;font-size:11.5px;white-space:nowrap}
  .ibsteps .ibstep:not(.side) i{order:-1;font-size:19px;font-weight:600;line-height:1.1;padding:0;background:none!important;color:inherit}
  .ibsteps .ibstep.has:not(.on) i{color:#9a6a00}
  .ibsteps .ibdot,.ibsteps .ibarrow{display:none}
  .ibsteps .ibsep{display:block;flex-basis:100%;width:auto;height:0;margin:0}
  .ibsteps .ibsep+.ibstep.side{margin-left:auto}
  .ibsteps .ibstep.side{padding:2px 6px;font-size:12.5px}
}
/* PR agenda: compact month switch */
@media (max-width:700px){
  .prbar{gap:8px;flex-wrap:nowrap;justify-content:space-between}
  .prbar .dswitch a{padding:6px 12px;font-size:13px}
  .prbar .yrsw{gap:4px}
  .prbar .yrsw .btn{width:32px;height:32px;padding:0;min-height:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
  .prbar .yrsw b{font-size:14px;min-width:0;white-space:nowrap}
}
/* cash flow on a phone: figures in thousands, the line names stay in view while the months scroll */
@media (max-width:700px){
  .toolbar .fill{display:none}
  table.cfs.st,table.cfs.bal{table-layout:auto;width:max-content;min-width:100%}
  table.cfs th,table.cfs td{overflow:visible;text-overflow:clip;padding:5px 7px}
  table.cfs .fl{width:auto;min-width:118px;max-width:150px;position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 #e3ebe6}
  table.cfs tr.cash .fl,table.cfs .yt.fl{background:#f3f7ea}
}
/* phone module bar: folds to the open module, tap it to see the others */
@media (max-width:700px){
  .mnav{transition:right .42s cubic-bezier(.3,1.2,.5,1),padding .3s}
  .mnav a{max-width:120px;transition:max-width .42s cubic-bezier(.3,1.2,.5,1),flex .42s cubic-bezier(.3,1.2,.5,1),opacity .2s,color .2s}
  .mnav.mini{right:calc(100% - 14px - 84px)}
  .mnav.mini a:not(.on){flex:0 0 0;max-width:0;min-width:0;padding:0;opacity:0;overflow:hidden;pointer-events:none}
  .mnav.mini a.on{flex:1 1 auto;background:rgba(0,40,55,.07)!important}
  .mnav.mini .mpill{opacity:0!important;transition:opacity .15s}
}
/* slide on the phone bar: no blur under the lens while dragging (heavy on iPhone), lens on its own layer */
@media (max-width:700px){
  .mpill{will-change:transform}
  .mnav.drag .mpill{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.8)}
  .mnav.drag a{transition:none}
}
/* movement and zoom kept apart: the zoom no longer pulls the lens off the finger, and the movement has no delay while dragging */
@media (max-width:700px){
  .mpill{transform:none!important;translate:var(--x,0px) 0;scale:var(--s,1);will-change:translate;
    transition:translate .38s cubic-bezier(.3,1.35,.5,1),scale .22s ease,width .38s cubic-bezier(.3,1.35,.5,1),background .2s,box-shadow .2s}
  .mnav.drag .mpill{--s:1.14;scale:var(--s)}
}
/* holidays: the names stay in view while the months scroll sideways */
.hrh>span:first-child,.hrr>.hrp{position:sticky;left:0;z-index:3;background:#fff;align-self:stretch;display:flex;align-items:center;box-shadow:1px 0 0 var(--line2)}
@media (max-width:700px){.hrh,.hrr{grid-template-columns:104px 1fr}.hrr>.hrp{padding-right:6px}.hrr>.hrp span{overflow:hidden;text-overflow:ellipsis}}
/* date and time fields on iPhone: same width as the other fields, text on the left */
input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;width:100%;box-sizing:border-box;text-align:left;display:block}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;margin:0}
@media (max-width:700px){
  .hrbar{flex-wrap:nowrap;gap:8px}
  .hrbar .entstrip{margin:0}
  .hrbar .yrsw{gap:4px}
  .hrbar .yrsw .btn{height:32px;min-width:32px;padding:0 8px;min-height:0;border-radius:999px;font-size:14px}
  .hrbar .yrsw b{font-size:13px;min-width:0;white-space:nowrap}
}
.hrh>span:first-child,.hrr>.hrp{box-shadow:-30px 0 0 #fff,1px 0 0 var(--line2)}
.hrbar .ws{display:none}
@media (max-width:700px){
  .hrcty .entbtn{padding:0 8px 0 5px;gap:4px}
  .hrcty .entbtn b,.hrcty .entbtn small{display:none}
  .hrbar .wl{display:none}.hrbar .ws{display:inline}
  .hrbar .yrsw{margin-left:auto}
}
@media (max-width:760px){
  .hrnext li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
  .hrnext li>.lk,.hrnext li>.lvst{flex:none}
  .hrnext li>span:not(.lk):not(.lvst){flex-basis:100%}
  .hrnext li>span:empty{display:none}
}
/* team meetings on a phone: first the list of meetings, then a meeting on its own page with a way back */
.mtback{display:none}
@media (max-width:820px){
  .mtwrap:not(.picked) .mtagenda{display:none}
  .mtwrap.picked .mtlist,main.mtpicked .mtonly{display:none!important}
  .mtwrap:not(.picked) .mtlist{max-height:none}
  .mtback{display:inline-flex;align-items:center;gap:4px;margin:0 0 10px;font-weight:600;font-size:14px;color:var(--teal);text-decoration:none}
  .mth{display:flex;align-items:flex-start;gap:10px}
  .mth>div:first-child{flex:1 1 auto;min-width:0}
  .mth .ibgroup{flex:none}
  .mth h3{font-size:17px}
  .mth .avstack{flex-wrap:nowrap;overflow:hidden}
}
/* CRM switch above the companies / people / suggestions / lists pages */
.crmsw{width:100%;max-width:1480px;margin:0 auto;padding:20px clamp(16px,3vw,40px) 0;box-sizing:border-box}
.crmsw+main{padding-top:14px}
.crmsw .dswitch{margin:0;overflow-x:auto;scrollbar-width:none;max-width:100%}
@media (max-width:900px){.crmsw{padding:14px 14px 0}}
@media (max-width:700px){.crmsw{padding:10px 10px 0}.crmsw+main{padding-top:10px}.crmsw .dswitch a{padding:6px 12px;font-size:13px;white-space:nowrap}}
/* phone held sideways (short screen): footer no longer pinned over the page, side menu scrolls */
@media (min-width:701px) and (max-height:520px){
  .appfoot{position:static}
  header.top{position:static}
  .sbar{overflow-y:auto;scrollbar-width:none;padding-top:8px}
  .snav{flex:none;overflow:visible}
  .snav a,.sfoot a{min-height:38px}
  .sfoot{padding-top:6px}
  .demobar{padding:3px 12px;font-size:12px}
}
/* meeting agenda on a phone: each topic as a block – the topic, then who leads it, its status and tag as small pills */
@media (max-width:820px){
  .mth .avstack .av{width:28px!important;height:28px!important;margin-left:-10px}
  .mth .avstack .av:first-child{margin-left:0}
  .mth .ibgroup .ibtn{width:36px;height:36px}
  .agl .agrow,.agl .agrow.noh{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px 2px 12px;min-height:0}
  .agl .agrow:hover{background:none}
  .agl .agrow .aghd{display:none}
  .agl .agrow .agtc{flex:1 1 100%;padding:0}
  .agl .agrow .agtc input.agtopic{padding:4px 6px;font-size:15.5px}
  .agl .agrow .agcon,.agl .agrow .agtc small{padding:0 6px}
  .agl .agrow .agcell{flex:none;min-height:30px;height:30px;padding:0 12px 0 4px;border-radius:999px;font-size:13px;border:0;gap:6px;display:inline-flex;align-items:center;width:auto}
  .agl .agrow .aglc{background:var(--sand);padding-left:3px}
  .agl .agrow .agst{padding:0 12px;border-left:0}
  .agl .agrow .agtg{background:none;border:1px dashed var(--line);padding:0 10px}
  .agl .agrow .agtg:has(.agph){color:var(--text2)}
  .agl .agrow .agmore{margin-left:auto;width:34px;height:30px}
  .agadd{margin-top:10px}
}
@media (max-width:820px){.agl .agrow .agtg:not(:has(.agph)){border:0;padding:0}}
.tddone{width:32px;height:32px;padding:0}
.tdi{flex:none;min-width:0}
.tdlist{overflow-x:hidden;overflow-y:auto}
/* agenda topics are text; they are changed in the item's form (⋯), never by accident while scrolling */
.agl .agrow .agtc .agtxt{display:block;font-weight:600;padding:6px 9px;overflow-wrap:anywhere}
/* companies: on a phone the relationship groups are one dropdown, and "New company" is a + button */
.relsel{display:none}
.nobtn{gap:6px}.nobtn svg{display:none}
@media (max-width:700px){
  .phead>div:first-child:has(+.hbtns .relsel){flex:1 1 auto}
  .hbtns .relsel{display:block;height:38px;border-radius:999px;padding:0 30px 0 12px;font-size:13.5px;width:auto;max-width:170px}
  .phead:has(.relsel)+.relbar{display:none}
  .phead:has(.relsel) .hbtns{display:flex;gap:8px;align-items:center}
  .nobtn{width:40px;padding:0!important}.nobtn span{display:none}.nobtn svg{display:block}
}
@media (max-width:820px){.agl .agrow .agtc .agtxt{font-size:15.5px;padding:2px 6px}}
@media (max-width:700px){
  .phead:has(.relsel) .hbtns{flex-wrap:nowrap}
  .hbtns .relsel{max-width:190px}
  /* the CRM switch already names the page */
  .crmsw+main>.phead:first-child h2{display:none}
  .crmsw+main>.phead:first-child{min-height:0;margin-bottom:10px}
}
@media (max-width:700px){
  .crmsw+main>.phead:first-child>div:first-child{display:none}
  .crmsw+main>.phead:first-child .hbtns{flex:1 1 auto;margin-left:0}
  .crmsw+main>.phead:first-child .hbtns .relsel{flex:1 1 auto;max-width:none}
}
/* the loading placeholder only appears if loading takes longer than a blink, so switching tabs on data already here never flashes */
.skel{animation:skin 0s .3s both}
@keyframes skin{from{opacity:0}to{opacity:1}}
/* CRM switch now sits inside the page, under the title (same as Outreach, Documents, Personas & offers) */
main>.crmsw{padding:0;margin:0 0 16px;max-width:none;width:auto}
@media (max-width:700px){main>.crmsw{padding:0;margin:0 0 10px}.phead:has(.relsel){flex-wrap:nowrap}.phead:has(.relsel) .hbtns .relsel{max-width:150px}}
/* ---------- Sales inbox ---------- */
.ibx{display:grid;grid-template-columns:190px minmax(300px,400px) minmax(0,1fr);gap:16px;align-items:start}
.ibxrail{display:flex;flex-direction:column;gap:2px;position:sticky;top:90px}
.ibxrail a{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:10px;color:var(--text2);text-decoration:none;font-size:14px}
.ibxrail a b{font-weight:600;font-size:12.5px;color:var(--ink)}
.ibxrail a:hover{background:var(--sand)}.ibxrail a.on{background:var(--white);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}
.ibxrail a[data-b=reply] b{color:#b2412c}.ibxrail a[data-b=signal] b{color:#2f8f74}
.ibxrail .ibxtoday{margin-top:12px;border-top:1px solid var(--line2);border-radius:0;padding-top:12px;font-size:13px}
.ibxcol{background:var(--white);border-radius:var(--rs,14px);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 150px);position:sticky;top:90px}
.ibxhead{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--line2)}
.ibxhead .ibxq{flex:1;height:36px;border-radius:999px;padding:0 14px;font-size:14px}
.ibxhead .ibtn{width:36px;height:36px;flex:none}
.ibxlist{overflow-y:auto;flex:1}
.ibxr{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line2);padding:10px 14px;cursor:pointer;font:inherit;color:var(--text)}
.ibxr:hover{background:#fbf9f4}.ibxr.on{background:#eef5f6;box-shadow:inset 3px 0 0 var(--teal)}
.ibxw{display:flex;align-items:baseline;gap:8px;min-width:0}
.ibxw b{font-weight:500;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.ibxr.unread .ibxw b{font-weight:700}.ibxr.unread .ibxs{font-weight:600;color:var(--ink)}
.ibxw em{font-style:normal;font-size:12px;color:var(--teal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.ibxw time{margin-left:auto;font-size:11.5px;color:var(--text2);flex:none}
.ibxs{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibxp{font-size:12.5px;color:var(--text2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ibxme{font-style:normal;color:var(--text2)}
.ibxsig{font-style:normal;color:#2f8f74;font-weight:500}
.ibxempty,.ibxnote{padding:20px 16px;margin:0}
.ibxkeys{margin:0;padding:7px 14px;font-size:11.5px;color:var(--text2);border-top:1px solid var(--line2)}
.ibxthread{background:var(--white);border-radius:var(--rs,14px);box-shadow:var(--shadow);padding:18px 22px;min-height:300px}
.ibxpick{padding:40px 0;text-align:center}
.ibxth{display:flex;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line2)}
.ibxback{display:none}
.ibxtt{flex:1;min-width:0}.ibxtt h3{margin:0 0 4px;font-size:17px;line-height:1.3}.ibxtt p{margin:0;font-size:13px;color:var(--text2)}
.ibxtt a{color:var(--teal);text-decoration:none}.ibxtt .chip{font-size:11px;padding:1px 8px}
.ibxact{display:flex;gap:6px;flex:none}
.ibxmsgs{display:flex;flex-direction:column}
.ibxm{border-bottom:1px solid var(--line2);padding:10px 0}
.ibxm .ibxmh{display:flex;gap:10px;align-items:baseline;cursor:pointer;font-size:13.5px}
.ibxm .ibxmh b{color:var(--ink)}.ibxm.out header b{color:var(--teal)}
.ibxm .ibxmh time{margin-left:auto;font-size:12px;color:var(--text2)}
.ibxpv{margin:4px 0 0;font-size:13px;color:var(--text2)}
.ibxframe{width:100%;border:0;min-height:60px;margin-top:6px;display:block}
.ibxctx{display:flex;flex-direction:column;gap:8px;margin:14px 0}
.ibxctx:empty{display:none}
.ibxdeal{display:flex;flex-direction:column;padding:10px 12px;border-radius:10px;background:#f4f8f2;text-decoration:none;color:var(--ink);font-size:13px}
.ibxdeal span{color:var(--text2)}.ibxdeal small{color:#2f6f3e;margin-top:2px}
.ibxtl{list-style:none;margin:0;padding:0;font-size:12.5px;color:var(--text2)}
.ibxtl li{display:flex;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line2)}
.ibxtl li span{font-weight:600;color:var(--ink);flex:none;min-width:56px}.ibxtl li time{margin-left:auto;flex:none}
.ibxreply{margin-top:12px;border:1px solid var(--line2);border-radius:14px;padding:10px;background:#fdfcf9}
.ibxreply textarea{width:100%;border:0;background:transparent;resize:vertical;font:14px/1.5 inherit;min-height:90px;box-shadow:none;padding:4px}
.ibxreply textarea:focus{outline:none}
.ibxrb{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ibxrb .fill{flex:1}
@media (max-width:1100px){.ibx{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}.ibxrail{grid-column:1/-1;flex-direction:row;overflow-x:auto;position:static;scrollbar-width:none}
  .ibxrail a{flex:none;gap:8px}.ibxrail .ibxtoday{margin:0 0 0 auto;border:0;padding:8px 12px}}
@media (max-width:820px){
  .ibx{grid-template-columns:1fr;gap:10px}
  .ibx.has .ibxrail,.ibx.has .ibxcol{display:none}
  .ibx:not(.has) .ibxthread{display:none}
  .ibxcol{position:static;max-height:none}
  .ibxkeys{display:none}
  .ibxthread{padding:14px}
  .ibxback{display:block;margin:0 0 6px;font-weight:600;color:var(--teal)}
  .ibxth{flex-wrap:wrap}.ibxtt{flex-basis:100%}.ibxact{margin-left:auto}
  .ibxrail a{padding:6px 12px;border-radius:999px;font-size:13px;background:var(--white)}
}
/* inbox: Lignaverda / external switch, folders, reminders, shortcut help */
.ibxside{display:flex;gap:4px;padding:8px 10px 0}
.ibxside button{flex:1;border:0;background:none;padding:8px 10px;border-radius:10px;font:inherit;font-size:13.5px;color:var(--text2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ibxside button.on{background:var(--sand);color:var(--ink);font-weight:600}
.ibxside button i{font-style:normal;font-size:11px;font-weight:600;background:#b2412c;color:#fff;border-radius:999px;padding:1px 7px}
.ibxfd{font-style:normal;font-size:11px;color:#5b6f74;background:#eef1ef;border-radius:999px;padding:1px 7px;margin-left:6px;font-weight:400}
.ibxrail .ibxtoday2{font-size:13px}
.ibxhist{display:block;margin:10px 0 0;font-size:13px;color:var(--teal)}
.ibxrem,.ibxrem2{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text2);margin:10px 0 0}
.ibxrem2{margin:0}
.ibxrem select,.ibxrem2 select{width:auto;height:30px;padding:0 26px 0 10px;font-size:12.5px;border-radius:999px}
.ibxai{white-space:nowrap}
.ibxfq{width:100%;margin:4px 0 10px}
.ibxfl{display:flex;flex-direction:column;max-height:50vh;overflow:auto;border:1px solid var(--line2);border-radius:10px}
.ibxfl button{display:flex;justify-content:space-between;gap:10px;text-align:left;border:0;border-bottom:1px solid var(--line2);background:#fff;padding:9px 12px;font:inherit;font-size:14px;cursor:pointer}
.ibxfl button:hover{background:var(--sand)}.ibxfl button i{font-style:normal;font-size:11px;color:var(--text2)}
.ibxfn{font-size:12.5px;margin-top:8px}
.ibxkb{position:fixed;right:22px;bottom:58px;z-index:50;width:40px;height:40px;border-radius:50%;border:1px solid var(--line2);background:#fff;box-shadow:var(--shadow);font-size:18px;cursor:pointer;color:var(--ink)}
.ibxkp{position:fixed;right:22px;bottom:106px;z-index:51;background:#fff;border-radius:14px;box-shadow:0 12px 34px rgba(0,40,55,.2);padding:14px 16px;width:300px;font-size:13px}
.ibxkp>b{display:block;margin-bottom:8px;color:var(--ink)}
.ibxkp p{display:flex;gap:10px;margin:5px 0;align-items:center}
.ibxkp kbd{min-width:52px;font:600 12px Roboto,sans-serif;background:var(--sand);border-radius:6px;padding:3px 7px;text-align:center;color:var(--ink)}
@media (max-width:820px),(pointer:coarse){.ibxkb,.ibxkp{display:none}}
@media (max-width:820px){.ibxrb{gap:6px}.ibxrem2{order:5;flex-basis:100%}}
.ibxrules dl{margin:0 0 14px;display:grid;grid-template-columns:150px 1fr;gap:8px 14px;font-size:13.5px}
.ibxrules dt{font-weight:600;color:var(--ink)}.ibxrules dd{margin:0;color:var(--text)}
.ibxrules h4{margin:16px 0 6px;font-size:14px}
.ibxrl{list-style:none;margin:0;padding:0;font-size:13.5px}.ibxrl li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line2)}
.ibxradd{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.ibxradd input{flex:1 1 220px}.ibxradd select{width:auto}
.ibxmute{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.cmrb{margin:6px 0 4px}
@media (max-width:700px){.ibxrules dl{grid-template-columns:1fr}.ibxrules dd{margin-bottom:6px}}
/* inbox conversation: header and attachments on top, emails scroll in the middle, the reply box stays at the bottom in view */
@media (min-width:821px){
  .ibxthread{display:flex;flex-direction:column;position:sticky;top:90px;height:calc(100vh - 150px);padding:0;overflow:hidden}
  .ibxthread>.ibxpick{margin:auto}
  .ibxth{padding:16px 20px 10px;flex:none}
  .ibxatt,.ibxctx,.ibxrem{margin-left:20px;margin-right:20px;flex:none}
  .ibxmsgs{flex:1 1 auto;overflow-y:auto;padding:4px 20px 12px;min-height:120px}
  .ibxreply{flex:none;margin:0;border-radius:0;border:0;border-top:1px solid var(--line2);padding:10px 20px 12px;background:#fdfcf9}
}
.ibxatt{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 0 2px}
.ibxatth{font-size:12px;font-weight:600;color:var(--text2);margin-right:4px}
.ibxa{display:inline-flex;align-items:center;gap:8px;max-width:260px;border:1px solid var(--line2);background:#fff;border-radius:10px;padding:5px 10px 5px 5px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.ibxa:hover{border-color:var(--teal);background:#f3f8f8}.ibxa:disabled{opacity:.5}
.ibxa span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ibxa small{color:var(--text2);flex:none}
.ibxa i{font:700 9.5px Roboto,sans-serif;font-style:normal;border-radius:6px;padding:6px 5px;background:#eef1ef;color:#5b6f74;flex:none}
.ibxa i.t-pdf{background:#fbe7e4;color:#b2412c}.ibxa i.t-xls{background:#e5f3e8;color:#2f7a45}.ibxa i.t-doc{background:#e4edf8;color:#2b5aa0}.ibxa i.t-ppt{background:#fcecdf;color:#b45a1b}
.ibxctx{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px;flex-direction:row}
.ibxctx .ibxdeal{flex-direction:row;gap:8px;align-items:baseline;padding:5px 10px;border-radius:999px;font-size:12.5px}
.ibxctx .ibxdeal small{margin:0}
.ibxctx .ibxtl{display:flex;flex-wrap:wrap;gap:4px 12px;width:100%}.ibxctx .ibxtl li{border:0;padding:0}
.ibxctx>p{margin:0;font-size:12.5px}
/* stacked emails */
.ibxm{border:0;border-bottom:1px solid var(--line2);padding:10px 0}
.ibxm .ibxmh{display:flex;align-items:center;gap:10px;cursor:pointer}
.ibxav{width:32px;height:32px;border-radius:50%;background:#efe7d6;color:#6b5320;display:inline-flex;align-items:center;justify-content:center;font:600 12px Roboto,sans-serif;flex:none}
.ibxav.me{background:#dcecee;color:var(--teal)}
.ibxwho{display:flex;flex-direction:column;min-width:0;flex:1}.ibxwho b{font-size:14px;color:var(--ink)}.ibxwho small{font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibxm .ibxmh time{margin-left:auto;font-size:12px;color:var(--text2);text-align:right;flex:none;display:flex;flex-direction:column}.ibxm .ibxmh time em{font-style:normal;font-size:11px}
.ibxclip{font-style:normal}
.ibxm .ibxpv{margin:4px 0 0 42px;font-size:13px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibxm .ibxbody{display:none;margin-left:42px}
.ibxm.open .ibxpv{display:none}.ibxm.open .ibxbody{display:block}
.ibxm.folded{display:none}
.ibxfold{display:block;width:100%;border:0;border-bottom:1px solid var(--line2);background:repeating-linear-gradient(0deg,transparent 0 3px,#f0ede4 3px 4px);padding:8px;font:inherit;font-size:12.5px;color:var(--teal);cursor:pointer;font-weight:600}
/* reply box */
.ibxmode{display:flex;gap:4px;align-items:center;margin-bottom:6px}
.ibxmode button{border:0;background:none;padding:5px 11px;border-radius:999px;font:inherit;font-size:13px;color:var(--text2);cursor:pointer}
.ibxmode button.on{background:var(--ink);color:#fff}
.ibxmode .ibxai{margin-left:auto;background:#f3eedf;color:#6b5320;font-weight:500}
.ibxfwd{margin-bottom:6px}.ibxfwd input{width:100%;height:34px;font-size:13.5px}
.ibxed{border:1px solid var(--line2);border-radius:12px;background:#fff}
.ibxtb{display:flex;align-items:center;gap:2px;padding:4px 6px;border-bottom:1px solid var(--line2)}
.ibxtb button{border:0;background:none;width:28px;height:26px;border-radius:6px;cursor:pointer;font:14px Georgia,serif;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.ibxtb button:hover{background:var(--sand)}.ibxtb button span{width:14px;height:14px;border-radius:50%;display:block}
.ibxsep{width:1px;height:16px;background:var(--line2);margin:0 4px}
.ibxtxt{min-height:76px;max-height:260px;overflow-y:auto;padding:10px 12px;font:14px/1.5 Calibri,Roboto,sans-serif;outline:none}
.ibxtxt:empty::before{content:attr(data-ph);color:var(--text2)}
.ibxreply .ibxrb{margin-top:8px}
.cmed .ibxtxt{min-height:180px}
@media (max-width:820px){.ibxm .ibxpv,.ibxm .ibxbody{margin-left:0}.ibxtb{flex-wrap:wrap}}
/* conversation header: actions on their own line, the subject gets the full width */
.ibx{grid-template-columns:180px minmax(280px,350px) minmax(0,1fr)}
.ibxth{flex-wrap:wrap;row-gap:6px}
.ibxth .ibxact{order:1;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.ibxth .ibxtt{order:2;flex:1 1 100%}
.ibxth .ibxback{order:0}
.ibxtt h3{font-size:17px}
.ibxctx .ibxlast{font-size:12px;color:var(--text2);background:#f4f2ec;border-radius:999px;padding:4px 10px;white-space:nowrap}
.ibxctx .ibxlast b{color:var(--ink);font-weight:600}
.ibxcol{position:sticky}
.ibxkb{position:absolute;right:10px;bottom:10px;z-index:3;width:34px;height:34px;font-size:16px}
.ibxkp{right:auto;left:var(--kpx,420px);bottom:60px}
.ibxreply .ibxrb{flex-wrap:nowrap}
.ibxreply .ibxtxt{min-height:64px}
@media (max-width:1100px){.ibx{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}}
@media (min-width:821px){.ibxthread .ibxctx{margin:8px 20px 4px}}
.ibxhead .ibxkb{position:static;width:36px;height:36px;font-size:16px;box-shadow:none}
.ibxkp{left:var(--kpx,420px);bottom:auto;top:var(--kpy,160px)}
.ibxnewmsg{display:block;margin:6px 20px;border:0;border-radius:10px;background:#e8f3f4;color:var(--teal);font:inherit;font-size:13px;font-weight:600;padding:8px;cursor:pointer;width:calc(100% - 40px)}
/* step 1 read, step 2 answer: until you choose Reply, Reply all, Forward or Draft, the reply area is one slim row */
.ibxreply.mini .ibxfwd,.ibxreply.mini .ibxed,.ibxreply.mini .ibxrb{display:none!important}
.ibxreply.mini{padding-top:10px;padding-bottom:10px}
.ibxreply.mini .ibxmode{margin:0}
.ibxreply.mini .ibxmode button:not(.ibxai){border:1px solid var(--line2);background:#fff;color:var(--ink);padding:6px 14px}
.ibxreply.mini .ibxmode button:not(.ibxai):hover{border-color:var(--teal);color:var(--teal)}
.ibxdisc{font-size:13px;color:var(--text2);margin-right:4px}
/* conversation panel, compact: small icon buttons, one-line header, tighter emails */
.ibxth{padding:12px 18px 8px!important;align-items:flex-start;flex-wrap:nowrap!important}
.ibxth .ibxtt{order:0!important;flex:1 1 auto!important;min-width:0}
.ibxth .ibxact{order:1!important;margin-left:8px;flex-wrap:nowrap;gap:2px;align-items:center}
.ibxtt h3{font-size:15px!important;font-weight:600;margin:0 0 2px;line-height:1.3}
.ibxtt p{font-size:12.5px}
.ibxi{width:32px;height:32px;border:0;background:none;border-radius:8px;color:var(--text2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none}
.ibxi:hover{background:var(--sand);color:var(--ink)}.ibxi.on{background:#e8f3f4;color:var(--teal)}
.ibxi.ok{color:#fff;background:var(--teal)}.ibxi.ok:hover{background:var(--ink);color:#fff}
.ibxisep{width:1px;height:18px;background:var(--line2);margin:0 4px}
.ibxatt{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:thin;padding:6px 0 2px!important}
.ibxa{font-size:12px;padding:3px 8px 3px 3px;border-radius:8px;flex:none;max-width:220px}
.ibxa i{font-size:8.5px;padding:4px}
.ibxatth{display:none}
.ibxthread .ibxctx{padding:6px 0;border-bottom:1px dashed var(--line2)}
.ibxm{padding:7px 0}
.ibxav{width:26px;height:26px;font-size:10.5px}
.ibxwho{flex-direction:row;align-items:baseline;gap:8px}
.ibxwho b{font-size:13px;white-space:nowrap}.ibxwho small{font-size:11.5px}
.ibxm .ibxmh time{font-size:11.5px;display:block}
.ibxm .ibxpv{margin:2px 0 0 36px;font-size:12.5px}
.ibxm .ibxbody{margin-left:36px}
.ibxfold{padding:5px;font-size:12px}
.ibxmode button{display:inline-flex;align-items:center;gap:6px}
.ibxmode button svg{width:15px;height:15px}
@media (min-width:1300px){.ibxreply.mini .ibxmode button span{display:inline}}
@media (max-width:1299px){.ibxmode button:not(.ibxai) span{display:none}.ibxmode button:not(.ibxai){padding:6px 9px}}
@media (max-width:820px){.ibxm .ibxpv,.ibxm .ibxbody{margin-left:0}.ibxth{flex-wrap:wrap!important}}
.ibxctx[hidden],.ibxatt[hidden]{display:none!important}
/* reading size */
.ibxzoom{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:999px;margin-right:6px;height:28px;overflow:hidden;transition:box-shadow .2s}
.ibxzoom.show{box-shadow:0 0 0 3px #cfe6e9}
.ibxzoom button{border:0;background:none;height:28px;min-width:26px;padding:0 6px;font:inherit;font-size:12px;color:var(--text2);cursor:pointer}
.ibxzoom button:hover{background:var(--sand);color:var(--ink)}
.ibxzoom #ibxzl{min-width:44px;font-variant-numeric:tabular-nums}
.ibxmsgs .ibxwho b{font-size:calc(13px * var(--ibxz,1) / .85)}
.ibxmsgs .ibxpv{font-size:calc(12.5px * var(--ibxz,1) / .85)}
/* inbox layout: boxes column can fold to icons; a contact panel opens on the right of the email (like an Outlook add-in) */
.ibx{grid-template-columns:var(--rw,180px) minmax(260px,340px) minmax(0,1fr) var(--pw,0px);transition:grid-template-columns .2s}
.ibx.mini{--rw:52px}
.ibx.panel.has{--pw:270px}
.ibxpanel{display:none}
.ibx.panel.has .ibxpanel{display:block;background:var(--white);border-radius:var(--rs,14px);box-shadow:var(--shadow);padding:14px 16px;position:sticky;top:90px;max-height:calc(100vh - 150px);overflow-y:auto;font-size:13px}
.ibxpx{float:right;border:0;background:none;font-size:20px;line-height:1;color:var(--text2);cursor:pointer;margin:-4px -6px 0 0}
.ibxps{display:flex;gap:10px;align-items:center;margin-bottom:10px}.ibxps .ibxav{width:38px;height:38px;font-size:14px}
.ibxps h4{margin:0;font-size:14.5px}.ibxps h4 a{color:var(--ink);text-decoration:none}.ibxps p{margin:2px 0 0;color:var(--text2);font-size:12.5px}
.ibxpanel>h4{margin:0 0 4px;font-size:14px}
.ibxpd{display:grid;grid-template-columns:70px 1fr;gap:5px 8px;margin:0 0 12px;font-size:12.5px}
.ibxpd dt{color:var(--text2)}.ibxpd dd{margin:0;overflow-wrap:anywhere}.ibxpd a{color:var(--teal)}
.ibxpanel h5{margin:12px 0 6px;font-size:11.5px;text-transform:none;color:var(--text2);font-weight:600}
.ibxpanel .ibxdeal{display:flex;flex-direction:column;border-radius:10px;padding:8px 10px;margin-bottom:6px;font-size:12.5px}
.ibxpanel .ibxtl{list-style:none;margin:0;padding:0;display:block}
.ibxpanel .ibxtl li{display:grid;grid-template-columns:60px 1fr auto;gap:6px;padding:5px 0;border-bottom:1px dashed var(--line2);font-size:12px}
.ibxpanel .ibxtl em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* boxes column */
.ibxrail a{gap:10px;justify-content:flex-start}.ibxrail a svg{flex:none;color:var(--text2)}.ibxrail a.on svg{color:var(--teal)}
.ibxrail a b{margin-left:auto}
.ibxcoll{align-self:flex-end;border:0;background:none;color:var(--text2);font-size:16px;cursor:pointer;width:30px;height:26px;border-radius:8px;margin-bottom:2px}
.ibxcoll:hover{background:var(--sand)}
.ibx.mini .ibxrail a{justify-content:center;padding:9px 0;position:relative}
.ibx.mini .ibxrail a span{display:none}
.ibx.mini .ibxrail a b{position:absolute;top:2px;right:2px;font-size:10px;margin:0}
.ibx.mini .ibxcoll{align-self:center}
.ibx.mini .ibxrail .ibxtoday{padding-top:12px}
@media (max-width:1100px){.ibx{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.ibx.panel.has .ibxpanel{display:none}.ibxcoll{display:none}}
/* with the contact panel open the email column is narrower: actions go on their own line above the subject, reply buttons show icons only */
.ibx.panel.has .ibxth{flex-wrap:wrap!important}
.ibx.panel.has .ibxth .ibxact{order:0!important;flex:1 1 100%;justify-content:flex-end;margin:0 0 4px}
.ibx.panel.has .ibxth .ibxtt{order:1!important;flex:1 1 100%!important}
.ibx.panel.has .ibxmode button:not(.ibxai) span{display:none}
.ibx.panel.has .ibxmode button:not(.ibxai){padding:6px 10px}
.ibxmode .ibxai{white-space:nowrap}
.ibx.panel.has{grid-template-columns:var(--rw,180px) minmax(240px,300px) minmax(0,1fr) var(--pw,0px)}
/* inbox assistant: one-click replies, summary, templates, propose times, send later */
.ibxinst{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.ibxinst:empty{display:none}
.ibxinst button{border:1px dashed #c9bfa2;background:#fbf8ef;color:#5d4a1c;border-radius:999px;padding:4px 12px;font:inherit;font-size:12.5px;cursor:pointer}
.ibxinst button:hover{border-style:solid;background:#f5eedb}
.ibxreply:not(.mini) .ibxinst{display:none}
.ibxsum{background:#f6f3ea;border-radius:12px;padding:10px 12px;margin:0 0 12px}
.ibxsum h5{margin:0 0 4px!important}
.ibxsum p{margin:0 0 4px;font-size:12.5px;line-height:1.45}
.ibxsumr{font-size:11.5px}
.ibxday{list-style:none;margin:0;padding:0;font-size:12px}.ibxday li{display:flex;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line2)}.ibxday time{color:var(--teal);font-weight:600;flex:none}
.ibxed{position:relative}
.ibxtb .ibxtbw{width:auto;padding:0 8px;font:12.5px Roboto,sans-serif;color:var(--ink)}
.ibxpop{position:absolute;z-index:20;bottom:calc(100% + 6px);left:0;background:#fff;border-radius:12px;box-shadow:0 12px 30px rgba(0,40,55,.22);padding:8px;width:min(380px,92vw);max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.ibxpop>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;background:none;border-radius:8px;padding:7px 9px;font:inherit;font-size:13px;cursor:pointer}
.ibxpop>button:hover{background:var(--sand)}.ibxpop>button span,.ibxpop>button small{color:var(--text2);font-size:11.5px}
.ibxpq{margin:0 0 4px;height:32px;font-size:13px}
.ibxpm{font-size:12.5px;padding:6px 9px;color:var(--teal)}
.ibxslots{width:min(440px,94vw)}
.ibxslh{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 6px;font-size:13px}
.ibxslh button,.ibxsld button{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:3px 9px;font:inherit;font-size:12px;cursor:pointer}
.ibxslh button.on,.ibxsld button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.ibxsld{display:grid;grid-template-columns:86px 1fr;gap:6px;align-items:start;padding:5px 4px;border-top:1px solid var(--line2);font-size:12.5px}
.ibxsld>div{display:flex;flex-wrap:wrap;gap:4px}.ibxsld em{color:var(--text2);font-style:normal}
.ibxslf{display:flex;justify-content:space-between;align-items:center;padding:8px 4px 2px;gap:8px}.ibxslf small{color:var(--text2)}
.ibxsendg{display:inline-flex;position:relative}
.ibxsendg .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}
.ibxlbtn{border-top-left-radius:0!important;border-bottom-left-radius:0!important;padding:0 9px!important;margin-left:1px;min-width:0}
.ibxlater{left:auto;right:0;width:250px}
.ibxlater label{display:flex;flex-direction:column;font-size:12px;color:var(--text2);padding:6px 9px;gap:4px}
.ibxtpls details{border-bottom:1px solid var(--line2);padding:8px 0}.ibxtpls summary{cursor:pointer;font-weight:600}
.ibxtpls input,.ibxtpls textarea,#tnn,#tbn{width:100%;margin-top:6px}
.ibxtpa{display:flex;gap:10px;align-items:center;margin-top:6px}
.mbtns .ibxsendg .ibxlater{bottom:calc(100% + 6px);top:auto}
.ibxpop{width:min(380px,100%)}.ibxslots{width:min(440px,100%)}
.ibxrb .btn,.ibxrb .ibxdisc{white-space:nowrap}
.ibxrem2 select option:first-child{}
@container (max-width:520px){.ibxtbw span{display:none}}
.ibxed{container-type:inline-size}
@media (max-width:1500px){.ibx.panel.has .ibxtbw span{display:none}}
.ibxreply .ibxrb{flex-wrap:wrap;row-gap:6px}
.ibxreply .ibxrem2 select{max-width:150px}
.ibxreply .ibxdisc{margin-right:0}
.ibxframe{overflow:hidden}
/* conversation header in one band: subject and person on the left, small tools on the right – also with the panel open */
.ibx.panel.has .ibxth,.ibxth{flex-wrap:nowrap!important;padding:10px 14px 8px!important;gap:8px}
.ibx.panel.has .ibxth .ibxact,.ibxth .ibxact{order:1!important;flex:none!important;margin:0!important;gap:0}
.ibx.panel.has .ibxth .ibxtt,.ibxth .ibxtt{order:0!important;flex:1 1 auto!important;min-width:0}
.ibxtt h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px!important;margin:0!important}
.ibxtt p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:1px 0 0!important;font-size:12px!important}
.ibxi{width:28px;height:28px}.ibxi svg{width:16px;height:16px}
.ibxisep{margin:0 2px;height:16px}
.ibxzoom{height:24px;margin-right:2px;border-color:transparent}
.ibxzoom:hover{border-color:var(--line2)}
.ibxzoom button{height:24px;min-width:20px;padding:0 4px;font-size:11.5px}
.ibxzoom #ibxzl{min-width:34px;font-size:11px}
.ibxatt{padding:4px 0 0!important}
.ibxthread .ibxatt{margin-top:0}
.ibxmsgs{padding-top:0!important}
.ibxm:first-child{padding-top:4px}
.ibxtt h3{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.25}
/* conversation as a chat: their emails on the left, yours on the right, a day line between days; long emails folded after a screenful */
.ibxmsgs{background:#f6f4ef}
.ibxday2{display:flex;justify-content:center;margin:12px 0 6px}
.ibxday2 span{font-size:11px;color:var(--text2);background:#fff;border-radius:999px;padding:3px 10px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ibxm{border:0!important;padding:0!important;margin:6px 0;display:flex;flex-direction:column;max-width:86%;background:#fff;border-radius:14px 14px 14px 4px;box-shadow:0 1px 2px rgba(0,40,55,.07);align-self:flex-start}
.ibxm.out{align-self:flex-end;background:#e4f1f2;border-radius:14px 14px 4px 14px}
.ibxmsgs{display:flex;flex-direction:column}
.ibxm .ibxmh{padding:8px 12px 2px;gap:8px}
.ibxm .ibxav{display:none}
.ibxm.out .ibxwho b{color:var(--teal)}
.ibxm .ibxpv{margin:0!important;padding:0 12px 9px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ibxm .ibxbody{margin:0!important;padding:0 12px 10px;position:relative}
.ibxm .ibxbody:not(.all){max-height:460px;overflow:hidden}
.ibxm .ibxbody:not(.all):has(.ibxmore:not([hidden]))::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(transparent,#fff);pointer-events:none}
.ibxm.out .ibxbody:not(.all):has(.ibxmore:not([hidden]))::after{background:linear-gradient(transparent,#e4f1f2)}
.ibxmore{position:absolute;z-index:2;left:50%;bottom:8px;transform:translateX(-50%);border:1px solid var(--line2);background:#fff;border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;color:var(--teal);cursor:pointer}
.ibxframe{background:transparent}
.ibxfold{align-self:center;width:auto!important;border:0;background:#fff!important;border-radius:999px;padding:5px 14px!important;margin:8px 0;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.ibxm.folded{display:none!important}
@media (max-width:820px){.ibxm{max-width:94%}}
/* inbox on a phone and narrow screens: one column at full width, boxes as a scrolling row, no desktop-only buttons */
@media (max-width:1100px){.ibx,.ibx.mini,.ibx.panel.has{grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important}.ibxcoll{display:none}}
@media (max-width:820px){
  .ibx,.ibx.mini,.ibx.panel.has{grid-template-columns:minmax(0,1fr)!important;gap:8px}
  .ibxcol,.ibxthread{width:100%;min-width:0}
  .ibxrail{flex-direction:row!important;overflow-x:auto;gap:6px;padding:0 2px 2px;margin:0 -2px;scrollbar-width:none}
  .ibxrail::-webkit-scrollbar{display:none}
  .ibxrail a{flex:none;padding:6px 12px!important;border-radius:999px;background:#fff;font-size:13px;gap:6px;box-shadow:none;border:1px solid var(--line2)}
  .ibxrail a.on{border-color:var(--teal);background:#eef6f7}
  .ibxrail a svg{width:16px;height:16px}
  .ibxrail .ibxtoday,.ibxrail .ibxtoday2{margin:0;border:1px solid var(--line2)!important;padding:6px 12px!important}
  .ibx.mini .ibxrail a span{display:inline}
  .ibxhead .ibxkb{display:none!important}
  .ibxhead{gap:6px;padding:8px}
  .ibxhead .ibtn{width:38px;height:38px;flex:none}
  .ibxside{padding:6px 8px 0}
  .ibxr{padding:10px 12px}
}
.ibxhead #ibxsync{font-size:18px;line-height:1}
@media (pointer:coarse){.ibxkb{display:none!important}}
/* inbox on a phone: the conversation fills the screen, the reply bar stays above the bottom menu */
@media (max-width:820px){
  body:has(.ibx) .appfoot{display:none}
  .ibx.has .ibxthread{padding:0;border-radius:14px;overflow:visible}
  .ibx.has .ibxth{position:sticky;top:0;z-index:4;background:#fff;border-radius:14px 14px 0 0;padding:10px 12px 8px!important;flex-wrap:wrap!important}
  .ibx.has .ibxth .ibxback{flex:1 1 100%;margin:0 0 2px;font-size:14px}
  .ibx.has .ibxth .ibxtt{flex:1 1 auto!important}
  .ibx.has .ibxzoom{display:none}
  .ibx.has .ibxatt{padding:6px 12px 0!important}
  .ibx.has .ibxmsgs{padding:4px 8px 10px!important;border-radius:0}
  .ibxm{max-width:96%}
  .ibxm .ibxbody:not(.all){max-height:420px}
  .ibxmore{font-size:12.5px;padding:5px 14px;white-space:nowrap}
  .ibx.has .ibxreply{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) + 88px);z-index:5;margin:0;border:0;border-top:1px solid var(--line2);border-radius:0 0 14px 14px;background:#fdfcf9;padding:8px 10px;box-shadow:0 -6px 16px rgba(0,40,55,.06)}
  .ibx.has .ibxreply.mini .ibxmode{flex-wrap:nowrap;gap:6px}
  .ibx.has .ibxreply.mini .ibxmode button:not(.ibxai){padding:7px 12px}
  .ibxmode .ibxai span{display:none}
  .ibxmode .ibxai{padding:7px 12px}
  .ibx.has .ibxreply:not(.mini) .ibxmode .ibxai span{display:inline}
  .ibx.has{padding-bottom:20px}
  .ibxinst{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .ibxinst button{flex:none}
}
@media (max-width:820px){
  /* inside a conversation the bottom menu steps aside (like any phone app's detail page); the reply bar takes the bottom */
  body:has(.ibx.has) .mnav{display:none!important}
  .ibx.has .ibxreply{bottom:env(safe-area-inset-bottom,0px)!important;border-radius:0!important;margin:0 -1px}
  .ibx.has .ibxth .ibxback{text-align:left;align-self:flex-start;padding:0}
  main:has(.ibx.has){padding-bottom:0!important}
}
/* thread header: avatar and overflow menu only exist on a phone */
.ibxhav,.ibxmorea{display:none}
.ibxsec{display:contents}
@media (max-width:820px){
  /* an open conversation is the whole screen, like a chat app: no pilot banner, no app header, no module menu */
  body:has(.ibx.has) .demobar,body:has(.ibx.has) header.top,body:has(.ibx.has) .impbar{display:none!important}
  main:has(.ibx.has){padding:0!important;margin:0!important}
  .ibx.has .ibxthread{position:fixed;inset:0;z-index:40;margin:0!important;border-radius:0!important;background:#efeae2;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain}
  .ibx.has .ibxth{position:sticky!important;top:0;z-index:6;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;background:#fff;border-radius:0!important;padding:calc(env(safe-area-inset-top,0px) + 6px) 8px 6px!important;box-shadow:0 1px 0 var(--line2)}
  .ibx.has .ibxth .ibxback{flex:none!important;margin:0!important;padding:4px 2px!important;font-size:28px;line-height:1;align-self:center!important;color:var(--teal,#1f5c6b)}
  .ibx.has .ibxth .ibxback span{display:none}
  .ibx.has .ibxhav{display:flex;flex:none;width:38px;height:38px;border-radius:50%;background:#d9e7ea;color:#1f5c6b;align-items:center;justify-content:center;font-weight:700;font-size:14px}
  .ibx.has .ibxtt{display:flex;flex-direction:column;min-width:0;flex:1 1 auto!important}
  .ibx.has .ibxtt p{order:-1;margin:0;font-size:15.5px;font-weight:700;color:var(--text,#16323a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ibx.has .ibxtt p a{color:inherit}
  .ibx.has .ibxtt p .chip{display:none}
  .ibx.has .ibxtt h3{margin:0!important;font-size:12.5px!important;font-weight:400!important;color:var(--text2);-webkit-line-clamp:1;line-clamp:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  .ibx.has .ibxact{position:relative;flex:none!important;gap:0!important}
  .ibx.has .ibxzoom{display:none!important}
  .ibx.has .ibxmorea{display:flex;font-size:20px;line-height:1}
  .ibx.has .ibxact .ibxsec{display:none}
  .ibx.has .ibxact.open .ibxsec{display:flex;flex-direction:column;position:absolute;right:0;top:calc(100% + 6px);background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,40,55,.18);padding:6px;gap:2px;z-index:8}
  .ibx.has .ibxact.open .ibxsec .ibxisep{display:none}
  .ibx.has .ibxatt{background:transparent}
  .ibx.has .ibxmsgs{flex:1 0 auto;background:transparent!important}
  .ibx.has .ibxreply{position:sticky!important;bottom:0!important;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 8px)!important}
  /* ⓘ opens the contact card over the conversation, under the chat header; ⓘ again closes it */
  .ibx.panel.has .ibxpanel{display:block!important;position:fixed;left:0;right:0;bottom:0;top:calc(env(safe-area-inset-top,0px) + 52px);z-index:45;border-radius:0;max-height:none;overflow-y:auto;background:#fff;padding:14px 16px;font-size:14px}
}
/* companies on a phone: the dropdown replaces the group buttons (also when the CRM switch sits between), the switch names the page, no column picker */
@media (max-width:700px){
  .phead:has(.relsel)~.relbar{display:none!important}
  main:has(>.crmsw)>.phead:has(.relsel)>div:first-child{display:none}
  main:has(>.crmsw)>.phead:has(.relsel) .hbtns{flex:1 1 auto;margin-left:0}
  main:has(>.crmsw)>.phead:has(.relsel) .hbtns .relsel{flex:1 1 auto;max-width:none}
  .stcols{display:none!important}
  .cwrap{display:none!important}
}
@media (max-width:700px){
  /* "who can open this page" stays a computer tool */
  .htools .accb{display:none!important}
  /* search and filter on one line; the record count is noise on a phone */
  .stbar{flex-wrap:nowrap!important}
  .stbar .stq{flex:1 1 auto!important;min-width:0}
  .stbar .stright{margin-left:0;flex-wrap:nowrap}
  .stbar .stn{display:none}
  .stbar:has(.stchips:not(:empty)){flex-wrap:wrap!important}
}
@media (max-width:820px){.ibx.has .ibxtt h3{white-space:nowrap!important;-webkit-line-clamp:unset!important;display:block!important}}
@media (max-width:820px){
  /* header: just the name and the subject; job title and company are under ⓘ */
  .ibx.has .ibxtt .ibxrole{display:none}
  /* collapsed bubbles: two clean lines, never a half-cut third line */
  .ibxm:not(.open) .ibxpv{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:none}
  .ibx.has .ibxmsgs{padding-top:10px!important}
}
@media (max-width:820px){
  /* Done sits apart from ⋯ so it is never tapped by accident */
  .ibx.has .ibxact .ibxmorea{margin-right:4px}
  .ibx.has .ibxact .ibxi.ok{margin-left:14px;position:relative}
  .ibx.has .ibxact .ibxi.ok::before{content:"";position:absolute;left:-8px;top:20%;bottom:20%;border-left:1px solid var(--line2)}
}
/* one quiet type size across the conversation (emails are longer than chats) */
.ibxm .ibxmh b{font-size:13px}
.ibxm .ibxmh small,.ibxm .ibxmh time{font-size:11.5px}
.ibxm .ibxpv{font-size:12.5px!important}
@media (max-width:820px){
  .ibx.has .ibxtt p{font-size:14.5px!important}
}
.ibxm .ibxmh b{font-size:13px!important}
.ibxm .ibxmh small,.ibxm .ibxmh time{font-size:11.5px!important}
.ibxjump{position:sticky;bottom:12px;margin:-46px 12px 12px auto;align-self:flex-end;width:38px;height:38px;border-radius:50%;border:0;background:#fff;color:var(--teal,#1f5c6b);font-size:18px;box-shadow:0 3px 12px rgba(0,40,55,.22);cursor:pointer;z-index:7;display:flex;align-items:center;justify-content:center}
.ibxjump[hidden]{display:none!important}
@media (max-width:820px){.ibx.has .ibxjump{position:fixed;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 150px);margin:0}}
@media (min-width:821px){.ibxjump{display:none!important}}
.ibxqb{display:none}
.ibxback svg{display:none}
@media (max-width:820px){
  /* back: a big, easy target */
  .ibx.has .ibxth .ibxback{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;margin:0 -6px 0 -6px!important;padding:0!important;border-radius:50%}
  .ibx.has .ibxth .ibxback svg{display:block;width:28px;height:28px}
  .ibx.has .ibxth .ibxback:active{background:rgba(0,40,55,.08)}
  /* the list page: no pilot banner, and one row for External | Lignaverda, search and new */
  body:has(.ibx) .demobar{display:none!important}
  .ibxcol{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px}
  .ibxcol>*{grid-column:1/-1}
  .ibxcol>.ibxside{grid-column:1;margin:0!important}
  .ibxcol>.ibxhead{grid-column:2;margin:0!important;padding:0!important;gap:6px;flex-wrap:nowrap}
  .ibxhead .ibxq,.ibxhead #ibxsync,.ibxhead .ibxkb{display:none!important}
  .ibxhead .ibxqb{display:flex}
  .ibxcol>.ibxhead.open{grid-column:1/-1}
  .ibxcol:has(>.ibxhead.open)>.ibxside{display:none}
  .ibxhead.open .ibxq{display:block!important;flex:1 1 auto;min-width:0}
  .ibxhead.open .ibxqb{display:none}
}
@media (max-width:700px){
  /* one header row on a phone: the menu pill where the logo was, the round buttons on the right */
  .hbar{flex-wrap:nowrap!important;align-items:center;padding:8px 12px!important}
  .hbar>.brand{display:none!important}
  .hbar>.nedge{order:0!important;flex:1 1 auto!important;min-width:0;margin:0!important;padding:0!important}
  .hbar>.htools{flex:none}
  .demobar{padding:3px 12px;font-size:11.5px}
}
/* profile menu: solid (readable over any page), in clear groups */
.pmenu,.pmenu.open{background:#fbf8f2!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 18px 44px rgba(0,30,40,.28)!important}
.pmenu .pwho{padding:8px 12px 10px}
.pmenu .pwho strong{font-size:15px}
.pmenu .pwho span{font-size:12.5px;color:var(--text2)}
.pmenu .padm:first-of-type,.pmenu .pdens,.pmenu [data-ms],.pmenu [data-av],.pmenu [data-out]{margin-top:5px;position:relative}
.pmenu .padm:first-of-type::before,.pmenu .pdens::before,.pmenu [data-ms]::before,.pmenu [data-av]::before,.pmenu [data-out]::before{content:"";position:absolute;left:12px;right:12px;top:-3px;border-top:1px solid var(--line2,#e3e0d8)}
.pmenu [data-out]{color:#b03a2e!important}
@media (max-width:700px){.pmenu .padm,.pmenu button{padding:11px 12px;font-size:15px}}
.pmenu .padm:first-of-type::before{display:none}
/* phone: no footer strip floating mid-screen, no pilot banner – the screen is for the content */
@media (max-width:700px){.appfoot{display:none!important}.demobar{display:none!important}}
@media (max-width:820px){
  /* External | Lignaverda, search and + on one tidy row: same height, same inner padding, no stray lines */
  .ibxcol{padding-top:8px}
  .ibxcol>.ibxside,.ibxcol>.ibxhead{align-self:center;margin-top:0!important;margin-bottom:8px!important}
  .ibxcol>.ibxside{margin-left:8px!important;height:40px;padding:3px!important;border-radius:999px;background:var(--sand,#f1ece2);display:flex;gap:2px}
  .ibxcol>.ibxside button{flex:1 1 0;height:34px;min-height:0;padding:0 8px!important;border-radius:999px;font-size:14px;display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;background:transparent}
  .ibxcol>.ibxside button.on{background:#fff;box-shadow:0 1px 3px rgba(0,40,55,.14)}
  .ibxcol>.ibxside button i{font-size:11px;min-width:20px;height:20px;line-height:20px;padding:0 6px}
  .ibxcol>.ibxhead{margin-right:8px!important;border:0!important;background:none!important;box-shadow:none!important;display:flex;align-items:center;gap:6px}
  .ibxcol>.ibxhead .ibtn{width:40px!important;height:40px!important;min-height:0;padding:0!important;border-radius:50%!important;display:flex;align-items:center;justify-content:center}
  .ibxcol>.ibxhead.open{margin-left:8px!important}
  .ibxcol>.ibxhead.open .ibxq{height:40px;border-radius:999px}
}
/* map on a phone: shorter, so the page below shows; the ≡ button on the map opens what is shown as a sheet */
.mshh,.mobjbtn{display:none}
@media (max-width:820px){
  .maprow:not(.fakefs) #map{height:52dvh!important;min-height:300px!important}
  .mobjbtn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer;margin-top:8px!important}
  .maprow.sheet .side{position:fixed!important;left:0;right:0;bottom:0;top:auto;max-height:65dvh;overflow-y:auto;z-index:2300;margin:0!important;border-radius:20px 20px 0 0!important;padding:0 16px calc(16px + env(safe-area-inset-bottom))!important;box-shadow:0 -10px 30px rgba(0,30,40,.25)!important;width:auto!important}
  .maprow.sheet .mshh{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:inherit;background:#fff;padding:14px 0 10px;z-index:2;margin-bottom:6px;border-bottom:1px solid var(--line2)}
  .maprow.sheet .mshh b{font-size:15px}
  .mshx{border:0;background:var(--teal,#1f5c6b);color:#fff;border-radius:999px;padding:7px 16px;font:inherit;font-weight:600;cursor:pointer}
  body:has(.maprow.sheet) .mnav{display:none!important}
}
@media (max-width:820px){
  /* an open conversation: the page behind cannot move, so the contact bar stays put and only the emails scroll (as in WhatsApp) */
  html:has(.ibx.has),body:has(.ibx.has){overflow:hidden!important;overscroll-behavior:none}
  body:has(.ibx.has){position:fixed;inset:0;width:100%}
  .ibx.has .ibxthread{top:0;bottom:auto;height:100dvh;-webkit-overflow-scrolling:touch}
  .ibx.has .ibxth{position:sticky!important;top:0!important}
  /* every email in full: no "Show the whole email" cut on a phone */
  .ibxm .ibxbody:not(.all){max-height:none!important;overflow:visible}
  .ibxm .ibxmore{display:none!important}
}
@media (max-width:820px){
  /* a conversation slides in from the side, like any phone app */
  .ibx.has .ibxthread{animation:ibxin .24s cubic-bezier(.2,.8,.2,1)}
  @keyframes ibxin{from{transform:translateX(100%)}to{transform:none}}
  @media (prefers-reduced-motion:reduce){.ibx.has .ibxthread{animation:none}}
}
@media (max-width:700px){.mapphead .mphl{display:none}.mapphead .hbtns{margin-left:auto}}
/* field mode: when all is well, the status is one small strip and the forms come first */
.fxcalm{display:none}
.fxhero.calm{display:flex;align-items:center;gap:12px;padding:12px 14px!important;border-radius:16px!important;margin-bottom:14px}
.fxhero.calm .fxtop{flex:1 1 auto;min-width:0;margin:0!important;display:flex;align-items:center;gap:10px;flex-direction:row-reverse;justify-content:flex-end}
.fxhero.calm .fxtop>div{min-width:0}
.fxhero.calm .fxk,.fxhero.calm .fxsub,.fxhero.calm .fxsteps{display:none!important}
.fxhero.calm h2{font-size:15px!important;margin:0!important;letter-spacing:0;text-transform:none}
.fxhero.calm .fxcalm{display:block;margin:2px 0 0;font-size:12.5px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fxhero.calm .fxdot{width:12px!important;height:12px!important;flex:none;box-shadow:none!important}
.fxhero.calm .fxacts{margin:0!important;flex:none}
.fxhero.calm .fxbtn{padding:7px 12px!important;font-size:13px!important;min-height:0}
@media (max-width:420px){.fxhero.calm #fdl{font-size:0!important;width:38px;height:38px;padding:0!important;display:flex;align-items:center;justify-content:center}.fxhero.calm #fdl::before{content:"↻";font-size:18px}}
.fxhero.calm .fxcalm{font-family:inherit;font-family:Roboto,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important}
.fxhero.calm h2{font-family:Roboto,system-ui,sans-serif!important;font-weight:700!important}
@media (max-width:420px){.fxhero.calm #fdl{position:relative;color:transparent!important}.fxhero.calm #fdl::before{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--teal,#0b6f8a)}}
.ibxpre{margin:0;font-size:13px;line-height:1.45;color:var(--text2);white-space:pre-wrap}
@media (max-width:820px){
  /* attachments stay visible just under the contact bar, as one clean row of chips */
  .ibx.has .ibxatt:not([hidden]){position:sticky;top:var(--thh,56px);z-index:5;display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;scrollbar-width:none;padding:6px 10px!important;margin:0!important;background:rgba(239,234,226,.96)!important;border-bottom:1px solid rgba(0,40,55,.08)}
  .ibx.has .ibxatt::-webkit-scrollbar{display:none}
  .ibx.has .ibxatt .ibxatth{display:none}
  .ibx.has .ibxatt .ibxa{flex:none;max-width:72vw;height:32px;padding:0 10px 0 4px!important;display:flex;align-items:center;gap:6px;border-radius:999px;background:#fff;font-size:12.5px;overflow:hidden}
  .ibx.has .ibxatt .ibxa span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .ibx.has .ibxatt .ibxa i{font-size:9.5px;padding:2px 5px;border-radius:999px;flex:none}
  .ibx.has .ibxatt .ibxa small{flex:none;font-size:11px}
}
@media (max-width:820px){.ibx.has .ibxatt:not([hidden]){flex:none!important;min-height:44px;align-items:center;box-sizing:border-box}}
.mnav.nox,.mnav.nox *,.hsn.nox,.hsn.nox *{transition:none!important;animation:none!important}
@media (max-width:820px){
  /* the contact card under ⓘ: starts right below the contact bar, tidy columns, room at the bottom; ⓘ closes it */
  .ibx.panel.has .ibxpanel{top:var(--thh,60px)!important;padding:14px 16px calc(env(safe-area-inset-bottom,0px) + 40px)!important;font-size:14px;box-shadow:inset 0 1px 0 var(--line2)}
  .ibx.panel.has .ibxpanel .ibxpx{display:none}
  .ibxpanel .ibxsum{margin:0 0 14px;padding:12px 14px;border-radius:12px}
  .ibxpanel .ibxsum h5{margin:0 0 6px!important}
  .ibxpanel .ibxsum p{margin:0 0 8px;font-size:14px;line-height:1.45}
  .ibxpanel .ibxsumr{padding:0!important;margin:0;font-size:13px}
  .ibxpanel .ibxpd{display:grid;grid-template-columns:84px minmax(0,1fr);gap:6px 10px;margin:10px 0 4px}
  .ibxpanel .ibxpd dt{color:var(--text2);margin:0}
  .ibxpanel .ibxpd dd{margin:0;overflow-wrap:anywhere}
  .ibxpanel .ibxtl li{grid-template-columns:70px minmax(0,1fr) auto!important;font-size:13px!important;padding:7px 0!important}
  .ibxpanel .ibxtl li em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ibxpanel h5{margin:16px 0 6px!important;font-size:12.5px}
}
@media (max-width:820px){
  /* the contact bar keeps exactly the same size whether the card under ⓘ is open or not */
  .ibx.panel.has .ibxth,.ibx.has .ibxth{flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;padding:calc(env(safe-area-inset-top,0px) + 6px) 8px 6px!important;min-height:60px;box-sizing:border-box}
  .ibx.panel.has .ibxth .ibxact,.ibx.has .ibxth .ibxact{order:1!important;flex:none!important;margin:0!important;justify-content:flex-end}
  .ibx.panel.has .ibxth .ibxtt,.ibx.has .ibxth .ibxtt{order:0!important;flex:1 1 auto!important;min-width:0}
  .ibx.panel.has .ibxth .ibxback,.ibx.panel.has .ibxth .ibxhav{order:0!important}
}
@media (max-width:820px){
  /* ⋯ menu: under the ⋯ button, each action with its name */
  .ibx.has .ibxact.open .ibxsec{min-width:200px;padding:6px!important;gap:0!important;border-radius:14px!important;top:calc(100% + 4px)!important}
  .ibx.has .ibxact.open .ibxsec .ibxi{width:auto!important;height:44px!important;justify-content:flex-start!important;gap:12px;padding:0 12px!important;border-radius:10px;display:flex;align-items:center;color:var(--ink);text-decoration:none;font-size:14.5px}
  .ibx.has .ibxact.open .ibxsec .ibxi::after{content:attr(aria-label);white-space:nowrap}
  .ibx.has .ibxact.open .ibxsec .ibxi:active{background:rgba(0,40,55,.06)}
  body:has(.ibxact.open) .ibx.has .ibxmorea{background:rgba(0,40,55,.08)}
}
@media (max-width:820px){
  /* the phone map page is the map: filters and the list live behind the two buttons on the map */
  .maprow:not(.sheet)>.side{display:none!important}
  .maprow:not(.fakefs) #map{height:calc(100dvh - 300px)!important;min-height:320px!important}
  .maprow.sheet:not(.shlist) .side .sitelist{display:none}
  .maprow.sheet.shlist .side>:not(.mshh):not(.sitelist):not(.mqrow){display:none!important}
}
@media (max-width:820px){.maprow.shlist #mfb{display:none}}
/* quarterly cash flow on a phone: the four quarters and the year fit the screen, no sideways scrolling */
@media (max-width:700px){
  table.cfs.st.q{width:100%!important;min-width:0!important;table-layout:fixed}
  table.cfs.st.q th,table.cfs.st.q td{padding:5px 3px!important;font-size:11.5px!important}
  table.cfs.st.q .fl{width:34%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere;font-size:11.5px!important;position:static!important}
  table.cfs.st.q th.num:not(.yt){width:auto!important}
  table.cfs.st.q .yt{width:17%!important}
  table.cfs.st.q tr.it td.fl{padding-left:12px!important}
  table.cfs.st.q tr.it.d2 td.fl,table.cfs.st.q tr.it.d3 td.fl{padding-left:18px!important}
  table.cfs.st.q .cft{width:10px}
  .card:has(>table.cfs.st.q),.tscroll:has(table.cfs.st.q){overflow-x:visible!important;padding-left:8px!important;padding-right:8px!important}
}
@media (max-width:820px){
  /* reply box on a phone: one row of formatting (scrolls sideways if needed), one row of actions */
  .ibx.has .ibxtb{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:2px!important;padding:4px 6px!important;align-items:center}
  .ibx.has .ibxtb::-webkit-scrollbar{display:none}
  .ibx.has .ibxtb button{flex:none;min-width:34px;height:34px;padding:0 6px!important;display:flex;align-items:center;justify-content:center}
  .ibx.has .ibxtb button[data-color] span{width:16px!important;height:16px!important}
  .ibx.has .ibxtb .ibxtbw span{display:none}
  .ibx.has .ibxtb .ibxsep{flex:none;height:20px;margin:0 3px}
  .ibx.has .ibxrb{display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:6px!important}
  .ibx.has .ibxrb .fill{flex:1 1 0;min-width:0}
  .ibx.has .ibxrb .ibxrem2{order:0;display:flex;align-items:center;gap:2px;flex:0 1 auto;min-width:0;font-size:15px}
  .ibx.has .ibxrb .ibxrem2 select{max-width:112px;min-width:0;height:38px;padding:0 22px 0 8px;font-size:13px;text-overflow:ellipsis}
  .ibx.has .ibxrb .btn{height:40px;padding:0 12px!important;font-size:14px;white-space:nowrap}
  .ibx.has .ibxrb #ibxdisc{flex:none;width:36px;height:40px}
  .ibx.has .ibxrb .ibxsendg{flex:none;display:flex}
  .ibx.has .ibxrb .ibxsendg #ibxsend{padding:0 14px!important}
  .ibx.has .ibxrb .ibxlbtn{width:32px;padding:0!important}
}
@media (max-width:820px){
  .ibx.has .ibxtb button{flex:0 0 auto!important;width:auto!important;min-width:32px!important;max-width:none}
  .ibx.has .ibxrb .ibxrem2 select{max-width:96px;width:auto}
}
@media (max-width:820px){
  .ibx.has .ibxrb .ibxrem2 select{width:96px!important;max-width:96px!important;padding:0 22px 0 10px!important;background-position:right 6px center!important;background-size:12px!important;font-size:13px!important}
  .ibx.has .ibxrb #ibxdraft{padding:0 10px!important;font-size:13.5px}
}
.ibxfmt{display:none}
@media (max-width:820px){
  .ibx.has .ibxthread{overflow-x:hidden}
  .ibx.has .ibxreply{max-width:100%;box-sizing:border-box;overflow:hidden}
  .ibx.has .ibxrb .ibxai{flex:none;width:40px;height:40px;padding:0!important;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px}
  .ibx.has .ibxrb .ibxai span{display:none}
  .ibx.has .ibxfmt{display:flex;flex:none;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%}
  .ibx.has .ibxreply.fmt .ibxfmt{background:rgba(0,40,55,.1)}
  /* the formatting bar only when asked for (Aa) */
  .ibx.has .ibxreply:not(.fmt) .ibxtb{display:none!important}
  /* typing: the reply / reply all / forward row and the reminder step aside; the reminder keeps its default (3 days) */
  .ibx.has .ibxreply.typing .ibxmode,.ibx.has .ibxreply.typing .ibxinst,.ibx.has .ibxreply.typing .ibxrem2{display:none!important}
  .ibx.has .ibxreply.typing{padding-top:8px!important}
  .ibx.has .ibxreply .ibxtxt{max-height:38vh;overflow-y:auto}
  .ibx.has .ibxreply.typing .ibxtxt{min-height:72px}
  .ibx.has .ibxrb .fill{flex:1 1 0}
}
@media (max-width:820px){.ibx.has .ibxreply.mini .ibxrb,.ibx.has .ibxreply.mini .ibxtb{display:none!important}}
@media (max-width:820px){.ibx.has .ibxreply{flex:none!important}}
@media (max-width:820px){
  .ibx.has .ibxreply.aidone .ibxed::before{content:"✨ Draft by Claude – read it and change anything before sending";display:block;padding:8px 12px 0;font-size:12.5px;color:#7a5b12}
  .ibx.has .ibxreply.aiwip .ibxtxt:empty::before{color:#7a5b12}
  .ibx.has .ibxreply.aidone .ibxtxt,.ibx.has .ibxreply.typing .ibxtxt{max-height:48vh}
}
/* ---- phone inbox, step 1: the boxes are a floating pill under the thumb, next to the folded module bar (as Superhuman's split inbox) ---- */
@media (max-width:820px){
  .ibx:not(.has) .ibxrail{position:fixed!important;left:108px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));top:auto!important;z-index:940;height:60px;margin:0!important;padding:0 6px!important;display:flex!important;flex-direction:row!important;align-items:center;gap:2px!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;background:rgba(255,255,255,.96)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(0,40,55,.08)!important;border-radius:999px!important;box-shadow:0 8px 28px rgba(0,30,40,.18)!important;transition:opacity .2s}
  .ibx:not(.has) .ibxrail::-webkit-scrollbar{display:none}
  .ibx:not(.has) .ibxrail .ibxcoll{display:none!important}
  .ibx:not(.has) .ibxrail a{flex:none!important;display:flex!important;align-items:baseline;gap:5px;height:44px;padding:0 12px!important;margin:0!important;border:0!important;border-radius:999px!important;background:none!important;color:var(--text2)!important;font-size:15.5px!important;font-weight:500;white-space:nowrap;text-decoration:none;line-height:44px;box-shadow:none!important}
  .ibx:not(.has) .ibxrail a svg{display:none!important}
  .ibx:not(.has) .ibxrail a span{display:inline!important}
  .ibx:not(.has) .ibxrail a b{font-weight:500!important;font-size:13px!important;color:#8a9a9e!important;background:none!important;padding:0!important;min-width:0!important}
  .ibx:not(.has) .ibxrail a.on{color:var(--ink)!important;font-weight:700}
  .ibx:not(.has) .ibxrail a.on b{color:var(--ink)!important}
  body:has(.mnav:not(.mini)) .ibx:not(.has) .ibxrail{opacity:0;pointer-events:none}
  .ibx:not(.has) .ibxlist{padding-bottom:96px!important}
  .ibx.has .ibxrail{display:none!important}
}
@media (max-width:820px){.ibx:not(.has) .ibxrail a{font-size:14.5px!important;padding:0 10px!important}}
/* ---- step 2: the conversation as a clean email thread (no bubbles), subject on top, auto draft card at the end ---- */
.ibxsubj{display:none}
.ibx .ibxmsgs{background:#fff!important}
.ibx .ibxm,.ibx .ibxm.out,.ibx .ibxm.in{background:none!important;border:0!important;border-bottom:1px solid #eef1ef!important;border-radius:0!important;box-shadow:none!important;margin:0!important;max-width:none!important;width:auto!important;align-self:stretch!important;padding:14px 18px 12px!important}
.ibx .ibxm::before,.ibx .ibxm::after{display:none!important}
.ibx .ibxm .ibxmh{padding:0!important;margin:0 0 6px!important;background:none!important;align-items:baseline}
.ibx .ibxm .ibxmh .ibxav{display:none!important}
.ibx .ibxm .ibxmh b{font-size:14px!important;color:var(--ink)!important}
.ibx .ibxm.out .ibxmh b{color:#5d7378!important}
.ibx .ibxday2{margin:10px 0 0!important;padding:0 18px!important;justify-content:flex-start!important;background:none!important}
.ibx .ibxday2 span{background:none!important;box-shadow:none!important;padding:0!important;font-size:11.5px!important;font-weight:600;letter-spacing:.02em;color:#8a9a9e!important;border:0!important}
.ibxauto{margin:14px 12px 18px;border:1px solid #dfe8e5;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(0,40,55,.08);padding:12px 14px}
.ibxah{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.ibxah b{color:#2f7d5b;font-size:13.5px}
.ibxah small{color:#8a9a9e;font-size:12px}
.ibxat{font-size:13.5px;line-height:1.45;color:var(--ink);cursor:text;border-radius:8px;padding:2px 0}
.ibxat p{margin:0}
.ibxat:hover{background:#f7faf9}
.ibxach{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 8px}
.ibxach button{border:1px solid #d9e2df;background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer}
.ibxach button.on{border-color:var(--teal);color:var(--teal);font-weight:600}
.ibxaa{display:flex;align-items:center;gap:8px}
.ibxaa .fill{flex:1}
.ibxaa .btn{height:36px;padding:0 14px}
@media (max-width:820px){
  .ibx.has .ibxthread{background:#fff!important}
  .ibxsubj{display:block;margin:0;padding:14px 18px 4px;font-size:19px;line-height:1.3;font-weight:700;color:var(--ink);font-family:inherit;text-transform:none;letter-spacing:0}
  /* header: the person (name, role and company), the subject is the title under it */
  .ibx.has .ibxtt h3{display:none!important}
  .ibx.has .ibxtt .ibxrole{display:block!important;font-size:12.5px;font-weight:400;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ibx.has .ibxtt .ibxrole .chip{display:none}
  .ibx.has .ibxtt p{display:block!important;white-space:normal!important}
  .ibx.has .ibxtt p>a:first-child,.ibx.has .ibxtt p{font-size:15px}
  .ibx.has .ibxtt .ibxrole a{color:inherit;text-decoration:none}
  .ibx .ibxm,.ibx .ibxm.out,.ibx .ibxm.in{padding:14px 16px 12px!important}
  .ibx .ibxday2{padding:0 16px!important}
}
.ibxtt .ibxrole:not(:empty)::before{content:" · "}
.ibx .ibxm .ibxbody,.ibx .ibxm .ibxpv{margin-left:0!important}
.ibx:has(.ibxauto) .ibxinst{display:none!important}
@media (max-width:820px){.ibx.has .ibxtt .ibxrole::before{content:none!important}}
.ibx .ibxm .ibxbody{padding-left:0!important}
.ibxat{font-size:12.5px}
@media (max-width:820px){.ibxat{font-size:12px}.ibxach button{font-size:12px;padding:5px 11px}.ibxaa .btn{height:34px;font-size:13.5px}.ibxah b{font-size:13px}}
/* ---- step 3: Write with AI panel ---- */
.aisheet{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center}
.aisbg{position:absolute;inset:0;background:rgba(10,30,38,.35)}
.aisbox{position:relative;width:min(560px,94vw);max-height:80vh;display:flex;flex-direction:column;background:#fff;border-radius:22px;box-shadow:0 24px 60px rgba(0,30,40,.3);padding:12px 14px 14px}
.aish{display:flex;align-items:center;gap:10px;padding:2px 2px 8px}
.aish b{font-size:15px;color:var(--ink)}
.aish .fill{flex:1}
.aisx,.aisre{width:36px;height:36px;border-radius:50%;border:0;background:#f1f4f3;color:var(--ink);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.aisd{flex:1 1 auto;overflow-y:auto;min-height:90px;padding:6px 4px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.aisd p{margin:0}
.aisr{display:flex;gap:6px;padding:6px 0 10px}
.aisheet:not(.has) .aisr{visibility:hidden}
.aisr button{border:0;background:none;font-size:17px;padding:4px 6px;border-radius:8px;cursor:pointer;filter:grayscale(1);opacity:.6}
.aisr button.on,.aisr button:hover{filter:none;opacity:1;background:#f1f4f3}
.aisf{display:flex;align-items:center;gap:8px;background:#f3f5f4;border-radius:999px;padding:5px 5px 5px 14px}
.aisi{flex:1;min-width:0;border:0!important;background:none!important;font:inherit;font-size:14px;padding:8px 0;outline:none;box-shadow:none!important}
.aisgo,.aisok{flex:none;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;font-size:17px;display:flex;align-items:center;justify-content:center}
.aisgo{background:#e3ebe8;color:var(--ink)}
.aisok{background:var(--teal,#0b6f8a);color:#fff}
.aisok:disabled{opacity:.35;cursor:default}
.aisheet.wip .aisgo,.aisheet.wip .aisre{opacity:.4;pointer-events:none}
@media (max-width:820px){
  .aisheet{align-items:flex-end}
  .aisbox{width:100%;max-height:78dvh;border-radius:22px 22px 0 0;padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
  .aisi{font-size:16px}
}
/* ---- step 4: Remind me list ---- */
.remsheet .aisbox{max-width:440px}
.remg{display:flex;flex-direction:column;background:#f5f7f6;border-radius:14px;overflow:hidden;margin:4px 0 10px}
.remg>button,.remg>label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;height:48px;border:0;background:none;font:inherit;font-size:14.5px;color:var(--ink);cursor:pointer;text-align:left;border-bottom:1px solid #e6ecea;margin:0}
.remg>:last-child{border-bottom:0}
.remg>button small{color:var(--text2);font-size:13px}
.remg>button:hover,.remg>label:hover{background:#edf2f0}
.rempick input{border:0!important;background:none!important;font:inherit;font-size:13px;color:var(--text2);max-width:190px;padding:0!important;box-shadow:none!important}
.remc button small{visibility:hidden;color:var(--teal)!important;font-weight:700}
.remc button.on small{visibility:visible}
.ibxremb{border:1px solid var(--line2);background:#fff;border-radius:999px;height:36px;padding:0 12px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
@media (max-width:820px){.ibx.has .ibxrb .ibxrem2b{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;height:40px;font-size:13px}.ibx.has .ibxreply.typing .ibxrem2b{display:none}}
/* ---- phone navigation: module as the title (top left), its tabs in a bar at the bottom ---- */
.modbtn,.subbar{display:none}
@media (max-width:700px){
  #app .mnav{display:none!important}
  .hbar .nedge .hsn{display:none!important}
  .hbar .nedge .modbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:#fff;font:inherit;font-size:20px;font-weight:700;letter-spacing:-.01em;padding:6px 4px;cursor:pointer;white-space:nowrap}
  .hbar .nedge .modbtn svg{opacity:.8;margin-top:2px}
  .subbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:950;height:56px;align-items:center;gap:2px;padding:0 6px;overflow-x:auto;scrollbar-width:none;background:rgba(0,66,87,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;box-shadow:0 8px 26px rgba(0,30,40,.28)}
  .subbar::-webkit-scrollbar{display:none}
  .subbar a{flex:1 0 auto;display:flex;align-items:center;justify-content:center;height:44px;padding:0 14px;border-radius:999px;color:rgba(255,255,255,.72);font-size:14.5px;font-weight:500;text-decoration:none;white-space:nowrap}
  .subbar a.on{background:rgba(255,255,255,.16);color:#fff;font-weight:700}
  body.hassub main{padding-bottom:96px!important}
  /* the inbox boxes float just above the tabs bar */
  .ibx:not(.has) .ibxrail{left:12px!important;right:12px!important;bottom:calc(78px + env(safe-area-inset-bottom))!important;height:52px!important}
  body:has(.mnav:not(.mini)) .ibx:not(.has) .ibxrail{opacity:1!important;pointer-events:auto!important}
  .ibx:not(.has) .ibxlist{padding-bottom:150px!important}
  body:has(.ibx.has) .subbar,body:has(.aisheet) .subbar{display:none!important}
  /* modules list */
  .modgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 0 6px}
  .modgrid a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:84px;border-radius:16px;background:#f3f6f5;color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500}
  .modgrid a svg{width:24px;height:24px}
  .modgrid a.on{background:#e3eef0;color:var(--teal);font-weight:700}
}
/* ---- phone reply: one friendly line when closed, a full writing page when open ---- */
.ibxstart,.ibxctop,.ibxcto{display:none}
@media (max-width:820px){
  .ibx.has .ibxreply.phc.mini{padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e8eeec}
  .ibx.has .ibxreply.phc.mini>:not(.ibxstart){display:none!important}
  .ibxreply.phc.mini .ibxstart{display:flex;align-items:center;gap:8px}
  .ibxstartb{flex:1;min-width:0;height:44px;border:1px solid #dfe6e4;border-radius:999px;background:#f5f7f6;text-align:left;padding:0 18px;font:inherit;font-size:15px;color:#7b8c90;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ibxstartai{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#f4ecd8;font-size:19px;cursor:pointer}
  .ibx.has .ibxreply.phc:not(.mini){position:fixed!important;left:0!important;right:0!important;top:var(--vvt,0px)!important;bottom:auto!important;height:var(--vvh,100dvh)!important;z-index:80!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;display:flex!important;flex-direction:column!important;box-shadow:none!important;max-width:none!important;animation:phcin .22s cubic-bezier(.2,.8,.2,1)}
  @keyframes phcin{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
  .ibxreply.phc:not(.mini) .ibxstart,.ibxreply.phc .ibxmode,.ibxreply.phc .ibxinst{display:none!important}
  .ibxreply.phc:not(.mini) .ibxctop{display:flex;flex:none;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 8px) 10px 8px;border-bottom:1px solid #eef1ef}
  .ibxcx{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:#f1f4f3;color:var(--ink);font-size:16px;cursor:pointer}
  .ibxcm{display:flex;gap:2px;background:#f1f4f3;border-radius:999px;padding:3px}
  .ibxcm button{width:40px;height:34px;border-radius:999px;border:0!important;background:none!important;color:#6b7f84;display:flex;align-items:center;justify-content:center;padding:0!important}
  .ibxcm button span{display:none!important}
  .ibxcm button.on{background:#fff!important;color:var(--ink)!important;box-shadow:0 1px 3px rgba(0,40,55,.14)}
  .ibxctop .fill{flex:1}
  .ibxctop .ibxsendg{display:flex!important;flex:none}
  .ibxctop .ibxsendg #ibxsend{height:40px;padding:0 18px!important;border-radius:999px 0 0 999px;font-size:15px}
  .ibxctop .ibxsendg .ibxlbtn{height:40px;width:34px;border-radius:0 999px 999px 0;padding:0!important}
  .ibxreply.phc:not(.mini) .ibxcto{display:block;flex:none;padding:10px 18px 0;font-size:13px;color:#7b8c90}
  .ibxreply.phc .ibxfwd:not([hidden]){flex:none;padding:6px 14px 0}
  .ibxreply.phc .ibxfwd input{width:100%;height:40px;border-radius:10px}
  .ibxreply.phc:not(.mini) .ibxed{flex:1 1 auto;min-height:0;display:flex!important;flex-direction:column;border:0!important;margin:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
  .ibxreply.phc:not(.mini) .ibxtb{flex:none;border-bottom:1px solid #eef1ef}
  .ibx.has .ibxreply.phc:not(.mini) .ibxtxt{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow-y:auto;padding:12px 18px!important;font-size:15.5px!important;line-height:1.5;border:0!important;outline:none}
  .ibxreply.phc:not(.mini).aidone .ibxed::before{padding:10px 18px 0}
  .ibx.has .ibxreply.phc:not(.mini) .ibxrb{flex:none;display:flex!important;align-items:center;gap:6px!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important;border-top:1px solid #eef1ef;margin:0!important}
  .ibx.has .ibxreply.phc .ibxrb .ibxsendg{display:none!important}
  .ibx.has .ibxreply.phc .ibxrb .ibxrem2b{display:inline-flex!important}
  .ibx.has .ibxreply.phc .ibxrb #ibxdraft{border:0!important;background:none!important;color:var(--teal);padding:0 6px!important;height:40px}
}
@media (max-width:820px){.ibx.has .ibxreply.phc .ibxrb .ibxai{border:0!important;background:#f4ecd8!important;box-shadow:none!important}.ibxreply.phc .ibxrb .ibxfmt{background:#f1f4f3}}
.aisadj{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 0 2px;flex:none}
.aisadj::-webkit-scrollbar{display:none}
.aisadj button{flex:none;border:1px solid #dbe4e1;background:#fff;border-radius:999px;height:34px;padding:0 13px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}
.aisadj button:active{background:#eef4f2}
.aisheet:not(.has) .aisadj,.aisheet.wip .aisadj{opacity:.4;pointer-events:none}
.aisr{padding:4px 0 8px!important}
.aisadj{flex-wrap:wrap;overflow:visible}
.aisadj button span{opacity:.5;margin-left:2px}
.aisadj .aisback{width:34px;padding:0;font-size:18px;background:#f1f4f3;border-color:transparent}
/* iPhone browsers zoom in on any field whose text is under 16 px: every field is 16 px on touch screens, so tapping one never zooms */
@media (hover:none) and (pointer:coarse){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,[contenteditable=true],[contenteditable=""]{font-size:16px!important}
}
/* ===== phone page layout (one system for every page) ===== */
@media (max-width:700px){
  /* one gutter and rhythm: 14 px sides, 12 px between blocks */
  main{padding:12px 14px 110px!important}
  main>.card,main>section,main>.phead~*{margin-bottom:12px}
  .card{border-radius:16px}
  /* page title: only on detail pages, and smaller */
  .phead{margin-bottom:12px!important;gap:8px!important;align-items:center!important;flex-wrap:nowrap!important}
  .phead h2,.phead h1{font-size:20px!important;line-height:1.2;letter-spacing:0}
  body.pgtop .phead h2,body.pgtop .phead h1{display:none!important}
  body.pgtop .phead>span:has(>h2:only-child),body.pgtop .phead>div:has(>h2:only-child){display:none!important}
  .phead.phempty{height:0;min-height:0;margin:0!important;padding:0!important;overflow:visible}
  .phead.phempty>*:not(:has(.phfab)):not(.phfab){display:none!important}
  .phead.phempty :is(.hbtns,div,span)>*:not(.phfab):not(:has(.phfab)){display:none!important}
  .phead .hbtns{width:auto!important;margin-left:auto;flex-wrap:nowrap;gap:6px}
  body.pgtop .phead{justify-content:flex-end}
  /* other page actions: compact */
  .phead .btn:not(.phfab){height:38px;min-height:0;padding:0 14px!important;font-size:13.5px!important;border-radius:999px;white-space:nowrap}
  .phead .btn.ibtn:not(.phfab){width:38px;padding:0!important}
  /* the main action: the same round + in the same place on every page */
  .phfab{position:fixed!important;right:16px!important;bottom:calc(80px + env(safe-area-inset-bottom))!important;z-index:960!important;width:56px!important;height:56px!important;min-height:0!important;padding:0!important;margin:0!important;border-radius:50%!important;font-size:0!important;color:transparent!important;background:var(--teal,#0b6f8a)!important;border:0!important;box-shadow:0 8px 22px rgba(0,50,65,.32)!important;display:flex!important;align-items:center;justify-content:center}
  .phfab>*{display:none!important}
  .phfab::after{content:"";width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
  body:not(.hassub) .phfab{bottom:calc(20px + env(safe-area-inset-bottom))!important}
  body:has(.aisheet,.modal-bg,.mbg,dialog[open]) .phfab{display:none!important}
  /* filter chips: one line that scrolls sideways, never three rows */
  .dlchips,.relbar,.stchips,.rvchips,.txmchips{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .dlchips::-webkit-scrollbar,.relbar::-webkit-scrollbar,.stchips::-webkit-scrollbar,.rvchips::-webkit-scrollbar,.txmchips::-webkit-scrollbar{display:none}
  .dlchips>*,.relbar>*,.stchips>*,.rvchips>*,.txmchips>*{flex:none!important}
  /* first things first: summary tiles and legends wait for the computer */
  .kpis,.uleg{display:none!important}
  /* small labels above a picker ("Show") go inside the line */
  label.mobsel{display:flex;align-items:center;gap:8px;font-size:0}
  label.mobsel select{font-size:16px;flex:1}
}
@media (max-width:700px){
  /* switches (To do | All leads | …): one line, labels never break, scroll sideways when they do not fit */
  .dswitch,.relbar,.seg,.sugtabs{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;max-width:100%}
  .dswitch::-webkit-scrollbar,.seg::-webkit-scrollbar,.sugtabs::-webkit-scrollbar{display:none}
  .dswitch>*,.seg>*,.sugtabs>*{flex:none!important;white-space:nowrap!important}
}
/* touch screens keep the "hover" colour after a tap: buttons keep their own colour there, and darken briefly while pressed */
@media (hover:none){
  .btn:hover{background:var(--teal);border-color:var(--teal);color:var(--cream)}
  .btn.sec:hover{border-color:var(--line2);color:var(--ink);background:transparent}
  .btn.ok:hover{background:var(--green);border-color:var(--green)}
  .btn.danger:hover{background:transparent;color:var(--red);border-color:rgba(184,58,46,.4)}
  .btn:active{filter:brightness(.92)}
}
@media (max-width:700px){
  /* forms open as a sheet with one plain title (no display font), the same everywhere */
  .mhead h2,.mbox h2{font-family:var(--body)!important;text-transform:none!important;letter-spacing:0!important;font-size:18px!important;font-weight:700!important;color:var(--ink)}
}
@media (max-width:700px){
  /* the inbox's "new email" is the same round + as everywhere, just above the boxes bar */
  .ibx:not(.has) #ibxnew{position:fixed!important;right:16px!important;bottom:calc(142px + env(safe-area-inset-bottom))!important;z-index:960;width:56px!important;height:56px!important;border-radius:50%!important;background:var(--teal)!important;color:#fff!important;border:0!important;box-shadow:0 8px 22px rgba(0,50,65,.32)!important;font-size:24px!important}
  .ibx:not(.has) #ibxnew svg{width:22px;height:22px}
}
@media (max-width:700px){
  /* importing polygon files is a desktop job – keep the phone list clean (still on the map as an icon) */
  .phead > #imp{display:none}
}
@media (max-width:700px){
  /* search row of every list: search box and its icon buttons share one height */
  .stbar .stq,.stbar .stf{height:42px!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important}
  .stbar .ibtn:not(.phfab){width:42px!important;height:42px!important;min-height:0!important;min-width:0!important;padding:0!important;border-radius:50%!important;flex:none}
  .stbar .stright{gap:8px;align-items:center}
  .stbar{align-items:center;gap:8px}
  /* the "Show" picker on records sits directly above its list */
  .two>section>label.mobsel{margin-bottom:10px!important}
  .two>section>label.mobsel+.phead,.two>section>label.mobsel+div>.phead{margin-top:0!important}
}
@media (max-width:700px){
  #main .phead.phempty{height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important}
}
/* transactions: chips wrapper is invisible on desktop; the funnel keeps its old place after the quick filters */
.toolbar.txbar .txchips{display:contents}
.toolbar.txbar>#tmore{order:1}
.toolbar.txbar .txchips>.clrf,.toolbar.txbar .txchips>.fill,.toolbar.txbar .txchips>.fill~*{order:2}
@media (max-width:700px){
  /* finance pages: the page's icon buttons share the row of the entity picker */
  body.pgtop #main:has(>.entstrip){position:relative}
  body.pgtop #main>.entstrip~.phead:not(:has(select,input:not([type=file]),.seg,.relsel)){position:absolute;top:12px;right:14px;left:auto;margin:0!important;padding:0!important;min-height:0;height:46px;display:flex;align-items:center;z-index:5;width:auto}
  body.pgtop #main>.entstrip~.phead:not(:has(select,input:not([type=file]),.seg,.relsel))>div:first-child{display:none}
  body.pgtop #main>.entstrip~.phead .hbtns{display:flex;gap:8px;margin:0}
  #main>.entstrip{margin-bottom:12px!important}
  #main>.entstrip~.phead .ibtn:not(.phfab){width:42px!important;height:42px!important;min-height:0!important;padding:0!important;border-radius:50%!important}
  /* transactions toolbar: search + funnel on one line, quick filters one scrolling line below, all 40px */
  .toolbar.txbar{display:flex;flex-wrap:wrap!important;gap:8px!important;overflow:visible!important;padding:12px!important}
  .toolbar.txbar>#tq{order:0;flex:1 1 0!important;max-width:none!important;min-width:0!important}
  .toolbar.txbar>#tmore{order:1;flex:none}
  .toolbar.txbar .txchips{display:flex;order:2;flex:1 0 100%;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -12px;padding:0 12px}
  .toolbar.txbar .txchips::-webkit-scrollbar{display:none}
  .toolbar.txbar .txchips>*{flex:none;order:0!important}
  .toolbar.txbar .txchips>.fill{display:none}
  .toolbar.txbar :is(#tq,.combo-btn,.uncat,.btn,.seg){height:40px!important;min-height:0!important;box-sizing:border-box}
  .toolbar.txbar #tmore{width:40px!important;padding:0!important;border-radius:50%!important}
  .toolbar.txbar .seg{display:inline-flex;align-items:center}
  .toolbar.txbar .seg a{padding-top:0!important;padding-bottom:0!important;height:32px;display:inline-flex;align-items:center}
  /* their drop-downs open as a sheet above the bottom bar, not clipped by the scrolling line */
  .toolbar.txbar .txchips .combo-pop{position:fixed!important;left:12px!important;right:12px!important;top:auto!important;bottom:calc(84px + env(safe-area-inset-bottom))!important;width:auto!important;max-height:60vh;overflow:auto;z-index:980;box-shadow:0 12px 40px rgba(0,40,50,.28)}
  .txhead{min-height:0!important;margin:2px 4px 8px!important}
  .txhead .txsum{font-size:13px}
  /* the list: one tappable row per transaction – name and amount, then date, account and category */
  .card.tscroll:has(.txtab){padding:4px 14px!important;overflow:visible}
  table.txtab,table.txtab tbody{display:block;width:100%}
  table.txtab thead{display:none}
  table.txtab tbody tr{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;column-gap:8px;row-gap:2px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline}
  table.txtab tbody tr:last-child{border-bottom:0}
  table.txtab tbody td{display:block;padding:0!important;border:0!important;width:auto!important;max-width:none!important;min-width:0!important}
  table.txtab td.nc,table.txtab td.txt{display:none!important}
  table.txtab td.txn{grid-row:1;grid-column:1/4;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  table.txtab td.txn .txd{display:inline!important;-webkit-line-clamp:unset}
  table.txtab td.txn .edt,table.txtab td.txn .erpb{display:none}
  table.txtab td.num{grid-row:1;grid-column:4;font-size:15px;font-weight:600;text-align:right}
  table.txtab td.nw,table.txtab td.txc{grid-row:2;font-size:13px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  table.txtab td.txc{grid-column-end:-1}
  table.txtab td.txc .edt{display:none}
  table.txtab tbody tr:hover td{background:none}
}
@media (max-width:700px){
  /* the records picker lines up with the cards below it */
  .two>section>label.mobsel{margin-left:0!important;margin-right:0!important;padding:0!important;width:100%!important;box-sizing:border-box}
  .two>section>label.mobsel select{width:100%!important;margin:0!important;height:46px;box-sizing:border-box}
  .stbar .stq{border-radius:999px!important}
}
@media (max-width:700px){ .two>section>label.mobsel{gap:0!important} }
@media (max-width:700px){
  table.txtab{min-width:0!important;table-layout:auto!important}
  /* one shape for every control on the phone: pills for text, circles for icons */
  #main :is(.btn,button.btn,a.btn,label.btn,.combo-btn,.uncat,input[type=search],input[type=text],input[type=email],input[type=number],input[type=date],select):not(.phfab){border-radius:999px!important}
  #main .ibtn:not(.phfab){border-radius:50%!important;aspect-ratio:1}
  /* a selection action only appears once something is selected */
  #vsel:disabled{display:none!important}
  /* importing bank exports is a desktop job */
  #tximp,.impwrap{display:none!important}
}
@media (max-width:700px){table.txtab td.txc{text-align:right}}
@media (max-width:700px){
  /* finance settings tabs: an ordinary one-line switch, not the old phone menu */
  .fshead{border-bottom:0;margin:0 0 12px;gap:8px}
  .fshead>h2{display:none}
  .fshead .fstabs{position:static!important;max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;background:none!important;box-shadow:none!important;border:0!important;margin:0 -14px!important;padding:0 14px!important;flex:1 0 100%!important;flex-wrap:nowrap!important;gap:6px!important;z-index:auto!important;scrollbar-width:none}
  .fshead .fstabs::-webkit-scrollbar{display:none}
  .fshead .fstabs a{flex:none;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;padding:8px 14px!important;font-size:14px!important;color:var(--text2)!important;white-space:nowrap}
  .fshead .fstabs a.on{background:var(--ink)!important;border-color:var(--ink)!important;color:#fff!important}
  .fshead .fsent{margin:0!important}
}
@media (max-width:700px){
  .fshead .fstabs{display:flex!important;flex-direction:row!important}
  .fshead .fstabs a{display:inline-flex!important;width:auto!important;margin:0!important}
  .fshead .fsent~*{display:none}
  #main .card button.lnk{white-space:nowrap}
}
@media (max-width:700px){
  /* field: a quiet status card in the page width, then every activity as one row, one below the other */
  .fxhero.calm{background:#fff!important;color:var(--ink)!important;box-shadow:0 1px 3px rgba(0,40,50,.08)!important;border:0!important;margin:0 0 16px!important;padding:12px 12px 12px 16px!important;border-radius:16px!important;width:auto!important}
  .fxhero.calm .fxtop{flex-direction:row!important;justify-content:flex-start!important;gap:12px!important;align-items:center}
  .fxhero.calm .fxdot{order:-1}
  .fxhero.calm .fxtop>div{flex:none}
  .fxhero.calm h2{font-size:15px!important;color:var(--ink)!important;display:block!important}
  .fxhero.calm .fxtop{display:grid!important;grid-template-columns:12px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px!important;row-gap:1px}
  .fxhero.calm .fxdot{grid-row:1/3;grid-column:1;align-self:center}
  .fxhero.calm .fxtop>div{grid-row:1;grid-column:2}
  .fxhero.calm .fxcalm{grid-row:2;grid-column:2;margin:0!important;color:var(--text2)!important;opacity:1!important;font-size:13px!important}
  .fxhero.calm .fxacts .fxp{display:none}
  .fxhero.calm #fdl{width:40px!important;height:40px!important;min-height:0!important;border-radius:50%!important;padding:0!important;background:#fff!important;border:1px solid var(--line)!important;box-shadow:none!important}
  .fxhero.calm #fdl::before{color:var(--ink)!important}
  .fxh{margin:4px 4px 10px!important;font-size:15px!important}
  .fxtiles{display:flex!important;flex-direction:column!important;gap:10px!important}
  .fxtile,.fxtile.fxrcpt{display:grid!important;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;text-align:left!important;width:100%!important;min-height:0!important;height:auto!important;padding:14px 16px!important;margin:0 0 10px!important;border-radius:16px!important;background:#fff!important;box-shadow:0 1px 3px rgba(0,40,50,.08)!important;border:0!important;box-sizing:border-box}
  .fxtiles .fxtile{margin:0!important}
  .fxtile>svg{grid-row:1/3;grid-column:1;width:28px!important;height:28px!important;margin:0!important;justify-self:center}
  .fxtile>b{grid-column:2;grid-row:1;font-size:16px!important;margin:0!important;line-height:1.25}
  .fxtile>span{grid-column:2;grid-row:2;font-size:13.5px!important;margin:0!important;color:var(--text2)}
  .fxtile:not(:has(span))>b{grid-row:1/3}
}
@media (max-width:700px){.fxtile,.fxtile.fxrcpt{padding:12px 16px!important}.fxhero.calm h2{line-height:1.2!important}.fxhero.calm .fxtop>div>*{margin:0!important}}
@media (max-width:700px){
  /* detail pages: a plain title, not the display font */
  #main .phead h2{font-family:Roboto,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;font-weight:700!important;font-size:20px!important;line-height:1.25!important;margin:0!important}
  #main>a.back{display:inline-block;margin:0 0 4px!important;font-size:14px}
  #main .phead{margin-bottom:12px!important;align-items:flex-start}
  .evwhen{font-size:13.5px!important;margin:4px 0 0!important;color:var(--text2)}
  /* event: confirmed and still open are already on the filter chips – keep the rest as one compact line */
  .card.evstats{display:flex!important;flex-wrap:wrap;gap:6px 18px!important;padding:12px 16px!important;margin-bottom:12px!important;align-items:baseline}
  .evstats>.evst:nth-child(1),.evstats>.evst:nth-child(2){display:none}
  .evst{flex-direction:row!important;align-items:baseline;gap:5px!important}
  .evst b{font-size:17px!important}
  .evst b small{font-size:13px!important}
  .evst span{font-size:13px!important;white-space:nowrap}
  .evcllist{flex:1 0 100%;display:flex;flex-wrap:wrap;gap:6px}
  .evcllist[hidden]{display:none}
  .evbar{margin:0 0 10px!important}
  .evfl{margin-bottom:8px!important;padding-bottom:8px!important}
}
@media (max-width:700px){
  .card.evstats{background:none!important;box-shadow:none!important;border:0!important;padding:0 2px!important;margin:-4px 0 12px!important}
}
@media (max-width:700px){
  /* review: actions appear once something is ticked; each record is one row */
  .rvbar{display:flex;align-items:center;justify-content:space-between;min-height:40px;margin:0 0 4px!important;padding:0!important;background:none!important}
  .rvbar #vs:disabled,.rvbar #rs:disabled{display:none}
  .rvbar .btn{height:36px;padding:0 16px!important}
  #q>h3{font-size:15px;margin:14px 0 4px}
  table.rvtab{display:block;width:100%;min-width:0!important}
  table.rvtab tbody{display:block}
  table.rvtab tr:first-child:has(th){display:none}
  table.rvtab tr[data-id]{display:grid;grid-template-columns:32px minmax(0,1fr) auto;column-gap:10px;row-gap:2px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}
  table.rvtab td{display:block;padding:0!important;border:0!important;min-width:0}
  table.rvtab td.nc{grid-row:1/3;grid-column:1}
  table.rvtab td.rvsite{grid-row:1;grid-column:2;font-size:15px;color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  table.rvtab td.rvst{grid-row:1;grid-column:3;justify-self:end}
  table.rvtab td.rvref,table.rvtab td.rvdate,table.rvtab td.rvwhat,table.rvtab td.rvat{grid-row:2;font-size:13px;color:var(--text2);display:inline}
  table.rvtab tr[data-id]{grid-template-areas:none}
  table.rvtab td.rvref{grid-column:2}
  table.rvtab td.rvwhat.same,table.rvtab td.rvdate:empty{display:none}
  table.rvtab td.rvref::before{content:"#"}
  table.rvtab td.rvat{grid-column:3;justify-self:end}
  table.rvtab td.rvwhat,table.rvtab td.rvdate{display:none}
}
.rvtab td.rvsub{display:none}
@media (max-width:700px){
  table.rvtab td.rvref{display:none!important}
  table.rvtab td.rvsub{display:block;grid-row:2;grid-column:2;font-size:13px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:700px){#q.card{padding-top:8px!important}}
/* inbox: hold to select, quick steps bar */
.ibxr{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.ibxr.pk{background:#e3eff2!important;box-shadow:inset 3px 0 0 var(--teal)}
.ibxpk{position:fixed;left:50%;transform:translateX(-50%);bottom:24px;z-index:990;display:flex;align-items:center;gap:4px;background:var(--ink);color:#fff;border-radius:999px;padding:6px 8px 6px 6px;box-shadow:0 12px 32px rgba(0,30,40,.35);width:min(560px,calc(100vw - 24px));box-sizing:border-box}
.ibxpk b{font-size:16px;margin-left:4px}
.ibxpk .fill{flex:1}
.ibxpk button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;color:#e6eef0;padding:6px 10px;border-radius:14px}
.ibxpk button svg{width:20px;height:20px}
.ibxpk button:hover{background:rgba(255,255,255,.1)}
.ibxpk .ibxpkx{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%;font-size:16px;background:rgba(255,255,255,.12)}
@media (max-width:700px){
  .ibxpk{bottom:calc(14px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}
  body.ibxpicking .subbar,body.ibxpicking .phfab,body.ibxpicking #ibxnew,body.ibxpicking .ibxrail{visibility:hidden}
}
/* new email: a writing view, not a form */
.cmx{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center}
.cmxbg{position:absolute;inset:0;background:rgba(0,30,40,.4)}
.cmxbox{position:relative;background:#fff;border-radius:18px;width:min(720px,calc(100vw - 32px));height:min(760px,calc(100vh - 64px));display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,30,40,.3);overflow:hidden}
.cmxtop{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 10px;border-bottom:1px solid var(--line)}
.cmxtop b{font-size:16px;color:var(--ink)}
.cmxx{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;color:var(--ink)}
.cmxx:hover{background:#f1f4f3}
.cmxsend .btn{height:40px;border-radius:999px 0 0 999px!important;padding:0 20px}
.cmxsend .ibxlbtn{border-radius:0 999px 999px 0!important;padding:0 12px;margin-left:1px}
.cmxf{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;border-bottom:1px solid var(--line);min-height:48px;box-sizing:border-box}
.cmxl{font-size:14px;color:var(--text2);width:28px;flex:none}
.cmxf input{all:unset;flex:1 1 120px;min-width:80px;font-size:16px;color:var(--ink);padding:6px 0}
.cmxsub input{font-weight:600}
.cmxf input::placeholder{color:#93a0a4;font-weight:400}
.cmxcc{all:unset;cursor:pointer;font-size:14px;color:var(--text2);padding:6px 8px;border-radius:8px}
.cmchip{display:inline-flex;align-items:center;gap:4px;background:#e8f1f3;color:var(--ink);border-radius:999px;padding:4px 4px 4px 12px;font-size:14.5px;max-width:100%}
.cmchip.bad{background:#fbe9e7;color:#9b2c1d}
.cmchip button{all:unset;cursor:pointer;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text2)}
.cmsug{position:absolute;left:12px;right:12px;top:100%;z-index:5;background:#fff;border-radius:14px;box-shadow:0 14px 36px rgba(0,30,40,.22);padding:6px;max-height:300px;overflow:auto}
.cmsug button{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:1px;width:100%;box-sizing:border-box;padding:9px 12px;border-radius:10px}
.cmsug button.on,.cmsug button:hover{background:#eef4f5}
.cmsug b{font-size:15px;font-weight:500;color:var(--ink)}
.cmsug span{font-size:13px;color:var(--text2)}
.cmxbody{flex:1;min-height:0;display:flex;flex-direction:column}
.cmxbody .ibxed{flex:1;display:flex;flex-direction:column-reverse;border:0!important;border-radius:0!important;min-height:0}
.cmxbody .ibxtxt{flex:1;overflow:auto;padding:14px 16px!important;font-size:16px;line-height:1.5;min-height:0;border:0!important;outline:0}
.cmxbody .ibxtb{border-top:1px solid var(--line);border-bottom:0!important;padding:4px 8px!important;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.cmxbody .ibxtb::-webkit-scrollbar{display:none}
.cmxbody .ibxtb [data-color],.cmxbody .ibxtb [data-color]+.ibxsep{display:none}
.cmxtools{display:flex;align-items:center;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.cmxtools button:not(.lnk){all:unset;cursor:pointer;font-size:14px;color:var(--ink);background:#f1f5f4;border-radius:999px;padding:9px 14px;white-space:nowrap}
.cmxtools button:disabled{opacity:.6}
.cmxtools .lnk{font-size:14px;white-space:nowrap}
@media (max-width:700px){
  .cmx{align-items:stretch}
  .cmxbg{display:none}
  .cmxbox{width:100vw;height:100dvh;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top)}
  .cmxtools{flex-wrap:nowrap;overflow-x:auto}
  .cmxtools .cmxrem{font-size:13.5px}
  body.cmxopen{overflow:hidden}
}
.cmx .cmxf[hidden],.cmx [hidden]{display:none!important}
.cmxtop .fill,.cmxtools .fill{flex:1}
.cmx .cmxf input{border:0!important;background:none!important;height:auto!important;min-height:0!important;padding:6px 0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;font-size:16px!important;width:auto!important}
.cmx .ibxtb .ibxtbw{white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:4px}
.cmx .ibxtb>*{flex:none}
.cmx .cmxbody .ibxtxt{max-height:none!important;height:auto!important;flex:1 1 auto!important}
.cmx .ibxtb button{width:auto!important;min-width:32px}
@media (max-width:700px){.cmx .ibxtbw span{display:none!important}.cmx .ibxtbw{padding:0 10px!important;font-size:17px!important}}
@media (max-width:700px){
  /* the tab bar folds into one round button */
  .subbar{right:auto!important;width:calc(100vw - 24px);box-sizing:border-box;padding:0 6px!important;overflow:hidden!important;gap:0!important;transition:width .34s cubic-bezier(.22,.9,.24,1),padding .34s cubic-bezier(.22,.9,.24,1)}
  .subbar .sbtabs{display:flex;align-items:center;gap:2px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;transition:opacity .2s ease .08s}
  .subbar .sbtabs::-webkit-scrollbar{display:none}
  .subbar .sbtog{all:unset;cursor:pointer;flex:none;width:0;height:44px;display:flex;align-items:center;justify-content:center;color:#fff;border-radius:50%;opacity:0;overflow:hidden;transition:width .34s cubic-bezier(.22,.9,.24,1),opacity .2s}
  .subbar.min{width:56px;padding:0 6px!important}
  .subbar.min .sbtabs{opacity:0;pointer-events:none;transition:opacity .12s}
  .subbar.min .sbtog{width:44px;opacity:1}
  /* inbox list: the boxes sit to the right of the folded button, on the same row */
  .ibx:not(.has) .ibxrail{left:76px!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;height:56px!important;transition:opacity .2s,transform .3s cubic-bezier(.22,.9,.24,1)}
  body:not(.sbmin) .ibx:not(.has) .ibxrail{opacity:0!important;transform:translateX(30px);pointer-events:none!important}
  .ibx:not(.has) #ibxnew{bottom:calc(80px + env(safe-area-inset-bottom))!important}
  body:has(.ibx:not(.has)) #main{padding-bottom:90px!important}
}
/* Sorting rules, Calls and Today's list sit with the boxes, in the same style */
.ibxrail .ibxtoday{margin-top:0!important;border-top:0!important;padding-top:revert}
@media (max-width:700px){
  .ibx:not(.has) .ibxrail .ibxtoday,.ibx:not(.has) .ibxrail .ibxtoday2{border:0!important;margin:0!important;padding:0 12px!important;font-size:15.5px!important;color:var(--text2)!important;display:flex!important;align-items:center;height:44px;flex:none!important;white-space:nowrap;text-decoration:none}
  .ibx:not(.has) .ibxrail .ibxtoday svg,.ibx:not(.has) .ibxrail .ibxtoday2 svg{display:none!important}
}
@media (min-width:701px){.ibxrail .ibxtoday,.ibxrail .ibxtoday2{font-size:inherit!important;padding-top:revert!important}}
@media (max-width:700px){
  /* folded tab button on the right, under the round + */
  .subbar{left:auto!important;right:12px!important}
  .subbar .sbtog{order:2}
  .phfab,.ibx:not(.has) #ibxnew{right:12px!important}
  .ibx:not(.has) .ibxrail{left:12px!important;right:76px!important}
  body:not(.sbmin) .ibx:not(.has) .ibxrail{transform:translateX(-30px)}
}
@media (max-width:700px){
  table.txtab td.txn,table.txtab td.txn *{font-size:15px!important;line-height:1.3!important}
  table.txtab td.txn .txd{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;-webkit-line-clamp:unset!important;max-width:100%}
  table.txtab td.txn{text-transform:none}
}
.fcmore{display:none}
@media (max-width:700px){
  /* categories: name and count, actions behind ⋯ */
  .fcrow{display:flex!important;align-items:center;gap:8px;min-height:52px;padding:4px 0 4px calc(var(--d,0) * 16px)!important;flex-wrap:nowrap!important}
  .fcrow .fcact{display:none!important}
  .fcrow .fcname{flex:1 1 auto;min-width:0;font-size:15px!important;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none}
  .fcrow .fcn{flex:none;font-size:12.5px!important}
  .fcrow .fctog{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px}
  .fcmore{all:unset;cursor:pointer;flex:none;display:flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;font-size:20px;color:var(--text2)}
  .fcmore:active{background:#eef3f2}
  .fcunc .fcnote{display:none}
  .fctool{display:flex;align-items:center;gap:10px}
  .fctool input{flex:1;min-width:0}
  .fctool .lnk{white-space:nowrap;flex:none}
  .remg .danger span{color:#b3261e}
}
@media (max-width:700px){.card.fccard{padding:8px 14px!important}.fcrow{min-height:48px}.fctool{padding:6px 0 8px!important}}
/* the old phone menu rule for "nav" must not catch navigation inside pages (e.g. finance settings tabs in landscape) */
@media (max-width:1100px){
  #main nav{position:static;left:auto;right:auto;top:auto;max-height:none;overflow:visible;z-index:auto;margin:0;background:none;box-shadow:none;border:0}
}
@media (max-width:700px){
  /* beneficiaries: one row each – name, then number and country; actions behind ⋯ */
  table.bntab{display:block;width:100%;min-width:0!important}
  table.bntab thead{display:none}
  table.bntab tbody{display:block}
  table.bntab tbody tr[data-id]{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
  table.bntab td{display:block;padding:0!important;border:0!important;min-width:0}
  table.bntab td:first-child{grid-row:1;grid-column:1;font-size:15px;color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  table.bntab td.nw{grid-row:2;grid-column:1;font-size:13px;color:var(--text2)}
  table.bntab td:nth-child(3){grid-row:1/3;grid-column:2;font-size:13px;color:var(--text2)}
  table.bntab td.bnact{grid-row:1/3;grid-column:3}
  table.bntab td.bnact .lnk{display:none}
  table.bntab td.bnact .fcmore{display:flex}
  .fctool .muted{white-space:nowrap;flex:none;font-size:13px}
}
.bntab .fcmore{display:none}
@media (max-width:700px){.bntab .fcmore{display:flex}}
@media (max-width:1100px){
  #main .fshead nav.fstabs{display:flex!important;flex-direction:row!important;flex-wrap:wrap}
  #main .fshead nav.fstabs a{display:inline-flex!important;width:auto!important}
}
@media (max-width:700px){
  /* entity picker in the top bar: just the flag */
  .hbar .nedge{display:flex;align-items:center;gap:8px}
  .hbar .entstrip.hdent{margin:0!important;display:flex;flex:none}
  .hbar .entstrip.hdent .entbtn{width:38px;height:38px;padding:0!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.35)!important;background:rgba(255,255,255,.1)!important;display:flex;align-items:center;justify-content:center;gap:0!important;min-height:0}
  .hbar .entstrip.hdent .entbtn>b,.hbar .entstrip.hdent .entbtn>small,.hbar .entstrip.hdent .entbtn>svg{display:none}
  .hbar .entstrip.hdent .entbtn .entcc{margin:0}
  .hbar .entstrip.hdent .entbtn .entcc svg{width:28px;height:28px;display:block}
  .hbar .entstrip.hdent .entmenu{position:fixed;left:12px;right:12px;top:calc(env(safe-area-inset-top) + 64px);min-width:0;z-index:990}
  .hbar .entstrip.hdent .entmenu button{min-height:48px;font-size:15px}
  /* the page's own icon buttons no longer need to share a row with the picker */
  body.pgtop #main>.phead:has(.hbtns){position:static!important}
}
.toolbar.txbar>#txx{order:1}
@media (max-width:700px){
  .toolbar.txbar>#txx{order:1;flex:none;width:40px!important;height:40px!important;padding:0!important;border-radius:50%!important}
}
/* the Claude writing mark */
svg.aix{flex:none;vertical-align:-3px;color:var(--teal)}
.cmxai,.ibxai,.ibxstartai{display:inline-flex!important;align-items:center;gap:6px}
.ibxstartai{width:auto!important;padding:0 14px!important;border-radius:999px!important;font-size:14px;font-weight:600;color:var(--teal)}
.ibxah b{display:inline-flex;align-items:center;gap:6px}
/* forward: the same recipient field as a new email */
.ibxfwd.cmxf{border:1px solid var(--line);border-radius:14px;margin:0 0 8px;background:#fff}
.ibxfwd.cmxf[hidden]{display:none}
.ibxfwd.cmxf input{all:unset;flex:1 1 120px;min-width:80px;font-size:16px;color:var(--ink);padding:6px 0}
@media (max-width:700px){
  /* field forms: a back arrow on the left, the title beside it, clear fields one under the other, Save fixed at the bottom */
  body:has(#main .fform),body:has(#main .rcpt){--fxsave:76px}
  body:has(#main .fform) :is(.subbar,.phfab),body:has(#main .rcpt) :is(.subbar,.phfab){display:none!important}
  #main .rchead{display:flex!important;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 12px!important;padding:0!important}
  #main .rchead #fback{all:unset;cursor:pointer;flex:none;order:-1;width:40px;height:40px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,40,50,.12);display:flex;align-items:center;justify-content:center;font-size:0;color:var(--ink)}
  #main .rchead #fback::before{content:"←";font-size:20px;line-height:1}
  #main .rchead h2{flex:1;min-width:0;margin:0!important;font:700 19px/1.25 Roboto,system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)}
  #main .rchead p{flex:1 0 100%;margin:4px 0 0!important;font-size:13px}
  .fform.card{padding:16px!important;margin-bottom:calc(var(--fxsave) + 20px)!important}
  .fform .grid{display:flex!important;flex-direction:column;gap:14px!important}
  .fform label,.rcpt .rcf{display:flex!important;flex-direction:column;gap:6px;font-size:13.5px!important;font-weight:500;color:var(--text2);margin:0!important;grid-column:auto!important}
  .rcpt .rcf{margin:0 0 14px!important}
  .rcpt .rcf>span{font-size:13.5px}
  :is(.fform,.rcpt) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%!important;box-sizing:border-box;min-height:48px;border-radius:12px!important;border:1px solid #c9d3d2!important;background:#fff!important;padding:0 14px!important;font-size:16px!important;color:var(--ink);box-shadow:none!important;margin:0!important}
  :is(.fform,.rcpt) textarea{padding:12px 14px!important;min-height:96px;line-height:1.4}
  :is(.fform,.rcpt) input[type=date]{-webkit-appearance:none;appearance:none;display:flex;align-items:center;line-height:46px;text-align:left}
  :is(.fform,.rcpt) input[type=date]::-webkit-date-and-time-value{text-align:left}
  :is(.fform,.rcpt) :is(input,select,textarea):focus{border-color:var(--teal)!important;outline:2px solid rgba(5,115,143,.18)}
  .fform .gpsrow{display:flex;flex-direction:column;gap:8px}
  .fform h3,.rcpt .rcl{font:600 15px Roboto,system-ui,sans-serif!important;color:var(--ink);margin:22px 0 10px!important;text-transform:none;letter-spacing:0}
  :is(.fform,.rcpt) .rcpick{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  :is(.fform,.rcpt) .rcpick .btn{height:48px;display:flex!important;align-items:center;justify-content:center;border-radius:12px!important;font-size:14.5px;padding:0 10px!important;margin:0}
  .fform .fkid{display:grid;grid-template-columns:1fr 76px 76px 32px;gap:6px;align-items:center;margin:0 0 8px}
  .fform .fkid select,.fform .fkid input{min-height:44px}
  /* Save: one wide button fixed above the bottom edge */
  .fform .savebar,.rcpt .rcsave{position:fixed!important;left:0;right:0;bottom:0;z-index:960;margin:0!important;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.96)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:0!important;border-top:1px solid var(--line)!important;border-radius:0!important;box-shadow:0 -6px 20px rgba(0,40,50,.08)!important;display:flex;flex-direction:column;gap:4px}
  .fform .savebar .btn,.rcpt .rcsave .btn{width:100%;height:52px;border-radius:999px!important;font-size:16px;font-weight:600}
  .fform .savebar .muted:empty{display:none}
  .fform .savebar .muted{font-size:12.5px;text-align:center}
  .rcpt form{padding-bottom:calc(var(--fxsave) + 20px)}
}
@media (max-width:700px){
  #main :is(.fform,.rcpt) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){border-radius:12px!important}
  .fform .savebar .btn,.rcpt .rcsave .btn{justify-content:center;text-align:center;display:flex;align-items:center}
}
/* a forwarded email is labelled as such */
.ibxfwdt{font-style:normal;font-weight:600;color:#8a5a00;background:#fdf1d8;border-radius:999px;padding:1px 8px;margin-right:2px;font-size:11.5px;white-space:nowrap}
.ibxm.fwd .ibxbody{border-left:3px solid #f0d9a6;padding-left:10px}
.ibxm[hidden]{display:none!important}
.ibxfwds{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.ibxfwdchip{all:unset;cursor:pointer;font-size:12.5px;font-weight:500;color:#7a5200;background:#fdf1d8;border-radius:999px;padding:4px 10px}
.ibxfwdchip.on{background:#f6dfa8}
.ibxm.fwd .ibxbody{border-left:0;padding-left:0}
/* voice training */
.vt{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;background:rgba(0,30,40,.4)}
.vtbox{background:var(--bg,#f8f4ee);width:min(980px,calc(100vw - 32px));height:min(820px,calc(100vh - 48px));border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 60px rgba(0,30,40,.3)}
.vttop{display:flex;align-items:center;gap:10px;padding:10px 14px 8px 10px;background:#fff}
.vttop b{font-size:16px;color:var(--ink)}
.vttop .fill{flex:1}
.vtpct{font-size:13.5px;font-weight:600;color:var(--teal)}
.vtbar{height:4px;background:#e7ecea}
.vtbar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),#7cb342);transition:width .6s cubic-bezier(.22,.9,.24,1)}
.vtbody{flex:1;overflow:auto;padding:16px 18px 28px}
.vtload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;color:var(--text2);font-size:14.5px}
.vtspin{width:28px;height:28px;border-radius:50%;border:3px solid #d9e4e3;border-top-color:var(--teal);animation:vtsp 0.9s linear infinite}
@keyframes vtsp{to{transform:rotate(360deg)}}
.vtmail{background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 1px 3px rgba(0,40,50,.08)}
.vtfrom{display:flex;align-items:center;gap:10px}
.vtfrom div{display:flex;flex-direction:column;min-width:0}
.vtfrom b{font-size:15px;color:var(--ink)}
.vtfrom small{font-size:12.5px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vtprev{margin:8px 0 0;font-size:14px;line-height:1.45;color:#3a4f55;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.vtq{font-weight:700;font-size:16px;color:var(--ink);margin:18px 2px 10px}
.vtpair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vtopt{all:unset;cursor:pointer;position:relative;display:block;background:#fff;border-radius:16px;padding:14px 14px 14px 46px;border:2px solid transparent;box-shadow:0 1px 3px rgba(0,40,50,.08);font-size:14.5px;line-height:1.5;color:#1d3a44;transition:transform .15s,border-color .15s,box-shadow .15s}
.vtopt:hover{border-color:#cfe0e3}
.vtopt.on{border-color:var(--teal);box-shadow:0 0 0 4px rgba(5,115,143,.12);transform:scale(.985)}
.vtopt:disabled:not(.on){opacity:.5}
.vtl{position:absolute;left:12px;top:12px;width:24px;height:24px;border-radius:50%;background:#eef4f5;color:var(--teal);font-weight:700;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.vtopt.on .vtl{background:var(--teal);color:#fff}
.vtalt{display:flex;justify-content:center;gap:28px;margin:14px 0 0}
.vtalt .lnk{font-size:14.5px}
.vtwhy{background:#fff;border-radius:16px;padding:12px 14px;margin-top:14px}
.vtwhy p{margin:0 0 8px;font-weight:600;color:var(--ink)}
.vtwhy>div{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.vtwhy [data-w]{all:unset;cursor:pointer;font-size:14px;padding:8px 14px;border-radius:999px;background:#f1f5f4;color:var(--ink)}
.vtwhy [data-w].on{background:var(--ink);color:#fff}
.vtwhy .btn{width:100%;height:46px;border-radius:999px!important;justify-content:center}
.vtdone{max-width:520px;margin:10px auto;text-align:center}
.vtbig{font-size:52px;font-weight:800;color:var(--teal);line-height:1.1}
.vtdone ul{list-style:none;padding:0;margin:16px 0;text-align:left;background:#fff;border-radius:16px;padding:6px 14px}
.vtdone li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
.vtdone li:last-child{border-bottom:0}
.vtdone li b{color:var(--ink);font-size:14.5px}
.vtdone li span{color:var(--text2);font-size:14px;text-align:right}
.vtdone li i{grid-column:1/-1;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--teal) var(--c),#e7ecea var(--c))}
.vtacts{display:flex;gap:10px;justify-content:center;margin-top:16px}
.vtacts .btn{min-width:140px;height:46px;border-radius:999px!important;justify-content:center}
.vtempty{text-align:center;color:var(--text2);margin-top:40px}
@media (max-width:700px){
  .vt{background:none;align-items:stretch}
  .vtbox{width:100vw;height:100dvh;border-radius:0;box-shadow:none;padding-top:env(safe-area-inset-top)}
  .vtpair{grid-template-columns:1fr}
  .vtbody{padding:14px 14px calc(28px + env(safe-area-inset-bottom))}
}
.aish .aistrain{font-size:13.5px;white-space:nowrap}
.vtph{max-width:600px;margin:0 auto}
.vtph .muted{margin:-4px 2px 14px;font-size:13.5px}
.vtchips,.vtsumph{display:flex;flex-wrap:wrap;gap:8px}
.vtsumph{justify-content:center;margin:0 0 14px}
.vtchip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:#fff;border:1.5px solid #d6e0df;border-radius:999px;padding:8px 14px 8px 10px;font-size:14.5px;color:var(--ink);transition:background .15s,border-color .15s}
.vtchip i{font-style:normal;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;background:#eef3f2;color:var(--text2)}
.vtchip small{font-size:11.5px;color:var(--text2)}
.vtchip.use{background:#e8f4ec;border-color:#7cb342}
.vtchip.use i{background:#5e9a2e;color:#fff}
.vtchip.avoid{background:#fbecea;border-color:#e2a59d;text-decoration:line-through;color:#8a3b31}
.vtchip.avoid i{background:#b3261e;color:#fff}
.vtadd{display:flex;gap:8px;margin:16px 0 0}
.vtadd input{flex:1;min-width:0;height:44px;border-radius:999px;border:1px solid #c9d3d2;padding:0 16px;font-size:16px}
.vtadd .btn{height:44px;border-radius:999px!important}
@media (max-width:700px){
  /* the + sits exactly in the middle, whatever text the button carries */
  .phfab{position:fixed!important;overflow:hidden;color:transparent!important;text-indent:-999px;white-space:nowrap}
  .phfab::after{position:absolute!important;left:50%!important;top:50%!important;margin:0!important;transform:translate(-50%,-50%)!important}
  .phfab>*{display:none!important}
}
@media (max-width:700px){
  /* cash flow, monthly: scrolls sideways with the names fixed on the left – same sizes as the quarterly view */
  .card.tscroll:has(table.cfs:not(.q)){overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding-left:8px!important;padding-right:0!important}
  table.cfs.st:not(.q) th,table.cfs.st:not(.q) td,table.cfs.bal th,table.cfs.bal td{padding:5px 6px!important;font-size:11.5px!important}
  table.cfs.st:not(.q) .fl,table.cfs.bal .fl{width:118px!important;min-width:118px!important;max-width:118px!important;white-space:normal!important;overflow-wrap:anywhere;position:sticky!important;left:0;z-index:2}
  table.cfs.st:not(.q) th.num,table.cfs.st:not(.q) td.num{min-width:58px}
  table.cfs.st:not(.q) tr.it td.fl{padding-left:12px!important}
  table.cfs.st:not(.q) tr.it.d2 td.fl,table.cfs.st:not(.q) tr.it.d3 td.fl{padding-left:18px!important}
  table.cfs.st:not(.q) .cft{width:10px}
  table.cfs.st .lbl{gap:2px}
}
@media (max-width:700px){
  /* nothing shows behind the fixed names; section titles stay readable; the same frame in both views */
  .card.tscroll:has(table.cfs){padding-left:0!important;padding-right:0!important}
  table.cfs.st .fl,table.cfs.bal .fl{box-shadow:1px 0 0 #dfe7e3}
  table.cfs.st th.fl,table.cfs.bal th.fl{background:#fff}
  table.cfs.st td.fl,table.cfs.st th.fl{padding-left:12px!important}
  table.cfs.st tr.it td.fl{padding-left:16px!important}
  table.cfs.st tr.it.d2 td.fl,table.cfs.st tr.it.d3 td.fl{padding-left:22px!important}
  table.cfs tr.sh td.fl{position:static!important;width:auto!important;max-width:none!important;min-width:0!important;box-shadow:none;background:#fff}
  table.cfs tr.sh .shl{position:sticky;left:12px;display:inline-block}
}
@media (max-width:700px){
  #main .card.tscroll:has(table.cfs),#main .card.tscroll:has(table.cfs:not(.q)),#main .card.tscroll:has(table.cfs.q){padding-left:0!important;padding-right:0!important}
}
@media (max-width:700px){.ibxstartai{white-space:nowrap;flex:none}.ibxstartb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* writing tools: one clean icon set, one size */
.ibxtb button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-width:36px;height:36px;border-radius:10px;color:var(--ink);font:600 15px Roboto,system-ui,sans-serif}
.ibxtb button svg.tbi{width:18px;height:18px;color:var(--ink)}
.ibxtb button:hover{background:#eef3f2}
.ibxtb .ibxsep{width:1px;height:20px;background:#dfe6e4;margin:0 4px;flex:none}
.ibxtb [data-color] span{width:14px;height:14px}
.ibxclip svg{width:14px;height:14px;vertical-align:-2px;color:var(--text2)}
.ibxremb{display:inline-flex!important;align-items:center;gap:6px}
.ibxremb svg.tbi{width:16px;height:16px;color:var(--teal)}
.cmxtools button:not(.lnk){display:inline-flex!important;align-items:center;gap:7px;height:40px;padding:0 16px!important;box-sizing:border-box;font-size:14.5px;font-weight:500}
.cmxtools svg{width:17px;height:17px;color:var(--teal)}
@media (max-width:700px){
  .cmx .ibxtb{gap:2px;padding:6px 10px!important}
  .cmx .ibxtb button{min-width:40px;height:40px}
  .cmx .ibxtbw{padding:0!important;width:40px}
}
.cmx .ibxtb [data-color],.cmx .ibxtb [data-color]+.ibxsep{display:none!important}
/* Send + schedule: one joined button everywhere */
.ibxsendg{display:inline-flex!important;align-items:stretch;gap:1px!important;flex:none;border-radius:999px;box-shadow:none;position:relative}
.ibxsendg>.btn{margin:0!important;height:40px!important;min-height:0!important;border-radius:0!important;box-shadow:none!important;display:inline-flex!important;align-items:center;justify-content:center}
.ibxsendg>.ibxlbtn::before{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.ibxsendg>.btn:disabled{opacity:.6}
html body .ibxsendg #ibxsend.btn,html body .ibxsendg #cmsend.btn{border-radius:999px 0 0 999px!important;height:40px!important}
html body .ibxsendg #ibxlater.ibxlbtn,html body .ibxsendg #cmlater.ibxlbtn{border-radius:0 999px 999px 0!important;height:40px!important;width:38px!important;aspect-ratio:auto!important;margin-left:0!important}
/* Send later: its own round button, a clear gap away from Send, before it */
html body .ibxsendg{gap:12px!important}
html body .ibxsendg #ibxsend.btn,html body .ibxsendg #cmsend.btn{border-radius:999px!important;order:2;padding:0 22px!important}
html body .ibxsendg #ibxlater.ibxlbtn,html body .ibxsendg #cmlater.ibxlbtn{order:1;border-radius:50%!important;width:40px!important;height:40px!important;padding:0!important;background:#fff!important;color:var(--teal)!important;border:1.5px solid #c9d8dc!important;display:inline-flex!important;align-items:center;justify-content:center}
html body .ibxsendg>.ibxlbtn::before{width:19px!important;height:19px!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2M9 2h6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat!important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M12 9v4l2.5 2M9 2h6'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat!important}
/* Send: a round paper-plane button; Send later: a round clock button – both icons exactly centred */
html body .ibxsendg{gap:14px!important;align-items:center}
html body .ibxsendg #ibxsend.btn,html body .ibxsendg #cmsend.btn{order:2;width:44px!important;height:44px!important;min-width:0!important;padding:0!important;border-radius:50%!important;font-size:0!important;color:#fff!important;position:relative;display:inline-block!important}
html body .ibxsendg #ibxsend.btn::after,html body .ibxsendg #cmsend.btn::after{content:"";position:absolute;left:50%;top:50%;width:21px;height:21px;transform:translate(-45%,-50%);background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M21 3 3 10.5l7 2.5 2.5 7z'/%3E%3Cpath d='M10 13 21 3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' stroke-linecap='round'%3E%3Cpath d='M21 3 3 10.5l7 2.5 2.5 7z'/%3E%3Cpath d='M10 13 21 3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
html body .ibxsendg #ibxlater.ibxlbtn,html body .ibxsendg #cmlater.ibxlbtn{order:1;position:relative;display:inline-block!important;width:40px!important;height:40px!important;padding:0!important;font-size:0!important}
html body .ibxsendg #ibxlater.ibxlbtn::before,html body .ibxsendg #cmlater.ibxlbtn::before{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0!important}
html body .ibxsendg #ibxlater.ibxlbtn,html body .ibxsendg #cmlater.ibxlbtn{width:44px!important;height:44px!important}
/* email overview table */
.ovw .ovbox{width:min(1500px,calc(100vw - 40px));height:calc(100vh - 40px)}
.ovn{font-size:13px}
.ovbar{display:flex;align-items:center;gap:10px;padding:10px 14px 0}
.ovbar input{flex:1;min-width:0;height:40px;border-radius:999px;border:1px solid #c9d3d2;padding:0 16px;font-size:15px;box-sizing:border-box}
.ovbar .dswitch{flex:none;margin:0}
.ovchips{display:flex;gap:6px;padding:10px 14px;overflow-x:auto;scrollbar-width:none;flex:none}
.ovchips::-webkit-scrollbar{display:none}
.ovchips button{all:unset;cursor:pointer;flex:none;font-size:13.5px;padding:7px 12px;border-radius:999px;background:#f1f5f4;color:var(--ink);white-space:nowrap}
.ovchips button i{font-style:normal;color:var(--text2);margin-left:4px;font-size:12px}
.ovchips button.on{background:var(--ink);color:#fff}
.ovchips button.on i{color:rgba(255,255,255,.7)}
.ovscroll{flex:1;min-height:0;overflow:auto;border-top:1px solid var(--line)}
table.ovt{width:100%;border-collapse:collapse;font-size:13px;min-width:1100px}
table.ovt th{position:sticky;top:0;z-index:2;background:#f7f9f8;text-align:left;font-weight:600;font-size:12px;color:var(--text2);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
table.ovt td{padding:9px 10px;border-bottom:1px solid #eef1ef;vertical-align:top;color:var(--ink)}
table.ovt tbody tr{cursor:pointer}
table.ovt tbody tr:hover td{background:#f6f9f8}
table.ovt td small{display:block;color:var(--text2);font-size:11.5px;margin-top:2px}
table.ovt td.ovwho{min-width:170px}
table.ovt td.ovwho b{font-weight:600}
table.ovt td.ovsub{min-width:200px;max-width:280px}
table.ovt td.ovwhy{min-width:180px;max-width:240px;color:#3a4f55}
table.ovt td.ovai{min-width:260px;max-width:380px;color:#3a4f55}
table.ovt td.nw{white-space:nowrap}
.ovb{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap;background:#eef3f2;color:var(--text2)}
.ovb.b-reply{background:#e3eef2;color:var(--teal)}
.ovb.b-follow{background:#fdf1d8;color:#8a5a00}
.ovb.b-signal{background:#efe8fb;color:#5b3fa0}
.ovb.b-done{background:#e8f4ec;color:#3d6b10}
.ovb.b-snoozed{background:#f1f1f1;color:#666}
.ovfixwhy{margin:0 4px 10px;font-size:13.5px;color:var(--text2)}
@media (max-width:700px){
  .ovw .ovbox{width:100vw;height:100dvh}
  .ovbar{flex-wrap:wrap}
  .ovbar .dswitch{width:100%}
  table.ovt{min-width:980px}
  table.ovt td.ovwho,table.ovt th:nth-child(2){position:sticky;left:0;z-index:1;background:#fff;box-shadow:1px 0 0 #e3ebe6}
  table.ovt th:nth-child(2){z-index:3;background:#f7f9f8}
}
@media (max-width:700px){
  /* overview on the phone: one card per conversation – no wide table, no fixed column (Safari flickers on those) */
  .ovw table.ovt{min-width:0!important;display:block}
  .ovw table.ovt thead{display:none}
  .ovw table.ovt tbody{display:block}
  .ovw table.ovt tr[data-c]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:12px 14px;border-bottom:1px solid #eef1ef}
  .ovw table.ovt td{display:block;padding:0!important;border:0!important;min-width:0!important;max-width:none!important;position:static!important;box-shadow:none!important;background:none!important}
  .ovw table.ovt td:nth-child(1){grid-row:1;grid-column:2;justify-self:end}
  .ovw table.ovt td.ovwho{grid-row:1;grid-column:1}
  .ovw table.ovt td.ovwho small{display:none}
  .ovw table.ovt td:nth-child(3),.ovw table.ovt td:nth-child(7),.ovw table.ovt td.ovact{display:none}
  .ovw table.ovt td.ovsub{grid-column:1/-1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ovw table.ovt td.nw{grid-column:1/-1;font-size:12px;color:var(--text2);display:flex;gap:6px}
  .ovw table.ovt td.nw small{display:inline;margin:0}
  .ovw table.ovt td.ovwhy{grid-column:1/-1;font-size:13px}
  .ovw table.ovt td.ovai{grid-column:1/-1;font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;background:#f6f9f8!important;border-radius:10px;padding:8px 10px!important;margin-top:4px}
  .ovw table.ovt td.ovai small{display:inline}
  .ovw .ovscroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
}
@media (max-width:700px){
  /* full-screen views: nothing behind shows through, and the page behind never scrolls */
  .cmx,.vt{background:#fff!important;overscroll-behavior:contain}
  html:has(body.cmxopen),body.cmxopen{overflow:hidden!important;height:100%;overscroll-behavior:none}
  body.cmxopen #app{pointer-events:none}
  .cmxbox,.vtbox{height:100%;max-height:100dvh}
  .cmx .cmxbody .ibxtxt,.ovscroll,.vtbody{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}
/* overview as a page */
.ovpage .ovbox{background:#fff;border-radius:16px;box-shadow:0 1px 3px rgba(0,40,50,.08);display:block}
.ovpage .ovtop{display:flex;align-items:center;gap:10px;padding:12px 14px 4px}
.ovpage .ovtop b{font-size:17px;color:var(--ink)}
.ovpage .ovtop .fill{flex:1}
.ovback{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;background:#f1f5f4;display:flex;align-items:center;justify-content:center;font-size:19px;color:var(--ink)}
.ovpage .ovscroll{overflow-x:auto;border-top:1px solid var(--line);border-radius:0 0 16px 16px}
.ovpage table.ovt th{top:0}
@media (min-width:701px){.ovpage .ovscroll{max-height:calc(100vh - 260px);overflow:auto}}
@media (max-width:700px){
  .ovpage .ovscroll{overflow:visible}
  .ovpage .ovbox{margin:0 -2px}
  .ovpage .ovbar .dswitch{width:auto}
  .ovpage .ovbar{flex-wrap:nowrap}
  .ovpage .ovbar input{min-width:0}
}
.ovpage,.ovpage .ovbox{max-width:100%;box-sizing:border-box;min-width:0}
.ovpage .ovbox{overflow:hidden}
@media (max-width:700px){
  .ovpage .ovbox{margin:0}
  .ovpage .ovbar{flex-wrap:wrap}
  .ovpage .ovbar input{flex:1 1 100%}
  .ovpage .ovbar .dswitch{width:100%;display:flex}
  .ovpage .ovbar .dswitch a{flex:1;text-align:center;justify-content:center}
  .ovpage .ovtop .ovn{margin-left:auto}
}
@media (max-width:700px){
  /* iPhone: a blurred see-through header that sticks to the top flickers (white frames) while the page bounces – solid colours, no bounce at the top */
  header,header.top{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#235b6c!important}
  .hbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .subbar,.ibx:not(.has) .ibxrail,.ibxpk,.fform .savebar,.rcpt .rcsave{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .subbar{background:#0f4a5a!important}
  .ibx:not(.has) .ibxrail{background:#fff!important}
  html,body{overscroll-behavior-y:none}

}
@media (max-width:700px){
  /* the list card was "sticky" (a desktop layout) – on the phone it pinned and released while scrolling, which jumped and flickered */
  .ibx:not(.has) .ibxcol,.ibx .ibxcol{position:static!important;top:auto!important;max-height:none!important;overflow:visible!important}
  .ibx .ibxlist{overflow:visible!important;max-height:none!important}
}
@media (max-width:700px){.mnav,.mnav .mpill{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media (max-width:700px){
  /* new email: compact header and fields */
  .cmx .cmxtop{padding:6px 10px 6px 6px!important;min-height:0}
  .cmx .cmxtop b{font-size:16px}
  .cmx .cmxtop .cmxx{width:40px;height:40px}
  html body .cmx .ibxsendg #cmsend.btn{width:40px!important;height:40px!important}
  html body .cmx .ibxsendg #cmlater.ibxlbtn{width:40px!important;height:40px!important}
  html body .cmx .ibxsendg{gap:10px!important}
  .cmx .cmxf{min-height:42px;padding:2px 16px!important;gap:4px}
  .cmx .cmxf input{font-size:16px!important;padding:8px 0!important}
  .cmx .cmxl{font-size:14px;width:26px}
  .cmx .cmchip{padding:2px 4px 2px 10px;font-size:14px}
  .cmx .cmxbody .ibxtxt{padding:12px 16px!important}
}
/* new email tools – one floating row, as in Outlook */
.cmx .cmxtools{display:flex;align-items:center;gap:10px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;border-top:0!important;background:linear-gradient(rgba(255,255,255,0),#fff 30%)}
.cmx .cmxpill{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:2px;height:52px;padding:0 6px;background:#fff;border-radius:999px;box-shadow:0 2px 12px rgba(0,40,50,.12);border:1px solid #edf1f0;overflow-x:auto;scrollbar-width:none}
.cmx .cmxpill::-webkit-scrollbar{display:none}
.cmx .cmxtools button.cmxt{all:unset;cursor:pointer;flex:none;height:44px;min-width:44px;padding:0 8px;box-sizing:border-box;border-radius:999px;display:inline-flex!important;align-items:center;justify-content:center;gap:5px;color:var(--ink);font-size:13.5px;font-weight:500;background:none!important}
.cmx .cmxtools button.cmxt:active,.cmx .cmxtools button.cmxt.on{background:#eef3f2!important}
.cmx .cmxtools button.cmxt svg{width:21px;height:21px;color:var(--ink)}
.cmx .cmaa{font:700 17px Georgia,serif;color:var(--ink)}
.cmx .cmxtools button.cmxai{all:unset;cursor:pointer;flex:none;width:52px;height:52px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;background:#fff;border:1px solid #edf1f0;box-shadow:0 2px 12px rgba(0,40,50,.12)}
.cmx .cmxtools button.cmxai svg{width:24px;height:24px;color:var(--teal)}
.cmx .cmxtools button.cmxai.busy svg{animation:vtsp 1s linear infinite}
.cmx .cmxbody .ibxtb{display:none!important}
.cmx.fmt .cmxbody .ibxtb{display:flex!important;border-top:1px solid var(--line)}
@media (min-width:701px){.cmx .cmxbody .ibxtb{display:flex!important}.cmx #cmfmt{display:none!important}}
.cmx .cmxtools button.cmxai{width:52px!important;height:52px!important;padding:0!important;flex:0 0 52px!important}
.cmx .cmxtools button.cmxt{padding:0 6px!important;height:44px!important}
/* reply on the phone: the same tools row as a new email */
@media (max-width:820px){
  .ibxreply.phc .ibxrb{display:flex!important;align-items:center;gap:10px!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;border-top:0!important;background:#fff}
  .ibxreply.phc .ibxrb>.fill{display:none}
  .ibxpill{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:2px;height:52px;padding:0 6px;background:#fff;border-radius:999px;box-shadow:0 2px 12px rgba(0,40,50,.12);border:1px solid #edf1f0;overflow-x:auto;scrollbar-width:none}
  .ibxpill::-webkit-scrollbar{display:none}
  .ibxpill button.cmxt{all:unset;cursor:pointer;flex:none;height:44px;min-width:40px;padding:0 6px;box-sizing:border-box;border-radius:999px;display:inline-flex!important;align-items:center;justify-content:center;gap:5px;color:var(--ink);font-size:13.5px;font-weight:500;background:none!important;border:0!important}
  .ibxpill button.cmxt:active,.ibxreply.fmt .ibxpill .ibxfmt{background:#eef3f2!important}
  .ibxpill button.cmxt svg{width:21px;height:21px;color:var(--ink)}
  .ibxpill .cmaa{font:700 17px Georgia,serif;color:var(--ink)}
  .ibxpill .ibxdisc svg{color:#8a3b31}
  .ibxreply.phc .ibxrb .ibxaiR{all:unset;cursor:pointer;flex:0 0 52px!important;width:52px!important;height:52px!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;background:#fff!important;border:1px solid #edf1f0!important;box-shadow:0 2px 12px rgba(0,40,50,.12)!important;padding:0!important}
  .ibxreply.phc .ibxrb .ibxaiR span{display:none!important}
  .ibxreply.phc .ibxrb .ibxaiR svg{width:24px;height:24px;color:var(--teal)}
}
@media (max-width:820px){
  .ibxpill button.cmxt span{white-space:nowrap}
  html body .ibxreply.phc .ibxrb .ibxaiR{background:#fff!important}
}
@media (max-width:700px){
  /* the same ✕ in both writing views */
  .cmx .cmxtop .cmxx{background:#f1f5f4;width:40px;height:40px}
}
html body .ibxrb #ibxai.ibxaiR{background:#fff!important;border:1px solid #edf1f0!important;box-shadow:0 2px 12px rgba(0,40,50,.12)!important}
/* templates and propose-times are not used: hidden in the writing tools */
#cmtpl,#cmcal,#ibxtplp,#ibxcalp,.ibxtb [data-tpl],.ibxtb [data-slots],.ibxtb [data-tpl]+[data-slots]{display:none!important}
.ibxtb .ibxsep:last-of-type{display:none}
@media (max-width:820px){
  /* reply formatting bar: like a new email – just above the tools, no colours */
  .ibxreply.phc .ibxed{display:flex!important;flex-direction:column-reverse!important}
  .ibxreply.phc .ibxed .ibxtxt{flex:1 1 auto}
  .ibxreply.phc .ibxtb{border-top:1px solid var(--line)!important;border-bottom:0!important;padding:6px 10px!important;gap:2px}
  .ibxreply.phc .ibxtb [data-color],.ibxreply.phc .ibxtb [data-color]+.ibxsep{display:none!important}
  .ibxreply.phc .ibxtb button{min-width:40px;height:40px}
}
/* reply recipients like a new email */
.ibxrto .cmxf{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:2px 16px;min-height:42px;border-bottom:1px solid var(--line);box-sizing:border-box}
.ibxrto .cmxf[hidden]{display:none}
.ibxrto .cmxf input{all:unset;flex:1 1 120px;min-width:80px;font-size:16px;color:var(--ink);padding:8px 0}
.ibxrto .cmxl{font-size:14px;color:var(--text2);width:26px;flex:none}
.ibxrto .cmxcc{all:unset;cursor:pointer;font-size:14px;color:var(--text2);padding:6px 8px}
.ibxrto .cmchip{padding:2px 4px 2px 10px;font-size:14px}
.ibxrto .cmsug{z-index:20}
.ibxreply.hasrto .ibxfwd{display:none!important}
.ibxreply.phc.mini .ibxrto{display:none}
#main .ibxrto .cmxf input{border:0!important;background:none!important;height:auto!important;min-height:0!important;padding:8px 0!important;border-radius:0!important;box-shadow:none!important;outline:0!important;font-size:16px!important;width:auto!important;flex:1 1 60px!important;min-width:40px!important}
#main .ibxrto .cmxcc{margin-left:auto}
@media (max-width:700px){
  /* the top bar (module, search, notifications, you) stays on screen while scrolling */
  #app header.top{position:fixed!important;top:0;left:0;right:0;z-index:900}
  #app{padding-top:var(--hh,57px)}
  body.cmxopen #app header.top{z-index:900}
}
@media (max-width:700px){
  body:has(.ibx.has) #app header.top{display:none!important}
  body:has(.ibx.has) #app{padding-top:0}
}
/* recipients: one line, "+2" for the rest */
.cmxf.folded{flex-wrap:nowrap!important;overflow:hidden}
.cmxf.folded .cmchip[hidden]{display:none!important}
.cmxf.folded .cmchip{flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cmxf.folded input{flex:1 1 0!important;min-width:10px!important;width:10px!important}
.cmmore{all:unset;cursor:pointer;flex:none;font-size:13.5px;font-weight:600;color:var(--teal);background:#e8f1f3;border-radius:999px;padding:5px 10px}
.cmxf .cmxcc[hidden],.ibxrto .cmxcc[hidden]{display:none!important}
.cmxf .cmxcc{flex:none}
/* tools grouped close together; Claude in its own warm colour with its name */
.cmx .cmxpill,.ibxpill{flex:0 1 auto!important;justify-content:flex-start!important;gap:4px!important;padding:0 8px!important}
.cmx .cmxtools,.ibxreply.phc .ibxrb{justify-content:space-between!important}
html body .cmx .cmxtools button.cmxai,html body .ibxrb #ibxai.ibxaiR{width:auto!important;flex:0 0 auto!important;height:52px!important;padding:0 18px 0 16px!important;border-radius:999px!important;background:#c96442!important;border:0!important;color:#fff!important;gap:7px!important;font-weight:600;font-size:15px;box-shadow:0 4px 14px rgba(201,100,66,.35)!important}
html body .cmx .cmxtools button.cmxai svg,html body .ibxrb #ibxai.ibxaiR svg{color:#fff!important;width:20px;height:20px}
html body .cmx .cmxtools button.cmxai span,html body .ibxrb #ibxai.ibxaiR span{display:inline!important;color:#fff}
html body .ibxstartai{background:#c96442!important;color:#fff!important;border:0!important}
html body .ibxstartai svg,html body .ibxstartai span{color:#fff!important}
.cmxf.folded .cmchip{flex:0 0 auto}
.cmxf.folded .cmchip:not([hidden]):nth-last-of-type(1){flex:0 1 auto}
#main .ibxrto .cmxf.folded input,.cmx .cmxf.folded input{flex:1 1 0!important;min-width:4px!important;width:4px!important;padding:8px 0!important}
/* Claude: the warm round button, icon only */
html body .cmx .cmxtools button.cmxai,html body .ibxrb #ibxai.ibxaiR{width:52px!important;padding:0!important;border-radius:50%!important;justify-content:center}
html body .cmx .cmxtools button.cmxai span,html body .ibxrb #ibxai.ibxaiR span{display:none!important}
html body .cmx .cmxtools button.cmxai svg,html body .ibxrb #ibxai.ibxaiR svg{width:23px;height:23px}
/* the closed reply bar: the same round Claude button, icon only */
html body .ibxstartai{width:52px!important;height:52px!important;min-width:0!important;flex:0 0 52px!important;padding:0!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(201,100,66,.35)!important}
html body .ibxstartai span{display:none!important}
html body .ibxstartai svg{width:23px;height:23px}
html body .ibxstartb{flex:1 1 auto!important}
.filesheet .fsnote{margin:10px 6px 0;font-size:12.5px;color:var(--text2);text-align:center}
/* admin – a person's activity */
.uacth{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.uactp a{cursor:pointer;font-size:12px}
.uactsum{margin:4px 0 10px;line-height:1.5}
.uactbars{display:flex;align-items:flex-end;gap:2px;height:56px;padding:4px 0;border-bottom:1px solid var(--line,#e3e3e3);margin-bottom:14px}
.uactbars i{flex:1;min-width:2px;background:var(--teal);border-radius:2px 2px 0 0;opacity:.85}
.uactbars i.z{background:var(--line,#ddd);opacity:1}
.uactgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.uactgrid h4,#uact h4{margin:10px 0 6px;font-size:13px}
#uact td{white-space:nowrap}#uact td.num{text-align:right}
@media (max-width:640px){.uactgrid{grid-template-columns:1fr}}
/* dictation */
.cmxmic{display:inline-flex;align-items:center;gap:3px}
.cmx .cmxtools button.cmxt.cmxmic span,.ibxpill button.cmxt.cmxmic span{font-size:10.5px;font-weight:700;line-height:1;color:inherit;opacity:.65}
.cmx .cmxtools button.cmxt.cmxmic.rec,.ibxpill button.cmxt.cmxmic.rec{color:#fff!important;background:#c0392b!important;animation:micp 1.4s ease-in-out infinite}
.cmxmic.rec span{opacity:1!important}
@keyframes micp{0%,100%{box-shadow:0 0 0 0 rgba(192,57,43,.45)}50%{box-shadow:0 0 0 6px rgba(192,57,43,0)}}
@media (prefers-reduced-motion:reduce){.cmxmic.rec{animation:none}}
.dictlive{color:var(--muted,#8a959b)}
.dictpick{position:fixed;z-index:9999;background:var(--white,#fff);border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,.18);padding:6px;display:flex;flex-direction:column;min-width:170px}
.dictpick button{all:unset;cursor:pointer;padding:9px 12px;border-radius:9px;font-size:14px;color:var(--teal)}
.dictpick button b{display:inline-block;width:26px}
.dictpick button.on{background:var(--teal);color:#fff}
.cmx .cmxtools button.cmxt.cmxmic.rec svg,.ibxpill button.cmxt.cmxmic.rec svg{color:#fff!important;stroke:#fff!important}
/* Clients and Events: the Overview tab names the page on desktop, so no big title */
@media (min-width:901px){body[data-view=companies] #main>.phead h2,body[data-view=events] #main>.phead h2,body[data-view=companies] #main>.phead .ctx,body[data-view=events] #main>.phead .ctx{display:none}
  /* Finance: the tab already names the page */
  :is(body[data-view=budget],body[data-view=cashflow],body[data-view=transactions],body[data-view=inbox],body[data-view=finset],body[data-view=fincat]) #main>.phead h2{display:none}
  :is(body[data-view=companies],body[data-view=events],body[data-view=budget],body[data-view=cashflow],body[data-view=transactions],body[data-view=inbox],body[data-view=finset],body[data-view=fincat]) #main>.phead:not(:has(.hbtns,button,.btn,.ctx)){display:none}}
/* admin – AI usage */
.aiper a{cursor:pointer}
.aisum{margin:0 0 14px;line-height:1.5}
.aibars{display:flex;align-items:flex-end;gap:10px;height:150px;padding:0 2px 0;border-bottom:1px solid var(--line2,#e3e3e3);margin-bottom:6px}
.aibar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;position:relative;min-width:0}
.aibar i{display:block;width:min(46px,80%);background:var(--teal);border-radius:4px 4px 0 0}
.aibar i.z{background:var(--line2,#ddd)}
.aibar .v{font-size:11px;color:var(--muted,#6b7a80);margin-bottom:3px;white-space:nowrap}
.aibar .m{position:absolute;bottom:-20px;font-size:11.5px;color:var(--muted,#6b7a80)}
.aiu .aigrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.aiu h4{margin:14px 0 6px;font-size:13px}
.aiu td.num,.aiu th.num{text-align:right;white-space:nowrap}
.aifoot{font-size:12px;margin:16px 0 8px}
.aiprices summary{cursor:pointer;font-size:13px;color:var(--teal);font-weight:500}
.aiscroll{overflow-x:auto;max-width:100%}
.aiu input{width:72px!important;min-width:0!important;flex:none!important;text-align:right;padding:5px 8px!important;height:auto!important}
.aiu table td:last-child{white-space:normal}
.aifx{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.aifx label{display:inline-flex!important;align-items:center;gap:8px;flex-direction:row!important;margin:0}
@media (max-width:640px){.aiu .aigrid{grid-template-columns:1fr}.aibars{gap:4px}.aibar .v{font-size:9.5px}}
.hrbarl.other{opacity:.28}
@media (min-width:901px){#main .phead h2.h2tab,#main .phead h1.h2tab{display:none}#main .phead.phtab{display:none}}
/* clients – contracts */
.ctrup h3{margin:0 0 8px}
.ctrow{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:minmax(160px,1.4fr) auto auto auto auto;gap:14px;align-items:center;width:100%;padding:9px 6px;border-top:1px solid var(--line2,#e8e8e8)}
.ctrow:first-of-type{border-top:0}.ctrow:hover{background:var(--bg2,#f6f4ef)}
.ctwarn{color:#b7791f;display:inline-flex;vertical-align:-2px}
.ctcheck{display:flex;gap:10px;align-items:center;background:#fdf6e7;color:#7a5512;border-radius:12px;padding:10px 12px;margin:0 0 14px;font-size:13.5px}
.ctcheck span{flex:1}
.ctkids tr{cursor:pointer}.ctkids td.num{text-align:right;white-space:nowrap}
#savebar .btn svg,.savebar .btn svg{vertical-align:-3px;margin-right:6px}
.chip.warn{background:#fdecc8;color:#7a5512}
@media (max-width:640px){.ctrow{grid-template-columns:1fr auto;gap:4px 10px}.ctrow>span:nth-child(3){display:none}}
.ctgrp>summary{list-style:none}.ctgrp>summary::-webkit-details-marker{display:none}
.ctgrp[open]>summary .ctmore{visibility:hidden}
.ctgrp>.ctrow{padding-left:18px}
.ctrup .ctrow{grid-template-columns:minmax(160px,1.4fr) 130px 140px 110px 130px}
.ctrow .chip{justify-self:start}
@media (max-width:640px){.ctrup .ctrow{grid-template-columns:1fr auto;gap:2px 10px}.ctrup .ctrow>span:nth-child(3),.ctrup .ctrow>span:nth-child(5),.ctrup .ctmore{display:none}.ctrup .ctrow>.muted{grid-column:1}}
.chip.info{background:#e3eef3;color:#0f5a73}
.grempty{padding:6px 2px}
@media (min-width:901px){#main .phead>div:has(>h2.h2tab:only-child){display:none}#main .phead:has(>div>h2.h2tab:only-child){justify-content:space-between}}
@media (max-width:640px){#grl td .chip{display:table;margin-top:4px}}
/* ===== desktop, in the phone layout's spirit: round + in the corner, pill buttons, compact rows ===== */
@media (min-width:701px){
  .phfab{position:fixed!important;right:32px!important;bottom:56px!important;z-index:960!important;width:56px!important;height:56px!important;min-height:0!important;min-width:0!important;padding:0!important;margin:0!important;border-radius:50%!important;font-size:0!important;color:transparent!important;background:var(--teal)!important;border:0!important;box-shadow:0 8px 22px rgba(0,60,80,.28)!important;display:flex!important;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}
  .phfab:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,60,80,.32)!important}
  .phfab>*{display:none!important}
  .phfab::after{content:"";width:22px;height:22px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v16M4 12h16' stroke='black' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
  body:has(.aisheet,.modal-bg,.mbg,dialog[open],.cmx) .phfab{display:none!important}
  #main .phead.dkempty{height:0;min-height:0;margin:0!important;padding:0!important;overflow:visible;border:0}
  #main .phead.dkempty>*:not(:has(.phfab)):not(.phfab){display:none!important}
  #main .phead.dkempty :is(.hbtns,div,span)>*:not(.phfab):not(:has(.phfab)){display:none!important}
  /* one shape for buttons: pills, and circles for icon buttons */
  .btn{border-radius:999px!important}
  .btn.ibtn,.btn.sm.ibtn{border-radius:50%!important}
  .phead .btn:not(.phfab){height:38px;min-height:0;padding:0 16px;font-size:13.5px;white-space:nowrap}
  .phead .btn.ibtn:not(.phfab){width:38px;padding:0}
  .btn.sec.sm:is([data-y],[data-m],[data-step]){border-radius:50%!important;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}
  .yrsw .btn.sec.sm{border-radius:50%!important;width:32px;height:32px;padding:0}
  .yrsw .btn.sec.sm[data-y="0"]{width:auto;padding:0 12px;border-radius:999px!important}
  /* tighter page rhythm */
  #main>.phead{margin-bottom:12px}
  #main>.card,#main>section{margin-bottom:12px}
  .card{border-radius:16px}
  table.st td{padding-top:9px;padding-bottom:9px}
}

#ctrup .card{margin-bottom:12px}
/* the entity picker in the top bar on the computer: the round flag, like on the phone */
@media (min-width:701px){
  .hbar .htools .entstrip.hdent{margin:0 2px 0 0!important;display:flex;flex:none;position:relative;padding:0!important;background:none!important;border:0!important}
  .hbar .htools .entstrip.hdent .entbtn{width:38px;height:38px;min-height:0;padding:0!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.35)!important;background:rgba(255,255,255,.1)!important;display:flex;align-items:center;justify-content:center;box-shadow:none!important}
  .hbar .htools .entstrip.hdent .entbtn>b,.hbar .htools .entstrip.hdent .entbtn>small,.hbar .htools .entstrip.hdent .entbtn>svg{display:none}
  .hbar .htools .entstrip.hdent .entbtn .entcc{margin:0}
  .hbar .htools .entstrip.hdent .entbtn .entcc svg{width:30px;height:30px;display:block}
  .hbar .htools .entstrip.hdent .entmenu{position:absolute;right:0;left:auto;top:46px;min-width:230px;z-index:990}
}
/* titles: Roboto everywhere (no Alexandria Black, no capitals) – page titles only on detail pages, modal titles and card titles */
#main h1,#main h2,.modal h2,.mbox h2,.mhead h2,.mhead h1,.cmx h2,.aisheet h2{font-family:var(--body)!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;color:var(--ink)}
#main .phead h2,#main .phead h1{font-size:22px!important;line-height:1.25}
.mhead h2,.modal h2,.mbox h2{font-size:20px!important;line-height:1.25}
#main h3{font-family:var(--body)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important}
.menu .mg{font-family:var(--body)!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important;font-size:12.5px!important}
.mhead{display:block}
.mhead .ctx{margin:4px 0 0}
/* clients overview: renewals and the list fit one screen on the computer */
@media (min-width:701px){
  .ctrup{padding:12px 16px!important}
  .ctrup h3{font-size:15px!important;margin:0 0 4px!important}
  .ctrup .ctrow{padding:5px 6px;font-size:13.5px;grid-template-columns:minmax(160px,1.4fr) 130px 140px 110px 130px}
  .ctrup .ctrow .chip{padding:2px 8px;font-size:11.5px}
  body[data-view=companies] table.st td{padding-top:5px;padding-bottom:5px}
  body[data-view=companies] .hacell{padding:1px 8px}
}
/* top-level pages never show a big title on the computer (the tab names the page) – only detail pages, which have a back link */
@media (min-width:701px){#main:not(:has(> a.back)) .phead:not(.card .phead):not(.mbox .phead) > div > :is(h1,h2),#main:not(:has(> a.back)) .phead:not(.card .phead) > :is(h1,h2){display:none!important}}
/* no Alexandria Black anywhere in the interface: titles, header labels, section labels */
#app h1,#app h2,#app h3,#app h4,.modal h1,.modal h2,.modal h3,body>div h2,body>div h3{font-family:var(--body)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600!important}
.hbar .htitle{font-family:var(--body)!important;font-weight:600!important;font-size:15px!important;letter-spacing:0!important;text-transform:none!important;color:#fff!important}
legend,.todo b,.demo b,.pcard .pname,.ppt b,.ppn,.calm,.sgroups a,.leaflet-popup-content b{font-family:var(--body)!important;text-transform:none!important;letter-spacing:0!important}
/* the round + : the cross exactly in the middle, whatever the button held before */
.phfab::after{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;margin:0!important}
/* computer: page actions always on the right once the title is gone */
@media (min-width:701px){
  #main:not(:has(> a.back)) .phead:not(.card .phead) > div:first-child:not(:has(> :not(h1,h2))){display:none!important}
  #main .phead > .hbtns,#main .phead > .ibgroup,#main .phead > :is(button,a.btn):last-child{margin-left:auto}
  #main .mapphead,#main .phead:has(.mphl){justify-content:flex-end}
}
@media (min-width:701px){
  .mvbtns{margin-left:auto!important;display:inline-flex;gap:8px;align-items:center;flex:none}
  .txbar .mvsum{order:9;margin-left:auto;white-space:nowrap;font-size:13px}
  .txbar .mvsum ~ .mvbtns,.txbar .mvbtns{margin-left:12px!important}
  .txbar:has(.mvsum) .mvbtns{order:10}
  .fshead > h2{display:none!important}
  .ibsteps{display:flex;align-items:center}
}
@media (min-width:701px){ .txhead:has(> .txbulk[hidden]):not(:has(> .txsum)),.txhead:has(> .txbulk:empty):not(:has(> .txsum)){display:none} }
.txbar .mvsum{align-self:center}
@media (min-width:701px){.txbar{align-items:center!important}.txbar .mvsum{margin:0!important;padding:0!important;line-height:38px!important;height:38px;display:inline-flex!important;align-items:center}}
/* page switch: the page as last seen stays on screen while the fresh one is drawn underneath */
.pgov{position:absolute;z-index:40;pointer-events:none;overflow:hidden;background:var(--cream,#f8f4ec);box-sizing:border-box}
/* invoices: the document gets the room – narrower list, wider viewer fitted to its width */
@media (min-width:1101px){
  .ibgrid{grid-template-columns:minmax(220px,280px) minmax(0,1fr)!important}
  .ibdg{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr)!important}
  .ibpv iframe{height:calc(100vh - 230px)!important;min-height:520px}
  .ibpv img{max-height:calc(100vh - 230px)!important}
}
/* invoices: the form, tidier – one height for every field, amount/currency/money on one line, actions on the right */
.ibf .grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px 12px!important}
.ibf .grid>label{grid-column:span 3;margin:0!important;display:flex;flex-direction:column;gap:4px;min-width:0}
.ibf .grid>label.full,.ibf .grid>.full{grid-column:1/-1}
.ibf .grid>label:has([data-k=amount]),.ibf .grid>label:has([data-k=currency]),.ibf .grid>label:has([data-k=direction]){grid-column:span 2}
.ibf .grid:not(:has([data-k=direction]))>label:has([data-k=amount]),.ibf .grid:not(:has([data-k=direction]))>label:has([data-k=currency]){grid-column:span 3}
.ibf .grid>label>span:first-child,.ibf .grid>label{font-size:12.5px;color:var(--muted,#6b7a80);font-weight:500}
.ibf input,.ibf select{height:40px!important;min-height:0!important;font-size:14px!important;border-radius:999px!important;padding:0 14px!important;color:var(--ink)}
.ibf .catbtn{height:40px!important;min-height:0!important;padding:0 14px!important;border-radius:999px!important;display:flex!important;align-items:center;gap:8px;width:100%;overflow:hidden;text-align:left}
.ibf .catbtn b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:none;max-width:60%}
.ibf .catbtn small{font-size:12px;color:var(--muted,#6b7a80);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ibf .bnhint:not([hidden]){display:block;margin-top:4px;font-size:12px;line-height:1.35;color:#8a5a00}
.ibf .bnhint a,.ibf .bnhint button{font-size:12px}
.ibact{display:flex!important;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;margin:14px 0 6px!important}
.ibact .btn{height:40px;padding:0 18px}
.ibact .btn:not(.sec){order:9}
.ibh{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.ibh h3{font-size:18px!important;margin:0 0 2px!important}
.ibh .hbtns .btn{height:34px;padding:0 14px;font-size:13px}
.ibtl{border-top:1px solid var(--line2,#e3e3e3);margin-top:8px;padding-top:10px}
.ibtl h4{font-size:13px;margin:0 0 6px;color:var(--muted,#6b7a80);font-weight:600}
.ibnew{display:flex;gap:8px;align-items:flex-end}
.ibnew textarea{flex:1;border-radius:16px!important;min-height:44px}
/* clients overview: compact rows, short names, narrow figures */
@media (min-width:701px){
  #cl table.st td,#cl table.st th{padding:5px 8px!important;line-height:1.3;white-space:nowrap}
  #cl table.st td:not(:first-child),#cl table.st th:not(:first-child){width:1%}
  #cl .cyname{display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #cl .cyname b{font-weight:600}
  #cl td.yc,#cl th.yc{min-width:64px;text-align:right}
  #cl .hacell{padding:1px 8px;min-height:0;line-height:1.5}
  #cl .chip{padding:1px 9px}
}
#cl table.st td{vertical-align:middle!important}
.ibf .catbtn{flex-direction:row!important;justify-content:flex-start!important}
.ibf .catbtn b:only-child{max-width:100%}
.ibf .catbtn small{display:inline!important;margin:0!important}
.ibf select{padding:0 6px 0 12px!important}
.ibf .grid>label:has([data-k=amount]) input{padding:0 10px 0 14px!important}
.ibf #ibcat .catbtn{height:auto!important;min-height:40px!important;padding:6px 16px!important;border-radius:20px!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important}
.ibf #ibcat .catbtn b{max-width:100%!important;white-space:normal}
.ibf #ibcat .catbtn small{display:block!important;white-space:normal}
/* invoices form, round 2: one type style for every field, quieter labels, compact rhythm */
.ibf .grid{gap:12px 12px!important}
.ibf .grid>label>span:first-child,.ibf .grid>label{font-size:12px!important;font-weight:500!important;color:var(--muted,#6b7a80)!important;letter-spacing:0}
.ibf input,.ibf select,.ibf .catbtn{height:38px!important;font-family:var(--body)!important;font-size:14px!important;font-weight:400!important;color:var(--ink)!important;background:#fff!important;border:1px solid var(--line2,#d5dde0)!important;box-shadow:none!important}
.ibf .catbtn b{font-family:var(--body)!important;font-weight:500!important;font-size:14px!important;color:var(--ink)}
.ibf .catbtn small{font-family:var(--body)!important;font-size:12px!important}
.ibf #ibcat .catbtn{height:auto!important;min-height:38px!important;padding:5px 16px!important;border-radius:19px!important}
.ibf input:focus,.ibf select:focus,.ibf .catbtn:focus{border-color:var(--teal)!important;outline:none;box-shadow:0 0 0 3px rgba(5,115,143,.12)!important}
.ibf .bnhint:not([hidden]){display:block;margin-top:5px;font-size:12px!important;line-height:1.4;color:#8a5a00}
.ibf .bnhint br{display:none}
.ibf .bnhint button.lnk,.ibf .bnhint a{font-size:12px!important;margin-left:4px}
.ibh .hbtns{gap:6px}
.ibh .hbtns .btn{height:32px!important;padding:0 12px!important;font-size:12.5px!important}
.ibh #ibdel{border-color:transparent!important;background:none!important;color:#b3261e!important}
.ibact{margin:16px 0 4px!important}
.ibact .btn{height:38px!important;font-size:14px!important;padding:0 18px!important}
.ibtl{margin-top:14px!important}
.ibtl h4{font-size:12px!important;text-transform:none}
.ibnew textarea{font-size:13.5px!important;border-radius:14px!important;min-height:40px!important;padding:9px 14px!important}
.ibnew .btn{height:36px!important}
.ibf .bnhint button.lnk{display:inline!important;padding:0!important;margin:0 0 0 2px!important;width:auto!important;height:auto!important;min-height:0!important;vertical-align:baseline}
/* invoices form, round 3: a quiet property list – label on the left, the value on the right, no boxes until you edit */
#main form.ibf .grid,body form.ibf fieldset>.grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important}
form.ibf .grid>label,form.ibf .grid>label.full,form.ibf .grid>label:has([data-k]){grid-column:1/-1!important;display:grid!important;grid-template-columns:128px minmax(0,1fr)!important;align-items:center!important;column-gap:12px!important;row-gap:2px!important;padding:3px 0!important;margin:0!important;border-bottom:1px solid var(--line2,#e6ebec);min-height:44px}
.ibf .grid>label>span:first-child{font-size:12.5px!important;color:var(--muted,#6b7a80)!important;font-weight:500!important;align-self:center}
.ibf .grid>label>:not(span:first-child){grid-column:2}
.ibf input,.ibf select,.ibf .catbtn{height:36px!important;border:1px solid transparent!important;background:transparent!important;border-radius:8px!important;padding:0 10px!important;font-size:14px!important;font-weight:400!important;color:var(--ink)!important;box-shadow:none!important;width:100%;font-family:var(--body)!important}
.ibf input:hover:not(:disabled),.ibf select:hover:not(:disabled),.ibf .catbtn:hover:not(:disabled){background:var(--sand,#f3efe6)!important}
.ibf input:focus,.ibf select:focus,.ibf .catbtn:focus{background:#fff!important;border-color:var(--teal)!important;box-shadow:0 0 0 3px rgba(5,115,143,.12)!important;outline:none}
.ibf input:disabled,.ibf select:disabled,.ibf .catbtn:disabled{opacity:1;color:var(--ink)!important;cursor:default}
.ibf input[type=date]::-webkit-calendar-picker-indicator{opacity:.45}
.ibf .catbtn{display:flex!important;align-items:center!important}
.ibf .catbtn b{font-weight:500!important}
.ibf #ibcat .catbtn{height:auto!important;min-height:36px!important;padding:5px 10px!important;border-radius:8px!important;flex-direction:column!important;align-items:flex-start!important}
.ibf #ibcat .catbtn small{font-size:12px!important;color:var(--muted,#6b7a80)!important}
.ibf input[data-k=amount]{font-variant-numeric:tabular-nums;font-weight:500!important}
.ibf .grid>label>.muted{grid-column:2;font-size:12px;padding-left:10px}
.ibf .bnhint:not([hidden]){grid-column:2;padding-left:10px;margin:0 0 4px!important}
.ibf .ibdir{justify-self:start;margin-left:6px}
.ibf .ibdir a{cursor:pointer}
.ibf .miss{background:#fdecea!important;border-color:#e5a29c!important}
.ibf .ibfx{border-bottom:0;padding-top:8px}
/* the send action: a round paper plane, like sending an email */
.ibact{justify-content:flex-end!important}
.ibact .ibsend{width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;display:inline-flex!important;align-items:center;justify-content:center}
form.ibf .grid>label,form.ibf .grid>label.full,form.ibf .grid>label:has([data-k]){min-height:36px!important;padding:1px 0!important;grid-template-columns:118px minmax(0,1fr)!important}
form.ibf input,form.ibf select,form.ibf .catbtn{height:32px!important}
form.ibf .grid>label.ibamt{grid-template-columns:118px minmax(0,1fr) 92px!important}
form.ibf .grid>label.ibamt>select{grid-column:3!important}
form.ibf .grid>label.ibamt>.muted{grid-column:2/-1!important}
form.ibf #ibcat .catbtn{padding:3px 10px!important}
form.ibf #ibcat .catbtn b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
form.ibf #ibcat .catbtn small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ibact{margin:10px 0 2px!important}
/* invoices: comments and history folded into one line until needed, with a count */
details.ibtl{border-top:1px solid var(--line2,#e6ebec);margin-top:12px!important;padding-top:8px!important}
details.ibtl>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--teal);padding:6px 12px 6px 10px;border-radius:999px;user-select:none}
details.ibtl>summary::-webkit-details-marker{display:none}
details.ibtl>summary:hover{background:var(--sand,#f3efe6)}
details.ibtl[open]>summary{margin-bottom:6px}
.ibcnt{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#c98a12;color:#fff;font-size:11.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
details.ibtl .ibev{padding:6px 2px;border-bottom:1px solid var(--line2,#eef1f2);font-size:13px}
details.ibtl .ibev p{margin:3px 0 0}
details.ibtl .ibnew{margin-top:8px}
details.ibtl .ibnew textarea{min-height:36px!important;resize:vertical}
/* inbox: the boxes only; the tools fold under "More" */
.ibxtools{margin-top:8px;border-top:1px solid var(--line2,#e3e6e6);padding-top:6px}
.ibxtools>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;color:var(--muted,#6b7a80);font-size:14px}
.ibxtools>summary::-webkit-details-marker{display:none}
.ibxtools>summary:hover{background:rgba(0,0,0,.04)}
.ibxtools[open]>summary{color:var(--ink)}
.ibxtools>a{font-size:13.5px!important}
.ibx.mini .ibxtools>summary span{display:none}
/* invoices form, right column: every value starts on the same line, same weight */
form.ibf input,form.ibf select,form.ibf .catbtn,form.ibf textarea[data-k]{padding-left:8px!important;padding-right:8px!important}
form.ibf textarea[data-k]{min-height:32px!important;height:32px;resize:none;border:1px solid transparent!important;background:transparent!important;border-radius:8px!important;font:400 14px/1.4 var(--body)!important;color:var(--ink)!important;padding-top:6px!important;padding-bottom:4px!important;overflow:hidden;width:100%;box-shadow:none!important}
form.ibf textarea[data-k]:hover:not(:disabled){background:var(--sand,#f3efe6)!important}
form.ibf textarea[data-k]:focus{background:#fff!important;border-color:var(--teal)!important;outline:none}
form.ibf .catbtn b,form.ibf #ibcat .catbtn b{font-weight:400!important}
form.ibf #ibcat .catbtn{padding-left:8px!important}
form.ibf input[data-k=amount]{font-weight:500!important}
form.ibf .grid>label.ibamt{grid-template-columns:118px 120px 76px minmax(0,1fr)!important}
form.ibf .grid>label.ibamt>select{grid-column:3!important;padding-left:6px!important}
form.ibf .grid>label.ibamt>.muted{grid-column:4!important;padding-left:6px;font-size:12px}
form.ibf .bnhint:not([hidden]){padding-left:8px!important}
form.ibf .ibdir{margin-left:4px!important;padding:2px!important}
form.ibf .ibdir a{padding:3px 12px!important;font-size:12.5px!important}
form.ibf .grid>label{align-items:center!important}
form.ibf .grid>label:has(#ibcat),form.ibf .grid>label:has(textarea){align-items:start!important}
form.ibf .grid>label:has(#ibcat)>span:first-child,form.ibf .grid>label:has(textarea)>span:first-child{padding-top:9px}
.ibact{margin:12px 0 0!important}
form.ibf .grid>label,form.ibf .grid>label.full,form.ibf .grid>label:has([data-k]){grid-template-columns:104px minmax(0,1fr)!important}
form.ibf .grid>label.ibamt,form.ibf .grid>label.ibamt:has([data-k]){grid-template-columns:104px minmax(0,1fr) 74px!important}
form.ibf .grid>label.ibamt>.muted{grid-column:2/-1!important;grid-row:2;padding-left:8px;margin-top:-4px}
form.ibf .grid>label:has([data-k=amount]) input[data-k=amount]{padding:0 8px!important}
form.ibf #ibcat .catbtn b,form.ibf #ibcat .catbtn small{white-space:normal!important;overflow:visible!important}
form.ibf .ibdir{margin-left:2px!important}
/* pipeline tracks, grants on the board, data checks */
.plbar{gap:10px}.plbar .fill{flex:1}
.pltr a small{font-size:11px;opacity:.6;margin-left:2px;font-variant-numeric:tabular-nums}
.plchk{display:inline-flex;align-items:center;gap:6px}
.dcard.gcard{border-left:3px solid var(--teal)}
.gboard .bcol.g-won .bh b{color:var(--green)}.gboard .bcol.g-lost .bh b{color:var(--grey)}
.chkgrp{border-top:1px solid var(--line);padding:8px 0}.chkgrp:first-of-type{border-top:0}
.chkgrp summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.chkgrp summary::-webkit-details-marker{display:none}
.chkgrp ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.chkgrp li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px;border-radius:8px;font-size:13px}.chkgrp li:hover{background:var(--bg2,#f4f6f2)}
.chkgrp li .lnk{flex:none;margin-left:6px}
.board.gboard{grid-template-columns:repeat(5,minmax(190px,1fr))}
@media (max-width:760px){.board.gboard{grid-template-columns:repeat(5,78vw)}}
.dcard .dm em{white-space:nowrap}
.chkgrp li>span{flex:1;min-width:0}
.pltr{max-width:100%;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.pltr::-webkit-scrollbar{display:none}.pltr a{white-space:nowrap;flex:none}

/* inbox: visible select circle, select all */
.ibxr{position:relative}
.ibxck{position:absolute;left:4px;top:12px;width:18px;height:18px;border-radius:50%;border:1.6px solid var(--line2,#c9d3d0);background:#fff;box-sizing:border-box;opacity:0;transition:opacity .12s;z-index:1}
.ibxr:hover .ibxck,body.ibxpicking .ibxck{opacity:1}
.ibxr.pk .ibxck{background:var(--teal);border-color:var(--teal)}
.ibxr.pk .ibxck::after{content:'';position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
@media (hover:hover){.ibxr{padding-left:28px}}
@media (hover:none){body.ibxpicking .ibxr{padding-left:28px}}
.ibxpk .ibxpkall{flex-direction:row;font-size:12.5px;font-weight:600;color:#fff;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);margin-left:6px;white-space:nowrap}
@media (max-width:700px){.ibxpk button span{display:none}.ibxpk .ibxpkall{font-size:12px}}

/* Inbox → Outreach box: the daily lead actions take the list and reading columns */
.ibx.ibxo .ibxcol{display:none}
.ibx.ibxo .ibxthread{grid-column:2 / -1;background:none;box-shadow:none;padding:0;min-height:0}
.ibxout .s-layout{grid-template-columns:1fr}.ibxout .s-rail{display:none}.ibxout .s-railsel{display:block;max-width:320px;margin-bottom:10px}
@media (max-width:820px){.ibx.ibxo .ibxthread{grid-column:1;display:block}}
.ibxout .toolbar .s-railsel{margin:0;width:auto;max-width:240px}

/* CRM: second-level tabs are lighter than the first level; one row for sub-tabs and their action */
.dswitch.dsub{background:none;border:0;box-shadow:none;padding:0;gap:4px;margin:0 0 12px}
.dswitch.dsub a{padding:5px 12px;font-size:13px;border-radius:999px;color:var(--text2,#5d6b6a)}
.dswitch.dsub a:hover{background:rgba(0,80,100,.06)}
.dswitch.dsub a.on{background:#e3eff2;color:var(--ink);font-weight:600}
.subrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}.subrow .dswitch{margin:0}.subrow .btn{margin-left:auto}
.crmsw{margin-bottom:8px}
.tlm{text-transform:none;letter-spacing:0;font-size:12.5px}
.bcol .bh b{font-family:var(--body);text-transform:none;font-size:14px;font-weight:700}
.oqsteps{margin:0 0 10px;max-width:100%;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.oqsteps::-webkit-scrollbar{display:none}
.oqsteps a{white-space:nowrap;flex:none}.oqsteps a small{font-size:11px;opacity:.65;margin-left:2px}.oqsteps a.none{opacity:.5}
.oqsteps .oqdue{color:#8a6200}
.lists-empty,.card.lsempty{max-width:none}
.lsgrid>.card:not(.lscard){grid-column:1/-1}

.plh{display:flex;align-items:center;justify-content:space-between;gap:8px}.plh .plnp{width:32px;height:32px;min-width:32px;padding:0}.plh .plnp svg{width:16px;height:16px}
@media (max-width:700px){.dswitch.dsub{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}.dswitch.dsub::-webkit-scrollbar{display:none}.dswitch.dsub a{flex:none;white-space:nowrap}
  .subrow{flex-wrap:nowrap}.subrow .dswitch{flex:1;min-width:0}.subrow .btn{flex:none;font-size:12px;padding:6px 10px}}
.sgrb{display:inline-flex;align-items:center;gap:6px}@media (max-width:700px){.subrow .sgrb{width:36px;height:36px;padding:0!important;justify-content:center;border-radius:50%}.subrow .sgrb span{display:none}}

/* CRM frame tabs (outside the page, so they never reload) */
.subnav{width:100%;max-width:1480px;margin:0 auto;padding:22px clamp(16px,3vw,40px) 0;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.subnav .dswitch{margin:0}.subnav .dswitch.dsub{margin:0}
.subnav+main{padding-top:14px}
.relbar .fill{flex:1}
@media (max-width:700px){.subnav{padding:12px 14px 0}.subnav>.dswitch{max-width:100%;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.subnav>.dswitch::-webkit-scrollbar{display:none}.subnav .dswitch a{flex:none;white-space:nowrap}.subnav+main{padding-top:10px}}
html[data-density=compact] .subnav{padding-top:16px}html[data-density=super] .subnav{padding-top:10px}

/* one look for every third-level row (sub-tabs and filters alike): outlined pills, the chosen one filled, counts in light grey */
.dswitch.dsub{gap:6px;flex-wrap:wrap}
.dswitch.dsub a{border:1px solid var(--line2);background:var(--white);border-radius:999px;padding:6px 13px;font:500 13px var(--body);color:var(--text2)}
.dswitch.dsub a:hover{background:var(--white);border-color:var(--teal)}
.dswitch.dsub a.on{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:500}
.dswitch.dsub a span:not(:empty){color:var(--muted,#8aa0a7);margin-left:3px}.dswitch.dsub a.on span{color:rgba(255,255,255,.75)}
.pltr.seg,.grtab.seg{background:none;border:0;box-shadow:none;padding:0;gap:6px;display:inline-flex}
.pltr.seg a,.grtab.seg a{border:1px solid var(--line2);background:var(--white);border-radius:999px;padding:6px 13px;font:500 13px var(--body);color:var(--text2);height:auto;line-height:1.3}
.pltr.seg a.on,.grtab.seg a.on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:none}
.pltr.seg a small{font-size:13px;color:var(--muted,#8aa0a7);opacity:1;font-weight:400;margin-left:3px}.pltr.seg a.on small{color:rgba(255,255,255,.75)}
.subnav{gap:12px}
@media (max-width:700px){.dswitch.dsub{flex-wrap:nowrap}}
.oqsteps.seg{background:none;border:0;box-shadow:none;padding:0;gap:6px;display:flex}
.oqsteps.seg a{border:1px solid var(--line2);background:var(--white);border-radius:999px;padding:6px 13px;font:500 13px var(--body);color:var(--text2);height:auto;line-height:1.3}
.oqsteps.seg a.on{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:none}
.oqsteps.seg a small{font-size:13px;opacity:1;color:var(--muted,#8aa0a7);font-weight:400}.oqsteps.seg a.on small{color:rgba(255,255,255,.75)}
.ibxfe{padding:12px}

/* Admin → user activity: bars instead of plain tables */
.uabars{display:flex;flex-direction:column;gap:7px}
.uab,.uav{display:grid;grid-template-columns:118px 1fr 128px;align-items:center;gap:10px;font-size:13px}
.uabl{color:var(--ink);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uabt{height:10px;border-radius:6px;background:#eef2f0;overflow:hidden;display:block}.uabt>i{display:block;height:100%;border-radius:6px;background:var(--teal)}
.uabt.uabs{display:flex;background:none;width:var(--w);gap:2px}.uabt.uabs>i{border-radius:3px;min-width:3px}
.uabv{display:flex;gap:6px;align-items:baseline;justify-content:flex-end;font-variant-numeric:tabular-nums;white-space:nowrap}.uabv small{color:var(--muted,#8aa0a7);font-size:12px}
.uabv em,.ualeg em,.uac>em{font-style:normal;font-size:12px;font-weight:600}
.ua-added{color:#3d7a2a}.ua-changed{color:#1b6e8a}.ua-deleted{color:#b3412e}
i.ua-added{background:#7fb36a}i.ua-changed{background:#5aa3bd}i.ua-deleted{background:#d9826f}
.ualeg{display:flex;gap:12px;margin:8px 0 0}
.uavis{display:flex;flex-direction:column;gap:6px}
.uavt{position:relative;height:14px;border-radius:7px;background:repeating-linear-gradient(90deg,#eef2f0 0 calc(25% - 1px),#dfe6e3 calc(25% - 1px) 25%);display:block}
.uavt>i{position:absolute;top:0;bottom:0;border-radius:7px;background:var(--teal);min-width:4px}
.uavax .uavt{background:none;height:14px}.uavax b{position:absolute;font-size:11px;font-weight:400;color:var(--muted,#8aa0a7)}
.uachg{display:flex;flex-direction:column}
.uac{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.uac:last-child{border-bottom:0}
.uac>em{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#f2f5f3}
.uac small{color:var(--muted,#8aa0a7)}
@media (max-width:700px){.uab,.uav{grid-template-columns:92px 1fr 104px;gap:8px}}
.mki.expki{display:inline-block;width:14px;height:10px;border:2px dashed #b5762a;border-radius:2px;background:rgba(181,118,42,.12);vertical-align:-1px}

/* inbox: suggested folder on each email, the Filed box folder picker, the file-as-suggested preview */
.ibxsugf{display:inline-flex;align-self:flex-start;margin-top:6px;max-width:100%;padding:3px 10px;border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--teal);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.ibxsugf:hover{background:var(--teal);border-color:var(--teal);color:#fff}
.ibxfold{padding:0 12px 8px}.ibxfold select{width:100%}
.ibxsugl{display:flex;flex-direction:column;max-height:52vh;overflow:auto;border:1px solid var(--line2);border-radius:10px}
.ibxsugl>div{display:grid;grid-template-columns:1fr auto;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line2);font-size:13px;align-items:center}.ibxsugl>div:last-child{border-bottom:0}
.ibxsugl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibxsugl em{font-style:normal;color:var(--teal);font-weight:500;white-space:nowrap}
/* overview table: one fixed grid, equal row heights, everything on one screen */
@media (min-width:701px){
  .ovpage table.ovt{table-layout:fixed;min-width:0!important;width:100%}
  .ovpage table.ovt col.c-box{width:116px}.ovpage table.ovt col.c-who{width:14%}.ovpage table.ovt col.c-org{width:8%}
  .ovpage table.ovt col.c-sub{width:17%}.ovpage table.ovt col.c-at{width:100px}.ovpage table.ovt col.c-why{width:13%}
  .ovpage table.ovt col.c-fold{width:7%}.ovpage table.ovt col.c-ai{width:auto}.ovpage table.ovt col.c-fix{width:40px}
  .ovpage table.ovt td.ovact{padding:7px 4px}
  .ovpage table.ovt td,.ovpage table.ovt th{min-width:0!important;max-width:none!important;padding:7px 8px;height:52px;box-sizing:border-box;vertical-align:middle}
  .ovpage table.ovt th{height:auto}
  .ovpage table.ovt td,.ovpage table.ovt td b,.ovpage table.ovt td small,.ovpage table.ovt td a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ovpage table.ovt td small{display:block}
  .ovpage table.ovt td.ovwhy,.ovpage table.ovt td.ovai{white-space:normal;font-size:12.5px;line-height:1.35}
  .ovpage table.ovt td .ovclamp small{display:inline}
  .ovpage table.ovt td .ovclamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
  .ovpage table.ovt td.ovwho b{display:block}
  .ovpage table.ovt .ovb{font-size:11.5px;padding:3px 8px;white-space:nowrap}
}
/* search: what Outlook itself finds beyond the inbox */
.ibxos{border-top:1px solid var(--line);margin-top:4px;padding:6px 0 10px}
.ibxosh{font-size:12px;font-weight:600;color:var(--text2);margin:6px 14px}
.ibxosh i{font-style:normal;font-weight:500;margin-left:4px}
a.ibxosr{display:block;padding:9px 14px;border-bottom:1px solid #eef1ef;color:var(--ink);text-decoration:none}
a.ibxosr:hover{background:#f6f9f8}
.ibxosn{display:flex;gap:8px;align-items:baseline}.ibxosn b{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibxosn time{font-size:12px;color:var(--text2)}
.ibxoss,.ibxosp{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.ibxosp{color:var(--text2);font-size:12.5px}
.ibxrules .ibxwin{display:inline-flex;margin:4px 0 6px}
.ibxrules .ibxwinp{font-size:12.5px;margin:0 0 12px}
/* box menu: focused – one number, dots for "something due", secondary boxes folded */
.ibxrail .ibxdot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);vertical-align:middle}
.ibxrail a[data-b=signal] .ibxdot{background:#2f8f74}
.ibxmb{background:none;border:0;text-align:left;font:inherit;font-size:13px;color:var(--text2);padding:6px 10px;cursor:pointer;border-radius:8px;display:flex;align-items:center;gap:6px}
.ibxmb::after{content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.ibxmb.open::after{transform:rotate(-135deg) translateX(-2px)}
.ibxmb:hover{background:var(--sand)}
.ibxsec{display:none;flex-direction:column;gap:1px}.ibxsec.open{display:flex}
.ibxrail .ibxsec a{font-size:13.5px}
@media (min-width:1101px){
  .ibx:not(.mini) .ibxrail a svg{display:none}
  .ibx:not(.mini) .ibxrail a{padding:6px 10px;font-size:14px}
  .ibx:not(.mini) .ibxrail{gap:1px}
}
@media (max-width:1100px){ .ibxmb{display:none} .ibxsec,.ibxsec.open{display:contents} }
.ibx.mini .ibxmb{font-size:0;justify-content:center;padding:10px 0}
/* conversation as a normal email thread: newest on top, older emails one line each */
.ibxmsgs.mailv .ibxm{max-width:none!important;align-self:stretch!important;background:none!important;box-shadow:none!important;border-radius:0!important;margin:0!important;border-bottom:1px solid var(--line2)!important;padding:10px 0!important}
.ibxmsgs.mailv .ibxm .ibxmh{padding:2px 4px!important;gap:10px}
.ibxmsgs.mailv .ibxm .ibxav{display:inline-flex!important;flex:none}
.ibxmsgs.mailv .ibxm .ibxwho{min-width:0;flex:1;display:flex;gap:8px;align-items:baseline;overflow:hidden}
.ibxmsgs.mailv .ibxm .ibxwho b{white-space:nowrap}
.ibxmsgs.mailv .ibxm .ibxwho small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibxmsgs.mailv .ibxm:not(.open){cursor:pointer}
.ibxmsgs.mailv .ibxm:not(.open):hover{background:#f6f9f8!important}
.ibxmsgs.mailv .ibxm:not(.open) .ibxpv{display:block!important;-webkit-line-clamp:unset;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 4px 0 46px!important;margin:0!important}
.ibxmsgs.mailv .ibxm.open .ibxpv{display:none!important}
.ibxmsgs.mailv .ibxm .ibxbody{padding:8px 4px 4px 46px!important}
.ibxmsgs.mailv .ibxm.out .ibxbody:not(.all):has(.ibxmore:not([hidden]))::after{background:linear-gradient(transparent,#fff)}
.ibxmsgs.mailv .ibxm:first-of-type{border-top:0}
@media (max-width:820px){.ibxmsgs.mailv .ibxm .ibxbody,.ibxmsgs.mailv .ibxm:not(.open) .ibxpv{padding-left:4px!important}}
.dlchips{align-items:center}.dlchips .fill{flex:1}
.drintro{margin:0 0 12px;font-size:13px}
.ibxzoom:not(.show){display:none!important}

/* desktop: the reply works as on the phone – one line to start, then a writing panel (copied from the phone rules, kept in the reading pane) */
@media (min-width:821px){
.ibx .ibxreply.phc.mini{padding:8px 10px calc(8px + env(safe-area-inset-bottom))!important;background:#fff!important;border-top:1px solid #e8eeec}
.ibx .ibxreply.phc.mini>:not(.ibxstart){display:none!important}
.ibxreply.phc.mini .ibxstart{display:flex;align-items:center;gap:8px}
.ibxstartb{flex:1;min-width:0;height:44px;border:1px solid #dfe6e4;border-radius:999px;background:#f5f7f6;text-align:left;padding:0 18px;font:inherit;font-size:15px;color:#7b8c90;cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ibxstartai{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:#f4ecd8;font-size:19px;cursor:pointer}
.ibxreply.phc:not(.mini){position:relative!important;display:flex!important;flex-direction:column!important;background:#fff!important;border-top:1px solid var(--line)!important;padding:0!important;max-height:62vh;min-height:300px}
@keyframes phcin{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.ibxreply.phc:not(.mini) .ibxstart,.ibxreply.phc .ibxmode,.ibxreply.phc .ibxinst{display:none!important}
.ibxreply.phc:not(.mini) .ibxctop{display:flex;flex:none;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 8px) 10px 8px;border-bottom:1px solid #eef1ef}
.ibxcx{flex:none;width:40px;height:40px;border-radius:50%;border:0;background:#f1f4f3;color:var(--ink);font-size:16px;cursor:pointer}
.ibxcm{display:flex;gap:2px;background:#f1f4f3;border-radius:999px;padding:3px}
.ibxcm button{width:40px;height:34px;border-radius:999px;border:0!important;background:none!important;color:#6b7f84;display:flex;align-items:center;justify-content:center;padding:0!important}
.ibxcm button span{display:none!important}
.ibxcm button.on{background:#fff!important;color:var(--ink)!important;box-shadow:0 1px 3px rgba(0,40,55,.14)}
.ibxctop .fill{flex:1}
.ibxctop .ibxsendg{display:flex!important;flex:none}
.ibxctop .ibxsendg #ibxsend{height:40px;padding:0 18px!important;border-radius:999px 0 0 999px;font-size:15px}
.ibxctop .ibxsendg .ibxlbtn{height:40px;width:34px;border-radius:0 999px 999px 0;padding:0!important}
.ibxreply.phc:not(.mini) .ibxcto{display:block;flex:none;padding:10px 18px 0;font-size:13px;color:#7b8c90}
.ibxreply.phc .ibxfwd:not([hidden]){flex:none;padding:6px 14px 0}
.ibxreply.phc .ibxfwd input{width:100%;height:40px;border-radius:10px}
.ibxreply.phc:not(.mini) .ibxed{flex:1 1 auto;min-height:0;display:flex!important;flex-direction:column;border:0!important;margin:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
.ibxreply.phc:not(.mini) .ibxtb{flex:none;border-bottom:1px solid #eef1ef}
.ibx .ibxreply.phc:not(.mini) .ibxtxt{flex:1 1 auto;min-height:0!important;max-height:none!important;overflow-y:auto;padding:12px 18px!important;font-size:15.5px!important;line-height:1.5;border:0!important;outline:none}
.ibxreply.phc:not(.mini).aidone .ibxed::before{padding:10px 18px 0}
.ibx .ibxreply.phc:not(.mini) .ibxrb{flex:none;display:flex!important;align-items:center;gap:6px!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom))!important;border-top:1px solid #eef1ef;margin:0!important}
.ibx .ibxreply.phc .ibxrb .ibxsendg{display:none!important}
.ibx .ibxreply.phc .ibxrb .ibxrem2b{display:inline-flex!important}
.ibx .ibxreply.phc .ibxrb #ibxdraft{border:0!important;background:none!important;color:var(--teal);padding:0 6px!important;height:40px}
.ibx .ibxreply.phc .ibxrb .ibxai{border:0!important;background:#f4ecd8!important;box-shadow:none!important}
.ibxreply.phc .ibxrb .ibxfmt{background:#f1f4f3}
.ibxstartai{white-space:nowrap;flex:none}
.ibxstartb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibxreply.phc .ibxrb{display:flex!important;align-items:center;gap:10px!important;padding:8px 12px calc(8px + env(safe-area-inset-bottom))!important;border-top:0!important;background:#fff}
.ibxreply.phc .ibxrb>.fill{display:none}
.ibxpill{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:2px;height:52px;padding:0 6px;background:#fff;border-radius:999px;box-shadow:0 2px 12px rgba(0,40,50,.12);border:1px solid #edf1f0;overflow-x:auto;scrollbar-width:none}
.ibxpill::-webkit-scrollbar{display:none}
.ibxpill button.cmxt{all:unset;cursor:pointer;flex:none;height:44px;min-width:40px;padding:0 6px;box-sizing:border-box;border-radius:999px;display:inline-flex!important;align-items:center;justify-content:center;gap:5px;color:var(--ink);font-size:13.5px;font-weight:500;background:none!important;border:0!important}
.ibxpill button.cmxt:active,.ibxreply.fmt .ibxpill .ibxfmt{background:#eef3f2!important}
.ibxpill button.cmxt svg{width:21px;height:21px;color:var(--ink)}
.ibxpill .cmaa{font:700 17px Georgia,serif;color:var(--ink)}
.ibxpill .ibxdisc svg{color:#8a3b31}
.ibxreply.phc .ibxrb .ibxaiR{all:unset;cursor:pointer;flex:0 0 52px!important;width:52px!important;height:52px!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;background:#fff!important;border:1px solid #edf1f0!important;box-shadow:0 2px 12px rgba(0,40,50,.12)!important;padding:0!important}
.ibxreply.phc .ibxrb .ibxaiR span{display:none!important}
.ibxreply.phc .ibxrb .ibxaiR svg{width:24px;height:24px;color:var(--teal)}
.ibxpill button.cmxt span{white-space:nowrap}
html body .ibxreply.phc .ibxrb .ibxaiR{background:#fff!important}
/* reply formatting bar: like a new email – just above the tools, no colours */
  .ibxreply.phc .ibxed{display:flex!important;flex-direction:column-reverse!important}
.ibxreply.phc .ibxed .ibxtxt{flex:1 1 auto}
.ibxreply.phc .ibxtb{border-top:1px solid var(--line)!important;border-bottom:0!important;padding:6px 10px!important;gap:2px}
.ibxreply.phc .ibxtb [data-color],.ibxreply.phc .ibxtb [data-color]+.ibxsep{display:none!important}
.ibxreply.phc .ibxtb button{min-width:40px;height:40px}
.ibxreply.phc.mini{padding:10px 16px!important;background:#fff!important;border-top:1px solid var(--line)}
.ibxreply.phc:not(.mini) .ibxtxt{max-height:none!important}
}
@media (min-width:821px){.ibxreply.phc:not(.mini) .ibxtxt{min-height:170px!important}}
.ibxtt .ibxrole a+.ibxnocrm{margin-left:6px}
.ibxnocrm{border:1px dashed #d9a441;background:#fff8ea;color:#8a5a00;border-radius:999px;font:inherit;font-size:11.5px;padding:1px 9px;cursor:pointer;margin-left:2px}
.ibxnocrm:hover{background:#fdeecb}
@media (min-width:821px){html body .ibx .ibxreply.phc:not(.mini) .ibxed .ibxtxt{min-height:180px!important}}
/* page filters (third level, inside a page): plain text tabs – no boxes, the chosen one underlined */
#main .relbar,#main .plbar .pltr,#main .seg.grtab{display:flex;flex-wrap:wrap;align-items:center;gap:2px 18px;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 12px!important}
#main .relbar>button:not(.btn),#main .pltr>a,#main .grtab>a{all:unset;cursor:pointer;font-size:14px;color:var(--text2);padding:4px 0 5px;border-bottom:2px solid transparent;line-height:1.2;white-space:nowrap}
#main .relbar>button:not(.btn):hover,#main .pltr>a:hover,#main .grtab>a:hover{color:var(--ink)}
#main .relbar>button.on:not(.btn),#main .pltr>a.on,#main .grtab>a.on{color:var(--ink);font-weight:600;border-bottom-color:var(--teal)}
#main .relbar>button:not(.btn) span,#main .pltr>a small{font-size:12px;color:var(--text2);font-weight:400;margin-left:3px;background:none!important;padding:0!important}
#main .plbar{align-items:center}
#main .relbar>button:not(.btn),#main .pltr>a,#main .grtab>a{border-radius:0!important;overflow:visible!important}#main .plbar{gap:18px;margin-bottom:12px}#main .plbar .pltr{margin:0!important}
/* People list: fits one computer screen – email under the name, long texts cut with … (hover shows them) */
@media (min-width:1000px){
  #pl .tscroll{overflow-x:hidden}
  #pl table{width:100%;table-layout:auto}
  #pl td,#pl th{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:8px;padding-right:8px}
  #pl td b{white-space:nowrap}
  #pl td .plmail{display:block;font-size:12px;color:var(--text2);overflow:hidden;text-overflow:ellipsis}
  #pl td.evc,#pl th.evc{max-width:64px;text-align:center}
}
.frm2{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:12px 0}
.frm2 label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text2)}
.frm2 label:last-child{grid-column:1/-1}
/* the files of one email, under its header */
.ibxmatt{display:flex;flex-wrap:wrap;gap:6px;margin:6px 4px 2px 46px}
.ibxmatt .ibxa{font-size:12px}
@media (max-width:820px){.ibxmatt{margin-left:4px}}
.ibxfl [hidden],.ibxfl button[hidden]{display:none!important}
.recform fieldset.nco{margin-top:12px;border:1px dashed #d9a441;background:#fffaf0}
.recform .ncoh{margin:0 0 8px;font-size:13px;font-weight:600;color:#8a5a00}
.recform .ncskip{align-self:end;flex-direction:row!important;align-items:center;gap:8px;font-size:13px}
.ibxreply .ibxaiR.busy svg,.ibxai.busy svg{animation:vtsp 1s linear infinite}.ibxreply .ibxaiR.busy{opacity:.7;cursor:progress}
/* reply to one email of the thread */
.ibxm .ibxmh .ibxmra{display:inline-flex;gap:2px;margin-left:auto;opacity:0;transition:opacity .12s}
.ibxm .ibxmh:hover .ibxmra,.ibxm.open .ibxmh .ibxmra{opacity:1}
.ibxm .ibxmh .ibxmra+time{margin-left:8px!important}
.ibxmra button{border:0;background:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--text2);cursor:pointer;padding:0}
.ibxmra button:hover{background:#eef3f2;color:var(--teal)}
.ibxmra button svg{width:16px;height:16px}
.ibxmra button span{display:none}
@media (max-width:820px){.ibxm .ibxmh .ibxmra{opacity:1}}
.ibxtgt{margin:6px 16px 0;font-size:12.5px;color:#8a5a00;background:#fff8ea;border-radius:8px;padding:5px 10px}
.ibxtgt .lnk{font-size:12.5px;margin-left:6px}
/* phone: swipe right on a conversation = Move to */
.ibxlist .ibxr.swp{transform:translateX(var(--sx,0));position:relative;z-index:1;background:#fff}
.ibxlist .ibxr.swback{transition:transform .2s ease}
.ibxlist .ibxr.swp::before{content:'Move to';position:absolute;top:0;bottom:0;right:100%;width:max(var(--sx,0),0px);display:flex;align-items:center;justify-content:flex-end;padding-right:16px;box-sizing:border-box;background:#7f9aa0;color:#fff;font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden}
.ibxlist .ibxr.swgo::before{background:var(--teal)}
@media (max-width:820px){.ibxlist .ibxr{touch-action:pan-y}}
/* files added to an email */
.ibxatts{display:flex;flex-wrap:wrap;gap:6px;padding:6px 16px}
.ibxattc{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:3px 4px 3px 10px;font-size:12.5px;background:#fff;max-width:260px}
.ibxattc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ibxattc small{color:var(--text2)}
.ibxattc button{border:0;background:#eef1ef;border-radius:50%;width:20px;height:20px;cursor:pointer;line-height:1;font-size:14px}
.ibxremb.remoff,.ibxremb.remoff span{color:#c0392b!important}.ibxremb.remoff svg{stroke:#c0392b}
/* after Claude rewrote: back to mine, or another tone */
.ibxaibar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 16px;font-size:12.5px;background:#f3f7f6;border-top:1px solid var(--line)}
.ibxaibar>span{color:var(--text2);margin-right:4px}
.ibxaibar button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:3px 10px;font:inherit;cursor:pointer;color:var(--ink)}
.ibxaibar button:hover{border-color:var(--teal);color:var(--teal)}
.ibxaibar button[data-t=back]{color:#8a5a00;border-color:#e5c88a}
/* compact list: name and subject only */
.ibx.compact .ibxlist .ibxr .ibxp,.ibx.compact .ibxlist .ibxr .ibxsugf{display:none!important}
.ibx.compact .ibxlist .ibxr{padding-top:8px!important;padding-bottom:8px!important}
.ibx.compact .ibxlist .ibxr .ibxs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.login .lterms{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text2);margin:4px 0 10px;flex-direction:row}
.login .lterms input{width:auto;margin:0}
.login .lterms.need{color:var(--text2)}
/* files on requests and ideas */
.fpk{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.fpkl,.fpklist{display:flex;flex-wrap:wrap;gap:6px}
.fpklist{margin:10px 0}
.fpkc{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:3px 10px;font-size:12.5px;background:#fff;color:var(--ink);text-decoration:none}
.fpkc button{border:0;background:#eef1ef;border-radius:50%;width:18px;height:18px;cursor:pointer;line-height:1}
.dvbulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;padding:8px 12px;background:#eef6f5;border-radius:12px}
.dvbulk select{width:auto}
.dvck{width:16px;height:16px;cursor:pointer}
.prsend .fpk{margin:6px 0}
/* cash balance graph above the cash flow statement */
.cfchart{margin-bottom:14px}
.cfchh{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;align-items:baseline;margin-bottom:6px}
.cfchh span{font-size:12.5px;color:var(--text2);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cfk{display:inline-block;width:18px;height:0;border-top:2.5px solid var(--teal)}
.cfk.f{border-top:2.5px dashed #d9a441;margin-left:8px}
.cfch svg{width:100%;height:auto;display:block}
.cfch svg text{font-size:11px;fill:var(--text2)}
.cfch svg .g{stroke:#e6ebea;stroke-width:1}
.cfch svg .z{stroke:#c0392b;stroke-width:1;stroke-dasharray:3 3}
.cfch svg .a{fill:none;stroke:var(--teal);stroke-width:2.5;vector-effect:non-scaling-stroke}
.cfch svg .f{fill:none;stroke:#d9a441;stroke-width:2.5;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}
.ibxcmp.on{background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important}
@media (max-width:700px){.cfchart{padding:12px!important}.cfchh{flex-direction:column;gap:2px}.cfch svg text{font-size:12px}}
/* pick a document from Documents */
.dplist{max-height:52vh;overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:12px}
.dprow{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #eef1ef}
.dprow:last-child{border-bottom:0}
.dprow>span{flex:1;min-width:0;display:flex;flex-direction:column}
.dprow b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dprow small{color:var(--text2);font-size:12px}
.dvbulk input{width:auto;flex:1;min-width:160px}
body.cmxopen #modal{z-index:1300}
.lcopy{font-size:11px;color:#a3a8a6;margin-top:18px}
/* shared drives */
.drvlist{display:flex;flex-direction:column}
.drvrow{display:grid;grid-template-columns:24px 1fr 220px;gap:12px;align-items:center;padding:12px 4px;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.drvrow:first-child{border-top:0}.drvrow:hover{background:var(--sand,#f6f2ea)}
.drvrow small,.drvf small,.drvm small{display:block;color:var(--text2);font-size:12.5px}
.drvuse{font-size:12.5px;color:var(--text2)}.drvuse i{display:block;height:5px;border-radius:5px;background:var(--line);overflow:hidden;margin-top:4px}.drvuse i b{display:block;height:100%;background:var(--green)}
.drvuse.hi{color:#b2412c}.drvuse.hi i b{background:#b2412c}
.drvgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.drvtools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.drvcr{flex:1;min-width:180px}.drvcr span{color:var(--text2);margin:0 6px}
.drvfiles{margin-bottom:12px}
.drvf{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 4px;border-top:1px solid var(--line);cursor:pointer}
.drvf:first-child{border-top:0}.drvf:hover{background:var(--sand,#f6f2ea)}.drvf b{font-weight:500;overflow-wrap:anywhere}
.drvact{display:flex;gap:10px;white-space:nowrap}
.drvm{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--line)}.drvm:first-child{border-top:0}.drvm.off{opacity:.55}
.drvnote{font-size:12.5px;margin-top:10px}.drvprog{font-size:13px;color:var(--text2);min-height:18px}
@media (max-width:900px){.drvgrid{grid-template-columns:1fr}.drvrow{grid-template-columns:24px 1fr}.drvrow .drvuse{grid-column:2}.drvf{grid-template-columns:22px minmax(0,1fr) auto}.drvf>.muted{display:none}}
.ibxflist{display:contents}.ibxflist>p{font-size:12px;padding:6px 10px}
.ibxtsheet{display:flex;flex-direction:column;gap:8px}.ibxtsheet .btn{justify-content:flex-start!important;display:flex;align-items:center;gap:10px;width:100%}
@media (max-width:820px){.ibxflist>p{display:none}}
.ibxtlb{display:none!important}@media (max-width:820px){.ibxhead .ibxtlb{display:inline-flex!important}}
@media (max-width:820px){.ibxhead .ibxcmp{display:none!important}}
