.flab-ma-quote .flab-ma-tool-hero { background:#07111f; border-bottom:1px solid #0f8b8d; color:#fff; padding:54px 0 48px; }
.flab-ma-quote .flab-ma-tool-hero h1 { color:#fff; font-size:clamp(38px,5vw,64px); line-height:1.05; margin:0 0 14px; }
.flab-ma-quote .flab-ma-tool-hero p:last-child { color:#dbeafe; font-size:19px; max-width:800px; }
.flab-ma-quote-layout { align-items:start; display:grid; gap:24px; grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr); padding-bottom:64px; padding-top:28px; }
.flab-ma-quote-form { display:grid; gap:18px; min-width:0; }
.flab-ma-quote .flab-ma-panel { background:#fff; border:1px solid var(--ma-line); border-radius:8px; padding:22px; }
.flab-ma-quote .flab-ma-panel-head { align-items:center; display:flex; gap:14px; justify-content:space-between; margin-bottom:18px; }
.flab-ma-quote .flab-ma-panel-head>div { align-items:center; display:flex; gap:10px; }
.flab-ma-quote .flab-ma-panel-head h2,.flab-ma-quote .flab-ma-panel-head h3 { font-size:21px; margin:0; }
.flab-ma-quote .flab-ma-step { align-items:center; background:#07111f; border-radius:8px; color:#9cf5d3; display:inline-flex; font-size:12px; font-weight:950; height:34px; justify-content:center; width:34px; }
.flab-ma-fields-two,.flab-ma-fields-three { display:grid; gap:14px; }
.flab-ma-fields-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.flab-ma-fields-three { grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:14px; }
.flab-ma-span-two { grid-column:1/-1; }
.flab-ma-quote .flab-ma-field { display:grid; gap:6px; margin:0; }
.flab-ma-quote .flab-ma-field>span { color:#344054; font-size:13px; font-weight:850; }
.flab-ma-quote input,.flab-ma-quote select,.flab-ma-quote textarea { background:#fff; border:1px solid #cbd5e1; border-radius:7px; color:#101828; font:inherit; min-height:46px; padding:10px 12px; width:100%; }
.flab-ma-quote textarea { resize:vertical; }
.flab-ma-quote input:focus,.flab-ma-quote select:focus,.flab-ma-quote textarea:focus { border-color:#0f8b8d; box-shadow:0 0 0 3px rgba(15,139,141,.12); outline:0; }
.flab-ma-quote small { color:#667085; }
.flab-ma-subhead { border-top:1px solid var(--ma-line); margin-top:20px; padding-top:18px; }
.flab-ma-quote-item { background:#f8fafc; border:1px solid #dbe3ec; border-radius:8px; margin-bottom:12px; padding:14px; }
.flab-ma-item-top { align-items:end; display:grid; gap:10px; grid-template-columns:1fr auto; }
.flab-ma-item-grid { align-items:end; display:grid; gap:10px; grid-template-columns:.65fr 1fr .8fr .75fr 1fr; margin-top:10px; }
.flab-ma-item-move { display:flex; gap:5px; }
.flab-ma-item-move button,.flab-ma-additional>button { background:#fff; border:1px solid #cbd5e1; border-radius:7px; color:#344054; cursor:pointer; font-size:18px; height:42px; width:42px; }
.flab-ma-item-subtotal { display:grid; gap:6px; min-width:0; }
.flab-ma-item-subtotal span { color:#667085; font-size:12px; font-weight:800; }
.flab-ma-item-subtotal strong { font-size:16px; min-height:46px; overflow:hidden; padding:11px 0; text-overflow:ellipsis; white-space:nowrap; }
.flab-ma-additional { align-items:end; display:grid; gap:10px; grid-template-columns:1fr .7fr auto; margin-top:10px; }
.flab-ma-quote-side { min-width:0; position:sticky; top:92px; }
.flab-ma-document { background:#fff; border:1px solid #cbd5e1; box-shadow:0 18px 50px rgba(7,17,31,.12); color:#172033; min-height:680px; padding:34px; }
.flab-ma-document-head { align-items:start; border-bottom:2px solid #0f8b8d; display:flex; gap:20px; justify-content:space-between; padding-bottom:20px; }
.flab-ma-document-head>div:last-child { display:grid; justify-items:end; text-align:right; }
.flab-ma-document-head img { height:54px; margin-bottom:8px; max-width:150px; object-fit:contain; object-position:left center; }
.flab-ma-document-head p { font-size:20px; font-weight:950; margin:0; }
.flab-ma-document-head small { display:block; max-width:250px; white-space:pre-line; }
.flab-ma-document-kicker { color:#0f766e!important; font-size:12px!important; letter-spacing:.08em; }
.flab-ma-document-head span { background:#eefaf7; border-radius:999px; color:#0f766e; font-size:11px; font-weight:900; margin-top:8px; padding:5px 9px; }
.flab-ma-document-meta { display:grid; gap:24px; grid-template-columns:1fr auto; padding:24px 0; }
.flab-ma-document-meta div { display:grid; gap:3px; }
.flab-ma-document-meta span { color:#667085; font-size:11px; font-weight:800; text-transform:uppercase; }
.flab-ma-document-meta p { color:#475467; font-size:12px; margin:2px 0 0; white-space:pre-line; }
.flab-ma-document-items { border-bottom:1px solid #dbe3ec; }
.flab-ma-preview-item { border-top:1px solid #e6ebf0; display:grid; gap:10px; grid-template-columns:1fr auto; padding:13px 0; }
.flab-ma-preview-item:first-child { border-top:0; }
.flab-ma-preview-item p { margin:0; }
.flab-ma-preview-item small { display:block; margin-top:3px; }
.flab-ma-document-totals { margin-left:auto; max-width:300px; padding:18px 0; }
.flab-ma-document-totals p { display:flex; gap:20px; justify-content:space-between; margin:0; padding:5px 0; }
.flab-ma-document-total { border-top:2px solid #07111f; font-size:20px; margin-top:8px!important; padding-top:12px!important; }
.flab-ma-document-total strong { color:#0f766e; }
.flab-ma-document-notes { background:#f8fafc; border-left:3px solid #0f8b8d; margin-top:12px; padding:13px; }
.flab-ma-document-notes p { font-size:12px; margin:5px 0 0; white-space:pre-line; }
.flab-ma-document footer { border-top:1px solid #dbe3ec; color:#667085; font-size:10px; margin-top:24px; padding-top:12px; }
.flab-ma-document footer span { color:#0f766e; font-weight:900; }
.flab-ma-quote-actions { display:grid; gap:8px; grid-template-columns:repeat(2,1fr); margin-top:14px; }
.flab-ma-quote-actions .flab-ma-feedback { grid-column:1/-1; margin:0; min-height:22px; }
.flab-ma-quote-seo { background:#07111f; color:#dbeafe; padding:62px 0; }
.flab-ma-quote-seo h2 { color:#fff; font-size:clamp(30px,4vw,48px); margin:0 0 26px; }
.flab-ma-seo-grid { display:grid; gap:18px; grid-template-columns:repeat(4,1fr); }
.flab-ma-seo-grid article { border-top:2px solid #0f8b8d; padding-top:15px; }
.flab-ma-seo-grid h3 { color:#fff; font-size:18px; }
.flab-ma-seo-grid p { color:#cbd5e1; line-height:1.6; }

@media (max-width:1050px) {
  .flab-ma-quote-layout { grid-template-columns:1fr; }
  .flab-ma-quote-side { position:static; }
  .flab-ma-document { min-height:0; }
  .flab-ma-seo-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
  .flab-ma-quote-layout { padding-left:14px; padding-right:14px; }
  .flab-ma-quote .flab-ma-panel { padding:16px; }
  .flab-ma-fields-two,.flab-ma-fields-three { grid-template-columns:1fr; }
  .flab-ma-span-two { grid-column:auto; }
  .flab-ma-item-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .flab-ma-item-subtotal { grid-column:1/-1; }
  .flab-ma-document { padding:20px 16px; }
  .flab-ma-document-head,.flab-ma-document-meta { grid-template-columns:1fr; }
  .flab-ma-document-head>div:last-child { justify-items:start; text-align:left; }
  .flab-ma-document-meta { display:grid; }
  .flab-ma-quote-actions { grid-template-columns:1fr; }
  .flab-ma-seo-grid { grid-template-columns:1fr; }
}

@media print {
  @page { margin:12mm; size:A4 portrait; }
  body * { visibility:hidden!important; }
  .flab-ma-document,.flab-ma-document * { visibility:visible!important; }
  .flab-ma-document { border:0!important; box-shadow:none!important; left:0; margin:0!important; min-height:auto; padding:0!important; position:absolute; top:0; width:100%; }
  .flab-ma-document footer { page-break-inside:avoid; }
}
