:root{color-scheme:light;--font-ui: "IBM Plex Sans", "Segoe UI", sans-serif;--font-brand: "Syne", "IBM Plex Sans", sans-serif;--bg: #f3f6fb;--surface: #ffffff;--surface-elevated: #ffffff;--surface-muted: #eef3f9;--border: #d9e1ef;--border-strong: #b7c4d8;--text-primary: #112039;--text-secondary: #3d4f6a;--text-muted: #5b6b7c;--accent: #0e7490;--accent-hover: #0a5f75;--accent-soft: #e7f7fb;--success: #0f766e;--success-soft: #e6f7f4;--warning: #b45309;--warning-soft: #fef3c7;--danger: #b42318;--danger-soft: #fdecec;--info: #1d4ed8;--info-soft: #eff4ff;--organic: #0f766e;--organic-soft: #e6f7f4;--paid: #b45309;--paid-soft: #fef3c7;--google: #1d4ed8;--google-soft: #eff4ff;--meta: #5b21b6;--meta-soft: #f3e8ff;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 8px 24px rgba(16, 24, 40, .08);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--sidebar-width: 240px;--topbar-height: 56px;--focus: 0 0 0 3px rgba(14, 116, 144, .28)}[data-theme=dark]{color-scheme:dark;--bg: #081225;--surface: #0f1c33;--surface-elevated: #15243f;--surface-muted: #0c1830;--border: #1e3258;--border-strong: #2a4470;--text-primary: #e7edf9;--text-secondary: #b7c4d8;--text-muted: #8b9bb3;--accent: #22d3ee;--accent-hover: #67e8f9;--accent-soft: rgba(34, 211, 238, .12);--success: #2dd4bf;--success-soft: rgba(45, 212, 191, .12);--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .12);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: #93c5fd;--info-soft: rgba(147, 197, 253, .12);--organic: #2dd4bf;--organic-soft: rgba(45, 212, 191, .12);--paid: #fbbf24;--paid-soft: rgba(251, 191, 36, .12);--google: #93c5fd;--google-soft: rgba(147, 197, 253, .12);--meta: #c4b5fd;--meta-soft: rgba(196, 181, 253, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 28px rgba(0, 0, 0, .4);--focus: 0 0 0 3px rgba(34, 211, 238, .28)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-ui);line-height:1.45;color:var(--text-primary);background:var(--bg)}h1,h2,h3,h4{font-family:var(--font-ui);letter-spacing:-.02em;font-weight:600}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}:focus-visible{outline:none;box-shadow:var(--focus)}.tabular{font-variant-numeric:tabular-nums}.app-frame{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:var(--sidebar-width);flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}.sidebar-brand{display:flex;align-items:center;gap:10px;height:var(--topbar-height);padding:0 16px;border-bottom:1px solid var(--border)}.brand-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-family:var(--font-brand);font-weight:800;font-size:.95rem;line-height:1}[data-theme=dark] .brand-mark{color:#081225}.brand-name{font-family:var(--font-brand);font-weight:800;font-size:.92rem;letter-spacing:-.03em;line-height:1.1}.brand-product{font-size:.68rem;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 10px 20px}.nav-group{margin-bottom:16px}.nav-group-label{padding:6px 10px 8px;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.nav-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm);padding:8px 10px;font-size:.875rem;font-weight:500;text-align:left;cursor:pointer;text-decoration:none}.nav-item:hover{background:var(--surface-muted);color:var(--text-primary);text-decoration:none}.nav-item.active{background:var(--accent-soft);color:var(--accent)}.nav-item svg{flex-shrink:0}.app-main{display:flex;flex-direction:column;min-width:0;flex:1}.topbar{display:flex;align-items:center;gap:12px;height:var(--topbar-height);padding:0 16px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar-title{margin:0;font-size:.95rem;font-weight:600;flex:1;min-width:0}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.content{flex:1;overflow:auto;padding:20px 16px 40px}.content-inner{max-width:1280px;margin:0 auto}.menu-btn,.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer}.icon-btn:hover,.menu-btn:hover{background:var(--surface-muted);color:var(--text-primary)}.menu-btn,.sidebar-backdrop{display:none}.segmented{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:2px;background:var(--surface-muted)}.segmented button{appearance:none;border:0;background:transparent;color:var(--text-muted);border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:600;cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.select,.input,.date-input{border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 10px;color:var(--text-primary);background:var(--surface);min-width:0}.btn{appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius-sm);padding:8px 12px;font-weight:600;cursor:pointer}[data-theme=dark] .btn{color:#081225}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--accent)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}.field{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:var(--text-muted);font-weight:500}.filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px;margin-bottom:16px}.panel h2,.panel h3{margin:0 0 12px;font-size:.95rem}.section-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.section-header h2,.section-header h3{margin:0;font-size:.95rem}.section-header p{margin:4px 0 0;color:var(--text-muted);font-size:.82rem}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;box-shadow:var(--shadow-sm)}.metric-card .label{color:var(--text-muted);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}.metric-card .value{font-size:1.45rem;font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.metric-card .hint{margin-top:6px;font-size:.75rem;color:var(--text-muted)}.metric-card.pending .value{font-size:.85rem;font-weight:600;color:var(--text-muted);letter-spacing:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-muted);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-secondary)}.badge.success,.badge.active,.badge.processed,.badge.connected,.badge.won,.badge.identified{background:var(--success-soft);color:var(--success);border-color:transparent}.badge.warning,.badge.pending,.badge.qualified,.badge.proposal_sent,.badge.syncing{background:var(--warning-soft);color:var(--warning);border-color:transparent}.badge.danger,.badge.failed,.badge.error,.badge.lost,.badge.invalid{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge.info,.badge.organic{background:var(--organic-soft);color:var(--organic);border-color:transparent}.badge.paid{background:var(--paid-soft);color:var(--paid);border-color:transparent}.badge.muted,.badge.inactive,.badge.archived{background:var(--surface-muted);color:var(--text-muted)}.trend{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600}.trend.up{color:var(--success)}.trend.down{color:var(--danger)}.trend.flat{color:var(--text-muted)}.empty-state,.unintegrated,.page-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:36px 20px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text-muted)}.empty-state h3,.unintegrated h3,.page-state h3{margin:0;font-size:.95rem;color:var(--text-primary)}.empty-state p,.unintegrated p,.page-state p{margin:0;max-width:36rem;font-size:.85rem}.error-box{background:var(--danger-soft);color:var(--danger);border:1px solid transparent;border-radius:var(--radius-md);padding:12px 14px;margin-bottom:16px}.muted{color:var(--text-muted);font-size:.875rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.stack{display:grid;gap:12px}.meta-row{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--text-muted);font-size:.85rem}.channel-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.channel-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:var(--surface)}.channel-card.organic{border-color:color-mix(in srgb,var(--organic) 35%,var(--border))}.channel-card.paid{border-color:color-mix(in srgb,var(--paid) 35%,var(--border))}.channel-card h3{margin:0 0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.channel-card .big{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}.bar-track{height:8px;border-radius:999px;background:var(--surface-muted);overflow:hidden;margin:10px 0}.bar-fill{height:100%;border-radius:999px}.bar-fill.organic{background:var(--organic)}.bar-fill.paid{background:var(--paid)}.breakdown{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.8rem;color:var(--text-secondary)}.breakdown li{display:flex;justify-content:space-between;gap:8px}.funnel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.funnel-step{border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--surface);min-width:0}.funnel-step .step-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.funnel-step .step-value{margin-top:6px;font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.funnel-step.pending .step-value{font-size:.78rem;font-weight:600;color:var(--text-muted)}.integration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.integration-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:14px;background:var(--surface)}.integration-card header{display:flex;justify-content:space-between;gap:8px;align-items:start}.integration-card h3{margin:0;font-size:.95rem}.integration-card p{margin:8px 0 0;color:var(--text-muted);font-size:.82rem}.chart-wrap{overflow-x:auto}.chart-svg{width:100%;height:220px}.unlock-screen{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 42%),var(--bg)}.unlock-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:28px 24px}.unlock-form{display:grid;gap:12px}.unlock-form input[type=password]{border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;color:var(--text-primary);background:var(--surface)}.error-inline{margin:0;color:var(--danger);font-size:.875rem}.theme-float{position:fixed;top:16px;right:16px;z-index:20}@media(max-width:960px){.channel-split,.funnel{grid-template-columns:1fr 1fr}}@media(max-width:800px){.menu-btn{display:inline-flex}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;transform:translate(-100%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:30;background:#08122573}.topbar{height:auto;min-height:var(--topbar-height);padding:8px 12px;flex-wrap:wrap}.topbar-title{flex:1}.topbar-actions{width:100%}}@media(max-width:640px){.channel-split,.funnel,.grid-cards,.integration-grid{grid-template-columns:1fr}.content{padding:16px 12px 32px}}@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
