:root{--bg: #f5f7fb;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #eef2f7;--text: #111827;--muted: #667085;--border: #d8dee8;--border-strong: #b9c2d0;--accent: #1d5fd1;--accent-strong: #174aa6;--accent-soft: #eaf2ff;--warm: #b7791f;--warm-soft: #fff5dd;--cool: #1473e6;--cool-soft: #e8f1ff;--rose-soft: #fff0f2;--danger: #c24141;--positive: #16834f;--shadow: 0 8px 24px rgba(23, 28, 40, .08);--shadow-soft: 0 1px 2px rgba(23, 28, 40, .08);--ring: 0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}:root[data-theme=dark]{--bg: #0f1219;--surface: #171b25;--surface-2: #1f2430;--surface-3: #2a3040;--text: #eef2f8;--muted: #a8b0c2;--border: #303747;--border-strong: #465064;--accent: #7fb0ff;--accent-strong: #a8c8ff;--accent-soft: #172944;--warm: #f6c453;--warm-soft: #3a2b12;--cool: #7db7ff;--cool-soft: #17273d;--rose-soft: #3d1d25;--danger: #ff7b8f;--positive: #59d68c;--shadow: none;--shadow-soft: none;--ring: 0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease}button:disabled{cursor:not-allowed;opacity:.58}.boot,.login{min-height:100vh;display:grid;place-items:center;padding:24px}.loginPanel{width:min(420px,100%);display:grid;gap:14px;padding:26px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.loginPanel h1{margin:0;font-size:2rem}.loginPanel label{display:grid;gap:8px;color:var(--muted);font-size:.92rem}.loginError{display:grid;gap:4px;padding:10px 12px;color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--danger) 34%,var(--border));border-radius:6px;font-size:.86rem}.loginError strong{color:var(--danger);font-size:.88rem}.demoLoginButton{width:100%}input,select,textarea{min-height:36px;width:100%;border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:var(--surface);color:var(--text);box-shadow:inset 0 1px color-mix(in srgb,var(--surface-3) 42%,transparent);transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--ring)}textarea{min-height:88px;resize:vertical}.app{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;gap:18px;padding:18px 14px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,var(--surface-2))}.brand{display:flex;gap:12px;align-items:center;padding:4px 6px 12px;border-bottom:1px solid var(--border)}.brandMark,.loginBrandMark{display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent);box-shadow:var(--shadow-soft)}.brandMark{width:36px;height:36px;flex:0 0 auto}.loginBrandMark{width:56px;height:56px}.brand svg,.loginBrandMark svg{color:var(--accent)}.brand div{min-width:0;display:grid}.brand strong{font-size:1.2rem}.brand span,.muted{color:var(--muted)}nav,.sidebarFooter{display:grid;align-content:start;gap:5px}.sidebarToggles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.sessionActions{display:grid;grid-template-columns:auto 1fr;gap:6px}.versionButton{min-height:36px;padding:7px 10px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:6px;font-weight:800}.versionButton:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface))}.toggleIconButton{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:6px;padding:7px 10px;background:var(--surface);color:var(--muted);box-shadow:var(--shadow-soft)}.toggleIconButton:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.languageToggle span{font-size:.72rem;font-weight:800;letter-spacing:0}.navButton,.ghostButton,.primaryButton,.iconButton{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:6px;padding:7px 11px;color:var(--text);text-decoration:none}.navButton,.ghostButton,.iconButton{background:transparent}.navButton{justify-content:flex-start;color:var(--muted);font-weight:650}.navButton.active,.navButton:hover,.ghostButton:hover,.iconButton:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.navButton.active{border-color:var(--border-strong);background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 3px 0 0 var(--accent)}.primaryButton{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:700;box-shadow:var(--shadow-soft)}.primaryButton:hover{background:var(--accent-strong);transform:translateY(-1px)}.main{min-width:0;padding:24px}.section{display:grid;gap:16px}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}.sectionActions{display:inline-flex;align-items:center;gap:8px}.sectionHeader h1{margin:0;font-size:1.55rem;font-weight:780;letter-spacing:0}.metricGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.metric,.list li{border:1px solid var(--border);border-radius:8px;background:var(--surface)}.metric{position:relative;overflow:hidden;display:grid;gap:8px;min-height:98px;padding:14px;box-shadow:none}.metric:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--metric-accent, var(--accent))}.metric:nth-child(2n){--metric-accent: var(--accent)}.metric:nth-child(3n){--metric-accent: var(--accent)}.metric span{color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase}.metric strong{font-size:1.24rem;line-height:1.1;font-variant-numeric:tabular-nums}.metric strong .positive{color:var(--positive)}.metric strong .negative{color:var(--danger)}.metricDetail{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}.metricDetail .performanceChips{gap:4px}.metricDetail .perfChip{min-height:21px;padding:2px 5px;font-size:.69rem}.tableWrap{max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface-3) 38%,transparent),transparent 54px),var(--surface);box-shadow:var(--shadow-soft)}table{width:100%;border-collapse:collapse;min-width:840px;font-size:.86rem}th,td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}th{position:sticky;top:0;z-index:1;color:var(--muted);font-size:.73rem;font-weight:800;text-transform:uppercase;background:color-mix(in srgb,var(--surface-3) 76%,var(--surface));box-shadow:inset 0 -1px 0 var(--border)}tbody tr:nth-child(odd){background:color-mix(in srgb,var(--surface-2) 58%,transparent)}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 54%,var(--surface))}.positive{color:var(--positive)}.negative,.errorText{color:var(--danger)}.successText{display:block;margin-top:6px;color:var(--positive);font-size:.82rem;font-weight:700}.entryPanel{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.walletForm{grid-template-columns:minmax(240px,1fr) 120px auto}.assetForm{grid-template-columns:minmax(220px,1.4fr) minmax(140px,.8fr) minmax(220px,1.4fr) minmax(140px,.8fr) 90px auto}.accountForm{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(140px,.7fr) 90px auto}.feedForm{grid-template-columns:120px 120px minmax(240px,1fr) auto}.feedbackForm{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.6fr) auto}.adminUserForm{grid-template-columns:minmax(180px,1fr) minmax(160px,1fr) minmax(160px,1fr) 120px 120px auto}.transactionEntry{grid-template-columns:repeat(4,minmax(140px,1fr))}.field{min-width:0;display:grid;gap:5px}.field>span{color:var(--muted);font-size:.73rem;font-weight:800;text-transform:uppercase}.doubleField{grid-column:span 2}.fullWidth{grid-column:1 / -1}.formActions{display:flex;align-items:end;justify-content:flex-end;gap:8px}.splitActions{justify-content:space-between}.inputWithIcon{position:relative}.inputWithIcon svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.inputWithIcon input{padding-left:34px}.assetPicker{position:relative;display:grid;gap:6px}.selectedAssetBadge{width:fit-content;max-width:100%;padding:4px 8px;color:var(--field-accent, var(--accent-strong));background:color-mix(in srgb,var(--field-accent, var(--accent)) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--field-accent, var(--accent)) 26%,var(--border));border-radius:999px;font-size:.78rem;font-weight:750;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assetPickerMenu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:70;display:grid;gap:5px;max-height:230px;overflow:auto;padding:7px;background:var(--surface);border:1px solid color-mix(in srgb,var(--field-accent, var(--accent)) 28%,var(--border));border-radius:8px;box-shadow:var(--shadow)}.assetPickerSection,.assetPickerHint{padding:4px 6px;color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.assetPickerHint{font-weight:650;text-transform:none}.assetPickerOption{display:grid;grid-template-columns:minmax(64px,.28fr) minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;padding:5px 7px;color:var(--text);background:transparent;border:1px solid transparent;border-radius:6px;text-align:left}.assetPickerOption:hover,.assetPickerOption.active{background:color-mix(in srgb,var(--field-accent, var(--accent)) 10%,var(--surface));border-color:color-mix(in srgb,var(--field-accent, var(--accent)) 28%,var(--border))}.assetPickerOption strong{color:var(--field-accent, var(--accent));font-size:.82rem}.assetPickerOption span,.assetPickerOption em{min-width:0;color:var(--muted);font-size:.76rem;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactionSummary{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;padding-top:4px}.transactionSummary .metric{min-height:76px;background:var(--surface);box-shadow:none}.fundingPanel{display:grid;gap:9px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accent-soft) 62%,var(--surface))}.fundingHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.fundingHeader span,.modeDescription{color:var(--muted);font-size:.84rem}.segmentedRow{display:flex;flex-wrap:wrap;gap:8px}.segmentedButton{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:6px;padding:6px 10px;background:var(--surface);color:var(--text);font-weight:650}.segmentedButton.active,.segmentedButton:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 70%,var(--surface))}.periodPanel{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.periodPanel>div{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.periodPanel>div>span{color:var(--muted);font-size:.84rem}.performanceChips{display:flex;flex-wrap:wrap;gap:5px}.perfChip{display:inline-flex;align-items:center;gap:4px;min-height:22px;border-radius:999px;padding:2px 7px;font-size:.73rem;font-weight:750;border:1px solid var(--border);background:var(--surface-2);color:var(--muted)}.perfChip.neutral{border-color:var(--border);background:var(--surface-2);color:var(--muted)}.perfValue{width:fit-content;font-weight:800;font-variant-numeric:tabular-nums}.perfChip.positive{border-color:color-mix(in srgb,var(--positive) 45%,var(--border));background:color-mix(in srgb,var(--positive) 14%,var(--surface));color:var(--positive)}.perfChip.warning{border-color:color-mix(in srgb,var(--warm) 48%,var(--border));background:var(--warm-soft);color:var(--warm)}.perfChip.negative{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--rose-soft);color:var(--danger)}.coveragePanel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.coveragePanel div{display:grid;gap:3px}.coveragePanel span{color:var(--muted);font-size:.84rem}.coveragePanel.complete{border-color:color-mix(in srgb,var(--positive) 35%,var(--border))}.coveragePanel.partial{border-color:color-mix(in srgb,var(--warm) 45%,var(--border))}.coveragePanel.missing{border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.coverageBadge{width:max-content;display:inline-flex;align-items:center;gap:5px;min-height:22px;border:1px solid var(--border);border-radius:999px;padding:2px 8px;background:var(--surface-2);color:var(--muted);font-size:.72rem;font-weight:800}.coverageBadge b{color:inherit}.coverageBadge.complete{border-color:color-mix(in srgb,var(--positive) 45%,var(--border));background:color-mix(in srgb,var(--positive) 14%,var(--surface));color:var(--positive)}.coverageBadge.partial{border-color:color-mix(in srgb,var(--warm) 45%,var(--border));background:var(--warm-soft);color:var(--warm)}.coverageBadge.missing{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--rose-soft);color:var(--danger)}.insightGrid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(520px,1.6fr);gap:12px}.historyInsightPanel{min-width:0}.insightPanel{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.insightHeader,.allocationRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.insightHeader strong{font-size:.9rem;font-weight:800}.insightHeader span,.allocationRow small{color:var(--muted);font-size:.82rem}.historyHeaderMeta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.historyControls{display:flex;flex-wrap:wrap;align-items:end;gap:6px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.historyControls label{display:grid;gap:4px;min-width:132px}.historyControls label span{color:var(--muted);font-size:.76rem;font-weight:700}.historyControls input{min-height:30px;padding:5px 7px;font-size:.8rem}.compactSelect{min-height:32px;max-width:170px;padding:5px 28px 5px 8px;font-size:.8rem}.compactRangeButton{min-height:32px;padding:5px 10px}.allocationCard{display:grid;gap:10px;min-width:0}.allocationCard>strong{font-size:.88rem}.allocationContent{display:grid;grid-template-columns:minmax(184px,.75fr) minmax(0,1fr);gap:16px;align-items:center}.donutChart{width:min(214px,100%);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border),var(--shadow-soft)}.donutHole{width:72%;aspect-ratio:1;display:grid;place-items:center;align-content:center;gap:4px;border-radius:50%;padding:8px;background:var(--surface);text-align:center}.donutHole span{color:var(--muted);font-size:.7rem}.donutHole strong{font-size:.86rem;font-weight:650}.allocationList{display:grid;gap:8px;min-width:0}.allocationRow{display:grid;grid-template-columns:10px minmax(0,1fr) auto auto;min-height:27px;padding:4px 6px;border-radius:6px;font-size:.8rem}.allocationRow:hover{background:var(--surface-2)}.allocationRow strong{font-weight:600}.allocationRow span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.allocationDot{width:10px;height:10px;border-radius:50%}.historyChart{display:grid;gap:8px}.chartFrame{position:relative;min-width:0}.chartFrame svg{width:100%;min-height:310px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 76%,transparent),transparent),color-mix(in srgb,var(--surface-2) 72%,var(--surface))}.chartArea{opacity:1}.chartLine{fill:none;stroke:var(--cool);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px color-mix(in srgb,var(--cool) 18%,transparent))}.chartGrid{stroke:color-mix(in srgb,var(--border-strong) 62%,transparent);stroke-width:1;stroke-dasharray:2 6}.chartAxis{stroke:color-mix(in srgb,var(--border-strong) 78%,transparent);stroke-width:1}.chartTick{fill:var(--muted);font-size:.58rem;font-weight:400}.chartRightTick{text-anchor:end}.chartDateTick{fill:var(--muted);font-size:.57rem;text-anchor:middle}.chartEndPoint{fill:var(--surface);stroke:var(--cool);stroke-width:2}.chartValueLabel{fill:var(--text);font-size:.62rem;font-weight:700;paint-order:stroke;stroke:var(--surface);stroke-width:4px}.chartExtrema circle{fill:var(--surface);stroke:var(--text);stroke-width:1.5}.chartExtrema.high circle{stroke:var(--positive)}.chartExtrema.low circle{stroke:var(--danger)}.chartExtrema text{fill:var(--text);font-size:.56rem;font-weight:800;paint-order:stroke;stroke:var(--surface);stroke-width:4px}.eventBar{stroke-width:2.5;stroke-linecap:round;opacity:.86}.eventBar.buy{stroke:var(--positive)}.eventBar.sell{stroke:var(--danger)}.eventLabel{font-size:.55rem;font-weight:850;text-anchor:middle;paint-order:stroke;stroke:var(--surface);stroke-width:3px}.eventLabel.buy{fill:var(--positive)}.eventLabel.sell{fill:var(--danger)}.chartAllocationBand path{opacity:.5;stroke:color-mix(in srgb,var(--surface) 22%,transparent);stroke-width:.4}.chartAllocationLegend{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:.76rem}.chartAllocationLegend span{display:inline-flex;align-items:center;gap:5px;max-width:220px;padding:4px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2)}.chartAllocationLegend i{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.chartAllocationLegend b{color:var(--text);font-weight:650}.eventLegend{display:flex;gap:8px;color:var(--muted);font-size:.76rem}.eventLegendItem{display:inline-flex;align-items:center;gap:5px}.eventLegendItem:before{content:"";width:8px;height:8px;border-radius:50%}.eventLegendItem.buy:before{background:var(--positive)}.eventLegendItem.sell:before{background:var(--danger)}.historyStats{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:8px}.historyStats span{display:grid;gap:3px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.78rem;box-shadow:var(--shadow-soft)}.historyStats b{color:var(--muted);font-size:.72rem}.chartEmpty{min-height:190px;display:grid;place-items:center;padding:16px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);background:var(--surface-2);text-align:center}.warningPanel{display:grid;gap:4px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--warm) 45%,var(--border));border-radius:8px;background:var(--warm-soft);color:var(--warm);font-size:.86rem}.queryErrorPanel{max-width:560px;display:grid;gap:8px;padding:14px;border:1px solid color-mix(in srgb,var(--danger) 42%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger);font-size:.9rem}.queryErrorPanel span{color:var(--text)}.queryErrorPanel .secondaryButton{justify-self:start}.detailActions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.detailActions>strong{min-height:30px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;padding:5px 9px;background:var(--surface-2);color:var(--muted);font-size:.78rem}.walletHeaderAction{min-width:30px;min-height:30px;padding:5px}.dangerButton{min-height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--danger) 50%,var(--border));border-radius:6px;padding:7px 9px;background:transparent;color:var(--danger)}.dangerButton:hover{background:var(--rose-soft)}.walletLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.walletDetail{display:grid;gap:10px}.presetButton.active,.presetButton:hover{border-color:var(--transaction-accent);background:color-mix(in srgb,var(--transaction-accent) 11%,var(--surface));color:var(--transaction-accent)}.detailHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.walletTitleRow{display:flex;align-items:center;gap:8px;margin-bottom:4px}.walletTitleSelect{min-height:34px;max-width:min(420px,100%);border:0;padding:2px 34px 2px 0;background:transparent;color:var(--text);font-size:1.18rem;font-weight:800;box-shadow:none}.detailHeader p{margin:0}.walletActionPanel{display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.actionDrawerBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;justify-content:flex-end;align-items:stretch;padding:0;background:color-mix(in srgb,#0f172a 34%,transparent)}.actionDrawerBackdrop.compact,.actionDrawerBackdrop.medium,.actionDrawerBackdrop.wide{align-items:center;justify-content:center;padding:18px}.actionDrawer{--drawer-accent: var(--accent);--drawer-soft: var(--accent-soft);width:min(760px,100vw);height:100vh;display:grid;grid-template-rows:auto 1fr;gap:14px;overflow-y:auto;border-left:1px solid var(--border);background:var(--surface);box-shadow:-18px 0 38px #0f172a29}.actionDrawer.compact,.actionDrawer.medium,.actionDrawer.wide{height:auto;max-height:min(760px,calc(100vh - 36px));border:1px solid var(--border);border-top:4px solid var(--drawer-accent);border-radius:10px;box-shadow:var(--shadow)}.actionDrawer.compact{width:min(520px,100%)}.actionDrawer.medium{width:min(680px,100%)}.actionDrawer.wide{width:min(1040px,100%)}.actionDrawer.walletTone{--drawer-accent: var(--positive);--drawer-soft: color-mix(in srgb, var(--positive) 13%, var(--surface))}.actionDrawer.accountTone{--drawer-accent: var(--warm);--drawer-soft: color-mix(in srgb, var(--warm) 14%, var(--surface))}.actionDrawer.transactionTone{--drawer-accent: var(--accent);--drawer-soft: color-mix(in srgb, var(--accent-soft) 72%, var(--surface))}.actionDrawerHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px 14px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--drawer-soft),transparent 72%),var(--surface)}.actionDrawerHeader div{display:grid;gap:4px;min-width:0}.actionDrawerHeader strong{font-size:1.02rem}.actionDrawerHeader span{color:var(--muted);font-size:.86rem;line-height:1.4}.actionDrawer .entryPanel{border:0;background:transparent;box-shadow:none;padding:0}.actionDrawer .field>span{color:color-mix(in srgb,var(--drawer-accent) 54%,var(--muted))}.actionDrawer input:focus-visible,.actionDrawer select:focus-visible,.actionDrawer textarea:focus-visible{border-color:var(--drawer-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--drawer-accent) 18%,transparent)}.actionDrawer>.walletTransactionPanel,.actionDrawer>.entryPanel{padding:16px 18px 18px}.actionDrawer .formActions{grid-column:1 / -1;align-items:center;padding-top:2px}.actionDrawer.compact .walletForm{grid-template-columns:minmax(0,1fr) 108px}.actionDrawer.medium .accountForm{grid-template-columns:repeat(2,minmax(0,1fr))}.actionDrawer.wide .walletQuickTransaction{grid-template-columns:repeat(4,minmax(145px,1fr))}.actionDrawer.wide .walletQuickTransaction .transactionSummary{grid-template-columns:repeat(4,minmax(125px,1fr))}.actionDrawer.wide .walletTransactionPanel{gap:14px}.actionPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.actionPanelHeader div{display:grid;gap:3px}.actionPanelHeader span{color:var(--muted);font-size:.84rem}.actionPanelHeader strong{font-size:.95rem}.subsectionHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.subsectionHeader h3,.subsectionHeader p{margin:0}.subsectionHeader h3{font-size:1rem}.subsectionActions{display:inline-flex;align-items:center;gap:6px}.compactMetrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.walletTransactionPanel{display:grid;gap:10px}.walletQuickTransaction{grid-template-columns:repeat(4,minmax(140px,1fr))}.transactionForm,.presetButton{--transaction-accent: var(--accent);--transaction-soft: var(--accent-soft)}.transaction-buy{--transaction-accent: var(--cool);--transaction-soft: var(--cool-soft)}.transaction-sell,.transaction-withdrawal,.transaction-transfer-out{--transaction-accent: var(--danger);--transaction-soft: var(--rose-soft)}.transaction-deposit,.transaction-dividend,.transaction-interest,.transaction-transfer-in{--transaction-accent: var(--positive);--transaction-soft: color-mix(in srgb, var(--positive) 12%, var(--surface))}.transaction-fee,.transaction-tax{--transaction-accent: var(--warm);--transaction-soft: var(--warm-soft)}.transactionForm{border-top:3px solid var(--transaction-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--transaction-accent) 7%,transparent),transparent 42%),transparent}.transactionForm .field>span{display:inline-flex;align-items:center;gap:5px}.transactionForm .field>span:before{width:6px;height:6px;content:"";border-radius:999px;background:var(--field-accent, var(--transaction-accent));box-shadow:0 0 0 3px color-mix(in srgb,var(--field-accent, var(--transaction-accent)) 13%,transparent)}.fieldToneOperation,.fieldToneAccount{--field-accent: var(--transaction-accent)}.fieldToneDate{--field-accent: var(--cool)}.fieldToneAsset,.fieldToneQuantity{--field-accent: var(--accent)}.fieldToneMoney,.fieldToneCurrency{--field-accent: var(--positive)}.fieldToneFee,.fieldToneTax{--field-accent: var(--warm)}.fieldToneNotes{--field-accent: var(--muted)}.walletQuickTransaction .assetField{grid-column:span 2}.rowActions{display:inline-flex;gap:6px}.compactActionButton{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:6px;padding:5px 9px;background:var(--surface);color:var(--text);font-size:.78rem;font-weight:700}.compactActionButton:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 60%,var(--surface));color:var(--accent-strong)}.presetRow{display:flex;flex-wrap:wrap;gap:8px}.presetButton{min-height:34px;border:1px solid var(--border);border-radius:999px;padding:6px 12px;background:var(--surface);color:var(--text);font-weight:700}.cashHint{min-height:28px;display:flex;align-items:center}.transactionTableWrap table{min-width:1120px}.assetPriceStrip{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--cool) 8%,transparent),transparent 56%),var(--surface);box-shadow:var(--shadow-soft)}.assetPriceList{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.assetPricePill{display:inline-flex;align-items:baseline;gap:7px;min-height:28px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--cool) 22%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--cool) 6%,var(--surface));white-space:nowrap}.assetPricePill strong{color:var(--cool);font-size:.78rem;font-weight:900}.assetPricePill b{color:var(--text);font-size:.82rem;font-variant-numeric:tabular-nums}.dailyMove{display:inline-flex;align-items:center;gap:2px;margin-left:1px;padding:1px 5px;border-radius:999px;font-size:.69rem;font-weight:850;font-variant-numeric:tabular-nums;line-height:1.35}.dailyMove.positive{color:var(--positive);background:color-mix(in srgb,var(--positive) 10%,transparent)}.dailyMove.warning{color:var(--warm);background:color-mix(in srgb,var(--warm) 13%,transparent)}.dailyMove.negative{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.dailyMove.neutral{color:var(--muted);background:color-mix(in srgb,var(--muted) 10%,transparent)}.dashboardTransactions{display:grid;gap:10px}.dashboardTransactions .transactionTableWrap table{min-width:980px}.transactionTable tbody tr:nth-child(odd){background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.transactionTable tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 54%,var(--surface))}.tableEmpty{height:76px;color:var(--muted);text-align:center}.tableEditorRow>td{padding:0;background:var(--surface-2)}.tableEditorRow .walletTransactionPanel{padding:12px}.numericCell{text-align:right;font-variant-numeric:tabular-nums}.dateCell{color:var(--muted);font-variant-numeric:tabular-nums}.stackedCell{display:grid;gap:3px;min-width:0}.stackedCell span{color:var(--muted);font-size:.78rem}.valueComparison{display:inline-grid;gap:4px;min-width:138px}.valueComparison strong{display:inline-flex;align-items:center;gap:4px;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}.valueComparison.positive strong{color:var(--positive)}.valueComparison.negative strong{color:var(--danger)}.valueComparison.flat strong{color:var(--muted)}.valueComparison span{color:var(--muted);font-size:.74rem;font-weight:650;line-height:1.2}.gainLossCell{display:inline-grid;gap:5px;min-width:142px}.gainLossCell>strong{font-variant-numeric:tabular-nums;line-height:1.1}.postTaxLine{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;color:var(--muted);font-size:.76rem;line-height:1.2}.postTaxLine span,.metric .postTaxLine span{color:var(--muted);font-size:inherit;font-weight:650;text-transform:none}.postTaxLine strong,.metric .postTaxLine strong{color:inherit;font-size:inherit;font-weight:800;line-height:inherit;font-variant-numeric:tabular-nums}.postTaxLine small,.taxDetailLine small{padding:1px 5px;border:1px solid color-mix(in srgb,currentColor 24%,var(--border));border-radius:999px;color:inherit;background:color-mix(in srgb,currentColor 8%,transparent);font-size:.68rem;font-weight:800}.taxDetailLine{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 6px;font-size:inherit;line-height:1.25}.taxDetailLine>span{font-weight:650}.typePill{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:2px 8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.72rem;font-weight:800}.typePill.buy,.typePill.transfer_out,.typePill.withdrawal{border-color:color-mix(in srgb,var(--danger) 36%,var(--border));background:var(--rose-soft);color:var(--danger)}.typePill.sell,.typePill.deposit,.typePill.dividend,.typePill.interest,.typePill.transfer_in{border-color:color-mix(in srgb,var(--positive) 36%,var(--border));background:color-mix(in srgb,var(--positive) 14%,var(--surface));color:var(--positive)}.taxEditor{display:inline-flex;align-items:center;gap:6px}.taxEditor select,.compactInput{min-height:30px;width:auto;padding:5px 7px;font-size:.8rem}.compactInput{width:72px}.compactTextInput,.compactSelect{min-height:30px;width:100%;min-width:120px;padding:5px 7px;font-size:.8rem}.passwordReset,.adminActions{display:inline-flex;align-items:center;gap:6px}.statusBadge{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;border:1px solid var(--border)}.statusBadge.active{border-color:color-mix(in srgb,var(--positive) 45%,var(--border));background:color-mix(in srgb,var(--positive) 14%,var(--surface));color:var(--positive)}.statusBadge.open{border-color:color-mix(in srgb,var(--cool) 38%,var(--border));background:var(--cool-soft);color:var(--cool)}.statusBadge.inProgress{border-color:color-mix(in srgb,var(--warm) 45%,var(--border));background:var(--warm-soft);color:var(--warm)}.statusBadge.done,.statusBadge.confirmed{border-color:color-mix(in srgb,var(--positive) 45%,var(--border));background:color-mix(in srgb,var(--positive) 14%,var(--surface));color:var(--positive)}.statusBadge.disabled,.dangerIconButton{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:var(--rose-soft);color:var(--danger)}.compactIconButton{min-width:30px;min-height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;padding:5px;background:var(--surface);color:var(--text)}.compactIconButton:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 58%,var(--surface));color:var(--accent-strong)}.checkField{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:700}.checkField input{width:auto}.feedGrid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}.feedColumn{display:grid;align-content:start;gap:8px;min-width:0}.feedColumn h2{margin:0;font-size:1rem}.feedItem{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-soft)}.feedItem:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow)}.feedImageLink{display:block;min-width:0;color:inherit;text-decoration:none}.feedImage{width:100%;aspect-ratio:4 / 3;display:grid;place-items:center;border-radius:6px;object-fit:cover;background:var(--surface-2)}.feedImage.placeholder{font-size:1.45rem;font-weight:800}.feedImage.placeholder.owned{color:var(--accent);background:var(--accent-soft)}.feedImage.placeholder.movers_up{color:var(--warm);background:var(--warm-soft)}.feedImage.placeholder.movers_down{color:var(--danger);background:var(--rose-soft)}.feedImage.placeholder.general{color:var(--cool);background:var(--cool-soft)}.feedBody{min-width:0;display:grid;align-content:start;gap:7px}.feedMetaLine,.feedFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.82rem}.feedTitle{color:var(--text);font-weight:780;line-height:1.25;text-decoration:none}.feedTitle:hover{color:var(--accent)}.feedBody p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.38}.feedFooter span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feedBadge{width:max-content;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800;background:var(--surface-2);color:var(--muted)}.feedBadge.owned{background:var(--accent-soft);color:var(--accent)}.feedBadge.movers_up{background:var(--warm-soft);color:var(--warm)}.feedBadge.movers_down{background:var(--rose-soft);color:var(--danger)}.feedBadge.general{background:var(--cool-soft);color:var(--cool)}.feedbackTotal{min-height:28px;display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:3px 10px;background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:800}.feedbackOverview{display:grid;grid-template-columns:minmax(360px,1.25fr) minmax(260px,.75fr);gap:12px;align-items:stretch}.feedbackComposer,.feedbackCard{border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.feedbackComposer{display:grid;gap:12px;padding:14px}.feedbackComposerHeader{display:flex;align-items:center;gap:10px}.feedbackComposerHeader div{display:grid;gap:2px}.feedbackComposerHeader span:not(.feedbackComposerIcon){color:var(--muted);font-size:.84rem}.feedbackComposerIcon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.feedbackStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feedbackStat{min-height:74px;display:grid;align-content:space-between;border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--surface);box-shadow:var(--shadow-soft)}.feedbackStat span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.feedbackStat strong{font-size:1.35rem;line-height:1;font-variant-numeric:tabular-nums}.feedbackStat.open strong{color:var(--cool)}.feedbackStat.inProgress strong{color:var(--warm)}.feedbackStat.done strong,.feedbackStat.confirmed strong{color:var(--positive)}.feedbackGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px}.feedbackCard{position:relative;overflow:hidden;display:grid;gap:11px;padding:14px}.feedbackCard:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--cool)}.feedbackCard.inProgress:before{background:var(--warm)}.feedbackCard.done:before,.feedbackCard.confirmed:before{background:var(--positive)}.feedbackHeader{display:flex;align-items:start;justify-content:space-between;gap:12px}.feedbackHeader div,.feedbackNote,.feedbackReview{display:grid;gap:6px}.feedbackHeader strong{font-size:.98rem;line-height:1.25}.feedbackHeader span,.feedbackNote strong,.feedbackReview strong{color:var(--muted);font-size:.78rem}.feedbackBody,.feedbackNote span{margin:0;color:var(--muted);line-height:1.45}.feedbackNote,.feedbackReview{border-top:1px solid var(--border);padding-top:10px}.feedbackReview textarea{min-height:76px}.feedbackEmpty{grid-column:1 / -1}.adminFeedbackTable table{min-width:1180px}.feedbackTextCell{max-width:340px;white-space:normal}.feedbackTextCell .stackedCell span{white-space:normal;line-height:1.35}.compactTextarea{min-height:66px;min-width:220px;padding:6px 8px;font-size:.84rem}.shortInput{max-width:100px}.list{display:grid;gap:7px;padding:0;margin:0;list-style:none}.list li{padding:10px 12px;box-shadow:var(--shadow-soft)}.changelogList{display:grid;gap:12px}.changelogEntry{display:grid;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-soft)}.changelogEntry div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.changelogEntry strong{color:var(--accent-strong);font-size:1rem}.changelogEntry span,.changelogEntry li{color:var(--muted)}.changelogEntry h4{margin:2px 0 -2px;color:var(--text);font-size:.82rem;text-transform:uppercase}.changelogEntry ul{display:grid;gap:7px;margin:0;padding-left:18px}.updatePrompt{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 32px));padding:12px 14px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow)}.updatePrompt div{display:grid;gap:2px;min-width:0}.updatePrompt strong{font-size:.9rem}.updatePrompt span{color:var(--muted);font-size:.82rem;line-height:1.35}.updatePrompt button{flex:0 0 auto;padding:7px 10px;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:6px;font-weight:700}@media(max-width:1240px){.insightGrid{grid-template-columns:1fr}.assetForm,.accountForm,.adminUserForm,.feedForm,.feedbackForm,.transactionEntry,.walletQuickTransaction{grid-template-columns:repeat(2,minmax(0,1fr))}.transactionSummary{grid-template-columns:repeat(2,minmax(120px,1fr))}.walletQuickTransaction .assetField{grid-column:1 / -1}.historyStats{grid-template-columns:repeat(2,minmax(92px,1fr))}.historyInsightPanel{grid-column:auto}}@media(max-width:960px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto;grid-template-rows:auto;padding:14px;border-right:0;border-bottom:1px solid var(--border)}nav{grid-template-columns:repeat(3,minmax(0,1fr))}.main{padding:16px}.sectionHeader,.detailHeader,.subsectionHeader{align-items:stretch;flex-direction:column}.metricGrid,.assetForm,.accountForm,.feedForm,.feedbackForm,.adminUserForm,.transactionEntry,.walletQuickTransaction,.walletForm,.transactionSummary,.walletLayout,.compactMetrics,.periodPanel,.insightGrid,.feedGrid,.allocationContent,.historyStats,.feedItem{grid-template-columns:1fr}.assetPickerOption{grid-template-columns:1fr;align-items:start;gap:3px}.actionPanelHeader,.actionDrawerHeader,.feedbackHeader,.coveragePanel{align-items:stretch;flex-direction:column}.historyHeaderMeta{align-items:flex-start;flex-direction:column}.donutChart{justify-self:center}.historyInsightPanel,.doubleField{grid-column:auto}.updatePrompt{right:12px;bottom:12px;left:12px;align-items:stretch;flex-direction:column}.updatePrompt button{width:100%}.actionDrawer{width:100vw;border-left:0}.actionDrawerBackdrop.compact,.actionDrawerBackdrop.medium,.actionDrawerBackdrop.wide{padding:10px}.actionDrawer.compact,.actionDrawer.medium,.actionDrawer.wide{width:100%;max-height:calc(100vh - 20px)}.actionDrawer.compact .walletForm,.actionDrawer.medium .accountForm,.actionDrawer.wide .walletQuickTransaction,.actionDrawer.wide .walletQuickTransaction .transactionSummary{grid-template-columns:1fr}.walletQuickTransaction .assetField{grid-column:1 / -1}}
