:root{color:#172033;background:#f4f6fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}.dashboard{width:min(1480px,100%);margin:0 auto;padding:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}h1,h2,p{margin:0}h1{font-size:28px;font-weight:760}h2{margin-bottom:14px;font-size:16px;font-weight:730}.topbar p,.muted{color:#667085}.topbar-actions{display:flex;gap:8px}button{min-height:38px;border:0;border-radius:6px;padding:0 14px;color:#fff;background:#1f6feb;cursor:pointer}button:disabled{cursor:not-allowed;color:#667085;background:#d7dee9}.ghost{border:1px solid #cfd8e3;color:#172033;background:#fff}.danger{background:#b42318}.danger-outline{border-color:#f2b8b5;color:#b42318;background:#fff5f5}.link-button{min-height:0;padding:0;color:#1f6feb;background:transparent;text-align:left}.filters,.builder,.metric,.panel,.tabs,.report-strip,.funnel-sidebar{border:1px solid #d9e0ea;border-radius:8px;background:#fff}.filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(6,minmax(108px,1fr));gap:10px;align-items:end;padding:14px}label{display:grid;gap:5px;color:#475467;font-size:12px;font-weight:650}input,select,textarea{width:100%;min-height:38px;border:1px solid #cfd8e3;border-radius:6px;padding:0 10px;color:#172033;background:#fff}select[multiple]{min-height:128px;padding:8px}textarea{min-height:96px;padding:10px;resize:vertical;line-height:1.4}input:focus,select:focus,textarea:focus{outline:2px solid #9cc4ff;outline-offset:1px}.tabs{display:inline-flex;gap:4px;margin:14px 0;padding:4px;background:#eef2f7}.tab{min-width:92px;color:#475467;background:transparent}.tab.active{color:#fff;background:#172033}.report-strip{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding:12px 14px}.eyebrow{display:block;margin-bottom:3px;color:#667085;font-size:11px;font-weight:760;text-transform:uppercase}.report-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.report-link{min-height:32px;border:1px solid #d9e0ea;color:#334155;background:#fff}.report-link.active{border-color:#172033;color:#fff;background:#172033}.error{margin-top:12px;border:1px solid #f2b8b5;border-radius:8px;padding:12px 14px;color:#8b1e18;background:#fff5f5}.inline-error{border-radius:6px;padding:8px 10px;color:#8b1e18;font-size:12px;font-weight:650;background:#fff5f5}.spinner{display:inline-block;width:22px;height:22px;flex:0 0 auto;border:3px solid #cfe0ff;border-top-color:#1f6feb;border-radius:999px;animation:spin .85s linear infinite}.spinner.small{width:14px;height:14px;border-width:2px}.loading-state{display:flex;align-items:center;gap:12px;border:1px solid #cfe0ff;border-radius:8px;padding:16px;color:#334155;background:#f7fbff}.loading-state strong,.loading-state span{display:block}.loading-state strong{color:#172033;font-size:14px}.loading-state span{margin-top:2px;color:#667085;font-size:13px;line-height:1.4}.compact-loading{padding:10px 12px}.loading-frame{position:relative;min-width:0}.loading-overlay{position:absolute;z-index:5;inset:0;display:grid;place-items:start center;border-radius:8px;padding:18px;background:#f8fafcbd;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes spin{to{transform:rotate(360deg)}}.notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:12px;border:1px solid #a7d8c7;border-radius:8px;padding:12px 14px;color:#075e54;background:#effaf6}.notice code{overflow:auto;border-radius:6px;padding:8px;background:#fff}.login-shell{display:grid;min-height:100vh;place-items:center}.login-panel{display:grid;gap:14px;width:min(420px,100%);border:1px solid #d9e0ea;border-radius:8px;padding:24px;background:#fff}.login-panel form,.admin-form{display:grid;gap:10px}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.users-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px}.users-list,.user-detail{align-self:start}.user-cards{display:grid;gap:8px;margin-top:12px}.user-card{display:grid;height:auto;min-height:74px;justify-items:start;gap:4px;border:1px solid #d9e0ea;padding:10px;color:#334155;background:#fff;text-align:left}.user-card.active{border-color:#172033;color:#fff;background:#172033}.user-card span{color:inherit;font-size:12px;opacity:.78}.profile-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #eef2f7;margin:-2px 0 14px;padding-bottom:14px}.profile-hero h2{margin-bottom:6px;font-size:28px}.profile-subline,.timeline-meta{display:flex;flex-wrap:wrap;gap:8px;color:#667085;font-size:12px}.profile-subline span,.timeline-meta span{border-radius:999px;padding:4px 8px;background:#f1f5f9}.profile-kpis{display:flex;gap:8px}.profile-kpis div{min-width:112px;border:1px solid #d9e0ea;border-radius:8px;padding:10px 12px;background:#f8fafc}.profile-kpis span{display:block;color:#667085;font-size:12px;font-weight:750}.profile-kpis strong{display:block;margin-top:4px;font-size:24px}.profile-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.ai-insight-panel{border:1px solid #d9e0ea;border-radius:8px;margin-bottom:14px;padding:14px;background:#fbfdff}.ai-insight-panel .panel-heading{margin-bottom:10px}.insight-card{display:grid;gap:12px}.insight-headline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}.insight-headline p{color:#334155;line-height:1.5}.insight-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.insight-badges span{height:fit-content;border-radius:999px;padding:5px 9px;color:#075e54;font-size:12px;font-weight:800;background:#dff8ed}.insight-conversion{border-left:3px solid #1f6feb;padding-left:10px}.insight-conversion strong{display:block;color:#172033}.chat-read{border-left-color:#0f766e}.behavior-path{display:flex;flex-wrap:wrap;gap:6px}.behavior-path span{border-radius:999px;padding:5px 9px;color:#334155;font-size:12px;font-weight:750;background:#eef2f7}.behavior-path span:not(:last-child):after{content:"→";margin-left:8px;color:#98a2b3}.insight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.insight-grid ul{margin:4px 0 0;padding-left:18px;color:#334155;font-size:13px;line-height:1.45}.insight-caveats{display:flex;flex-wrap:wrap;gap:6px}.insight-caveats span{border-radius:999px;padding:4px 8px;color:#7a4b00;font-size:12px;font-weight:700;background:#fff4d6}.profile-info-grid>div{border-radius:8px;padding:10px 12px;background:#f8fafc}.profile-info-grid strong{display:block;color:#334155;font-size:14px}.profile-info-wide{grid-column:span 2}.alias-list{display:flex;flex-wrap:wrap;gap:6px}.alias-list code{border-radius:999px;padding:4px 8px;color:#334155;background:#e8eef6;font-size:12px}.top-events{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.timeline{display:grid}.timeline-event{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;border-top:1px solid #eef2f7;padding:14px 0}.timeline-dot{width:9px;height:9px;margin-top:6px;border-radius:999px;background:#1f6feb}.timeline-content{display:grid;gap:6px;min-width:0}.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.timeline-heading span{color:#667085;font-size:12px}.event-name-pill{min-height:28px;border-radius:999px;padding:0 10px;color:#155eef;background:#edf4ff;font-weight:750}.property-preview{width:100%;min-height:34px;border-radius:6px;padding:7px 9px;color:#334155;background:#f8fafc;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;text-align:left}.admin-grid>.error,.admin-grid>.notice{grid-column:1 / -1}.admin-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.admin-form button{align-self:end}.check-row{display:flex;align-items:center;gap:8px;min-height:38px}.check-row input{width:auto;min-height:0}.multi-select-field{grid-column:span 2}.masked-key{display:inline-flex;min-width:76px;margin-right:8px;border-radius:999px;padding:4px 9px;color:#475467;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;letter-spacing:0;background:#eef2f7;vertical-align:middle}.builder{display:grid;grid-template-columns:minmax(260px,1.2fr) repeat(3,minmax(190px,1fr));gap:14px;align-items:start;margin-bottom:14px;padding:14px}.builder-group{display:grid;gap:10px}.builder-group.wide{min-width:0}.summary{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:0 0 14px}.summary.compact{grid-template-columns:repeat(2,minmax(160px,220px))}.metric{display:grid;gap:8px;min-height:86px;padding:14px}.metric span{color:#667085;font-size:13px;font-weight:650}.metric strong{font-size:25px;font-weight:760}.panel{margin-bottom:14px;overflow:hidden;padding:16px}.chart-panel{min-height:430px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-heading h2{margin-bottom:0}.status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;color:#075e54;font-size:12px;font-weight:750;background:#dff8ed}.status-pill.is-loading{color:#155eef;background:#edf4ff}.empty-state{display:grid;gap:4px;border:1px dashed #cfd8e3;border-radius:8px;margin:10px 0;padding:18px;color:#667085;background:#f8fafc}.empty-state strong{color:#172033}table{width:100%;border-collapse:collapse;table-layout:fixed}.table-scroll{overflow-x:auto}th,td{border-bottom:1px solid #e7edf5;padding:10px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere;font-size:13px}th{color:#475467;font-size:12px;font-weight:750;background:#f8fafc}tbody tr:hover{background:#f8fbff}pre,.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}pre{max-height:260px;overflow:auto;border:1px solid #d9e0ea;border-radius:6px;padding:10px;background:#f8fafc}.funnel-layout{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(0,1.5fr);gap:14px;align-items:start}.funnel-sidebar{display:grid;gap:18px;padding:14px}.preset-list{display:grid;gap:8px}.preset-divider{height:1px;margin:4px 0;background:#edf2f7}.ai-panel,.save-report-panel{display:grid;gap:10px;border-bottom:1px solid #edf2f7;padding-bottom:18px}.suggestion-preview{display:grid;gap:10px;border:1px solid #d9e0ea;border-radius:8px;padding:12px;background:#fbfcfe}.suggestion-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.suggestion-heading span,.suggestion-preview p,.suggestion-notes{color:#667085;font-size:12px}.suggestion-preview ol{display:grid;gap:8px;margin:0;padding-left:20px}.suggestion-preview li{display:grid;gap:5px}.suggestion-preview code{width:fit-content;border-radius:6px;padding:3px 6px;color:#334155;background:#edf2f7}.suggestion-notes{display:grid;gap:4px}.preset-card{display:grid;gap:4px;min-height:0;border:1px solid #d9e0ea;border-radius:8px;padding:11px 12px;color:#172033;background:#fff;text-align:left}.preset-card span{color:#667085;font-size:12px;line-height:1.35}.preset-card.active{border-color:#1f6feb;box-shadow:inset 3px 0 #1f6feb;background:#f5f9ff}.preset-card.custom{border-style:dashed}.step-builder{display:grid;gap:10px}.mode-panel{display:grid;gap:8px;border:1px solid #d9e0ea;border-radius:8px;padding:10px;background:#f8fafc}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;border-radius:8px;padding:4px;background:#e7edf5}.segmented-control button{min-height:32px;color:#475467;background:transparent}.segmented-control button.active{color:#fff;background:#172033}.mode-help{color:#667085;font-size:12px;line-height:1.45}.mode-notice{display:grid;gap:3px;border:1px solid #fde68a;border-radius:8px;margin-bottom:12px;padding:10px 12px;color:#7a4b00;background:#fffbeb}.mode-notice.ordered{border-color:#a7d8c7;color:#075e54;background:#effaf6}.mode-notice span{color:inherit;font-size:13px}.step-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid #e1e7ef;border-radius:8px;padding:10px;background:#fbfcfe}.step-index{display:grid;width:28px;height:28px;place-items:center;border-radius:999px;color:#334155;font-size:12px;font-weight:800;background:#e8eef6}.step-fields{display:grid;gap:7px;min-width:0}.step-actions{display:grid;gap:6px}.icon-button{width:32px;min-height:32px;padding:0;color:#334155;background:#eef2f7}.icon-button.danger{color:#fff;background:#b42318}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chip{border-radius:999px;padding:4px 8px;color:#475467;font-size:11px;font-weight:700;background:#edf2f7}.event-filter-row{display:flex;align-items:end;gap:10px;margin:-4px 0 14px}.event-filter-row label{width:min(420px,100%)}.event-filter-row input{margin-top:6px}.small{font-size:12px}.funnel-event-name{color:#667085;font-size:12px}.funnel{display:grid;gap:12px}.funnel-step{display:grid;gap:7px;border-bottom:1px solid #edf2f7;padding-bottom:12px}.funnel-step:last-child{border-bottom:0;padding-bottom:0}.funnel-label,.funnel-meta,.funnel-event-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.funnel-label span{color:#172033;font-size:13px;font-weight:700}.funnel-label strong{font-size:16px}.funnel-track{height:12px;overflow:hidden;border-radius:999px;background:#edf2f7}.funnel-bar{height:100%;min-width:2px;border-radius:inherit;background:#0f766e}.funnel-meta,.funnel-event-line{color:#667085;font-size:12px}@media(max-width:1180px){.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.builder,.funnel-layout,.users-layout,.profile-info-grid,.insight-grid,.summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.dashboard{padding:14px}.topbar{align-items:stretch;flex-direction:column}.filters,.builder,.summary,.summary.compact,.funnel-layout,.users-layout,.profile-meta,.profile-info-grid,.insight-grid,.step-card,.admin-grid,.admin-form,.notice{grid-template-columns:1fr}.profile-info-wide{grid-column:auto}.profile-hero{flex-direction:column}.report-strip,.panel-heading,.funnel-label,.funnel-meta,.funnel-event-line{align-items:flex-start;flex-direction:column}.report-links{justify-content:flex-start}.tabs{display:grid;grid-template-columns:repeat(3,1fr)}table{min-width:820px}.panel{overflow-x:auto}}
