:root{color-scheme:dark;--page: #17191d;--sidebar: #202328;--panel: #0d0f12;--panel-raised: #15181d;--panel-soft: #343941;--text: #ffffff;--muted: #b6b6b6;--line: #4b5563;--accent: #e9933f;--accent-dark: #c9772f;--blue: #21415e;--danger: #ef4444;--good: #22c55e;font-family:Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;max-width:100%;overflow-x:hidden;background:var(--page);color:var(--text)}button,input,select,textarea{font:inherit}button{min-height:2.5rem;border:1px solid transparent;border-radius:8px;background:var(--accent);color:#fff;padding:.62rem .9rem;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{cursor:not-allowed;opacity:.52;filter:none}button.is-loading{cursor:progress}button.is-loading:before{content:"";display:inline-block;width:.9rem;height:.9rem;margin-right:.5rem;vertical-align:-.12rem;border:2px solid rgba(255,255,255,.42);border-top-color:currentColor;border-radius:50%;animation:button-spin .75s linear infinite}@keyframes button-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){button.is-loading:before{animation-duration:1.5s}}button.warning{background:var(--accent)}button.warning:hover{background:var(--accent-dark)}button.ghost,button.secondary{border:1px solid #5f6875;background:#171a1f;color:var(--text)}button.danger{background:var(--danger)}button.ghost-danger{border-color:#7f1d1d;background:transparent;color:#fca5a5}button.text-link{padding:0;border:0;background:transparent;color:var(--text);text-align:left}button.text-link:hover{color:var(--accent)}input,select,textarea{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:.62rem .72rem;background:#20242a;color:var(--text)}label{display:grid;gap:.35rem;font-size:.9rem;font-weight:650;color:var(--text)}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr);background:var(--page)}.login-sidebar,.sidebar{min-height:100vh;display:flex;flex-direction:column;gap:1rem;background:var(--sidebar);color:var(--text)}.login-sidebar{padding-bottom:1rem}.login-card,.modal-card{min-width:0;max-width:calc(100vw - 2rem);width:min(100%,680px);display:grid;gap:1.1rem;align-self:center;justify-self:center;padding:1.35rem;background:var(--panel-raised);border-radius:18px;border:1px solid #343a43;box-shadow:0 24px 70px #0000009e}.modal-card{max-height:min(86vh,820px);overflow-y:auto;overflow-x:hidden}.modal-heading{padding-bottom:.8rem;border-bottom:1px solid #343a43}.modal-section+.modal-section{margin-top:1rem;padding-top:1rem;border-top:1px solid #343a43}.modal-card .form-grid .error,.modal-card .form-grid .popup-actions{grid-column:1 / -1}.login-card h1{text-align:center}.auth-switch{justify-self:center}.auth-link-button{display:block;text-align:center;text-decoration:none}.auth-invitation-note{margin:0;text-align:center}.auth-check{display:flex;align-items:flex-start;gap:.65rem;font-weight:500}.auth-check input{width:auto;margin-top:.2rem}.eyebrow{margin:0;color:var(--muted);font-size:.85rem}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:1.65rem}h2{font-size:1.1rem}.muted{color:var(--muted)}.center-text{text-align:center}.bad-text{color:var(--danger)}.good-text{color:var(--good)}.error{color:var(--danger);min-height:1.2rem}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh}.brand{display:flex;gap:.85rem;align-items:center;min-height:68px;padding:1rem;font-size:1.18rem}.brand-logo{width:38px;height:38px;border-radius:8px}.sidebar-panel{margin:0;padding:1rem}.dark-strip{min-height:54px;background:#000}.portfolio-select{width:calc(100% - 2rem);margin:0 1rem;background:#3e4652}.sidebar-heading{margin:.65rem 1rem .1rem;color:#f3f4f6}nav{display:grid;gap:.1rem;padding:0 1rem}nav button{width:100%;padding:.48rem .65rem;text-align:left;background:transparent;color:#f3f4f6}nav button:before{content:"";display:inline-block;width:.45rem;height:.45rem;margin-right:.55rem;border-radius:50%;background:currentColor;opacity:.8;vertical-align:middle}nav button:hover,nav button.active{background:#ffffff17}.market-row{display:grid;grid-template-columns:42px 1fr auto;gap:.7rem;align-items:center;min-height:38px;padding:.12rem 1rem}#sidebar-risers,#sidebar-fallers{display:grid;gap:.35rem}.stock-logo{position:relative;display:inline-grid;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#f8fafc;color:#242830;font-size:.7rem;font-weight:800;letter-spacing:.02em}.stock-logo--sidebar{width:34px;height:34px}.stock-logo--list{width:38px;height:38px}.stock-logo--detail{width:112px;height:112px;border-radius:12px}.stock-logo-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background:transparent}.stock-logo-fallback{line-height:1}.stock-logo--loaded .stock-logo-fallback{visibility:hidden}.stock-logo--light-artwork .stock-logo-image{filter:brightness(.18)}.mover-list{display:grid;gap:.7rem}.mover-row{display:flex;align-items:center;gap:.7rem}.mover-row p{margin:0}.sidebar-link{margin:auto 1rem 0;padding:0;background:transparent;color:var(--text)}.sidebar-version{margin:0 1rem 1rem;color:var(--text);text-align:center}.content{min-width:0;max-width:100%;padding:1.55rem 3rem 3rem}#view-root{min-width:0;max-width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem;margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid #343a43}.topbar h1{font-size:1.35rem}.actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.grid{display:grid;gap:1rem}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-board{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:1rem}.metric-column{min-width:0;display:grid;gap:1rem}.page-row{margin-top:1rem}.portfolio-stocks-card{grid-column:1 / -1}.portfolio-stocks-heading{align-items:end}.holding-filter-bar{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.holding-filter-bar input{width:min(260px,100%)}.holding-filter-bar select,.holding-filter-bar button{width:auto}.holding-list{display:grid}.holding-list-row{min-width:0;min-height:3rem;display:grid;grid-template-columns:minmax(190px,1.8fr) minmax(64px,.55fr) minmax(58px,.5fr) minmax(105px,.8fr) minmax(150px,1.1fr) minmax(105px,.8fr) minmax(145px,1fr) auto;align-items:center;gap:.75rem;padding:.55rem 0;border-top:1px solid #30353d;white-space:nowrap}.holding-list-link{cursor:pointer;border-radius:8px;transition:background-color .12s ease}.holding-list-link:hover,.holding-list-link:focus-visible{background:#1b2027}.holding-list-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.holding-list-head{min-height:2rem;padding-top:0;border-top:0;color:var(--muted);font-size:.78rem;font-weight:700}.holding-stock-cell{min-width:0;display:flex;align-items:baseline;gap:.55rem;overflow:hidden}.holding-stock-cell .muted{overflow:hidden;text-overflow:ellipsis}.holding-allocation small{font-size:.75rem}.holding-day-result{display:grid;justify-items:start;gap:.18rem}.holding-day-result small{font-size:.72rem}.holding-mobile-label{display:none}.holding-action-sheet{display:grid;gap:.55rem}.holding-action-sheet button{width:100%;text-align:left}.chart-help,.stat-help{display:block;margin-top:.55rem;font-size:.78rem}.card{min-width:0;background:var(--panel);border:1px solid #262b32;border-radius:14px;padding:1.15rem 1.25rem}.section-heading,.period-row,.button-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.operation-tabs{display:flex;flex-wrap:wrap;gap:.4rem}.operation-filters{align-items:end}.chart-labels{display:flex;justify-content:space-between;gap:.75rem;margin-top:.45rem;color:#9ca3af;font-size:.78rem}.home-line-chart{position:relative;height:260px;padding:1rem 0 .35rem;border-bottom:1px solid #374151;background:repeating-linear-gradient(to bottom,transparent 0 32%,rgba(75,85,99,.32) 32.5% 33%,transparent 33.5% 65%,rgba(75,85,99,.32) 65.5% 66%,transparent 66.5% 100%)}.home-line-chart svg{width:100%;height:100%;overflow:visible}.home-line-chart polyline{fill:none;stroke:var(--accent);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.row-actions{display:flex;gap:.35rem;white-space:nowrap}.row-actions button{padding:.42rem .58rem}.card-footer-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid #252a31}.action-menu{position:relative;display:inline-block}.action-menu summary,.control-panel summary{list-style:none;min-height:2.5rem;display:inline-flex;align-items:center;gap:.45rem;padding:.58rem .82rem;border:1px solid #5f6875;border-radius:8px;background:#171a1f;color:var(--text);font-weight:650;cursor:pointer}.action-menu summary::-webkit-details-marker,.control-panel summary::-webkit-details-marker{display:none}.action-menu-popover{position:absolute;z-index:20;top:calc(100% + .4rem);right:0;min-width:12rem;display:grid;gap:.4rem;padding:.55rem;border:1px solid #414853;border-radius:10px;background:var(--panel-raised);box-shadow:0 14px 32px #00000073}.action-menu-popover button{width:100%;text-align:left}.order-menu-trigger{width:2.5rem;min-width:2.5rem;min-height:2.5rem;padding-inline:0;font-size:1.45rem;line-height:1}.floating-order-menu button{display:flex;align-items:center;gap:.65rem}.action-icon{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.control-panel{margin-top:.85rem;padding-top:.8rem;border-top:1px solid #252a31}.control-panel .form-grid{margin-top:.9rem}.active-filter-summary{display:flex;justify-content:flex-end;margin-bottom:.8rem}.inline-form{display:flex;align-items:center;gap:.5rem}.inline-form input{min-width:12rem}@media(max-width:640px){.inline-form{width:100%}.inline-form input{min-width:0;flex:1}}.section-heading{justify-content:space-between;margin-bottom:.9rem}.period-row{margin-bottom:1rem}.period-row label{display:inline-flex;align-items:center;gap:.35rem;font-weight:400}.period-row input{width:auto}.small-action{padding:.55rem .75rem}.inline-check{display:inline-flex;grid-auto-flow:column;align-items:center;width:auto}.inline-check input{width:auto}.compact-list{margin-top:1rem}.report-summary{margin-bottom:1rem}.stat{position:relative;min-height:82px;display:grid;align-content:center;gap:.25rem}.stat strong{font-size:1.1rem}.detail-hero{min-height:120px;border-top:3px solid var(--accent)}.view-holding-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);grid-template-areas:"hero hero" "summary notes" "chart profile" "chart orders";gap:1rem}.view-holding-detail>.detail-hero{grid-area:hero;margin:0}.view-holding-detail>.detail-hero+.card{grid-area:summary;margin:0}.view-holding-detail>.detail-hero+.card+.card{grid-area:chart;margin:0}.view-holding-detail>.detail-hero+.card+.card+.card{grid-area:notes;margin:0}.view-holding-detail>.grid{display:contents}.view-holding-detail>.grid>.card:first-child{grid-area:profile;margin:0}.view-holding-detail>.grid>.card:last-child{grid-area:orders;margin:0}.view-holding-detail>.card,.view-holding-detail>.grid,.view-holding-detail>.grid>.card,.view-holding-detail .stock-chart,.view-holding-detail .table-wrap{min-width:0;max-width:100%}.detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 4rem}.detail-fields input[readonly]{border-color:#6b7280;background:#0f0f0f;color:#d1d5db}.stock-chart{position:relative;width:100%;overflow-x:auto}.interactive-chart svg:focus-visible,.order-marker:focus-visible circle{outline:none;filter:drop-shadow(0 0 4px var(--accent))}.chart-crosshair{position:absolute;z-index:3;top:.75rem;bottom:.5rem;width:1px;display:none;pointer-events:none;background:#ffffff8c}.chart-crosshair.visible{display:block}.chart-tooltip{position:absolute;z-index:4;top:.35rem;display:none;max-width:min(24rem,80%);transform:translate(-50%);padding:.42rem .58rem;border:1px solid #667085;border-radius:.45rem;background:#101318;color:var(--text);box-shadow:0 6px 20px #0006;font-size:.78rem;pointer-events:none;white-space:normal}.chart-tooltip.visible{display:block}.stock-chart svg{min-width:720px;width:100%;height:auto}.grid-line{stroke:#1f2937;stroke-width:1}.axis-label{fill:#9ca3af;font-size:13px}.stock-line{fill:none;stroke:var(--accent);stroke-width:2.4}.average-line{stroke:#e5e7eb;stroke-dasharray:4 5;stroke-width:1.4}.order-marker.buy circle{fill:var(--good);stroke:#052e16;stroke-width:2}.order-marker.sell circle{fill:var(--danger);stroke:#450a0a;stroke-width:2}.chart-legend{display:flex;gap:1rem;flex-wrap:wrap;color:var(--muted);font-size:.85rem}.chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.line-swatch,.dash-swatch{width:1.5rem;height:.12rem;background:var(--accent)}.dash-swatch{background:repeating-linear-gradient(90deg,#e5e7eb 0 5px,transparent 5px 9px)}.buy-dot,.sell-dot{width:.65rem;height:.65rem;border-radius:50%;background:var(--good)}.sell-dot{background:var(--danger)}.company-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.company-detail dl{display:grid;grid-template-columns:120px minmax(0,1fr);gap:.45rem 1rem}.company-detail dt{font-weight:700}.company-detail dd{margin:0}.popup-actions{display:flex;gap:.75rem;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-refresh{position:absolute;right:.8rem;top:.8rem;width:auto;min-height:0;padding:.36rem .58rem;border:1px solid #5f6875;border-radius:7px;background:#171a1f;color:var(--text);font-size:.78rem}.table-wrap{overflow-x:auto}.broker-instruments{margin-block:1rem}.broker-correction{margin-block:1rem;padding:1rem;border:1px solid #454545;border-radius:.6rem}.broker-correction[hidden]{display:none}.broker-correction h3{grid-column:1 / -1}#modal-content,.broker-order-details{min-width:0;max-width:100%}.broker-instrument{padding:1rem;margin-block:.65rem;border:1px solid #454545;border-radius:.6rem}.broker-instrument p{margin:.4rem 0 .75rem}.broker-instrument select,.broker-instrument input:not([type=checkbox]){width:100%;min-width:0}.broker-new-instrument{margin-top:.8rem}.broker-new-instrument[hidden]{display:none}.broker-order-details summary{cursor:pointer;padding:.8rem 0}.broker-preview-table{max-height:54vh;overflow:auto;border:1px solid #2c323a;border-radius:10px}.broker-preview-table th{position:sticky;top:0;z-index:1;background:var(--panel-raised)}.broker-preview-table input[type=checkbox]{width:auto}.broker-preview-table select{min-width:11rem}.import-status{display:inline-flex;padding:.2rem .48rem;border-radius:999px;background:#252a31;color:var(--muted);font-size:.75rem}.import-status.status-ready,.import-status.status-imported{background:#16a34a29;color:var(--good)}.import-status.status-unmatched{background:#f59e0b29;color:#fbbf24}.import-status.status-invalid,.import-status.status-unsupported,.import-status.status-duplicate{background:#dc262624;color:#fca5a5}table{width:100%;border-collapse:collapse}th,td{padding:.62rem;border-bottom:1px solid #1f2937;text-align:left;white-space:nowrap}th{color:var(--text);font-size:.78rem}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .48rem;background:#1f2937;color:var(--text);font-size:.78rem}.pill.good{color:var(--good)}.pill.bad{color:var(--danger)}.pill.neutral{color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:end}.notes-list{display:grid;gap:.75rem}.note{display:grid;gap:.4rem;padding:.85rem;border:1px solid #1f2937;border-radius:8px;background:#050505}.note.done{opacity:.65}.breadcrumb{display:flex;gap:.85rem;align-items:center;margin-bottom:2rem;color:var(--text);font-weight:650}.version{position:fixed;right:.6rem;bottom:.55rem;padding:.25rem .45rem;border-radius:6px;background:#000c;color:#fff;font-size:.72rem}dialog{border:0;border-radius:18px;padding:0;background:transparent}dialog::backdrop{background:#000000b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-close{justify-self:end;width:2rem;height:2rem;padding:0;background:transparent;color:var(--text)}.chart{height:220px;display:flex;align-items:end;justify-content:flex-start;gap:.35rem;border-bottom:1px solid #e5e7eb}.bar{flex:0 0 18px;border-radius:5px 5px 0 0;background:var(--accent)}.profit-list{display:grid;gap:.65rem}.holding-donut-layout{display:grid;grid-template-columns:minmax(11rem,15rem) minmax(0,1fr);gap:1.25rem;align-items:center}.holding-donut{width:min(100%,15rem);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff1f}.holding-donut:after{content:"";grid-area:1 / 1;width:48%;aspect-ratio:1;border-radius:50%;background:var(--panel)}.holding-donut>span{z-index:1;display:grid;text-align:center}.holding-donut>span small{color:var(--muted)}.holding-donut-legend{display:grid;gap:.38rem}.holding-donut-legend>div{display:grid;grid-template-columns:.7rem minmax(0,1fr) auto;gap:.5rem;align-items:center}.holding-donut-legend i{width:.7rem;height:.7rem;border-radius:.2rem}.holding-donut-legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-control{width:auto;min-width:11rem}.duplicate-comparison{margin:.5rem 0;white-space:normal}.duplicate-side{margin-top:.45rem;padding:.5rem;border:1px solid var(--line);border-radius:.45rem;background:#ffffff06}.duplicate-side p{margin:.18rem 0}@media(max-width:640px){.holding-donut-layout{grid-template-columns:1fr}.holding-donut{justify-self:center}}.profit-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(120px,2fr) auto;gap:.75rem;align-items:center}.profit-track{height:.58rem;overflow:hidden;border-radius:999px;background:#1f2937}.profit-track i{display:block;height:100%;border-radius:inherit}.profit-track .gain{background:var(--good)}.profit-track .loss{background:var(--danger)}.empty-chart{position:relative;min-height:260px}.empty-chart .axis{position:absolute;background:#e5e7eb}.empty-chart .axis.y{left:25%;top:28%;width:1px;height:55%}.empty-chart .axis.x{left:25%;right:10%;top:66%;height:1px}@media(max-width:980px){.login-shell,.app-shell,.portfolio-board{grid-template-columns:1fr}.login-sidebar,.sidebar{position:static;min-height:auto;height:auto;gap:.5rem}.sidebar .mobile-market,.sidebar #sidebar-risers,.sidebar #sidebar-fallers{display:none}.sidebar .sidebar-link{margin:.5rem 1rem}.sidebar .sidebar-version{margin-bottom:.75rem}nav{grid-template-columns:repeat(2,minmax(0,1fr))}.content{padding:1rem}.topbar,.actions{align-items:stretch;flex-direction:column}.actions{width:100%}.actions>button,.actions>.action-menu,.actions>.action-menu>summary{width:100%}.action-menu-popover{position:static;margin-top:.4rem}.card-footer-actions{align-items:stretch;flex-direction:column}.grid.cols-2,.grid.cols-3,.form-grid,.detail-fields,.company-detail,.company-detail dl,.view-holding-detail{grid-template-columns:1fr}.view-holding-detail{display:block}.view-holding-detail>.card,.view-holding-detail>.grid>.card{margin-bottom:1rem}.view-holding-detail>.grid{display:grid}.profit-row{grid-template-columns:1fr}}.sidebar-body{min-height:0;display:flex;flex:1;flex-direction:column;gap:1rem}.mobile-menu-toggle{display:none;margin-left:auto}.modal-card--wide{width:min(calc(100vw - 2rem),880px)}.modal-close{width:auto;min-height:2rem;padding:.25rem .45rem;color:var(--muted);font-size:.82rem}.holding-form-grid,.order-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.modal-footer{position:sticky;bottom:-1.35rem;z-index:2;margin:0 -1.35rem -1.35rem;padding:1rem 1.35rem 1.35rem;border-top:1px solid #343a43;background:var(--panel-raised)}.view-holding-detail{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);grid-template-areas:"hero profile" "kpis profile" "chart notes" "orders orders";align-items:start}#view-root.view-holding-detail>.detail-hero{grid-area:hero}#view-root.view-holding-detail>.holding-kpis{grid-area:kpis}#view-root.view-holding-detail>.holding-chart{grid-area:chart}#view-root.view-holding-detail>.holding-profile{grid-area:profile}#view-root.view-holding-detail>.holding-notes{grid-area:notes}#view-root.view-holding-detail>.holding-orders{grid-area:orders}.detail-identity{min-width:0}#view-root.view-holding-detail>.detail-hero{min-height:0;padding:.9rem 1.05rem}.detail-hero .section-heading{align-items:flex-start}.detail-hero .breadcrumb{font-size:.82rem}.detail-hero h2{margin:.5rem 0 .25rem;font-size:1.05rem}.detail-value{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap;margin-bottom:.35rem}.detail-value>strong{font-size:clamp(1.3rem,2vw,1.75rem)}.detail-meta,.detail-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.detail-actions{justify-content:flex-end}.detail-pagination{width:auto;justify-content:flex-end}.detail-hero .detail-actions{gap:.45rem}.detail-hero .detail-actions button,.detail-hero .detail-actions .action-menu>summary{min-height:2.25rem;padding:.48rem .7rem}.holding-kpis{padding:.8rem .9rem}.holding-kpis .section-heading h2{margin-bottom:.55rem;font-size:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.kpi-grid article{min-width:0;display:grid;gap:.25rem;padding:.55rem .65rem;border:1px solid #262b32;border-radius:8px;background:var(--panel-raised)}.kpi-grid strong{font-size:.95rem;overflow-wrap:anywhere}.kpi-grid article>span,.kpi-grid small{color:var(--muted);font-size:.75rem}.holding-chart .stock-chart svg{min-width:560px}.holding-profile{padding:1rem}.holding-profile .company-detail{gap:.65rem}.holding-profile .company-detail h2{margin-bottom:.45rem;font-size:1rem}.holding-profile .company-detail p{margin-bottom:.65rem}.holding-profile .company-detail dl{grid-template-columns:76px minmax(0,1fr);gap:.35rem .5rem;font-size:.84rem}.holding-profile .stock-logo--detail{width:72px;height:72px}.holding-profile .company-description{margin-top:.65rem;padding-top:.65rem;font-size:.88rem}@media(max-width:1180px){.view-holding-detail{grid-template-columns:1fr;grid-template-areas:"hero" "profile" "kpis" "chart" "notes" "orders"}}.company-description{margin-top:.85rem;padding-top:.85rem;border-top:1px solid #262b32}.company-description summary,.technical-details summary,.order-detail-row summary{color:var(--text);font-weight:650;cursor:pointer}.company-description p{margin-top:.85rem;line-height:1.55}.order-detail-row td{padding-top:0;border-top:0;background:#090a0c}.order-table-wrap .orders-expanded{min-width:1100px}.order-type-cell{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.pill.summary-order{color:#ffd48b;background:#ee9a3126}.summary-order-row{box-shadow:inset 3px 0 0 var(--accent)}.summary-order-option{grid-column:1 / -1;padding:.9rem 1rem;border:1px solid #4b535f;border-radius:10px;background:#111419}.summary-order-option p,.summary-explanation{margin:.55rem 0 0;color:var(--muted);line-height:1.45}.summary-explanation{padding:.85rem 1rem;border-left:3px solid var(--accent);background:#ee9a3114}.order-breakdown-dialog{grid-template-columns:repeat(4,minmax(120px,1fr));row-gap:1rem}.order-breakdown-dialog dd{grid-row:auto}.order-breakdown{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:.35rem 1rem;margin:.8rem 0 0}.order-breakdown dt{color:var(--muted);font-size:.8rem}.order-breakdown dd{grid-row:2;margin:0}.note-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.3fr) auto;gap:.75rem;align-items:end;margin-bottom:1rem}.notes-compact-list,.release-list,.event-list{display:grid;gap:.6rem}.note-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.8rem 0;border-bottom:1px solid #262b32}.note-row:last-child{border-bottom:0}.stock-search-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.85rem;align-items:center;padding:.85rem 0;border-bottom:1px solid #262b32}.stock-search-row:last-child{border-bottom:0}.stock-search-row p{margin:.25rem 0 0}.note-row.done{opacity:.65}.note-row-body p{margin:.25rem 0;color:#e5e7eb}.status-dot{width:.65rem;height:.65rem;margin-top:.32rem;border-radius:50%;background:var(--accent)}.status-dot.finished{background:var(--good)}.allocation-comparison{display:grid;gap:.7rem;max-height:520px;overflow-y:auto;padding-right:.35rem}.allocation-row{display:grid;gap:.45rem;padding:.75rem;border:1px solid #262b32;border-radius:10px;background:#090a0c}.allocation-label,.allocation-measure{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:center}.allocation-measure span{grid-column:1 / -1;color:var(--muted);font-size:.8rem}.allocation-track{grid-column:1 / -1;height:.45rem;overflow:hidden;border-radius:999px;background:#252a31}.allocation-track i{display:block;height:100%;border-radius:inherit}.allocation-track .actual{background:var(--accent)}.allocation-track .target{background:#60a5fa}.pill.warning{border-color:#8a6427;background:#3a2c16;color:#ffda91}.compact-filter{display:flex;grid-auto-flow:column;align-items:center;gap:.5rem}.compact-filter select{width:auto}.market-refresh-status{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.8rem;margin:1rem 0;padding:.8rem;border:1px solid #343b45;border-radius:10px;background:#090a0c}.market-refresh-status p{margin:.25rem 0 0}.data-update-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem .8rem;margin-bottom:1rem;padding:.65rem .8rem;border:1px solid #39424c;border-radius:10px;background:#11151a}.data-update-strip>div{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem}.data-update-message{grid-column:1 / -1;margin:0;color:#d8e1e8;font-size:.9rem}.status-dot-inline{width:.7rem;height:.7rem;flex:0 0 auto;border-radius:50%;background:#7f8a96;box-shadow:0 0 0 3px #7f8a9624}.status-dot-inline.good{background:var(--good);box-shadow:0 0 0 3px #22c55e24}.status-dot-inline.warning{background:var(--accent);box-shadow:0 0 0 3px #e9933f29}.status-dot-inline.bad{background:var(--danger);box-shadow:0 0 0 3px #ef444424}.update-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-block:1rem}.update-status-grid article{display:flex;align-items:center;gap:.75rem;padding:.85rem;border:1px solid #343b45;border-radius:10px;background:#090a0c}.update-status-grid p,.update-flow p{margin:.2rem 0 0;color:var(--muted)}.update-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-block:1rem}.update-flow article{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.75rem;padding:.9rem;border:1px solid #343b45;border-radius:10px;background:#11151a}.update-flow article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#3d2b1d;color:#ffd29c;font-weight:750}.update-flow h3{margin:.2rem 0 0}.broker-match-status{padding:.55rem .75rem;border-left:4px solid #e2a64a;border-radius:.3rem;background:#332b1c;color:#ffdc9a;font-weight:600}.broker-match-status.match-existing{border-color:#56c994;background:#15392c;color:#a0f0c7}.broker-match-status.match-planned{border-color:#6caefa;background:#1b3049;color:#bcdcff}.broker-match-status.match-searching{border-color:#aaa;background:#303038;color:#ddd}.broker-match-status.match-failed{border-color:#e87878;background:#3a2023;color:#ffc0c0}.broker-wizard{min-width:0}#modal:has(.broker-wizard){width:min(880px,calc(100vw - 2rem));max-width:calc(100vw - 2rem);overflow:hidden;padding:0}#modal:has(.broker-wizard) .modal-card{width:100%;max-width:none}.wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin-block:1rem}.wizard-steps button{border:0;border-bottom:3px solid #444;border-radius:0;background:transparent;text-align:left;padding:.6rem .3rem;min-width:0}.wizard-steps button span{display:block;color:#aab5be;font-size:.8rem}.wizard-steps button:before{display:none}.wizard-steps button[aria-current=step]{border-bottom-color:#e39a4c;color:#fff}.wizard-source{overflow-wrap:anywhere}.wizard-footer{border-top:1px solid #444;margin-top:1rem;padding-top:1rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:center}.wizard-footer{position:sticky;bottom:-1.35rem;background:var(--panel-raised);padding-block:.8rem;z-index:2}.wizard-row-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.5rem}.wizard-row-actions button{white-space:nowrap}.wizard-span{grid-column:1 / -1}.wizard-summary{display:grid;grid-template-columns:1fr auto;gap:.7rem}.wizard-summary dd{margin:0;text-align:right}.wizard-excluded td{color:#aeb8c1}.wizard-review-heading{justify-content:space-between;align-items:flex-end}.wizard-review-heading p{margin:.25rem 0 0}.wizard-checklist{margin:.65rem 0;color:var(--muted)}.wizard-review-totals{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.25rem 0 0}.selection-included{color:#a0f0c7}.selection-excluded{color:#ffca80}.wizard-compact-note{margin:.5rem 0 .8rem;color:var(--muted);font-size:.9rem}.wizard-review-row{background:#e39a4c0f}.broker-instrument>summary{display:flex;justify-content:space-between;gap:.75rem}.broker-instrument.selection-excluded{border-color:#9a652b;background:#e39a4c0b}.group-selection-status{flex:0 0 auto;font-weight:650;text-align:right}.group-selection-status.selection-included{color:#a0f0c7}.group-selection-status.selection-excluded{color:#ffca80}.wizard-status-line{display:flex;flex-wrap:wrap;gap:.45rem .9rem;color:var(--muted)}.wizard-status-line strong{color:#ffca80}.wizard-match-progress{margin-block:1rem;padding:1rem;border:1px solid #39424c;border-radius:.65rem;background:#15191e}.wizard-match-progress>div{display:flex;justify-content:space-between;gap:1rem}.wizard-match-progress progress{display:block;width:100%;height:.65rem;margin-block:.75rem;accent-color:var(--accent)}.wizard-match-progress p{margin:0}.wizard-matched-stocks>summary{color:#a0f0c7;font-weight:650}.wizard-match-list{margin-top:.75rem}.wizard-match-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid #343b45}.wizard-match-list>div strong{color:var(--muted);text-align:right}.wizard-confirm-stocks>summary{color:#a0f0c7;font-weight:650}.wizard-confirm-stock-list{margin-top:.65rem}.wizard-confirm-stock-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-top:1px solid #343b45}.wizard-confirm-stock-list span{display:grid;gap:.15rem}.wizard-confirm-stock-list small{color:var(--muted)}.wizard-check-result{margin:.7rem 0;font-weight:650}.wizard-opening-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-block:.75rem}.wizard-opening-options>section,.wizard-opening-options>form{min-width:0;padding:.75rem;border:1px solid #39424c;border-radius:.55rem;background:#15191e}.wizard-opening-options form{display:grid;gap:.55rem;align-content:start}.wizard-opening-options p{color:var(--muted);font-size:.9rem}.wizard-opening-options .wizard-row-actions{align-items:flex-start}.wizard-count{display:inline-block;min-width:1.55rem;padding:.1rem .45rem;border-radius:999px;background:#49331c;color:#ffca80;font-size:.8rem;text-align:center;vertical-align:middle}.wizard-notice{border-left:3px solid #e39a4c;padding:.8rem;margin-block:.8rem;background:#30291e}.wizard-error,.wizard-blocker{margin-block:1rem;padding:.9rem 1rem;border:1px solid #b45309;border-left:4px solid var(--accent);border-radius:.55rem;background:#302319;color:var(--text)}.wizard-error p,.wizard-blocker p{margin:.4rem 0 .75rem}.broker-wizard .inline-form{margin-block:.8rem}.broker-wizard .inline-form input{min-width:0;flex:1}.broker-wizard .form-grid{align-items:end}.broker-wizard .checkbox-label{display:flex;align-items:flex-start;gap:.6rem}.broker-wizard input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;margin-top:.25rem}.broker-wizard summary{cursor:pointer}.broker-wizard .broker-correction{background:#191e22}@media(max-width:540px){.data-update-strip,.update-status-grid,.update-flow{grid-template-columns:1fr}.data-update-message{grid-column:1}.wizard-steps button{font-size:.8rem;padding:.5rem .1rem}.broker-wizard .form-grid{grid-template-columns:1fr}.wizard-footer>.wizard-row-actions{width:100%}.wizard-match-list>div{align-items:flex-start}.wizard-confirm-stock-list>div{display:grid;gap:.25rem}.wizard-opening-options{grid-template-columns:1fr}}.admin-tabs{display:flex;gap:.45rem;overflow-x:auto;margin-bottom:1rem;padding-bottom:.2rem}.admin-tabs button{flex:0 0 auto}.admin-tabs button.active{border-color:var(--accent);background:#302217}.admin-panel{min-height:240px}.admin-action-list{display:grid;gap:.7rem;margin:1rem 0}.admin-action-list article{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;border:1px solid #2c323a;border-radius:10px;background:#090a0c}.admin-action-list p{margin:.25rem 0 0}.impactful-action{border-left:3px solid var(--danger)!important}.technical-details{margin-top:1rem;padding:.8rem;border:1px solid #262b32;border-radius:10px}.technical-details p{margin:.65rem 0 0}.event-list article{padding:.8rem 0;border-bottom:1px solid #262b32}.event-list p{margin:.25rem 0}.empty-chart>p{position:absolute;inset:45% 1rem auto;text-align:center}@media(max-width:1240px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:981px)and (max-width:1280px){.content{padding-inline:1.4rem}.holding-list-row{grid-template-columns:minmax(150px,1fr) 58px minmax(100px,.75fr) minmax(105px,.75fr) minmax(135px,.9fr) auto}.holding-list-row>:nth-child(2),.holding-list-row>:nth-child(5){display:none}}@media(max-width:980px){.sidebar{position:sticky;top:0;z-index:20;min-height:auto;height:auto;border-bottom:1px solid #343a43}.sidebar .brand{min-height:60px;padding:.65rem 1rem}.sidebar .brand-logo{width:34px;height:34px}.mobile-menu-toggle{display:inline-flex;align-items:center}.sidebar-body{display:none;max-height:calc(100vh - 60px);overflow-y:auto;padding-bottom:.75rem}.sidebar.mobile-open .sidebar-body{display:flex}.sidebar nav{grid-template-columns:1fr}.view-holding-detail{display:grid;grid-template-columns:1fr;grid-template-areas:"hero" "profile" "kpis" "chart" "notes" "orders"}.view-holding-detail>.card{margin:0}.detail-actions,.detail-pagination{justify-content:flex-start}.note-filters,.holding-filter-bar,.holding-form-grid,.order-form-grid{grid-template-columns:1fr}.portfolio-stocks-heading,.holding-filter-bar{align-items:stretch}.holding-filter-bar{width:100%;display:grid}.holding-filter-bar input,.holding-filter-bar select,.holding-filter-bar button{width:100%}.holding-list-row{grid-template-columns:minmax(150px,1fr) minmax(100px,auto) minmax(125px,auto) auto}.holding-list-row>:nth-child(2),.holding-list-row>:nth-child(3),.holding-list-row>:nth-child(5),.holding-list-row>:nth-child(6){display:none}.order-breakdown{grid-template-columns:repeat(2,minmax(120px,1fr))}.order-breakdown dd{grid-row:auto}}@media(max-width:640px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-actions,.detail-actions>button,.detail-actions>.action-menu,.detail-actions>.action-menu>summary{width:100%}.detail-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.note-row{grid-template-columns:auto minmax(0,1fr)}.note-row>.action-menu{grid-column:2}.stock-search-row{grid-template-columns:auto minmax(0,1fr)}.stock-search-row>button.warning{grid-column:2;width:100%}.operations-table[data-operation-tab=orders] th:nth-child(5),.operations-table[data-operation-tab=orders] td:nth-child(5),.operations-table[data-operation-tab=orders] th:nth-child(7),.operations-table[data-operation-tab=orders] td:nth-child(7),.operations-table[data-operation-tab=orders] th:nth-child(8),.operations-table[data-operation-tab=orders] td:nth-child(8),.operations-table[data-operation-tab=orders] th:nth-child(9),.operations-table[data-operation-tab=orders] td:nth-child(9){display:none}.admin-action-list article{align-items:stretch;flex-direction:column}.admin-action-list button{width:100%}.market-refresh-status{grid-template-columns:1fr;align-items:stretch}.modal-card{max-height:calc(100vh - 1rem)}}.app-shell,.login-shell{grid-template-columns:230px minmax(0,1fr)}.sidebar,.login-sidebar{gap:.55rem}.brand{min-height:58px;padding:.65rem .8rem}.brand-logo{width:32px;height:32px}.sidebar-body{gap:.45rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.sidebar-panel{padding:.65rem .8rem}.dark-strip{min-height:42px}.portfolio-select{width:calc(100% - 1.6rem);margin:0 .8rem}.sidebar-heading{margin:.45rem .8rem .05rem}nav{padding:0 .8rem}nav button{padding:.38rem .55rem}.market-row{grid-template-columns:34px 1fr auto;gap:.5rem;min-height:32px;padding:.08rem .8rem;font-size:.85rem}#sidebar-risers,#sidebar-fallers{gap:.22rem}.stock-logo--sidebar{width:28px;height:28px}.sidebar-link{margin:.35rem .8rem 0}.sidebar-version{margin:0 .8rem .6rem}.floating-holding-menu{position:fixed;z-index:1000;min-width:13rem;display:grid;gap:.35rem;padding:.5rem;border:1px solid #4a525e;border-radius:10px;background:var(--panel-raised);box-shadow:0 18px 42px #00000094}.floating-holding-menu button{width:100%;min-height:2.25rem;text-align:left}.note-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.note-form-text{grid-column:1 / -1}.note-form-finished{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem}.note-form-finished input{width:auto;margin:0}.note-form-text textarea{min-height:12rem;resize:vertical}@media(max-width:980px){.app-shell,.login-shell{grid-template-columns:1fr}.sidebar .mobile-market{display:block}.sidebar #sidebar-risers,.sidebar #sidebar-fallers{display:grid}.sidebar-body{max-height:calc(100dvh - 56px);gap:.32rem;padding-bottom:.5rem}.sidebar .brand{min-height:56px;padding:.5rem .75rem}.sidebar .sidebar-link{margin:.35rem .8rem 0}.sidebar .sidebar-version{margin-bottom:.5rem}}@media(max-width:640px){.holding-list-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"stock actions" "value today";gap:.45rem .75rem;overflow:visible;white-space:normal;padding-block:.75rem}.holding-list-head{display:none}.holding-list-row>*{min-width:0}.holding-stock-cell .muted{display:none}.holding-stock-cell{grid-area:stock}.holding-value{grid-area:value}.holding-day-result{grid-area:today;justify-items:end;text-align:right}.holding-list-row>.small-action{grid-area:actions;justify-self:end}.holding-mobile-label{display:block;margin-bottom:.15rem;color:var(--muted);font-size:.68rem;font-weight:700}.holding-list-row .small-action{min-height:2.15rem;padding:.42rem .55rem}.note-form-grid{grid-template-columns:1fr}}
