.advanced-question-row{
  display:grid;
  grid-template-columns:auto minmax(220px,1.5fr) 160px minmax(220px,1fr) auto;
  gap:12px;
  align-items:start;
}
.advanced-question-row b{margin-top:28px}
.advanced-question-row label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:700;
  color:#173247;
}
.advanced-question-row input,
.advanced-question-row select,
.advanced-question-row textarea{width:100%}
.preset-answer-field textarea{min-height:62px;resize:vertical}
.workflow-fields{grid-template-columns:repeat(3,minmax(160px,1fr))}
.workflow-question-row{grid-template-columns:minmax(54px,auto) minmax(220px,1.4fr) 150px minmax(220px,1fr) 145px auto}
.question-order-controls,.preset-order-controls{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.question-order-controls b{width:100%;margin:0 0 2px}
.question-order-controls button,.preset-order-controls button{border:1px solid #d4dfe5;background:#fff;color:#176ca4;border-radius:5px;padding:5px 7px;cursor:pointer}
.question-order-controls button:disabled,.preset-order-controls button:disabled{opacity:.35;cursor:not-allowed}
.question-flags{display:grid;gap:4px;margin-top:4px}
.question-flags .check{margin:0;font-size:8px;color:#5d7382}
.builder-add-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.required-mark{color:#b84e4e;font-weight:800}
.customer-modal,.preset-modal{max-width:760px}
.preset-reorder-row{grid-template-columns:auto 1.2fr 1fr auto auto}
.preset-reorder-row.inactive-preset{opacity:.62;background:#f6f7f8}
.preset-reorder-row>div strong,.preset-reorder-row>div small{display:block}
.preset-reorder-row>div small{color:#6e8090;margin-top:4px;font-size:9px}
.vehicle-edit-row{margin:8px 0}
.expanded-invoice-meta{grid-template-columns:repeat(3,minmax(160px,1fr))}
.invoice-lines .line-gross{max-width:110px}
.print-preview-modal{max-width:980px;width:min(980px,94vw)}
.print-preview-content{
  background:#f3f7fa;
  border:1px solid #dbe8f0;
  border-radius:18px;
  padding:18px;
  max-height:72vh;
  overflow:auto;
}
.print-document{
  background:#fff;
  color:#173247;
  font:14px Arial,sans-serif;
  margin:auto;
  padding:42px;
  max-width:820px;
  box-shadow:0 18px 50px #1732471f;
}
.print-document header{
  display:flex;
  justify-content:space-between;
  gap:24px;
  border-bottom:5px solid #176ca4;
  padding-bottom:18px;
  margin-bottom:26px;
}
.print-document h1{
  color:#176ca4;
  margin:0;
  font-size:34px;
  letter-spacing:.08em;
}
.print-document h2{
  margin:0;
  color:#173247;
  text-transform:uppercase;
}
.print-parties{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-bottom:18px;
}
.print-document table{
  width:100%;
  border-collapse:collapse;
  margin-top:22px;
}
.print-document th,
.print-document td{
  padding:11px;
  border-bottom:1px solid #dbe8f0;
  text-align:left;
  vertical-align:top;
}
.print-document th{
  background:#f3f7fa;
  color:#176ca4;
  text-transform:uppercase;
  font-size:12px;
}
.print-document .totals{
  margin:25px 0 25px auto;
  width:min(340px,100%);
}
.print-document .totals p{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin:9px 0;
}
.print-document .grand{
  font-size:18px;
  border-top:2px solid #176ca4;
  padding-top:10px;
}
.print-document .balance{color:#176ca4}
.print-notes{
  border:1px solid #dbe8f0;
  border-radius:14px;
  padding:14px;
  background:#f7fbfd;
}
.print-document footer{
  margin-top:28px;
  color:#5d7891;
  font-size:12px;
}
.invoice-preset-toolbar{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;padding:16px 18px;border-bottom:1px solid #e7edf0;background:#f7fbfd}
.invoice-preset-toolbar label{font-size:9px;font-weight:800;color:#5d7382}
.invoice-preset-toolbar select{width:100%;border:1px solid #d4dfe5;border-radius:8px;padding:10px;margin-top:6px;background:#fff}
.invoice-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:16px}
.invoice-preset-card{border:1px solid #dbe4ea;background:#fff;border-radius:14px;padding:14px;box-shadow:0 8px 22px rgba(15,52,78,.06);cursor:pointer;display:grid;gap:11px}
.invoice-preset-card:hover{border-color:#9fcbe2;box-shadow:0 12px 26px rgba(15,52,78,.1)}
.invoice-preset-card.inactive{opacity:.65;background:#f7f8f9}
.invoice-preset-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.invoice-preset-card-head span,.invoice-preset-card-head b,.notes-pill{border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;background:#edf6fb;color:#176ca4}
.invoice-preset-card-head b{background:#e7f2ec;color:#39735f}
.invoice-preset-card.inactive .invoice-preset-card-head b{background:#eceff1;color:#677887}
.invoice-preset-card h3{margin:0;font:700 14px Manrope;color:#173247}
.invoice-preset-values{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.invoice-preset-values span{background:#f5f8fa;border:1px solid #e1e9ee;border-radius:10px;padding:9px}
.invoice-preset-values small,.invoice-preset-values strong{display:block}
.invoice-preset-values small{font-size:8px;color:#6e8090;margin-bottom:4px}
.invoice-preset-values strong{font-size:11px}
.notes-pill{justify-self:start;background:#fff0d6;color:#946923}
.preset-card-notes{border:1px solid #e1e9ee;border-radius:10px;padding:9px;background:#fbfdfe}
.preset-card-notes summary{font-size:9px;font-weight:800;color:#456276;cursor:pointer}
.preset-card-notes p{margin:8px 0 0;color:#5d7382;font-size:10px;line-height:1.45}
.invoice-preset-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.notes-flag{background:#fff0d6;color:#946923}
.field-notes{margin-top:7px;border:1px solid #dbe8f0;border-radius:8px;padding:8px;background:#f8fbfd}
.field-notes summary{cursor:pointer;font-size:9px;color:#456276}
.form-notes-box{border:1px solid #dbe8f0;border-radius:10px;padding:10px;background:#f8fbfd;margin:8px 0 15px}
.form-notes-box summary{cursor:pointer;font-size:10px;font-weight:800;color:#456276}
.form-notes-box label{margin:10px 0 0}
.postcode-lookup-box{border:1px solid #dbe8f0;border-radius:12px;background:#f8fbfd;padding:12px;margin:0 0 13px}
.postcode-lookup-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:11px}
.postcode-lookup-actions span{font-size:9px;color:#6e8090}
.postcode-lookup-actions span.success{color:#39735f;font-weight:800}
.postcode-lookup-actions span.warn{color:#946923;font-weight:800}
.postcode-lookup-box .form-notes-box{margin-bottom:0;background:#fff}
.booking-address-box{border:1px solid #dbe8f0;border-radius:10px;background:#f8fbfd;padding:12px;margin:5px 0 16px}.booking-address-box summary{cursor:pointer;color:#173247;font:800 11px Manrope;margin-bottom:12px}.booking-address-box[open] summary{margin-bottom:12px}.deposit-box{grid-template-columns:minmax(140px,1fr) 110px 145px 145px!important;gap:12px!important;align-items:end!important;background:#edf7fb!important;border-color:#cfe3ed!important;padding:14px!important}.deposit-box input,.deposit-box select{margin:5px 0 0!important}.deposit-amount,.deposit-payment{font-size:8px!important}.deposit-amount input{padding:8px!important}.deposit-paid-toggle{display:flex!important;align-items:center;gap:8px;min-height:35px;padding:9px 10px!important;border:1px solid #b9d7e4;border-radius:7px;background:#fff;color:#173247!important;font-size:10px!important;cursor:pointer}.deposit-paid-toggle input{width:16px!important;height:16px;margin:0!important;accent-color:#176ca4}.deposit-paid-toggle span{font-weight:800}.booking-save-status{margin:14px 0 0;color:#a64f46;font-size:10px;font-weight:800}@media(max-width:760px){.deposit-box{grid-template-columns:1fr 1fr!important}.deposit-box>div{grid-column:1/-1}.deposit-paid-toggle{min-height:42px}}
@media(max-width:850px){
  .advanced-question-row,
  .expanded-invoice-meta,
  .workflow-fields,
  .workflow-question-row,
  .preset-reorder-row,
  .print-parties,
  .invoice-preset-toolbar,
  .invoice-preset-values{grid-template-columns:1fr}
  .advanced-question-row b{margin-top:0}
}
