:root{color-scheme:dark;--bg: #0b0c0f;--bg-soft: #101217;--surface: rgba(18, 20, 25, .82);--surface-strong: rgba(22, 25, 30, .94);--surface-soft: rgba(26, 30, 36, .58);--ink: #f4f1e8;--text: #d7dce2;--muted: #98a2ad;--faint: #6c747d;--line: rgba(214, 207, 190, .09);--line-strong: rgba(214, 207, 190, .18);--brand: #4f8cff;--brand-strong: #8bb2ff;--brand-soft: rgba(79, 140, 255, .13);--accent: #22c7a9;--accent-soft: rgba(34, 199, 169, .12);--warn: #d8a657;--gain: #ef6a63;--gain-soft: rgba(239, 106, 99, .13);--loss: #35c98b;--loss-soft: rgba(53, 201, 139, .13);--danger: #ef6a63;--shadow: 0 18px 44px rgba(0, 0, 0, .28);--shadow-soft: 0 8px 22px rgba(0, 0, 0, .2);--radius: 8px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--mobile-top-gap: 16px;--mono: "IBM Plex Mono", "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html{height:100%;min-height:100%;background:var(--bg)}body{min-height:100%;margin:0;background:linear-gradient(180deg,#111217,#0b0c0f 42%,#090a0d);color:var(--text);font-family:IBM Plex Sans,Fira Sans,Noto Sans SC,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;letter-spacing:0;overscroll-behavior-x:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums}#root{height:100dvh;min-height:100dvh}.framework7-root,.invest-f7-root{height:100%;min-height:100dvh;background:var(--bg);color:var(--text);--f7-theme-color: var(--brand);--f7-page-bg-color: var(--bg);--f7-text-color: var(--text);--f7-bars-bg-color: var(--bg);--f7-touch-ripple-color: rgba(79, 140, 255, .16)}.framework7-shell{position:relative}.route-shell{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;position:relative;isolation:isolate;background:var(--bg)}.route-shell>.status-bar{grid-row:1}.route-shell>.app-view{grid-row:2;min-height:0}.app-view,.app-view.view,.app-view .pages{width:100%;height:100%;min-height:0;background:var(--bg);color:var(--text)}.app-view .page{width:100%;height:100%;min-height:0;overflow:hidden;isolation:isolate;background:linear-gradient(180deg,#111217,#0b0c0f 42%,#090a0d);color:var(--text)}.app-view .page-content{min-height:0;padding:0 2px 6px;background:transparent;color:var(--text);overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.route-page-content,.route-page-anchor{min-width:0;min-height:100%}.route-page-content{padding-bottom:2px}.edge-back-zone{position:absolute;top:0;bottom:0;left:0;z-index:30;width:max(30px,env(safe-area-inset-left,0px));background:transparent;touch-action:pan-y}.app-view .page:not(.page-current) .edge-back-zone{pointer-events:none}.root-tabs-page{overflow:hidden;background:linear-gradient(180deg,#111217,#0b0c0f 42%,#090a0d)}.root-tabs-page-content{width:100%;height:100%;min-height:0;overflow:hidden}swiper-container.root-swipe-tabs{width:100%;height:100%;min-height:0;display:block;overflow:hidden;background:transparent;--swiper-theme-color: var(--brand)}swiper-container.root-swipe-tabs swiper-slide.root-tab-slide{width:100%;height:100%;min-height:0;display:block;overflow:hidden;background:transparent;color:var(--text)}.root-tab-scroll{width:100%;height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 2px 6px}.root-tab-placeholder{min-height:220px;display:grid;place-items:center;padding:18px}button,input,select{font:inherit}button{min-height:44px;border:0;border-radius:var(--radius);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,color .18s ease,transform .18s ease}button:hover:not(:disabled){transform:translateY(-.5px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.56}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(139,178,255,.72);outline-offset:2px}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:#090a0dd1;color:var(--text);padding:0 12px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #4f8cff2e}input::placeholder{color:var(--faint)}label span{display:block;margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:650}svg{flex:0 0 auto}.login-view,.centered-state{min-height:100vh;display:grid;place-items:center;padding:24px}.login-panel,.centered-panel{width:min(100%,430px);border:1px solid var(--line);border-radius:var(--radius);background:#121419f0;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-panel{padding:30px}.login-brand{display:flex;align-items:center;gap:14px}.brand-heading{min-width:0;display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#4f8cff29,#f4f1e80a);color:var(--brand-strong);box-shadow:inset 0 1px #ffffff0d}.brand-mark.compact{width:42px;height:42px}.app-logo{width:100%;height:100%;display:block;border-radius:calc(var(--radius) - 1px)}.login-panel h1,.centered-panel h1,.app-header h1{margin:4px 0 0;color:var(--ink);font-size:28px;line-height:1.15}.eyebrow{margin:0;color:var(--brand);font-family:var(--mono);font-size:11px;font-weight:650;text-transform:uppercase}.login-form{display:grid;gap:16px;margin-top:30px}.form-error{min-height:20px;margin:0;color:var(--danger);font-size:13px;font-weight:700}.centered-panel{display:grid;gap:14px;justify-items:start;padding:28px}.centered-panel p{margin:0;color:var(--muted)}.app-shell{width:min(100%,1180px);height:100dvh;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;padding:20px 18px 18px}.app-header{min-height:62px;display:grid;grid-template-columns:minmax(116px,1fr) minmax(320px,440px) minmax(116px,1fr);align-items:center;gap:16px;padding:2px 0 16px}.title-stack{min-width:0}.app-tabs{min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#121419c2;box-shadow:inset 0 1px #ffffff09;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-tab{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;background:transparent;color:var(--muted);font-weight:680}.app-tab:hover:not(:disabled){border-color:#4f8cff33;background:#4f8cff14;color:var(--brand-strong)}.app-tab.active{border-color:#4f8cff42;background:#4f8cff24;color:var(--ink);box-shadow:none}.app-tab-icon{width:18px;height:18px;display:inline-grid;place-items:center}.app-tab-icon svg{width:18px;height:18px}.status-bar{display:flex;align-items:center;min-height:40px;margin:12px 0;padding:10px 13px;border:1px solid var(--line);border-radius:var(--radius);background:#121419e6;color:var(--muted);font-size:13px;font-weight:680;box-shadow:none}.status-bar.success{border-color:#35c98b57;background:var(--loss-soft);color:var(--loss)}.status-bar.error{border-color:#ef6a6357;background:var(--gain-soft);color:var(--danger)}.status-bar.info{border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.gesture-surface{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.page-stack,.section-stack{display:grid;gap:10px}.dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;overflow:hidden;padding:22px 24px;border:1px solid rgba(139,178,255,.13);border-radius:var(--radius);background:linear-gradient(180deg,#16191ef2,#0e1014eb);color:var(--ink);box-shadow:none}.dashboard-hero:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--brand),var(--accent));opacity:.9;pointer-events:none}.hero-copy,.hero-actions{position:relative;z-index:1}.hero-copy{min-width:0}.hero-kicker{display:inline-flex;margin-bottom:7px;color:var(--muted);font-family:var(--mono);font-size:14px;font-weight:650}.hero-copy h2{margin:0;color:var(--ink);font-family:var(--mono);font-size:clamp(31px,4vw,43px);line-height:1.05;overflow-wrap:anywhere;text-shadow:none}.hero-copy p{margin:8px 0 0;font-family:var(--mono);font-size:18px;font-weight:720;line-height:1.25;overflow-wrap:anywhere}.hero-copy p+p{margin-top:6px}.hero-actions{display:grid;grid-template-columns:minmax(166px,1fr);gap:10px}.primary-button,.secondary-button,.text-button,.small-button,.danger-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;font-weight:680;white-space:nowrap}.primary-button{border:1px solid rgba(79,140,255,.38);background:#315fd9;color:#fff;font-variant-numeric:tabular-nums;box-shadow:0 10px 24px #315fd933}.primary-button:hover:not(:disabled){border-color:#8bb2ff85;background:#3f72e6}.secondary-button,.text-button,.small-button{border:1px solid var(--line);background:#121419c2;color:var(--brand-strong)}.secondary-button:hover:not(:disabled),.text-button:hover:not(:disabled),.small-button:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--brand-soft);color:var(--ink)}.text-button{justify-self:start}.small-button{min-height:38px;padding:0 12px}.danger-button{border:1px solid rgba(239,106,99,.3);background:var(--gain-soft);color:var(--danger)}.danger-button:hover:not(:disabled){border-color:#ef6a637a;background:#ef6a632e}.icon-button{width:44px;padding:0;border:1px solid var(--line);background:#121419c7;color:var(--brand-strong)}.account-footer{padding:12px 0 0}.account-logout-button{width:100%;min-height:40px;padding:0 14px}.account-logout-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.metric-grid.single{grid-template-columns:minmax(0,1fr)}.metric-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card,.fund-row,.detail-head,.position-config-card,.breakdown-grid,.position-editor,.empty-state,.loading-block,.inline-error{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:none}.metric-card{min-width:0;padding:13px 14px}.metric-card.featured{border-color:#4f8cff2e;background:#4f8cff13}.metric-label,.metric-card small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:650;overflow-wrap:anywhere}.metric-icon{color:var(--brand)}.metric-card strong{display:block;margin:7px 0 5px;color:var(--ink);font-family:var(--mono);font-size:21px;line-height:1.05;overflow-wrap:anywhere}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}.section-head h2{margin:0;color:var(--ink);font-size:17px;line-height:1.2;font-weight:720}.section-head .meta-line,.meta-line{margin:4px 0 0;color:var(--muted);font-size:13px;font-weight:620}.fund-list{display:grid;gap:7px}.fund-row{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,auto);gap:8px 14px;contain:layout paint style;overflow:hidden;padding:12px 14px;color:var(--text);text-align:left}.fund-row:hover{border-color:#4f8cff47;background:#181b21f5;box-shadow:none}.fund-main{min-width:0}.fund-main h3{margin:0 0 5px;color:var(--ink);font-size:14px;line-height:1.24;font-weight:700;overflow-wrap:anywhere}.fund-main p,.fund-numbers span,.fund-stats span,.fund-stats small{margin:0;color:var(--muted);font-size:12px}.fund-numbers{display:grid;justify-items:end;align-content:start;gap:3px;white-space:nowrap}.fund-numbers strong{font-family:var(--mono);font-size:17px}.fund-stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;padding-top:0}.portfolio-row .fund-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.market-row .fund-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.virtual-market-list{position:relative;display:block;gap:0;contain:layout paint style}.virtual-fund-row{position:absolute;top:0;left:0;width:100%;padding-bottom:10px;will-change:transform}.fund-stats span{display:grid;gap:4px;min-width:0;padding:0;border:0;border-radius:0;background:transparent}.fund-stats small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fund-stats b{color:var(--text);font-family:var(--mono);font-size:13px;overflow-wrap:anywhere}.row-meter{position:absolute;left:0;right:0;bottom:0;height:1px;background:#d6cfbe14}.row-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--accent))}.market-controls{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:minmax(260px,1fr) minmax(320px,410px);gap:8px;align-items:end;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#0e1014db;box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.market-filter-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.market-search,.control-field{min-width:0;display:grid;gap:5px}.market-search>span,.control-field>span{margin:0;color:var(--muted);font-size:11px;letter-spacing:0;text-transform:uppercase}.control-shell{position:relative;display:flex;align-items:center;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#090a0dd1;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.control-shell:focus-within{border-color:var(--brand);background:#0c0e12fa;box-shadow:0 0 0 3px #4f8cff29}.control-shell>svg{position:absolute;left:12px;color:var(--muted);pointer-events:none}.control-shell input,.control-shell select{min-height:40px;border:0;background:transparent;padding:0 12px 0 38px;box-shadow:none}.control-shell input:focus,.control-shell select:focus{border-color:transparent;box-shadow:none}.date-field input{padding-right:72px}.date-field input::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1);opacity:.64}.select-shell:after{content:"";position:absolute;right:14px;top:50%;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--muted);transform:translateY(-36%);pointer-events:none}.select-shell select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;cursor:pointer}.clear-control{position:absolute;right:34px;width:30px;min-height:30px;height:30px;padding:0;border:1px solid transparent;background:#d6cfbe14;color:var(--muted)}.clear-control:hover:not(:disabled){border-color:var(--line-strong);background:var(--brand-soft);color:var(--ink)}.summary-strip,.market-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#1214198a}.summary-strip span,.market-summary span{min-width:0;display:grid;gap:3px;padding:8px 10px;border-right:1px solid var(--line)}.summary-strip span:last-child,.market-summary span:last-child{border-right:0}.summary-strip small,.market-summary small{color:var(--faint);font-size:11px;font-weight:650}.summary-strip b,.market-summary b{color:var(--text);font-size:13px;font-weight:680;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segmented-control{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#1214198a}.segmented-control.three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-control button{min-height:34px;padding:0 10px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:680}.segmented-control button.active{border-color:#4f8cff3d;background:var(--brand-soft);color:var(--ink)}.return-list,.portfolio-return-list{display:grid;gap:5px}.data-row,.return-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:var(--radius);background:#12141994}.data-row-main{min-width:0}.data-row-value{display:grid;justify-items:end;white-space:nowrap}.return-row strong{display:block;color:var(--ink);font-size:14px;font-weight:700;overflow-wrap:anywhere}.return-row span{display:block;margin-top:4px;color:var(--muted);font-size:12px;font-weight:620}.return-row>div:last-child{display:grid;justify-items:end;white-space:nowrap}.return-row b{color:var(--ink);font-family:var(--mono)}.asset-position-list{display:grid;gap:7px}.asset-position-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:start;min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:var(--radius);background:#12141994;color:var(--text);text-align:left}.asset-position-button{cursor:pointer}.asset-position-button:hover{border-color:#4f8cff38;background:#181b21c2}.asset-position-button:focus-visible{outline:2px solid rgba(139,178,255,.72);outline-offset:2px}.asset-position-heading{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.asset-position-title{min-width:0}.asset-position-id{display:inline-flex;align-items:center;min-height:20px;padding:0 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-family:var(--mono);font-size:11px;font-weight:650}.asset-position-title h3{margin:6px 0 0;color:var(--ink);font-size:15px;line-height:1.28;font-weight:720;overflow-wrap:anywhere}.asset-position-title p{margin:4px 0 0;color:var(--muted);font-size:12px;font-weight:620;overflow-wrap:anywhere}.asset-position-amount{display:grid;justify-items:end;gap:3px;white-space:nowrap}.asset-position-amount small,.asset-form-preview span,.asset-form-preview small{color:var(--muted);font-size:11px;font-weight:650}.asset-position-amount strong,.asset-form-preview strong{color:var(--ink);font-family:var(--mono);font-size:15px;line-height:1.15}.asset-position-amount span,.asset-position-brief span{color:var(--muted);font-size:12px;font-weight:620}.asset-position-brief{display:flex;flex-wrap:wrap;gap:6px 14px;min-width:0}.row-actions span{margin-top:0;color:inherit;font-size:inherit;font-weight:inherit}.admin-page{align-content:start}.admin-flow{width:min(100%,880px);margin:0 auto}.admin-directory-actions{display:flex;justify-content:flex-start}.admin-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:16px;align-items:start}.admin-form,.admin-position-form{display:grid;gap:11px;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:#12141994}.admin-form.inline{grid-template-columns:minmax(0,1fr) auto;align-items:end}.admin-position-form{grid-template-columns:minmax(96px,.7fr) minmax(145px,1fr) repeat(2,minmax(120px,1fr))}.admin-position-form label:last-of-type{grid-column:span 2}.admin-position-form .detail-position-actions{grid-column:1 / -1}.admin-single-form{grid-template-columns:1fr!important}.admin-single-form .detail-position-actions{grid-column:auto;justify-content:flex-start}.admin-single-form .primary-button{justify-self:start}.asset-position-form{grid-template-columns:1fr;gap:12px}.asset-position-form label:last-of-type{grid-column:auto}.asset-form-group{display:grid;gap:12px;min-width:0;margin:0;padding:0 0 14px;border:0;border-bottom:1px solid var(--line)}.asset-form-group:last-of-type{padding-bottom:0;border-bottom:0}.asset-form-group legend{padding:0;color:var(--ink);font-size:14px;font-weight:720}.asset-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.asset-form-grid-with-preview{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,.8fr);align-items:end}.asset-field-wide{grid-column:1 / -1!important}.asset-form-preview{min-width:0;min-height:44px;display:grid;align-content:center;gap:3px;padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#090a0d9e}.admin-hero-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,#4f8cff1a,#22c7a90a),#1214199e}.admin-hero-card h2{margin:3px 0 0;color:var(--ink);font-size:22px;line-height:1.2}.admin-account-summary{grid-template-columns:repeat(2,minmax(0,1fr));background:#1214196b}.status-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:12px;font-weight:760}.status-pill.enabled{border-color:#35c98b47;background:var(--loss-soft);color:var(--loss)}.status-pill.disabled{border-color:#ef6a6347;background:var(--gain-soft);color:var(--danger)}.admin-action-stack{display:grid;grid-template-columns:1fr;gap:7px}.admin-nav-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;min-height:74px;padding:12px 13px;border:1px solid var(--line);background:#12141994;color:var(--text);text-align:left}.admin-nav-card:hover:not(:disabled){border-color:#4f8cff3d;background:#4f8cff14}.admin-nav-card svg{color:var(--brand-strong)}.admin-nav-card strong,.admin-nav-card small{display:block}.admin-nav-card strong{color:var(--ink);font-weight:760}.admin-nav-card small{margin-top:4px;color:var(--muted);font-size:12px;font-weight:620;white-space:normal}.user-list{display:grid;gap:6px}.user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:9px 11px;border:1px solid var(--line);background:#12141994;color:var(--text);text-align:left}.user-directory{gap:8px}.user-directory-row{min-height:62px;padding:10px 12px}.user-directory-row>svg{flex:0 0 auto;color:var(--brand-strong)}.user-row.active{border-color:#4f8cff47;background:var(--brand-soft)}.user-row strong,.user-row small{display:block}.user-row strong{color:var(--ink);font-weight:700}.user-row small{margin-top:4px;color:var(--muted);font-size:12px}.admin-actions,.row-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-actions button{flex:1 1 160px}.danger-zone{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:12px 13px;border:1px solid rgba(239,106,99,.22);border-radius:var(--radius);background:#ef6a6314}.danger-zone div{min-width:0}.danger-zone strong,.danger-zone span{display:block}.danger-zone strong{color:var(--ink);font-weight:720}.danger-zone span{margin-top:4px;color:var(--muted);font-size:12px;font-weight:620}.asset-delete-zone .danger-button{flex:0 0 auto}.row-actions{grid-column:1 / -1;justify-content:flex-end}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:36px;padding:0 14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:680}.chip.active{border-color:var(--line-strong);background:var(--brand-soft);color:var(--brand-strong)}.detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 16px;background:#121419ad}.detail-head h2{margin:5px 0 0;color:var(--ink);font-size:21px;line-height:1.2;font-weight:720;overflow-wrap:anywhere}.badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--brand-soft);color:var(--brand-strong);font-size:12px;font-weight:680}.position-config-card{display:grid;gap:14px;padding:15px}.position-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}.position-summary>button{min-width:132px}.position-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.position-summary-grid.single{grid-template-columns:1fr}.position-summary-grid span{display:grid;gap:5px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#121419a8}.position-summary-grid small{color:var(--muted);font-size:12px;font-weight:650}.position-summary-grid strong{color:var(--ink);font-family:var(--mono);font-size:15px;overflow-wrap:anywhere}.detail-position-form{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr) auto;gap:12px;align-items:end}.detail-position-actions{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:14px;align-items:start}.weekly-bars{display:grid;gap:8px}.weekly-row{display:grid;grid-template-columns:52px minmax(0,1fr) 76px;align-items:center;gap:10px;min-height:34px;color:var(--muted);font-size:13px}.weekly-row strong{text-align:right}.bar-track{height:8px;overflow:hidden;border-radius:999px;background:#d6cfbe1a}.bar-fill{display:block;height:100%;min-width:4px;border-radius:999px;background:var(--muted)}.bar-fill.accent{background:var(--brand)}.bar-fill.gain{background:var(--gain)}.bar-fill.loss{background:var(--loss)}.profit-split{display:grid;gap:10px}.profit-split>div{display:grid;gap:6px;padding:11px 12px;border:1px solid var(--line);border-radius:var(--radius);background:#1214198f}.profit-split span{color:var(--muted);font-size:12px;font-weight:650}.profit-split strong{color:var(--ink);font-family:var(--mono);font-size:18px}.breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;overflow:hidden;background:#12141980}.breakdown-item{min-width:0;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.breakdown-item:nth-child(3n){border-right:0}.breakdown-item:nth-last-child(-n+3){border-bottom:0}.breakdown-item dt{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:650}.breakdown-item dd{margin:0;color:var(--ink);font-family:var(--mono);font-size:14px;font-weight:720;overflow-wrap:anywhere}.positions-form{display:grid;gap:12px}.position-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;margin:0;padding:14px}.position-editor legend{padding:0 5px;color:var(--brand);font-family:var(--mono);font-size:12px;font-weight:650}.position-editor.muted-row{opacity:.68}.wide-field{grid-column:span 2}.check-field{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:22px}.check-field input{width:18px;min-height:18px;accent-color:var(--brand)}.check-field span{margin:0;color:var(--text)}.position-editor .danger-button{align-self:end}.settings-actions{display:flex;justify-content:flex-end;padding-bottom:2px}.settings-actions .primary-button{min-width:180px}.loading-block,.inline-error,.empty-state{display:flex;align-items:flex-start;gap:10px;padding:14px;color:var(--muted)}.loading-block svg{color:var(--brand)}.inline-error{border-color:#ef6a634d;background:var(--gain-soft);color:var(--danger);font-weight:700}.empty-state.compact{padding:12px}.empty-state h3{margin:0 0 4px;color:var(--ink);font-size:15px;font-weight:700}.empty-state p{margin:0;color:var(--muted);font-size:13px}.gain{color:var(--gain)!important}.loss{color:var(--loss)!important}.neutral{color:var(--muted)!important}@media(max-width:1040px){.detail-grid,.market-controls,.admin-grid{grid-template-columns:1fr}}@media(max-width:820px){.metric-grid,.metric-grid.four,.position-editor,.detail-position-form,.position-summary,.breakdown-grid,.admin-form.inline,.admin-position-form{grid-template-columns:1fr}.admin-position-form label:last-of-type,.admin-position-form .detail-position-actions{grid-column:auto}.market-filter-grid{grid-template-columns:1fr}.summary-strip,.market-summary,.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control.three{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-strip span:nth-child(2n),.market-summary span:nth-child(2n){border-right:0}.wide-field{grid-column:auto}.asset-position-row,.asset-position-heading{grid-template-columns:1fr}.asset-position-amount{justify-items:start;white-space:normal}.asset-form-grid,.asset-form-grid-with-preview{grid-template-columns:1fr}.asset-field-wide{grid-column:auto!important}.breakdown-item,.breakdown-item:nth-child(3n),.breakdown-item:nth-last-child(-n+3){border-right:0;border-bottom:1px solid var(--line)}.breakdown-item:last-child{border-bottom:0}}@media(max-width:640px){body{overflow-x:hidden}.app-shell{width:100%;height:100dvh;padding:calc(var(--safe-top) + var(--mobile-top-gap)) 12px calc(12px + var(--safe-bottom))}.login-view,.centered-state{padding:calc(var(--safe-top) + 16px) 16px calc(var(--safe-bottom) + 16px)}.login-panel,.centered-panel{padding:22px}.login-panel h1,.centered-panel h1,.app-header h1{font-size:24px}.app-header{min-height:56px;grid-template-columns:minmax(0,1fr);padding-bottom:10px;gap:8px}.brand-heading{display:none}.app-tabs{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:4px;padding:4px}.app-tab{min-height:42px;gap:5px;padding:0 7px;font-size:13px}.app-tab-icon,.app-tab-icon svg{width:17px;height:17px}.status-bar{margin:4px 0 12px}.route-shell{margin-right:-12px;margin-left:-12px}.account-footer{padding-top:10px}.account-logout-button{min-height:38px;padding:0 12px}.app-view .page-content,.root-tab-scroll{padding-right:14px;padding-left:14px}.market-controls{gap:8px;padding:8px}.market-filter-grid{gap:8px}.dashboard-hero{grid-template-columns:1fr;padding:18px}.hero-copy h2{font-size:31px}.hero-actions .primary-button{width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid.single{grid-template-columns:minmax(0,1fr)}.metric-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:12px}.metric-card strong{font-size:18px}.metric-label,.metric-card small{font-size:11px}.fund-row{grid-template-columns:minmax(0,1fr);padding:13px}.fund-numbers{grid-template-columns:minmax(0,auto) auto;justify-content:space-between;justify-items:start;align-items:baseline;white-space:normal}.fund-stats,.market-row .fund-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.return-row{grid-template-columns:1fr}.data-row-value,.return-row>div:last-child{justify-items:start;white-space:normal}.asset-position-row,.asset-position-heading{grid-template-columns:1fr}.asset-position-amount{justify-items:start;white-space:normal}.asset-form-grid,.asset-form-grid-with-preview{grid-template-columns:1fr}.asset-field-wide{grid-column:auto!important}.row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.admin-actions,.danger-zone{display:grid;grid-template-columns:1fr}.admin-actions button,.danger-zone .danger-button,.row-actions button{width:100%}.asset-position-row{padding:12px}.portfolio-row .fund-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-head,.section-head{align-items:flex-start;flex-direction:column}.admin-directory-actions .primary-button,.section-head .small-button{width:100%}.weekly-row{grid-template-columns:46px minmax(0,1fr) 68px}.position-editor{padding:13px}.position-editor .danger-button,.position-summary>button,.detail-position-actions,.detail-position-actions .primary-button,.detail-position-actions .secondary-button,.detail-position-actions .danger-button,.settings-actions .primary-button{width:100%}.detail-position-actions{display:grid;grid-template-columns:1fr}.settings-actions{justify-content:stretch}}@media(max-width:420px){.metric-grid,.metric-grid.four,.fund-stats,.market-row .fund-stats,.portfolio-row .fund-stats{grid-template-columns:1fr}.hero-copy h2{font-size:28px}.fund-numbers{grid-template-columns:1fr}.app-tabs{grid-template-columns:repeat(auto-fit,minmax(74px,1fr))}.app-tab{font-size:12px;padding:0 5px}.app-tab-icon,.app-tab-icon svg{width:16px;height:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
