:root{color:#eaf2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--surface-canvas:#060a12;--surface-sidebar:#080e19;--surface-panel:#0b1220;--surface-elevated:#101a2b;--surface-hover:#142238;--text-primary:#eaf2ff;--text-secondary:#91a3ba;--text-muted:#63758c;--border-subtle:#91a3ba29;--border-accent:#38d9ff5c;--accent-cyan:#38d9ff;--accent-violet:#8b7cff;--status-positive:#3de0a0;--status-warning:#f6c453;--status-negative:#ff6b7a;--alert-critical:#ff6b7a;--alert-warning:#f6c453;--alert-info:#38d9ff;--chart-primary:#38d9ff;--chart-grid:#91a3ba26;--chart-1:#38d9ff;--chart-2:#8b7cff;--chart-3:#3de0a0;--chart-4:#f6c453;--chart-5:#ff7aa8;--chart-6:#6fa8ff;--radius-panel:16px;--radius-control:10px;--motion-fast:.12s;--motion-standard:.16s;--motion-slow:.18s;background:#060a12;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Arial,sans-serif}html{background:var(--surface-canvas)}body{color:var(--text-primary);background:var(--surface-canvas)}strong,td,dd,input,.metric-card{font-variant-numeric:tabular-nums}:root{color:var(--text-primary);background:var(--surface-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Microsoft YaHei,PingFang SC,Noto Sans CJK SC,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit;transition:background-color var(--motion-standard) ease, border-color var(--motion-standard) ease, opacity var(--motion-fast) ease, transform var(--motion-fast) ease}button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);min-height:38px;color:var(--text-secondary);cursor:pointer;padding:8px 13px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.52}button:not(:disabled):hover{transform:translateY(-1px)}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:3px}.auth-page{isolation:isolate;background:radial-gradient(circle at 18% 12%,#38d9ff21,#0000 30rem),radial-gradient(circle at 82% 80%,#8b7cff1c,#0000 32rem),linear-gradient(145deg,#060a12,#080f1c 54%,#070b14);place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.auth-page:before{z-index:-1;content:"";background-image:linear-gradient(#91a3ba0a 1px,#0000 1px),linear-gradient(90deg,#91a3ba0a 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000 16%,#0000 76%);mask-image:radial-gradient(circle,#000 16%,#0000 76%)}.auth-card{border:1px solid var(--border-accent);border-radius:var(--radius-panel);-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);background:#0b1220f0;gap:22px;width:min(100%,460px);padding:32px;display:grid;position:relative;overflow:hidden;box-shadow:0 28px 90px #0000006b,inset 0 1px #eaf2ff0d}.auth-card:before{background:linear-gradient(90deg, transparent, var(--accent-cyan), transparent);content:"";opacity:.72;height:1px;position:absolute;inset:0 12% auto}.auth-brand{align-items:center;gap:12px;display:flex}.auth-mark{border:1px solid var(--border-accent);width:48px;height:48px;color:var(--accent-cyan);background:linear-gradient(145deg,#38d9ff29,#8b7cff1f);border-radius:15px;flex:0 0 48px;place-items:center;display:grid;box-shadow:inset 0 0 24px #38d9ff14}.auth-brand>span:last-child{gap:4px;display:grid}.auth-brand strong{color:var(--text-primary);letter-spacing:.13em;font-size:13px}.auth-brand small{color:var(--text-muted);letter-spacing:.08em;font-size:11px}.auth-heading{gap:8px;display:grid}.auth-heading h1{color:var(--text-primary);font-size:28px}.auth-heading>p:last-child{color:var(--text-secondary);margin:0;line-height:1.6}.auth-form{gap:14px;display:grid}.auth-form label{color:var(--text-secondary);gap:7px;font-size:14px;font-weight:600;display:grid}.auth-form input{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);width:100%;color:var(--text-primary);padding:11px 12px;font-weight:400}.auth-form input:focus{border-color:var(--accent-cyan);outline:3px solid #38d9ff24}.auth-card>button,.auth-form>button:not(.text-button),.auth-actions button{border-radius:var(--radius-control);color:#f8fbff;background:linear-gradient(135deg,#1597c4,#5968ef);border:0;min-height:42px;padding:10px 16px;font-weight:700;box-shadow:0 8px 24px #1597c42e}.auth-card button.secondary,.auth-actions button.secondary{border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-secondary)}.auth-error{border-radius:var(--radius-control);color:#ff9ba6;background:#ff6b7a17;border:1px solid #ff6b7a47;margin:0;padding:10px 12px;font-size:13px}.totp-setup{grid-template-columns:152px minmax(0,1fr);align-items:center;gap:18px;display:grid}.totp-setup img{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:#fff;width:152px;height:152px;padding:5px}.totp-secret{overflow-wrap:anywhere;color:var(--text-primary);margin-top:8px;font-size:14px;display:block}.recovery-code-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:0;padding-left:24px;display:grid}.recovery-code-list code{-webkit-user-select:all;user-select:all}.auth-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.authenticated-root{background:var(--surface-canvas);min-height:100vh}.session-logout{z-index:20;border:1px solid var(--border-subtle);border-radius:var(--radius-control);min-height:40px;color:var(--text-secondary);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#101a2be0;padding:8px 14px;position:fixed;bottom:18px;left:20px}.app-shell{background:radial-gradient(circle at 82% 8%, #38d9ff14, transparent 26rem), radial-gradient(circle at 66% 70%, #8b7cff0f, transparent 32rem), var(--surface-canvas);grid-template-columns:256px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#080e19eb;flex-direction:column;height:100vh;padding:22px 14px 82px;display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:11px;margin:0 8px 28px;display:flex}.brand-mark{border:1px solid var(--border-accent);width:42px;height:42px;color:var(--accent-cyan);background:linear-gradient(145deg,#38d9ff24,#8b7cff1a);border-radius:14px;flex:0 0 42px;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 22px #38d9ff14}.brand-mark:after{background:var(--accent-violet);width:4px;height:4px;box-shadow:0 0 8px var(--accent-violet);content:"";border-radius:50%;position:absolute;top:7px;right:7px}.brand-copy{gap:3px;min-width:0;display:grid}.brand-copy strong{color:var(--text-primary);letter-spacing:.12em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.brand-copy small{color:var(--text-muted);letter-spacing:.08em;font-size:11px}.nav-list{flex:1;align-content:start;gap:6px;display:grid}.nav-item{border-radius:var(--radius-control);width:100%;color:var(--text-secondary);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:11px 12px;display:flex;position:relative}.nav-item:hover,.nav-item:focus,.nav-item.active,.nav-item[aria-current=page]{border-color:var(--border-subtle);color:var(--text-primary);background:linear-gradient(90deg,#38d9ff1f,#8b7cff0f);outline:none}.nav-item[aria-current=page]:before{background:var(--accent-cyan);content:"";border-radius:999px;width:2px;position:absolute;inset:8px auto 8px -1px;box-shadow:0 0 12px #38d9ffb3}.nav-item[aria-current=page] svg{color:var(--accent-cyan);filter:drop-shadow(0 0 6px #38d9ff47)}.sidebar-footer{border-top:1px solid var(--border-subtle);align-items:center;gap:10px;margin:18px 8px 0;padding-top:16px;display:flex}.readonly-pulse{background:var(--accent-cyan);border-radius:50%;flex:0 0 7px;width:7px;height:7px;box-shadow:0 0 10px #38d9ff9e}.sidebar-footer>div{gap:3px;display:grid}.sidebar-footer span{color:var(--accent-cyan);letter-spacing:.16em;font-size:9px;font-weight:800}.sidebar-footer strong{color:var(--text-secondary);font-size:11px;font-weight:600}.main-panel{min-width:0;padding:32px clamp(24px,4vw,56px) 48px}.main-panel>.page-stack{max-width:1600px;margin:0 auto}.page-stack{gap:18px;display:grid}.page-header{align-items:flex-start;gap:14px;padding:4px 0 6px;display:flex}.page-header-orbit{border:1px solid var(--border-accent);border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;margin-top:2px;display:grid;position:relative;box-shadow:inset 0 0 16px #38d9ff14}.page-header-orbit:before,.page-header-orbit:after{content:"";border:1px solid #8b7cff57;border-radius:50%;position:absolute}.page-header-orbit:before{width:22px;height:9px;transform:rotate(-28deg)}.page-header-orbit:after,.page-header-orbit>span{background:var(--accent-cyan);border:0;width:5px;height:5px;box-shadow:0 0 9px #38d9ffbd}.page-header-orbit>span{border-radius:50%}.page-header-copy{gap:6px;display:grid}.eyebrow,.page-description,.muted{color:var(--text-secondary);margin:0;font-size:13px}h1,h2{color:var(--text-primary);margin:0;line-height:1.2}h1{font-size:30px}h2{font-size:17px}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.metric-card,.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:inset 0 1px #eaf2ff08}.metric-card{gap:8px;padding:16px;display:grid}.metric-card span{color:var(--text-secondary);font-size:13px}.metric-card strong{color:var(--text-primary);font-size:24px}.metric-card.good strong{color:var(--status-positive)}.metric-card.warn strong{color:var(--status-warning)}.metric-card.featured{border-color:var(--border-accent);background:radial-gradient(circle at 88% 10%,#38d9ff24,#0000 55%),linear-gradient(135deg,#102238f5,#0b1220f5);position:relative;overflow:hidden;box-shadow:inset 0 1px #eaf2ff0d,0 16px 40px #0000002e}.metric-card.featured:after{content:"";border:1px solid #38d9ff2e;border-radius:50%;width:56px;height:56px;position:absolute;top:-16px;right:-14px}.metric-card.featured strong{font-size:clamp(26px,2vw,34px)}.content-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;display:grid}.panel{gap:14px;padding:16px;display:grid;position:relative;overflow:hidden}.panel:before{background:linear-gradient(90deg, transparent, var(--border-accent), transparent);content:"";opacity:.75;height:1px;position:absolute;inset:0 8% auto}.chart-box{min-width:0;height:260px;overflow-x:auto}.allocation-list{flex-wrap:wrap;gap:8px;display:flex}.broker-provenance{border:1px solid var(--border-accent);border-radius:var(--radius-control);background:#38d9ff12;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:11px 14px;display:flex}.broker-provenance>span:not(.status-badge,.history-badge){color:var(--text-secondary);font-size:.88rem}.allocation-list span{border:1px solid var(--border-subtle);background:var(--surface-elevated);color:var(--text-secondary);border-radius:999px;padding:5px 9px;font-size:12px}.table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-control);scrollbar-color:var(--border-accent) transparent;overflow-x:auto}table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:14px}th,td{border-bottom:1px solid var(--border-subtle);text-align:left;white-space:nowrap;padding:10px 8px}th{z-index:1;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;background:#101a2bf5;font-size:12px;font-weight:600;position:sticky;top:0}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#38d9ff0a}.empty-state{border:1px dashed var(--border-accent);border-radius:var(--radius-control);color:var(--text-muted);text-align:center;background:#38d9ff08;padding:18px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.form-grid.wide{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.form-grid label{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}.form-grid .full{grid-column:1/-1}input,select,textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);width:100%;min-height:38px;color:var(--text-primary);caret-color:var(--accent-cyan);padding:8px 10px}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 0 3px #38d9ff1a}input:disabled,select:disabled,textarea:disabled{color:var(--text-muted);background:#91a3ba0d}textarea{resize:vertical}.form-grid button{border-radius:var(--radius-control);background:linear-gradient(135deg, var(--accent-cyan), #5ba7ff);color:#031019;border:0;align-self:end;min-height:38px;padding:8px 14px;font-weight:600}.button-row{flex-wrap:wrap;gap:10px;display:flex}.status-line{color:var(--status-positive);margin:0;font-weight:600}.text-button{min-height:auto;color:var(--accent-cyan);text-align:left;background:0 0;border:0;padding:0}.settings-field{color:var(--text-secondary);gap:8px;font-size:13px;display:grid}.dashboard-metrics{grid-template-columns:repeat(3,minmax(180px,1fr))}.asset-composition{gap:10px;display:grid}.asset-composition>div{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(100px,1fr) auto auto;align-items:center;gap:14px;padding:8px 0;display:grid}.asset-composition span:last-child{color:var(--text-muted);text-align:right;min-width:64px}.panel-heading{justify-content:space-between;align-items:center;display:flex}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.editable-table input,.editable-table select{min-width:112px}.row-actions{align-items:center;gap:8px;display:flex}.row-actions button:not(.text-button){border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);color:var(--text-secondary);padding:6px 10px}.danger-text{color:var(--status-negative)}.readonly-row{background:#91a3ba0a}.cash-section{gap:14px}.section-heading-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading-row h2{margin:0}.section-count,.currency-code{color:var(--text-muted);font-size:12px}.cash-table td:first-child{gap:4px;min-width:160px;display:grid}.cash-table td:first-child small{color:var(--text-muted)}.liability-section{border-color:#ff6b8138}.negative-row{background:#ff6b810a}.negative-value{color:var(--status-negative);font-weight:700}.positive-value{color:var(--status-positive);font-weight:700}.editable-table td>small{color:var(--text-muted);margin-top:.25rem;font-weight:500;display:block}.exchange-rate-facts{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:0;display:grid}.exchange-rate-facts>div{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);gap:.3rem;padding:.8rem;display:grid}.exchange-rate-facts dt{color:var(--text-muted);font-size:.78rem}.exchange-rate-facts dd{color:var(--text-primary);margin:0;font-weight:700}.exchange-rate-panel h3{margin:.5rem 0 0}.exchange-rate-table{min-width:520px}.cash-inline-editor input,.cash-inline-editor select{width:100%}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.connection-panel,.flex-import-panel,.ibkr-table-panel{gap:18px}.connection-summary,.coverage-line,.table-tools,.preview-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.connection-summary>div,.coverage-line{align-items:center;gap:10px;display:flex}.connection-summary button,.flex-import-panel>button,.table-tools button,.quote-sync-heading button,.destructive-zone button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);min-height:38px;color:var(--text-primary);padding:8px 13px;font-weight:600}.status-badge,.history-badge,.readonly-label{border-radius:999px;align-items:center;width:fit-content;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.status-badge.authenticated,.history-badge.complete{color:var(--status-positive);background:#3de0a01a;border:1px solid #3de0a03d}.status-badge.auth_required,.history-badge.possible_gap{color:var(--status-warning);background:#f6c4531a;border:1px solid #f6c4533d}.status-badge.unavailable,.status-badge.error,.history-badge.missing{border:1px solid var(--border-subtle);color:var(--text-muted);background:#91a3ba14}.freshness-banner{border:1px solid var(--border-accent);border-radius:var(--radius-control);color:var(--accent-cyan);background:#38d9ff12;margin:0;padding:10px 12px}.freshness-banner.warn{color:var(--status-warning);background:#f6c45317;border-color:#f6c45347}.freshness-banner.error,.file-preview-error{color:var(--status-negative);background:#ff6b7a17;border-color:#ff6b7a47}.quote-sync-status{border:1px solid var(--border-accent);background:#38d9ff0d;border-radius:10px;gap:8px;padding:14px 16px;display:grid}.quote-sync-status.running,.quote-sync-status.delayed{background:#f6c45314;border-color:#f6c45347}.quote-sync-status.failed{background:#ff6b7a14;border-color:#ff6b7a47}.quote-sync-heading,.quote-sync-details{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.quote-sync-heading>div{gap:3px;display:grid}.quote-sync-heading span,.quote-sync-details,.quote-sync-status p{color:var(--text-secondary);font-size:13px}.quote-sync-status p{margin:0}.quote-sync-status .quote-sync-warning{color:var(--status-negative)}.status-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0;display:grid}.status-grid div{gap:5px;display:grid}.status-grid dt{color:var(--text-muted);font-size:12px}.status-grid dd{margin:0;font-size:14px}.system-status-panel{border-left:3px solid var(--status-positive)}.system-status-panel.warning{border-left-color:var(--status-warning)}.system-status-panel.critical{border-left-color:var(--status-negative)}.system-status-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.system-status-actions button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);color:var(--text-secondary);padding:7px 11px}.operations-severity{color:var(--status-positive);background:#3de0a01a;border:1px solid #3de0a03d;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700}.operations-severity.warning{color:var(--status-warning);background:#f6c4531a;border-color:#f6c4533d}.operations-severity.critical{color:var(--status-negative);background:#ff6b7a1a;border-color:#ff6b7a3d}.operations-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:0;display:grid}.operations-grid>div{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);gap:5px;padding:12px;display:grid}.operations-grid dt{color:var(--text-muted);font-size:12px}.operations-grid dd{color:var(--text-primary);margin:0;font-weight:700}.operations-grid .is-warning dd{color:var(--status-warning)}.operations-grid .is-critical dd{color:var(--status-negative)}.operations-warning-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.operations-warning-list li{color:var(--status-warning);background:#f6c45314;border:1px solid #f6c45333;border-radius:7px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;display:flex}.operations-warning-list li.critical{color:var(--status-negative);background:#ff6b7a14;border-color:#ff6b7a33}.operations-warning-list a{color:inherit;font-size:12px;font-weight:700}.operations-all-clear{color:var(--status-positive);margin:0}.operations-runbooks{border-top:1px solid var(--border-subtle);gap:7px;padding-top:12px;display:grid}.operations-runbooks details{color:var(--text-secondary);font-size:13px}.operations-runbooks summary{cursor:pointer;color:var(--text-primary);font-weight:700}.operations-runbooks p{margin:8px 0 0;line-height:1.6}.system-status-error{color:var(--status-negative);background:#ff6b7a14;border:1px solid #ff6b7a33;border-radius:7px;margin:0;padding:10px 12px}.ibkr-settings{align-items:end}.checkbox-field{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.checkbox-field input{width:auto;min-height:auto}.destructive-zone{border-top:1px solid #ff6b7a47;gap:10px;padding-top:16px;display:grid}.destructive-zone label,.file-picker,.table-tools label,.table-filter{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}.destructive-zone .danger-button{width:fit-content;color:var(--status-negative);background:#ff6b7a14;border-color:#ff6b7a52}.flex-recipe{border-left:3px solid var(--accent-cyan);background:#38d9ff0d;padding:12px 16px}.flex-recipe h3,.history-grid h3{margin:0 0 8px;font-size:14px}.flex-recipe ul{color:var(--text-secondary);margin:0;padding-left:20px;font-size:13px;line-height:1.7}.file-preview-error{border:1px solid;border-radius:6px;margin:0;padding:9px 11px}.preview-summary{justify-content:flex-start}.preview-summary span{border:1px solid var(--border-subtle);background:var(--surface-elevated);border-radius:999px;padding:4px 8px;font-size:12px}.preview-errors{color:var(--status-negative);font-size:13px}.metric-with-caption{gap:4px;display:grid}.metric-with-caption>span{color:var(--text-muted);padding-left:4px;font-size:12px}.coverage-line{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);color:var(--text-secondary);justify-content:flex-start;padding:10px 12px;font-size:13px}.ibkr-chart-grid{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:16px;display:grid}.ibkr-chart-grid .chart-box{width:100%;overflow:hidden}.tab-list{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:6px;padding-bottom:10px;display:flex}.tab-list button{border-radius:var(--radius-control);color:var(--text-secondary);background:0 0;border:0;padding:8px 11px}.tab-list button[aria-selected=true]{color:var(--accent-cyan);background:#38d9ff1a;font-weight:700}.table-tools{justify-content:flex-start}.table-tools label,.table-filter{min-width:min(320px,100%)}.readonly-label{color:var(--accent-violet);background:#8b7cff1a;border:1px solid #8b7cff3d;margin:0}.history-grid{gap:20px;display:grid}.daily-toolbar,.range-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.daily-toolbar{justify-content:space-between}.daily-toolbar button,.range-tabs button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);min-height:36px;color:var(--text-secondary);padding:7px 12px}.range-tabs button.active{border-color:var(--border-accent);color:var(--accent-cyan);background:#38d9ff1a;font-weight:700}.daily-metrics{grid-template-columns:repeat(5,minmax(150px,1fr))}.daily-attribution-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.daily-trend-chart{width:100%;min-width:0}.attribution-list{gap:13px;display:grid}.attribution-row{grid-template-columns:90px minmax(80px,1fr) minmax(110px,auto);align-items:center;gap:12px;font-size:13px;display:grid}.attribution-row strong{text-align:right}.attribution-track{background:#91a3ba1a;border-radius:999px;height:9px;overflow:hidden}.attribution-fill{border-radius:inherit;background:var(--text-muted);height:100%;display:block}.attribution-fill.flow{background:var(--accent-cyan)}.attribution-fill.market{background:var(--status-positive)}.attribution-fill.fx{background:var(--accent-violet)}.attribution-fill.correction{background:var(--status-warning)}.attribution-fill.unexplained{background:var(--status-negative)}.attribution-fill.negative{background:var(--status-negative);opacity:.82}.attribution-identity{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin:4px 0 0;padding-top:12px;font-size:13px}.quality-badge{border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.quality-badge.complete{color:var(--status-positive);background:#3de0a01a}.quality-badge.partial{color:var(--status-warning);background:#f6c4531a}.quality-badge.missing{color:var(--text-muted);background:#91a3ba14}.daily-explanation dl{gap:10px;margin:0;display:grid}.daily-explanation dl>div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:16px;padding-bottom:8px;display:flex}.daily-explanation dt{color:var(--text-muted)}.daily-explanation dd{margin:0;font-weight:700}.daily-components-table td:first-child{gap:3px;display:grid}.daily-components-table small{color:var(--text-muted)}.component-history-panel{scroll-margin-top:20px}.change-reason-field{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}.inline-reason{gap:8px;min-width:180px;display:grid}.today-change-card{grid-template-columns:minmax(150px,auto) minmax(220px,1fr) auto;align-items:center}.today-change-card>div{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.today-change-card>div:first-child{gap:4px;display:grid}.today-change-card strong{font-size:22px}.today-change-card button{border:1px solid var(--border-accent);border-radius:var(--radius-control);min-height:36px;color:var(--accent-cyan);background:#38d9ff17;padding:7px 12px;font-weight:700}.security-settings{gap:16px;display:grid}.security-session-summary,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.security-session-summary>div,.security-action-card{border:1px solid var(--border-subtle);background:var(--surface-elevated);border-radius:10px;gap:10px;padding:14px;display:grid}.security-session-summary span,.security-session-summary strong{display:block}.security-action-card h3{margin:0}.security-confirmation{align-items:flex-start;gap:8px;display:flex}.security-confirmation input{margin-top:3px}.security-event-list,.recovery-code-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.security-event-list li{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.security-event-list time{color:var(--text-muted);white-space:nowrap}.recovery-code-list{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-code-list code{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);color:var(--accent-cyan);text-align:center;padding:8px}.sync-devices,.sync-device-list{gap:16px;display:grid}.issued-device-token code{overflow-wrap:anywhere;border:1px solid var(--border-accent);color:var(--accent-cyan);background:#38d9ff14;border-radius:8px;padding:12px}.sync-device-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.sync-device-heading p{margin:4px 0 0}.sync-device-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.sync-device-facts div{gap:3px;display:grid}.sync-device-facts dt{color:var(--text-muted);font-size:12px}.sync-device-facts dd{margin:0}.sync-device-list .is-revoked{opacity:.72}@media (width<=980px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(190px,auto) minmax(0,1fr) auto;align-items:center;gap:16px;height:auto;padding:14px 20px;display:grid;position:relative}.brand-lockup{margin:0}.nav-list{scrollbar-color:var(--border-accent) transparent;gap:6px;padding-bottom:3px;display:flex;overflow-x:auto}.nav-item{white-space:nowrap;flex:none;width:auto;min-height:44px}.sidebar-footer{border-top:0;border-left:1px solid var(--border-subtle);margin:0;padding:0 0 0 16px}.session-logout{bottom:20px;left:auto;right:20px}.main-panel{padding:20px}.content-grid{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ibkr-chart-grid{grid-template-columns:1fr}.daily-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-attribution-grid,.today-change-card,.security-session-summary,.settings-grid,.sync-device-facts,.recovery-code-list{grid-template-columns:1fr}}@media (width<=680px){.auth-page{padding:14px}.auth-card{gap:18px;padding:22px}.auth-actions,.totp-setup{grid-template-columns:1fr}.totp-setup img{justify-self:center}.sidebar{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 14px}.brand-lockup{min-width:0}.sidebar-footer{padding-left:12px}.nav-list{grid-area:2/1/auto/-1}.main-panel{padding:20px 14px 88px}.page-stack{gap:14px}.page-header{gap:10px}h1{font-size:26px}.panel,.metric-card{border-radius:13px}.panel{padding:14px}.metric-grid,.dashboard-metrics,.daily-metrics,.analysis-summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.form-grid,.form-grid.wide,.target-editor-grid,.analysis-exposure-grid,.stress-grid,.quality-facts{grid-template-columns:1fr}button:not(.text-button),input,select,textarea{min-height:44px}.session-logout{bottom:14px;right:14px}.attribution-row{grid-template-columns:82px 1fr}.attribution-row strong{text-align:left;grid-column:2}.panel-heading,.sync-device-heading,.quote-sync-heading,.quote-sync-details{flex-direction:column;align-items:stretch}}.analysis-summary{grid-template-columns:repeat(5,minmax(150px,1fr))}.analysis-allocation-panel .panel-heading>div{gap:5px;display:grid}.primary-button{border-radius:var(--radius-control);background:linear-gradient(135deg, var(--accent-cyan), #5ba7ff);color:#031019;border:0;min-height:38px;padding:8px 14px;font-weight:700}.primary-button:disabled{cursor:not-allowed;opacity:.45}.target-editor-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.target-editor-grid label{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.percent-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.percent-input>span{color:var(--text-muted)}.analysis-exposure-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stress-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stress-card{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);gap:8px;padding:14px;display:grid}.stress-card>span,.stress-card small{color:var(--text-muted)}.stress-card strong{font-size:22px}.quality-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.quality-facts>div{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);gap:5px;padding:11px;display:grid}.quality-facts dt{color:var(--text-muted);font-size:12px}.quality-facts dd{margin:0;font-weight:700}.classification-table td:first-child{gap:3px;display:grid}.classification-table small{color:var(--text-muted)}.classification-table select{min-width:122px}.classification-table select:disabled{color:var(--text-muted);background:#91a3ba0f}.provenance-badge{border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}.provenance-badge.override{color:var(--accent-cyan);background:#38d9ff1a}.provenance-badge.default{color:var(--text-muted);background:#91a3ba14}.amount-negative{color:var(--status-negative)}.amount-positive{color:var(--status-positive)}@media (width<=1100px){.analysis-summary{grid-template-columns:repeat(3,minmax(150px,1fr))}.analysis-exposure-grid{grid-template-columns:1fr 1fr}.analysis-exposure-grid>:first-child{grid-column:1/-1}}@media (width<=980px){.analysis-summary,.analysis-exposure-grid,.stress-grid,.quality-facts{grid-template-columns:1fr}.analysis-exposure-grid>:first-child{grid-column:auto}.analysis-allocation-panel .panel-heading{flex-direction:column;align-items:stretch;gap:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:hover,.page-header-orbit:before{transform:none}}.portfolio-allocation-panel{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);align-items:center;gap:1.5rem;display:grid}.portfolio-allocation-panel .chart-box{min-height:240px}.allocation-name{align-items:center;gap:.6rem;display:inline-flex}.allocation-name i{border-radius:999px;width:.65rem;height:.65rem;box-shadow:0 0 12px}.portfolio-quality-strip{flex-wrap:wrap;gap:.6rem;display:flex}.holdings-toolbar{align-items:flex-start;gap:1rem}.holdings-toolbar h2,.holdings-toolbar p{margin-bottom:0}.holdings-filter-controls{flex-wrap:wrap;gap:.7rem;display:flex}.holdings-filter-controls input,.holdings-filter-controls select{min-width:150px}.ibkr-holdings-table small,.cash-table small{margin-top:.25rem;display:block}@media (width<=820px){.portfolio-allocation-panel{grid-template-columns:1fr}.holdings-toolbar,.holdings-filter-controls{flex-direction:column;align-items:stretch}}.allocation-source-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;display:flex}.reconciliation-equation{grid-template-columns:repeat(7,auto);align-items:center;gap:.8rem;padding:1rem 0;display:grid;overflow-x:auto}.reconciliation-equation>span{gap:.35rem;min-width:max-content;display:grid}.reconciliation-equation>b{color:var(--text-muted);font-size:1.2rem}@media (width<=680px){.reconciliation-equation{grid-template-columns:minmax(0,1fr);gap:.55rem;overflow-x:visible}.reconciliation-equation>span{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;width:100%;min-width:0}.reconciliation-equation>b{justify-self:center;line-height:1}}.ibkr-readiness-panel{border-color:var(--border-accent);background:linear-gradient(110deg, #38d9ff12, transparent 34%), radial-gradient(circle at 95% 8%, #755dff1f, transparent 28rem), var(--surface-panel);gap:18px;overflow:hidden}.ibkr-readiness-heading,.ibkr-readiness-source-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.ibkr-readiness-heading>div{gap:5px;display:grid}.readiness-state,.ibkr-readiness-source-heading span{border:1px solid var(--border-subtle);border-radius:999px;width:fit-content;padding:5px 10px;font-size:12px;font-weight:700}.readiness-state.ready,.ibkr-readiness-source.present .ibkr-readiness-source-heading span{color:var(--status-positive);background:#3de0a017;border-color:#3de0a047}.readiness-state.collecting,.readiness-state.degraded,.ibkr-readiness-source.pending .ibkr-readiness-source-heading span,.ibkr-readiness-source.unavailable .ibkr-readiness-source-heading span{color:var(--status-warning);background:#f6c45317;border-color:#f6c45347}.readiness-state.not_configured,.ibkr-readiness-source.error .ibkr-readiness-source-heading span{color:var(--status-negative);background:#ff6b7a17;border-color:#ff6b7a4d}.ibkr-readiness-action{border-left:2px solid var(--accent-primary);color:var(--text-secondary);margin:0;padding-left:12px}.ibkr-readiness-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ibkr-readiness-source{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:#070e197a;align-content:start;gap:9px;min-height:156px;padding:14px;display:grid}.ibkr-readiness-source h3,.ibkr-readiness-source p{margin:0}.ibkr-readiness-source small{color:var(--text-muted)}.ibkr-analytics-panel{border-color:var(--border-accent);background:radial-gradient(circle at 92% 0%, #38d9ff17, transparent 32rem), var(--surface-panel);gap:22px}.ibkr-analytics-toolbar,.ibkr-analytics-filters,.section-heading-row,.quality-strip,.ibkr-date-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ibkr-analytics-toolbar>div:first-child,.section-heading-row>div:first-child{gap:5px;display:grid}.ibkr-analytics-filters{justify-content:flex-end}.currency-tabs{border-left:1px solid var(--border-subtle);padding-left:12px}.currency-tabs button:disabled{cursor:not-allowed;opacity:.45}.metric-basis-notice,.quality-notice,.carried-notice,.source-badge,.coverage-badge{border:1px solid var(--border-subtle);width:fit-content;color:var(--text-secondary);background:#91a3ba12;border-radius:999px;padding:5px 10px;font-size:12px}.metric-basis-notice{flex-wrap:wrap;gap:8px;display:flex}.metric-basis-notice small{color:var(--text-secondary)}.metric-basis-notice,.quality-notice{border-radius:var(--radius-control);color:var(--status-warning);background:#f6c45314;border-color:#f6c45347}.source-badge.present,.quality-badge.final.complete{color:var(--status-positive);background:#3de0a01a}.source-badge.pending,.quality-badge.provisional,.quality-badge.incomplete{color:var(--status-warning);background:#f6c4531a}.source-badge.unavailable{color:var(--text-muted)}.ibkr-metric-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.ibkr-metric-grid .metric-card{background:linear-gradient(145deg,#0f1b2df0,#09111ef0);min-height:112px}.ibkr-metric-grid small{color:var(--status-warning);line-height:1.45}.risk-facts{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:#070e196b;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.risk-facts>div{border-right:1px solid var(--border-subtle);gap:7px;padding:14px;display:grid}.risk-facts>div:last-child{border-right:0}.risk-facts span{color:var(--text-secondary);font-size:12px}.risk-facts strong{color:var(--text-primary)}.ibkr-chart-block,.ibkr-rankings,.ibkr-compare{border-top:1px solid var(--border-subtle);gap:14px;padding-top:20px;display:grid}.ibkr-chart-block h3,.ibkr-rankings h3,.ibkr-compare h3,.ibkr-compare h4,.ranking-card h4{margin:0}.ibkr-analytics-chart{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:#070e197a;min-width:0;padding:8px}.ibkr-chart-table{max-height:230px}.ranking-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ranking-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:#070e1970;align-content:start;gap:12px;padding:15px;display:grid}.ranking-list{gap:8px;display:grid}.ranking-list>strong{color:var(--text-muted);font-size:12px}.ranking-list>div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:10px;padding-bottom:6px;display:flex}.positive{color:var(--status-positive)}.negative{color:var(--status-negative)}.ibkr-date-controls label{color:var(--text-secondary);gap:5px;font-size:12px;display:grid}.ibkr-date-controls input{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);color:var(--text-primary);padding:8px 10px}.field-error{color:var(--status-negative);margin:0;font-size:13px}.change-kind{font-weight:700}.change-kind.added,.change-kind.increased{color:var(--status-positive)}.change-kind.decreased,.change-kind.closed{color:var(--status-negative)}.ibkr-compare td small{color:var(--text-muted);margin-top:3px;display:block}@media (width<=980px){.ibkr-readiness-grid,.risk-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-facts>div:nth-child(2){border-right:0}.risk-facts>div:nth-child(-n+2){border-bottom:1px solid var(--border-subtle)}.ranking-grid{grid-template-columns:1fr}}@media (width<=680px){.ibkr-readiness-heading{flex-direction:column;align-items:flex-start}.ibkr-readiness-grid{grid-template-columns:1fr}.ibkr-analytics-toolbar,.ibkr-analytics-filters,.ibkr-date-controls{flex-direction:column;align-items:stretch}.currency-tabs{border-left:0;padding-left:0}.risk-facts{grid-template-columns:1fr}.risk-facts>div{border-right:0;border-bottom:1px solid var(--border-subtle)}.risk-facts>div:last-child{border-bottom:0}}@media (width<=820px){.allocation-source-toolbar{flex-direction:column;align-items:stretch}}.financial-status-summary,.alert-center-toolbar,.alert-rule-settings{border-color:var(--border-accent);background:radial-gradient(circle at 96% 0%, #8b7cff1a, transparent 26rem), linear-gradient(120deg, #38d9ff0d, transparent 42%), var(--surface-panel);overflow:hidden}.financial-status-sentence{color:var(--text-primary);margin:0;font-size:clamp(16px,2vw,20px);line-height:1.65}.financial-overall-status,.alert-severity-badge,.alert-lifecycle-badge,.alert-count-row span{border:1px solid;border-radius:999px;justify-content:center;align-items:center;width:fit-content;padding:4px 9px;font-size:12px;font-weight:750;display:inline-flex}.financial-overall-status.healthy,.alert-lifecycle-badge.resolved{color:var(--status-positive);background:#3de0a014}.financial-overall-status.critical,.alert-severity-badge.critical,.alert-count-row .critical{color:var(--alert-critical);background:#ff6b7a14}.financial-overall-status.warning,.alert-severity-badge.warning,.alert-count-row .warning{color:var(--alert-warning);background:#f6c45314}.financial-overall-status.info,.alert-severity-badge.info,.alert-count-row .info{color:var(--alert-info);background:#38d9ff14}.alert-lifecycle-badge.open{color:var(--alert-critical);background:#ff6b7a14}.alert-lifecycle-badge.snoozed{color:var(--alert-warning);background:#f6c45314}.alert-lifecycle-badge.dismissed{color:var(--text-muted);background:#91a3ba12}.alert-count-row,.financial-alert-card-heading,.financial-alert-card-heading>div,.alert-action-row,.alert-rule-heading{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.financial-alert-card-heading,.alert-rule-heading{justify-content:space-between}.financial-alert-list,.alert-center-list,.alert-rule-list{gap:12px;min-width:0;display:grid}.alert-center-list{min-width:0}.financial-alert-card{border:1px solid var(--border-subtle);border-left:3px solid var(--alert-info);border-radius:var(--radius-panel);background:linear-gradient(145deg,#0f1b2df0,#070e19e6);gap:13px;min-width:0;padding:17px;display:grid;position:relative;overflow:hidden}.financial-alert-card.severity-critical{border-left-color:var(--alert-critical)}.financial-alert-card.severity-warning{border-left-color:var(--alert-warning)}.financial-alert-card h3,.financial-alert-card p,.alert-rule-card legend{margin:0}.financial-alert-card p{color:var(--text-secondary);line-height:1.55}.financial-alert-card.compact{padding:14px}.alert-evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.alert-evidence-grid>div{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:#070e1970;min-width:0;padding:10px}.alert-evidence-grid dt{color:var(--text-muted);font-size:12px}.alert-evidence-grid dd{overflow-wrap:anywhere;color:var(--text-primary);margin:5px 0 0}.alert-action-row button{min-height:34px;padding:6px 10px}.alert-center-toolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.alert-filter-grid{flex:1;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;min-width:0;display:grid}.alert-filter-grid label,.alert-snooze-field{min-width:0;color:var(--text-secondary);gap:6px;font-size:12px;display:grid}.alert-filter-grid select,.alert-snooze-field input{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);min-width:0;color:var(--text-primary);padding:9px 10px}.alert-center-item{gap:7px;min-width:0;display:grid}.alert-snooze-field{justify-self:end;width:min(100%,290px)}.alert-rule-card{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:#070e196b;min-width:0;padding:14px}.alert-rule-card legend{color:var(--text-primary);padding:0 7px;font-weight:750}.alert-rule-fields{margin-top:12px}@media (width<=980px){.alert-center-toolbar{flex-direction:column;align-items:stretch}.alert-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.alert-filter-grid,.alert-evidence-grid{grid-template-columns:1fr}.alert-center-toolbar>button,.alert-snooze-field{width:100%}.financial-alert-card{padding:14px}.financial-alert-card-heading,.alert-rule-heading{flex-direction:column;align-items:flex-start}}
