:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #f7f8fa;--paper: #ffffff;--paper-soft: #f3f5f7;--ink: #14181f;--muted: #667085;--muted-2: #98a2b3;--line: #e4e7ec;--line-strong: #cfd5df;--teal: #007a70;--teal-soft: #e3f4f1;--blue: #2563eb;--blue-soft: #e8efff;--orange: #b65c00;--orange-soft: #fff0db;--red: #b42318;--red-soft: #fee4e2;--green: #16803c;--green-soft: #e7f6ec;--shadow: 0 12px 34px rgba(20, 24, 31, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}.authShell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.authCard{width:min(430px,100%);display:grid;gap:14px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow)}.authCard h1{font-size:2rem}.authCard p{margin:0;color:var(--muted);line-height:1.45}.authMark{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:var(--teal);background:var(--teal-soft)}.authNotice{padding:14px;border:1px solid var(--orange-soft);border-radius:8px;background:var(--orange-soft);color:var(--orange);font-weight:750;line-height:1.45}.authField input{width:100%;min-height:42px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);padding:0 12px;outline:0}.authButton{width:100%}.shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:16px 0 22px}.topbar,.toolbar,.panelHeader,.sectionHeader,.dialogHeader,.footRail{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar{margin-bottom:12px}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.72rem;font-weight:850;letter-spacing:0;text-transform:uppercase}h1,h2,h3{margin:0;letter-spacing:0}h1{font-size:clamp(1.75rem,2.5vw,2.4rem);line-height:1}h2{font-size:1.12rem}h3{font-size:.98rem}.mono,td.right,.rankRow strong,.rankRow em{font-variant-numeric:tabular-nums}.topbarActions,.dialogActions,.contentActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.primaryButton,.secondaryButton,.iconButton,.connectorButton,.footRail button{min-height:38px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.primaryButton{background:var(--ink);border-color:var(--ink);color:#fff}.secondaryButton:hover,.iconButton:hover,.connectorButton:hover,.footRail button:hover,.primaryButton:hover{transform:translateY(-1px);box-shadow:0 10px 22px #14181f17}.iconButton{width:40px;padding:0}.selectField,.field{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:800}.selectField{grid-template-columns:auto auto auto;align-items:center;min-height:40px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);padding:0 10px 0 12px}.selectField select,.field select,.secretInput input{appearance:none;border:0;outline:0;background:transparent;color:var(--ink);font-weight:850}.workspaceGrid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;align-items:start}.sidebar,.contentArea,.footRail{background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.sidebar{position:sticky;top:12px;padding:12px}.panelHeader h2{font-size:1.28rem}.statusPill{max-width:148px;padding:6px 9px;border-radius:999px;background:var(--paper-soft);color:var(--muted);font-size:.74rem;font-weight:850;text-align:center}.statusPill.good{background:var(--green-soft);color:var(--green)}.statusPill.bad{background:var(--red-soft);color:var(--red)}.statusPill.warn{background:var(--orange-soft);color:var(--orange)}.statusPill.working{background:var(--blue-soft);color:var(--blue)}.sideNav{display:grid;gap:5px;margin:12px 0}.sideNav button{min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:9px;padding:0 10px;font-weight:850;text-align:left}.sideNav button.active,.sideNav button:hover{background:var(--paper-soft);color:var(--ink)}.sidebarStats{display:grid;gap:8px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.sidebarStats span{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebarStats small{color:var(--muted);font-weight:780}.sidebarStats b{font-size:.94rem}.typeTabs,.segmentedControl{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--paper-soft)}.typeTabs button,.segmentedControl button{min-height:32px;border:0;border-radius:6px;padding:0 10px;background:transparent;color:var(--muted);font-weight:850;text-align:center;white-space:nowrap}.typeTabs button{min-width:0}.typeTabs button.active,.segmentedControl button.active{background:var(--paper);color:var(--ink);box-shadow:0 5px 14px #14181f12}.accountIcon{width:36px;height:36px;border-radius:8px;display:inline-grid;place-items:center;color:var(--teal);background:var(--teal-soft);flex:0 0 auto}.connectorButton{width:100%;margin-top:12px}.contentArea{position:relative;min-height:auto;padding:12px}.toolbar{margin-bottom:10px}.pageFilters{display:grid;grid-template-columns:minmax(260px,360px) minmax(220px,1fr);gap:10px;align-items:center;margin-bottom:14px}.accountFilter{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:0 12px;color:var(--muted);font-size:.8rem;font-weight:850}.accountFilter select{min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-weight:850}.searchBox{flex:1;min-width:220px;min-height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:var(--muted)}.searchBox input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-weight:750}.quoteStamp{color:var(--muted);font-size:.84rem;font-weight:780}.dashboardTop{min-height:42px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.viewStack{display:grid;gap:12px}.sectionHeader.compact{margin-top:4px}.ledgerHero{display:grid;grid-template-columns:minmax(250px,1.3fr) repeat(3,minmax(150px,.7fr));gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}.dashboardView{display:grid;gap:14px}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpiCard{min-height:104px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;display:grid;align-content:center;gap:6px;padding:14px}.kpiCard span{color:var(--muted);font-size:.76rem;font-weight:850;text-transform:uppercase}.kpiCard strong{font-size:clamp(1.25rem,2vw,1.9rem)}.kpiCard small{color:var(--muted);font-weight:800}.kpiCard.positive small,.kpiCard.positive strong{color:var(--green)}.kpiCard.negative small,.kpiCard.negative strong{color:var(--red)}.transactionMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.transactionControls,.paginationBar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:10px}.transactionControls label,.paginationBar label{display:grid;gap:4px;color:var(--muted);font-size:.74rem;font-weight:850}.transactionControls select,.paginationBar select{min-height:34px;min-width:132px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);padding:0 9px;font-weight:800}.paginationBar{justify-content:flex-end}.paginationBar>span{margin-right:auto;color:var(--muted);font-weight:800}.dashboardGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);gap:14px}.dashboardPanel{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}.chartPanel{min-height:260px;display:grid;grid-template-rows:auto minmax(160px,1fr) auto}.barChart{height:180px;display:grid;grid-template-columns:repeat(12,minmax(12px,1fr));align-items:end;gap:8px;padding-top:22px}.barChart i{display:block;min-height:18px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--teal),#9fd9d0)}.chartAxis{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;font-weight:780}.chartEmpty{min-height:180px;border:1px dashed var(--line-strong);border-radius:8px;display:grid;place-items:center;color:var(--muted);font-weight:850}.allocationList{display:grid;gap:14px;margin-top:18px}.allocationRow{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}.allocationRow span{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:850}.allocationRow i{width:10px;height:10px;border-radius:50%;background:var(--teal)}.allocationRow i.crypto{background:var(--blue)}.allocationRow i.cash{background:var(--orange)}.allocationRow .valueBar{grid-column:1 / 2}.allocationRow small{color:var(--muted);font-weight:850;text-align:right}.dashboardAccounts{margin-top:12px}.topHoldingList{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.topHoldingRow{min-height:78px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;text-align:left}.topHoldingRow:hover{background:var(--paper);border-color:var(--line-strong)}.topHoldingRow span b,.topHoldingRow span small{display:block}.topHoldingRow span small{margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:760}.topHoldingRow strong{font-variant-numeric:tabular-nums}.topHoldingRow em{grid-column:2 / -1;justify-self:end;font-style:normal;font-weight:900}.ledgerHero>div{min-height:104px;padding:16px;display:grid;align-content:center;gap:6px;border-left:1px solid var(--line)}.ledgerHero>div:first-child{border-left:0}.ledgerHero strong{font-size:clamp(1.9rem,4vw,3.5rem);line-height:1}.ledgerHero span{color:var(--muted);font-size:.78rem;font-weight:850;text-transform:uppercase}.ledgerHero b{font-size:1.08rem}.overviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ledgerPanel,.symbolDetail{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}.rankList{display:grid;gap:8px;margin-top:12px}.rankRow{width:100%;display:grid;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:10px;text-align:left}.rankRow:hover{border-color:var(--line-strong);background:var(--paper)}.accountRankRow{grid-template-columns:36px minmax(0,1fr) auto 90px auto}.symbolRankRow{grid-template-columns:38px minmax(0,1fr) auto 90px 70px}.rankRow span b,.rankRow span small{display:block}.rankRow small{margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:760}.rankRow em{color:var(--muted);font-style:normal;font-weight:850;text-align:right}.symbolBadge{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;background:var(--blue-soft);color:var(--blue);font-size:.82rem;font-weight:900;flex:0 0 auto}.symbolBadge.large{width:48px;height:48px;font-size:1rem}.valueBar,.barTrack{width:100%;height:7px;border-radius:999px;overflow:hidden;background:#edf0f3}.valueBar i,.barTrack i{display:block;height:100%;min-width:3px;border-radius:inherit;background:var(--teal)}.tableWrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper)}table{width:100%;min-width:680px;border-collapse:collapse}th,td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{color:var(--muted);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:0}td{font-weight:760}td small{display:block;margin-top:2px;color:var(--muted);font-size:.78rem}td b{display:block}.dateCell{display:grid;gap:2px}tbody tr:last-child td{border-bottom:0}.right{text-align:right}.clickableRow{cursor:pointer}.clickableRow:hover,.selectedRow{background:#f8fafc}.brokerRow{box-shadow:inset 3px 0 0 var(--orange)}.totalRow{background:#fbfcfd;font-weight:900}.symbolCell,.accountNameCell{display:inline-flex;align-items:center;gap:10px}.valueWeight{display:grid;gap:4px}.valueWeight small{margin:0}.weightCell{min-width:120px;display:inline-grid;grid-template-columns:70px 48px;align-items:center;gap:8px}.sourcePill,.syncedPill{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;padding:0 9px;background:var(--paper-soft);color:var(--muted);font-size:.72rem;font-weight:900;white-space:nowrap}.sourcePill.broker,.syncedPill{background:var(--orange-soft);color:var(--orange)}.sourcePill.quote{background:var(--blue-soft);color:var(--blue)}.sourcePill.manual{background:var(--teal-soft);color:var(--teal)}.sourcePill.neutral{background:var(--paper-soft);color:var(--ink)}.rowActions{display:inline-flex;gap:6px}.tinyButton{width:31px;height:31px;border:1px solid var(--line);border-radius:6px;display:inline-grid;place-items:center;background:var(--paper);color:var(--muted)}.tinyButton:hover{color:var(--ink);border-color:var(--line-strong)}.tinyButton.danger:hover{color:var(--red);border-color:var(--red-soft);background:var(--red-soft)}.holdingsLayout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.holdingsLayout.hasDetail{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start}.holdingsMain{display:grid;gap:12px}.holdingsLedger table{min-width:620px}.stackedValue{display:grid;gap:2px}.stackedValue small{margin:0;color:var(--muted)}.symbolDetail{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;display:grid;align-content:start;gap:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}.symbolDetailHeader{display:flex;align-items:center;gap:12px}.symbolDetailHeader>div:nth-child(2){flex:1}.symbolDetailHeader span{color:var(--muted);font-weight:780}.symbolStats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.symbolStats span{min-height:64px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;display:grid;align-content:center;gap:5px;padding:10px;color:var(--muted);font-size:.76rem;font-weight:800}.symbolStats b{color:var(--ink);font-size:.98rem}.symbolStats .positive,.symbolStats .positive b{color:var(--green)}.symbolStats .negative,.symbolStats .negative b{color:var(--red)}.accountBreakdown{display:grid;gap:10px}.accountBreakdownRow{border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:12px;display:grid;gap:10px}.accountBreakdownTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.accountBreakdownTop strong,.accountBreakdownTop small{display:block}.accountBreakdownTop small{margin-top:2px;color:var(--muted);font-weight:760}.accountBreakdownRow dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0}.accountBreakdownRow dt{color:var(--muted);font-size:.74rem;font-weight:850;text-transform:uppercase}.accountBreakdownRow dd{margin:2px 0 0;font-weight:900;font-variant-numeric:tabular-nums}.accountBreakdownActions{min-height:30px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.positive{color:var(--green)}.negative{color:var(--red)}.muted{color:var(--muted);font-weight:760}.change{font-weight:850;white-space:nowrap}.footRail{margin-top:10px;padding:8px 10px;box-shadow:none;flex-wrap:wrap}.footRail div{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.84rem;font-weight:760}.loadingStrip{display:flex;align-items:center;gap:8px;min-height:52px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:0 14px;color:var(--muted);font-weight:850}.emptyState{min-height:96px;border:1px dashed var(--line-strong);border-radius:8px;background:#fbfcfd;display:grid;align-content:center;gap:6px;padding:18px;color:var(--muted)}.emptyState strong{color:var(--ink);font-size:1rem}.dialogScrim{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#14181f73}.dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:18px;box-shadow:var(--shadow)}.connectorDialog{width:min(620px,100%);display:grid;gap:14px}.connectorPanel{display:grid;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.connectorPanel h3{margin:2px 0 0;font-size:1rem}.connectorDivider{height:1px;background:var(--line)}.inlineActions{justify-content:flex-start}.dialog textarea{width:100%;min-height:360px;margin-top:16px;border:1px solid var(--line);border-radius:8px;padding:14px;outline:0;resize:vertical;color:var(--ink);background:#fbfcfd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;line-height:1.45}.field select,.field input,.secretInput{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:0 12px}.field select,.field input{width:100%;outline:0;color:var(--ink);font-weight:850}.secretInput{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.secretInput .iconButton{width:34px;height:34px;min-height:34px}.formError{margin:10px 0 0;color:var(--red);font-weight:850}.formGrid,.mappingEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.formGrid .full{grid-column:1 / -1}.mappingEditor{grid-template-columns:1fr 1fr 1fr auto;align-items:end;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}.checkField{display:flex;align-items:center;gap:9px;color:var(--muted);font-weight:800}.connectorNote{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:12px;color:var(--muted);font-size:.86rem;font-weight:760}.toast{position:fixed;right:22px;bottom:22px;z-index:30;max-width:min(420px,calc(100vw - 44px));border:1px solid var(--line);border-radius:8px;background:var(--paper);box-shadow:var(--shadow);min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--ink);font-weight:850}.toast.good{border-color:#b7e4c7}.toast.bad{border-color:var(--red-soft)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.workspaceGrid{grid-template-columns:1fr}.sidebar{position:static}.sideNav{grid-template-columns:repeat(4,minmax(0,1fr))}.pageFilters,.ledgerHero,.kpiGrid,.dashboardGrid,.overviewGrid{grid-template-columns:1fr}.topHoldingList{grid-template-columns:repeat(2,minmax(0,1fr))}.ledgerHero>div{border-left:0;border-top:1px solid var(--line)}.ledgerHero>div:first-child{border-top:0}.holdingsLayout.hasDetail{grid-template-columns:1fr}.symbolDetail{position:static;max-height:none;width:100%;box-shadow:none}}@media(max-width:760px){.shell{width:min(100% - 20px,1520px);padding-top:14px}.topbar,.toolbar,.dashboardTop,.footRail{align-items:stretch;flex-direction:column}.topbarActions,.contentActions{width:100%}.topbarActions>*,.primaryButton,.secondaryButton,.searchBox{flex:1 1 auto}.sideNav{grid-template-columns:repeat(2,minmax(0,1fr))}.topHoldingList{grid-template-columns:1fr}.typeTabs button{padding:0 6px;font-size:.9rem}.accountRankRow,.symbolRankRow{grid-template-columns:36px minmax(0,1fr) auto}.rankRow .valueBar,.rankRow em{grid-column:2 / -1}.formGrid,.mappingEditor{grid-template-columns:1fr}}
