.authorization-guide{display:flex;gap:14px;padding:14px 18px;margin-bottom:14px;color:var(--green)}.authorization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.authorization-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.authorization-title{display:flex;justify-content:space-between;gap:12px}.authorization-title span{font-size:12px;color:var(--muted)}.authorization-title h3{margin:4px 0;font-size:20px}.authorization-card dl{display:grid;grid-template-columns:70px 1fr;gap:8px;margin:18px 0}.authorization-card dt{color:var(--muted)}.authorization-card dd{margin:0}.authorization-actions{display:flex;gap:7px}.authorization-actions a,.authorization-actions button{padding:7px 10px;border-radius:7px;background:var(--pale);color:var(--green);text-decoration:none;font-size:12px}.authorization-actions button:last-child{margin-left:auto;color:#9b3d35;background:#fbeeed}.document-workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.document-workflow article{display:grid;gap:6px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:12px}.document-workflow span{font-size:12px;line-height:1.55;color:var(--muted)}.material-upload{display:grid;grid-template-columns:1.4fr .8fr 1.2fr auto;gap:12px;align-items:end;padding:16px;margin-bottom:14px}.material-upload label{display:grid;gap:6px;font-weight:700}.material-upload select,.material-upload input{height:42px;border:1px solid var(--line);border-radius:8px;padding:0 10px;min-width:0}.material-list{overflow:hidden}.material-row{display:grid;grid-template-columns:1.4fr 1.4fr auto;gap:14px;align-items:center;padding:13px 20px;border-top:1px solid #e8efed}.material-row span,.material-row small{display:block}.material-row small{color:var(--muted);margin-top:4px}.material-row a{color:var(--green);text-decoration:none;font-weight:700}@media(max-width:1000px){.authorization-grid{grid-template-columns:1fr 1fr}.document-workflow{grid-template-columns:1fr 1fr}.material-upload{grid-template-columns:1fr 1fr}}@media(max-width:650px){.authorization-grid,.document-workflow,.material-upload{grid-template-columns:1fr}.material-row{grid-template-columns:1fr}}
.workflow-ledger{overflow:auto}.workflow-ledger-head,.workflow-ledger-row{display:grid;grid-template-columns:1.35fr 1.1fr 1.15fr .75fr 1fr;gap:14px;align-items:center;min-width:1050px}.workflow-ledger-head{padding:12px 16px;color:var(--muted);font-weight:700;border-bottom:1px solid var(--line)}.workflow-ledger-row{padding:14px 16px;border-bottom:1px solid var(--line)}.workflow-ledger-row:last-child{border-bottom:0}.workflow-ledger-row small{display:block;color:var(--muted);margin-top:4px}.workflow-ledger-row a{display:inline-block;margin-top:5px;color:var(--green);text-decoration:none}.workflow-ledger-head.acceptance,.workflow-ledger-row.acceptance{grid-template-columns:1.4fr .9fr .8fr 1fr 1.25fr}.workflow-ledger-row.acceptance .ledger-actions{margin-top:6px;flex-wrap:wrap}
.workflow-reminder{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;margin-bottom:14px;border:1px solid #d7e5e1;border-radius:14px;background:#f5faf8}.workflow-reminder b,.workflow-reminder span{display:block}.workflow-reminder span{margin-top:4px;color:var(--muted)}.workflow-reminder.urgent{border-color:#ecd39d;background:#fff8e8}.workflow-reminder.urgent b{color:#8b5900}.workflow-reminder.clear b{color:var(--green)}.contract-row-actions{display:flex;gap:7px;flex-wrap:wrap}.contract-row-actions button{white-space:nowrap}.contract-ledger-row .task-state.returned{color:#9a5b00;background:#fff2d8}@media(max-width:760px){.workflow-reminder{align-items:flex-start;flex-direction:column}.workflow-reminder button{width:100%}}

/* V0.46 报价决策矩阵 */
.comparison-decision-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 18px;background:#f4f9f7;border-bottom:1px solid var(--line)}
.comparison-decision-summary>div{display:grid;gap:3px;padding:13px 15px;background:#fff;border:1px solid #dce9e5;border-radius:11px}.comparison-decision-summary b{font-size:20px;color:var(--green)}.comparison-decision-summary span{font-size:12px;color:var(--muted)}
.comparison-view-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-bottom:1px solid var(--line)}.comparison-view-tools label{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap}.comparison-view-tools input{width:17px;height:17px;accent-color:var(--green)}.comparison-view-tools span{font-size:12px;color:var(--muted)}
.vertical-comparison{display:grid;gap:16px;padding:16px 18px;background:#f7faf9}.device-comparison-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}.device-comparison-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--line)}.device-comparison-card>header span,.device-comparison-card>header small{color:var(--muted);font-size:12px}.device-comparison-card>header h3{margin:3px 0 0;font-size:18px}
.matrix-scroll{max-width:100%;overflow:auto}.device-comparison-card table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.device-comparison-card th,.device-comparison-card td{min-width:210px;max-width:330px;padding:12px 14px;text-align:left;vertical-align:top;border-right:1px solid #e5eeeb;border-bottom:1px solid #e5eeeb;white-space:normal}.device-comparison-card th:first-child,.device-comparison-card td:first-child{position:sticky;left:0;z-index:2;min-width:130px;width:130px;background:#f4f8f7}.device-comparison-card thead th{position:sticky;top:0;z-index:3;background:#f4f8f7}.device-comparison-card thead th:first-child{z-index:4}.device-comparison-card thead b,.device-comparison-card thead small{display:block}.device-comparison-card thead small{margin-top:5px;color:var(--muted);font-weight:400}.device-comparison-card .winner-column{box-shadow:inset 0 3px 0 #d9a029;background:#fff9e9}.device-comparison-card .value-different{background:#fffaf0}.device-comparison-card tr:last-child th,.device-comparison-card tr:last-child td{border-bottom:0}.device-comparison-card th:last-child,.device-comparison-card td:last-child{border-right:0}.only-differences .comparison-row.same{display:none}.matrix-detail summary{cursor:pointer;color:var(--green);font-weight:700}.matrix-detail div{margin-top:8px;white-space:pre-wrap;line-height:1.65;color:#344d47}.device-comparison-card .review-controls{margin-top:8px}

/* V0.46 集团工作台经营进度 */
.group-execution-dashboard{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:16px}.group-execution-dashboard .panel{margin:0;min-width:0}.group-execution-dashboard .panel-head{padding:18px 20px}.group-execution-dashboard .panel-head h2{margin:0 0 5px}.group-execution-dashboard .panel-head p{margin:0;color:var(--muted)}.overall-progress{display:grid;text-align:right}.overall-progress b{font-size:26px;color:var(--green)}.overall-progress span{font-size:12px;color:var(--muted)}
.stage-chart-body{display:flex;flex-direction:column;align-items:center;gap:16px;padding:14px 20px 20px}.stage-donut{position:relative;width:160px;height:160px;padding:0;border:0;border-radius:50%;cursor:pointer}.stage-donut:after{content:"";position:absolute;inset:26px;border-radius:50%;background:#fff}.stage-donut span{position:absolute;inset:0;z-index:1;display:grid;place-content:center}.stage-donut b,.stage-donut small{display:block;text-align:center}.stage-donut b{font-size:26px;color:var(--green)}.stage-donut small{color:var(--muted)}.stage-chart-legend{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:5px 10px;width:100%;max-width:1080px}.stage-chart-legend button{display:flex;align-items:center;justify-content:flex-start;gap:7px;min-width:0;padding:7px 9px;border:0;border-radius:7px;background:transparent;white-space:nowrap;text-align:left}.stage-chart-legend button:hover{background:#f0f6f4}.stage-chart-legend button:focus-visible{outline:2px solid var(--green2);outline-offset:1px}.stage-chart-legend i{flex:0 0 8px;width:8px;height:8px;border-radius:50%}.stage-chart-legend span{min-width:0;font-size:12px;overflow:hidden;text-overflow:ellipsis}.stage-chart-legend b{flex:0 0 auto;margin-left:auto;font-size:12px;color:var(--green)}
.hospital-execution-list{display:grid;gap:7px;padding:10px 20px 16px;max-height:320px;overflow:auto}.hospital-execution-list button{display:grid;grid-template-columns:minmax(220px,1fr) 72px minmax(180px,auto);align-items:center;gap:16px;width:100%;padding:11px 14px;border:1px solid #e0ebe8;border-radius:10px;background:#fff;text-align:left}.hospital-execution-list button:hover{border-color:#9bcfc2;background:#f7fbfa}.hospital-execution-list button:focus-visible{outline:2px solid var(--green2);outline-offset:1px}.hospital-execution-list span b,.hospital-execution-list span small{display:block}.hospital-execution-list span small{margin-top:3px;color:var(--muted);font-size:11px}.hospital-execution-list button>div{display:none}.hospital-execution-list strong{justify-self:end;padding:5px 9px;border-radius:999px;background:#eaf4f1;color:var(--green);font-size:12px}.hospital-execution-list em{font-style:normal;font-size:12px;color:var(--muted);text-align:right;white-space:nowrap}.profit-placeholder{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 20px 18px;padding:12px 14px;border:1px dashed #bfd4cf;border-radius:10px;background:#f7faf9}.profit-placeholder span{font-size:12px;color:var(--muted);text-align:right}
@media(max-width:1180px){.stage-chart-legend{grid-template-columns:repeat(3,minmax(160px,1fr))}.hospital-execution-list{max-height:none}}@media(max-width:760px){.comparison-decision-summary{grid-template-columns:1fr 1fr}.comparison-view-tools{align-items:flex-start;flex-direction:column}.stage-chart-legend{grid-template-columns:1fr}.hospital-execution-list button{grid-template-columns:1fr auto}.hospital-execution-list em{grid-column:1/-1;text-align:left}.profit-placeholder{align-items:flex-start;flex-direction:column}.profit-placeholder span{text-align:left}}

/* V0.52 医院主数据与销售合同台账 */
.hospital-master-list article,.sales-contract-head,.sales-contract-list article{display:grid;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line)}
.hospital-master-list article{grid-template-columns:minmax(280px,1fr) 220px auto}.hospital-master-list article:last-child,.sales-contract-list article:last-child{border-bottom:0}.hospital-master-list b,.hospital-master-list small,.sales-contract-list b,.sales-contract-list small{display:block}.hospital-master-list small,.sales-contract-list small{margin-top:4px;color:var(--muted)}.hospital-master-list article>div:nth-child(2){display:grid;gap:6px;justify-items:start}
.sales-contract-head,.sales-contract-list article{grid-template-columns:minmax(300px,1.5fr) minmax(180px,.8fr) minmax(220px,1fr) 160px 150px}.sales-contract-head{color:var(--muted);font-weight:700;background:#f5f9f8}.hospital-foundation{padding:26px}.hospital-foundation h2{margin-top:0}.hospital-foundation p{max-width:760px;color:var(--muted);line-height:1.7}
@media(max-width:1050px){.hospital-master-list article{grid-template-columns:1fr auto}.hospital-master-list .row-actions{grid-column:1/-1}.sales-contract-head{display:none}.sales-contract-list article{grid-template-columns:1fr 1fr}.sales-contract-list article>div:first-child{grid-column:1/-1}}
@media(max-width:650px){.hospital-master-list article,.sales-contract-list article{grid-template-columns:1fr}.hospital-master-list .row-actions,.sales-contract-list article>div:first-child{grid-column:auto}}

/* V0.54 销售合同确认与盖章流程 */
.sales-contract-list article>div:last-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sales-contract-list article>div:last-child button{padding:7px 10px;white-space:nowrap}.sales-contract-detail{display:grid;gap:18px}.sales-contract-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.sales-contract-detail h2{margin:4px 0}.sales-contract-detail h3{margin:4px 0 0}.sales-contract-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.sales-contract-summary>div{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#f8fbfa}.sales-contract-summary .wide{grid-column:1/-1}.sales-contract-summary dt{font-size:12px;color:var(--muted)}.sales-contract-summary dd{margin:5px 0 0;font-weight:700;white-space:pre-wrap}.sales-item-table{overflow:auto;border:1px solid var(--line);border-radius:12px}.sales-item-table>div{display:grid;grid-template-columns:minmax(220px,1fr) minmax(200px,1fr) 70px 130px 130px;gap:12px;min-width:820px;padding:11px 14px;border-bottom:1px solid var(--line);align-items:center}.sales-item-table>div:first-child{background:#f3f8f6;color:var(--muted)}.sales-item-table>div:last-child{border-bottom:0}.sales-item-table small{display:block;margin-top:3px;color:var(--muted)}.sales-document-chain{display:grid;gap:8px}.sales-document-chain article,.group-sales-todos article,.hospital-todo-panel article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 16px;border-top:1px solid var(--line)}.sales-document-chain small,.group-sales-todos small,.hospital-todo-panel small{display:block;margin-top:4px;color:var(--muted)}.sales-document-chain a{color:var(--green);font-weight:700;text-decoration:none}.sales-contract-actions{display:flex;gap:9px;flex-wrap:wrap;padding-top:4px}.hospital-dashboard-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.hospital-dashboard-summary article{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#fff}.hospital-dashboard-summary b{font-size:28px;color:var(--green)}.group-sales-todos{margin-bottom:16px}.group-sales-todos>.panel-head>b{color:#9a6500}
@media(max-width:700px){.sales-contract-summary,.hospital-dashboard-summary{grid-template-columns:1fr}.sales-contract-summary .wide{grid-column:auto}.sales-contract-detail>header{flex-direction:column}.sales-document-chain article,.group-sales-todos article,.hospital-todo-panel article{align-items:flex-start;flex-direction:column}}

/* V0.55 医院销售履约、验收与发票 */
.acceptance-unit-summary{display:flex;gap:8px;flex-wrap:wrap}.acceptance-unit-summary span{padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#f7faf9;color:var(--muted);font-size:12px}.acceptance-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.acceptance-upload-grid label{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f7faf9;font-weight:700}.acceptance-unit-table{display:grid;gap:9px;max-height:50vh;overflow:auto;margin-bottom:14px}.acceptance-unit-row{display:grid;grid-template-columns:minmax(190px,1.3fr) repeat(4,minmax(125px,.8fr)) minmax(130px,.8fr) minmax(130px,.8fr) minmax(130px,1fr);gap:8px;align-items:center;min-width:1200px;padding:10px;border:1px solid var(--line);border-radius:10px}.acceptance-unit-row input,.acceptance-unit-row select{min-width:0;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:#fff}.fulfillment-ledger article{display:grid;grid-template-columns:minmax(300px,1fr) 160px 190px auto;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.fulfillment-ledger article:last-child{border-bottom:0}.fulfillment-ledger small{display:block;margin-top:4px;color:var(--muted)}.sales-document-chain .row-actions{display:flex;gap:7px;margin-left:auto}.fulfillment-detail .sales-document-chain article{min-height:64px}
@media(max-width:900px){.acceptance-upload-grid{grid-template-columns:1fr}.fulfillment-ledger article{grid-template-columns:1fr auto}.fulfillment-ledger article>div{grid-column:1/-1}}

/* V0.56 医院设备资产台账与合同归档 */
.asset-archive-block{display:grid;gap:10px;padding:15px;border:1px solid #d7e6e2;border-radius:12px;background:#f7fbfa}.asset-archive-block h3{margin:0}.archive-state{display:flex;justify-content:space-between;align-items:center;gap:18px}.archive-state small{display:block;margin-top:4px;color:var(--muted)}.archive-state>span{padding:6px 10px;border-radius:999px;background:#e8f3f0;color:var(--green);font-weight:700}.asset-mini-list{display:flex;gap:7px;flex-wrap:wrap}.asset-mini-list>span{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:12px;color:var(--muted)}.asset-mini-list b{margin-right:6px;color:var(--text)}.inventory-asset-table{display:grid;gap:9px;max-height:54vh;overflow:auto;margin-bottom:14px}.inventory-asset-row{display:grid;grid-template-columns:minmax(230px,1.4fr) repeat(6,minmax(130px,1fr));gap:8px;align-items:center;min-width:1160px;padding:10px;border:1px solid var(--line);border-radius:10px}.inventory-asset-row span small{display:block;margin-top:3px;color:var(--muted)}.inventory-asset-row input{min-width:0;height:40px;padding:0 9px;border:1px solid var(--line);border-radius:8px}.asset-ledger-head,.asset-ledger article{display:grid;grid-template-columns:minmax(250px,1.2fr) minmax(210px,1fr) minmax(260px,1.2fr) 130px 90px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.asset-ledger-head{background:#f4f8f7;color:var(--muted);font-weight:700}.asset-ledger article:last-child{border-bottom:0}.asset-ledger b,.asset-ledger small{display:block}.asset-ledger small{margin-top:4px;color:var(--muted)}
@media(max-width:900px){.archive-state{align-items:flex-start;flex-direction:column}.asset-ledger-head{display:none}.asset-ledger article{grid-template-columns:1fr auto}.asset-ledger article>div:first-child{grid-column:1/-1}}

/* V0.57 医院预算申报与集团审核 */
.hospital-budget-list article{display:grid;grid-template-columns:minmax(300px,1.4fr) 180px 150px auto;gap:16px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.hospital-budget-list article:last-child{border-bottom:0}.hospital-budget-list b,.hospital-budget-list small{display:block}.hospital-budget-list small{margin-top:4px;color:var(--muted)}.hospital-budget-detail{display:grid;gap:14px}.hospital-budget-detail h2{margin:0}.hospital-budget-items{overflow:auto;border:1px solid var(--line);border-radius:12px}.hospital-budget-items>div{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(140px,.8fr) 70px 130px 140px 140px;gap:10px;align-items:center;min-width:900px;padding:11px 13px;border-bottom:1px solid var(--line)}.hospital-budget-items>div:first-child{background:#f3f8f6;color:var(--muted)}.hospital-budget-items>div:last-child{border-bottom:0}.hospital-budget-items small{display:block;margin-top:3px;color:var(--muted)}.budget-editor-head{display:grid;grid-template-columns:170px minmax(260px,1fr) auto auto;gap:10px;align-items:end;margin-bottom:10px}.budget-editor-head label{display:grid;gap:6px;font-weight:700}.budget-editor-head input{height:42px;padding:0 10px;border:1px solid var(--line);border-radius:8px}.hospital-budget-editor textarea#budget-paste-source{width:100%;min-height:80px;margin-bottom:8px;padding:10px;border:1px solid var(--line);border-radius:9px}.hospital-budget-editor-rows{display:grid;gap:8px;max-height:52vh;overflow:auto;margin:12px 0}.hospital-budget-edit-row{display:grid;grid-template-columns:34px minmax(190px,1.4fr) minmax(165px,1fr) minmax(120px,.8fr) 70px repeat(3,minmax(125px,.8fr)) minmax(120px,.8fr) minmax(110px,.7fr) minmax(100px,.7fr) 80px auto;gap:7px;align-items:center;min-width:1450px;padding:9px;border:1px solid var(--line);border-radius:9px}.hospital-budget-edit-row input{min-width:0;height:39px;padding:0 8px;border:1px solid var(--line);border-radius:7px}
@media(max-width:900px){.hospital-budget-list article{grid-template-columns:1fr auto}.hospital-budget-list article>div:first-child{grid-column:1/-1}.budget-editor-head{grid-template-columns:1fr 1fr}.budget-editor-head label:nth-child(2){grid-column:1/-1}}

/* V0.58 医院预算执行与年中调整 */
.budget-execution-summary article b{font-size:22px}.hospital-budget-execution-head,.hospital-budget-execution-list article{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(190px,.9fr) minmax(200px,.9fr) minmax(260px,1.1fr) 140px;gap:14px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.hospital-budget-execution-head{background:#f4f8f7;color:var(--muted);font-weight:700}.hospital-budget-execution-list article:last-child{border-bottom:0}.hospital-budget-execution-list b,.hospital-budget-execution-list small{display:block}.hospital-budget-execution-list small{margin-top:4px;color:var(--muted)}.budget-adjustment-history{margin-top:16px}.budget-adjustment-history>article{display:grid;grid-template-columns:minmax(280px,1fr) 220px 150px minmax(220px,1fr);gap:14px;align-items:center;padding:13px 18px;border-top:1px solid var(--line)}.budget-adjustment-history small{display:block;color:var(--muted)}.budget-adjustment-review-list article{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(220px,1fr) 190px 140px auto;gap:14px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line)}.budget-adjustment-review-list article:last-child{border-bottom:0}.budget-adjustment-review-list small{display:block;margin-top:4px;color:var(--muted)}.budget-adjustment-review-list .wide{grid-column:1/-1;margin-top:-5px}.budget-adjustment-review-list strong{color:var(--green)}
@media(max-width:1000px){.hospital-budget-execution-head{display:none}.hospital-budget-execution-list article,.budget-adjustment-review-list article{grid-template-columns:1fr 1fr}.hospital-budget-execution-list article>div:first-child,.budget-adjustment-review-list article>div:first-child,.budget-adjustment-review-list .wide{grid-column:1/-1}.budget-adjustment-history>article{grid-template-columns:1fr 1fr}}
