:root{
  --navy:#0a1628;--navy-mid:#122044;--navy-light:#1a3060;
  --gold:#c9a84c;--gold-light:#e8c96a;--gold-bg:rgba(201,168,76,0.10);
  --bg:#eef1f7;--surface:#ffffff;--surface2:#f4f6fb;
  --text:#1a2340;--text-muted:#6b7a99;
  --success:#1a7f5a;--success-bg:#e6f4ef;
  --danger:#c0392b;--danger-bg:#fdf0ee;
  --warning:#b8860b;--warning-bg:#fef9e7;
  --border:#d8dde8;
  --shadow:0 2px 12px rgba(10,22,40,0.07);
  --shadow-md:0 4px 24px rgba(10,22,40,0.11);
  --shadow-lg:0 8px 40px rgba(10,22,40,0.18);
  --radius:10px;--radius-sm:6px;--radius-lg:16px;
  --sidebar-w:256px;--topbar-h:58px;
  --tr:all 0.18s ease;
  --touch:44px;
}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;overscroll-behavior:none;overflow-x:hidden;overflow-anchor:none}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;line-height:1.5;overscroll-behavior:none}button,input,select,textarea{font-family:inherit}#login-screen{
  /* POSIÇÃO FIXA — nunca samba quando teclado virtual sobe/desce */
  position:fixed;inset:0;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 60%,#1e3d7a 100%);
  /* padding IGUAL nos 4 lados — card flutua centrado no "terreno" */
  padding:clamp(20px,5vw,48px);
  box-sizing:border-box;
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:pan-x pinch-zoom;
}#login-screen::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(45deg,transparent,transparent 40px,rgba(201,168,76,0.03) 40px,rgba(201,168,76,0.03) 80px);
  pointer-events:none
}#login-form{position:relative}.login-card{
  background:var(--surface);border-radius:var(--radius-lg);
  padding:36px 32px;width:100%;max-width:420px;
  box-shadow:var(--shadow-lg);position:relative;z-index:1;
  border-top:4px solid var(--gold);
  margin:auto;flex-shrink:0;
}.login-logo{text-align:center;margin-bottom:24px}.login-logo img{width:80px;height:80px;object-fit:contain;border-radius:0;mix-blend-mode:multiply;background:transparent}.login-logo h1{font-size:1.2rem;font-weight:800;color:var(--navy);margin-top:10px;line-height:1.2}.login-logo p{font-size:0.68rem;color:var(--text-muted);margin-top:4px;letter-spacing:1.5px;text-transform:uppercase}.login-card h2{
  font-size:1rem;font-weight:600;color:var(--text);
  margin-bottom:20px;text-align:center;
  height:2.2rem;display:flex;align-items:center;justify-content:center;
}.login-error{
  display:none;
  background:var(--danger-bg);color:var(--danger);
  padding:4px 12px;border-radius:var(--radius-sm);
  font-size:0.78rem;border:1px solid #f5c6c2;
  line-height:1.3;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  height:2.2rem;align-items:center;justify-content:center;
  margin-bottom:20px;
}.captcha-group{margin-bottom:12px}.captcha-wrap{display:flex;align-items:center;gap:8px;margin-top:2px;max-width:100%;overflow:hidden;box-sizing:border-box}.captcha-wrap img{
  border:2px solid var(--border);border-radius:var(--radius-sm);
  flex-shrink:0;transition:opacity 0.2s;
  -webkit-user-drag:none;user-select:none;
  width:190px!important;height:71px!important;
  max-width:190px!important;object-fit:contain;display:block
}.captcha-wrap img:active{opacity:0.7}.captcha-reload{
  width:var(--touch);height:var(--touch);min-width:44px;
  border-radius:var(--radius-sm);
  border:1px solid var(--border);background:var(--surface2);
  color:var(--text-muted);font-size:1.25rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:var(--tr);flex-shrink:0;line-height:1;padding:0;
  -webkit-tap-highlight-color:transparent
}.captcha-reload:hover,.captcha-reload:active{background:var(--gold-bg);color:var(--gold);border-color:var(--gold)}.captcha-group input{
  width:100%;padding:11px 14px;border:1.5px solid var(--border);
  border-radius:var(--radius-sm);font-size:1.05rem;font-weight:700;
  letter-spacing:4px;text-align:center;color:var(--text);
  background:var(--surface);transition:var(--tr);
  -webkit-appearance:none;appearance:none;margin-top:8px
}.captcha-group input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,0.15)}.captcha-group input::placeholder{letter-spacing:normal;font-weight:400;font-size:0.82rem;color:var(--text-muted)}@media(max-width:380px){.captcha-wrap img{width:160px!important;height:60px!important;max-width:160px!important}.captcha-group input{font-size:0.9rem;padding:8px 8px;margin-top:5px}.captcha-group{margin-bottom:8px}}@media(max-width:320px){.captcha-wrap img{width:110px;height:38px}}.form-group{margin-bottom:12px}.form-group label{display:block;font-size:0.7rem;font-weight:700;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:0.5px}.form-group input,
.form-group select,
.form-group textarea{
  width:100%;padding:10px 12px;
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  font-size:0.9rem;color:var(--text);background:var(--bg);
  transition:var(--tr);min-height:var(--touch);
  -webkit-appearance:none;appearance:none
}.form-group select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7a99' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
  padding-right:32px;
}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--navy-light);
  box-shadow:0 0 0 3px rgba(26,48,96,0.09);background:#fff
}.form-group input[readonly]{background:var(--surface2);color:var(--text-muted);cursor:default}.form-group textarea{resize:vertical;min-height:80px}.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 18px;border-radius:var(--radius-sm);
  font-size:0.87rem;font-weight:600;cursor:pointer;border:none;
  transition:var(--tr);text-decoration:none;white-space:nowrap;
  justify-content:center;min-height:var(--touch);
  -webkit-tap-highlight-color:transparent;
}.btn svg{flex-shrink:0}.btn:active{transform:scale(0.96)}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-light);box-shadow:var(--shadow)}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--navy);font-weight:700}.btn-gold:hover{box-shadow:0 4px 16px rgba(201,168,76,0.4);transform:translateY(-1px)}.btn-secondary{background:var(--surface2);color:var(--text);border:1.5px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1.5px solid #f5c6c2}.btn-danger:hover{background:var(--danger);color:#fff}.btn-excel{background:#1a7f5a;color:#fff;border-color:#1a7f5a}.btn-excel:hover{background:#14664a;box-shadow:var(--shadow)}.btn-omie{background:rgba(0,226,244,1);color:#0a1628;border-color:rgba(0,226,244,1);font-weight:700}.btn-omie:hover{background:rgba(0,196,212,1);box-shadow:var(--shadow)}.btn-success{background:var(--success-bg);color:var(--success);border:1.5px solid #b8e0ce}.btn-success:hover{background:var(--success);color:#fff}.btn-sm{padding:7px 13px;font-size:0.78rem;min-height:36px}.btn-lg{padding:13px 28px;font-size:1rem}.btn-full{width:100%}.btn-icon{
  padding:0;width:var(--touch);height:var(--touch);
  border-radius:var(--radius-sm);background:transparent;
  border:1.5px solid var(--border);color:var(--text-muted);
  cursor:pointer;display:inline-flex;align-items:center;
  justify-content:center;transition:var(--tr);line-height:1;flex-shrink:0
}.btn-icon:hover{background:var(--surface2);color:var(--navy);border-color:var(--navy)}.btn-icon.danger{color:var(--danger)}.btn-icon.danger:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-icon[disabled]{opacity:0.32;cursor:not-allowed;pointer-events:none}.btn-icon.reativar{color:#b91c1c;background:rgba(185,28,28,0.08);border-color:rgba(185,28,28,0.25)}.btn-icon.reativar:hover{background:#b91c1c;color:#fff;border-color:#b91c1c}.btn-icon.success{color:var(--success)}.btn-icon.success:hover{background:var(--success);color:#fff;border-color:var(--success)}.sidebar-brand h2{
  font-size:0;color:transparent;
  white-space:nowrap;overflow:hidden;letter-spacing:0.3px;
  line-height:1.25;min-width:0
}.sidebar-brand h2::before{
  content:"Grupo Excelência®";
  font-size:1.05rem;font-weight:800;color:var(--gold-light);
  white-space:nowrap;display:block;letter-spacing:0.3px
}.nav-item svg{width:17px;height:17px;flex-shrink:0;opacity:0.72}.nav-item.active svg{opacity:1}#sidebar-logo-wrap,#sidebar-logo-wrap *{background:transparent!important}.btn-logout{
  background:none;border:none;color:rgba(255,255,255,0.38);
  cursor:pointer;padding:0;width:36px;height:36px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  transition:var(--tr);flex-shrink:0
}.btn-logout:hover{color:#fff;background:rgba(255,255,255,0.1)}.topbar-left h1{font-size:1rem;font-weight:700;color:var(--text);white-space:normal;overflow:visible;text-overflow:unset;line-height:1.2}.export-btns .btn{flex-shrink:1;min-width:0;padding:7px 9px}.rel-periodo-inputs input{padding:6px 8px;border:1.5px solid var(--border);border-radius:6px;font-size:0.78rem;flex:1;min-width:0}.mdd-actions button{flex:1;padding:5px;font-size:0.72rem;font-weight:600;color:var(--navy);background:none;border:none;cursor:pointer;border-radius:3px;transition:var(--tr)}.mdd-actions button:hover{background:var(--border)}.mdd-item input[type=checkbox]{
  -webkit-appearance:checkbox!important;
  appearance:checkbox!important;
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  padding:0!important;
  margin:0!important;
  border:none!important;
  background:none!important;
  flex-shrink:0;
  cursor:pointer;
  accent-color:var(--navy);
  display:inline-block!important;
}.filter-group label{font-size:0.67rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.4px}.filter-group input:not([type="checkbox"]),.filter-group select{
  padding:8px 10px;border:1.5px solid var(--border);
  border-radius:var(--radius-sm);font-size:0.84rem;color:var(--text);
  background:#fff;min-height:42px;width:100%;
  -webkit-appearance:none;appearance:none
}.filter-group.w-date input{width:100%}.chart-card h3{font-size:0.85rem;font-weight:700;color:var(--text);margin-bottom:12px}.modal-header h3{font-size:0.97rem;font-weight:700;color:var(--text)}.cp-logo-area img,.cp-logo-area svg{width:50px;height:50px;object-fit:contain;flex-shrink:0}.poder-sub input{accent-color:var(--gold);width:13px;height:13px;cursor:pointer;}.poder-item input{width:16px;height:16px;accent-color:var(--navy);cursor:pointer;flex-shrink:0}.fat-card-header h3{font-size:0.95rem;font-weight:800;letter-spacing:0.3px}hr{border:none;border-top:1px solid var(--border);margin:14px 0}@media print{.no-print,.cp-actions,.sidebar,.topbar,#login-screen,#toast-container,
  .modal-overlay:not(.comprovante-overlay){display:none!important}body{background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width:640px){:root{--topbar-h:54px}#login-screen{padding:clamp(14px,4vw,28px)}#login-form{position:relative}.login-card{padding:20px 18px}.login-logo{margin-bottom:12px}.login-logo img{width:56px;height:56px;mix-blend-mode:multiply;border-radius:0!important;background:transparent}.login-logo h1{font-size:1rem;margin-top:6px}.login-logo p{display:none}.login-card h2{font-size:0.9rem;margin-bottom:12px;height:2.2rem}.login-error{margin-bottom:12px}.form-group{margin-bottom:8px}.form-group label{font-size:0.75rem;margin-bottom:3px}.form-group input{padding:8px 10px;font-size:0.88rem}.topbar-left h1{
    font-size:clamp(0.68rem,3.2vw,0.92rem);
    white-space:normal;line-height:1.2;
    overflow:visible;text-overflow:unset;
    max-width:calc(100vw - 150px)
  }.sidebar-brand h2{
    white-space:nowrap;
    line-height:1.25;
    font-size:0!important;
    color:transparent
  }.sidebar-brand h2::before{
    content:"Grupo Excelência®";
    font-size:1.05rem;
    font-weight:800;
    color:var(--gold-light);
    letter-spacing:0.3px;
    display:block
  }.stat-icon svg{width:16px;height:16px}.btn-lg{padding:12px 20px;font-size:0.95rem}.btn{min-height:46px}.btn-sm{min-height:38px;padding:6px 12px}.btn-icon{width:42px;height:42px}.filter-btns .btn{flex:1}.table-actions>.btn{flex:1}.export-btns .btn{flex:1 1 0;min-width:0;padding:7px 6px;font-size:0.68rem;gap:3px}.export-btns .btn svg{width:11px;height:11px}.modal-footer .btn{flex:1}.cp-actions .btn{flex:1}.config-panel>*{max-width:100%;box-sizing:border-box}}@media (max-width:380px){:root{--touch:42px}html{font-size:14px}#login-screen{padding:clamp(12px,3.5vw,22px)}#login-form{position:relative}.login-card{padding:16px 14px}.login-logo h1{font-size:0.9rem}.captcha-wrap img{width:160px!important;height:60px!important;max-width:160px!important}}@media(max-width:480px){.rel-kpi-icon svg{width:15px;height:15px}}.dash-chart-header h3{font-size:0.84rem;font-weight:700;color:var(--text)}svg{max-width:100%}#dash-chart-mensal-svg svg,#chart-agentes svg,#chart-destinos svg,
#rel-chart-barras svg,#rel-chart-mensal-svg svg,#rel-chart-destinos svg{
  width:100%!important;max-width:100%!important;height:auto
}.filters-grid>.filter-group,
.form-row>.form-group,.form-row-3>.form-group,.form-row-4>.form-group,
.dash-kpi,.rel-kpi-card,.rel-main-grid>div,.dash-col,
.stat-card,.chart-card,.chart-bar-item{min-width:0}html,body{max-width:100vw;overflow-x:hidden}@media(max-width:640px){.form-group[style*="width"]{width:100%!important;max-width:100%!important}}@media(max-width:390px){html{font-size:14px}}@media(max-width:360px){html{font-size:13.5px}}@media(max-width:320px){html{font-size:13px}}.fat-dest-check input{cursor:pointer}@media(max-width:640px){.cp-qr-info button{width:100%!important;justify-content:center!important}}body{background:linear-gradient(160deg,#eef1f7 0%,#e8ecf5 60%,#eef1f7 100%)}.topbar-left h1{color:var(--navy)}.btn-gold{background:linear-gradient(135deg,#c9a84c,#e8c96a 50%,#c9a84c);box-shadow:0 2px 8px rgba(201,168,76,0.3)}.btn-gold:hover{box-shadow:0 4px 16px rgba(201,168,76,0.5);transform:translateY(-1px)}@media (max-width:768px){.topbar-left h1{color:#e8c96a!important;font-size:0.9rem!important}}@media (max-width:768px){.agcard-actions .btn-icon{width:36px;height:36px;border-color:rgba(255,255,255,0.2);color:rgba(255,255,255,0.8);background:rgba(255,255,255,0.1)}.agcard-actions .btn-icon.danger{color:#ff9999}.agcard-actions .btn-icon.success{color:#80e0b0}}@media (max-width:420px){.captcha-wrap{flex-wrap:nowrap;gap:6px}.captcha-wrap img{
    width:130px!important;height:44px!important;
    flex-shrink:1;min-width:0
  }}@media (max-width:360px){#login-screen{padding:10px!important}.captcha-wrap img{width:108px!important;height:38px!important}.login-card{padding:14px 12px}}@media (max-width:320px){.captcha-wrap img{width:88px!important;height:34px!important}.captcha-reload{width:38px!important;min-width:38px!important;height:38px!important}}