@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f7fa;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f5f7fa;min-width:0;margin:0}button,input,select{font:inherit}button{cursor:pointer}.login-page{background:#f6f8fb;grid-template-columns:1.2fr .8fr;min-height:100vh;display:grid}.login-art{color:#0b3b3c;background:#e9f4f0;align-items:center;padding:7vw;display:flex;position:relative;overflow:hidden}.art-grid{opacity:.3;transform-origin:bottom;background-image:linear-gradient(#19756b1a 1px,#0000 1px),linear-gradient(90deg,#19756b1a 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;transform:perspective(600px)rotateX(56deg)translateY(28%)}.art-orbit{border:1px solid #1d7a6f33;border-radius:50%;position:absolute;transform:rotate(-22deg)}.orbit-one{width:700px;height:270px;top:16%;right:-90px}.orbit-two{border-color:#516ccf33;width:560px;height:210px;top:26%;right:-20px}.orbit-three{border-color:#e48b4747;width:440px;height:160px;top:35%;right:70px}.art-copy{z-index:2;max-width:590px;position:relative}.brand-mark{color:#fff;letter-spacing:-.04em;background:#1c9a8e;border-radius:13px;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid;box-shadow:0 10px 24px #1c9a8e33}.brand-mark.large{border-radius:18px;width:58px;height:58px;margin-bottom:44px;font-size:17px}.eyebrow{color:#8d9aa8;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.login-art .eyebrow{color:#32837b}.art-copy h1{letter-spacing:-.06em;margin:18px 0;font-size:clamp(42px,5vw,70px);font-weight:600;line-height:1.07}.art-copy h1 span{color:#1c9a8e}.art-copy p{color:#5e777d;max-width:480px;margin:0;font-size:16px;line-height:1.8}.art-stat-row{color:#779197;letter-spacing:.08em;align-items:center;gap:16px;margin-top:54px;font-size:10px;display:flex}.art-stat-row b{color:#1c9a8e;letter-spacing:0;font-size:16px}.login-panel{background:#fff;flex-direction:column;justify-content:center;padding:8vw;display:flex}.login-heading{color:#71808d;align-items:center;gap:9px;margin-bottom:74px;font-size:12px;font-weight:600;display:flex}.status-dot{background:#23ad91;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #23ad911f}.login-panel h2{letter-spacing:-.06em;color:#16212c;margin:0 0 10px;font-size:38px}.muted{color:#9aa6b2}.login-form{gap:20px;margin-top:40px;display:grid}label{color:#667583;gap:9px;font-size:12px;font-weight:600;display:grid}input,select{color:#263541;background:#fbfcfd;border:1px solid #e3e8ed;border-radius:10px;outline:none;width:100%;height:45px;padding:0 14px;transition:all .2s}input:focus,select:focus{background:#fff;border-color:#61b6aa;box-shadow:0 0 0 3px #61b6aa24}.login-button{justify-content:space-between;width:100%;margin-top:10px}.primary-button,.secondary-button{border:0;border-radius:9px;justify-content:center;align-items:center;gap:12px;height:43px;padding:0 16px;font-size:12px;font-weight:700;transition:all .2s;display:inline-flex}.primary-button{color:#fff;background:#1b9b8c;box-shadow:0 8px 16px #1b9b8c26}.primary-button:hover{background:#118275;transform:translateY(-1px)}.secondary-button{color:#52616c;background:#f0f3f5}.secondary-button:hover{background:#e4eaed}.primary-button:disabled{opacity:.6;cursor:wait}.form-error{color:#cf5d56;background:#fff3f1;border-radius:7px;padding:10px 12px;font-size:12px}.login-footer{color:#a6b0b8;border-top:1px solid #edf0f2;justify-content:space-between;margin-top:70px;padding-top:16px;font-size:10px;display:flex}.app-shell{background:#f5f7fa;min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e9edf0;flex-direction:column;flex:0 0 250px;width:250px;min-height:100vh;padding:28px 18px 18px;display:flex}.sidebar-brand{align-items:center;gap:12px;padding:0 10px 36px;display:flex}.sidebar-brand strong{color:#283641;letter-spacing:-.02em;font-size:12px;display:block}.sidebar-brand small{color:#a5b0b9;white-space:nowrap;margin-top:4px;font-size:8px;display:block}.nav-label{color:#a8b2bb;letter-spacing:.16em;margin-bottom:9px;padding:0 13px;font-size:9px;font-weight:700}.secondary-label{margin-top:34px}.nav-item{color:#8896a0;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:13px;width:100%;height:42px;margin-bottom:3px;padding:0 14px;font-size:12px;font-weight:600;display:flex}.nav-item span{color:#b2bec6;text-align:center;width:16px;font-size:17px;line-height:1}.nav-item:hover{color:#3e7470;background:#f5f9f8}.nav-item.active{color:#178d80;background:#eaf7f3}.nav-item.active span{color:#17998a}.sidebar-bottom{margin-top:auto}.support-card{background:#fff7e8;border:1px solid #f9e9c9;border-radius:12px;align-items:center;gap:10px;margin:20px 6px 14px;padding:13px 11px;display:flex}.support-icon{color:#d88b32;background:#fff0cb;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.support-card strong,.support-card span{font-size:10px;display:block}.support-card strong{color:#836333}.support-card span{color:#ba9966;margin-top:4px;font-size:9px}.user-card{text-align:left;background:#fbfcfd;border:1px solid #edf0f1;border-radius:10px;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.avatar,.top-avatar{color:#1b887d;background:#dcefeb;place-items:center;font-size:12px;font-weight:700;display:grid}.avatar{border-radius:8px;width:27px;height:27px}.user-card strong,.user-card span{font-size:10px;display:block}.user-card strong{color:#475661}.user-card span{color:#a2adb5;margin-top:3px}.logout-icon{margin-left:auto;color:#9ea9b1!important;font-size:17px!important}.main-area{flex-direction:column;flex:1;min-width:0;min-height:100vh;display:flex}.topbar{background:#ffffffb3;border-bottom:1px solid #e9edf0;justify-content:space-between;align-items:center;height:92px;padding:0 44px;display:flex}.crumb{color:#a7b0b8;font-size:10px}.topbar h2{color:#25333d;letter-spacing:-.04em;margin:6px 0 0;font-size:18px}.top-actions{align-items:center;gap:16px;display:flex}.live-chip{color:#46978a;background:#eff9f5;border-radius:15px;align-items:center;gap:8px;padding:7px 10px;font-size:10px;display:flex}.icon-button{color:#9aa6af;background:0 0;border:0;font-size:22px}.top-avatar{border-radius:10px;width:32px;height:32px}.page-content{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:38px 44px 60px}.page-intro{justify-content:space-between;align-items:end;margin-bottom:34px;display:flex}.page-intro.compact{align-items:center}.page-intro h1{color:#26343e;letter-spacing:-.06em;margin:10px 0 8px;font-size:31px;font-weight:600}.page-intro p{color:#99a5ad;margin:0;font-size:13px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.metric-card{background:#fff;border:1px solid #e9edef;border-radius:13px;min-height:164px;padding:22px 22px 18px;position:relative;overflow:hidden}.metric-card.accent-card{background:#eaf8f4;border-color:#d9f0ea}.metric-top{color:#82909a;justify-content:space-between;align-items:center;font-size:11px;display:flex}.metric-symbol{color:#1c9a8e;font-size:19px}.muted-symbol{color:#afbac1}.metric-value{color:#253641;letter-spacing:-.06em;margin-top:12px;font-size:28px;font-weight:600}.metric-value small{color:#96a1a8;letter-spacing:0;margin-left:4px;font-size:13px}.metric-sub{color:#9da9b0;margin-top:6px;font-size:10px}.metric-sub.positive{color:#1b9b8c}.metric-sub span{color:#a8b5b9;margin-left:5px}.mini-bars{align-items:end;gap:4px;width:85px;height:40px;display:flex;position:absolute;bottom:20px;right:21px}.mini-bars i{opacity:.72;background:#72c9bb;border-radius:3px 3px 0 0;flex:1;display:block}.progress-line{background:#edf1f3;border-radius:10px;height:5px;margin-top:18px;overflow:hidden}.progress-line span{background:#6999e7;border-radius:10px;height:100%;display:block}.progress-line.orange span{background:#e5a258}.progress-caption{color:#a1adb4;justify-content:space-between;margin-top:8px;font-size:9px;display:flex}.progress-caption b{color:#7194be}.run-spark{align-items:end;gap:3px;height:30px;display:flex;position:absolute;bottom:21px;right:21px}.run-spark span{background:#b9cbea;border-radius:2px 2px 0 0;width:5px;display:block}.dashboard-grid{grid-template-columns:1.35fr .65fr;gap:15px;margin-top:15px;display:grid}.panel{background:#fff;border:1px solid #e9edef;border-radius:13px}.featured-panel,.action-panel{min-height:247px;padding:23px}.panel-heading{justify-content:space-between;align-items:start;gap:20px;display:flex}.panel-heading h3{color:#2c3a43;letter-spacing:-.04em;margin:6px 0 0;font-size:15px}.text-button{color:#55a399;background:0 0;border:0;padding:2px;font-size:11px;font-weight:700}.snapshot-layout{align-items:center;gap:36px;margin-top:23px;display:flex}.ring-wrap{flex-direction:column;align-items:center;display:flex}.ring{background:conic-gradient(#1a9c8c 0 72%, #bddfd8 72% 84%, #eef5f2 84% 100%);border-radius:50%;place-items:center;width:132px;height:132px;padding:12px;display:grid}.ring-inner{background:#fff;border-radius:50%;align-content:center;justify-items:center;width:100%;height:100%;display:grid}.ring-inner strong{color:#273740;letter-spacing:-.05em;font-size:22px}.ring-inner span{color:#a1aeb5;margin-top:2px;font-size:9px}.ring-legend{color:#a1acb4;gap:12px;margin-top:10px;font-size:9px;display:flex}.dot{background:#1a9c8c;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.dot.blue{background:#a9c2ed}.dot.pale{background:#dbe8e4}.snapshot-copy{flex:1}.snapshot-name{color:#364852;align-items:center;gap:10px;font-size:15px;font-weight:700;display:flex}.success-badge{color:#2d9c88;white-space:nowrap;background:#ebf8f2;border:1px solid #d5eee5;border-radius:13px;padding:5px 8px;font-size:9px;font-weight:700}.snapshot-meta{color:#a3afb5;margin-top:8px;font-size:10px}.snapshot-stats{gap:34px;margin-top:31px;display:flex}.snapshot-stats span,.snapshot-stats b{display:block}.snapshot-stats span{color:#a4b0b8;font-size:10px}.snapshot-stats b{color:#32444e;margin-top:6px;font-size:17px}.snapshot-stats em{color:#9faab2;margin-left:2px;font-size:10px;font-style:normal}.action-list{margin-top:17px}.action-list button{text-align:left;background:0 0;border:0;border-bottom:1px solid #f1f3f4;align-items:center;gap:11px;width:100%;padding:10px 0;display:flex}.action-list button:last-child{border-bottom:0}.action-list button>span:last-child{color:#aab4bb;margin-left:auto;font-size:20px}.action-list strong,.action-list small{display:block}.action-list strong{color:#4b5b65;font-size:11px}.action-list small{color:#abb5bc;margin-top:4px;font-size:9px}.action-icon{border-radius:9px;place-items:center;width:31px;height:31px;font-size:15px;display:grid}.teal-bg{color:#15927f;background:#e3f5ef}.purple-bg{color:#7b73c5;background:#eeecfb}.orange-bg{color:#d88a38;background:#fff1dc}.table-panel{margin-top:15px;padding:23px}.simple-table{margin-top:17px}.pagination-bar{color:#8d99a3;justify-content:center;align-items:center;gap:14px;padding:16px 0 2px;font-size:12px;display:flex}.table-row{color:#64737d;text-align:left;background:0 0;border:0;border-bottom:1px solid #f1f3f4;grid-template-columns:1.6fr .8fr .7fr .7fr 1fr .15fr;align-items:center;gap:14px;width:100%;min-height:62px;padding:0 13px;font-size:11px;display:grid}button.table-row:hover{background:#fbfdfc}.table-head{color:#9ca8b0;text-transform:uppercase;letter-spacing:.04em;min-height:34px;font-size:9px;font-weight:700}.table-row strong,.table-row small{display:block}.table-row strong{color:#455762;font-size:11px}.table-row small{color:#aab4bb;margin-top:4px;font-size:9px}.table-row .arrow{color:#aab5bb;text-align:right;font-size:17px}.strong-number{color:#2a9090;font-weight:700}.status-pill{color:#9aa6ae;background:#f1f3f5;border-radius:12px;align-items:center;gap:6px;width:max-content;padding:5px 8px;font-size:9px;font-style:normal;display:inline-flex}.status-pill i{background:#acb6bd;border-radius:50%;width:5px;height:5px}.status-pill.success{color:#329d88;background:#edf8f3}.status-pill.success i{background:#33ad91}.status-pill.running{color:#bb8442;background:#fff7e9}.status-pill.running i{background:#e5a14e}.scenario-status{color:#a2adb4;background:#fff;border:1px solid #e6ecef;border-radius:16px;align-items:center;gap:7px;padding:8px 11px;font-size:10px;display:flex}.scenario-layout{grid-template-columns:1.45fr .55fr;align-items:start;gap:16px;display:grid}.form-panel{padding:27px 30px}.form-section{border-bottom:1px solid #eef1f2;margin-bottom:28px;padding-bottom:28px}.form-section:last-of-type{margin-bottom:0}.section-title{align-items:start;gap:12px;display:flex}.number-chip{color:#1b9b8c;background:#e7f6f1;border-radius:8px;place-items:center;width:25px;height:25px;font-size:9px;font-weight:700;display:grid}.number-chip.purple{color:#7f76c8;background:#efedfc}.number-chip.orange{color:#d88c3d;background:#fff1dd}.section-title h3{color:#3e505a;margin:0;font-size:14px}.section-title p{color:#a1adb4;margin:5px 0 0;font-size:10px}.form-grid{grid-template-columns:repeat(2,1fr);gap:20px 16px;margin:24px 0 0 37px;display:grid}.form-grid .wide{grid-column:1/-1}.input-suffix{position:relative}.input-suffix input{padding-right:35px}.input-suffix span{color:#a1adb4;font-size:10px;position:absolute;top:14px;right:13px}.slider-block{margin:29px 0 0 37px}.slider-label{color:#9daab2;justify-content:space-between;font-size:10px;display:flex}.slider-label strong{color:#2b9b8e;font-size:13px}input[type=range]{appearance:none;background:linear-gradient(90deg,#a8c6ed,#1b9b8c);border:0;border-radius:8px;height:5px;margin-top:18px;padding:0}.slider-scale{color:#abb5bc;justify-content:space-between;margin-top:7px;font-size:9px;display:flex}.form-actions{justify-content:flex-end;gap:10px;padding-top:5px;display:flex}.scenario-preview{padding:25px;position:sticky;top:22px}.scenario-preview h3{color:#354750;margin:9px 0 5px;font-size:17px}.scenario-preview>.muted{font-size:10px;line-height:1.6}.preview-card{background:#f0f9f6;border:1px solid #e0f1eb;border-radius:12px;margin-top:24px;padding:16px}.preview-label{color:#7da39b;font-size:10px}.preview-score{color:#2f9d8e;margin-top:8px}.preview-score strong{letter-spacing:-.06em;font-size:35px}.preview-score span{color:#a5b8b9;font-size:12px}.preview-track{background:#dceee8;border-radius:5px;height:6px;margin-top:12px}.preview-track span{background:#2ca291;border-radius:5px;height:100%;display:block}.preview-tags{color:#82a39d;justify-content:space-between;margin-top:9px;font-size:9px;display:flex}.preview-list{margin-top:23px}.preview-list div{color:#9ca8af;border-bottom:1px solid #eff2f3;justify-content:space-between;padding:11px 0;font-size:10px;display:flex}.preview-list b{color:#4e616a;font-weight:600}.preview-note{color:#bb8a4d;background:#fff9ed;border-radius:9px;gap:9px;margin-top:22px;padding:11px;display:flex}.preview-note span{color:#df9a39}.preview-note p{margin:0;font-size:9px;line-height:1.6}.data-summary{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:17px;display:grid}.data-summary>div{background:#fff;border:1px solid #e9edef;border-radius:12px;padding:18px 20px}.data-summary span,.data-summary strong{display:block}.data-summary span{color:#a3afb7;font-size:10px}.data-summary strong{color:#354853;letter-spacing:-.05em;margin-top:8px;font-size:22px}.teal-text{color:#1b998a!important}.orange-text{color:#d58e40!important}.dataset-head,.dataset-row{grid-template-columns:1.6fr 1fr .8fr .7fr .8fr .9fr}.mini-button{color:#258f82;background:#eef9f5;border:1px solid #d5eee7;border-radius:6px;padding:5px 8px;font-size:9px}.table-tools{gap:6px;display:flex}.filter-chip{color:#a0abb2;background:#fff;border:1px solid #e7ecef;border-radius:15px;padding:6px 10px;font-size:10px}.filter-chip.active{color:#388e85;background:#edf9f5;border-color:#cfe9e1}.upload-note{color:#55a097;background:#f3fbf8;border:1px dashed #cfe4df;border-radius:12px;gap:13px;margin-top:16px;padding:18px 21px;display:flex}.upload-note>span{font-size:20px}.upload-note strong{font-size:11px}.upload-note p{color:#8eaaa5;margin:6px 0 0;font-size:10px}.run-filter-row{gap:9px;margin:0 0 17px;display:flex}.search-box{color:#a7b2b9;background:#fff;border:1px solid #e6ecef;border-radius:17px;align-items:center;gap:8px;width:280px;padding:0 12px;display:flex}.search-box input{height:33px;box-shadow:none;background:0 0;border:0;padding:0;font-size:10px}.runs-head,.run-row{grid-template-columns:1.5fr .9fr .7fr .7fr .7fr 1fr}.run-row{min-height:70px}.result-actions{gap:9px;display:flex}.result-metric-grid{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.result-metric{background:#fff;border:1px solid #e9edef;border-radius:13px;padding:21px;position:relative;overflow:hidden}.result-metric.teal-tint{background:#e9f8f4;border-color:#d9f1ea}.result-metric>span,.result-metric>small{display:block}.result-metric>span{color:#81909b;font-size:10px}.result-metric>strong{color:#2b3e48;letter-spacing:-.06em;margin:12px 0 5px;font-size:29px;display:block}.result-metric>strong small{color:#94a3aa;letter-spacing:0;font-size:12px;display:inline}.result-metric>small{color:#a5b0b7;font-size:9px}.metric-arrow{color:#1c9c8c;font-size:19px;position:absolute;top:20px;right:20px}.metric-arrow.blue{color:#7f9ed8}.metric-arrow.orange{color:#dc9850}.metric-arrow.purple{color:#8d84ca}.analysis-grid{grid-template-columns:1.22fr .78fr;gap:15px;margin-top:15px;display:grid}.chart-panel,.constraint-panel,.holdings-panel{padding:22px}.legend{color:#a3adb4;gap:13px;font-size:9px;display:flex}.industry-chart{margin-top:27px}.industry-row{color:#7d8b94;grid-template-columns:70px 1fr 44px;align-items:center;gap:10px;margin-bottom:13px;font-size:9px;display:grid}.industry-row b{color:#388e85;text-align:right;font-size:10px}.bars{background:#f4f7f7;border-radius:4px;height:16px;position:relative;overflow:hidden}.bars i{border-radius:4px;height:6px;display:block;position:absolute;left:0}.benchmark-bar{background:#dbe7e3;top:1px}.portfolio-bar{background:#39a999;top:9px}.constraint-panel .panel-heading{align-items:center}.constraint-list{margin-top:19px}.constraint-item{margin-bottom:17px}.constraint-title,.constraint-meta{justify-content:space-between;align-items:center;display:flex}.constraint-title{color:#71808a;font-size:10px}.constraint-title b{color:#344853}.check-icon{color:#2aa089;background:#e6f7f1;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:7px;font-size:9px;font-style:normal;display:inline-grid}.constraint-bar{background:#f0f3f4;border-radius:6px;height:5px;margin:8px 0 5px;overflow:hidden}.constraint-bar span{background:#62bdb1;border-radius:5px;height:100%;display:block}.constraint-bar span.warning{background:#e1a260}.constraint-bar span.danger{background:#df7770}.constraint-meta{color:#acb6bc;font-size:8px}.constraint-meta em{color:#38a08b;font-style:normal}.holdings-panel{margin-top:15px}.holdings-head,.holding-row{grid-template-columns:1.35fr .9fr .75fr .75fr .75fr .95fr}.holding-row{min-height:63px}.positive{font-weight:700;color:#269a8c!important}.negative{font-weight:700;color:#d4776e!important}.running-banner{background:#fff8e9;border:1px solid #f5e8ca;border-radius:13px;align-items:center;gap:15px;padding:23px;display:flex}.spinner{border:3px solid #f3dfb7;border-top-color:#d99646;border-radius:50%;width:23px;height:23px;animation:1s linear infinite spin}.running-banner strong{color:#8b6d43;font-size:13px}.running-banner p{color:#b4966e;margin:6px 0 0;font-size:10px}.running-progress{background:#f4e9d3;border-radius:9px;flex:1;height:7px;margin-left:18px;overflow:hidden}.running-progress span{background:#e3a75e;border-radius:9px;height:100%;transition:width .3s;display:block}.empty-state{background:#fbfdfc;border:1px dashed #d5e3e0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:390px;display:flex}.empty-orbit{border:1px solid #acd7cd;border-radius:50%;width:72px;height:72px;margin-bottom:17px;box-shadow:12px 0 0 -6px #e2f0ec,-12px 0 0 -6px #e2f0ec}.empty-state h3{color:#52646d;margin:0;font-size:15px}.empty-state p{color:#a2afb6;margin:8px 0 18px;font-size:11px}.inline-form{margin-bottom:16px;padding:20px}.inline-form .form-grid{align-items:end;margin:0}.inline-form-actions{gap:8px;display:flex}.role-pill{color:#6f79b7;background:#f0effb;border-radius:10px;padding:5px 8px;font-size:9px;font-style:normal}.users-head,.users-head+.table-row{grid-template-columns:1.2fr 1fr 1fr .7fr 1fr 1fr}.audit-head,.audit-head+.table-row{grid-template-columns:.9fr 2fr 1fr 1.3fr}.audit-action{color:#3c9589;background:#edf8f4;border-radius:9px;padding:5px 9px;font-size:9px;font-style:normal}.toast{z-index:20;color:#fff;background:#243b42;border-radius:9px;align-items:center;gap:9px;padding:11px 15px;font-size:11px;display:flex;position:fixed;bottom:28px;right:32px;box-shadow:0 8px 22px #162d332e}.toast span{background:#42b89e;border-radius:50%;place-items:center;width:18px;height:18px;font-size:10px;display:grid}.toast.error span{background:#e1766d}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2c3f442e;place-items:center;display:grid;position:fixed;inset:0}.profile-modal{background:#fff;border:1px solid #e7edef;border-radius:16px;width:390px;padding:24px;box-shadow:0 18px 45px #233e4329}.modal-heading{justify-content:space-between;align-items:start;display:flex}.modal-heading h3{color:#334650;margin:7px 0 0;font-size:19px}.modal-close{color:#9eabb2;background:0 0;border:0;font-size:24px}.profile-summary{background:#f3f8f7;border-radius:11px;align-items:center;gap:11px;margin:22px 0;padding:13px;display:flex}.large-avatar{border-radius:11px;width:36px;height:36px}.profile-summary strong,.profile-summary span{display:block}.profile-summary strong{color:#40535d;font-size:12px}.profile-summary span{color:#9caaaf;margin-top:4px;font-size:10px}.modal-form{gap:14px;display:grid}.modal-actions{justify-content:space-between;gap:9px;margin-top:23px;display:flex}.modal-actions .primary-button{flex:1}.modal-actions .secondary-button{color:#bc6e67;background:#fff2f0}.infeasible-overlay{z-index:18;background:#fff8f5;border:1px solid #f0c8bd;border-radius:12px;gap:12px;width:380px;padding:16px;display:flex;position:fixed;top:108px;right:42px;box-shadow:0 12px 30px #5c3e371f}.infeasible-overlay .infeasible-icon{color:#c56557;background:#ffe2da;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.infeasible-overlay strong{color:#8e4f46;font-size:12px}.infeasible-overlay p{color:#b17c73;margin:6px 0;font-size:10px;line-height:1.5}.infeasible-overlay ul{color:#a56f67;margin:0 0 10px;padding-left:16px;font-size:9px;line-height:1.6}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1250px){.sidebar{flex-basis:220px;width:220px}.page-content,.topbar{padding-left:28px;padding-right:28px}.metric-grid{gap:10px}.snapshot-layout{gap:20px}.scenario-layout{grid-template-columns:1.25fr .75fr}}.filter-select{border-radius:17px;width:170px;height:34px;padding:0 10px;font-size:10px}.table-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.danger-button{color:#c96c63;background:#fff4f2;border-color:#f0d1cc}.run-tools-panel,.user-operations-panel,.result-extra-panel,.error-result-panel,.detail-panel{margin-top:15px;padding:22px}.run-tools-panel .table-row{grid-template-columns:.35fr 1.5fr .8fr .8fr 1.5fr}.run-tools-panel .table-head{min-height:34px}.mini-input{width:105px;height:28px;padding:0 8px;font-size:9px}.compare-panel{border-top:1px solid #edf1f2;margin-top:20px;padding-top:18px}.compare-metrics{grid-template-columns:repeat(5,1fr);gap:10px;margin:15px 0;display:grid}.compare-metrics>div{background:#f7faf9;border:1px solid #e8efed;border-radius:9px;padding:11px}.compare-metrics span,.compare-metrics strong{display:block}.compare-metrics span{color:#9aa7ad;font-size:9px}.compare-metrics strong{margin-top:7px;font-size:15px}.contribution-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:18px;display:grid}.contribution-grid>div{border:1px solid #edf1f2;border-radius:10px;padding:15px}.contribution-grid h4{color:#55666f;margin:0 0 10px;font-size:11px}.contribution-row{color:#7c8a92;border-bottom:1px solid #f0f3f3;justify-content:space-between;gap:8px;padding:8px 0;font-size:10px;display:flex}.contribution-row b{font-size:10px}.error-result-panel{color:#8f5148;background:#fff8f6;border-color:#f0d0c8;align-items:flex-start;gap:14px;display:flex}.error-result-panel h3{margin:0;font-size:14px}.error-result-panel p{color:#aa7770;font-size:10px}.error-result-panel ul{color:#a86f66;padding-left:17px;font-size:10px}.error-result-panel .infeasible-icon{color:#c56557;background:#ffe2da;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.share-launcher{z-index:8;color:#176f6c;background:#fff;border:1px solid #c9d9d6;border-radius:999px;padding:10px 16px;position:fixed;bottom:24px;right:28px;box-shadow:0 10px 28px #1449471f}.result-content .holdings-panel,.result-content .chart-panel,.dashboard-page{display:none}.dashboard-real-page{max-width:1900px;margin:0}.dashboard-real-grid{grid-template-columns:1.35fr .65fr;gap:18px;margin-bottom:18px;display:grid}.real-snapshot-stats{grid-template-columns:repeat(4,1fr);gap:16px;padding:24px 0;display:grid}.real-snapshot-stats div{flex-direction:column;gap:8px;min-width:0;display:flex}.real-snapshot-stats span{color:#8a9a97;font-size:12px}.real-snapshot-stats b{color:#1e3f3d;text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.real-snapshot-stats em{color:#758784;margin-left:3px;font-size:12px;font-style:normal}.dynamic-industry-panel{margin:0 28px 28px 300px}.echarts-canvas{width:100%;height:360px}.result-weights-panel{margin:0 28px 28px 300px}.result-weights-panel .simple-table{max-height:340px;overflow:auto}.main-area>.result-analysis-extra-panel{margin-left:28px;margin-right:28px}.app-shell>.dynamic-industry-panel,.app-shell>.result-weights-panel{display:none}.main-area>section.page-content:has(.run-filter-row:not(.run-filter-row-advanced)){display:none}.main-area>section.page-content:has(.dataset-row) .detail-panel{display:none}.main-area>section.page-content:has(.audit-head){display:none}.data-normalization-toggle{color:#315d5a;background:#f8fcfb;border:1px solid #dbe9e6;border-radius:14px;align-items:center;gap:12px;margin:0 28px 24px;padding:12px 16px;font-size:13px;display:flex}.data-normalization-toggle label{align-items:center;gap:8px;font-weight:700;display:flex}.data-normalization-toggle input{accent-color:#1d9f91}.data-normalization-toggle span{color:#7b8b9c}.scenario-filter-note{color:#7b6b3b;background:#fffdf5;border:1px solid #e7e1c9;border-radius:14px;align-items:center;gap:14px;margin:0 28px 24px;padding:13px 16px;font-size:12px;display:flex}.scenario-filter-note strong{color:#856e2a}.runs-real-page{max-width:1900px;margin:0}.run-filter-row-advanced{flex-wrap:wrap;align-items:center}.run-filter-row-advanced .filter-select,.run-filter-row-advanced .date-filter{color:#4b6470;min-height:36px;font:inherit;background:#fff;border:1px solid #dce7e5;border-radius:10px;padding:0 10px;font-size:12px}.run-filter-row-advanced .date-filter{width:128px}.date-separator{color:#96a5af;font-size:12px}.run-operations-panel{margin-top:20px}.compact-empty{padding:36px 20px}.run-row>span:nth-child(2){gap:4px;display:grid}.run-row>span:nth-child(2) small{color:#8799a6;font-size:11px}.comparison-summary{color:#42666a;border-top:1px solid #edf2f2;flex-wrap:wrap;gap:10px;padding:16px 20px;font-size:12px;display:flex}.comparison-summary span{background:#f0f8f6;border-radius:999px;padding:8px 12px}.result-detail-metrics{margin:0 28px 20px}.result-detail-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.result-detail-grid>div{background:#fbfdfd;border:1px solid #edf2f2;border-radius:12px;padding:14px 16px}.result-detail-grid span{color:#82939c;margin-bottom:8px;font-size:11px;display:block}.result-detail-grid strong{color:#244c51;font-size:14px}@media (width<=1200px){.result-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.dataset-validation-details{margin:0 28px 24px}.validation-version-card{border-top:1px solid #edf2f2;padding:16px 0}.validation-version-heading,.validation-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.validation-version-heading strong{color:#2c5056;font-size:13px;display:block}.validation-version-heading span,.validation-meta{color:#8798a2;font-size:11px}.validation-meta{margin-top:8px}.validation-message-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.validation-message-grid>div{background:#f8fbfb;border-radius:10px;min-height:64px;padding:12px}.validation-message-grid span{color:#8798a2;margin-bottom:6px;font-size:11px;display:block}.validation-message-grid strong{font-size:13px}.validation-message-grid ul{color:#7a8a95;margin:8px 0 0;padding-left:16px;font-size:11px}.warning-text{color:#ba7b18}.audit-filter-row{flex-wrap:wrap;gap:10px;margin:0 28px 20px;display:flex}.audit-filter-row .filter-select{color:#4b6470;min-height:36px;font:inherit;background:#fff;border:1px solid #dce7e5;border-radius:10px;padding:0 12px;font-size:12px}.scenario-technical-panel{background:#fbfdfc;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:18px 22px;display:flex}.scenario-technical-panel .section-title{align-items:flex-start;gap:11px;display:flex}.scenario-technical-panel label{width:220px}.scenario-version-panel{background:#f8fbff;border-color:#dfe8f5;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:18px 22px;display:flex}.scenario-version-panel h3{color:#38506b;margin:6px 0 5px;font-size:15px}.scenario-version-panel p{color:#8b9bab;margin:0;font-size:11px}.scenario-version-panel select{width:330px}.scenario-version-access{background:#fff;align-items:center;gap:14px;margin:0 28px 16px;padding:13px 16px;display:flex}.scenario-version-access strong{color:#405660;margin-top:5px;font-size:13px;display:block}.scenario-version-access select{width:280px;height:36px;margin-left:auto}.scenario-version-history{margin:0 28px 24px;padding:20px}.scenario-version-history .table-row{grid-template-columns:.6fr 1fr 1.2fr 3fr}.snapshot-json{text-overflow:ellipsis;white-space:nowrap;color:#78908f;font-size:10px;overflow:hidden}.dataset-control-panel{margin-top:16px;padding:22px}.dataset-control-panel .panel-heading{margin-bottom:18px}.section-description{color:#8a9aa3;margin:6px 0 0;font-size:11px}.dataset-control-panel .data-normalization-toggle{margin:0;padding:13px 15px}.dataset-control-panel>.dataset-group-picker{margin-top:14px}.dataset-group-picker{color:#58716e;box-shadow:none;background:#f8fbfb;border:0;border-radius:10px;align-items:center;gap:8px;padding:12px 14px;font-size:12px;display:flex;position:static}.dataset-group-picker select{color:#1f4e4b;background:0 0;border:0;outline:0;max-width:240px}.dataset-group-picker input{color:#1f4e4b;background:0 0;border:0;outline:0;width:125px}.dataset-control-actions{border-top:1px solid #eef2f2;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:16px;display:flex}.dataset-control-actions .secondary-button{height:auto;min-height:38px;padding:10px 14px}.app-footer{color:#a3afb7;text-align:center;border-top:1px solid #e9edef;margin-top:auto;padding:18px 44px 24px;font-size:10px}.share-modal{width:min(560px,100vw - 48px)}.share-list{border-top:1px solid #e7ecec;margin-top:20px;padding-top:14px}.share-row{border-bottom:1px solid #eef2f2;align-items:center;gap:10px;padding:9px 0;display:flex}.share-row span{flex:1}.share-row em{color:#4b6d6b;font-size:12px;font-style:normal}.precheck-launcher{z-index:8;color:#9a6a1b;background:#fffaf0;border:1px solid #dfc69c;border-radius:999px;padding:10px 16px;position:fixed;bottom:70px;right:28px;box-shadow:0 10px 28px #95691b1f}.precheck-modal{width:min(560px,100vw - 48px)}.precheck-status{border-radius:14px;flex-direction:column;gap:5px;margin-bottom:16px;padding:14px 16px;display:flex}.precheck-status.success{color:#167354;background:#eaf8f2}.precheck-status.danger{color:#b24a3c;background:#fff1ed}.precheck-metrics{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.precheck-metrics span{color:#4b6664;background:#f3f6f6;border-radius:999px;padding:7px 10px;font-size:12px}.diagnostic-list{color:#a24a40;margin:0;padding-left:20px;line-height:1.8}.version-compare-modal{width:min(620px,100vw - 48px)}.version-compare-result{max-height:260px;margin-top:18px;overflow:auto}
