.service-photo-field>small{font-size:11px;color:var(--muted);font-weight:500}
.service-photo-field input[type=file]{border:1px dashed #aeb9b0;background:#f8faf7}
.service-photo-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.service-photo-preview figure{margin:0;position:relative;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#eef1ed;border:1px solid var(--line)}
.service-photo-preview img{width:100%;height:100%;object-fit:cover}
.service-print-sheet{display:none}
.service-preview-modal{width:min(96vw,1400px);max-width:none;height:min(94vh,960px);padding:0;border:0;border-radius:16px;overflow:hidden;background:#e9ece9}
.service-preview-modal::backdrop{background:rgba(18,29,25,.72)}
.service-preview-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid var(--line)}
.service-preview-head h2{margin:2px 0 0;font-size:20px}.service-preview-head .eyebrow{margin:0}
.service-preview-canvas{height:calc(100% - 140px);overflow:auto;padding:24px;background:#dfe3df}
#service-preview-content{width:min(100%,1120px);min-width:900px;margin:auto;background:#fff;box-shadow:0 10px 35px rgba(22,35,30,.2)}
#service-preview-content .print-os-hero{position:static;height:auto;padding:0;border:0;backdrop-filter:none}
.service-preview-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;background:#fff;border-top:1px solid var(--line)}
.service-preview-actions button{min-width:130px}
.print-os{font-family:Arial,sans-serif;color:#111;background:#fff;padding:16px}
.print-os-header{display:grid;grid-template-columns:220px 1fr;gap:12px}
.print-brand{background:#111;color:#fff;border-radius:8px;padding:14px;display:flex;align-items:center;gap:12px}
.print-brand img{width:82px}
.print-brand b{font-size:22px;line-height:1}
.print-details{border:2px solid #111;border-radius:8px;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.print-details div{border-bottom:1px solid #777;padding:4px}
.print-details span,.print-block h3{font-size:10px;text-transform:uppercase;font-weight:800}
.print-block{margin-top:10px;border:2px solid #111;border-radius:8px;overflow:hidden}
.print-block h3{background:#111;color:#fff;text-align:center;margin:0;padding:6px;font-size:15px}
.print-block p{padding:10px;margin:0;white-space:pre-wrap;line-height:1.5}
.print-materials{list-style:none;margin:0;padding:8px 12px}
.print-materials li{display:grid;grid-template-columns:24px auto 1fr auto;gap:6px;align-items:center;padding:6px 0;border-bottom:1px solid #ccc}
.print-materials li:last-child{border-bottom:0}
.print-materials small{font-size:10px;text-transform:uppercase}
.print-check{font-size:18px}
.print-photo{padding:12px;display:flex;justify-content:center}
.print-photo img{max-width:100%;max-height:500px;object-fit:contain}
.print-signatures{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:35px}
.print-signatures div{border-top:1px solid #111;text-align:center;padding-top:5px;font-size:11px}
@media print{body.printing-service>*:not(.service-print-sheet){display:none!important}body.printing-service .service-print-sheet{display:block!important}.print-os{padding:0}@page{size:A4 landscape;margin:10mm}}
@media(max-width:580px){.service-photo-preview{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.service-preview-modal{width:100vw;height:100vh;border-radius:0}.service-preview-canvas{padding:12px;overflow:auto}#service-preview-content{transform-origin:top left}}

/* Modelo profissional da OS — A4 paisagem */
.print-os{font-family:Arial,Helvetica,sans-serif;color:#121715;background:#fff;padding:0;font-size:11px;min-height:190mm;display:flex;flex-direction:column;box-sizing:border-box}
.print-os-hero{display:flex;align-items:stretch;justify-content:space-between;background:#182923;color:#fff;border-radius:10px 10px 0 0;overflow:hidden;min-height:72px}
.print-os-brand{display:flex;align-items:center;gap:18px;padding:10px 22px}.print-os-brand img{width:145px;height:58px;object-fit:contain}.print-os-brand div{border-left:1px solid rgba(255,255,255,.35);padding-left:18px}.print-os-brand strong{font-size:24px;display:block;letter-spacing:.04em}.print-os-brand small{display:block;color:#b8ccc5;text-transform:uppercase;letter-spacing:.13em;margin-top:4px}
.print-os-number{min-width:190px;background:#55ff00;color:#17211e;display:flex;flex-direction:column;justify-content:center;padding:12px 24px}.print-os-number small{text-transform:uppercase;font-weight:800;letter-spacing:.08em}.print-os-number b{font-size:27px;margin-top:3px}
.print-os-summary{display:grid;grid-template-columns:2.1fr repeat(5,1fr);border:2px solid #182923;border-top:0}.print-os-summary div{padding:9px 11px;border-right:1px solid #aab4b0;min-width:0}.print-os-summary div:last-child{border:0}.print-os-summary small,.print-client-grid small{display:block;text-transform:uppercase;font-size:8px;font-weight:800;color:#64706c;letter-spacing:.05em;margin-bottom:3px}.print-os-summary strong{font-size:11px;line-height:1.25}
.print-section-title{background:#182923;color:#fff;font-size:10px;font-weight:900;letter-spacing:.12em;padding:6px 10px}.print-os-client{border:2px solid #182923;border-top:0}.print-client-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 2fr .8fr .9fr}.print-client-grid>div{padding:7px 9px;border-right:1px solid #bdc5c2;min-width:0}.print-client-grid>div:last-child{border:0}.print-client-grid b,.print-client-grid span{display:block;line-height:1.25}.print-client-grid span{color:#64706c;font-size:9px}.print-client-address{min-width:0}
.print-os-main{display:grid;grid-template-columns:minmax(0,25fr) minmax(0,75fr);gap:8px;margin-top:8px;min-height:355px}.print-os-materials,.print-os-layout{border:2px solid #182923;overflow:hidden}.print-os-materials table{width:100%;min-width:0;border-collapse:collapse}.print-os-materials th,.print-os-materials td{padding:7px 8px;border-bottom:1px solid #c9cfcc;text-align:left;font-size:9px}.print-os-materials th{background:#eef2ef;color:#48534f;text-transform:uppercase;font-size:8px}.print-os-materials td small{display:block;color:#6b7571;margin-top:2px}.print-material-check{width:25px;text-align:center!important;font-size:17px!important;font-weight:900;color:#27800b}.print-material-status{display:inline-block;padding:3px 5px;border-radius:3px;font-size:7px;font-weight:900}.print-material-status.done{background:#dff7d6;color:#266b15}.print-material-status.pending{background:#fff0cc;color:#7b5510}.print-empty{text-align:center!important;color:#6b7571;padding:30px!important}
.print-os-layout{display:flex;flex-direction:column}.print-layout-image{flex:1;display:flex;align-items:center;justify-content:center;padding:8px;background:#fff}.print-layout-image img{width:100%;height:100%;max-height:330px;object-fit:contain}.print-layout-image span{color:#6b7571}
.print-os-notes{border:2px solid #182923;margin-top:8px;min-height:70px}.print-os-notes p{margin:0;padding:9px 11px;white-space:pre-wrap;line-height:1.4}
.print-os-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:auto;padding:4mm 0 1mm}.print-os-footer>div{border-top:1px solid #182923;text-align:center;padding-top:2mm;font-size:9px}
@media print{body.printing-service .service-print-sheet{width:100%}.print-os{break-inside:avoid}.print-os-main{min-height:330px}@page{size:A4 landscape;margin:7mm}}

/* Geometria física v1.8.4: 18 + 15 + 19 + 2 + 96 + 2 + 30 + 8 + 6 = 196mm (bordas incluídas) */
.service-preflight{display:block!important;position:fixed;left:-20000px;top:0;width:283mm!important;visibility:hidden;pointer-events:none}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os{width:283mm;max-width:283mm;height:196mm;min-height:196mm;padding:0;margin:0;display:flex;flex-direction:column;box-sizing:border-box;gap:0}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os *{box-sizing:border-box;min-width:0}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os> *{flex-shrink:0;overflow:hidden}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-hero{height:18mm;min-height:18mm}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-brand{padding:1mm 4mm}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-number{padding:1mm 4mm}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-summary{height:15mm;grid-template-rows:minmax(0,1fr)}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-summary>div{padding:1mm 2mm;overflow:hidden;overflow-wrap:anywhere}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-client{height:19mm;display:flex;flex-direction:column}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-section-title{height:5mm;min-height:5mm;flex:none;padding:1mm 2mm;line-height:3mm}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-client-grid{flex:1;min-height:0;grid-template-columns:1.4fr 1.2fr .9fr 1.1fr 2.8fr .8fr 1fr;grid-template-rows:minmax(0,1fr)}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-client-grid>div{padding:1mm 1.5mm;overflow:hidden;overflow-wrap:anywhere}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-main{height:96mm;min-height:96mm;margin-top:2mm;grid-template-columns:minmax(0,30fr) minmax(0,70fr);grid-template-rows:minmax(0,1fr);align-items:stretch}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-materials{overflow:hidden}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-materials th,:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-materials td{padding:3px 6px}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-layout-image{min-height:0;overflow:hidden}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-layout-image img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-notes{height:30mm;min-height:30mm;margin-top:2mm;display:flex;flex-direction:column}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-notes p{flex:1;min-height:0;padding:1.5mm 2mm;overflow:hidden;overflow-wrap:anywhere}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-footer{height:6mm;margin-top:8mm;padding:0 0 1mm}
:is(.service-preflight,body.printing-service .service-print-sheet) .print-os-footer>div{padding-top:2mm;overflow:hidden}
@media print{
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  body.printing-service .service-print-sheet{display:block!important;page:service;width:283mm!important;margin:0!important;padding:0!important;background:#fff!important;box-sizing:border-box!important}
  body.printing-service .print-os,body.printing-service .print-os *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;break-inside:avoid;page-break-inside:avoid}
  @page{size:A4 landscape;margin:7mm}
}
.print-os{page:service;width:100%}
@page service{size:A4 landscape;margin:7mm}
.service-photo-preview button{position:absolute;right:5px;bottom:5px;background:#fff}
