:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#1d2935;background:#f4f6f8;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background .18s,transform .18s}button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:3px solid #ea8b87;outline-offset:3px}.brand{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:750;letter-spacing:-.5px}.mark{display:grid;place-items:center;background:#d7373d;color:white;border-radius:12px;width:42px;height:42px;font-size:35px;font-weight:500;flex:none}.brand small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#8d9ca8;margin-top:4px}.shell{min-height:100vh;display:grid;grid-template-columns:235px 1fr}aside{background:#15252d;color:white;padding:30px 20px;display:flex;flex-direction:column}nav{display:grid;gap:7px;margin-top:46px}nav button{background:none;border:0;color:#adbcc5;text-align:left;border-radius:9px;padding:13px 14px;font-size:14px}nav button.active{color:white;background:#30424b;box-shadow:inset 3px 0 #e84b51}nav button:hover{background:#253741;color:white}.side-bottom{margin-top:auto;padding-top:40px;font-size:12px;color:#a6b6bd;line-height:1.7}.side-bottom button{display:block;background:none;border:1px solid #52636b;border-radius:8px;color:white;padding:9px 14px;margin-top:16px}main{min-width:0;padding:35px 42px;max-width:1600px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:35px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#7c8994;text-transform:uppercase}.pill{border:1px solid #dce3e6;border-radius:30px;padding:7px 12px;font-size:11px;color:#64727c;background:white}h1{font-size:29px;letter-spacing:-1px;margin:7px 0 10px}h2{font-size:16px;margin:0}p{font-size:14px;color:#71808a;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 0}.card,.panel{background:white;border:1px solid #e4e9ec;border-radius:14px}.card{padding:21px}.card span{display:block;font-size:12px;color:#74828b}.card strong{display:block;font-size:27px;margin:16px 0 8px;font-weight:600;letter-spacing:-1px}.card small{font-size:11px;color:#94a0a8}.panel{padding:24px;margin:18px 0}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.split .panel{margin:0}.empty{text-align:center;padding:58px 20px}.empty .icon{width:55px;height:55px;border-radius:15px;background:#f4f6f8;margin:0 auto 18px;display:grid;place-items:center;color:#85969e;font-size:24px}.empty h2{font-size:17px}.empty p{max-width:400px;margin:12px auto 22px}.primary{background:#d7373d;border:0;border-radius:9px;color:white;padding:12px 20px;font-weight:600;font-size:13px}.steps{display:flex;gap:14px;margin-top:23px;align-items:flex-start}.number{border-radius:50%;background:#f9eeee;color:#c1373d;font-size:12px;padding:7px 10px}.steps strong{font-size:13px}.steps p{font-size:12px;margin:5px 0}.listhead{display:grid;grid-template-columns:2fr 1fr 1fr;font-size:11px;color:#83919a;padding:15px 0;border-bottom:1px solid #edf0f2;text-transform:uppercase;letter-spacing:.5px}.doc{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid #edf0f2;font-size:13px}.doc a{color:#253e4b;overflow-wrap:anywhere;text-decoration:none}.doc small{display:block;margin-top:7px;color:#8b98a0}.note{font-size:12px;color:#84919a}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.intro{background:#15252d;color:white;padding:10vh 8vw;display:flex;flex-direction:column;justify-content:space-between}.intro h1{font-size:48px;line-height:1.1;max-width:420px}.intro p{color:#a9bbc4;max-width:400px}.intro .accent{color:#f07478}.auth-form{display:flex;align-items:center;justify-content:center;padding:35px}.formbox{width:100%;max-width:370px}.formbox h1{font-size:27px}.formbox label{display:block;font-size:12px;font-weight:600;margin:24px 0 9px}input{width:100%;padding:13px;border:1px solid #d9e0e5;border-radius:8px;background:white;min-width:0}input:focus{outline:2px solid #e9999c;outline-offset:1px}.formbox .primary{width:100%;margin-top:25px}.error{color:#b32f35;font-size:13px;min-height:20px}.toast{background:#edf5ef;color:#2f6744;padding:12px;border-radius:8px;font-size:13px}input[type=file]{margin:18px 0;font-size:13px}.upload{max-width:600px}.upload button:disabled{opacity:.6;cursor:wait}@media(max-width:1050px){main{padding:28px 24px}.cards{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.shell{grid-template-columns:205px 1fr}.intro{padding:8vh 5vw}.intro h1{font-size:38px}}@media(max-width:650px){.shell{display:block}aside{padding:18px 18px 8px}.brand{font-size:16px}.mark{width:35px;height:35px;border-radius:9px}nav{display:flex;overflow-x:auto;margin-top:18px;gap:4px;padding-bottom:8px}nav button{white-space:nowrap;padding:10px 12px;font-size:12px}.side-bottom{display:none}main{padding:23px 16px}.top{margin-bottom:24px}.top .pill{font-size:10px}.cards{gap:9px;margin:20px 0}.card{padding:16px}.card strong{font-size:24px;margin:12px 0}.panel{padding:19px}.empty{padding:35px 8px}h1{font-size:25px}.auth{display:block}.intro{padding:25px;min-height:230px}.intro h1{font-size:29px;margin-top:35px}.intro>p{display:none}.auth-form{padding:30px 25px}.doc{align-items:flex-start}.doc .pill{white-space:nowrap}.listhead{font-size:10px}.mobile-logout{display:block!important}}.mobile-logout{display:none;background:none;border:0;color:#71808a;font-size:11px}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.status-note{font-size:12px}.card strong{font-size:23px}.allocation{display:grid;grid-template-columns:95px 1fr 48px;align-items:center;gap:12px;margin:15px 0;font-size:13px}.allocation svg{width:100%;height:12px}.allocation span{text-align:right}.sources{margin-top:16px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.sources a{color:#8c3438}.event{border-bottom:1px solid #edf0f2;padding:12px 0}.event summary{display:grid;grid-template-columns:135px 90px 1fr auto;gap:10px;align-items:center;cursor:pointer;font-size:13px;list-style:none}.event time{font-size:11px;color:#6d7c86}.event summary:before{content:none}.event-body{padding:16px 6px 4px;font-size:13px;line-height:1.6}.event-body small,small{color:#77858d}.badge{font-size:10px;padding:5px 8px;border-radius:12px;background:#eaf1ed;color:#376347;white-space:nowrap}.badge.pending{background:#fff2d8;color:#865d12}.split .event summary{grid-template-columns:1fr auto}.split .event summary time{grid-column:1/-1}.split .event summary>span:not(.badge){grid-column:1}.text-button{background:none;border:0;padding:15px 0;color:#a82f35;font-size:13px;text-align:left}.section-title{margin-top:26px}.issue{border-top:1px solid #edf0f2;padding:13px 0;font-size:13px}.issue summary{cursor:pointer;font-weight:600}.toolbar{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}.toolbar input{flex:1;min-width:180px}.toolbar select{padding:10px;border:1px solid #d9e0e5;border-radius:8px;background:white;font:inherit;font-size:13px;max-width:100%}.position{padding:15px 0;border-bottom:1px solid #edf0f2}.position>summary{display:flex;justify-content:space-between;cursor:pointer;gap:15px;font-size:14px}.position small{display:block;font-size:11px;margin-top:6px}.position-value{text-align:right}.position[hidden],.event[hidden]{display:none}details[open]>summary{color:#a62d34}.event summary:hover,.position summary:hover{color:#a62d34}main{margin:0 auto}.top .pill{white-space:nowrap}@media(max-width:850px){.event summary{grid-template-columns:1fr auto}.event time{grid-column:1/-1}.event summary>span:not(.badge){grid-column:1}.top{flex-wrap:wrap}.card strong{font-size:20px}.toolbar .primary{padding:10px 14px}.allocation{grid-template-columns:80px 1fr 42px}}@media(max-width:650px){.panel{padding:16px}.brand{font-size:15px}.event-body{padding-left:0;padding-right:0}.card strong{font-size:18px}.top{gap:8px}.top .eyebrow{font-size:10px}}

.capital{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}.capital span{font-size:13px}.capital strong{font-size:26px;color:#a62d34}.capital small{font-size:11px}.allocation{grid-template-columns:90px 1fr 110px}.allocation span small{display:block;font-size:10px;margin-top:5px}@media(max-width:650px){.allocation{grid-template-columns:72px 1fr 98px}.capital strong{font-size:23px}}
.valuation-card h2{font-size:clamp(1.6rem,4vw,2.6rem);margin:12px 0}.valuation-card>small{display:block;margin-top:10px}.positive{color:#187343}.negative{color:#b72b35}.quote-source{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid #edf1f4}.panel details>summary{cursor:pointer}.panel li{margin:10px 0;line-height:1.5}@media(max-width:600px){.quote-source{display:block}.quote-source small{display:block}.valuation-card h2{font-size:1.85rem}}

/* Current allocation and compact holdings */
.portfolio-overview{grid-template-columns:1fr 1fr;margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading small{font-size:11px}.allocation-chart{display:flex;align-items:center;gap:22px;margin-top:14px}.donut-wrap{flex:0 0 210px}.donut{display:block;width:100%;height:auto}.donut-total{font-size:17px;font-weight:700;fill:#1d2935}.donut-caption{font-size:11px;fill:#77858d}.chart-legend{flex:1;min-width:0}.chart-legend>div{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:center;font-size:11px;padding:4px 0;font-variant-numeric:tabular-nums}.asset-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8595a5;flex:none}.compact-head,.compact-position>summary{display:grid;grid-template-columns:minmax(120px,1.5fr) minmax(100px,1fr) minmax(120px,1fr) 75px 14px;align-items:center;gap:16px}.compact-head{font-size:10px;color:#83919a;text-transform:uppercase;letter-spacing:.6px;margin-top:18px;padding:0 8px 10px;border-bottom:1px solid #edf0f2}.compact-head>span:not(:first-child){text-align:right}.compact-position{padding:0}.compact-position>summary{padding:11px 8px;font-size:13px;list-style:none;min-height:50px}.compact-position>summary::-webkit-details-marker{display:none}.compact-position>summary:hover{background:#f7f9fb;border-radius:6px}.compact-asset{display:flex;align-items:center;gap:10px;min-width:0}.compact-asset small{margin:2px 0 0;font-size:10px}.compact-qty,.compact-value,.compact-weight{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.compact-qty,.compact-weight{font-size:12px;color:#71808a}.row-chevron{color:#8d9ca8;transition:transform .15s}.compact-position[open] .row-chevron{transform:rotate(180deg)}.compact-position .event-body{padding:8px 18px;background:#f8fafb}.compact-position .event-body p{font-size:12px;margin:7px 0}.dot-BTC{background:#f59e0b}.dot-ETH{background:#627eea}.dot-SOL{background:#8b5cf6}.dot-BNB{background:#d5a611}.dot-AAVE{background:#ae5bab}.dot-LINK{background:#2563eb}.dot-ADA{background:#0891b2}.dot-ZEC{background:#b58625}.dot-DOGE{background:#b79b36}.dot-PENDLE{background:#14b8a6}.dot-SYRUP{background:#e05279}.dot-CRO{background:#344d8c}.dot-ENA{background:#566675}.dot-USDC{background:#2775ca}.dot-CHF,.dot-VCHF,.dot-vCHF{background:#db454d}.dot-STRC{background:#64748b}
@media(max-width:1200px){.allocation-chart{gap:10px}.donut-wrap{flex-basis:170px}}
@media(max-width:1050px){.portfolio-overview{grid-template-columns:1fr}.donut-wrap{flex-basis:200px}.chart-legend{max-width:280px}}
@media(max-width:650px){.panel-heading{align-items:flex-start;flex-direction:column;gap:5px}.donut-wrap{flex-basis:165px}.allocation-chart{gap:12px}.chart-legend>div{font-size:10px;gap:5px}.compact-head,.compact-position>summary{grid-template-columns:minmax(75px,1fr) minmax(105px,1fr) 58px 10px;gap:6px}.compact-head>span:nth-child(2),.compact-qty{display:none}.compact-position>summary{font-size:12px;padding:10px 0}.compact-asset{gap:7px}.compact-asset small{font-size:9px}.compact-weight{font-size:10px}.compact-head{padding-left:0;padding-right:0}.compact-value{font-size:12px}}
@media(max-width:370px){.allocation-chart{flex-direction:column}.donut-wrap{flex-basis:auto;width:180px}.chart-legend{width:100%}}

/* Per-asset performance */
.perf-head,.perf-row summary{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:12px;align-items:center}
.perf-head{font-size:12px;color:#64748b;padding:12px 0}
.perf-row{border-top:1px solid #e4e9ee}
.perf-row summary{padding:16px 0;cursor:pointer;list-style:none;font-variant-numeric:tabular-nums}
.perf-row summary> :not(:first-child),.perf-head> :not(:first-child){text-align:right}
.perf-row small{display:block;color:#64748b;font-size:12px;margin-top:4px}
.perf-details{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:600px){.perf-head,.perf-row summary{grid-template-columns:.8fr 1fr 1.15fr .8fr;gap:6px;font-size:11px}.perf-head{font-size:10px}.perf-details{grid-template-columns:1fr 1fr}.perf-row small{font-size:10px}}

.perf-cash{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid #e4e9ee;font-size:12px}

/* Compact combined positions and supplemental pages */
.perf-row summary{padding:8px 0;font-size:13px}
.perf-row summary small{margin-top:1px;font-size:10px;white-space:nowrap}
.perf-head{padding:7px 0}.perf-cash{padding:7px 0}
.dca-chart{width:100%;max-height:330px}.dca-chart text{font-size:13px;fill:#64748b}
.dca-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid #e4e9ee;font-size:12px}
.income-rate{width:95px;display:inline-block;padding:7px;margin:0}
.income-panel .cards{margin-top:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
.income-panel details{margin-top:15px}
@media(max-width:600px){.perf-row summary{font-size:11px;padding:7px 0}.perf-row summary small{font-size:9px}.income-panel .cards{grid-template-columns:1fr}.income-panel .panel-heading{align-items:flex-start;flex-direction:column}.dca-row{font-size:11px}}

/* Dense positions: one visual line per asset, quantities available on expansion. */
.positions-dense .panel{padding:10px 14px;margin-bottom:10px}
.positions-dense .panel-heading h2{font-size:15px;margin:0}
.positions-dense .toolbar{margin:5px 0;gap:8px}
.positions-dense .text-button{padding:4px 0;font-size:11px}
.positions-dense .status-note{margin:4px 0;font-size:10px}
.positions-dense .perf-head{font-size:10px;padding:5px 0}
.positions-dense .perf-row summary{padding:5px 0;font-size:12px;line-height:18px;min-height:28px}
.positions-dense .perf-row summary small{display:none}
.positions-dense h3{font-size:12px;margin:8px 0 3px}
.positions-dense .perf-cash{padding:4px 0;font-size:11px}
@media(max-width:600px){.positions-dense .panel{padding:8px}.positions-dense .perf-row summary{font-size:10px;gap:4px}.positions-dense .panel-heading small{display:none}.positions-dense .perf-cash span:nth-child(2){display:none}}

.report-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f2;font-size:13px}.report-row a{white-space:nowrap;color:#a62d34}
.report-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.report-upload input{flex:1;min-width:180px;margin:8px 0}.report-upload [role=status]{width:100%;margin:0;font-size:12px}.report-row span{overflow-wrap:anywhere;min-width:0}.mail-pdfs h2{font-size:16px}.mail-pdfs{padding-top:16px;padding-bottom:16px}
