:root{--ink: #182430;--ink-2: #22323f;--ink-3: #2d4050;--paper: #f6f5f1;--surface: #ffffff;--line: #e4e1d8;--line-strong: #cfcabc;--text: #1d2630;--muted: #68727e;--faint: #98a1ab;--brass: #a8853b;--brass-strong: #8c6e2f;--brass-soft: #f3ecdc;--credit: #1e7a5a;--credit-soft: #e7f2ed;--debit: #a63d2f;--debit-soft: #f7e9e6;--focus: #2d5f8a;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgba(24, 36, 48, .05), 0 4px 16px rgba(24, 36, 48, .05);--font-display: "Archivo", system-ui, sans-serif;--font-body: "Public Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--sidebar-w: 232px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);margin:0;letter-spacing:-.01em}button{font-family:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--ink);color:#e8e6df;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{padding:22px 20px 18px;border-bottom:1px solid var(--ink-3)}.sidebar-brand .word{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.01em;color:#fff}.sidebar-brand .sub{display:block;margin-top:2px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}.sidebar-nav{padding:10px;flex:1;overflow-y:auto}.sidebar-nav-head{min-height:28px;padding:0 4px 7px 10px;display:flex;align-items:center;justify-content:space-between;color:#7d8791;font-size:9.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.sidebar-nav-actions{display:flex;align-items:center;gap:3px}.nav-arrange-btn{display:inline-flex;align-items:center;gap:4px;border:0;border-radius:5px;padding:4px 6px;background:transparent;color:#8d97a1;font:inherit;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.nav-arrange-btn svg{width:12px;height:12px}.nav-arrange-btn:hover,.nav-arrange-btn.active{color:#fff;background:var(--ink-2)}.nav-arrange-btn:disabled{opacity:.45;cursor:wait}.nav-sort-item{position:relative}.nav-sort-item .nav-item{width:100%;box-sizing:border-box}.nav-sort-item.arranging .nav-item{padding-right:86px;cursor:grab}.nav-sort-item.arranging .soon{display:none}.nav-sort-item.dragging{opacity:.42}.nav-sort-item.drop-target .nav-item{background:var(--ink-2);box-shadow:inset 0 -2px 0 var(--brass)}.nav-order-controls{position:absolute;right:6px;top:5px;display:flex;align-items:center;gap:1px;color:#8d97a1}.nav-order-controls button{width:22px;height:24px;padding:0;border:0;border-radius:4px;display:grid;place-items:center;background:transparent;color:inherit;cursor:pointer}.nav-order-controls button:hover:not(:disabled){color:#fff;background:var(--ink-3)}.nav-order-controls button:disabled{opacity:.25;cursor:default}.nav-order-controls svg{width:13px;height:13px}.nav-drag-handle{width:18px;height:24px;display:grid;place-items:center;cursor:grab}.nav-item{display:flex;align-items:center;gap:11px;padding:9px 12px;margin-bottom:2px;border-radius:var(--radius-sm);color:#c6ccd2;text-decoration:none;font-size:13.5px;font-weight:500;border-left:2px solid transparent}.nav-item svg{width:17px;height:17px;opacity:.85}.nav-item:hover{background:var(--ink-2);color:#fff}.nav-item.active{background:var(--ink-2);color:#fff;border-left-color:var(--brass)}.nav-item.planned{color:#7d8791;cursor:default}.nav-item.planned:hover{background:transparent;color:#7d8791}.nav-item .soon{margin-left:auto;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);border:1px solid var(--ink-3);border-radius:4px;padding:1px 5px}.sidebar-user{border-top:1px solid var(--ink-3);padding:14px 16px;display:flex;align-items:center;gap:10px}.sidebar-user .avatar{width:30px;height:30px;border-radius:50%;background:var(--brass);color:var(--ink);font-weight:700;font-family:var(--font-display);display:grid;place-items:center;font-size:13px}.sidebar-user .who{flex:1;min-width:0}.sidebar-user .name{font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user .role{font-size:11px;color:#8d97a1;text-transform:capitalize}.sidebar-user-meta{display:flex;align-items:center;gap:4px;min-height:17px}.sidebar-user .sidebar-logout{width:20px;height:20px;padding:0;color:#8d97a1}.sidebar-user .sidebar-logout svg{width:13px;height:13px}.sidebar-user button{background:none;border:none;color:#8d97a1;cursor:pointer;padding:4px;border-radius:6px;display:grid;place-items:center}.sidebar-user button:hover{color:#fff;background:var(--ink-2)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 28px 0}.topbar h1{font-size:21px;font-weight:600}.topbar .crumb{font-size:12px;color:var(--muted);margin-bottom:2px}.content{padding:20px 28px 40px}.btn{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.btn:hover{border-color:var(--brass);color:var(--brass-strong)}.btn svg{width:15px;height:15px}.btn.primary{background:var(--brass);border-color:var(--brass);color:#fff}.btn.primary:hover{background:var(--brass-strong);border-color:var(--brass-strong);color:#fff}.btn.quiet{border-color:transparent;background:transparent;color:var(--muted)}.btn.quiet:hover{color:var(--text);background:var(--brass-soft)}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.field label{font-size:12px;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea{font-family:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px #2d5f8a24}.field .hint{font-size:12px;color:var(--faint)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-error{background:var(--debit-soft);color:var(--debit);border-radius:var(--radius-sm);padding:9px 12px;font-size:13px;margin-bottom:14px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.panel-head h3{font-size:14px;font-weight:600}.panel-body{padding:18px}.stat-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.stat-value{font-family:var(--font-mono);font-size:24px;font-weight:600;margin-top:4px;font-variant-numeric:tabular-nums}.stat-value .cur{font-size:13px;color:var(--muted);font-weight:500;margin-right:6px}.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 980px){.grid.cols-3,.grid.cols-2{grid-template-columns:1fr}}.ledger{width:100%;border-collapse:collapse;font-size:13.5px}.ledger th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);padding:10px 14px;border-bottom:1px solid var(--line-strong);white-space:nowrap}.ledger td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.ledger tbody tr:hover{background:#fbfaf6}.ledger tr.clickable{cursor:pointer}.ledger .num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.ledger .num.credit{color:var(--credit)}.ledger .num.debit{color:var(--debit)}.ledger .sub{font-size:12px;color:var(--muted);margin-top:1px}.ledger td.date{font-family:var(--font-mono);font-size:12.5px;color:var(--muted);white-space:nowrap}.badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;border-radius:20px;background:var(--brass-soft);color:var(--brass-strong);white-space:nowrap}.badge.credit{background:var(--credit-soft);color:var(--credit)}.badge.debit{background:var(--debit-soft);color:var(--debit)}.badge.neutral{background:#eef0f2;color:var(--muted)}.widget-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.widget{grid-column:span 6;position:relative}.widget.w-4{grid-column:span 4}.widget.w-8{grid-column:span 8}.widget.w-12{grid-column:span 12}@media (max-width: 980px){.widget,.widget.w-4,.widget.w-8{grid-column:span 12}}.widget .remove{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--debit);cursor:pointer;display:grid;place-items:center;z-index:2}.widget .remove:hover{background:var(--debit-soft)}.customise-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--brass-soft);border:1px dashed var(--brass);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;font-size:13px}.customise-bar .add-chip{border:1px solid var(--brass);background:var(--surface);color:var(--brass-strong);border-radius:20px;padding:4px 12px;font-size:12.5px;font-weight:600;cursor:pointer}.customise-bar .add-chip:hover{background:var(--brass);color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18243073;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:460px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #1824304d}.modal.wide{max-width:760px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.modal-head h3{font-size:15px}.modal-head button{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px}.modal-body{padding:20px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px}.empty{text-align:center;color:var(--muted);padding:40px 20px;font-size:13.5px}.empty .big{font-family:var(--font-display);font-size:15px;color:var(--text);margin-bottom:4px}.loading{color:var(--faint);padding:30px;text-align:center;font-size:13px}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap}.toolbar .spacer{flex:1}.toolbar input[type=search]{padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:13.5px;min-width:220px;background:var(--surface)}.page-note{font-size:13px;color:var(--muted);margin:4px 0 18px;max-width:640px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--ink);padding:20px}.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:12px;padding:32px;box-shadow:0 24px 80px #0006}.login-card .mark{font-family:var(--font-display);font-weight:700;font-size:20px}.login-card .mark span{color:var(--brass)}.login-card .tag{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:4px 0 24px}.login-hint{margin-top:18px;font-size:12px;color:var(--faint);border-top:1px dashed var(--line);padding-top:12px}.login-hint code{font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}.coming-soon{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:60px 30px;text-align:center;color:var(--muted);background:var(--surface)}.coming-soon h2{font-size:18px;color:var(--text);margin-bottom:8px}.coming-soon .soon-mark{color:var(--brass);font-size:11px;letter-spacing:.14em;text-transform:uppercase}@media (max-width: 800px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.sidebar-nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar-nav-head{flex-basis:100%}.nav-sort-item{min-width:160px}.nav-item{margin-bottom:0}.content,.topbar{padding-left:16px;padding-right:16px}}.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.kpi .kpi-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600;margin-top:4px;white-space:nowrap}.kpi .kpi-value.neg{color:var(--debit)}.kpi .kpi-sub{font-size:11.5px;color:var(--faint);margin-top:2px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line-strong);margin-bottom:18px;overflow-x:auto}.tab{border:none;background:none;padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--brass-strong);border-bottom-color:var(--brass)}.investor-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.investor-head h2{font-size:19px}.view-toggle{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden}.view-toggle button{border:none;background:var(--surface);padding:7px 13px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}.view-toggle button.active{background:var(--ink);color:#fff}.icon-btn{border:none;background:none;cursor:pointer;color:var(--faint);padding:4px;border-radius:5px;display:inline-grid;place-items:center}.icon-btn:hover{color:var(--text);background:var(--brass-soft)}.icon-btn.danger:hover{color:var(--debit);background:var(--debit-soft)}.icon-btn svg{width:15px;height:15px}.audit-diff{font-family:var(--font-mono);font-size:11.5px;background:#fbfaf6;border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 10px;white-space:pre-wrap;word-break:break-word;margin-top:6px}.section-gap{margin-bottom:16px}.mini-note{font-size:12px;color:var(--faint)}.fd-section-title{display:flex;align-items:baseline;gap:12px;font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding-bottom:8px;margin-bottom:12px;border-bottom:1px solid var(--line)}.fd-alloc{margin-left:auto;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px;letter-spacing:0;text-transform:none}.fd-alloc.good{color:var(--credit)}.fd-alloc.warn{color:var(--brass-strong)}.fd-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fd-form-grid .field{margin-bottom:0}.fd-form-grid .field.full{grid-column:1 / -1}.fd-form-grid input.readonly{background:var(--paper);color:var(--muted);cursor:default}.fd-summary-card{border:1px solid var(--line-strong);border-radius:var(--radius);padding:12px 14px;background:var(--paper);display:grid;gap:8px}.fd-summary-card .row{display:flex;justify-content:space-between;gap:12px;font-size:13px}.fd-summary-card .row span{color:var(--muted)}.fd-summary-card .row strong{color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fd-summary-card .row strong.neg{color:var(--debit)}.fd-schedule{margin-top:2px}.fd-schedule summary{cursor:pointer;font-size:12px;color:var(--focus);-webkit-user-select:none;user-select:none}.fd-schedule table{width:100%;margin-top:8px;border-collapse:collapse;font-size:12px}.fd-schedule td{padding:4px 6px;border-top:1px solid var(--line);color:var(--muted)}.fd-schedule td.num,.fd-schedule td.date{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fd-schedule td.num{text-align:right}.fd-schedule td.num.strong{color:var(--text);font-weight:600}.fd-participants{display:grid;gap:10px;margin-bottom:12px}.fd-participant{border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 12px;background:var(--surface)}.fd-participant.blocked{border-color:var(--debit);background:var(--debit-soft)}.fd-participant-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) auto auto;gap:8px;align-items:center}.fd-participant-head input{text-align:right}.fd-coverage{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);display:grid;gap:8px}.fd-coverage-figures{display:flex;flex-wrap:wrap;gap:18px;font-size:12px}.fd-coverage-figures span{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.fd-coverage-figures span.neg{color:var(--debit)}.fd-coverage-figures em{display:block;font-family:var(--font-body);font-style:normal;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:2px}.fd-verdict{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;border-radius:var(--radius-sm);padding:8px 10px}.fd-verdict svg{flex:none;margin-top:2px}.fd-verdict.ok{background:var(--credit-soft);color:var(--credit)}.fd-verdict.blocked{background:#fff;color:var(--debit);border:1px solid var(--debit)}.fd-verdict strong{font-weight:700}.fd-foot-status{margin-right:auto;font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fd-foot-status .warn{color:var(--brass-strong)}.fd-foot-status .danger{color:var(--debit)}.fd-foot-status .good{color:var(--credit)}.fd-banner{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--debit);background:var(--debit-soft);color:var(--debit);border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;font-size:13px;line-height:1.5}.fd-banner svg{flex:none;margin-top:2px}tr.row-flagged td{background:var(--debit-soft)}tr.detail-row td{background:var(--paper);padding:0 14px 14px}.fd-detail{display:grid;gap:12px;padding-top:4px}.fd-detail-meta{display:flex;flex-wrap:wrap;gap:22px;font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fd-detail-meta em{display:block;font-family:var(--font-body);font-style:normal;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);margin-bottom:2px}.fd-split{display:grid;gap:6px;font-size:13px}.fd-split .row{display:flex;justify-content:space-between;gap:12px}.fd-split .row span{color:var(--muted)}.fd-split .row strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fd-split-table{display:grid;grid-template-columns:1fr 130px 130px 130px;gap:4px 10px;font-size:13px}.fd-split-head,.fd-split-row,.fd-split-foot{display:contents}.fd-split-head span{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding-bottom:4px;border-bottom:1px solid var(--line)}.fd-split-row>span,.fd-split-row>input,.fd-split-foot>span{padding:5px 0;border-bottom:1px solid var(--line)}.fd-split-row:last-child>span,.fd-split-row:last-child>input{border-bottom:none}.fd-split-table .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.fd-split-row input.num{text-align:right;padding-right:4px;border:none;background:none;font-size:13px}.fd-split-row input.num:focus{outline:2px solid var(--focus);outline-offset:1px;border-radius:4px}.fd-split-foot{font-weight:600}.fd-split-foot span{border-bottom:none;padding-top:8px}.fd-split-foot .neg{color:var(--debit)}.mini-table{width:100%;border-collapse:collapse;font-size:12.5px;background:var(--surface)}.mini-table th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line-strong)}.mini-table td{padding:6px 8px;border-bottom:1px solid var(--line)}.mini-table tr:last-child td{border-bottom:none}.mini-table th.num,.mini-table td.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mini-table td.num.neg{color:var(--debit)}.badge.danger{background:var(--debit-soft);color:var(--debit)}.link-btn{background:none;border:none;padding:0 4px;font-size:12px;color:var(--focus);cursor:pointer}.link-btn:disabled{color:var(--faint);cursor:default}.btn.small{padding:5px 10px;font-size:12.5px}.fd-timeline{display:grid;gap:4px;min-width:190px}.fd-track{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.fd-fill{height:100%;border-radius:3px;transition:width .3s ease,background .3s ease}.fd-timeline-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.fd-timeline-label{white-space:nowrap}.fd-timeline-days{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--faint);white-space:nowrap}.fd-timeline.compact{min-width:0}.fd-timeline.compact .fd-track{height:4px}.fd-timeline.phase-due .fd-timeline-label{font-weight:700}.fd-timeline.phase-broken .fd-timeline-label{color:var(--debit)}tr.row-due td{background:#1e7a5a0d}.icon-btn.accent{color:var(--credit)}.icon-btn.accent:hover{color:var(--credit);background:var(--credit-soft)}.badge.brass{background:var(--brass-soft);color:var(--brass-strong)}.tab-count{display:inline-block;margin-left:7px;padding:1px 6px;border-radius:9px;background:var(--line);color:var(--muted);font-size:10.5px;font-variant-numeric:tabular-nums}.tab.active .tab-count{background:var(--brass-soft);color:var(--brass-strong)}.tab-dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--credit);vertical-align:middle}.fd-banner.good{border-color:var(--credit);background:var(--credit-soft);color:var(--credit);align-items:center}.fd-banner .btn{margin-left:auto;flex:none}.fd-widget-alert{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);font-size:12.5px;margin-bottom:8px;text-decoration:none}.fd-widget-alert svg{flex:none}.fd-widget-alert.good{background:var(--credit-soft);color:var(--credit)}.fd-widget-alert.bad{background:var(--debit-soft);color:var(--debit)}.fd-widget-alert:hover{filter:brightness(.97)}.up-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}.up-tile{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.up-tile-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--paper);color:var(--muted)}.up-tile-text{display:flex;flex-direction:column;min-width:0}.up-tile-label{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.up-tile-count{font-size:11.5px;color:var(--faint)}.up-tile-amount{margin-left:auto;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:650;font-size:13.5px;white-space:nowrap}.up-tile.danger{border-color:#a63d2f4d;background:var(--debit-soft)}.up-tile.danger .up-tile-icon,.up-tile.danger .up-tile-label,.up-tile.danger .up-tile-amount{color:var(--debit)}.up-tile.warn{border-color:#a8853b52;background:var(--brass-soft)}.up-tile.warn .up-tile-icon,.up-tile.warn .up-tile-label,.up-tile.warn .up-tile-amount{color:var(--brass-strong)}.up-tile.good{border-color:#1e7a5a4d;background:var(--credit-soft)}.up-tile.good .up-tile-icon,.up-tile.good .up-tile-label,.up-tile.good .up-tile-amount,.up-group-head.ready{color:var(--credit)}.status-pill.ready,.date-badge.due{background:var(--credit-soft);color:var(--credit)}.fd-widget-list{display:grid;gap:12px;margin-top:4px}.fd-widget-row-head{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;margin-bottom:4px}.fd-widget-row-head .name{color:var(--text);font-weight:600}.fd-widget-row-head .amount{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted)}.stat-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:13.5px}.stat-row:last-child{border-bottom:none}.stat-row .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.stat-row.total{font-weight:700}.btn-link{border:none;background:none;padding:0;color:var(--brass-strong);font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.btn-link:hover{color:var(--text)}input.input,select.input,textarea.input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 11px;font-size:13.5px;font-family:var(--font-body);background:#fff;color:var(--text);width:100%}input.input:focus,select.input:focus,textarea.input:focus{outline:2px solid var(--brass-soft);border-color:var(--brass)}.filter-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.filter-bar .spacer{flex:1}.filter-search{display:flex;align-items:center;gap:7px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:0 10px;background:#fff;min-width:210px;color:var(--faint)}.filter-search input{border:none;outline:none;padding:8px 0;font-size:13.5px;font-family:var(--font-body);background:transparent;width:100%;color:var(--text)}.filter-dates{display:flex;align-items:center;gap:8px}.filter-dates label{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.filter-dates input{width:140px;padding:7px 9px;font-size:13px}.filter-size{width:108px}.pagination{display:flex;align-items:center;gap:12px;padding:11px 2px 0;flex-wrap:wrap}.pagination .spacer{flex:1}.pagination .btn{padding:6px 12px;font-size:12.5px}.ledger tfoot td{border-top:2px solid var(--ink);border-bottom:none;font-weight:700;padding-top:12px;background:#faf9f6}.ledger tfoot .num{font-size:14px}.sidebar-brand{display:flex;align-items:center;gap:11px}.sidebar-brand .mark{width:34px;height:34px;border-radius:7px;flex:none;object-fit:contain;background:#fff}.sidebar-brand .words{display:flex;flex-direction:column;min-width:0}.sidebar-version{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#ffffff52;padding:0 18px 7px;font-family:var(--font-mono)}.kpi-strip.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}@media (max-width: 900px){.kpi-strip.compact{grid-template-columns:1fr}}.readonly-note{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted);background:var(--brass-soft);border:1px solid rgba(168,133,59,.25);border-radius:var(--radius-sm);padding:8px 12px;margin-bottom:14px}.ledger tr.clickable td:first-child{position:relative}.kpi-band-label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:4px 2px 8px}.kpi-band-label .btn-link{text-transform:none;letter-spacing:0;font-size:12px}.kpi-band-label>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:18px;text-align:center;color:var(--faint);font-size:13px;background:#ffffff80}.pick-row{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer}.pick-row:last-child{border-bottom:none}.pick-row .pick-name{flex:1}.pick-row .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--muted);font-size:12.5px}.btn.danger{background:var(--debit-soft);color:var(--debit);border-color:#b03a2e4d}.btn.danger:hover:not(:disabled){background:var(--debit);color:#fff;border-color:var(--debit)}.danger-note{display:flex;gap:10px;align-items:flex-start;background:var(--debit-soft);border:1px solid rgba(176,58,46,.3);border-radius:var(--radius-sm);padding:12px 14px;font-size:13px;color:var(--text)}.danger-note svg{color:var(--debit);flex:none;margin-top:1px}.form-notice{background:var(--credit-soft);border:1px solid rgba(31,122,90,.28);color:var(--credit);border-radius:var(--radius-sm);padding:10px 13px;font-size:13px;margin-bottom:14px}.master-picker{display:flex;gap:10px;flex-wrap:wrap}.master-chip{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:11px 15px;cursor:pointer;font-family:inherit;font-size:13.5px;color:var(--text)}.master-chip:hover{border-color:var(--brass)}.master-chip.active{border-color:var(--brass);background:var(--brass-soft)}.master-chip .name{font-weight:600}.master-chip .count{font-family:var(--font-mono);font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:20px;padding:1px 8px}.master-chip .badge{font-size:10px}code{font-family:var(--font-mono);font-size:12px;background:#efece4;padding:1px 5px;border-radius:4px}:root{--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace}body{letter-spacing:-.011em}h1,h2,h3,.page-title,.brand .word,.investor-head h2{font-family:var(--font-display);letter-spacing:0;font-weight:600}.sidebar-brand .word{font-family:var(--font-display);font-weight:600}.kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:20px}@media (max-width: 1100px){.kpi-strip{grid-template-columns:repeat(2,1fr)}}.kpi{position:relative;background:linear-gradient(180deg,#fff,#fbfaf7);border:1px solid var(--line);border-radius:14px;padding:16px 18px 14px;box-shadow:0 1px 2px #1d27330a;transition:box-shadow .15s ease,transform .15s ease;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--brass) 0%,rgba(168,133,59,.25) 100%)}.kpi:hover{box-shadow:0 4px 14px #1d273314;transform:translateY(-1px)}.kpi .stat-label{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.kpi-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:21px;font-weight:600;color:var(--ink);line-height:1.15;display:flex;align-items:baseline;gap:6px;white-space:nowrap}.kpi-value .ccy{font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--brass-strong);background:var(--brass-soft);border-radius:5px;padding:2px 6px;transform:translateY(-2px)}.kpi-value.neg{color:var(--debit)}.kpi-value.neg .ccy{color:var(--debit);background:var(--debit-soft)}.kpi-sub{font-size:11.5px;color:var(--faint);margin-top:7px}.kpi-band{border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:14px 16px 4px;margin-bottom:16px}.kpi-band.custom{background:linear-gradient(180deg,#fdfcf9,#f8f5ee)}.kpi-band .band-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.kpi-band .band-title{font-family:var(--font-display);font-size:14.5px;font-weight:600;color:var(--ink)}.kpi-band .band-chip{font-size:10.5px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--brass-strong);background:var(--brass-soft);border:1px solid rgba(168,133,59,.25);border-radius:20px;padding:2px 10px}.kpi-band .band-sub{font-size:12px;color:var(--faint);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kpi-band .spacer{flex:1}.kpi-band .kpi-strip{margin-bottom:12px}.kpi-band .kpi{background:#fff}.sidebar-user{position:relative}.user-version{margin-left:auto;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.08em;color:#fff6;border:1px solid rgba(255,255,255,.14);border-radius:5px;padding:2px 6px;align-self:flex-end;margin-bottom:2px}.progress{height:6px;border-radius:4px;background:#ece8df;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--brass) 0%,var(--brass-strong) 100%)}.progress.thick{height:9px;border-radius:6px}.bucket-chip{font-size:10.5px;font-weight:600;letter-spacing:.05em;border-radius:5px;padding:2px 7px}.bucket-chip.building{background:var(--brass-soft);color:var(--brass-strong)}.bucket-chip.other{background:#e8ecf3;color:#47566b}.status-chip{font-size:11px;font-weight:600;border-radius:20px;padding:2px 10px}.status-chip.paid{background:var(--credit-soft);color:var(--credit)}.status-chip.pending{background:#f3efe4;color:#8a6d1f}.status-chip.overdue{background:var(--debit-soft);color:var(--debit)}.status-chip.future{background:#e8ecf3;color:#47566b}.share-grid{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;margin-bottom:12px;background:#fbfaf7}.share-grid .share-row{display:grid;grid-template-columns:1.3fr 1.2fr 90px 130px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.share-grid .share-row:last-child{border-bottom:none}.share-grid .share-head{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.share-grid input,.share-grid select{padding:6px 8px;font-size:12.5px}:root{--font-num: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}.kpi-value,.ledger .num,.ledger td.date,.stat-value,.stat-row .mono,.pick-row .mono,.master-chip .count,.user-version,.pagination .mini-note{font-family:var(--font-num);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 17px 13px;box-shadow:none;transition:border-color .15s ease}.kpi:before{display:none}.kpi:hover{transform:none;box-shadow:none;border-color:var(--brass)}.kpi .stat-label{font-size:10px;font-weight:600;letter-spacing:.11em;color:var(--faint);margin-bottom:10px}.kpi-value{font-size:22.5px;font-weight:600;letter-spacing:-.02em;gap:7px}.kpi-value .ccy{font-size:11px;font-weight:500;letter-spacing:.04em;color:var(--faint);background:none;border:none;padding:0;transform:none}.kpi-value.neg .ccy{color:var(--debit);background:none}.kpi-sub{font-size:11px;color:var(--faint);margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.kpi-band{border-radius:14px;padding:16px 16px 6px}.kpi-band.custom{background:#fbf9f4}.kpi-band .band-chip{background:none;border:1px solid var(--line-strong);color:var(--muted)}.status-chip.partial{background:#eef3ec;color:#3c6e47}.split-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfaf7;margin:4px 0 8px}.split-box table.ledger td,.split-box table.ledger th{padding:8px 12px}:root{--font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: var(--font-body);--font-num: var(--font-body);--font-mono: var(--font-body)}body{letter-spacing:0}h1,h2,h3,.page-title,.brand .word,.investor-head h2,.sidebar-brand .word,.kpi-band .band-title{font-family:var(--font-body);font-weight:650;letter-spacing:-.015em}.kpi-value,.ledger .num,.ledger td.date,.stat-value,.stat-row .mono,.pick-row .mono,.master-chip .count,.user-version,.pagination .mini-note,.share-grid input,td.num,th.num{font-family:var(--font-body);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1,"zero" 0,"ss01" 0}.audit-diff,.audit-diff pre,code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-feature-settings:normal}.page-hero{min-height:138px;position:relative;overflow:hidden;display:flex;align-items:center;gap:28px;margin-bottom:18px;padding:24px 27px 24px 30px;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface);box-shadow:var(--shadow)}.page-hero:before{content:"";position:absolute;inset:20px auto 20px 0;width:3px;border-radius:0 3px 3px 0;background:var(--brass)}.page-hero>div{max-width:720px}.page-hero h2{max-width:660px;margin:6px 0;color:var(--ink);font-size:clamp(21px,2.4vw,27px);line-height:1.18}.page-hero p{max-width:670px;margin:0;color:var(--muted);font-size:12.5px}.page-hero>.btn,.page-hero>button:not(.btn){margin-left:auto;flex:none}.page-hero-eyebrow{display:inline-flex;align-items:center;gap:7px;color:var(--brass-strong);font-size:9.5px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}.page-hero-eyebrow svg{width:14px;height:14px}.filter-card{min-height:74px;display:flex;align-items:center;gap:18px;margin:0 0 12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 1px 3px #18243009}.filter-card-intro{min-width:260px;display:flex;align-items:center;gap:10px}.filter-card-intro>span{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:8px;color:var(--brass-strong);background:var(--brass-soft)}.filter-card-intro svg{width:15px;height:15px}.filter-card-intro>div{min-width:0;display:flex;flex-direction:column}.filter-card-intro strong{color:var(--ink);font-size:11.5px}.filter-card-intro small{color:var(--faint);font-size:9.5px}.filter-card-controls{display:flex;align-items:flex-end;flex-wrap:wrap;gap:7px;margin-left:auto}.filter-field{min-width:170px;position:relative;display:flex;flex-direction:column;gap:3px}.filter-field>span{display:inline-flex;align-items:center;gap:4px;padding-left:2px;color:var(--faint);font-size:8.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.filter-field>span svg{width:10px;height:10px}.filter-field:has(select):after{content:"";position:absolute;right:12px;bottom:13px;width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);pointer-events:none;transform:rotate(45deg)}.filter-field select,.filter-field input{width:100%;min-height:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:7px 10px;border:1px solid var(--line-strong);border-radius:7px;color:var(--ink);background:#fcfbf8;font:550 11.5px var(--font-body);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.filter-field select{padding-right:34px;cursor:pointer}.filter-field select:hover,.filter-field input:hover{border-color:#b9af99;background:#fff}.filter-field select:focus,.filter-field input:focus{outline:none;border-color:var(--brass);background:#fff;box-shadow:0 0 0 3px var(--brass-soft)}.filter-card-clear{min-height:36px;display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid transparent;border-radius:7px;color:var(--muted);background:transparent;font-size:10.5px;cursor:pointer}.filter-card-clear:hover{color:var(--brass-strong);background:var(--brass-soft)}.filter-card-clear svg{width:12px;height:12px}.filter-card-controls>.btn{min-height:36px;align-self:flex-end}.kpi.has-icon{display:flex;align-items:flex-start;gap:11px}.kpi .kpi-body{min-width:0;flex:1;display:flex;flex-direction:column}.kpi .kpi-icon{width:32px;height:32px;margin-top:2px;display:grid;place-items:center;flex:none;border-radius:8px;color:var(--brass-strong);background:var(--brass-soft)}.kpi .kpi-icon svg{width:15px;height:15px}a.kpi{color:inherit;text-decoration:none}a.kpi:hover{background:#fdfcfa}.kpi .kpi-arrow{width:14px;height:14px;flex:none;color:var(--faint)}.kpi .stat-label{display:block}.tab .tab-icon{vertical-align:-2px;margin-right:6px}@media (max-width: 900px){.page-hero{flex-direction:column;align-items:flex-start;gap:16px}.page-hero>.btn,.page-hero>button:not(.btn){margin-left:0}.filter-card{align-items:stretch;flex-direction:column}.filter-card-intro{min-width:0}.filter-card-controls{margin-left:0}.filter-field{min-width:140px;flex:1}}.kpi-strip{display:flex;gap:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 3px #1d27330d;margin-bottom:20px;overflow:hidden}.kpi-strip .kpi{flex:1 1 0;min-width:0;background:none;border:none;border-left:1px solid var(--line);border-radius:0;padding:18px 20px 16px;box-shadow:none}.kpi-strip .kpi:first-child{border-left:none}.kpi-strip .kpi:hover{border-color:var(--line);background:#fdfcfa}.kpi .stat-label{font-size:10.5px;font-weight:600;letter-spacing:.08em;color:var(--muted);margin-bottom:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-value{font-size:23px;font-weight:650;letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden}.kpi-value .ccy{font-size:11px;font-weight:500;color:var(--faint)}.kpi-sub{border-top:none;padding-top:0;margin-top:6px;font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 1100px){.kpi-strip{flex-wrap:wrap}.kpi-strip .kpi{flex:1 1 45%;border-top:1px solid var(--line)}.kpi-strip .kpi:nth-child(-n+2){border-top:none}}.kpi-band{border:none;background:none;padding:0;margin-bottom:22px}.kpi-band.custom{background:none}.kpi-band .band-head{margin-bottom:10px;padding:0 2px}.kpi-band .band-title{font-size:13.5px}.kpi-band .kpi-strip{margin-bottom:0}.kpi-band.custom .kpi-strip{background:#fcfbf8}.kpi-strip.compact{display:flex}.settle-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:13px}.settle-row:last-child{border-bottom:none}.settle-row .grow{flex:1;min-width:0}.settle-row select{padding:6px 8px;font-size:12.5px;max-width:190px}.settle-loan{display:flex;gap:8px;align-items:center;margin:4px 0 6px 30px;font-size:12px;color:var(--muted)}.settle-loan input,.settle-loan select{padding:5px 7px;font-size:12px;width:90px}.btn-settle{padding:5px 12px;font-size:12px;margin-right:6px}.fl-select{border:none;background:none;font-family:var(--font-body);font-size:12.5px;color:var(--muted);padding:4px 2px;border-bottom:1.5px solid transparent;cursor:pointer;max-width:150px}.fl-select:hover{color:var(--text)}.fl-select.set{color:var(--brass-strong);border-bottom-color:var(--brass)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}th.sortable:hover{color:var(--ink)}th.sortable .sort-mark{font-size:8.5px;margin-left:4px;color:var(--brass-strong)}th.sortable.sorted{color:var(--ink)}.pagination{border-top:1px solid var(--line);margin-top:0;padding:10px 4px 0}.pagination .fl-select{border:1px solid var(--line);border-radius:6px;padding:4px 8px}.upcoming-list{display:flex;flex-direction:column}.upcoming-row{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line);font-size:13px}.upcoming-row:last-child{border-bottom:none}.upcoming-row .due{min-width:84px;font-variant-numeric:tabular-nums;font-weight:600;color:var(--muted)}.upcoming-row .due.overdue{color:var(--debit)}.upcoming-row .what{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upcoming-row .amt{font-variant-numeric:tabular-nums;font-weight:600}.widget.dragging{opacity:.45}.widget.drop-target{outline:2px dashed var(--brass);outline-offset:3px}.widget .drag-handle{position:absolute;top:8px;left:10px;color:var(--faint);cursor:grab}.col-popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.col-popover{position:absolute;right:0;top:calc(100% + 6px);z-index:41;background:#fff;border:1px solid var(--line-strong);border-radius:10px;box-shadow:0 8px 28px #1d273324;min-width:230px;padding:8px 10px}.col-popover-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:4px 2px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.col-popover-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:5px 2px}.col-popover-row .icon-btn{padding:3px}.col-popover-row .icon-btn svg{width:13px;height:13px}.weight-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.weight-cell .paid-w{color:var(--credit)}.release-block{margin-bottom:18px}.release-block h4{margin:0 0 2px;font-size:14.5px}.release-block .rel-date{font-size:11.5px;color:var(--faint);margin-bottom:8px}.release-block ul{margin:4px 0 0;padding-left:18px;font-size:13px}.release-block li{margin-bottom:3px}.release-tag{font-size:10px;font-weight:700;letter-spacing:.06em;border-radius:4px;padding:1px 6px;margin-right:7px;vertical-align:1px}.release-tag.added{background:var(--credit-soft);color:var(--credit)}.release-tag.fixed{background:var(--debit-soft);color:var(--debit)}.release-tag.changed{background:var(--brass-soft);color:var(--brass-strong)}.user-version{cursor:pointer}.user-version:hover{color:#fff;border-color:#fff6}.up-rail{display:flex;flex-direction:column;gap:8px}.up-group{border:1px solid var(--line);border-radius:12px;padding:10px 12px 8px;background:#fcfbf7}.up-group-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:2px 2px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}.up-group-head.overdue{color:var(--debit)}.up-group-total{font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:0;text-transform:none}.up-table{display:flex;flex-direction:column;gap:0}.up-table-head{display:grid;grid-template-columns:84px minmax(0,1.8fr) 86px 92px 92px;gap:10px;align-items:center;padding:4px 2px 8px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.up-row-wrap{border-top:1px solid var(--line)}.up-row{display:grid;grid-template-columns:84px minmax(0,1.8fr) 86px 92px 92px;gap:10px;align-items:center;padding:10px 2px;cursor:pointer;border-radius:8px;transition:background .12s ease}.up-row:hover{background:#f6f2e7}.up-col{min-width:0}.up-col-date{font-size:12px;font-weight:600;color:var(--ink)}.up-col-date.overdue{color:var(--debit)}.up-col-bill{display:flex;flex-direction:column;gap:2px;min-width:0}.up-payee{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-meta{font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.up-col-status{display:flex;align-items:center}.up-col-amount{font-variant-numeric:tabular-nums;font-weight:650;font-size:13px;text-align:right}.up-col-people{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:11px;color:var(--muted)}.date-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 0;color:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}.status-pill{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#f2efe7;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.status-pill.overdue{background:#b03a2e1a;color:var(--debit)}.up-detail{margin:0 2px 8px 84px;padding:8px 10px;border-left:2px solid var(--line);background:#ffffff9e;border-radius:0 8px 8px 0}.up-person{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;gap:8px}.up-person-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.up-person-amount{font-variant-numeric:tabular-nums;font-weight:600;color:var(--muted);flex-shrink:0}.up-open{display:inline-flex;align-items:center;gap:5px;border:none;background:none;color:var(--brass-strong);font-family:var(--font-body);font-size:11.5px;font-weight:600;cursor:pointer;padding:6px 0 1px}.up-open:hover{text-decoration:underline}.up-rail.compact .up-group{padding:8px 10px 6px}.up-rail.compact .up-table-head,.up-rail.compact .up-row{grid-template-columns:72px minmax(0,1.5fr) 74px 78px 72px;gap:8px}.widget-figures{display:flex;gap:22px;align-items:flex-end;margin:2px 0 12px}.widget-figures .wf-value{display:block;font-size:19px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.widget-figures .wf-label{display:block;font-size:10.5px;color:var(--faint);text-transform:uppercase;letter-spacing:.07em;margin-top:1px}.widget-figures .wf-overdue .wf-value,.widget-figures .wf-overdue .wf-label{color:var(--debit)}.widget{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 1px 3px #1d27330d;padding:16px 18px;overflow:hidden}.widget .ledger{margin:0 -18px -16px;width:calc(100% + 36px)}.widget .ledger th:first-child,.widget .ledger td:first-child{padding-left:18px}.widget .ledger th:last-child,.widget .ledger td:last-child{padding-right:18px}.widget .drag-handle{top:10px;left:auto;right:34px}.widget .remove{z-index:2}.modal-backdrop{z-index:1000}.executive-overview{--exec-cash: #1f6f5f;--exec-cash-soft: #e8f3ef;--exec-fd: #b18a3f;--exec-fd-soft: #f5efdf;--exec-project: #526b88;--exec-project-soft: #eaf0f5;margin-bottom:34px}.exec-eyebrow{display:block;margin-bottom:6px;color:var(--brass-strong);font-size:10px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.exec-intro .exec-eyebrow{color:#d9bc7c}.exec-refresh{position:relative;z-index:1;flex:none;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:#ffffff0f;color:#ffffffd9;font-family:var(--font-body);text-align:left;cursor:pointer}.exec-refresh:hover{background:#ffffff1c;color:#fff}.exec-refresh:disabled{cursor:wait}.exec-refresh>svg{width:15px;height:15px;color:#d9bc7c}.exec-refresh>span{font-size:11px;font-weight:650;line-height:1.15}.exec-refresh small{display:block;margin-top:3px;color:#ffffff7a;font-size:9.5px;font-weight:450}.spinning{animation:exec-spin .9s linear infinite}@keyframes exec-spin{to{transform:rotate(360deg)}}.exec-data-note{margin:-32px 20px 39px;position:relative;z-index:2;display:flex;align-items:center;gap:7px;border:1px solid rgba(168,133,59,.3);border-radius:8px;padding:7px 10px;background:#fff9ea;color:var(--brass-strong);font-size:11.5px}.exec-data-note svg{width:14px;height:14px;flex:none}.exec-insight-grid{display:grid;grid-template-columns:minmax(330px,5fr) minmax(440px,7fr);gap:16px;margin-bottom:16px}.exec-panel{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fff;box-shadow:0 2px 9px #1d27330b}.exec-panel-head{min-height:34px;display:flex;align-items:center;gap:10px;margin-bottom:18px}.exec-panel-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--paper);color:var(--brass-strong);flex:none}.exec-panel-icon svg{width:16px;height:16px}.exec-panel-head h3{color:var(--ink);font-size:13.5px;font-weight:700}.exec-panel-head p{margin-top:2px;color:var(--faint);font-size:10.5px}.allocation-body{display:grid;grid-template-columns:164px minmax(0,1fr);gap:20px;align-items:center;min-height:182px}.allocation-donut{width:164px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px #1824300a}.allocation-donut:after{content:"";position:absolute;top:23px;right:23px;bottom:23px;left:23px;border-radius:50%;background:#fff;box-shadow:0 2px 12px #18243014}.allocation-donut>span{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1.1}.allocation-donut small{color:var(--faint);font-size:8.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.allocation-donut strong{margin:4px 0 3px;color:var(--ink);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.035em}.allocation-legend{min-width:0;display:grid;gap:5px}.allocation-row{min-width:0;display:grid;grid-template-columns:8px minmax(0,1fr) auto 34px;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11.5px}.allocation-row:last-child{border-bottom:0}.allocation-dot{width:8px;height:8px;border-radius:50%}.allocation-name{min-width:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.allocation-row strong{color:var(--ink);font-size:12px;font-variant-numeric:tabular-nums}.allocation-percent{color:var(--faint);text-align:right;font-size:10.5px;font-variant-numeric:tabular-nums}.coverage-badge{margin-left:auto;border-radius:20px;padding:4px 8px;font-size:9.5px;font-weight:750;letter-spacing:.04em;white-space:nowrap}.coverage-badge.good{color:var(--credit);background:var(--credit-soft)}.coverage-badge.danger{color:var(--debit);background:var(--debit-soft)}.coverage-amounts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.coverage-amounts>span{padding:9px 10px;border-radius:8px;background:var(--paper);min-width:0}.coverage-amounts small{display:block;color:var(--faint);font-size:9.5px;margin-bottom:3px}.coverage-amounts strong{display:block;color:var(--ink);font-size:14px;font-weight:680;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.coverage-amounts .good strong{color:var(--credit)}.coverage-amounts .danger strong{color:var(--debit)}.coverage-visual{margin-bottom:16px}.coverage-track{height:10px;display:flex;position:relative;overflow:hidden;border-radius:7px;background:#eceff1;box-shadow:inset 0 1px 2px #18243014}.coverage-track>span{height:100%}.coverage-cash{background:var(--exec-cash)}.coverage-fd{background:var(--exec-fd)}.coverage-target{position:absolute;right:0;top:-3px;width:2px;height:16px!important;background:var(--ink);opacity:.38}.coverage-key{display:flex;align-items:center;gap:12px;margin-top:6px;color:var(--faint);font-size:9.5px}.coverage-key span{display:inline-flex;align-items:center;gap:4px}.coverage-key i{width:7px;height:7px;border-radius:2px}.coverage-key i.cash{background:var(--exec-cash)}.coverage-key i.fds{background:var(--exec-fd)}.coverage-key .target{margin-left:auto}.outlook{border-top:1px solid var(--line);padding-top:13px}.outlook-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;color:var(--muted);font-size:10.5px;font-weight:650}.outlook-head>span{display:flex;align-items:center;gap:5px}.outlook-head svg{width:13px;height:13px;color:var(--brass-strong)}.outlook-head strong{font-size:11px;font-variant-numeric:tabular-nums}.outlook-head strong.good{color:var(--credit)}.outlook-head strong.danger{color:var(--debit)}.outlook-row{display:grid;grid-template-columns:86px minmax(80px,1fr) 70px;align-items:center;gap:9px;padding:4px 0;color:var(--faint);font-size:10px}.outlook-row>div{height:6px;border-radius:4px;background:#eef0f2;overflow:hidden}.outlook-row i{display:block;height:100%;border-radius:inherit}.outlook-row i.inflow{background:var(--credit)}.outlook-row i.outflow{background:var(--debit)}.outlook-row strong{color:var(--muted);font-size:10.5px;text-align:right;font-variant-numeric:tabular-nums}.action-panel .exec-panel-head{margin-bottom:13px}.exec-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.exec-action{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr) auto 13px;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:10px;color:var(--text);text-decoration:none;background:#fff}.exec-action:hover{border-color:var(--brass);background:#fcfbf7}.exec-action-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--muted);background:var(--paper)}.exec-action-icon svg{width:14px;height:14px}.exec-action.danger .exec-action-icon{color:var(--debit);background:var(--debit-soft)}.exec-action.warn .exec-action-icon{color:var(--brass-strong);background:var(--brass-soft)}.exec-action.good .exec-action-icon{color:var(--credit);background:var(--credit-soft)}.exec-action-copy{min-width:0;display:flex;flex-direction:column}.exec-action-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:11px}.exec-action-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--faint);font-size:9.5px;margin-top:2px}.exec-action-value{min-width:24px;height:24px;padding:0 6px;border-radius:12px;display:grid;place-items:center;color:var(--muted);background:var(--paper);font-size:11px;font-weight:750;font-variant-numeric:tabular-nums}.exec-action.danger .exec-action-value{color:var(--debit);background:var(--debit-soft)}.exec-action.warn .exec-action-value{color:var(--brass-strong);background:var(--brass-soft)}.exec-action.good .exec-action-value{color:var(--credit);background:var(--credit-soft)}.exec-action-arrow{width:12px;height:12px;color:var(--faint)}.exec-all-clear{min-height:58px;padding:12px 14px;border:1px solid rgba(30,122,90,.22);border-radius:10px;display:flex;align-items:center;gap:11px;background:var(--credit-soft);color:var(--credit)}.exec-all-clear>svg{width:21px;height:21px;flex:none}.exec-all-clear span{display:flex;flex-direction:column;font-size:10.5px;color:#477565}.exec-all-clear strong{margin-bottom:2px;color:var(--credit);font-size:12px}.dashboard-detail-head{display:flex;align-items:flex-end;gap:14px;margin:0 2px 14px;padding-top:2px}.dashboard-detail-head h2{color:var(--ink);font-size:17px;font-weight:680}.dashboard-detail-head p{color:var(--faint);font-size:11.5px;margin-top:2px}.dashboard-detail-head .spacer{flex:1}.loading-shell{min-height:235px;padding:24px;border-radius:18px;background:#eef0f2}.exec-loading-line{width:42%;height:18px;border-radius:8px;background:#fffc}.exec-loading-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:70px}.exec-loading-grid span{height:104px;border-radius:13px;background:#ffffffe6}.wallet-totals-widget .widget-head{align-items:flex-start}.widget.editing .widget-head{padding-right:54px}.widget-kicker{display:flex;align-items:center;gap:5px;margin-bottom:3px;color:var(--brass-strong);font-size:9px;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.widget-kicker svg{width:12px;height:12px}.live-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(30,122,90,.2);border-radius:20px;padding:3px 7px;color:var(--credit);background:var(--credit-soft);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.live-chip i{width:5px;height:5px;border-radius:50%;background:var(--credit);box-shadow:0 0 0 3px #1e7a5a1f}.wallet-balance-list{display:grid;gap:8px}.wallet-balance{min-height:66px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:linear-gradient(110deg,#fbfcfb,#f6f8f7)}.wallet-balance-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--exec-cash, #1f6f5f);background:#e8f3ef}.wallet-balance-icon svg{width:16px;height:16px}.wallet-balance small{display:block;color:var(--faint);font-size:9.5px;margin-bottom:2px;text-transform:uppercase;letter-spacing:.055em}.wallet-balance strong{color:var(--ink);font-size:18px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.025em}.wallet-balance strong.debit{color:var(--debit)}.wallet-currency{color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.07em}.wallet-widget-foot{display:flex;align-items:center;gap:13px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line);color:var(--faint);font-size:10.5px}.wallet-widget-foot>span{display:inline-flex;align-items:center;gap:4px}.wallet-widget-foot svg{width:12px;height:12px}.wallet-widget-foot strong{color:var(--muted)}.wallet-widget-foot a{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--brass-strong);font-size:10.5px;font-weight:650;text-decoration:none}.wallet-widget-foot a:hover{color:var(--ink)}@media (max-width: 1180px){.exec-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exec-insight-grid{grid-template-columns:1fr}.exec-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.exec-intro{min-height:178px;padding:21px 20px 56px;flex-direction:column}.exec-refresh{align-self:flex-start}.exec-kpi-grid{grid-template-columns:1fr;margin-left:10px;margin-right:10px}.exec-kpi{min-height:96px}.exec-insight-grid{grid-template-columns:minmax(0,1fr)}.allocation-body{grid-template-columns:1fr;justify-items:center}.allocation-legend{width:100%}.coverage-amounts{grid-template-columns:1fr}.coverage-key{flex-wrap:wrap}.coverage-key .target{margin-left:0;width:100%}.exec-action-grid{grid-template-columns:1fr}.dashboard-detail-head{align-items:flex-start;flex-wrap:wrap}.dashboard-detail-head .spacer{display:none}.dashboard-detail-head .btn{margin-left:auto}.exec-loading-grid{grid-template-columns:1fr;margin-top:40px}.exec-loading-grid span:not(:first-child){display:none}.outlook-row{grid-template-columns:76px minmax(60px,1fr) 64px}}.widget-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.widget-head h3{font-size:15px;color:var(--ink)}.wallet-widget-actions{display:flex;align-items:center;gap:6px;flex:none}.wallet-pick-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-family:var(--font-body);font-size:10px;font-weight:650;cursor:pointer}.wallet-pick-btn svg{width:12px;height:12px}.wallet-pick-btn:hover{color:var(--ink);border-color:var(--brass);background:#fcfbf7}.wallet-selected-total{min-height:72px;border-color:#1f6f5f33;background:radial-gradient(circle at 92% 15%,rgba(31,111,95,.08),transparent 27%),linear-gradient(110deg,#fbfdfc,#f3f8f6)}.wallet-investor-list{display:grid;gap:2px;margin-top:10px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.wallet-investor-row{min-width:0;min-height:51px;display:grid;grid-template-columns:30px minmax(0,1fr) auto 13px;align-items:center;gap:9px;padding:7px 3px;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.wallet-investor-row:last-child{border-bottom:0}.wallet-investor-row:hover{background:#fbfaf6}.wallet-investor-avatar{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;flex:none;color:#3f6675;background:#e9f0f2;font-size:9.5px;font-weight:750;letter-spacing:.03em}.wallet-investor-name{min-width:0;display:flex;flex-direction:column}.wallet-investor-name strong{overflow:hidden;color:var(--ink);font-size:11.5px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.wallet-investor-name small{margin-top:2px;color:var(--faint);font-size:9.5px}.wallet-investor-amount{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums;white-space:nowrap}.wallet-investor-amount strong{color:var(--text);font-size:11.5px;font-weight:650}.wallet-investor-amount.debit strong{color:var(--debit)}.wallet-investor-amount small{margin-top:2px;color:var(--faint);font-size:8.5px;font-weight:650;letter-spacing:.06em}.wallet-investor-row>svg{width:12px;height:12px;color:var(--faint)}.wallet-picker-summary{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid rgba(168,133,59,.22);border-radius:9px;background:var(--brass-soft);color:var(--brass-strong);font-size:11px}.wallet-picker-summary strong{font-size:15px;font-variant-numeric:tabular-nums}.wallet-picker-summary>span:last-child{color:#7e704d;font-size:10px}.wallet-picker-actions{display:flex;gap:7px;margin-bottom:9px}.wallet-picker-actions .btn{padding:5px 9px;font-size:10.5px}.wallet-picker-list{max-height:340px;overflow-y:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.wallet-picker-row{min-width:0;min-height:51px;display:grid;grid-template-columns:17px 30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:7px 4px;border-bottom:1px solid var(--line);cursor:pointer}.wallet-picker-row:last-child{border-bottom:0}.wallet-picker-row:hover{background:#fbfaf6}.wallet-picker-row.selected{background:#f8f4e9}.wallet-picker-row.disabled{opacity:.42;cursor:not-allowed}.wallet-picker-row input{accent-color:var(--brass-strong)}.wallet-picker-limit{margin-top:9px;color:var(--brass-strong);font-size:10.5px}@media (max-width: 560px){.wallet-widget-actions .live-chip{display:none}.wallet-investor-row{grid-template-columns:30px minmax(0,1fr) auto}.wallet-investor-row>svg{display:none}.wallet-picker-summary{align-items:flex-start;flex-direction:column}.wallet-picker-row{grid-template-columns:17px 29px minmax(0,1fr)}.wallet-picker-row .wallet-investor-amount{grid-column:3;align-items:flex-start}}.modal.xwide{max-width:min(980px,calc(100vw - 40px))}.modal,.modal-head,.modal-body,.modal-foot{min-width:0}.modal{overflow-x:hidden}.modal-foot{flex-wrap:wrap}.stocks-page,.stock-detail-page{--stock-blue: #526b88;--stock-blue-dark: #354c66;--stock-blue-soft: #eaf0f5;--stock-gold: #b18a3f;--stock-gold-soft: #f5efdf}.stock-currency-stack{min-width:0;display:grid;gap:2px}.stock-currency-stack strong,.stocks-kpi>span>strong{color:var(--ink);font-size:18px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.025em;white-space:nowrap}.stock-currency-stack strong small{display:inline;margin-right:5px;color:var(--muted);font-size:8.5px}.stock-basis-note{display:inline-flex;align-items:center;gap:5px;color:var(--faint);font-size:10px;font-weight:550}.stock-basis-note svg{width:12px;height:12px;color:var(--stock-gold, #b18a3f)}.stock-position-table-wrap{width:100%;overflow-x:auto}.stock-position-table,.stock-purchase-table{min-width:1060px}.stock-position-table tbody tr{transition:background .12s ease}.stock-security-cell{min-width:215px;display:flex;align-items:center;gap:9px;color:var(--text);text-decoration:none}.stock-security-cell:hover strong{color:var(--brass-strong)}.stock-security-cell>span:last-child{min-width:0;display:flex;flex-direction:column}.stock-security-cell strong{overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.stock-security-cell small{margin-top:2px;color:var(--faint);font-size:10px}.stock-ticker{min-width:48px;padding:5px 6px;border:1px solid rgba(82,107,136,.18);border-radius:7px;color:var(--stock-blue-dark);background:var(--stock-blue-soft);font-size:9.5px;font-weight:800;text-align:center;letter-spacing:.035em}.stock-owner-count{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:11px;font-weight:650}.stock-owner-count svg{width:12px;height:12px}.ledger .strong{font-weight:700;color:var(--ink)}.stocks-page,.stock-detail-page{width:100%;min-width:0;max-width:100%}.stocks-page>.panel{min-width:0;overflow:hidden}.stock-dashboard-position-grid{padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stock-dashboard-position{min-width:0;padding:14px;border:1px solid var(--line);border-radius:11px;display:grid;gap:13px;color:var(--text);background:#fff;text-decoration:none;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.stock-dashboard-position:hover{border-color:#a8853b8c;box-shadow:0 7px 22px #1d273314;transform:translateY(-1px)}.stock-dashboard-position-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.stock-dashboard-position-head>span:nth-child(2){min-width:0;display:flex;flex-direction:column}.stock-dashboard-position-head strong{overflow:hidden;color:var(--ink);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.stock-dashboard-position-head small{margin-top:2px;overflow:hidden;color:var(--faint);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.stock-dashboard-position-head>svg{width:15px;height:15px;color:var(--brass)}.stock-dashboard-position-value{min-width:0;padding:10px 11px;border-radius:9px;display:flex;align-items:baseline;justify-content:space-between;gap:10px;background:var(--stock-blue-soft)}.stock-dashboard-position-value small{color:var(--stock-blue);font-size:9px;font-weight:750;letter-spacing:.055em;text-transform:uppercase}.stock-dashboard-position-value strong{color:var(--stock-blue-dark);font-size:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-dashboard-position-value strong i{margin-right:5px;color:var(--muted);font-size:8px;font-style:normal}.stock-dashboard-position-value strong.closed{color:var(--muted);font-size:13px}.stock-dashboard-position-metrics{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.stock-dashboard-position-metrics>span{min-width:0;display:flex;flex-direction:column}.stock-dashboard-position-metrics small{color:var(--faint);font-size:8px;white-space:nowrap}.stock-dashboard-position-metrics strong{margin-top:2px;overflow:hidden;color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.stock-dashboard-position-metrics strong svg{width:10px;height:10px;margin-right:3px;vertical-align:-1px}.stocks-empty{min-height:330px;border:1px dashed var(--line-strong);border-radius:15px;display:grid;place-items:center;align-content:center;background:#ffffff8c}.stocks-empty .empty{padding-bottom:14px}.stock-form-section{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--line)}.stock-form-section.compact,.stock-form-section:last-child{margin-bottom:0;padding-bottom:0;border-bottom:0}.stock-form-section-head{min-height:35px;display:flex;align-items:center;gap:9px;margin-bottom:12px}.stock-form-section-head>span:first-child{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;flex:none;color:#fff;background:var(--stock-blue);font-size:11px;font-weight:750}.stock-form-section-head>div{display:flex;flex-direction:column}.stock-form-section-head strong{color:var(--ink);font-size:12.5px}.stock-form-section-head small{margin-top:2px;color:var(--faint);font-size:10px}.stock-form-grid{display:grid;gap:11px}.stock-form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-form-grid .field{margin-bottom:0}.stock-security-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.stock-security-picker .field{margin-bottom:0}.stock-add-security{height:38px}.stock-add-security.active{border-color:var(--stock-gold);color:var(--brass-strong);background:var(--stock-gold-soft)}.stock-security-selected{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:10.5px}.stock-security-selected strong{color:var(--stock-blue-dark);font-size:11px}.stock-security-selected span{padding:2px 6px;border-radius:5px;color:var(--muted);background:var(--paper)}.new-security-inline{margin-top:11px;padding:14px;border:1px dashed rgba(82,107,136,.38);border-radius:11px;background:#f7f9fb}.new-security-head{margin-bottom:10px}.new-security-head>div{display:flex;flex-direction:column}.new-security-head strong{color:var(--ink);font-size:12px}.new-security-head span{margin-top:2px;color:var(--faint);font-size:9.5px}.new-security-save{display:flex;align-items:flex-end;justify-content:flex-end}.new-security-save .btn{margin-bottom:1px}.stock-cost-strip{display:grid;grid-template-columns:1fr 18px 1fr 18px 1.2fr;align-items:center;gap:8px;margin-top:11px;padding:11px 13px;border-radius:10px;background:var(--paper)}.stock-cost-strip>span:not(.operator){min-width:0;display:flex;flex-direction:column}.stock-cost-strip small{margin-bottom:3px;color:var(--faint);font-size:9px;text-transform:uppercase;letter-spacing:.055em}.stock-cost-strip strong{overflow:hidden;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.stock-cost-strip .operator{color:var(--faint);text-align:center}.stock-cost-strip .total{padding-left:11px;border-left:1px solid var(--line)}.stock-cost-strip .total strong{color:var(--ink);font-size:15px}.stock-fee-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 11px}.stock-fee-grid .field{margin-bottom:0}.stock-acquisition-summary{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin-top:11px}.stock-acquisition-summary>span{min-width:0;display:flex;flex-direction:column;padding:9px 11px;border-radius:9px;background:var(--paper)}.stock-acquisition-summary small{margin-bottom:3px;color:var(--faint);font-size:9px}.stock-acquisition-summary strong{color:var(--ink);font-size:13px;font-variant-numeric:tabular-nums}.stock-acquisition-summary strong.credit{color:var(--credit)}.stock-acquisition-summary .total{display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;column-gap:8px;background:var(--stock-blue-soft)}.stock-acquisition-summary .total svg{grid-row:1 / 3;align-self:center;width:21px;height:21px;color:var(--stock-blue)}.stock-acquisition-summary .total strong{color:var(--stock-blue-dark);font-size:15px}.stock-allocation-total{margin-left:auto;padding:4px 8px;border-radius:20px;color:var(--brass-strong);background:var(--brass-soft);font-size:9.5px;font-weight:700;white-space:nowrap}.stock-allocation-total.good{color:var(--credit);background:var(--credit-soft)}.stock-allocation-list{display:grid;gap:7px}.stock-allocation-row{display:grid;grid-template-columns:minmax(160px,1.15fr) minmax(120px,.8fr) 82px minmax(105px,.7fr) 28px;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fcfcfb}.stock-allocation-row.funded{grid-template-columns:minmax(145px,1fr) minmax(110px,.7fr) 76px minmax(105px,.65fr) minmax(160px,1fr) 28px}.stock-allocation-row select,.stock-allocation-row input{min-width:0;padding:7px 8px;font-size:11.5px}.stock-allocation-row .btn-link{font-size:9.5px;text-align:left}.stock-allocation-cost{min-width:0;display:flex;flex-direction:column;align-items:flex-end}.stock-allocation-cost small{color:var(--faint);font-size:8.5px}.stock-allocation-cost strong{margin-top:2px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.stock-add-investor{margin-top:8px;padding:6px 9px;font-size:10.5px}.stock-modal-status{margin-right:auto;display:flex;align-items:center}.stock-modal-status span{font-size:10.5px;font-weight:650}.stock-modal-status .good{display:flex;align-items:center;gap:4px;color:var(--credit)}.stock-modal-status .good svg{width:13px;height:13px}.stock-modal-status .warn{color:var(--brass-strong)}.stock-purchase-funder{min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fcfcfb}.stock-purchase-funder.blocked{border-color:#e6bbb3;background:#fff9f7}.stock-funding-coverage{margin-top:9px;padding-top:9px;border-top:1px solid var(--line)}.stock-link-intro{margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:var(--paper);font-size:10.5px;line-height:1.55}.stock-link-intro strong{color:var(--ink)}.stock-link-funder-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.1fr) minmax(110px,.55fr);align-items:center;gap:9px}.stock-link-funder-head>span:first-child{min-width:0;display:flex;flex-direction:column}.stock-link-funder-head>span:first-child strong{overflow:hidden;color:var(--ink);font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.stock-link-funder-head>span:first-child small{margin-top:2px;color:var(--faint);font-size:9px}.stock-link-funder-head select{min-width:0}.stock-back{display:inline-flex;align-items:center;gap:5px;margin:0 0 11px 2px;color:var(--muted);font-size:11px;font-weight:600;text-decoration:none}.stock-back:hover{color:var(--brass-strong)}.stock-back svg{width:13px;height:13px}.stock-detail-head{display:flex;align-items:center;gap:13px;margin-bottom:15px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.stock-detail-identity{min-width:0;display:flex;align-items:center;gap:12px}.stock-detail-ticker{min-width:58px;padding:9px 8px;border-radius:9px;color:#fff;background:var(--stock-blue);font-size:11px;font-weight:800;text-align:center;letter-spacing:.04em}.stock-detail-identity h2{overflow:hidden;color:var(--ink);font-size:20px;text-overflow:ellipsis;white-space:nowrap}.stock-detail-identity p{margin-top:3px;color:var(--faint);font-size:10.5px}.stock-cost-basis-chip{margin-left:auto;padding:4px 8px;border-radius:20px;color:var(--stock-blue);background:var(--stock-blue-soft);font-size:9px;font-weight:700;white-space:nowrap}.stock-detail-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.stock-detail-kpis article{min-width:0;min-height:103px;padding:14px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;background:#fff}.stock-detail-kpis small{color:var(--faint);font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.stock-detail-kpis strong{margin:8px 0 5px;overflow:hidden;color:var(--ink);font-size:17px;font-weight:680;font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.stock-detail-kpis strong.credit{color:var(--credit)}.stock-detail-kpis strong i{margin-right:4px;color:var(--faint);font-size:8px;font-style:normal;letter-spacing:.04em}.stock-detail-kpis article>span{color:var(--faint);font-size:9.5px}.stock-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.85fr);gap:15px;margin-bottom:17px}.stock-detail-grid .panel{min-width:0;overflow:hidden}.stock-owner-table th,.stock-owner-table td{padding-left:11px;padding-right:11px}.stock-detail-actions{display:flex;align-items:center;gap:7px}.stock-detail-actions .btn{white-space:nowrap}.stock-payout-list{display:grid;gap:8px}.stock-payout-row,.stock-sale-row{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;display:grid;align-items:center;gap:10px;background:#fff}.stock-payout-row{grid-template-columns:minmax(180px,1.2fr) minmax(130px,.7fr) minmax(190px,1fr)}.stock-sale-row{grid-template-columns:minmax(160px,1.05fr) minmax(100px,.55fr) 44px minmax(105px,.55fr) minmax(125px,.65fr) minmax(170px,.9fr)}.stock-sale-row.loss{border-color:#e6bbb3;background:#fff9f7}.stock-sale-row.gain{border-color:#cfe5db;background:#f9fdfb}.stock-payout-investor,.stock-payout-equation{min-width:0;display:flex;flex-direction:column}.stock-payout-investor strong{overflow:hidden;color:var(--ink);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stock-payout-investor small,.stock-payout-equation small{margin-top:2px;color:var(--faint);font-size:9px}.stock-payout-equation strong{margin-top:2px;color:var(--credit);font-size:12px;font-variant-numeric:tabular-nums}.stock-payout-row select,.stock-sale-row select,.stock-sale-row input{min-width:0}.stock-sale-row .btn-link{font-size:9.5px;white-space:nowrap}.stock-sale-signal{min-width:0;display:flex;flex-direction:column}.stock-sale-signal small{color:var(--faint);font-size:8.5px;white-space:nowrap}.stock-sale-signal strong{margin-top:2px;font-size:10.5px;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-sale-signal.gain strong{color:var(--credit)}.stock-sale-signal.loss strong{color:var(--debit)}.stock-payout-empty{padding:22px;color:var(--faint);font-size:11px;text-align:center}.stock-wallet-impact{margin-top:13px;padding:10px 12px;border:1px solid #cfe5db;border-radius:10px;display:flex;align-items:center;gap:9px;color:var(--credit);background:var(--credit-soft)}.stock-wallet-impact>svg{width:20px;height:20px;flex:none}.stock-wallet-impact>span{display:flex;flex-direction:column}.stock-wallet-impact strong{font-size:11px}.stock-wallet-impact small{margin-top:2px;color:var(--muted);font-size:9.5px}.stock-cash-history-table{min-width:1180px}.stock-fee-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stock-funding-action{display:flex;align-items:center;gap:5px}.stock-funding-action .btn-link{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.stock-funding-action svg{width:12px;height:12px}.stock-funding-details{position:relative}.stock-funding-details summary{color:var(--muted);font-size:9.5px;font-weight:650;cursor:pointer;white-space:nowrap}.stock-funding-details[open]>div{position:absolute;right:0;top:calc(100% + 5px);z-index:6;min-width:260px;padding:9px 10px;border:1px solid var(--line-strong);border-radius:9px;display:grid;gap:5px;background:#fff;box-shadow:0 8px 24px #1d273324}.stock-funding-details>div>span{display:flex;justify-content:space-between;gap:12px;color:var(--faint);font-size:9px}.stock-funding-details>div>span strong{color:var(--muted);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.stock-wallet-tab{width:100%;min-width:0;max-width:100%;display:grid;gap:13px;overflow-x:clip}.stock-wallet-kpis{margin-bottom:0}.stock-wallet-currencies{display:flex;flex-wrap:wrap;gap:4px 12px}.stock-wallet-currencies>strong{display:inline-flex;align-items:baseline;gap:4px}.stock-wallet-currencies>strong small{color:var(--faint);font-size:8px;letter-spacing:.05em}.stock-position-table-wrap{max-width:100%;overflow-x:auto}.stock-investor-position-list{min-width:0;display:grid;gap:12px}.stock-investor-position-card{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.stock-investor-position-head{min-width:0;padding:13px 14px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px}.stock-investor-security{min-width:0;display:flex;flex-direction:column}.stock-investor-security strong{overflow:hidden;color:var(--ink);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.stock-investor-security small{margin-top:2px;overflow:hidden;color:var(--faint);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.stock-investor-position-head .btn{padding:6px 9px;font-size:10px;white-space:nowrap}.stock-investor-position-head .btn svg{width:12px;height:12px}.stock-investor-position-summary{min-width:0;padding:11px 14px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:7px;background:#fcfcfb}.stock-investor-position-summary>span{min-width:0;padding:7px 8px;border-left:2px solid var(--line);display:flex;flex-direction:column}.stock-investor-position-summary small{color:var(--faint);font-size:8px;font-weight:650;letter-spacing:.035em;text-transform:uppercase}.stock-investor-position-summary strong{margin-top:3px;overflow:hidden;color:var(--ink);font-size:11px;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.stock-investor-position-summary strong.credit,.stock-investor-transaction strong.credit{color:var(--credit)}.stock-investor-position-summary strong.debit,.stock-investor-transaction strong.debit{color:var(--debit)}.stock-investor-transactions{min-width:0;padding:12px 14px 14px}.stock-investor-transactions-head{min-width:0;margin-bottom:8px;display:flex;align-items:center;gap:8px}.stock-investor-transactions-head strong{color:var(--ink);font-size:11.5px}.stock-investor-transactions-head span{padding:2px 7px;border-radius:20px;color:var(--muted);background:var(--paper);font-size:8.5px;font-weight:650}.stock-investor-transaction-list{min-width:0;display:grid;gap:6px}.stock-investor-transaction{min-width:0;padding:8px 9px;border:1px solid var(--line);border-left:3px solid var(--stock-blue);border-radius:8px;display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));align-items:start;gap:7px;background:#fff}.stock-investor-transaction.sale{border-left-color:var(--brass)}.stock-investor-transaction.dividend{border-left-color:var(--credit)}.stock-investor-transaction>span{min-width:0;display:flex;flex-direction:column}.stock-investor-transaction small{color:var(--faint);font-size:7.5px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.stock-investor-transaction strong{min-width:0;margin-top:2px;overflow-wrap:anywhere;color:var(--muted);font-size:9.5px;font-variant-numeric:tabular-nums;font-weight:650}.stock-investor-transaction>span:nth-child(2) strong{display:flex;align-items:center;gap:5px}.stock-transaction-kind{padding:2px 5px;border-radius:4px;flex:none;color:var(--stock-blue);background:var(--stock-blue-soft);font-size:8px;font-style:normal;font-weight:750}.stock-transaction-kind.sale{color:var(--brass-strong);background:var(--brass-soft)}.stock-transaction-kind.dividend{color:var(--credit);background:var(--credit-soft)}.stock-chart{width:100%}.stock-chart svg{width:100%;height:auto;display:block;overflow:visible}.stock-chart svg text{fill:var(--faint);font-family:var(--font-body);font-size:9px;font-variant-numeric:tabular-nums}.stock-chart-caption{display:flex;justify-content:space-between;gap:10px;margin-top:3px;color:var(--faint);font-size:9.5px}.stock-chart-caption span:first-child{display:inline-flex;align-items:center;gap:5px}.stock-chart-caption i{width:15px;height:3px;border-radius:2px;background:var(--stock-blue)}.stock-chart-empty{min-height:220px;display:grid;place-items:center;color:var(--faint);font-size:11px}.stock-purchase-table td{vertical-align:middle}.stock-allocation-chips{min-width:150px;display:flex;flex-wrap:wrap;gap:3px}.stock-allocation-chips span{padding:2px 5px;border-radius:5px;color:var(--muted);background:var(--paper);font-size:9px;white-space:nowrap}.stock-fee-details{position:relative}.stock-fee-details summary{color:var(--muted);font-weight:600;cursor:pointer;list-style-position:outside}.stock-fee-details summary.credit{color:var(--credit)}.stock-fee-details[open]>div{position:absolute;right:0;top:calc(100% + 5px);z-index:5;min-width:245px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:9px;display:grid;gap:5px;background:#fff;box-shadow:0 8px 24px #1d273324}.stock-fee-details>div>span{display:flex;justify-content:space-between;gap:12px;font-size:9.5px}.stock-fee-details em{color:var(--faint);font-style:normal}.stock-fee-details strong{color:var(--muted);font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width: 1200px){.stocks-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-dashboard-position-grid{grid-template-columns:1fr}.stock-dashboard-position-metrics{grid-template-columns:repeat(5,minmax(90px,1fr))}.stock-investor-transaction,.stock-detail-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.stock-detail-grid{grid-template-columns:1fr}}@media (max-width: 900px){.stock-allocation-row.funded{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px}.stock-allocation-row.funded>select:first-child{grid-column:1;grid-row:1}.stock-allocation-row.funded>select:nth-child(2){grid-column:2;grid-row:1}.stock-allocation-row.funded>input{grid-column:1;grid-row:2}.stock-allocation-row.funded .btn-link{grid-column:1;grid-row:3}.stock-allocation-row.funded .stock-allocation-cost{grid-column:2;grid-row:2}.stock-allocation-row.funded .icon-btn{grid-column:3;grid-row:1}.stock-link-funder-head{grid-template-columns:1fr 1fr}.stock-link-funder-head .stock-allocation-cost{grid-column:2}.stock-sale-row{grid-template-columns:1fr 1fr}.stock-sale-row select{grid-column:1 / -1}.stock-fee-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-investor-position-head{grid-template-columns:auto minmax(0,1fr) auto}.stock-investor-position-head .btn{grid-column:2 / 4;justify-self:start}}@media (max-width: 760px){.stocks-hero{align-items:flex-start;flex-direction:column}.stocks-kpi-grid,.stock-form-grid.cols-2,.stock-form-grid.cols-3,.stock-fee-grid,.stock-acquisition-summary,.stock-cost-strip{grid-template-columns:1fr}.stock-cost-strip .operator{display:none}.stock-cost-strip .total{padding:9px 0 0;border-left:0;border-top:1px solid var(--line)}.stock-allocation-row,.stock-allocation-row.funded{grid-template-columns:1fr 1fr 28px}.stock-allocation-row.funded>select:first-child{grid-column:1;grid-row:1}.stock-allocation-row.funded>select:nth-child(2){grid-column:2;grid-row:1}.stock-allocation-row.funded>input{grid-column:1;grid-row:2}.stock-allocation-row.funded .btn-link{grid-column:1;grid-row:3}.stock-allocation-row.funded .stock-allocation-cost{grid-column:2;grid-row:2}.stock-allocation-row.funded .icon-btn{grid-column:3;grid-row:1}.stock-allocation-row .btn-link{grid-column:1}.stock-allocation-cost{grid-column:2;grid-row:2}.stock-allocation-row .icon-btn{grid-column:3;grid-row:1}.stock-link-funder-head{grid-template-columns:1fr 1fr}.stock-link-funder-head .stock-allocation-cost{grid-column:2}.stock-detail-head{align-items:flex-start;flex-wrap:wrap}.stock-cost-basis-chip{margin-left:0}.stock-detail-actions{width:100%;flex-wrap:wrap}.stock-detail-actions .btn:last-child{margin-left:auto}.stock-detail-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-payout-row,.stock-sale-row{grid-template-columns:1fr 1fr}.stock-payout-row select,.stock-sale-row select{grid-column:1 / -1}}@media (max-width: 520px){.modal-backdrop{padding:8px}.modal.xwide{max-width:calc(100vw - 16px)}.modal-foot .stock-modal-status{width:100%}.stocks-hero{padding:21px}.stock-security-picker{grid-template-columns:1fr}.stock-add-security{height:auto;justify-self:start}.stock-security-selected{flex-wrap:wrap}.stock-form-section-head{align-items:flex-start;flex-wrap:wrap}.stock-dashboard-position-grid{padding:9px}.stock-dashboard-position-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.stock-dashboard-position-value{align-items:flex-start;flex-direction:column}.stock-investor-position-head{grid-template-columns:auto minmax(0,1fr)}.stock-investor-position-head>.badge{grid-column:2;justify-self:start}.stock-investor-position-head .btn{grid-column:1 / 3;justify-self:stretch;justify-content:center}.stock-investor-position-summary,.stock-investor-transaction{grid-template-columns:1fr 1fr}.stock-allocation-total{width:100%;margin-left:36px}.stock-allocation-row,.stock-allocation-row.funded{grid-template-columns:1fr 28px}.stock-allocation-row.funded>select:first-child{grid-column:1;grid-row:1}.stock-allocation-row.funded>select:nth-child(2){grid-column:1;grid-row:2}.stock-allocation-row.funded>input{grid-column:1;grid-row:3}.stock-allocation-row.funded .btn-link{grid-column:1;grid-row:4}.stock-allocation-row.funded .stock-allocation-cost{grid-column:1;grid-row:5;align-items:flex-start}.stock-allocation-row.funded .icon-btn{grid-column:2;grid-row:1}.stock-allocation-row>input{grid-column:1;grid-row:2}.stock-allocation-row .btn-link{grid-column:1;grid-row:3}.stock-allocation-cost{grid-column:1;grid-row:4;align-items:flex-start}.stock-link-funder-head{grid-template-columns:1fr}.stock-link-funder-head .stock-allocation-cost{grid-column:1}.stock-detail-identity{align-items:flex-start}.stock-detail-kpis{grid-template-columns:1fr}.stock-chart-caption{flex-direction:column}.stock-payout-row,.stock-sale-row{grid-template-columns:1fr}.stock-payout-row select,.stock-sale-row select{grid-column:auto}.stock-detail-actions .btn{width:100%;margin-left:0!important}}.login-card{max-width:410px;padding:36px}.login-shield{width:42px;height:42px;display:grid;place-items:center;margin-bottom:18px;border:1px solid rgba(168,133,59,.32);border-radius:12px;color:var(--brass-strong);background:var(--brass-soft)}.login-shield svg{width:21px;height:21px}.login-submit,.security-gate-submit{width:100%;justify-content:center}.login-link{width:100%;margin-top:10px;padding:4px;border:0;color:var(--brass-strong);background:transparent;cursor:pointer;font:inherit;font-size:12px}.login-security-note{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--faint);font-size:11.5px;line-height:1.55}.sidebar-signout svg{width:15px;height:15px}.security-gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(168,133,59,.12),transparent 34%),var(--ink)}.security-gate-card{width:min(100%,500px);padding:34px;border-radius:14px;background:var(--surface);box-shadow:0 24px 80px #0006}.security-gate-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;color:var(--brass-strong);background:var(--brass-soft)}.security-gate-icon svg{width:23px;height:23px}.security-gate h1{margin-top:18px;font-size:22px}.security-gate-card>p{margin:7px 0 22px;color:var(--muted);font-size:13px;line-height:1.55}.security-steps{margin:0 0 16px 20px;color:var(--muted);font-size:12.5px;line-height:1.7}.two-factor-qr{display:block;width:220px;height:220px;margin:0 auto 14px;border:8px solid #fff;border-radius:10px}.manual-secret{display:flex;flex-direction:column;gap:4px;margin-bottom:15px;text-align:center;color:var(--faint);font-size:11px}.manual-secret code{color:var(--ink);font-size:12px;word-break:break-all}.backup-code-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}.backup-code-grid code{padding:9px;border:1px solid var(--line);border-radius:7px;color:var(--ink);background:var(--paper);text-align:center}.security-setup-banner{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(168,133,59,.38);border-radius:10px;color:var(--ink);background:var(--brass-soft)}.security-setup-banner>svg{width:20px;height:20px;flex:none;color:var(--brass-strong)}.security-setup-banner>div{display:flex;flex-direction:column;gap:4px}.security-setup-banner span{color:var(--muted);font-size:12.5px;line-height:1.45}.security-readiness{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:5px}.security-readiness span{font-size:11px;font-weight:600}.security-readiness .ready{color:#1d7057}.security-readiness .waiting{color:#8a6818}.security-user-name{display:flex;min-width:160px;flex-direction:column;gap:2px}.security-user-name small{color:var(--faint);font-size:11px}.role-pill,.status-dot,.security-result{display:inline-flex;align-items:center;width:fit-content;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:650;text-transform:capitalize}.role-pill.admin{color:#735713;background:#f4ecd5}.role-pill.manager{color:#1d5574;background:#e4f0f6}.role-pill.viewer{color:#5d6470;background:#edf0f2}.access-status{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.access-status small{color:var(--faint);font-size:10.5px}.status-dot.active,.security-result.success{color:#1d7057;background:#e2f1eb}.security-result.warning{color:#8a5a12;background:#f7edd9}.status-dot.disabled,.status-dot.locked,.security-result.failed,.security-result.blocked{color:#9b3e32;background:#f6e4e1}.status-dot.pending{color:#8a6818;background:#f6efd9}.security-actions{justify-content:flex-end}.security-actions button svg{width:14px;height:14px}.security-text-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.security-text-actions button{padding:0;border:0;color:var(--brass-strong);background:transparent;cursor:pointer;font:inherit;font-size:9.5px}.security-text-actions button:disabled{color:var(--faint);cursor:not-allowed}.security-log-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.security-log-filters select{width:auto;min-width:130px}.security-log-table td{vertical-align:top}.security-nowrap{white-space:nowrap}.security-event-detail{display:block;margin-top:3px;color:var(--faint);font-size:10px;text-transform:capitalize}.security-setting-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.security-setting-head>div{display:flex;flex-direction:column;gap:4px}.security-setting-head small{max-width:460px;color:var(--muted);line-height:1.5}.security-setting-icon{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:9px;color:var(--brass-strong);background:var(--brass-soft)}.security-setting-icon svg{width:17px;height:17px}.security-setting-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.two-factor-inline{max-width:500px}.two-factor-inline .two-factor-qr{margin-top:14px}.security-prerequisite{padding:12px 14px;border:1px solid rgba(168,133,59,.3);border-radius:8px;color:var(--muted);background:var(--brass-soft);font-size:12.5px}.role-name-cell{display:flex;align-items:center;gap:10px;min-width:170px}.role-name-cell>span:last-child{display:flex;flex-direction:column;gap:2px}.role-name-cell small{color:var(--faint);font-size:10.5px}.role-mark{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:8px;color:#506778;background:#eaf0f3}.role-mark.admin{color:var(--brass-strong);background:var(--brass-soft)}.role-mark svg{width:15px;height:15px}.role-user-count{display:inline-flex;align-items:center;gap:5px;color:var(--muted)}.role-user-count svg{width:13px;height:13px}.role-access-summary{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.role-access-summary strong{color:var(--ink);font-family:var(--font-mono)}.role-access-summary i{width:3px;height:3px;border-radius:50%;background:var(--line)}.roles-table th:last-child,.roles-table td:last-child{width:64px;padding-left:8px;padding-right:14px}.role-row-actions,.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}.role-action,.row-actions>button{width:28px;height:28px;display:inline-grid;place-items:center;flex:none;padding:0;border:1px solid transparent;border-radius:7px;color:var(--faint);background:transparent;cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.role-action svg,.row-actions>button svg{width:13px;height:13px}.role-action:hover,.row-actions>button:hover{border-color:#a8853b38;color:var(--brass-strong);background:var(--brass-soft)}.role-action.danger:hover,.row-actions>button.danger:hover{border-color:#9b3e322e;color:var(--debit);background:var(--debit-soft)}.role-action:focus-visible,.row-actions>button:focus-visible{outline:2px solid rgba(168,133,59,.38);outline-offset:1px}.role-action:disabled,.row-actions>button:disabled{opacity:.35;cursor:not-allowed}.role-modal-count{margin-right:auto;color:var(--muted);font-size:11px}.role-access-stack{display:grid;gap:5px}.role-scope-summary{color:var(--muted);font-size:9.5px}.role-permission-note{margin:2px 0 14px}.role-data-scope{margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(180deg,#fff,var(--paper))}.role-data-scope-head{display:flex;align-items:center;margin-bottom:12px}.role-data-scope-head div{display:grid;gap:3px}.role-data-scope-head strong{font-size:13px}.role-data-scope-head small{color:var(--muted);font-size:10.5px}.role-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.role-scope-panel{display:grid;align-content:start;gap:8px;padding:12px;border:1px solid rgba(225,221,211,.8);border-radius:8px;background:#fff}.role-scope-panel>strong{margin-bottom:2px;font-size:11.5px}.role-scope-choice{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px;cursor:pointer}.role-data-scope input{accent-color:var(--brass-strong)}.role-scope-list{max-height:175px;overflow:auto;display:grid;gap:2px;margin-top:3px;padding:5px;border:1px solid var(--line);border-radius:7px;background:#fcfbf8}.role-scope-list label{display:grid;grid-template-columns:17px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:29px;padding:3px 5px;border-radius:5px;font-size:10.5px;cursor:pointer}.role-scope-list label:hover{background:var(--paper)}.role-scope-list small{color:var(--muted);font-size:9px;text-transform:capitalize}.role-data-scope>.mini-note{margin:10px 1px 0}.permission-matrix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.permission-group{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}.permission-group-head{min-height:42px;display:flex;align-items:center;gap:13px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--paper)}.permission-group-head>strong{margin-right:auto;font-size:12.5px}.permission-group-head label{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10.5px;cursor:pointer}.permission-group input[type=checkbox]{width:15px;height:15px;accent-color:var(--brass-strong)}.permission-section{min-height:36px;display:grid;grid-template-columns:minmax(0,1fr) 46px 50px 42px;align-items:center;padding:5px 12px;border-bottom:1px solid rgba(225,221,211,.65);font-size:11.5px}.permission-section:last-child{border-bottom:0}.permission-section>span:nth-child(n+2){display:grid;place-items:center}.permission-section small{color:var(--faint)}.permission-heading{min-height:28px;color:var(--faint);background:#fcfbf8;font-size:9px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}@media (max-width: 760px){.security-gate-card{padding:24px}.backup-code-grid{grid-template-columns:1fr}.security-log-filters{width:100%}.security-log-filters select,.security-log-filters .btn{flex:1}.permission-matrix{grid-template-columns:1fr}.permission-group-head{flex-wrap:wrap}.role-scope-grid{grid-template-columns:1fr}}.private-value-summary{display:flex;align-items:center;gap:18px;min-height:145px;margin:18px 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,#fff,#faf8f1);box-shadow:var(--shadow-sm)}.private-value-summary>span{width:48px;height:48px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:var(--brass-strong);background:var(--brass-soft)}.private-value-summary>span svg{width:22px;height:22px}.private-value-summary>div{display:grid;gap:6px}.private-value-summary small{color:var(--brass-strong);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.private-value-summary h3{margin:0;color:var(--ink);font-size:24px}.private-value-summary h3 .stock-currency-stack{display:flex;gap:14px}.private-value-summary p{max-width:720px;margin:0;color:var(--muted);font-size:11.5px;line-height:1.55}.commodities-page,.commodity-detail-page,.commodity-invoice-workspace{--commodity-green: #315f56;--commodity-green-dark: #21473f;--commodity-green-soft: #e7f0ed;--commodity-sand: #b08a45;--commodity-sand-soft: #f5efe2}.commodity-kpis>article>span,.commodity-holding-head>span,.commodity-type-grid>article>span{width:36px;height:36px;display:grid;place-items:center;flex:none;border-radius:9px;color:var(--commodity-green);background:var(--commodity-green-soft)}.commodity-kpis svg,.commodity-holding-head svg,.commodity-type-grid svg{width:17px;height:17px}.commodity-kpis small,.commodity-holding-weight small,.commodity-holding-meta small{color:var(--faint);font-size:9.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.commodity-holdings{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin-bottom:18px}.commodity-holdings>article{min-width:0;padding:18px;border:1px solid #ddd9ce;border-radius:11px;background:linear-gradient(145deg,#fff,#fcfbf7);box-shadow:var(--shadow)}.commodity-holding-head{display:flex;align-items:center;gap:11px}.commodity-holding-head>div{min-width:0;display:flex;flex-direction:column}.commodity-holding-head strong{color:var(--ink);font-family:var(--font-display);font-size:14px}.commodity-holding-head small{color:var(--faint);font-size:10px}.commodity-holding-weight{margin:18px 0 14px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.commodity-holding-weight strong{color:var(--commodity-green-dark);font:650 22px/1 var(--font-mono)}.commodity-holding-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:12px;border-top:1px solid var(--line)}.commodity-holding-meta>span{min-width:0;display:flex;flex-direction:column}.commodity-holding-meta strong{overflow:hidden;color:var(--ink);font:550 11px/1.45 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.commodity-holdings.compact{margin:12px 0}.commodity-holdings.compact>article{padding:15px}.commodity-holdings.compact .commodity-holding-meta{grid-template-columns:1fr}.commodity-tabs{margin:4px 0 8px}.commodity-table{min-width:790px}.commodity-table td{vertical-align:middle}.commodity-table td>small,.commodity-table td>strong+small{display:block;margin-top:2px;color:var(--faint);font-size:9.5px}.commodity-location{display:inline-flex;max-width:190px;align-items:center;gap:5px;color:var(--commodity-green);font-size:11px}.commodity-location svg{width:12px;height:12px;flex:none}.commodity-open{width:27px;height:27px;display:inline-grid;place-items:center;border-radius:7px;color:var(--faint);transition:color .12s ease,background .12s ease}.commodity-open:hover{color:var(--commodity-green);background:var(--commodity-green-soft)}.commodity-open svg{width:14px;height:14px}.commodity-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.commodity-type-grid>article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.commodity-type-grid>article>div{min-width:0;display:flex;flex-direction:column}.commodity-type-grid strong{color:var(--ink);font-size:12.5px}.commodity-type-grid small{color:var(--faint);font-size:10px}.modal:has(.commodity-invoice-workspace){display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-width:min(1160px,calc(100vw - 32px));max-height:calc(100vh - 28px);overflow:hidden}.modal:has(.commodity-invoice-workspace) .modal-head{background:#fbfaf7}.modal:has(.commodity-invoice-workspace) .modal-body{overflow:auto;padding:18px;background:#f5f5f2}.modal:has(.commodity-invoice-workspace) .modal-foot{align-items:center;padding:13px 18px;border-top:1px solid var(--line);background:#fff}.commodity-invoice-workspace{display:grid;gap:13px;min-width:0}.commodity-form-block{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}.commodity-form-heading{min-height:52px;display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--line);background:#fcfbf8}.commodity-form-heading>span{width:30px;height:30px;display:grid;place-items:center;flex:none;border-radius:8px;color:var(--commodity-green);background:var(--commodity-green-soft)}.commodity-form-heading svg{width:15px;height:15px}.commodity-form-heading>div{min-width:0;display:flex;flex-direction:column}.commodity-form-heading strong{color:var(--ink);font-size:12.5px}.commodity-form-heading small{color:var(--faint);font-size:10px}.commodity-form-heading>.btn{margin-left:auto;flex:none}.commodity-header-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;padding:14px}.commodity-header-grid .field{min-width:0;margin:0}.commodity-header-grid .field:last-child{grid-column:span 2}.commodity-inline-picker{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:5px}.commodity-mini-action,.commodity-remove-line{width:34px;height:34px;display:grid;place-items:center;flex:none;padding:0;border:1px solid var(--line);border-radius:7px;color:var(--commodity-green);background:#fff;cursor:pointer}.commodity-mini-action:hover{border-color:#b9cdc7;background:var(--commodity-green-soft)}.commodity-mini-action svg,.commodity-remove-line svg{width:14px;height:14px}.commodity-file-picker{min-height:34px;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px dashed var(--line-strong);border-radius:7px;color:var(--muted);background:#fcfbf8;cursor:pointer}.commodity-file-picker:hover,.commodity-file-picker.selected{border-color:#91afa6;color:var(--commodity-green);background:var(--commodity-green-soft)}.commodity-file-picker svg{width:14px;height:14px}.commodity-file-picker input{display:none}.commodity-quick-add{display:flex;align-items:center;gap:7px;margin:0 14px 14px;padding:10px;border:1px solid #d6e3df;border-radius:8px;background:#f4f8f6}.commodity-quick-add input{min-width:0;flex:1}.commodity-lines{display:grid;gap:10px;padding:12px}.commodity-line{min-width:0;overflow:hidden;border:1px solid #dedbd2;border-radius:9px;background:#fff}.commodity-line-head{min-height:38px;display:flex;align-items:center;gap:9px;padding:6px 10px;border-bottom:1px solid var(--line);background:#faf9f5}.commodity-line-head>span{color:var(--commodity-sand);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.commodity-line-head strong{color:var(--ink);font-size:11.5px}.commodity-line-head small{margin-left:auto;color:var(--faint);font:10px var(--font-mono)}.commodity-remove-line{width:27px;height:27px;color:var(--faint);border-color:transparent;background:transparent}.commodity-remove-line:hover{color:var(--debit);background:var(--debit-soft)}.commodity-line-grid{display:grid;grid-template-columns:1.25fr .9fr repeat(5,minmax(94px,.75fr)) 1fr 1.2fr;gap:8px;padding:11px}.commodity-line-grid .field{min-width:0;margin:0}.commodity-line-grid .field label{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.commodity-line-grid input,.commodity-line-grid select{min-width:0;padding-left:8px;padding-right:7px;font-size:11px}.commodity-line-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);background:#fcfbf8}.commodity-line-metrics>span{min-width:0;padding:8px 11px;border-right:1px solid var(--line)}.commodity-line-metrics>span:last-child{border-right:0;text-align:right}.commodity-line-metrics small{display:block;color:var(--faint);font-size:8.5px;text-transform:uppercase;letter-spacing:.07em}.commodity-line-metrics strong{display:block;overflow:hidden;color:var(--ink);font:550 10.5px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.commodity-preview{overflow:hidden;border:1px solid #bcd0c9;border-radius:11px;background:#fff}.commodity-preview-head{min-height:51px;display:flex;align-items:center;gap:15px;padding:9px 14px;color:#fff;background:var(--commodity-green-dark)}.commodity-preview-head>div{display:flex;flex-direction:column}.commodity-preview-head small{color:#ffffff8c;font-size:9px;text-transform:uppercase;letter-spacing:.09em}.commodity-preview-head strong{font-size:12px}.commodity-preview-head>span{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font:10.5px var(--font-mono)}.commodity-preview-head>span.good{color:#a9dbc8}.commodity-preview-head>span.warn{color:#f0aa9d}.commodity-preview-head svg{width:14px;height:14px}.commodity-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.commodity-preview-grid>article{min-width:0;min-height:112px;display:flex;flex-direction:column;justify-content:center;padding:14px;border-right:1px solid var(--line)}.commodity-preview-grid>article:last-child{border-right:0}.commodity-preview-grid span{color:var(--faint);font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.commodity-preview-grid strong{color:var(--commodity-green-dark);font:650 18px var(--font-mono)}.commodity-preview-grid strong small{color:inherit;font-size:10px}.commodity-preview-grid em{color:var(--muted);font:normal 10px var(--font-mono)}.commodity-preview-grid>article>small{margin-top:5px;color:var(--faint);font-size:9.5px}.commodity-preview-grid>article.total{background:var(--commodity-sand-soft)}.commodity-preview-grid>article.total strong{color:#725721}.commodity-modal-total{min-width:150px;display:flex;flex-direction:column;margin-right:auto}.commodity-modal-total small{color:var(--faint);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase}.commodity-modal-total strong{color:var(--ink);font:650 17px var(--font-mono)}.commodity-modal-total i,.commodity-detail-kpis i{margin-right:5px;color:var(--faint);font:normal 9px var(--font-body)}.commodity-detail-page{max-width:1180px;margin:0 auto}.commodity-detail-head{min-height:118px;display:flex;align-items:center;gap:18px;margin:10px 0 14px;padding:21px 24px;border:1px solid #cddbd6;border-radius:12px;background:linear-gradient(135deg,#edf4f1,#fff 72%)}.commodity-detail-head>div:first-child{min-width:0}.commodity-detail-head>div:first-child>span{color:var(--commodity-green);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.commodity-detail-head h2{overflow-wrap:anywhere;margin:3px 0;color:var(--ink);font-size:23px}.commodity-detail-head p{margin:0;color:var(--muted);font-size:11px}.commodity-detail-actions{display:flex;align-items:center;gap:7px;margin-left:auto}.commodity-detail-actions .btn svg{width:14px;height:14px}.commodity-custody-chip{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:7px 10px;border:1px solid #bcd0c9;border-radius:999px;color:var(--commodity-green);background:#fff;font-size:10.5px}.commodity-custody-chip svg{width:13px;height:13px}.commodity-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.commodity-detail-kpis>article{min-width:0;min-height:108px;display:flex;flex-direction:column;justify-content:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.commodity-detail-kpis>article>small{color:var(--faint);font-size:9px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}.commodity-detail-kpis>article>strong{overflow:hidden;color:var(--ink);font:650 17px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.commodity-detail-kpis>article>span{display:flex;align-items:center;gap:5px;margin-top:4px;color:var(--muted);font-size:9.5px}.commodity-detail-kpis>article>span svg{width:12px;height:12px}.commodity-fact{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.commodity-fact:last-child{border-bottom:0}.commodity-fact>span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10.5px}.commodity-fact>span svg{width:12px;height:12px}.commodity-fact>strong{max-width:62%;overflow-wrap:anywhere;color:var(--ink);font-size:11px;text-align:right}.vendor-currency-values{align-items:flex-start;flex-direction:column;gap:1px}.vendor-currency-values>span{display:flex;align-items:baseline}.vendor-currency-values>span .ccy{min-width:30px;font-style:normal}@media (max-width: 1020px){.commodity-line-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.commodity-header-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.commodity-header-grid .field:last-child{grid-column:auto}}@media (max-width: 760px){.commodity-hero{min-height:0;align-items:flex-start;flex-direction:column;padding:22px}.commodity-hero>.btn{margin-left:0}.commodity-kpis,.commodity-detail-kpis,.commodity-header-grid,.commodity-line-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commodity-line-head{flex-wrap:wrap}.commodity-line-head small{order:4;width:100%;margin-left:0}.commodity-detail-head{align-items:flex-start;flex-direction:column}.commodity-detail-actions,.commodity-custody-chip{margin-left:0;flex-wrap:wrap}.commodity-preview-head{align-items:flex-start;flex-direction:column}.commodity-preview-head>span{margin-left:0}.commodity-inventory-tools{align-items:stretch;flex-direction:column}.commodity-filter-intro{min-width:0}.commodity-filter-controls{width:100%;margin-left:0}.commodity-filter{min-width:0;flex:1}}@media (max-width: 520px){.modal:has(.commodity-invoice-workspace){max-width:calc(100vw - 12px);max-height:calc(100vh - 12px)}.modal:has(.commodity-invoice-workspace) .modal-body{padding:8px}.commodity-hero{padding:18px}.commodity-kpis,.commodity-detail-kpis,.commodity-header-grid,.commodity-line-grid,.commodity-line-metrics{grid-template-columns:1fr}.commodity-line-metrics>span{border-right:0;border-bottom:1px solid var(--line)}.commodity-line-metrics>span:last-child{border-bottom:0;text-align:left}.commodity-quick-add{align-items:stretch;flex-direction:column}.commodity-preview-grid{grid-template-columns:1fr}.commodity-preview-grid>article{min-height:92px;border-right:0;border-bottom:1px solid var(--line)}.commodity-preview-grid>article:last-child{border-bottom:0}.commodity-modal-total,.commodity-detail-actions{width:100%}.commodity-detail-actions .btn{flex:1}.commodity-filter-controls{align-items:stretch;flex-direction:column}.commodity-filter-clear{justify-content:center}}.zakat-workspace{display:grid;gap:14px}.zakat-policy-head{min-height:108px;display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid #dfd3b8;border-radius:11px;background:linear-gradient(135deg,#fff,#faf6ec)}.zakat-policy-head>span{width:40px;height:40px;display:grid;place-items:center;flex:none;border-radius:10px;color:var(--brass-strong);background:var(--brass-soft)}.zakat-policy-head>span svg{width:18px;height:18px}.zakat-policy-head>div:nth-child(2){min-width:0}.zakat-policy-head small{color:var(--faint);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.zakat-policy-head h3{margin:2px 0;color:var(--ink);font-size:17px}.zakat-policy-head p{margin:0;color:var(--muted);font-size:10.5px}.zakat-rate{min-width:92px;display:flex;flex-direction:column;margin-left:auto;padding-left:18px;border-left:1px solid #dfd3b8}.zakat-rate strong{color:var(--brass-strong);font:650 22px var(--font-mono)}.zakat-policy-head>.btn{flex:none}.zakat-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.zakat-rules article{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}.zakat-rules article>svg{width:16px;color:var(--brass-strong)}.zakat-rules article>span{display:flex;flex-direction:column}.zakat-rules small{color:var(--faint);font-size:8.5px;text-transform:uppercase;letter-spacing:.07em}.zakat-rules strong{color:var(--ink);font:650 14px var(--font-mono)}.zakat-rules em{color:var(--muted);font-size:9px;font-style:normal}.zakat-section-head{display:flex;align-items:end;margin-top:5px}.zakat-section-head.history{margin-top:12px}.zakat-section-head h3{color:var(--ink);font-size:14px}.zakat-section-head p{margin:2px 0 0;color:var(--muted);font-size:10.5px}.zakat-investors{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:11px}.zakat-investors>article{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:var(--shadow)}.zakat-investors>article>header{display:flex;align-items:center;gap:9px;padding:11px 13px;border-bottom:1px solid var(--line);background:#fcfbf8}.zakat-investors>article>header>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--ink-2);font-size:9px;font-weight:700}.zakat-investors header>div{display:flex;flex-direction:column}.zakat-investors header strong{color:var(--ink);font-size:12px}.zakat-investors header small{color:var(--faint);font-size:9px}.zakat-metal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.zakat-metal{min-width:0;padding:13px}.zakat-metal+.zakat-metal{border-left:1px solid var(--line)}.zakat-metal-title{display:flex;align-items:center;justify-content:space-between;gap:7px}.zakat-metal-title>strong{color:var(--ink);font-size:11.5px}.zakat-status{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:8.5px;font-weight:700;white-space:nowrap}.zakat-status.reached{color:var(--credit);background:var(--credit-soft)}.zakat-status.below{color:var(--muted);background:#eef0f2}.zakat-metal-weight{display:flex;align-items:baseline;gap:5px;margin:14px 0 10px}.zakat-metal-weight strong{color:var(--ink);font:650 18px var(--font-mono)}.zakat-metal-weight small{color:var(--faint);font-size:8.5px}.zakat-metal dl{display:grid;gap:4px;margin:0}.zakat-metal dl>div{display:flex;justify-content:space-between;gap:8px;font-size:9.5px}.zakat-metal dt{color:var(--faint)}.zakat-metal dd{margin:0;color:var(--ink);text-align:right}.zakat-warning{margin:8px 0 0;color:var(--debit);font-size:9px}.zakat-modal-note{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:10px;border:1px solid #dfd3b8;border-radius:8px;color:var(--brass-strong);background:var(--brass-soft)}.zakat-modal-note>svg{width:16px}.zakat-modal-note>span{display:flex;flex-direction:column}.zakat-modal-note strong{color:var(--ink);font-size:11.5px}.zakat-modal-note small{color:var(--muted);font-size:9.5px}.zakat-run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:12px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--line)}.zakat-run-summary>span{min-width:0;display:flex;flex-direction:column;padding:10px;background:#fcfbf8}.zakat-run-summary small{color:var(--faint);font-size:8.5px;text-transform:uppercase}.zakat-run-summary strong{overflow:hidden;color:var(--ink);font:550 10.5px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.zakat-assessments{display:grid;gap:10px}.zakat-assessments>article{overflow:hidden;border:1px solid var(--line);border-radius:9px}.zakat-assessments>article>header{display:flex;align-items:center;gap:9px;padding:9px 11px;background:#fcfbf8;border-bottom:1px solid var(--line)}.zakat-assessments header>div{min-width:0;display:flex;flex:1;flex-direction:column}.zakat-assessments header>div strong{color:var(--ink);font-size:11.5px}.zakat-assessments header small{color:var(--faint);font-size:9px}.zakat-assessments header>strong{font:650 13px var(--font-mono)}.zakat-assessments table{width:100%;border-collapse:collapse;font-size:10px}.zakat-assessments td{padding:8px 10px;border-bottom:1px solid var(--line)}.zakat-assessments tr:last-child td{border-bottom:0}.zakat-payment-total{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding:12px;border-radius:9px;color:var(--brass-strong);background:var(--brass-soft)}.zakat-payment-total>svg{width:19px}.zakat-payment-total>span{display:flex;flex-direction:column}.zakat-payment-total small{color:var(--muted);font-size:9px;text-transform:uppercase}.zakat-payment-total strong{color:var(--ink);font:650 18px var(--font-mono)}.zakat-workspace .mini-note{display:flex;align-items:center;gap:5px}.zakat-workspace .mini-note svg{width:12px}@media (max-width: 760px){.zakat-policy-head{align-items:flex-start;flex-wrap:wrap}.zakat-rate{margin-left:0}.zakat-policy-head>.btn{width:100%}.zakat-rules,.zakat-investors{grid-template-columns:1fr}.zakat-run-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 520px){.zakat-metal-grid,.zakat-run-summary{grid-template-columns:1fr}.zakat-metal+.zakat-metal{border-top:1px solid var(--line);border-left:0}.zakat-assessments>article>header{align-items:flex-start;flex-wrap:wrap}.zakat-assessments table{min-width:670px}.zakat-assessments>article{overflow-x:auto}}
