:root{--bg:#121213;--bg-elevated:#1b1b1c;--bg-card:#1b1b1c;--bg-card-hover:#222223;--bg-input:#1b1b1c;--bg-surface:#222223;--text:#f5f5f6;--text-secondary:#b4b4b5;--text-muted:#6c6c6d;--text-heading:#f5f5f6;--text-disabled:#4a4a4b;--border:#282829;--border-light:rgba(255,255,255,0.06);--border-focus:#6c6c6d;--accent:#007aff;--accent-hover:#0062cc;--accent-light:rgba(0,122,255,0.12);--bar-color:rgba(255,255,255,0.22);--success:#22c55e;--success-light:rgba(34,197,94,0.12);--danger:#ef4444;--danger-light:rgba(239,68,68,0.12);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","SF Mono","Fira Code",monospace;--radius:10px;--radius-sm:8px;--radius-xs:6px;--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 4px 12px rgba(0,0,0,0.6);--shadow-lg:0 8px 24px rgba(0,0,0,0.7);--header-bg:rgba(18,18,19,0.85);--site-bar-primary:#ffffff;--site-bar-primary-opacity:0.85;--site-bar-secondary:#a1a1aa;--site-bar-secondary-opacity:0.6;--chart-grid:rgba(255,255,255,0.08);--chart-axis:#8b8b96;--chart-axis-line:rgba(255,255,255,0.12);--chart-tooltip-bg:#1b1b1c;--chart-tooltip-border:#282829;--chart-tooltip-text:#f4f4f5;--chart-tooltip-label:#8b8b96;--chart-tooltip-shadow:0 8px 24px rgba(0,0,0,0.7);--chart-bar-primary:#f4f4f5;--chart-bar-secondary:rgba(255,255,255,0.5);--chart-bar-revenue:#22c55e;--code-bg:#0d1117;--code-border:rgba(255,255,255,0.1);--code-text:#e6edf3;--code-btn-bg:rgba(255,255,255,0.06);--code-btn-border:rgba(255,255,255,0.1);--code-btn-text:#8b949e;--code-btn-hover-bg:rgba(255,255,255,0.1);--code-btn-hover-text:#e6edf3;--hl-comment:#6e7681;--hl-string:#a5d6ff;--hl-keyword:#ff7b72;--hl-tag:#7ee787;--hl-literal:#79c0ff;--hl-line-bg:rgba(46,160,67,0.12);--hl-line-border:#3fb950;--hover-border:rgba(255,255,255,0.16);--focus-ring:rgba(255,255,255,0.05);--overlay-bg:rgba(0,0,0,0.7);--overlay-light:rgba(0,0,0,0.5);--btn-primary-text:#000000;--realtime-bg:#1b1b1c;--realtime-shadow:0 8px 32px rgba(0,0,0,0.6)}[data-theme=light]{--bg:#ffffff;--bg-elevated:#f5f5f5;--bg-card:#f5f5f5;--bg-card-hover:#ebebeb;--bg-input:#f5f5f5;--bg-surface:#ebebeb;--text:#121213;--text-secondary:#4a4a4b;--text-muted:#8a8a8b;--text-heading:#121213;--text-disabled:#b4b4b5;--border:#e0e0e0;--border-light:rgba(0,0,0,0.04);--border-focus:#8a8a8b;--accent:#121213;--accent-hover:#1f2937;--accent-light:rgba(0,0,0,0.04);--bar-color:rgba(0,0,0,0.08);--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 24px rgba(0,0,0,0.12);--header-bg:rgba(255,255,255,0.85);--site-bar-primary:#111827;--site-bar-primary-opacity:0.8;--site-bar-secondary:#6b7280;--site-bar-secondary-opacity:0.5;--chart-grid:rgba(0,0,0,0.06);--chart-axis:#6b7280;--chart-axis-line:rgba(0,0,0,0.1);--chart-tooltip-bg:#ffffff;--chart-tooltip-border:rgba(0,0,0,0.1);--chart-tooltip-text:#111827;--chart-tooltip-label:#6b7280;--chart-tooltip-shadow:0 8px 24px rgba(0,0,0,0.12);--chart-bar-primary:#007aff;--chart-bar-secondary:rgba(0,122,255,0.35);--chart-bar-revenue:#16a34a;--code-bg:#f6f8fa;--code-border:rgba(0,0,0,0.1);--code-text:#24292f;--code-btn-bg:rgba(0,0,0,0.04);--code-btn-border:rgba(0,0,0,0.1);--code-btn-text:#656d76;--code-btn-hover-bg:rgba(0,0,0,0.08);--code-btn-hover-text:#24292f;--hl-comment:#6e7781;--hl-string:#0a3069;--hl-keyword:#cf222e;--hl-tag:#116329;--hl-literal:#0550ae;--hl-line-bg:rgba(46,160,67,0.1);--hl-line-border:#2da44e;--hover-border:rgba(0,0,0,0.15);--focus-ring:rgba(0,0,0,0.05);--overlay-bg:rgba(0,0,0,0.4);--overlay-light:rgba(0,0,0,0.3);--btn-primary-text:#ffffff;--realtime-bg:#ffffff;--realtime-shadow:0 8px 32px rgba(0,0,0,0.15)}input,select,textarea{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;font-family:var(--font);font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}textarea{resize:vertical;line-height:1.5}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s,color .2s}a,body{color:var(--text)}a{text-decoration:none}a:hover{color:var(--text-secondary)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--bg)}.auth-logo{margin-bottom:16px;color:var(--text)}.auth-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);padding:40px;width:100%;max-width:420px}.auth-card h1{font-size:22px;font-weight:700;margin-bottom:4px;color:var(--text-heading)}.auth-card .auth-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.auth-card form{display:flex;flex-direction:column;gap:16px}.auth-card .auth-link{text-align:center;margin-top:16px;color:var(--text-secondary);font-size:13px}.auth-card .auth-link a{color:var(--text)}.auth-card .auth-link a:hover{text-decoration:underline}.auth-error{background:var(--danger-light);color:var(--danger);padding:10px 14px;border-radius:var(--radius-sm);font-size:13px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group select{padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);outline:none;background:var(--bg-input);color:var(--text);transition:border-color .15s}.form-group input:focus,.form-group select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-ring)}.form-group input::placeholder,.form-group select::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;border:1px solid rgba(0,0,0,0);transition:all .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:rgba(0,0,0,0);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-surface);border-color:var(--hover-border)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){opacity:.85}.btn-sm{padding:6px 12px;font-size:13px}.btn-full{width:100%}.btn-ghost{background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:color .15s}.btn-ghost:hover{color:var(--text)}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:100;justify-content:space-between;padding:0 24px;height:56px;background:var(--header-bg);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-header,.app-header-left{display:flex;align-items:center}.app-header-left{gap:32px}.app-header-right{display:flex;align-items:center;gap:12px}.app-logo{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--accent);letter-spacing:-.4px;flex-shrink:0}.app-logo:hover{color:var(--text-heading)}.app-nav{display:flex;align-items:center;gap:4px}.app-nav-link{font-size:13px;font-weight:500;color:var(--text-muted);padding:6px 12px;border-radius:var(--radius-sm);transition:color .12s}.app-nav-link:hover{color:var(--text)}.app-nav-link.active{color:var(--accent);background:var(--accent-light)}.app-content{max-width:1280px;margin:0 auto;padding:24px 28px;width:100%}.page-header{justify-content:space-between;margin-bottom:20px;gap:16px}.page-header,.page-header-site{display:flex;align-items:center}.page-header-site{gap:12px}.page-header-favicon{border-radius:4px;flex-shrink:0}.page-header-name{font-size:18px;font-weight:700;color:var(--text-heading);line-height:1.2;margin:0}.page-header-domain{font-size:12px;color:var(--text-muted)}.metrics-strip{display:flex;gap:12px;margin-bottom:20px;overflow-x:auto}.metric-item{flex:1 1;min-width:140px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 20px}.metric-item-label{font-size:12px;font-weight:500;color:var(--text-muted);margin-bottom:6px}.metric-item-value{font-size:24px;font-weight:700;letter-spacing:-.5px;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-heading)}.metric-item-change{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;margin-top:6px;padding:2px 6px;border-radius:4px}.metric-item-change.up{color:var(--success);background:var(--success-light)}.metric-item-change.down{color:var(--danger);background:var(--danger-light)}.date-picker{display:flex;align-items:center;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}.date-picker button{padding:6px 14px;font-size:12px;font-weight:600;border:none;border-radius:var(--radius-xs);cursor:pointer;background:rgba(0,0,0,0);color:var(--text-muted);font-family:var(--font);white-space:nowrap;transition:all .12s}.date-picker button:hover{color:var(--text)}.date-picker button.active{background:var(--text);color:var(--btn-primary-text)}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border);min-height:44px}.panel-tabs{display:flex;gap:0}.panel-tab{padding:12px 14px;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);margin-bottom:-1px;font-family:var(--font);white-space:nowrap;transition:color .12s}.panel-tab:hover{color:var(--text)}.panel-tab.active{color:var(--text);font-weight:600;border-bottom-color:var(--text)}.panel-sort{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.panel-body{padding:0}.analytics-row{display:flex;align-items:center;padding:0 16px;height:40px;border-bottom:1px solid var(--border-light);position:relative;font-size:13px}.analytics-row:last-child{border-bottom:none}.analytics-row:hover{background:var(--bg-card-hover)}.analytics-row-bar{position:absolute;left:0;top:0;bottom:0;background:var(--bar-color);border-radius:0 4px 4px 0;z-index:0;transition:width .3s ease}.analytics-row-name{flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px;gap:8px}.analytics-row-name,.analytics-row-value{position:relative;z-index:1;display:flex;align-items:center}.analytics-row-value{font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;min-width:60px;justify-content:flex-end;gap:6px}.analytics-row-percent{color:var(--text-muted);font-weight:500;min-width:52px}.analytics-row.clickable{cursor:pointer}.analytics-row.row-active{background:var(--bar-color)}.analytics-row.row-active .analytics-row-bar{opacity:.5}.filter-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;margin-bottom:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:13px}.filter-bar-label{font-weight:600;color:var(--text-muted);margin-right:4px}.filter-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-card-hover);border:1px solid var(--border-light);border-radius:6px;font-size:12px;line-height:1}.filter-pill-label{color:var(--text-muted);font-weight:500}.filter-pill-value{font-weight:600;color:var(--text)}.filter-pill-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0 2px;margin-left:2px}.filter-pill-remove:hover{color:var(--text)}.filter-clear{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;font-weight:500;padding:4px 8px;text-decoration:underline}.filter-clear:hover,.page-link-out{color:var(--text)}.page-link-out{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-weight:500}.page-link-out span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-link-out:hover{color:var(--text-secondary)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:20px}@media(max-width:1100px){.grid-3{grid-template-columns:1fr 1fr}}@media(max-width:700px){.grid-3{grid-template-columns:1fr}}.chart-container{width:100%;height:320px;padding:16px}.journey-table{width:100%;border-collapse:collapse}.journey-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border)}.journey-table td{padding:12px 16px;font-size:13px;border-bottom:1px solid var(--border-light);vertical-align:middle}.journey-table tr:last-child td{border-bottom:none}.journey-table tr:hover td{background:var(--bg-card-hover)}.journey-table .visitor-info{display:flex;flex-direction:column;gap:2px}.journey-table .visitor-info .visitor-name{font-weight:600;font-size:13px}.journey-table .visitor-info .visitor-meta{font-size:11px;color:var(--text-secondary);display:flex;gap:8px;flex-wrap:wrap}.journey-table .badge-customer{display:inline-block;background:var(--accent-light);color:var(--text);font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;text-transform:uppercase}.flow{padding:18px 20px 20px}.flow-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.flow-meta{font-size:12px;color:var(--text-muted)}.flow-meta strong{color:var(--text);font-weight:600}.flow-meta code{font-family:var(--font-mono);background:var(--bg-surface);padding:1px 6px;border-radius:4px;font-size:11px;color:var(--text);margin-left:4px}.flow-controls{display:flex;align-items:center;gap:12px}.flow-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.flow-toggle,.flow-toggle input{cursor:pointer}.flow-select{background:var(--bg-input);border:1px solid var(--border);color:var(--text);padding:6px 10px;border-radius:var(--radius);font-size:12px;font-family:var(--font);outline:none}.flow-select:focus{border-color:var(--border-focus)}.flow-canvas{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius);background:var(--bg);padding:8px}.flow-node-content{display:flex;flex-direction:column;justify-content:center;height:100%;font-family:var(--font);pointer-events:none}.flow-node-path{font-family:var(--font-mono);font-size:10px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.flow-node-visitors{display:flex;align-items:baseline;gap:4px;margin-top:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.flow-node-visitors strong{font-size:11px;font-weight:600;color:var(--text-heading)}.flow-node-visitors span{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.flow-hint{margin-top:12px;font-size:11px;color:var(--text-muted);text-align:center}.channel-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;color:var(--text-secondary)}.channel-icon img{width:16px;height:16px;border-radius:3px;object-fit:contain}.sites-list{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:1280px){.sites-list{grid-template-columns:repeat(4,1fr)}}@media(max-width:1024px){.sites-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.sites-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.sites-list{grid-template-columns:1fr}}.site-card{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);cursor:pointer;transition:border-color .15s,transform .15s;overflow:hidden;display:flex;flex-direction:column}.site-card:hover{border-color:var(--border-focus)}.site-card-header{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}.site-card-favicon{width:24px;height:24px;border-radius:5px;background:var(--bg-surface);flex-shrink:0;object-fit:contain}.site-card-info{min-width:0;flex:1 1}.site-card-name{font-size:13px;font-weight:600;color:var(--text-heading);letter-spacing:-.01em}.site-card-domain,.site-card-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-card-domain{font-size:11px;color:var(--text-muted);margin-top:1px}.site-card-menu{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;flex-shrink:0;line-height:0;transition:color .15s,background .15s}.site-card-menu:hover{color:var(--text);background:var(--accent-light)}.site-card-chart{height:64px;min-height:64px;position:relative}.site-card-footer{display:flex;align-items:flex-end;gap:18px;padding:12px 14px 14px;border-top:1px solid var(--border-light)}.site-card-stat{display:flex;flex-direction:column;gap:2px}.site-card-stat-value{font-size:16px;font-weight:600;color:var(--text-heading);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.1}.site-card-period,.site-card-stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.site-card-period{margin-left:auto;background:var(--bg-surface);border:1px solid var(--border);padding:2px 7px;border-radius:100px}.site-card-nodata{font-size:11px;color:var(--text-muted);height:100%}.modal-overlay,.site-card-nodata{display:flex;align-items:center;justify-content:center}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--bg-card);border-radius:var(--radius);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;border:1px solid var(--border)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:16px;font-weight:600;color:var(--text-heading)}.modal-header button{background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-muted);padding:4px}.modal-header button:hover{color:var(--text)}.modal-body{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.drawer-overlay{position:fixed;inset:0;background:var(--overlay-light);z-index:999;opacity:0;pointer-events:none;transition:opacity .25s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:90vw;background:var(--bg-card);border-left:1px solid var(--border);z-index:1001;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease;box-shadow:var(--shadow-lg)}.drawer.open{transform:translateX(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-header-left{display:flex;align-items:center;gap:12px}.drawer-title{font-size:15px;font-weight:600;color:var(--text-heading)}.drawer-subtitle{font-size:12px;color:var(--text-muted);margin-top:1px}.drawer-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted);padding:4px 8px;border-radius:var(--radius-xs)}.drawer-close:hover{color:var(--text)}.drawer-body{flex:1 1;overflow-y:auto;padding:20px}.drawer-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.drawer-summary-item{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.drawer-summary-label{font-size:11px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px}.drawer-summary-value{font-size:18px;font-weight:700;color:var(--text-heading);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.drawer-timeline{display:flex;flex-direction:column}.timeline-session{display:flex;gap:14px}.timeline-track{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:16px;padding-top:4px}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--text-muted);border:2px solid var(--bg-card);box-shadow:0 0 0 2px var(--border);flex-shrink:0;z-index:1}.timeline-dot--conversion{background:var(--success);box-shadow:0 0 0 2px rgba(34,197,94,.3)}.timeline-line{width:2px;flex:1 1;background:var(--border);margin:4px 0}.timeline-content{flex:1 1;padding-bottom:20px;min-width:0}.timeline-session-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.timeline-session-label{font-size:13px;font-weight:600;color:var(--text)}.timeline-session-label--conversion{color:var(--success)}.timeline-session-time{font-size:11px;color:var(--text-muted);white-space:nowrap}.timeline-session-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-secondary);margin-bottom:8px}.timeline-session-meta span{display:inline-flex;align-items:center;gap:4px}.timeline-pages{display:flex;flex-direction:column;gap:0;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-light);overflow:hidden}.timeline-page{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:12px;border-bottom:1px solid var(--border-light)}.timeline-page:last-child{border-bottom:none}.timeline-page-path{font-family:var(--font-mono);font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;margin-right:8px}.timeline-page-time{font-size:11px;color:var(--text-muted);white-space:nowrap;flex-shrink:0}@media(max-width:600px){.drawer{width:100vw;max-width:100vw}}.code-block{background:var(--code-bg);border-radius:var(--radius-sm);position:relative;border:1px solid var(--code-border)}.code-block pre{margin:0;padding:16px;overflow-x:auto}.code-block pre code{font-family:var(--font-mono);font-size:12.5px;line-height:1.7;color:var(--code-text);white-space:pre-wrap;word-break:break-word}.code-block .copy-btn{position:absolute;top:8px;right:8px;padding:4px 10px;font-size:11px;background:var(--code-btn-bg);border:1px solid var(--code-btn-border);border-radius:5px;color:var(--code-btn-text);cursor:pointer;font-family:var(--font);transition:all .15s}.code-block .copy-btn:hover{background:var(--code-btn-hover-bg);color:var(--code-btn-hover-text)}.code-block .hl-comment{color:var(--hl-comment);font-style:italic}.code-block .hl-string{color:var(--hl-string)}.code-block .hl-keyword{color:var(--hl-keyword)}.code-block .hl-tag{color:var(--hl-tag)}.code-block .hl-literal{color:var(--hl-literal)}.code-block .hl-line{background:var(--hl-line-bg);display:inline-block;width:100%;margin:0 -16px;padding:0 16px;border-left:2px solid var(--hl-line-border)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.loading-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .6s linear infinite}.loading-inline{display:flex;align-items:center;justify-content:center;padding:60px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state h3{font-size:15px;margin-bottom:6px;color:var(--text-heading)}.empty-state p{font-size:13px;margin-bottom:16px}.page-title{font-size:18px;font-weight:600;margin-bottom:16px;color:var(--text-heading)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:10px 16px;font-size:12px;font-weight:500;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:10px 16px;font-size:13px;border-bottom:1px solid var(--border-light)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-card-hover)}.data-table .cell-right{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.realtime-widget{position:fixed;bottom:20px;right:20px;z-index:200;width:300px;background:var(--realtime-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--realtime-shadow)}.realtime-widget-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;cursor:pointer;font-family:var(--font);color:var(--text)}.realtime-dot{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.4)}50%{opacity:.8;box-shadow:0 0 0 6px rgba(34,197,94,0)}}.realtime-widget-count{font-size:16px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.realtime-widget-label{font-size:13px;color:var(--text-secondary);font-weight:500;flex:1 1;text-align:left}.realtime-widget-chevron{font-size:10px;color:var(--text-muted);transition:transform .2s}.realtime-widget-chevron.open{transform:rotate(180deg)}.realtime-widget-list{border-top:1px solid var(--border)}.realtime-widget-row{padding:10px 16px;border-bottom:1px solid var(--border-light)}.realtime-widget-row:last-child{border-bottom:none}.realtime-widget-row:hover{background:var(--bg-card-hover)}.realtime-row-top{display:flex;align-items:center;gap:8px}.realtime-country{font-size:13px;font-weight:500;color:var(--text-heading);white-space:nowrap}.realtime-page{color:var(--text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;flex-shrink:1;min-width:0}.realtime-row-bottom{display:flex;align-items:center;gap:8px;margin-top:4px;padding-left:24px}.realtime-source{font-size:11px;color:var(--text-muted)}.realtime-widget-more{padding:10px 16px;font-size:12px;color:var(--text-muted);text-align:center}.visitor-avatar{border-radius:50%;border:2px solid var(--border);background:var(--bg-surface);flex-shrink:0}.page-nav{margin-bottom:16px}.search-input-wrap{display:flex;align-items:center}.search-input{padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);background:var(--bg-input);color:var(--text);outline:none;width:220px;transition:border-color .15s}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--focus-ring)}.search-input::placeholder{color:var(--text-muted)}.journey-table-detailed th:first-child{min-width:200px}.journey-table-detailed th:nth-child(2){min-width:100px}.journey-table-detailed th:nth-child(3){min-width:90px}.journey-table-detailed th:nth-child(5),.journey-table-detailed th:nth-child(6),.journey-table-detailed th:nth-child(7){white-space:nowrap}.journey-table-detailed th:nth-child(8){min-width:120px}.journey-table-detailed td{vertical-align:middle}.journey-table-detailed tr{cursor:pointer}.browser-cell,.country-cell{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.visitor-cell{display:flex;align-items:center;gap:12px}.visitor-avatar-lg{width:44px;height:44px;border-radius:50%;flex-shrink:0;border:2px solid var(--border);background:var(--bg-surface)}.source-cell{display:flex;align-items:center;gap:8px;font-weight:500}.source-favicon{width:16px;height:16px;border-radius:2px}.amount-value{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-heading)}.journey-dots{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.journey-dot{width:10px;height:10px;border-radius:50%;cursor:default;transition:transform .15s;flex-shrink:0}.journey-dot:hover{transform:scale(1.4)}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border)}.pagination-info{font-size:13px;color:var(--text-secondary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media(max-width:768px){.app-header{padding:0 16px}.app-header-left{gap:16px}.app-nav{display:none}.app-content{padding:16px}.metrics-strip{flex-wrap:wrap}.metric-item{min-width:45%}.search-input{width:160px}}.shared-page{min-height:100vh;background:var(--bg);color:var(--text);padding:40px 20px}.shared-container{max-width:860px;margin:0 auto}.shared-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}.shared-title{font-size:24px;font-weight:700;color:var(--text-heading);margin:0 0 4px}.shared-subtitle{font-size:14px;color:var(--text-muted);margin:0}.shared-period-tabs{display:flex;gap:4px;background:var(--bg-elevated);border-radius:var(--radius);padding:3px;border:1px solid var(--border)}.shared-period-tab{background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:500;padding:6px 14px;border-radius:calc(var(--radius) - 2px);cursor:pointer}.shared-period-tab.active{background:var(--bg-card);color:var(--text-heading);box-shadow:0 1px 2px rgba(0,0,0,.1)}.shared-period-tab:hover:not(.active){color:var(--text-secondary)}.shared-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:28px}.shared-metric{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:4px}.shared-metric--highlight{border-color:#007aff;background:rgba(0,122,255,.05)}.shared-metric-value{font-size:22px;font-weight:700;color:var(--text-heading);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.shared-metric-label{font-size:12px;color:var(--text-muted)}.shared-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}.shared-panel-title{font-size:14px;font-weight:600;color:var(--text-heading);padding:16px 20px;margin:0;border-bottom:1px solid var(--border)}.shared-error{padding:80px 20px;font-size:16px}.shared-error,.shared-footer{text-align:center;color:var(--text-muted)}.shared-footer{padding:32px 0 0;font-size:12px}