/* GP Manual Quote Portal - clean modern layout */
.gp-mqp-wrap{max-width:1100px;margin:0 auto;padding:20px}
.gp-mqp-card{background:#fff;border:1px solid #e7e7ee;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.08);padding:18px}
.gp-mqp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.gp-mqp-head h2{margin:0;font-size:22px;line-height:1.2}
.gp-mqp-head p{margin:6px 0 0;color:#6b7280}
.gp-mqp-badge{font-size:12px;background:#f3f4f6;border:1px solid #e5e7eb;color:#111827;padding:6px 10px;border-radius:999px;white-space:nowrap}

.gp-stepper{margin:14px 0 18px}
.gp-steps{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.gp-step{display:flex;align-items:center;gap:10px;color:#9ca3af;font-weight:800;font-size:13px}
.gp-step.is-active{color:#f97316}
.gp-num{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}
.gp-step.is-active .gp-num{background:#fff7ed;border-color:#fed7aa;color:#f97316}
.gp-progress{height:6px;background:#f3f4f6;border-radius:999px;margin-top:10px;overflow:hidden;border:1px solid #eceef3}
.gp-progress-fill{display:block;height:100%;width:0%;background:linear-gradient(90deg,#f97316,#fb923c);border-radius:999px;transition:width .25s ease}

.gp-hidden{display:none!important}
.gp-alert{border-radius:12px;padding:12px 14px;margin:12px 0;border:1px solid}
.gp-alert-ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.gp-alert-bad{background:#fff7ed;border-color:#fed7aa;color:#9a3412}

.gp-block{background:#f7f8fb;border:1px solid #eceef3;border-radius:12px;margin-top:14px}
.gp-block-title{padding:14px 16px 0;font-size:18px;font-weight:900;color:#111827}
.gp-block-body{padding:12px 16px 16px}
.gp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gp-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:900px){.gp-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.gp-grid-2,.gp-grid-3{grid-template-columns:1fr}}

.gp-fieldbox{background:#fff;border:1px solid #e7e7ee;border-radius:10px;padding:12px}
.gp-label{display:block;font-size:12px;color:#111827;margin:0 0 6px;font-weight:900}
.gp-input{width:100%;padding:12px 12px;border:1px solid #d1d5db;border-radius:10px;font-size:14px;outline:none;background:#fff;box-sizing:border-box}
.gp-input:focus{border-color:#fb923c;box-shadow:0 0 0 3px rgba(251,146,60,.18)}
.gp-req{color:#ef4444;font-weight:900}
.gp-inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:10px;color:#374151}
.gp-mini{font-size:12px;font-weight:900;color:#4b5563}
.gp-checkline{display:flex;align-items:center;gap:8px;font-weight:700;color:#111827}
.gp-subtitle{margin:12px 0 8px;font-size:12px;color:#4b5563;font-weight:900}
.gp-checkgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gp-checkcard{border:1px solid #e7e7ee;border-radius:12px;padding:12px;background:#fff;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}
.gp-checktitle{font-weight:900;color:#111827}
.gp-mt{margin-top:12px}

.gp-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:980px){.gp-service-grid{grid-template-columns:1fr}}
.gp-service-card{display:flex;gap:10px;border:1px solid #d1d5db;border-radius:12px;padding:14px;cursor:pointer;background:#fff;align-items:flex-start}
.gp-service-card input{margin-top:3px}
.gp-service-title{font-weight:900;color:#111827}
.gp-service-desc{font-size:12px;color:#6b7280;margin-top:4px;line-height:1.35}
.gp-service-card.is-selected{border-color:#fb923c;box-shadow:0 0 0 3px rgba(251,146,60,.16)}

.gp-extras-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:980px){.gp-extras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.gp-extras-grid{grid-template-columns:1fr}}
.gp-extra{border:1px solid #e7e7ee;border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:12px;cursor:pointer}
.gp-extra-title{font-weight:900;color:#111827}
.gp-extra-check{display:flex}
.gp-extra input{transform:scale(1.05)}

.gp-actions{margin-top:16px;display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.gp-actions-split{justify-content:space-between}
.gp-btn{border:none;border-radius:999px;padding:12px 18px;font-size:14px;cursor:pointer;font-weight:900}
.gp-btn-primary{background:linear-gradient(90deg,#f97316,#fb923c);color:#fff}
.gp-btn-primary:hover{opacity:.92}
.gp-btn-ghost{background:#fff;border:1px solid #e5e7eb;color:#111827}

.gp-status-ok{font-weight:900;font-size:18px;margin-bottom:10px}
.gp-status-line{margin:6px 0;color:#111827}
.gp-small{margin-top:10px;color:#6b7280;font-size:12px}

.gp-quote-title{font-weight:900;font-size:18px;margin-bottom:12px}
.gp-quote-box{border:1px solid #fed7aa;background:#fff7ed;border-radius:12px;padding:14px}
.gp-quote-box .row{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed #fed7aa}
.gp-quote-box .row:last-child{border-bottom:none}
.gp-paybar{border:1px solid #eceef3;background:#f7f8fb;border-radius:12px;padding:14px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}
@media(max-width:760px){.gp-paybar{flex-direction:column;align-items:stretch}}
.gp-pay-label{font-size:12px;color:#6b7280;font-weight:900}
.gp-pay-total{font-size:20px;font-weight:900;color:#111827;margin-top:2px}
.gp-pay-small{font-size:12px;color:#6b7280;margin-top:6px}

.gp-footer{margin-top:16px;padding-top:12px;border-top:1px solid #eceef3}
.gp-note{font-size:12px;color:#6b7280}

/* Smaller dimension inputs on one line */
.gp-dim-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.gp-input-sm{padding:8px 8px;font-size:12px}

/* Booking suburb/state/postcode sub-grid */
.gp-subgrid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:760px){
  .gp-dim-row,.gp-subgrid-3{grid-template-columns:1fr}
}


/* Suburb + Postcode side-by-side inputs */
.gp-suburb-postcode{
  display:flex;
  gap:10px;
}
.gp-suburb-postcode .gp-place-suburb{flex:1 1 auto;}
.gp-suburb-postcode .gp-postcode{width:140px; flex:0 0 140px;}
@media(max-width:520px){
  .gp-suburb-postcode{flex-direction:column;}
  .gp-suburb-postcode .gp-postcode{width:100%; flex:1 1 auto;}
}


.gp-help{font-size:12px;color:#6b7280;margin:0 0 10px;line-height:1.4}
.gp-file{width:100%;padding:10px;border:1px dashed #d1d5db;border-radius:10px;background:#fff}

.gp-row-multi span{line-height:1.3}


/* v1.2.0 goods enhancements */
.gp-dg-row{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.gp-dg-fields{display:flex;gap:12px;flex-wrap:wrap}
.gp-dg-field{min-width:180px}
.gp-subsection{border:1px solid #e5e5e5;border-radius:12px;padding:12px;margin-top:12px;background:#fff}
.gp-subsection-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gp-pill{display:inline-block;padding:6px 10px;border-radius:999px;background:#f3f4f6;font-size:12px;font-weight:700;line-height:1}
.gp-items-wrap{overflow:auto;border:1px solid #e5e5e5;border-radius:12px}
.gp-items-table{width:100%;border-collapse:collapse;min-width:640px}
.gp-items-table th,.gp-items-table td{padding:8px;border-bottom:1px solid #e5e5e5;text-align:left;font-size:13px;white-space:nowrap}
.gp-items-table th{background:#f8fafc;font-weight:700}
.gp-items-table tr:last-child td{border-bottom:none}
.gp-input-sm{padding:10px 10px;font-size:13px;border-radius:10px}
.gp-mt{margin-top:10px}


/* Quote lookup box */
.gp-lookup{border:1px solid #eceef3;background:#f7f8fb;border-radius:12px;padding:14px;margin:12px 0 16px}
.gp-lookup-title{font-weight:900;color:#111827;margin-bottom:10px}
.gp-lookup-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gp-lookup-form .gp-input{flex:1;min-width:220px}
#gp_quote_lookup_btn{white-space:nowrap}
#gp_quote_lookup_error{color:#b91c1c;margin-top:8px}
