:root{--bg:#f4f7fb;--card:#fff;--ink:#15243c;--muted:#738096;--blue:#246be8;--line:#e2e8f1;--green:#15946b;--amber:#d98915;--violet:#7254d8;--shadow:0 10px 35px #18345f0b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,select{font:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:#10233f;color:#fff;padding:28px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;padding:0 8px 34px}.brand-mark{width:38px;height:38px;border-radius:11px;background:var(--blue);display:grid;place-items:center;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:#aab8cc}.primary-nav{display:grid;gap:6px}.nav-item{border:0;background:transparent;color:#b9c6d8;text-align:left;padding:13px 14px;border-radius:10px;cursor:pointer}.nav-item span{display:inline-block;width:28px}.nav-item.active,.nav-item:hover{background:#ffffff13;color:#fff}.sidebar-foot{margin-top:auto;display:grid;gap:20px}.sidebar-foot>a{color:#bdc9da;text-decoration:none;font-size:13px}.sending-state{display:flex;gap:10px;align-items:center;background:#ffffff0c;padding:13px;border-radius:12px}.sending-state strong,.sending-state small{display:block;font-size:12px}.sending-state small{color:#91a3bb}.pulse{width:9px;height:9px;border-radius:50%;background:#27d59a;box-shadow:0 0 0 5px #27d59a22}.main-area{margin-left:248px;width:calc(100% - 248px)}.topbar{height:74px;background:#ffffffdf;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px;position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.global-search{width:min(520px,55vw);display:flex;gap:10px;align-items:center;background:var(--bg);border:1px solid var(--line);padding:10px 13px;border-radius:11px}.global-search input{border:0;background:transparent;outline:0;flex:1}.global-search kbd{font-size:11px;color:var(--muted)}.top-actions,.user-chip{display:flex;align-items:center;gap:14px}.user-chip>span{width:34px;height:34px;border-radius:50%;background:#dce8fb;display:grid;place-items:center;color:var(--blue);font-weight:700}.user-chip strong,.user-chip small{display:block;font-size:12px}.icon-button{border:0;background:transparent;cursor:pointer}.notification-button{position:relative}.notification-button span{position:absolute;top:-7px;right:-7px;background:#e65353;color:#fff;border-radius:20px;padding:2px 5px;font-size:9px}.content-wrap{max-width:1480px;margin:auto;padding:34px}.view{display:none}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.page-heading.compact{align-items:center}.page-heading h1{font-family:Manrope,Arial,sans-serif;font-size:34px;letter-spacing:-.035em;margin:4px 0}.page-heading p{color:var(--muted);margin:0}.eyebrow{font-size:11px!important;letter-spacing:.12em;font-weight:800;color:var(--blue)!important}.button{border:0;border-radius:10px;padding:11px 15px;font-weight:700;cursor:pointer}.button.primary{background:var(--blue);color:#fff}.button.secondary,.button.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.button.full{width:100%}.text-button,.row-action,.back-button{border:0;background:transparent;color:var(--blue);cursor:pointer;font-weight:700}.alert-strip{display:flex;gap:14px;align-items:center;background:#fff6e6;border:1px solid #f4dfb7;padding:15px 18px;border-radius:14px;margin-bottom:20px}.alert-strip div{flex:1}.alert-strip strong,.alert-strip span{display:block}.alert-strip span{font-size:13px;color:#7b6741}.alert-icon{width:28px;height:28px;border-radius:50%;display:grid!important;place-items:center;background:#f1ad32;color:#fff}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.kpi-card,.panel{background:var(--card);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.kpi-card{padding:20px}.kpi-card strong{font:800 29px Manrope;display:block;margin:12px 0 4px}.kpi-card>span,.kpi-card small{display:block}.kpi-card small{color:var(--muted);margin-top:5px}.kpi-top{display:flex;justify-content:space-between}.kpi-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.blue{background:#e6f0ff;color:var(--blue)}.amber{background:#fff1db;color:var(--amber)}.violet{background:#eee9ff;color:var(--violet)}.green{background:#dff8ef;color:var(--green)}.trend{font-size:11px;font-weight:700}.positive{color:var(--green)}.dashboard-grid,.analytics-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:17px;margin:17px 0}.panel{padding:21px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-size:17px;margin:0}.panel-head p{color:var(--muted);font-size:12px;margin:5px 0}.chart-legend{display:flex;gap:18px;font-size:12px;color:var(--muted);margin:16px 0}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px}.dot.sent{background:var(--blue)}.dot.replies{background:var(--violet)}.dot.meetings{background:var(--green)}.bar-chart{height:190px;display:flex;align-items:flex-end;gap:18px;padding:10px 10px 0;border-bottom:1px solid var(--line)}.bar-group{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:3px;position:relative;padding-bottom:24px}.bar-group i,.bar-group b{width:10px;border-radius:5px 5px 0 0;background:var(--blue)}.bar-group b{background:var(--violet)}.bar-group small{position:absolute;bottom:2px;color:var(--muted)}.attention-list{display:grid}.attention-item{border:0;border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:auto 1fr auto;text-align:left;gap:12px;align-items:center;padding:14px 0;cursor:pointer}.attention-item strong,.attention-item small{display:block}.attention-item small{color:var(--muted)}.attention-item b{color:var(--blue);font-size:12px}.company-avatar{width:38px;height:38px;border-radius:10px;background:#dce8fb;color:var(--blue);display:grid;place-items:center;font-weight:800;font-size:12px}.company-avatar.large{width:64px;height:64px;font-size:20px;border-radius:16px}.recent-panel{margin-top:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:850px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:14px 12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid var(--line);font-size:13px}td small{display:block;color:var(--muted);margin-top:3px}.company-cell{display:flex;gap:10px;align-items:center;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--ink)}.company-cell strong,.company-cell small{display:block}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar select,.filter-search{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.filter-search{display:flex;gap:8px;align-items:center;flex:1}.filter-search input{border:0;outline:0;width:100%}.selection-bar{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;padding-bottom:12px}.score{color:var(--blue)}.status-pill{display:inline-block;border-radius:20px;padding:5px 9px;background:#e8eef6;color:#52627a;font-size:11px;font-weight:700}.s-interested,.s-partner{background:#dff8ef;color:#147756}.s-ready_for_review{background:#fff1db;color:#94600f}.s-unsubscribed,.s-bounced,.s-closed_lost{background:#fde8e8;color:#a33}.pipeline-board{display:flex;gap:13px;overflow:auto;padding-bottom:18px}.pipeline-column{min-width:245px;background:#eaf0f7;border-radius:14px;padding:13px}.pipeline-column header{display:flex;justify-content:space-between;margin-bottom:12px}.pipeline-column header span{background:#fff;border-radius:20px;padding:2px 7px}.pipeline-card{position:relative;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;margin-bottom:9px;cursor:pointer}.pipeline-card b,.pipeline-card small{display:block}.pipeline-card small{color:var(--muted);margin-top:5px}.pipeline-card em{position:absolute;right:12px;top:12px;color:var(--blue);font-style:normal;font-size:11px}.empty-column{color:var(--muted);font-size:12px}.agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.agent-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.agent-card>span{color:var(--blue);font-weight:800}.agent-card p{color:var(--muted);line-height:1.5}.agent-card small{color:var(--green);font-weight:700}.jobs-panel{margin-top:17px}.job-row{display:flex;gap:13px;align-items:center;padding:16px 0}.job-dot{width:9px;height:9px;border-radius:50%;background:#98a6bb;flex:none}.job-dot.j-queued{background:#98a6bb}.job-dot.j-retry_waiting{background:var(--amber)}.job-dot.j-completed{background:var(--blue)}.job-dot.j-failed{background:#e65353}.job-row b,.job-row small{display:block}.job-row small{color:var(--muted)}.system-health{color:var(--green)}.system-health.attention{color:var(--amber)}.system-health i{display:inline-block;width:8px;height:8px;background:var(--green);border-radius:50%;margin-right:6px}.integration-note{color:var(--muted);font-size:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;margin:0 0 16px}.back-button{margin-bottom:15px}.detail-head{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);padding:24px;border-radius:16px;margin-bottom:17px}.detail-head h1{margin:2px 0}.detail-head p{margin:0;color:var(--muted)}.detail-status{margin-left:auto;display:flex;align-items:center;gap:14px}.detail-layout{display:grid;grid-template-columns:1fr 320px;gap:17px}.detail-main{display:grid;gap:17px}.detail-section h2,.side-card h3{margin-top:0}.detail-section>p,.side-card p{color:var(--muted);line-height:1.6}.fact-list{display:grid;gap:9px}.fact-list>div,.message-card,.reply-card{background:var(--bg);border-radius:10px;padding:13px}.fact-list p,.message-card p,.reply-card p{margin:5px 0;color:#52627a}.source-row{display:block;padding:12px 0;border-top:1px solid var(--line);text-decoration:none}.source-row span,.source-row small{display:block}.source-row small{color:var(--muted);margin-top:4px}.side-card{margin-bottom:15px}.notification-drawer{position:fixed;top:0;right:-420px;width:400px;height:100vh;background:#fff;z-index:41;padding:25px;transition:.25s}.notification-drawer.open{right:0}.drawer-head{display:flex;justify-content:space-between}.notification-list article{display:flex;gap:12px;border-top:1px solid var(--line);padding:16px 0}.notification-list p{color:var(--muted)}.drawer-scrim{display:none;position:fixed;inset:0;background:#07101f66;z-index:40}.drawer-scrim.open{display:block}.modal-backdrop{position:fixed;inset:0;background:#07101f77;z-index:50;display:grid;place-items:center}.modal{background:#fff;border-radius:18px;padding:28px;width:min(600px,90vw);position:relative}.modal-close{position:absolute;right:12px;top:12px}.toast-region{position:fixed;right:20px;bottom:20px;z-index:60}.toast{background:#10233f;color:#fff;padding:14px 18px;border-radius:10px}.hidden{display:none!important}.mobile-only{display:none}.empty-state{text-align:center;padding:50px}@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.detail-layout{grid-template-columns:1fr}.agent-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:none}.main-area{margin-left:0;width:100%}.mobile-only{display:block}.topbar{padding:0 16px}.user-chip div,.global-search kbd{display:none}.content-wrap{padding:20px 14px}.page-heading{align-items:flex-start;gap:18px;flex-direction:column}.kpi-grid,.dashboard-grid,.agent-grid{grid-template-columns:1fr}.toolbar{flex-wrap:wrap}.filter-search{flex-basis:100%}.detail-status{margin-left:0}.detail-head{align-items:flex-start;flex-wrap:wrap}.notification-drawer{width:90vw}.selection-note{display:none}}
.ewr-distance{display:block;font-size:11px;font-weight:600;letter-spacing:.01em;margin-top:2px}
.ewr-distance.d-within_range{color:#0f766e}
.ewr-distance.d-borderline_human_review{color:#b45309}
.ewr-distance.d-unknown_human_review{color:#64748b}
.side-card .ewr-distance{font-size:15px;margin-bottom:4px}

/* Auth gate hardening: the hidden attribute must always win over display
   rules, and the Google sign-in fallback logo must never exceed button
   size when the GIS iframe cannot render. */
[hidden]{display:none !important}
#authGate{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);padding:24px}
.auth-card{background:#fff;border-radius:16px;box-shadow:0 10px 32px rgba(21,36,60,.10);padding:48px 40px;max-width:420px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.auth-logo{max-width:190px;height:auto;margin-bottom:6px}
.auth-card h1{font-size:1.5rem}
.auth-card p{color:var(--muted);font-size:.95rem;line-height:1.5}
#googleSignIn{min-height:56px;margin-top:6px}
/* The GIS fallback injects text at unpredictable depths with inline styles;
   the !important zero-size rules silence every variant while the svg keeps
   its explicit size. */
#googleSignIn,#googleSignIn *{font-size:0 !important;line-height:0 !important;color:transparent !important}
#googleSignIn svg{width:44px !important;height:44px !important;max-width:44px !important}
#googleSignIn a{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #dadce0;border-radius:12px;padding:14px 40px;text-decoration:none;box-shadow:0 1px 3px rgba(21,36,60,.10)}
#googleSignIn a:hover{box-shadow:0 3px 8px rgba(21,36,60,.16);border-color:#c6cbd4}
.sidebar{overflow-y:auto;scrollbar-width:thin}
