/* A2Z CRM v2. Neutral greys, green accent, 13px UI text, 8px grid. No images, no external fonts. */
:root{
  --green:#1F4D3A;--green-d:#163829;--green-50:#eef4f0;--green-100:#dbe9e1;
  --bg:#f3f4f4;--panel:#fff;--line:#e2e5e4;--line-2:#cdd2d0;--ink:#1d2421;--muted:#66706b;--faint:#8c9692;
  --red:#b3372f;--red-50:#fbeceb;--amber:#9a6200;--amber-50:#fbf3e1;--blue:#2f5f8a;--blue-50:#e8f0f7;
  --r:6px;--nav-w:216px;--top-h:48px
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3,p{margin:0}
h1{font-size:20px;line-height:1.3;font-weight:650}
h2{font-size:14px;font-weight:650}
a{color:var(--green)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:12px}
.error,.overdue{color:var(--red)}.overdue{font-weight:600}
.error{min-height:1em}
.spacer{flex:1}
.offscreen{position:fixed;left:-9999px;top:0}
:focus-visible{outline:2px solid var(--green);outline-offset:1px}

/* Login */
.login-card{max-width:360px;margin:12vh auto 0;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.login-card h1{margin:4px 0 8px}.login-card p{color:var(--muted);margin-bottom:16px}
.login-brand{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:650}
body > .login-card{width:calc(100% - 32px)}

/* Buttons and inputs */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);color:var(--ink);text-decoration:none;white-space:nowrap;font-weight:550}
.btn:hover{background:#f6f7f7}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:var(--green-d)}
.btn.ghost{border-color:transparent;background:none;color:var(--muted)}.btn.ghost:hover{background:#e9ecea}
.btn.small{height:24px;padding:0 8px;font-size:12px}
.btn.danger{color:var(--red);border-color:#e3b9b6}
.btn:disabled,button:disabled{opacity:.5;cursor:not-allowed}
input,select,textarea{width:100%;height:32px;padding:0 8px;border:1px solid var(--line-2);border-radius:var(--r);background:#fff}
textarea{height:auto;padding:8px;resize:vertical}
input[type=checkbox]{width:16px;height:16px;accent-color:var(--green)}
.mobile-only{display:none}

/* Shell */
#shell{display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr);min-height:100vh}
#side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line);color:var(--ink);padding:8px}
.brand{display:flex;align-items:center;gap:8px;height:40px;padding:0 8px;color:var(--ink);font-weight:700;font-size:14px}
.mark{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;background:var(--green);color:#fff;font-size:11px;font-weight:800}
#navlist{display:flex;flex-direction:column;gap:2px;margin-top:8px;flex:1}
.nav-item{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px;border-radius:var(--r);color:var(--muted);text-decoration:none;font-weight:550}
.nav-item:hover{background:var(--bg);color:var(--ink)}
.nav-item.active{background:var(--green-50);color:var(--green);font-weight:650}
.ico{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.side-foot{border-top:1px solid var(--line);padding:8px 4px 0;display:grid;gap:4px}
.identity{display:grid;color:var(--ink)}.identity .muted{color:var(--muted);text-transform:capitalize}
.side-foot .btn.ghost{color:var(--muted);justify-content:flex-start}.side-foot .btn.ghost:hover{background:var(--bg)}
.main{min-width:0}
#top{position:sticky;top:0;z-index:20;height:var(--top-h);display:flex;align-items:center;gap:8px;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--line)}
.search{position:relative;flex:1;max-width:480px}
.search .ico{position:absolute;left:8px;top:8px;color:var(--faint)}
.search input{padding-left:32px;padding-right:32px;background:#f6f7f7}
.search kbd{position:absolute;right:8px;top:6px;font:11px/18px ui-monospace,Consolas,monospace;padding:0 6px;border:1px solid var(--line-2);border-radius:4px;color:var(--muted);background:#fff}
.results{position:absolute;left:0;right:0;top:36px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 4px 12px rgba(0,0,0,.08);overflow:hidden;z-index:30}
.result{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}
.result:last-child{border-bottom:0}.result:hover,.result:focus-visible{background:var(--green-50)}
.result-main{display:grid;min-width:0}.result-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.result-empty{padding:12px;color:var(--muted)}
.newwrap{position:relative;margin-left:auto}
.menu{position:absolute;right:0;top:36px;min-width:160px;background:#fff;border:1px solid var(--line-2);border-radius:var(--r);box-shadow:0 4px 12px rgba(0,0,0,.08);padding:4px;z-index:30}
.menu-item{display:block;width:100%;text-align:left;padding:8px;border:0;border-radius:4px;background:none}.menu-item:hover{background:var(--green-50)}
#view{padding:24px;max-width:1400px;outline:none}

/* Page parts */
.page{display:grid;gap:16px}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.page-actions,.range{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.range input{width:136px}.range .chip-select{width:auto}
.crumbs{color:var(--muted);text-decoration:none;font-size:12px}a.crumbs:hover{text-decoration:underline}
.lnk{text-decoration:none}.lnk:hover{text-decoration:underline}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border-bottom:1px solid var(--line)}
.panel-body{padding:16px}
.panel-body:has(>.tablewrap),.panel-body:has(>.list){padding:0}
.cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kpi{display:grid;gap:2px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.kpi-label{color:var(--muted);font-size:12px}.kpi strong{font-size:24px;line-height:32px;font-weight:650}.kpi-note{color:var(--faint);font-size:12px}
.kpi.warn strong{color:var(--amber)}
.alert{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;border:1px solid #e3b9b6;background:var(--red-50);color:var(--red);border-radius:var(--r)}
.banner:empty{display:none}
.notice{padding:8px 16px;background:var(--amber-50);border:1px solid #ecd9a8;border-radius:var(--r);color:#5e3e00}
.empty{display:grid;justify-items:center;gap:4px;padding:40px 16px;text-align:center;color:var(--muted)}
.empty strong{color:var(--ink);font-size:14px}.empty p{max-width:380px}
.empty-mark{width:32px;height:32px;margin-bottom:8px;border:2px dashed var(--line-2);border-radius:50%}
.skel{display:grid;gap:8px}
.skel-row{height:40px;border-radius:var(--r);background:linear-gradient(90deg,#e8eceb 25%,#f3f5f4 50%,#e8eceb 75%);background-size:200% 100%;animation:sh 1.3s infinite linear}
@keyframes sh{to{background-position:-200% 0}}
@media(prefers-reduced-motion:reduce){.skel-row{animation:none}}

/* Chips, tags, score */
.chip{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:10px;background:#eceeed;color:#3b4541;font-size:12px;font-weight:550;white-space:nowrap}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:#8c9692}
.chip.st-contacted::before{background:#4f7fa8}.chip.st-rate-card-sent::before{background:#8a6bb0}.chip.st-negotiating::before{background:#c98a1a}
.chip.st-won{background:var(--green-100);color:var(--green)}.chip.st-won::before{background:var(--green)}
.chip.st-repeat-buyer{background:var(--green-100);color:var(--green)}.chip.st-repeat-buyer::before{background:#2e8a5e}
.chip.st-lost{background:var(--red-50);color:var(--red)}.chip.st-lost::before{background:var(--red)}
.tag{display:inline-block;padding:0 8px;height:20px;line-height:20px;border-radius:var(--r);background:#eceeed;color:#3b4541;font-size:12px;font-weight:550;white-space:nowrap}
.tag.ok{background:var(--green-100);color:var(--green)}.tag.bad{background:var(--red-50);color:var(--red)}.tag.warn{background:var(--amber-50);color:var(--amber)}.tag.info{background:var(--blue-50);color:var(--blue)}
.score{display:inline-flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.score-bar{width:40px;height:4px;border-radius:2px;background:#e4e8e6;overflow:hidden}
.score-fill{display:block;height:100%;background:var(--faint)}.score-fill.hi{background:var(--green)}.score-fill.mid{background:#c98a1a}.score-fill.lo{background:#b9c0bd}

/* Tabs and filters */
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto}
.tab{height:32px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);font-weight:550;white-space:nowrap}
.tab:hover{color:var(--ink)}.tab.on{color:var(--green);border-bottom-color:var(--green)}
.small-tabs{margin:-8px -8px 8px}
.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filter-input{width:200px}
.chip-select,.chip-toggle{width:auto;height:28px;padding:0 8px;border:1px solid var(--line-2);border-radius:14px;background:#fff;color:var(--muted)}
.chip-select.on,.chip-toggle.on{border-color:var(--green);background:var(--green-50);color:var(--green);font-weight:600}

/* Table */
.tablewrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px}
.panel .tablewrap{border:0;border-radius:0}
.tbl{width:100%;border-collapse:collapse}
.tbl th{position:sticky;top:0;height:32px;padding:0 12px;background:#f8f9f9;border-bottom:1px solid var(--line);text-align:left;color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}
.th-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font-weight:600}
.caret{width:0;height:0;border:4px solid transparent;border-top-color:transparent;opacity:.0}
th.sorted .th-btn{color:var(--ink)}
th[aria-sort=ascending] .caret{border-bottom-color:var(--ink);border-top:0;opacity:1;margin-top:-4px}
th[aria-sort=descending] .caret{border-top-color:var(--ink);opacity:1;margin-top:4px}
.tbl td{height:40px;padding:4px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.clickable{cursor:pointer}.tbl tr.clickable:hover td{background:#f8faf9}
.num{text-align:right;font-variant-numeric:tabular-nums}
.trunc{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cell-stack{display:grid}

/* Lists */
.list{display:grid}
.item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 16px;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.item:last-child{border-bottom:0}a.item:hover{background:#f8faf9}
.item-main{display:grid;min-width:0;flex:1}.item-main .muted,.item-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.item-side{display:flex;align-items:center;gap:8px;flex:none}
.task-item{justify-content:flex-start}.task-item .item-side{margin-left:auto}
.list.tight .item{padding-left:0;padding-right:0}

/* Pipeline */
.board{display:flex;gap:8px;overflow-x:auto;align-items:flex-start;padding-bottom:16px;scroll-snap-type:x proximity}
.lane{flex:0 0 252px;background:#eaecec;border:1px solid transparent;border-radius:8px;padding:8px;scroll-snap-align:start}
.lane.over{border-color:var(--green);background:var(--green-50)}
.lane.st-lost{background:#f1e8e7}
.lane-head{display:flex;align-items:center;gap:8px;padding:0 4px 8px}
.lane-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#fff;font-size:12px;font-weight:600}
.lane-sum{margin-left:auto}
.lane-body{display:grid;gap:8px;min-height:40px}
.lane-empty{padding:8px 4px}
.card{display:grid;gap:2px;padding:8px 12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);cursor:grab}
.card:hover{border-color:var(--line-2)}.card.dragging{opacity:.4}
.card-title{font-size:13px}
.card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.card-val{font-weight:600}
.mv{display:none;margin-top:8px}

/* Highlights bar + path (record pages) */
.highlights{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;display:grid;gap:16px}
.hl-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.hl-title{display:grid;gap:2px}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);font-weight:650}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}
.metric{display:grid;gap:2px;min-width:0}.metric-label{font-size:12px;color:var(--muted)}.metric-value{font-weight:600;overflow-wrap:anywhere}
.path{display:flex;list-style:none;margin:0;padding:0;overflow-x:auto}
.path li{flex:1 0 auto}.path li+li{margin-left:-8px}
.path-step{width:100%;height:32px;padding:0 20px;border:0;background:#e4e8e6;color:var(--muted);font-weight:600;white-space:nowrap;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%,10px 50%)}
.path li:first-child .path-step{clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);border-radius:var(--r) 0 0 var(--r)}
.path li:last-child .path-step{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,10px 50%)}
.path-step.done{background:var(--green-100);color:var(--green)}
.path-step.current{background:var(--green);color:#fff}
.path-step.current.lost{background:var(--red)}
.path-step:not(:disabled):not(.current):hover{filter:brightness(.95)}
.record-cols{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:16px;align-items:start}
.record-left,.record-right{display:grid;gap:16px;min-width:0}
.kv{margin:0 0 16px}.kv-row{display:grid;grid-template-columns:112px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.kv dt{color:var(--muted)}.kv dd{margin:0}
.edit-form{display:grid;gap:8px}
.field{display:grid;gap:4px;min-width:0}.field-label{font-size:12px;font-weight:600;color:var(--muted)}
.composer{display:grid;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--r);background:#fafbfb;margin-bottom:16px}
.composer textarea{background:#fff}
.task-fields{display:grid;grid-template-columns:2fr 1fr;gap:8px}
.composer-foot{display:flex;justify-content:flex-end;align-items:center;gap:8px}
.subhead{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:650;margin:16px 0 8px}
.timeline{list-style:none;margin:0;padding:0}
.tl-item{position:relative;display:flex;gap:8px;padding:0 0 16px 0}
.tl-item::before{content:"";position:absolute;left:4px;top:12px;bottom:0;width:1px;background:var(--line)}
.tl-item:last-child::before{display:none}
.tl-dot{flex:none;width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--faint)}
.tl-item.call .tl-dot{background:var(--blue)}.tl-item.whatsapp .tl-dot{background:#2e8a5e}.tl-item.stage .tl-dot{background:var(--amber)}
.tl-body{min-width:0;flex:1}.tl-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.tl-body p{margin-top:2px;overflow-wrap:anywhere;white-space:pre-wrap}
.guidance{margin:0}

/* Charts */
.chart{display:block;width:100%;height:auto;max-height:420px}
.chart .ct{fill:var(--ink);font-size:12px}.chart .ct.strong{font-weight:650}.chart .ct.faint{fill:var(--faint)}
.chart .bar{fill:var(--green)}
.report-body{display:grid;gap:16px}

/* Modal + toast */
dialog{width:min(520px,calc(100% - 32px));max-height:90vh;padding:0;border:1px solid var(--line-2);border-radius:8px;background:#fff;color:var(--ink);box-shadow:0 12px 32px rgba(0,0,0,.18)}
dialog::backdrop{background:rgba(20,30,25,.45)}
#modal-form{padding:24px;display:grid;gap:16px}
.modal-head,.modal-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.modal-foot{justify-content:flex-end}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .wide{grid-column:1/-1}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);max-width:min(480px,calc(100% - 32px));padding:8px 16px;border-radius:var(--r);background:var(--ink);color:#fff;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s;z-index:60}
.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:var(--red)}

/* Tablet and phone */
@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.record-cols{grid-template-columns:1fr}.record-right{order:-1}}
@media(max-width:760px){
  body{font-size:14px}
  input,select,textarea{font-size:16px;height:40px}textarea{height:auto}
  .btn{height:40px}.btn.small{height:32px}
  #shell{display:block}
  #side{position:fixed;inset:auto 0 0 0;top:auto;z-index:40;height:auto;flex-direction:row;padding:0 0 env(safe-area-inset-bottom);border-top:1px solid var(--green-d)}
  .brand,.side-foot{display:none}
  #navlist{flex-direction:row;margin:0;gap:0;overflow-x:auto}
  .nav-item{flex:1 0 auto;flex-direction:column;justify-content:center;gap:2px;height:56px;min-width:68px;padding:0 8px;border-radius:0;font-size:11px}
  .nav-item .ico{width:20px;height:20px}
  #top{position:sticky;padding:0 16px}
  .search kbd{display:none}.search input{height:32px}.search .ico{top:8px}
  .mobile-only{display:inline-flex}
  .newwrap{margin-left:0}
  #view{padding:16px 16px 88px}
  h1{font-size:18px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kpi{padding:8px 16px}.kpi strong{font-size:20px}
  .cols-2{grid-template-columns:1fr}
  .filter-input{width:100%}
  .lane{flex-basis:84vw}.mv{display:block}.card{cursor:pointer}
  .form-grid{grid-template-columns:1fr}
  .task-fields{grid-template-columns:1fr}
  .range input{width:100%}
  .range{width:100%}
  /* table becomes cards */
  .tablewrap{border:0;background:none;overflow:visible}
  .tbl,.tbl tbody{display:block}.tbl thead{display:none}
  .tbl tr{display:grid;gap:4px;margin-bottom:8px;padding:8px 16px;background:var(--panel);border:1px solid var(--line);border-radius:8px}
  .panel .tbl tr{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0}
  .tbl td{display:flex;justify-content:space-between;align-items:center;gap:16px;height:auto;min-height:24px;padding:0;border:0;text-align:right}
  .tbl td::before{content:attr(data-label);color:var(--muted);font-size:12px;text-align:left;flex:none}
  .tbl td.primary{font-size:15px;text-align:left}.tbl td.primary::before{display:none}
  .tbl td:empty{display:none}
  .trunc{max-width:none;white-space:normal}
  .tbl td.num{text-align:right}
  .kv-row{grid-template-columns:96px 1fr}
  .toast{bottom:80px}
}

/* Five compact qualification questions, usable on phones. */
.qualification-form fieldset{margin:0 0 12px;padding:8px;border:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.qualification-form legend{font-weight:600;font-size:12px;padding:0 4px}
.qualification-form input,.qualification-form select{min-width:0;width:100%}
.qualification-form .field{min-width:0;margin:0}
@media(max-width:380px){.qualification-form fieldset{grid-template-columns:1fr}}

/* Field desk: restrained forest, cool paper and brass. */
@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--line:#dfe3e1;--bg:#f5f6f5;--panel:#fff;--surface:#eef0ef;--shadow-1:0 1px 2px #172b2010,0 3px 8px #172b2005;--r:8px;--top-h:64px;--nav-w:208px;--focus:var(--green);--action:var(--green);--action-hover:var(--green-d)}
body{font-family:Manrope,system-ui,sans-serif;font-size:13px;font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent}
button,a,input,select,summary{touch-action:manipulation}
h1{font-size:22px;font-weight:700;letter-spacing:-.01em}h2{font-weight:700}h3{font-size:14px}
.small,.kpi-label,.kpi-note,.metric-label,.field-label,.crumbs{font-size:13px}.eyebrow,.subhead{font-size:11.5px;letter-spacing:.04em}
.btn{height:36px;transition:background 120ms ease-out,box-shadow 120ms ease-out,transform 120ms ease-out;border-radius:6px}
.btn.small{height:28px;font-size:13px}.btn:active{transform:scale(.97)}.btn:hover{background:var(--surface)}
.btn.primary{background:var(--action);border-color:var(--action);box-shadow:inset 0 1px 0 #ffffff24,0 1px 2px #172b2014}.btn.primary:hover{background:var(--action-hover)}
.btn.ghost:hover{background:var(--surface)}
input,select,textarea{background:var(--panel);height:36px;transition:border-color 150ms ease-out,box-shadow 150ms ease-out;min-width:0}
textarea{height:auto}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--green-100)}
select{appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2366706b' stroke-width='1.75'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
input[type=date],input[type=datetime-local]{font-variant-numeric:tabular-nums;padding-right:8px}
input[type=checkbox],input[type=radio]{appearance:none;display:inline-grid;place-content:center;flex:none;width:20px;height:20px;margin:0;border:1.5px solid var(--line-2);border-radius:6px;background:var(--panel);vertical-align:middle;cursor:pointer;transition:background 180ms,border-color 180ms}
input[type=checkbox]::before{content:'';width:10px;height:6px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg) scale(0);transition:transform 180ms ease-out;margin-top:-3px}
input[type=checkbox]:checked,input[type=radio]:checked{background:var(--action);border-color:var(--action)}input[type=checkbox]:checked::before{transform:rotate(-45deg) scale(1)}
input[type=radio]{border-radius:50%}input[type=radio]::before{content:'';width:8px;height:8px;border-radius:50%;background:white;transform:scale(0);transition:transform 180ms}input[type=radio]:checked::before{transform:scale(1)}
label:has(>input[type=checkbox]){display:flex;align-items:center;gap:8px;min-height:36px}
input[role=switch]{width:36px;border-radius:20px;justify-content:start;padding:2px}input[role=switch]::before{width:14px;height:14px;border:0;border-radius:50%;margin:0;background:var(--muted);transform:none}input[role=switch]:checked::before{transform:translateX(14px);background:#fff}
#side{padding:16px 8px}.brand{height:40px;margin-bottom:16px}.mark{width:28px;height:28px;border-radius:7px}.nav-item{height:40px;margin-bottom:2px}.ico{stroke-width:1.75;width:18px;height:18px}
#top{gap:16px}.search input{background:var(--bg);height:36px}.search .ico{top:9px}.search kbd{top:8px}.results,.menu,.result{background:var(--panel)}.results{top:44px}.menu{top:44px;box-shadow:0 8px 24px #172b2020}.menu-item{display:flex;align-items:center;gap:12px;min-height:40px}
.more-nav{display:none}.panel,.kpi,.highlights,.tablewrap{box-shadow:var(--shadow-1)}
.panel-body > * + *{margin-top:12px}.balance-stack,.details-body{display:grid;gap:16px}.balance-stack .field{max-width:320px}
.kpi{gap:4px}.kpi strong{font-size:26px;line-height:32px;font-weight:700;letter-spacing:-.02em}.kpi.warn{border-left:3px solid var(--amber)}.kpi.overdue{border-left:3px solid var(--red)}.kpi-note{color:var(--muted)}
.panel-head{min-height:48px}.empty-mark{display:grid;place-items:center;border:0;border-radius:8px;background:var(--surface);width:40px;height:40px}.empty-mark .ico{width:24px;height:24px}
.tabs{border:1px solid var(--line);padding:4px;border-radius:8px;background:var(--surface);width:max-content;max-width:100%;gap:2px}.tab{border:0;border-radius:5px;height:32px}.tab.on{background:var(--panel);box-shadow:var(--shadow-1);color:var(--green);font-weight:700}.small-tabs{margin:0 0 4px;width:100%}.small-tabs .tab{flex:1}
.chip-toggle,.chip-select{height:32px;border-radius:6px;background-color:var(--panel)}.chip-toggle{transition:background 180ms ease-out}.chip-toggle.on{box-shadow:inset 0 0 0 1px var(--green)}
.chip,.tag{font-size:11.5px}.chip.st-new{background:var(--blue-50);color:var(--blue)}.chip.st-new::before{background:var(--blue)}.chip.st-qualified{background:var(--green-50);color:var(--green)}
.tier{display:inline-flex;align-items:center;gap:6px;padding:2px 6px;font-size:11.5px;border-radius:5px;background:var(--surface);color:var(--muted);white-space:nowrap;font-weight:700}.tier b{font-weight:600;border-left:1px solid currentColor;padding-left:6px;opacity:.85}.tier-hot{background:var(--amber-50);color:var(--amber)}.tier-warm{background:var(--green-50);color:var(--green)}.date-chip{font-size:13px;white-space:nowrap}
.tbl th{font-size:11.5px;color:#55605b;background:var(--bg);height:36px}.tbl td{height:44px}.tbl th.num{text-align:right}.tbl tr.clickable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.tbl tr.clickable:hover td,.tbl tr.clickable:focus-visible td{background:var(--green-50)}
.contact-actions{display:flex;gap:8px;flex-shrink:0}.icon-btn{width:44px;height:44px;padding:0;color:var(--green);background:transparent;border-color:transparent}.icon-btn:hover{border-color:var(--line);background:var(--green-50)}
.lead-item{gap:8px}.lead-item .item-main{color:inherit}.lead-item .item-side{flex-wrap:wrap;justify-content:flex-end;max-width:160px}.lead-chips{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.leads-page [data-key=score]{display:none}
.task-item{min-height:64px;transition:opacity 180ms ease-out,background 180ms ease-out}.task-item.completed{opacity:.5;background:var(--green-50)}.task-item.completed strong{text-decoration:line-through}.task-item .item-main strong{white-space:normal}.task-item .item-side{max-width:100px}
.next-call{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--green);border-radius:8px;box-shadow:var(--shadow-1)}.next-label{display:block;font-size:13px;color:var(--green);font-weight:700;margin-bottom:8px}.next-call h2{font-size:22px;letter-spacing:-.01em;color:var(--ink)}.next-why{font-size:13px;margin-top:12px;color:var(--muted)}.next-call-controls{display:grid;gap:4px}.next-call .btn{height:48px}.next-call .contact-actions .btn{min-width:120px}
.board{padding-right:16px;max-width:100%}.lane{flex-basis:260px;background:#eef0ef}.card{background:var(--panel);padding:12px;gap:4px;transition:box-shadow 180ms,border-color 180ms}.card:hover{box-shadow:0 4px 12px #172b2014}.card .contact-actions{margin-left:auto}.card .icon-btn{width:36px;height:36px}.card .mv{margin-top:4px}
.path-step{height:36px;font-weight:600}.path-step.done::before{content:'\2713';margin-right:8px}.phone-stage{display:none}.record-follow{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.follow-chips{display:flex;gap:8px;flex-wrap:wrap}.record-dock{display:none}
.record-details > summary{padding:16px;font-weight:700;border-bottom:1px solid var(--line)}summary{cursor:pointer;min-height:36px;line-height:24px;list-style-position:inside}.more-fields{margin-top:8px}.more-fields > summary{font-weight:600;color:var(--muted)}.edit-form{gap:12px}.composer{padding:12px;background:var(--bg)}.composer textarea{background:var(--panel)}.tl-dot{display:grid;place-items:center;width:28px;height:28px;margin:0;border-radius:7px;background:var(--surface);color:var(--muted)}.tl-dot .ico{width:16px;height:16px}.tl-item.call .tl-dot{background:var(--blue-50);color:var(--blue)}.tl-item.whatsapp .tl-dot{background:var(--green-50);color:var(--green)}.tl-item.stage .tl-dot{background:var(--amber-50);color:var(--amber)}.tl-item::before{left:14px;top:30px}.tl-item{gap:12px;padding-bottom:24px}.tl-head .small{font-size:11.5px}
.funnel{display:grid;gap:16px}.funnel-row{display:grid;grid-template-columns:128px minmax(40px,1fr) 40px 48px;gap:16px;align-items:center}.funnel-track{height:24px;background:var(--surface);border-radius:4px;overflow:hidden}.funnel-track span{height:100%;display:block;background:var(--action);border-radius:4px}
dialog{border:0;box-shadow:0 24px 80px #10231940;background:var(--panel);max-height:min(90dvh,var(--visual-height,90dvh))}#modal-form{gap:16px}.modal-foot{position:sticky;bottom:-24px;background:var(--panel);padding:16px 0 0;border-top:1px solid var(--line)}.modal-head{align-items:center}.modal-head h2{font-size:22px}.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.outcome-btn{height:56px;font-weight:700}.outcome-btn:first-of-type{background:var(--green-50);color:var(--green);border-color:var(--green)}.more-sheet{padding:24px}.more-links{display:grid;margin:16px 0}.more-links a{color:var(--ink);text-decoration:none}.more-links .menu-item{border-bottom:1px solid var(--line)}
.toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:grid;gap:8px;z-index:100;max-width:calc(100% - 32px);width:max-content}.toast,.toast.show{position:static;display:flex;align-items:center;gap:16px;transform:none;max-width:100%;pointer-events:auto;background:var(--ink);color:var(--panel);box-shadow:0 4px 16px #0002;min-height:44px}.toast.bad{background:var(--red);color:white}
.login-card{max-width:400px;margin-top:14vh;padding:40px 32px;text-align:center;box-shadow:0 8px 40px #172b200a}.login-mark{width:48px;height:48px;font-size:22px;margin:0 auto 24px;background:var(--action);color:#fff}.login-brand{font-size:13px;letter-spacing:0;text-transform:none}.login-card h1{margin:16px 0}.login-card #google{display:flex;justify-content:center;margin:24px 0}.login-hint{font-size:13px}
@media(hover:hover) and (min-width:761px){.lead-item .contact-actions,.tbl .contact-actions{opacity:0;transition:opacity 150ms}.lead-item:hover .contact-actions,.lead-item:focus-within .contact-actions,.tbl tr:hover .contact-actions,.tbl tr:focus-within .contact-actions{opacity:1}}
@media(max-width:760px){
 :root{--top-h:64px}body{font-size:14px}.small,.chip,.tag,.tier,.eyebrow,.subhead,.tbl td::before,.tl-head .small,.qualification-form legend,.nav-item{font-size:13px}
 h1{font-size:22px}input,select,textarea{font-size:16px;min-height:44px}textarea{height:auto}.btn,.btn.small,.tab,.chip-toggle,.chip-select{min-height:44px}.btn.small{font-size:13px}.tabs{width:100%}.tab{flex:1;padding:0 10px}.chip-select{max-width:100%}
 input[type=checkbox],input[type=radio]{min-height:24px;width:24px;height:24px}input[role=switch]{width:40px;min-height:24px}.task-item{min-height:56px;gap:12px;padding:12px}.task-item .item-main{gap:4px}.task-item .item-side{margin-left:0;max-width:70px}.task-item .item-main a{display:inline-flex;align-items:center;min-height:44px}
 #side{padding:0 0 env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);color:var(--muted)}#navlist{overflow:visible;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%}.nav-item{display:none;min-width:0;height:64px;margin:0;color:var(--muted);border:0;background:transparent;padding:0 2px;font-weight:600}.nav-item[data-nav=home],.nav-item[data-nav=leads],.nav-item[data-nav=tasks],.nav-item[data-nav=collections],.nav-item.more-nav{display:flex}.nav-item.active{color:var(--green);background:var(--green-50)}.nav-item:hover{color:var(--green);background:var(--green-50)}.nav-item .ico{width:22px;height:22px}
 #signout-m{display:none}#top{padding:8px 16px;height:64px}.search{max-width:none}.search input{height:44px}.search .ico{top:13px}#view{padding:16px 16px calc(148px + env(safe-area-inset-bottom))}.newwrap{position:fixed;right:16px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:35}#newbtn{height:52px;padding:0 20px;border-radius:26px;box-shadow:0 4px 16px #10231930}.menu{top:auto;bottom:64px;min-width:200px}.menu-item{min-height:48px}
 body:has(.record-dock) .newwrap{bottom:calc(148px + env(safe-area-inset-bottom))}body:has(.record-dock) #view{padding-bottom:calc(208px + env(safe-area-inset-bottom))}
 .next-call{display:grid;gap:16px;padding:16px}.next-call .contact-actions{display:grid;grid-template-columns:1fr 1fr}.next-call .contact-actions .btn{min-width:0}.next-call-controls{width:100%}.next-call h2{font-size:22px}.next-why{margin-top:8px}.next-label{margin-bottom:4px}.next-call .btn.ghost{height:44px;min-height:44px}
 .kpi{padding:12px}.kpi strong{font-size:26px}.kpi-note{font-size:13px}.kpis{gap:8px}.panel-head{padding:8px 12px}.panel-body{padding:12px}.metrics{gap:12px}.hl-top{gap:8px}.highlights{padding:16px}.record .highlights .actions{display:none}.record .metrics{grid-template-columns:1fr 1fr}.record .metric:nth-child(5){grid-column:1/-1}.record .metric:nth-child(6){display:none}
 .path{display:none}.phone-stage{display:block;width:100%}.record-follow{display:grid;gap:8px}.follow-chips{gap:6px}.follow-chips .chip-toggle{flex:1;padding:0 8px}.record-dock{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));padding:8px 12px;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 12px #172b2008;z-index:36}.record-dock .contact-actions{display:flex;flex:1;gap:8px}.record-dock .btn{flex:1;padding:0 10px;height:48px;font-size:13px}.record-dock .ico{width:16px;height:16px}.record-cols{grid-template-columns:1fr}.record-right{order:-1}.record-details > summary{padding:12px;min-height:48px}.composer{padding:8px}.small-tabs .tab{padding:0 8px}
 .lead-item{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:4px 8px}.lead-item > .item-main{grid-column:1}.lead-item > .item-side{grid-column:1;justify-content:flex-start;max-width:none}.lead-item > .contact-actions{grid-column:2;grid-row:1/3}.lead-item .item-main .muted{font-size:13px}.icon-btn,.card .icon-btn{width:44px;height:44px}
 .leads-page .tbl tr{position:relative;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:12px;min-height:112px}.leads-page .tbl td{min-height:0;justify-content:flex-start;text-align:left;gap:4px}.leads-page .tbl td::before{display:none}.leads-page .tbl [data-key=name]{grid-column:1}.leads-page .cell-stack .small{display:none}.leads-page .tbl [data-key=firm]{grid-column:1;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.leads-page .tbl [data-key=stage]{grid-column:1/-1;grid-row:3}.leads-page .tbl [data-key=next_followup]{grid-column:2;grid-row:3;justify-content:flex-end}.leads-page .tbl [data-key=actions]{grid-column:2;grid-row:1/3}.leads-page .tbl [data-key=state],.leads-page .tbl [data-key=products],.leads-page .tbl [data-key=score],.leads-page .tbl [data-key=owner],.leads-page .tbl [data-key=created]{display:none}.leads-page .lead-chips .tag{display:none}
 .lane{flex-basis:280px;max-width:calc(100vw - 48px)}.card .contact-actions{margin-left:0}.card-foot{gap:8px}.board{padding-right:16px}.funnel-row{grid-template-columns:104px minmax(20px,1fr) 24px 42px;gap:8px;font-size:13px}.chart .ct{font-size:13px}
 dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:min(100dvh,var(--visual-height,100dvh));border-radius:16px 16px 0 0;overflow:auto}#modal-form{padding:20px 16px 0;gap:12px;max-height:inherit;overflow:auto}.modal-foot{bottom:0;padding:12px 0 calc(12px + env(safe-area-inset-bottom));z-index:1}.modal-foot .btn{flex:1;height:48px}.modal-head{position:sticky;top:-20px;background:var(--panel);z-index:1;padding-top:4px}.modal-head h2{font-size:22px}.outcome-btn{min-height:56px}.form-grid{gap:12px}.more-sheet{padding:20px 16px calc(16px + env(safe-area-inset-bottom))}.toasts{bottom:calc(144px + env(safe-area-inset-bottom))}.record .toasts{bottom:210px}.login-card{margin-top:8vh}
}
@keyframes pulse{50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.switch-field{display:flex;align-items:center;gap:12px;min-height:44px}
@media(max-width:760px){
 .leads-page .tbl [data-key=stage]{grid-column:1}.leads-page .lead-chips{gap:4px}.record .highlights .actions:has(.claim-lead){display:flex}.record .highlights .actions:has(.claim-lead) > a{display:none}
 .reorder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px}.reorder-item > .item-main{grid-column:1/-1}.reorder-item > .item-side{white-space:normal}.reorder-item .actions{justify-content:flex-end}.reorder-item .btn{padding:0 8px}
 .record-dock .contact-actions .btn{min-width:0}.record-dock .btn{gap:6px}.outcome-grid .btn{font-size:14px}
}
.task-check{display:grid!important;place-items:center;min-width:44px;min-height:44px;cursor:pointer;flex:none}
@media(max-width:760px){dialog{bottom:max(0px,calc(100dvh - var(--visual-height,100dvh) - var(--visual-top,0px)))}.tbl td{overflow-wrap:anywhere;min-width:0}.tbl td > *{min-width:0}.leads-page .tbl td.primary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leads-page .tbl td.primary .cell-stack{min-width:0;max-width:100%}.task-item{gap:8px;padding-left:8px}}
.page > *,.next-call-copy{min-width:0}.bar-chart{display:grid;gap:12px}.bar-chart-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(40px,2fr) 32px;gap:12px;align-items:center}.bar-label{overflow-wrap:anywhere}.bar-chart .funnel-track{height:16px}.card-title,.next-call h2{overflow-wrap:anywhere}
@media(max-width:760px){.bar-chart-row{grid-template-columns:minmax(100px,1fr) minmax(40px,1fr) 24px;gap:8px;font-size:13px}.bar-chart .funnel-track{height:16px}}

/* Round 4A uses the existing palette and mobile sheet rules. */
.product-picker,.sales-lines,.product-results{display:grid;gap:12px;min-width:0}
.product-results .btn{white-space:normal;justify-content:flex-start;text-align:left;height:auto;min-height:44px}
.sales-line{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r);min-width:0}
.sales-line-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sales-line input{width:100%;min-width:0}.sales-total{background:var(--band);padding:12px;border-radius:var(--r);overflow-wrap:anywhere}
.quote-header,.quote-totals,.quote-notes{padding:20px}.quote-totals{text-align:right;background:var(--band)}.quote-notes{white-space:pre-wrap;overflow-wrap:anywhere}
.order-links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.order-links .btn{overflow-wrap:anywhere;white-space:normal}
.quote-paper{overflow:hidden}.quote-header p{overflow-wrap:anywhere}
@media(max-width:760px){.sales-line-fields{grid-template-columns:1fr}.quote-page .actions{display:grid;grid-template-columns:1fr 1fr}.quote-page .actions .btn{white-space:normal;height:auto;min-height:44px}.quote-header,.quote-totals,.quote-notes{padding:16px}.more-sheet > .btn{margin:8px 4px 0 0}}
@media print{
 @page{margin:14mm;size:A4}
 body:has(.quote-page){--panel:#fff;--surface:#fff;--ink:#000;--muted:#444;--line:#ccc;--band:#eee;background:white!important;color:black!important}
 body:has(.quote-page) #side,body:has(.quote-page) #top,.no-print,body:has(.quote-page) .toasts,body:has(.quote-page) dialog{display:none!important}
 body:has(.quote-page) #shell,body:has(.quote-page) #view,body:has(.quote-page) .main{display:block!important;margin:0!important;padding:0!important;width:100%!important}
 .quote-page{max-width:none!important}.quote-paper{border:0!important;box-shadow:none!important;background:white!important;color:black!important}
 .quote-page .tbl{display:table!important;width:100%!important}.quote-page .tbl thead{display:table-header-group!important}.quote-page .tbl tbody{display:table-row-group!important}.quote-page .tbl tr{display:table-row!important;break-inside:avoid}.quote-page .tbl th,.quote-page .tbl td{display:table-cell!important;text-align:left!important;padding:8px!important;color:black!important;white-space:normal!important}.quote-page .tbl td::before{display:none!important}
 .quote-page .tablewrap{overflow:visible!important;border:0!important}.quote-totals{break-inside:avoid;background:#eee!important;color:black!important}.quote-header{color:black!important}.quote-notes{color:black!important}
}

/* Round 4B: existing tokens, bordered controls and phone sheets. */
.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--band);padding:12px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:12px}
.bulk-bar[hidden]{display:none}.leads-page .row-select{display:grid;place-items:center;min-width:44px;min-height:44px;cursor:pointer}.row-select input{width:20px;height:20px}
.filter-date{display:grid;gap:4px;font-size:12px;color:var(--muted)}.filter-date input{min-height:44px;max-width:160px}
.bell-button{min-width:44px;min-height:44px;gap:4px}.notification-count{font-variant-numeric:tabular-nums}.notification-sheet{max-width:540px}.notification-sheet .item-main{white-space:normal;overflow-wrap:anywhere}
.import-page textarea{width:100%;min-height:160px}.import-page .panel{overflow:hidden}.import-page .tbl td{overflow-wrap:anywhere}
@media(max-width:760px){
 #top{gap:8px}#searchbox{flex:1;min-width:0;max-width:none}#top #notifications,#top #language{padding:0 8px}#top #notifications,#top #language{display:flex;min-height:44px;min-width:44px}#top #signout-m{display:none}
 .leads-page .tbl [data-key=select]{display:flex;grid-column:1/-1;grid-row:4;justify-content:flex-start}.leads-page .tbl tr{padding-bottom:4px}.bulk-bar .btn{min-height:44px;flex:1 1 40%;white-space:normal;height:auto}
 .page-actions .btn{white-space:normal;height:auto;min-height:44px;max-width:100%;overflow-wrap:anywhere}.filters .btn,.filters select{min-height:44px;max-width:100%}.filter-date{flex:1;min-width:0}.filter-date input{max-width:100%;width:100%}.notification-sheet{max-width:100%}.notification-sheet .btn{min-height:44px}.import-page .form-grid{grid-template-columns:1fr}
}

/* Polish: grouped navigation, compact queues, contextual controls. Existing tokens below stay intact. */
.nav-group{display:grid;gap:2px}.nav-label{padding:12px 12px 4px;color:var(--faint);font-size:11px;font-weight:600}
#navlist{overflow-y:auto;flex-shrink:1;gap:6px}.nav-group:last-of-type{margin-top:auto;padding-top:8px}.nav-item{flex-shrink:0}
.more-links{gap:12px}.more-links .menu-item{display:flex;align-items:center;gap:12px;border:0}.more-links .nav-label{padding-top:0}
#top .quiet-control{position:relative;height:36px;min-height:36px;min-width:36px;padding:0;border-color:transparent;background:var(--surface);color:var(--muted);flex:none}
#top #notifications,#top #language{height:36px;min-height:36px;min-width:36px}#top #notifications{width:36px}
#top .quiet-control:hover{background:var(--line)}#top .language-control{padding:3px;gap:2px;font-size:11px;font-weight:600}
.language-control span{display:grid;place-items:center;padding:0 5px;height:28px;border-radius:5px}.language-control .on{background:var(--panel);color:var(--ink)}.language-control .language-divider{padding:0;color:var(--faint)}
.notification-count{position:absolute;top:6px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--ink)}
.lead-toolbar,.lead-queues,.leads-search{display:flex;align-items:center;gap:12px}.lead-toolbar{justify-content:space-between;flex-wrap:wrap}.lead-queues{gap:8px}.lead-queues .tabs{width:auto;flex:none;margin:0}
.leads-search{gap:8px;flex:1;justify-content:flex-end}.leads-search .filter-input{max-width:260px;min-width:120px;width:100%}.leads-search .btn{flex:none}
.views-dropdown{position:relative;flex:none}.views-trigger{list-style:none;gap:8px}.views-trigger::-webkit-details-marker{display:none}
.views-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:25;min-width:220px;max-width:300px;padding:8px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 8px 24px #0001}
.views-menu p{padding:8px}.views-menu .btn{width:100%;margin-top:4px}.views-menu .menu-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-filters{display:flex;gap:6px;overflow-x:auto;white-space:nowrap;padding:1px 0 4px}.filter-chip{display:inline-flex;align-items:center;gap:8px;flex:none;border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--panel);font-size:12px;color:var(--muted)}.filter-chip:hover{border-color:var(--line-2);color:var(--ink)}
.filter-dialog{position:fixed;inset:196px 24px auto auto;margin:0;width:400px;padding:20px;max-height:calc(100dvh - 220px);border:1px solid var(--line);border-radius:12px;overflow:auto;box-shadow:0 12px 40px #0002}
.filter-dialog::backdrop{background:transparent}.filter-dialog .modal-head{margin-bottom:16px}.filter-dialog .modal-head h2{font-size:16px}.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filter-grid .field,.filter-grid .filter-date{min-width:0}.filter-grid select,.filter-grid input{width:100%;max-width:100%;height:36px;min-height:36px;border-radius:var(--r)}.filter-grid .chip-toggle{white-space:normal;height:auto;min-height:36px;border-radius:var(--r)}
.bulk-bar{position:fixed;bottom:20px;left:calc(var(--nav-w) + (100% - var(--nav-w))/2);transform:translateX(-50%);z-index:30;max-width:calc(100% - var(--nav-w) - 48px);width:max-content;margin:0;padding:6px 12px;background:var(--panel);box-shadow:0 4px 20px #0001;flex-wrap:nowrap;gap:4px}
.bulk-bar strong{white-space:nowrap;font-size:12px;padding-right:12px;border-right:1px solid var(--line);margin-right:4px}.bulk-bar .btn{border-color:transparent;background:transparent;font-size:12px;padding:0 10px}.bulk-bar .btn:hover{background:var(--surface)}
.leads-page:has(.bulk-bar:not([hidden])){padding-bottom:64px}.leads-page .tbl .contact-actions{opacity:1;gap:2px}.leads-page .tbl .icon-btn{border:0;background:transparent;width:30px;height:32px}.leads-page .lead-chips{display:flex;flex-wrap:nowrap;align-items:center;gap:6px}
.leads-page .tbl .tier{flex:none;white-space:nowrap}.leads-page .tbl .tier b{display:none}.leads-page .tbl .chip{padding:0 6px}.leads-page .tbl .tier{padding:0 5px}
.settings-tabs{width:max-content;max-width:100%;overflow-x:auto}.settings-tabs .tab{display:flex;align-items:center;justify-content:center;text-decoration:none;flex:none}.settings-content > .page-head:has(>div:empty):not(:has(p,button,a,input,select)){display:none}
.integration-status,.target-content{display:grid;gap:12px}.integration-status .btn{justify-self:start}.panel-actions input[type=month]{width:160px}.target-content > .tablewrap{margin:0 -16px -16px;width:calc(100% + 32px)}
.cols-2{align-items:start}
@media(min-width:761px){
 .kpis:has(.kpi:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}
 .leads-page .tbl{table-layout:fixed;min-width:1080px}.leads-page .tbl th,.leads-page .tbl td{padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leads-page .tbl .cell-stack{min-width:0}.leads-page .tbl .cell-stack strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leads-page .tbl .row-select{min-width:28px}
 .leads-page .tbl th:nth-child(1){width:44px}.leads-page .tbl th:nth-child(2){width:16%}.leads-page .tbl th:nth-child(3){width:12%}.leads-page .tbl th:nth-child(4){width:11%}.leads-page .tbl th:nth-child(5){width:13%}.leads-page .tbl th:nth-child(6){width:190px}.leads-page .tbl th:nth-child(7){width:90px}.leads-page .tbl th:nth-child(8){width:100px}.leads-page .tbl th:nth-child(9){width:76px}
}
@media(max-width:760px){
 .tbl td{height:auto;min-height:26px}.tbl td.primary{min-height:32px}.tbl tr{padding:12px}.page-actions:has(.range){width:100%}.range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.range .chip-select{grid-column:1/-1;justify-self:start}.range input{width:100%;min-width:0;font-size:14px}
 #navlist > .nav-group{display:contents}#navlist .nav-label{display:none}#navlist .nav-item[data-nav=collections]{display:none}#navlist .nav-item[data-nav=pipeline]{display:flex}
 #top .quiet-control{height:36px;min-height:36px;min-width:36px}#top #notifications{padding:0}#top #language{padding:3px}.search kbd{display:none}.search input{padding-right:8px;font-size:14px}
 .more-links{grid-template-columns:1fr 1fr;gap:16px}.more-links .nav-group{align-content:start;margin:0;padding:0}.more-links .menu-item{min-height:44px;padding:6px 8px}.more-links .nav-label{padding-left:8px}
 .lead-toolbar{display:grid;gap:12px}.lead-queues{justify-content:space-between;gap:6px}.lead-queues .tabs{flex:1;min-width:0;padding:2px}.lead-queues .tab{padding:0 7px;font-size:12px;min-width:0}.views-trigger{padding:0 8px;min-height:44px;font-size:12px}.leads-search .filter-input{max-width:none}.leads-search{width:100%}
 .active-filters .filter-chip{min-height:44px}.filter-dialog{inset:auto 0 0;width:100%;max-height:85dvh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0}.filter-dialog::backdrop{background:#0004}.filter-dialog .modal-head{position:static}.filter-grid select,.filter-grid input,.filter-grid .chip-toggle{height:44px;min-height:44px}
 .leads-page .tbl thead{display:block}.leads-page .tbl thead tr{display:block;padding:0;min-height:44px;border:0;margin-bottom:4px;background:transparent}.leads-page .tbl th{display:none}.leads-page .tbl th:first-child{display:flex;align-items:center;background:transparent;border:0;padding:0}.leads-page .tbl th .row-select{display:flex;gap:8px;padding:0 8px}.leads-page .tbl th .row-select::after{content:'Select';font-size:12px;font-weight:500;color:var(--muted)}html[lang=hi] .leads-page .tbl th .row-select::after{content:'चुनें'}
 .leads-page .tbl tbody tr{grid-template-columns:44px minmax(0,1fr) auto;gap:4px 6px;padding:12px 8px;min-height:112px}.leads-page .tbl td[data-key=select]{grid-column:1;grid-row:1/3;align-self:start}.leads-page .row-select{min-width:44px;min-height:44px}.leads-page .tbl td[data-key=name]{grid-column:2;grid-row:1}.leads-page .tbl td[data-key=firm]{grid-column:2;grid-row:2}.leads-page .tbl td[data-key=actions]{grid-column:3;grid-row:1/3}.leads-page .tbl td[data-key=stage]{grid-column:2;grid-row:3}.leads-page .tbl td[data-key=next_followup]{grid-column:3;grid-row:3}.leads-page .tbl .cell-stack .small{display:block;font-size:11px}.leads-page .tbl .contact-actions{gap:0}.leads-page .tbl .icon-btn{width:44px;height:44px}.leads-page .lead-chips{gap:4px}.leads-page .tbl .chip,.leads-page .tbl .tier{font-size:11px}.leads-page .tbl .date-chip{font-size:11px}
 .bulk-bar{left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));transform:none;max-width:none;width:100%;border-radius:0;padding:8px;overflow-x:auto;gap:2px}.bulk-bar .btn{flex:none;min-height:44px;white-space:nowrap;padding:0 8px}.bulk-bar strong{padding-right:8px}.leads-page:has(.bulk-bar:not([hidden])){padding-bottom:60px}body:has(.bulk-bar:not([hidden])) .newwrap{display:none}
 .settings-tabs{width:100%;padding:2px}.settings-tabs .tab{flex:1;padding:0 8px;font-size:12px}.panel-actions input[type=month]{width:144px;font-size:14px}.target-content > .tablewrap{margin:0;width:auto}.target-content{gap:12px}.settings-content{gap:12px}
 .kpis .kpi{padding:12px}.kpi strong{overflow-wrap:anywhere}.panel-head h2{min-width:0}.panel-actions{min-width:0}.page-head{align-items:center}.tl-head{flex-wrap:wrap}
}

/* Palette, RA 2026-10-12: simple. Neutral greys plus ONE accent (slate navy). No green, no cream, no brass.
   Amber and red only mean something (HOT, overdue). The --green* names now hold the slate accent. */
:root{
  --bg:#f4f5f7;--panel:#fff;--surface:#eceef1;--line:#e1e4e8;--line-2:#c9ced6;
  --ink:#16191d;--muted:#646a73;--faint:#8d939c;
  --green:#2f4560;--green-d:#22354c;--green-50:#eaeef3;--green-100:#d6dde7;
  --action:#2f4560;--action-hover:#22354c;--focus:#2f4560;--brass:#2f4560;
  --shadow-1:0 1px 2px #1016200d
}
#side{background:var(--panel);border-right:1px solid var(--line)}
.nav-item.active{background:var(--green-50);color:var(--green);box-shadow:none}
.nav-item:hover{background:var(--surface)}
.mark{background:var(--ink);color:#fff}
@media(max-width:760px){.nav-item.active{box-shadow:none;background:var(--green-50)}}

/* Dark mode, opt-in from the sidebar or More. Plain warm charcoal, same navy and brass accents. */

/* Look, RA 2026-10-12, after the Dribbble/Figma CRM refs (BizLink most of all): monochrome,
   black actions, one pale band behind the numbers, big type, bordered pipeline cards, a HOT card goes black. */
:root{--green:#16191d;--green-d:#000;--green-50:#eceef0;--green-100:#dfe2e6;--action:#16191d;--action-hover:#000;--focus:#16191d;--band:#eeefe8;--r:8px}
h1{font-size:26px;font-weight:700;letter-spacing:-.02em}
.nav-item.active{background:var(--surface);color:var(--ink)}
.kpis{gap:0;background:var(--band);border-radius:14px;padding:8px}
.kpis .kpi{background:transparent;border:0;box-shadow:none;padding:16px 20px;border-radius:0}
.kpis .kpi + .kpi{border-left:1px solid #dcddd3}
.kpi strong{font-size:32px;line-height:38px}
.next-call{border-left:1px solid var(--line);border-radius:14px}
.panel,.highlights,.tablewrap{border-radius:12px}
.lane{background:transparent;padding:0 4px}
.lane-head{padding:0 0 12px}.lane-head strong{font-size:17px;font-weight:650;letter-spacing:-.01em}
.lane-count{min-width:28px;height:26px;border-radius:6px;background:var(--panel);border:1px solid var(--line-2);font-size:12.5px}
.card{border:1.5px solid var(--line);border-radius:12px;padding:14px;box-shadow:none}
.card:hover{border-color:var(--line-2)}
.card.hot{background:var(--ink);border-color:var(--ink);color:#fff}
.card.hot .muted,.card.hot .small{color:#b9bdc4}
.card.hot .mv{background:#2a2e34;color:#fff;border-color:#3a3f46}
.card.hot .btn{background:#2a2e34;color:#fff;border-color:#3a3f46}
@media(max-width:760px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpis .kpi + .kpi{border-left:0}.kpis .kpi:nth-child(even){border-left:1px solid #dcddd3}.kpi strong{font-size:26px}}

/* Real A2Z logo (RA 14 Oct), replaces the "A2" square */
.brand .logo{height:30px;width:auto;display:block}
.login-logo{height:72px;width:auto;display:block;margin:0 auto 24px}
/* Home cards keep one fixed height; long lists scroll inside the card (RA 14 Oct) */
.home-grid .panel{height:360px;display:flex;flex-direction:column}
.home-grid .panel-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
@media(max-width:760px){
  #top .quiet-control{min-width:44px;min-height:44px;height:44px}
  summary,.item-main > a,.crumbs a,.kv a{min-height:44px;display:inline-flex;align-items:center}
  .reply-label{min-height:44px}
}
/* Sidebar menu scrolls on short screens but never shows a scrollbar (RA 14 Oct) */
#navlist{scrollbar-width:none;-ms-overflow-style:none}
#navlist::-webkit-scrollbar{display:none}

/* Audit polish */
.notice{background:var(--panel);border-color:var(--line-2);color:var(--ink)}
#navlist{min-height:0;position:relative;mask-image:linear-gradient(to bottom,#000 calc(100% - 24px),transparent);}
#navlist.at-end{mask-image:none}
.nav-group:last-of-type{margin-top:0}
@media(max-height:800px) and (min-width:761px){#side{padding:6px}.brand{height:36px}#navlist{gap:3px;margin-top:4px}.nav-label{padding:6px 10px 2px}.nav-item{height:29px}.side-foot{padding-top:5px}}
@media(max-height:660px) and (min-width:761px){#navlist{gap:1px}.nav-label{padding:3px 10px 1px}.nav-item{height:26px}.brand{height:32px}.side-foot .btn{height:28px}}
.home-grid .panel-body{mask-image:linear-gradient(to bottom,#000 calc(100% - 20px),transparent)}
.home-grid .panel-body.at-end{mask-image:none}
.home-grid .item-side{margin-left:auto;justify-content:flex-end;white-space:nowrap}
.home-grid .lead-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px}
.home-grid .lead-item>.item-main{grid-column:1;grid-row:1/3}
.home-grid .lead-item>.item-side{grid-column:2;grid-row:1}
.home-grid .lead-item>.contact-actions{grid-column:2;grid-row:2;justify-content:flex-end}
.kpis:has(.kpi:nth-child(5)) .kpi:nth-child(3n+1){border-left:0}
.chip::before,.chip.st-contacted::before,.chip.st-rate-card-sent::before,.chip.st-negotiating::before,.chip.st-new::before,.chip.st-won::before,.chip.st-lost::before,.chip.st-repeat-buyer::before{background:#8c9298}
.chip.st-new,.chip.st-qualified,.chip.st-won,.chip.st-lost,.chip.st-repeat-buyer{background:var(--surface);color:var(--ink)}
.score-fill.mid,.tl-item.stage .tl-dot{background:var(--surface);color:var(--muted)}
.balance-stack>.tag{justify-self:start;width:max-content}
.hl-top .actions>.actions{display:contents}
.hl-top .actions>.btn,.hl-top .actions>.actions .btn{height:36px}
.filter-grid .filter-date{font-size:13px;color:var(--ink);font-weight:600}
.filter-grid .chip-toggle{min-height:36px;line-height:1.2;padding:6px 8px}
.collections-page .tbl [data-key=name]{font-weight:700}
@media(min-width:761px){.leads-page .tbl{min-width:0;width:100%;table-layout:fixed}.leads-page .tbl th:nth-child(1){width:40px}.leads-page .tbl th:nth-child(2){width:15%}.leads-page .tbl th:nth-child(3){width:12%}.leads-page .tbl th:nth-child(4){width:10%}.leads-page .tbl th:nth-child(5){width:11%}.leads-page .tbl th:nth-child(6){width:18%}.leads-page .tbl th:nth-child(7){width:9%}.leads-page .tbl th:nth-child(8){width:9%}.leads-page .tbl th:nth-child(9){width:68px}.leads-page .tbl [data-key=firm]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-orders .tbl th,.account-orders .tbl td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:7px;padding-right:7px}.account-orders .tbl{table-layout:auto}}
@media(max-width:760px){#navlist{mask-image:none}.home-grid .lead-item>.item-side{grid-column:2;grid-row:1}.home-grid .lead-item>.contact-actions{grid-column:2;grid-row:2}body:has(.record-dock) .newwrap{display:none}.follow-chips .chip-toggle{white-space:nowrap;flex:1 1 auto;min-width:max-content}html[lang=hi] .lead-queues .tab{font-size:12px;padding:0 4px}#top #notifications,#top #language{min-height:44px;height:44px}#top #notifications{min-width:44px;width:44px}#top #language{min-width:61px}#top .language-control{min-height:44px;height:44px}#top{gap:4px;padding-left:10px;padding-right:10px}}
.leads-page .firm-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Stage bar: one grey band, current stage a black pill, no chevrons; Lost is a separate quiet button (RA 14 Oct) */
.path-row{display:flex;align-items:center;gap:12px}
.path{flex:1;min-width:0;gap:2px;padding:4px;background:#e6e6e1;border-radius:10px;scrollbar-width:none}
.path::-webkit-scrollbar{display:none}
.path li+li{margin-left:0}
.path-step,.path li:first-child .path-step,.path li:last-child .path-step{clip-path:none;border-radius:7px;height:34px;padding:0 14px;background:transparent;color:#6b6f6b;font-weight:600}
.path-step.done{background:transparent;color:#2f322f}
.path-step.done::before{content:"\2713";margin-right:6px;font-size:12px}
.path-step.current{background:#17181b;color:#fff}
.path-step:not(:disabled):not(.current):hover{background:#d9d9d3;filter:none}
.lost-btn{flex:none;height:42px;color:#6b6f6b}
.lost-btn.is-lost{color:var(--red);border-color:var(--red);opacity:1}
@media (max-width:720px){.path-row{display:none}}
/* Current stage wins over the first/last-step reset above */
.path li .path-step.current{background:#17181b;color:#fff}
.path li .path-step.done{color:#2f322f}
/* Home lead rows: one line, name left, stage + date + actions right, centred */
.home-grid .lead-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
.home-grid .lead-item>.item-main,.home-grid .lead-item>.item-side,.home-grid .lead-item>.contact-actions{grid-row:1}
.home-grid .lead-item>.item-side{grid-column:2}.home-grid .lead-item>.contact-actions{grid-column:3}
@media(max-width:760px){.home-grid .lead-item{grid-template-columns:minmax(0,1fr) auto}.home-grid .lead-item>.contact-actions{grid-column:2;grid-row:2}}

/* Simple role navigation and day-one phone flows. */
#navlist{scrollbar-width:none}#navlist::-webkit-scrollbar{display:none}
#navlist>.nav-item{display:flex;min-height:44px}
.simple-menu{max-width:640px;display:grid;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.simple-menu .menu-item{min-height:48px;border-bottom:1px solid var(--line);padding:12px 16px}
.add-more{grid-column:1/-1}.add-more summary,.record-details summary{min-height:44px;cursor:pointer;padding:12px}
.add-more[open]{display:grid;gap:12px}.outcome-grid .btn{min-height:64px;white-space:normal}.outcome-follow,.outcome-reasons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.outcome-reasons .btn{min-height:44px;white-space:normal;height:auto}
.brief-call{min-width:0}.brief-call>a{flex:1;min-width:0}.call-why{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px}.brief-call .contact-actions{flex:none}.rep-today .next-call-copy{width:100%}.rep-today .next-call .contact-actions{margin:12px 0}.team-today{display:flex;gap:12px;overflow:auto}.team-today>.item{flex:none;display:grid}
@media(max-width:760px){
 #navlist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:0}#navlist.admin-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
 #navlist>.nav-item{display:flex;min-width:0;min-height:64px;font-size:12px}
 .btn,.icon-btn,.chip-toggle,.path-step{min-height:44px;min-width:44px}.leads-page .tbl .icon-btn{width:44px;height:44px}
 .rep-today .home-grid{grid-template-columns:minmax(0,1fr)}.rep-today .home-grid>.panel{height:360px}.rep-today .panel-body{overflow:auto;min-height:0}
 .record .metrics{grid-template-columns:minmax(0,1fr)}.record .path-row{display:flex;overflow:auto}.record .phone-stage{display:none}.record .path{display:flex;min-width:580px}.record .path-step{min-height:44px}.record .lost-btn{flex:none}
 .collections-page>.page{padding:16px 0}.record-dock .btn{min-height:44px}
}

/* Team today: a small table, one line per rep */
.team-today{display:grid}
.team-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--line)}
.team-row.team-head{border-top:0;padding-top:8px;padding-bottom:8px;font-size:12px;color:var(--muted)}
.team-row .num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}
.team-row.team-head span:not(:first-child){text-align:right}

/* Less white (RA 16 Oct): a deeper page tint so white cards stand off it; softer edges with a faint lift */
:root{--bg:#eceef1;--line:#dde1e6;--band:#e3e5dc;--shadow-1:0 1px 2px #1016200f,0 2px 8px #1016200a}
.panel,.highlights,.tablewrap,.next-call,.card{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-1)}
.kpis{border-radius:14px}
.kpis .kpi + .kpi{border-left-color:#d3d5ca}
#top{background:var(--bg)}
.search input{background:var(--panel)}
