*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-tertiary: #1a1a1a;--bg-card: #141414;--border: #222222;--border-subtle: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--accent: #ffffff;--accent-hover: #e5e5e5;--success: #22c55e;--danger: #ef4444;--sidebar-width: 220px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);font-size:13px;line-height:1.5;min-height:100vh}h1,h2,h3{font-family:Outfit,Inter,sans-serif}h1,h2{font-weight:600}h3{font-weight:500}body:before{content:"";position:fixed;inset:0;background-image:url(/brand/crown-pattern.svg);background-repeat:repeat;background-size:80px 80px;opacity:.2;pointer-events:none;z-index:0}body.light-theme{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f5;--bg-card: #ffffff;--border: #e5e5e5;--border-subtle: #f0f0f0;--text-primary: #171717;--text-secondary: #525252;--text-tertiary: #737373;--accent: #171717;--accent-hover: #404040}body.light-theme:before{opacity:.3}body.light-theme .card,body.light-theme .stat-card,body.light-theme .breakdown-item{background:#fff;border-color:#e5e5e5}body.light-theme .card:hover,body.light-theme .stat-card:hover,body.light-theme .breakdown-item:hover{border-color:#d4d4d4}body.light-theme .activity-item{background:#f5f5f5}body.light-theme .activity-item:hover{background:#f0f0f0}body.light-theme .activity-icon{background:#fff;border-color:#e5e5e5}body.light-theme .api-key-display,body.light-theme .empty-state-icon{background:#f5f5f5;border-color:#e5e5e5}.app{display:flex;min-height:100vh;position:relative;z-index:1;width:100%;max-width:100%;min-width:0}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);position:fixed;height:100vh;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}.sidebar-header{padding:20px 16px;border-bottom:1px solid var(--border)}.logo{display:flex;align-items:center}.wordmark{display:block;width:148px;height:auto}.nav{flex:1;padding:12px 8px}.nav-section{margin-bottom:24px}.nav-section-title{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.nav-item{display:flex;align-items:center;gap:10px;padding:6px 12px;margin:1px 0;color:var(--text-secondary);text-decoration:none;font-size:12px;font-weight:450;border-radius:4px;transition:all .15s;cursor:pointer;background:none;border:none;width:100%;text-align:left}.nav-item:hover,.nav-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.nav-item svg{width:14px;height:14px;stroke-width:1.5}.sidebar-footer{padding:12px;border-top:1px solid var(--border)}.user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:4px;cursor:pointer;transition:background .15s}.user:hover{background:var(--bg-tertiary)}.user-avatar{width:26px;height:26px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--text-secondary)}.user-info{flex:1}.user-name{font-size:11px;font-weight:500;color:var(--text-primary)}.user-email{font-size:10px;color:var(--text-tertiary)}.main{flex:1 1 0;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:calc(100% - var(--sidebar-width))}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:10;min-width:0;max-width:100%}.page-title{font-family:Outfit,Inter,sans-serif;font-size:14px;font-weight:600;letter-spacing:-.01em}.header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;max-width:100%}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;border-radius:4px;text-decoration:none;transition:all .15s;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.btn:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-primary{background:#f97316;color:#111827;border-color:#f97316}.btn-primary:hover{background:#f97316;border-color:#f97316;color:#111827;opacity:.9}.btn svg{width:13px;height:13px;stroke-width:1.5}.date-picker{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.date-picker:hover{border-color:var(--text-secondary);color:var(--text-primary)}.date-picker svg{width:13px;height:13px;stroke-width:1.5}.date-range{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:4px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary)}.date-range:focus-within{border-color:var(--text-secondary);color:var(--text-primary)}.date-range-field{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:12px;color:var(--text-tertiary)}.date-range-field input{width:7.5rem;max-width:100%;padding:2px 0;border:none;background:transparent;color:var(--text-primary);font:inherit;font-size:12px;font-variant-numeric:tabular-nums}.date-range-field input:focus{outline:none}.date-range-sep{color:var(--text-tertiary)}.content{flex:1;padding:24px;max-width:1400px;min-width:0}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:16px;min-width:0;transition:border-color .15s}.stat-card:hover{border-color:#333}.stat-label{font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.stat-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:8px}.stat-change{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:500}.stat-change.positive{color:var(--success)}.stat-change.negative{color:var(--danger)}.stat-change svg{width:10px;height:10px}.charts-section{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px}@media(max-width:1000px){.charts-section{grid-template-columns:1fr}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;overflow:hidden;min-width:0;max-width:100%}.card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border-subtle)}.card-title{font-size:12px;font-weight:600;color:var(--text-secondary)}.card-actions{display:flex;gap:2px}.tab-btn{padding:4px 8px;font-size:11px;font-weight:500;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:3px;transition:all .15s}.tab-btn:hover,.tab-btn.active{color:var(--text-primary);background:var(--bg-tertiary)}.card-body{padding:16px;min-width:0;max-width:100%}.chart-container{position:relative;height:280px;width:100%;max-width:100%;min-width:0}.chart-container canvas{display:block;width:100%!important;max-width:100%}.breakdown-section{margin-bottom:24px}.breakdown-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:1000px){.breakdown-grid{grid-template-columns:repeat(2,1fr)}}.breakdown-item{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:14px;display:flex;justify-content:space-between;align-items:center;transition:border-color .15s}.breakdown-item:hover{border-color:#333}.breakdown-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-secondary)}.breakdown-dot{width:6px;height:6px;border-radius:50%}.breakdown-value{font-size:15px;font-weight:600}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-subtle);transition:background .15s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:var(--bg-tertiary)}.activity-icon{width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px}.activity-content{flex:1}.activity-title{font-size:12px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.activity-subtitle{font-size:11px;color:var(--text-tertiary)}.activity-amount{font-size:12px;font-weight:600}.activity-amount.positive{color:var(--success)}.activity-amount.negative{color:var(--danger)}.page-section{display:none}.page-section.active{display:block}.empty-state{text-align:center;padding:80px 24px;color:var(--text-tertiary)}.empty-state-icon{width:40px;height:40px;margin:0 auto 16px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;display:flex;align-items:center;justify-content:center}.empty-state-icon svg{width:20px;height:20px;stroke:var(--text-tertiary)}.empty-state h3{font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.empty-state p{font-size:12px}.api-key-display{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;padding:10px 12px;font-family:SF Mono,Monaco,monospace;font-size:11px;color:var(--text-secondary);display:flex;justify-content:space-between;align-items:center;gap:12px}.api-key-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:12px 16px;display:flex;align-items:center;gap:10px;z-index:1000;transform:translate(150%);transition:transform .2s ease;font-size:12px;box-shadow:0 4px 20px #00000080}.toast.show{transform:translate(0)}.toast.success{border-left:2px solid var(--success)}.toast.error{border-left:2px solid var(--danger)}.theme-toggle-container{padding:12px 16px;border-top:1px solid var(--border)}.theme-toggle{display:flex;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:3px;gap:3px}.theme-option{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 8px;border-radius:4px;font-size:11px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .15s;border:none;background:transparent}.theme-option:hover{color:var(--text-secondary)}.theme-option.active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px #0003}.theme-option svg{width:14px;height:14px;stroke-width:1.5}.dashboard-page{min-height:100%;min-width:0;width:100%;max-width:100%;color-scheme:dark}body.light-theme .dashboard-page{color-scheme:light}.dashboard-page .content{max-width:100%;width:100%;min-width:0}.dashboard-page .date-picker input,.dashboard-page .mini-select{background:transparent;color:inherit;border:none;font:inherit;font-size:12px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;width:100%;min-width:0}@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-page .card-header{align-items:flex-start;gap:12px}.dashboard-page .metric-card .card-body{padding:8px 0 12px}.dashboard-page .metric-card .page-state,.dashboard-page .metric-card .banner-error,.dashboard-page .card .banner-error{margin-left:16px;margin-right:16px}.metric-headline{display:flex;align-items:flex-start;gap:10px;margin-left:auto}.metric-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.1;color:var(--text-primary)}.metric-delta{display:flex;flex-direction:column;line-height:1.2}.metric-caption{font-size:11px;color:var(--text-tertiary)}.dashboard-page .metric-card .chart-container{height:240px}.movement-table td:first-child{width:2.5rem;text-align:right;font-weight:600}.movement-table td:last-child{text-align:right}.dashboard-page .movement-table td{color:var(--text-primary)}.count-gain{color:var(--primary-light)}.count-loss{color:var(--danger)}.count-neutral{color:var(--text-secondary)}.report-movement{display:block;width:100%;margin:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:right;cursor:pointer}.report-movement:hover .report-amount{text-decoration:underline}.modal-backdrop{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:24px;background:#0000008c}.modal{width:min(880px,100%);max-height:min(80vh,720px);display:flex;flex-direction:column;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 16px 48px #00000059}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 16px 12px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:14px;font-weight:600}.modal-range{margin-top:4px;color:var(--text-secondary);font-size:12px}.modal-actions{display:flex;gap:8px;flex:none}.modal-body{overflow:auto;padding:0 16px}.movement-table{font-variant-numeric:tabular-nums}.movement-table td:nth-child(2),.movement-table th:nth-child(2){text-align:right}.movement-desc{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-btn{padding:0;border:none;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.modal-pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 16px 16px;color:var(--text-secondary)}.movement-separator td{padding:0;height:0;border-bottom:1px solid var(--border)}.movement-net td{font-weight:700;color:var(--text-primary)}.report-page{display:flex;align-items:stretch;min-height:100%;width:100%;max-width:100%;min-width:0}.report-nav{width:220px;flex:none;background:var(--bg-secondary);border-right:1px solid var(--border);padding:16px 8px}.report-nav-group{margin-bottom:20px}.report-nav-title{padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary)}.report-nav-item{display:block;width:100%;text-align:left;padding:6px 12px;margin:1px 0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer}.report-nav-item.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:600}.report-nav-item:disabled{color:var(--text-tertiary);cursor:not-allowed}.report-soon{display:block;font-size:10px;font-weight:500;color:var(--text-tertiary)}.report-main{flex:1 1 0;min-width:0;max-width:100%;display:flex;flex-direction:column}.report-main .content{max-width:100%;width:100%;min-width:0}.report-chart-card{margin-bottom:16px}.report-chart{height:360px}.report-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:16px}@media(max-width:1000px){.report-summary{grid-template-columns:1fr 1fr}}.report-scroll{overflow:auto;max-width:100%;max-height:420px}.metric-table.report-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-variant-numeric:tabular-nums}.metric-table.report-table th,.metric-table.report-table td{white-space:nowrap;vertical-align:top;text-align:right;padding:10px 14px}.metric-table.report-table thead{position:sticky;top:0;z-index:2}.metric-table.report-table thead th{position:sticky;top:0;z-index:2;background:var(--bg-card);box-shadow:inset 0 -1px 0 var(--border)}.metric-table.report-table th:first-child,.metric-table.report-table td:first-child{position:sticky;left:0;z-index:3;text-align:left;background:var(--bg-card);box-shadow:inset -1px 0 0 var(--border)}.metric-table.report-table thead th:first-child{z-index:4;box-shadow:inset -1px -1px 0 var(--border)}.metric-table.report-table tr:hover>th,.metric-table.report-table tr:hover>td,.metric-table.report-table .is-hot{background:color-mix(in srgb,var(--text-primary) 8%,var(--bg-card))}.metric-table.report-table tr:hover>.is-hot{background:color-mix(in srgb,var(--text-primary) 14%,var(--bg-card))}.metric-table.report-table tr.report-rule td{height:9px;padding:0;border-bottom:none;background:var(--bg-card);box-shadow:inset 0 1px 0 var(--border)}.metric-table.report-table tr.report-rule td:first-child{box-shadow:inset -1px 0 0 var(--border),inset 0 1px 0 var(--border)}.metric-table.report-table tr.report-rule:hover>td{background:var(--bg-card)}.report-amount,.report-count{display:block;text-align:right}.report-count{font-size:10px;font-weight:600;line-height:1.3}.metric-table.report-table tr.report-strong>th,.metric-table.report-table tr.report-strong>td{font-weight:700;color:var(--text-primary)}.remember-device{display:inline-flex;align-items:center;gap:6px;color:var(--text-secondary);cursor:pointer}body.auth-page:before{display:none}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;width:100%;position:relative;z-index:1}.auth-card{width:100%;max-width:400px;padding:40px}.auth-card h1{font-family:Outfit,Inter,sans-serif;font-size:32px;margin-bottom:8px;font-weight:600}.auth-card .subtitle{color:var(--text-secondary);margin-bottom:32px}.auth-card .form-group{margin-bottom:20px}.auth-card label{display:block;margin-bottom:8px;font-weight:500}.auth-card input{width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:16px;font-family:inherit}.auth-card input:focus{outline:none;border-color:var(--primary-light)}.auth-card button[type=submit]{width:100%;padding:12px;background:#f97316;border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit}.auth-card button[type=submit]:hover{opacity:.9}.auth-card button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.auth-card .link{margin-top:24px;text-align:center;color:var(--text-secondary)}.auth-card .link a{color:var(--primary-light);text-decoration:none}.auth-card .error,.banner-error{color:#ef4444;margin-bottom:16px;padding:12px;background:#ef44441a;border-radius:8px}.loading-screen{position:fixed;inset:0;background:#0a0a0a;display:flex;align-items:center;justify-content:center;z-index:9999;color:#fff;font-family:Inter,sans-serif}.workspace-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.workspace-list button{text-align:left;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:14px}.workspace-list button:hover,.workspace-list button[aria-pressed=true]{border-color:var(--primary-light)}.sign-out{margin-top:8px;width:100%}:root{--primary: #F97316;--primary-light: #F97316;--text: var(--text-primary)}.user-block{display:flex;flex-direction:column;gap:8px}.page-state{padding:24px 0;color:var(--text-secondary)}.metric-table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.metric-table th,.metric-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text-secondary)}.metric-table th{color:var(--text-tertiary);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.field-row{display:flex;gap:8px;align-items:center;margin-bottom:12px}.field-row input,.field-row select,.shell-input{padding:8px 10px;background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px;font-family:inherit}.drop-zone{border:1px dashed var(--border);border-radius:8px;padding:28px 16px;text-align:center;color:var(--text-secondary);background:var(--bg-secondary)}.drop-zone.drag{border-color:var(--text-secondary)}.file-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);font-size:12px}
