:root{--ink:#14201c;--ink-soft:#3d4f47;--muted:#6b7c74;--line:#d7e0db;--line-strong:#b8c7bf;--surface:#f4f7f5;--surface-2:#ffffff;--surface-3:#e8efeb;--brand:#0d6b56;--brand-deep:#094a3b;--brand-soft:#d8f0e8;--warn:#b86e00;--warn-soft:#fff1d6;--danger:#b42318;--danger-soft:#fde8e6;--ok:#1a7a45;--ok-soft:#e3f6ea;--info:#1f5f8b;--info-soft:#e5f2fa;--shadow:0 1px 2px rgba(20,32,28,0.04),0 8px 24px rgba(20,32,28,0.06);--radius:12px;--font-display:"Sora","Avenir Next",sans-serif;--font-body:"IBM Plex Sans","Segoe UI",sans-serif;--sidebar-w:248px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;color:var(--ink);font-family:var(--font-body);background-color:var(--surface);background-image:radial-gradient(ellipse 900px 480px at 0 -10%,rgba(13,107,86,.08),transparent 55%),radial-gradient(ellipse 700px 420px at 100% 0,rgba(31,95,139,.06),transparent 50%),linear-gradient(180deg,#eef3f0 0,var(--surface) 40%,#eef2f0 100%);-webkit-font-smoothing:antialiased}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}::selection{background:var(--brand-soft);color:var(--brand-deep)}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:1.35rem 1rem 1.25rem;border-right:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,247,245,.96)),var(--surface-2);display:flex;flex-direction:column;gap:1.5rem;animation:rise .42s ease-out both}.brand-block{padding:.25rem .55rem}.brand-mark{display:flex;align-items:center;gap:.65rem}.brand-glyph{width:2.1rem;height:2.1rem;border-radius:9px;background:linear-gradient(145deg,var(--brand),var(--brand-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.25);position:relative}.brand-glyph:after{content:"";position:absolute;inset:7px 8px 8px 7px;border-radius:3px;border:1.5px solid rgba(255,255,255,.85);border-right-color:transparent;transform:rotate(18deg)}.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:-.03em;color:var(--ink);line-height:1.1}.brand-tag{margin:.15rem 0 0;font-size:.72rem;color:var(--muted);letter-spacing:.02em}.nav{display:flex;flex-direction:column;gap:.25rem}.nav-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;text-align:left;padding:.65rem .75rem;border-radius:10px;color:var(--ink-soft);cursor:pointer;font-weight:500;transition:background .16s ease,color .16s ease,transform .16s ease}.nav-btn:hover{background:var(--surface-3);color:var(--ink)}.nav-btn.active{background:var(--brand-soft);color:var(--brand-deep);font-weight:600}.btn:focus-visible,.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.nav-btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.sidebar-foot{margin-top:auto;padding:.75rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.55rem}.workspace{padding:1.5rem 1.75rem 2.5rem;animation:rise .48s ease-out 60ms both;min-width:0}.topbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.35rem}.page-title{font-family:var(--font-display);font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:700;letter-spacing:-.03em;margin:0}.page-desc{margin:.35rem 0 0;color:var(--muted);max-width:36rem;line-height:1.45;font-size:.95rem}.top-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.section{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem;margin-bottom:1rem}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.section-head h2{margin:0;font-family:var(--font-display);font-size:1.05rem;font-weight:650;letter-spacing:-.02em}.section-head p{margin:.2rem 0 0;color:var(--muted);font-size:.88rem}.leads-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin:0 0 1rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:10px;background:#f7faf8}.leads-toolbar-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;font-size:.88rem;font-weight:600;color:var(--ink-soft);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.leads-toolbar-toggle input{width:1rem;height:1rem;margin:0;accent-color:var(--brand)}.leads-toolbar-field{margin:0;min-width:11rem}.leads-toolbar .btn{align-self:flex-end}.grid-2{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-gap:.85rem;grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3,.grid-4{display:grid;gap:.85rem}.grid-4{grid-gap:.85rem;grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(5,minmax(0,1fr))}.day-chips{display:flex;flex-wrap:wrap;gap:.4rem}.day-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:#fff;color:inherit;font:inherit;font-size:.85rem;padding:.35rem .65rem;border-radius:999px;cursor:pointer}.day-chip.active{border-color:color-mix(in srgb,var(--brand) 55%,var(--line));background:color-mix(in srgb,var(--brand) 12%,#fff);font-weight:600}.day-chip:disabled{opacity:.6;cursor:not-allowed}.metric{padding:.95rem 1rem;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,var(--surface))}button.metric{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease}button.metric.selectable:hover{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}button.metric.selectable.active{border-color:var(--brand);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 35%,transparent)}.metric-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}.metric-value{margin-top:.35rem;font-family:var(--font-display);font-size:1.25rem;font-weight:650;letter-spacing:-.02em}.metric-sub{margin-top:.2rem;font-size:.82rem;color:var(--muted)}.lead-filters{margin-bottom:1rem}.row{flex-wrap:wrap;gap:.55rem;align-items:center}.row,.stack{display:flex}.stack{flex-direction:column;gap:.85rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:9px;padding:.58rem .95rem;background:var(--brand);color:#fff;font-weight:600;cursor:pointer;transition:background .14s ease,transform .14s ease,box-shadow .14s ease;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}.btn:hover:not(:disabled){background:var(--brand-deep)}.btn:active:not(:disabled){transform:translateY(1px)}.btn.secondary{background:var(--surface-2);color:var(--ink);border:1px solid var(--line-strong);box-shadow:none}.btn.secondary:hover:not(:disabled){background:var(--surface-3)}.btn.ghost{background:transparent;color:var(--ink-soft);box-shadow:none}.btn.danger{background:var(--danger)}.btn.danger:hover:not(:disabled){background:#912018}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{padding:.4rem .7rem;font-size:.88rem}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.82rem;font-weight:600;color:var(--ink-soft)}.field .hint{font-size:.78rem;color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid var(--line-strong);color:var(--ink);border-radius:9px;padding:.58rem .72rem;transition:border-color .14s ease,box-shadow .14s ease}.field textarea{min-height:72px;resize:vertical}.field input:hover,.field select:hover,.field textarea:hover{border-color:#9aada4}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,107,86,.15);outline:none}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .55rem;border-radius:999px;font-size:.75rem;font-weight:650;letter-spacing:.01em;border:1px solid transparent}.badge .dot{width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-soft);color:var(--ok);border-color:#b8e4c8}.badge.warn{background:var(--warn-soft);color:var(--warn);border-color:#f0d39a}.badge.bad{background:var(--danger-soft);color:var(--danger);border-color:#f3c0bb}.badge.neutral{background:var(--surface-3);color:var(--ink-soft);border-color:var(--line)}.badge.info{background:var(--info-soft);color:var(--info);border-color:#b9d7ea}.alert{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border-radius:10px;border:1px solid var(--line);margin-bottom:1rem;animation:rise .32s ease-out both}.alert.warn{background:var(--warn-soft);border-color:#f0d39a}.alert.danger{background:var(--danger-soft);border-color:#f3c0bb}.alert.info{background:var(--info-soft);border-color:#b9d7ea}.alert strong{display:block;font-size:.9rem;margin-bottom:.15rem}.alert p{margin:0;font-size:.86rem;color:var(--ink-soft);line-height:1.4}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data td,table.data th{text-align:left;padding:.7rem .85rem;border-bottom:1px solid var(--line);vertical-align:top}table.data th{background:var(--surface);color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;font-weight:650}table.data tr:last-child td{border-bottom:0}table.data tbody tr{transition:background .12s ease}table.data tbody tr:hover{background:#f7faf8}.empty{text-align:center;padding:2.25rem 1rem;color:var(--muted)}.empty strong{display:block;color:var(--ink-soft);margin-bottom:.25rem}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden}.auth-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(13,107,86,.18),transparent 60%),linear-gradient(160deg,#e8f2ee,#f4f7f5 45%,#e6eef5);z-index:0}.auth-card{position:relative;z-index:1;width:min(420px,100%);background:var(--surface-2);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:2rem 1.75rem;animation:rise .5s ease-out both}.auth-card h1{font-family:var(--font-display);font-size:1.75rem;letter-spacing:-.03em;margin:.75rem 0 .35rem}.auth-card .lede{color:var(--muted);margin:0 0 1.35rem;line-height:1.45;font-size:.95rem}.loading-bar{height:3px;width:100%;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-bottom:1rem}.loading-bar>span{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--brand),#2a9d7c);animation:slide 1.1s ease-in-out infinite}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide{0%{transform:translateX(-100%)}to{transform:translateX(280%)}}@media (max-width:920px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{flex-direction:row;flex-wrap:wrap}.nav-btn{flex:1 1 auto;text-align:center}.sidebar-foot{border-top:0;padding-top:0}.grid-2,.grid-3{grid-template-columns:1fr}.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding:1.15rem 1rem 2rem}}