.linkage-page{display:grid;gap:20px;min-width:0}.linkage-section{padding:24px;min-width:0}.linkage-section-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px}.linkage-section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eaf1fa;font-size:12px;font-weight:700;color:#2e6094}.linkage-section-title h3{margin:0;font-size:19px}.linkage-rule-fields{border:0;padding:0;margin:0;min-width:0}.linkage-room-options{display:flex;gap:12px;flex-wrap:wrap}.linkage-room-options>label{display:flex;align-items:center;gap:8px;padding:12px 16px;border:1px solid #dce5ee;border-radius:7px;cursor:pointer}.linkage-room-options small{font-size:11px;color:#7b8b9b}.linkage-room-options input,.linkage-weekdays input,.linkage-date-line input[type=checkbox],.linkage-keep input{accent-color:#204a77;margin:0;width:16px;height:16px;flex:none}.linkage-source{display:grid;grid-template-columns:minmax(180px,1fr) 40px minmax(300px,2fr);align-items:center;gap:12px;margin-top:22px;padding:18px;background:#f7faff;border-radius:8px}.linkage-source small{display:block;color:#7a8c9d;margin-bottom:8px}.linkage-source>span{text-align:center;font-size:24px;color:#a8bacb}.linkage-target-tags{display:flex;gap:8px;flex-wrap:wrap}.linkage-target-tags span{font-size:12px;background:white;border:1px solid #dae5f0;padding:6px 9px;border-radius:5px}.linkage-note{font-size:12px;color:#748698;line-height:1.7;margin:14px 0 0}.linkage-date-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0}.linkage-date-line>b,.linkage-weekdays>b{font-size:14px;min-width:85px}.linkage-date-line label{display:flex;gap:7px;align-items:center}.linkage-date-line input[type=date]{width:160px}.linkage-weekdays{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-top:1px solid #e7edf4;margin-top:10px;padding-top:20px;font-size:13px}.linkage-weekdays label{display:flex;align-items:center;gap:6px}.linkage-exclusion{display:flex;align-items:center;gap:10px;margin:6px 0}.linkage-sample{margin-left:auto;display:flex;align-items:center;gap:8px;color:#76889a;font-size:12px}.linkage-sample input{width:100px}.linkage-formula-heading,.linkage-formula-row{display:grid;grid-template-columns:145px minmax(0,1fr) 95px;gap:16px;align-items:center}.linkage-formula-heading{font-size:12px;color:#7d8da0;padding:0 0 14px}.linkage-formula-row{padding:15px 0;border-top:1px solid #e9eef5}.linkage-formula-row>strong{font-size:14px;font-weight:550}.linkage-expression{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:#647c92;font-size:13px}.linkage-expression select{width:58px}.linkage-expression input{width:94px}.linkage-formula-row output{text-align:right;font-size:16px;color:#1d4773;font-weight:650;overflow-wrap:anywhere}.linkage-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.linkage-page input[type=number],.linkage-page input[type=date],.linkage-page select{min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #d7e2ee;border-radius:6px;padding:9px;color:#254c72;font:inherit;background:#fff}.linkage-page input:disabled,.linkage-page select:disabled{background:#f5f7fa;color:#8b9bad}.linkage-page button,.page-header [data-linkage-reload]{border:1px solid #d3dfed;border-radius:6px;padding:9px 14px;background:white;color:#28547e;font:inherit;font-size:13px;cursor:pointer}.linkage-page .primary{background:#193e68;color:white;border-color:#193e68}.linkage-page button:disabled{opacity:.45;cursor:default}.linkage-error,#linkage-page-status{font-size:13px;color:#a24839;line-height:1.7;margin:12px 0 0}.linkage-error:empty,#linkage-page-status:empty{display:none}.linkage-apply-filters{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}.linkage-apply-filters>label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#73869a}.linkage-apply-filters>label.linkage-keep{flex-direction:row;align-items:center;padding-bottom:10px;gap:7px}.linkage-preview-scroll{max-width:100%;overflow-x:auto}.linkage-preview-scroll table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}.linkage-preview-scroll th,.linkage-preview-scroll td{text-align:left;padding:12px;border-bottom:1px solid #e4ebf3}.linkage-preview-scroll th{color:#7890a5;background:#f8fafd}.linkage-preview-scroll td small{display:block;color:#8a9aab;margin-top:5px}.linkage-preview-count{font-size:13px;color:#315c83;margin-top:20px}
@media(max-width:1100px){.linkage-formula-heading,.linkage-formula-row{grid-template-columns:125px minmax(0,1fr) 85px;gap:10px}.linkage-expression input{width:78px}.linkage-source{grid-template-columns:1fr 25px 2fr}.linkage-expression{gap:6px}.linkage-expression select{width:50px}}
@media(max-width:640px){.linkage-section{padding:16px}.linkage-source{grid-template-columns:1fr}.linkage-source>span{text-align:left;transform:rotate(90deg);width:24px}.linkage-section-title{margin-bottom:16px}.linkage-sample{margin-left:0;width:100%;flex-wrap:wrap}.linkage-formula-heading{display:none}.linkage-formula-row{grid-template-columns:minmax(0,1fr) 85px}.linkage-formula-row>strong{grid-column:1}.linkage-expression{grid-column:1/-1;grid-row:2}.linkage-formula-row output{grid-column:2;grid-row:1}.linkage-expression input{width:72px}.linkage-expression select{width:48px}.linkage-date-line{align-items:flex-start;gap:10px}.linkage-date-line>b{width:100%}.linkage-exclusion{flex-wrap:wrap;gap:7px}.linkage-date-line input[type=date]{width:130px}.linkage-weekdays{gap:13px}.linkage-weekdays>b{width:100%}.linkage-apply-filters>label{flex:1 1 130px}.linkage-apply-filters>button{flex:1}.linkage-room-options>label{padding:10px;flex:1 1 100%}}
.linkage-op-pair{display:inline-flex;align-items:center;gap:6px;flex:none}.linkage-room-options>label>span{min-width:0;overflow-wrap:anywhere}

/* Compact controls and separate actual prices from optional calculation rules. */
.linkage-page{gap:14px;font-size:13px}
.linkage-page .linkage-section{padding:18px 20px}
.linkage-page .linkage-section-title{gap:9px;margin-bottom:14px}
.linkage-page .linkage-section-title>span{width:24px;height:24px;border-radius:5px;font-size:11px}
.linkage-page .linkage-section-title h3{font-size:17px}
.linkage-purpose{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid #dce6f1;border-radius:8px;background:#f4f8fc;color:#244d73}
.linkage-purpose strong{font-size:14px}.linkage-purpose p{margin:5px 0 0;font-size:12px;line-height:1.6;color:#6b8198}
.linkage-page input[type=number],.linkage-page input[type=date],.linkage-page select{height:34px;min-height:34px;padding:5px 8px;border-radius:5px;font-size:13px;line-height:22px}
.linkage-page button,.page-header [data-linkage-reload]{min-height:34px;padding:6px 12px;font-size:13px;line-height:20px;border-radius:5px;box-sizing:border-box;width:auto}
.linkage-page .linkage-rule-editor .linkage-formula-heading,.linkage-page .linkage-rule-editor .linkage-formula-row{grid-template-columns:130px minmax(0,1fr);gap:14px}
.linkage-page .linkage-formula-heading{padding-bottom:9px}
.linkage-page .linkage-formula-row{padding:9px 0}
.linkage-page .linkage-formula-row>strong{font-size:13px}
.linkage-page .linkage-expression{gap:7px;font-size:13px}
.linkage-page .linkage-expression input{width:80px}
.linkage-page .linkage-expression select{width:52px;padding-left:6px;padding-right:4px}
.linkage-page .linkage-op-pair{gap:6px}
.linkage-page .linkage-source{grid-template-columns:minmax(160px,1fr) 28px minmax(0,2fr);margin-top:12px;padding:12px;gap:10px}
.linkage-page .linkage-source small{margin-bottom:5px;font-size:11px}
.linkage-page .linkage-source strong{font-size:14px}
.linkage-page .linkage-target-tags{gap:6px}
.linkage-page .linkage-target-tags span{padding:4px 7px;font-size:11px}
.linkage-page .linkage-room-picker{max-width:440px;margin-bottom:12px}
.linkage-page .linkage-room-picker summary{min-height:36px;padding:7px 10px;border-radius:5px;box-sizing:border-box;font-size:13px}
.linkage-page .linkage-room-picker .linkage-room-options{padding:7px;gap:4px}
.linkage-page .linkage-room-picker .linkage-room-options label{padding:7px 9px;border-radius:5px}
.linkage-page .linkage-note{margin-top:9px;line-height:1.65}
.linkage-page .linkage-buttons{margin-top:14px;gap:9px}
.linkage-scope>summary,.linkage-batch>summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;cursor:pointer;list-style:none;color:#254b70;font-size:14px}
.linkage-scope>summary::after,.linkage-batch>summary::after{content:'展开 ⌄';margin-left:auto;color:#66839f;font-size:12px}
.linkage-scope[open]>summary::after,.linkage-batch[open]>summary::after{content:'收起 ⌃'}
.linkage-scope>summary>span,.linkage-batch>summary>span{color:#7c90a4;font-size:12px;font-weight:400}
.linkage-scope>summary>small{color:#7c90a4;font-size:12px;margin-left:auto}.linkage-scope>summary::after{margin-left:0}
.linkage-scope[open]>summary,.linkage-batch[open]>summary{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e9eef5}
.linkage-page .linkage-date-line{padding:8px 0;gap:10px}
.linkage-page .linkage-date-line input[type=date]{width:150px}
.linkage-page .linkage-weekdays{gap:14px;margin-top:8px;padding-top:14px}
.linkage-page .linkage-exclusion{gap:8px}
.linkage-page .linkage-exclusion [data-remove-exclusion]{width:28px;min-height:28px;height:28px;padding:0;border-radius:50%}
.linkage-page .linkage-apply-filters{gap:10px}
.linkage-page .linkage-apply-filters>label.linkage-keep{padding-bottom:7px}
@media(max-width:760px){.linkage-purpose{align-items:flex-start;flex-wrap:wrap;gap:10px}.linkage-page .linkage-section{padding:16px}.linkage-page .linkage-rule-editor .linkage-formula-heading{display:none}.linkage-page .linkage-rule-editor .linkage-formula-row{grid-template-columns:minmax(0,1fr);gap:7px}.linkage-page .linkage-source{grid-template-columns:1fr}.linkage-page .linkage-source>span{display:none}.linkage-page .linkage-expression{gap:5px}.linkage-page .linkage-expression input{width:66px}.linkage-page .linkage-expression select{width:46px}.linkage-page .linkage-op-pair{gap:4px}.linkage-page .linkage-expression>span:first-child{font-size:12px}.linkage-scope>summary>small{display:none}.linkage-page .linkage-source small{margin-bottom:4px}}
.linkage-room-picker{position:relative;max-width:680px;margin-bottom:18px}.linkage-room-picker summary{border:1px solid #d9e4ee;background:#fff;border-radius:7px;padding:12px 16px;color:#234b72;cursor:pointer;list-style:inside;display:flex;align-items:center;justify-content:space-between;gap:18px}.linkage-room-picker summary:after{content:'⌄';color:#8394a7}.linkage-room-picker summary span{flex:1;overflow-wrap:anywhere}.linkage-room-picker summary small{font-size:12px;color:#8b9cae}.linkage-room-picker .linkage-room-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:5;max-height:290px;overflow:auto;padding:10px;background:white;border:1px solid #dbe5ef;border-radius:8px;box-shadow:0 12px 28px #173c6020;display:grid;grid-template-columns:1fr;gap:6px}.linkage-room-picker .linkage-room-options label{margin:0}.linkage-rule-editor .linkage-formula-heading,.linkage-rule-editor .linkage-formula-row{grid-template-columns:190px minmax(0,1fr)}.linkage-preview-button{margin-left:auto}.linkage-formula-dialog{width:min(540px,92vw);max-height:85vh;overflow:auto;border:0;border-radius:12px;padding:26px;color:#1a3d60;box-sizing:border-box}.linkage-formula-dialog::backdrop{background:#18345066}.linkage-formula-dialog header{display:flex;align-items:center;justify-content:space-between}.linkage-formula-dialog h3{margin:0;font-size:20px}.linkage-formula-dialog header button{border:0;background:none;color:#8094a6;font-size:28px;cursor:pointer}.linkage-formula-dialog>p{font-size:13px;color:#8393a3;line-height:1.7}.linkage-formula-dialog .linkage-sample{margin:22px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.linkage-trial-results>div{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #e5edf4;font-size:14px}.linkage-trial-results output{font-weight:700}.linkage-formula-dialog>button{padding:10px 20px;margin-top:16px;border:1px solid #d7e2ed;background:white;color:#244c74;border-radius:6px;cursor:pointer}@media(max-width:760px){.linkage-rule-editor .linkage-formula-heading{display:none}.linkage-rule-editor .linkage-formula-row{grid-template-columns:minmax(0,1fr)}.linkage-preview-button{margin-left:auto}}
