:root{
  --bg:#f2f2f2;
  --bg-soft:#ffffff;
  --card:#ffffff;
  --card-2:#f7f7f7;
  --text:#0f5f4d;
  --text-strong:#0b4c3e;
  --muted:#6b6b6b;
  --line:#e8e8e8;
  --line-soft:rgba(15,95,77,.12);
  --shadow:0 14px 34px rgba(0,0,0,.08);
  --accent:#b7d84b;
  --accent-strong:#a8cb34;
  --accent-dark:#0f5f4d;
}
*{box-sizing:border-box}
html,body{
  margin:0;padding:0;
  background:linear-gradient(180deg,#f6f6f6 0%,#efefef 100%);
  color:var(--text);
  font-family:Arial,sans-serif;
}
a{text-decoration:none;color:inherit}
.container{max-width:620px;margin:0 auto;padding:20px}
.container-wide{max-width:1320px;margin:0 auto;padding:24px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.brand-row{display:flex;align-items:center;gap:12px}
.logo-badge{
  width:44px;height:44px;border-radius:14px;
  background:var(--accent);
  color:var(--accent-dark);
  display:grid;place-items:center;
  border:1px solid rgba(0,0,0,.05);
  box-shadow:var(--shadow);
  font-weight:900;
}
.brand-name{font-weight:800;letter-spacing:-.02em;color:var(--text-strong)}
.hero,.card,.admin-highlight{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:30px;
  padding:22px;
  box-shadow:var(--shadow);
}
.input,.textarea,.select{
  width:100%;border:none;outline:none;
  color:var(--text-strong);background:#fbfbfb;
  border:1px solid var(--line);border-radius:18px;
  padding:16px 15px;font-size:16px;
}
.input:focus,.textarea:focus,.select:focus{
  border-color:rgba(15,95,77,.35);
  box-shadow:0 0 0 4px rgba(183,216,75,.20);
}
.textarea{min-height:100px}
.btn{
  width:100%;border:none;border-radius:18px;padding:15px 18px;font-size:15px;font-weight:800;cursor:pointer;
  transition:transform .15s ease,filter .15s ease;
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.01)}
.btn:active{transform:scale(.99)}
.btn-white{
  background:linear-gradient(180deg,var(--accent),var(--accent-strong));
  color:#fff;
  box-shadow:0 14px 28px rgba(183,216,75,.28);
}
.btn-dark{
  background:linear-gradient(180deg,var(--accent-dark),#0b4c3e);
  color:#fff;border:1px solid rgba(0,0,0,.05)
}
.btn-outline{
  background:#fff;color:var(--accent-dark);border:1px solid rgba(15,95,77,.18)
}
.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}
.grid-2,.filters,.desktop-layout,.action-grid,.admin-highlight-grid{display:grid;gap:14px}
.grid-2{grid-template-columns:1fr 1fr}
.filters{grid-template-columns:1fr 1fr 1fr auto}
.desktop-layout{grid-template-columns:1.08fr .92fr}
.action-grid{grid-template-columns:repeat(3,1fr)}
.admin-highlight-grid{grid-template-columns:repeat(4,1fr)}
.table-wrap{overflow:auto;border-radius:24px;border:1px solid var(--line);background:#fff}
table{width:100%;border-collapse:collapse}
th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;white-space:nowrap;color:var(--text-strong)}
th{background:#f8faf5}
.hidden{display:none}
.badge{
  display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;
  background:rgba(183,216,75,.22);color:var(--accent-dark);font-weight:800;font-size:12px
}
.soft-badge{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;
  background:rgba(15,95,77,.05);border:1px solid rgba(15,95,77,.10);color:var(--accent-dark);font-size:12px;font-weight:700;
}
.status-pago{
  display:inline-block;padding:6px 10px;border-radius:999px;background:#b7d84b;color:#0b4c3e;font-weight:800;font-size:12px
}
.status-pendente{
  display:inline-block;padding:6px 10px;border-radius:999px;background:#e7f0bf;color:#0b4c3e;font-weight:800;font-size:12px
}
.muted{color:var(--muted)}
.hero-title{font-size:clamp(30px,5vw,56px);line-height:1.02;letter-spacing:-.05em;margin:8px 0 14px;max-width:760px;color:var(--text-strong)}
.hero-copy,.section-note{max-width:740px;color:var(--muted);font-size:15px;line-height:1.6}
.action-grid{gap:16px}
.action-pro{
  min-height:178px;padding:24px 20px;border-radius:28px;
  box-shadow:0 14px 26px rgba(15,95,77,.12);
  display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start
}
.action{border:none;color:#fff;cursor:pointer}
.action.green{background:linear-gradient(180deg,#b7d84b,#9fbe36)}
.action.orange{background:linear-gradient(180deg,#0f5f4d,#0b4c3e)}
.action.purple{background:linear-gradient(180deg,#7ca76d,#5a8660)}
.action-title{font-size:22px;font-weight:900;line-height:1.12}
.action-price{font-size:30px;font-weight:900;letter-spacing:-.03em}
.action-sub{font-size:13px;opacity:.96;line-height:1.35}
.section-title{font-size:26px;letter-spacing:-.03em;margin:0;color:var(--text-strong)}
.camera-upload{margin-top:16px}
.camera-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.camera-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  min-height:72px;padding:18px 16px;border-radius:20px;border:1px dashed rgba(15,95,77,.22);
  background:linear-gradient(180deg,#f7fbec,#eef5d3);color:var(--accent-dark);font-weight:800;cursor:pointer;text-align:center
}
.copy-btn{width:auto;padding:10px 12px;border-radius:14px}
.click-name{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.modal-backdrop{position:fixed;inset:0;background:rgba(15,95,77,.22);display:none;align-items:center;justify-content:center;padding:20px;z-index:9999}
.modal-backdrop.open{display:flex}
.modal-card{
  width:min(720px,100%);border-radius:28px;background:#fff;border:1px solid var(--line);
  box-shadow:0 24px 60px rgba(0,0,0,.18);padding:22px
}
.modal-pre{
  white-space:pre-wrap;background:#f8faf5;border:1px solid var(--line);border-radius:18px;
  padding:16px;color:var(--text-strong);font-size:14px;line-height:1.5
}
.chart-card canvas{width:100%!important;max-height:320px}
.section-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.admin-highlight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.admin-highlight strong{display:block;font-size:28px;line-height:1;margin-bottom:8px;color:var(--text-strong)}
.table-title-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
@media (max-width:980px){
  .desktop-layout,.filters,.grid-2,.action-grid,.admin-highlight-grid{grid-template-columns:1fr}
  .action-pro{min-height:150px}
  .action-title{font-size:24px}
  .action-price{font-size:32px}
}


.signature-wrap{display:grid;gap:12px}
.signature-pad{
  width:100%;
  height:220px;
  background:#fff;
  border:2px dashed rgba(15,95,77,.18);
  border-radius:18px;
  touch-action:none;
}
.signature-box{
  background:#f8faf5;
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
}
.thumb-signature{
  width:160px;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}


.signature-mini{
  width:90px;
  max-width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}


.attachment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.attachment-card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  background:#fff;
}
.attachment-thumb{
  width:100%;
  max-width:260px;
  border-radius:12px;
  border:1px solid var(--line);
  display:block;
}
.attachment-label{
  font-size:12px;
  font-weight:700;
  color:var(--text-strong);
  margin-bottom:8px;
}
.attachment-text{
  white-space:pre-wrap;
  background:#f8faf5;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  color:var(--text-strong);
}
@media (max-width:980px){
  .attachment-grid{grid-template-columns:1fr}
}


.detail-icons{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.detail-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:#f8faf5;
  border:1px solid var(--line);
  color:var(--text-strong);
  font-size:12px;
  font-weight:700;
}
.detail-chip.empty{
  color:var(--muted);
}


.profile-hero{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
}
.profile-photo-large{
  width:92px;
  height:92px;
  border-radius:24px;
  object-fit:cover;
  border:2px solid rgba(15,95,77,.12);
  box-shadow:var(--shadow);
  background:#fff;
}
.profile-photo-placeholder{
  width:92px;
  height:92px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#eef5d3,#f8faf5);
  color:var(--accent-dark);
  font-size:28px;
  font-weight:900;
  border:2px solid rgba(15,95,77,.12);
  box-shadow:var(--shadow);
}
.hero-meta{display:grid;gap:6px}
.action.cafe{background:linear-gradient(180deg,#c7dd72,#afcd42)}
.action.bluegreen{background:linear-gradient(180deg,#5f9c84,#3f7c66)}
.action.teal{background:linear-gradient(180deg,#2d7467,#215d53)}
.sync-btn{
  width:auto !important;
  padding:12px 16px !important;
  background:linear-gradient(180deg,var(--accent),var(--accent-strong));
  color:#fff;
  border:none;
  box-shadow:0 14px 28px rgba(183,216,75,.28);
}
.prompt-modal-text{
  color:var(--text-strong);
  line-height:1.55;
  margin-bottom:14px;
}


.action-grid.six{
  grid-template-columns:repeat(2,1fr);
  gap:14px;
}
.action-grid.six .action-pro{
  min-height:170px;
}
.action-grid.six .action-title{
  font-size:18px;
}
.action-grid.six .action-price{
  font-size:22px;
}
.photo-upload-row{
  display:grid;
  gap:12px;
}
.photo-upload-row .btn{
  width:100%;
}
@media (max-width:640px){
  .action-grid.six{
    grid-template-columns:repeat(2,1fr);
  }
  .action-grid.six .action-pro{
    min-height:160px;
    padding:18px 14px;
    border-radius:22px;
  }
  .action-grid.six .action-title{
    font-size:16px;
  }
  .action-grid.six .action-price{
    font-size:20px;
  }
  .action-grid.six .action-sub{
    font-size:12px;
  }
}


.driver-info-elevated{
  width:100%;
}
.driver-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.driver-chip{
  background:linear-gradient(180deg,#ffffff,#f8faf5);
  border:1px solid rgba(15,95,77,.10);
  border-radius:18px;
  padding:14px 16px;
  box-shadow:0 10px 24px rgba(15,95,77,.10);
  color:var(--text-strong);
}
.driver-chip strong{
  display:block;
  margin-top:6px;
  font-size:15px;
  letter-spacing:.01em;
}
.driver-chip-label{
  display:block;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.descarga-card{
  background:linear-gradient(180deg,#ffffff 0%, #fbfcf7 100%);
  border:1px solid rgba(15,95,77,.10);
  box-shadow:0 16px 36px rgba(15,95,77,.08);
}
.field-label-strong{
  font-size:14px;
  font-weight:700;
  color:var(--text-strong);
}
.descarga-card .input{
  background:#fff;
  border:1px solid rgba(15,95,77,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), 0 8px 18px rgba(15,95,77,.04);
}
.descarga-card .camera-btn{
  background:linear-gradient(180deg,#f5f9df,#eaf2bf);
  border:1px solid rgba(183,216,75,.45);
  color:var(--text-strong);
  box-shadow:0 12px 24px rgba(183,216,75,.18);
}
.descarga-card .btn.btn-white{
  background:linear-gradient(180deg,var(--accent),var(--accent-strong));
  color:#fff;
  border:none;
  box-shadow:0 16px 30px rgba(183,216,75,.28);
}
@media (max-width:720px){
  .driver-info-grid{
    grid-template-columns:1fr;
  }
}


/* Botão Abrir / ações outline mais visíveis */
.btn.btn-outline,
a.btn-outline,
.copy-btn.btn-outline{
  background:linear-gradient(180deg,#ffffff 0%, #f3f7e6 100%);
  color:var(--text-strong) !important;
  border:1px solid rgba(15,95,77,.16);
  box-shadow:
    0 10px 22px rgba(15,95,77,.10),
    inset 0 1px 0 rgba(255,255,255,.95);
  font-weight:800;
}
.btn.btn-outline:hover,
a.btn-outline:hover,
.copy-btn.btn-outline:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 26px rgba(15,95,77,.14),
    inset 0 1px 0 rgba(255,255,255,.98);
}
.btn.btn-outline:active,
a.btn-outline:active,
.copy-btn.btn-outline:active{
  transform:translateY(0);
}
a[target="_blank"]{
  text-decoration:none;
}
td a[href*="/uploads/"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:96px;
  padding:10px 14px;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff 0%, #f3f7e6 100%);
  color:var(--text-strong);
  border:1px solid rgba(15,95,77,.16);
  box-shadow:
    0 10px 22px rgba(15,95,77,.10),
    inset 0 1px 0 rgba(255,255,255,.95);
  font-weight:800;
}
td a[href*="/uploads/"]:hover{
  transform:translateY(-1px);
  box-shadow:
    0 14px 26px rgba(15,95,77,.14),
    inset 0 1px 0 rgba(255,255,255,.98);
}


.driver-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
}
.driver-chip{
  background:linear-gradient(180deg,#ffffff,#f7faf0);
  border:1px solid rgba(15,95,77,.12);
  border-radius:18px;
  padding:14px 16px;
  box-shadow:0 12px 26px rgba(15,95,77,.10), inset 0 1px 0 rgba(255,255,255,.9);
}
.driver-chip strong{
  display:block;
  margin-top:6px;
  font-size:15px;
  letter-spacing:.01em;
}
.driver-chip-label{
  display:block;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.08em;
}
.descarga-card .input{
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#f9fbf4);
  border:1px solid rgba(15,95,77,.12);
  box-shadow:0 10px 22px rgba(15,95,77,.08), inset 0 1px 0 rgba(255,255,255,.95);
  font-weight:700;
  color:var(--text-strong);
}
.descarga-card .input::placeholder{
  color:#8aa095;
  font-weight:600;
}
.field-shell{
  display:grid;
  gap:10px;
  padding:10px;
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff,#fbfcf7);
  border:1px solid rgba(15,95,77,.08);
  box-shadow:0 14px 28px rgba(15,95,77,.06);
  margin-top:10px;
}
@media (max-width:720px){
  .driver-info-grid{ grid-template-columns:1fr; }
}

#filtroCategoria{min-width:220px}

#tabelaCategoriaItens td input[type="checkbox"]{width:18px;height:18px}#painelCategoriaInfo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}#filtroCategoria{min-width:220px}

#tabelaCategoriaItens td .btn{min-width:110px}
#tabelaCategoriaItens td input[readonly]{opacity:.78}

#configCategoriaPainel .table-wrap{
  border-radius:22px;
}
#tabelaCategoriaItens td:first-child .input{
  font-weight:800;
  text-transform:lowercase;
}
#tabelaCategoriaItens td{
  vertical-align:middle;
}
.category-note{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

#filtroHistoricoSemana,
#filtroHistoricoCategoria,
#filtroHistoricoMotorista{
  min-width:220px;
}

.report-note,.history-note{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.categoria-editor-card{
  background:linear-gradient(180deg,#ffffff 0%, #fbfcf7 100%);
}
.categoria-topbar{
  display:grid;
  grid-template-columns:minmax(220px,320px) 1fr;
  gap:16px;
  align-items:start;
}
.field-caption{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
  margin-bottom:8px;
}
.categoria-resumo{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.categoria-mini-card{
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(180deg,#ffffff,#f5f9e8);
  border:1px solid rgba(15,95,77,.10);
  box-shadow:0 10px 24px rgba(15,95,77,.08);
  display:grid;
  gap:6px;
}
.categoria-mini-card strong{
  color:var(--text-strong);
  font-size:14px;
}
.categoria-mini-card span{
  color:var(--muted);
  font-size:13px;
}
.muted-card{
  color:var(--muted);
  display:flex;
  align-items:center;
}
#tabelaCategoriaItens thead th{
  white-space:nowrap;
}
#tabelaCategoriaItens td .input{
  min-width:110px;
}
@media (max-width:980px){
  .categoria-topbar{
    grid-template-columns:1fr;
  }
  .categoria-resumo{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .categoria-resumo{
    grid-template-columns:1fr;
  }
}

.cadastro-card{
  background:linear-gradient(180deg,#ffffff 0%, #fbfcf7 100%);
}
.categoria-select-shell{
  position:relative;
  border-radius:22px;
  padding:14px;
  background:linear-gradient(180deg,#ffffff,#f6faea);
  border:1px solid rgba(15,95,77,.10);
  box-shadow:0 12px 28px rgba(15,95,77,.08);
}
.categoria-select-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:#eef6d1;
  color:var(--text-strong);
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  margin-bottom:12px;
}
.categoria-select{
  font-weight:800;
  color:var(--text-strong);
  background:#fff;
  border:1px solid rgba(15,95,77,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 6px 14px rgba(15,95,77,.05);
}

.form-label{
  font-size:15px;
  font-weight:700;
  color:var(--text-strong);
  margin-bottom:8px;
  letter-spacing:.01em;
}
.cadastro-card .input,
.cadastro-card .categoria-select{
  font-size:16px;
  font-weight:600;
}
.cadastro-card .input::placeholder{
  font-weight:500;
}
.categoria-select-shell{
  padding:12px 14px 14px 14px;
}
.categoria-select-badge{
  font-size:13px;
  font-weight:700;
  margin-bottom:10px;
}
.cadastro-card .btn{
  font-size:18px;
  font-weight:800;
}

.card h1, .card .hero-title{
  letter-spacing:-0.02em;
}

.quick-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field-label-strong{font-weight:800;color:var(--accent-dark);margin-bottom:8px}
.prompt-modal-text{font-size:17px;line-height:1.5;color:var(--text-strong)}
@media (max-width:680px){.quick-choice-grid{grid-template-columns:1fr}}

/* Painel administrativo com menu lateral */
.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start;margin-top:20px}
.admin-sidebar{position:sticky;top:14px;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:16px;box-shadow:0 18px 50px rgba(15,23,42,.08);z-index:20}
.admin-sidebar-title{font-weight:800;font-size:18px;margin:4px 4px 14px;color:#123b35}
.admin-nav-btn{width:100%;border:0;background:transparent;text-align:left;padding:14px 14px;border-radius:16px;font-weight:800;color:#243f3a;cursor:pointer;margin-bottom:8px;transition:.2s ease}
.admin-nav-btn:hover{background:#f3f7e4;transform:translateX(2px)}
.admin-nav-btn.active{background:#a8bf00;color:#fff;box-shadow:0 10px 25px rgba(168,191,0,.25)}
.admin-content{min-width:0}
.admin-section-hidden{display:none!important}
.admin-mobile-menu{display:none}
.btn-danger{background:#b91c1c!important;color:#fff!important;border-color:#b91c1c!important;box-shadow:0 10px 24px rgba(185,28,28,.18)}
.btn-danger:hover{filter:brightness(.95)}
.delete-modal-card{text-align:center;max-width:520px}
.delete-modal-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fee2e2;color:#b91c1c;font-weight:900;font-size:34px;margin:0 auto 14px}
.delete-warning-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:14px;color:#7c2d12;font-weight:700}
@media(max-width:900px){
  .admin-layout{display:block;margin-top:12px}
  .admin-mobile-menu{display:block}
  .admin-sidebar{position:fixed;left:12px;right:12px;top:80px;max-height:calc(100vh - 110px);overflow:auto;transform:translateY(-130%);transition:.25s ease;box-shadow:0 24px 80px rgba(0,0,0,.25)}
  .admin-sidebar.open{transform:translateY(0)}
}

/* Aprovação mais clara */
.approval-card{border:1px solid rgba(15,95,77,.12)}
.approval-sync-btn{width:auto;min-width:260px;padding:13px 18px}
.approval-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.approval-flow>div{background:linear-gradient(180deg,#f7fbec,#fff);border:1px solid rgba(15,95,77,.10);border-radius:20px;padding:16px;display:grid;gap:6px;color:var(--text-strong)}
.approval-flow b{font-size:16px}.approval-flow span{font-size:13px;color:var(--muted);line-height:1.35}
.approval-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.approval-stat{border:1px solid var(--line);background:#fff;border-radius:20px;padding:16px;text-align:left;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.05);transition:.18s ease;color:var(--text-strong)}
.approval-stat:hover{transform:translateY(-2px)}
.approval-stat.active{border-color:rgba(15,95,77,.28);box-shadow:0 0 0 4px rgba(183,216,75,.20)}
.approval-stat span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.approval-stat strong{display:block;font-size:34px;margin-top:4px;color:var(--text-strong)}
.approval-stat.pending strong{color:#a16207}.approval-stat.approved strong{color:#15803d}.approval-stat.rejected strong{color:#b91c1c}
.approval-filters{display:grid;grid-template-columns:1fr 1.2fr 1fr 1fr auto;gap:12px;align-items:end}
.approval-filters label span{display:block;margin-bottom:6px;font-size:13px;font-weight:800;color:var(--text-strong)}
.approval-help{background:#f8faf5;border:1px solid var(--line);border-radius:18px;padding:14px 16px;color:var(--text-strong);line-height:1.45}
.approval-table th{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:#46645d}
.approval-table td{vertical-align:top;white-space:normal;min-width:160px}
.approval-main{display:grid;gap:7px;color:var(--text-strong)}
.approval-main b{font-size:15px}.approval-main span{font-size:14px}.approval-main small{color:var(--muted);font-size:12px}
.approval-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 12px;font-weight:900;font-size:12px;width:max-content}
.approval-pill.pending{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}.approval-pill.approved{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.approval-pill.rejected{background:#fff1f2;color:#9f1239;border:1px solid #fecdd3}
.approval-status-cell{display:grid;gap:6px}.approval-status-cell small{color:var(--muted);font-size:12px}
.approval-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.approval-link{display:inline-flex;border:1px solid rgba(15,95,77,.18);border-radius:14px;padding:10px 12px;font-weight:800;color:var(--accent-dark);background:#fff}
.approval-actions{display:flex;flex-wrap:wrap;gap:8px}.approval-actions .btn{white-space:nowrap}

/* Cores semânticas para aprovação: mais contraste e leitura melhor */
.btn-approve{
  background:linear-gradient(180deg,#15803d,#166534);
  color:#fff;
  border:1px solid rgba(21,128,61,.35);
  box-shadow:0 10px 22px rgba(21,128,61,.18);
}
.btn-approve:hover{filter:brightness(1.05)}
.btn-reject{
  background:#fff;
  color:#991b1b;
  border:2px solid #fecaca;
  box-shadow:0 8px 18px rgba(153,27,27,.08);
}
.btn-reject:hover{
  background:#fef2f2;
  border-color:#fca5a5;
}
.btn-review{
  background:#f8fafc;
  color:#334155;
  border:1px solid #cbd5e1;
  box-shadow:none;
}
.btn-review:hover{background:#eef2f7}
.approval-actions .btn-approve,
.approval-actions .btn-reject,
.approval-actions .btn-review{
  min-width:118px;
}
.approval-row-em_analise{background:linear-gradient(90deg,rgba(254,243,199,.35),transparent)}
.approval-row-aprovado{background:linear-gradient(90deg,rgba(220,252,231,.35),transparent)}
.approval-row-reprovado{background:linear-gradient(90deg,rgba(254,226,226,.35),transparent)}
.empty-approval{text-align:center;padding:28px;color:var(--muted);font-weight:800}
@media (max-width:980px){
  .approval-flow,.approval-stats,.approval-filters{grid-template-columns:1fr}
  .approval-sync-btn{width:100%;min-width:0}
  .approval-checks{grid-template-columns:1fr}
  .approval-actions{flex-direction:column}.approval-actions .btn{width:100%}
}

.landing-shell{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.landing-header{
  display:flex;
  justify-content:center;
  margin-bottom:20px;
}
.landing-hero{
  text-align:center;
  max-width:760px;
  margin:0 auto 26px;
}
.landing-title{
  margin:14px 0 10px;
  font-size:clamp(32px,5vw,56px);
  line-height:1.02;
  letter-spacing:-.05em;
  color:var(--text-strong);
}
.landing-subtitle{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.6;
}
.landing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.landing-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:var(--shadow);
  padding:24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}
.landing-icon{
  width:62px;
  height:62px;
  border-radius:20px;
  background:rgba(183,216,75,.20);
  display:grid;
  place-items:center;
  font-size:28px;
}
.landing-card-title{
  margin:0;
  font-size:28px;
  line-height:1.08;
  letter-spacing:-.03em;
  color:var(--text-strong);
}
.landing-card-text{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.55;
  min-height:48px;
}
.landing-btn{
  margin-top:auto;
  min-height:58px;
  font-size:16px;
}
@media (max-width:980px){
  .landing-grid{grid-template-columns:1fr;}
  .landing-card-title{font-size:24px;}
  .landing-card{padding:20px;}
}

/* Popup elegante de exclusão do motorista */
#modalExcluirMotorista.modal-backdrop{
  background:rgba(11,76,62,.42);
  backdrop-filter:blur(6px);
}
.delete-modal-card{
  position:relative;
  overflow:hidden;
  padding:28px!important;
  border-radius:32px!important;
  border:1px solid rgba(185,28,28,.12)!important;
}
.delete-modal-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:8px;
  background:linear-gradient(90deg,#b91c1c,#ef4444,#fca5a5);
}
.delete-modal-icon{
  box-shadow:0 16px 34px rgba(185,28,28,.18);
}
.delete-warning-box{
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  border-radius:18px;
  padding:14px 16px;
  font-size:14px;
  font-weight:800;
  line-height:1.45;
}
#textoExcluirMotorista{
  color:#4b5563;
  font-size:15px;
  line-height:1.55;
  margin-top:10px;
}
#btnConfirmarExcluirMotorista{
  min-height:54px;
}



.history-closed-card{background:linear-gradient(180deg,#ffffff,#f8faf5)}
.history-filter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:end}
.history-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.history-modal-card{width:min(1180px,100%);max-height:88vh;overflow:auto}
.correction-modal-card{width:min(860px,100%);max-height:90vh;overflow:auto}
.history-table-wrap{max-height:420px;overflow:auto}
.approval-period-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#f8faf5;border:1px solid var(--line);border-radius:18px;padding:12px}
.approval-period-tools .btn{width:auto;padding:12px 16px}
@media(max-width:980px){.history-filter-grid,.history-filter-actions{grid-template-columns:1fr}.approval-period-tools .btn{width:100%}}

/* Correção V.1.8.7: pop-ups com rolagem suave no celular */
.modal-backdrop{
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.modal-backdrop.open{
  align-items:flex-start;
  justify-content:center;
}
.modal-card{
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
  margin:16px auto;
}
.history-modal-card,
.correction-modal-card{
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
@supports not (height:100dvh){
  .modal-card,
  .history-modal-card,
  .correction-modal-card{max-height:calc(100vh - 32px)}
}
@media (max-width:700px){
  .modal-backdrop{padding:10px}
  .modal-card{width:100%;border-radius:22px;margin:10px auto;max-height:calc(100dvh - 20px)}
  .history-table-wrap{max-height:50vh}
}

.input:disabled{background:#f1f1f1;color:#888;cursor:not-allowed}
@media (min-width:981px){.landing-grid{grid-template-columns:repeat(4,1fr)}}

.notification-list{display:grid;gap:10px}
.notification-item{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:5px;color:var(--text-strong)}
.notification-item b{font-size:15px}.notification-item span{color:var(--muted);font-size:13px}.notification-item.ok{background:#f7fbec;border-color:rgba(183,216,75,.45)}
.dashboard-pro-card .admin-highlight strong,.financial-report-card .admin-highlight strong{font-size:24px;line-height:1.1}
.weekly-close-card .detail-chip,.backup-card .detail-chip{margin:4px 4px 0 0}
.driver-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:16px}
.driver-day-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:12px;min-height:104px}
.driver-day-card.today{border-color:rgba(15,95,77,.35);box-shadow:0 0 0 4px rgba(183,216,75,.16)}
.driver-day-name{font-weight:900;color:var(--text-strong);font-size:13px;text-transform:capitalize}.driver-day-date{font-size:12px;color:var(--muted);margin-top:4px}.driver-day-items{margin-top:8px;display:grid;gap:5px}.driver-day-item{font-size:11px;background:#f8faf5;border:1px solid var(--line);border-radius:999px;padding:5px 7px;color:var(--text-strong)}
@media(max-width:980px){.driver-week-grid{grid-template-columns:1fr 1fr}.driver-day-card{min-height:96px}}


/* V.1.9.4 - Semana do motorista mais limpa e modo ajudante */
.helper-info-card{
  background:linear-gradient(180deg,#f7fbec,#ffffff);
  border:1px solid rgba(15,95,77,.12);
  border-radius:22px;
  padding:16px;
  color:var(--text-strong);
  display:grid;
  gap:6px;
}
.helper-info-card strong{font-size:18px;color:var(--text-strong)}
.helper-info-card span{color:var(--muted);line-height:1.45}
.driver-week-grid{display:grid!important;grid-template-columns:1fr!important;gap:14px;margin-top:16px}
.driver-week-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.driver-week-summary>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 10px 22px rgba(15,95,77,.06)}
.driver-week-summary span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.driver-week-summary strong{display:block;color:var(--text-strong);font-size:22px;margin-top:6px}
.driver-week-list{display:grid;gap:10px}
.driver-week-row{display:grid;grid-template-columns:72px 1fr 54px;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;box-shadow:0 8px 18px rgba(15,95,77,.05)}
.driver-week-row.today{border-color:rgba(15,95,77,.35);box-shadow:0 0 0 4px rgba(183,216,75,.16)}
.driver-week-row.has-items{background:linear-gradient(180deg,#ffffff,#fbfdf2)}
.driver-week-datebox{width:64px;height:64px;border-radius:18px;background:#f8faf5;border:1px solid var(--line);display:grid;place-items:center;text-align:center;color:var(--text-strong)}
.driver-week-datebox strong{font-size:16px;line-height:1}.driver-week-datebox span{font-size:12px;color:var(--muted);font-weight:800}
.driver-week-content{min-width:0}.driver-week-row-title{font-weight:900;color:var(--text-strong);margin-bottom:7px}.driver-day-items{display:flex;flex-wrap:wrap;gap:6px}.driver-empty{font-size:13px;color:var(--muted)}
.driver-week-status{border-radius:999px;padding:8px 10px;text-align:center;font-size:12px;font-weight:900;background:#f4f4f4;color:var(--muted)}
.driver-week-status.ok{background:rgba(183,216,75,.28);color:var(--text-strong)}
@media(max-width:700px){
  .driver-week-summary{grid-template-columns:1fr}
  .driver-week-row{grid-template-columns:58px 1fr;gap:10px}
  .driver-week-status{grid-column:1 / -1;text-align:left;width:max-content}
  .driver-week-datebox{width:54px;height:54px;border-radius:16px}
}

.admin-tab-notice{
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:18px;
  background:#fff8e8;
  border:1px solid #f1d99a;
  color:#5b4300;
  font-size:14px;
}
.admin-tab-notice button{
  margin-left:10px;
  border:0;
  border-radius:12px;
  padding:8px 12px;
  font-weight:800;
  cursor:pointer;
  color:#0b4c3e;
  background:#e7f0bf;
}


.admin-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.admin-quick-actions.compact{grid-template-columns:repeat(2,1fr);min-width:360px}
@media (max-width:980px){.admin-quick-actions,.admin-quick-actions.compact{grid-template-columns:1fr;min-width:0;width:100%}}


/* V.2.0.3 - relatórios na aba correta e visão geral limpa */
.signature-fast-card{border:2px solid rgba(183,216,75,.35)}
.signature-fast-panel{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:rgba(183,216,75,.10);border:1px solid rgba(183,216,75,.35);border-radius:22px;padding:18px}
.signature-fast-toggle{display:flex;align-items:center;gap:14px;min-width:280px;cursor:pointer;color:var(--text-strong)}
.signature-fast-toggle input{width:28px;height:28px;accent-color:var(--green)}
.signature-fast-toggle strong{display:block;font-size:18px;letter-spacing:-.02em}
.signature-fast-toggle small{display:block;color:var(--muted);font-size:13px;margin-top:4px;line-height:1.4}
@media(max-width:800px){.signature-fast-panel{align-items:stretch}.signature-fast-panel .admin-quick-actions{width:100%}.signature-fast-panel .btn{width:100%}}

/* V.2.0.3 */
.dashboard-signature-shortcut{border:1px solid rgba(183,216,75,.55);}
.signature-fast-panel .btn{min-height:54px;}

/* Correção V.2.0.4: tabela de motoristas mais alinhada e botão de foto mais limpo */
#tabelaMotoristas th,
#tabelaMotoristas td{
  vertical-align:middle;
  white-space:nowrap;
}
#tabelaMotoristas .input,
#tabelaMotoristas .btn{
  margin:0;
}
.select-categoria-motorista{
  min-width:150px;
  height:46px;
  padding:0 16px;
  display:flex;
  align-items:center;
  text-align:left;
}
.foto-upload-admin{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
}
.foto-input-admin{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.foto-label-admin{
  min-width:132px;
  justify-content:center;
  text-align:center;
  cursor:pointer;
}
#modalSenhaMotorista.open{display:flex!important;}

/* V.2.0.5 - feedback rápido no registro de diárias */
.app-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translateX(-50%);
  z-index:9999;
  max-width:min(520px, calc(100vw - 28px));
  padding:14px 18px;
  border-radius:18px;
  background:#123f35;
  color:#fff;
  font-weight:800;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}
.app-toast.sucesso{ background:#0f6b4f; }
.app-toast.erro{ background:#9b2f2f; }
.app-toast.hidden{ display:none; }
.linha-provisoria-registro{ opacity:.82; }
button:disabled{ opacity:.68; cursor:not-allowed; }

.reenvio-inline-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#eef5d3;
  color:#0b4c3e;
  border:1px solid rgba(15,95,77,.14);
  font-size:12px;
  font-weight:800;
  white-space:normal;
}
.approval-detail-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.detail-mini-btn{
  width:auto!important;
  min-height:34px;
  padding:8px 10px!important;
  font-size:12px!important;
  border-radius:12px!important;
}
.detail-mini-btn-highlight{
  background:#f7fbec!important;
  border-color:rgba(15,95,77,.22)!important;
  color:#0b4c3e!important;
}

/* V.2.2.5 - desempenho em celulares fracos mantendo o visual limpo */
.mobile-payment-cards{display:none;gap:12px;flex-direction:column}
.driver-pay-card,.history-entry-card{border:1px solid rgba(12,68,56,.10);background:#fbfcf7;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(12,68,56,.05)}
.driver-pay-head,.history-week-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.driver-pay-head strong{color:#0b4c3e;font-size:16px;text-transform:capitalize}
.driver-pay-meta{color:#61706c;font-size:13px;margin-top:8px}
.driver-pay-value{font-weight:900;color:#0b4c3e;font-size:19px;margin-top:8px}
.driver-pay-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.mini-action{width:auto!important;padding:8px 11px!important;border-radius:14px!important;font-size:12px!important;min-height:auto!important}
.history-week-card{border:1px solid rgba(12,68,56,.10);border-radius:22px;background:#fff;padding:14px}
.history-entry-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.history-entry-card{box-shadow:none;background:#fbfcf7}
@media (max-width: 720px){
  .tabela-pagamentos-wrap{display:none!important}
  .mobile-payment-cards{display:flex}
  #driverWeekGrid .driver-week-list{max-height:none}
  .modal-card{max-height:86vh;overflow:auto;-webkit-overflow-scrolling:touch}
}

/* V.2.2.6 - limpeza da fila de lançamentos do admin */
.approval-checks-clean{display:flex!important;align-items:flex-start;justify-content:center;gap:6px;min-width:140px;text-align:center}
.approval-checks-clean>div{display:grid;gap:6px;justify-items:center;width:100%}
.btn-details-clean{width:auto!important;min-width:126px;padding:10px 14px!important;border-radius:16px!important;font-weight:900!important}
.detail-hint{display:block;color:#6b7d77;font-size:11px;line-height:1.25;max-width:150px;margin:0 auto;text-align:center}
.details-summary-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:14px}
.details-summary-card>div,.detail-row{border:1px solid rgba(12,68,56,.10);background:#fbfcf7;border-radius:16px;padding:12px;display:grid;gap:4px}
.details-summary-card span,.detail-row span{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#6b7d77;font-weight:900}
.details-summary-card b,.detail-row b{font-size:14px;color:#0b4c3e;overflow-wrap:anywhere}
.details-grid-small{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px}
.detail-highlight-card{background:#f7fbec!important;border-color:rgba(15,95,77,.18)!important}
.approval-actions-clean{justify-content:flex-start}.approval-action-stack{align-items:flex-start}
@media (max-width:980px){.approval-checks-clean{justify-content:flex-start;text-align:left}.approval-checks-clean>div{justify-items:start}.detail-hint{text-align:left;margin:0}.btn-details-clean{width:100%!important}}

/* V.2.2.8 - ações mais limpas na aba Lançamentos */
.details-action-group{display:grid;gap:8px;align-items:start;justify-items:center}
.btn-notes-clean{min-width:126px!important;background:#fbfcf7!important;color:#0b4c3e!important;border:1px solid rgba(12,68,56,.12)!important}
.details-modal-block{display:grid;gap:12px}
@media (max-width:980px){.details-action-group{justify-items:start;width:100%}.btn-notes-clean{width:100%!important}}

/* V.2.4.2 - resultados grandes em pop-up para manter painel limpo */
.compact-result-box{
  border:1px dashed rgba(15,95,77,.22);
  background:linear-gradient(180deg,#fbfdf6,#f3f8e6);
  border-radius:22px;
  padding:16px;
  color:var(--muted);
  line-height:1.45;
}
.compact-result-box b{color:var(--accent-dark)}
.result-modal-card{width:min(1180px,100%);max-height:calc(100dvh - 32px);overflow:auto}
.result-modal-table-wrap{max-height:58vh;overflow:auto}
.result-modal-table-wrap table{min-width:860px}
@media(max-width:700px){
  .result-modal-table-wrap{max-height:55vh}
  .result-modal-table-wrap table{min-width:760px}
}

/* V.2.4.12 - filtros por motorista e pré-visualização de PDFs */
.motorista-filter-select{
  background-image: linear-gradient(135deg, rgba(180,200,0,.10), rgba(255,255,255,.86));
  border-color: rgba(12,68,56,.16) !important;
  font-weight: 700;
  color: #143f36;
}
.motorista-filter-select:focus{
  outline: none;
  box-shadow: 0 0 0 4px rgba(180,200,0,.18);
  border-color: rgba(12,68,56,.28) !important;
}
.pdf-preview-modal{
  width: min(980px, 96vw);
  max-height: 94vh;
  overflow: auto;
}
.pdf-preview-frame{
  width: 100%;
  height: min(72vh, 760px);
  border: 1px solid rgba(12,68,56,.12);
  border-radius: 18px;
  background: #fff;
  margin-top: 16px;
}
.attachment-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
}
.photo-count-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(180,200,0,.16);
  color:#143f36;
  font-weight:800;
  font-size:13px;
}
@media(max-width:640px){
  .pdf-preview-modal{width:96vw;max-height:92vh;border-radius:22px;padding:16px}
  .pdf-preview-frame{height:62vh;border-radius:14px}
}

/* V.2.4.13 - filtro de período na fila de aprovação */
.approval-period-select{
  display:grid;
  gap:6px;
  min-width:min(360px,100%);
  flex:1 1 320px;
}
.approval-period-select span{
  font-size:13px;
  font-weight:900;
  color:var(--text-strong);
  letter-spacing:.02em;
}
#filtroPeriodoAprovacao{
  background-image:linear-gradient(135deg, rgba(180,200,0,.12), rgba(255,255,255,.95));
  border-color:rgba(12,68,56,.18) !important;
  font-weight:800;
  color:#143f36;
}
@media(max-width:980px){
  .approval-period-select{flex-basis:100%}
  .approval-period-tools .btn{width:100%}
}


/* V.2.4.14 - seletores elegantes para filtros de motorista e período */
.pretty-native-select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.pretty-picker-shell{
  position:relative;
  margin-top:8px;
}
.pretty-picker-trigger{
  width:100%;
  border:1px solid rgba(15,95,77,.14);
  border-radius:22px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfcf8 100%);
  box-shadow:0 10px 22px rgba(15,95,77,.06);
  color:var(--text-strong);
  text-align:left;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.pretty-picker-trigger:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,95,77,.08)}
.pretty-picker-trigger:focus{
  outline:none;
  border-color:rgba(15,95,77,.30);
  box-shadow:0 0 0 4px rgba(183,216,75,.18), 0 12px 26px rgba(15,95,77,.08);
}
.pretty-picker-trigger.is-active{border-color:rgba(183,216,75,.55);background:linear-gradient(180deg,#fdfef9 0%,#f6faea 100%)}
.pretty-picker-trigger-main{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1;
}
.pretty-picker-trigger-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:rgba(183,216,75,.18);
  color:var(--accent-dark);
  font-size:18px;
  flex:0 0 auto;
}
.pretty-picker-trigger-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.pretty-picker-trigger-label{
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(11,76,62,.65);
}
.pretty-picker-trigger-value{
  font-size:15px;
  font-weight:800;
  color:var(--text-strong);
  line-height:1.25;
  word-break:break-word;
}
.pretty-picker-trigger-meta{
  font-size:12px;
  color:var(--muted);
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pretty-picker-trigger-caret{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:var(--accent-dark);
  background:rgba(15,95,77,.05);
  flex:0 0 auto;
  font-size:14px;
}
.pretty-picker-backdrop{
  position:fixed;
  inset:0;
  background:rgba(9,28,23,.42);
  backdrop-filter:blur(4px);
  z-index:9999;
  display:none;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
}
.pretty-picker-backdrop.open{display:flex}
.pretty-picker-sheet{
  width:min(760px, 100%);
  max-height:min(84vh, 860px);
  background:linear-gradient(180deg,#ffffff 0%,#f8faf5 100%);
  border:1px solid rgba(15,95,77,.10);
  border-radius:30px;
  box-shadow:0 28px 70px rgba(0,0,0,.18);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.pretty-picker-sheet-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:20px 20px 12px;
}
.pretty-picker-sheet-title{
  margin:0;
  font-size:26px;
  line-height:1.08;
  letter-spacing:-.04em;
  color:var(--text-strong);
}
.pretty-picker-sheet-subtitle{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}
.pretty-picker-close{
  border:none;
  border-radius:16px;
  background:rgba(15,95,77,.06);
  color:var(--accent-dark);
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  font-size:20px;
  cursor:pointer;
}
.pretty-picker-search-wrap{
  padding:0 20px 14px;
}
.pretty-picker-search-wrap.hidden{display:none}
.pretty-picker-search{
  width:100%;
  border:1px solid rgba(15,95,77,.12);
  border-radius:18px;
  background:#fff;
  color:var(--text-strong);
  padding:15px 16px;
  font-size:15px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.pretty-picker-search:focus{outline:none;border-color:rgba(15,95,77,.28);box-shadow:0 0 0 4px rgba(183,216,75,.16)}
.pretty-picker-list{
  padding:0 14px 14px;
  overflow:auto;
  display:grid;
  gap:10px;
}
.pretty-picker-option{
  border:1px solid rgba(15,95,77,.10);
  border-radius:22px;
  background:#fff;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  cursor:pointer;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.pretty-picker-option:hover{transform:translateY(-1px);border-color:rgba(15,95,77,.20);box-shadow:0 12px 24px rgba(15,95,77,.07)}
.pretty-picker-option.is-selected{
  background:linear-gradient(180deg,#fdfef8 0%,#f1f8da 100%);
  border-color:rgba(183,216,75,.55);
  box-shadow:0 14px 28px rgba(183,216,75,.16);
}
.pretty-picker-option-copy{min-width:0;display:grid;gap:4px;flex:1}
.pretty-picker-option-title{font-size:16px;font-weight:800;color:var(--text-strong);line-height:1.25}
.pretty-picker-option-meta{font-size:12px;color:var(--muted);line-height:1.35}
.pretty-picker-option-check{
  width:28px;
  height:28px;
  border-radius:999px;
  border:2px solid rgba(15,95,77,.28);
  display:grid;
  place-items:center;
  color:transparent;
  flex:0 0 auto;
  font-size:14px;
}
.pretty-picker-option.is-selected .pretty-picker-option-check{
  background:var(--accent-dark);
  border-color:var(--accent-dark);
  color:#fff;
}
.pretty-picker-empty{
  padding:18px;
  text-align:center;
  color:var(--muted);
  border:1px dashed rgba(15,95,77,.14);
  border-radius:22px;
  background:rgba(255,255,255,.65);
}
@media (max-width:700px){
  .pretty-picker-backdrop{padding:10px}
  .pretty-picker-sheet{width:100%;max-height:88vh;border-radius:28px}
  .pretty-picker-sheet-title{font-size:22px}
  .pretty-picker-trigger{padding:14px}
  .pretty-picker-trigger-icon{width:38px;height:38px;border-radius:14px;font-size:17px}
}

/* V.2.4.16 - aprovação de descarga com motorista que baixou a caixa e relatório elegante */
.approval-origin-box{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px;
  border:1px solid rgba(15,95,77,.12);
  border-radius:22px;
  background:linear-gradient(135deg,#fbfdf6 0%,#ffffff 55%,#f4f8e8 100%);
  box-shadow:0 12px 26px rgba(15,95,77,.06);
}
.approval-origin-icon{
  width:42px;
  height:42px;
  border-radius:16px;
  background:rgba(183,216,75,.25);
  color:var(--accent-dark);
  display:grid;
  place-items:center;
  font-weight:900;
  flex:0 0 auto;
}
.approval-origin-content{display:grid;gap:8px;flex:1;min-width:0}
.approval-origin-content label{margin:0}
.caixas-report-card{
  border-color:rgba(183,216,75,.32);
  background:linear-gradient(180deg,#ffffff 0%,#fbfdf6 100%);
}
.ranking-chart-card{
  padding:18px;
  border:1px solid rgba(15,95,77,.12);
  border-radius:24px;
  background:linear-gradient(180deg,#ffffff,#f7fbec);
  display:grid;
  gap:12px;
}
.ranking-chart-title{
  font-size:18px;
  font-weight:900;
  color:var(--text-strong);
  letter-spacing:-.03em;
}
.ranking-chart-row{
  display:grid;
  grid-template-columns:minmax(180px,260px) 1fr 46px;
  align-items:center;
  gap:12px;
}
.ranking-chart-name{display:grid;gap:2px;min-width:0}
.ranking-chart-name b{color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ranking-chart-name span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ranking-chart-bar{
  height:16px;
  border-radius:999px;
  background:#edf3df;
  overflow:hidden;
}
.ranking-chart-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),var(--accent-dark));
}
.ranking-chart-row strong{color:var(--text-strong);text-align:right}
@media(max-width:700px){
  .approval-origin-box{flex-direction:column}
  .ranking-chart-row{grid-template-columns:1fr 44px;gap:8px}
  .ranking-chart-name{grid-column:1 / -1}
}


/* V.2.4.18 - botão elegante para assinatura e painel supervisão */
.signature-command-card{overflow:hidden;position:relative}
.signature-command-card:before{
  content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:999px;background:rgba(183,216,75,.18);pointer-events:none
}
.signature-command-panel{
  position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:18px;align-items:stretch;
  background:linear-gradient(135deg,#fbfdf5 0%,#ffffff 100%);border:1px solid rgba(183,216,75,.38);border-radius:28px;padding:18px
}
.signature-command-left{display:grid;gap:10px;align-content:start}
.signature-hidden-check{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.signature-advanced-dates{border:1px dashed rgba(15,95,77,.18);border-radius:20px;padding:12px;background:rgba(255,255,255,.68)}
.signature-advanced-dates summary{cursor:pointer;font-weight:900;color:var(--accent-dark);list-style:none}
.signature-advanced-dates summary::-webkit-details-marker{display:none}
.signature-advanced-dates summary:after{content:"▾";float:right;background:rgba(15,95,77,.06);border-radius:10px;padding:1px 8px}
.signature-command-actions{display:grid;gap:12px;align-content:start}
.signature-power-btn{
  border:none;border-radius:26px;padding:18px;min-height:98px;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer;
  color:#fff;background:linear-gradient(180deg,#0f5f4d,#0a4639);box-shadow:0 18px 34px rgba(15,95,77,.22);transition:transform .15s ease,filter .15s ease
}
.signature-power-btn:hover{transform:translateY(-1px);filter:brightness(1.02)}
.signature-power-btn.is-on{background:linear-gradient(180deg,#b7d84b,#9fbe36);color:#0b4c3e;box-shadow:0 18px 34px rgba(183,216,75,.28)}
.signature-power-icon{width:44px;height:44px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.22);font-weight:900;font-size:20px;flex:0 0 auto}
.signature-power-btn span:last-child{display:grid;gap:4px}
.signature-power-btn b{font-size:20px;line-height:1.1}
.signature-power-btn small{font-size:12px;line-height:1.35;opacity:.9}
.supervision-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.supervision-audit-box{border:1px solid rgba(15,95,77,.10);border-radius:24px;background:#fff;padding:16px;box-shadow:0 10px 22px rgba(15,95,77,.05)}
@media(max-width:850px){
  .signature-command-panel{grid-template-columns:1fr;padding:14px;border-radius:24px}
  .signature-power-btn{min-height:86px}
  .supervision-mini-grid{grid-template-columns:1fr}
}


/* V.2.4.19 - home com botões mais vivos e ícone melhor da supervisão */
.landing-card{position:relative;overflow:hidden;transition:transform .18s ease, box-shadow .18s ease,border-color .18s ease}
.landing-card:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(15,95,77,.12)}
.landing-card:before{content:"";position:absolute;right:-50px;top:-60px;width:170px;height:170px;border-radius:999px;background:rgba(183,216,75,.10);pointer-events:none}
.landing-card-cadastro{background:linear-gradient(180deg,#ffffff 0%,#fbfdf8 100%)}
.landing-card-motorista{background:linear-gradient(180deg,#ffffff 0%,#f6fbf8 100%)}
.landing-card-admin{background:linear-gradient(180deg,#ffffff 0%,#f8faf7 100%)}
.landing-card-rh{background:linear-gradient(180deg,#ffffff 0%,#f8fbfd 100%)}
.landing-card-supervisao{background:linear-gradient(180deg,#ffffff 0%,#f7fafc 100%)}
.landing-icon{box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 20px rgba(15,95,77,.10);position:relative;z-index:1}
.landing-icon-cadastro{background:linear-gradient(135deg,#eef7cf,#d8ec92)}
.landing-icon-motorista{background:linear-gradient(135deg,#e7f6ef,#c4ead7)}
.landing-icon-admin{background:linear-gradient(135deg,#eaf3db,#d7eab0)}
.landing-icon-rh{background:linear-gradient(135deg,#e6f5f7,#c8e8ef)}
.landing-icon-supervisao{background:linear-gradient(135deg,#eef3ff,#d9e5ff);font-size:30px}
.landing-btn{border:none !important;font-weight:900;letter-spacing:-.01em;box-shadow:0 16px 30px rgba(15,95,77,.12);transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}
.landing-btn:hover{transform:translateY(-1px);filter:brightness(1.02);box-shadow:0 18px 34px rgba(15,95,77,.16)}
.landing-btn-cadastro{background:linear-gradient(180deg,#ffffff 0%,#f6fbe9 100%);color:var(--accent-dark)!important;border:1px solid rgba(183,216,75,.45)!important}
.landing-btn-motorista{background:linear-gradient(180deg,#0f5f4d 0%,#0a4639 100%);color:#fff!important}
.landing-btn-admin{background:linear-gradient(180deg,#114f44 0%,#0b3f36 100%);color:#fff!important}
.landing-btn-rh{background:linear-gradient(180deg,#f1f8d8 0%,#dceea1 100%);color:#0d4c40!important;border:1px solid rgba(183,216,75,.38)!important}
.landing-btn-supervisao{background:linear-gradient(180deg,#ecf3ff 0%,#d5e3ff 100%);color:#184170!important;border:1px solid rgba(119,153,231,.30)!important;box-shadow:0 16px 30px rgba(94,125,202,.16)}
.landing-btn-supervisao:hover{box-shadow:0 18px 34px rgba(94,125,202,.20)}
@media (max-width:980px){
  .landing-card:hover{transform:none}
}


/* V.2.4.20 - supervisão organizada e elegante */
.supervision-toolbar{position:sticky;top:10px;z-index:5;background:linear-gradient(180deg,#fff 0%,#fbfcf8 100%)}
.supervision-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.supervision-nav-btn{border:1px solid rgba(15,95,77,.10);background:#fff;border-radius:24px;padding:16px;display:grid;gap:4px;text-align:left;box-shadow:0 10px 20px rgba(15,95,77,.05);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.supervision-nav-btn span{font-size:20px}
.supervision-nav-btn b{font-size:16px;color:var(--accent-dark)}
.supervision-nav-btn small{font-size:12px;color:var(--muted);line-height:1.35}
.supervision-nav-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,95,77,.08)}
.supervision-nav-btn.is-active{background:linear-gradient(180deg,#f8fbe9 0%,#edf6d0 100%);border-color:rgba(183,216,75,.42)}
.supervision-section{scroll-margin-top:170px}
.supervision-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.supervision-list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}
.supervision-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border:1px solid rgba(15,95,77,.08);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#fbfcfa 100%)}
.supervision-list-item b{display:block;color:var(--accent-dark);line-height:1.2}
.supervision-list-item small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}
.supervision-list-side{text-align:right;min-width:110px}
.supervision-list-side span{display:block;font-weight:800;color:var(--accent-dark)}
.supervision-empty{padding:18px;border:1px dashed rgba(15,95,77,.14);border-radius:18px;color:var(--muted);text-align:center;background:#fafcf8}
.supervision-note-box{background:linear-gradient(180deg,#f9fbff 0%,#f5f8fc 100%)}
.supervision-note-content{display:flex;gap:14px;align-items:flex-start}
.supervision-note-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(180deg,#ecf3ff 0%,#d7e3ff 100%);font-size:24px;flex:0 0 auto}
@media(max-width:900px){
  .supervision-nav{grid-template-columns:1fr}
  .supervision-toolbar{position:relative;top:auto}
  .supervision-list{max-height:none}
  .supervision-list-item{flex-direction:column}
  .supervision-list-side{text-align:left;min-width:0}
}


/* V.2.4.21 - supervisão premium */
.supervision-hero-card{background:linear-gradient(180deg,#fff 0%,#fbfcf7 100%);border-color:rgba(183,216,75,.18);box-shadow:0 18px 46px rgba(15,95,77,.06)}
.supervision-hero-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.supervision-hero-note{display:grid;gap:8px;justify-items:end}
.supervision-hero-note small{color:var(--muted)}
.supervision-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.supervision-kpi{padding:18px;border:1px solid rgba(15,95,77,.08);border-radius:22px;background:linear-gradient(180deg,#fff 0%,#f9fbf8 100%);box-shadow:0 12px 24px rgba(15,95,77,.05)}
.supervision-kpi span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.supervision-kpi strong{display:block;font-size:28px;line-height:1.1;color:var(--accent-dark);margin:10px 0 6px}
.supervision-kpi small{color:var(--muted)}
.premium-tabs{background:linear-gradient(180deg,#fff 0%,#fcfdf9 100%);box-shadow:0 14px 30px rgba(15,95,77,.05)}
.supervision-toolbar-head{display:flex;justify-content:space-between;gap:14px;align-items:end}
.supervision-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.supervision-nav-btn{border-radius:26px;padding:18px 18px 16px;background:linear-gradient(180deg,#fff 0%,#fcfdfb 100%);border:1px solid rgba(15,95,77,.08);box-shadow:0 14px 28px rgba(15,95,77,.05)}
.supervision-nav-btn span{font-size:22px}
.supervision-nav-btn b{font-size:18px}
.supervision-nav-btn small{font-size:12px}
.supervision-nav-btn.is-active{background:linear-gradient(180deg,#f7fbe8 0%,#eaf3c7 100%);border-color:rgba(183,216,75,.45);box-shadow:0 18px 30px rgba(167,196,72,.16)}
.supervision-pane{display:none;animation:supFade .22s ease}
.supervision-pane.is-active{display:block}
@keyframes supFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.supervision-section{background:linear-gradient(180deg,#fff 0%,#fdfefd 100%);box-shadow:0 16px 34px rgba(15,95,77,.05)}
.premium-preview-box{padding:18px 20px;border-radius:20px;background:linear-gradient(180deg,#fbfcf9 0%,#f5f8f1 100%);border:1px solid rgba(15,95,77,.06)}
.supervision-mini-grid{grid-template-columns:1.15fr 1fr .9fr;align-items:start}
.supervision-audit-box{padding:18px;border-radius:24px;background:linear-gradient(180deg,#fff 0%,#fbfcfb 100%);border:1px solid rgba(15,95,77,.07);box-shadow:0 12px 24px rgba(15,95,77,.04)}
.supervision-list{gap:12px;max-height:none}
.supervision-list-item{border-radius:22px;padding:16px;background:linear-gradient(180deg,#fff 0%,#fcfcfa 100%)}
.supervision-list-item b{font-size:16px}
.supervision-list-item small{font-size:13px}
.supervision-list-side span{font-size:15px}
.supervision-note-box{background:linear-gradient(180deg,#fafcff 0%,#f4f8ff 100%)}
.soft-badge{white-space:nowrap}
@media(max-width:980px){
  .supervision-hero-top,.supervision-toolbar-head{display:grid;gap:12px}
  .supervision-hero-note{justify-items:start}
  .supervision-kpis,.supervision-nav,.supervision-mini-grid{grid-template-columns:1fr}
  .supervision-nav-btn{padding:16px}
  .supervision-kpi strong{font-size:26px}
}

/* V.2.4.24 - Supervisão dashboard com gráficos e menu lateral */
.sup-premium-page{max-width:1380px}
.sup-topbar{align-items:center}
.sup-top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sup-exec-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;background:linear-gradient(135deg,#fff 0%,#fbfdf7 58%,#f0f8d8 100%);border-color:rgba(183,216,75,.22);box-shadow:0 22px 50px rgba(15,95,77,.08);overflow:hidden;position:relative}
.sup-exec-hero:after{content:"";position:absolute;right:-80px;top:-90px;width:230px;height:230px;border-radius:999px;background:rgba(183,216,75,.16);pointer-events:none}
.sup-exec-copy{max-width:760px;position:relative;z-index:1}.sup-exec-copy .section-title{font-size:clamp(34px,5vw,58px);line-height:1.02}
.sup-exec-status{display:flex;gap:10px;align-items:center;position:relative;z-index:1;flex-wrap:wrap;justify-content:flex-end}
.sup-period-switch{display:inline-flex;gap:8px;flex-wrap:wrap;padding:6px;border:1px solid rgba(15,95,77,.10);border-radius:999px;background:#fff;box-shadow:0 10px 24px rgba(15,95,77,.05)}
.sup-period-btn{border:0;border-radius:999px;background:transparent;color:var(--accent-dark);padding:10px 14px;font-weight:900;cursor:pointer}
.sup-period-btn.is-active{background:linear-gradient(180deg,#b7d84b,#a6cc35);box-shadow:0 10px 22px rgba(183,216,75,.26)}
.sup-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sup-kpi-card{background:#fff;border:1px solid rgba(15,95,77,.08);border-radius:28px;padding:20px;box-shadow:0 14px 32px rgba(15,95,77,.07);display:grid;gap:8px}
.sup-kpi-card span{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.sup-kpi-card strong{font-size:clamp(24px,4vw,34px);color:var(--accent-dark);line-height:1.05}
.sup-kpi-card small{color:var(--muted);line-height:1.35}
.sup-chart-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:stretch}
.sup-chart-card{min-height:310px;background:linear-gradient(180deg,#fff 0%,#fcfdf9 100%);border-color:rgba(15,95,77,.08);box-shadow:0 14px 34px rgba(15,95,77,.06)}
.sup-chart-large{min-height:350px}.sup-chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.sup-chart-head h2{margin:10px 0 0;color:var(--accent-dark);font-size:24px;letter-spacing:-.03em}
.sup-bar-chart,.sup-mini-chart,.sup-ranking-chart,.sup-audit-chart{display:grid;gap:12px}.sup-bar-row{display:grid;grid-template-columns:minmax(150px,240px) 1fr auto;gap:14px;align-items:center;padding:12px;border:1px solid rgba(15,95,77,.07);border-radius:18px;background:#fff}.sup-bar-label{display:grid;gap:2px;min-width:0}.sup-bar-label b{color:var(--accent-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sup-bar-label span{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sup-bar-track{height:18px;border-radius:999px;background:#edf3df;overflow:hidden}.sup-bar-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b7d84b,#0f5f4d)}.sup-bar-row strong{color:var(--accent-dark);font-size:14px;white-space:nowrap;text-align:right}
.sup-mini-bar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:12px;border:1px solid rgba(15,95,77,.07);border-radius:18px;background:#fff}.sup-mini-bar>div:first-child{display:grid;gap:3px}.sup-mini-bar b{color:var(--accent-dark);line-height:1.15}.sup-mini-bar span{font-size:12px;color:var(--muted)}.sup-mini-bar strong{font-size:14px;color:var(--accent-dark)}.sup-mini-bar-line{grid-column:1 / -1;height:12px;background:#edf3df;border-radius:999px;overflow:hidden}.sup-mini-bar-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b7d84b,#0f5f4d)}
.sup-insights-card{background:linear-gradient(180deg,#fff 0%,#fbfdf8 100%)}.sup-insights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sup-insight{display:flex;gap:12px;padding:16px;border:1px solid rgba(15,95,77,.08);border-radius:22px;background:#fff;box-shadow:0 10px 24px rgba(15,95,77,.04)}.sup-insight>span{width:42px;height:42px;border-radius:16px;background:rgba(183,216,75,.18);display:grid;place-items:center;font-size:20px;flex:0 0 auto}.sup-insight div{display:grid;gap:4px}.sup-insight b{color:var(--accent-dark)}.sup-insight strong{font-size:18px;color:var(--accent-dark)}.sup-insight small{color:var(--muted);line-height:1.35}
.sup-report-backdrop{position:fixed;inset:0;background:rgba(9,28,23,.45);backdrop-filter:blur(4px);z-index:9998;display:none;justify-content:flex-end}.sup-report-backdrop.open{display:flex}.sup-report-drawer{width:min(620px,100%);height:100%;background:linear-gradient(180deg,#fff 0%,#f8faf6 100%);box-shadow:-28px 0 70px rgba(0,0,0,.22);padding:22px;overflow:auto}.sup-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.sup-drawer-head h2{margin:10px 0 0;color:var(--accent-dark);letter-spacing:-.04em}.sup-drawer-close{width:46px;height:46px;border:0;border-radius:18px;background:rgba(15,95,77,.06);font-size:28px;color:var(--accent-dark);cursor:pointer}.sup-drawer-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sup-drawer-tab{border:1px solid rgba(15,95,77,.10);border-radius:16px;padding:12px 10px;background:#fff;color:var(--accent-dark);font-weight:900;cursor:pointer}.sup-drawer-tab.is-active{background:linear-gradient(180deg,#f6fbe7,#eaf5c8);border-color:rgba(183,216,75,.50)}.sup-drawer-pane{display:none;margin-top:20px}.sup-drawer-pane.is-active{display:block}.sup-drawer-pane h3{font-size:24px;margin:0 0 8px;color:var(--accent-dark)}.sup-drawer-grid{grid-template-columns:1fr 1fr}.sup-drawer-grid label span{display:block;margin-bottom:6px;font-size:13px;font-weight:900;color:var(--accent-dark)}.sup-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:980px){.sup-exec-hero{display:grid}.sup-exec-status{justify-content:flex-start}.sup-kpi-grid,.sup-chart-grid,.sup-insights-grid{grid-template-columns:1fr}.sup-bar-row{grid-template-columns:1fr}.sup-bar-row strong{text-align:left}.sup-drawer-grid,.sup-drawer-actions{grid-template-columns:1fr}.sup-report-drawer{padding:18px}.sup-drawer-tabs{grid-template-columns:1fr}.sup-top-actions{width:100%}.sup-top-actions .btn{flex:1}.sup-period-switch{border-radius:20px;display:grid;grid-template-columns:1fr 1fr 1fr;width:100%}.sup-period-btn{padding:10px 8px}.sup-exec-copy .section-title{font-size:34px}}
