/* 本票生成区样式：清单以 ERP 快照为主；旧人工试生成仅保留在折叠开发区，避免误认为真实同步入口。 */
.ticket-saved-manual{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:#64727a}.ticket-saved-manual[hidden]{display:none}.ticket-saved-manual button{display:inline-flex;align-items:center;gap:6px;font-size:12px}.ticket-saved-manual button svg{width:14px;height:14px}#ticket-generation-form input.manual-pending{border-color:#cba44a;background:#fffdf6}
.input-gap-toolbar{margin-top:14px;gap:12px;flex-wrap:wrap}.input-gap-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px}.input-gap-toolbar select{min-width:140px}.input-gap-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) minmax(180px,2fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);align-items:start}.input-gap-row>div{min-width:0}.input-gap-row strong,.input-gap-row small{display:block;overflow-wrap:anywhere}.input-gap-row small{color:var(--muted);line-height:1.6}#ticket-supplement-summary{margin-top:16px}#ticket-supplement-summary small{display:block;overflow-wrap:anywhere}.ticket-gap-reason{color:#865b17!important}#ticket-supplement-skip[hidden]{display:none}@media(max-width:760px){.input-gap-row{grid-template-columns:1fr 1fr}.input-gap-row>div:nth-child(3){grid-column:1/-1}}
.ticket-workspace{padding:20px 0 24px;border-top:1px solid var(--border);min-width:0}.ticket-workspace>.section-title{align-items:flex-start}.ticket-workspace>.section-title h2{font-size:17px}.ticket-workspace>.section-title p{margin:4px 0 0}
.ticket-select{display:grid;grid-template-columns:130px minmax(240px,520px);align-items:center;gap:14px;font-size:13px;margin-bottom:18px}.ticket-empty{display:flex;align-items:center;justify-content:center;gap:13px;min-height:112px;padding:22px;border:1px dashed #cbd5d9;background:#fafbfb;color:#6a7980}.ticket-empty svg{width:24px;height:24px}.ticket-empty strong,.ticket-empty span{display:block}.ticket-empty strong{font-size:13px;color:#425159;margin-bottom:5px}.ticket-empty span{font-size:12px;line-height:1.6}
.ticket-summary{font-size:12px;color:#62727a}.ticket-brief{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.ticket-brief>span:first-child{font-weight:600;color:#354d55}
/* 版本和取数记录默认折叠；业务号只在业务单选择器展示，后台关联不变。 */
.technical-details{margin:12px 0;font-size:12px;line-height:1.6;min-width:0}.technical-details>summary{cursor:pointer;color:#62727a}.technical-details p{overflow-wrap:anywhere}.technical-details dl{display:flex;gap:12px 28px;flex-wrap:wrap;margin:10px 0}.technical-details dl>div{min-width:0;flex:1 1 180px}.technical-details dt{color:#78878e;font-size:11px}.technical-details dd{margin:3px 0 0;overflow-wrap:anywhere}
/* 候选摘要保持紧凑；技术详情展开时才占空间，不覆盖表格和审核按钮。 */
#ticket-generation-form>.ticket-candidate-status{padding:10px 12px}.ticket-candidate-status>.technical-details{margin:0}.candidate-status-head>strong{min-width:0;overflow-wrap:anywhere}.ticket-document-result:empty{display:none}
.ticket-status-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 14px;border:1px solid var(--border);background:var(--border)}.ticket-stat{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:11px 14px;background:#fff}.ticket-stat span{font-size:11px;color:#66767d;line-height:1.5}.ticket-stat strong{font-size:20px;font-weight:650;font-variant-numeric:tabular-nums}.ticket-stat.actionable strong{color:#177054}.ticket-stat.waiting strong{color:#9a6919}.ticket-stat.blocked strong{color:#a6463e}.ticket-stat.update strong{color:#456a78}
.ticket-warnings{padding:11px 14px;margin-bottom:10px;background:#fff7e6;border-left:3px solid #bd8427;font-size:12px;line-height:1.7}.ticket-warnings ul{margin:0;padding-left:18px}.ticket-checklist{display:flex;flex-direction:column;gap:10px;min-height:112px}.ticket-document{display:grid;grid-template-columns:118px minmax(0,1fr);gap:18px;border:1px solid var(--border);border-radius:4px;background:#fff;padding:16px;min-width:0}.ticket-document-select{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:600;padding-top:3px}.ticket-document-select input{width:16px;height:16px;margin:0;accent-color:var(--green);flex-shrink:0}.ticket-document-copy{min-width:0}.ticket-document-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.ticket-document-head strong{font-size:14px;line-height:1.55;overflow-wrap:anywhere}.ticket-document-badges{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}.ticket-document-copy>p{font-size:11px;color:#708087;margin:4px 0 10px;line-height:1.6;overflow-wrap:anywhere}.ticket-document-facts{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:12px;color:#43535b}.ticket-document-facts span{overflow-wrap:anywhere}.ticket-document-result{margin-top:11px;padding-top:10px;border-top:1px solid #edf0f1;font-size:12px;line-height:1.7}.ticket-document-result ul{margin:0;padding-left:18px;color:#865b17}.ticket-document-result small{display:block;color:#6d7b82;margin-top:5px}.ticket-document-result .ticket-update-copy{color:#a1443b}.ticket-ready-copy{color:#246c50}.ticket-document-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.ticket-document-actions button{min-height:34px;padding:6px 11px;font-size:12px}.ticket-download{font-size:12px;color:var(--green);text-decoration:none}.ticket-download:hover{text-decoration:underline}.ticket-next{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;color:#62727a;font-size:11px;line-height:1.7}.ticket-next svg{width:15px;height:15px;margin-top:2px}
.ticket-document[data-state=actionable]{border-left:3px solid #2e8b6d}.ticket-document[data-state=waiting]{border-left:3px solid #c18b31}.ticket-document[data-state=blocked]{border-left:3px solid #b4544b}.ticket-document[data-state=actionable] .ticket-document-actions button:not(:disabled){background:var(--green);border-color:var(--green);color:#fff}.ticket-document[data-state=actionable] .ticket-document-actions button:hover:not(:disabled){background:#095f42;border-color:#095f42}
.ticket-preparation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin-top:12px}.ticket-preparation-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12px}.ticket-preparation-field small{color:#6b7d83;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.ticket-preparation-field input[readonly],#ticket-generation-product-body input[readonly]{background:#f1f4f5;color:#526269}.ticket-preparation-field input:not([readonly]){border-color:#8fb8aa;background:#fbfffd}
.ticket-candidate-status{display:grid;gap:7px;margin:14px 0 0;padding:12px 14px;border:1px solid #d7e1df;border-left:3px solid #43856f;background:#f7fbf9;font-size:12px;line-height:1.6}.ticket-candidate-status[hidden]{display:none}.ticket-candidate-status p,.ticket-candidate-status small{margin:0;overflow-wrap:anywhere}.ticket-candidate-status small{color:#66777d}.ticket-candidate-status button{justify-self:start;min-height:32px;padding:5px 10px;font-size:11px}.candidate-status-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.candidate-evidence{display:grid;gap:2px;margin-top:2px;padding:7px 8px;background:#f1f5f4;border-left:2px solid #7aa493;font-size:10px;line-height:1.5;color:#596b72;overflow-wrap:anywhere}.candidate-evidence strong{color:#315f50;font-size:10px}.candidate-evidence.missing-candidate{border-left-color:#bd8427;background:#fff8e8}.candidate-evidence.missing-candidate strong{color:#8a621f}
#ticket-generation-dialog{width:min(820px,calc(100% - 32px));max-height:90vh;overflow:auto;border:1px solid var(--border);border-radius:6px;padding:0 22px 22px}#ticket-generation-dialog::backdrop{background:#182d3960}.ticket-dialog-header{align-items:flex-start;border-bottom:1px solid var(--border);padding:18px 0 14px;margin:0;background:#fff}.ticket-dialog-header p{margin:4px 0 0}.dialog-kicker{display:block;margin-bottom:3px;color:#26705c;font-size:10px;font-weight:600}#ticket-generation-form>section{padding:18px 0;border-bottom:1px solid var(--border)}#ticket-generation-form>section h3{font-size:14px;font-weight:600}#ticket-generation-form .generation-table input{width:100%;min-width:150px}.ticket-dialog-footer{position:sticky;bottom:-22px;z-index:4;margin:0 -22px -22px;padding:12px 22px 16px;border-top:1px solid var(--border);background:#fff;box-shadow:0 -8px 18px #263b440d}.ticket-dialog-footer .generation-check{padding:9px 12px;font-size:12px}.ticket-dialog-footer .generation-submit{margin:10px 0 0}
.generation-developer-input{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 0 22px}.generation-developer-input>summary{cursor:pointer;display:flex;align-items:center;gap:10px;padding:15px 0;font-size:13px;font-weight:600}.generation-developer-input>summary span{font-size:11px;font-weight:400;color:var(--muted)}.generation-developer-input[open]>summary{border-bottom:1px solid #edf0f1}
/* 试生成工作区：输入、校验、历史记录分区展开，不复用模板审核的编辑状态。 */
.generation-section{padding:20px 0;border-top:1px solid var(--border);min-width:0}.generation-section h2{font-size:17px}.generation-section h3{font-size:14px}
.generation-context{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:18px}
.generation-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:18px 0 26px}
.generation-field{display:flex;flex-direction:column;gap:7px;min-width:0}.generation-field label{font-size:13px}.generation-field small{font-size:11px;color:#6b7d83;overflow-wrap:anywhere}.generation-field input{width:100%}
.generation-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.generation-submit{margin:18px 0 6px}.generation-table-wrap{max-width:100%;overflow:auto;border:1px solid var(--border);background:white}
.generation-table{border-collapse:collapse;width:100%;font-size:13px}.generation-table th,.generation-table td{padding:10px;border-bottom:1px solid #e1e7e9;text-align:left;vertical-align:top}.generation-table th{background:#eff4f3;font-weight:500;min-width:150px}.generation-table th:first-child,.generation-table th:last-child{min-width:48px;width:48px}.generation-table td input{min-width:140px}.generation-table th small{display:block;font-size:10px;color:#738389;line-height:1.6;max-width:230px;overflow-wrap:anywhere}
.generation-approvals{display:flex;flex-direction:column;gap:12px;border:0;padding:18px 0;margin:20px 0 0;font-size:13px}.generation-approvals legend{font-weight:600;padding:0}.generation-approvals label{display:flex;align-items:flex-start;gap:8px;line-height:1.6}.generation-approvals input{accent-color:var(--green);flex-shrink:0;margin-top:4px}.generation-stages{display:flex;gap:24px;flex-wrap:wrap}
.generation-check{padding:12px 15px;background:#edf2f4;border-left:3px solid #869da5;line-height:1.7;font-size:13px}.generation-check.ready{background:#eaf5ef;border-color:#3c9370}.generation-check.blocked,#generation-blockers{background:#fff7e6;border-left:3px solid #c09338;padding:12px 15px;line-height:1.7;font-size:13px}.generation-check ul,#generation-blockers ul{margin:0;padding-left:18px}
.generation-record{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(120px,.6fr) auto;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--border);font-size:13px}.generation-record>div{min-width:0}.generation-record strong{display:block;overflow-wrap:anywhere;line-height:1.6}.generation-record small{display:block;color:#75868c;font-size:11px;line-height:1.7;overflow-wrap:anywhere}.generation-record .generation-actions{justify-content:flex-end}.generation-record a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;color:#286755;background:#fff}.generation-record .generation-error{color:#a7463e}.generation-record .badge{white-space:normal}
#generation-snapshot{width:min(780px,92vw);max-height:88vh;border:1px solid var(--border);border-radius:6px;padding:22px}#generation-snapshot::backdrop{background:#182d3940}#generation-snapshot-body{font-size:13px;line-height:1.8;overflow-wrap:anywhere}#generation-snapshot-body pre{background:#f2f5f6;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:45vh;overflow:auto;font-size:12px}
@media(max-width:760px){.ticket-workspace>.section-title{gap:12px;flex-wrap:wrap}.ticket-workspace>.section-title .generation-actions{width:100%}.ticket-select{grid-template-columns:1fr;gap:7px}.ticket-status-summary{grid-template-columns:1fr 1fr}.ticket-stat{min-height:54px}.ticket-document{grid-template-columns:1fr;gap:10px;padding:14px}.ticket-document-head{gap:10px}.ticket-document-badges{justify-content:flex-start}.ticket-document-facts{flex-direction:column;gap:4px}.ticket-preparation-fields{grid-template-columns:1fr}.generation-context,.generation-fields{grid-template-columns:minmax(0,1fr);gap:16px}.generation-record{grid-template-columns:minmax(0,1fr) auto;gap:10px}.generation-record .generation-actions{grid-column:1/-1;justify-content:flex-start}.generation-record .generation-record-meta{grid-column:1/-1}.generation-section>.section-title{align-items:flex-start;gap:12px;flex-wrap:wrap}.generation-fields input{font-size:16px}.view-nav{gap:18px}.generation-actions .badge{max-width:100%}#ticket-generation-dialog{width:calc(100% - 16px);padding:0 14px 14px}.ticket-dialog-header{padding:14px 0 12px}.ticket-dialog-footer{bottom:-14px;margin:0 -14px -14px;padding:10px 14px 14px}.ticket-dialog-footer .generation-actions{align-items:stretch;flex-direction:column}.ticket-dialog-footer .generation-actions button{width:100%}}
@media(max-width:420px){.ticket-workspace>.section-title .generation-actions button:not(.icon-button){flex:1;white-space:normal}.generation-developer-input>summary{align-items:flex-start;flex-direction:column;gap:3px}.ticket-document-head{flex-direction:column}.ticket-document-actions{align-items:flex-start;flex-direction:column}}
/* 生成方式由服务端统一执行；页面不编辑或模拟 ERP 节点状态。 */
.condition-editor {border-top:1px solid #dce4e8;padding-top:18px;margin-top:18px;display:grid;gap:12px;min-width:0;}
.condition-editor label {min-width:0;}
.condition-node-field {display:grid;grid-template-columns:132px minmax(240px,520px);align-items:center;gap:12px;font-size:12px;}
.condition-node-field select {width:100%;box-sizing:border-box;}
.condition-source,.condition-legacy-note {margin:0;font-size:11px;line-height:1.6;color:#6c7c83;}
.condition-legacy-note {padding:8px 10px;border-left:3px solid #bd8427;background:#fff8e8;color:#765719;}
@media(max-width:650px){.condition-node-field{grid-template-columns:1fr;gap:7px}}
.document-upload textarea {width:100%;box-sizing:border-box;resize:vertical;}
#generation-node-statuses label {display:block;min-width:0;}
#generation-node-statuses select {display:block;width:100%;margin-top:6px;}

/* 核对窗只保留内容、必要待审信息及一次确认；移动端底栏不遮住内容。 */
.ticket-dialog-header>div{min-width:0}.ticket-dialog-header h2{font-size:18px;overflow-wrap:anywhere}.ticket-dialog-header .muted{font-size:11px}.ticket-review-confirm{display:flex;align-items:flex-start;gap:9px;margin:10px 0;font-size:12px;line-height:1.6}.ticket-review-confirm input{flex:0 0 16px;width:16px;height:16px;margin:2px 0;accent-color:var(--green)}
/* 只读内容与本票补录并列；大块内容由浏览器延迟绘制，输入只刷新相关字段。 */
#ticket-generation-dialog,#ticket-generation-dialog.scalar-only{width:min(1320px,calc(100% - 32px))}
.ticket-review-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px;margin:18px 0;align-items:start}.ticket-content-pane,.ticket-input-pane{min-width:0}.ticket-input-pane>section{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid var(--border)}.ticket-input-pane h3{font-size:14px;font-weight:600}.ticket-content-pane{position:sticky;top:0;background:#fff}.ticket-content-pane .section-title{margin-bottom:6px}.ticket-content-preview{max-height:58vh;overflow:auto;background:#fff;border:1px solid var(--border);padding:20px;scrollbar-gutter:stable;font-size:13px;line-height:1.8}.ticket-preview-block{content-visibility:auto;contain-intrinsic-size:auto 60px;white-space:pre-wrap;overflow-wrap:anywhere}.ticket-preview-block p{margin:0 0 14px}.ticket-preview-block small{color:var(--muted);font-size:11px}.ticket-preview-table-wrap{max-width:100%;overflow:auto;margin:12px 0}.ticket-preview-table-wrap table{border-collapse:collapse;width:100%;font-size:12px}.ticket-preview-table-wrap td,.ticket-preview-table-wrap th{border:1px solid var(--border);padding:7px;min-width:75px;vertical-align:top;text-align:left}.ticket-preview-table-wrap th{background:#f4f7f8}.ticket-preview-value{display:inline;min-height:0;padding:1px 3px;border:0;border-radius:2px;background:#eef5f3;color:#205e4c;white-space:pre-wrap;text-align:left;overflow-wrap:anywhere;font:inherit}.ticket-preview-value.pending,.ticket-preview-slot.pending{background:#fff3d9;color:#825b17}.ticket-preview-value.focused{outline:2px solid #378c78;outline-offset:1px;background:#dcefe8}.ticket-preview-unavailable{color:#943829;background:#fff1ef}.ticket-input-pane .ticket-preparation-fields{grid-template-columns:minmax(0,1fr)}
@media(max-width:760px){#ticket-generation-dialog,#ticket-generation-dialog.scalar-only{width:calc(100% - 16px)}.ticket-review-workspace{grid-template-columns:minmax(0,1fr);gap:18px}.ticket-content-pane{position:static}.ticket-content-preview{max-height:32vh;padding:12px}.ticket-preview-table-wrap table{width:max-content;min-width:100%}}
@media(max-width:760px){.ticket-dialog-footer{position:static}}
.scalar-only .ticket-preparation-fields{grid-template-columns:1fr}
.input-gap-toolbar label{white-space:nowrap;flex:0 1 240px}.input-gap-toolbar select{flex:1;min-width:0}
.candidate-evidence{display:block}.candidate-evidence>summary{cursor:pointer;color:#315f50;font-size:11px}.candidate-evidence>span,.candidate-evidence>strong{display:block;margin-top:4px}
