:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#fff}body{background:#fff;min-width:320px;margin:0}#root{min-height:100vh}:focus-visible{outline-offset:2px;outline:2px solid #0b6fa4}.app-shell{color:#0f172a;background:#fff;min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-bottom:1px solid #dbe3ec;grid-template-columns:auto auto 1fr auto;align-items:center;gap:20px;min-height:76px;padding:0 20px;display:grid;position:sticky;top:0}.brand,.brand-mark{color:#0b1b34;align-items:center;text-decoration:none;display:inline-flex}.brand-logo-frame{background:#0b1b34;border-radius:8px;justify-content:center;align-items:center;width:138px;height:48px;padding:8px 12px;display:inline-flex}.brand-logo-frame img{object-fit:contain;width:100%;height:100%;display:block}.topbar-title{color:#0f172a;letter-spacing:0;white-space:nowrap;margin:0;font-size:clamp(20px,1.8vw,24px);font-weight:750;line-height:1}.nav-tabs{justify-content:center;align-items:center;gap:clamp(14px,1.6vw,22px);display:flex}button,select,input{font:inherit}.nav-tabs button,.link-button{color:#334155;cursor:pointer;background:0 0;border:0}.nav-tabs button{border-bottom:2px solid #0000;min-height:46px;padding:4px 2px 0;font-size:14px}.nav-tabs button.active{color:#0b3f73;border-bottom-color:#0b3f73}.toolbar{justify-content:flex-end;align-items:center;gap:8px;display:flex}.select-control,.ghost-button,.primary-button{border-radius:6px;align-items:center;gap:8px;min-height:40px;font-size:13px;display:inline-flex}.select-control{background:#fff;border:1px solid #d8e1eb;padding:0 11px}.select-control select{color:#0f172a;background:0 0;border:0;outline:0}.ghost-button,.primary-button{cursor:pointer;border:1px solid #d8e1eb;padding:0 14px}.ghost-button{color:#172033;background:#fff}.primary-button{color:#fff;background:#0b3f73;border-color:#0b3f73}.primary-button:disabled,.ghost-button:disabled{cursor:not-allowed;opacity:.65}.dashboard{padding:22px 20px 18px}.status-row{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.status-row p,.panel-note,.source-notes p,.dashboard-footer{color:#64748b}.status-row p{margin:0;font-size:14px}.status-pill{color:#0b3f73;white-space:nowrap;background:#f7fafc;border:1px solid #d8e1eb;border-radius:6px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:inline-flex}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi-card,.panel,.login-panel{background:#fff;border:1px solid #d8e1eb;border-radius:8px;box-shadow:0 1px 2px #0f172a0a}.kpi-card{align-items:center;gap:10px;min-height:104px;padding:12px;display:flex}.kpi-icon{color:#0b3f73;background:#eaf2f7;border-radius:50%;flex:none;place-items:center;width:48px;height:48px;display:grid}.kpi-card p,.kpi-card strong,.kpi-card span,.kpi-card small{display:block}.kpi-card p{color:#334155;margin:0 0 4px;font-size:12px;line-height:1.15}.kpi-card strong{letter-spacing:0;font-size:23px;line-height:1.1}.kpi-card span{color:#047857;margin-top:4px;font-size:12px}.kpi-card small{color:#64748b;margin-top:2px;font-size:11px;line-height:1.25}.overview-grid{grid-template-columns:minmax(320px,.75fr) minmax(520px,1.35fr) minmax(280px,.65fr);gap:14px;display:grid}.panel{min-width:0;overflow:hidden}.panel-header{border-bottom:1px solid #e8eef4;justify-content:space-between;align-items:center;gap:16px;min-height:43px;padding:0 18px;display:flex}.panel-header h2{letter-spacing:0;margin:0;font-size:18px;line-height:1.15}.link-button{color:#075ea8;font-size:13px}.lead-panel{grid-column:span 1}.top-pages-panel{grid-column:span 2}.traffic-panel,.heatmap-panel,.heatmap-panel,.friction-panel{grid-column:span 1}.funnel-layout{grid-template-columns:minmax(0,.95fr) minmax(190px,1fr);align-items:center;gap:12px;padding:16px 18px;display:grid}.funnel-layout.wide{grid-template-columns:minmax(340px,1fr) minmax(260px,.6fr)}.funnel-graphic{flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:12px;display:flex}.funnel-graphic span{clip-path:polygon(6% 0,94% 0,78% 100%,22% 100%);border-top:2px solid #fff;height:48px;display:block}.funnel-graphic span:first-child{border-top:0}.funnel-graphic span:last-child{clip-path:polygon(14% 0,86% 0,50% 100%,50% 100%);height:56px}.funnel-list{gap:6px;display:grid}.funnel-list div,.lead-actions div{border-bottom:1px solid #e8eef4;grid-template-columns:1fr auto auto;align-items:center;gap:12px;min-height:38px;font-size:13px;display:grid}.funnel-list em{color:#475569;font-style:normal}.lead-actions{gap:12px;display:grid}.lead-actions div{border:1px solid #e4ebf2;border-radius:8px;grid-template-columns:1fr;min-height:64px;padding:12px}.lead-actions span{color:#64748b}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #e8eef4;padding:10px 16px}th{color:#1e293b;background:#f7fafc;font-size:12px}.scroll-cell{grid-template-columns:42px 80px;align-items:center;gap:10px;display:inline-grid}.scroll-cell i{background:#0796ad;border-radius:99px;height:4px;display:block}.panel-total{border-top:1px solid #e8eef4;justify-content:space-between;align-items:center;padding:12px 18px 16px;display:flex}.panel-total strong,.heatmap-stats strong{color:#075ea8}.site-preview{background:linear-gradient(90deg,#ffffffd9,#ffffff2e),linear-gradient(135deg,#e6eef4 0%,#c3d2dd 48%,#8ca3b6 100%);border:1px solid #cad7e4;border-radius:6px;min-height:250px;margin:14px 14px 0;position:relative;overflow:hidden}.preview-bar{z-index:2;color:#0f172a;text-transform:uppercase;background:#ffffffdb;align-items:center;gap:18px;min-height:42px;padding:0 16px;font-size:11px;display:flex;position:relative}.preview-bar button,.preview-hero button{color:#fff;background:#0b3f73;border:0;border-radius:5px;min-height:28px;font-size:11px}.preview-bar button{margin-left:auto;padding:0 12px}.preview-hero{z-index:1;align-items:center;min-height:208px;padding:22px;display:flex;position:relative}.preview-hero h2{letter-spacing:0;max-width:310px;margin:0 0 8px;font-size:30px;line-height:1.06}.preview-hero p{color:#334155;margin:0 0 13px}.preview-hero button{margin-right:8px;padding:0 12px}.heatmap-canvas{z-index:3;pointer-events:none;position:absolute;inset:0}.heatmap-key{z-index:4;background:#ffffffeb;border-radius:6px;gap:5px;padding:10px;font-size:11px;display:grid;position:absolute;bottom:16px;right:14px}.heatmap-key i{background:linear-gradient(#dc2626,#f59e0b,#fef08a,#38bdf8);border-radius:3px;width:12px;height:76px;display:block}.heatmap-stats{border-top:1px solid #e8eef4;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:14px;display:grid}.heatmap-stats span{color:#475569;border-right:1px solid #e8eef4;padding:12px 14px;font-size:13px}.heatmap-stats span:last-child{border-right:0}.danger{color:#dc2626!important}.warning{color:#d97706!important}.friction-list{gap:14px;padding:18px;display:grid}.friction-row{grid-template-columns:42px 1fr auto;align-items:center;gap:12px;display:grid}.friction-row>span{color:#075ea8;background:#eef6fb;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.friction-row.danger>span{color:#dc2626;background:#fee2e2}.friction-row.warning>span{color:#d97706;background:#ffedd5}.friction-row strong,.friction-row small,.friction-row em{display:block}.friction-row small{color:#64748b}.friction-row em{color:#0b3f73;font-size:20px;font-style:normal;font-weight:700}.panel-note{margin:0;padding:2px 18px 18px;font-size:13px;line-height:1.5}.single-grid,.settings-grid{gap:14px;display:grid}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.timeline,.status-list,.guardrail-list,.source-notes{margin:0;padding:18px}.timeline{gap:0;list-style:none;display:grid}.timeline li{border-bottom:1px solid #e8eef4;grid-template-columns:68px 110px 1fr;gap:12px;padding:13px 0;display:grid}.timeline time{color:#075ea8;font-weight:700}.timeline span{color:#64748b}.status-list{gap:12px;display:grid}.source-status{border:1px solid #e4ebf2;border-radius:8px;grid-template-columns:28px 1fr;align-items:start;gap:12px;padding:13px;display:grid}.source-status.mock{color:#075ea8}.source-status.missing{color:#d97706}.source-status small,.guardrail-list,.source-notes{color:#64748b;line-height:1.55}.guardrail-list{padding-left:36px}.source-notes{gap:10px;display:grid}.dashboard-footer{justify-content:space-between;align-items:center;gap:18px;padding:14px 2px 0;font-size:12px;display:flex}.login-screen,.loading-screen{background:#f6f9fc;place-items:center;min-height:100vh;padding:24px;display:grid}.loading-screen{color:#64748b;gap:16px}.login-panel{width:min(100%,420px);padding:26px}.login-panel .brand-logo-frame{width:170px;height:62px}.login-panel h1{letter-spacing:0;margin:22px 0 8px;font-size:28px}.login-panel p{color:#64748b;margin:0 0 22px}.login-panel label{color:#334155;gap:7px;margin-bottom:16px;font-size:13px;font-weight:700;display:grid}.login-panel input{color:#0f172a;background:#fff;border:1px solid #cbd8e5;border-radius:6px;min-height:42px;padding:0 12px}.login-panel .primary-button{justify-content:center;width:100%}.login-error{color:#991b1b;background:#fee2e2;border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:13px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1180px){.topbar{grid-template-columns:1fr;gap:10px;padding:14px 18px}.topbar-title{font-size:22px}.brand-logo-frame{width:132px;height:46px}.nav-tabs,.toolbar{justify-content:flex-start;overflow-x:auto}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.overview-grid{grid-template-columns:1fr}.lead-panel,.top-pages-panel,.traffic-panel,.heatmap-panel,.friction-panel{grid-column:span 1}.settings-grid{grid-template-columns:1fr}}@media (width<=720px){.dashboard{padding:18px 12px}.status-row,.dashboard-footer,.toolbar,.funnel-layout,.funnel-layout.wide{flex-direction:column;align-items:stretch}.status-row,.dashboard-footer{display:grid}.toolbar{grid-template-columns:1fr;display:grid}.select-control,.ghost-button,.primary-button{justify-content:center}.kpi-grid{grid-template-columns:1fr}.funnel-layout,.funnel-layout.wide{grid-template-columns:1fr;display:grid}.preview-bar{gap:9px;overflow-x:auto}.heatmap-stats,.timeline li{grid-template-columns:1fr}th,td{padding:9px 12px}}
