.contract-workbench-page .contract-workbench-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px}.contract-workbench-page .contract-workbench-main{display:grid;gap:18px;min-width:0}.contract-workbench-page .contract-workbench-aside{display:grid;align-content:start}.contract-workbench-page .contract-create-form{display:grid;gap:2px}.contract-workbench-page .contract-auth-action{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;text-decoration:none}.contract-workbench-page .reminder-workbench{min-width:0}.contract-workbench-page .reminder-list{display:grid;gap:10px;margin:20px 0 0;padding:0;list-style:none}.contract-workbench-page .reminder-list li{padding:14px;border:1px solid var(--c-border);border-left:3px solid var(--c-brand-light);border-radius:0 12px 12px 0;background:#f7fbfa}.contract-workbench-page .reminder-list a{color:var(--c-brand);font-weight:800;text-decoration:none}.contract-workbench-page .reminder-list a:hover{text-decoration:underline}@media(max-width:800px){.contract-workbench-page .contract-workbench-layout{grid-template-columns:1fr}}@media(max-width:500px){.contract-workbench-page .customer-section-heading{align-items:flex-start;flex-direction:column}.contract-workbench-page .customer-detail-actions{width:100%;flex-direction:column}.contract-workbench-page .customer-detail-actions .secondary-button{width:100%}}
.contract-list-page .contract-list-heading .primary-button{width:auto;margin:0;text-decoration:none}.contract-list-page .contract-page-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 18px}.contract-list-page .contract-page-tabs a{padding:10px 14px;border:1px solid var(--c-border);border-radius:10px;color:var(--c-brand);background:#fff;font-weight:800;text-decoration:none}.contract-list-page .contract-page-tabs a.is-current{border-color:#9fc2bc;background:var(--c-soft)}.contract-list-page .contract-created-notice{margin:0 0 18px;padding:13px 15px;border-left:4px solid var(--c-success);border-radius:0 10px 10px 0;color:var(--c-success);background:#f1faf5;font-weight:800}.contract-list-page .contract-created-row td{background:#f1faf5}.contract-list-page .contract-table-wrap{margin-top:18px}.contract-list-page .contract-table-wrap table{min-width:820px}.contract-list-page .contract-table-wrap th{white-space:nowrap}.contract-list-page .customer-list-toolbar{margin-top:16px}.contract-list-page .customer-pagination{display:flex;align-items:center;gap:8px}.contract-list-page .customer-pagination .secondary-button{min-height:36px;padding:7px 12px}.contract-list-page #contract-auth-action{display:inline-flex;margin-top:14px;text-decoration:none}@media(max-width:800px){.contract-list-page .contract-list-heading{align-items:flex-start}}@media(max-width:500px){.contract-list-page .customer-pagination{width:100%;justify-content:space-between}.contract-list-page .contract-page-tabs{flex-wrap:nowrap;overflow-x:auto}.contract-list-page .contract-page-tabs a{white-space:nowrap}}
.contract-combined-page .contract-combined-heading{align-items:flex-end}.contract-combined-page .contract-create-status{display:grid;gap:2px;justify-items:end;text-align:right}.contract-combined-page .contract-create-status .customer-status,.contract-combined-page .contract-create-status .contract-draft-status{margin:0}.contract-combined-page .contract-search{display:grid;gap:7px;min-width:min(100%,360px);margin:0}.contract-combined-page .contract-search label,.contract-combined-page .contract-picker-form label{margin:0;font-size:13px;font-weight:800}.contract-combined-page .contract-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.contract-combined-page .contract-search-row .secondary-button{width:auto;margin:0;white-space:nowrap}.contract-combined-page .contract-table-wrap{margin-top:18px}.contract-combined-page .contract-table-wrap table{min-width:860px}.contract-combined-page .contract-table-wrap th{white-space:nowrap}.contract-combined-page .contract-empty-state{margin:18px 0 0;padding:14px;border-left:4px solid var(--c-brand-light);border-radius:0 10px 10px 0;color:var(--c-muted);background:#f2f8f7}.contract-combined-page .contract-auth-action{display:inline-flex;align-items:center;width:auto;margin-top:14px;text-decoration:none}.contract-combined-page .contract-quick-section{scroll-margin-top:20px}.contract-combined-page .contract-wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:0;list-style:none}.contract-combined-page .contract-wizard-step{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;width:100%;min-height:72px;padding:12px 14px;border:1px solid var(--c-border);border-radius:12px;color:var(--c-muted);background:#fff;text-align:left;cursor:pointer}.contract-combined-page .contract-wizard-step span{grid-row:span 2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--c-brand);background:#e7efed;font-weight:900}.contract-combined-page .contract-wizard-step strong,.contract-combined-page .contract-wizard-step small{display:block}.contract-combined-page .contract-wizard-step small{margin-top:3px;color:var(--c-muted);font-size:12px}.contract-combined-page .contract-wizard-step.is-active{border-color:#79a9a1;background:var(--c-soft);box-shadow:0 0 0 2px rgb(90 144 136 / 14%)}.contract-combined-page .contract-wizard-step.is-active span{color:#fff;background:var(--c-brand)}.contract-combined-page .contract-wizard-step.is-done{border-color:#9fc2bc;color:var(--c-brand)}.contract-combined-page .contract-wizard-step:disabled{cursor:not-allowed;opacity:.55}.contract-combined-page .contract-wizard-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:22px}.contract-combined-page .contract-wizard-main,.contract-combined-page .contract-step-panel{min-width:0}.contract-combined-page .contract-step-panel h3{margin:0;font-size:clamp(22px,2.7vw,29px)}.contract-combined-page .contract-picker-form{margin-top:18px}.contract-combined-page .contract-picker-form .contract-search-row{max-width:620px}.contract-combined-page .contract-customer-options{display:grid;gap:9px;margin-top:18px;max-height:390px;overflow:auto}.contract-combined-page .contract-customer-option,.contract-combined-page .contract-service-option{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--c-border);border-radius:12px;background:#fff;cursor:pointer}.contract-combined-page .contract-customer-option:hover,.contract-combined-page .contract-service-option:hover{border-color:#9fc2bc;background:#f7fbfa}.contract-combined-page .contract-customer-option[data-selected=true],.contract-combined-page .contract-service-option:has(input:checked){border-color:#79a9a1;background:#f2f8f7}.contract-combined-page .contract-customer-option input,.contract-combined-page .contract-service-option input{width:18px;min-height:18px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--c-brand)}.contract-combined-page .contract-customer-option span,.contract-combined-page .contract-service-option span,.contract-combined-page .contract-customer-option strong,.contract-combined-page .contract-service-option strong,.contract-combined-page .contract-customer-option small,.contract-combined-page .contract-service-option small{display:block}.contract-combined-page .contract-customer-option small,.contract-combined-page .contract-service-option small{margin-top:3px;color:var(--c-muted);line-height:1.45}.contract-combined-page .contract-date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.contract-combined-page .contract-date-grid .field{margin:0}.contract-combined-page .contract-service-fieldset{margin:22px 0 0;padding:0;border:0}.contract-combined-page .contract-service-fieldset legend{font-weight:800}.contract-combined-page .contract-service-list{display:grid;gap:9px;margin-top:12px}.contract-combined-page .contract-wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--c-border)}.contract-combined-page .contract-wizard-actions .primary-button,.contract-combined-page .contract-wizard-actions .secondary-button{width:auto;margin:0}.contract-combined-page .contract-wizard-actions .primary-button{min-width:180px}.contract-combined-page .contract-wizard-summary{align-self:start;padding:18px;border:1px solid var(--c-border);border-radius:14px;background:#f9fbfa}.contract-combined-page .contract-wizard-summary h3{margin:0;font-size:20px}.contract-combined-page .contract-wizard-summary dl{display:grid;gap:12px;margin:18px 0}.contract-combined-page .contract-wizard-summary dl div{padding-bottom:11px;border-bottom:1px solid var(--c-border)}.contract-combined-page .contract-wizard-summary dl div:last-child{padding:0;border:0}.contract-combined-page .contract-wizard-summary dt{color:var(--c-muted);font-size:13px;font-weight:800}.contract-combined-page .contract-wizard-summary dd{margin:4px 0 0;overflow-wrap:anywhere}.contract-combined-page .contract-summary-notice{margin:0;padding:12px;border-left:4px solid var(--c-brand-light);border-radius:0 10px 10px 0;color:var(--c-brand);background:#f0f7f5;font-size:13px;line-height:1.55}.contract-combined-page .contract-state-card{margin:0 0 18px}.contract-combined-page .contract-state-card h3{margin:0;font-size:22px}.contract-combined-page .contract-state-card .secondary-button{display:inline-flex;width:auto;margin-top:16px;text-decoration:none}.contract-combined-page .contract-success-panel{display:grid;gap:8px;margin-top:18px;padding:15px;border:1px solid var(--c-success);border-radius:12px;color:var(--c-success);background:#f1faf5}.contract-combined-page .contract-success-panel strong{font-size:17px}.contract-combined-page .contract-success-panel .secondary-button{width:max-content;margin:5px 0 0;text-decoration:none}
@media(max-width:800px){.contract-combined-page .contract-combined-heading,.contract-combined-page .contract-quick-heading{align-items:flex-start;flex-direction:column}.contract-combined-page .contract-quick-cta{width:100%}.contract-combined-page .contract-quick-heading .customer-status{text-align:left}.contract-combined-page .contract-wizard-steps{grid-template-columns:1fr}.contract-combined-page .contract-wizard-step{min-height:56px}.contract-combined-page .contract-wizard-card{grid-template-columns:1fr}.contract-combined-page .contract-wizard-summary{grid-row:1}.contract-combined-page .contract-date-grid{grid-template-columns:1fr}}
@media(max-width:500px){.contract-combined-page .contract-search,.contract-combined-page .contract-picker-form{width:100%;min-width:0}.contract-combined-page .contract-search-row{grid-template-columns:1fr}.contract-combined-page .contract-search-row .secondary-button{width:100%}.contract-combined-page .contract-wizard-actions{align-items:stretch;flex-direction:column-reverse}.contract-combined-page .contract-wizard-actions .primary-button,.contract-combined-page .contract-wizard-actions .secondary-button,.contract-combined-page .contract-success-panel .secondary-button{width:100%;text-align:center}.contract-combined-page .customer-list-toolbar{align-items:flex-start;flex-direction:column}.contract-combined-page .customer-pagination{width:100%;justify-content:space-between}}
.contract-combined-page .contract-service-list{max-height:520px;overflow:auto;padding-right:4px}
.contract-combined-page .contract-service-sections{display:grid;gap:20px;margin-top:22px}.contract-combined-page .contract-service-fieldset{min-width:0}.contract-combined-page .contract-service-fieldset+.contract-service-fieldset{margin-top:0}.contract-combined-page .contract-service-fieldset>label{display:block;margin-top:12px;font-weight:800}.contract-combined-page .contract-addon-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:8px}.contract-combined-page .contract-addon-picker select{min-width:0}.contract-combined-page .contract-addon-picker .secondary-button{width:auto;margin:0;white-space:nowrap}.contract-combined-page .contract-selected-service-list{display:grid;gap:8px;margin-top:12px}.contract-combined-page .contract-selected-service{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border:1px solid #9fc2bc;border-radius:12px;background:#f2f8f7}.contract-combined-page .contract-selected-service span{min-width:0}.contract-combined-page .contract-selected-service strong,.contract-combined-page .contract-selected-service small{display:block}.contract-combined-page .contract-selected-service small{margin-top:3px;color:var(--c-muted);line-height:1.45;overflow-wrap:anywhere}.contract-combined-page .contract-selected-service .secondary-button{width:auto;min-width:62px;margin:0;padding:7px 10px;white-space:nowrap}.contract-combined-page .contract-other-service-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(160px,.8fr);gap:12px;margin-top:14px}.contract-combined-page .contract-other-service-grid .field{margin:0}.contract-combined-page #add-other-service{width:auto;margin:12px 0 0}.contract-combined-page #summary-service-total{color:var(--c-brand);font-size:18px;font-weight:900}
@media(max-width:500px){.contract-combined-page .contract-addon-picker,.contract-combined-page .contract-other-service-grid{grid-template-columns:1fr}.contract-combined-page .contract-addon-picker .secondary-button,.contract-combined-page #add-other-service{width:100%}.contract-combined-page .contract-selected-service{align-items:stretch;flex-direction:column}.contract-combined-page .contract-selected-service .secondary-button{width:100%}}
.contract-detail-page .contract-service-total{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--c-brand-light);border-radius:0 10px 10px 0;color:var(--c-brand);background:var(--c-soft);font-size:18px;font-weight:900}
 .contract-combined-page .contract-pricing-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-top:8px;width:min(100%,520px)}.contract-combined-page .contract-pricing-editor small{color:var(--c-muted);font-weight:700}.contract-combined-page .contract-pricing-editor select,.contract-combined-page .contract-pricing-editor input{min-height:38px}.contract-combined-page .contract-pricing-editor .contract-pricing-agreed-amount,.contract-combined-page .contract-pricing-editor .contract-pricing-agreed-reason{width:100%;min-width:0}.contract-combined-page .contract-inline-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.contract-combined-page #discount-section{padding:16px;border:1px solid #9fc2bc;border-radius:12px;background:#f6fbfa}@media(max-width:800px){.contract-combined-page .contract-wizard-summary{grid-row:auto}}

/* UI-074：項目清單置頂的建立草稿列。草稿不是項目，以淡藍底與標籤明確區隔。 */
.contract-drafts{margin:0 0 16px;padding:14px 18px;border:1px solid #c9d4ee;border-left:5px solid #33508f;border-radius:12px;background:#f4f7fd}
.contract-drafts .eyebrow{margin:0 0 8px;color:#33508f;font-weight:800;font-size:.8rem;letter-spacing:.06em}
.contract-draft-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 0;border-top:1px solid #dde5f5}
.contract-draft-row:first-of-type{border-top:0}
.contract-draft-row > span:nth-child(2){display:flex;flex-direction:column;flex:1 1 220px;min-width:0}
.contract-draft-row strong{font-size:.95rem}
.contract-draft-row small{color:#4d6a64;font-size:.82rem}
.contract-draft-badge{flex:0 0 auto;padding:2px 10px;border-radius:999px;background:#e8ecf7;color:#33508f;font-size:.78rem;font-weight:800}
.contract-draft-row > span:last-child{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.contract-draft-row > span:last-child{width:100%}.contract-draft-row > span:last-child > *{flex:1}}

/* UI-075：四個清單頁的快速瀏覽版面。僅顯示層樣式，不影響資料與權限。 */
.contract-list-page .contract-filters,.contract-workbench-page .reminder-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0 0}
.contract-list-page .contract-filters .field,.contract-workbench-page .reminder-filters .field{margin:0}
.contract-list-page .contract-filters label,.contract-workbench-page .reminder-filters label{display:block;margin:0 0 4px;color:var(--c-text);font-size:13px;font-weight:800}
.contract-list-page .contract-filters input,.contract-list-page .contract-filters select,.contract-workbench-page .reminder-filters input{min-height:40px;min-width:0}
.contract-list-page .contract-filters input[type=search],.contract-workbench-page .reminder-filters input[type=search]{min-width:min(100%,280px)}
.contract-list-page .contract-filter-actions,.contract-workbench-page .reminder-filter-actions{display:flex;gap:8px}
.contract-list-page .contract-filters .secondary-button,.contract-workbench-page .reminder-filters .secondary-button{width:auto;min-height:40px;margin:0;white-space:nowrap}

/* 表頭固定：往下捲時欄位名不消失。捲動容器本身限制高度，表頭才有可貼附的對象。 */
.contract-list-page .contract-table-wrap,.contract-workbench-page .reminder-table-wrap{max-height:min(68vh,720px);overflow:auto}
.contract-list-page .contract-table-wrap thead th,.contract-workbench-page .reminder-table-wrap thead th{position:sticky;top:0;z-index:1;background:#f1f8f6}

.contract-list-page .customer-table td,.contract-workbench-page .reminder-table-wrap td{padding:9px 10px;vertical-align:top}
.contract-list-page .customer-table th.is-numeric,.contract-list-page .customer-table td.is-numeric,.contract-workbench-page .reminder-table-wrap th.is-numeric,.contract-workbench-page .reminder-table-wrap td.is-numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.contract-list-page .customer-table td small,.contract-workbench-page .reminder-table-wrap td small{display:block;margin-top:2px;color:var(--c-muted);font-size:12px;line-height:1.4}
.contract-list-page .customer-table td small[data-tone=warn],.contract-workbench-page .reminder-table-wrap td small[data-tone=warn]{color:#8a5a12;font-weight:700}
.contract-list-page .customer-table td small[data-tone=danger],.contract-workbench-page .reminder-table-wrap td small[data-tone=danger]{color:#9b3040;font-weight:700}

/* 狀態 chip：文字本身即為狀態，顏色只是輔助，不單靠顏色傳達資訊。 */
.contract-list-page .status-badges,.contract-workbench-page .status-badges{display:flex;flex-wrap:wrap;gap:4px}
.contract-list-page .status-badge,.contract-workbench-page .status-badge{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--c-soft,#eef2f0);color:var(--c-muted);font-size:12px;font-weight:800;white-space:nowrap}
.contract-list-page .status-badge[data-tone=ok],.contract-workbench-page .status-badge[data-tone=ok]{background:#e3f2ec;color:#1d5c47}
.contract-list-page .status-badge[data-tone=warn],.contract-workbench-page .status-badge[data-tone=warn]{background:#fdf3e3;color:#8a5a12}
.contract-list-page .status-badge[data-tone=danger],.contract-workbench-page .status-badge[data-tone=danger]{background:#fbeaec;color:#9b3040}

.contract-workbench-page .reminder-table-wrap table{min-width:640px}
.contract-workbench-page .reminder-empty-state{margin:18px 0 0;padding:14px;border-left:4px solid var(--c-brand-light);border-radius:0 10px 10px 0;color:var(--c-muted);background:#f2f8f7}
.contract-workbench-page .reminder-auth-link{color:var(--c-brand);font-weight:800}

@media(max-width:500px){
  .contract-list-page .contract-filters,.contract-workbench-page .reminder-filters{flex-direction:column;align-items:stretch}
  .contract-list-page .contract-filters input[type=search],.contract-workbench-page .reminder-filters input[type=search]{min-width:0}
  .contract-list-page .contract-filter-actions .secondary-button,.contract-workbench-page .reminder-filter-actions .secondary-button{flex:1}
}

/* UI-077：申告期限提醒的排序按鈕與服務類別圖示。 */
.contract-workbench-page .reminder-sort{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:800;cursor:pointer}
.contract-workbench-page .reminder-sort:focus-visible{outline:3px solid #f6c85f;outline-offset:2px}
.contract-workbench-page .reminder-sort.is-active{text-decoration:underline}
.contract-workbench-page .reminder-sort-mark{font-size:10px;opacity:.75}
.contract-workbench-page .reminder-service-icons{display:inline-flex;gap:4px;margin-right:6px;vertical-align:middle}
.contract-workbench-page .reminder-service-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:900;line-height:1}
.contract-workbench-page .reminder-service-icon.is-primary{background:var(--c-brand);color:#fff}
.contract-workbench-page .reminder-service-icon.is-addon{background:#fff;color:#8a5a12;border:2px solid #d8a33c}
