/* ViaOn Conecta 0.3.5.7: central ROOT separada, linhas compactas e atualização dentro do PWA */
[hidden]{display:none!important}
.update-app{border:1px solid #f4bd91;background:#fff6ed;color:#9b4a0e;border-radius:10px;min-height:39px;padding:8px 12px;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}
.update-app.has-update{background:#f47619;color:white}
.header-actions{gap:7px;flex-wrap:wrap;justify-content:flex-end}
.root-dashboard>.root-ops-page{grid-column:1/-1;background:white;border:1px solid #e0e6ed;border-radius:16px;padding:20px;min-width:0;min-height:430px;box-shadow:0 4px 16px #14243b09}
.ops-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px;flex-wrap:wrap}
.ops-page-head h3{font-size:21px;margin:0;color:#19202c;letter-spacing:-.4px}
.ops-page-head p{font-size:12px;color:#647184;margin:5px 0 0}
.ops-page-head button,.ops-refresh{background:#fff;border:1px solid #dce2e9;border-radius:10px;color:#364150;font-weight:750;padding:9px 12px;cursor:pointer}
.ops-search-label,.ops-filter-bar label,.ops-region-form label{font-size:12px;font-weight:750;color:#435060;display:flex;flex-direction:column;gap:5px}
.ops-search-label input,.ops-search-label select,.ops-filter-bar select,.ops-region-form input{min-height:40px;width:100%;font:inherit;font-size:13px;padding:9px 12px;background:#fbfcfd;border:1px solid #dce3ec;border-radius:10px;color:#1b2633}
.ops-list{display:flex;flex-direction:column;gap:9px;margin-top:14px;max-height:none;overflow:visible}
.ops-row{display:grid;grid-template-columns:minmax(185px,1.15fr) minmax(130px,1fr) auto;align-items:center;gap:10px;padding:13px 14px;border:1px solid #e4eaf0;border-radius:12px;background:#fafbfd;min-width:0}
.ops-identity strong{display:block;font-size:13px;color:#1f2935;overflow-wrap:anywhere}
.ops-identity small{font-size:11px;color:#6d7b89;display:block;margin-top:3px;overflow-wrap:anywhere}
.ops-meta{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:11px;color:#566372;min-width:0}
.ops-status{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:850;white-space:nowrap;background:#eff1f5;color:#4b5663}
.ops-status.active{background:#e2f6e9;color:#12693d}.ops-status.pending{background:#fff0d8;color:#925414}.ops-status.blocked,.ops-status.suspended{background:#ffe6e5;color:#a8292f}.ops-status.muted{background:#efe8ff;color:#6842ab}
.ops-actions{display:flex;justify-content:flex-end;align-items:center;gap:5px;flex-wrap:wrap}
.ops-actions button{border:1px solid #dce3ec;background:white;color:#2b3948;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer;min-height:34px;white-space:nowrap}
.ops-actions button:first-child{border-color:#ffb87e;color:#a24b07;background:#fff7ef}.ops-actions button.danger{color:#a62b30;border-color:#f3cdce;background:#fff7f7}
.ops-empty{padding:22px;color:#667585;background:#f6f8fa;border-radius:12px;font-size:13px;text-align:center}
.ops-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ops-region-form{display:flex;flex-direction:column;gap:12px;background:#f8fafc;padding:16px;border:1px solid #e3e9f0;border-radius:13px}
.ops-region-cities{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:7px}
.ops-region-cities label{display:flex;flex-direction:row;align-items:center;gap:7px;padding:10px;background:white;border-radius:9px;border:1px solid #dfe5ee;font-size:12px}
.ops-region-cities input{width:auto;min-height:unset}.ops-form-buttons{display:flex;gap:9px}.ops-form-buttons button{padding:10px 13px;border-radius:9px;border:1px solid #ddd;cursor:pointer}
.ops-chat-messages{background:#f8f9fa;border:1px solid #e2e7ec;border-radius:12px;min-height:310px;max-height:55vh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:15px}
.ops-chat-bubble{max-width:min(88%,650px);padding:11px 13px;background:white;border-radius:12px;border:1px solid #e1e6ec;color:#273343;font-size:13px;overflow-wrap:anywhere}
.ops-chat-bubble.admin{align-self:flex-end;background:#fff0e1;border-color:#ffd2ab}.ops-chat-bubble small{display:block;font-size:10px;color:#657181;margin-bottom:5px}
.ops-chat-bubble img{display:block;max-width:100%;max-height:220px;border-radius:9px}.ops-chat-bubble video{max-width:100%}.ops-chat-bubble audio{max-width:100%}
.ops-chat-send{display:flex;gap:8px;margin-top:10px}.ops-chat-send input{flex:1;min-width:0;border:1px solid #dae2e9;border-radius:9px;padding:11px;font-size:13px}.ops-chat-send button{border-radius:9px;padding:11px 15px}
#rootOpsDriversSection #rootDriverCitiesSection{display:block;margin-top:16px;border:1px solid #ffd7af;background:#fffaf5;border-radius:12px;padding:16px}
.root-sidebar nav a[data-root-page].active{background:#f47619!important;color:white!important}
body.is-admin .root-sidebar nav{gap:5px;display:flex;flex-direction:column}
@media(max-width:1100px){.ops-row{grid-template-columns:minmax(150px,1fr) minmax(100px,1fr)}.ops-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:760px){body.is-admin .root-sidebar nav{flex-direction:row;overflow-x:auto;gap:5px;scrollbar-width:thin}.root-sidebar nav a[data-root-page]{font-size:11px;white-space:nowrap;flex:0 0 auto}body.is-admin .root-dashboard>.root-ops-page{padding:12px;min-height:350px}.ops-row{grid-template-columns:1fr;gap:7px}.ops-actions{grid-column:1}.ops-actions button{flex:0 0 auto}.ops-filter-bar{grid-template-columns:1fr}.ops-page-head h3{font-size:18px}.update-app{padding:8px 9px;font-size:11px}.ops-region-cities{grid-template-columns:1fr 1fr}.ops-chat-messages{max-height:50vh;min-height:250px}}
@media(max-width:390px){.ops-region-cities{grid-template-columns:1fr}.ops-actions{overflow-x:auto}.header-actions{justify-content:flex-end}.update-app{min-height:36px}}
/* A antiga folha global escondia completamente o menu ROOT em largura <=750px. */
@media(max-width:760px){body.is-admin .root-panel>.root-sidebar{display:flex!important;min-height:0!important;width:auto;visibility:visible!important}}
/* No celular todas as páginas precisam ser visíveis, não escondidas em uma faixa que exige adivinhar que desliza. */
@media(max-width:760px){
 body.is-admin .root-sidebar nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;width:100%;}
 body.is-admin .root-sidebar nav a[data-root-page]{display:flex;min-width:0;white-space:normal;align-items:center;min-height:43px;font-size:10.5px;padding:8px 9px;line-height:1.2;overflow-wrap:anywhere}
 body.is-admin .root-sidebar nav a[data-root-page][hidden]{display:none!important}
 body.is-admin .root-sidebar{padding:12px!important}
 body.is-admin .root-sidebar-brand{margin:0 0 6px!important}
}
