:root{--page: #f9f9f7;--surface: #fcfcfb;--surface-2: #f2f1ee;--border: rgba(11, 11, 11, .1);--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--accent: #2a78d6;--accent-2: #1baf7a;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--yes: #1baf7a;--no: #e34948;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--shadow-sm: 0 1px 2px rgba(11, 11, 11, .04), 0 1px 1px rgba(11, 11, 11, .03);--shadow-md: 0 4px 12px rgba(11, 11, 11, .06), 0 1px 2px rgba(11, 11, 11, .04);--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}@media (prefers-color-scheme: dark){:root{--page: #0d0d0d;--surface: #1a1a19;--surface-2: #232322;--border: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--axis: #383835;--accent: #3987e5;--accent-2: #199e70;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #e66767;--yes: #199e70;--no: #e66767;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--page);color:var(--text-primary);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:600;margin:0}table{border-collapse:collapse}button,input{font-family:inherit}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.app-shell{min-height:100%;display:grid;grid-template-columns:240px 1fr}.sidebar{border-right:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;padding:var(--space-5) var(--space-4);gap:var(--space-6);position:sticky;top:0;height:100vh}.sidebar__brand{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2)}.sidebar__mark{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);flex-shrink:0}.sidebar__title{font-size:15px;letter-spacing:-.01em;line-height:1.2}.sidebar__subtitle{font-size:11px;color:var(--text-muted);margin:0}.sidebar__nav{display:flex;flex-direction:column;gap:2px}.sidebar__link{display:flex;align-items:center;gap:var(--space-3);padding:9px var(--space-3);border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary);background:none;border:none;text-align:left;text-decoration:none;cursor:pointer;width:100%}.sidebar__link:hover{background:var(--surface-2);color:var(--text-primary)}.sidebar__link.is-active{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent)}.sidebar__icon{width:16px;height:16px;flex-shrink:0;opacity:.85}.sidebar__spacer{flex:1}.sidebar__footer{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border)}.sidebar__mode-label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:0 var(--space-2)}.sidebar__profile-badge{display:flex;flex-direction:column;gap:6px;padding-bottom:var(--space-2)}.sidebar__profile-badge .badge{align-self:flex-start;margin:0 var(--space-2)}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto;gap:var(--space-4)}.sidebar__nav{flex-direction:row}.sidebar__footer{border-top:none;border-left:1px solid var(--border);padding-top:0;padding-left:var(--space-4);flex-direction:row}.sidebar__spacer{display:none}}.app-main{width:100%;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.app-main__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.app-main__title{font-size:22px;letter-spacing:-.01em}.app-main__meta{font-size:12px;color:var(--text-muted)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}@media (max-width: 860px){.dashboard-grid{grid-template-columns:1fr}.app-main{padding:var(--space-4)}}.hero-balance{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-5);flex-wrap:wrap}.hero-balance__value{font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1;font-variant-numeric:proportional-nums}.hero-balance__value--empty{font-size:18px;font-weight:500;color:var(--text-muted)}.hero-balance__deltas{display:flex;gap:var(--space-5)}.hero-delta{display:flex;flex-direction:column;gap:2px}.hero-delta__label{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.hero-delta__value{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:4px}.hero-delta__arrow{font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5)}.card--chart{padding-bottom:var(--space-4)}.card__title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:var(--space-4)}.mode-toggle{display:inline-flex;padding:3px;background:var(--surface-2);border-radius:var(--radius-md);border:1px solid var(--border);gap:2px}.mode-toggle__option{display:inline-flex}.mode-toggle__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mode-toggle__label{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 14px;border-radius:calc(var(--radius-md) - 3px);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.mode-toggle__input:checked+.mode-toggle__label{background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.mode-toggle__input:focus-visible+.mode-toggle__label{outline:2px solid var(--accent);outline-offset:1px}.mode-toggle__dot{width:6px;height:6px;border-radius:999px;background:currentColor;opacity:.5}.mode-toggle__input:checked+.mode-toggle__label .mode-toggle__dot--live{background:var(--critical);opacity:1}.mode-toggle__input:checked+.mode-toggle__label .mode-toggle__dot--dry{background:var(--accent);opacity:1}.balance-chart__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.balance-chart__label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.balance-chart__value{font-size:32px;font-weight:600;letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:proportional-nums}.balance-chart__value--empty{font-size:15px;font-weight:500;color:var(--text-muted)}.balance-chart__tooltip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-md);font-size:12px}.balance-chart__tooltip-label{color:var(--text-muted);margin:0 0 2px}.balance-chart__tooltip-value{color:var(--text-primary);font-weight:600;margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);color:var(--text-muted);font-size:13px;text-align:center;border:1px dashed var(--border);border-radius:var(--radius-md)}.loading-state{color:var(--text-muted);font-size:13px;padding:var(--space-4) 0}.error-state{display:flex;align-items:center;gap:var(--space-2);color:var(--critical);background:color-mix(in srgb,var(--critical) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--critical) 30%,var(--border));border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-4)}.stat-tile{display:flex;flex-direction:column;gap:4px}.stat-tile__label{font-size:12px;color:var(--text-muted)}.stat-tile__value{font-size:22px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary);font-variant-numeric:proportional-nums}.stat-tile__value--na{color:var(--text-muted);font-weight:500;font-size:16px}.stat-tile__value--good{color:var(--good)}.stat-tile__value--bad{color:var(--critical)}.data-table-wrap{overflow-x:auto}.data-table{width:100%;font-size:13px;border-spacing:0}.data-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;padding:0 var(--space-3) var(--space-2);border-bottom:1px solid var(--grid)}.data-table td{padding:var(--space-3);border-bottom:1px solid var(--grid);color:var(--text-primary);font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--surface-2)}.data-table--profiles{table-layout:fixed}.data-table--profiles th:nth-child(1),.data-table--profiles td:nth-child(1){width:20%}.data-table--profiles th:nth-child(2),.data-table--profiles td:nth-child(2){width:30%}.data-table--profiles th:nth-child(7),.data-table--profiles td:nth-child(7){width:14%}.data-table td.profiles-table__categories,.data-table td.profiles-table__name{white-space:normal;word-break:break-word;overflow-wrap:break-word}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge--yes{color:var(--yes);background:color-mix(in srgb,var(--yes) 14%,var(--surface))}.badge--no{color:var(--no);background:color-mix(in srgb,var(--no) 14%,var(--surface))}.badge--acted{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.badge--logged{color:var(--text-muted);background:var(--surface-2)}.badge--status{color:var(--text-secondary);background:var(--surface-2);text-transform:none}.pnl--positive{color:var(--good);font-weight:600}.pnl--negative{color:var(--critical);font-weight:600}.pnl--na{color:var(--text-muted)}.feed-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:420px;overflow-y:auto}.feed-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--grid);font-size:13px}.feed-item:last-child{border-bottom:none}.feed-item__main{display:flex;flex-direction:column;gap:2px;min-width:0}.feed-item__market{font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis}.feed-item__meta{color:var(--text-muted);font-size:12px}.feed-item__right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.feed-item__score{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:12px}.settings-form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--text-secondary);font-weight:500}.field input{font-size:14px;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.settings-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-4)}.settings-form__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:var(--space-2) 0 0}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.category-chip{display:flex;align-items:center;gap:var(--space-2);padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary);cursor:pointer;background:var(--surface);transition:border-color .12s ease,background .12s ease}.category-chip:hover{border-color:var(--accent)}.category-chip input{accent-color:var(--accent);width:15px;height:15px;margin:0;flex-shrink:0}.category-chip:has(input:checked){background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:var(--accent);color:var(--text-primary);font-weight:500}.button{align-self:flex-start;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);padding:9px 18px;font-size:13px;font-weight:600;cursor:pointer;transition:filter .12s ease}.button:hover{filter:brightness(1.08)}.button:active{filter:brightness(.96)}.button:disabled{opacity:.45;cursor:not-allowed;filter:none}.button--sm{padding:6px 12px;font-size:12px}.button--secondary{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border)}.button--secondary:hover{background:var(--surface);border-color:var(--accent);filter:none}.button--danger{background:color-mix(in srgb,var(--critical) 12%,var(--surface));color:var(--critical);border:1px solid color-mix(in srgb,var(--critical) 35%,var(--border))}.button--danger:hover{background:color-mix(in srgb,var(--critical) 20%,var(--surface));filter:none}.button--link{display:block;width:100%;align-self:auto;background:none;color:var(--text-primary);border:none;padding:0;font-size:14px;font-weight:600;text-align:left;white-space:normal;word-break:break-word;cursor:pointer}.button--link:hover{color:var(--accent);text-decoration:underline;filter:none}.row-actions{display:flex;gap:var(--space-2);justify-content:flex-start}.profile-form__actions{display:flex;gap:var(--space-3)}.back-link{align-self:flex-start;background:none;border:none;padding:4px 0;font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer}.back-link:hover{color:var(--accent)}.empty-state-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.empty-state-card .empty-state{margin:0}.profiles-page{display:flex;flex-direction:column;gap:var(--space-4)}.profiles-page__toolbar{display:flex;justify-content:flex-end}.status-message{color:var(--good);font-size:13px;font-weight:500}.auth-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 45%),var(--page)}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4)}.auth-card h1{font-size:18px;letter-spacing:-.01em;margin-bottom:var(--space-1)}.auth-card__hint{color:var(--text-muted);font-size:13px;margin:-8px 0 0}.auth-card .button{align-self:stretch;text-align:center;padding:10px 18px}.auth-card .error-state{margin:0}
