/* H579 — correções funcionais e visuais finais */
:root{--h579-navy:#0d263d;--h579-navy-2:#132f4b;--h579-gold:#c9a64d;--h579-bg:#eef3f8;--h579-text:#0f172a;--h579-muted:#475569;--h579-border:#d8e1ea;}
html,body{max-width:100%;overflow-x:hidden;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;}
body{background:var(--h579-bg)!important;color:var(--h579-text)!important;}
.dashboard-shell{display:grid!important;grid-template-columns:252px minmax(0,1fr)!important;min-height:100vh!important;width:100%!important;align-items:start!important;transition:grid-template-columns .18s ease-out!important;}
.side-nav{position:sticky!important;top:0!important;width:252px!important;height:100vh!important;min-width:0!important;overflow:hidden!important;padding:14px 12px!important;z-index:70!important;transition:width .18s ease-out,padding .18s ease-out!important;}
.side-nav .nav-section{overflow-y:auto!important;overflow-x:hidden!important;min-width:0!important;padding-right:3px!important;}
.nav-collapse-btn{display:inline-flex!important;}
.dashboard-shell.nav-collapsed{grid-template-columns:74px minmax(0,1fr)!important;}
.dashboard-shell.nav-collapsed .side-nav{width:74px!important;padding:14px 9px!important;}
.dashboard-shell.nav-collapsed .side-brand>div,.dashboard-shell.nav-collapsed .sync-box,.dashboard-shell.nav-collapsed .nav-section .nav-label,.dashboard-shell.nav-collapsed .nav-section .nav-caret,.dashboard-shell.nav-collapsed .nav-section .nav-group-items{display:none!important;}
.dashboard-shell.nav-collapsed .side-brand{justify-content:center!important;flex-wrap:wrap!important;padding-inline:0!important;}
.dashboard-shell.nav-collapsed .side-brand img{width:42px!important;max-width:42px!important;}
.dashboard-shell.nav-collapsed .nav-collapse-btn{margin:0!important;}
.dashboard-shell.nav-collapsed .nav-section :is(.nav-group-toggle,.nav-group-link,.nav-foot){justify-content:center!important;padding-inline:6px!important;}
.side-brand{min-width:0!important;display:flex!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important;padding:8px!important;background:transparent!important;}
.side-brand img{width:42px!important;max-width:42px!important;height:42px!important;object-fit:cover!important;border-radius:10px!important;}
.side-brand>div{min-width:0!important;}
.side-brand strong{font-size:15px!important;line-height:1.15!important;margin:0!important;}
.side-brand small{font-size:11px!important;line-height:1.25!important;}
.side-nav .nav-section .nav-group-toggle,.side-nav .nav-section .nav-group-link,.side-nav .nav-section .nav-foot{box-sizing:border-box!important;min-width:0!important;width:100%!important;min-height:44px!important;padding:9px 10px!important;border-radius:9px!important;text-decoration:none!important;}
.side-nav .nav-section .nav-sub{box-sizing:border-box!important;min-width:0!important;width:100%!important;min-height:36px!important;padding:7px 9px!important;border-radius:8px!important;}
.side-nav .nav-section .nav-group-items{margin-left:12px!important;padding-left:10px!important;}
.side-nav .nav-section .nav-sub.active,.side-nav .nav-section .nav-group-link.active{background:rgba(20,184,166,.15)!important;color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important;border-color:rgba(94,234,212,.24)!important;box-shadow:inset 3px 0 0 #2dd4bf!important;}
.side-nav .nav-section .nav-sub.active *,.side-nav .nav-section .nav-group-link.active *{color:#f8fafc!important;-webkit-text-fill-color:#f8fafc!important;stroke:#f8fafc!important;}
.main-dashboard{min-width:0!important;width:100%!important;overflow:visible!important;padding:18px 20px 28px!important;align-content:start!important;}
.topbar{min-height:82px!important;height:auto!important;margin:-18px -20px 0!important;padding:14px 22px!important;background:var(--h579-navy)!important;color:#fff!important;border:0!important;box-shadow:0 4px 16px rgba(15,23,42,.18)!important;position:relative!important;z-index:35!important;}
.topbar .top-title,.topbar .top-title *,.topbar .profile-pill,.topbar .profile-pill strong,.topbar .profile-pill small,.topbar .profile-pill span{color:#fff!important;-webkit-text-fill-color:#fff!important;}
.topbar .top-title h1{font-family:Inter,ui-sans-serif,system-ui!important;font-size:clamp(1.4rem,2.2vw,2rem)!important;line-height:1.1!important;margin:0!important;}
.topbar .top-title>div>span{color:#dbe7f3!important;-webkit-text-fill-color:#dbe7f3!important;font-size:.8rem!important;}
.topbar .icon-button,.topbar .filter-button,.topbar .text-button,.topbar .system-online{background:#fff!important;color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;border:1px solid #cbd5e1!important;border-radius:10px!important;min-height:40px!important;padding:8px 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;text-decoration:none!important;font-weight:800!important;}
.topbar .icon-button *,.topbar .text-button *{color:#0f172a!important;stroke:#0f172a!important;-webkit-text-fill-color:#0f172a!important;}
.menu-button{color:#fff!important;display:none!important;align-items:center!important;justify-content:center!important;}
body[data-manager-screen]:not([data-manager-screen="dashboard"]) .topbar{min-height:72px!important;padding-block:10px!important;}
body[data-manager-screen]:not([data-manager-screen="dashboard"]) .topbar .top-title h1{font-size:1.45rem!important;}
body[data-manager-screen]:not([data-manager-screen="dashboard"]) .topbar .top-actions :is(#periodFilter,#driverFilter,#vehicleFilter,#filterBtn){display:none!important;}
.panel,.kpi-card,.functional-command-center,.table-wrap{border-radius:12px!important;}
.panel{min-width:0!important;overflow:hidden!important;}
.app-screen,.manager-content,.registration-grid,.driver-layout,.fleet-layout,.qr-connection-layout,.hierarchy-grid,.communication-layout,.agenda-grid,.ops-grid{min-width:0!important;}
.manager-content.driver-layout{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;align-items:start!important;}
.driver-card-row{display:grid!important;grid-template-columns:96px minmax(160px,1fr) minmax(150px,.9fr) auto!important;gap:12px!important;align-items:center!important;padding:13px!important;border-bottom:1px solid var(--h579-border)!important;}
.driver-card-row>*{min-width:0!important;}
.driver-identity{display:grid!important;gap:3px!important;}
.driver-identity strong{font-size:.95rem!important;}
.driver-identity small{color:var(--h579-muted)!important;}
.driver-status-badge,.driver-code-state{display:inline-flex!important;width:max-content!important;max-width:100%!important;padding:5px 9px!important;border-radius:999px!important;background:#e2e8f0!important;color:#334155!important;font-size:.78rem!important;font-weight:800!important;}
.driver-code-state.ok{background:#dcfce7!important;color:#166534!important;}
.driver-actions-inline{display:flex!important;gap:7px!important;flex-wrap:wrap!important;justify-content:flex-end!important;}
.driver-actions-inline button{min-height:36px!important;padding:7px 10px!important;border-radius:9px!important;white-space:nowrap!important;}
.driver-actions-inline .primary{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important;}
.technical-payload-hidden{display:none!important;}
.qr-box{grid-template-columns:1fr!important;}
.qr-display-panel .qr-render{min-height:220px!important;display:grid!important;place-items:center!important;}
.activation-code-value{font-size:clamp(2.1rem,5vw,3.4rem)!important;letter-spacing:.16em!important;white-space:nowrap!important;}
.operator-access-only{grid-template-columns:minmax(320px,560px)!important;}
.operator-access-only .hierarchy-form{width:100%!important;}
#operadores-logisticos .table-wrap{margin-top:18px!important;}
#perfis .manager-placeholder-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.quick-actions,.hierarchy-form{min-width:0!important;}
.quick-actions input,.quick-actions select,.quick-actions textarea{width:100%!important;min-width:0!important;}
.operator-app .trip-purpose-note,.operator-app [data-purpose-note],.operator-app .form-note,.operator-app .hint-card{color:#713f12!important;background:#fffbeb!important;border-color:#f4c96b!important;}
.operator-app .trip-purpose-note *,.operator-app [data-purpose-note] *,.operator-app .form-note *,.operator-app .hint-card *{color:#713f12!important;-webkit-text-fill-color:#713f12!important;}
.communication-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px)!important;}
.communication-feed{min-height:260px!important;}
.operational-standalone-page .standalone-page-content{min-width:0!important;padding-top:16px!important;}
.operational-standalone-page .situation-shell,.operational-standalone-page .emergency-main{min-height:0!important;padding:0!important;}
.operational-standalone-page .emergency-shell{display:block!important;min-height:0!important;}
.operational-standalone-page .emergency-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)!important;}
#liveMap,#operatorLiveMap,#managementLiveMap{display:block!important;width:100%!important;min-height:520px!important;height:clamp(420px,62vh,680px)!important;background:#e8eef5!important;}
.leaflet-container{font-family:Inter,ui-sans-serif,system-ui!important;}
.situation-shell .command-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px)!important;}
.situation-shell .map-zone{min-width:0!important;}
.page-heading{min-width:0!important;}
.data-table{max-width:100%!important;}
.table-wrap{max-width:100%!important;overflow-x:auto!important;}
body{scrollbar-gutter:stable;}
@media(max-width:1180px){
  .manager-content.driver-layout,.fleet-layout,.qr-connection-layout,.communication-layout,.situation-shell .command-grid,.operational-standalone-page .emergency-grid{grid-template-columns:1fr!important;}
  .driver-card-row{grid-template-columns:90px minmax(0,1fr)!important;}
  .driver-code-state,.driver-actions-inline{grid-column:2!important;justify-content:flex-start!important;}
}
@media(max-width:1024px){
  .dashboard-shell{display:block!important;grid-template-columns:1fr!important;}
  .side-nav{position:fixed!important;inset:0 auto 0 0!important;width:min(86vw,300px)!important;height:100dvh!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;box-shadow:18px 0 40px rgba(15,23,42,.28)!important;}
  body.operator-menu-open .side-nav,body.manager-menu-open .side-nav{transform:translateX(0)!important;}
  body.operator-menu-open::after,body.manager-menu-open::after{content:"";position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:60;}
  .main-dashboard{width:100%!important;padding:14px!important;}
  .topbar{margin:-14px -14px 0!important;padding:12px 14px!important;}
  .menu-button{display:inline-flex!important;}
  .nav-collapse-btn{display:none!important;}
  .top-actions{gap:7px!important;}
  .topbar .profile-pill>div{display:none!important;}
  .topbar .filter-button{max-width:180px!important;}
  #perfis .manager-placeholder-grid{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  .topbar{align-items:stretch!important;}
  .top-title{width:100%!important;}
  .top-actions{width:100%!important;justify-content:flex-start!important;}
  .topbar .filter-button{display:none!important;}
  .panel{padding:12px!important;}
  .driver-card-row{grid-template-columns:1fr!important;}
  .driver-code-state,.driver-actions-inline{grid-column:auto!important;}
  .driver-actions-inline button{flex:1 1 140px!important;}
  .quick-actions{grid-template-columns:1fr!important;}
  .connection-steps{padding-left:22px!important;}
  #liveMap,#operatorLiveMap,#managementLiveMap{min-height:390px!important;height:55vh!important;}
  .status-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Correções funcionais: cada item do gestor exibe somente sua própria tela. */
[hidden]{display:none !important;}
body.compact-functional-page .functional-command-center{display:none !important;}
.manager-report-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;}
.manager-report-grid article{border:1px solid #dbe3ee;border-radius:14px;padding:18px;background:#fff;}
.manager-report-grid h3{margin:0 0 8px;color:#102a43;}
.manager-report-grid p{margin:0 0 14px;color:#52677d;}
.manager-report-grid a{display:inline-flex;padding:9px 13px;border-radius:9px;background:#1d5fd1;color:#fff !important;text-decoration:none;font-weight:700;}
#indicadores.manager-content{grid-template-columns:repeat(2,minmax(0,1fr));}
#passageiros .ranking,#motoristas .ranking,#frota .ranking{margin-top:14px;}
@media(max-width:900px){#indicadores.manager-content{grid-template-columns:1fr;}}


/* Telas funcionais únicas — sem repetir o dashboard */
.manager-functional-screen{display:block;min-width:0;}
.manager-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0 20px;}
.manager-summary-grid article{background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px;padding:14px;display:grid;gap:5px;}
.manager-summary-grid span{font-size:.78rem;color:#52677d;font-weight:700;}
.manager-summary-grid strong{font-size:1.55rem;color:#102a43;}
.manager-summary-grid small{color:#64748b;}
.manager-functional-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;}
.manager-block{min-width:0;background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:16px;overflow:hidden;}
.operator-list-block{margin-top:16px;}
.manager-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.manager-inner-panel{display:none;}
.manager-inner-panel.active{display:block;}
.password-field-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px;align-items:center;}
.password-field-row input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;filter:none!important;}
.password-field-row button{white-space:nowrap;}
.credential-result{margin-top:14px;border:1px solid #8dd7b4;background:#ecfdf5;border-radius:12px;padding:14px;display:grid;gap:7px;color:#14532d;}
.credential-result[hidden]{display:none!important;}
.credential-result strong,.credential-result code{font-size:1.08rem;color:#0f3d2b;background:#fff;border:1px solid #bbf7d0;border-radius:8px;padding:8px 10px;overflow-wrap:anywhere;}
.credential-result button{width:max-content;max-width:100%;}
.table-actions{display:flex;gap:7px;flex-wrap:wrap;}
.app-connection-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.76rem;font-weight:800;}
.app-connection-badge.connected{background:#dcfce7;color:#166534;}
.app-connection-badge.pending{background:#fef3c7;color:#92400e;}
.app-connection-badge.offline{background:#e2e8f0;color:#475569;}
body[data-manager-screen="dashboard"] #mapa-gerencial{display:none!important;}
/* Credenciais geradas pelo gestor precisam ser legíveis: nenhuma camada pode borrá-las. */
.manager-app .h546-sensitive,.manager-app [data-sensitive="true"],
.credential-result,.credential-result *,#operatorPasswordField,
#operatorCredentialResult,#directResetResult,#recoveryApprovalResult{filter:none!important;-webkit-filter:none!important;user-select:text!important;-webkit-user-select:text!important;}
.credential-result code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;letter-spacing:.08em;}
body[data-manager-screen="pessoas"] #pessoas,
body[data-manager-screen="frota-recursos"] #frota-recursos,
body[data-manager-screen="inteligencia-relatorios"] #inteligencia-relatorios{display:block;}
@media(max-width:980px){.manager-functional-columns,.manager-chart-grid{grid-template-columns:1fr;}.password-field-row{grid-template-columns:1fr 1fr;}.password-field-row input{grid-column:1/-1;}}
@media(max-width:600px){.password-field-row{grid-template-columns:1fr;}.password-field-row input{grid-column:auto;}}

/* H583: cards da tela inicial do operador mais compactos */
.operator-app .ops-metric-strip{gap:10px!important}
.operator-app .ops-metric-strip article{padding:10px 12px!important}
.operator-app .ops-metric-strip strong{font-size:20px!important;margin:3px 0!important}
.operator-app .ops-metric-strip span,.operator-app .ops-metric-strip small{font-size:11px!important}
.operator-app .functional-command-center .command-card{padding:10px 12px!important;gap:4px!important}
.operator-app .functional-command-center .command-card b{font-size:20px!important}
.operator-app .functional-command-center header h2{font-size:1rem!important}
.operator-app .functional-command-center header p{font-size:.8rem!important}
