:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7fb;--panel:#fff;--panel-2:#f9fafb;--border:#e4e7ec;--border-2:#eef0f4;--text:#1f2937;--text-2:#374151;--muted:#6b7280;--accent:#4f46e5;--accent-hover:#4338ca;--accent-soft:#eef2ff;--accent-border:#c7d2fe;--danger:#b91c1c;--user-bubble:#eef2ff;--user-bubble-border:#c7d2fe}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page{max-width:1400px;margin:0 auto;padding:24px}header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}h1{letter-spacing:.2px;color:var(--text);margin:0;font-size:22px;font-weight:600}h2{color:var(--text-2);text-transform:uppercase;letter-spacing:.6px;margin:0 0 16px;font-size:14px;font-weight:600}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:24px 0 8px;font-size:12px;font-weight:600}.date-range{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.date-range label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:4px;font-size:11px;display:flex}.date-range input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.presets{align-self:flex-end;gap:6px;display:flex}.presets button{background:var(--panel);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px}.presets button:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}@media (width<=980px){.grid{grid-template-columns:1fr}}section{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:0 1px 2px #0f172a0a}.cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.card{background:var(--panel-2);border:1px solid var(--border-2);border-radius:8px;padding:12px 14px}.card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.card-value{color:var(--text);margin-top:4px;font-size:22px;font-weight:600}table.breakdown{border-collapse:collapse;width:100%;font-size:13px}table.breakdown th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.4px;background:var(--panel);padding:8px;font-size:11px;font-weight:600}table.breakdown td{border-bottom:1px solid var(--border-2);color:var(--text-2);padding:8px}table.breakdown tbody tr:last-child td{border-bottom:none}table.breakdown tbody tr:hover td{background:var(--panel-2)}.muted{color:var(--muted)}.error{color:var(--danger)}section.full{margin-top:24px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-head h2{margin:0}.geo-controls{align-items:center;gap:16px;font-size:12px;display:flex}.geo-controls label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;align-items:center;gap:8px;font-size:11px;display:flex}.geo-controls select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font-family:inherit;font-size:13px}.scroll-table{border:1px solid var(--border);background:var(--panel);border-radius:8px;max-height:600px;overflow-y:auto}.scroll-table table.breakdown thead th{background:var(--panel);z-index:1;position:sticky;top:0}.scroll-table table.breakdown th,.scroll-table table.breakdown td{padding:8px 12px}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:32px;box-shadow:0 4px 12px #0f172a0f}.auth-card h1{text-align:center;margin:0 0 24px;font-size:20px}.auth-tabs{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.auth-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 0;font-family:inherit;font-size:13px}.auth-tabs button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #0f172a14}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;flex-direction:column;gap:6px;font-size:11px;display:flex}.auth-form input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:14px}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4f46e526}.auth-form .small{text-transform:none;letter-spacing:0;margin:0;font-size:12px}.auth-form .info{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);border-radius:6px;margin:0;padding:10px 12px;font-size:13px}button.primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600}button.primary:hover{background:var(--accent-hover)}button.primary:disabled{cursor:not-allowed;background:#c7d2fe}button.ghost{background:var(--panel);border:1px solid var(--border);color:var(--text-2);cursor:pointer;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:12px}button.ghost:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}button.link{color:var(--muted);text-align:center;cursor:pointer;background:0 0;border:none;padding:4px;font-family:inherit;font-size:12px}button.link:hover{color:var(--accent);text-decoration:underline}code{background:var(--panel-2);border:1px solid var(--border-2);color:var(--text-2);border-radius:4px;padding:1px 6px;font-size:12px}.header-left{align-items:center;gap:24px;display:flex}.header-right{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.tabs{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:4px;padding:4px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 14px;font-family:inherit;font-size:12px}.tabs button.active{background:var(--accent-soft);color:var(--accent)}.user-menu{align-items:center;gap:10px;display:flex}.small{font-size:12px}.chat .section-head{margin-bottom:12px}.chat-layout{grid-template-columns:1fr 260px;align-items:start;gap:20px;display:grid}.chat-main{min-width:0}.chat-history{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;max-height:70vh;padding:12px;display:flex}.chat-history-head{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 2px;font-size:11px;font-weight:600;display:flex}.chat-history-head button.ghost.small{padding:4px 10px;font-size:11px}.chat-history-list{flex-direction:column;gap:4px;padding-right:2px;display:flex;overflow-y:auto}.history-empty{margin:8px 4px}.history-item{background:var(--panel);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 28px 8px 10px;font-family:inherit;display:flex;position:relative}.history-item:hover,.history-item.active{background:var(--accent-soft);border-color:var(--accent-border)}.history-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.history-meta{color:var(--muted);font-size:11px}.history-delete{width:18px;height:18px;color:var(--muted);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:opacity .15s;display:inline-flex;position:absolute;top:6px;right:8px}.history-item:hover .history-delete,.history-item.active .history-delete{opacity:1}.history-delete:hover{background:var(--border);color:var(--danger)}@media (width<=1024px){.chat-layout{grid-template-columns:1fr}.chat-history{max-height:240px}}.chat-scroll{flex-direction:column;gap:16px;max-height:60vh;margin-bottom:12px;padding:4px 4px 16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;padding:24px}.chat-examples{flex-direction:column;gap:8px;max-width:640px;margin-top:16px;margin-left:auto;margin-right:auto;display:flex}.chat-examples button{background:var(--panel);border:1px solid var(--border);color:var(--text-2);cursor:pointer;text-align:left;border-radius:6px;padding:10px 14px;font-family:inherit;font-size:13px}.chat-examples button:hover{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.chat-msg{flex-direction:column;display:flex}.chat-msg.user{align-items:flex-end}.chat-msg.assistant{align-items:stretch}.chat-bubble{background:var(--panel);border:1px solid var(--border);border-radius:10px;max-width:100%;padding:12px 14px}.chat-msg.user .chat-bubble{background:var(--user-bubble);border-color:var(--user-bubble-border);color:var(--text);max-width:80%}.chat-content{white-space:pre-wrap;color:var(--text);margin:0 0 10px;font-size:14px}.chat-bubble .chat-content:last-child{margin:0}.chat-sql{margin-top:12px}.chat-sql summary{cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:11px}.chat-sql pre{background:var(--panel-2);border:1px solid var(--border);color:var(--text-2);border-radius:6px;margin:8px 0 0;padding:10px;font-size:12px;overflow-x:auto}.chat-table-wrap{margin-top:12px}.chat-chart{background:var(--panel-2);border:1px solid var(--border-2);border-radius:6px;margin-top:8px;padding:12px}.chat-input{gap:8px;display:flex}.chat-input input{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;flex:1;padding:10px 14px;font-family:inherit;font-size:14px}.chat-input input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4f46e526}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}
