/* ViaOn Conecta 0.3.5: layout aprovado com PTT utilizável em telas pequenas. */
[hidden]{display:none!important}
/* PTT compacto, sem sobreposição do texto e sem cortar o círculo. */
.ptt{width:72px;height:72px;max-width:100%;overflow:hidden;padding:0;border:3px solid #fff;margin:7px auto;flex-shrink:0;touch-action:none}
.ptt span{font-size:23px;line-height:1.05}.ptt b{font-size:9px;line-height:1.12;margin-top:2px;letter-spacing:0;text-align:center;max-width:95%;white-space:normal;overflow-wrap:anywhere}
.ptt.active{background:#e87518}
.quick-ptt{background:#fff4e9!important;border:1px solid #ffbd87!important;color:#d36513!important;font-size:20px!important;touch-action:none;user-select:none;min-width:43px!important;width:43px!important;max-width:43px;flex:0 0 43px;min-height:44px;max-height:44px}
.quick-ptt.active{background:#ee7c23!important;color:#fff!important;box-shadow:0 0 0 3px #ffddbf}
.quick-ptt:disabled{opacity:.5}
.connection-notice{display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px 11px;border-bottom:1px solid #f0ce9d;background:#fff7eb;color:#7e490e;font-size:11px;line-height:1.35}
.connection-notice span{flex:1 1 165px}
.connection-notice button{padding:6px 9px;color:#7b4107;border:1px solid #eec391;background:white;border-radius:8px;font-size:11px;font-weight:700;cursor:pointer}
.messages{isolation:isolate}
.messages::before{z-index:0!important}
.messages>.bubble{position:relative;z-index:1}
@media(max-width:959px){
 .radio{display:grid!important;grid-template-columns:minmax(0,1fr) 64px;gap:8px!important;align-items:center!important;padding:12px!important;text-align:left!important;overflow:visible}
 .radiohead{grid-column:1;grid-row:1;min-width:0!important;flex:unset!important;width:100%;overflow-wrap:anywhere}
 .radiohead>div{min-width:0}.radiohead strong{font-size:14px}.radiohead small{font-size:11px;line-height:1.4}
 .radio .ptt{grid-column:2;grid-row:1;width:60px;height:60px;margin:0;justify-self:end;box-shadow:0 0 0 2px #f5d9c7,0 5px 13px #1112}
 .radio .ptt span{font-size:18px}.radio .ptt b{font-size:8px;margin-top:2px;line-height:1.05}
 .radio .hint,.radio .consent{grid-column:1/-1;width:100%;margin:0}
 .radio .hint{font-size:10px}.radio .consent{font-size:11px;padding:8px 10px}
 .radiohead .dot{display:none}
 .send{gap:6px;align-items:center;min-width:0}
 .send input{min-width:0;flex:1 1 auto}
 .chat{min-width:0}.messages{min-width:0}
 .roomline{min-width:0}
 .bubble{min-width:0}
}
@media(max-width:360px){
 .radio{grid-template-columns:minmax(0,1fr) 58px;padding:10px!important}
 .radio .ptt{width:55px;height:55px}
 .quick-ptt{min-width:40px!important;width:40px!important;flex-basis:40px}
 .send button:not(.quick-ptt){min-width:41px;width:41px}
}
[data-theme=dark] .connection-notice{background:#35291c;border-color:#644b31;color:#f8d5a8}
[data-theme=dark] .connection-notice button{background:#211a15;color:#ffc888;border-color:#755c42}
[data-theme=dark] .quick-ptt{background:#402913!important;color:#ffb16c!important;border-color:#805020!important}

/* ViaOn Conecta v0.3.5 · autorização multicidades */
.driver-city-picker{display:inline-flex;flex-direction:column;gap:3px;margin-top:9px;font-size:11px;font-weight:700;color:#535f6d}
.driver-city-picker select{border:1px solid #e1e6ed;border-radius:9px;background:#fff;color:#222b35;font-size:13px;font-weight:700;min-height:36px;padding:7px 12px;max-width:min(330px,85vw)}
.city-permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px;margin:12px 0}
.city-permission-grid .permission-line{display:flex;align-items:center;gap:7px;border:1px solid #e5eaf0;background:#f7f9fb;border-radius:9px;padding:11px 12px;font-size:13px;min-width:0}
.city-permission-grid input[type=checkbox]{width:17px;height:17px;accent-color:#f47619;flex:none}
#rootDriverCitiesSection{grid-column:1/-1}
[data-theme=dark] .driver-city-picker{color:#d8dbe1}
[data-theme=dark] .driver-city-picker select{background:#252b34;color:#fff;border-color:#4b525c}
@media(max-width:600px){.driver-city-picker select{max-width:90vw}}

/* Marca oficial aprovada pelo cliente: raposa enviada, sem redesenho. */
.mark img{display:block;width:33px;height:33px;object-fit:contain}
.viaon-login-fox{display:block;width:78px;height:78px;object-fit:contain;margin:0 auto 4px}
.root-sidebar-icon{object-fit:contain;filter:none}
.messages{background-image:none!important;background-color:#fcfaf7!important}
.messages::before{background-image:url('/fox-face-watermark.png')!important;background-size:clamp(180px,42%,360px)!important;background-position:center!important;opacity:.10!important;z-index:0!important}
[data-theme=dark] .messages{background-image:none!important;background-color:#171b22!important}
[data-theme=dark] .messages::before{opacity:.10!important}
@media(max-width:600px){.viaon-login-fox{width:68px;height:68px}.messages::before{background-size:clamp(145px,59%,250px)!important}}

.root-storage-warning{margin:0 0 14px;border:1px solid #f5c17d;background:#fff5e8;color:#844008;padding:12px 16px;border-radius:13px;font-size:13px;line-height:1.5}
.root-storage-warning code{font-size:12px;background:#fff1db;border-radius:5px;padding:2px 5px}
[data-theme=dark] .root-storage-warning{background:#3c2c1f;color:#ffd79f;border-color:#8a632e}


/* v0.3.5.1 • Correção auditada da coluna estreita no aviso ROOT.
   O pai usa CSS Grid de 12 colunas. TODOS os avisos diretos ocupam a faixa completa. */
body.is-admin .root-dashboard > .root-storage-warning {
  grid-column: 1 / -1 !important;
  grid-row: auto;
  justify-self: stretch;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 13px 16px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 1.5;
}
body.is-admin .root-dashboard > .root-storage-warning[hidden] { display: none !important; }
.root-storage-icon { flex: 0 0 25px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; font-size: 15px; color: #a34a0a; background: #ffead0; }
.root-storage-copy { min-width: 0; flex: 1; }
.root-storage-copy strong { display: block; font-size: 13px; font-weight: 800; line-height: 1.35; }
.root-storage-copy p { margin: 4px 0 0; font-size: 12px; line-height: 1.6; }
.root-storage-copy code { font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
[data-theme=dark] .root-storage-icon { background: #5b3b22; color: #ffd7a2; }
@media (max-width: 760px) {
  body.is-admin .root-dashboard > .root-storage-warning { padding: 11px 12px; gap: 9px; font-size: 12px; }
  .root-storage-icon { flex-basis: 23px; width: 23px; height: 23px; }
  .root-storage-copy strong { font-size: 12px; }
  .root-storage-copy p { font-size: 11px; }
}
/* Conter cartões do painel, inclusive títulos muito longos e botões em telas estreitas. */
body.is-admin .root-dashboard > * { min-width: 0; }
body.is-admin .root-dashboard > .root-section { min-width: 0; overflow-wrap: break-word; }
body.is-admin .root-kpis, body.is-admin .root-head, body.is-admin .root-city-switch { min-width: 0; }
