:root{--ink:#17231d;--muted:#66736c;--paper:#f4f2ec;--white:#fff;--line:#d8ddd8;--green:#165c3b;--lime:#c9f04c;--amber:#efa82c;--red:#c54335;--shadow:0 12px 35px rgba(21,39,29,.08)}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:#102a1f;color:white;border-bottom:1px solid rgba(255,255,255,.12);position:sticky;top:0;z-index:10}.brand{display:flex;gap:11px;align-items:center;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lime);color:#143322;font:bold 22px Georgia}.brand strong,.brand small{display:block;letter-spacing:.13em}.brand small{font-size:9px;opacity:.7;margin-top:2px}.top-actions{display:flex;align-items:center;gap:18px}.save-state{font-size:12px;color:#c9d7ce}.save-state i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);margin-right:7px}.icon-btn{border:1px solid rgba(255,255,255,.3);background:transparent;color:white;border-radius:50%;width:38px;height:38px;font-size:22px;cursor:pointer}.shell{max-width:1240px;margin:auto;padding:48px 24px 80px}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.18em;color:var(--green)}h1{font:600 clamp(38px,5vw,67px)/.98 Georgia,serif;letter-spacing:-.035em;margin:12px 0 16px}h1 em{font-weight:400;color:var(--green)}.hero p{color:var(--muted);font-size:16px;max-width:610px}.hero-stat{border-left:1px solid #bec8c0;padding-left:28px;display:flex;align-items:center;gap:13px}.hero-stat span{font:600 55px/1 Georgia;color:var(--green)}.hero-stat small{font-size:9px;line-height:1.4;font-weight:800;letter-spacing:.12em;color:var(--muted)}.card{background:rgba(255,255,255,.86);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.vehicle-card,.observations-card{padding:28px 30px;margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-heading>div{display:flex;align-items:center;gap:12px}.section-heading h2{font:600 25px Georgia;margin:0}.step{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e1ebdf;color:var(--green);font-size:10px;font-weight:800}.required-note,.hint{font-size:11px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:7px}.field span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#506057}.field input,.field select,.field textarea{width:100%;border:1px solid #cdd5cf;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px;font:14px inherit;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(22,92,59,.1)}.field textarea{resize:vertical}.field-wide{grid-column:span 2}.plate-field input{text-transform:uppercase;font-weight:800;letter-spacing:.12em}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:20px;margin-bottom:20px;align-items:start}.map-card{padding:28px 30px;min-height:550px}.editor-card{padding:28px;position:sticky;top:96px;min-height:425px}.legend{display:flex;gap:20px;padding:10px 14px;background:#f4f6f2;border-radius:8px;font-size:10px;color:var(--muted);margin-bottom:24px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.dot.ok{background:var(--green)}.dot.pending{background:#c5cec7}.dot.alert{background:var(--amber)}.vehicle-map{max-width:620px;margin:0 auto;padding:12px 15px 22px;position:relative}.vehicle-nose{width:86px;height:32px;background:#dfe6df;border:2px solid #26352d;border-radius:14px 14px 3px 3px;margin:0 auto 4px;position:relative}.vehicle-nose:after{content:"FRENTE";position:absolute;font-size:8px;font-weight:900;letter-spacing:.18em;top:-16px;width:100%;text-align:center;color:#728078}.chassis{position:absolute;width:10px;top:54px;bottom:42px;left:calc(50% - 5px);background:#24352c;border-radius:6px;z-index:0}.axle-row{position:relative;display:grid;grid-template-columns:1fr 66px 1fr;align-items:center;min-height:102px;z-index:1}.axle-line{height:8px;background:#26352d;grid-column:1/4;grid-row:1;z-index:0}.axle-label{grid-column:2;grid-row:1;background:#fff;border:1px solid #d5ddd7;text-align:center;padding:7px 3px;border-radius:20px;font-size:9px;font-weight:800;z-index:2}.tire-side{grid-row:1;display:flex;gap:7px;z-index:2}.tire-side.left{grid-column:1;justify-self:start}.tire-side.right{grid-column:3;justify-self:end}.tire{width:52px;height:78px;border:0;border-radius:14px;background:#e6eae6;color:#536159;box-shadow:inset 0 0 0 2px #bcc6bf;cursor:pointer;position:relative;font-size:9px;font-weight:900;transition:.2s}.tire:before{content:"";position:absolute;inset:7px 5px;border-left:2px dashed rgba(0,0,0,.15);border-right:2px dashed rgba(0,0,0,.15);border-radius:8px}.tire:hover,.tire.selected{transform:translateY(-3px);box-shadow:0 7px 14px rgba(22,49,34,.18),inset 0 0 0 3px var(--green)}.tire.filled{background:#cfe7d7;color:#17462f;box-shadow:inset 0 0 0 2px #4e8f6c}.tire.attention{background:#fae2a8;color:#6e4b08;box-shadow:inset 0 0 0 2px #e5a52c}.tire.replace{background:#f2c1bb;color:#80281e;box-shadow:inset 0 0 0 2px #c84c3e}.tire small{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;max-width:46px;overflow:hidden;text-overflow:ellipsis}.spares{border-top:1px dashed #cbd3cd;padding-top:18px;margin-top:10px;display:flex;justify-content:center;gap:12px;position:relative;z-index:2}.spares:before{content:"ESTEPES";position:absolute;top:-8px;background:white;padding:0 8px;font-size:9px;font-weight:800;color:#728078}.spares .tire{height:66px}.custom-tools{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.text-btn{background:none;border:0;color:var(--green);font-weight:800;font-size:12px;cursor:pointer}.text-btn.danger{color:var(--red)}.editor-empty{text-align:center;padding:66px 10px}.empty-icon{font:42px Georgia;color:#90a198}.editor-empty h3{font:600 23px Georgia;margin:14px 0 8px}.editor-empty p{color:var(--muted);font-size:13px}.editor-title{display:flex;justify-content:space-between;align-items:center;margin:8px 0 24px}.editor-title h3{font:600 23px Georgia;margin:0}.editor-title span{padding:6px 9px;border-radius:15px;background:#e1ebdf;color:var(--green);font-size:10px;font-weight:900}.editor-content>.field,.editor-content>.two-cols{margin-bottom:16px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}button{font-family:inherit}.primary,.secondary{border-radius:9px;padding:12px 18px;font-size:12px;font-weight:800;cursor:pointer;transition:.2s}.primary{background:var(--green);border:1px solid var(--green);color:white}.primary:hover{background:#0f482e}.secondary{background:white;border:1px solid #bdc9c0;color:var(--ink)}.secondary:hover{border-color:var(--green)}.full{width:100%}.completion{display:flex;align-items:center;gap:26px;margin-top:20px}.completion>div:first-child{min-width:210px}.completion strong,.completion span{display:block}.completion strong{font-size:13px}.completion span{font-size:10px;color:var(--muted);margin-top:3px}.progress{height:8px;border-radius:8px;background:#e0e5e1;flex:1;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--lime);transition:.3s}.action-bar{display:flex;justify-content:space-between;padding:12px 0 46px}.action-bar>div{display:flex;gap:10px}.history-section{border-top:1px solid #cdd5cf;padding-top:34px}.history-head{display:flex;justify-content:space-between;align-items:end}.history-head h2{font:600 28px Georgia;margin:6px 0 0}.history-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.history-item{background:white;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;justify-content:space-between;gap:10px}.history-item strong,.history-item span{display:block}.history-item strong{font-size:15px}.history-item span{font-size:11px;color:var(--muted);margin-top:5px}.history-actions{display:flex;align-items:start;gap:5px}.history-actions button{border:0;background:#f0f3f0;border-radius:6px;padding:6px 8px;cursor:pointer}.empty-history{grid-column:1/-1;color:var(--muted);font-size:13px;padding:20px 0}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#13271e;color:#fff;padding:12px 18px;border-radius:8px;font-size:12px;opacity:0;pointer-events:none;transition:.25s;z-index:30}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}.workspace{grid-template-columns:1fr}.editor-card{position:static}.history-list{grid-template-columns:1fr 1fr}.hero-stat{display:none}}
@media(max-width:580px){.shell{padding:30px 14px 60px}.topbar{padding:0 15px}.save-state{display:none}.hero{margin-bottom:24px}.hero p{font-size:14px}.vehicle-card,.map-card,.editor-card,.observations-card{padding:21px 17px;border-radius:14px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.section-heading{align-items:flex-start}.required-note,.hint{display:none}.vehicle-map{padding-left:0;padding-right:0}.axle-row{grid-template-columns:1fr 44px 1fr}.tire{width:41px;height:67px}.completion{display:block}.progress{margin-top:12px}.action-bar,.action-bar>div{flex-direction:column}.action-bar{gap:10px}.action-bar button{width:100%}.history-list{grid-template-columns:1fr}.legend{gap:10px;justify-content:center}.two-cols{grid-template-columns:1fr}}
.print-sheet{display:none}
@page{size:A4 landscape;margin:7mm}
@media print{html,body{width:100%;height:auto;background:#fff!important}.topbar,.shell,.toast{display:none!important}.print-sheet{display:block!important;width:100%;color:#17231d;font-family:Arial,sans-serif}.print-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #165c3b;padding-bottom:4mm;margin-bottom:3mm}.print-brand{display:flex;align-items:center;gap:3mm}.print-logo{display:grid;place-items:center;width:11mm;height:11mm;border-radius:50%;background:#c9f04c;font:bold 18px Georgia}.print-brand h1{font:700 17px Arial;margin:0;letter-spacing:.05em}.print-brand p{margin:1mm 0 0;font-size:7px;letter-spacing:.16em;color:#526159}.print-title{text-align:right}.print-title strong{display:block;font-size:16px}.print-title span{font-size:8px;color:#647169}.print-meta{display:grid;grid-template-columns:1fr 1.55fr .8fr 1fr 1fr .7fr;gap:2mm;margin-bottom:3mm}.print-meta div{border:1px solid #cad3cc;border-radius:2mm;padding:2mm 2.5mm;min-height:12mm}.print-meta b{display:block;font-size:6px;text-transform:uppercase;letter-spacing:.09em;color:#66736c;margin-bottom:1mm}.print-meta span{font-size:9px;font-weight:700}.print-summary{display:flex;justify-content:space-between;align-items:center;background:#eaf0e9;border-left:3px solid #165c3b;padding:2mm 3mm;margin-bottom:2.5mm}.print-summary strong{font-size:9px}.print-summary span{font-size:7px;color:#526159}.print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:6.6px}.print-table th{background:#163b2a!important;color:#fff!important;text-transform:uppercase;letter-spacing:.04em;padding:1.5mm 1mm;border:1px solid #163b2a;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-table td{border:1px solid #bdc8c0;padding:1.15mm 1mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:4.5mm}.print-table tr:nth-child(even) td{background:#f3f5f2}.print-table .status-attention{background:#fae2a8!important}.print-table .status-replace{background:#f2c1bb!important}.print-notes{margin-top:2.5mm;border:1px solid #cad3cc;border-radius:2mm;padding:2mm 3mm;min-height:11mm;font-size:7px}.print-notes b{font-size:6px;text-transform:uppercase;letter-spacing:.08em;color:#66736c;margin-right:2mm}.print-foot{display:flex;justify-content:space-between;margin-top:2mm;font-size:6px;color:#6d7971}.print-sign{display:flex;gap:15mm;margin-top:3mm}.print-sign span{display:block;width:55mm;border-top:1px solid #718078;text-align:center;padding-top:1mm;font-size:6px}}
@media print{
  .print-sheet{position:relative;min-height:195mm;padding-bottom:22mm}
  .print-diagram{width:112mm;margin:4mm auto 0;break-inside:avoid}
  .print-diagram-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #9aaba0;padding-bottom:1.5mm;margin-bottom:1.5mm}
  .print-diagram-heading strong{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#163b2a}
  .print-diagram-heading span{font-size:5.5px;font-weight:800;letter-spacing:.12em;color:#66736c}
  .print-rig{width:92mm;margin:auto;position:relative;padding-top:8mm}
  .print-nose{position:absolute;top:0;left:50%;transform:translateX(-50%);width:25mm;height:6mm;border:1.2px solid #25372d;border-radius:3mm 3mm 1mm 1mm;background:#eef2ee}
  .print-chassis{position:absolute;top:6mm;bottom:12mm;left:50%;transform:translateX(-50%);width:1.4mm;background:#25372d;border-radius:1mm}
  .print-axle{position:relative;display:grid;grid-template-columns:1fr 24mm 1fr;align-items:center;min-height:12mm}
  .print-axle>i{grid-column:1/4;grid-row:1;height:1.2mm;background:#25372d;z-index:0}
  .print-axle>em{grid-column:2;grid-row:1;z-index:2;justify-self:center;background:#fff;border:1px solid #cad3cc;border-radius:5mm;padding:1mm 3mm;font:700 5.5px Arial;font-style:normal}
  .print-tire-group{grid-row:1;z-index:2;display:flex;gap:1.1mm}
  .print-tire-group.left{grid-column:1;justify-self:end}
  .print-tire-group.right{grid-column:3;justify-self:start}
  .print-tire{display:flex;flex-direction:column;align-items:center;justify-content:center;width:8mm;height:10.5mm;border:1.1px solid #718078;border-radius:2.5mm;background:#e7ece8;color:#27382f;line-height:1;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .print-tire b{max-width:7mm;overflow:hidden;text-overflow:ellipsis;font-size:4.7px;white-space:nowrap}
  .print-tire small{font-size:3.8px;margin-top:.8mm;color:#647169}
  .print-tire.filled{background:#d8eadf;border-color:#38845b}
  .print-tire.attention{background:#fae2a8;border-color:#d79a26}
  .print-tire.replace{background:#f2c1bb;border-color:#c54335}
  .print-spares{position:relative;display:flex;justify-content:center;align-items:center;gap:2mm;padding-top:4mm;margin-top:1mm;border-top:1px dashed #aebbb2}
  .print-spares label{position:absolute;top:-1.5mm;background:#fff;padding:0 2mm;font-size:4.5px;font-weight:800;letter-spacing:.08em}
  .print-bottom{position:absolute;left:0;right:0;bottom:0}
  .print-sign{justify-content:center;gap:28mm;margin:0 0 3mm}
  .print-sign span{width:72mm;padding-top:1.5mm;font-size:6px}
  .print-foot{margin:0}
  .print-dense .print-table{font-size:5.4px}
  .print-dense .print-table th{padding:.8mm .6mm}
  .print-dense .print-table td{height:2.7mm;padding:.35mm .6mm}
  .print-dense .print-notes{min-height:7mm;margin-top:1.5mm;padding:1.2mm 2mm}
  .print-dense .print-diagram{transform:scale(.72);transform-origin:top center;margin-top:2mm;margin-bottom:-20mm}
}
@media print{
  .print-sheet{height:195mm;min-height:0;overflow:hidden}
  .print-table th{padding:1mm .8mm}
  .print-table td{height:3.7mm;padding:.7mm .8mm}
  .print-notes{min-height:8mm;margin-top:1.8mm;padding:1.5mm 2.5mm}
  .print-diagram{position:absolute;left:50%;bottom:24mm;transform:translateX(-50%);margin:0}
  .print-dense .print-diagram{position:absolute;left:50%;bottom:21mm;transform:translateX(-50%) scale(.65);transform-origin:bottom center;margin:0}
}
