/* Compact controls shared by the contract planner and client quote editor. */
.contract-page main,.quote-page main{max-width:1232px;padding-left:24px;padding-right:24px}.contract-workspace{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start}.contract-editor,.contract-results{padding:26px;border:1px solid var(--line);border-radius:14px;background:#fff;min-width:0}.contract-editor h2{font-size:23px}.contract-editor .field{margin-bottom:16px}.contract-editor .field-grid{gap:16px}.contract-page select,.quote-page select{font:inherit;width:100%;min-width:0;min-height:46px;padding:10px;border:1px solid #bdceca;border-radius:7px;background:#fff;color:var(--ink)}.contract-page label,.quote-page label{font-size:14px;font-weight:600}.contract-page input,.contract-page textarea,.quote-page input,.quote-page textarea{font-size:16px}.service-days{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 6px}.service-days legend{margin-bottom:9px}.service-days label{display:flex;gap:7px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:10px;cursor:pointer}.service-days label:has(:checked){background:#e9f6ef;border-color:var(--teal)}.service-days input{width:17px;height:17px;accent-color:var(--teal)}.tool-details{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.tool-details summary{font-weight:700;cursor:pointer}.contract-results{background:var(--deep);color:white;position:sticky;top:20px}.contract-results .eyebrow{color:#d6e8ab}.contract-results h2{font-size:44px;letter-spacing:-1.5px;color:var(--lime);overflow-wrap:anywhere}.contract-results>p{font-size:14px}.contract-results .muted{color:#ccdad6}.contract-results dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff28;padding:13px 0;font-size:14px}.contract-results dd{font-weight:750;margin:0;text-align:right;overflow-wrap:anywhere}.contract-results .secondary-button{background:#fff;color:var(--deep);display:inline-block}.tool-section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}.tool-section-heading h2{font-size:26px}.contract-breakdown{margin-top:36px}.contract-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;margin-top:20px;background:#fff}.tool-table{border-collapse:collapse;width:100%;font-size:14px}.tool-table td,.tool-table th{padding:14px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}.tool-table td:first-child,.tool-table th:first-child{text-align:left}.tool-table th{background:#eef4f2}.tool-table tr:last-child td{border-bottom:0}.contract-handoff{display:flex;gap:18px;align-items:end;margin-top:24px;padding:20px;border-radius:12px;background:#e8f3ed}.contract-handoff .field{min-width:160px}.contract-handoff .primary-button{margin:0;text-decoration:none}.contract-handoff [aria-disabled=true]{pointer-events:none;opacity:.5}.tool-guide{max-width:850px;margin:44px auto}.tool-guide h2{font-size:28px}.tool-guide h3{font-size:20px;margin-top:26px}.tool-guide p,.tool-guide li{line-height:1.8}.tool-guide a{color:var(--teal);text-underline-offset:3px}.tool-guide li{margin-bottom:8px}.quote-editor .field-grid{gap:0 14px}.quote-editor fieldset+fieldset legend{float:none}.quote-editor fieldset{margin-bottom:18px}.quote-editor .field{margin-bottom:13px}.quote-editor .editor-actions{gap:10px;flex-wrap:wrap}.quote-editor .editor-actions button{padding:11px 14px}.logo-control{margin-bottom:20px}.logo-control input{display:block;width:100%;margin-top:9px}.logo-control input::file-selector-button{border:1px solid var(--line);padding:8px;border-radius:6px;background:#f0f5f4;color:var(--ink)}#preview-logo{max-width:140px;max-height:65px;object-fit:contain;object-position:left;margin-bottom:14px}.quote-item{border:1px solid var(--line);padding:14px;border-radius:9px;margin-bottom:12px;background:#f8faf9}.quote-item .field{margin:0}.quote-item-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.quote-item-head span{font-size:12px;font-weight:750;color:var(--teal)}.quote-item-head button{font-size:12px}.quote-item-numbers{display:grid;grid-template-columns:.6fr 1fr;gap:12px;margin-top:10px}.quote-item .optional-check{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:13px}.optional-check input{height:17px;width:17px;accent-color:var(--teal)}.preview-service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.preview-service small{grid-column:1/-1;color:var(--muted)}.preview-service strong{font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.quote-paper .quote-price-block{gap:14px}.quote-paper .quote-price-block strong{font-size:30px}.quote-page [hidden],.contract-page [hidden]{display:none!important}#use-contract{display:block;margin-top:10px;text-align:center;background:#fff;color:var(--deep);font-size:14px;text-decoration:none}.contract-page .error:empty,.quote-page .error:empty{display:none}
@media(max-width:850px){.contract-workspace{grid-template-columns:1fr}.contract-results{position:static}.quote-workspace{grid-template-columns:1fr}.quote-preview-wrap{margin-top:16px}.contract-results h2{font-size:38px}}
@media(max-width:600px){.contract-page main,.quote-page main{padding-left:16px;padding-right:16px}.contract-editor,.contract-results{padding:20px 16px}.contract-page .field-grid{grid-template-columns:1fr;gap:0}.service-days{gap:6px}.service-days label{padding:8px}.tool-section-heading{align-items:start;flex-direction:column}.contract-handoff{flex-direction:column;align-items:stretch;padding:16px}.contract-handoff .primary-button{text-align:center}.tool-table th,.tool-table td{padding:12px}.quote-editor{padding:20px 16px}.quote-intro{padding-top:28px}.quote-paper{padding:22px 16px}.quote-item{padding:12px}.quote-page .quote-meta{grid-template-columns:1fr 1fr}.tool-guide{margin-top:32px}.tool-guide h2{font-size:24px}}
@media print{.quote-page .quote-paper{padding:0}.preview-service{break-inside:avoid}.quote-page .quote-price-block strong{color:#143e36}.quote-page .quote-price-block{break-inside:avoid}.quote-page #preview-logo{max-width:120px;max-height:54px}.quote-page .quote-meta{grid-template-columns:1fr 1fr}}
