/* COBRETUDO: camada visual para os painéis existentes. Não altera fluxos ou dados. */
body.painel-claro{--bg:#f4f7f8;--bg2:#f4f7f8;--panel:#fff;--panel2:#f8fbfc;--line:#dce6eb;--text:#183047;--muted:#5d7180;--shadow:0 8px 24px rgba(20,48,65,.045);background:#f4f7f8;color:var(--text);font-size:13px;line-height:1.5}
.painel-claro .sidebar,.painel-claro .side{background:#092337;border-color:#153e53}
.painel-claro .sidebar .brand,.painel-claro .side .brand{color:#fff;font-size:21px}
.painel-claro .sidebar .brand-sub,.painel-claro .side .sub{color:#b9d5e2;letter-spacing:2px;font-size:10px}
.painel-claro .userbox,.painel-claro .user{background:#103249;border-color:#295168;color:#fff}
.painel-claro .userbox div,.painel-claro .user div{color:#b9d5e2}
.painel-claro .nav{gap:3px}
.painel-claro .nav button{padding:10px 12px;font-size:13px;font-weight:600;color:#d5e8ef}
.painel-claro .nav button.active,.painel-claro .nav button:hover{background:#086c55;color:#fff}
.painel-claro .nav .ico{color:#8ee1c7}
.painel-claro .main,.painel-claro main{padding:26px 30px 44px;max-width:1600px;width:100%}
.painel-claro .title h1,.painel-claro .head h1{font-size:26px;line-height:1.2;letter-spacing:-.025em}
.painel-claro .title p,.painel-claro .head p{font-size:13px;color:#647789;line-height:1.45}
.painel-claro .header,.painel-claro .head{margin-bottom:18px}
.painel-claro .grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.painel-claro .cards{grid-template-columns:repeat(3,minmax(0,1fr))}
.painel-claro .card,.painel-claro .panel,.painel-claro .modal,.painel-claro .drawer,.painel-claro .billing-modal{background:#fff;border:1px solid #dce6eb;box-shadow:var(--shadow);color:#183047}
.painel-claro .card,.painel-claro .panel{border-radius:15px}
.painel-claro .panel h2,.painel-claro .section-title h2{font-size:17px;line-height:1.3;margin-bottom:12px}
.painel-claro .metric .label,.painel-claro .card .k{color:#607889;font-size:12px}
.painel-claro .metric .num,.painel-claro .card .v{font-size:25px;color:#153047;margin-top:5px}
.painel-claro .metric .hint{color:#5d7888}
.painel-claro .muted,.painel-claro .empty{color:#607889}
.painel-claro .tablewrap{border-color:#dce6eb;background:#fff}
.painel-claro th{background:#f3f7f9;color:#586f7d;font-size:12px}
.painel-claro td{color:#233e50}
.painel-claro th,.painel-claro td{border-bottom-color:#e8eef1;padding:10px 11px}
.painel-claro tbody tr.clickable:hover{background:#edf8f4}
.painel-claro .field label{color:#415e70;font-size:12px}
.painel-claro .field input,.painel-claro .field select,.painel-claro .field textarea{background:#fff;color:#183047;border:1px solid #ccdae1;border-radius:9px}
.painel-claro input::placeholder,.painel-claro textarea::placeholder{color:#8598a3}
.painel-claro .btn{background:#edf3f6;border:1px solid #d2e1e8;color:#214255;font-size:13px;padding:9px 13px}
.painel-claro .btn.green{background:#078a64;border-color:#078a64;color:#fff}
.painel-claro .btn.blue{background:#176da4;border-color:#176da4;color:#fff}
.painel-claro .btn.danger{background:#fff0f1;border-color:#efcbd0;color:#a82d42}
.painel-claro .btn.ghost{background:#fff;border-color:#d2e1e8;color:#214255}
.painel-claro .info,.painel-claro .placeholder,.painel-claro .notice-green{background:#eef7f5;border-color:#cfe5dc;color:#315a53}
.painel-claro .badge.yellow,.painel-claro .yellow{background:#fff2cc;color:#765600;border-color:#ecd999}
.painel-claro .badge.green,.painel-claro .greenb,.painel-claro .status-paid{background:#ddf5e9;color:#116747;border-color:#b9e3cd}
.painel-claro .badge.blue,.painel-claro .blueb{background:#e4f1fc;color:#185c90;border-color:#cae2f3}
.painel-claro .badge.red,.painel-claro .status-overdue{background:#fde9ec;color:#a42f42;border-color:#f4d2d8}
.painel-claro .badge.purple{background:#eee9fc;color:#5943a4}
.painel-claro .chip,.painel-claro .periodbar button,.painel-claro .fin-filter button,.painel-claro .analytics-tabs button{background:#fff;color:#28566b;border-color:#cbdfe8}
.painel-claro .chip.active,.painel-claro .periodbar button.active,.painel-claro .analytics-tabs button.active{background:#e1f5eb;color:#086c55;border-color:#9dd9bf}
.painel-claro .stop,.painel-claro .money,.painel-claro .pending-card,.painel-claro .report-box,.painel-claro .client-stat,.painel-claro .route-card,.painel-claro .next-action,.painel-claro .billing-box,.painel-claro .analytics-card,.painel-claro .delivery-row,.painel-claro .ns-point,.painel-claro .ns-quote-card,.painel-claro .invoice-card,.painel-claro .doc-item,.painel-claro .billing-doc{background:#f8fbfc;border-color:#dce6eb;color:#183047}
.painel-claro .money .k,.painel-claro .pending-card .k,.painel-claro .report-box .k,.painel-claro .client-stat .k,.painel-claro .analytics-card .k,.painel-claro .ns-quote-card .k{color:#607889}
.painel-claro .money .v,.painel-claro .pending-card .v,.painel-claro .report-box .v,.painel-claro .client-stat .v,.painel-claro .analytics-card .v,.painel-claro .ns-quote-card .v{color:#183047}
.painel-claro .ns-control,.painel-claro .action-link{background:#eef5f8;border-color:#cbdfe8;color:#24506a}
.painel-claro .ns-control.active,.painel-claro .action-link.green{background:#078a64;color:#fff;border-color:#078a64}
.painel-claro .ns-suggestions,.painel-claro .admin-suggestions{background:#fff;border-color:#dce6eb;color:#183047}
.painel-claro .ns-suggestions button,.painel-claro .admin-suggestions button{background:#fff;color:#183047;border-color:#e8eef1}
.painel-claro .wait-time-box{background:#eaf6f1;color:#1a5143;border-color:#cde7da}
.painel-claro .kv div:nth-child(odd),.painel-claro .event small,.painel-claro .track-event small{color:#607889}
.painel-claro .modal-bg,.painel-claro .drawer-backdrop,.painel-claro .billing-modal-bg{background:rgba(8,28,42,.48)}
@media(max-width:1100px){.painel-claro .grid-cards,.painel-claro .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.painel-claro .main,.painel-claro main{padding:18px}.painel-claro .grid-cards,.painel-claro .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.painel-claro .grid-cards,.painel-claro .cards{grid-template-columns:1fr}.painel-claro .title h1,.painel-claro .head h1{font-size:23px}}

/* Contraste do tema claro nos componentes herdados das telas antigas. */
.painel-claro .rule-card,.painel-claro .summary-item,.painel-claro .driver-stat,.painel-claro .kpi,.painel-claro .step,.painel-claro .dispatch-box,.painel-claro .invoice-meta .box,.painel-claro .payment-modal .pay-box,.painel-claro .billing-stat,.painel-claro .billing-doc,.painel-claro .demo-banner{background:#f8fbfc;border-color:#d5e2e9;color:#183047}
.painel-claro .rule-card.active,.painel-claro .step.active{background:#e9f7f0;border-color:#078a64;color:#163c32}
.painel-claro .rule-card b,.painel-claro .step b,.painel-claro .summary-item .v,.painel-claro .driver-stat .v,.painel-claro .kpi .v,.painel-claro .invoice-meta .v,.painel-claro .demo-banner b{color:#183047}
.painel-claro .rule-card small,.painel-claro .step small,.painel-claro .summary-item .k,.painel-claro .driver-stat .k,.painel-claro .kpi .k,.painel-claro .invoice-meta .k,.painel-claro .demo-banner{color:#50697a}
.painel-claro .rule-preview{background:#eaf3f8;border-color:#b7d3e4;color:#183f55}
.painel-claro .pay-filter button,.painel-claro .fin-filter button{background:#fff;color:#24506a;border-color:#cbdfe8}
.painel-claro .pay-filter button.active,.painel-claro .fin-filter button.active{background:#e1f5eb;color:#086c55;border-color:#9dd9bf}
.painel-claro .ns-suggestion,.painel-claro .admin-suggestions button{background:#fff;color:#183047;border-bottom-color:#e8eef1}
.painel-claro .ns-suggestion:hover,.painel-claro .admin-suggestions button:hover{background:#edf8f4}
.painel-claro .ns-suggestion small,.painel-claro .admin-suggestions small,.painel-claro .doc-item small,.painel-claro .delivery-row .small{color:#526f80}
.painel-claro .ns-location-ok,.painel-claro .ns-quote-status.ok{color:#086c55}
.painel-claro .ns-location-warn{color:#8b5100}
.painel-claro .ns-quote-status.error{color:#aa293f}
.painel-claro .sidebar .brand-lockup,.painel-claro .side .brand-lockup{align-items:center}
.painel-claro .sidebar .brand,.painel-claro .side .brand{font-size:19px;letter-spacing:-.04em}
.painel-claro .sidebar .brand-logo,.painel-claro .side .brand-logo{width:58px;height:58px;flex-basis:58px;border:1px solid #365d6b}
.painel-claro .rule-card,.painel-claro .pay-filter button{cursor:pointer}

/* Nova solicitação: formulário compacto ao lado do mapa. */
.painel-claro .route-split{display:grid;grid-template-columns:minmax(360px,42%) minmax(0,1fr);gap:14px;align-items:stretch;margin-bottom:16px}
.painel-claro .route-split .route-form-panel{margin:0;min-width:0}
.painel-claro .route-map-panel{min-width:0;background:#fff;border:1px solid #dce6eb;border-radius:15px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.painel-claro .route-map-title{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e4edf1}
.painel-claro .route-map-title strong{font-size:15px;color:#183047}
.painel-claro .route-map-title span,.painel-claro .route-map-note{font-size:11px;color:#607889}
.painel-claro .route-map-note{margin:0;padding:10px 15px;background:#fff}
.painel-claro .route-live-map{flex:1;min-height:440px;background:#e7f0ed;z-index:0}
.painel-claro .route-split .route-builder{grid-template-columns:1fr}
.painel-claro .route-split .route-card,.painel-claro .route-split .ns-point{background:#fff;border:1px solid #dce6eb;color:#183047;padding:12px}
.painel-claro .route-split .route-card h3,.painel-claro .route-split .ns-point-title{color:#183047}
.painel-claro .route-split .ns-point-num{background:#ebf4fa;color:#17618a}
.painel-claro .route-split .route-card+.route-card{margin-top:10px}
.painel-claro .route-split .ns-controls{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.painel-claro .route-split .ns-controls button{font-size:11px;padding:8px 10px}
.painel-claro .route-split .route-card .muted{color:#526f80}
.painel-claro .route-split .route-card .field{position:relative}
@media(max-width:1050px){.painel-claro .route-split{grid-template-columns:1fr}.painel-claro .route-live-map{height:380px;min-height:380px}}
@media(max-width:600px){.painel-claro .route-split{gap:10px}.painel-claro .route-live-map{height:270px;min-height:270px}.painel-claro .route-map-title{align-items:flex-start;flex-direction:column;gap:3px}}

/* Painéis mais densos em telas de computador, sem reduzir os campos no celular. */
@media(min-width:1051px){
 .painel-claro .main,.painel-claro main{padding:16px 22px 32px}
 .painel-claro .header,.painel-claro .head{margin-bottom:12px}
 .painel-claro .title h1,.painel-claro .head h1{font-size:22px}
 .painel-claro .title p,.painel-claro .head p{font-size:12px}
 .painel-claro .panel{padding:14px}
 .painel-claro .panel h2,.painel-claro .section-title h2{font-size:15px;margin-bottom:8px}
 .painel-claro .route-split{grid-template-columns:minmax(420px,48%) minmax(0,1fr);gap:12px;margin-bottom:12px}
 .painel-claro .route-split .route-card{padding:10px}
 .painel-claro .route-split .route-card+.route-card{margin-top:7px}
 .painel-claro .route-live-map{min-height:350px}
 .painel-claro .card .v,.painel-claro .metric .num{font-size:21px}
 .painel-claro .nav button{padding:8px 11px;font-size:12px}
}
.painel-claro .region-point{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#087d60;border:2px solid #fff;box-shadow:0 2px 7px #18304777;color:#fff;font:800 13px Montserrat,Arial,sans-serif;cursor:pointer}


/* ============================================================
   REORGANIZACAO VISUAL — 2026-09-18  (camada; nao altera fluxos/dados)
   Objetivo: layout mais limpo, profissional e comercial.
   Por vir por ultimo, tem prioridade sobre as regras acima.
   ============================================================ */
body.painel-claro{--brand:#0b7a5b;--brand-2:#37e0ac;--ink:#132b3d;--ink2:#5a7183;background:#eef3f5}

/* Sidebar mais sobria e com cara de produto */
.painel-claro .side,.painel-claro .sidebar{background:linear-gradient(180deg,#0a2740,#071d30);padding:20px 14px}
.painel-claro .side .brand-lockup,.painel-claro .sidebar .brand-lockup{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.08)}
.painel-claro .side .brand-logo,.painel-claro .sidebar .brand-logo{width:46px;height:46px;flex-basis:46px;border:0;border-radius:11px;object-fit:cover;object-position:center 32%;background:#071d30}
.painel-claro .user,.painel-claro .userbox{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:12px}
.painel-claro .nav{gap:4px}
.painel-claro .nav button{position:relative;border-radius:10px;padding:11px 12px;font-weight:600;color:#cfe3ec;transition:background .15s,color .15s}
.painel-claro .nav button:hover{background:rgba(255,255,255,.06);color:#fff}
.painel-claro .nav button.active{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(11,122,91,.35)}
.painel-claro .nav button.active::before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--brand-2)}
.painel-claro .nav .ico{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:inherit;opacity:.92}
.painel-claro .nav .ico svg{width:18px;height:18px;display:block}
.painel-claro .logout{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#eaf4f8;font-weight:700}
.painel-claro .logout:hover{background:rgba(255,255,255,.10)}

/* Area principal com mais respiro e hierarquia */
.painel-claro .main,.painel-claro main{background:#eef3f5}
.painel-claro .head h1,.painel-claro .title h1{color:var(--ink);font-weight:800;letter-spacing:-.02em}
.painel-claro .head p,.painel-claro .title p{color:var(--ink2)}
.painel-claro .panel h2,.painel-claro .section-title h2{color:var(--ink);font-weight:800}

/* Cards / paineis: contorno suave e numero em destaque */
.painel-claro .cards,.painel-claro .grid-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.painel-claro .card,.painel-claro .panel{border:1px solid #dbe6ec;border-radius:14px;box-shadow:0 1px 2px rgba(20,48,65,.04),0 8px 24px rgba(20,48,65,.05)}
.painel-claro .card .k,.painel-claro .metric .label{color:#6a8090;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.painel-claro .card .v,.painel-claro .metric .num{color:var(--ink);font-weight:800}
.painel-claro .metric{position:relative;overflow:hidden}
.painel-claro .metric::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);opacity:.85}

/* Acao principal forte (comercial); secundaria mais discreta */
.painel-claro .btn.green{background:linear-gradient(180deg,#0e9c72,#0a7d59);border-color:#0a7d59;box-shadow:0 6px 16px rgba(11,122,91,.22)}
.painel-claro .btn.green:hover{filter:brightness(1.05)}
.painel-claro .btn.ghost{background:#fff;border-color:#cddbe3;color:#2a5064}
.painel-claro .btn.ghost:hover{background:#f2f7f9}

/* BUG FIX — box de tempo de coleta (cliente): legivel e comercial */
.painel-claro .wait-time-box{background:linear-gradient(180deg,#e9f7f1,#e0f2ea);border:1px solid #b8e0cf;color:#0f5132;box-shadow:none}
.painel-claro .wait-time-box .label{color:#0a6b4a;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.painel-claro .wait-time-box .time{color:#0a5138;font-size:24px}
.painel-claro .wait-time-box .note{color:#3f7a63}

/* Tabelas mais limpas */
.painel-claro th{background:#f4f8fa;text-transform:uppercase;letter-spacing:.02em;font-size:11px}

/* Chips de periodo/filtro coerentes com a marca */
.painel-claro .periodbar button.active,.painel-claro .fin-filter button.active,.painel-claro .analytics-tabs button.active,.painel-claro .pay-filter button.active{background:var(--brand);color:#fff;border-color:var(--brand)}

@media(max-width:560px){.painel-claro .cards,.painel-claro .grid-cards{grid-template-columns:1fr 1fr}}

/* Fix de contraste: cards .box (Distância / Tempo / Cliente paga / Pagamento) ficavam texto escuro sobre fundo escuro */
.painel-claro .box{background:#f8fbfc;border:1px solid #dce6eb;color:#183047;border-radius:12px}
.painel-claro .box .k{color:#607889}
.painel-claro .box .v{color:#183047;font-weight:800}

/* CT: feedback tatil de clique - botao afunda ao pressionar (v21) */
button:active,[class*="btn"]:active,[role=button]:active,input[type=button]:active,input[type=submit]:active,.chip-item:active,.gallery-tab:active,.ct-checkout-primary:active,.quote-request-btn:active,.ct-customer-btn:active,.ct-mini-action:active,.ct-login-submit:active,.ct-login-close:active,.wa-float:active,.v6-whatsapp-link:active,.v6-service-card:active,.gcarousel-arrow:active,.nav-toggle:active,.back-link:active,.logout:active,.nav button:active{transform:translateY(1.5px) scale(.985);filter:brightness(.93)}


/* 2026-09-19 — dashboard enxuto + menu lateral retrátil — revisão profissional */
@media(min-width:801px){
  /* ADM: o menu participa do grid. Ao abrir, empurra o conteúdo; nunca cobre a página. */
  body.admin-page .app{grid-template-columns:76px minmax(0,1fr);transition:grid-template-columns .22s ease}
  body.admin-page .app.menu-expanded{grid-template-columns:238px minmax(0,1fr)}
  body.admin-page .sidebar{width:100%;min-width:0;padding:14px 10px;overflow:hidden;z-index:4;transition:box-shadow .22s ease,padding .22s ease;box-shadow:8px 0 22px rgba(9,35,55,.06)}
  body.admin-page .app.menu-expanded .sidebar{padding-left:14px;padding-right:14px;box-shadow:8px 0 24px rgba(9,35,55,.08)}
  body.admin-page .sidebar .brand-lockup{justify-content:center;margin-bottom:18px;gap:10px;white-space:nowrap}
  body.admin-page .sidebar .brand-lockup>div{opacity:0;width:0;overflow:hidden;pointer-events:none;transition:opacity .12s ease,width .18s ease}
  body.admin-page .app.menu-expanded .sidebar .brand-lockup{justify-content:flex-start}
  body.admin-page .app.menu-expanded .sidebar .brand-lockup>div{opacity:1;width:150px;pointer-events:auto}
  body.admin-page .sidebar .brand-logo{width:44px;height:44px;flex-basis:44px}
  body.admin-page .sidebar .userbox{opacity:0;height:0;min-height:0;padding:0;margin:0;border-width:0;overflow:hidden;pointer-events:none;transition:opacity .12s ease,height .18s ease,padding .18s ease,margin .18s ease}
  body.admin-page .app.menu-expanded .sidebar .userbox{opacity:1;height:auto;padding:12px;margin-bottom:14px;border-width:1px;pointer-events:auto}
  body.admin-page .sidebar .nav button{width:100%;height:43px;padding:10px 11px;font-size:0;gap:12px;white-space:nowrap;overflow:hidden;justify-content:flex-start}
  body.admin-page .sidebar .nav .ico{width:22px;min-width:22px;height:22px;display:grid;place-items:center;font-size:13px}
  body.admin-page .app.menu-expanded .sidebar .nav button{font-size:12px}
  body.admin-page .sidebar .logout{font-size:0;padding:11px 9px;min-height:42px;white-space:nowrap;overflow:hidden}
  body.admin-page .sidebar .logout:before{content:'↪';font-size:18px;display:inline-block}
  body.admin-page .app.menu-expanded .sidebar .logout{font-size:12px;text-align:center}
  body.admin-page .app.menu-expanded .sidebar .logout:before{margin-right:7px;font-size:14px}

  /* CLIENTE: mesmo padrão visual, com rótulos realmente escondidos quando fechado. */
  body.client-page .app{grid-template-columns:76px minmax(0,1fr);transition:grid-template-columns .22s ease}
  body.client-page .app.menu-expanded{grid-template-columns:238px minmax(0,1fr)}
  body.client-page .side{width:100%;min-width:0;position:sticky;top:0;height:100vh;padding:14px 10px;overflow:hidden;z-index:4;transition:box-shadow .22s ease,padding .22s ease;box-shadow:8px 0 22px rgba(9,35,55,.06)}
  body.client-page .app.menu-expanded .side{padding-left:14px;padding-right:14px;box-shadow:8px 0 24px rgba(9,35,55,.08)}
  body.client-page .side .brand-lockup{justify-content:center;margin-bottom:18px;gap:10px;white-space:nowrap}
  body.client-page .side .brand-lockup>div{opacity:0;width:0;overflow:hidden;pointer-events:none;transition:opacity .12s ease,width .18s ease}
  body.client-page .app.menu-expanded .side .brand-lockup{justify-content:flex-start}
  body.client-page .app.menu-expanded .side .brand-lockup>div{opacity:1;width:150px;pointer-events:auto}
  body.client-page .side .brand-logo{width:44px;height:44px;flex-basis:44px}
  body.client-page .side .user{opacity:0;height:0;min-height:0;padding:0;margin:0;border-width:0;overflow:hidden;pointer-events:none;transition:opacity .12s ease,height .18s ease,padding .18s ease,margin .18s ease}
  body.client-page .app.menu-expanded .side .user{opacity:1;height:auto;padding:12px;margin-bottom:14px;border-width:1px;pointer-events:auto}
  body.client-page .client-nav{display:flex;flex-direction:column;gap:5px}
  body.client-page .client-nav button{display:flex;align-items:center;gap:12px;width:100%;height:43px;padding:10px 11px;white-space:nowrap;overflow:hidden;text-align:left}
  body.client-page .client-nav .ico,body.client-page .client-logout .ico{width:22px;min-width:22px;height:22px;display:grid;place-items:center;color:inherit}
  body.client-page .client-nav .ico svg,body.client-page .client-logout .ico svg{width:18px;height:18px;display:block}
  body.client-page .client-nav .nav-label,body.client-page .client-logout .nav-label{opacity:0;width:0;overflow:hidden;pointer-events:none;transition:opacity .12s ease,width .18s ease}
  body.client-page .app.menu-expanded .client-nav .nav-label,body.client-page .app.menu-expanded .client-logout .nav-label{opacity:1;width:160px;pointer-events:auto}
  body.client-page .client-logout{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;height:43px;padding:10px 11px;white-space:nowrap;overflow:hidden}
  body.client-page .client-nav button.active::before{left:-10px}
}
@media(max-width:800px){
  body.admin-page .app,body.client-page .app,body.admin-page .app.menu-expanded,body.client-page .app.menu-expanded{grid-template-columns:1fr!important;transition:none}
  body.admin-page .sidebar,body.client-page .side{width:100%!important;min-width:0!important;position:relative!important;height:auto!important;overflow:visible!important;padding:16px 14px!important;box-shadow:none!important}
  body.admin-page .sidebar .brand-lockup,body.client-page .side .brand-lockup{justify-content:flex-start!important}
  body.admin-page .sidebar .brand-lockup>div,body.client-page .side .brand-lockup>div{opacity:1!important;width:auto!important;pointer-events:auto!important}
  body.admin-page .sidebar .userbox,body.client-page .side .user{opacity:1!important;height:auto!important;padding:12px!important;margin-bottom:14px!important;border-width:1px!important;pointer-events:auto!important}
  body.admin-page .sidebar .nav button{font-size:12px!important;height:auto!important;overflow:visible!important}
  body.admin-page .sidebar .logout{font-size:12px!important}
  body.admin-page .sidebar .logout:before{display:none!important}
  body.client-page .client-nav{display:grid!important;grid-template-columns:1fr 1fr!important}
  body.client-page .client-nav .nav-label,body.client-page .client-logout .nav-label{opacity:1!important;width:auto!important;pointer-events:auto!important}
  body.client-page .client-logout{width:100%;justify-content:center}
}
.painel-claro .dashboard-refresh{width:42px;min-width:42px;padding:9px 0;font-size:18px}
.painel-claro .dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.painel-claro .dashboard-kpi{border:1px solid #dce6eb;background:#fff;border-radius:16px;padding:15px 16px;min-height:124px;display:grid;grid-template-columns:48px minmax(0,1fr) 28px;gap:12px;align-items:center;text-align:left;color:#183047;box-shadow:var(--shadow);transition:.15s ease}
.painel-claro .dashboard-kpi:hover{transform:translateY(-1px);border-color:#bad2dd;box-shadow:0 12px 28px rgba(20,48,65,.08)}
.painel-claro .dashboard-kpi-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:19px;font-weight:900}
.painel-claro .dashboard-kpi.orange .dashboard-kpi-icon{background:#fff0e6;color:#df5f17}.painel-claro .dashboard-kpi.green .dashboard-kpi-icon{background:#e8f8ef;color:#078a64}.painel-claro .dashboard-kpi.blue .dashboard-kpi-icon{background:#e8f3fc;color:#176da4}.painel-claro .dashboard-kpi.mint .dashboard-kpi-icon{background:#e8f8f2;color:#078a64}
.painel-claro .dashboard-kpi-copy{display:block;min-width:0}.painel-claro .dashboard-kpi-copy small{display:block;font-size:12px;font-weight:700;color:#536c7b}.painel-claro .dashboard-kpi-copy strong{display:block;font-size:25px;line-height:1.12;margin-top:6px;color:#102b3d;white-space:nowrap}.painel-claro .dashboard-kpi-copy em{display:block;font-size:10px;font-style:normal;color:#708691;margin-top:6px}
.painel-claro .dashboard-kpi-arrow{width:28px;height:28px;border-radius:50%;background:#f0f5f7;display:grid;place-items:center;font-size:20px;color:#5f7b8b}
.painel-claro .dashboard-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:14px;align-items:stretch}
.painel-claro .dashboard-split>.panel{margin-bottom:16px;min-height:315px}
.painel-claro .dashboard-period-label{border:1px solid #dce6eb;background:#f8fbfc;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:700;color:#607889}
.painel-claro .ops-chart{height:220px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:end;padding:14px 14px 0;border-bottom:1px solid #e7eef1}
.painel-claro .ops-chart-col{height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;text-align:center;align-items:end}.painel-claro .ops-chart-col>span{font-size:10px;font-weight:700;color:#536c7b;min-height:18px}
.painel-claro .ops-chart-track{height:175px;background:#f4f7f8;border:1px solid #e7eef1;border-radius:13px;display:flex;align-items:flex-end;padding:8px}
.painel-claro .ops-chart-bar{width:100%;min-height:4px;border-radius:9px 9px 4px 4px;display:flex;justify-content:center;align-items:flex-start;padding-top:7px;transition:height .2s ease}.painel-claro .ops-chart-bar b{font-size:12px;color:#183047}.painel-claro .ops-chart-bar.orange{background:linear-gradient(180deg,#ffbe93,#ff8a4f)}.painel-claro .ops-chart-bar.green{background:linear-gradient(180deg,#9be8c2,#33c987)}.painel-claro .ops-chart-bar.red{background:linear-gradient(180deg,#ffc0c7,#ef6b78)}
.painel-claro .pending-list{display:grid;gap:9px}.painel-claro .pending-row{width:100%;border:1px solid #dce6eb;background:#fff;border-radius:12px;padding:11px;display:grid;grid-template-columns:38px minmax(0,1fr) 30px 16px;gap:10px;align-items:center;color:#183047;text-align:left}.painel-claro .pending-row:hover{background:#f8fbfc;border-color:#c3d7e1}.painel-claro .pending-icon{width:36px;height:36px;border-radius:10px;background:#eef5f8;color:#176da4;display:grid;place-items:center;font-size:11px;font-weight:900}.painel-claro .pending-copy b{display:block;font-size:11px}.painel-claro .pending-copy small{display:block;font-size:9px;color:#718693;margin-top:3px}.painel-claro .pending-count{width:29px;height:29px;border-radius:50%;background:#fff1dd;color:#a85c00;display:grid;place-items:center;font-size:11px;font-weight:900}.painel-claro .pending-arrow{font-size:20px;color:#7d94a1}.painel-claro .pending-empty{min-height:205px;border:1px dashed #cfe4da;background:#f5fbf8;border-radius:13px;display:flex;align-items:center;justify-content:center;gap:12px;color:#176447;text-align:left}.painel-claro .pending-empty>span{width:38px;height:38px;border-radius:50%;background:#dff5e9;display:grid;place-items:center;font-weight:900}.painel-claro .pending-empty b{display:block;font-size:12px}.painel-claro .pending-empty small{display:block;color:#668176;font-size:9px;margin-top:3px}
.painel-claro .dashboard-recent-table{min-width:820px}.painel-claro .analytics-compact{padding:14px 16px}.painel-claro .analytics-grid-compact{margin-top:10px}.painel-claro .analytics-grid-compact .analytics-card{padding:10px 12px}.painel-claro .analytics-grid-compact .analytics-card .v{font-size:20px}
.painel-claro .report-route-cell{min-width:320px;max-width:520px}.painel-claro .report-route{display:grid;gap:5px;line-height:1.35}.painel-claro .report-route span{display:block;font-size:11px;color:#405d6d}.painel-claro .report-route b{color:#183047}
@media(max-width:1150px){.painel-claro .dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.painel-claro .dashboard-split{grid-template-columns:1fr}}
@media(max-width:650px){.painel-claro .dashboard-kpis{grid-template-columns:1fr}.painel-claro .dashboard-kpi{min-height:104px}.painel-claro .ops-chart{gap:8px;padding-left:4px;padding-right:4px}.painel-claro .ops-chart-col>span{font-size:9px}}
