:root{font-family:Segoe UI,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;color:#172826;background:#f3f4f0;font-synthesis:none;--ink:#172826;--green:#173f3a;--green-2:#245c54;--gold:#d1aa5d;--line:#dde2dc;--muted:#73807d;--paper:#fff;--red:#b84635;--amber:#a96e1f;--ai-chat-edge:30px;--ai-chat-panel-width:450px;--ai-chat-gap:20px;--sticky-content-top:92px}*{box-sizing:border-box}body{margin:0;min-width:1180px;background:#f4f5f2}button,input,select,textarea{font:inherit}button{cursor:pointer}.layout{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.layout.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.environment-banner{padding:9px 14px;color:#fff7e8;text-align:center;font-size:11px;font-weight:800;letter-spacing:.25px}.environment-banner.danger{background:#8b261d}.environment-banner.warning{background:#815f1a}.environment-banner.fixed{position:fixed;inset:0 0 auto;z-index:100;height:34px}.layout.has-environment-banner{padding-top:34px}.layout.has-environment-banner .sidebar,.layout.has-environment-banner .topbar{top:34px}.web-maintenance-blocked{min-height:100vh;display:grid;place-items:center;padding:32px;background:#172826;color:#fff}.web-maintenance-blocked section{max-width:660px;padding:34px;border:1px solid #ffffff33;border-radius:12px;background:#203b37;box-shadow:0 20px 60px #0005}.web-maintenance-blocked strong{display:block;color:#ffd58b;font-size:24px}.web-maintenance-blocked p{line-height:1.7}.web-maintenance-blocked code{display:block;padding:12px;background:#102724;border-radius:6px;color:#fff}.sidebar{position:fixed;inset:0 auto 0 0;width:232px;background:#153c38;color:#e9f0ec;padding:25px 16px 18px;display:flex;flex-direction:column;z-index:5;transition:width .18s,padding .18s}.sidebar-toggle{position:absolute;right:-13px;top:22px;width:26px;height:26px;padding:0;border:1px solid #ffffff28;background:#0f312e;color:#e9f0ec;border-radius:50%;z-index:6;display:grid;place-items:center}.sidebar-toggle span{display:block;width:7px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 24px;border-bottom:1px solid #ffffff18}.brand-mark,.welcome-mark{width:42px;height:42px;background:#fff;color:#173b36;display:grid;place-items:center;font-weight:800;letter-spacing:-1px;border-radius:7px;overflow:hidden;flex:0 0 auto}.brand-mark img,.welcome-mark img{display:block;width:100%;height:100%;object-fit:contain}.brand strong{font-size:16px;display:block}.brand small{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:#a9c0ba;display:block;margin-top:2px}.sidebar-collapsed .sidebar{width:0;padding:0;background:transparent;box-shadow:none}.sidebar-collapsed .sidebar>:not(.sidebar-toggle){display:none}.sidebar-collapsed .sidebar-toggle{left:12px;right:auto}.sidebar-collapsed .sidebar-toggle span{transform:rotate(225deg)}.sidebar-collapsed .topbar{padding-left:58px}.sidebar nav button b{display:none}.client-box{padding:20px 4px 16px}.client-box label{display:block;font-size:11px;color:#a9c0ba;margin-bottom:7px;letter-spacing:.5px}.client-box select{width:100%;height:38px;border:1px solid #ffffff25;background:#0f312e;color:#fff;padding:0 8px;border-radius:5px;margin-bottom:9px}.full{width:100%}.primary{border:0;background:var(--gold);color:#173b36;font-weight:700;padding:10px 15px;border-radius:5px;box-shadow:0 2px 7px #00000012}.primary:hover{filter:brightness(1.04)}.folder-button{border:1px solid #ffffff20;background:#0f312e;color:#b9cdc8;padding:8px 9px;border-radius:5px;font-size:11px;margin-top:6px}.folder-button:hover{color:#fff;border-color:#ffffff35}nav{display:flex;flex-direction:column;gap:3px;overflow:auto;padding-top:4px}nav button{border:0;text-align:left;background:transparent;color:#bed0cb;border-radius:5px;padding:10px 13px;font-size:13px}nav button:hover{background:#ffffff0b;color:#fff}nav button.active{background:#ffffff14;color:#fff;font-weight:600;border-left:3px solid var(--gold);padding-left:10px}.nav-section{display:flex;flex-direction:column;gap:2px}.nav-group{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.nav-group em{font-style:normal;color:#8fa9a3;font-size:10px;transition:transform .16s}.nav-section.open .nav-group em{transform:translate(2px);color:#d1aa5d}.nav-children{position:fixed;left:242px;z-index:20;width:188px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;gap:2px;overflow:auto;margin:0;padding:8px;background:#173b35;border:1px solid #ffffff24;border-radius:7px;box-shadow:0 12px 30px #0c26234d}.nav-children:before{content:"";position:fixed;left:234px;margin-top:10px;width:8px;height:14px;background:#173b35;clip-path:polygon(100% 0,100% 100%,0 50%)}.nav-child{flex:0 0 auto;font-size:12px!important;padding:9px 11px!important}.nav-child.active{padding-left:8px!important}.sidebar-collapsed .nav-children,.sidebar-collapsed .nav-group em{display:none}.side-footer{margin-top:auto;border-top:1px solid #ffffff18;padding:17px 7px 0;font-size:10px;color:#9bb3ae;display:flex;align-items:center;gap:7px}.sidebar-collapsed .side-footer{justify-content:center;padding-left:0;padding-right:0}.status-dot{width:7px;height:7px;background:#79bf91;border-radius:50%;box-shadow:0 0 0 3px #79bf9120}main{grid-column:2;min-width:0}.topbar{height:89px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 31px;position:sticky;top:0;z-index:21}.topbar h1{margin:0;font-size:21px;letter-spacing:-.4px}.topbar p{margin:4px 0 0;font-size:11px;color:var(--muted)}.header-actions{display:flex;gap:8px}.header-actions button,.toolbar button:not(.primary),.segmented button{border:1px solid var(--line);background:#fff;color:#40514e;padding:8px 12px;border-radius:5px;font-size:12px}.danger-text{color:var(--red)!important}.content{padding:25px 30px 50px}.hero{background:linear-gradient(115deg,#173f3a,#24534d);color:#fff;min-height:165px;border-radius:8px;padding:29px 33px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 24px #173f3a1b;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffffff15;border-radius:50%;right:-70px;top:-100px;box-shadow:0 0 0 36px #ffffff07,0 0 0 72px #ffffff05}.hero h2{font-size:30px;margin:7px 0}.hero p{color:#bed1cc;font-size:13px;margin:0}.folder-path{display:block;color:#8fafaa;font-size:9px;margin-top:9px;max-width:760px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{font-size:10px;letter-spacing:1.7px;color:#d4b979;text-transform:uppercase}.hero-date{z-index:1;background:#0e302d8f;border:1px solid #ffffff1f;padding:14px 20px;border-radius:6px;text-align:right;font-size:18px}.hero-date small{display:block;color:#a9c1bb;font-size:10px;margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:17px 0}.stat-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px 19px;min-width:0}.stat-card>span{font-size:11px;color:var(--muted);display:block}.stat-card strong{font-size:21px;display:block;margin:8px 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card small{font-size:10px}.good{color:#27755d!important}.bad{color:var(--red)!important}.warn{color:var(--amber)!important}.neutral{color:var(--muted)!important}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel,.table-card{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden}.panel-title{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #edf0ec}.panel-title h3{font-size:14px;margin:0}.panel-title p{font-size:10px;color:var(--muted);margin:4px 0 0}.check-list{padding:4px 20px 10px}.check-list div,.health div{display:flex;justify-content:space-between;border-bottom:1px solid #edf0ec;padding:13px 0;font-size:12px}.check-list div:last-child,.health div:last-child{border:0}.health{padding:4px 20px 10px}.health b{font-size:11px}.empty{text-align:center;padding:40px 15px;color:#87918f}.empty span{font-size:28px;color:#b7c0bd}.empty p{font-size:12px;margin:5px}.collapsible-section{margin-top:13px}.collapse-header{width:100%;border:1px solid var(--line);background:#fff;border-radius:7px;color:var(--ink);text-align:left}.collapse-header strong{font-size:11px;color:var(--green);font-weight:700}.detail-collapse-header{position:relative;display:flex;justify-content:space-between;align-items:center;padding:11px 13px}.detail-collapse-header span{display:flex;align-items:center;gap:9px}.detail-collapse-header small{font-size:10px;color:var(--muted)}.detail-table-title-meta{position:absolute;left:50%;max-width:52%;transform:translate(-50%);overflow:hidden;color:#405c54;font-size:11px;font-style:normal;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.collapsible-section .table-tools{border-top:0;border-radius:0;margin:0}.collapsible-section .table-card{border-radius:0 0 7px 7px;border-top:0}.compact-formula{margin-top:0}.check-list.detailed>div{align-items:center;gap:14px}.check-list.detailed span{min-width:0}.check-list.detailed span b{display:block;margin-bottom:4px}.check-list.detailed span small{display:block;color:var(--muted);line-height:1.5;white-space:normal}.panel-title.standalone{background:#fff;border:1px solid var(--line);border-radius:7px 7px 0 0;margin-top:13px}.panel-toggle{width:100%;border:0;background:#fff;text-align:left}.panel-toggle strong{font-size:11px;color:var(--green)}.panel-summary{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font-size:12px}.panel-summary span{color:var(--muted)}.panel-summary b{font-size:14px}.methodology-panel{margin-top:16px}.validation-notes{padding:4px 20px 12px}.validation-notes>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid #edf0ec;align-items:start}.validation-notes>div:last-child{border-bottom:0}.validation-notes .badge{justify-self:start}.validation-notes b{font-size:12px}.validation-notes p{font-size:11px;color:var(--muted);line-height:1.65;margin:5px 0 0}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;min-height:40px}.toolbar.secondary{margin-top:20px}.toolbar-actions,.control-row{display:flex;align-items:center;gap:10px}.control-row label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.toolbar select,.control-row select{height:35px;border:1px solid var(--line);background:#fff;padding:0 28px 0 10px;border-radius:5px;color:#31423f}.search{width:360px;position:relative}.search span{position:absolute;left:11px;top:8px;color:#87928f}.search input{width:100%;height:38px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:0 12px 0 32px;outline:none}.search input:focus,input:focus,select:focus{border-color:#6a968d;box-shadow:0 0 0 2px #6a968d18}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:5px;background:#fff;padding:3px;gap:2px}.segmented button{border:0!important;background:transparent!important;padding:6px 12px!important}.segmented button.active{background:#173f3a!important;color:#fff!important}.formula-hint{font-size:11px;color:var(--muted)}.module-tabbar{position:sticky;top:var(--sticky-content-top,92px);z-index:20;background:#f4f5f2;padding:10px 0;margin-top:-10px;box-shadow:0 10px 14px -14px #173f3a66;isolation:isolate;min-width:0;max-width:100%;flex-wrap:wrap}.structured-note-nav-toggle{margin-left:auto;display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 10px;border:1px solid #cfdcd4;border-radius:7px;background:#fffdf9;color:#38524b;font-size:11px;font-weight:700;white-space:nowrap}.structured-note-nav-toggle input{margin:0;accent-color:#214b43}.structured-note-nav-toggle small{color:var(--muted);font-size:10px;font-weight:500}.returns-sticky-toolbar{position:sticky;top:var(--sticky-content-top,92px);z-index:20;background:#f4f5f2;padding:1px 0;box-shadow:0 10px 14px -14px #173f3a66;isolation:isolate}.returns-sticky-toolbar .module-tabbar{position:static;top:auto;margin-top:0;box-shadow:none}.returns-dimension-toolbar{flex-wrap:wrap;margin-top:0}.returns-dimension-toolbar .formula-hint{margin-left:auto}.badge{font-size:10px;font-weight:600;border-radius:12px;padding:5px 9px;white-space:nowrap}.badge-green{background:#e5f1eb;color:#256a54}.badge-red{background:#f8e9e6;color:#ae4939}.table-card{overflow:auto;max-height:calc(100vh - 185px)}.table-scroll{overflow:auto;max-height:560px}.table-scroll.compact{max-height:285px}table{border-collapse:collapse;width:100%;font-size:11px}th{background:#f7f8f5;color:#5f6d6a;text-align:left;font-weight:600;padding:8px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1;white-space:nowrap}td{padding:7px 8px;border-bottom:1px solid #edf0ec;vertical-align:middle;white-space:nowrap}tbody tr:hover{background:#fafbf8}.num{text-align:right;font-variant-numeric:tabular-nums}.strong{font-weight:700}.code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.table-card td input{border:1px solid transparent;background:transparent;padding:4px 5px;min-width:84px;max-width:200px;border-radius:3px}.table-card td input:hover{border-color:#dce3dd;background:#fff}.table-card td input:focus{background:#fff;outline:0}.table-card td.num input{text-align:right}.duplicate{background:#fff3f0!important}.icon{border:0;background:transparent;font-size:10px}.table-note{font-size:10px;color:var(--muted);margin:8px 3px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.dot.ok{background:#4c9a79}.dot.error{background:#d45944}.table-tools{display:flex;gap:12px;align-items:flex-end;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px;margin:13px 0 8px}.filter-grid{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.filter-actions{display:flex;align-items:flex-end;gap:8px;flex:0 0 auto}.filter-reset{height:32px;border:1px solid #cfd8d2;background:#f7f9f6;color:#284b45;border-radius:4px;padding:0 10px;font-size:11px;font-weight:700;white-space:nowrap}.filter-reset:hover{border-color:#aebeb6;background:#edf4f0}.filter-reset.dark{border-color:#45665f;background:#173a35;color:#edf5f1}.filter-reset.dark:hover{border-color:#63857d;background:#1f4842}.table-tools label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px}.table-tools select{height:32px;min-width:125px;max-width:210px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 25px 0 8px;color:#31423f;font-size:11px}.sort-button{border:0;background:transparent;color:inherit;font-weight:inherit;padding:0;white-space:nowrap}.sort-button span{color:#9ba5a2;font-size:9px;margin-left:3px}.num .sort-button{width:100%;text-align:right}.group-row{background:#edf2ef!important}.group-row td{border-top:1px solid #d5dfd9;border-bottom:1px solid #d5dfd9}.group-toggle{border:0;background:transparent;color:#244d47;font-weight:700;padding:0}.group-toggle small{color:var(--muted);font-weight:400}tfoot td{background:#edf2ef;border-top:2px solid #cad8d0;position:sticky;bottom:0;z-index:1}.check-control{display:flex;align-items:center;gap:6px;font-size:11px;color:#4f5e5b}.check-control input{accent-color:var(--green)}.total-profit{border-color:#b9cfc5;background:#f2f7f4}.filter-control{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px;min-width:125px}.multi-filter{position:relative;min-width:125px;max-width:230px;color:#31423f;font-size:11px}.multi-filter>summary{list-style:none;height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:8px 30px 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;position:relative}.multi-filter>summary::-webkit-details-marker{display:none}.multi-filter>summary:after{content:"⌄";position:absolute;right:10px;top:6px;color:#6f817c;font-size:14px}.multi-filter[open]>summary{border-color:#759c90;box-shadow:0 0 0 3px #759c901a}.multi-filter-popover{position:absolute;z-index:30;top:36px;left:0;width:260px;padding:9px;background:#fff;border:1px solid #cfdcd4;border-radius:8px;box-shadow:0 12px 30px #183a3328}.multi-filter-search{width:100%;height:31px;border:1px solid #d5e0d8;border-radius:5px;padding:0 9px;color:#31423f;background:#fff}.multi-filter-options{max-height:210px;overflow:auto;margin:7px 0}.multi-filter-options label{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:7px!important;padding:6px 5px;color:#31423f!important;font-size:11px!important;cursor:pointer}.multi-filter-options label[hidden]{display:none!important}.multi-filter-options label:hover{background:#f0f5f1}.multi-filter-options input{margin:1px 0 0;accent-color:var(--green)}.multi-filter-actions{display:flex;justify-content:flex-end;gap:6px;border-top:1px solid #edf1ed;padding-top:7px}.multi-filter-actions button{border:1px solid #d5e0d8;background:#f4f8f4;color:#31584d;border-radius:5px;padding:4px 8px;font-size:10px}.multi-filter.dark>summary{background:#173a35;border-color:#45665f;color:#edf5f1}.multi-filter.dark>summary:after{color:#b9cdc8}.multi-filter.dark .multi-filter-popover{background:#173a35;border-color:#45665f}.multi-filter.dark .multi-filter-search{background:#102b27;border-color:#45665f;color:#edf5f1}.multi-filter.dark .multi-filter-options label{color:#edf5f1!important}.multi-filter.dark .multi-filter-options label:hover{background:#244c45}.multi-filter.dark .multi-filter-actions{border-top-color:#45665f}.multi-filter.dark .multi-filter-actions button{background:#102b27;border-color:#45665f;color:#dcebe6}.return-chart-filters .filter-control>span{color:#a9c4bd}.balance-chart-tools .filter-control>span{color:var(--muted)}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 3px 0;color:var(--muted);font-size:10px}.table-pagination nav{display:flex;flex-direction:row;align-items:center;gap:4px;overflow:visible;padding:0}.table-pagination button{min-width:30px;height:28px;border:1px solid var(--line);border-radius:5px;background:#fff;color:#40514e;padding:0 8px;font-size:10px}.table-pagination button:hover:not(:disabled){border-color:#759c90;background:#f1f6f1}.table-pagination button.active{border-color:var(--green);background:var(--green);color:#fff;font-weight:700}.table-pagination button:disabled{cursor:default;opacity:.45}.excel-export-button{border:1px solid #b7cfc0;background:#edf5ef;color:#28614e;border-radius:6px;padding:7px 10px;font-size:11px;font-weight:700;white-space:nowrap}.excel-export-button:hover{background:#dfeee3;border-color:#8fb59c}.panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.balance-hero{background:#173f3a;color:#fff;border-radius:7px;padding:23px 27px;display:flex;justify-content:space-between;align-items:center}.balance-hero span{font-size:11px;color:#b9cdc8}.balance-hero strong{font-size:29px;display:block;margin-top:5px}.balance-hero small{font-size:10px;color:#a6bdb8}.balance-kpis{display:flex;gap:40px}.balance-kpis b{display:block;color:#fff;font-size:16px;margin-top:5px}.formula-strip{display:flex;align-items:stretch;gap:7px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:13px;margin:13px 0;overflow:auto}.formula-strip div{background:#f5f6f3;padding:10px 12px;border-radius:4px;min-width:125px}.formula-strip div.result{background:#e8f0ec}.formula-strip span{font-size:9px;color:var(--muted);display:block}.formula-strip b{font-size:12px;display:block;margin-top:4px}.formula-strip i{font-style:normal;align-self:center;color:#89928f}.profit-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0}.reconcile-banner{background:#e8f1ec;border:1px solid #d5e5db;border-radius:6px;padding:12px 16px;margin-bottom:13px;display:flex;gap:22px;align-items:center;font-size:11px}.reconcile-banner b{font-size:13px}.reconcile-banner em{margin-left:auto;color:#287054;font-style:normal;font-weight:700}.balance-chart-panel{margin-top:18px;overflow:hidden}.balance-chart-panel .panel-title{align-items:flex-start}.balance-chart-tools{display:flex;align-items:flex-end;gap:14px;justify-content:space-between;padding:13px 18px;border-bottom:1px solid #edf0ec;background:#fafbf8}.balance-chart-tools .filter-grid{justify-content:flex-end}.balance-chart-tools label{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:9px}.balance-chart-tools select{height:32px;min-width:132px;max-width:210px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:0 25px 0 8px;color:#31423f;font-size:11px}.balance-bar-chart{display:block;width:100%;height:auto;background:#fff;padding:8px 12px 12px}.balance-chart-grid{stroke:#e5ebe7;stroke-width:1}.balance-bar-label{fill:#253a36;font-size:10px;font-weight:700}.legend-balance-asset{background:#2f8f63}.legend-balance-cost{background:#d7b361}.pie-wrap{display:grid;grid-template-columns:330px minmax(220px,1fr);gap:18px;align-items:center;padding:18px 20px}.pie-stage{position:relative;width:320px;height:260px;display:grid;place-items:center}.pie{width:190px;height:190px;border-radius:50%;display:grid;place-items:center}.pie>div{width:104px;height:104px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 1px #edf0ec}.pie b{font-size:13px}.pie span{font-size:9px;color:var(--muted);margin-top:2px}.pie-callouts{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.pie-callout polyline{fill:none;stroke:#9aa8a4;stroke-width:1}.pie-callout rect{fill:#fff;stroke:#dfe7e2;stroke-width:1}.pie-callout text{fill:#3d4c49;font-size:10px;font-weight:700}.legend{display:flex;flex-direction:column;gap:10px}.legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:10px}.legend.no-values div{grid-template-columns:10px minmax(0,1fr)}.legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend i{width:8px;height:8px;border-radius:2px}.legend b{font-size:10px;font-variant-numeric:tabular-nums}.nested-pie-wrap{grid-template-columns:minmax(0,1fr);justify-items:center}.nested-pie-stage{position:relative;width:100%;max-width:520px;height:280px;display:flex;align-items:center;justify-content:center;gap:18px;overflow:visible}.nested-callouts{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.parent-pie{width:178px;height:178px;flex:0 0 auto}.parent-pie>div{width:88px;height:88px}.child-pie{width:112px;height:112px;flex:0 0 auto}.child-pie>div{width:62px;height:62px}.child-pie b{font-size:11px}.child-pie span{font-size:8px}.nested-connector{width:42px;height:1px;background:#a6b1ad;position:relative;flex:0 0 auto}.nested-connector:before,.nested-connector:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#a6b1ad}.nested-connector:before{left:0}.nested-connector:after{right:0}.nested-legend{width:100%}.nested-legend strong{font-size:10px;color:var(--muted);font-weight:700;margin-top:2px}.alert-row{background:#fff5f2}.target-input{width:65px;border:1px solid var(--line);padding:4px;border-radius:3px;text-align:right}.welcome{height:calc(100vh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.welcome .welcome-mark{width:58px;height:58px;font-size:20px;margin-bottom:18px}.welcome h2{font-size:23px;margin:0}.welcome p{font-size:12px;color:var(--muted);max-width:530px;line-height:1.8}.welcome button{margin:10px 0 9px;padding:12px 21px}.welcome small{color:#909a97;font-size:10px}.busy{cursor:progress}.busy *{pointer-events:none}#toast{position:fixed;right:calc(var(--ai-chat-edge) + var(--ai-chat-panel-width) + var(--ai-chat-gap));bottom:25px;max-width:calc(100vw - var(--ai-chat-edge) - var(--ai-chat-panel-width) - var(--ai-chat-gap) - 30px);overflow-wrap:anywhere;transform:translateY(20px);opacity:0;background:#173f3a;color:#fff;padding:12px 17px;border-radius:5px;box-shadow:0 7px 25px #0003;z-index:80;font-size:12px;transition:.2s}#toast.show{transform:none;opacity:1}#toast.error{background:#a94435}#toast.success{background:#27705b}.feature-load-state{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#31584d}.feature-load-state strong{font-size:16px}.feature-load-state p{margin:8px 0 0;color:var(--muted);font-size:11px}.feature-load-state button{margin-top:14px}.feature-loading-dot{width:26px;height:26px;margin-bottom:14px;border:3px solid #d8e5de;border-top-color:#27705b;border-radius:50%;animation:feature-loading-spin .8s linear infinite}.feature-load-error{color:#a94435}@keyframes feature-loading-spin{to{transform:rotate(360deg)}}.profit-equation{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:10px;align-items:stretch;margin:0 0 17px}.profit-equation .stat-card{margin:0}.profit-op{align-self:center;justify-self:center;color:#8b7650;font-size:22px;font-weight:800}.inline-table-toggle{border:1px solid #c9d5cf;background:#edf4f0;color:#214d45;border-radius:4px;padding:5px 8px;font-size:11px;font-weight:700;white-space:nowrap}.return-visual{margin-top:18px;background:#132f2c;color:#edf5f1;border:1px solid #0b2421;border-radius:8px;padding:17px 18px 18px;box-shadow:0 8px 22px #132f2c1f}.return-visual-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:13px}.return-visual h3{margin:0;font-size:15px}.return-visual p{margin:4px 0 0;color:#a9c4bd;font-size:11px}.return-legend{display:flex;gap:14px;align-items:center;color:#c9d9d4;font-size:11px;white-space:nowrap}.return-legend span{display:flex;align-items:center;gap:6px}.return-legend i{width:10px;height:10px;border-radius:2px;display:inline-block}.legend-unrealized{background:#6fb6a0}.legend-realized,.legend-rate{background:#d7b361}.return-chart-filters{display:flex;flex-wrap:wrap;gap:10px;background:#0f2825;border:1px solid #294a45;border-radius:6px;padding:12px;margin-bottom:14px}.return-chart-filters label{display:flex;flex-direction:column;gap:5px;color:#a9c4bd;font-size:10px}.return-chart-filters select{height:32px;min-width:150px;max-width:260px;border:1px solid #45665f;border-radius:4px;background:#173a35;color:#edf5f1;padding:0 28px 0 9px}.return-chart{width:100%;height:auto;background:#173834;border:1px solid #284b46;border-radius:6px;padding:8px}.axis-line{stroke:#6d8983;stroke-width:1}.axis-label{fill:#b8cbc6;font-size:10px}.point-label{fill:#f0d386;font-size:10px;font-weight:700}.return-line{fill:none;stroke:#d7b361;stroke-width:3}.line-point{fill:#f4d883;stroke:#173834;stroke-width:2}.return-chart-table{margin-top:12px;overflow:auto;border:1px solid #2d4d48;border-radius:6px;background:#102723}.return-chart-table table{color:#e8f2ef}.return-chart-table th{background:#1d403b;color:#c9d9d4;border-bottom-color:#355b54}.return-chart-table td{border-bottom-color:#284943}.return-chart-table tbody tr:hover{background:#1a3a36}.return-chart-empty{display:grid;place-items:center;min-height:180px;background:#173834;border:1px dashed #45665f;border-radius:6px;color:#b8cbc6;font-size:12px}@media(max-width:1350px){.stat-grid{grid-template-columns:repeat(2,1fr)}.profit-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.profit-stats .stat-card{padding:14px 12px}.profit-stats .stat-card strong{font-size:17px}.grid-2{grid-template-columns:1fr}.pie-wrap{grid-template-columns:330px 1fr}.formula-strip{flex-wrap:wrap}}th.product-name-cell,td.product-name-cell{white-space:normal;min-width:280px;max-width:40em;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;text-align:left;vertical-align:middle}.table-card td.product-name-cell textarea{width:100%;min-width:280px;max-width:40em;min-height:46px;border:1px solid transparent;background:transparent;padding:4px 5px;border-radius:3px;line-height:1.45;resize:vertical;white-space:normal;overflow-wrap:anywhere;text-align:left;align-content:center}.table-card td.product-name-cell textarea:hover{border-color:#dce3dd;background:#fff}.table-card td.product-name-cell textarea:focus{background:#fff;outline:0}.statement-edit-cell.product-name-cell input{text-align:left}.returns-period-group{background:#edf7f2!important}.returns-cumulative-group{background:#fff6df!important}.returns-period-group-start,.returns-cumulative-group-start{border-left:3px solid #7cae9a}.returns-cumulative-group-start{border-left-color:#d1aa5d}.returns-period-group-end,.returns-cumulative-group-end{border-right:1px solid #c9d8d1}.returns-cumulative-group-end{border-right-color:#e2cf9e}.bar-total-label{fill:#f0d386;font-size:10px;font-weight:700}.table-card-assets td.product-name-cell,.table-card-holdings td.product-name-cell{min-width:260px;line-height:1.25;padding-top:5px;padding-bottom:5px}.table-card-assets td.product-name-cell textarea,.table-card-holdings td.product-name-cell textarea{min-width:260px;min-height:28px;line-height:1.25;padding:2px 5px;resize:none;overflow:hidden}.table-card-transactions td.product-name-cell{width:40em;min-width:40em;max-width:40em;white-space:normal;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.table-card-transactions td.product-name-cell textarea{width:100%;min-width:100%;max-width:100%;min-height:32px;line-height:1.35;padding:3px 5px;resize:none;overflow:hidden;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.benchmark-weight-panel{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;padding:12px;margin:13px 0}.benchmark-weight-panel label{display:flex;align-items:center;gap:8px;color:#4f5e5b;font-size:11px}.benchmark-weight-panel input{width:78px;height:32px;border:1px solid var(--line);border-radius:4px;padding:0 8px;text-align:right}.cashflow-opening-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 15px;padding:13px 15px;border:1px solid var(--line);border-radius:8px;background:#fff}.cashflow-opening-panel>div:first-child{display:flex;flex-direction:column;gap:4px;min-width:210px}.cashflow-opening-panel b{color:#31534a;font-size:11px}.cashflow-opening-panel small{color:var(--muted);font-size:9px}.cashflow-opening-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.cashflow-deposit-option{display:flex;align-items:center;gap:7px;color:#435a54;font-size:10px;font-weight:700}.cashflow-deposit-option select{width:72px;height:32px;border:1px solid #c9d8cf;border-radius:5px;background:#fbfdfb;padding:0 8px;color:var(--ink)}.cashflow-deposit-option strong{min-width:24px;text-align:center;font-size:10px}.cashflow-opening-inputs{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.cashflow-opening-inputs label{display:flex;align-items:center;gap:7px;color:#435a54;font-size:10px;font-weight:700}.cashflow-opening-inputs label>span{display:flex;flex-direction:column;gap:2px}.cashflow-opening-inputs input{width:126px;height:32px;border:1px solid #c9d8cf;border-radius:5px;background:#fbfdfb;padding:0 8px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.cashflow-opening-inputs strong{min-width:92px;text-align:right;font-size:10px}.benchmark-weight-panel .benchmark-risk-free{margin-left:auto;padding-left:18px;border-left:1px solid var(--line);font-weight:700}.benchmark-method-toggle{align-self:center}.benchmark-twr-cell{background:#f8efd9!important}.benchmark-mwr-cell{background:#e3f1ed!important}.benchmark-sharpe-cell{background:#eef0f6!important}.benchmark-twr-cell .sort-button,.benchmark-mwr-cell .sort-button,.benchmark-sharpe-cell .sort-button{color:inherit}.table-card tbody tr:hover .benchmark-twr-cell{background:#f2e5c4!important}.table-card tbody tr:hover .benchmark-mwr-cell{background:#d5e8e2!important}.table-card tbody tr:hover .benchmark-sharpe-cell{background:#e3e6f0!important}.benchmark-toolbar{margin-bottom:7px}.benchmark-toolbar .control-row{flex-wrap:wrap}.benchmark-formula{margin:0 0 12px 1px;max-width:none}.benchmark-stats{grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr) minmax(220px,1fr)}.benchmark-stats .stat-card>span{white-space:nowrap}.benchmark-combo-card{padding-bottom:14px}.benchmark-metric-row{display:grid;grid-template-columns:repeat(2,minmax(118px,1fr));gap:12px;align-items:start;margin:8px 0 5px}.benchmark-metric-row strong{font-size:19px;margin:3px 0 0}.benchmark-metric-row small{display:block;color:var(--muted);white-space:nowrap}.distribution-pie-region .legend{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:0 20px 18px}.distribution-pie-region .legend div{display:grid;grid-template-columns:10px minmax(48px,max-content);max-width:180px}.distribution-pie-region .legend strong{flex:1 0 100%;margin:2px 0 -2px}.distribution-pie-currency .pie-wrap{grid-template-columns:330px minmax(150px,240px);justify-content:start}.distribution-pie-currency .legend{align-self:center;padding:0}.distribution-pie-currency .legend div{grid-template-columns:10px minmax(48px,1fr)}.distribution-grid{grid-template-columns:minmax(0,1fr) max-content;align-items:start}.distribution-table-panel{justify-self:end;width:max-content;max-width:100%;overflow:auto}.distribution-table-panel .panel-title{width:360px;max-width:100%}.distribution-table-panel .panel-title p{white-space:normal;line-height:1.35}.distribution-table-panel table{width:auto;min-width:330px}.distribution-table-panel th,.distribution-table-panel td,.distribution-table-panel .sort-button{white-space:nowrap}.multi-period-grid{display:grid;gap:16px;min-width:0;max-width:100%}.multi-period-panel{overflow:hidden;min-width:0;max-width:100%}.multi-period-panel .panel-title{gap:16px;flex-wrap:nowrap}.multi-panel-heading{flex:1 1 auto;min-width:150px}.multi-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto;flex-wrap:nowrap}.multi-collapse-button{height:31px;border:1px solid #c9d8cf;background:#f4f8f4;color:var(--green);border-radius:6px;padding:0 11px;font-size:11px;font-weight:700;white-space:nowrap}.multi-collapse-button:hover{background:#e7f0e9;border-color:#aebfb4}.multi-period-range{display:flex;align-items:center;gap:8px}.multi-period-control{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);white-space:nowrap}.multi-period-control select{height:31px;min-width:118px;border:1px solid var(--line);background:#fff;padding:0 24px 0 8px;border-radius:5px;color:var(--ink);font-size:11px}.multi-period-table{max-height:430px;max-width:100%}.multi-period-panel-income-summary .multi-period-table{max-height:none;overflow-x:auto;overflow-y:hidden}.multi-period-table th{top:0}.multi-period-table td[rowspan]{vertical-align:middle;background:#f8faf6;border-right:1px solid #c8d8ce;font-weight:700}.multi-chart-legend{padding:13px 20px 0;color:#51645f}.multi-period-panel .return-chart{margin:12px 18px 18px;width:calc(100% - 36px);background:#edf4ef;border-color:#d4e2d8}.multi-period-panel .axis-label{fill:#536a63}.multi-bar-value{font-size:10px;font-weight:700;paint-order:stroke;stroke:#fff9;stroke-width:2px}@media(max-width:1350px){.distribution-grid{grid-template-columns:1fr}.distribution-table-panel{justify-self:start}.nested-pie-wrap{grid-template-columns:minmax(0,1fr)}}.product-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.product-card{background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px 15px;text-align:left;color:var(--ink);display:flex;flex-direction:column;gap:5px;min-width:0}.product-card:hover{border-color:#b9c8c1;box-shadow:0 5px 16px #173f3a12}.product-card span{font-size:11px;color:var(--muted)}.product-card strong{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-card small{font-size:10px;color:#60706c}.product-card em{font-style:normal;font-size:10px}.product-bars{padding:17px 20px 19px;display:flex;flex-direction:column;gap:11px}.product-bars div{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:10px;align-items:center;position:relative;padding-bottom:8px}.product-bars span{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-bars b{text-align:right;font-size:10px;font-variant-numeric:tabular-nums;color:#4a5b58}.product-bars em{position:absolute;left:0;right:auto;bottom:0;height:4px;border-radius:3px;background:linear-gradient(90deg,#173f3a,#d0a95d);min-width:4px}.analysis-list{padding:7px 20px 12px}.analysis-list div{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(110px,.7fr);gap:12px;align-items:center;border-bottom:1px solid #edf0ec;padding:11px 0;font-size:11px}.analysis-list div:last-child{border-bottom:0}.analysis-list b{font-size:11px}.analysis-list span{color:#5e6f6b}.analysis-list em{font-style:normal;color:var(--muted);text-align:right}.term-grid{padding:17px 20px;display:flex;flex-wrap:wrap;gap:9px}.term-grid span{border:1px solid #dfe7e2;background:#f7f9f6;border-radius:14px;padding:6px 10px;font-size:11px;color:#31423f}.term-grid span.term-computed{border-color:#bdd9ca;background:#edf7f0;color:#27755d}.strategy-analysis{margin:16px 0}.section-heading{margin:0 0 9px 2px}.section-heading h3{font-size:14px;margin:0}.section-heading p{font-size:10px;color:var(--muted);margin:4px 0 0}.strategy-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.strategy-analysis-panel{min-width:0}@media(max-width:1350px){.product-card-grid,.strategy-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-list div{grid-template-columns:1fr}.analysis-list em{text-align:left}}:root{--ink:#233a35;--green:#214b43;--green-2:#5d8378;--gold:#c8b27b;--line:#dfe7e0;--muted:#71827d;--paper:#fffdf9;--red:#bd7668;--amber:#b18c4b}body{background:#f6f7f3;color:var(--ink)}.sidebar{background:linear-gradient(180deg,#1d443d,#173b35);box-shadow:8px 0 24px #183f3610}.sidebar-toggle{background:#214b43;border-color:#ffffff30;box-shadow:0 4px 12px #0d29231c}.brand{border-bottom-color:#ffffff1c}.brand-mark,.welcome-mark{background:#fff;color:#1d4038;border-radius:9px;box-shadow:0 5px 14px #071f1a24}.brand small,.client-box label{color:#b7c9c2}.client-box select,.folder-button{background:#173934;border-color:#ffffff20}.client-box select{border-radius:7px}.primary{background:#c8b27b;color:#243c36;border-radius:7px;box-shadow:0 5px 14px #6e5e361c}.folder-button{border-radius:7px}nav{gap:4px}nav button{color:#c8d6d1;border-radius:7px}nav button:hover{background:#ffffff12}nav button.active{background:#ffffff16;border-left-color:#d1bd8a}.nav-children{border-left-color:#ffffff20}.side-footer{border-top-color:#ffffff1c;color:#aac0b9}.status-dot{background:#8db9a8;box-shadow:0 0 0 3px #8db9a825}.topbar{height:92px;background:#fffdf9ef;border-bottom-color:#e3e9e3;box-shadow:0 4px 16px #193b3310}.topbar h1{font-size:22px;letter-spacing:-.5px}.content{padding:28px 34px 56px}.hero{background:linear-gradient(118deg,#214b43,#356359 62%,#5b8074);border-radius:12px;box-shadow:0 14px 30px #214b431c}.hero:after{border-color:#ffffff1c;box-shadow:0 0 0 36px #ffffff08,0 0 0 72px #ffffff05}.hero-date{background:#183e37a8;border-color:#ffffff2c;border-radius:9px}.eyebrow{color:#e0cf9e}.hero p{color:#d3e0db}.folder-path{color:#b6cec6}.stat-grid{gap:16px;margin:19px 0}.stat-card{background:var(--paper);border-color:#e1e8e1;border-radius:10px;padding:19px 20px;box-shadow:0 5px 16px #23463a0a;transition:transform .16s,box-shadow .16s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #23463a12}.stat-card strong{font-size:22px}.good{color:#3c8069!important}.bad{color:#b5685a!important}.warn{color:#a67d38!important}.grid-2{gap:18px}.panel,.table-card{background:var(--paper);border-color:#e0e8e1;border-radius:10px;box-shadow:0 4px 14px #23463a08}.panel-title{padding:18px 21px;border-bottom-color:#e9eee9}.panel-title h3{font-size:14px;color:#26443d}.panel-title p{color:#7c8c87}.panel-summary{background:#fcfdf9}.panel-toggle:hover{background:#fafcf8}.methodology-panel{box-shadow:0 6px 18px #23463a0a}.toolbar{margin-bottom:15px}.header-actions button,.toolbar button:not(.primary),.segmented button{background:#fffdf9;border-color:#dce5dd;border-radius:7px;color:#38524b}.segmented{background:#f4f7f3;border-color:#dde6de;border-radius:8px;padding:4px}.segmented button.active{background:#214b43!important;color:#fff!important;border-radius:5px}.toolbar select,.control-row select,.table-tools select{border-color:#dbe5dd;background:#fffdf9;border-radius:7px;color:#3a514b}.search input{border-color:#dbe5dd;background:#fffdf9;border-radius:7px}.search input:focus,input:focus,select:focus{border-color:#759c90;box-shadow:0 0 0 3px #759c901a}.badge{border-radius:14px;padding:5px 10px}.badge-green{background:#e8f2ec;color:#39735f}.badge-red{background:#f7ece8;color:#ac6659}.table-tools{background:#fbfcf8;border-color:#e0e8e1;border-radius:10px;padding:13px;box-shadow:0 4px 12px #23463a07}.filter-reset{border-color:#d2ded5;background:#f1f6f1;color:#31584d;border-radius:6px}.filter-reset:hover{background:#e6f0e8}.table-card{max-height:calc(100vh - 195px)}th{background:#f1f5f0;color:#60736d;border-bottom-color:#dce6de}td{border-bottom-color:#edf1ed}tbody tr:nth-child(2n){background:#fcfdfa}tbody tr:hover{background:#f1f6f1}.group-row{background:#e9f1eb!important}.group-row td{border-color:#d6e2d8}tfoot td{background:#edf3ee;border-top-color:#c8d8cb}.table-note{color:#7d8d88}.check-control{color:#536963}.formula-strip{background:#fffdf9;border-color:#e0e8e1;border-radius:10px;box-shadow:0 4px 14px #23463a08}.formula-strip div{background:#f4f7f2;border-radius:7px}.formula-strip div.result{background:#e7f0e9}.reconcile-banner{background:#edf5ee;border-color:#d5e5d8;border-radius:8px}.balance-hero{background:linear-gradient(115deg,#214b43,#427267);border-radius:11px;box-shadow:0 10px 24px #214b4318}.product-card{background:#fffdf9;border-color:#e0e8e1;border-radius:10px;box-shadow:0 4px 13px #23463a07}.product-card:hover{border-color:#b8cec0;box-shadow:0 10px 20px #23463a12}.product-bars em{background:linear-gradient(90deg,#356d60,#c8b27b)}.term-grid span{background:#f3f7f2;border-color:#dce7dd;color:#39564e}.strategy-analysis-panel{box-shadow:0 5px 15px #23463a08}.return-visual{background:#1b4039;border-color:#17352f;border-radius:11px;box-shadow:0 10px 24px #214b431c}.return-chart-filters{background:#15342f;border-color:#3b685d}.return-chart{background:#183b35;border-color:#426f63}.return-chart-table{background:#15342f;border-color:#3b685d}.return-chart-table th{background:#28554b}.return-chart-table tbody tr:hover{background:#21483f}.return-chart-empty{background:#183b35;border-color:#52786f}.return-legend{color:#d9e6e0}.return-chart-table tbody tr,.return-chart-table tbody tr:nth-child(2n){background:#183b35;color:#edf5f1}.return-chart-table tbody tr:nth-child(odd){background:#15342f}.return-chart-table tbody tr:hover,.return-chart-table tbody tr:nth-child(2n):hover{background:#28554b}.multi-period-table .multi-period-label-cell,.multi-period-table .emphasis-row td{font-weight:700}.multi-period-table .merged-label-cell{font-weight:700;text-align:center;vertical-align:middle}.multi-period-table .center-text-row .merged-label-cell{text-align:center}.multi-period-panel .return-chart .axis-line{stroke:#000}.multi-period-panel .return-chart .axis-label{fill:#000}.hierarchy-merged-table td[rowspan]{vertical-align:middle;border-right:1px solid #c8d8ce;font-weight:700}.hierarchy-merge-cell{font-weight:700}.hierarchy-merged-table td.hierarchy-level-1,.multi-period-table td.hierarchy-level-1{background:#e9f1ec}.hierarchy-merged-table td.hierarchy-level-2,.multi-period-table td.hierarchy-level-2{background:#eff5f1}.hierarchy-merged-table td.hierarchy-level-3,.multi-period-table td.hierarchy-level-3{background:#f4f8f4}.hierarchy-merged-table td.hierarchy-level-4,.multi-period-table td.hierarchy-level-4{background:#f8faf6}.hierarchy-boundary-1>td{border-top:3px solid #55796d!important}.hierarchy-boundary-2>td{border-top:2px solid #87a296!important}.hierarchy-boundary-3>td{border-top:1.5px solid #b0c2b9!important}.hierarchy-boundary-4>td{border-top:1px solid #cbd7d0!important}.chart-scroll{display:block;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;scrollbar-gutter:stable;padding-bottom:3px}.chart-scroll.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.chart-scroll svg{display:block;max-width:none;flex:none}.chart-scroll .return-chart,.chart-scroll .balance-bar-chart{width:auto}.point-label,.bar-total-label,.balance-bar-label,.multi-bar-value{paint-order:stroke;stroke:#fff9;stroke-width:2px}.multi-period-panel .chart-scroll{margin:12px 18px 18px;width:calc(100% - 36px)}.multi-period-panel .chart-scroll .return-chart{margin:0;width:auto}.return-visual .point-label,.return-visual .bar-total-label{font-family:Arial,Microsoft YaHei UI,sans-serif;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;paint-order:stroke fill;stroke:#102a26;stroke-width:.65px;stroke-opacity:.9;stroke-linejoin:round}.benchmark-comparison-table table{width:max-content;min-width:100%;font-variant-numeric:tabular-nums}.benchmark-comparison-table th,.benchmark-comparison-table td{min-width:96px;text-align:right}.benchmark-comparison-table th:first-child,.benchmark-comparison-table td:first-child{position:sticky;left:0;z-index:2;min-width:128px;text-align:left}.benchmark-comparison-table thead th:first-child{z-index:3;background:#28554b}.benchmark-comparison-table tbody th{background:#183b35;color:#edf5f1;border-bottom:1px solid #284943}.benchmark-comparison-table tbody tr:nth-child(odd) th{background:#15342f}.benchmark-comparison-table tbody th i{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:2px}.multi-period-table .num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1}.multi-period-table .multi-period-area-start{border-left:2px solid #b8c9c1}.multi-period-table th.multi-period-area-cost{background:#dcecff;color:#315b78}.multi-period-table td.multi-period-area-cost{background:#f0f7ff}.multi-period-table th.multi-period-area-nav{background:#dcefe3;color:#2f674c}.multi-period-table td.multi-period-area-nav{background:#eef8f2}.multi-period-table th.multi-period-area-realized{background:#f9e6b9;color:#77591c}.multi-period-table td.multi-period-area-realized{background:#fff7e5}.multi-period-table th.multi-period-area-unrealized{background:#e8dcf5;color:#624b78}.multi-period-table td.multi-period-area-unrealized{background:#f6f0fc}.multi-period-table tfoot td.multi-period-area-cost{background:#e4f1ff}.multi-period-table tfoot td.multi-period-area-nav{background:#e4f3e9}.multi-period-table tfoot td.multi-period-area-realized{background:#fcebc7}.multi-period-table tfoot td.multi-period-area-unrealized{background:#eee3f8}.multi-period-table tbody tr:hover td.multi-period-area-cost{background:#e5f2ff}.multi-period-table tbody tr:hover td.multi-period-area-nav{background:#e2f3e8}.multi-period-table tbody tr:hover td.multi-period-area-realized{background:#fcedca}.multi-period-table tbody tr:hover td.multi-period-area-unrealized{background:#ede2f7}.pie-wrap{grid-template-columns:340px minmax(220px,1fr)}.pie-stage{width:340px}.pie-callout polyline{stroke:#8fa09b;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}@media(max-width:1350px){.pie-wrap{grid-template-columns:340px 1fr}}.pie{position:relative}.pie-hitareas{position:absolute;inset:0;width:100%;height:100%;z-index:2;overflow:visible}.pie-slice-hitarea{fill:transparent;stroke:transparent;pointer-events:fill;cursor:default;outline:none}.pie-slice-hitarea:focus{stroke:#fff;stroke-width:.8}.pie>div{position:relative;z-index:3;pointer-events:none}.pie-tooltip{position:fixed;z-index:100;display:none;max-width:280px;padding:7px 10px;border:1px solid #d9e3dc;border-radius:6px;background:#173f3a;color:#fff;box-shadow:0 5px 16px #102f2c3d;font-size:11px;font-weight:700;line-height:1.35;pointer-events:none;white-space:nowrap}.pie-tooltip.show{display:block}.legend .legend-label-emphasis{font-weight:800;color:var(--ink)}.multi-period-panel .chart-guide{stroke:#9eb4ad;stroke-width:.7;stroke-dasharray:3 4}.multi-period-panel .axis-break{fill:none;stroke:#000;stroke-width:1.2}.multi-period-panel .chart-scale-note{font-size:9px;fill:#5c716b}.ratio-analysis-stack{display:grid;gap:28px;min-width:0;position:relative;z-index:0}.ratio-analysis-section{width:100%;max-width:100%;min-width:0;overflow:auto;padding-bottom:4px}.ratio-analysis-section+.ratio-analysis-section{padding-top:4px;border-top:1px solid #e2e9e3}.ratio-analysis-row,.distribution-grid{grid-template-columns:minmax(600px,720px) max-content;width:max-content;min-width:100%;max-width:none;justify-content:start;align-items:start}.ratio-analysis-row>.panel:first-child,.distribution-grid>.panel:first-child{width:100%;min-width:0}.ratio-analysis-table-panel,.distribution-table-panel{justify-self:start;width:max-content;max-width:100%;overflow:auto}.distribution-pie .pie-wrap{justify-content:start}.distribution-pie-currency .pie-wrap{grid-template-columns:340px minmax(150px,220px)}.benchmark-period-filters{justify-content:flex-start}.benchmark-period-filters .filter-control,.benchmark-period-filters .multi-filter{min-width:190px}.statement-import-stack{display:grid;gap:18px}.statement-workflow{overflow:hidden}.statement-steps{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:0;border-top:1px solid var(--line)}.statement-step{display:flex;flex-direction:column;gap:12px;min-width:0;padding:17px 18px 19px;border-right:1px solid var(--line)}.statement-step:last-child{border-right:0}.statement-step>header{display:flex;align-items:center;gap:9px}.statement-step>header>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 auto;border-radius:50%;background:#244f47;color:#fff;font-size:11px;font-weight:800}.statement-step>header>div{display:flex;flex-direction:column;gap:2px;min-width:0}.statement-step>header b{font-size:11px;color:var(--ink)}.statement-step>header small,.statement-api-note{font-size:9px;color:var(--muted);line-height:1.45}.statement-file-picker{position:relative;display:flex;flex:1;min-height:122px;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px;border:1px dashed #adc1b5;border-radius:8px;background:#f7faf7;text-align:center;cursor:pointer}.statement-file-picker:hover{border-color:#6f9b87;background:#f1f7f2}.statement-file-picker input{position:absolute;width:1px;height:1px;opacity:0}.statement-file-picker strong{max-width:100%;overflow-wrap:anywhere;color:#31584d;font-size:11px}.statement-file-picker small{font-size:9px;color:var(--muted)}.statement-step textarea{width:100%;min-height:105px;resize:vertical;border:1px solid #d7e1d9;border-radius:7px;background:#fff;padding:9px 10px;color:var(--ink);font:11px/1.55 Arial,Microsoft YaHei UI,sans-serif;outline:none}.statement-step textarea:focus{border-color:#7ca08e;box-shadow:0 0 0 3px #6a9d8422}.statement-step button{min-height:35px;border:1px solid #cedbd1;border-radius:7px;background:#fff;color:#35564d;padding:7px 10px;font-size:10px;font-weight:800}.statement-step button.primary{border-color:var(--gold);background:var(--gold);color:#263e38}.statement-step button:disabled{opacity:.48;cursor:not-allowed}.statement-progress{height:4px;overflow:hidden;border-radius:4px;background:#e7ece8}.statement-progress i{display:block;height:100%;background:linear-gradient(90deg,#5c927b,#d2b264);transition:width .2s}.statement-analysis-status{display:grid;gap:6px;padding:8px 9px;border:1px solid #dbe6de;border-radius:7px;background:#f4f8f4}.statement-analysis-status>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;color:#526760;font-size:9px;line-height:1.4}.statement-analysis-status span{min-width:0;overflow-wrap:anywhere}.statement-analysis-status b{flex:0 0 auto;color:#31584d;font-size:9px}.statement-match-list{display:grid;gap:6px;max-height:114px;overflow:auto}.statement-match-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid #e2e9e3;border-radius:6px;background:#f9fbf8}.statement-match-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#4f655f}.statement-match-list b{white-space:nowrap;font-size:9px}.statement-step-placeholder{display:grid;place-items:center;flex:1;min-height:78px;border:1px dashed #dae3dc;border-radius:7px;color:#8b9994;font-size:9px;text-align:center}.statement-error{margin:0 18px 17px;padding:11px 13px;border:1px solid #efd3cd;border-radius:7px;background:#faeeeb;color:#a45b50;font-size:10px;line-height:1.55}.statement-redaction-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 18px 18px;padding:11px 13px;border:1px solid #d8e6db;border-radius:7px;background:#f1f7f2}.statement-redaction-summary b{font-size:11px;color:#31584d}.statement-redaction-summary span{font-size:9px;color:var(--muted)}.statement-redaction-summary strong{margin-left:auto;font-size:9px}.statement-preview{overflow:hidden}.statement-preview iframe{display:block;width:100%;height:min(72vh,820px);border:0;border-top:1px solid var(--line);background:#535659}.statement-results-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.statement-results-heading h2{margin:0;color:var(--ink);font-size:17px}.statement-results-heading p{margin:4px 0 0;color:var(--muted);font-size:9px}.statement-results-heading button{border:0;border-radius:7px;padding:9px 13px;font-size:10px;font-weight:800}.statement-results-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}.statement-result-panel{min-width:0;overflow:hidden}.statement-table-wrap{max-height:520px;overflow:auto}.statement-table-wrap table{width:max-content;min-width:0;table-layout:fixed}.statement-table-wrap thead{position:sticky;top:0;z-index:2}.statement-edit-cell{padding:2px 3px!important}.statement-edit-cell input{width:100%;min-width:0;height:29px;border:1px solid transparent;border-radius:5px;background:transparent;padding:0 6px;color:var(--ink);font:10px Arial,Microsoft YaHei UI,sans-serif}.statement-edit-cell input:hover{border-color:#d6e1d9;background:#fff}.statement-edit-cell input:focus{border-color:#78a08d;background:#fff;box-shadow:0 0 0 2px #78a08d22;outline:none}.statement-edit-cell.num input{text-align:right;font-variant-numeric:tabular-nums}.statement-empty-cell{text-align:center!important;color:var(--muted);padding:28px!important}.good{color:#3f846b!important}.bad{color:#ad5a50!important}.statement-file-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin:0 18px 17px}.statement-file-tabs button{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:4px;border:1px solid #dce5de;border-radius:7px;background:#f8faf7;padding:9px 11px;text-align:left;color:#3d5750}.statement-file-tabs button.active{border-color:#719886;background:#edf5ef;box-shadow:0 0 0 2px #7198861f}.statement-file-tabs b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.statement-file-tabs small{font-size:8px;color:var(--muted)}.statement-upload-confirm{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;border:1px solid #e1d6bd;border-radius:7px;background:#fffaf0;color:#6d5b36;font-size:9px;line-height:1.45;cursor:pointer}.statement-upload-confirm.confirmed{border-color:#b9d3c2;background:#f0f7f2;color:#31584d}.statement-upload-confirm input{margin:1px 0 0;accent-color:#31584d}.statement-upload-confirm input:disabled{cursor:not-allowed}.bond-latest-progress{display:grid;gap:5px;max-height:170px;overflow:auto;margin:12px 18px 17px;padding:9px;border:1px solid #dce6df;border-radius:7px;background:#f6f9f6}.bond-latest-progress>div{display:grid;grid-template-columns:minmax(0,1fr) 38px;gap:3px 8px;padding:6px 7px;border-radius:5px;background:#fff;color:#4b615a;font-size:9px}.bond-latest-progress>div.done{background:#edf6f0;color:#31705a}.bond-latest-progress span{overflow-wrap:anywhere}.bond-latest-progress b{text-align:right}.bond-latest-progress small{grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere}.bond-latest-progress-empty{margin:12px 18px 17px;padding:10px 11px;border:1px dashed #d6e1d9;border-radius:7px;color:var(--muted);font-size:9px;line-height:1.5}.table-link{border:0;background:transparent;color:#28634f;text-decoration:underline;text-underline-offset:2px;padding:0;font:inherit;cursor:pointer}@media(max-width:1450px){.statement-steps{grid-template-columns:repeat(2,minmax(260px,1fr))}.statement-step:nth-child(2){border-right:0}.statement-step:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:1050px){.statement-results-grid,.statement-steps{grid-template-columns:1fr}.statement-step{border-right:0;border-bottom:1px solid var(--line)}.statement-step:last-child{border-bottom:0}}.account-settings-tabs{justify-content:flex-start}.account-settings-tabs+.ai-settings-panel{margin-top:0}.market-composition-tabs{justify-content:space-between;gap:14px}.market-composition-meta{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px}.market-composition-settings{margin-top:0;margin-bottom:14px}.market-composition-controls{display:grid;grid-template-columns:minmax(240px,1fr) minmax(240px,1fr) repeat(4,max-content);align-items:end;gap:10px;padding:0 20px 16px}.market-composition-controls label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.market-composition-controls input{height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;color:var(--ink);font:11px Arial,Microsoft YaHei UI,sans-serif}.market-composition-controls button{height:36px;white-space:nowrap}.market-composition-note{margin:0;padding:0 20px 16px;color:var(--muted);font-size:10px;line-height:1.55}.market-composition-warning,.market-composition-error{margin:0 20px 16px;padding:10px 12px;border-radius:7px;font-size:11px;font-weight:700}.market-composition-warning{background:#fff4d6;color:#8a6716}.market-composition-error{background:#f8ece9;color:#a55e52}.ai-settings-panel{margin-top:18px}.ai-settings-body{padding:18px 21px 20px}.ai-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:13px 16px}.ai-settings-grid label,.monthly-report-form>label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:700}.ai-settings-grid input:not([type=checkbox]),.ai-settings-grid select,.monthly-report-form select{height:36px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 10px;color:var(--ink);font:11px Arial,Microsoft YaHei UI,sans-serif}.ai-settings-grid .ai-switch{justify-content:flex-end;flex-direction:row;align-items:center;padding-bottom:9px;color:var(--ink)}.ai-switch input{width:17px;height:17px;accent-color:var(--green)}.ai-gateway-status{display:grid;grid-template-columns:1.15fr .7fr 1.3fr;gap:12px;margin-top:16px;padding:13px 15px;background:#f4f7f3;border:1px solid #e0e8e1;border-radius:8px}.ai-gateway-status>div{display:flex;flex-wrap:wrap;align-items:center;gap:7px;min-width:0}.ai-gateway-status span{color:var(--muted);font-size:10px}.ai-gateway-status code{font-size:10px;color:#31564d;background:#fff;border:1px solid #dfe7e1;border-radius:4px;padding:4px 6px;overflow:hidden;text-overflow:ellipsis}.ai-settings-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}.ai-settings-actions button{height:34px;border:1px solid #d3ded6;background:#fff;border-radius:7px;color:#38524b;padding:0 12px;font-size:11px;font-weight:700}.ai-settings-actions .primary{background:var(--gold);border-color:var(--gold);color:#243c36}.ai-settings-actions button:disabled{opacity:.55}.ai-connection-result{margin-top:13px;padding:10px 12px;border-radius:7px;font-size:11px;font-weight:700}.ai-connection-result.success{background:#e9f4ed;color:#34735d}.ai-connection-result.error{background:#f8ece9;color:#a55e52}.ai-data-warning{margin:14px 0 0;color:#8a7051;font-size:10px;line-height:1.55}.ai-endpoint-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:16px}.ai-endpoint-list{border:1px solid var(--line);border-radius:9px;background:#f7f9f7;padding:8px;display:flex;flex-direction:column;gap:6px}.ai-endpoint-list header{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 7px;font-size:11px}.ai-endpoint-list header button,.ai-endpoint-editor-title button{border:1px solid #d4dfd6;background:#fff;border-radius:6px;height:28px;padding:0 9px;color:#35584f;font-size:10px;font-weight:700}.ai-endpoint-list>button{display:flex;align-items:center;gap:8px;width:100%;min-height:52px;border:1px solid transparent;border-radius:7px;background:transparent;padding:8px;text-align:left;color:var(--ink)}.ai-endpoint-list>button.active{border-color:#c6d8cc;background:#fff;box-shadow:0 2px 8px #22423912}.ai-endpoint-list>button span{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.ai-endpoint-list>button b,.ai-endpoint-list>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-endpoint-list>button small{color:var(--muted);font-size:9px}.ai-endpoint-list>button i{width:8px;height:8px;border-radius:50%;background:#c98a7d}.ai-endpoint-list>button i.ready{background:#67a487}.ai-endpoint-list>button em{font-style:normal;font-size:9px;color:#806a3f;background:#f2e5bb;border-radius:8px;padding:2px 5px}.ai-endpoint-editor{min-width:0}.ai-endpoint-editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ai-endpoint-editor-title>div:first-child{display:flex;flex-direction:column;gap:3px}.ai-endpoint-editor-title small{color:var(--muted);font-size:9px}.ai-endpoint-editor-title>div:last-child{display:flex;gap:7px}.ai-gateway-settings{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.ai-gateway-settings h4{margin:0 0 10px;font-size:11px}.statement-model-routing{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:end;gap:12px;padding:12px 15px;margin-bottom:12px;background:#f6f8f6;border:1px solid var(--line);border-radius:8px}.statement-model-routing label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:10px;font-weight:700}.statement-model-routing select{height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 9px;color:var(--ink);font-size:10px}.statement-model-routing>span{padding-bottom:9px;color:var(--gold);font-weight:800}.statement-model-routing>small{grid-column:1/-1;color:var(--muted);font-size:9px}.monthly-report-layout{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(520px,1.35fr);gap:18px;align-items:start}.monthly-report-config,.monthly-report-progress{overflow:hidden}.monthly-report-form{padding:18px 21px 21px;display:grid;gap:14px}.report-template-card{display:flex;flex-direction:column;gap:4px;padding:13px 14px;background:#f5f8f4;border:1px solid #e0e8e1;border-radius:8px}.report-template-card span{font-size:9px;color:var(--muted);font-weight:700}.report-template-card b{font-size:12px;color:var(--ink);overflow-wrap:anywhere}.report-template-card small{font-size:9px;color:var(--muted);overflow-wrap:anywhere}.monthly-report-generate{height:40px;border:0;font-size:12px;font-weight:800}.monthly-report-generate:disabled{opacity:.5;cursor:not-allowed}.report-blocker{margin:0;color:var(--red);font-size:10px}.report-progress-list{padding:13px 21px 7px;display:grid}.report-progress-row{display:grid;grid-template-columns:14px minmax(0,1fr) 42px;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #edf1ed}.report-progress-row:last-child{border-bottom:0}.report-progress-dot{width:9px;height:9px;margin-top:3px;border-radius:50%;background:#d1bd8a;box-shadow:0 0 0 4px #d1bd8a20}.report-progress-dot.done{background:#4b9678;box-shadow:0 0 0 4px #4b967820}.report-progress-row section{display:flex;flex-direction:column;gap:3px}.report-progress-row b{font-size:11px;color:#355149}.report-progress-row small{font-size:9px;color:var(--muted)}.report-progress-row strong{font-size:10px;color:#6d7f79;text-align:right}.report-error{margin:9px 21px 16px;padding:11px 12px;background:#faeeeb;border:1px solid #efd4ce;border-radius:7px;color:#a75f53;font-size:11px}.report-result{margin:10px 21px 20px;padding:13px 14px;background:#edf5ef;border:1px solid #d4e5d8;border-radius:8px;display:flex;align-items:center;gap:9px}.report-result>div{display:flex;flex-direction:column;gap:3px;min-width:0;margin-right:auto}.report-result span,.report-result small{font-size:9px;color:var(--muted)}.report-result b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-result button{border:1px solid #bfd3c5;background:#fff;color:#31584d;border-radius:6px;padding:7px 10px;font-size:10px;font-weight:700;white-space:nowrap}@media(max-width:1200px){.ai-settings-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.ai-endpoint-layout{grid-template-columns:210px minmax(0,1fr)}.monthly-report-layout,.ai-gateway-status{grid-template-columns:1fr}.market-composition-controls{grid-template-columns:repeat(2,minmax(220px,1fr)) auto auto}.market-composition-controls .excel-export-button{grid-column:auto}.market-composition-tabs{align-items:flex-start;flex-direction:column}}.auth-screen{min-height:100vh;min-width:100vw;display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 78% 18%,#d5c08c33 0 12%,transparent 34%),linear-gradient(135deg,#102f2c,#24554e)}.auth-card{width:min(430px,calc(100vw - 48px));background:#fffdf9;border:1px solid #ffffff55;border-radius:16px;box-shadow:0 24px 70px #061d1a66;overflow:hidden}.auth-brand{display:flex;align-items:center;gap:14px;padding:26px 28px 21px;border-bottom:1px solid #e7ece7}.auth-brand h1{font-size:20px;margin:0;color:#214b43}.auth-brand p{font-size:11px;color:var(--muted);margin:5px 0 0}.auth-form{display:grid;gap:14px;padding:23px 28px 27px}.auth-form label,.account-form>label{display:flex;flex-direction:column;gap:6px;color:#65746f;font-size:10px;font-weight:700}.auth-form input,.account-form input,.account-form select{height:39px;border:1px solid #d9e3db;border-radius:7px;background:#fff;padding:0 11px;color:var(--ink);outline:none}.auth-submit{height:42px;margin-top:3px}.auth-submit:disabled{opacity:.55}.auth-error{padding:10px 12px;border:1px solid #efd2cc;border-radius:7px;background:#faece9;color:#a5574c;font-size:11px;line-height:1.5}.auth-note{color:#87938f;text-align:center;font-size:9px}.current-user{display:flex;flex-direction:column;justify-content:center;min-width:92px;padding:2px 10px;border-left:1px solid #e3e9e4}.current-user b{font-size:11px;color:#304c45}.current-user small{font-size:9px;color:var(--muted);margin-top:2px}.account-layout{display:grid;grid-template-columns:minmax(620px,1.4fr) minmax(360px,.8fr);gap:18px;align-items:start}.account-new{border:1px solid #d4e0d7;background:#f5f8f4;color:#31584d;border-radius:7px;padding:7px 10px;font-size:10px;font-weight:700}.account-table{overflow:auto}.account-table td button{border:0;background:transparent;color:#31584d;padding:4px 7px;font-size:10px}.account-form{display:grid;gap:13px;padding:18px 21px 21px}.account-enabled{flex-direction:row!important;align-items:center;color:var(--ink)!important}.account-enabled input{width:17px;height:17px;accent-color:var(--green)}.account-permissions{padding:13px 14px;background:#f5f8f4;border:1px solid #dfe8e1;border-radius:8px}.account-permissions.hidden{display:none}.account-permissions>strong{font-size:11px;color:#355149}.account-permissions>div{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin-top:11px}.account-permissions label{display:flex;align-items:flex-start;gap:7px;padding:7px;background:#fff;border:1px solid #e4ebe5;border-radius:6px}.account-permissions input{width:15px;height:15px;accent-color:var(--green);flex:0 0 auto}.account-permissions span{display:flex;flex-direction:column;gap:2px}.account-permissions b{font-size:10px}.account-permissions small{font-size:8px;color:var(--muted);line-height:1.35}.account-role-note{font-size:10px;color:#7b684a;background:#faf5e9;border-radius:6px;padding:9px 10px;line-height:1.5}.report-template-card button{align-self:flex-start;margin-top:7px;border:1px solid #c8d8cc;background:#fff;color:#31584d;border-radius:6px;padding:6px 10px;font-size:10px;font-weight:700}.preview-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:#071b19b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.preview-dialog{width:min(1180px,calc(100vw - 48px));height:min(790px,calc(100vh - 48px));background:#f7f8f5;border:1px solid #ffffff66;border-radius:12px;box-shadow:0 25px 80px #0008;display:flex;flex-direction:column;overflow:hidden}.preview-dialog>header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#fff;border-bottom:1px solid #dde5de}.preview-dialog h2{font-size:16px;margin:0}.preview-dialog header p{font-size:10px;color:var(--muted);margin:5px 0 0}.preview-dialog header button{width:34px;height:34px;border:1px solid #dce4dd;background:#fff;border-radius:50%;font-size:20px;color:#587069}.preview-loading{flex:1;display:grid;place-items:center;color:#60736d;font-size:12px}.preview-body{min-height:0;flex:1;display:grid;grid-template-columns:245px minmax(0,1fr)}.preview-body>aside{overflow:auto;padding:12px;background:#eef2ee;border-right:1px solid #dbe3dc;display:flex;flex-direction:column;gap:7px}.preview-body>aside button{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;text-align:left;border:1px solid transparent;background:#f8faf7;border-radius:7px;padding:8px;color:#536963}.preview-body>aside button.active{border-color:#b8cdbf;background:#fff;box-shadow:0 4px 12px #22483d15}.preview-body>aside span{display:grid;place-items:center;width:22px;height:22px;background:#214b43;color:#fff;border-radius:4px;font-size:9px}.preview-body>aside b{font-size:9px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-body>main{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px;background:#dfe4df}.preview-slide{position:relative;width:min(840px,calc(100% - 20px));aspect-ratio:16/9;background:#fff;box-shadow:0 10px 35px #102e2933;overflow:hidden}.preview-shape{position:absolute;overflow:hidden;white-space:pre-wrap;line-height:1.18;color:#222;padding:1px}.preview-chart,.preview-table,.preview-object,.preview-image{display:grid;place-items:center;border:1px solid #c9d8d0;background:linear-gradient(135deg,#eef4ef,#f9fbf8);color:#779087;font-size:9px!important}.preview-chart:before{content:"▥";font-size:22px;margin-right:5px;color:#6c9b8c}.preview-table:before{content:"▦";font-size:22px;margin-right:5px;color:#7b9b8f}.preview-page-number{position:absolute;right:1.5%;bottom:1.3%;font-size:8px;color:#798680}.preview-body main footer{width:min(840px,calc(100% - 20px));display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.preview-body main footer button{border:1px solid #bbc9c0;background:#fff;color:#31584d;border-radius:6px;padding:7px 12px;font-size:10px;font-weight:700}.preview-body main footer button:disabled{opacity:.4}.preview-body main footer strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#435b54;font-size:10px}@media(max-width:1250px){.account-layout{grid-template-columns:1fr}.preview-body{grid-template-columns:190px minmax(0,1fr)}}.account-client-access{padding:13px 14px;background:#f7f9f6;border:1px solid #dfe8e1;border-radius:8px}.account-client-access.hidden{display:none}.account-client-access>strong{font-size:11px;color:#355149}.account-client-all{display:flex!important;flex-direction:row!important;align-items:center;margin:10px 0 8px;color:var(--ink)!important}.account-client-all input{width:15px;height:15px;accent-color:var(--green)}#account-client-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;max-height:210px;overflow:auto}#account-client-options label{display:flex;flex-direction:row;align-items:flex-start;gap:7px;padding:7px;background:#fff;border:1px solid #e4ebe5;border-radius:6px}#account-client-options input{width:15px;height:15px;accent-color:var(--green);flex:0 0 auto}#account-client-options input:disabled+span{opacity:.48}#account-client-options span{display:flex;flex-direction:column;gap:2px;min-width:0}#account-client-options b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#account-client-options small{font-size:8px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-client-empty{grid-column:1/-1;color:var(--muted);padding:6px 2px}.account-enabled.hidden{display:none!important}.password-strength{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:5px 10px;align-items:center;margin-top:-5px}.password-strength>div{height:7px;overflow:hidden;border-radius:99px;background:linear-gradient(90deg,#ead5d1,#eadfbd,#dbe8c4,#c9e2d4)}.password-strength i{display:block;width:0;height:100%;border-radius:inherit;background:#b84e45;transition:width .18s ease,background .18s ease}.password-strength span{font-size:9px;font-weight:700;color:#8b4c45}.password-strength small{grid-column:1/-1;font-size:8px;color:var(--muted)}.password-strength[data-score="2"] i{background:#cf8b3a}.password-strength[data-score="2"] span{color:#9b6728}.password-strength[data-score="3"] i{background:#8ca64c}.password-strength[data-score="3"] span{color:#657b34}.password-strength[data-score="4"] i{background:#2f8069}.password-strength[data-score="4"] span{color:#2f6e5c}.audit-log-table td{vertical-align:top}.audit-log-table td small{display:block;margin-top:3px;color:var(--muted)}.audit-log-table details summary{cursor:pointer;color:#31584d;font-weight:700}.audit-change-list{display:grid;gap:7px;margin-top:9px;min-width:520px}.audit-change-list>div{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(120px,1fr) auto minmax(120px,1fr);gap:7px;align-items:start;padding:7px;border:1px solid #e4ebe5;border-radius:6px;background:#fbfcfa}.audit-change-list code{font-size:9px;color:#31584d;overflow-wrap:anywhere}.audit-change-list span{font-size:9px;white-space:pre-wrap;overflow-wrap:anywhere}.audit-change-list b{color:var(--gold)}.password-overlay{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:24px;background:#071b19ad;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.password-dialog{width:min(430px,calc(100vw - 48px));background:#fffdf9;border:1px solid #ffffff66;border-radius:12px;box-shadow:0 24px 70px #0007;overflow:hidden}.password-dialog>header{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e4eae5}.password-dialog h2{font-size:16px;margin:0}.password-dialog header p{font-size:9px;color:var(--muted);margin:5px 0 0}.password-dialog header button{width:31px;height:31px;border:1px solid #dce4dd;background:#fff;border-radius:50%;font-size:18px;color:#587069}.password-dialog form{display:grid;gap:13px;padding:19px 22px 22px}.password-dialog form label{display:flex;flex-direction:column;gap:6px;color:#65746f;font-size:10px;font-weight:700}.password-dialog form input{height:39px;border:1px solid #d9e3db;border-radius:7px;background:#fff;padding:0 11px;color:var(--ink)}.password-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:4px}.password-actions button{min-width:92px;height:36px;border:1px solid #d6e0d8;background:#fff;color:#40574f;border-radius:7px;font-size:11px;font-weight:700}.password-actions .primary{border-color:var(--gold);background:var(--gold);color:#243c36}.forecast-stat-grid{margin-top:2px}.commitment-panel,.forecast-panel{margin-top:18px;overflow:hidden}.commitment-panel select{height:30px;min-width:92px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);padding:0 24px 0 8px}.forecast-panel .panel-title{align-items:flex-start}.forecast-panel .return-legend{color:#526a63}.forecast-panel .chart-scroll{width:calc(100% - 36px);margin:12px 18px 16px}.forecast-chart{display:block;width:auto;height:auto;background:#fff}.chart-scroll .forecast-chart{width:auto}.forecast-grid{stroke:#e2e9e4;stroke-width:1}.forecast-inflow-bar{fill:#2f8f63}.forecast-outflow-bar{fill:#c96b5a}.legend-forecast-inflow{background:#2f8f63}.legend-forecast-outflow{background:#c96b5a}.forecast-table{max-height:520px;border-top:1px solid #e4ebe5}.forecast-table th{top:0;z-index:2}.forecast-table tbody tr.forecast-negative-row,.forecast-table tbody tr.forecast-negative-row:hover{background:#fbe4e1}.forecast-table tbody tr.forecast-negative-row td{border-bottom-color:#efc5bf}.forecast-input-cell input{width:112px;min-width:90px;height:29px;text-align:right;border:1px solid #cbd8d1;border-radius:4px;background:#fff;padding:0 7px;color:var(--ink)}.ai-chat-panel.dragging{animation:none;-webkit-user-select:none;user-select:none}.ai-chat-header[data-ai-chat-drag-handle]{cursor:grab;touch-action:none}.ai-chat-panel.dragging .ai-chat-header{cursor:grabbing}.ai-chat-panel.expanded .ai-chat-header{cursor:default;touch-action:auto}.ai-chat-fab{position:fixed;right:var(--ai-chat-edge);bottom:28px;z-index:41;display:flex;align-items:center;gap:9px;height:48px;padding:0 17px 0 7px;border:1px solid #ffffff3d;border-radius:24px;background:linear-gradient(135deg,#214b43,#356d60);color:#fff;box-shadow:0 13px 32px #153b3345;font-size:12px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s}.ai-chat-fab:hover{transform:translateY(-2px);box-shadow:0 17px 36px #153b3355}.ai-chat-fab.open{padding-right:14px;background:#173b35}.ai-chat-fab-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#214b43;font-size:11px;letter-spacing:.4px}.ai-chat-fab.open .ai-chat-fab-icon{font-size:22px;font-weight:400}.ai-chat-fab.ready:after{content:"";position:absolute;top:2px;left:35px;width:8px;height:8px;border:2px solid #214b43;border-radius:50%;background:#80c6a0}.ai-chat-panel{position:fixed;right:var(--ai-chat-edge);bottom:92px;z-index:40;display:flex;flex-direction:column;width:min(var(--ai-chat-panel-width),calc(100vw - 60px));height:min(690px,calc(100vh - 122px));overflow:hidden;border:1px solid #dbe5dd;border-radius:16px;background:#fffdf9;box-shadow:0 24px 70px #102f2c4a;animation:ai-chat-in .16s ease-out}@keyframes ai-chat-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.header-actions .ai-chat-fab{position:relative;right:auto;bottom:auto;z-index:auto;height:36px;padding:0 11px 0 5px;border-color:#cbd9d1;border-radius:18px;box-shadow:none;flex:0 0 auto}.header-actions .ai-chat-fab:hover{transform:none;box-shadow:none;filter:brightness(1.05)}.header-actions .ai-chat-fab.open{padding-right:10px}.header-actions .ai-chat-fab-icon{width:26px;height:26px;font-size:9px}.header-actions .ai-chat-fab.open .ai-chat-fab-icon{font-size:17px}.header-actions .ai-chat-fab.ready:after{top:1px;left:26px;width:7px;height:7px}body.ai-chat-expanded{overflow:hidden}.ai-chat-fab.panel-expanded{display:none}.ai-chat-panel.expanded{inset:0;z-index:70;width:100%;height:100%;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;animation:ai-chat-expand-in .16s ease-out}@keyframes ai-chat-expand-in{0%{opacity:.75;transform:scale(.992)}to{opacity:1;transform:none}}.ai-chat-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:69px;padding:12px 14px 12px 16px;border-bottom:1px solid #e4ebe5;background:linear-gradient(120deg,#f8faf6,#fffdf9)}.ai-chat-header>div:first-child{display:flex;align-items:center;gap:10px;min-width:0}.ai-chat-title-mark{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:#214b43;color:#fff;font-size:11px;font-weight:800;box-shadow:0 6px 14px #214b4328}.ai-chat-header h2{margin:0;color:#27463e;font-size:14px}.ai-chat-header p{max-width:240px;margin:3px 0 0;overflow:hidden;color:#788983;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.ai-chat-header-actions{display:flex;align-items:center;gap:6px}.ai-chat-header-actions button{height:31px;border:1px solid #dce5de;border-radius:8px;background:#fff;color:#526a63;padding:0 10px;font-size:10px;font-weight:700}.ai-chat-header-actions button:last-child{width:31px;padding:0;font-size:19px;font-weight:400}.ai-chat-body{flex:1;min-height:0;overflow:auto;padding:18px 16px;background:linear-gradient(180deg,#f5f8f4,#fbfcf9);scrollbar-gutter:stable}.ai-chat-message{display:flex;align-items:flex-start;gap:8px;margin-bottom:15px}.ai-chat-message.user{flex-direction:row-reverse}.ai-chat-avatar{display:grid;place-items:center;width:27px;height:27px;flex:0 0 auto;border-radius:8px;background:#214b43;color:#fff;font-size:9px;font-weight:800}.ai-chat-message.user .ai-chat-avatar{background:#c8b27b;color:#29413b}.ai-chat-bubble{max-width:82%;padding:10px 12px;border:1px solid #dfe8e1;border-radius:4px 13px 13px;background:#fff;box-shadow:0 3px 10px #23463a0a}.ai-chat-message.user .ai-chat-bubble{border-color:#c9dbcf;border-radius:13px 4px 13px 13px;background:#e9f2eb}.ai-chat-bubble p{margin:0;color:#304a43;font-size:11px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.ai-chat-inline-citation{color:#2d6b5b;font-weight:700;text-decoration:underline;text-decoration-color:#7da99a;text-underline-offset:2px}.ai-chat-sources{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;padding-top:7px;border-top:1px solid #edf1ed}.ai-chat-sources span{flex:1 0 100%;color:#82908c;font-size:8px}.ai-chat-sources a{max-width:100%;overflow:hidden;border:1px solid #dbe6df;border-radius:5px;background:#f6f9f6;color:#42675d;padding:3px 5px;font-size:8px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.ai-chat-sources a:hover{border-color:#a8c3b5;background:#edf5ef}.ai-chat-bubble small{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #edf1ed;color:#84918d;font-size:8px;line-height:1.45}.ai-chat-thinking{display:flex;align-items:center;gap:4px;color:#72847e}.ai-chat-thinking i{width:5px;height:5px;border-radius:50%;background:#5d897b;animation:ai-chat-dot 1s infinite ease-in-out}.ai-chat-thinking i:nth-child(2){animation-delay:.15s}.ai-chat-thinking i:nth-child(3){animation-delay:.3s}.ai-chat-thinking span{margin-left:4px;font-size:9px}@keyframes ai-chat-dot{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}.ai-chat-message-content{color:#304a43;font-size:11px;line-height:1.72;overflow-wrap:anywhere}.ai-chat-message.user .ai-chat-message-content{white-space:pre-wrap}.ai-chat-message-content>*:first-child{margin-top:0}.ai-chat-message-content>*:last-child{margin-bottom:0}.ai-chat-message-content p{margin:0 0 10px;white-space:normal}.ai-chat-message-content h1,.ai-chat-message-content h2,.ai-chat-message-content h3,.ai-chat-message-content h4,.ai-chat-message-content h5,.ai-chat-message-content h6{margin:14px 0 7px;color:#24453d;line-height:1.4}.ai-chat-message-content h1{font-size:17px}.ai-chat-message-content h2{font-size:15px;padding-bottom:5px;border-bottom:1px solid #e4ebe6}.ai-chat-message-content h3{font-size:13px}.ai-chat-message-content h4,.ai-chat-message-content h5,.ai-chat-message-content h6{font-size:11px}.ai-chat-message-content ul,.ai-chat-message-content ol{margin:7px 0 11px;padding-left:22px}.ai-chat-message-content li{margin:4px 0;padding-left:2px}.ai-chat-message-content strong{color:#24463e;font-weight:800}.ai-chat-message-content em{color:#516c64}.ai-chat-message-content code{border:1px solid #dae5de;border-radius:4px;background:#f1f5f1;padding:1px 4px;color:#315d51;font-family:Consolas,Courier New,monospace;font-size:.92em}.ai-chat-message-content pre{max-width:100%;margin:9px 0;overflow:auto;border:1px solid #d8e2dc;border-radius:8px;background:#20342f;padding:11px 12px;color:#edf6f1}.ai-chat-message-content pre code{border:0;background:transparent;padding:0;color:inherit;font-size:10px;line-height:1.6;white-space:pre}.ai-chat-message-content blockquote{margin:9px 0;padding:7px 10px;border-left:3px solid #8cad9f;background:#f2f7f3;color:#557069}.ai-chat-message-content blockquote p{margin:0;color:inherit}.ai-chat-message-content hr{height:1px;margin:12px 0;border:0;background:#dfe8e1}.ai-chat-markdown-link{color:#246f5b;font-weight:700;text-decoration:underline;text-underline-offset:2px}.ai-chat-markdown-table{max-width:100%;margin:9px 0;overflow:auto;border:1px solid #dce6df;border-radius:7px}.ai-chat-markdown-table table{width:100%;border-collapse:collapse;background:#fff;font-size:10px}.ai-chat-markdown-table th,.ai-chat-markdown-table td{padding:6px 8px;border-right:1px solid #e3ebe5;border-bottom:1px solid #e3ebe5;text-align:left;white-space:nowrap}.ai-chat-markdown-table th{background:#edf4ef;color:#36594f}.ai-chat-markdown-table tr:last-child td{border-bottom:0}.ai-chat-markdown-table th:last-child,.ai-chat-markdown-table td:last-child{border-right:0}.ai-chat-panel.expanded .ai-chat-header{padding-left:max(20px,calc((100vw - 1180px)/2));padding-right:max(20px,calc((100vw - 1180px)/2))}.ai-chat-panel.expanded .ai-chat-body{padding:28px max(24px,calc((100vw - 1120px)/2))}.ai-chat-panel.expanded .ai-chat-bubble{max-width:min(900px,calc(100% - 42px));padding:14px 16px}.ai-chat-panel.expanded .ai-chat-message-content{font-size:13px;line-height:1.8}.ai-chat-panel.expanded .ai-chat-controls,.ai-chat-panel.expanded .ai-chat-composer,.ai-chat-panel.expanded>footer{padding-left:max(24px,calc((100vw - 1120px)/2));padding-right:max(24px,calc((100vw - 1120px)/2))}.ai-chat-panel.expanded .ai-chat-composer{grid-template-columns:minmax(0,1fr) 76px}.ai-chat-panel.expanded .ai-chat-composer textarea{min-height:70px;max-height:180px}.ai-chat-empty{display:grid;place-items:center;min-height:100%;padding:15px;text-align:center}.ai-chat-empty-mark{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:linear-gradient(135deg,#214b43,#4e7e71);color:#fff;font-size:13px;font-weight:800;box-shadow:0 10px 24px #214b4328}.ai-chat-empty h3{margin:12px 0 5px;color:#2b4a42;font-size:14px}.ai-chat-empty p{max-width:310px;margin:0;color:#7b8a86;font-size:10px;line-height:1.6}.ai-chat-empty>div:last-child{display:grid;width:100%;gap:7px;margin-top:16px}.ai-chat-empty button{border:1px solid #dbe6de;border-radius:9px;background:#fff;color:#3c5b53;padding:9px 11px;font-size:10px;text-align:left}.ai-chat-empty button:hover{border-color:#adc6b8;background:#f3f8f3}.ai-chat-notice,.ai-chat-error{margin:9px 13px 0;padding:9px 10px;border-radius:8px;font-size:9px;line-height:1.5}.ai-chat-notice{border:1px solid #e8ddc4;background:#fff9ec;color:#806b3f}.ai-chat-error{border:1px solid #ecd1ca;background:#fbefec;color:#a45e52}.ai-chat-controls{display:flex;align-items:center;gap:14px;padding:10px 15px 5px;flex-wrap:wrap}.ai-chat-controls label{display:flex;align-items:center;gap:6px;color:#61736d;font-size:9px;cursor:pointer}.ai-chat-controls input{width:14px;height:14px;margin:0;accent-color:#214b43}.ai-chat-controls label:has(input:disabled){opacity:.5;cursor:not-allowed}.ai-chat-controls .ai-chat-model-select{width:100%;justify-content:space-between}.ai-chat-model-select select{min-width:0;max-width:76%;height:28px;border:1px solid #d5e1d8;border-radius:6px;background:#fff;padding:0 7px;color:#304a43;font-size:9px}.ai-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px;padding:7px 13px 8px}.ai-chat-composer textarea{width:100%;min-height:58px;max-height:120px;resize:vertical;border:1px solid #d5e1d8;border-radius:10px;background:#fff;padding:10px 11px;color:#28443d;font-size:11px;line-height:1.5;outline:none}.ai-chat-composer textarea:focus{border-color:#70998a;box-shadow:0 0 0 3px #70998a1c}.ai-chat-composer textarea:disabled{background:#f2f4f1;color:#9aa39f}.ai-chat-send{align-self:stretch;border:0;border-radius:10px;background:#214b43;color:#fff;font-size:10px;font-weight:800}.ai-chat-send:disabled{cursor:not-allowed;opacity:.42}.ai-chat-panel>footer{padding:0 15px 11px;color:#8a9692;font-size:8px;line-height:1.45}.topbar{height:auto;min-height:92px;gap:22px;padding-top:13px;padding-bottom:13px}.topbar>div:first-child{min-width:150px}.header-actions{align-items:center;justify-content:flex-end;flex-wrap:wrap}.header-actions button{transition:border-color .14s,background .14s,color .14s}.header-actions button:hover{border-color:#b9ccc0;background:#f5f8f4}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #c6a75f55;outline-offset:2px}@media(max-width:1300px){.topbar,.content{padding-left:24px;padding-right:24px}.header-actions{gap:6px}.header-actions button{padding:7px 9px;font-size:10px}.current-user{min-width:78px;padding-left:8px;padding-right:8px}}@media(max-height:720px){.ai-chat-panel{bottom:82px;height:calc(100vh - 104px)}.ai-chat-fab{bottom:20px}}.product-metric-input{width:118px;max-width:100%;height:28px;border:1px solid #d5e0d8;border-radius:5px;background:#fbfdfb;padding:3px 7px;color:var(--ink);font:10px Arial,Microsoft YaHei UI,sans-serif;text-align:right;font-variant-numeric:tabular-nums}.product-metric-input[type=date]{width:126px;text-align:left}.product-metric-input:hover{border-color:#9bb6a7;background:#fff}.product-metric-input:focus{border-color:#6f9985;background:#fff;box-shadow:0 0 0 2px #6f998522;outline:none}.product-percent-input{display:inline-flex;align-items:center;justify-content:flex-end;position:relative}.product-percent-input .product-metric-input{width:92px;padding-right:19px}.product-percent-input span{position:absolute;right:7px;color:#5f6d6a;font-size:10px;pointer-events:none}.term-grid .term-excluded{border-style:dashed;background:#f6f7f5;color:#718079}.product-support-grid{align-items:stretch}.product-support-grid>.panel{height:100%}.product-empty-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:16px 18px}.product-empty-status h3{margin:0;color:var(--ink);font-size:12px}.product-empty-status p{margin:4px 0 0;color:var(--muted);font-size:9px}.product-empty-status span{flex:0 0 auto;border:1px solid #dbe4dd;border-radius:999px;background:#f5f7f4;padding:5px 9px;color:#75837e;font-size:9px}.badge-neutral{background:#eef1ef;color:#687772}.bond-market-input[type=text]{width:132px;text-align:left}.structured-track-button{min-width:62px}.structured-status{display:block;margin:-7px -8px;padding:9px 8px;text-align:center;font-size:10px;font-weight:700}.structured-status.badge-red{background:#f8e1dd;color:#a83f32}.structured-status.badge-green{background:#dff0e7;color:#21664e}.structured-status.badge-neutral{background:#eef1ef;color:#687772}.table-row-detail,.table-row-detail:hover{background:#f8fbfd!important}.table-row-detail>td{padding:0!important;white-space:normal!important;border-bottom:1px solid #d9e5ea}.structured-market-loading,.structured-market-error{display:flex;align-items:center;justify-content:center;gap:10px;min-height:96px;padding:18px;color:#587078}.structured-market-loading span{width:18px;height:18px;border:2px solid #cddbe1;border-top-color:#4d91bd;border-radius:50%;animation:structured-market-spin .8s linear infinite}.structured-market-error{flex-direction:column;color:#a5483c}.structured-market-error button,.structured-market-chart-head button{border:1px solid #cbd9d1;border-radius:6px;background:#fff;padding:5px 10px;color:#48645a}.structured-market-chart{position:relative;padding:14px 16px 10px;background:linear-gradient(180deg,#fbfdff,#f6fafb)}.structured-market-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}.structured-market-chart-head>div{display:flex;gap:4px;flex-direction:column}.structured-market-chart-head>div:last-child{align-items:flex-end}.structured-market-chart-head b{font-size:14px;color:#203f4b}.structured-market-chart-head span{font-size:10px;color:#71838a}.structured-market-canvas{position:relative;min-width:760px}.structured-market-canvas-host{width:100%;min-width:760px;height:340px}.structured-market-runtime-error{display:flex;align-items:center;justify-content:center;height:100%;border:1px dashed #ddbdb7;background:#fff8f6;color:#a5483c}.structured-market-tooltip{position:absolute;top:14px;z-index:3;box-sizing:border-box;width:184px;padding:9px 11px;border:1px solid #72a5c6;border-radius:5px;background:#fffffff2;box-shadow:0 8px 24px #244a5d22;color:#29414a;pointer-events:none}.structured-market-tooltip b{display:block;margin-bottom:5px}.structured-market-tooltip span{display:flex;justify-content:space-between;font-size:10px;line-height:1.6}.structured-market-tooltip em{color:#29414a;font-style:normal;font-variant-numeric:tabular-nums}.structured-market-attribution{margin:6px 0 0;color:#78888e;font-size:9px}.structured-market-attribution a{color:#607e8b;text-decoration:none}.structured-market-attribution a:hover{text-decoration:underline}.structured-market-chart[hidden],.structured-market-tooltip[hidden]{display:none}.product-detail-page-productStructured .table-card{max-height:none}.product-detail-page-productStructured .structured-market-chart .badge{font-size:9px}@keyframes structured-market-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.structured-market-chart-head{flex-direction:column}.structured-market-chart-head>div:last-child{align-items:flex-start}.structured-market-canvas{overflow-x:auto}.structured-market-canvas-host{width:860px}}.table-filter-selectors{display:flex;align-items:flex-end;gap:10px;min-width:0;flex-wrap:wrap}.table-filter-picker{flex:0 0 auto}.table-filter-picker select{min-width:160px}.active-filter-grid{padding-left:10px;border-left:1px solid #e1e8e2}.active-table-filter>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.active-table-filter>span button{width:17px;height:17px;border:0;border-radius:50%;background:#eef3ef;color:#6c7f79;padding:0;font-size:13px;line-height:16px}.active-table-filter>span button:hover{background:#e1eae3;color:#31584d}.statement-steps{grid-template-columns:repeat(5,minmax(170px,1fr));overflow-x:auto}.statement-verification-done{display:block;padding:9px;border:1px solid #cfe2d6;border-radius:7px;background:#edf7f0;font-size:9px;line-height:1.5}.product-analysis-page{min-width:0;width:100%}.product-analysis-page>*{min-width:0}.product-analysis-page{display:grid;gap:11px}.product-analysis-page>.stat-grid,.product-analysis-page>.strategy-analysis,.product-analysis-page>.grid-2,.product-analysis-page>.panel,.product-analysis-page>.collapsible-section{margin-top:0;margin-bottom:0}.product-analysis-page .stat-grid{gap:10px;margin:0}.product-analysis-page .stat-card{padding:13px 15px;border-radius:8px}.product-analysis-page .stat-card strong{font-size:19px;margin:5px 0 3px}.product-analysis-page .panel-title{padding:12px 16px}.product-analysis-page .panel-title p{margin-top:2px}.product-analysis-page .strategy-analysis{margin:0}.product-analysis-page .section-heading{margin:0 0 6px 1px}.product-analysis-page .strategy-analysis-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:11px}.product-analysis-page .analysis-list{padding:3px 16px 6px}.product-analysis-page .analysis-list div{padding:8px 0;gap:9px}.product-analysis-page .product-bars{padding:11px 16px 13px;gap:8px}.product-analysis-page .product-bars div{padding-bottom:7px}.product-analysis-page .term-grid{padding:12px 16px;gap:7px}.product-analysis-page .term-grid span{padding:5px 9px}.product-analysis-page .grid-2,.product-analysis-page .product-support-grid{gap:11px}.product-analysis-page .empty{padding:23px 12px}.product-analysis-page .detail-collapse-header{padding:9px 12px}.product-analysis-page .table-tools{padding-top:9px;padding-bottom:9px}.product-analysis-page .table-note{margin-top:7px;margin-bottom:0}.product-analysis-page .product-empty-status{min-height:54px;margin:0;padding:11px 14px}.product-analysis-page .product-empty-status p{margin-top:2px}.product-listed-strategy-tabs{position:sticky;top:calc(var(--sticky-content-top,92px) + 55px);z-index:19;align-self:start;min-height:42px;margin:0!important;padding:6px 0;background:#f4f5f2;box-shadow:0 10px 14px -14px #173f3a66;justify-content:flex-start}.product-listed-strategy-tabs>.segmented{margin-left:auto}.product-overview-page .product-card-grid{gap:9px;margin:0}.product-overview-page .product-card{padding:11px 13px;gap:3px}.product-overview-page .grid-2{margin-top:0}.product-detail-page-productListed .strategy-analysis-grid{grid-template-columns:1fr}.product-detail-page-productListed .strategy-analysis-panel .analysis-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;padding-top:2px}.product-detail-page-productListed .strategy-analysis-panel .analysis-list div{grid-template-columns:minmax(105px,.7fr) minmax(145px,1fr) minmax(120px,.8fr)}.product-detail-page-productListed>.panel{width:100%}
