@font-face{font-family:"Playfair Display";font-weight:900;font-style:normal;font-display:swap;
  src:local("Playfair Display Black"),local("PlayfairDisplay-Black")}
:root{
  --office:#1B8A57; --outside:#2563C9;
  /* ZAYER Digital palette (from the website) */
  --navy:#0a1628; --navy-mid:#122040; --navy-light:#1e3a6e;
  --gold:#c8a96e; --gold-light:#e8d5a8; --off-white:#f7f5f0; --grey:#8a96a8; --light-grey:#e8edf4;
  --paper:var(--off-white); --card:#FFFFFF; --ink:var(--navy); --muted:#5b6779; --line:var(--light-grey);
  --brand:var(--navy); --brand-ink:#FFFFFF;
  --prod:#1B8A57; --break:#E8A317; --lunch:#7048C9; --rdv:#D95A0B; --meeting:#0E7C86; --out:#C63D2F;
  --radius:10px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
main{max-width:980px;margin:0 auto;padding:1rem 1rem 4rem}
a{color:var(--brand)}
h1{font-size:1.6rem;line-height:1.2;margin:0 0 .25rem}
h2{font-size:1.05rem;margin:0 0 .75rem}
.muted{color:var(--muted)} .small{font-size:.85rem}
:focus-visible{outline:3px solid var(--navy-light);outline-offset:2px}

/* header */
.top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;background:var(--brand);color:#fff;padding:.6rem 1rem}
.brand{color:#fff;text-decoration:none;font-family:"Playfair Display",Georgia,"Times New Roman",serif;font-weight:900;font-size:1.35rem;letter-spacing:-.5px;line-height:1}
.brand span{color:var(--gold)} .brand small{font:600 .7rem system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);margin-left:.45rem}
.login .brand{display:block;color:var(--navy);font-size:2rem;margin-bottom:.4rem} .login .brand small{color:var(--muted)}
.top nav{display:flex;gap:.25rem;flex:1;flex-wrap:wrap}
.top nav a{color:var(--gold-light);text-decoration:none;padding:.35rem .7rem;border-radius:999px}
.top nav a[aria-current=page]{background:var(--gold);color:var(--navy);font-weight:600}
.who{display:flex;align-items:center;gap:.6rem}
.linkbtn{background:none;border:0;color:var(--gold-light);text-decoration:underline;font:inherit;cursor:pointer;padding:.3rem}
.who form{margin:0}

/* status colors */
.pill{display:inline-block;padding:.15rem .7rem;border-radius:999px;font-size:.85rem;font-weight:600;color:#fff}
.pill.s-break{color:#2A1D00}
.s-meeting{--c:var(--meeting)} .s-prod{--c:var(--prod)} .s-break{--c:var(--break)} .s-lunch{--c:var(--lunch)} .s-rdv{--c:var(--rdv)} .s-out{--c:var(--out)}
.pill{background:var(--c)}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--c);margin-right:.5rem}
.seg{background:var(--c);min-width:4px}

/* hero (agent) */
.hero{background:var(--c);color:#fff;border-radius:16px;padding:1.5rem 1.25rem;margin:.5rem 0 1rem;text-align:center}
.hero.s-break{color:#2A1D00}
.hero-name{margin:0;opacity:.85}
.hero h1{font-size:2.6rem;margin:.1rem 0}
.clock{font-size:3rem;font-weight:700;font-variant-numeric:tabular-nums;margin:0;letter-spacing:1px}

/* buttons */
@media (hover:hover){.btn:not(:disabled):hover{filter:brightness(1.12)}}
@media (hover:hover){.b-brand:hover{background:var(--gold)!important;color:var(--navy)!important}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.6rem 1.2rem;border:2px solid transparent;
  border-radius:var(--radius);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;color:#fff;background:var(--brand)}
.btn:disabled{cursor:default;background:#fff;color:var(--c,var(--ink));border-color:var(--c,var(--line))}
.b-prod{background:var(--prod);--c:var(--prod)} .b-break{background:var(--break);color:#2A1D00;--c:#A87200}
.b-lunch{background:var(--lunch);--c:var(--lunch)} .b-rdv{background:var(--rdv);--c:var(--rdv)} .b-meeting{background:var(--meeting);--c:var(--meeting)} .b-out{background:var(--out)}
.b-brand{background:var(--brand)} .b-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btnrow{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.controls{display:grid;gap:.6rem;margin-bottom:1rem}
.wide{width:100%}
summary.btn{list-style:none;display:inline-flex}
summary.btn::-webkit-details-marker{display:none}

/* cards + forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;margin-bottom:1rem}
details.card>summary{cursor:pointer;font-weight:600}
details.card>summary.btn{color:#fff}
.stack{display:grid;gap:.8rem}
label{display:grid;gap:.25rem;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;padding:.6rem .7rem;border:1px solid var(--grey);border-radius:8px;background:#fff;color:var(--ink);width:100%}
textarea{resize:vertical}
.flash{background:#FFF3CD;border:1px solid #F0D98A;padding:.6rem .9rem;border-radius:8px}
.login{max-width:380px;margin:12vh auto 0;background:var(--card);padding:1.5rem;border-radius:14px;border:1px solid var(--line)}
.empty{color:var(--muted);padding:1rem 0}
.pagehead{margin:.5rem 0 1rem}

/* agent panels */
.bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--light-grey);margin-bottom:.8rem}
.times{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.5rem;margin:0}
.times dt{font-size:.85rem;color:var(--muted)} .times dd{margin:0;font-weight:700;font-size:1.1rem}
.kpis{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.kpi-line{display:flex;justify-content:space-between}
.meter{height:8px;border-radius:4px;background:var(--light-grey);margin-top:.3rem;overflow:hidden}
.meter span{display:block;height:100%;background:var(--brand)} .meter span.ok{background:var(--prod)}

/* manager grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:.9rem}
.agent{background:var(--card);border:1px solid var(--line);border-top:8px solid var(--c);border-radius:12px;padding:.9rem}
.agent header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.agent .since{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.4rem;margin:.3rem 0}
.agent .tot{color:var(--muted);font-size:.85rem;margin:0 0 .6rem}
.chips2{display:flex;flex-wrap:wrap;gap:.35rem}
.k{font-size:.8rem;padding:.15rem .5rem;border-radius:6px;background:var(--light-grey)}
.k.ok{background:#D9F0E4;color:#0E5A37}

/* leads */
.filters{display:grid;grid-template-columns:1fr auto;gap:.5rem;margin-bottom:.8rem}
.filters select{grid-column:1/-1}
.chips{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.4rem;margin-bottom:.8rem}
.chip{white-space:nowrap;padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--ink);font-size:.9rem}
.chip.on{background:var(--brand);color:#fff;border-color:var(--brand)} .chip b{margin-left:.25rem}
.list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.list li{background:#fff;border:1px solid var(--line);border-radius:10px}
.list li>a{display:flex;justify-content:space-between;gap:.8rem;padding:.75rem .9rem;text-decoration:none;color:inherit;flex-wrap:wrap}
.l-main{display:grid} .l-meta{display:grid;justify-items:end;gap:.1rem}
.stage{font-size:.8rem;font-weight:700;padding:.1rem .6rem;border-radius:999px;background:var(--light-grey);color:var(--brand)}
.back{text-decoration:none}

/* lead detail */
.stages{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem}
.stagebtn{padding:.6rem .2rem;border:1px solid var(--line);background:#fff;border-radius:8px;font:inherit;font-size:.78rem;cursor:pointer;min-height:48px;color:var(--ink)}
.stagebtn.past{background:var(--light-grey);color:var(--brand)}
.stagebtn.on{background:var(--brand);color:#fff;font-weight:700;border-color:var(--brand)}
.kinds{display:flex;flex-wrap:wrap;gap:.4rem}
.kind{display:block;font-weight:500}
.kind input{position:absolute;opacity:0;width:1px;height:1px}
.kind span{display:inline-block;padding:.5rem .9rem;border:1px solid var(--grey);border-radius:999px;cursor:pointer;background:#fff}
.kind input:checked+span{background:var(--brand);color:#fff;border-color:var(--brand)}
.kind input:focus-visible+span{outline:3px solid var(--navy-light);outline-offset:2px}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.timeline li{border-left:4px solid var(--line);padding-left:.8rem}
.timeline .k-call{border-color:var(--prod)} .timeline .k-whatsapp{border-color:#25A244}
.timeline .k-meeting{border-color:var(--lunch)} .timeline .k-stage{border-color:var(--brand)}
.timeline p{margin:.2rem 0 0;white-space:pre-wrap}
.t-head{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}

/* kpi + team */
.datenav{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.tablewrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:12px}
table{border-collapse:collapse;width:100%;min-width:640px}
th,td{padding:.6rem .7rem;text-align:left;border-bottom:1px solid var(--line);font-size:.92rem}
thead th{font-size:.82rem;color:var(--muted)} th small{display:block;font-weight:400}
td.ok{color:#0E5A37;font-weight:700} td.low{color:var(--out);font-weight:700}
tfoot th,tfoot td{font-weight:700;border-bottom:0}
.team li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;padding:.75rem .9rem;align-items:center}
.team li.inactive{opacity:.6}
.row-actions{display:flex;gap:.5rem;flex-wrap:wrap}
form.inline{display:flex;gap:.4rem;margin:0} form.inline input{width:9.5rem}
form.inline .btn{min-height:40px;padding:.3rem .8rem}

@media (min-width:700px){
  .filters{grid-template-columns:1fr 220px auto} .filters select{grid-column:auto}
  .hero h1{font-size:3.2rem} .clock{font-size:3.6rem}
  .stagebtn{font-size:.9rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.langsw{color:#fff;background:rgba(255,255,255,.18);text-decoration:none;font-weight:700;font-size:.8rem;padding:.25rem .6rem;border-radius:6px}
.loginbar{display:flex;justify-content:flex-end;padding:.6rem 1rem;background:var(--brand)}

/* lost / potential markers */
.mk{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;margin-right:.45rem;vertical-align:baseline;flex:none}
.mk-lost{background:#D62E2E} .mk-potential,.mk-contact{background:#F28C00}
.markbtns{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin-bottom:.6rem}
.markbtn{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.5rem;border:2px solid var(--line);background:#fff;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;color:var(--ink)}
.markbtn.m-potential.on{background:#FFE6C2;border-color:#F28C00}
.markbtn.m-lost.on{background:#FBD9D9;border-color:#D62E2E}
.pagehead h1 .mk{width:.9rem;height:.9rem}

/* calendar + RDV */
.day h2{margin-top:0} .day.today{border-color:var(--brand);box-shadow:0 0 0 2px var(--gold-light)}
.rdvs{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.rdvs li{display:grid;grid-template-columns:4.2rem 1fr auto;gap:.7rem;align-items:start;border-top:1px solid var(--line);padding-top:.7rem}
.rdvs li:first-child{border-top:0;padding-top:0}
.rdv-time{font-weight:700;font-variant-numeric:tabular-nums}
.rdv-main{display:grid;gap:.1rem} .rdv-main p{margin:.2rem 0 0;white-space:pre-wrap}
.btn.small{min-height:40px;padding:.3rem .8rem;font-size:.85rem}
.dlg{border:0;border-radius:14px;padding:1.2rem;width:min(92vw,420px);box-shadow:0 10px 40px rgba(0,0,0,.35)}
.dlg::backdrop{background:rgba(0,0,0,.45)} .dlg h2{margin:0}
.btnrow2{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}

/* portfolio */
.badge{display:inline-block;min-width:1.3rem;padding:0 .35rem;border-radius:999px;background:#D62E2E;color:#fff;font-size:.75rem;font-weight:700;text-align:center;line-height:1.3rem}
.pfl{gap:.6rem} h2 .muted{font-weight:400}
.pf{display:grid;gap:.4rem;padding:.75rem .9rem}
.pf.due{border-left:5px solid #D62E2E}
.list li.pf>a.pf-main{display:grid;padding:0;text-decoration:none;color:inherit;gap:.1rem}
.pf-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.pf-actions form{margin:0}
.late{color:#B3261E;font-weight:700}
.freqbtn{min-height:40px;padding:.3rem .8rem;border:1px solid var(--line);background:#fff;border-radius:999px;font:inherit;font-size:.85rem;cursor:pointer;color:var(--ink)}
.freqbtn.on{background:var(--brand);color:#fff;border-color:var(--brand);font-weight:700}

/* team: delete box */
details.delbox{flex-basis:100%}
details.delbox summary{list-style:none;display:inline-flex;color:#B3261E;border-color:#E7B8B4}
details.delbox summary::-webkit-details-marker{display:none}
details.delbox form{margin-top:.6rem;padding:.8rem;border:1px solid #E7B8B4;border-radius:10px;background:#FFF7F6}

/* ---------- header: hamburger on the right (phones) ---------- */
.burger{display:none;position:relative;width:46px;height:46px;border:0;border-radius:10px;background:rgba(255,255,255,.14);cursor:pointer;padding:0;flex:none}
.burger span{display:block;width:22px;height:2px;background:#fff;margin:5px auto;border-radius:2px;transition:transform .15s,opacity .15s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.burger-dot{position:absolute;top:6px;right:6px;width:11px;height:11px;border-radius:50%;background:#FF5A4D;border:2px solid var(--brand)}
.nav-extra{display:none}
@media (max-width:699px){
  .top{position:relative;flex-wrap:nowrap;gap:.6rem}
  .brand{margin-right:auto}
  .burger{display:inline-block}
  .top nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:40;flex-direction:column;gap:.15rem;background:var(--brand);padding:.4rem .7rem 1rem;border-top:1px solid rgba(255,255,255,.2);box-shadow:0 14px 28px rgba(0,0,0,.28)}
  .top nav.open{display:flex}
  .top nav a{padding:.85rem 1rem;font-size:1.05rem;border-radius:10px}
  .who .langsw,.who form,.who .acct{display:none}
  .who form.hsearch{display:block}
  .hsearch input{width:6.2rem}
  .hsearch input:focus{width:9rem}
  .nav-extra{display:flex;flex-direction:column;gap:.3rem;margin-top:.5rem;padding-top:.6rem;border-top:1px solid rgba(255,255,255,.2)}
  .nav-extra .langsw{align-self:flex-start;margin:.2rem 1rem}
  .nav-extra .linkbtn{padding:.7rem 1rem;font-size:1rem}
}

/* ---------- master: select + delete leads ---------- */
.bulkbar{display:flex;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.5rem;position:sticky;top:0;background:var(--paper);padding:.3rem 0;z-index:5}
.selall{display:flex;align-items:center;gap:.5rem;font-weight:600}
.list li.withsel{display:flex;align-items:stretch}
.list li.withsel>a{flex:1}
.sel{display:flex;align-items:center;justify-content:center;width:3rem;flex:none;border-right:1px solid var(--line);cursor:pointer}
.sel input,.selall input{width:1.3rem;height:1.3rem}
.delbox2>summary{color:#B3261E}

/* ---------- inactivity warning ---------- */
.idlewarn{position:fixed;left:.8rem;right:.8rem;bottom:1rem;z-index:60;background:#B3261E;color:#fff;padding:.9rem 1rem;border-radius:12px;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.35)}

/* ---------- KPI dashboard ---------- */
h2.sec{margin:1.4rem 0 .6rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.seg3{display:inline-flex;background:var(--light-grey);border-radius:999px;padding:3px;margin-bottom:.7rem}
.seg3 a{padding:.45rem 1rem;border-radius:999px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem}
.seg3 a.on{background:var(--brand);color:#fff}
.kp-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.kp-card{display:flex;flex-direction:column;gap:.25rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--line);border-radius:12px;padding:.8rem .9rem}
.kp-card.ok{border-top-color:var(--prod)} .kp-card.warn{border-top-color:var(--break)} .kp-card.low{border-top-color:var(--out)}
.kp-label{font-size:.78rem;color:var(--muted);font-weight:600}
.kp-num{font-size:2.1rem;line-height:1.05;font-weight:800;font-variant-numeric:tabular-nums}
.kp-sub{font-size:.76rem;color:var(--muted)}
.kp-card.low.plain .kp-num{color:var(--out)}
@media (min-width:700px){.kp-cards{grid-template-columns:repeat(5,1fr)} .kp-cards.five{grid-template-columns:repeat(3,1fr)}}
.funnel{display:grid;gap:.55rem}
.fn-row{display:grid;grid-template-columns:7.2rem 1fr 2.2rem;gap:.3rem .6rem;align-items:center}
.fn-label{font-size:.88rem;font-weight:600}
.fn-track{background:var(--light-grey);border-radius:6px;height:20px;overflow:hidden}
.fn-track i{display:block;height:100%;background:var(--brand);border-radius:6px}
.fn-n{text-align:right;font-variant-numeric:tabular-nums}
.fn-rate{grid-column:2 / 4;font-size:.78rem;color:var(--prod);font-weight:700;margin-top:-.25rem;min-height:0}
.fn-rate small{color:var(--muted);font-weight:500}
.bars{display:flex;align-items:flex-end;gap:3px;height:150px}
.bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px}
.bar i{display:block;width:100%;background:var(--brand);border-radius:4px 4px 0 0;min-height:2px}
.bar em{font-style:normal;font-size:.62rem;color:var(--muted);height:.9rem;line-height:.9rem}
.bar .bv{font-size:.65rem;font-weight:700;height:.9rem}
table.perf{min-width:980px}
table.perf th:first-child,table.perf td:first-child{position:sticky;left:0;background:#fff;z-index:1}
table.perf thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);vertical-align:bottom}
table.perf td.warn{color:#8A5A00;font-weight:700}
ul.def{margin:.6rem 0 0;padding-left:1.1rem;display:grid;gap:.4rem;font-size:.9rem}
.selall{white-space:nowrap} .bulkbar .btn{white-space:nowrap;padding:.4rem .9rem;min-height:44px;font-size:.9rem}
.bulkbar .btn:disabled{background:#EEF1F0;color:#8A979C;border-color:#DCE3E1}

/* won */
.mk-won{background:#1B8A57}
.wonbanner{display:flex;align-items:center;gap:.2rem;background:#DDF3E6;border:2px solid #1B8A57;color:#0E5A37;border-radius:10px;padding:.7rem .9rem;margin-bottom:.6rem;font-size:1.05rem}
.wonbtn{font-size:1.1rem}
.wonbtn .mk{background:#fff}

/* v11: report + checkpoint */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.stat{background:var(--paper);border-radius:10px;padding:.6rem .8rem}
.stat b{display:block;font-size:1.6rem;line-height:1.1}
.stat span{font-size:.8rem;color:var(--muted)}
.stat.bad b,.bad-t{color:var(--out)} .stat.good b,.ok-t{color:var(--prod)}
.meter{height:12px;border-radius:6px;background:var(--light-grey);overflow:hidden;margin:.5rem 0}
.meter i{display:block;height:100%;background:var(--prod)}
.meter.low i{background:var(--out)}
.copyrow{display:flex;gap:.5rem;flex-wrap:wrap}
.repo{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px dashed var(--line);border-radius:10px;padding:.8rem;font:inherit;font-size:.9rem;margin:0 0 .8rem}
ul.plain{margin:0;padding-left:1.1rem}
#outcome[hidden]{display:none}
@media (min-width:700px){.stats{grid-template-columns:repeat(4,1fr)}}

/* v11.1 */
.hiddennote{margin:.2rem 0 .8rem}
.hiddenbox{border-left:4px solid var(--break)}

/* v12 */
.backfill{margin:.2rem 0 .8rem}
.backfill summary{cursor:pointer;color:var(--brand);font-weight:600;padding:.3rem 0}
.warn{color:#9A5B00;background:#FFF4DB;border-radius:8px;padding:.45rem .7rem;margin:.6rem 0 0}

/* v13 */
.stat b small{font-size:.9rem;font-weight:500;color:var(--muted)}

/* v15 */
.slotset{border:0;padding:0;margin:0 0 .6rem}
.slotopt{display:flex;gap:.6rem;align-items:center;padding:.7rem .8rem;border:1px solid var(--line);border-radius:10px;margin:.4rem 0;background:#fff}
.slotopt.off{opacity:.55}
.slotopt em{color:var(--out);font-style:normal}
.rulerow{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid var(--line)}
.rulerow.off{opacity:.55}
.rulerow form{margin:0}

/* v16: guided flow */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.3rem;list-style:none;margin:0;padding:0}
.steps li{padding:.55rem .15rem;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.74rem;text-align:center;color:var(--muted)}
.steps li.done{background:var(--light-grey);color:var(--brand);border-color:var(--light-grey)}
.steps li.on{background:var(--brand);color:#fff;font-weight:700;border-color:var(--brand)}
.guided{border-left:4px solid var(--brand)}
.taskbanner{border-left:4px solid #D98A00;background:#FFF9EC}
.taskbanner h2{margin-top:0}
.taskbanner li{margin:.35rem 0}
[hidden]{display:none !important}
@media (min-width:700px){.steps li{font-size:.9rem}}

/* v17 */
.infobanner{background:var(--off-white);border-left:4px solid var(--brand);border-radius:8px;padding:.6rem .8rem;font-size:.9rem;margin:.2rem 0 .6rem}
.otherpick{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.4rem}

/* v18: meeting place, green = in office, blue = outside */
.placeset{border:0;padding:0;margin:0 0 .6rem;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.placeset legend{grid-column:1/-1;padding:0}
.placeopt input{position:absolute;opacity:0}
.placeopt span{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px solid var(--line);border-radius:10px;background:#fff;font-weight:700;cursor:pointer}
.placeopt.p-office input:checked+span{background:var(--office);border-color:var(--office);color:#fff}
.placeopt.p-outside input:checked+span{background:var(--outside);border-color:var(--outside);color:#fff}
.placeopt input:focus-visible+span{outline:3px solid var(--navy-light);outline-offset:2px}
.placetag{display:inline-block;padding:.05rem .55rem;border-radius:999px;font-size:.78rem;font-weight:700;color:#fff}
.placetag.p-office{background:var(--office)} .placetag.p-outside{background:var(--outside)}
.legend{display:flex;gap:.5rem;margin:.2rem 0 .6rem}
.rdvs li.place-office,.rdvs li.place-outside{border-left:5px solid var(--office);padding-left:.6rem} .rdvs li.place-outside{border-left-color:var(--outside)}
.timesel-js{display:none}
.freegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem;margin-top:.5rem}
.freechip{min-height:42px;border:2px solid var(--office);background:#fff;color:var(--office);border-radius:8px;font:inherit;font-weight:700;cursor:pointer}
.freechip.on{background:var(--office);color:#fff}
.freegrid[data-place=outside] .freechip{border-color:var(--outside);color:var(--outside)}
.freegrid[data-place=outside] .freechip.on{background:var(--outside);color:#fff}
.freechip:disabled{border-color:var(--line);color:var(--grey);background:var(--light-grey);cursor:not-allowed;text-decoration:line-through}

/* v20: lead header, two columns, floating status button */
.leadhead{margin-bottom:.8rem}
.lh-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}
.lh-top h1{flex:1;margin:0}
.lh-top .btn{min-height:40px;white-space:nowrap;flex:none}
.lh-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem .9rem;margin:.7rem 0 0;padding:.7rem .8rem;background:#fff;border:1px solid var(--line);border-radius:12px}
.lh-info dt{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.lh-info dd{margin:0;font-weight:600;overflow-wrap:anywhere;white-space:pre-wrap}
.leadcols{display:grid;gap:0}
@media (min-width:900px){
  main:has(.leadcols){max-width:1180px}
  .leadcols{grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
}
.presets{display:flex;flex-wrap:wrap;gap:.4rem}
.presets .freqbtn.on{background:var(--brand);color:#fff;border-color:var(--brand)}
body:has(.fab) main{padding-bottom:7rem}
.fab{position:fixed;right:.9rem;bottom:1rem;z-index:50}
.fab>summary{list-style:none;display:flex;align-items:center;gap:.5rem;min-height:52px;padding:.5rem 1rem;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 8px 24px rgba(10,22,40,.35);border:2px solid var(--gold)}
.fab>summary::-webkit-details-marker{display:none}
.fab .dot{margin:0;width:.85rem;height:.85rem;box-shadow:0 0 0 2px #fff}
.fabclock{font-variant-numeric:tabular-nums;font-weight:600;font-size:.85rem;color:var(--gold-light)}
.fabmenu{position:absolute;right:0;bottom:calc(100% + .6rem);width:min(78vw,260px);display:grid;gap:.5rem;padding:.7rem;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 32px rgba(10,22,40,.3)}
.fabmenu form{display:grid;gap:.5rem;margin:0}
.fabmenu .btn{width:100%}
.idlewarn{z-index:70}

/* v22: call-back alert + red call-back banner */
.duehost{position:fixed;left:.9rem;bottom:1rem;z-index:80;display:grid;gap:.5rem;max-width:min(78vw,300px)}
.duetoast{display:grid;gap:.1rem;padding:.8rem 1rem;border-radius:14px;background:var(--out);color:#fff;text-decoration:none;box-shadow:0 10px 28px rgba(10,22,40,.4);border:2px solid #fff;animation:duepulse 1.6s ease-in-out infinite}
.duetoast b{font-size:1rem} .duetoast span{font-weight:600} .duetoast small{opacity:.9}
@keyframes duepulse{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.guided.cbdue{border-left-color:var(--out);background:#FFF1EF;border-color:var(--out)}
.cbstart>summary{list-style:none;cursor:pointer;margin-bottom:.8rem}
.cbstart>summary::-webkit-details-marker{display:none}

/* v25: team cards */
.agentcard .ac-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.agentcard h2{margin:0}
.ac-contact{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:.4rem 0 0}
.ac-contact a{color:var(--navy);font-weight:600;overflow-wrap:anywhere}
.ac-sub{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1rem 0 .4rem}
.timebrief{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}
.tb{display:grid;gap:.1rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--off-white)}
.tb span{font-size:.78rem;color:var(--muted);display:flex;align-items:center}
.tb b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.tb small{color:var(--muted)}
.tb.over{background:#FDE7E4;border-color:var(--out)} .tb.over b,.tb.over small{color:#B3261E}
.tb.rdv b{color:var(--rdv)}
.ac-kpis{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.3rem .8rem}
.ac-kpis li{display:flex;justify-content:space-between;gap:.5rem;padding:.25rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.ac-kpis small{color:var(--muted);font-weight:400}
.rep{padding:.5rem .7rem;border-left:3px solid var(--gold);background:var(--off-white);border-radius:6px;margin:.4rem 0}
.rep.new{border-left-color:var(--out);background:#FFF1EF}
.inbox>summary{cursor:pointer}
.sr{display:block}

/* ---------- v26 dashboard ---------- */
.c-leads{--c:#0a1628} .c-valid{--c:#1B8A57} .c-calls{--c:#2563C9} .c-meet{--c:#c8a96e} .c-pot{--c:#7a5ea8}
.hl-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}
.hl-tile{display:flex;flex-direction:column;gap:.2rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--c);border-radius:12px;padding:.85rem .9rem}
.hl-tile:last-child{grid-column:1 / -1}
.hl-num{font-size:2.4rem;line-height:1;font-weight:800;font-variant-numeric:tabular-nums;color:var(--c)}
.hl-delta{font-size:.8rem;font-weight:700}
.hl-delta.up{color:var(--prod)} .hl-delta.down{color:var(--out)}
.hl-delta small{color:var(--muted);font-weight:500}
.chartcard{padding:.8rem}
svg.trend{width:100%;height:auto;display:block}
svg.trend .grid{stroke:var(--light-grey);stroke-width:1}
svg.trend .ax{fill:var(--muted);font-size:10px}
svg.trend .ln{fill:none;stroke:var(--c);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
svg.trend .pt{fill:#fff;stroke:var(--c);stroke-width:2}
.legend{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin-top:.5rem;font-size:.8rem;color:var(--muted)}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;background:var(--c);margin-right:.35rem;vertical-align:-1px}
.twocol{display:grid;grid-template-columns:1fr;gap:0 1rem}
@media (min-width:760px){.twocol{grid-template-columns:1fr 1fr}.hl-tiles{grid-template-columns:repeat(5,1fr)}.hl-tile:last-child{grid-column:auto}}
.timecard{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.donutwrap{position:relative;width:150px;height:150px;flex:none}
svg.donut{width:100%;height:100%;transform:none}
svg.donut circle{fill:none;stroke-width:5.5}
svg.donut .ring-bg{stroke:var(--light-grey)}
svg.donut .ring.s-prod{stroke:var(--prod)} svg.donut .ring.s-rdv{stroke:var(--rdv)} svg.donut .ring.s-meeting{stroke:var(--meeting)}
svg.donut .ring.s-break{stroke:var(--break)} svg.donut .ring.s-lunch{stroke:var(--lunch)}
.donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.donut-c b{font-size:1.15rem;font-variant-numeric:tabular-nums} .donut-c small{color:var(--muted);font-size:.72rem}
.tlegend{list-style:none;margin:0;padding:0;display:grid;gap:.45rem;font-size:.9rem}
.tlegend i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:.5rem;vertical-align:-1px}
.tlegend i.s-prod{background:var(--prod)} .tlegend i.s-rdv{background:var(--rdv)} .tlegend i.s-meeting{background:var(--meeting)} .tlegend i.s-break{background:var(--break)} .tlegend i.s-lunch{background:var(--lunch)}
.tlegend b{margin-left:.4rem;font-variant-numeric:tabular-nums}
.agentbars{display:grid;gap:.7rem}
@media (min-width:900px){.agentbars{grid-template-columns:1fr 1fr}}
.ab header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
.ab h3{margin:0;font-size:1.05rem}
.ab-meta{font-size:.8rem;color:var(--muted)} .ab-meta .red{color:var(--out)}
.ab-row{display:grid;grid-template-columns:8.2rem 1fr 2rem;gap:.5rem;align-items:center;font-size:.85rem;margin:.25rem 0}
.ab-row b{text-align:right;font-variant-numeric:tabular-nums}
.ab-track{height:12px;background:var(--light-grey);border-radius:99px;overflow:hidden}
.ab-track i{display:block;height:100%;background:var(--c);border-radius:99px;min-width:0}

/* v27: header search, lead card */
.hsearch input{width:8rem;min-height:34px;padding:.25rem .7rem;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:.85rem;transition:width .15s}
.hsearch input::placeholder{color:rgba(255,255,255,.65)}
.hsearch input:focus{width:12rem;background:#fff;color:var(--ink);outline:2px solid var(--gold,#c8a96e)}
.hsearch input::-webkit-search-cancel-button{display:none}
.lh-industry{margin:.1rem 0 0;font-weight:400;color:var(--muted)}
.lh-grid{grid-template-columns:1fr 1fr}
.lh-grid dd{font-weight:600}
.lh-links{display:flex;flex-wrap:wrap;gap:.35rem}
.lk{display:inline-block;padding:.2rem .65rem;border-radius:999px;border:1px solid var(--line);background:var(--paper,#f7f5f0);font-size:.85rem;font-weight:600;text-decoration:none;color:var(--brand)}
.lk-fb{border-color:#1877F2;color:#1558b0}.lk-ig{border-color:#C13584;color:#9b2a6a}.lk-web{border-color:var(--gold,#c8a96e)}
.lh-info a{overflow-wrap:anywhere}

/* v29: week grid, Monday to Sunday, 08:00 to 22:00 */
.pagehead{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}
.legend{display:flex;flex-wrap:wrap;gap:.3rem;margin:.7rem 0 0}
.lg{padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:700;border:1px solid rgba(0,0,0,.18)}
.wk-wrap{overflow-x:auto;margin:.6rem -.2rem 0;padding:0 .2rem}
.wk{min-width:640px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.wk-head,.wk-body{display:grid;grid-template-columns:3.2rem repeat(7,1fr)}
.wk-head{background:var(--brand);color:#fff;font-size:.8rem}
.wk-dh{padding:.45rem .2rem;text-align:center;border-left:1px solid rgba(255,255,255,.15)}
.wk-dh.today{background:var(--gold,#c8a96e);color:var(--brand)}
.wk-body{height:672px}
.wk-hours{position:relative;border-right:1px solid var(--line);font-size:.7rem;color:var(--muted)}
.wk-hours span{position:absolute;right:.3rem;transform:translateY(-50%);background:#fff;padding:0 .1rem}
.wk-hours span:first-child{transform:none}
.wk-hours span:last-child{transform:translateY(-100%)}
.wk-col{position:relative;border-left:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(7.142857% - 1px),var(--line) calc(7.142857% - 1px),var(--line) 7.142857%)}
.wk-col.today{background-color:#fffaf0}
.wk-band{position:absolute;left:0;right:0;pointer-events:none;z-index:0}
.bd-break{background:rgba(232,163,23,.22)} .bd-lunch{background:rgba(112,72,201,.16)} .bd-report{background:rgba(253,186,116,.5)}
.wk-mk,.wk-ev{position:absolute;box-sizing:border-box;overflow:hidden;text-align:left;font:inherit;font-size:.68rem;line-height:1.2;cursor:pointer;padding:.12rem .25rem;border:0;margin:0}
.wk-mk{z-index:1;border-radius:3px;opacity:.93}
.wk-ev{z-index:2;border-radius:6px;border-left:4px solid var(--office);color:#14532d;box-shadow:0 0 0 1px #fff}
.wk-ev.place-outside{border-left-color:var(--outside)}
.wk-mk b,.wk-ev b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-mk span,.wk-ev span,.wk-ev em{display:block;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wk-ev span{opacity:.8}
/* status colours */
.k-rdv{background:#bbf7d0;color:#14532d}
.k-team_meeting{background:#8b5cf6;color:#fff}
.k-latency{background:repeating-linear-gradient(45deg,#facc15 0 6px,#111 6px 9px);color:#111}
.k-late{background:repeating-linear-gradient(45deg,#ef4444 0 6px,#111 6px 9px);color:#fff}
.k-unjustified{background:#991b1b;color:#fff}
.k-absence{background:#ef4444;color:#fff}
.k-permission{background:repeating-linear-gradient(45deg,#fb923c 0 6px,#111 6px 9px);color:#111}
.k-sick{background:#bae6fd;color:#0c4a6e}
.k-hr_meeting{background:repeating-linear-gradient(45deg,rgba(253,224,71,.95) 0 7px,rgba(250,204,21,.3) 7px 14px),linear-gradient(180deg,#f87171,#b91c1c);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.k-report{background:#fed7aa;color:#7c2d12}
.wk-mk.k-latency b,.wk-mk.k-permission b,.wk-mk.k-late b{display:inline-block;max-width:100%;background:rgba(255,255,255,.88);color:#111;padding:0 .2rem;border-radius:3px}
/* tap-to-expand detail */
.wk-sheet{position:fixed;inset:0;z-index:90;background:rgba(10,22,40,.5);display:flex;align-items:flex-end;justify-content:center}
.wk-sheet[hidden]{display:none}
.wk-card{position:relative;background:#fff;width:min(560px,100%);max-height:90vh;overflow:auto;border-radius:16px 16px 0 0;padding:1.1rem 1.1rem 1.5rem}
.wk-card h3{margin:.5rem 0 .3rem} .wk-card h4{margin:.2rem 0} .wk-card p{margin:.25rem 0}
.wk-card form{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.wk-x{position:absolute;right:.5rem;top:.3rem;width:44px;height:44px;border:0;background:none;font-size:1.8rem;cursor:pointer;color:var(--muted)}
.wk-chip{display:inline-block;border-radius:999px;padding:.15rem .15rem;font-size:.78rem;font-weight:700}
.wk-chip span{display:inline-block;background:rgba(255,255,255,.88);color:#111;padding:0 .55rem;border-radius:999px}
.sh-links{display:flex;gap:1rem;flex-wrap:wrap}
.sh-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.4rem}
.sh-actions form{margin:0;padding:0;border:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
@media (min-width:700px){.wk-sheet{align-items:center}.wk-card{border-radius:16px}}
@media (max-width:699px){
  .wk{min-width:0}
  .wk-head,.wk-body{grid-template-columns:2.2rem repeat(7,1fr)}
  .wk-hours{font-size:.55rem}
  .wk-dh{font-size:.58rem;padding:.35rem .05rem;line-height:1.15}
  .wk-dh b{display:block}
  .wk-mk,.wk-ev{font-size:.58rem;padding:.1rem .15rem}
  .wk-ev{border-left-width:3px}
  .wk-mk span,.wk-ev span,.wk-ev em{display:none}
}
/* schedule toasts share the call-back pop-up */
button.duetoast{font:inherit;text-align:left;cursor:pointer}
.duetoast.sched{background:var(--navy-light)}
/* readable labels on the striped legend chips */
.lg.k-latency,.lg.k-late,.lg.k-permission{color:#111;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 0 5px #fff}

/* v29.1: readable legend (swatch + plain label), calendar toolbar */
.lg{display:inline-flex;align-items:center;gap:.4rem;background:#fff;color:var(--ink,#0a1628);padding:.15rem .65rem .15rem .3rem;font-size:.75rem;font-weight:600;text-shadow:none}
.lg .sw{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.22);flex:none}
.cal-tools{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap}
.cal-tools .filters{margin:0}
.cal-tools .filters select{width:auto;min-width:200px;max-width:100%}
.wk-card #shForm{margin-top:.2rem;padding-top:0;border-top:0}
.wk-card{padding-top:2.6rem}
.cal-tools form.filters{display:block;width:auto;margin:0}
.legend .lg i.sw{--c:transparent}
.legend .lg .sw.k-rdv{background:#bbf7d0}
.legend .lg .sw.k-team_meeting{background:#8b5cf6}
.legend .lg .sw.k-latency{background:repeating-linear-gradient(45deg,#facc15 0 4px,#111 4px 6px)}
.legend .lg .sw.k-late{background:repeating-linear-gradient(45deg,#ef4444 0 4px,#111 4px 6px)}
.legend .lg .sw.k-unjustified{background:#991b1b}
.legend .lg .sw.k-absence{background:#ef4444}
.legend .lg .sw.k-permission{background:repeating-linear-gradient(45deg,#fb923c 0 4px,#111 4px 6px)}
.legend .lg .sw.k-sick{background:#bae6fd}
.legend .lg .sw.k-hr_meeting{background:repeating-linear-gradient(45deg,#fde047 0 4px,#b91c1c 4px 8px)}
.legend .lg .sw.k-report{background:#fed7aa}
@media (max-width:820px){.cal-tools form.filters{width:100%}}

/* v31: the header search never pushes the menu button off a phone */
.tb.meet b{color:var(--meeting)}
@media (max-width:699px){
  .who{flex:1 1 auto;min-width:0;justify-content:flex-end}
  .who form.hsearch{display:block;flex:1 1 auto;min-width:0;max-width:9rem}
  .hsearch input,.hsearch input:focus{width:100%;min-width:0;transition:none}
  .brand{margin-right:0;flex:none}
}
@media (max-width:420px){.brand small{display:none}}

/* v31 */
.k-leave{background:#f9a8d4;color:#831843}
.k-callback{background:#ede9fe;color:#4c1d95;border-left:4px solid #a78bfa}
.wk-ev.k-callback{border-left-color:#a78bfa}
.k-st-rdv{background:repeating-linear-gradient(135deg,#bbf7d0 0 6px,#86efac 6px 12px);color:#14532d}
.k-st-meeting{background:repeating-linear-gradient(135deg,#a5f3fc 0 6px,#67e8f9 6px 12px);color:#0e4f55}
.wk-seg{position:absolute;left:0;width:34%;z-index:1;box-sizing:border-box;border:0;margin:0;padding:.1rem .2rem;font:inherit;font-size:.62rem;text-align:left;cursor:pointer;opacity:.85;overflow:hidden}
.legend .lg .sw.k-leave{background:#f9a8d4}.legend .lg .sw.k-callback{background:#ede9fe;border:1px solid #a78bfa}
.headbtns{display:flex;gap:.4rem;flex-wrap:wrap}
.lvbox{margin:.6rem 0;padding:.7rem}.lvbox h3{margin:.1rem 0 .5rem}
.lvrow{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.35rem 0;border-top:1px solid var(--line,#e5e7eb)}
.lvrow>div{flex:1 1 12rem}.lvst{font-weight:700;font-size:.8rem}.lv-pending{color:#b45309}.lv-approved{color:#15803d}.lv-declined{color:#b91c1c}
.schedgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem}
.chk{display:flex;gap:.5rem;align-items:center;font-weight:500}
.chk input{width:auto;flex:none;margin:0}
.schedgrid label{display:flex;flex-direction:column;justify-content:flex-end;gap:.25rem}
.schedgrid label.chk{flex-direction:row;justify-content:flex-start}
.fin-tiles .hl-num{font-size:1.25rem;line-height:1.2}
.pair{display:flex;gap:.3rem}.pair input{min-width:0;flex:1}
.schedgrid.wide{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}

/* v32 */
.lf2{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.lf-col{display:flex;flex-direction:column;gap:.7rem}
@media (max-width:640px){.lf2{grid-template-columns:1fr}}
.pagehead.leadhead{display:block}
.lh-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.lvdate{padding:.5rem;border:1px solid #d6d3a0;border-radius:8px;background:repeating-linear-gradient(45deg,#fef9c3 0 8px,#e5e7eb 8px 11px);}
.lvdate input{background:rgba(255,255,255,.55)}
.wk-seg.unv{outline:2px dashed #dc2626;outline-offset:-2px}
.lh-info{align-items:start}.lh-info>div{min-width:0}
.lh-info dd.lh-links{white-space:normal}

/* v33 */
.mk-ni{background:#8A94A6}
.markbtn.m-ni{border-color:#C9CFDA;color:#4A5468}
.langsw span{opacity:.6;font-weight:600}
.langsw span.on{opacity:1;font-weight:800;text-decoration:underline;text-underline-offset:3px}

/* v37: meeting confirmation card, checkbox label, sub-tab bar */
.confmsg{margin:.2rem 0 .4rem}
label.chk{display:flex;gap:.6rem;align-items:flex-start;font-weight:500;font-size:.92rem}
label.chk input{width:auto;margin-top:.25rem}
hr.sep{border:0;border-top:1px solid var(--line);margin:.9rem 0}
.agentlink{color:inherit;text-decoration:none}.agentlink:hover{text-decoration:underline}
.agent{cursor:pointer}
.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:#999}
.dot.h-green{background:#2e9e5b}.dot.h-amber{background:#e8a317}.dot.h-red{background:#d33}
.voided{opacity:.6}

/* ================= v39: plain, flat look + dropdown menus ================= */
:root{--radius:6px;--paper:#f6f5f2;--line:#dcdad3;--ink:#1d2330;--muted:#5d6573;--brand:#14264a;--accent:#9a7b3f}
body{background:var(--paper);font-size:15.5px}
h1{font-size:1.45rem;font-weight:700}
h2{font-size:1rem}
/* header: white, thin rule, no pills */
.top{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);padding:.35rem 1rem;gap:.4rem 1.2rem;position:relative;z-index:50}
.brand{color:var(--brand)} .brand span{color:var(--accent)} .brand small{color:var(--muted)}
.top nav{gap:0;align-items:stretch;flex-wrap:nowrap}
.top nav>a,.dd>summary{color:var(--ink);text-decoration:none;padding:.7rem .8rem;border-radius:0;border-bottom:3px solid transparent;font-weight:500;cursor:pointer;list-style:none;display:flex;align-items:center;gap:.3rem;white-space:nowrap}
.dd>summary::-webkit-details-marker{display:none}
.dd>summary::after{content:"";width:.42rem;height:.42rem;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);margin-left:.25rem;opacity:.6}
.dd[open]>summary::after{transform:rotate(-135deg) translateY(-1px)}
.top nav>a[aria-current=page],.dd.on>summary{background:none;color:var(--brand);font-weight:700;border-bottom-color:var(--brand)}
.top nav>a:hover,.dd>summary:hover{background:#f1efe9}
.dd{position:relative}
.ddmenu{position:absolute;left:0;top:100%;min-width:13rem;background:#fff;border:1px solid var(--line);border-radius:0 0 6px 6px;box-shadow:0 6px 16px rgba(20,30,50,.12);padding:.3rem 0;z-index:60}
.dd.right .ddmenu{left:auto;right:0}
.ddmenu a,.ddmenu .linkbtn{display:flex;justify-content:space-between;gap:.6rem;padding:.6rem 1rem;color:var(--ink);text-decoration:none;border-radius:0;width:100%;text-align:left;font:inherit;background:none;border:0;cursor:pointer}
.ddmenu a:hover,.ddmenu .linkbtn:hover{background:#f1efe9}
.ddmenu a[aria-current=page]{font-weight:700;color:var(--brand);box-shadow:inset 3px 0 var(--brand)}
.ddmenu form{margin:0}
.who{margin-left:auto;gap:.5rem}
.um>summary{border:1px solid var(--line);border-radius:6px;padding:.4rem .7rem;border-bottom-width:1px}
.badge{background:#c0392b;color:#fff;border-radius:9px;padding:0 .4rem;font-size:.72rem;font-weight:700;line-height:1.4}
.linkbtn{color:var(--ink);text-decoration:none}
.hsearch input{border:1px solid var(--line);border-radius:6px;padding:.4rem .6rem;background:#fff;color:var(--ink)}
.burger{background:#f1efe9}
.burger span{background:var(--ink)}
.nav-extra{display:none}
/* flat cards, plain buttons, square-ish pills and tabs */
.card,.kp-card,.hr-card,.hr-panel{border-radius:6px;box-shadow:none}
.btn{border-radius:6px;min-height:42px;font-weight:600}
.pill{border-radius:4px;font-weight:600}
.seg3{background:none;border:1px solid var(--line);border-radius:6px;padding:0;overflow:hidden}
.seg3 a{border-radius:0;padding:.45rem 1rem}
.seg3 a.on{background:var(--brand);color:#fff}
.list li,.agent{border-radius:6px}
.agent{border-top-width:5px}
.agentlink{color:inherit;text-decoration:none}
.chip{border-radius:4px}
.hero{border-radius:8px}
@media (min-width:700px){.top nav{flex:0 1 auto}}
@media (max-width:699px){
  .top{flex-wrap:nowrap}
  .top nav{background:#fff;border-top:1px solid var(--line);box-shadow:0 10px 20px rgba(20,30,50,.15);padding:.3rem 0 .8rem;flex-wrap:wrap;max-height:calc(100vh - 4rem);overflow:auto}
  .top nav>a,.dd>summary{padding:.8rem 1.1rem;border-bottom:0;border-left:3px solid transparent;font-size:1rem;border-radius:0}
  .top nav>a[aria-current=page],.dd.on>summary{border-left-color:var(--brand)}
  .top nav .dd{width:100%}
  .top nav .ddmenu{position:static;box-shadow:none;border:0;background:#f7f6f2;padding:0}
  .top nav .ddmenu a{padding:.7rem 1.1rem .7rem 2rem}
  .who .um{display:none}
  .nav-extra{display:flex;border-top:1px solid var(--line);margin-top:.4rem;padding-top:.4rem}
  .nav-extra a,.nav-extra .linkbtn{padding:.7rem 1.1rem;color:var(--ink)}
}
.top nav .ddmenu a,.top nav .nav-extra a,.top nav .nav-extra .linkbtn{color:var(--ink);background:none;border-radius:0;font-weight:500}
.top nav .ddmenu a:hover,.top nav .nav-extra a:hover{background:#f1efe9}
.top nav .ddmenu a[aria-current=page]{background:none;color:var(--brand);font-weight:700}
.hsearch input::placeholder{color:var(--muted);opacity:1}
.nav-extra .langsw span.on{font-weight:700;text-decoration:underline}
.top .langsw{color:var(--ink)}

/* one tab bar style for sibling pages */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line);margin:0 0 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabs a{padding:.6rem 1rem;color:var(--muted);text-decoration:none;font-weight:500;border-bottom:3px solid transparent;white-space:nowrap;margin-bottom:-1px}
.tabs a:hover{color:var(--ink)}
.tabs a[aria-current=page]{color:var(--brand);font-weight:700;border-bottom-color:var(--brand)}

.warnbar{background:#fdecea;border-color:#e7b8b4}.warnbar a{color:#8a1f15;font-weight:600}

.callhelp summary{cursor:pointer}.ch-item{border-top:1px solid var(--line);padding:.6rem 0 0;margin-top:.6rem}.ch-item p{margin:.2rem 0 0;white-space:pre-wrap}

/* ===== v55: lead page, 3 columns, windows from the bottom, alerts above the Prod button ===== */
@media (min-width:1000px){
  main:has(.l3){max-width:1440px}
  .l3{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:1rem;align-items:start}
}
.l3{display:grid;gap:.9rem}
.l3 .card{margin-bottom:.9rem}
@media (max-width:999px){ .c-right{order:1} .c-mid{order:2} .c-left{order:3} }
.lh-col{display:grid;grid-template-columns:7.5rem 1fr;gap:.55rem .8rem;margin:0;padding:0;border:0;background:none}
.lh-col>div{display:contents}
.lh-col dt{align-self:center}
.infocard h2,.teamnotes h2{margin-top:0;padding-left:.6rem;border-left:3px solid var(--gold)}
/* stage row: arrows on the left, switches on the right */
.stagecard{display:grid;gap:.6rem}
@media (min-width:1000px){
  .stagecard{grid-template-columns:1fr auto;align-items:center}
  .stagecard>.wonbanner,.stagecard>form,.stagecard>.muted,.stagecard>p{grid-column:1/-1}
}
.steps{gap:0}
.steps li{position:relative;border:0;border-radius:0;background:var(--light-grey);color:var(--muted);padding:.8rem .6rem .8rem 1.3rem;margin-left:-.45rem;
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%)}
.steps li:first-child{margin-left:0;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
.steps li.done{background:var(--brand);color:#fff}
.steps li.on{background:var(--brand);color:#fff;font-weight:700;box-shadow:inset 0 -4px 0 var(--gold)}
.markbtns{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:0;align-items:center}
.stagecard .markbtn{min-height:36px;border:0;background:none;padding:.1rem .2rem;font-weight:600;gap:.5rem}
.stagecard .markbtn .mk{width:2.3rem;height:1.25rem;border-radius:999px;background:#c9cfdc;position:relative;margin:0}
.stagecard .markbtn .mk::after{content:"";position:absolute;top:.17rem;left:.17rem;width:.91rem;height:.91rem;border-radius:50%;background:#fff;transition:left .15s}
.stagecard .markbtn.on .mk::after{left:1.22rem}
.stagecard .markbtn.m-potential.on .mk{background:#1B8A57}
.stagecard .markbtn.m-lost.on .mk{background:#D62E2E}
.stagecard .markbtn.m-potential.on,.stagecard .markbtn.m-lost.on{background:none}
/* action buttons */
.actbar{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:.9rem}
.actbar .btn{min-height:50px;font-size:1rem}
.actbar .btn.is-open{outline:3px solid var(--gold)}
/* internal notes */
.tn-list{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.6rem}
.tn{background:var(--paper);border-radius:10px;padding:.6rem .8rem}
.tn p{margin:.2rem 0;white-space:pre-wrap}
.tn-tag{display:inline-block;font-size:.7rem;font-weight:700;background:var(--light-grey);color:var(--navy);border-radius:5px;padding:.05rem .45rem;margin-right:.4rem}
.tn-report .tn-tag{background:#FFE6C2}
.tn-form textarea{width:100%}
/* timeline entries get a type tag look */
.timeline .t-head strong{display:inline-block}
.win-h{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem;background:var(--brand);color:#fff;padding:.75rem 1rem}
.win-h small{display:block;color:var(--gold);font-weight:500;font-size:.78rem}
.win-x{background:none;border:0;color:#fff;font-size:1.1rem;cursor:pointer;min-height:36px;min-width:36px}
.win-b{padding:1rem;overflow:auto}
.win-b .card,.win-b .guided{border:0;box-shadow:none;padding:0;margin:0;background:none}
.win-b h2{font-size:1.05rem;margin-top:0}
.winopt{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:.75rem .9rem;margin-bottom:.6rem;background:#fff;font:inherit;cursor:pointer;color:var(--ink)}
.winopt b{display:block;color:var(--brand)} .winopt small{color:var(--muted)}
.winopt:hover,.winopt[open]{border-color:var(--gold);background:#fbf7ee}
.winopt summary{list-style:none;cursor:pointer}.winopt summary::-webkit-details-marker{display:none}
/* Prod button on the left, alerts right above it */
.fab{left:.9rem;right:auto}
.fabmenu{left:0;right:auto}
.duehost{left:.9rem;bottom:5rem;max-width:min(92vw,400px)}
.duetoast{background:#fff;color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--gold);box-shadow:0 12px 32px rgba(10,22,40,.28);animation:none;
  grid-template-columns:auto 1fr;column-gap:.8rem;align-items:center;text-align:left}
.duetoast::before{content:"\1F50A";grid-row:1/4;display:flex;align-items:center;justify-content:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--navy);font-size:1rem}
.duetoast b{color:var(--brand)} .duetoast span{color:var(--ink);font-weight:600} .duetoast small{color:var(--muted);opacity:1}
.duetoast.sched{background:#fff}

/* v56: forecasts on the lead page */
.ps-list{list-style:none;margin:0 0 .8rem;padding:0;display:grid;gap:.6rem}
.ps-list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-top:1px solid var(--line);padding-top:.6rem}
.ps-list li:first-child{border-top:0;padding-top:0}
.ps-list small{display:block}

.ps-attach{margin-top:.8rem;border-top:1px solid var(--line);padding-top:.8rem}
.ps-attach select{width:100%}
.ps-row-act{display:flex;gap:.4rem;flex:none}

/* v58: import agents */
.impagents{border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;display:grid;gap:.5rem}
.impag{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.6rem;align-items:center}
@media (max-width:600px){.impag{grid-template-columns:1fr}}

/* v63: AI assistant */
.aipanel{position:fixed;right:1rem;bottom:0;z-index:60;width:min(24rem,calc(100vw - 2rem));height:min(34rem,calc(100vh - 1.5rem));display:flex;flex-direction:column;background:#fff;border:1px solid var(--brand);border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 -4px 28px rgba(10,22,40,.3);overflow:hidden}
.aihead{cursor:pointer;align-items:center;user-select:none}
.aihead:hover{filter:brightness(1.12)}
.aichev{font-size:1rem;opacity:.9}
.aipanel:not(.min) .aichev{transform:rotate(180deg)}
.aipanel.min{height:auto;width:min(15rem,calc(100vw - 2rem));box-shadow:0 -2px 14px rgba(10,22,40,.3)}
.aipanel.min>:not(header){display:none}
.aipanel.min .aititle{display:none}
.aicmds{padding:.5rem .7rem 0;max-height:14rem;overflow-y:auto}
.aicmds[hidden],.aicmds .winopt[hidden]{display:none}
.aicmds .winopt,.aimsg .winopt{margin-bottom:.4rem}
.aipreview{white-space:pre-wrap;background:var(--off-white);border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;font-size:.88rem;max-height:11rem;overflow:auto}
.ailog{flex:1;overflow-y:auto;padding:.7rem;display:flex;flex-direction:column;gap:.5rem;background:var(--off-white)}
.aimsg{max-width:92%;padding:.55rem .7rem;border-radius:12px;white-space:pre-wrap;word-wrap:break-word;font-size:.93rem;line-height:1.4}
.aimsg.me{align-self:flex-end;background:var(--navy);color:#fff}
.aimsg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line)}
.aimsg.err{border-color:var(--out);color:var(--out)}
.aicopy{display:block;margin-top:.4rem;border:1px solid var(--line);background:#fff;border-radius:6px;padding:.2rem .6rem;font:inherit;font-size:.8rem;cursor:pointer;color:var(--muted)}
.aisrc{display:block;margin-top:.35rem;color:var(--muted)}
.aichips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .7rem 0}
.aichip{border:1px solid var(--gold);background:#fbf7ee;color:var(--ink);border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.82rem;cursor:pointer}
.aichip[hidden]{display:none}
.aiform{display:flex;gap:.4rem;padding:.6rem .7rem;align-items:flex-end}
.aiform textarea{flex:1;resize:none;font:inherit;border:1px solid var(--line);border-radius:8px;padding:.45rem .55rem}
@media (max-width:700px){.aipanel:not(.min){right:.45rem;left:.45rem;width:auto}.aipanel.min{right:.5rem}}

/* v64: prospect page, edit in the client card, delete / change stage next to the name */
.lh-top{flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.6rem 1rem}
.lh-top h1{flex:0 1 auto}
.lh-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.lh-actions form{margin:0}
.stagepick{position:relative}
.stagepick>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center}
.stagepick>summary::-webkit-details-marker{display:none}
.stagepick[open]>.stages{position:absolute;right:0;top:calc(100% + .4rem);z-index:40;width:min(26rem,86vw);background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem;box-shadow:0 12px 32px rgba(10,22,40,.25)}
.ic-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.7rem}
.ic-head h2{margin:0}
.infocard .lf2{grid-template-columns:1fr;gap:.7rem}
[data-view][hidden],[data-editform][hidden],.ic-head [hidden]{display:none!important}


/* v64: daily targets are visible to agents again */
.tgt{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.tgt li{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;align-items:center}
.tbar{grid-column:1/-1;height:8px;border-radius:4px;background:var(--line);overflow:hidden}
.tbar i{display:block;height:100%;background:var(--brand);border-radius:4px}
.hl-tgt{font-size:.55em;color:var(--muted);font-weight:500}

/* v65: thumbs and confirm card in the assistant */
.aithumbs{display:inline-flex;gap:.25rem;margin-left:.4rem}
.aithumbs button{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.05rem .5rem;cursor:pointer;font-size:.85rem}
.aiact{margin-top:.6rem;padding:.6rem;border:1px dashed var(--brand);border-radius:8px;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.aiact p{flex:1 1 100%;margin:0}
.aiact.ok{border-color:var(--ok,#2e7d32)}.aiact.err{border-color:#b3261e}

/* ===== v76: prospect page: stage bar in the header, 3 columns, next step as a bottom bar. Only the History card scrolls ===== */
.edithist{margin-top:1rem;border-top:1px solid var(--line);padding-top:.6rem}
.lp{display:flex;flex-direction:column;gap:.9rem}
.l3{display:contents}
.lp .card{margin-bottom:0}
.lp-title{order:1} .lp .c-mid{order:2} .lp .c-left{order:3} .lp .c-right{order:4}
.lp-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.4rem}
.lp-row .back{margin:0}
.lp-status{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.1rem .7rem}
.lp-status>p{display:none}
.lp-status:not(:has(.wonbanner,form)){display:none}
.lp-status:has(form.stack,.wonbanner){border-radius:12px;padding:.6rem .8rem;flex-basis:100%}
.lp-status .markbtns{margin:0!important}
/* stage bar inside the header (moved there by app.js on wide screens) */
header.top.has-steps #menu{display:none}
header.top .lp-steps{flex:1;max-width:44rem;margin:0 1rem;display:grid;grid-template-columns:repeat(5,1fr);padding:0;list-style:none}
header.top .lp-steps li{padding:.45rem .3rem .45rem 1rem;font-size:.8rem;margin-left:-.35rem}
header.top.has-steps .who{margin-left:auto}
@media (min-width:1000px) and (min-height:560px){
  body:has(.lp){height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}
  body:has(.lp)>main{flex:1;min-height:0;width:100%;max-width:1440px;display:flex;flex-direction:column;padding:.5rem 1rem .6rem}
  .lp{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-rows:auto auto minmax(0,1fr);gap:.5rem 1rem}
  .lp>*{order:0!important;min-height:0}
  .lp>.lp-steps{grid-column:1/-1;grid-row:1}
  .lp-title{grid-column:1;grid-row:2}
  .lp .c-left{grid-column:1;grid-row:3} .lp .c-mid{grid-column:2;grid-row:2/4} .lp .c-right{grid-column:3;grid-row:2/4}
  .lp .c-left,.lp .c-right{overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:.6rem}
  .lp .c-left>*,.lp .c-right>*{flex:none}
  .lp .c-mid{display:flex;flex-direction:column;overflow:hidden;gap:.6rem}
  .lp .c-mid .actbar{flex:none;margin:0}
  .lp .c-mid .histcard{flex:1;min-height:0;display:flex;flex-direction:column}
  body:has(.lp) .leadhead{margin:0} body:has(.lp) .leadhead h1{font-size:1.4rem;margin:0}
}
/* ===== v73: compact prospect page, no visible scrollbars, windows next to the assistant, tiny status dot ===== */
.lp *{scrollbar-width:none} .lp *::-webkit-scrollbar{display:none}
.timeline p,.timeline .t-head{overflow-wrap:anywhere;min-width:0}
.timeline .t-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.1rem .6rem}
.lp .infocard a,.lp .lh-info a{overflow-wrap:anywhere}
@media (min-width:1000px) and (min-height:400px){
  html:has(.lp){font-size:13px}
  .lp{gap:.5rem .8rem}
  .lp .card{padding:.6rem .8rem;border-radius:10px}
  .lp h2{font-size:1rem;margin:0 0 .4rem}
  .lp .btn{min-height:34px;padding:.3rem .8rem;font-size:.92rem}
  .lp .actbar{gap:.5rem} .lp .actbar .btn{min-height:38px;font-size:.95rem}
  .lp .lh-col{grid-template-columns:6.5rem 1fr;gap:.35rem .6rem}
  .lp .steps li{padding:.5rem .4rem .5rem 1rem;font-size:.85rem}
  .lp>.stagecard{padding:.4rem .7rem}
  .lp .stagecard .markbtn{min-height:30px}
  .lp .timeline{gap:.6rem}
  .lp .c-mid .histcard{overflow-y:auto;overscroll-behavior:contain}
  .lp .histcard h2{position:sticky;top:-.6rem;background:#fff;padding:.3rem 0;margin:0;z-index:1}
  .lp .histcard .hist-scroll{overflow:visible;flex:none;padding:0}
}
/* status button: a small dot, opens on click */
.fab>summary{min-height:30px;padding:.25rem;gap:.4rem;border-width:2px}
.fab:not([open])>summary>span,.fab:not([open])>summary>.fabclock{display:none}
.fab[open]>summary{padding:.3rem .8rem;min-height:32px;font-size:.85rem}
.fab .dot{width:1.1rem;height:1.1rem}
.fabmenu{width:min(70vw,190px);padding:.5rem;gap:.35rem}
.fabmenu .btn{min-height:34px;padding:.3rem .6rem;font-size:.9rem}

/* ===== v74: Dev department ===== */
.devhead{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}
.devcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;align-items:start}
.devcol{background:#ebeae5;border-radius:12px;padding:.7rem;min-height:12rem}
.devcol h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .6rem}
.devcard{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;margin-bottom:.55rem;display:grid;gap:.2rem}
.devcard .dc-title{color:var(--ink);text-decoration:none}
.dc-late{color:#c0392b;font-weight:700}.dc-soon{color:#b9770e;font-weight:700}
.devtag{display:inline-block;background:#e3ecff;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;width:fit-content}
.devtag.ok{background:#d9f2e3;color:#1B6B43}.devtag.warn{background:#ffe6c7;color:#8a5200}
.devsteps{margin:0 0 .9rem}
.devgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;align-items:start}
.devgrid .card{margin-bottom:.8rem}
.devchat{display:grid;gap:.5rem;margin-bottom:.7rem;max-height:22rem;overflow-y:auto}
.devmsg{border-left:3px solid #e08a00;padding:.2rem .6rem}.devmsg.fromdev{border-color:var(--brand)}
.devsys{margin:0}.devsys span{opacity:.7}
@media (max-width:999px){.devcols{grid-template-columns:1fr 1fr}.devgrid{grid-template-columns:1fr}}
@media (max-width:600px){.devcols{grid-template-columns:1fr}}
.rdv-btns{display:flex;gap:.4rem;align-items:center}.rdvs li{align-items:center}

/* ===== v79: one working window, markers in the header, smaller text, taller assistant ===== */
.workwin{position:fixed;bottom:0;right:calc(15rem + 1.6rem);width:15rem;z-index:61;background:#fff;border:1px solid var(--brand);border-bottom:0;border-radius:12px 12px 0 0;box-shadow:0 -2px 14px rgba(10,22,40,.3);display:flex;flex-direction:column;max-height:calc(100vh - 1rem)}
.workwin[hidden]{display:none}
.workwin.open{width:min(26rem,calc(100vw - 2rem));max-height:min(36rem,calc(100vh - 1rem))}
body:has(.aipanel:not(.min)) .workwin{right:calc(26rem + 1.6rem)}
.ww-h{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border:0;background:var(--brand);color:#fff;font:inherit;text-align:left;padding:.55rem .9rem;border-radius:11px 11px 0 0;cursor:pointer;flex:none}
.ww-t{display:grid;min-width:0}
.ww-t b{text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}
.ww-t small{color:var(--gold);font-size:.72rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ww-h i{font-style:normal;opacity:.9}
.workwin.open .ww-h i{transform:rotate(180deg)}
.workwin.urgent:not(.open) .ww-h{background:var(--out,#c0392b);animation:duepulse 1.6s ease-in-out infinite}
.workwin.urgent:not(.open) .ww-t small{color:#fff}
.ww-body{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}
.ww-body[hidden]{display:none}
.ww-tabs{display:flex;border-bottom:1px solid var(--line);background:#faf8f3;flex:none}
.ww-tabs button{flex:1;border:0;border-bottom:2px solid transparent;background:none;font:inherit;font-size:.78rem;font-weight:700;padding:.5rem .3rem;cursor:pointer;color:var(--muted)}
.ww-tabs button.on{color:var(--brand);border-bottom-color:var(--gold)}
.ww-panel{overflow-y:auto;min-height:0;flex:1}
.ww-panel[hidden]{display:none}
.ww-panel .win-b{padding:.8rem .9rem 1rem;overflow:visible}
.ww-panel h2{font-size:.9rem;margin:0 0 .5rem}
.ww-panel .btn{min-height:32px;padding:.3rem .7rem;font-size:.85rem}
.ww-panel label{font-size:.82rem}
.ww-panel textarea,.ww-panel input,.ww-panel select{font-size:.85rem}
.ww-panel .winopt{padding:.55rem .7rem;margin-bottom:.45rem}
@media (max-width:700px){.workwin{left:.5rem;right:.5rem;width:auto;bottom:2.9rem;border-bottom:1px solid var(--brand);border-radius:12px}.workwin.open{width:auto;max-height:min(30rem,calc(100vh - 4rem))}.ww-h{border-radius:11px}body:has(.aipanel:not(.min)) .workwin{right:.5rem}}
/* Potential / Lost / Not interested, in the header between the stages and the search */
header.top .lp-marks{display:flex;gap:.35rem;margin:0;flex:none}
header.top .lp-marks .markbtn{min-height:28px;padding:.2rem .6rem;font-size:.76rem;border-width:1.5px;border-radius:8px;white-space:nowrap}
header.top .lp-marks .mk{width:.6rem;height:.6rem;margin-right:.35rem}
header.top .lp-steps{max-width:36rem}
header.top.has-steps .who{margin-left:auto}
.lp-marks{display:flex;gap:.4rem;flex-wrap:wrap;margin:0}
.lp-marks .markbtn{min-height:30px;padding:.2rem .7rem;font-size:.82rem}
/* smaller text everywhere on wide screens */
@media (min-width:900px){html{font-size:14px} body{font-size:14px}}
@media (min-width:1000px) and (min-height:400px){
  html:has(.lp){font-size:12px} body:has(.lp){font-size:12.5px}
  .lp .actbar .btn{min-height:32px;font-size:.88rem}
  .lp .btn{min-height:28px;font-size:.85rem}
  .lp .lh-col{font-size:.92rem}
  body:has(.lp) .leadhead h1{font-size:1.25rem}
}
/* the assistant is taller */
.aipanel{height:min(46rem,calc(100vh - 1rem));width:min(26rem,calc(100vw - 2rem))}
.aipanel.min{height:auto;width:min(15rem,calc(100vw - 2rem))}
.aimsg{font-size:.88rem}

/* ===== v79: calendar: planning blocks, blue meetings that turn red without a report, hour borders, wide view for all agents ===== */
.wk-col{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(7.142857% - 1px),#c9d1de calc(7.142857% - 1px),#c9d1de 7.142857%)}
.wk-hours{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(7.142857% - 1px),#c9d1de calc(7.142857% - 1px),#c9d1de 7.142857%)}
.wk-plan{position:absolute;left:0;right:0;z-index:0;pointer-events:none;font-style:normal;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.15rem .3rem;overflow:hidden}
.wk-plan.pl-prospect{background:#fdf0d3;color:#7a5200}
.wk-plan.pl-calls{background:#fbd5d6;color:#8b1d22}
.wk-plan.pl-agent{opacity:.85}
.legend .lg .sw.k-pl-prospect{background:#fdf0d3;border-color:#e3b94f}
.legend .lg .sw.k-pl-calls{background:#fbd5d6;border-color:#e8545a}
.legend .lg .sw.k-rdv-miss{background:#d1242b;border-color:#7d1f24}
.legend .lg .sw.k-rdv{background:#1f8fc0}
.k-rdv{background:#1f8fc0;color:#fff}
.wk-ev.k-rdv{border-left:0;color:#fff}
.wk-ev.k-rdv.rep-done{background:#cfe9f5;color:#0b4a66;box-shadow:inset 0 0 0 1px #1f8fc0}
.wk-ev.k-rdv.rep-missing{background:#d1242b;color:#fff;box-shadow:inset 0 0 0 2px #7d1f24;animation:repulse 1.8s ease-in-out infinite}
@keyframes repulse{50%{box-shadow:inset 0 0 0 2px #7d1f24,0 0 0 3px rgba(209,36,43,.35)}}
.wk-ev.k-callback{background:#ede9fe;color:#4c1d95;border-left:4px solid #a78bfa}
.wk-big{min-width:0;width:max-content}
.wk-big .wk-body{height:980px}
.wk-big .wk-ev,.wk-big .wk-mk{font-size:.72rem}
.pl-list{list-style:none;margin:0;padding:0}
.pl-list li{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem 0;border-top:1px solid var(--line)}
.pl-list form{margin:0}

/* v81: the Team page. Plain tables, hairlines, numbers aligned. */
.hub{width:min(1240px,calc(100vw - 2rem));position:relative;left:50%;transform:translateX(-50%)}
.hub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.6rem 1rem;flex-wrap:wrap;margin:.3rem 0 1rem}
.hub-head h1{margin:0}
.hub-ctl{display:flex;align-items:center;gap:.6rem 1.1rem;flex-wrap:wrap}
.hub-ctl .seg3{margin:0}
.hub-dl{font-size:.88rem;color:var(--muted);display:inline-flex;align-items:center;gap:.4rem}
.crumb{margin:.2rem 0 0;font-size:.9rem}
dl.keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:0;border:1px solid var(--line);border-radius:6px;background:var(--card)}
dl.keys>div{padding:.65rem .9rem;border-left:1px solid var(--line)}
dl.keys>div:first-child{border-left:0}
dl.keys dt{font-size:.78rem;color:var(--muted);margin:0}
dl.keys dd{margin:.1rem 0 0;font-size:1.35rem;font-weight:650;font-variant-numeric:tabular-nums}
dl.keys dd small{font-size:.78rem;font-weight:400;color:var(--muted)}
.chg{font-size:.75rem;font-weight:600;color:var(--muted)} .chg.up{color:var(--prod)} .chg.down{color:var(--out)}
.keynote{margin:.3rem 0 1rem}
.hub-grid{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:1.6rem;align-items:start}
.hub h2{font-size:.95rem;margin:1.2rem 0 .5rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}
.hub-main>h2:first-child,.hub-side>h2:first-child{margin-top:0}
.hub-scroll{overflow-x:auto}
table.hub-table{width:100%;border-collapse:collapse;font-size:.88rem;background:var(--card)}
.hub-table th{font-weight:600;font-size:.76rem;color:var(--muted);text-align:left;padding:.45rem .55rem;border-bottom:1px solid #c9d1de;white-space:nowrap}
.hub-table td{padding:.5rem .55rem;border-bottom:1px solid var(--line);vertical-align:middle}
.hub-table .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.hub-table td.n small,.hub-table td small{font-size:.76rem}
.hub-table tfoot td{border-top:1px solid #c9d1de;border-bottom:0;font-weight:600}
.hub-table tbody tr:hover{background:#f4f6fa}
.hub-table .warn{color:#a35f00;font-weight:600} .hub-table .bad{color:var(--out);font-weight:600}
.hub-table tr.off td{color:var(--muted)}
.hub-table.kv td:last-child{text-align:right} .hub-table.kv tr.tot td{font-weight:700;border-top:1px solid #c9d1de}
.hub-table.days td,.hub-table.days th{padding:.4rem .45rem}
.hub-list{list-style:none;margin:0;padding:0}
.hub-list li{padding:.5rem 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.1rem;font-size:.88rem}
.hub-list small{color:var(--muted)} .hub-list .row{display:flex;gap:.8rem;align-items:center}
.hub-list .clip{color:var(--muted);font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hub-note{padding:.4rem 0;border-bottom:1px solid var(--line)} .hub-note p{margin:.1rem 0;white-space:pre-wrap;font-size:.88rem}
.hub textarea{width:100%}
details.dl{display:inline-block;position:relative}
details.dl>summary{cursor:pointer;list-style:none;font-size:.82rem;border:1px solid var(--line);border-radius:5px;padding:.15rem .55rem;background:var(--card);color:var(--ink)}
details.dl>summary::-webkit-details-marker{display:none}
details.dl[open]>summary{border-color:var(--navy-light)}
.dlmenu{position:absolute;right:0;z-index:5;background:var(--card);border:1px solid #c9d1de;border-radius:6px;padding:.4rem .6rem;box-shadow:0 6px 18px rgba(10,22,40,.12);display:grid;grid-template-columns:auto auto auto;gap:.25rem .8rem;white-space:nowrap;font-size:.84rem}
.dlmenu.one{grid-template-columns:auto auto}
.dlmenu span{color:var(--muted)}
td.act{text-align:right}
.dlbar{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:center;margin:0 0 1rem;font-size:.9rem}
.dlgrp{display:inline-flex;gap:.3rem;align-items:center;color:var(--muted)}
@media(max-width:900px){.hub-grid{grid-template-columns:1fr}.hub{width:auto;left:0;transform:none}}
.hub-table td.warn,.hub-table td.bad{background:none}

/* v81: sanction mark (HR and master admin only): dark red, white text */
.k-sanction{background:#7f1d1d;color:#fff}
.legend .lg .sw.k-sanction{background:#7f1d1d}
/* v83: payslips */
.hub-grid.two{grid-template-columns:1fr 1fr}
.optmenu,.optform{display:grid;gap:.5rem}
.optmenu{position:absolute;right:0;z-index:6;background:var(--card);border:1px solid #c9d1de;border-radius:6px;padding:.8rem;box-shadow:0 6px 18px rgba(10,22,40,.14);width:19rem;text-align:left;font-size:.85rem}
.optmenu label,.optform label{display:grid;gap:.15rem;font-size:.82rem;color:var(--muted)}
.optmenu label:has(>input[type=checkbox]),.optform label.inl,.optmenu label.inl{display:flex;align-items:center;gap:.4rem;color:var(--ink)}
.optmenu input[type=text],.optmenu input[type=number],.optform input[type=text]{width:100%;padding:.3rem .45rem;border:1px solid #c9d1de;border-radius:5px;font:inherit}
.optmenu label.inl input{width:5.5rem}
fieldset.levies{border:1px solid var(--line);border-radius:6px;padding:.4rem .6rem;display:grid;gap:.3rem;margin:0}
fieldset.levies legend{font-size:.76rem;color:var(--muted);padding:0 .3rem}
.ratesgrid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .8rem}
td.act{white-space:nowrap}
@media(max-width:900px){.hub-grid.two{grid-template-columns:1fr}}
/* v86: meeting report editor and Client reports */
.rr{max-width:60rem;left:auto;transform:none;margin:0 auto}
.rrform fieldset{border:1px solid var(--line);border-radius:6px;background:var(--card);margin:0 0 .9rem;padding:.7rem 1rem 1rem;display:grid;gap:.6rem}
.rrform legend{font-weight:650;font-size:.92rem;padding:0 .4rem;color:var(--navy)}
.rrform label{display:grid;gap:.2rem;font-size:.82rem;color:var(--muted)}
.rrform input[type=text],.rrform select,.rrform textarea{width:100%;padding:.4rem .55rem;border:1px solid #c9d1de;border-radius:5px;font:inherit;font-size:.92rem;color:var(--ink);background:#fff}
.rr-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .9rem}
.rr-grid.c2{grid-template-columns:12rem 1fr}.rr-grid.c3{grid-template-columns:repeat(3,1fr)}
.rr-sub{display:grid;gap:.5rem;padding:.6rem;border:1px dashed var(--line);border-radius:6px}
.rr-bar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;position:sticky;bottom:0;background:var(--paper);padding:.7rem 0}
.newdot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:var(--out)}
.lh-report{margin-left:.5rem;vertical-align:middle}
@media(max-width:700px){.rr-grid,.rr-grid.c2,.rr-grid.c3{grid-template-columns:1fr}}
.l-rep{display:inline-block;margin:0 .5rem;padding:.05rem .5rem;border:1px solid var(--gold);border-radius:4px;font-size:.74rem;font-weight:600;color:#8a6a1f;background:#fbf6ea;cursor:pointer}

/* v87: booking calendar */
dialog.dlg.dlg-wide{width:min(56rem,96vw)}
.sg{display:grid;gap:.5rem}
.sg-nav{display:flex;align-items:center;gap:.8rem;justify-content:center}
.sg-scroll{overflow:auto;max-height:22rem;border:1px solid var(--line);border-radius:6px;background:#fff;-webkit-overflow-scrolling:touch}
.sg-body.busy{opacity:.5}
.sg-grid{display:grid;user-select:none;min-width:22rem}
.sg-h{position:sticky;top:0;background:var(--navy);color:#fff;font-size:.72rem;font-weight:600;padding:.3rem .2rem;text-align:center;z-index:2}
.sg-t{font-size:.7rem;color:var(--muted);text-align:right;padding-right:.35rem;line-height:1.55rem;height:1.55rem;border-top:1px solid #c9d1de}
.sg-c{height:1.55rem;border:0;border-left:1px solid var(--line);border-top:1px solid var(--line);background:#eaf7ef;cursor:pointer;padding:0}
.sg-c.hr{border-top-color:#c9d1de}
.sg-c.free:hover{background:#b9e6c9}
.sg-c.rec{background:#fdf1cf}
.sg-c.off{cursor:not-allowed;background:repeating-linear-gradient(135deg,#f1f3f7 0 5px,#e4e8ef 5px 10px)}
.sg-c.off.past{background:#f4f5f8}
.sg-c.off.busy{background:#bfdbfe}
.sg-c.off.full,.sg-c.off.block{background:repeating-linear-gradient(135deg,#fbd5d5 0 5px,#f4b4b4 5px 10px)}
.sg-c.sel{background:var(--navy)!important}
.sg-legend{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.76rem}
.sg-legend span{display:inline-flex;align-items:center;gap:.3rem}
.sg-k{display:inline-block;width:.8rem;height:.8rem;border:1px solid #c9d1de}
.sg-k.free{background:#eaf7ef}.sg-k.rec{background:#fdf1cf}.sg-k.off{background:repeating-linear-gradient(135deg,#f1f3f7 0 3px,#e4e8ef 3px 6px)}.sg-k.sel{background:var(--navy)}
.sg-sum{margin:0;font-weight:600;font-size:.92rem}

/* v87b: the booking card fits the screen, no scroll bars */
dialog.dlg.dlg-wide{width:min(78rem,97vw);max-height:97vh;overflow:hidden;padding:1rem}
.rdv-cols{display:grid;grid-template-columns:19rem 1fr;gap:1.2rem;align-items:start}
.rdv-side{gap:.55rem}
.rdv-side .infobanner{font-size:.78rem;padding:.4rem .6rem}
.rdv-side .placeopt{padding:.45rem .3rem}
.rdv-cal .slotset{border:0;padding:0;margin:0;min-width:0}
.rdv-cal .slotset legend{display:none}
.sg-fit{overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fff}
.sg-fit .sg-body{height:calc(97vh - 12.5rem)}
.sg-fit .sg-grid{min-width:0;height:100%;grid-template-rows:auto repeat(22,minmax(0,1fr))}
.sg-fit .sg-c,.sg-fit .sg-t{height:auto;line-height:1}
.sg-fit .sg-t{display:flex;align-items:flex-start;justify-content:flex-end;font-size:.66rem}
@media (max-width:860px){
  dialog.dlg.dlg-wide{overflow:auto}
  .rdv-cols{grid-template-columns:1fr}
  .sg-fit .sg-body{height:34rem}
}

.h2row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.h2row h2{margin:0}

/* v88: agent card */
.ag-top{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:.8rem;align-items:start;margin-top:.6rem}
.ag-quad{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ag-bottom{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.8rem;align-items:start}
.agc{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold,#b8923a);border-radius:6px;padding:.7rem .85rem;min-width:0;font-size:.86rem}
.agc h3{margin:0 0 .5rem;font-size:.92rem;display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.agc h3 small{font-weight:400;color:var(--muted);font-size:.74rem}
.agc .agsub{margin-top:.8rem}
.agkv{display:grid;grid-template-columns:5.2rem 1fr;gap:.25rem .6rem;margin:0}
.agkv dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;padding-top:.1rem}
.agkv dd{margin:0;overflow-wrap:anywhere}
.agfoot{margin:.5rem 0 0}
.agstats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.agstats div{background:var(--bg,#f6f7fa);border-radius:5px;padding:.4rem .5rem;display:grid}
.agstats b{font-size:1.15rem;line-height:1.2}.agstats span{font-size:.68rem;color:var(--muted)}
.agchips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.45rem}
.agchips span{background:var(--bg,#f6f7fa);border-radius:999px;padding:.12rem .55rem;font-size:.74rem}
.agchips span.bad{background:#fbd5d5}
.aglist{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}
.aglist li{display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid var(--line);padding-top:.2rem}
.aglist em{font-style:normal;color:var(--muted);font-size:.74rem;white-space:nowrap}
.aglist em.st-approved{color:#177245}.aglist em.st-declined{color:#b3261e}
.aghrs{margin-bottom:.8rem}.aghrs:last-child{margin-bottom:0}
.aghd{display:flex;justify-content:space-between;align-items:baseline}.aghd small{color:var(--muted);font-size:.72rem}
.agbar{height:.4rem;background:#e7ebf2;border-radius:3px;margin:.3rem 0 .4rem;overflow:hidden}.agbar i{display:block;height:100%;background:var(--navy)}
.agrow{display:flex;justify-content:space-between;gap:.5rem;padding:.08rem 0}.agrow span{color:var(--muted)}
.agtbl{width:100%;border-collapse:collapse}
.agtbl td{padding:.22rem .3rem;border-top:1px solid var(--line);vertical-align:top}.agtbl tr:first-child td{border-top:0}
.agtbl td.n{white-space:nowrap;color:var(--muted);font-size:.74rem}.agtbl td.bad{color:#b3261e}
.agnote{display:flex;gap:.4rem;margin-top:.5rem}.agnote input{flex:1;min-width:0}
@media (max-width:1000px){.ag-top,.ag-bottom,.ag-quad{grid-template-columns:1fr}}
.agtbl{table-layout:fixed}.agtbl td{overflow-wrap:anywhere}.agtbl td.n{width:5.6rem}.agtbl.act td:nth-child(2){width:8.5rem}.agtbl.mt td:nth-child(3){width:7.5rem}.agc{overflow:hidden}

/* v89: quotes */
.qpage{max-width:62rem;margin:0 auto}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.qhead h1{margin:.3rem 0}.qstate{display:flex;gap:.4rem;flex-wrap:wrap}
.qform{display:grid;gap:.8rem;margin-top:.6rem}
.qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.qgrid label,.qbottom label{display:grid;gap:.2rem;font-size:.78rem;color:var(--muted)}
.qgrid input,.qbottom textarea{font-size:.9rem}
.qtable{width:100%;border-collapse:collapse;table-layout:fixed}
.qtable th{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);text-align:left;padding:.2rem .3rem}.qtable th.n{text-align:right}
.qtable td{padding:.25rem .3rem;border-top:1px solid var(--line);vertical-align:top}
.qtable th:nth-child(1){width:auto}.qtable th:nth-child(2){width:4.2rem}.qtable th:nth-child(3){width:4.6rem}.qtable th:nth-child(4){width:6.2rem}.qtable th:nth-child(5){width:9rem}.qtable th:nth-child(6){width:6.8rem}.qtable th:nth-child(7){width:2rem}
.qtable input,.qtable select{width:100%;box-sizing:border-box;font-size:.86rem;padding:.3rem .4rem}
.qtable .qdesc{margin-top:.25rem;font-size:.76rem;color:var(--muted)}
.qtable .qf{margin-top:.25rem;font-size:.76rem}
.qtot{text-align:right;font-weight:600;white-space:nowrap;padding-top:.55rem!important}
.qx{border:0;background:none;font-size:1.3rem;color:#b3261e;cursor:pointer}
.qbottom{display:grid;grid-template-columns:1fr 20rem;gap:.8rem;align-items:start}
.qsum .agrow{padding:.25rem 0;border-top:1px solid var(--line)}.qsum .agrow input{width:3.4rem;padding:.15rem .3rem}
.qsum .qnet{font-size:1.05rem;border-top:2px solid var(--navy)}
.qdel{margin-top:.8rem}
.pill.q-draft{background:#e7ebf2;color:#34405a}.pill.q-sent{background:#dbe7ff;color:#1d4fa8}.pill.q-accepted{background:#d6f0e0;color:#177245}.pill.q-rejected{background:#fbd5d5;color:#8c1d18}
.qstats{grid-template-columns:repeat(4,1fr)}.qstats b{font-size:1.05rem}
.qlist th{font-size:.7rem;text-transform:uppercase;color:var(--muted);text-align:left;padding:.3rem}.qlist td,.qlist th{padding:.4rem .3rem}.qlist .n{text-align:right}
.qlist-l li{align-items:center}
@media (max-width:900px){.qgrid,.qbottom,.qstats{grid-template-columns:1fr 1fr}.qbottom{grid-template-columns:1fr}}
.agtbl.st th{font-size:.7rem;text-transform:uppercase;color:var(--muted);text-align:right;padding:.2rem .3rem}.agtbl.st th:first-child{text-align:left}
.agtbl.st td.n{width:4.6rem;text-align:right;color:var(--ink,#0a1628);font-size:.86rem;font-weight:600}
.agnote select{flex:0 0 6.5rem}.agnote input[type=date]{flex:1}
.aglist.notes li{display:block}
.agtbl.st th.n{width:5.6rem}.agtbl.st td.n{width:5.6rem}
.agst,.agsthd{display:grid;grid-template-columns:1fr 4.5rem 4.5rem;border-top:1px solid var(--line)}.agst b,.agsthd b{text-align:right}.agsthd{border-top:0;font-size:.7rem;text-transform:uppercase;color:var(--muted)}

/* v90: Live tab as designed: agent cards on the left (3 across), the calls to confirm on the right, full width */
main:has(.live){max-width:1880px;padding-top:.8rem}
.live{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.4rem;align-items:start}
.live .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.live-side .taskbanner{margin:0}
.live-foot{margin-top:1rem}
@media (max-width:1100px){.live{grid-template-columns:1fr}.live-side{order:-1}.live .grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}

/* v93 attendance grid */
.att-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.att-tbl{border-collapse:collapse;width:100%;min-width:760px;font-size:.82rem}
.att-tbl th,.att-tbl td{border-bottom:1px solid var(--line);padding:.2rem;text-align:center;vertical-align:middle}
.att-tbl thead th{background:var(--off-white)}
.att-name{text-align:left!important;min-width:130px}
.att-hd,.att-nm,.att-c{font:inherit;color:inherit;background:none;border:0;cursor:pointer;width:100%;border-radius:6px;padding:.3rem .25rem}
.att-hd:hover,.att-nm:hover,.att-c:hover{background:var(--light-grey)}
.att-hd small,.att-nm small{display:block;color:var(--muted);font-weight:400}
.att-nm{text-align:left}
.att-c{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-height:2.6rem;justify-content:center}
.att-t{font-variant-numeric:tabular-nums}
.att-chip{font-size:.68rem;padding:0 .35rem;border-radius:99px;background:var(--light-grey);color:var(--navy)}
.k-absence,.k-unjustified,.k-sanction{background:#f6d5d1;color:#8e2a20}
.k-permission,.k-sick,.k-leave,.k-hr_meeting{background:#d9e6fb;color:#1c4a9a}
.k-late,.k-latency{background:#fbe9c4;color:#8a5a00}
.c-ok{background:#e6f4ec}.c-late{background:#fdf3dc}.c-abs{background:#fbe3e0}.c-perm{background:#e8f0fc}
.c-off{color:var(--grey);font-size:.7rem;display:block;padding:.6rem 0;cursor:default}
.att-tot{white-space:nowrap;font-variant-numeric:tabular-nums}
.att-lt{display:block;color:#8a5a00}
.att-jump{display:flex;gap:.3rem}
.att-times{display:flex;gap:.6rem}.att-times label{flex:1}
#att-dialog .att-sched{display:flex;gap:.5rem;align-items:center}

/* v93: the hour line is bolder, so a slot is easy to find */
.sg-c.hr{border-top:2px solid #6b7a93}
.sg-t.hr{border-top:2px solid #6b7a93}

/* v96 report of the day */
.today-act{display:flex;gap:.5rem;flex-wrap:wrap}
.today-act .btn[disabled]{opacity:.45;cursor:not-allowed}
.drgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.8rem;margin:.8rem 0}
.drgrid .card{max-height:16rem;overflow:auto;margin:0}
.dr-item summary{cursor:pointer}.dr-item h3{margin:.8rem 0 .2rem;font-size:.9rem}.pre{white-space:pre-wrap;margin:0}

/* v99 portfolio: pages of 20 and bulk send */
.bulkbar{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.2rem 0 .6rem}
.pager{display:flex;gap:.8rem;align-items:center;justify-content:center;margin:1rem 0}
.bulk-fixed{white-space:pre-line;margin:0;padding:.5rem .7rem;border-radius:8px;background:var(--off-white);color:var(--muted);font-size:.85rem}

/* ================= v107: Odoo-style shell (navy bar, app switcher, app grid) ================= */
.appsbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:6px;color:var(--brand);flex:none}
.appsbtn:hover{background:#f1efe9}
.appname{display:flex;align-items:center;padding:0 .9rem 0 .2rem;margin-right:.3rem;font-weight:700;color:var(--accent);white-space:nowrap;border-right:1px solid var(--line)}
.appgrid{list-style:none;margin:1.2rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:1.6rem 1rem}
.appgrid a{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);text-align:center}
.apptile{position:relative;display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:20px;color:#fff;box-shadow:0 2px 6px rgba(10,22,40,.18);transition:transform .12s,box-shadow .12s}
.apptile svg{width:38px;height:38px;stroke-width:1.6}
.apptile .badge{position:absolute;top:-6px;right:-6px;border:2px solid var(--paper)}
.appgrid a:hover .apptile{transform:translateY(-2px);box-shadow:0 6px 14px rgba(10,22,40,.22)}
.appname2{font-weight:600;font-size:.95rem}
.apptile.c1{background:linear-gradient(145deg,#1e3a6e,#0a1628)}
.apptile.c2{background:linear-gradient(145deg,#d9bd84,#a8863f);color:#0a1628}
.apptile.c3{background:linear-gradient(145deg,#3b5b8a,#1e3a6e)}
.apptile.c4{background:linear-gradient(145deg,#5a6d8c,#2c3e5f)}
/* v107: Leads board (kanban) */
main.wide{max-width:none}
.viewsw{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:0 0 .8rem;background:#fff}
.viewsw a{padding:.4rem 1rem;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9rem}
.viewsw a.on{background:var(--navy);color:#fff}
.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:.8rem;overflow-x:auto;padding-bottom:1rem;align-items:start;scroll-snap-type:x proximity}
.kcol{background:#ebe9e2;border-radius:8px;padding:.6rem;display:flex;flex-direction:column;gap:.5rem;scroll-snap-align:start;min-width:0}
.kcol>header{display:flex;justify-content:space-between;align-items:center;padding:.1rem .2rem .3rem;border-bottom:3px solid var(--gold)}
.kcol>header h2{margin:0;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px}
.kcol>header b{background:var(--navy);color:#fff;border-radius:10px;padding:0 .55rem;font-size:.8rem;line-height:1.6}
.kcard{display:flex;flex-direction:column;gap:.15rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--navy-light);border-radius:6px;padding:.6rem .7rem;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(10,22,40,.06)}
.kcard:hover{box-shadow:0 4px 10px rgba(10,22,40,.14);border-left-color:var(--gold)}
.kcard strong{font-size:.98rem;overflow-wrap:anywhere}
.kfoot{display:flex;justify-content:space-between;align-items:center;margin-top:.25rem}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:var(--gold-light);font-size:.7rem;font-weight:700}
.kempty{text-align:center;padding:1rem 0;margin:0}
.kmore{text-align:center;padding:.4rem;font-weight:600;font-size:.9rem;color:var(--brand)}
@media (max-width:699px){.kanban{grid-auto-columns:82%}.appgrid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}}
@media (min-width:700px){
  .top{flex-wrap:nowrap}
  .top nav{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
  .top nav::-webkit-scrollbar{display:none}
  .top nav>a{padding:0 .7rem;font-size:.93rem}
  .hsearch input{width:8.5rem}
  .who{flex:none}
}

/* v107: lead page, chatter-style history */
.lp-title .back{display:inline-block;margin:.2rem 0 .5rem;color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem}
.lp-title .back::before{content:"‹ "}
.card{border:1px solid var(--line);box-shadow:0 1px 2px rgba(10,22,40,.05)}
.card>h2,.infocard h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.9px;color:var(--navy-light)}
.histcard{padding:1rem 1.1rem}
.histcard>h2{padding-bottom:.5rem;border-bottom:1px solid var(--line)}
.actbar .btn{min-height:44px;border-radius:6px}

@media (min-width:700px){
  .top{flex-wrap:nowrap;align-items:stretch}
  .appsbtn{align-self:center}.brand{align-self:center}
  .top nav{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}
  .top nav::-webkit-scrollbar{display:none}
  .top nav>a{padding:0 .7rem;font-size:.9rem;display:flex;align-items:center}
  .hsearch input{width:8.5rem}
  .who{flex:none;align-self:center}
}
@media (max-width:699px){.appname{border-right:0;padding:.8rem 1.1rem .2rem;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}}

/* ================= v108: one size scale for the whole CRM (Odoo-like: small, even, calm) =================
   Body 14px; buttons, fields and chips share one height; headings stay modest. The client ticket was the model. */
:root{--fs:14px;--ctl:34px;--ctl-s:28px}
body{font-size:var(--fs);line-height:1.45}
main{padding:.9rem 1rem 4rem}
h1{font-size:1.3rem;font-weight:700;margin:0 0 .15rem}
h2{font-size:.95rem;margin:0 0 .6rem}
.pagehead{margin:.2rem 0 .8rem}
.pagehead h1{margin:0}
.small{font-size:.8rem}
.btn{min-height:var(--ctl);padding:.3rem .9rem;font-size:.875rem;font-weight:600;border-width:1px;border-radius:6px}
.btn.small,.bulkbar .btn{min-height:var(--ctl-s);padding:.2rem .65rem;font-size:.8rem}
.btn.wide{width:100%}
input,select,textarea{padding:.35rem .6rem;min-height:var(--ctl);font-size:.9rem;border:1px solid #c9ced8;border-radius:6px}
textarea{min-height:0}
input[type=checkbox],input[type=radio]{min-height:0;width:auto}
label{font-size:.82rem;font-weight:600;gap:.2rem}
.chip{padding:.22rem .7rem;font-size:.82rem;border-radius:5px}
.stage{font-size:.72rem;padding:.05rem .5rem}
.pill{font-size:.78rem;padding:.1rem .6rem}
th,td{padding:.45rem .6rem;font-size:.875rem}
thead th{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}
.card{padding:.85rem 1rem}
.list li a{padding:.6rem .8rem}
.list li strong{font-size:.95rem}
.kp-num{font-size:1.7rem}.hl-num{font-size:1.9rem}
.stat b{font-size:1.3rem}
.stagebtn{min-height:36px;padding:.3rem .2rem}
.seg3 a,.viewsw a{padding:.28rem .85rem;font-size:.85rem}
.flash{padding:.5rem .8rem;font-size:.88rem}
.freqbtn,.markbtn{min-height:var(--ctl-s)}
@media (max-width:699px){
  :root{--ctl:38px;--ctl-s:32px}
  body{font-size:14.5px}
  h1{font-size:1.25rem}
}
form.inline .btn,.freqbtn,.bulkbar .btn{min-height:var(--ctl)}
form.inline input,form.inline select,.rowform input,.rowform select{min-height:var(--ctl)}
.bulkbar .btn{min-height:var(--ctl-s)}
@media (max-width:699px){
  .row-actions{flex-wrap:wrap}
  .hub-main{min-width:0;max-width:100%}
  .hub-scroll,.hr-scroll{max-width:100%;overflow-x:auto}
  table.hr-table{display:block;max-width:100%;overflow-x:auto}
}
@media (max-width:699px){
  .hr-panel{min-width:0;max-width:100%;overflow-x:auto}
  .list li{flex-wrap:wrap}
  .row-actions{max-width:100%}
  .row-actions .inline{margin:0}
}
@media (max-width:699px){
  form.inline{flex-wrap:wrap;max-width:100%}
  .list.team li{flex-direction:column;align-items:stretch}
  .list li>*{min-width:0}
}

/* ================= v111: control panel, table and board in the Odoo manner ================= */
:root{--canvas:#f3f4f7;--panel:#fff;--bd:#e3e6ec;--tx:#1d2433;--tx2:#5f6b7e}
body{background:var(--canvas);color:var(--tx)}
.top{border-bottom:1px solid var(--bd)}
.card{border-color:var(--bd);border-radius:6px;box-shadow:none}
.cp{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem 1.2rem;background:var(--panel);border:1px solid var(--bd);border-radius:6px;padding:.55rem .8rem;margin:.1rem 0 .7rem}
.cp-l{display:flex;align-items:center;gap:.5rem}
.cp-l h1{margin:0 .4rem 0 0;font-size:1.1rem;font-weight:700}
.cp-more{position:relative}
.cp-more summary{list-style:none;cursor:pointer;min-width:34px;padding:.2rem .6rem}
.cp-more summary::-webkit-details-marker{display:none}
.cp-menu{position:absolute;left:0;top:calc(100% + 4px);z-index:30;min-width:11rem;background:#fff;border:1px solid var(--bd);border-radius:6px;box-shadow:0 8px 20px rgba(20,30,50,.14);padding:.25rem 0}
.cp-menu a{display:block;padding:.45rem .9rem;color:var(--tx);text-decoration:none;font-size:.88rem}
.cp-menu a:hover{background:#f3f4f7}
.cp-search{display:flex;gap:.4rem;min-width:0}
.cp-search input[type=search]{flex:1 1 auto;min-width:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235f6b7e' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.5' y2='16.5'/%3E%3C/svg%3E") no-repeat .55rem center/16px;padding-left:2rem}
.cp-search select{width:auto;flex:none;max-width:11rem}
.cp-r{display:flex;align-items:center;gap:.5rem}
.viewsw{margin:0;border-radius:6px;border-color:var(--bd)}
.viewsw a{display:inline-flex;align-items:center;padding:.35rem .6rem}
.stagebar{display:flex;gap:0;margin:0 0 .6rem;border-bottom:1px solid var(--bd);overflow-x:auto}
.stagebar a{padding:.5rem .9rem;color:var(--tx2);text-decoration:none;font-weight:600;font-size:.88rem;border-bottom:2px solid transparent;white-space:nowrap}
.stagebar a b{margin-left:.25rem;font-weight:600;color:var(--tx2);background:#e9ecf2;border-radius:10px;padding:0 .45rem;font-size:.75rem}
.stagebar a.on{color:var(--brand);border-bottom-color:var(--gold)}
.stagebar a.on b{background:var(--brand);color:#fff}
.otbl-wrap{background:var(--panel);border:1px solid var(--bd);border-radius:6px;overflow-x:auto}
.otbl{width:100%;border-collapse:collapse}
.otbl th{background:#fafbfc;color:var(--tx2);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.5rem .8rem;border-bottom:1px solid var(--bd);text-align:left;white-space:nowrap}
.otbl td{padding:0;border-bottom:1px solid #eef0f4;font-size:.875rem}
.otbl td a{display:block;padding:.5rem .8rem;color:var(--tx);text-decoration:none;white-space:nowrap}
.otbl td.c-main{padding-right:.4rem}
.otbl td.c-main a{display:inline-block}
.otbl .r{text-align:right}
.otbl .c-sel{width:2.2rem;padding-left:.7rem}
.otbl tbody tr:hover td{background:#f7f8fb}
.otbl tbody tr:last-child td{border-bottom:0}
.otbl .avatar{width:22px;height:22px;font-size:.62rem;margin-right:.3rem;vertical-align:middle}
.kcol{background:transparent;padding:0}
.kcol>header{background:transparent;border-bottom:2px solid var(--gold);padding:.3rem .1rem .45rem;margin-bottom:.2rem}
.kcol>header h2{font-size:.78rem;color:var(--tx2)}
.kcol>header b{background:#e3e6ec;color:var(--tx)}
.kcard{border-left-width:1px;border-left-color:var(--bd);border-radius:6px;box-shadow:0 1px 2px rgba(20,30,50,.05)}
.kcard:hover{border-color:#cbd2de;box-shadow:0 3px 8px rgba(20,30,50,.1)}
.taskbanner{background:#fff8ec;border:1px solid #f1dcae;padding:.5rem .8rem;margin:0 0 .6rem}
.taskbanner h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#8a5a00;margin:0 0 .3rem}
.taskbanner ul{margin:0;padding-left:1rem;font-size:.85rem}
.warnbar{padding:.35rem .7rem;font-size:.82rem;margin:.2rem 0 .6rem}
@media (max-width:899px){.cp{grid-template-columns:1fr auto}.cp-search{grid-column:1 / -1;order:3;flex-wrap:wrap}.cp-search input[type=search]{flex:1 1 100%}}
@media (max-width:699px){.otbl th:nth-child(3),.otbl td:nth-child(3){display:none}}
/* v111: portfolio rows, quote totals, empty rows */
.pfl{list-style:none;margin:0;padding:0;background:var(--panel);border:1px solid var(--bd);border-radius:6px;overflow:hidden}
.pfl li.pf{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2.2fr) auto;align-items:center;gap:.4rem 1rem;padding:.5rem .9rem;margin:0;border:0;border-bottom:1px solid #eef0f4;border-radius:0;background:transparent}
.pfl li.pf:last-child{border-bottom:0}
.pfl li.pf:hover{background:#f7f8fb}
.pf-main{display:flex;flex-direction:column;text-decoration:none;color:var(--tx);min-width:0}
.pf-main strong{font-size:.9rem}.pf-main .muted{font-size:.8rem}
.pf-meta{margin:0}
.pf-actions{display:flex;gap:.35rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.pf-actions form{margin:0}
.bulkbar{background:transparent;border:0;padding:0}
.qstats{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:0 0 .7rem}
.qstats div{background:var(--panel);border:1px solid var(--bd);border-radius:6px;padding:.55rem .8rem}
.qstats b{font-size:1.1rem}.qstats span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tx2)}
.emptyrow{padding:1.2rem .8rem!important;text-align:center}
.empty{background:var(--panel);border:1px dashed var(--bd);border-radius:6px;padding:1.2rem;text-align:center;color:var(--tx2)}
.pager{display:flex;justify-content:center;align-items:center;gap:.8rem;margin:.8rem 0}
@media (max-width:699px){
  .pfl li.pf{grid-template-columns:1fr}.pf-actions{justify-content:flex-start}
  .qstats{grid-template-columns:repeat(2,1fr)}
}

/* ===== v111: calendar, Odoo-style (own code): control panel, day/week/month, light grid, now line ===== */
.calcp .calnav{display:flex;align-items:center;gap:.35rem}
.calcp .calarr{padding:0 .7rem;font-size:1.1rem;line-height:1}
.callabel{font-size:1rem;font-weight:600;margin-left:.5rem;color:var(--tx)}
.calcp .calown{margin:0;width:auto}
.calcp .calown select{width:auto;min-width:170px}
.calbtns{display:inline-flex;gap:.4rem;flex-wrap:wrap}
.callegend{margin:.4rem 0 .5rem;color:var(--tx2);font-size:.8rem}
.callegend summary{cursor:pointer;list-style:none;display:inline-block;padding:.15rem .6rem;border:1px solid var(--bd);border-radius:6px;background:var(--panel)}
.callegend[open] summary{margin-bottom:.4rem}
.wk{background:var(--panel);border:1px solid var(--bd);border-radius:8px;overflow:hidden}
.wk-head{background:var(--panel);color:var(--tx2);border-bottom:1px solid var(--bd)}
.wk-dh{border-left:1px solid var(--bd);padding:.5rem .2rem;font-weight:400;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}
.wk-dh b{font-weight:500}
.wk-dh .wk-dn{display:inline-block;min-width:1.7rem;height:1.7rem;line-height:1.7rem;border-radius:50%;font-size:.95rem;color:var(--tx);text-transform:none;letter-spacing:0}
.wk-dh.today{background:var(--panel);color:var(--brand)}
.wk-dh.today .wk-dn{background:var(--brand);color:#fff}
.wk-col{border-left:1px solid #eceef3}
.wk-col.today{background:rgba(200,169,110,.07)}
.wk-day.wk .wk-head,.wk-day.wk .wk-body{grid-template-columns:3.2rem 1fr}
.wk-now{position:absolute;left:0;right:0;height:0;border-top:2px solid #e5484d;z-index:6;pointer-events:none}
.wk-now::before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:#e5484d}
.mo{background:var(--panel);border:1px solid var(--bd);border-radius:8px;overflow:hidden}
.mo-h,.mo-b{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.mo-h span{padding:.5rem .4rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tx2);border-left:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.mo-h span:first-child,.mo-c:nth-child(7n+1){border-left:0}
.mo-c{min-height:7.2rem;border-left:1px solid #eceef3;border-bottom:1px solid #eceef3;padding:.25rem .3rem;display:flex;flex-direction:column;gap:2px;min-width:0}
.mo-c.other{background:#fafbfc}.mo-c.other .mo-n{color:#a3acba}
.mo-c.today{background:rgba(200,169,110,.1)}
.mo-n{align-self:flex-end;font-size:.8rem;min-width:1.5rem;height:1.5rem;line-height:1.5rem;text-align:center;border-radius:50%;color:var(--tx);text-decoration:none}
.mo-c.today .mo-n{background:var(--brand);color:#fff}
.mo-i{display:block;font-size:.72rem;padding:1px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--tx);background:#e6f6ec;border-left:3px solid #34a853}
.mo-i i{font-style:normal;color:var(--tx2)}
.mo-i.cb{background:#ede9fe;border-left-color:#8b5cf6}
.mo-i.mk{background:#fdecec;border-left-color:#ef4444}
.mo-more{font-size:.72rem;color:var(--tx2);text-decoration:none}
@media (max-width:820px){.callabel{width:100%;margin:.2rem 0 0}.mo-c{min-height:4.6rem;padding:.15rem}.mo-i i{display:none}.mo-h span{padding:.4rem .15rem;font-size:.6rem}}
.wk-col{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(7.142857% - 1px),#e6e9ef calc(7.142857% - 1px),#e6e9ef 7.142857%)}
.wk-col.today{background-color:rgba(200,169,110,.07)}
.wk-big{width:100%;min-width:max-content}
@media (max-width:820px){.calcp .cp-r{flex-wrap:wrap;width:100%;gap:.4rem}.calcp .calown{width:100%}.calcp .calown select{width:100%}.calbtns .btn{flex:0 0 auto}}
@media (max-width:820px){.calcp{flex-direction:column;align-items:stretch}.calcp .cp-l,.calcp .cp-r{min-width:0;max-width:100%}.calcp .viewsw{flex:0 0 auto}}
@media (max-width:820px){.calcp{display:flex;flex-direction:column;align-items:stretch}.calcp .cp-r{justify-content:flex-start}}

/* ===== v112: every page in the Odoo-style layout (global) ===== */
body{background:var(--canvas)}
main{max-width:1400px}
.pagehead{background:var(--panel);border:1px solid var(--bd);border-radius:6px;padding:.55rem .8rem;margin:.1rem 0 .7rem;min-height:48px}
.pagehead h1{font-size:1.1rem;font-weight:700;margin:0;color:var(--tx)}
.pagehead .muted,.pagehead .small{font-size:.8rem}
.pagehead:not(.leadhead){align-items:center}
.card{background:var(--panel);border:1px solid var(--bd);border-radius:6px;box-shadow:none;padding:.9rem 1rem}
.card h2,.card h3{font-size:.95rem;font-weight:700;color:var(--tx)}
h2.sec{color:var(--tx2);font-size:.72rem;letter-spacing:.06em;margin:1.2rem 0 .5rem}
table{background:var(--panel)}
.card table,main>table,.tablewrap table,.table-wrap table{border:0}
thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tx2);font-weight:600;background:#f8f9fb;border-bottom:1px solid var(--bd)}
tbody tr:hover td{background:#f8f9fb}
td{border-bottom:1px solid #eceef3}
.stat{background:var(--panel);border:1px solid var(--bd);border-radius:6px}
.stat b{font-size:1.4rem;color:var(--tx)}
.stat span{color:var(--tx2)}
.list li{background:var(--panel);border:1px solid var(--bd);border-radius:6px}
.list li:hover{border-color:#cfd5e0}
.btn.b-ghost{background:var(--panel);border:1px solid var(--bd);color:var(--tx)}
.btn.b-ghost:hover{background:#f3f4f7}
input,select,textarea{border-color:var(--bd);border-radius:6px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(200,169,110,.45);border-color:var(--gold)}
dialog.dlg{border:0;border-radius:8px;box-shadow:0 20px 50px rgba(20,30,50,.25)}
/* forms: fields in a responsive grid, buttons sized to their label (no more full-width stretched inputs) */
.card .stack{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:end;gap:.7rem 1rem}
.card .stack>h1,.card .stack>h2,.card .stack>h3,.card .stack>p,.card .stack>fieldset,.card .stack>.muted,.card .stack>.row2,.card .stack>.grid-all,.card .stack>input[type=hidden]+h2{grid-column:1/-1}
.card .stack>button,.card .stack>.btn,.card .stack>a.btn{justify-self:start;width:auto;grid-column:1/-1}
.card .stack>label{display:grid;gap:.25rem;margin:0}
.card form .btn[type=submit].b-brand,.card form button[type=submit]:not(.small){width:auto}
.card .lvrow{align-items:end}
@media (max-width:820px){.card .stack{grid-template-columns:1fr}}
.hr-scroll{background:var(--panel);border:1px solid var(--bd);border-radius:6px;overflow-x:auto}
.hr-scroll table{border:0}
.att-tbl thead th,table.hr-table thead th{background:#f8f9fb;color:var(--tx2)}
main form>select[data-autosubmit]{width:auto;min-width:14rem;max-width:100%}
.scriptrow,.card .row2{align-items:end}
.accts td{vertical-align:top}
.accts form.inline{display:flex;gap:.3rem;margin:0}
.accts form.inline input{min-width:0;width:100%;max-width:12rem}
.accts td.acts{white-space:nowrap}
.accts td.acts form.inline{display:inline-flex;width:auto;margin-right:.25rem}
.accts tr.inactive td{opacity:.6}
.accts .delbox{display:inline-block;position:relative}
.accts .delbox form{position:absolute;right:0;z-index:20;background:#fff;border:1px solid var(--bd);border-radius:6px;padding:.8rem;min-width:18rem;box-shadow:0 8px 20px rgba(20,30,50,.14);white-space:normal}
.accts td{vertical-align:middle;padding:.5rem .6rem}
.accts form.inline input{flex:1 1 auto}
.accts .pill{display:inline-block;padding:.1rem .5rem;margin-top:.25rem}

/* ===== v114: dev department tabs, tasks, calendar ===== */
.devtabs{margin-top:.2rem}
.dvmo .mo-i.dl{background:#fff4e0;border-left-color:#f59e0b}
.dvmo .mo-i.tk{background:#e8f0fe;border-left-color:#3b82f6}
.dvmo .mo-i.ev{background:#ede9fe;border-left-color:#8b5cf6}
.dvmo .mo-i.late{background:#fdecec;border-left-color:#ef4444}
.legend .lg .sw.dv-dl{background:#f59e0b}.legend .lg .sw.dv-tk{background:#3b82f6}.legend .lg .sw.dv-ev{background:#8b5cf6}.legend .lg .sw.dv-late{background:#ef4444}
.taskdone td{color:var(--tx2);text-decoration:line-through}
.dc-late{color:#c0262d;font-weight:700}.dc-soon{color:#b7791f;font-weight:700}
.otbl td{vertical-align:middle}
.devcol{background:#eceff4;border:1px solid var(--bd)}
