:root,:root[data-theme=dark]{--c-bg: #0f172a;--c-bg-deep: #0b1220;--c-bg-deeper: #050b18;--c-surface: #111827;--c-surface-2: #1f2937;--c-surface-3: #1e293b;--c-text-strong: #f8fafc;--c-text: #e2e8f0;--c-text-muted: #cbd5e1;--c-text-soft: #94a3b8;--c-text-faint: #64748b;--c-border: #334155;--c-border-strong: #475569;--c-accent: #38bdf8;--c-accent-2: #7dd3fc;--c-accent-3: #bae6fd;--c-shadow-rgb: 15, 23, 42;--c-shadow-deep-rgb: 11, 18, 32;--c-tint-rgb: 255, 255, 255}:root[data-theme=light]{--c-bg: #e2e8f0;--c-bg-deep: #cbd5e1;--c-bg-deeper: #94a3b8;--c-surface: #ffffff;--c-surface-2: #f8fafc;--c-surface-3: #f1f5f9;--c-text-strong: #020617;--c-text: #0f172a;--c-text-muted: #1e293b;--c-text-soft: #334155;--c-text-faint: #475569;--c-border: #94a3b8;--c-border-strong: #64748b;--c-accent: #0284c7;--c-accent-2: #0369a1;--c-accent-3: #075985;--c-tint-rgb: 15, 23, 42;--c-shadow-rgb: 203, 213, 225;--c-shadow-deep-rgb: 148, 163, 184;color-scheme:light}:root,:root[data-theme=dark]{color-scheme:dark}:root{color:var(--c-text-strong);background:var(--c-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:var(--c-bg)}*{box-sizing:border-box}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:wait;opacity:.72}.app{width:min(1800px,100%);margin:0 auto;padding:28px}*{scrollbar-width:thin;scrollbar-color:var(--c-border) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:rgba(var(--c-shadow-rgb),.4);border-radius:8px}*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--c-border),var(--c-surface-2));border-radius:8px;border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--c-border-strong),var(--c-border));background-clip:padding-box;border:2px solid transparent}*::-webkit-scrollbar-corner{background:transparent}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.header>div{min-width:0}.header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.header h1{margin:0;color:#fff;font-size:36px;font-weight:760;letter-spacing:0;word-break:break-word}.brand{display:flex;align-items:center;gap:16px;min-width:0}.brand-logo{width:56px;height:56px;border-radius:14px;flex:0 0 auto;box-shadow:0 6px 18px #38bdf82e,0 1px rgba(var(--c-tint-rgb),.04) inset;background:rgba(var(--c-shadow-rgb),.4)}.brand-text{min-width:0;display:flex;flex-direction:column;gap:4px}.brand-name{margin:0;color:#fff;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.05;background:linear-gradient(135deg,#ffffff 0%,#93c5fd 60%,var(--c-accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.brand-tagline{margin:0;color:var(--c-text-soft);font-size:13px;font-weight:500;letter-spacing:.01em}.header-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.meta-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--c-text-muted);background:#38bdf814;border:1px solid rgba(56,189,248,.18);letter-spacing:.01em}.meta-pill.subtle{color:var(--c-text-soft);background:#94a3b80f;border-color:#94a3b829}.eyebrow{margin:0 0 6px;color:var(--c-accent);font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase}.subtle-copy,.disclaimer{margin:8px 0 0;color:var(--c-text-soft);font-size:13px}.disclaimer{margin:18px 0 0;text-align:center;color:var(--c-text-faint)}.currency-switch,.section-label,.summary-stats strong,.position-change,.icon-button{display:inline-flex;align-items:center;gap:8px}.icon-button{min-height:42px;padding:9px 12px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface);color:var(--c-text);font-weight:740}.status-banner{margin-bottom:16px;padding:10px 12px;border:1px solid #7f1d1d;border-radius:8px;background:#450a0a;color:#fecaca}.currency-switch{color:var(--c-text-muted)}.segmented-control{display:flex;gap:4px;padding:4px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.segmented-control button{min-width:54px;padding:8px 12px;border-radius:6px;background:transparent;color:var(--c-text-muted);font-weight:700}.segmented-control button.active{background:#2563eb;color:#fff}.summary,.chart-panel,.editor{background:var(--c-surface-3);border:1px solid var(--c-border);border-radius:8px;padding:20px}.summary{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:20px;margin-bottom:18px}.summary-button{width:100%;color:inherit;text-align:left;transition:border-color .16s ease,background .16s ease,transform .16s ease}.summary-button:hover,.summary-button.active{border-color:var(--c-accent);background:rgba(var(--c-tint-rgb),.06)}.summary-button.active{transform:translateY(-1px)}.section-label{color:var(--c-text-muted);font-size:15px;font-weight:760}.summary-total{margin-top:10px;color:var(--c-text-strong);font-size:42px;font-weight:800;letter-spacing:0}.summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.summary-stats div{min-height:88px;padding:14px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.summary-stats span,.editor-row span,.position-heading p,.position-meta{color:var(--c-text-soft)}.summary-stats span{display:block;margin-bottom:8px;font-size:13px}.summary-stats strong{color:var(--c-text-strong);font-size:18px}.summary-stats .stat-projection{display:block;margin-top:2px;color:var(--c-text-soft);font-size:11px;font-weight:500;letter-spacing:.02em}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}.position-card{width:100%;min-height:260px;padding:16px 18px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-3);color:var(--c-text);text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease;display:flex;flex-direction:column;gap:8px}.position-card>.position-meta:last-child,.position-card>.position-change:last-child{margin-top:auto}.position-card>.position-meta:last-child,.position-card>.position-change:last-child{padding-right:44px;margin-bottom:4px;padding-top:6px}.position-card:hover,.position-card.active{border-color:var(--c-accent);background:rgba(var(--c-tint-rgb),.06)}.position-card.active{transform:translateY(-1px)}.position-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.position-heading h2{margin:0;font-size:20px;letter-spacing:0}.position-heading p{margin:4px 0 0}.position-heading span{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;background:var(--c-bg);color:var(--c-text-muted);font-size:12px;font-weight:700;text-transform:uppercase;white-space:nowrap;flex-shrink:0;line-height:1}.position-heading span svg{display:block}.position-value{margin-top:14px;color:var(--c-text-strong);font-size:30px;font-weight:800}.position-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.position-card-metrics div{min-width:0;padding:9px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.position-card-metrics span,.vesting-value span{display:block;margin-bottom:4px;color:var(--c-text-soft);font-size:11px;font-weight:760;text-transform:uppercase}.position-card-metrics strong{color:var(--c-text-strong);font-size:14px}.position-meta{display:flex;justify-content:space-between;gap:10px;margin-top:2px;font-size:14px}.position-change{margin-top:6px;font-weight:780}.positive{color:#22c55e!important}.negative{color:#f87171!important}.chart-panel{margin-top:18px;min-width:0}.chart-heading,.projection-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.projection-heading{margin-top:18px;padding:14px 16px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.projection-heading h2{margin:0;font-size:20px;letter-spacing:0}.projection-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);color:var(--c-text-muted);font-size:13px;font-weight:740}.projection-toggle input{width:16px;min-height:16px;accent-color:var(--c-accent)}.scenario-switch{display:flex;flex-wrap:wrap;gap:6px}.scenario-switch button{min-width:72px;padding:8px 12px;border:1px solid var(--c-border);border-radius:999px;background:var(--c-bg);color:var(--c-text-muted);font-weight:760;text-transform:capitalize}.scenario-switch button.active{border-color:var(--scenario-color);background:var(--scenario-color);color:#fff}.granularity-switch{display:inline-flex;border:1px solid var(--c-border);border-radius:6px;overflow:hidden}.granularity-switch button{padding:6px 10px;border:none;background:var(--c-bg);color:var(--c-text-soft);font-size:12px;font-weight:700;cursor:pointer;border-right:1px solid var(--c-border)}.granularity-switch button:last-child{border-right:none}.granularity-switch button:hover{color:var(--c-text)}.granularity-switch button.active{background:var(--c-accent);color:var(--c-bg-deep)}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--c-surface-3);border-radius:8px;background:var(--c-bg-deep)}.chart-controls-extra{display:flex;align-items:center;gap:10px}.curve-switch{display:inline-flex;flex-wrap:wrap;gap:6px}.curve-switch button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--c-border);border-radius:999px;background:var(--c-bg);color:var(--c-text-soft);font-size:12px;font-weight:640;cursor:pointer}.curve-switch button .curve-dot{width:9px;height:9px;border-radius:50%;background:var(--curve-color);display:inline-block}.curve-switch button:not(.active) .curve-dot{opacity:.35}.curve-switch button.active{border-color:var(--curve-color);color:var(--c-text-strong)}.forecast-table-wrap{margin-top:14px;overflow-x:auto;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.forecast-table{width:100%;border-collapse:collapse}.forecast-table th,.forecast-table td{padding:11px 13px;border-top:1px solid var(--c-surface-3);text-align:right;white-space:nowrap}.forecast-table th:first-child,.forecast-table td:first-child{text-align:left}.forecast-table th{color:var(--c-text-soft);font-size:11px;font-weight:780;text-transform:uppercase}.forecast-table td{color:var(--c-text);font-size:13px}.forecast-table .active{background:#38bdf814;color:var(--c-text-strong)}.position-price-with-status{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.position-price-with-status .market-status-dot{margin-left:0}.detail-panel{margin-top:18px;padding:20px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-3)}.detail-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:18px;align-items:start}.detail-heading h2{margin:0;color:var(--c-text-strong);font-size:24px;letter-spacing:0}.detail-heading h2 span,.detail-heading p,.price-box span,.price-box small,.metric-card span,.metric-card small{color:var(--c-text-soft)}.detail-heading p{max-width:860px;margin:8px 0 0;line-height:1.5}.price-box{padding:14px 16px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface);text-align:right;min-width:200px;max-width:100%}.price-box span,.price-box small{display:block;font-size:12px}.price-box strong{display:block;margin:5px 0;color:var(--c-text-strong);font-size:24px;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.15}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.metric-card{padding:13px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.metric-card span{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;font-size:12px;font-weight:760;text-transform:uppercase}.metric-card strong{display:block;color:var(--c-text-strong);font-size:18px}.milestones{margin-top:18px;overflow:hidden;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-3)}.milestones-heading{padding:13px 16px;border-bottom:1px solid var(--c-border);color:var(--c-text-soft);font-size:12px;font-weight:780;letter-spacing:0;text-transform:uppercase}.milestones table{width:100%;border-collapse:collapse}.milestones th,.milestones td{padding:10px 14px;border-top:1px solid var(--c-bg);text-align:left}.milestones th{background:var(--c-surface);color:var(--c-text-faint);font-size:11px;font-weight:780;text-transform:uppercase}.milestones td{color:var(--c-text);font-size:13px}.milestones .milestone-source{color:var(--c-text-soft);font-size:12px}.milestones tr.breakeven td{background:#3f2a0a;color:#fbbf24}.editor{margin-top:18px}.setup-modal .editor{margin-top:0}.setup-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.add-holding-grid,.rsu-grant-grid{display:grid;gap:12px}.add-holding-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px}.add-holding-grid label,.rsu-grant-grid label{display:grid;gap:6px;color:var(--c-text-muted);font-size:13px;font-weight:700}.editor-grid{display:grid;gap:10px;margin-top:16px}.editor-row{display:grid;grid-template-columns:1fr 140px 150px 160px 170px;align-items:center;gap:14px;padding:12px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.editor-row strong,.editor-row span{display:block}.editor-row label{display:grid;gap:6px;color:var(--c-text-muted);font-size:13px;font-weight:700}input,select{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--c-border);border-radius:8px;outline:none;background:var(--c-bg);color:var(--c-text-strong)}input:focus,select:focus{border-color:var(--c-accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:#020617a6}.setup-modal{display:flex;flex-direction:column;width:min(1180px,100%);max-height:min(860px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);box-shadow:0 28px 90px #00000073}.setup-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--c-border);background:var(--c-surface)}.setup-modal-body{display:grid;gap:16px;flex:1 1 auto;min-height:0;overflow-y:auto;padding:18px}.setup-tabs{display:flex;gap:4px;padding:0 18px;border-bottom:1px solid var(--c-border);background:var(--c-bg-deep)}.setup-tab{padding:12px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-text-soft);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.setup-tab.active{color:#fff;border-bottom-color:var(--c-accent)}.setup-tab:hover{color:var(--c-text)}.api-tab{display:grid;gap:18px}.api-tab-note{margin:6px 0 0;color:var(--c-text-soft);font-size:13px;line-height:1.5}.api-endpoints{display:grid;gap:12px;margin-top:12px}.api-endpoint-row{display:grid;grid-template-columns:220px 1fr;align-items:start;gap:12px;padding:12px;border:1px solid var(--c-surface-2);border-radius:8px;background:var(--c-bg-deep)}.profile-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--c-surface-2);border-radius:8px;background:var(--c-bg-deep)}.profile-row.active{border-color:#2563eb;background:#0d1830}.profile-row-main{display:flex;align-items:center;gap:10px}.profile-row-name{color:#e5e7eb;font-weight:600}.profile-row-name-input{background:transparent;border:1px solid transparent;border-radius:6px;color:#e5e7eb;font-weight:600;font-size:14px;padding:4px 8px;min-width:180px;font-family:inherit}.profile-row-name-input:hover{border-color:var(--c-surface-2)}.profile-row-name-input:focus{outline:none;border-color:#2563eb;background:var(--c-bg-deeper)}.profile-row-tag{font-size:11px;font-weight:700;color:#93c5fd;background:#1e3a8a;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.profile-row-actions{display:flex;align-items:center;gap:8px}.icon-only.danger{color:#f87171}.icon-only.danger:disabled{color:#4b5563;cursor:not-allowed}.profile-create{display:flex;gap:8px;align-items:center;padding:12px;border:1px dashed var(--c-surface-2);border-radius:8px;background:var(--c-bg-deep)}.profile-create input{flex:1;background:var(--c-bg-deeper);border:1px solid var(--c-surface-2);border-radius:6px;color:#e5e7eb;padding:8px 10px;font-size:13px}.api-endpoint-label{color:var(--c-text-muted);font-size:13px;font-weight:700}.api-endpoint-help{grid-column:2;display:inline-flex;align-items:center;gap:8px;color:var(--c-text-faint);font-size:12px}.link-button{padding:0;border:0;background:transparent;color:var(--c-accent);font-size:12px;font-weight:700;text-decoration:underline}.api-proposal{padding:14px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.api-proposal-list{margin:12px 0 0;padding-left:18px;color:var(--c-text-muted);font-size:13px;line-height:1.55}.api-proposal-list li{margin-bottom:8px}.api-proposal code{padding:1px 5px;border-radius:4px;background:var(--c-bg);color:var(--c-text);font-size:12px}.icon-only{display:inline-grid;width:38px;min-width:38px;height:38px;place-items:center;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);color:var(--c-text-muted)}.vesting-config{padding:18px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-3)}.vesting-config-header,.vesting-month,.vesting-grant-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.vesting-config-header p{margin:6px 0 0;color:var(--c-text-soft);font-size:13px}.vesting-groups{display:grid;gap:12px;margin-top:16px}.vesting-group{overflow:hidden;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.vesting-month{padding:12px 14px;border-bottom:1px solid var(--c-border)}.vesting-month strong{color:var(--c-text-strong)}.vesting-month span{color:var(--c-text-soft);font-size:13px}.vesting-grants{display:grid;gap:8px;padding:10px}.vesting-grant-row{display:grid;grid-template-columns:150px minmax(180px,1fr) 120px 140px 38px;padding:10px;border:1px solid var(--c-surface-2);border-radius:8px;background:var(--c-bg)}.vesting-grant-row label{display:grid;gap:6px;color:var(--c-text-muted);font-size:12px;font-weight:700}.vesting-value strong{display:block;color:var(--c-text-strong);font-size:14px}.rsu-grants{display:grid;gap:12px;margin-top:16px}.rsu-grant-card{padding:14px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface)}.rsu-grant-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.rsu-grant-header strong{color:var(--c-text-strong)}.rsu-grant-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));row-gap:14px;column-gap:14px}.rsu-grant-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.rsu-grant-summary span{padding:6px 8px;border:1px solid var(--c-border);border-radius:6px;background:var(--c-bg);color:var(--c-text-soft);font-size:12px;font-weight:700}@media(max-width:900px){.app{padding:18px}.header,.summary{grid-template-columns:1fr}.header{align-items:flex-start;flex-direction:column}.grid,.summary-stats,.position-card-metrics,.metric-grid,.add-holding-grid,.rsu-grant-grid,.editor-row,.vesting-grant-row{grid-template-columns:1fr}.header-actions,.chart-heading,.projection-heading,.setup-section-heading,.vesting-config-header,.vesting-month,.detail-heading{align-items:stretch;grid-template-columns:1fr;flex-direction:column}.price-box{text-align:left}.milestones{overflow-x:auto}.summary-total{font-size:34px}}.intelligence-panel{margin-top:16px;padding:18px;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface)}.intelligence-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.intelligence-header h3{margin:4px 0 0;color:var(--c-text-strong);font-size:18px}.intelligence-meta{margin:4px 0 0;color:var(--c-text-faint);font-size:12px}.intelligence-row-source{display:inline-flex;align-items:center;gap:6px;margin-top:6px;color:var(--c-text-faint)}.intelligence-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;border:1px solid var(--c-border)}.intelligence-badge--ok{background:#22c55e1f;color:#15803d;border-color:#22c55e66}.intelligence-badge--warn{background:#f59e0b24;color:#b45309;border-color:#f59e0b73}.intelligence-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 12px;border-bottom:1px solid var(--c-surface-2)}.intelligence-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-text-soft);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.intelligence-tab.active{color:#fff;border-bottom-color:var(--c-accent)}.intelligence-report-button{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:4px 10px;border-radius:999px;border:1px solid var(--c-border);background:transparent;color:var(--c-text-muted);font-size:11px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.intelligence-report-button:hover:not(:disabled){color:var(--c-text-strong);border-color:var(--c-border-strong);background:rgba(var(--c-tint-rgb),.06)}.intelligence-report-button:disabled{opacity:.6;cursor:default}.intelligence-body,.intelligence-stack{display:grid;gap:12px}.intelligence-card{padding:12px 14px;border:1px solid var(--c-surface-2);border-radius:8px;background:var(--c-bg-deep)}.intelligence-card-label{display:block;margin-bottom:4px;color:var(--c-text-soft);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.intelligence-card strong{display:block;color:var(--c-text-strong);font-size:16px}.intelligence-card small{display:block;margin-top:4px;color:var(--c-text-soft);font-size:12px}.intelligence-card ul{margin:8px 0 0;padding-left:18px;color:var(--c-text-muted);font-size:12px;line-height:1.5}.intelligence-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.intelligence-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.intelligence-grid-2 h4{margin:0 0 8px;color:var(--c-text);font-size:13px;letter-spacing:.02em;text-transform:uppercase}.intelligence-table{width:100%;border-collapse:collapse;font-size:12px}.intelligence-table th,.intelligence-table td{padding:6px 8px;border-bottom:1px solid var(--c-surface-2);text-align:left}.intelligence-table th{color:var(--c-text-soft);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.intelligence-empty{margin:0;padding:14px;border:1px dashed var(--c-surface-2);border-radius:8px;color:var(--c-text-soft);font-size:13px;background:var(--c-bg-deep)}.intelligence-warnings{margin:12px 0 0;padding-left:18px;color:#f97316;font-size:12px}.news-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}.news-list li{padding:10px 12px;border:1px solid var(--c-surface-2);border-radius:8px;background:var(--c-bg-deep)}.news-list a{color:var(--c-accent);font-weight:700;text-decoration:none}.news-list a:hover{text-decoration:underline}.news-list span{display:block;margin-top:4px;color:var(--c-text-faint);font-size:11px}.news-list p{margin:6px 0 0;color:var(--c-text-muted);font-size:12px;line-height:1.4}.risk-badge{display:grid;align-items:center;justify-items:center;gap:2px;padding:8px 14px;border-radius:999px;font-size:12px;letter-spacing:.05em;text-transform:uppercase;border:1px solid transparent}.risk-badge strong{font-size:13px}.risk-badge span{font-size:10px}.risk-low{background:#22c55e1f;color:#4ade80;border-color:#22c55e4d}.risk-moderate{background:#facc151f;color:#facc15;border-color:#facc154d}.risk-elevated{background:#f9731624;color:#fb923c;border-color:#f973164d}.risk-high{background:#ef444429;color:#f87171;border-color:#ef44444d}.net-worth-strip{display:flex;flex-direction:column;gap:14px;padding:18px 20px;border:1px solid var(--c-surface-2);border-radius:14px;background:linear-gradient(135deg,#38bdf80f,rgba(var(--c-shadow-rgb),.4));margin-bottom:18px}.net-worth-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.net-worth-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--c-surface-2);border-radius:10px;background:rgba(var(--c-shadow-rgb),.55)}.net-worth-card.primary{border-color:#38bdf873;background:#38bdf814}.net-worth-card .net-worth-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--c-text-soft)}.net-worth-card strong{font-size:22px;font-family:JetBrains Mono,monospace}.net-worth-card strong.positive{color:#4ade80}.net-worth-card strong.negative{color:#f87171}.net-worth-card small{color:var(--c-text-soft);font-size:11px}.view-tabs{display:flex;gap:6px;flex-wrap:wrap}.view-tab{border:1px solid var(--c-surface-2);background:rgba(var(--c-shadow-rgb),.5);color:var(--c-text-muted);padding:8px 14px;border-radius:999px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;font-weight:600}.view-tab.active{background:#38bdf82e;border-color:#38bdf88c;color:var(--c-accent-3)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px;margin-top:12px}.plan-edit-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--c-surface-2);border-radius:12px;background:rgba(var(--c-shadow-rgb),.55)}.plan-edit-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-edit-name{flex:1;background:transparent;border:1px solid var(--c-surface-2);color:var(--c-text-strong);border-radius:8px;padding:8px 10px;font-size:14px;font-weight:600}.plan-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-edit-grid label{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-soft)}.plan-edit-grid input,.plan-edit-grid select{background:var(--c-bg-deep);border:1px solid var(--c-surface-2);color:var(--c-text-strong);padding:7px 9px;border-radius:8px;font-size:13px}.plan-edit-notes{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-soft)}.plan-edit-notes textarea{background:var(--c-bg-deep);border:1px solid var(--c-surface-2);color:var(--c-text-strong);padding:9px 11px;border-radius:8px;font-size:13px;font-family:inherit;line-height:1.45;text-transform:none;letter-spacing:normal;min-height:64px;resize:vertical;width:100%;box-sizing:border-box}.plan-edit-notes textarea:focus{outline:none;border-color:var(--c-accent);box-shadow:0 0 0 2px #38bdf833}.plan-edit-notes textarea::placeholder{color:var(--c-border-strong)}.icon-only.danger{background:transparent;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:6px;border-radius:8px;cursor:pointer}.icon-only.danger:hover{background:#ef444426;color:#fecaca}.position-card.loan .position-value.negative{color:#fca5a5}.empty-state{border:1px dashed var(--c-border);border-radius:14px;padding:40px 20px;text-align:center;background:rgba(var(--c-shadow-rgb),.4);margin:18px 0}.empty-state h2{color:var(--c-text);margin:0 0 6px}.empty-state p{color:var(--c-text-soft);margin:0}.section-summary{display:flex;align-items:baseline;justify-content:space-between;margin:18px 0 4px}.section-summary h2{font-family:JetBrains Mono,monospace;font-size:28px;margin:4px 0}.balance-sheet{display:flex;flex-direction:column;gap:18px}.balance-sheet-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.balance-sheet-side{border:1px solid var(--c-surface-2);border-radius:14px;background:rgba(var(--c-shadow-rgb),.55);padding:16px}.balance-sheet-side-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.balance-sheet-side-header h3{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-soft)}.balance-sheet-side-header strong{font-family:JetBrains Mono,monospace;font-size:18px;color:var(--c-text)}.balance-sheet-side table{width:100%;border-collapse:collapse}.balance-sheet-side td{padding:6px 0;font-size:13px;color:var(--c-text-muted);border-top:1px solid var(--c-surface-2)}.balance-sheet-side td:last-child{text-align:right;font-family:JetBrains Mono,monospace}.balance-sheet-side tr.group td{color:var(--c-text-strong);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.06em;padding-top:12px}.balance-sheet-side small{color:var(--c-text-faint);margin-left:4px}@media(max-width:720px){.net-worth-cards,.balance-sheet-columns,.plan-edit-grid{grid-template-columns:1fr}}.include-filter{position:relative;display:inline-flex}.include-filter-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;max-height:320px;overflow-y:auto;background:var(--c-bg-deep);border:1px solid var(--c-surface-2);border-radius:10px;padding:8px;box-shadow:0 12px 32px #0006;z-index:50;display:flex;flex-direction:column;gap:4px}.include-filter-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--c-text);text-align:left}.include-filter-row:hover{background:#38bdf814}.include-filter-row strong{font-weight:600}.include-filter-row small{color:var(--c-text-soft);margin-left:4px}.include-filter-row>span{flex:1;min-width:0;text-align:left}.include-filter-row input[type=checkbox]{flex:0 0 auto;width:14px;height:14px;margin:0;accent-color:var(--c-accent);cursor:pointer}.projection-heading-actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.summary.liability.active,.summary.liability:hover{border-color:#f973168c;background:#f973160f}.summary-total.negative{color:#fca5a5}.scenario-switch,.segmented-control{flex-wrap:wrap}.forecast-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.forecast-table-wrap table{min-width:520px}@media(max-width:720px){.net-worth-cards,.balance-sheet-columns,.plan-edit-grid{grid-template-columns:1fr}.header h1{font-size:26px}.net-worth-strip{padding:14px}.projection-heading{flex-direction:column;align-items:flex-start;gap:10px}.projection-heading-actions{width:100%;justify-content:flex-start}.include-filter-menu{right:auto;left:0}}@media(max-width:480px){.app{padding:12px}.header h1{font-size:22px}.grid{grid-template-columns:1fr}.summary{padding:14px}.header-actions{width:100%}.header-actions button{flex:1 1 auto;justify-content:center}}.tile-manager-body{display:flex;flex-direction:column;gap:24px;padding:18px;overflow-y:auto;flex:1 1 auto;min-height:0}.tile-manager-section{display:flex;flex-direction:column;gap:10px}.tile-manager-stats{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:rgba(var(--c-shadow-rgb),.72)}.tile-manager-stat-total{display:flex;flex-direction:column;gap:4px;min-width:92px}.tile-manager-stat-total span{color:var(--c-text-soft);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.tile-manager-stat-total strong{display:inline-flex;align-items:center;gap:6px;color:var(--c-text-strong);font-size:18px}.tile-manager-type-counts{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.tile-manager-type-count{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:rgba(var(--c-tint-rgb),.04);color:var(--c-text-muted);font-size:12px;white-space:nowrap}.tile-manager-type-count.muted{color:var(--c-text-soft)}.tile-manager-type-count strong{color:var(--c-text-strong);font-weight:700}.tile-manager-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tile-manager-list li{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:8px;align-items:center}.tile-manager-list li.dragging{opacity:.58}.tile-manager-list li.drop-before:before,.tile-manager-list li.drop-after:after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:999px;background:var(--c-accent);box-shadow:0 0 0 1px #38bdf82e,0 0 14px #38bdf847}.tile-manager-list li.drop-before:before{top:-4px}.tile-manager-list li.drop-after:after{bottom:-4px}.tile-manager-drag-handle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:36px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:rgba(var(--c-shadow-rgb),.72);color:var(--c-text-soft);cursor:grab}.tile-manager-drag-handle:hover{border-color:#38bdf873;color:var(--c-accent-3)}.tile-manager-drag-handle:active{cursor:grabbing}.tile-manager-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(var(--c-tint-rgb),.04);border:1px solid rgba(var(--c-tint-rgb),.08);border-radius:8px;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease;min-width:0}.tile-manager-row:hover{background:rgba(var(--c-tint-rgb),.08)}.tile-manager-row-label{flex:1 1 auto;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tile-manager-row-type{flex-shrink:0;font-size:11px;color:var(--c-text-soft);text-transform:uppercase;letter-spacing:.06em}.tile-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tile-picker-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:rgba(var(--c-tint-rgb),.03);border:1px solid rgba(var(--c-tint-rgb),.08);border-radius:10px;color:inherit;text-align:left;cursor:pointer;transition:background .12s ease,transform .12s ease,border-color .12s ease;min-height:130px}.tile-picker-card:hover{background:#78a0ff14;border-color:#78a0ff59;transform:translateY(-1px)}.tile-picker-card strong{font-size:14px}.tile-picker-card p{margin:0;font-size:12px;color:var(--c-text-soft);line-height:1.45}.tile-picker-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#78a0ff2e;color:#aac4ff}.tile-picker-add{margin-top:auto;display:inline-flex;align-items:center;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#aac4ff}.tile-manager-footer{display:flex;align-items:center;gap:8px;padding:14px 18px;border-top:1px solid var(--c-border);background:var(--c-bg-deep)}.tile-manager-footer-spacer{flex:1}.tile-total{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:stretch;padding:0}.tile-total-main{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:18px;align-items:center;padding:18px 22px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;border-radius:8px;transition:background .12s ease}.tile-total-main:hover{background:#78a0ff0f}.tile-total.active .tile-total-main{background:#78a0ff1a}.tile-total-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:flex-end;justify-content:center;padding:0 18px 0 0}.tile-manage-toggle,.tile-compact-toggle{width:34px;height:34px;padding:0;justify-content:center}@media(max-width:900px){.tile-total,.tile-total-main{grid-template-columns:1fr}.tile-total-actions{align-items:flex-start;justify-content:flex-start;padding:0 18px 18px}}.tile-setup{display:flex;flex-direction:column;gap:20px}.tile-setup .vesting-config{margin-top:0}.forecast-table .cell-price{color:var(--c-text-soft);font-size:11px;font-weight:500}.tile-with-gear{position:relative;display:flex;height:100%}.tile-with-gear>.position-card{flex:1}.tile-gear{position:absolute;bottom:10px;right:10px;z-index:2;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:rgba(var(--c-shadow-rgb),.85);color:var(--c-text);border:1px solid var(--c-border-strong);border-radius:8px;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease;opacity:1}.tile-gear:hover,.tile-gear:focus-visible{background:#38bdf840;border-color:var(--c-accent);color:var(--c-text-strong)}.tile-gear:hover{background:#38bdf82e;color:var(--c-text-strong);border-color:var(--c-accent)}.checkbox-row{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;font-size:12px;color:var(--c-text-muted);cursor:pointer}.checkbox-row input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--c-accent)}.icon-button.primary{background:var(--c-accent);color:#0b1320;border-color:var(--c-accent)}.icon-button.primary:hover{background:var(--c-accent-2);border-color:var(--c-accent-2)}.position-lots{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-surface-3)}.position-lots-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.position-lots-header p{margin:4px 0 0;font-size:12px;color:var(--c-text-soft)}.position-lots-grid{display:flex;flex-direction:column;gap:6px}.position-lots-row{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(80px,.6fr) minmax(90px,.7fr) minmax(80px,.6fr) minmax(120px,1fr) 28px;gap:8px;align-items:center}.position-lots-row input,.position-lots-row select{width:100%;background:var(--c-bg);border:1px solid var(--c-border);border-radius:6px;padding:6px 8px;color:var(--c-text);font-size:13px}.position-lots-row-head{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-soft);font-weight:700}.position-lots-cost{font-variant-numeric:tabular-nums;color:var(--c-text-muted);font-size:13px;text-align:right;padding-right:4px}.icon-only.danger{background:transparent;color:#f87171;border:1px solid var(--c-border-strong);border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;line-height:1}.icon-only.danger:hover{background:#ef444426;border-color:#ef4444}@media(max-width:720px){.position-lots-row,.position-lots-row-head{grid-template-columns:1fr}.position-lots-row-head{display:none}}.lease-mode-toggle{display:flex;gap:16px;padding:10px 12px;margin-bottom:12px;background:var(--c-surface-3);border:1px solid var(--c-border);border-radius:6px}.lease-mode-option{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-muted);cursor:pointer}.lease-mode-switch{display:inline-flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:14px;background:var(--c-surface-3);border:1px solid var(--c-border);border-radius:999px;font-size:13px;color:var(--c-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content}.lease-mode-switch .switch{position:relative;width:36px;height:20px;display:inline-block}.lease-mode-switch .switch input{opacity:0;width:0;height:0}.lease-mode-switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--c-border);border-radius:999px;transition:background .12s ease}.lease-mode-switch .slider:before{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--c-text-strong);border-radius:50%;transition:transform .12s ease}.lease-mode-switch .switch input:checked+.slider{background:var(--c-accent)}.lease-mode-switch .switch input:checked+.slider:before{transform:translate(16px)}.ticker-input-row{display:flex;gap:6px}.ticker-input-row input{flex:1}.lookup-error{display:block;margin-top:4px;font-size:11px;color:#f87171}.lot-empty-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:22px;border:1px dashed var(--c-border-strong);border-radius:8px;background:transparent;color:var(--c-text-soft);font-size:13px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease;width:100%}.lot-empty-state:hover{border-color:var(--c-accent);color:var(--c-text-strong);background:#38bdf80f}.lot-empty-plus{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid currentColor;font-size:14px;font-weight:700}.lot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.lot-card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:8px;padding:12px}.lot-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.lot-index{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-soft);font-weight:700}.lot-cost{flex:1;text-align:right;font-size:12px;color:var(--c-text-muted);font-variant-numeric:tabular-nums}.lot-card-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.lot-card-fields label{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-soft);font-weight:600}.lot-card-fields input{width:100%;background:var(--c-surface-3);border:1px solid var(--c-border);border-radius:6px;padding:7px 9px;color:var(--c-text);font-size:13px;text-transform:none;letter-spacing:0;font-weight:400}.lot-card-fields .lot-note{grid-column:1 / -1}.position-meta.subtle{font-size:11px;color:var(--c-text-soft);flex-wrap:wrap;gap:12px;margin-top:-4px}.position-meta.subtle span{display:inline-flex;align-items:center;gap:4px}.payment-schedule-editor{margin-top:16px;padding:14px;border:1px solid var(--c-border);border-radius:8px;background:var(--c-bg);display:flex;flex-direction:column;gap:10px}.payment-schedule-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.payment-schedule-header h4{margin:0 0 4px;font-size:14px;color:var(--c-text)}.payment-schedule-table-wrap{max-height:360px;overflow-y:auto;border:1px solid var(--c-surface-2);border-radius:6px}.payment-schedule-table{width:100%;border-collapse:collapse;font-size:12px}.payment-schedule-table th,.payment-schedule-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--c-surface-2);color:var(--c-text-muted)}.payment-schedule-table thead th{position:sticky;top:0;background:var(--c-surface);color:var(--c-text-soft);font-weight:700;text-transform:uppercase;font-size:10px;letter-spacing:.04em}.payment-schedule-table tr.edited td{color:#fbbf24}.payment-schedule-table input{width:100%;padding:4px 6px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-bg-deep);color:var(--c-text);font-size:12px}.payment-schedule-table input:focus{outline:1px solid var(--c-accent);border-color:var(--c-accent)}.payment-schedule-pager{display:flex;align-items:center;justify-content:center;gap:12px;font-size:12px;color:var(--c-text-soft)}.payment-schedule-pager button{padding:4px 10px;border:1px solid var(--c-border);border-radius:4px;background:var(--c-surface-3);color:var(--c-text-muted);cursor:pointer}.payment-schedule-pager button:disabled{opacity:.4;cursor:not-allowed}.icon-button.ghost{background:transparent;border:1px solid var(--c-border);color:var(--c-text-muted);padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer}.icon-button.ghost:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-text-strong)}.icon-button.ghost:disabled{opacity:.4;cursor:not-allowed}.ledger-editor{display:flex;flex-direction:column;gap:10px;margin-top:28px}.aggregate-ledger-section .ledger-editor{margin-top:0}.ledger-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--c-border);border-radius:10px;background:linear-gradient(180deg,rgba(var(--c-shadow-rgb),.7),rgba(var(--c-shadow-rgb),.45))}.ledger-year-nav{display:flex;align-items:center;gap:8px}.ledger-year-nav button{background:transparent;border:1px solid var(--c-surface-2);color:var(--c-text-muted);padding:4px 10px;border-radius:6px;cursor:pointer;font-weight:600}.ledger-year-nav strong{font-family:JetBrains Mono,monospace;min-width:4ch;text-align:center}.ledger-year-nav select{background:var(--c-bg-deep);border:1px solid var(--c-surface-2);color:var(--c-text-strong);padding:4px 6px;border-radius:6px;font-size:12px}.ledger-totals{display:flex;align-items:stretch;gap:8px;font-size:13px;margin-left:auto}.ledger-totals .negative{color:#fca5a5}.ledger-totals .positive{color:#4ade80}.ledger-collapse-all{display:inline-flex;align-items:center;gap:4px;background:transparent;border:1px solid var(--c-surface-2);color:var(--c-text-muted);padding:4px 10px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}.ledger-collapse-all:hover{background:#38bdf814;border-color:var(--c-accent);color:var(--c-text)}.ledger-stat{display:flex;flex-direction:column;gap:2px;padding:6px 12px;border:1px solid var(--c-surface-2);border-radius:8px;background:rgba(var(--c-shadow-deep-rgb),.6);min-width:110px}.ledger-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-soft);font-weight:600}.ledger-stat strong{font-size:14px;color:var(--c-text);font-weight:600}.ledger-stat-total{background:#38bdf814;border-color:#38bdf852}.ledger-stat-total strong{font-size:16px;color:var(--c-text-strong)}.ledger-table-wrap{overflow-x:auto;overflow-y:visible;border:1px solid var(--c-border);border-radius:10px;background:var(--c-surface-3)}.ledger-table{width:100%;border-collapse:collapse;font-size:12px;min-width:1100px;table-layout:fixed}.ledger-table col.col-item{width:240px}.ledger-table col.col-month{width:56px}.ledger-table col.col-total{width:110px}.ledger-table col.col-actions{width:44px}.ledger-table th,.ledger-table td{padding:6px 8px;text-align:right;border-bottom:1px solid var(--c-surface-2);font-family:inherit;line-height:1.3;vertical-align:middle}.ledger-table th{color:var(--c-text-soft);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;background:rgba(var(--c-shadow-rgb),.6);position:sticky;top:0}.ledger-table th.today{color:var(--c-accent)}.ledger-table .ledger-item-col{text-align:left}.ledger-table .ledger-total-col{text-align:right;padding-right:10px}.ledger-cat-row{background:#38bdf80d}.ledger-cat-row .ledger-item-col{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ledger-cat-cell{color:var(--c-text-soft)}.ledger-collapse-btn{background:transparent;border:none;color:var(--c-text-muted);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.ledger-cat-label{flex:1;background:transparent;border:1px solid transparent;color:var(--c-text-strong);padding:2px 6px;border-radius:4px;font-weight:600;font-size:13px}.ledger-cat-label:hover,.ledger-cat-label:focus{border-color:var(--c-border);background:rgba(var(--c-shadow-deep-rgb),.6);outline:none}.ledger-item-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;word-break:break-word;overflow-wrap:anywhere}.ledger-item-label{background:transparent;border:1px solid transparent;color:var(--c-text-strong);padding:2px 6px;border-radius:4px;font-weight:500;font-size:12px;font-family:inherit;width:100%;min-width:0}.ledger-item-label:hover{border-color:var(--c-surface-2)}.ledger-item-label:focus{border-color:var(--c-accent);background:rgba(var(--c-shadow-deep-rgb),.6);outline:none}.ledger-item-row .ledger-item-col{display:flex;align-items:flex-start;gap:8px}.ledger-item-row .ledger-item-icon{padding-top:1px}.ledger-item-row .ledger-item-text>.ledger-item-name{display:inline;margin-right:6px}.ledger-item-row .ledger-item-text>.ledger-tag{display:inline-flex;vertical-align:middle}.ledger-item-icon{color:var(--c-text-soft);padding-top:2px}.ledger-item-row strong{color:var(--c-text-strong);font-weight:500;font-family:inherit;font-size:12px}.ledger-item-row small{display:block;font-family:inherit;font-size:10px}.ledger-tag{display:inline-block;margin-left:6px;padding:1px 6px;background:#38bdf81f;border:1px solid rgba(56,189,248,.35);color:var(--c-accent-3);border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.05em}.ledger-tag.broken{background:#f8717124;border-color:#f8717173;color:#fecaca}.ledger-cell{cursor:pointer;position:relative;min-width:56px}.ledger-cell.status-paid{color:#4ade80}.ledger-cell.status-scheduled{color:var(--c-text-muted)}.ledger-cell.status-skipped{color:var(--c-border-strong);text-decoration:line-through}.ledger-cell.overridden{background:#facc150f}.ledger-cell input{width:100%;background:var(--c-bg-deep);border:1px solid var(--c-accent);color:var(--c-text-strong);padding:2px 4px;border-radius:4px;text-align:right;font-family:inherit;font-size:12px}td.ledger-actions{display:flex;justify-content:flex-end;align-items:center;gap:4px}.ledger-actions .icon-only-placeholder{display:inline-block;width:22px;height:22px}.row-menu{position:relative;display:inline-block}.row-menu-trigger{background:transparent;border:1px solid transparent;color:var(--c-text-soft);padding:3px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.row-menu-trigger:hover{color:var(--c-text-muted);border-color:var(--c-surface-2)}.row-menu-popover{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;background:var(--c-bg-deep);border:1px solid var(--c-border);border-radius:8px;padding:4px;box-shadow:0 8px 18px #0206178c;z-index:30;display:flex;flex-direction:column;gap:2px}.row-menu-item{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:var(--c-text-muted);padding:6px 10px;border-radius:5px;font-size:12px;cursor:pointer;text-align:left;width:100%}.row-menu-item:hover{background:#38bdf814;color:var(--c-text-strong)}.row-menu-item.danger{color:#fca5a5}.row-menu-item.danger:hover{background:#f8717114;color:#fecaca}.row-menu-icon{display:inline-flex;align-items:center;color:inherit;opacity:.85}.ledger-actions .icon-only{background:transparent;border:1px solid transparent;padding:3px;border-radius:4px;cursor:pointer;color:var(--c-text-soft)}.ledger-actions .icon-only:hover{border-color:var(--c-surface-2);color:var(--c-text-muted)}.ledger-actions .icon-only.danger{color:#fca5a5}.ledger-add-btn{background:transparent;border:1px dashed var(--c-border);color:var(--c-text-soft);padding:4px 10px;border-radius:6px;cursor:pointer;font-size:11px;display:inline-flex;align-items:center;gap:4px}.ledger-add-btn:hover{border-color:var(--c-accent);color:var(--c-accent-3)}.ledger-bottom-actions{display:flex;gap:8px}.modal-card{background:var(--c-bg-deep);border:1px solid var(--c-surface-2);border-radius:12px;padding:18px;width:min(480px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-card h3{margin:0}.modal-tabs{display:flex;gap:4px}.modal-tabs button{background:transparent;border:1px solid var(--c-surface-2);color:var(--c-text-muted);padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.modal-tabs button.active{background:#38bdf82e;border-color:#38bdf88c;color:var(--c-accent-3)}.modal-body{display:flex;flex-direction:column;gap:8px}.modal-body label{display:flex;flex-direction:column;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-soft)}.modal-body input,.modal-body select{background:var(--c-bg-deep);border:1px solid var(--c-surface-2);color:var(--c-text-strong);padding:7px 9px;border-radius:6px;font-size:13px}.modal-actions{display:flex;justify-content:flex-end;gap:6px}.modal-actions button{background:transparent;border:1px solid var(--c-surface-2);color:var(--c-text-muted);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:12px}.modal-actions button.primary{background:#38bdf82e;border-color:#38bdf88c;color:var(--c-accent-3)}.tile-with-gear[data-typeid=income]>.position-card{border-left:3px solid rgba(74,222,128,.55)}.tile-with-gear[data-typeid=expense]>.position-card{border-left:3px solid rgba(248,113,113,.55)}.tile-with-gear[data-typeid=savings]>.position-card{border-left:3px solid rgba(56,189,248,.55)}.tile-with-gear[data-typeid=income]>.position-card .position-value.positive{color:#4ade80}.tile-with-gear[data-typeid=expense]>.position-card .position-value.negative{color:#fca5a5}.tile-with-gear[data-typeid=savings]>.position-card .position-value{color:var(--c-accent-3)}.label-chips{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:4px}.label-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 6px 1px 7px;background:#a855f724;border:1px solid rgba(168,85,247,.45);color:#e9d5ff;border-radius:999px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-family:inherit}.label-chip--inherited{background:#94a3b81a;border-color:#94a3b852;color:var(--c-text-muted);opacity:.85}.label-chip-x{background:transparent;border:none;padding:0;cursor:pointer;color:inherit;opacity:.7;display:inline-flex}.label-chip-x:hover{opacity:1}.label-chip-add-btn{background:transparent;border:1px dashed rgba(148,163,184,.45);color:var(--c-text-soft);cursor:pointer;padding:1px 4px;border-radius:999px;font-size:9px;display:inline-flex;align-items:center}.label-chip-add-btn:hover{color:#e9d5ff;border-color:#a855f78c}.label-chip-add input{background:var(--c-bg-deep);color:var(--c-text-strong);border:1px solid rgba(168,85,247,.55);border-radius:999px;padding:1px 8px;font-size:10px;font-family:inherit;outline:none}.label-chips--md .label-chip{font-size:10px;padding:2px 8px}.ledger-table tbody tr:hover{background:#38bdf80a}.ledger-table .ledger-cat-row{background:#38bdf814}.ledger-table .ledger-cat-row:hover{background:#38bdf81f}.ledger-table .ledger-cat-row strong{font-size:12px;font-weight:600;color:var(--c-text-strong)}.ledger-cell:hover{background:#38bdf81a}.ledger-editor[data-variant=income] .ledger-cell.status-paid,.ledger-editor[data-variant=savings] .ledger-cell.status-paid{color:#4ade80}.ledger-editor[data-variant=expense] .ledger-cell.status-paid{color:#fca5a5}.ledger-editor[data-variant=expense] .ledger-totals strong:not(.subtle-copy){color:#fca5a5}.ledger-editor[data-variant=income] .ledger-totals strong:not(.subtle-copy){color:#4ade80}.ledger-cat-actions{display:inline-flex;align-items:center;gap:6px}.ledger-cat-tile-select{background:var(--c-bg-deep);color:var(--c-text);border:1px solid var(--c-surface-2);border-radius:6px;padding:2px 6px;font-size:11px;font-family:inherit;max-width:130px}.ledger-cat-tile-select:hover{border-color:var(--c-accent)}.ledger-editor[data-variant=income] .ledger-table .ledger-cat-row{background:#4ade800f;border-left:2px solid rgba(74,222,128,.45)}.ledger-editor[data-variant=expense] .ledger-table .ledger-cat-row{background:#f871710f;border-left:2px solid rgba(248,113,113,.45)}.ledger-editor[data-variant=savings] .ledger-table .ledger-cat-row{background:#38bdf80f;border-left:2px solid rgba(56,189,248,.45)}.ledger-table .ledger-cat-row .ledger-item-col{display:flex;align-items:flex-start;gap:8px;flex-wrap:nowrap;min-width:0}.ledger-table .ledger-cat-row .ledger-cat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.ledger-table .ledger-cat-row .ledger-item-text{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px;flex:1;min-width:0}.ledger-table th{border-bottom:1px solid var(--c-border)}.ledger-table .ledger-add-row td{background:rgba(var(--c-shadow-rgb),.4)}.ledger-table .ledger-add-row:hover td{background:#38bdf80a}.chart-panel .forecast-table-wrap{margin-top:28px}.aggregate-ledger-panel{display:flex;flex-direction:column;gap:22px;margin-top:28px}.aggregate-ledger-yearbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--c-border);border-radius:10px;background:linear-gradient(180deg,rgba(var(--c-shadow-rgb),.7),rgba(var(--c-shadow-rgb),.45))}.aggregate-ledger-yearbar .ledger-year-nav{margin:0}.cash-onhand-wrap{margin:10px 0 6px}.cash-onhand-table tbody tr.cash-onhand-row{background:rgba(var(--c-shadow-rgb),.55)}.cash-onhand-table .ledger-item-col .cash-onhand-label{display:flex;flex-direction:column;gap:2px}.cash-onhand-table .ledger-item-col .cash-onhand-label strong{font-size:13px;color:var(--c-text)}.cash-onhand-table .ledger-item-col .cash-onhand-label small{font-size:10.5px;color:var(--c-text-soft)}.cash-onhand-table .cash-onhand-cell{text-align:right;font-variant-numeric:tabular-nums}.cash-onhand-table .cash-onhand-cell strong{font-size:12px;font-weight:600}.cash-onhand-table .cash-onhand-cell strong.negative{color:#f87171}.cash-onhand-table .cash-onhand-cell strong.positive{color:#4ade80}.cash-onhand-table .ledger-total-col strong.negative{color:#f87171}.cash-onhand-table .ledger-total-col strong.positive{color:#4ade80}.aggregate-ledger-panel.empty-state{align-items:center;text-align:center;padding:48px 24px;color:var(--c-text-soft)}.aggregate-ledger-section{border:1px solid var(--c-border);border-radius:10px;background:var(--c-bg-deep);padding:16px 18px}.aggregate-ledger-section[data-typeid=income]{border-left:3px solid rgba(74,222,128,.55)}.aggregate-ledger-section[data-typeid=expense]{border-left:3px solid rgba(248,113,113,.55)}.aggregate-ledger-section[data-typeid=savings]{border-left:3px solid rgba(56,189,248,.55)}.aggregate-ledger-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--c-surface-2)}.aggregate-ledger-title{display:flex;align-items:center;gap:10px}.aggregate-ledger-title h3{margin:0;font-size:16px;font-weight:700;color:var(--c-text-strong)}.aggregate-ledger-title .badge.subtle{background:#94a3b81a;border-color:#94a3b852;color:var(--c-text-muted)}.ledger-tag.transfer{background:#a855f724;border-color:#a855f773;color:#e9d5ff;align-self:flex-start;margin-left:0;margin-top:2px;padding:0 6px;font-size:9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forecast-table-collapsible{margin-top:12px}.forecast-table-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:6px;padding:4px 10px;font-size:12px;font-family:inherit;cursor:pointer}.forecast-table-toggle:hover{border-color:var(--c-accent);color:var(--c-text-strong)}.forecast-table-collapsible.open .forecast-table-wrap{margin-top:12px}.ledger-label-badges{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:6px;vertical-align:middle}.ledger-label-badge{display:inline-flex;align-items:center;font-size:10px;padding:1px 7px;border-radius:999px;border:1px solid;font-family:inherit;line-height:1.4}.ledger-label-badge.inherited{opacity:.78;font-style:italic}.ledger-cat-name{flex:1;font-weight:600;font-size:12px;color:var(--c-text-strong);padding:2px 0;letter-spacing:.01em}.ledger-item-name{font-size:12px;color:var(--c-text-strong);font-weight:500}.ledger-cat-name,.ledger-item-name{cursor:text;border-radius:4px;padding:1px 4px;margin-left:-4px;border:1px solid transparent;transition:border-color .12s ease,background .12s ease}.ledger-cat-name:hover,.ledger-item-name:hover{border-color:var(--c-surface-2);background:#94a3b80f}.ledger-cat-name.editable-input,.ledger-item-name.editable-input{background:var(--c-bg-deeper);border-color:#2563eb;outline:none;font-family:inherit;cursor:text}.ledger-extrapolation-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:4px;border:1px solid rgba(245,158,11,.35);border-radius:999px;background:#f59e0b1a;color:#fbbf24;cursor:help;vertical-align:middle}.ledger-extrapolation-badge:hover,.ledger-extrapolation-badge:focus-visible{border-color:#fbbf24bf;background:#f59e0b2e;color:#fde68a;outline:none}.ledger-extrapolation-badge:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);z-index:60;width:max-content;max-width:250px;transform:translate(-50%) translateY(3px);padding:8px 10px;border:1px solid rgba(251,191,36,.38);border-radius:8px;background:var(--c-bg-deep);box-shadow:0 10px 24px #02061794;color:var(--c-text-strong);font-size:11px;font-weight:500;line-height:1.45;letter-spacing:0;text-align:left;text-transform:none;white-space:pre-line;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;visibility:hidden}.ledger-extrapolation-badge:before{content:"";position:absolute;left:50%;bottom:calc(100% + 4px);z-index:61;width:8px;height:8px;transform:translate(-50%) rotate(45deg);border-right:1px solid rgba(251,191,36,.38);border-bottom:1px solid rgba(251,191,36,.38);background:var(--c-bg-deep);opacity:0;pointer-events:none;transition:opacity .12s ease;visibility:hidden}.ledger-extrapolation-badge:hover:after,.ledger-extrapolation-badge:hover:before,.ledger-extrapolation-badge:focus-visible:after,.ledger-extrapolation-badge:focus-visible:before{opacity:1;visibility:visible}.ledger-extrapolation-badge:hover:after,.ledger-extrapolation-badge:focus-visible:after{transform:translate(-50%) translateY(0)}.ledger-table .ledger-item-row td,.ledger-table .ledger-cat-row td,.ledger-table .ledger-add-row td{font-size:12px;line-height:1.3}.ledger-table .ledger-cat-row strong,.ledger-table .ledger-item-row strong{font-size:12px;font-weight:600}.ledger-table .ledger-cell{font-size:12px}.ledger-item-row small.subtle-copy{font-size:10.5px}.ledger-table .ledger-actions{text-align:right;white-space:nowrap}.settings-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-modal-header h3{margin:0;font-size:14px}.label-picker{display:flex;flex-direction:column;gap:8px;margin-top:4px}.label-picker-section{display:flex;flex-direction:column;gap:6px}.label-picker-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--c-text-soft)}.label-picker-list{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--c-surface-2);border-radius:8px;background:rgba(var(--c-shadow-deep-rgb),.6);min-height:42px;align-items:center}.label-picker-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border:1px solid;border-radius:999px;font-size:11px;font-family:inherit;cursor:pointer;opacity:.55;transition:opacity .12s ease,transform .12s ease}.label-picker-chip:hover{opacity:.85}.label-picker-chip.selected{opacity:1;box-shadow:0 0 0 1px rgba(var(--c-tint-rgb),.1) inset}.label-picker-swatch{width:8px;height:8px;border-radius:50%;display:inline-block}.label-picker-create{display:flex;gap:6px}.label-picker-create input{flex:1;background:var(--c-bg-deep);border:1px solid var(--c-surface-2);color:var(--c-text-strong);padding:6px 9px;border-radius:6px;font-size:12px;font-family:inherit}.label-picker-create button{display:inline-flex;align-items:center;gap:4px;background:#38bdf82e;border:1px solid rgba(56,189,248,.55);color:var(--c-accent-3);padding:6px 10px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}.label-picker-create button[disabled]{opacity:.4;cursor:not-allowed}.dividend-panel{margin-top:18px;border:1px solid rgba(148,163,184,.18);border-radius:12px;padding:14px 16px 12px;background:rgba(var(--c-shadow-rgb),.45)}.dividend-settings-panel{margin-top:0}.dividend-empty-note{margin:0}.dividend-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.dividend-panel-head h3{margin:4px 0 0;font-size:18px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.dividend-panel-head h3 small{font-weight:400;font-size:12px;color:var(--c-text-soft)}.dividend-panel-yield{font-size:12px;font-weight:500;color:var(--c-accent);background:#38bdf81a;border-radius:999px;padding:2px 8px}.dividend-panel-total{text-align:right;display:flex;flex-direction:column}.dividend-panel-total span{font-size:11px;color:var(--c-text-soft);text-transform:uppercase;letter-spacing:.5px}.dividend-panel-total strong{font-size:16px;color:var(--c-text-strong)}.dividend-schedule{width:100%;border-collapse:collapse;font-size:12.5px}.dividend-schedule th,.dividend-schedule td{padding:6px 8px;border-bottom:1px solid rgba(148,163,184,.08);text-align:right}.dividend-schedule th:first-child,.dividend-schedule td:first-child{text-align:left}.dividend-schedule th{color:var(--c-text-soft);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.4px}.dividend-schedule tbody tr.overridden td{color:#fbbf24}.grid.compact .position-card{min-height:0;padding:12px 14px;gap:6px}.grid.compact .position-card-metrics,.grid.compact .position-meta{display:none}.grid.compact .position-heading h2{font-size:15px;margin:0}.grid.compact .position-heading p{display:none}.grid.compact .position-value{font-size:20px;margin:2px 0 0}.grid.compact .position-change{font-size:12px}.market-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-left:8px;vertical-align:middle;background:var(--c-border-strong);box-shadow:0 0 0 1px rgba(var(--c-tint-rgb),.08);cursor:help;transition:transform .15s ease}.market-status-dot:hover{transform:scale(1.25)}.market-status-dot.status-open{background:#22c55e;box-shadow:0 0 0 1px #22c55e66,0 0 8px #22c55e80}.market-status-dot.status-pre,.market-status-dot.status-after{background:#f59e0b;box-shadow:0 0 0 1px #f59e0b66}.market-status-dot.status-closed{background:var(--c-border-strong)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:radial-gradient(ellipse at top,var(--c-bg) 0%,#050b1b 70%);position:relative}.auth-card{width:100%;max-width:420px;background:rgba(var(--c-shadow-rgb),.85);border:1px solid rgba(148,163,184,.15);border-radius:16px;padding:32px;color:var(--c-text);box-shadow:0 20px 60px #00000080;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{width:56px;height:56px;border-radius:12px;margin-bottom:12px}.auth-header h1{font-size:24px;margin:0 0 4px;color:var(--c-text-strong)}.auth-tagline{margin:0;color:var(--c-text-soft);font-size:14px}.auth-tabs{display:flex;gap:4px;background:rgba(var(--c-shadow-rgb),.6);border-radius:10px;padding:4px;margin-bottom:20px}.auth-tab{flex:1;padding:8px 12px;font-size:13px;font-weight:500;background:transparent;border:none;border-radius:7px;color:var(--c-text-soft);cursor:pointer;transition:all .15s ease}.auth-tab.active{background:#38bdf826;color:var(--c-accent)}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field span{font-size:12px;font-weight:500;color:var(--c-text-soft);letter-spacing:.02em;text-transform:uppercase}.auth-field input{padding:10px 12px;font-size:14px;background:rgba(var(--c-shadow-rgb),.6);border:1px solid rgba(148,163,184,.2);border-radius:8px;color:var(--c-text-strong);outline:none;transition:border-color .15s}.auth-field input:focus{border-color:var(--c-accent)}.auth-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fca5a5;padding:8px 12px;border-radius:8px;font-size:13px;margin:4px 0 0}.auth-info{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#86efac;padding:8px 12px;border-radius:8px;font-size:13px;margin:4px 0 0}.auth-submit{margin-top:6px;padding:11px 14px;font-size:14px;font-weight:600;background:linear-gradient(180deg,var(--c-accent) 0%,#0ea5e9 100%);color:var(--c-bg);border:none;border-radius:8px;cursor:pointer;transition:filter .15s}.auth-submit:hover:not(:disabled){filter:brightness(1.1)}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-link{background:none;border:none;color:var(--c-accent);font-size:13px;cursor:pointer;padding:4px;align-self:center}.auth-link:hover{text-decoration:underline}.auth-divider{position:relative;text-align:center;margin:20px 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#94a3b833}.auth-divider span{position:relative;background:rgba(var(--c-shadow-rgb),.85);padding:0 12px;color:var(--c-text-faint);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.auth-oauth{display:flex;flex-direction:column;gap:8px}.auth-oauth-btn{padding:10px 14px;font-size:13px;background:#1e293b99;color:var(--c-text);border:1px solid rgba(148,163,184,.2);border-radius:8px;cursor:pointer;transition:background .15s}.auth-oauth-btn:hover:not(:disabled){background:#1e293be6}.auth-footer{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.1)}.auth-footer p{margin:0;font-size:11px;color:var(--c-text-faint);text-align:center;line-height:1.5}.auth-loading{text-align:center;padding:48px 32px}.user-menu{position:relative}.user-menu-label{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:rgba(var(--c-shadow-rgb),.98);border:1px solid rgba(148,163,184,.2);border-radius:10px;padding:8px;z-index:100;box-shadow:0 12px 32px #00000080}.user-menu-email{margin:0 0 6px;padding:6px 8px;font-size:12px;color:var(--c-text-soft);border-bottom:1px solid rgba(148,163,184,.1);word-break:break-all}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px;background:none;border:none;color:var(--c-text);font-size:13px;cursor:pointer;border-radius:6px;text-align:left}.user-menu-item:hover{background:#38bdf81a;color:var(--c-accent)}.help-modal{max-width:1080px;width:min(100%,1080px);max-height:90vh;display:flex;flex-direction:column}.help-header .help-header-tag{margin-left:10px;padding:2px 8px;font-size:11px;font-weight:500;color:var(--c-text-soft);background:#94a3b81a;border-radius:10px;letter-spacing:.02em}.help-body{display:grid;grid-template-columns:200px 1fr;gap:0;overflow:hidden;flex:1 1 auto;min-height:0}.help-toc{display:flex;flex-direction:column;gap:2px;padding:18px 14px;border-right:1px solid rgba(148,163,184,.12);background:rgba(var(--c-shadow-rgb),.35);overflow-y:auto}.help-toc-link{display:block;padding:8px 10px;font-size:13px;color:var(--c-text-soft);text-decoration:none;border-radius:6px;transition:background .12s ease,color .12s ease}.help-toc-link:hover{background:#38bdf814;color:var(--c-text)}.help-content{padding:22px 28px 32px;overflow-y:auto;scroll-behavior:smooth}.help-section{padding:18px 0;border-bottom:1px solid rgba(148,163,184,.08)}.help-section:last-child{border-bottom:none}.help-section h2{margin:0 0 10px;font-size:18px;font-weight:600;color:var(--c-text);letter-spacing:-.01em}.help-section h3{margin:0;font-size:14px;font-weight:600;color:var(--c-text)}.help-section p{margin:0 0 10px;font-size:13px;line-height:1.55;color:var(--c-text-muted)}.help-section code{padding:1px 5px;font-size:12px;background:#38bdf81a;color:var(--c-accent-2);border-radius:4px}.help-lede{font-size:14px!important;color:var(--c-text)!important}.help-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.help-pillar{display:flex;flex-direction:column;gap:6px;padding:14px;background:rgba(var(--c-shadow-rgb),.55);border:1px solid rgba(56,189,248,.12);border-radius:10px}.help-pillar svg{color:var(--c-accent)}.help-pillar strong{font-size:13px;color:var(--c-text)}.help-pillar span{font-size:12px;color:var(--c-text-soft);line-height:1.5}.help-rows{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.help-rows li{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;font-size:13px;color:var(--c-text-muted);line-height:1.5}.help-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;color:var(--c-accent-2);background:#38bdf81a;border:1px solid rgba(56,189,248,.2);border-radius:999px;white-space:nowrap;justify-self:start}.help-chip-icon svg{color:var(--c-accent)}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:10px}.help-view-card{padding:14px;background:rgba(var(--c-shadow-rgb),.5);border:1px solid rgba(148,163,184,.12);border-radius:10px;display:flex;flex-direction:column;gap:6px}.help-view-card svg{color:var(--c-accent)}.help-view-card strong{font-size:13px;color:var(--c-text)}.help-view-card p{margin:0;font-size:12px;color:var(--c-text-soft);line-height:1.5}.help-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px}.help-tile{padding:14px;background:rgba(var(--c-shadow-rgb),.55);border:1px solid rgba(148,163,184,.12);border-radius:10px;display:flex;flex-direction:column;gap:8px}.help-tile header{display:flex;gap:10px;align-items:center}.help-tile-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:#38bdf81f;color:var(--c-accent);flex-shrink:0}.help-tile-side{display:inline-block;margin-top:2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-soft)}.help-tile-asset .help-tile-icon{background:#22c55e1f;color:#4ade80}.help-tile-asset .help-tile-side{color:#4ade80}.help-tile-liability .help-tile-icon{background:#f871711f;color:#f87171}.help-tile-liability .help-tile-side{color:#f87171}.help-tile-account .help-tile-icon{background:#fbbf241f;color:#fbbf24}.help-tile-account .help-tile-side{color:#fbbf24}.help-tile-blurb{margin:0;font-size:12.5px;color:var(--c-text-muted);line-height:1.5}.help-tile-when{margin:0;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--c-text-soft);font-style:italic}.help-tile-when svg{flex-shrink:0;color:var(--c-text-faint)}.help-bullets{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.help-bullets li{position:relative;display:block;padding:10px 12px 10px 14px;font-size:13px;color:var(--c-text-muted);line-height:1.5;background:rgba(var(--c-shadow-rgb),.45);border-left:2px solid rgba(56,189,248,.45);border-radius:6px}.help-bullets li:has(>svg){display:flex;align-items:flex-start;gap:10px}.help-bullets li svg{flex-shrink:0;color:var(--c-accent);margin-top:3px}.help-note{margin-top:10px!important;padding:10px 12px;background:#fbbf240f;border:1px solid rgba(251,191,36,.18);border-radius:8px;font-size:12.5px!important;color:#fde68a!important}.help-disclaimer{margin-top:14px!important;font-size:11.5px!important;font-style:italic;color:var(--c-text-faint)!important}@media(max-width:760px){.help-body{grid-template-columns:1fr}.help-toc{flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:1px solid rgba(148,163,184,.12);padding:10px 14px}.help-pillars{grid-template-columns:1fr}.help-rows li{grid-template-columns:1fr;gap:4px}}.auth-help-button{position:absolute;top:20px;right:20px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;color:var(--c-text);background:#1e293bb3;border:1px solid rgba(56,189,248,.25);border-radius:999px;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease;z-index:5}.auth-help-button:hover{background:#38bdf81f;border-color:#38bdf88c;color:var(--c-accent-2)}.auth-help-button svg{color:var(--c-accent)}.help-h3{margin:18px 0 8px!important;font-size:13px!important;font-weight:600;color:var(--c-accent-2)!important;text-transform:uppercase;letter-spacing:.06em}.help-mode-card{border-left:3px solid var(--c-accent)}.help-mode-card strong{color:var(--c-accent-2)}.theme-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:8px}@media(max-width:760px){.theme-choice-group{grid-template-columns:1fr}}.theme-choice{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:2px;padding:14px 14px 12px;border-radius:12px;border:1px solid var(--c-border);background:var(--c-surface);color:var(--c-text);text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.theme-choice:hover{border-color:var(--c-border-strong)}.theme-choice.selected{border-color:var(--c-accent);background:#38bdf814;box-shadow:0 0 0 1px var(--c-accent) inset}.theme-choice svg{grid-row:1 / span 2;align-self:center;color:var(--c-accent)}.theme-choice-label{font-weight:600;color:var(--c-text-strong)}.theme-choice-hint{font-size:12px;color:var(--c-text-soft)}:root[data-theme=light] .brand-name{background:none;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:initial;color:var(--c-accent-2)}:root[data-theme=light] .header h1{color:var(--c-text-strong)}:root[data-theme=light] .brand-logo{box-shadow:0 6px 18px #0284c72e,0 0 0 1px #0f172a14;background:#fff}:root[data-theme=light] .modal-backdrop{background:#0f172a73}:root[data-theme=light] .auth-shell,:root[data-theme=light] body{background:var(--c-bg)}:root[data-theme=light] .position-card,:root[data-theme=light] .editor,:root[data-theme=light] .setup-modal,:root[data-theme=light] .help-modal,:root[data-theme=light] .chart-panel,:root[data-theme=light] .detail-panel,:root[data-theme=light] .aggregate-ledger-panel,:root[data-theme=light] .balance-sheet,:root[data-theme=light] .dividend-panel,:root[data-theme=light] .auth-card,:root[data-theme=light] .intelligence-panel,:root[data-theme=light] .api-proposal{box-shadow:0 1px 2px #0f172a0f,0 4px 12px #0f172a14;border-color:var(--c-border)}:root[data-theme=light] input,:root[data-theme=light] select,:root[data-theme=light] textarea{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text-strong)}:root[data-theme=light] input:focus,:root[data-theme=light] select:focus,:root[data-theme=light] textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px #0284c72e;outline:none}:root[data-theme=light] .position-card:hover,:root[data-theme=light] .tile-with-gear:hover .position-card{background:#0f172a0a}:root[data-theme=light] .net-worth-strip{background:linear-gradient(135deg,rgba(2,132,199,.08),var(--c-surface));border-color:var(--c-border);box-shadow:0 1px 2px #0f172a0f,0 4px 12px #0f172a14}:root[data-theme=light] .net-worth-card{background:var(--c-surface-2);border-color:var(--c-border)}:root[data-theme=light] .net-worth-card.primary{background:#0284c71a;border-color:var(--c-accent)}:root[data-theme=light] .net-worth-card strong{color:var(--c-text-strong)}:root[data-theme=light] .net-worth-card strong.positive{color:#15803d}:root[data-theme=light] .net-worth-card strong.negative{color:#b91c1c}:root[data-theme=light] .view-tab{background:var(--c-surface);border-color:var(--c-border);color:var(--c-text-muted)}:root[data-theme=light] .view-tab.active{background:#0284c71a;border-color:var(--c-accent);color:var(--c-accent-3)}:root[data-theme=light] .positive,:root[data-theme=light] .summary-total.positive,:root[data-theme=light] strong.positive{color:#15803d}:root[data-theme=light] .negative,:root[data-theme=light] .summary-total.negative,:root[data-theme=light] strong.negative{color:#b91c1c}:root[data-theme=light] .granularity-switch,:root[data-theme=light] .curve-switch,:root[data-theme=light] .scenario-switch,:root[data-theme=light] .chart-controls,:root[data-theme=light] .include-filter{background:var(--c-surface);border-color:var(--c-border)}.position-currency-warning{margin-left:6px;color:var(--c-warning, #d97706);vertical-align:-2px}.currency-mismatch-hint{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;padding:8px 10px;border-radius:6px;background:#d977061f;color:var(--c-warning, #d97706);font-size:12px}.currency-mismatch-hint button{background:var(--c-warning, #d97706);color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:11px;cursor:pointer}.currency-mismatch-banner{margin:8px 0 16px;padding:10px 14px;border-radius:8px;background:#d977061f;color:var(--c-warning, #d97706);font-size:13px;border-left:3px solid var(--c-warning, #d97706)}:root[data-theme=light] .include-filter-menu{background:#fff;border:1px solid var(--c-border);box-shadow:0 12px 32px #0f172a2e}:root[data-theme=light] .include-filter-row:hover{background:#0284c714}:root[data-theme=light] .help-note{color:#92400e!important;background:#fbbf2424;border-color:#d9770659}
