*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f5f6f8;color:#171717;display:flex}aside{width:235px;min-height:100vh;background:#fff;border-right:1px solid #e6e6e6;padding:20px 14px;position:fixed}.logo{width:115px;display:block;margin:0 auto 24px}nav button{width:100%;border:0;background:transparent;text-align:left;padding:11px 12px;border-radius:9px;margin:2px 0;font-size:14px;cursor:pointer}nav button:hover,nav button.active{background:#fff0f0;color:#c40000;font-weight:700}.role{position:absolute;bottom:18px;left:14px;right:14px;border-top:1px solid #eee;padding-top:12px}.role small{display:block;margin-bottom:5px;color:#777}.role select{width:100%;padding:9px;border:1px solid #ddd;border-radius:8px}main{margin-left:235px;width:calc(100% - 235px);padding:24px 30px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{margin:0;font-size:25px}header p{margin:5px 0;color:#777}.top{display:flex;gap:10px;align-items:center}.live{font-size:12px;color:#159447;font-weight:800}button{cursor:pointer}.top button,.primary{background:#c90000;color:#fff;border:0;border-radius:9px;padding:11px 14px;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:#fff;border:1px solid #e8e8e8;border-radius:13px;padding:17px}.metric{font-size:28px;font-weight:800;margin:8px 0}.label{color:#707070;font-size:13px}.green{color:#138b45}.orange{color:#d97706}.red{color:#c90000}.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:15px;margin-top:15px}.panel h3{margin:0 0 14px}.row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.row:last-child{border:0}.badge{padding:5px 8px;border-radius:20px;background:#eef8f1;color:#177a3e;font-size:12px;font-weight:700}.warn{background:#fff4e5;color:#a85d00}.danger{background:#ffeaea;color:#b00000}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:12px;border-bottom:1px solid #eee;font-size:13px}th{color:#666;background:#fafafa}.bar{height:8px;background:#eee;border-radius:8px;overflow:hidden;width:120px}.bar i{display:block;height:100%;background:#c90000}.tv{background:#101216;color:#fff;border-radius:16px;padding:25px}.tv .card{background:#181b20;border-color:#2b2f36}.tv table{background:#181b20;color:#fff}.tv th{background:#20242a;color:#bbb}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{border:1px solid #ddd;background:#fff;border-radius:8px;padding:8px}.money{font-weight:800}.note{font-size:12px;color:#777;margin-top:8px}@media(max-width:900px){aside{width:72px;padding:15px 7px}.logo{width:58px}nav button{font-size:0}nav button:before{content:'•';font-size:22px}.role{display:none}main{margin-left:72px;width:calc(100% - 72px);padding:16px}.cards{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}header{align-items:flex-start}.top .live{display:none}}@media(max-width:560px){.cards{grid-template-columns:1fr}.top button{display:none}}
.login{position:fixed;inset:0;background:#f5f6f8;z-index:99;display:flex;align-items:center;justify-content:center}.loginbox{width:330px;background:white;padding:32px;border-radius:18px;box-shadow:0 12px 40px #0002;text-align:center}.loginbox img{width:130px}.loginbox input{width:100%;box-sizing:border-box;padding:13px;margin:6px 0;border:1px solid #ddd;border-radius:9px}.loginbox button{width:100%;padding:13px;margin-top:8px;background:#d90000;color:white;border:0;border-radius:9px;font-weight:700}.modal{position:fixed;inset:0;background:#0007;z-index:50;display:flex;align-items:center;justify-content:center}.modalbox{background:#fff;width:min(520px,92vw);padding:24px;border-radius:16px}.modalbox input,.modalbox select,.modalbox textarea{width:100%;box-sizing:border-box;padding:11px;margin:5px 0;border:1px solid #ddd;border-radius:8px}.ok{color:#078a3b}.dangerText{color:#c00}.mono{font-family:monospace;word-break:break-all;background:#f5f5f5;padding:10px;border-radius:8px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{padding:10px 14px}
html,body{height:100%}aside{height:100vh;min-height:0;display:flex;flex-direction:column;overflow:hidden}aside nav{overflow-y:auto;overflow-x:hidden;padding-bottom:10px;flex:1}.role{position:static;margin-top:auto;background:#fff}.role button{width:100%;border:1px solid #ddd;background:#fff;border-radius:8px;padding:9px}.profileTop{font-size:13px;color:#444}.logoutTop{border:1px solid #ddd;background:#fff;border-radius:9px;padding:10px 12px;font-weight:700}.tablewrap{overflow:auto}.empty{text-align:center;color:#888}.loggedout aside,.loggedout main{visibility:hidden}.loggedout .login{visibility:visible}.login small{display:block;color:#b00000;min-height:18px;margin-top:8px}@media(max-width:900px){.profileTop{display:none}.logoutTop{display:inline-block}.role{display:none}}
.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.formgrid label{display:flex;flex-direction:column;gap:6px;font-weight:600}.formgrid input,.formgrid select,select{padding:10px;border:1px solid #d8dce2;border-radius:8px;background:#fff}.notice{margin-top:12px;padding:12px;border-radius:8px}.notice.ok{background:#eaf7ef;color:#087a36}.notice.warn{background:#fff4e5;color:#a65a00}.countdown{display:inline-block;min-width:44px}.countdown.red{color:#c40000}@media(max-width:760px){.formgrid{grid-template-columns:1fr}}
/* V0.2.7 — formulário operacional de contacto */
.actions button.primary,.formFooter .actions button.primary{background:#c90000;color:#fff;border-color:#c90000}
.contactForm{margin-top:14px;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;background:#fbfbfc}.formSection{padding:18px;border-bottom:1px solid #e5e7eb}.formSection h4{margin:0 0 14px;font-size:15px}.formSection small,.blockLabel small,.formFooter small{font-weight:400;color:#777}.formgrid textarea{padding:10px;border:1px solid #d8dce2;border-radius:8px;background:#fff;resize:vertical}.span2{grid-column:1/-1}.blockLabel{display:block;font-weight:700;margin:12px 0 8px}.productRow{display:grid;grid-template-columns:minmax(190px,2fr) minmax(170px,2fr) 90px 42px;gap:8px;margin:8px 0}.productRow select,.productRow input{width:100%;padding:10px;border:1px solid #d8dce2;border-radius:8px;background:#fff}.removeBtn{border:1px solid #ddd;background:#fff;border-radius:8px;font-size:20px}.secondaryBtn{border:1px solid #d8dce2;background:#fff;border-radius:8px;padding:9px 12px;margin-top:5px}.moneyGrid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;margin-top:16px}.moneyGrid label{display:flex;flex-direction:column;gap:6px;font-weight:600}.moneyGrid input{padding:11px;border:1px solid #d8dce2;border-radius:8px}.totalBox{background:#fff3f3;padding:10px;border-radius:10px;color:#a40000}.totalBox input{font-size:18px;font-weight:800;border-color:#e7a7a7}.formFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#fff}.formFooter .actions{margin-left:auto}@media(max-width:760px){.productRow{grid-template-columns:1fr 80px 42px}.productRow .ncOtherProduct{grid-column:1/-1}.moneyGrid{grid-template-columns:1fr}.span2{grid-column:auto}.formFooter{align-items:flex-start;flex-direction:column}.formFooter .actions{margin-left:0;width:100%}.formFooter .actions button{flex:1}}

.driverActions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.detailsBtn{background:#111827!important;color:#fff!important;border-color:#111827!important}.modalOverlay{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}.detailModal{background:#fff;border-radius:18px;width:min(780px,96vw);max-height:92vh;overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.28)}.detailHeader{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:22px 24px 12px}.detailHeader small{color:#16a34a;font-weight:800}.detailHeader h2{margin:4px 0}.modalClose{font-size:27px!important;line-height:1;width:42px;height:42px;padding:0!important}.detailTotal{margin:0 24px 18px;padding:18px 20px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;display:flex;flex-direction:column}.detailTotal span{font-size:12px;font-weight:800;color:#9a3412}.detailTotal strong{font-size:30px}.detailTotal small{margin-top:3px}.detailGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 24px 20px}.detailGrid>div{border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px;min-height:62px}.detailGrid span{display:block;color:#6b7280;font-size:12px;margin-bottom:5px}.detailGrid b{overflow-wrap:anywhere}.detailGrid .span2{grid-column:1/-1}.detailGrid a{color:#dc0000;text-decoration:none}.detailFooter{padding:0 24px 22px;display:flex;justify-content:flex-end}@media(max-width:700px){.detailGrid{grid-template-columns:1fr}.detailGrid .span2{grid-column:auto}.detailModal{width:100%}}
.saleItemRow{display:grid;grid-template-columns:minmax(180px,2fr) 90px 140px auto;gap:8px;margin:8px 0;align-items:center}.saleItemRow input{width:100%;box-sizing:border-box}.saleModal{max-width:820px}@media(max-width:700px){.saleItemRow{grid-template-columns:1fr 72px}.saleItemRow .saleUnit{grid-column:1/2}}
/* V0.3.4 — stock mobile-first */
.stockMobileGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}.stockProductCard{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.stockProductCard small{color:#6b7280;font-size:11px;font-weight:800}.stockProductCard h3{margin:5px 0 0;font-size:17px}.stockQty{display:flex;align-items:baseline;gap:4px}.stockQty b{font-size:30px}.stockQty span{color:#6b7280}@media(max-width:560px){main{padding:12px}.stockMobileGrid{grid-template-columns:1fr}.stockProductCard{padding:14px}.stockQty b{font-size:26px}.panel{padding:14px}.tablewrap{overflow-x:auto}.formgrid input,.formgrid select{font-size:16px}}
.mobile-finance-list{display:grid;gap:10px;margin-top:12px}.finance-item{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff;line-height:1.5}.finance-route{font-size:15px;margin:5px 0}@media(max-width:700px){.mobile-finance-list{display:grid}.finance-item{font-size:14px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:14px}.formgrid{grid-template-columns:1fr!important}}
.linkButton{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.feedbackBox{display:flex;gap:10px;align-items:end;margin-top:14px}.feedbackBox label{flex:1}.feedbackBox select{width:100%;padding:11px;border:1px solid #d6dbe5;border-radius:9px}@media(max-width:700px){.feedbackBox{flex-direction:column;align-items:stretch}.detailFooter{position:sticky;bottom:0;background:#fff;padding-top:10px}.driverActions{display:flex;flex-direction:column;gap:8px}}
.finance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:14px 0}.finance-summary-grid>div{border:1px solid #e6e6e6;border-radius:12px;padding:12px;background:#fff}.finance-summary-grid small{display:block;color:#6b7280;margin-bottom:5px}.finance-summary-grid b{font-size:18px}.daily-close{margin-top:16px;border-top:1px solid #eee;padding-top:14px}.actionrow{display:flex;gap:10px;flex-wrap:wrap}.muted{color:#6b7280}@media(max-width:600px){.finance-summary-grid{grid-template-columns:1fr 1fr}.finance-summary-grid b{font-size:16px}.actionrow button{width:100%}}
/* V0.4.0.1 — Central Operacional */
.opsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.opsDriver{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}.opsDriver small{font-size:11px;color:#6b7280;font-weight:800}.opsDriver h3{margin:4px 0 8px}.opsBadges{display:flex;gap:6px;flex-wrap:wrap}.opsMeta{font-size:13px;color:#4b5563;margin:10px 0}.opsAlert{border-left:4px solid #f59e0b;background:#fff8e8;padding:11px 13px;margin:8px 0;border-radius:8px;display:flex;gap:8px;flex-wrap:wrap}.opsAlert span{flex-basis:100%;color:#555}.opsAlert.critical{border-color:#dc2626;background:#fff0f0}.opsAlert.overload{border-color:#ea580c;background:#fff5ed}.routeOpsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.routeOps{border:1px solid #e5e7eb;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:5px}.routeOps b{font-size:14px}@media(max-width:700px){.opsGrid,.routeOpsGrid{grid-template-columns:1fr}.opsDriver{padding:13px}}

.profileHero{display:flex;gap:18px;align-items:center;background:#fff;border-radius:18px;padding:18px;margin-bottom:16px}.profileHero h2{margin:0 0 4px}.profileHero p{margin:4px 0;color:#667085}.profilePhoto{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #eee}.profilePhoto.placeholder{display:grid;place-items:center;background:#f2f4f7;font-size:34px}.historyItem{padding:12px 0;border-bottom:1px solid #eee}.historyItem span{display:block;color:#667085;font-size:13px;margin-top:4px}.modalbox.wide{max-width:760px}@media(max-width:700px){.profileHero{padding:14px}.profilePhoto{width:68px;height:68px}.profileHero h2{font-size:20px}}

/* V0.5.0 — reforço mobile-first */
@media (max-width: 760px){
  .sidebar{width:82vw;max-width:290px}
  .content,.main-content,#app{padding:10px!important}
  .cards{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .panel,.card{border-radius:14px!important;padding:12px!important}
  .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  table{min-width:680px}
  button,.btn,input,select,textarea{min-height:44px;font-size:16px}
  .metric{font-size:22px!important}
}
.tvHead{text-align:center}
.catalogGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.catalogCard{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#fff}.catalogCard h3{margin:4px 0}.statusPill{display:inline-block;padding:4px 9px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:12px;font-weight:700}.statusPill.off{background:#fff1f2;color:#b42318}.componentList{margin:10px 0;padding:10px;background:#f8fafc;border-radius:10px}.twoColCatalog{display:grid;grid-template-columns:1fr 1.3fr;gap:16px}@media(max-width:850px){.twoColCatalog{grid-template-columns:1fr}}

/* V0.6.5.2 editor de encomenda */
.orderEditorModern{max-width:860px!important;max-height:88vh;overflow:auto}.editorSection{border:1px solid #e5e7eb;border-radius:14px;padding:16px;margin:14px 0;background:#fff}.editorSection h4{margin:0 0 10px}.orderEditorModern .formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.orderEditorModern label{display:flex;flex-direction:column;gap:6px;font-weight:600}.orderEditorModern input,.orderEditorModern select,.orderEditorModern textarea{box-sizing:border-box;width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.muted{color:#64748b;font-size:13px}@media(max-width:700px){.orderEditorModern .formgrid{grid-template-columns:1fr}.orderEditorModern{width:94vw!important;padding:14px!important}}

/* V0.7.2 — experiência mobile piloto */
.cmbToastHost{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:12000;width:min(92vw,430px);display:grid;gap:8px}.cmbToast{background:#171717;color:#fff;padding:13px 15px;border-radius:13px;box-shadow:0 14px 38px #0004;font-size:14px}.cmbToast.ok{background:#087a36}.cmbToast.error{background:#a40000}
.mobileGate{position:fixed;inset:0;background:rgba(17,24,39,.68);z-index:11000;display:flex;align-items:flex-end;justify-content:center;padding:0}.mobileGateCard{background:#fff;width:min(100%,520px);border-radius:26px 26px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #0003}.mobileGateLogo{width:82px}.mobileGate h2{font-size:25px;margin:14px 0 7px}.mobileGate p{color:#667085;line-height:1.5;margin:0 0 18px}.mobileGate .primary{width:100%;min-height:52px;font-size:16px}.mobileGate .secondary{width:100%;min-height:48px;border:1px solid #ddd;background:#fff;border-radius:10px;margin-top:8px;font-weight:700}
.attendanceHero{background:linear-gradient(180deg,#fff,#fff8f8);border:1px solid #f0dada;border-radius:20px;padding:20px;margin-bottom:12px}.attendanceHero .eyebrow{font-size:11px;font-weight:900;color:#c90000;letter-spacing:.08em}.attendanceHero h2{margin:6px 0;font-size:24px}.attendanceHero p{color:#667085;margin:0 0 16px;line-height:1.5}.attendancePrimary{width:100%;min-height:54px;border:0;border-radius:13px;background:#c90000;color:#fff;font-weight:800;font-size:16px}.attendanceMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.attendanceMeta div{background:#fff;border:1px solid #eee;border-radius:12px;padding:10px;text-align:center}.attendanceMeta small{display:block;color:#777;font-size:11px}.attendanceMeta b{font-size:15px}
.qrCompany{display:flex;flex-direction:column;align-items:center;text-align:center}.qrCompany img{width:min(280px,72vw);background:#fff;padding:10px;border-radius:18px;border:1px solid #eee}.qrCompany .mono{font-size:10px;margin-top:10px;max-width:100%}
.scannerSheet{position:fixed;inset:0;background:#090b10;z-index:13000;color:#fff;display:flex;flex-direction:column}.scannerTop{display:flex;justify-content:space-between;align-items:center;padding:16px}.scannerTop button{background:#ffffff18;color:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:25px}.scannerBody{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;text-align:center}.scannerViewport{width:min(82vw,420px);aspect-ratio:1;border-radius:24px;overflow:hidden;position:relative;background:#111}.scannerViewport video{width:100%;height:100%;object-fit:cover}.scannerFrame{position:absolute;inset:12%;border:3px solid #fff;border-radius:22px;box-shadow:0 0 0 999px #0005}.scannerHint{margin-top:18px;color:#ddd;line-height:1.45}.scannerManual{margin-top:12px;background:transparent;color:#fff;border:1px solid #ffffff55;border-radius:12px;padding:12px 18px}
.cmbFormSheet{position:fixed;inset:0;background:#0008;z-index:13500;display:flex;align-items:flex-end}.cmbFormCard{width:100%;background:#fff;border-radius:24px 24px 0 0;padding:22px 18px calc(20px + env(safe-area-inset-bottom))}.cmbFormCard h3{margin:0 0 6px}.cmbFormCard p{color:#667085}.cmbFormCard input{width:100%;padding:14px;border:1px solid #d8dce2;border-radius:12px;font-size:16px}.cmbFormActions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.cmbFormActions button{min-height:48px;border-radius:11px;border:1px solid #ddd;background:#fff;font-weight:700}.cmbFormActions .primary{border:0;background:#c90000;color:#fff}
@media(max-width:760px){body{display:block}aside{display:none!important}main{margin-left:0!important;width:100%!important;padding:0 12px 86px!important}header{position:sticky;top:0;z-index:40;background:#f5f6f8;padding:13px 2px 10px;margin-bottom:8px}header h1{font-size:22px}header #sub{font-size:12px;margin-top:2px}.top{display:none!important}#app{padding:0!important}.cards{grid-template-columns:1fr 1fr!important}.card{min-width:0}.label{font-size:11px}.metric{font-size:19px!important;overflow-wrap:anywhere}.panel{border-radius:16px!important}.tablewrap{border-radius:14px}.driverActions button{width:100%;min-height:48px}.detailModal{border-radius:24px 24px 0 0;max-height:94vh}.modalOverlay{padding:0;align-items:flex-end}.detailHeader{padding:18px 16px 10px}.detailGrid{padding:0 16px 16px}.detailFooter{padding:10px 16px calc(16px + env(safe-area-inset-bottom));gap:8px;flex-direction:column}.detailFooter button{width:100%;min-height:48px}}
@media(max-width:760px){
  aside{display:block!important;position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:auto!important;min-height:0!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;border:0!important;border-top:1px solid #e5e7eb!important;z-index:1000!important;background:#fff!important;overflow:visible!important}
  aside .logo,aside .role{display:none!important}aside nav{display:flex!important;gap:5px!important;overflow-x:auto!important;padding:0!important;scrollbar-width:none}aside nav::-webkit-scrollbar{display:none}aside nav button{font-size:11px!important;min-width:84px!important;width:auto!important;min-height:52px!important;padding:7px 9px!important;text-align:center!important;white-space:normal!important;line-height:1.15!important;border-radius:11px!important;flex:0 0 auto}aside nav button:before{content:none!important}aside nav button.active{background:#fff0f0!important;color:#b40000!important}
}
/* V0.7.2.3 — entrada recusada persistente */
.lateRefusalOverlay{position:fixed;inset:0;background:rgba(17,24,39,.72);z-index:15000;display:flex;align-items:center;justify-content:center;padding:18px}.lateRefusalCard{width:min(94vw,520px);background:#fff;border-radius:22px;padding:24px;box-shadow:0 24px 70px #0005}.lateRefusalIcon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fee2e2;color:#b91c1c;font-size:30px;font-weight:900;margin-bottom:12px}.lateRefusalCard .eyebrow{color:#b91c1c;font-size:12px;font-weight:900;letter-spacing:.08em}.lateRefusalCard h2{margin:6px 0 10px}.lateRefusalCard p{line-height:1.55;color:#475467}.lateRefusalNotice{background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:12px;margin:14px 0;line-height:1.45}.lateRefusalActions{display:grid;gap:9px}.lateRefusalActions button{min-height:50px;border-radius:12px;font-weight:800}.lateRefusalActions .primary{border:0;background:#c90000;color:#fff}.lateRefusalActions .secondary{border:1px solid #d0d5dd;background:#fff}.lateRefusalCard small{display:block;color:#667085;margin-top:12px;line-height:1.4}.attendanceRefused{border-color:#fecaca;background:#fff7f7}.attendanceRefused .attendancePrimary{background:#b91c1c}.statusPill.warn{background:#fff7ed;color:#c2410c}@media(max-width:600px){.lateRefusalOverlay{align-items:flex-end;padding:0}.lateRefusalCard{width:100%;border-radius:24px 24px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom))}}

/* V0.7.2.4 — rota integrada ao Meu Painel */
.routeTodayDriver{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 0}.routeTodayDriver small{display:block;color:#6b7280;margin-bottom:5px}.routeTodayDriver .metric{font-size:24px;font-weight:800}

/* V0.7.2.7 - campo de senha com visualização */
.passwordWrap{position:relative;width:100%;display:block}.passwordWrap #pass{width:100%;box-sizing:border-box;padding-right:48px}.passwordEye{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:34px;padding:0;border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1}.passwordEye:hover{background:#f3f4f6;border-radius:8px}
/* V0.7.3.0 — olho compacto e controlos operacionais */
.loginbox .passwordWrap{position:relative!important;display:block!important;width:100%!important}.loginbox .passwordWrap #pass{width:100%!important;padding-right:42px!important}.loginbox .passwordEye{position:absolute!important;right:8px!important;top:50%!important;transform:translateY(-50%)!important;width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#555!important;font-size:15px!important;line-height:30px!important;display:grid!important;place-items:center!important}.loginbox .passwordEye:hover{background:#f1f3f5!important}.opsDriver .actions{display:flex;gap:7px;flex-wrap:wrap}.opsDriver .actions button{width:auto;min-height:36px}
/* V0.7.3.1 — notificações, formulários operacionais e stock com confirmação */
.notifBtn{position:relative;border:1px solid #e5e7eb;background:#fff;border-radius:10px;min-width:42px;height:38px;font-size:18px}.notifBtn b{position:absolute;right:-5px;top:-7px;background:#d00;color:#fff;border-radius:999px;min-width:19px;height:19px;display:none;place-items:center;font-size:11px;padding:0 4px}.notifModal{max-width:620px}.notifList{max-height:62vh;overflow:auto;padding:8px 16px}.notifItem{width:100%;display:grid;gap:4px;text-align:left;padding:13px;border:0;border-bottom:1px solid #eee;background:#fff}.notifItem.unread{background:#fff7f7;border-left:4px solid #d00}.notifItem small{color:#667085}.notifItem span{color:#475467}.stockBulkUsers{display:flex;gap:10px;flex-wrap:wrap;padding:12px;background:#f8fafc;border-radius:12px;margin-bottom:12px}.stockBulkUsers label{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid #e5e7eb;border-radius:9px;padding:8px 10px}.detailGrid textarea{width:100%;min-height:90px;box-sizing:border-box;padding:10px;border:1px solid #cbd5e1;border-radius:9px}.detailGrid input,.detailGrid select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #cbd5e1;border-radius:9px}.detailGrid label{display:flex;flex-direction:column;gap:6px;font-weight:600}.detailGrid .span2{grid-column:1/-1}
