:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20262d;background:#f4f5f7;line-height:1.4}*{box-sizing:border-box}body{margin:0;background:#f4f5f7}button,input,select,textarea{font:inherit}button{cursor:pointer}.tech-app{min-height:100vh}.tech-header{height:68px;background:#b51f2d;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px;box-shadow:0 2px 8px #00000014}.tech-title{font-size:19px;font-weight:900;letter-spacing:.3px}.tech-subtitle{font-size:10px;letter-spacing:1px;opacity:.82;margin-top:2px}.ghost{border:1px solid #ffffff66;background:transparent;color:#fff;border-radius:7px;padding:8px 13px;font-weight:700}.tech-nav{height:50px;background:#fff;border-bottom:1px solid #e2e5e8;display:flex;justify-content:center;gap:4px}.tech-nav button{border:0;background:transparent;padding:0 20px;color:#69727b;font-size:13px;font-weight:800}.tech-nav button.active{color:#b51f2d;border-bottom:3px solid #b51f2d}.tech-main{max-width:980px;margin:auto;padding:22px 18px 42px}.view-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:4px 0 18px}.view-head h1,.panel h1,.os-sheet h1,.equipment-detail h1{margin:0;font-size:25px;line-height:1.1}.view-head p{margin:5px 0 0;color:#707982}.red-btn,.amber-btn,.dark-btn{border:0;color:#fff;border-radius:8px;padding:12px 16px;font-weight:850;min-height:44px}.red-btn{background:#b51f2d}.amber-btn{background:#9a6900}.dark-btn{background:#303840}.red-btn:hover,.amber-btn:hover,.dark-btn:hover{filter:brightness(.96)}.link-btn{border:0;background:transparent;color:#b51f2d;font-weight:850;padding:3px 0}.full-btn{width:100%}.panel,.os-sheet{background:#fff;border:1px solid #e1e4e7;border-radius:12px;box-shadow:0 2px 12px #1c2a3810}.panel{padding:22px}.form-panel{max-width:650px;margin:0 auto}.section-title{display:flex;justify-content:space-between;align-items:flex-start;margin:18px 0 4px}.eyebrow{display:block;color:#8a9299;font-size:10px;font-weight:900;letter-spacing:1px;margin-bottom:4px}.panel form{display:grid;gap:13px;margin-top:18px}.panel label,.login-card label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#343c43}.panel input,.panel select,.login-card input{width:100%;padding:12px;border:1px solid #cfd5da;border-radius:8px;background:#fff;color:#20262d}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inline-preview{min-height:0;border-radius:8px;background:#f7f8f9;padding:10px 12px;color:#59636c}.inline-preview:empty{display:none}.inline-preview span,.inline-preview strong{display:block}.os-list{display:grid;gap:10px}.os-card{width:100%;text-align:left;background:#fff;border:1px solid #dfe3e6;border-radius:11px;padding:15px 16px;box-shadow:0 1px 5px #1c2a380a}.os-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.os-card-top strong{display:block;font-size:17px}.os-card-top span:not(.state){display:block;margin-top:3px;color:#69727b;font-size:13px}.state{display:inline-block;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:900;white-space:nowrap;background:#eef1f3;color:#66707a}.state.em-andamento{background:#e7f4eb;color:#20723a}.state.pausada{background:#fff3d8;color:#8a5a00}.state.aguardando-fechamento{background:#eee9f8;color:#5e4898}.state.encerrada{background:#e5e7e9;color:#454b50}.state.pendente{background:#eef1f3;color:#66707a}.os-card-meta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:14px}.os-card-meta span{background:#f7f8f9;border-radius:7px;padding:9px;color:#444d55;font-size:12px}.os-card-meta small{display:block;color:#8a9299;font-size:9px;font-weight:900;margin-bottom:3px}.os-card-open{margin-top:11px;color:#b51f2d;font-size:12px;font-weight:900}.os-sheet{overflow:hidden}.back-os{margin:18px 20px 0}.os-sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 20px 20px;border-bottom:1px solid #e7e9eb}.os-sheet-head p{margin:5px 0 0;color:#68717a}.os-summary{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #e7e9eb}.os-summary>div{padding:15px 20px;border-right:1px solid #e7e9eb}.os-summary>div:last-child{border-right:0}.os-summary small{display:block;color:#858d94;font-size:9px;font-weight:900;margin-bottom:4px}.os-summary strong{font-size:16px}.os-block{padding:19px 20px;border-bottom:1px solid #e7e9eb}.os-block:last-of-type{border-bottom:0}.os-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.os-field{min-width:0}.os-field.wide{grid-column:1/-1}.os-field small,.equipment-reading small,.equipment-latest small{display:block;color:#858d94;font-size:9px;font-weight:900;letter-spacing:.4px;margin-bottom:4px}.os-field>div{white-space:pre-wrap;color:#29323a}.chips{display:flex;flex-wrap:wrap;gap:6px}.tech-chip{display:inline-flex;background:#f0f2f4;border-radius:999px;padding:5px 9px;font-size:11px}.equipment-card{background:#fbfbfc}.block-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.block-head h2{margin:0;font-size:16px}.block-head>span{color:#7a838c;font-size:11px}.equipment-card h2{margin:0;font-size:19px}.equipment-card p{margin:3px 0 0;color:#6c757d;font-size:12px}.equipment-reading{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:end;margin-top:18px}.equipment-reading>div:first-child{background:#fff;border:1px solid #e1e4e7;border-radius:9px;padding:12px}.equipment-reading>div:first-child strong{display:block;font-size:21px;margin-bottom:2px}.equipment-reading>div:first-child span{display:block;color:#858d94;font-size:10px}.reading-entry{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.reading-entry label{display:grid;gap:5px;font-size:12px;font-weight:800}.reading-entry input,.reading-entry select{padding:11px;border:1px solid #cfd5da;border-radius:8px;background:#fff}.equipment-history-link{margin:14px 0 0!important;color:#737c84}.empty-equipment{display:grid;gap:8px}.period-list{display:grid;gap:7px}.period-row{display:flex;justify-content:space-between;gap:12px;background:#f7f8f9;border-radius:8px;padding:10px 12px;font-size:12px}.actions{display:flex;gap:9px;flex-wrap:wrap;padding:18px 20px}.error{color:#a42626;min-height:20px;margin:6px 0 0;font-size:12px}.inline-action{display:flex;align-items:end;gap:10px;margin-top:8px}.inline-action label{flex:1}.client-list,.equipment-list{display:grid;gap:9px}.client-row,.equipment-row{width:100%;border:1px solid #dfe3e6;background:#fff;border-radius:10px;padding:14px 15px;text-align:left}.client-row div,.equipment-row>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:center}.client-row span,.equipment-row span{color:#6e7780;font-size:12px}.equipment-row-meta{margin-top:9px!important;font-size:11px;color:#6d767f}.equipment-row-meta span:last-child{color:#8a9299}.equipment-detail{max-width:820px;margin:0 auto}.detail-title{margin:18px 0}.detail-title p{margin:4px 0;color:#6e7780}.equipment-latest{display:flex;align-items:center;gap:14px;background:#f7f8f9;border-radius:9px;padding:13px 15px;margin-bottom:16px}.equipment-latest strong{font-size:20px}.equipment-latest span{font-size:11px;color:#7b848c}.equipment-data-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.equipment-data-grid>div{background:#f7f8f9;border-radius:8px;padding:11px}.equipment-data-grid small{display:block;color:#858d94;font-size:9px;font-weight:900;margin-bottom:4px}.history-section{margin-top:22px}.history-list{display:grid;gap:8px}.history-row{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;background:#f7f8f9;border-radius:8px}.history-row div{display:grid;gap:2px}.history-row span{font-size:11px;color:#777f87}.compact{padding:18px}.hint{font-size:11px;color:#7b848c}.login-card{max-width:390px;margin:12vh auto;background:#fff;border:1px solid #e0e4e7;border-radius:13px;padding:30px;box-shadow:0 5px 20px #00000010}.login-brand{font-size:23px;font-weight:900;color:#b51f2d}.login-role{font-size:10px;font-weight:900;letter-spacing:.8px;color:#737c84;margin-top:5px}.login-card form{display:grid;gap:14px;margin-top:22px}.login-card input{width:100%}.empty{background:#fff;border:1px dashed #ccd2d7;border-radius:10px;padding:32px;text-align:center;color:#737c84}.muted{color:#737c84}.equipment-row:hover,.os-card:hover,.client-row:hover{border-color:#c8cdd1;box-shadow:0 2px 9px #1c2a3810}
.attendance-reports{background:#fff}.attendance-report-list{display:grid;gap:12px}.attendance-report-card{border:1px solid var(--border);border-radius:10px;padding:13px;background:#fafbfc}.attendance-report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.attendance-report-head div{display:grid;gap:3px}.attendance-report-head strong{font-size:14px}.attendance-report-head span{font-size:11px;color:#737c84}.report-editor{display:grid;gap:6px;font-size:12px;font-weight:900}.report-editor textarea{width:100%;min-height:150px;padding:13px 14px;font-size:16px;border:1px solid #cfd5da;border-radius:8px;resize:vertical}.report-readonly{border-top:1px solid #e2e5e8;padding-top:9px}.report-readonly small{display:block;color:#858d94;font-size:9px;font-weight:900;margin-bottom:5px}.report-readonly div{white-space:pre-wrap;line-height:1.45;color:#29323a}.immutable-text{background:#f3f5f6;border:1px solid #e0e3e5;border-radius:8px;padding:13px;white-space:pre-wrap;min-height:52px}.os-details-field{display:grid;gap:6px;font-size:13px;font-weight:800;color:#343c43}.os-details-field input{width:100%;padding:12px;border:1px solid #cfd5da;border-radius:8px;background:#fff;color:#20262d;min-height:52px;font-size:16px}.print-attendance-report{border-top:1px solid #d7dadd;padding:8px 0}.print-attendance-report:first-child{border-top:0}.print-attendance-report-head{display:flex;justify-content:space-between;gap:10px;font-size:8.5pt;margin-bottom:4px}.print-attendance-report-head span{font-size:8pt}.print-attendance-report p{margin:0;white-space:pre-wrap;line-height:1.35}
@media(max-width:760px){.tech-header{height:62px;padding:0 14px}.tech-title{font-size:16px}.tech-nav{justify-content:flex-start;overflow:auto}.tech-nav button{padding:0 14px;white-space:nowrap}.tech-main{padding:14px 10px 30px}.view-head{align-items:flex-start}.view-head h1{font-size:22px}.view-head .red-btn{padding:10px 12px}.os-card-meta{grid-template-columns:1.6fr .7fr .9fr}.os-card-meta span{padding:8px 7px;font-size:10px}.os-summary>div{padding:12px 10px}.os-summary small{font-size:8px}.os-summary strong{font-size:14px}.os-data-grid{grid-template-columns:1fr}.os-field.wide{grid-column:auto}.equipment-reading{grid-template-columns:1fr}.reading-entry{grid-template-columns:1fr}.full-mobile{width:100%}.equipment-data-grid{grid-template-columns:1fr}.equipment-latest{align-items:flex-start;flex-wrap:wrap}.history-row{display:grid}.actions{padding:16px 20px}.form-grid{grid-template-columns:1fr}.inline-action{display:grid;align-items:stretch}.panel{padding:17px}.os-sheet-head{padding:12px 16px 17px}.os-block{padding:17px 16px}.back-os{margin-left:16px}.os-card-top{align-items:center}}

/* Reforma do módulo Técnico — ficha operacional única */
.os-form-sheet{max-width:760px}.os-details-form{display:grid;gap:13px}.os-details-form label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#343c43}.os-details-form input,.os-details-form textarea{width:100%;padding:12px;border:1px solid #cfd5da;border-radius:8px;background:#fff;color:#20262d}.os-details-form textarea{min-height:92px;resize:vertical}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.saved-message{font-size:12px;color:#20723a;font-weight:800}.equipment-summary{display:grid;gap:5px}.equipment-summary>strong{font-size:15px}.equipment-summary>span{font-size:11px;color:#707982}.equipment-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:7px}.equipment-summary-grid>div{background:#f7f8f9;border-radius:7px;padding:9px}.equipment-summary-grid small{display:block;color:#858d94;font-size:8px;font-weight:900;letter-spacing:.3px;margin-bottom:3px}.equipment-summary-grid b{font-size:12px;font-weight:750}.equipment-inline-info{margin-bottom:15px}.empty-inline{padding:13px;background:#f7f8f9;border-radius:8px;color:#707982;font-size:12px}.reading-entry button{white-space:nowrap}
@media(max-width:760px){.equipment-summary-grid{grid-template-columns:1fr}.form-actions .red-btn{width:100%}}

/* Correção final Fase 3.2 — dois horímetros e impressão da OS */
.equipment-meters{display:grid;gap:10px;margin-top:15px}.meter-card{background:#fff;border:1px solid #e1e4e7;border-radius:9px;padding:12px}.meter-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:10px}.meter-card-head strong{font-size:13px}.meter-card-head span{font-size:11px;color:#777f87}.meter-card-grid{display:grid;grid-template-columns:1fr 1fr 130px;gap:10px;align-items:end}.meter-card-grid>div{background:#f7f8f9;border-radius:7px;padding:10px}.meter-card-grid small{display:block;color:#858d94;font-size:8px;font-weight:900;letter-spacing:.3px;margin-bottom:4px}.meter-card-grid b{font-size:14px}.meter-card-grid label,.associated-equipment label{display:grid;gap:5px;font-size:11px;font-weight:800}.meter-card-grid input,.associated-equipment select{padding:10px;border:1px solid #cfd5da;border-radius:8px;background:#fff}.associated-equipment{margin-top:10px;max-width:420px}.print-buttons{display:flex;gap:10px;flex-wrap:wrap}.print-buttons button{min-width:190px}
#printSheet{display:none}
@media(max-width:760px){.meter-card-grid{grid-template-columns:1fr}.print-buttons button{width:100%}}
@media print{
  @page{size:A4;margin:12mm}
  body{background:#fff!important}
  body>*:not(#printSheet){display:none!important}
  #printSheet{display:block!important;font-family:Arial,Helvetica,sans-serif;color:#20262d;background:#fff;font-size:11pt}
  #printSheet *{box-sizing:border-box}
  .print-brand{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:2px solid #222;padding-bottom:7px;margin-bottom:12px}.print-brand strong{font-size:16pt}.print-brand span{font-size:8pt;font-weight:700}
  .print-title{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}.print-title h1{font-size:20pt;margin:0}.print-title span{font-size:9pt;font-weight:700}
  .print-block{display:grid;gap:10px;border:1px solid #cfd3d6;padding:9px;margin-bottom:10px;break-inside:avoid}.print-block>div{min-width:0}.print-block small,.print-summary small{display:block;font-size:7.5pt;font-weight:800;color:#5d656c;margin-bottom:3px;letter-spacing:.3px}.print-block strong{font-size:10.5pt}.print-block p{margin:0;white-space:pre-wrap;line-height:1.35}.print-equipment-title{display:grid;gap:2px}.print-equipment-title strong{font-size:11pt}.print-equipment-title span{font-size:8pt;color:#555}.print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:7px}.print-grid>div{background:#f5f5f5;padding:6px}.print-grid small{font-size:7pt}.print-grid b{font-size:9pt}.print-meter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.print-meter{border:1px solid #d7dadd;padding:8px}.print-meter small{display:block}.print-meter strong{font-size:12pt}.print-block table{width:100%;border-collapse:collapse;font-size:8.5pt}.print-block th,.print-block td{border:1px solid #cfd3d6;padding:5px;text-align:left}.print-block th{font-size:7pt}.print-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.print-summary>div{border:1px solid #cfd3d6;padding:9px}.print-summary strong{font-size:12pt}.print-sheet footer{margin-top:14px;padding-top:7px;border-top:1px solid #cfd3d6;font-size:7.5pt;color:#626a70}.print-without-hours .print-block,.print-without-hours .print-title,.print-without-hours .print-brand{break-inside:avoid}
}
.displacement-card{background:#fbfbfc}.displacement-entry{display:grid;grid-template-columns:1.2fr 1fr auto;gap:10px;align-items:end}.displacement-entry label,.displacement-arrival label{display:grid;gap:5px;font-size:12px;font-weight:800}.displacement-entry input,.displacement-entry select,.displacement-arrival input{padding:11px;border:1px solid #cfd5da;border-radius:8px;background:#fff}.displacement-open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.displacement-open>div{background:#f7f8f9;border-radius:8px;padding:11px}.displacement-open small,.subhead{display:block;color:#858d94;font-size:9px;font-weight:900;letter-spacing:.4px;margin-bottom:4px}.displacement-open strong{display:block;font-size:14px}.displacement-arrival{display:grid!important;grid-template-columns:1fr auto;gap:10px;align-items:end;grid-column:1/-1}.displacement-history{margin-top:18px;display:grid;gap:8px}.subhead{padding-bottom:3px}.displacement-row{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;background:#f7f8f9;border-radius:8px}.displacement-row>div{display:flex;gap:10px;flex-wrap:wrap}.displacement-row span{font-size:11px;color:#737c84}@media(max-width:760px){.displacement-entry,.displacement-open{grid-template-columns:1fr}.displacement-arrival{grid-template-columns:1fr}.displacement-entry button{width:100%}.displacement-row{display:grid}}
.sync-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sync-status,.sync-last{font-size:.72rem;color:#666}.sync-status{font-weight:700}.sync-controls button:disabled{opacity:.6;cursor:wait}@media(max-width:900px){.sync-controls{justify-content:flex-start}.sync-last{width:100%}}


/* Finalização PWA — operação em campo / alta luminosidade / toque ampliado */
.tech-header{position:sticky;top:0;z-index:1000;min-height:72px;height:auto;padding:10px 22px;box-shadow:0 3px 12px #0000002b}
.tech-header>div:first-child{flex:0 0 auto}
.sync-controls{min-height:52px;gap:8px;z-index:1001}
.sync-controls .ghost{min-height:48px;padding:10px 14px;font-size:13px;font-weight:900;border-width:2px}
.sync-status{font-size:13px;font-weight:900;color:#fff}
.sync-last{font-size:11px;font-weight:800;color:#fff}
.tech-nav{position:relative;z-index:900}
.tech-nav button{min-height:50px;font-size:14px}
button,.red-btn,.amber-btn,.dark-btn,.ghost{min-height:52px}
input,select,textarea{min-height:52px;font-size:16px}
.panel input,.panel select,.login-card input,.os-details-form input,.os-details-form textarea,.meter-card-grid input,.associated-equipment select,.displacement-entry input,.displacement-entry select,.displacement-arrival input,.reading-entry input,.reading-entry select{min-height:52px;padding:13px 14px;font-size:16px}
.os-details-form textarea{min-height:120px}
.panel label,.login-card label,.os-details-form label,.reading-entry label,.displacement-entry label,.displacement-arrival label,.meter-card-grid label,.associated-equipment label{font-size:14px;font-weight:900;color:#20262d}
.os-field small,.equipment-reading small,.equipment-latest small,.equipment-data-grid small,.equipment-summary-grid small,.meter-card-grid small,.displacement-open small,.subhead,.os-summary small,.os-card-meta small{color:#454d55;font-weight:950;font-size:10px}
.os-field>div,.os-card-top span:not(.state),.view-head p,.equipment-latest span,.equipment-summary>span,.history-row span,.hint,.muted,.sync-last{color:#454d55}
.os-card,.client-row,.equipment-row{min-height:56px;padding:17px 16px}
.actions{gap:12px}
.actions button,.form-actions button,.print-buttons button,.full-mobile{min-height:56px;font-size:15px;font-weight:950}
.os-card-open{font-size:14px}
.os-card-top strong{font-size:18px}
.os-card-meta span{font-size:13px}
.os-summary strong{font-size:18px}
.os-block{font-size:15px}
.tech-chip{min-height:40px;align-items:center;padding:8px 12px;font-size:13px;font-weight:800}
.displacement-entry select,.associated-equipment select{min-height:56px}
.displacement-entry button,.displacement-arrival button{min-height:56px}
.meter-card-grid>div{min-height:56px}
.meter-card-grid b{font-size:16px}
.equipment-latest strong{font-size:22px}
@media(max-width:760px){
  .tech-header{min-height:112px;padding:9px 12px;align-items:center;gap:8px;flex-wrap:wrap}
  .tech-header>div:first-child{width:100%}
  .sync-controls{width:100%;justify-content:flex-start;min-height:48px;overflow:visible}
  .sync-controls .ghost{min-height:50px;padding:9px 12px}
  #forceSync{flex:1 1 180px}
  #syncStatus{flex:0 0 auto}
  #lastSync{display:none}
  #logout{flex:0 0 auto}
  .tech-nav{height:56px}
  .tech-nav button{min-height:56px;padding:0 16px}
  .tech-main{padding:16px 10px 42px}
  .panel{padding:18px 15px}
  .view-head .red-btn{min-height:54px}
}

/* KM de deslocamento — campo de alta visibilidade para uso em campo */
#departureKm,#arrivalKm{
  min-height:56px;
  height:56px;
  padding:12px 14px;
  font-size:20px;
  line-height:1.2;
  font-weight:900;
  color:#111820;
  background:#fff;
  border:2px solid #20262d;
  border-radius:9px;
  box-sizing:border-box;
}
#departureKm:focus,#arrivalKm:focus{
  outline:3px solid #111820;
  outline-offset:2px;
  border-color:#111820;
}
@media(max-width:760px){
  #departureKm,#arrivalKm{min-height:60px;height:60px;font-size:20px;}
}

/* Ajuste de identidade visual e usabilidade — deslocamento / campo */
:root{--brand-red:#b51f2d;--brand-red-dark:#951824;--text:#20262d;--muted:#6b7280;--border:#e5e7eb;--surface:#fff}
body,button,input,select,textarea{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tech-header{background:var(--brand-red);color:#fff}
.tech-title,.view-head h1,.panel h1,.os-sheet h1,.equipment-detail h1,.block-head h2{font-weight:700}
.eyebrow,.os-field small,.equipment-reading small,.equipment-latest small,.equipment-data-grid small,.equipment-summary-grid small,.meter-card-grid small,.displacement-open small,.subhead,.os-summary small,.os-card-meta small{color:#4b5563;font-weight:700}
.panel,.os-sheet,.os-block,.displacement-card{border-color:var(--border);background:var(--surface)}
.red-btn{background:var(--brand-red);border-radius:8px;box-shadow:0 2px 6px #00000018;transition:filter .15s,transform .05s,box-shadow .15s}
.red-btn:hover{background:var(--brand-red-dark);filter:none;box-shadow:0 3px 9px #00000020}
.red-btn:active{transform:translateY(1px);box-shadow:0 1px 3px #00000018}
.ghost{border:1px solid var(--brand-red);background:#fff;color:var(--brand-red);border-radius:8px}
.tech-header .ghost{border-color:#ffffffaa;background:transparent;color:#fff}
.tech-header .ghost:hover{background:#ffffff18}
.sync-status{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#eef7f0;color:#245c35!important;font-size:12px;font-weight:700}
.sync-last{color:#fff;font-size:11px;font-weight:600}
input,select,textarea{border-color:#d1d5db}
input::placeholder,textarea::placeholder{color:#6B7280;opacity:1}
input:focus,select:focus,textarea:focus{outline:2px solid #b51f2d22;border-color:var(--brand-red);box-shadow:0 0 0 2px #b51f2d14}
.displacement-card,.os-block{border:1px solid var(--border);border-radius:10px}
.displacement-entry,.displacement-open{padding:2px}
.displacement-entry input,.displacement-entry select,.displacement-arrival input{min-height:56px;border:2px solid #4b5563;font-size:20px;font-weight:700}
.displacement-entry select{font-size:16px}
.displacement-entry button,.displacement-arrival button{min-height:56px;border-radius:8px;box-shadow:0 2px 6px #00000018}
.displacement-open>div{background:#fff;border:1px solid var(--border)}
.displacement-row{background:#fff;border:1px solid var(--border)}

/* Equipamento — apresentação compacta */
.equipment-summary-technical,.equipment-technical-line{display:flex;gap:8px;align-items:stretch;margin-top:7px}
.equipment-summary-technical>span,.equipment-technical-line>span{flex:1;min-width:0;background:#f7f8f9;border:1px solid #e5e7eb;border-radius:7px;padding:8px 10px}
.equipment-summary-technical small,.equipment-technical-line small{display:block;color:#4b5563;font-size:9px;font-weight:800;letter-spacing:.25px;margin-bottom:2px}
.equipment-summary-technical b,.equipment-technical-line b{font-size:12px;font-weight:750}
.equipment-detail .detail-title h1{margin-bottom:2px}
.equipment-detail .detail-title p{margin-top:0}
.print-equipment-tech{display:flex;gap:7px;margin-top:7px}
.print-equipment-tech>div{flex:1;border:1px solid #d7dadd;padding:6px}
.print-equipment-tech small{display:block;font-size:7pt;font-weight:800;color:#5d656c}
.print-equipment-tech b{font-size:9pt}
@media(max-width:760px){.equipment-summary-technical,.equipment-technical-line{gap:6px}.equipment-summary-technical>span,.equipment-technical-line>span{padding:8px}.print-equipment-tech{gap:5px}}

/* Assinatura responsiva: modal próprio para toque, sem scroll da página. */
.signature-open-btn{min-width:220px}
.signature-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.72);overscroll-behavior:contain}
.signature-modal[hidden]{display:none}
.signature-modal-panel{width:min(980px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 16px 50px rgba(0,0,0,.28);overflow:hidden}
.signature-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid #e5e7eb;flex:0 0 auto}
.signature-modal-head h2{margin:0;font-size:18px;font-weight:700}
.signature-close{width:44px;height:44px;border:0;border-radius:8px;background:#f3f4f6;color:#303840;font-size:30px;line-height:1;cursor:pointer}
.signature-canvas-wrap{margin:16px;border:2px solid #d1d5db;border-radius:10px;background:#fff;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;flex:1;min-height:300px}
.signature-canvas-wrap canvas{display:block;width:100%;height:100%;min-height:300px;background:#fff;touch-action:none;cursor:crosshair}
.signature-modal-actions{display:flex;gap:10px;padding:14px 18px;border-top:1px solid #e5e7eb;flex:0 0 auto}
.signature-modal-actions button{min-height:52px}
@media(max-width:760px){
  .signature-modal{padding:0;background:#fff}
  .signature-modal-panel{width:100%;height:100dvh;max-height:none;border-radius:0}
  .signature-modal-head{padding:12px 14px;padding-top:max(12px,env(safe-area-inset-top))}
  .signature-canvas-wrap{margin:10px;height:calc(100dvh - 190px);min-height:0}
  .signature-canvas-wrap canvas{height:100%;min-height:0}
  .signature-modal-actions{padding:10px 14px;padding-bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column-reverse}
  .signature-modal-actions button{width:100%;min-height:56px}
}
