:root{color-scheme:light;--bg: #eef3f5;--panel: #ffffff;--panel-soft: #f6f9fb;--text: #111923;--muted: #647280;--line: #d9e3ea;--accent: #0c7c84;--accent-2: #2a5f8f;--accent-soft: #e7f5f4;--gold: #b7812c;--warning: #d58924;--danger: #c4483d;--good: #17875b;--shadow: 0 18px 50px rgba(22, 34, 45, .07);--shadow-soft: 0 8px 26px rgba(22, 34, 45, .05);font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif}*{box-sizing:border-box}*,*:before,*:after{min-width:0}body{margin:0;background:linear-gradient(180deg,#f7fafb 0%,var(--bg) 42%,#e7edf1 100%);color:var(--text);font-size:14px;line-height:1.45}button,input,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:#15202b;color:#eaf1f6;padding:24px 18px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:8px;background:linear-gradient(145deg,#1aa7a8,#1e6e93);display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:17px}.brand small{color:#9fb0bf;font-size:12px}nav{display:grid;gap:8px}nav button{border:0;border-radius:8px;padding:12px;color:#cbd7e1;background:transparent;text-align:left;cursor:pointer}nav button.active,nav button:hover{background:#ffffff1a;color:#fff}.workflow-card{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;border-radius:8px;padding:14px}.workflow-card span{color:#9fb0bf;font-size:12px}.workflow-card strong{display:block;margin-top:8px;line-height:1.55;font-size:13px}.workspace{padding:24px;overflow:hidden}.platform-sync-bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:12px 14px;border:1px solid #bcdedb;border-left:4px solid var(--accent);background:#f7fcfc;box-shadow:var(--shadow-soft)}.platform-sync-bar>div:first-child{display:grid;gap:2px}.platform-sync-bar strong{font-size:13px}.platform-sync-bar span{color:var(--muted);font-size:12px}.platform-sync-actions,.model-draft-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.platform-sync-bar button,.model-version-panel button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:6px;padding:8px 11px;cursor:pointer}.platform-sync-bar button.primary,.model-version-panel button.primary-lite{border-color:var(--accent);background:var(--accent);color:#fff}.platform-sync-bar button:disabled,.model-version-panel button:disabled{cursor:not-allowed;opacity:.58}.platform-login{position:absolute;z-index:3;right:0;top:calc(100% + 8px);width:min(100%,430px);display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);padding:12px}.platform-login label,.model-draft-form label{display:grid;gap:4px;color:var(--muted);font-size:11px;font-weight:700}.platform-login input,.model-draft-form input{min-height:34px;border:1px solid var(--line);background:#fff;padding:6px 8px;color:var(--text);outline-color:var(--accent)}.model-version-panel{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.model-version-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}.model-version-heading>div{display:grid;gap:3px}.model-version-heading span{color:var(--muted);font-size:12px}.model-draft-form{display:grid;grid-template-columns:170px minmax(200px,1fr) auto auto;margin-bottom:12px}.model-release-flow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px;border:1px dashed #a9ccc8;background:#f7fcfc}.model-release-flow>span{flex:1 1 310px;color:var(--muted);font-size:12px;line-height:1.55}.model-package-upload{position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:6px;padding:8px 11px;cursor:pointer;font-size:12px;font-weight:650}.model-package-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.model-version-table-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;background:var(--panel-soft)}.model-version-table-head strong{font-size:13px}.model-version-table-head button{padding:5px 8px;font-size:12px}.model-version-table{border:1px solid var(--line)}.model-version-row{display:grid;grid-template-columns:150px 90px minmax(180px,1fr) 84px;gap:10px;align-items:center;min-height:43px;padding:8px 10px;border-top:1px solid var(--line)}.model-version-row:first-child{border-top:0}.model-version-row.head{min-height:32px;background:var(--panel-soft);color:var(--muted);font-size:11px;font-weight:700}.model-version-row span{font-size:12px}.model-version-row button{padding:5px 8px;font-size:12px}.model-empty{margin:12px;color:var(--muted);font-size:12px}#rating-workbench,#company-profile,#history-query,#metric-model,#diagnosis-report,#data-import,#model-settings{scroll-margin-top:18px}#diagnosis-report{min-width:0}#diagnosis-report>.panel{height:100%}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.topbar h1{font-size:28px;line-height:1.15;margin:0 0 6px;letter-spacing:0}.topbar p{margin:0;color:var(--muted)}.company-quick-editor{width:min(100%,520px);display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow-soft);padding:12px 14px}.company-quick-editor label{display:grid;gap:4px;margin:0}.company-quick-editor span{color:var(--muted);font-size:11px;font-weight:700}.company-quick-editor input{width:100%;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--text);outline:0;padding:2px 0 5px}.company-quick-editor input:focus{border-bottom-color:var(--accent)}.company-name-field input{font-size:17px;font-weight:800}.company-meta-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--line);padding-top:9px}.company-meta-fields input{color:#405263;font-size:13px}.history-panel{margin-bottom:16px;padding:0;overflow:hidden}.history-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#f8fbfc,#f2f8f8);padding:14px 18px}.history-panel-head h2{margin:0;color:var(--text);font-size:16px}.history-panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.history-current-score{display:grid;gap:2px;min-width:112px;border-left:1px solid #c9dde1;padding-left:14px}.history-current-score span,.history-current-score small{color:var(--muted);font-size:11px}.history-current-score strong{color:var(--accent);font-size:17px;font-variant-numeric:tabular-nums}.history-save{min-height:36px;white-space:nowrap}.history-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding:12px 18px}.history-toolbar label{display:grid;gap:4px;min-width:180px}.history-toolbar label span{color:var(--muted);font-size:11px;font-weight:800}.history-toolbar select{width:100%;min-height:34px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);padding:6px 28px 6px 9px}.history-toolbar select:focus{border-color:#8fc6cb;box-shadow:0 0 0 3px #0c7c841f;outline:0}.history-count{align-self:center;margin-left:auto;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.history-records{display:grid;gap:8px;max-height:248px;overflow:auto;padding:12px 18px 16px}.history-record{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:stretch;border:1px solid var(--line);border-radius:7px;background:#fff;min-width:0;overflow:hidden}.history-record:hover,.history-record.current{border-color:#9bcfd3;background:#f4fbfb}.history-record-load{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,.55fr) 88px;align-items:center;gap:12px;border:0;background:transparent;color:var(--text);cursor:pointer;min-width:0;padding:10px 12px;text-align:left}.history-record-company,.history-record-period,.history-record-score{display:grid;gap:3px;min-width:0}.history-record-company strong{overflow-wrap:anywhere}.history-record-company span,.history-record-period span,.history-record-period small,.history-record-score span{color:var(--muted);font-size:11px}.history-record-period{border-left:1px solid var(--line);padding-left:12px}.history-record-score{justify-items:end;text-align:right}.history-record-score strong{color:var(--accent);font-size:15px;font-variant-numeric:tabular-nums}.history-record-score span{color:var(--accent);font-weight:800}.history-record-remove{border:0;border-left:1px solid var(--line);background:transparent;color:#8a9aa6;cursor:pointer;font-size:21px;line-height:1}.history-record-remove:hover{background:#fff2ef;color:var(--danger)}.history-empty{border:1px dashed #bfd2d9;border-radius:7px;background:#f8fbfc;color:var(--muted);font-size:12px;line-height:1.5;padding:14px}.panel.month-comparison{margin-bottom:16px;overflow:hidden;padding:0}.month-comparison.empty{color:var(--muted);padding:18px}.month-comparison.empty h2{color:var(--text);font-size:16px;margin:0 0 5px}.month-comparison.empty p{font-size:12px;line-height:1.6;margin:0}.month-comparison-head{align-items:center;background:linear-gradient(90deg,#f8fbfc,#f4faf7);border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:14px 18px}.month-comparison-head h2{color:var(--text);font-size:16px;margin:0}.month-comparison-head p{color:var(--muted);font-size:12px;margin:4px 0 0}.comparison-tag{background:#e4f4ed;border:1px solid #b8dfca;border-radius:999px;color:#167b57;flex:0 0 auto;font-size:11px;font-weight:800;padding:5px 9px}.comparison-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 18px}.comparison-summary-item{display:grid;gap:4px;min-width:0;padding:13px 14px 12px 0}.comparison-summary-item+.comparison-summary-item{border-left:1px solid var(--line);padding-left:14px}.comparison-summary-item span,.comparison-table-title span{color:var(--muted);font-size:11px}.comparison-summary-item strong{color:var(--text);font-size:20px;font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}.comparison-summary-item em,.comparison-row em,.comparison-conclusion-list span{font-size:11px;font-style:normal;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.good{color:#13865d}.risk{color:#c45b46}.flat{color:var(--muted)}.comparison-body{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr)}.comparison-table-wrap{min-width:0;padding:14px 18px 16px}.comparison-table-title{align-items:baseline;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px}.comparison-table-title strong{color:var(--text);font-size:13px}.comparison-table{border:1px solid var(--line);border-radius:6px;overflow:hidden}.comparison-row{align-items:center;display:grid;gap:10px;grid-template-columns:minmax(104px,1.25fr) minmax(84px,1fr) minmax(84px,1fr) minmax(124px,1.4fr);min-width:0;padding:8px 10px}.comparison-row+.comparison-row{border-top:1px solid #e5edf0}.comparison-row:not(.comparison-row-head):nth-child(odd){background:#fbfcfd}.comparison-row>*{min-width:0;overflow-wrap:anywhere}.comparison-row strong{color:#405263;font-size:12px}.comparison-row span{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.comparison-row-head{background:#eff5f6;color:#607282;font-size:11px;font-weight:800;padding-block:7px}.comparison-row-head span{color:#607282;font-size:11px}.comparison-conclusion{background:#fbfcfd;border-left:1px solid var(--line);display:grid;gap:13px;padding:14px 16px}.comparison-conclusion-lead{border-bottom:1px solid var(--line);padding-bottom:12px}.comparison-conclusion-lead span,.comparison-conclusion-list strong{color:#526776;font-size:11px;font-weight:800}.comparison-conclusion-lead p{color:var(--text);font-size:13px;line-height:1.6;margin:6px 0 0}.comparison-conclusion-list{display:grid;gap:5px}.comparison-conclusion-list span:not(.good):not(.risk){color:var(--muted)}.comparison-data-note{border-top:1px dashed #cbd8de;color:var(--muted);font-size:11px;line-height:1.55;margin:0;padding-top:10px}.hero-grid{display:grid;grid-template-columns:1.25fr .95fr .8fr;gap:16px;margin-bottom:16px}.content-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:16px;margin-bottom:16px}.profit-grid{display:grid;grid-template-columns:1fr;margin-bottom:16px}.bottom-grid{grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr)}.import-grid{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:var(--shadow);min-width:0}.panel-header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px}.stack-header{flex-direction:column}.panel-header h2{margin:0;font-size:18px;line-height:1.2}.panel-header p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.with-action button{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:8px 11px;cursor:pointer}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.button-row button{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--text);padding:9px 12px;cursor:pointer;font-size:13px}.button-row button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.preset-row{display:flex;flex-wrap:wrap;gap:8px}.preset-row button{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--text);cursor:pointer;font-size:12px;padding:7px 10px}.preset-row button.primary-lite{border-color:#9ccfd2;background:#e6f5f4;color:var(--accent);font-weight:700}.total-weight-pill{border:1px solid #9ccfd2;border-radius:8px;background:#e6f5f4;color:var(--accent);font-size:12px;font-weight:800;padding:7px 10px}.total-weight-pill.warning{border-color:#f2c979;background:#fff6df;color:var(--warning)}.score-main{display:flex;justify-content:space-between;align-items:center;margin:22px 0 16px}.score-main strong{display:block;font-size:62px;line-height:.95;letter-spacing:0}.score-main span{color:var(--muted);font-size:13px}.rating-badge{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#e6f5f4;color:var(--accent);font-size:34px;font-weight:800;border:1px solid #bde2df}.score-meter,.bar{height:10px;background:#e6edf3;border-radius:999px;overflow:hidden}.score-meter span,.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.score-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.score-diagnosis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.score-diagnosis-card{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:11px}.score-diagnosis-card.risk{border-color:#efc2bd;background:linear-gradient(180deg,#fff7f5,#fffdfc)}.score-diagnosis-card.strength{border-color:#b8dccd;background:linear-gradient(180deg,#f4fbf7,#fff)}.score-diagnosis-card span,.score-diagnosis-card p{display:block;color:var(--muted);font-size:12px;line-height:1.4}.score-diagnosis-card strong{display:block;margin-top:5px;color:var(--text);font-size:14px;line-height:1.25}.score-diagnosis-card p{margin:7px 0 0}.score-notes div,.metric-tile{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.score-notes strong,.metric-tile strong{display:block;font-size:22px}.score-notes span,.metric-tile span{display:block;color:var(--muted);font-size:12px}.radar-panel svg{width:100%;max-height:250px}.radar-panel circle,.radar-panel line{fill:none;stroke:#d9e4ea;stroke-width:1}.radar-panel polygon{fill:#0e7f8d3d;stroke:var(--accent);stroke-width:2}.radar-panel text{fill:var(--muted);font-size:10px;text-anchor:middle;font-weight:700}.market-stack{display:grid;gap:12px}.metric-tile strong{margin-top:6px}.profit-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);gap:14px}.profit-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profit-presets{display:flex;flex-wrap:wrap;gap:8px}.profit-presets button{border:1px solid #9ccfd2;border-radius:8px;background:#e6f5f4;color:var(--accent);cursor:pointer;font-size:12px;font-weight:700;padding:7px 10px}.profit-field{display:grid;gap:5px;margin:0;color:var(--muted);font-size:12px}.profit-field input{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);padding:8px}.profit-field em{color:var(--muted);font-size:11px;font-style:normal}.profit-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profit-result{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px}.profit-result span{display:block;color:var(--muted);font-size:12px}.profit-result strong{display:block;margin-top:6px;font-size:18px;line-height:1.2}.profit-result.good strong{color:var(--good)}.profit-formula{margin-top:12px;border:1px solid #bfd6de;border-radius:8px;background:#f4fafb;color:var(--muted);font-size:12px;line-height:1.45;padding:10px 12px}.cost-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.cost-breakdown div{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.cost-breakdown span,.cost-breakdown em{display:block;color:var(--muted);font-size:11px;font-style:normal;line-height:1.35}.cost-breakdown strong{display:block;margin:5px 0;font-size:16px}.cost-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.cost-group-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;min-width:0}.cost-group-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.cost-group-head span{color:var(--text);font-size:13px;font-weight:800}.cost-group-head strong{color:var(--accent);font-size:18px;line-height:1.15;text-align:right}.cost-group-card p{min-height:34px;margin:8px 0 10px;color:var(--muted);font-size:12px;line-height:1.4}.cost-group-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.cost-group-meta span{border:1px solid #d6e4ea;border-radius:999px;background:#f4fafb;color:var(--muted);font-size:11px;line-height:1.2;padding:5px 7px}.cost-group-lines{display:grid;gap:7px}.cost-group-lines>div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:7px}.cost-group-lines span,.cost-group-lines em,.cost-group-lines small{color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}.cost-group-lines>div>div{display:grid;gap:3px;min-width:0}.cost-group-lines em{display:grid;gap:3px;color:var(--text);font-weight:800;text-align:right}.cost-group-lines small{font-size:11px;font-weight:400}.cost-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.cost-analysis-block{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:13px}.cost-analysis-block>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cost-analysis-block strong{font-size:14px}.cost-analysis-block>div span{color:var(--accent);font-size:12px;font-weight:800;text-align:right}.cost-analysis-block ul{display:grid;gap:8px;list-style:none;margin:12px 0;padding:0}.cost-analysis-block li{display:grid;grid-template-columns:minmax(90px,.75fr) minmax(82px,.45fr) minmax(0,1.4fr);gap:8px;align-items:start;border-top:1px solid var(--line);padding-top:8px}.cost-analysis-block li span,.cost-analysis-block li em,.cost-analysis-block li small,.cost-analysis-block p{color:var(--muted);font-size:12px;line-height:1.4}.cost-analysis-block li span{color:var(--text);font-weight:700}.cost-analysis-block li em{display:grid;gap:3px;color:var(--accent);font-style:normal;font-weight:800}.cost-analysis-block li em small{color:var(--muted);font-weight:400}.cost-analysis-block p{margin:0;border-top:1px solid var(--line);padding-top:10px}.cylinder-panel,.reconciliation-panel{border:1px solid #c8d9df;border-radius:8px;background:#f7fbfc;margin-top:12px;padding:13px}.cylinder-panel{border-color:#d8c9a7;background:#fffaf0}.reconciliation-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.reconciliation-head strong{font-size:14px}.reconciliation-head span{color:var(--muted);font-size:12px}.cylinder-grid,.reconciliation-grid{display:grid;gap:10px}.reconciliation-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.cylinder-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.cylinder-grid div,.reconciliation-grid div{border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px}.cylinder-grid span,.cylinder-grid em,.cylinder-grid small,.reconciliation-grid span,.reconciliation-grid em{display:block;color:var(--muted);font-size:11px;font-style:normal;line-height:1.35}.cylinder-grid strong,.reconciliation-grid strong{display:block;margin:5px 0;color:var(--accent);font-size:14px}.cylinder-grid small{margin-top:5px}.factor-list,.diagnosis-list,.action-list{display:grid;gap:12px}.factor-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(130px,.45fr) minmax(150px,.65fr);align-items:center;gap:14px;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);min-width:0}.factor-name{display:flex;align-items:center;gap:12px;min-width:0}.factor-name>span{width:34px;height:34px;border-radius:8px;background:#e7f3f4;color:var(--accent);display:grid;place-items:center;font-weight:800}.factor-name strong,.diagnosis-item h3,.action-item h3,.metric-group h3{margin:0;font-size:15px}.factor-name p,.diagnosis-item p,.diagnosis-item span,.action-item p,.action-item small{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.bar-wrap{display:grid;grid-template-columns:1fr 48px;align-items:center;gap:10px;min-width:0}.bar-wrap em,.weight-control,.metric-group em,.metric-group i{color:var(--muted);font-style:normal;font-size:12px}.weight-control{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-width:0;color:var(--muted)}.weight-control strong{color:var(--accent);font-size:16px}.weight-control input{width:48px;border:1px solid var(--line);border-radius:6px;padding:6px;background:#fff}.weight-control .weight-slider{width:100%;padding:0;accent-color:var(--accent)}.diagnosis-item,.action-item{display:grid;grid-template-columns:42px 1fr;gap:12px;border:1px solid var(--line);border-radius:8px;padding:13px;background:var(--panel-soft)}.priority{height:32px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:13px}.priority-高{background:#fee9e6;color:var(--danger)}.priority-中{background:#fff2d8;color:var(--warning)}.priority-低{background:#e8f5ef;color:var(--good)}.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.input-summary{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px}.input-summary span{border:1px solid #cde0e7;border-radius:999px;background:#f5fafb;color:var(--muted);font-size:12px;font-weight:800;line-height:1.2;padding:7px 10px}.metric-section{display:grid;gap:10px}.metric-section+.metric-section{margin-top:16px}.metric-section-title{display:flex;align-items:end;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px}.metric-section:first-of-type .metric-section-title{border-top:0;padding-top:0}.metric-section-title strong{font-size:14px}.metric-section-title span{color:var(--muted);font-size:12px;text-align:right}.metric-group{border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);padding:12px}.metric-group.linked{border-color:#c8d9df;background:#f9fcfd}.metric-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.metric-group-title span,.metric-group span{color:var(--text);font-size:12px}.metric-group-title span{color:var(--muted);white-space:nowrap}.metric-group input,.metric-group select{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;padding:7px}.metric-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:9px;border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.metric-editor-name{grid-column:1 / -1}.metric-editor-name strong{display:block;font-size:13px}.metric-editor-name span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.metric-state-hint{display:inline-flex;margin-top:7px;border:1px solid #9ccfd2;border-radius:8px;background:#e6f5f4;color:var(--accent);font-size:12px;font-weight:800;padding:5px 8px}.metric-source-hint{display:inline-flex;margin-top:7px;border:1px solid #d7e4ea;border-radius:8px;background:#fff;color:var(--muted);font-size:12px;font-weight:700;padding:5px 8px}.metric-editor label{display:grid;grid-template-columns:1fr;gap:4px;margin:0;color:var(--muted);font-size:11px}.metric-editor em{color:var(--muted);font-size:11px}.linked-value{display:grid;gap:4px;border:1px solid #d7e4ea;border-radius:6px;background:#fff;padding:7px}.linked-value span{color:var(--muted);font-size:11px}.linked-value strong{color:var(--accent);font-size:13px;line-height:1.2;overflow-wrap:anywhere}.action-item>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f3f4;color:var(--accent);font-weight:800}.import-panel textarea{width:100%;min-height:230px;resize:vertical;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--text);padding:12px;line-height:1.5;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.upload-control{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed #aac7d1;border-radius:8px;background:#f4fafb;padding:12px;margin-bottom:12px}.source-file-note{margin:-.2rem 0 .9rem;color:var(--accent-deep);font-size:.84rem;font-weight:650}.upload-control span{color:var(--text);font-weight:700;font-size:13px}.upload-control input{max-width:260px;font-size:12px;color:var(--muted)}.status-line{margin:12px 0 0;color:var(--muted);font-size:13px}.report-card{border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#f7fbfc,#eef7f7);padding:16px}.report-card h3{margin:0;font-size:18px}.report-card p{margin:6px 0 12px;color:var(--muted);font-size:13px}.report-card strong{display:inline-block;color:var(--accent);font-size:24px}.report-lines{display:grid;gap:8px;margin-top:14px}.report-lines div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:8px 0}.report-lines span,.report-lines em,.report-focus p{font-size:13px}.report-lines em{color:var(--muted);font-style:normal}.report-focus{margin-top:16px;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:13px}.report-focus strong{display:block;margin-bottom:8px}.report-focus p{margin:8px 0 0;color:var(--muted);line-height:1.45}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.hero-grid,.content-grid,.bottom-grid,.import-grid,.comparison-body{grid-template-columns:1fr}.comparison-conclusion{border-left:0;border-top:1px solid var(--line)}.profit-layout,.profit-inputs,.profit-results,.cost-breakdown,.cost-board,.cost-analysis-grid,.cylinder-grid,.reconciliation-grid,.cost-analysis-block li{grid-template-columns:1fr}}@media(max-width:720px){.workspace{padding:16px}.topbar{align-items:stretch;flex-direction:column}.company-quick-editor{width:100%}.company-meta-fields{grid-template-columns:1fr;gap:8px}.history-panel-head{grid-template-columns:1fr auto;align-items:start}.history-current-score{border-left:0;padding-left:0;text-align:right}.history-save{grid-column:1 / -1;width:100%}.history-toolbar{align-items:stretch}.history-toolbar label{min-width:min(100%,150px);flex:1 1 150px}.history-count{width:100%;margin-left:0}.history-record-load{grid-template-columns:minmax(0,1fr) 76px;gap:8px}.history-record-period{grid-column:1 / -1;border-left:0;border-top:1px solid var(--line);padding:7px 0 0}.month-comparison-head{align-items:flex-start;flex-direction:column}.comparison-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-summary-item:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.comparison-summary-item:nth-child(4){border-top:1px solid var(--line)}.comparison-table-wrap{overflow-x:auto}.comparison-table{min-width:580px}.score-notes,.input-grid,.factor-row{grid-template-columns:1fr}.metric-editor{grid-template-columns:1fr 1fr}.metric-editor-name{grid-column:1 / -1}.metric-group-title{align-items:flex-start;flex-direction:column}.weight-control{grid-template-columns:auto 1fr 58px auto}.upload-control{align-items:stretch;flex-direction:column}.upload-control input{max-width:100%}}.sidebar{background:linear-gradient(180deg,#101922,#13202a)}nav button{font-size:14px;font-weight:700;padding:11px 12px}.workspace{max-width:1520px;padding:26px}.topbar h1{font-size:30px;text-wrap:balance}.hero-grid{align-items:start}.panel{overflow:hidden}.panel-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,.72fr)}.stack-header{display:flex}.panel-header h2{text-wrap:balance}.panel-header p,.factor-name p,.diagnosis-item p,.diagnosis-item span,.action-item p,.action-item small,.cost-group-card p,.metric-editor-name span{overflow-wrap:anywhere}.rating-badge{box-shadow:inset 0 0 0 8px #ffffff6b}.score-main{margin:18px 0 16px}.score-notes{margin-top:16px}.score-notes strong,.metric-tile strong{font-size:clamp(20px,2vw,23px);line-height:1.25;overflow-wrap:anywhere;text-wrap:balance}.market-panel .metric-tile strong{font-size:clamp(18px,1.45vw,21px);overflow-wrap:anywhere;text-wrap:balance;white-space:normal}.radar-panel svg{max-height:250px}.profit-layout{grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:16px;min-width:0}.profit-inputs{grid-template-columns:1fr;min-width:0}.profit-inputs-head,.profit-input-section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px}.profit-inputs-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;background:linear-gradient(180deg,#fff,#f6fafb)}.profit-inputs-head strong{color:var(--text);font-size:15px}.profit-inputs-head span{color:var(--muted);font-size:12px;line-height:1.4;text-align:right}.live-price-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid #8fc6cb;border-radius:8px;background:linear-gradient(135deg,#e8f6f5,#f8fcfc 55%,#edf5fb);padding:12px;min-width:0;max-width:100%}.live-price-field,.live-price-result{min-height:104px;display:grid;align-content:start;gap:6px;border-radius:7px;padding:10px;min-width:0;max-width:100%}.live-price-field{border:1px solid #6eafb5;background:#fff}.live-price-field span,.live-price-result span{color:#3d5b67;font-size:12px;font-weight:800;overflow-wrap:anywhere}.live-price-field input{width:100%;min-width:0;min-height:34px;border:0;border-bottom:1px solid #a9ced1;background:transparent;color:var(--text);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;outline:0;padding:2px 0 4px}.live-price-field input:focus{border-bottom-color:var(--accent);box-shadow:none}.live-price-field em,.live-price-field small,.live-price-result small{color:var(--muted);font-size:11px;font-style:normal;line-height:1.35}.live-price-field em{color:var(--accent);font-weight:800}.live-price-result{border:1px solid #cbdde2;background:#ffffffad}.live-price-result strong{color:#245f8f;font-size:clamp(18px,1.45vw,20px);font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}.live-price-result.profit-preview{border-color:#b8dccd;background:#f3faf6db}.live-price-result.profit-preview strong{color:var(--good)}.market-maintenance-impact{border-top:1px solid #d9b66c;border-bottom:1px solid #d9b66c;background:#fffaf0;padding:11px 12px}.maintenance-impact-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}.maintenance-impact-head strong{color:#765117;font-size:13px}.maintenance-impact-head span{color:#806b49;font-size:11px;line-height:1.35;text-align:right}.maintenance-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.maintenance-impact-grid>div{display:grid;gap:4px;min-width:0;padding:0 10px}.maintenance-impact-grid>div+div{border-left:1px solid #ead9b6}.maintenance-impact-grid>div:first-child{padding-left:0}.maintenance-impact-grid>div:last-child{padding-right:0}.maintenance-impact-grid span{color:#806b49;font-size:11px}.maintenance-impact-grid strong{color:#9a651a;font-size:17px;font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere}.profit-input-section{background:linear-gradient(180deg,#fff,#fbfdfe)}.profit-input-section.market-maintenance{border-color:#dfc98f;background:linear-gradient(180deg,#fffdf7,#fff9ed)}.profit-input-section.market-maintenance .profit-input-section-title strong{color:#765117}.profit-input-section-title{display:grid;gap:4px;margin-bottom:10px}.profit-input-section-title strong{color:var(--text);font-size:14px}.profit-input-section-title span{color:var(--muted);font-size:12px;line-height:1.4}.profit-input-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profit-field{line-height:1.25}.profit-field input,.profit-result strong,.cost-group-head strong,.cost-group-lines em,.cost-analysis-block li em,.cylinder-grid strong,.reconciliation-grid strong{font-variant-numeric:tabular-nums}.profit-field input:focus,.metric-group input:focus,.metric-group select:focus,.import-panel textarea:focus{border-color:#8fc6cb;box-shadow:0 0 0 3px #0c7c841f;outline:0}.profit-result{background:linear-gradient(180deg,#f8fbfc,#f1f6f8);min-height:96px}.profit-result strong{overflow-wrap:anywhere}.profit-results{display:grid;grid-template-columns:1fr;gap:12px;min-width:0;max-width:100%}.profit-results-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid #d6e4ea;border-radius:8px;background:linear-gradient(180deg,#fff,#f7fafb);padding:12px}.profit-results-head strong{color:var(--text);font-size:15px}.profit-results-head span{color:var(--muted);font-size:12px;line-height:1.4;text-align:right}.profit-result-section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:12px;min-width:0;max-width:100%}.profit-result-section.profit{border-color:#b8dccd;background:linear-gradient(180deg,#f6fbf8,#fff)}.profit-result-section.income{border-color:#bbd4e6;background:linear-gradient(180deg,#f5f9fc,#fff)}.profit-result-section.cost{border-color:#e1d2b7;background:linear-gradient(180deg,#fffbf4,#fff)}.profit-section-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.profit-section-title strong{font-size:14px}.profit-section-title span{color:var(--muted);font-size:12px}.profit-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}.profit-result{display:grid;align-content:space-between;gap:12px;min-height:104px;border-color:#d7e3e9;min-width:0;max-width:100%}.profit-result>div{display:grid;gap:5px}.profit-result span,.profit-result em{display:block}.profit-result em{width:fit-content;max-width:100%;border:1px solid #d8e4ea;border-radius:8px;background:#ffffffb8;color:var(--muted);font-size:11px;font-style:normal;line-height:1.2;padding:4px 6px}.profit-result.profit{background:linear-gradient(180deg,#f3faf6,#eef8f3);border-color:#b9ddca}.profit-result.income{background:linear-gradient(180deg,#f3f8fc,#edf5fb);border-color:#bad5e7}.profit-result.cost{background:linear-gradient(180deg,#fff8ee,#fff3e0);border-color:#e3cfab}.profit-result.profit strong,.profit-result.good strong{color:#17875b}.profit-result.income strong{color:#245f8f}.profit-result.cost strong{color:#8a5a16}.profit-result.bad strong{color:var(--danger)}.cost-group-card{box-shadow:var(--shadow-soft);overflow:hidden}.cost-group-card.market-maintenance{border-color:#dfc98f;background:linear-gradient(180deg,#fffdf7,#fff9ed)}.cost-group-card.market-maintenance .cost-group-head strong,.cost-group-card.market-maintenance .cost-group-lines em{color:#9a651a}.cost-group-card p{min-height:0}.cost-group-lines>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(94px,auto);align-items:start}.cost-group-lines em{min-width:0;max-width:132px;overflow-wrap:anywhere}.cost-analysis-block{overflow:hidden;min-width:0}.cost-analysis-block li{grid-template-columns:minmax(96px,.72fr) minmax(86px,.45fr) minmax(150px,1.25fr);min-width:0}.cost-analysis-block li em,.cost-analysis-block li small{overflow-wrap:anywhere}.cost-analysis-block.market-maintenance-analysis{grid-column:1 / -1;border-color:#dfc98f;background:linear-gradient(180deg,#fffdf7,#fff9ed)}.cylinder-panel{background:linear-gradient(180deg,#fffaf0,#fffdf8)}.cylinder-grid div,.reconciliation-grid div{min-width:0}.factor-row{grid-template-columns:1fr;align-items:stretch}.factor-row .bar-wrap{margin-top:8px}.factor-name>span{flex:0 0 34px}.weight-control{justify-content:space-between;justify-self:stretch;min-width:0;margin-top:8px;border-top:1px solid var(--line);padding-top:8px;overflow:visible;white-space:nowrap}.weight-control strong{display:inline-flex;align-items:center;justify-content:center;min-width:58px;border:1px solid #b8dde0;border-radius:8px;background:#eef8f7;line-height:1;padding:7px 8px}.metric-group{overflow:hidden}.metric-group-title span{white-space:normal;text-align:right}.metric-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-state-hint{max-width:100%;white-space:normal}@media(max-width:1180px){.workspace{padding:22px}.panel-header{grid-template-columns:1fr;gap:8px}.profit-layout{grid-template-columns:1fr}.profit-inputs-head{display:grid}.profit-inputs-head span{text-align:left}.live-price-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-group-lines>div{grid-template-columns:minmax(0,1fr) minmax(104px,auto)}}@media(max-width:720px){.workspace{padding:14px}.platform-sync-bar,.model-version-heading{align-items:flex-start;flex-direction:column}.platform-login{left:0;right:auto;grid-template-columns:1fr}.model-draft-form,.model-version-row{grid-template-columns:1fr}.model-version-row.head{display:none}.model-version-row span:before{content:""}.topbar h1{font-size:24px}.panel{padding:16px}.panel-header{display:grid;grid-template-columns:1fr;gap:6px}.panel-header p{margin-top:0}.metric-tile strong{font-size:21px}.market-panel .metric-tile strong{white-space:normal}.profit-result{min-height:78px}.score-diagnosis{grid-template-columns:1fr}.profit-results-head{display:grid}.profit-results-head span{text-align:left}.metric-section-title{align-items:flex-start;display:grid}.metric-section-title span{text-align:left}.profit-input-section-grid,.profit-section-grid,.live-price-strip{grid-template-columns:1fr}.live-price-field,.live-price-result{min-height:0}.maintenance-impact-head{align-items:flex-start;display:grid;gap:4px}.maintenance-impact-head span{text-align:left}.maintenance-impact-grid{grid-template-columns:1fr;gap:8px}.maintenance-impact-grid>div{padding:0}.maintenance-impact-grid>div+div{border-left:0;border-top:1px solid #ead9b6;padding-top:8px}.cost-group-lines>div{grid-template-columns:minmax(0,1fr) minmax(100px,auto)}.cost-group-lines em{max-width:118px}.cost-analysis-block li,.metric-editor{grid-template-columns:1fr}.metric-group-title span{text-align:left}.weight-control{justify-content:flex-start;justify-self:stretch;min-width:0}}
