:root{--bg:#f5f7fb;--surface:#fff;--surface-muted:#f8faff;--text:#4f5b6f;--text-muted:#6f7d91;--text-h:#0f1729;--border:#d9e0ea;--accent:#0d6efd;--accent-bg:#0d6efd1f;--accent-border:#0d6efd4d;--shadow:0 16px 40px #0f172914;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:linear-gradient(#f5f7fb 0%,#eef3fb 100%);min-height:100vh;margin:0}a,button,input,textarea,select{font:inherit}h1,h2,h3,p{margin-top:0}h1{color:var(--text-h);margin-bottom:10px;font-size:clamp(2rem,4vw,3rem);line-height:1.1}h2{color:var(--text-h);margin-bottom:10px;font-size:clamp(1.4rem,2vw,1.8rem)}h3{color:var(--text-h);margin-bottom:10px;font-size:1.1rem}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:32px;padding:24px 32px;display:flex}.subtitle{max-width:54rem;color:var(--text)}.status-panel{border:1px solid var(--border);background:var(--surface);border-radius:16px;min-width:18rem;padding:16px}.status-row{justify-content:space-between;gap:16px;font-size:14px;display:flex}.status-row+.status-row{margin-top:10px}.status-label{color:var(--text-muted)}.status-value{color:var(--text-h);text-align:right}.navigation{border-bottom:1px solid var(--border);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:12px;padding:16px 32px;display:flex}.nav-links{flex-wrap:wrap;gap:12px;display:flex}.nav-link{color:var(--text);border:1px solid #0000;border-radius:999px;padding:10px 14px;text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--text-h);border-color:var(--accent-border);background:var(--accent-bg)}.portfolio-switcher{align-items:center;gap:10px;min-width:min(24rem,100%);display:flex}.portfolio-switcher .field-label{margin:0}.page-content{flex:1;padding:32px}.stack{flex-direction:column;gap:24px;display:flex}.grid{gap:24px;display:grid}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:20px;padding:24px}.hero-panel{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 8px;font-size:12px;font-weight:700}.body-text{color:var(--text)}.error-text{color:#d14343}.success-text{color:#276749}.checklist,.collection,.ordered-list{margin:0;padding-left:20px}.checklist li,.ordered-list li{margin-top:10px}.collection{padding:0;list-style:none}.collection-item{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;padding:16px}.collection-item+.collection-item{margin-top:12px}.collection-item strong,.collection-item span{display:block}.collection-item span{color:var(--text-muted);margin-top:4px}.collection-item p{margin-top:10px}.section-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.portfolio-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.portfolio-workbench-section{border-top:1px solid var(--border);padding-top:20px}.account-name-row,.counter-title-row,.counter-flags{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.counter-cell{flex-direction:column;gap:4px;display:flex}.counter-link{font-weight:700}.counter-name{color:var(--text-muted)}.compact-badge,.counter-cell .badge{padding:4px 8px;font-size:11px;line-height:1.2}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:16px;padding:16px}.metric-label,.muted-text,.table-note{color:var(--text-muted)}.metric-card strong,.table-note{display:block}.metric-card strong{color:var(--text-h);margin-top:8px;font-size:1.1rem}.badge{border-radius:999px;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;display:inline-flex}.warning-badge{color:#975a16;background:#fff7e6;border:1px solid #f6ad55}.success-badge{color:#276749;background:#ebf8f2;border:1px solid #68d391}.info-badge{color:#234e7d;background:#ebf4ff;border:1px solid #90cdf4}.nested-panel{box-shadow:none;padding:20px}.inline-list{margin:0;padding-left:20px}.inline-list li+li{margin-top:8px}.compact-table{border-collapse:collapse;width:100%}.compact-table th,.compact-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:12px 0}.compact-table th{color:var(--text-muted);font-weight:600}.accounting-select-cell{width:56px}.accounting-select-control{cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;margin:-10px 0;display:inline-flex}.accounting-select-checkbox{cursor:pointer;width:24px;height:24px;accent-color:var(--accent);margin:0}.accounting-select-control.disabled,.accounting-select-checkbox:disabled{cursor:not-allowed}.selected-record-row{background:var(--accent-bg)}.control-bar{flex-wrap:wrap;align-items:end;gap:16px;display:flex}.segmented-control{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;flex-wrap:wrap;gap:8px;padding:6px;display:inline-flex}.chip-button{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:8px 12px}.chip-button.active{color:var(--text-h);background:var(--surface);border-color:var(--accent-border)}.filter-field{flex-direction:column;gap:6px;min-width:12rem;display:flex}.filter-field-grow{flex:1}.year-filter{min-width:0}.field-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.filter-input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text-h);border-radius:12px;padding:10px 12px}.checkbox-control{color:var(--text-h);align-items:center;gap:8px;font-weight:600;display:inline-flex}.record-form{flex-direction:column;gap:16px;display:flex}.record-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.record-form-actions,.action-row{flex-wrap:wrap;gap:12px;display:flex}.records-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.records-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:16px;display:flex}.records-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.records-list-panel{min-height:28rem}.record-drawer-shell{z-index:30;pointer-events:none;position:fixed;inset:0}.record-drawer-backdrop{pointer-events:auto;background:#0f172a47;border:0;position:absolute;inset:0}.record-drawer{border-left:1px solid var(--border);background:var(--surface);width:min(40rem,100%);height:100%;box-shadow:var(--shadow);pointer-events:auto;padding:24px;position:absolute;top:0;right:0;overflow-y:auto}.record-drawer-meta{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.record-textarea{resize:vertical;min-height:7rem}.primary-button,.secondary-button,.danger-button{cursor:pointer;border-radius:12px;padding:10px 14px;font-weight:600}.primary-button{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h)}.action-link{align-items:center;text-decoration:none;display:inline-flex}.action-link:hover{text-decoration:none}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text-h)}.danger-button{color:#975a16;background:#fff7e6;border:1px solid #f6ad55}.table-scroll{overflow-x:auto}.detail-link{color:var(--accent);text-decoration:none}.detail-link:hover{text-decoration:underline}.info-table{border-collapse:collapse;width:100%}.info-table th,.info-table td{border-bottom:1px solid var(--border);text-align:left;padding:14px 0}.info-table th{width:14rem;color:var(--text-muted);font-weight:600}@media (width<=960px){.topbar,.hero-panel{flex-direction:column}.status-panel{min-width:unset;width:100%}.two-up,.three-up,.metric-grid,.record-form-grid,.records-summary-strip{grid-template-columns:1fr}.records-toolbar{flex-direction:column}.records-toolbar-actions{justify-content:flex-start;width:100%}}@media (width<=640px){.topbar,.page-content,.navigation{padding-inline:20px}.navigation{flex-wrap:wrap}.record-drawer{width:100%;padding:20px}}
