:root{--blue:#082b57;--blue2:#0b3d78;--gold:#d8a22a;--bg:#f4f7fb;--text:#17324d;--muted:#6e7f93;--border:#dce6f1;--success:#007c78;--danger:#b42318;--shadow:0 16px 45px rgba(11,42,85,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px}.sidebar{position:fixed;inset:0 auto 0 0;width:300px;background:#fff;border-right:1px solid var(--border);padding:18px 16px;overflow:auto;box-shadow:8px 0 30px rgba(8,43,87,.05);z-index:2}.brand{display:flex;gap:12px;align-items:center;margin-bottom:18px}.brand img{width:82px;height:58px;object-fit:contain}.brand strong{display:block;font-size:15px;color:var(--blue)}.brand span{font-size:12px;color:var(--muted)}.student-search{border:1px solid var(--border);border-radius:18px;padding:12px;background:#fbfdff;margin-bottom:14px}.student-search label{display:block;font-weight:900;color:var(--blue);font-size:12px;text-transform:uppercase;margin-bottom:8px}.search-row{display:flex;gap:6px}.search-row input,.search{width:100%;border:1px solid var(--border);border-radius:14px;padding:11px 12px;outline:none}.search-row button{border:0;border-radius:14px;background:var(--blue);color:#fff;width:45px;cursor:pointer}.clear-student{width:100%;margin-top:8px;border:0;border-radius:12px;background:#edf3f8;color:var(--blue);font-weight:800;padding:9px;cursor:pointer}.student-box{margin-top:10px;background:#fff;border:1px solid #cfe0f2;border-radius:14px;padding:10px;font-size:12px}.student-box strong{display:block;color:var(--blue);font-size:13px}.student-choice{border:0;background:#fff;text-align:left;width:100%;padding:9px;border-bottom:1px solid #edf3f8;cursor:pointer;border-radius:10px}.student-choice:hover{background:#f4f8fd}.hidden{display:none!important}.search{margin:0 0 14px}.seg-title{font-size:11px;text-transform:uppercase;font-weight:900;color:var(--muted);margin:16px 0 7px}.side-link{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;color:var(--text);padding:9px;border-radius:12px;cursor:pointer;text-align:left}.side-link:hover{background:#f0f5fb}.badge{font-size:11px;background:#edf3f8;border-radius:999px;padding:3px 8px}.admin-panel{border-top:1px solid var(--border);margin-top:18px;padding-top:14px;display:grid;gap:8px}.admin-btn,.save-admin,.tool-admin{border:0;border-radius:14px;padding:11px 16px;font-weight:900;cursor:pointer;background:var(--blue);color:#fff;text-align:left}.save-admin{background:var(--success)}.tool-admin{background:#edf3f8;color:var(--blue)}.tool-admin input{display:none}.admin-section-label{background:transparent !important;color:var(--muted) !important;font-size:10.5px;text-transform:uppercase;font-weight:800;letter-spacing:.05em;padding:12px 2px 0 !important;margin:0 !important;cursor:default !important;border-top:1px solid #eef2f7}.admin-section-label:first-of-type{border-top:none;padding-top:0 !important}.main{margin-left:300px;padding:24px;max-width:1720px}.hero{background:linear-gradient(135deg,#082b57,#0b3d78);border-radius:26px;color:#fff;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);min-height:130px}.hero h1{margin:0 0 8px;font-size:clamp(24px,2vw,38px)}.hero p{margin:0;color:#dce8f6}.hero-logo{width:160px;max-height:95px;object-fit:contain;background:rgba(255,255,255,.1);padding:10px;border-radius:18px}.active-student-banner{margin:18px 0 0;background:#fff;border:1px solid var(--border);border-left:6px solid var(--gold);border-radius:18px;padding:14px 18px;box-shadow:var(--shadow);display:flex;justify-content:space-between;gap:14px;align-items:center}.active-student-banner strong{color:var(--blue);font-size:17px}.active-student-banner .meta{color:var(--muted);font-weight:700}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.filter{border:1px solid var(--border);background:#fff;border-radius:999px;padding:9px 13px;font-weight:800;color:var(--blue);cursor:pointer}.filter.active{background:var(--gold);border-color:var(--gold);color:#2a1b00}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}.card-head{padding:20px}.top-line{display:flex;align-items:start;justify-content:space-between;gap:16px}.card h2{margin:0;color:var(--blue);font-size:28px}.total{font-size:26px;color:var(--success);font-weight:950;white-space:nowrap}.pills,.summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pill{background:#edf3f8;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:#294b70}.pill.segment{background:#fff0b9;color:#805100}.card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.card-actions button{border:0;border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer}.print{background:var(--blue);color:#fff}.pay{background:var(--gold);color:#2a1b00}.add{background:#edf3f8;color:var(--blue);display:none}body.admin .add{display:inline-block}.table-wrap{overflow:hidden;border-top:1px solid var(--border)}table{width:100%;border-collapse:collapse;table-layout:fixed}th{font-size:11px;text-transform:uppercase;color:var(--blue);background:#edf3f8;padding:12px;text-align:left}td{padding:12px;border-top:1px solid var(--border);vertical-align:top;font-size:13px;line-height:1.32;overflow-wrap:anywhere}.desc{width:58%}.mat{width:16%}.env{width:9%;text-align:center}.val{width:17%;text-align:right;white-space:nowrap}.act{width:90px;text-align:center;display:none}body.admin .act{display:table-cell}.row-actions{display:flex;gap:6px;justify-content:center}.icon-btn{border:0;border-radius:10px;padding:7px 8px;cursor:pointer}.edit{background:#fff0b9}.del{background:#ffe4e0}.empty{background:#fff;border:1px dashed var(--border);border-radius:22px;padding:35px;text-align:center;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(2,14,31,.55);display:flex;align-items:center;justify-content:center;z-index:9;padding:18px}.modal-card{background:#fff;border-radius:24px;padding:24px;max-width:520px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.25);position:relative}.close{position:absolute;right:14px;top:12px;border:0;background:#edf3f8;border-radius:999px;width:34px;height:34px;cursor:pointer}.login-logo{width:150px;display:block;margin:auto auto 12px}.modal-card h2{color:var(--blue);margin:4px 0 8px}.modal-card p{color:var(--muted)}.modal-card input{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px;margin:6px 0 12px}.modal-card select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px;margin:6px 0 12px;background:#fff;color:var(--text);font-family:inherit;font-size:14px}.primary{border:0;background:var(--blue);color:#fff;border-radius:14px;padding:11px 14px;font-weight:900;cursor:pointer}.danger{border:0;background:var(--danger);color:#fff;border-radius:14px;padding:11px 14px;font-weight:900;cursor:pointer}.full{width:100%}.actions-row{display:flex;gap:8px;justify-content:flex-end}.log-card{max-width:900px}.log-card pre{max-height:65vh;overflow:auto;background:#071b33;color:#dce8f6;border-radius:16px;padding:14px;font-size:12px}.student-result-label{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:900;margin-top:8px}

/* Tela "Vincular produtos ao Hiper" */
#hiperVinculoModal .modal-card.pedidos-card{
  width:min(1000px,96vw) !important;
  max-width:96vw !important;
  max-height:90vh !important;
}
#hiperVinculoModal .reports-header{
  flex-wrap:wrap;
  align-items:flex-start;
  padding-right:44px;
}
#hiperVinculoModal .reports-header > div:first-child{flex:1 1 240px;min-width:0}
#hiperVinculoModal .reports-header h2{font-size:21px;line-height:1.25}
#hiperVinculoModal .reports-header p{font-size:12.5px}
#hiperVinculoModal .reports-header .actions-row{
  flex:1 1 100%;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
}
#hiperVinculoModal .reports-header .actions-row .primary,
#hiperVinculoModal .reports-header .actions-row .secondary{
  flex:0 0 auto;
  min-height:38px;
  padding:9px 16px;
  font-size:12.5px;
  white-space:nowrap;
  margin:0;
}
#hiperVinculoModal #hiperVinculoFiltro{margin-bottom:12px}
.hiper-emissao-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  background:#fff6e9;
  border:1px solid #f0d9a8;
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:12px;
}
.hiper-emissao-toggle.ligado{background:#eaf9ef;border-color:#a9dfb8}
.hiper-emissao-toggle strong{display:block;font-size:13px;color:#7a5b12}
.hiper-emissao-toggle.ligado strong{color:#1c6b34}
.hiper-emissao-toggle small{color:var(--muted);font-size:11.5px;line-height:1.4;display:block;max-width:480px}
.hiper-emissao-toggle button{flex:0 0 auto}
#hiperVinculoModal .hiper-vinculo-lista{
  max-height:60vh;
  overflow:auto;
  border:1px solid #d8e6f5;
  border-radius:14px;
  padding:4px;
}
.hiper-vinculo-item{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 14px;
  border-bottom:1px solid #eaf1f7;
}
.hiper-vinculo-item:last-child{border-bottom:none}
.hiper-vinculo-item strong{color:var(--blue);font-size:13.5px;line-height:1.3}
.hiper-vinculo-item small{color:var(--muted);font-weight:700;font-size:12px}
.hiper-sugestao{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  background:#eef7ff;
  border:1px dashed #9cc6ee;
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  color:#0b356b;
}
.hiper-sugestao strong{color:#0b356b;font-size:12px}

/* Tela "Controle de estoque" */
#estoqueModal .modal-card.pedidos-card{
  width:min(1100px,96vw) !important;
  max-width:96vw !important;
  max-height:90vh !important;
}
#estoqueModal .reports-header{
  flex-wrap:wrap;
  align-items:flex-start;
  padding-right:44px;
}
#estoqueModal .reports-header > div:first-child{flex:1 1 240px;min-width:0}
#estoqueModal .reports-header h2{font-size:21px;line-height:1.25}
#estoqueModal .reports-header p{font-size:12.5px}
#estoqueModal .reports-header .actions-row{
  flex:1 1 100%;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:8px;
}
#estoqueModal .reports-header .actions-row button{
  min-height:38px;
  padding:9px 14px;
  font-size:12.5px;
  white-space:nowrap;
  flex:0 0 auto;
}
#estoqueModal .estoque-lista{
  max-height:60vh;
  overflow:auto;
  border:1px solid #d8e6f5;
  border-radius:14px;
  padding:4px;
}
.estoque-item{padding:12px 14px;border-bottom:1px solid #eaf1f7}
.estoque-item:last-child{border-bottom:none}
.estoque-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}
.estoque-item-top strong{display:block;color:var(--blue);font-size:13.5px;line-height:1.3}
.estoque-item-top small{color:var(--muted);font-weight:700;font-size:12px}
.estoque-item-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.estoque-item-grid label{display:flex;flex-direction:column;gap:4px;font-size:10.5px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.estoque-item-grid input{border:1px solid var(--border);border-radius:10px;padding:8px;font-size:13px;color:var(--text);text-transform:none;font-weight:600}
@media(max-width:900px){
  #estoqueModal .modal-card.pedidos-card{width:97vw !important;padding:14px !important}
  #estoqueModal .reports-header{flex-direction:column !important;align-items:stretch !important;padding-right:0 !important}
  #estoqueModal .reports-header .actions-row{flex-direction:column !important}
  #estoqueModal .reports-header .actions-row button{width:100% !important;white-space:normal}
}
@media(max-width:700px){
  .estoque-item-grid{grid-template-columns:1fr 1fr}
}

/* Tela "Painel de entrega" */
#painelEntregaModal .modal-card.pedidos-card{
  width:min(900px,96vw) !important;
  max-width:96vw !important;
  max-height:90vh !important;
}
#painelEntregaModal .reports-header{
  flex-wrap:wrap;
  align-items:flex-start;
  padding-right:44px;
}
#painelEntregaModal .reports-header > div{flex:1 1 240px;min-width:0}
#painelEntregaModal .reports-header h2{font-size:21px;line-height:1.25}
#painelEntregaModal .reports-header p{font-size:12.5px}
#painelEntregaModal .reports-header .primary{
  flex:0 0 auto;
  min-height:38px;
  padding:9px 16px;
  font-size:12.5px;
  white-space:nowrap;
}
.entrega-painel-lista{
  max-height:50vh;
  overflow:auto;
  border:1px solid #d8e6f5;
  border-radius:14px;
  padding:4px;
  margin-top:12px;
}
.entrega-painel-item{padding:12px 14px;border-bottom:1px solid #eaf1f7}
.entrega-painel-item:last-child{border-bottom:none}
.entrega-painel-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}
.entrega-painel-topo strong{display:block;color:var(--blue);font-size:13.5px;line-height:1.3}
.entrega-painel-topo small{color:var(--muted);font-weight:700;font-size:12px}
.entrega-painel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.entrega-painel-grid div{background:#f4f8fc;border-radius:10px;padding:8px 10px}
.entrega-painel-grid span{display:block;font-size:10.5px;text-transform:uppercase;font-weight:800;color:var(--muted)}
.entrega-painel-grid strong{font-size:15px;color:var(--text)}
@media(max-width:900px){
  #painelEntregaModal .modal-card.pedidos-card{width:97vw !important;padding:14px !important}
  #painelEntregaModal .reports-header{flex-direction:column !important;align-items:stretch !important;padding-right:0 !important}
  #painelEntregaModal .reports-header .primary{width:100% !important;white-space:normal}
}
.hiper-vinculo-item input{
  width:100%;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px;
  font-size:13px;
  background:#fff;
}
.hiper-combo{position:relative}
.hiper-combo-lista{
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  right:0;
  max-height:240px;
  overflow:auto;
  background:#fff;
  border:1px solid #cfe0f2;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(8,43,87,.2);
  z-index:20;
  padding:4px;
}
.hiper-combo-opcao{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  padding:9px 10px;
  border-radius:8px;
  font-size:12.5px;
  cursor:pointer;
  color:var(--text);
}
.hiper-combo-opcao:hover{background:#eef5fb}
.hiper-combo-vazio{padding:10px;color:var(--muted);font-size:12.5px}
@media(max-width:900px){
  #hiperVinculoModal .modal-card.pedidos-card{width:97vw !important;padding:14px !important}
  #hiperVinculoModal .reports-header{flex-direction:column !important;align-items:stretch !important;padding-right:0 !important}
  #hiperVinculoModal .reports-header .actions-row{flex-direction:column !important}
  #hiperVinculoModal .reports-header .actions-row .primary,
  #hiperVinculoModal .reports-header .actions-row .secondary{width:100% !important;white-space:normal;justify-content:center}
}
@media(max-width:1100px){.sidebar{position:relative;width:100%;height:auto}.main{margin-left:0;padding:16px}.cards{grid-template-columns:1fr}.hero{border-radius:18px}.hero-logo{display:none}.active-student-banner{display:block}.top-line{display:block}.total{margin-top:8px}.desc{width:50%}.mat{width:18%}.env{width:10%}.val{width:22%}}
@media(max-width:640px){body{font-size:13px}.main{padding:10px}.hero{padding:18px}.card h2{font-size:22px}.total{font-size:22px}.cards{gap:12px}.card{border-radius:18px}.card-head{padding:16px}table,thead,tbody,tr,td,th{display:block}thead{display:none}td{border-top:0;border-bottom:1px solid var(--border);padding:9px 12px}td::before{content:attr(data-label);display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.desc,.mat,.env,.val,.act{width:100%;text-align:left;white-space:normal}body.admin .act{display:block}.row-actions{justify-content:flex-start}}
@media print{.sidebar,.hero,.filters,.catalog-filter-panel,.card-actions,.active-student-banner{display:none!important}.main{margin:0;padding:0}.cards{display:block}.card{box-shadow:none;border:0;border-radius:0}.table-wrap{overflow:visible}body{background:#fff}}


.checkout-card{max-width:820px}.checkout-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;background:#f7fbff;border:1px solid var(--border);border-radius:18px;padding:14px;margin:12px 0 16px}.checkout-resumo div{background:#fff;border:1px solid #edf3f8;border-radius:14px;padding:10px}.checkout-resumo span{display:block;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.checkout-resumo strong{color:var(--blue);font-size:14px}.checkout-total{font-size:20px!important;color:var(--success)!important}.payment-tabs{display:flex;gap:8px;margin:10px 0 16px}.pay-tab{border:1px solid var(--border);background:#fff;color:var(--blue);border-radius:999px;padding:10px 14px;font-weight:900;cursor:pointer}.pay-tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}.pay-pane p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1.5fr;gap:10px}.form-grid label{font-size:12px;font-weight:900;color:var(--blue)}.form-grid input,.form-grid select{margin-top:5px}.secure-note{font-size:12px;color:var(--muted);background:#fff8dc;border:1px solid #f1dda1;border-radius:14px;padding:10px;margin:8px 0 14px}.payment-result{border:1px solid var(--border);border-radius:18px;background:#fbfdff;padding:14px;margin-top:12px}.payment-result h3{margin:0 0 8px;color:var(--blue)}.pix-img{display:block;max-width:220px;width:100%;margin:12px auto;border:1px solid var(--border);border-radius:16px;padding:8px;background:#fff}.payment-result textarea{width:100%;min-height:80px;border:1px solid var(--border);border-radius:12px;padding:10px;margin-top:6px}.pay-ok{color:var(--success);font-weight:900}.pay-error{background:#ffe4e0;color:var(--danger);border-radius:14px;padding:12px}.loading-pay{color:var(--blue);font-weight:900}
@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}.checkout-card{max-width:96vw}}
@media(max-width:560px){.form-grid{grid-template-columns:1fr}.payment-tabs{display:grid}.checkout-resumo{grid-template-columns:1fr}}

/* Checkout Rede - layout profissional */
.checkout-card{max-width:1080px;width:min(1080px,96vw);max-height:94vh;overflow:auto}.checkout-card h2{font-size:26px;margin-bottom:16px}.checkout-resumo{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));background:#f7fbff;border:1px solid #cfe0f2;border-radius:22px;padding:18px}.checkout-resumo div{min-height:78px;display:flex;flex-direction:column;justify-content:center;border-radius:18px}.checkout-resumo strong{font-size:18px}.checkout-total{font-size:24px!important}.payment-tabs{gap:10px}.pay-tab{font-size:16px;padding:12px 18px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.25fr) 380px;gap:18px;align-items:start}.card-form-panel,.installment-panel{border:1px solid var(--border);border-radius:22px;background:#fbfdff;padding:16px}.secure-title{font-weight:950;color:var(--blue);margin-bottom:12px}.card-visual{height:190px;border-radius:22px;padding:22px;color:white;background:linear-gradient(135deg,#082b57,#0b67a5);box-shadow:0 18px 36px rgba(8,43,87,.25);position:relative;overflow:hidden;margin-bottom:16px}.card-visual::after{content:"";position:absolute;right:-60px;top:-70px;width:220px;height:220px;background:rgba(255,255,255,.10);border-radius:50%}.card-chip{width:48px;height:34px;border-radius:9px;background:linear-gradient(135deg,#f6d985,#b9831f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}.card-brand{position:absolute;right:22px;top:22px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.card-number-preview{position:absolute;left:22px;right:22px;bottom:62px;font-size:24px;letter-spacing:.08em;font-weight:800}.card-footer-preview{position:absolute;left:22px;right:22px;bottom:22px;display:flex;justify-content:space-between;gap:12px;font-size:12px;text-transform:uppercase;font-weight:800;opacity:.95}.card-fields-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.card-fields-grid label{font-size:12px;font-weight:950;color:var(--blue);text-transform:uppercase;letter-spacing:.02em}.card-fields-grid .field-wide{grid-column:span 3}.card-fields-grid input{margin-top:6px;width:100%;height:48px;border:1px solid var(--border);border-radius:14px;padding:12px;font-size:15px}.installment-panel h3{margin:0 0 6px;color:var(--blue);font-size:20px}.installment-panel p{margin:0 0 12px;color:var(--muted);font-weight:700}.installment-options{display:grid;gap:8px;max-height:390px;overflow:auto;padding-right:4px}.installment-card{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:16px;background:white;padding:11px 12px;cursor:pointer;transition:.15s}.installment-card:hover{border-color:#9bb9d8;transform:translateY(-1px)}.installment-card.selected{border-color:var(--blue);box-shadow:0 0 0 3px rgba(8,43,87,.10);background:#f5f9ff}.installment-card input{width:18px;height:18px;accent-color:var(--blue);flex:0 0 auto}.installment-card span{display:block;font-weight:900;color:var(--blue);line-height:1.2}.installment-card small{display:block;color:var(--success);font-weight:850;margin-left:auto;white-space:nowrap}.payment-main-btn{height:50px;font-size:17px;margin-top:16px;background:linear-gradient(135deg,#082b57,#0b3d78)}.config-card{max-width:760px}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.config-grid label{font-size:12px;font-weight:950;color:var(--blue);text-transform:uppercase}.config-grid input,.config-grid select{width:100%;border:1px solid var(--border);border-radius:14px;padding:12px;margin-top:6px}.toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 12px}.toggle-line{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:14px;padding:12px;background:#fbfdff;font-weight:900;color:var(--blue)}.toggle-line input{accent-color:var(--blue);width:18px;height:18px}
@media(max-width:980px){.checkout-layout{grid-template-columns:1fr}.installment-options{max-height:none}.card-fields-grid{grid-template-columns:1fr 1fr}.card-fields-grid .field-wide{grid-column:span 2}.toggle-grid{grid-template-columns:1fr}.config-grid{grid-template-columns:1fr}}
@media(max-width:560px){.card-fields-grid{grid-template-columns:1fr}.card-fields-grid .field-wide{grid-column:span 1}.card-visual{height:165px}.card-number-preview{font-size:18px}.checkout-card{padding:18px}}


/* Ajuste visual do resumo no pagamento: nome do aluno em uma única linha */
#checkoutModal .checkout-card{
  width:min(1240px,96vw);
  max-width:1240px;
}
#checkoutModal .checkout-resumo{
  display:grid;
  grid-template-columns:minmax(170px,.9fr) minmax(420px,2.35fr) minmax(150px,.85fr) minmax(220px,1.1fr) minmax(170px,.9fr);
  gap:16px;
  padding:22px;
  align-items:stretch;
}
#checkoutModal .checkout-resumo .checkout-info{
  min-height:118px;
  padding:18px 20px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
}
#checkoutModal .checkout-resumo .checkout-info span{
  display:block;
  margin-bottom:8px;
  color:#60708a;
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
}
#checkoutModal .checkout-resumo .checkout-info strong{
  display:block;
  color:#082b57;
  font-size:24px;
  font-weight:950;
  line-height:1.15;
}
#checkoutModal .checkout-resumo .checkout-info-aluno strong{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:clamp(18px,1.55vw,28px);
  line-height:1.1;
  max-width:100%;
}
#checkoutModal .checkout-resumo .checkout-info-serie strong{
  font-size:28px;
}
#checkoutModal .checkout-resumo .checkout-info-total strong.checkout-total{
  color:#007c78!important;
  font-size:30px!important;
  white-space:nowrap;
}
#checkoutModal .payment-tabs{
  margin-top:20px;
}
#checkoutModal .pay-tab{
  min-width:140px;
  text-align:center;
  font-size:18px;
}
#checkoutModal #pixPane p{
  font-size:17px;
  margin:16px 0 16px;
}
#checkoutModal #pixPane .primary.full{
  height:54px;
  font-size:18px;
}
@media(max-width:1100px){
  #checkoutModal .checkout-resumo{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  #checkoutModal .checkout-resumo .checkout-info-aluno{
    grid-column:span 2;
  }
}
@media(max-width:640px){
  #checkoutModal .checkout-resumo{
    grid-template-columns:1fr;
    padding:14px;
    gap:10px;
  }
  #checkoutModal .checkout-resumo .checkout-info,
  #checkoutModal .checkout-resumo .checkout-info-aluno{
    grid-column:auto;
    min-height:auto;
    padding:14px;
  }
  #checkoutModal .checkout-resumo .checkout-info strong,
  #checkoutModal .checkout-resumo .checkout-info-serie strong{
    font-size:20px;
  }
  #checkoutModal .checkout-resumo .checkout-info-aluno strong{
    font-size:18px;
  }
}

/* v6 - Ajuste responsivo exclusivo da tela de pagamento */
#checkoutModal.modal{
  padding:14px;
  overflow:hidden;
}
#checkoutModal .checkout-card{
  width:min(1280px, calc(100vw - 28px));
  max-width:calc(100vw - 28px);
  max-height:calc(100vh - 28px);
  overflow-y:auto;
  overflow-x:hidden;
  padding:28px;
}
#checkoutModal .checkout-card h2{
  margin:0 44px 18px 0;
  font-size:clamp(24px, 2.3vw, 34px);
  line-height:1.1;
}
#checkoutModal .checkout-resumo{
  width:100%;
  max-width:100%;
  display:grid;
  grid-template-columns:minmax(145px,.75fr) minmax(300px,2fr) minmax(140px,.78fr) minmax(170px,1fr) minmax(150px,.85fr);
  gap:14px;
  padding:18px;
  margin:10px 0 20px;
  align-items:stretch;
  overflow:hidden;
}
#checkoutModal .checkout-resumo .checkout-info{
  min-width:0;
  min-height:110px;
  padding:16px 18px;
  overflow:hidden;
}
#checkoutModal .checkout-resumo .checkout-info span{
  font-size:12px;
  margin-bottom:8px;
}
#checkoutModal .checkout-resumo .checkout-info strong{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.15;
  font-size:clamp(18px, 1.45vw, 25px);
}
#checkoutModal .checkout-resumo .checkout-info-aluno strong{
  white-space:nowrap;
  font-size:clamp(17px, 1.35vw, 24px);
}
#checkoutModal .checkout-resumo .checkout-info-serie strong{
  font-size:clamp(22px, 2vw, 30px);
}
#checkoutModal .checkout-resumo .checkout-info-total strong.checkout-total{
  color:#007c78!important;
  font-size:clamp(22px, 2vw, 30px)!important;
  white-space:nowrap;
}
#checkoutModal .payment-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0 18px;
}
#checkoutModal .pay-tab{
  min-width:150px;
  padding:13px 22px;
}
#checkoutModal .checkout-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.35fr) minmax(320px, .9fr);
  gap:18px;
  width:100%;
  max-width:100%;
  overflow:hidden;
}
#checkoutModal .card-form-panel,
#checkoutModal .installment-panel{
  min-width:0;
}
#checkoutModal .card-visual{
  width:100%;
  max-width:100%;
}
#checkoutModal #pixPane .primary.full,
#checkoutModal .payment-main-btn{
  width:100%;
  max-width:100%;
}
@media(max-width:1180px){
  #checkoutModal .checkout-resumo{
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);
  }
  #checkoutModal .checkout-resumo .checkout-info-aluno{
    grid-column:span 2;
  }
  #checkoutModal .checkout-layout{
    grid-template-columns:1fr;
  }
  #checkoutModal .installment-options{
    max-height:300px;
  }
}
@media(max-width:780px){
  #checkoutModal.modal{padding:8px;align-items:flex-start;}
  #checkoutModal .checkout-card{
    width:calc(100vw - 16px);
    max-width:calc(100vw - 16px);
    max-height:calc(100vh - 16px);
    padding:20px;
    border-radius:20px;
  }
  #checkoutModal .checkout-resumo{
    grid-template-columns:1fr;
    gap:10px;
    padding:12px;
  }
  #checkoutModal .checkout-resumo .checkout-info,
  #checkoutModal .checkout-resumo .checkout-info-aluno{
    grid-column:auto;
    min-height:auto;
    padding:14px;
  }
  #checkoutModal .checkout-resumo .checkout-info strong,
  #checkoutModal .checkout-resumo .checkout-info-aluno strong{
    font-size:18px;
  }
  #checkoutModal .checkout-resumo .checkout-info-total strong.checkout-total{
    font-size:24px!important;
  }
  #checkoutModal .pay-tab{
    flex:1 1 100%;
    min-width:0;
  }
  #checkoutModal .card-fields-grid{
    grid-template-columns:1fr;
  }
  #checkoutModal .card-fields-grid .field-wide{
    grid-column:span 1;
  }
}

/* v7 - Checkout responsivo compacto: ajuste exclusivo da tela de pagamento */
#checkoutModal.modal{
  padding:8px !important;
  align-items:flex-start !important;
  justify-content:center !important;
  overflow:hidden !important;
}
#checkoutModal .checkout-card{
  width:min(1180px, calc(100vw - 16px)) !important;
  max-width:calc(100vw - 16px) !important;
  max-height:calc(100vh - 16px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:clamp(16px, 1.7vw, 26px) !important;
  border-radius:22px !important;
}
#checkoutModal .checkout-card h2{
  font-size:clamp(22px, 2vw, 30px) !important;
  margin:0 44px 16px 0 !important;
}
#checkoutModal .checkout-resumo{
  display:grid !important;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.85fr) minmax(0,.78fr) minmax(0,1fr) minmax(0,.95fr) !important;
  gap:clamp(8px, 1vw, 14px) !important;
  padding:clamp(10px, 1.2vw, 16px) !important;
  margin:8px 0 18px !important;
  border-radius:20px !important;
  overflow:hidden !important;
}
#checkoutModal .checkout-resumo .checkout-info,
#checkoutModal .checkout-resumo .checkout-info-aluno,
#checkoutModal .checkout-resumo .checkout-info-serie,
#checkoutModal .checkout-resumo .checkout-info-total{
  min-width:0 !important;
  min-height:92px !important;
  padding:clamp(12px, 1.1vw, 16px) !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
#checkoutModal .checkout-resumo .checkout-info span{
  font-size:clamp(10px, .9vw, 12px) !important;
  margin-bottom:6px !important;
}
#checkoutModal .checkout-resumo .checkout-info strong{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  line-height:1.12 !important;
  font-size:clamp(16px, 1.4vw, 22px) !important;
}
#checkoutModal .checkout-resumo .checkout-info-aluno strong{
  font-size:clamp(14px, 1.25vw, 20px) !important;
  letter-spacing:-.02em !important;
}
#checkoutModal .checkout-resumo .checkout-info-serie strong{
  font-size:clamp(18px, 1.7vw, 25px) !important;
}
#checkoutModal .checkout-resumo .checkout-info-total strong.checkout-total{
  color:#007c78 !important;
  font-size:clamp(18px, 1.65vw, 25px) !important;
  letter-spacing:-.02em !important;
}
#checkoutModal .payment-tabs{
  margin:14px 0 14px !important;
  gap:10px !important;
}
#checkoutModal .pay-tab{
  min-width:130px !important;
  padding:11px 18px !important;
  font-size:clamp(14px, 1.05vw, 17px) !important;
}
#checkoutModal #pixPane p{
  font-size:clamp(13px, 1vw, 16px) !important;
  margin:12px 0 !important;
}
#checkoutModal #pixPane .primary.full,
#checkoutModal .payment-main-btn{
  height:46px !important;
  font-size:clamp(14px, 1.05vw, 17px) !important;
  border-radius:13px !important;
}
#checkoutModal .checkout-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.78fr) !important;
  gap:clamp(12px, 1.2vw, 18px) !important;
  overflow:hidden !important;
}
#checkoutModal .card-form-panel,
#checkoutModal .installment-panel{
  min-width:0 !important;
  padding:clamp(12px, 1.2vw, 16px) !important;
  border-radius:18px !important;
}
#checkoutModal .secure-title{
  font-size:clamp(13px, 1vw, 16px) !important;
  margin-bottom:10px !important;
}
#checkoutModal .card-visual{
  height:clamp(150px, 18vh, 180px) !important;
  border-radius:18px !important;
  margin-bottom:12px !important;
}
#checkoutModal .card-number-preview{
  font-size:clamp(18px, 1.55vw, 23px) !important;
}
#checkoutModal .card-fields-grid{
  gap:10px !important;
}
#checkoutModal .card-fields-grid label{
  font-size:clamp(10px, .85vw, 12px) !important;
}
#checkoutModal .card-fields-grid input{
  height:42px !important;
  font-size:14px !important;
  border-radius:12px !important;
}
#checkoutModal .installment-panel h3{
  font-size:clamp(18px, 1.4vw, 22px) !important;
}
#checkoutModal .installment-panel p{
  font-size:clamp(12px, .95vw, 14px) !important;
}
#checkoutModal .installment-options{
  max-height:clamp(240px, 42vh, 360px) !important;
  gap:8px !important;
}
#checkoutModal .installment-card{
  padding:10px 12px !important;
  min-height:52px !important;
  border-radius:14px !important;
}
#checkoutModal .installment-card span{
  font-size:clamp(13px, .98vw, 15px) !important;
}
#checkoutModal .installment-card small{
  font-size:clamp(11px, .85vw, 13px) !important;
}
@media(max-width:1050px){
  #checkoutModal .checkout-resumo{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #checkoutModal .checkout-resumo .checkout-info-aluno{
    grid-column:span 2 !important;
  }
  #checkoutModal .checkout-layout{
    grid-template-columns:1fr !important;
  }
  #checkoutModal .installment-options{
    max-height:260px !important;
  }
}
@media(max-width:640px){
  #checkoutModal.modal{padding:6px !important;}
  #checkoutModal .checkout-card{
    width:calc(100vw - 12px) !important;
    max-width:calc(100vw - 12px) !important;
    max-height:calc(100vh - 12px) !important;
    padding:14px !important;
    border-radius:18px !important;
  }
  #checkoutModal .checkout-card h2{
    font-size:22px !important;
  }
  #checkoutModal .checkout-resumo{
    grid-template-columns:1fr !important;
  }
  #checkoutModal .checkout-resumo .checkout-info-aluno{
    grid-column:auto !important;
  }
  #checkoutModal .checkout-resumo .checkout-info,
  #checkoutModal .checkout-resumo .checkout-info-aluno,
  #checkoutModal .checkout-resumo .checkout-info-serie,
  #checkoutModal .checkout-resumo .checkout-info-total{
    min-height:auto !important;
  }
  #checkoutModal .checkout-resumo .checkout-info strong{
    font-size:17px !important;
  }
  #checkoutModal .checkout-resumo .checkout-info-aluno strong{
    font-size:15px !important;
  }
  #checkoutModal .pay-tab{
    flex:1 1 100% !important;
    min-width:0 !important;
  }
  #checkoutModal .card-visual{
    height:145px !important;
  }
}



/* ===== V8: Dashboard, pedidos e comprovantes ===== */
.dashboard-card,.pedidos-card{
  width:min(1280px,96vw);
  max-height:92vh;
  overflow:auto;
}
.reports-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}
.reports-header h2{margin:0;color:var(--blue);font-size:28px}
.reports-header p{margin:6px 0 0;color:var(--muted);font-weight:700}
.dashboard-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
  margin-bottom:18px;
}
.dash-card{
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  background:#fbfdff;
}
.dash-card span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  color:var(--muted);
}
.dash-card strong{
  display:block;
  font-size:clamp(20px,2vw,30px);
  color:var(--blue);
  margin:8px 0 4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dash-card small{color:var(--muted);font-weight:700}
.report-table-wrap{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  overflow:auto;
}
.report-table-wrap h3{margin:0;padding:16px 16px 0;color:var(--blue)}
.report-table{
  width:100%;
  min-width:760px;
  border-collapse:collapse;
}
.report-table th{
  background:#edf3f8;
  color:var(--blue);
  font-size:11px;
  text-transform:uppercase;
  padding:12px;
}
.report-table td{
  padding:12px;
  border-bottom:1px solid var(--border);
  vertical-align:middle;
}
.report-table small{color:var(--muted);font-weight:700}
.pedido-filtros{
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:10px;
  align-items:end;
  margin:12px 0 16px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fbfdff;
}
.pedido-filtros label{
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  color:var(--muted);
}
.pedido-filtros input,.pedido-filtros select{
  width:100%;
  margin-top:6px;
  height:40px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:0 10px;
  outline:none;
  background:#fff;
  color:var(--text);
}
.status-pill{
  display:inline-block;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  font-weight:950;
}
.status-pill.ok{background:#dcfce7;color:#166534}
.status-pill.warn{background:#fef3c7;color:#92400e}
.status-pill.bad{background:#fee2e2;color:#991b1b}
.status-pill.info{background:#e0f2fe;color:#075985}
.pedido-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.pedido-actions button{
  border:0;
  border-radius:10px;
  padding:8px 10px;
  background:#edf3f8;
  color:var(--blue);
  font-weight:900;
  cursor:pointer;
}
.pedido-actions button:hover{background:#dfeaf6}
@media(max-width:900px){
  .reports-header{flex-direction:column}
  .pedido-filtros{grid-template-columns:1fr 1fr}
  .dashboard-card,.pedidos-card{width:96vw;padding:18px}
}
@media(max-width:560px){
  .pedido-filtros{grid-template-columns:1fr}
  .dashboard-grid{grid-template-columns:1fr}
}

/* ===== V8.1: e-mail no checkout e pagamento em espécie ===== */
#checkoutModal .checkout-email-row{
  margin:10px 0 12px;
  border:1px solid var(--border);
  background:#fbfdff;
  border-radius:16px;
  padding:10px 12px;
}
#checkoutModal .checkout-email-row label{
  display:block;
  color:var(--blue);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.02em;
}
#checkoutModal .checkout-email-row input{
  margin-top:6px;
  width:100%;
  height:42px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  text-transform:none;
  font-weight:700;
  color:var(--blue);
}
#checkoutModal .cash-box{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fbfdff;
  padding:18px;
}
#checkoutModal .cash-box h3{
  margin:0 0 6px;
  color:var(--blue);
  font-size:20px;
}
#checkoutModal .cash-box p{
  color:var(--muted);
  font-weight:700;
  margin:0 0 14px;
}
.secondary{
  border:1px solid var(--border);
  background:#edf3f8;
  color:var(--blue);
  border-radius:14px;
  padding:11px 14px;
  font-weight:900;
  cursor:pointer;
}
.secondary:hover{background:#dfeaf6}
.secondary.small{
  width:auto;
  min-width:120px;
  height:38px;
  padding:0 14px;
  border-radius:12px;
  font-size:12.5px;
}
.secondary.full{
  width:100%;
  border:1px solid var(--border);
  background:#edf3f8;
  color:var(--blue);
  border-radius:14px;
  padding:12px 16px;
  font-weight:950;
  cursor:pointer;
  margin-top:10px;
}
.secondary.full:hover{background:#dfeaf6}
@media(max-width:640px){
  #checkoutModal .checkout-email-row input{height:38px;font-size:13px}
  #checkoutModal .cash-box{padding:14px}
}


/* ===== V8.2: seleção de materiais no checkout ===== */
#checkoutModal .checkout-itens{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fbfdff;
  padding:12px;
  margin:10px 0 14px;
}
#checkoutModal .checkout-items-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
#checkoutModal .checkout-items-head h3{
  margin:0;
  font-size:16px;
  color:var(--blue);
}
#checkoutModal .checkout-items-head p{
  margin:3px 0 0;
  font-size:12px;
  color:var(--muted);
  font-weight:700;
}
#checkoutModal .checkout-items-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#checkoutModal .checkout-items-actions button{
  border:1px solid var(--border);
  background:#fff;
  color:var(--blue);
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
#checkoutModal .checkout-items-list{
  display:grid;
  gap:7px;
  max-height:220px;
  overflow:auto;
  padding-right:4px;
}
#checkoutModal .checkout-item{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  grid-template-areas:
    "check desc value"
    "check meta value";
  align-items:center;
  column-gap:9px;
  border:1px solid #dce6f1;
  background:#fff;
  border-radius:14px;
  padding:9px 10px;
  cursor:pointer;
}
#checkoutModal .checkout-item.checked{
  border-color:var(--blue);
  background:#f6faff;
  box-shadow:0 0 0 2px rgba(8,43,87,.06);
}
#checkoutModal .checkout-item input{
  grid-area:check;
  width:18px;
  height:18px;
  accent-color:var(--blue);
}
#checkoutModal .checkout-item-desc{
  grid-area:desc;
  color:#082b57;
  font-weight:900;
  font-size:13px;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#checkoutModal .checkout-item-meta{
  grid-area:meta;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
#checkoutModal .checkout-item strong{
  grid-area:value;
  color:var(--success);
  font-size:13px;
  white-space:nowrap;
  text-align:right;
}
#checkoutModal .checkout-items-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #dce6f1;
  color:var(--muted);
  font-size:12px;
  font-weight:900;
}
#checkoutModal .checkout-items-total strong{
  color:var(--success);
  font-size:18px;
}
@media(max-width:640px){
  #checkoutModal .checkout-items-head{display:block}
  #checkoutModal .checkout-items-actions{justify-content:flex-start;margin-top:8px}
  #checkoutModal .checkout-item{
    grid-template-columns:22px minmax(0,1fr);
    grid-template-areas:
      "check desc"
      "check meta"
      "check value";
  }
  #checkoutModal .checkout-item strong{text-align:left;margin-top:4px}
  #checkoutModal .checkout-item-desc{white-space:normal}
}

/* v8.3 - envio padrão e detalhes de pagamento */
.checkout-email-default{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  margin:10px 0 12px;
  border:1px solid #dce6f1;
  border-radius:14px;
  background:#f8fbff;
  color:#60708a;
  font-size:12px;
}
.checkout-email-default strong{
  color:#082b57;
  font-size:12px;
  white-space:nowrap;
}
.payment-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin:10px 0;
  padding:10px;
  border:1px solid #dce6f1;
  border-radius:14px;
  background:#fbfdff;
}
.payment-details p{margin:0;font-size:12px;overflow-wrap:anywhere;}
.email-default-note{font-size:12px;color:#60708a;margin:8px 0 10px;}
@media (max-width: 760px){
  .checkout-email-default{align-items:flex-start;flex-direction:column;}
  .checkout-email-default strong{white-space:normal;}
  .payment-details{grid-template-columns:1fr;}
}

/* ===== V8.4: seleção somente pelo resumo do material ===== */
#checkoutModal .checkout-summary-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
  margin-bottom:12px;
}
#checkoutModal .checkout-summary-item{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  grid-template-areas:
    "check nome valor"
    "check qtd valor";
  align-items:center;
  column-gap:9px;
  border:1px solid #dce6f1;
  background:#fff;
  border-radius:14px;
  padding:10px;
  cursor:pointer;
  min-width:0;
}
#checkoutModal .checkout-summary-item.checked{
  border-color:var(--blue);
  background:#f6faff;
  box-shadow:0 0 0 2px rgba(8,43,87,.06);
}
#checkoutModal .checkout-summary-item input{
  grid-area:check;
  width:18px;
  height:18px;
  accent-color:var(--blue);
}
#checkoutModal .checkout-summary-name{
  grid-area:nome;
  color:#082b57;
  font-weight:900;
  font-size:13px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#checkoutModal .checkout-summary-count{
  grid-area:qtd;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
}
#checkoutModal .checkout-summary-item strong{
  grid-area:valor;
  color:var(--success);
  font-size:13px;
  white-space:nowrap;
  text-align:right;
}
#checkoutModal .checkout-detail-title{
  margin:8px 0 7px;
  color:var(--blue);
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
}
#checkoutModal .checkout-detail-list{
  display:grid;
  gap:6px;
  max-height:190px;
  overflow:auto;
  padding-right:4px;
}
#checkoutModal .checkout-detail-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "desc valor"
    "meta valor";
  gap:2px 10px;
  align-items:center;
  border:1px solid #edf3f8;
  background:#fff;
  border-radius:12px;
  padding:8px 10px;
}
#checkoutModal .checkout-detail-desc{
  grid-area:desc;
  color:#082b57;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#checkoutModal .checkout-detail-meta{
  grid-area:meta;
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
#checkoutModal .checkout-detail-item strong{
  grid-area:valor;
  color:var(--success);
  font-size:12px;
  white-space:nowrap;
}
#checkoutModal .checkout-detail-empty{
  border:1px dashed #dce6f1;
  color:var(--muted);
  background:#fff;
  border-radius:12px;
  padding:12px;
  font-size:12px;
  font-weight:800;
  text-align:center;
}
@media(max-width:720px){
  #checkoutModal .checkout-summary-list{grid-template-columns:1fr}
  #checkoutModal .checkout-summary-name{white-space:normal}
  #checkoutModal .checkout-detail-item{
    grid-template-columns:1fr;
    grid-template-areas:"desc" "meta" "valor";
  }
  #checkoutModal .checkout-detail-desc{white-space:normal}
}

/* ===== V8.5: pagamento com até 3 cartões e recibo ===== */
#checkoutModal .multi-card-header{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  border:1px solid var(--border);
  background:#fbfdff;
  border-radius:18px;
  padding:14px 16px;
  margin:10px 0 12px;
}
#checkoutModal .multi-card-header h3{margin:0 0 4px;color:var(--blue);font-size:18px}
#checkoutModal .multi-card-header p{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}
#checkoutModal .secondary.small{
  width:auto;
  min-width:150px;
  height:38px;
  padding:0 14px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--blue);
  font-weight:900;
  cursor:pointer;
}
#checkoutModal .multi-card-container{display:grid;gap:12px;margin-bottom:12px}
#checkoutModal .credit-card-block{
  border:1px solid #dce6f1;
  background:#ffffff;
  border-radius:18px;
  padding:14px;
  box-shadow:0 8px 20px rgba(8,43,87,.06);
}
#checkoutModal .credit-card-block-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
  color:var(--blue);
}
#checkoutModal .credit-card-block-head strong{font-size:16px}
#checkoutModal .card-mini-layout{
  display:grid;
  grid-template-columns:minmax(210px,280px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
#checkoutModal .small-card-visual{height:160px!important;margin:0!important}
#checkoutModal .multi-card-fields{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
#checkoutModal .multi-card-fields .field-wide{grid-column:span 2!important}
#checkoutModal .multi-card-fields select{
  width:100%;
  height:42px;
  border:1px solid var(--border);
  border-radius:12px;
  padding:0 10px;
  font-size:14px;
  font-weight:800;
  color:var(--blue);
  background:#fff;
}
#checkoutModal .multi-card-balance{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  border-radius:14px;
  padding:12px 14px;
  margin:6px 0 12px;
  font-size:13px;
  font-weight:800;
}
#checkoutModal .multi-card-balance.ok{background:#ecfff8;border:1px solid #b9f0d8;color:#006b55}
#checkoutModal .multi-card-balance.bad{background:#fff4f1;border:1px solid #ffd2c8;color:#9b2f17}
#checkoutModal .card-approved-line{
  border:1px solid #dce6f1;
  background:#fbfdff;
  border-radius:12px;
  padding:10px 12px;
  margin:8px 0;
  line-height:1.45;
}
@media(max-width:1050px){
  #checkoutModal .card-mini-layout{grid-template-columns:1fr}
  #checkoutModal .small-card-visual{max-width:360px;width:100%}
  #checkoutModal .multi-card-fields{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  #checkoutModal .multi-card-header{flex-direction:column;align-items:stretch;padding:12px}
  #checkoutModal .secondary.small{width:100%}
  #checkoutModal .credit-card-block{padding:12px}
  #checkoutModal .multi-card-fields{grid-template-columns:1fr!important}
  #checkoutModal .multi-card-fields .field-wide{grid-column:span 1!important}
  #checkoutModal .multi-card-balance{display:grid;grid-template-columns:1fr;font-size:12px}
}

.danger-mini{background:#fff1f1;color:#b42318;border:1px solid #ffc9c9;border-radius:10px;padding:6px 10px;font-weight:800;cursor:pointer}
.danger-mini:hover{background:#ffe4e4}
.status-pill.bad{background:#ffe4e4;color:#b42318}

/* ===== V8.9: Histórico de pedidos completo e legível ===== */
.pedidos-card{
  width:min(1600px,98vw) !important;
  max-height:94vh !important;
  padding:22px !important;
}
#pedidosContent{
  max-height:calc(94vh - 210px);
  overflow:auto;
  padding-right:4px;
}
.pedidos-lista-completa{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.pedido-card-full{
  border:1px solid var(--border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 24px rgba(8,43,87,.08);
  overflow:hidden;
}
.pedido-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:18px 20px;
  background:linear-gradient(135deg,#f8fbff,#edf7ff);
  border-bottom:1px solid var(--border);
}
.pedido-title-area{min-width:0;flex:1}
.pedido-aluno{
  display:block;
  color:var(--blue);
  font-size:clamp(18px,1.7vw,26px);
  line-height:1.2;
  white-space:normal;
  overflow-wrap:anywhere;
}
.pedido-subtitle{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.pedido-status-area{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.pedido-valor{
  color:var(--green);
  font-size:clamp(20px,1.8vw,28px);
  white-space:nowrap;
}
.pedido-info-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(150px,1fr));
  gap:10px;
  padding:16px 20px;
  border-bottom:1px solid var(--border);
}
.pedido-info-grid div{
  min-width:0;
  border:1px solid #edf3f8;
  background:#fbfdff;
  border-radius:14px;
  padding:10px 12px;
}
.pedido-info-grid span{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.pedido-info-grid strong{
  display:block;
  margin-top:4px;
  color:var(--blue);
  font-size:13px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.pedido-detail-grid{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:14px;
  padding:16px 20px;
}
.pedido-detail-block{
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.detail-title{
  padding:12px 14px;
  background:#edf3f8;
  color:var(--blue);
  font-size:12px;
  text-transform:uppercase;
  font-weight:950;
}
.detail-empty{
  padding:14px;
  color:var(--muted);
  font-weight:800;
}
.pedido-itens-wrap{
  overflow:auto;
}
.pedido-itens-table{
  width:100%;
  min-width:620px;
  border-collapse:collapse;
  table-layout:fixed;
}
.pedido-itens-table th{
  background:#f7fafc;
  color:var(--blue);
  font-size:10px;
  text-transform:uppercase;
  text-align:left;
  padding:9px;
  border-bottom:1px solid var(--border);
}
.pedido-itens-table td,
.pedido-itens-table tfoot td{
  font-size:12px;
  padding:9px;
  border-bottom:1px solid var(--border);
  vertical-align:top;
  overflow-wrap:anywhere;
}
.pedido-itens-table tfoot td{
  background:#fbfdff;
  color:var(--blue);
  font-weight:950;
}
.pedido-itens-table .center{text-align:center}
.pedido-itens-table .right{text-align:right}
.payment-lines{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
}
.payment-line{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  padding:10px;
  border:1px solid #edf3f8;
  border-radius:14px;
  background:#fbfdff;
  color:var(--blue);
  font-size:12px;
  font-weight:800;
}
.payment-line strong{
  grid-column:1/-1;
  font-size:13px;
  color:var(--green);
}
.payment-line span{
  overflow-wrap:anywhere;
}
.estorno-block .detail-title{background:#fee2e2;color:#991b1b}
.pedido-actions-full{
  border-top:1px solid var(--border);
  padding:14px 20px;
  background:#fbfdff;
  justify-content:flex-end;
}
.pedido-actions-full button{
  min-height:38px;
}
@media(max-width:1280px){
  .pedido-info-grid{grid-template-columns:repeat(4,minmax(140px,1fr))}
  .pedido-detail-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .pedidos-card{padding:16px !important;width:98vw !important}
  #pedidosContent{max-height:calc(94vh - 260px)}
  .pedido-card-top{flex-direction:column;align-items:stretch}
  .pedido-status-area{align-items:flex-start}
  .pedido-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}
  .pedido-detail-grid{padding:14px}
  .payment-line{grid-template-columns:1fr}
  .pedido-actions-full{justify-content:flex-start}
}
@media(max-width:520px){
  .pedido-info-grid{grid-template-columns:1fr}
  .reports-header h2{font-size:22px}
  .pedido-filtros{padding:10px}
}

/* ===== V8.10: Histórico de pedidos compacto, sem barra horizontal ===== */
#pedidosModal .modal-card.pedidos-card{
  width: min(1760px, 97vw) !important;
  max-width: 97vw !important;
  max-height: 92vh !important;
  padding: 14px !important;
  overflow: hidden !important;
}
#pedidosModal .reports-header{
  gap: 10px !important;
  margin-bottom: 8px !important;
  align-items: center !important;
}
#pedidosModal .reports-header h2{
  font-size: 22px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
#pedidosModal .reports-header p{
  font-size: 12px !important;
  margin: 4px 0 0 !important;
}
#pedidosModal .reports-header .primary{
  min-height: 34px !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  border-radius: 12px !important;
}
#pedidosModal .pedido-filtros{
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 6px !important;
  padding: 8px !important;
  margin-bottom: 8px !important;
}
#pedidosModal .pedido-filtros label{
  font-size: 10px !important;
  gap: 3px !important;
}
#pedidosModal .pedido-filtros input,
#pedidosModal .pedido-filtros select{
  min-height: 31px !important;
  height: 31px !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
  border-radius: 10px !important;
}
#pedidosModal .pedido-filtros button{
  min-height: 31px !important;
  height: 31px !important;
  padding: 5px 10px !important;
  font-size: 11px !important;
  border-radius: 10px !important;
  align-self: end !important;
}
#pedidosContent{
  max-height: calc(92vh - 130px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px !important;
}
.pedidos-lista-completa{
  gap: 8px !important;
}
.pedido-card-full{
  border-radius: 14px !important;
  box-shadow: 0 4px 12px rgba(8,43,87,.06) !important;
  overflow: hidden !important;
}
.pedido-card-top{
  padding: 9px 12px !important;
  gap: 10px !important;
  align-items: center !important;
}
.pedido-aluno{
  font-size: 13px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.pedido-subtitle{
  margin-top: 3px !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.pedido-status-area{
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.pedido-status-area .status-pill{
  font-size: 10px !important;
  padding: 5px 8px !important;
  border-radius: 999px !important;
}
.pedido-valor{
  font-size: 14px !important;
  line-height: 1 !important;
}
.pedido-info-grid{
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 5px !important;
  padding: 8px 10px !important;
}
.pedido-info-grid div{
  border-radius: 9px !important;
  padding: 6px 7px !important;
  min-width: 0 !important;
}
.pedido-info-grid span{
  font-size: 8px !important;
  letter-spacing: .02em !important;
}
.pedido-info-grid strong{
  font-size: 10px !important;
  line-height: 1.12 !important;
  margin-top: 2px !important;
  word-break: break-word !important;
}
.pedido-detail-grid{
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr) !important;
  gap: 8px !important;
  padding: 8px 10px !important;
}
.pedido-detail-block{
  border-radius: 11px !important;
  min-width: 0 !important;
}
.detail-title{
  padding: 7px 9px !important;
  font-size: 9px !important;
}
.detail-empty{
  padding: 8px !important;
  font-size: 10px !important;
}
.pedido-itens-wrap{
  overflow-x: hidden !important;
}
.pedido-itens-table{
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
}
.pedido-itens-table th{
  font-size: 8px !important;
  padding: 5px 6px !important;
}
.pedido-itens-table td,
.pedido-itens-table tfoot td{
  font-size: 9px !important;
  padding: 5px 6px !important;
  line-height: 1.15 !important;
  word-break: break-word !important;
}
.pedido-itens-table th:nth-child(1),
.pedido-itens-table td:nth-child(1){width: 28px !important;}
.pedido-itens-table th:nth-child(3),
.pedido-itens-table td:nth-child(3){width: 82px !important;}
.pedido-itens-table th:nth-child(4),
.pedido-itens-table td:nth-child(4){width: 48px !important;}
.pedido-itens-table th:nth-child(5),
.pedido-itens-table td:nth-child(5){width: 82px !important;}
.payment-lines{
  gap: 5px !important;
  padding: 7px !important;
}
.payment-line{
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 4px 7px !important;
  padding: 6px !important;
  border-radius: 9px !important;
  font-size: 9.5px !important;
  line-height: 1.15 !important;
}
.payment-line strong{
  font-size: 10px !important;
}
.pedido-actions-full{
  padding: 7px 10px !important;
  gap: 6px !important;
}
.pedido-actions-full button{
  min-height: 29px !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  border-radius: 9px !important;
}
#pedidosModal *{
  box-sizing: border-box !important;
}
@media(max-width:1400px){
  .pedido-info-grid{grid-template-columns: repeat(8, minmax(0, 1fr)) !important;}
  .pedido-detail-grid{grid-template-columns: 1fr !important;}
  #pedidosContent{max-height: calc(92vh - 150px) !important;}
}
@media(max-width:980px){
  #pedidosModal .pedido-filtros{grid-template-columns: repeat(3, minmax(0, 1fr)) !important;}
  .pedido-info-grid{grid-template-columns: repeat(4, minmax(0, 1fr)) !important;}
  .payment-line{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
}
@media(max-width:640px){
  #pedidosModal .modal-card.pedidos-card{width: 99vw !important; padding: 10px !important;}
  #pedidosModal .pedido-filtros{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
  .pedido-card-top{align-items:flex-start !important; flex-direction: column !important;}
  .pedido-status-area{width:100% !important; justify-content:space-between !important;}
  .pedido-info-grid{grid-template-columns: repeat(2, minmax(0, 1fr)) !important;}
  .pedido-actions-full{justify-content:flex-start !important;}
}

/* ===== V8.11: acabamento final — filtros alinhados e dashboard compacto ===== */
#pedidosModal .pedido-filtros{
  display:grid !important;
  grid-template-columns: 150px 150px 150px 150px minmax(220px,1fr) 150px !important;
  align-items:end !important;
  column-gap:8px !important;
  row-gap:8px !important;
}
#pedidosModal .pedido-filtros label{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  height:56px !important;
  margin:0 !important;
  line-height:1 !important;
}
#pedidosModal .pedido-filtros input,
#pedidosModal .pedido-filtros select{
  margin-top:5px !important;
  width:100% !important;
}
#pedidosModal .pedido-filtros button{
  align-self:end !important;
  width:100% !important;
  margin:0 !important;
}

#dashboardModal .modal-card.dashboard-card{
  width:min(1500px,97vw) !important;
  max-width:97vw !important;
  max-height:92vh !important;
  padding:14px !important;
  overflow:hidden !important;
}
#dashboardModal .reports-header{
  align-items:center !important;
  gap:10px !important;
  margin-bottom:10px !important;
}
#dashboardModal .reports-header h2{
  font-size:22px !important;
  line-height:1.1 !important;
  margin:0 !important;
}
#dashboardModal .reports-header p{
  font-size:12px !important;
  margin:4px 0 0 !important;
}
#dashboardModal .reports-header .primary{
  min-height:34px !important;
  padding:8px 12px !important;
  font-size:12px !important;
  border-radius:12px !important;
}
#dashboardModal .dashboard-content{
  max-height:calc(92vh - 78px) !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:2px !important;
}
#dashboardModal .dashboard-grid{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-bottom:10px !important;
}
#dashboardModal .dash-card{
  border-radius:12px !important;
  padding:10px 12px !important;
  min-width:0 !important;
}
#dashboardModal .dash-card span{
  font-size:9px !important;
  line-height:1.1 !important;
}
#dashboardModal .dash-card strong{
  font-size:17px !important;
  line-height:1.1 !important;
  margin:5px 0 2px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#dashboardModal .dash-card small{
  display:block !important;
  font-size:10px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#dashboardModal .report-table-wrap{
  border-radius:12px !important;
  overflow:hidden !important;
}
#dashboardModal .report-table-wrap h3{
  font-size:14px !important;
  padding:10px 12px 6px !important;
}
#dashboardModal .report-table{
  min-width:0 !important;
  width:100% !important;
  table-layout:fixed !important;
}
#dashboardModal .report-table th{
  font-size:9px !important;
  padding:7px 9px !important;
}
#dashboardModal .report-table td{
  font-size:11px !important;
  padding:7px 9px !important;
  line-height:1.15 !important;
}

@media(max-width:1250px){
  #pedidosModal .pedido-filtros{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #pedidosModal .pedido-filtros label{height:auto !important;}
  #dashboardModal .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media(max-width:760px){
  #pedidosModal .pedido-filtros{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #dashboardModal .dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:520px){
  #pedidosModal .pedido-filtros{grid-template-columns:1fr !important;}
  #dashboardModal .dashboard-grid{grid-template-columns:1fr !important;}
}

/* v8.12 - Pagamento misto */
#mixedPane .mixed-pay-box{border:1px solid #dbe7f5;border-radius:18px;padding:18px;background:#fbfdff}
.mixed-values-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px;margin:14px 0}
.mixed-values-grid label,.mixed-card-fields label{font-size:12px;font-weight:800;color:#092b55;text-transform:uppercase}
.mixed-values-grid input,.mixed-card-fields input,.mixed-card-fields select{width:100%;height:44px;border:1px solid #d7e3f2;border-radius:12px;padding:0 12px;font-size:14px;background:#fff;color:#082b55;margin-top:6px}
.mixed-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 10px}
.mixed-card-header strong{display:block;color:#082b55;font-size:16px}
.mixed-card-header span{display:block;color:#687c96;font-size:13px;margin-top:2px}
.mixed-card-block{padding:12px;margin-bottom:10px}
.mixed-card-fields{grid-template-columns:2fr 2fr repeat(4,1fr)}
#mixedPaymentBalance{flex-wrap:wrap;gap:8px}
@media (max-width:1100px){.mixed-card-fields{grid-template-columns:1fr 1fr}.mixed-values-grid{grid-template-columns:1fr}.mixed-card-header{align-items:flex-start;flex-direction:column}}
@media (max-width:720px){.mixed-card-fields{grid-template-columns:1fr}}

/* ===== V8.13: pagamento misto selecionável com moeda BR ===== */
#mixedPane .mixed-pay-box{border:1px solid #dbe7f5;border-radius:18px;padding:16px;background:#fbfdff}
#mixedPane .mixed-pay-box h3{margin:0 0 6px;color:#082b55;font-size:18px}
#mixedPane .mixed-pay-box p{margin:0 0 12px;color:#687c96;font-size:13px;font-weight:700}
.mixed-methods-grid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:8px;margin:12px 0}
.mixed-method-option{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7e3f2;border-radius:14px;background:#fff;color:#082b55;font-weight:900;font-size:13px;padding:10px;cursor:pointer;transition:.15s;user-select:none}
.mixed-method-option input{width:16px;height:16px;accent-color:#082b55}
.mixed-method-option.active{background:#edf6ff;border-color:#082b55;box-shadow:0 0 0 3px rgba(8,43,87,.08)}
.mixed-balance-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f4f9ff;border:1px solid #d7e3f2;border-radius:16px;padding:10px;margin:10px 0 12px}
.mixed-balance-panel div{background:#fff;border:1px solid #e4edf7;border-radius:13px;padding:9px 10px;min-height:48px;display:flex;flex-direction:column;justify-content:center}
.mixed-balance-panel span{font-size:10px;font-weight:950;text-transform:uppercase;color:#687c96;letter-spacing:.02em}
.mixed-balance-panel strong{font-size:15px;color:#082b55;margin-top:2px;white-space:nowrap}
.mixed-balance-panel.ok{background:#effdf8;border-color:#b9f0d8}
.mixed-balance-panel.ok strong{color:#007a63}
.mixed-balance-panel.bad{background:#fff8f6;border-color:#ffd2c8}
.mixed-values-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;margin:10px 0}
.mixed-amount-box,.mixed-card-fields label{font-size:11px;font-weight:950;color:#092b55;text-transform:uppercase;letter-spacing:.02em}
.mixed-values-grid input,.mixed-card-fields input,.mixed-card-fields select{width:100%;height:40px;border:1px solid #d7e3f2;border-radius:12px;padding:0 11px;font-size:13px;background:#fff;color:#082b55;margin-top:6px;font-weight:750}
.mixed-values-grid input.money-input,.mixed-card-fields input.money-input{font-weight:900;color:#007a63}
.mixed-empty{border:1px dashed #cbdbea;border-radius:14px;background:#fff;color:#687c96;font-size:12px;font-weight:800;padding:12px;text-align:center;margin-bottom:10px}
.mixed-card-block{padding:10px!important;margin-bottom:10px}
.mixed-card-fields{grid-template-columns:2fr 2fr repeat(4,minmax(70px,1fr))!important;gap:9px!important}
#mixedPayButton{margin-top:10px}
@media (max-width:1200px){.mixed-methods-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}.mixed-card-fields{grid-template-columns:1fr 1fr 1fr!important}.mixed-card-fields .field-wide{grid-column:span 3!important}}
@media (max-width:800px){.mixed-balance-panel{grid-template-columns:1fr}.mixed-methods-grid{grid-template-columns:1fr 1fr}.mixed-values-grid{grid-template-columns:1fr}.mixed-card-fields{grid-template-columns:1fr!important}.mixed-card-fields .field-wide{grid-column:span 1!important}}

/* v8.14 - Desconto autorizado antes do pagamento */
#checkoutModal .checkout-discount{margin:10px 0 14px}
#checkoutModal .discount-box{border:1px solid #d6e4f2;background:#f8fbff;border-radius:18px;padding:12px;box-shadow:0 8px 18px rgba(8,43,87,.04)}
#checkoutModal .discount-box.has-discount{border-color:#b9dfcf;background:#f5fffb}
#checkoutModal .discount-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
#checkoutModal .discount-head h3{margin:0;color:#082b57;font-size:16px;font-weight:950}
#checkoutModal .discount-head p{margin:3px 0 0;color:#66758b;font-size:12px;font-weight:700}
#checkoutModal .discount-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
#checkoutModal .discount-values div{background:#fff;border:1px solid #e3edf7;border-radius:14px;padding:9px 10px}
#checkoutModal .discount-values span{display:block;color:#66758b;font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.02em}
#checkoutModal .discount-values strong{display:block;color:#082b57;font-size:15px;font-weight:950;margin-top:2px;white-space:nowrap}
#checkoutModal .discount-values .discount-negative{color:#c0392b}
#checkoutModal .discount-values .discount-total{color:#007a63;font-size:17px}
#checkoutModal .discount-fields{display:grid;grid-template-columns:170px 220px minmax(260px,1fr);gap:10px;align-items:end;border-top:1px solid #e3edf7;padding-top:10px}
#checkoutModal .discount-fields label{font-size:11px;font-weight:950;color:#082b57;text-transform:uppercase;letter-spacing:.02em}
#checkoutModal .discount-fields input{width:100%;height:42px;border:1px solid #cfe0f2;border-radius:12px;padding:10px 12px;margin-top:5px;font-size:14px;font-weight:800;color:#082b57;background:#fff}
#checkoutModal .discount-fields .field-wide{grid-column:auto}
#checkoutModal .discount-actions{display:flex;gap:8px;align-items:center}
#checkoutModal .discount-actions .primary,#checkoutModal .discount-actions .secondary{height:42px;padding:0 14px;border-radius:12px;white-space:nowrap}
@media(max-width:900px){
  #checkoutModal .discount-values{grid-template-columns:1fr}
  #checkoutModal .discount-fields{grid-template-columns:1fr}
  #checkoutModal .discount-head{align-items:flex-start;flex-direction:column}
  #checkoutModal .discount-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}
}

/* v8.18 - Cartão: maquininha presencial ou link Rede */
.card-payment-mode-box{display:flex;flex-direction:column;gap:12px;font-size:.92rem}
.card-payment-mode-box h3{margin:0;color:#082b57;font-size:1.35rem}
.card-payment-mode-box p{margin:0;color:#60708a;line-height:1.35}
.card-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px}
.card-mode-option{border:1px solid #dce6f1;border-radius:16px;background:#fff;padding:12px 14px;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:7px 10px;align-items:start;transition:.15s ease;min-height:86px}
.card-mode-option input{margin-top:3px}
.card-mode-option span{font-weight:900;color:#082b57;line-height:1.15}
.card-mode-option small{grid-column:2;color:#60708a;line-height:1.25;font-size:.8rem}
.card-mode-option.active{border-color:#00a99d;background:#f2fffd;box-shadow:0 8px 22px rgba(0,169,157,.12)}
.card-mode-pane{border:1px solid #dce6f1;border-radius:18px;background:#fbfdff;padding:14px;margin-top:4px}
.machine-card-form,.link-card-form{display:flex;flex-direction:column;gap:12px}
.machine-value-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;background:#082b57;color:#fff;padding:12px 14px}
.machine-value-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;opacity:.82;font-weight:800}
.machine-value-card strong{font-size:1.35rem;white-space:nowrap}
.compact-card-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.compact-card-fields label{font-size:.78rem;font-weight:900;color:#41516a;text-transform:uppercase;letter-spacing:.03em}
.compact-card-fields input,.compact-card-fields select{width:100%;box-sizing:border-box;margin-top:5px;border:1px solid #dce6f1;border-radius:12px;padding:10px 11px;font-size:.92rem;text-transform:none;background:#fff;color:#062650}
.compact-card-fields .field-wide{grid-column:span 2}
.secure-note{font-size:.82rem;background:#f2f7fb;border-left:4px solid #00a99d;border-radius:10px;padding:9px 11px;color:#41516a!important}
@media(max-width:900px){.card-mode-grid{grid-template-columns:1fr}.compact-card-fields{grid-template-columns:1fr 1fr}.compact-card-fields .field-wide{grid-column:span 2}.machine-value-card strong{font-size:1.12rem}}
@media(max-width:560px){.compact-card-fields{grid-template-columns:1fr}.compact-card-fields .field-wide{grid-column:auto}.machine-value-card{align-items:flex-start;flex-direction:column}.machine-value-card strong{font-size:1.05rem}}

/* v8.19 - Checkout Livraria com ações */
.link-action-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
.link-action-row button{width:100%;min-height:42px;font-size:.86rem;white-space:nowrap}
@media(max-width:700px){.link-action-row{grid-template-columns:1fr}.link-action-row button{min-height:40px}}

/* v9.4 - usuários, auditoria e desconto percentual */
.users-card{max-width:980px;width:min(980px,96vw)}
.users-list{margin-top:16px;max-height:42vh;overflow:auto;border:1px solid #d9e5f2;border-radius:16px;background:#fff}
.users-table{width:100%;border-collapse:collapse;font-size:12px}
.users-table th{background:#082b57;color:#fff;text-align:left;padding:9px;position:sticky;top:0;z-index:1}
.users-table td{border-bottom:1px solid #e7eef7;padding:8px;vertical-align:top}
.users-table small{color:#60708a}
button.small,.small{font-size:11px;padding:7px 10px;border-radius:10px}
.discount-fields select{width:100%;border:1px solid #d9e5f2;border-radius:12px;padding:10px;background:#fff;color:#082b57;font-weight:700}

/* v9.7.2 - Correção do alinhamento da área de desconto autorizado */
#checkoutModal .discount-fields{
  display:grid!important;
  grid-template-columns:minmax(210px,.85fr) minmax(240px,1fr) minmax(420px,2.25fr)!important;
  gap:12px!important;
  align-items:end!important;
}
#checkoutModal .discount-fields label{
  min-width:0!important;
}
#checkoutModal .discount-fields input,
#checkoutModal .discount-fields select{
  width:100%!important;
  box-sizing:border-box!important;
  height:44px!important;
  margin-top:6px!important;
  border:1px solid #cfe0f2!important;
  border-radius:12px!important;
  padding:10px 14px!important;
  font-size:14px!important;
  font-weight:800!important;
  color:#082b57!important;
  background:#fff!important;
}
#checkoutModal .discount-fields .field-wide{
  grid-column:1 / 3!important;
}
#checkoutModal .discount-actions{
  grid-column:3 / 4!important;
  display:flex!important;
  gap:10px!important;
  align-items:end!important;
  justify-content:flex-start!important;
}
#checkoutModal .discount-actions .primary,
#checkoutModal .discount-actions .secondary{
  height:44px!important;
  min-width:102px!important;
  padding:0 16px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}
@media(max-width:1100px){
  #checkoutModal .discount-fields{
    grid-template-columns:1fr 1fr!important;
  }
  #checkoutModal .discount-fields .field-wide,
  #checkoutModal .discount-actions{
    grid-column:1 / -1!important;
  }
}
@media(max-width:700px){
  #checkoutModal .discount-fields{
    grid-template-columns:1fr!important;
  }
  #checkoutModal .discount-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
}

/* v9.7.3 - Refinamento definitivo do bloco de desconto autorizado */
#checkoutModal .discount-fields{
  display:grid!important;
  grid-template-columns:260px 320px minmax(420px,1fr)!important;
  grid-template-areas:
    "tipo valor autorizado"
    "motivo motivo acoes"!important;
  gap:14px 16px!important;
  align-items:start!important;
  border-top:1px solid #e3edf7!important;
  padding-top:14px!important;
}
#checkoutModal .discount-fields > label:nth-child(1){grid-area:tipo!important;}
#checkoutModal .discount-fields > label:nth-child(2){grid-area:valor!important;}
#checkoutModal .discount-fields > label:nth-child(3){grid-area:autorizado!important;}
#checkoutModal .discount-fields > label.field-wide{grid-area:motivo!important;}
#checkoutModal .discount-fields > label{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-width:0!important;
  margin:0!important;
  line-height:16px!important;
}
#checkoutModal .discount-fields input,
#checkoutModal .discount-fields select{
  width:100%!important;
  box-sizing:border-box!important;
  height:48px!important;
  min-height:48px!important;
  margin:8px 0 0 0!important;
  border:1px solid #cfe0f2!important;
  border-radius:14px!important;
  padding:0 16px!important;
  font-size:15px!important;
  font-weight:850!important;
  color:#082b57!important;
  background:#fff!important;
  line-height:48px!important;
}
#checkoutModal .discount-fields select{
  appearance:auto!important;
  line-height:normal!important;
}
#checkoutModal .discount-actions{
  grid-area:acoes!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:12px!important;
  height:72px!important;
  margin:0!important;
  padding:0!important;
}
#checkoutModal .discount-actions .primary,
#checkoutModal .discount-actions .secondary{
  height:48px!important;
  min-height:48px!important;
  padding:0 18px!important;
  border-radius:14px!important;
  white-space:nowrap!important;
}
@media(max-width:1180px){
  #checkoutModal .discount-fields{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "tipo valor"
      "autorizado autorizado"
      "motivo motivo"
      "acoes acoes"!important;
  }
  #checkoutModal .discount-actions{height:auto!important;align-items:center!important;}
}
@media(max-width:720px){
  #checkoutModal .discount-fields{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "tipo"
      "valor"
      "autorizado"
      "motivo"
      "acoes"!important;
  }
  #checkoutModal .discount-actions{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important;}
}

/* v9.7.5 - Tela inicial compacta: busca + listas suspensas */
.catalog-filter-panel{display:block;margin:18px 0;}
.catalog-toolbar{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:14px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,240px) minmax(170px,220px) auto;gap:12px;align-items:end;}
.catalog-toolbar label{margin:0;display:grid;gap:6px;}
.catalog-toolbar label span{font-size:11px;text-transform:uppercase;font-weight:950;color:var(--blue);letter-spacing:.02em;}
.catalog-toolbar .search{margin:0;width:100%;height:44px;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:#fff;}
.catalog-toolbar select{height:44px;border:1px solid var(--border);border-radius:14px;background:#fff;color:var(--text);padding:0 12px;font-weight:800;outline:none;}
.catalog-counter{height:44px;min-width:132px;border-radius:16px;background:#edf3f8;color:var(--blue);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;white-space:nowrap;}
.catalog-counter span,.catalog-counter small{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);}
.catalog-counter strong{font-size:20px;color:var(--blue);}
.side-link.active{background:#fff0b9;color:#805100;font-weight:950;}
.empty-nav{font-size:12px;color:var(--muted);border:1px dashed var(--border);border-radius:14px;padding:12px;text-align:center;background:#fbfdff;margin-top:12px;}

@media(max-width:1100px){.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-search-field{grid-column:1/-1}.catalog-counter{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:640px){.catalog-toolbar{grid-template-columns:1fr}.catalog-search-field,.catalog-counter{grid-column:auto}}

/* v9.7.6 - tela inicial compacta: materiais por segmento em lista suspensa */
.side-filter-panel{
  margin-top:14px;
  border-top:1px solid var(--border);
  padding-top:14px;
  display:grid;
  gap:10px;
}
.side-filter-title{
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  color:var(--muted);
  letter-spacing:.02em;
}
.side-select-field{
  display:grid;
  gap:6px;
}
.side-select-field span{
  font-size:11px;
  text-transform:uppercase;
  font-weight:950;
  color:var(--blue);
}
.side-select-field select{
  width:100%;
  min-height:44px;
  border:1px solid var(--border);
  border-radius:14px;
  padding:0 12px;
  background:#fff;
  color:var(--blue);
  font-weight:900;
  outline:none;
}
.side-counter{
  min-height:42px;
  border-radius:14px;
  background:#edf3f8;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:var(--muted);
  text-transform:uppercase;
  font-size:10px;
  font-weight:900;
}
.side-counter strong{
  color:var(--blue);
  font-size:20px;
}
.side-filter-panel .seg-title,
.side-filter-panel .side-link{display:none!important;}

/* v9.8 - Controle de entrega */
.entrega-card{max-width:1180px;width:min(1180px,96vw);max-height:92vh;overflow:auto}
.entrega-resumo{margin:12px 0 16px}
.entrega-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px}
.entrega-summary-grid>div{border:1px solid #dce6f1;border-radius:16px;background:#fbfdff;padding:12px}
.entrega-summary-grid span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#60708a;margin-bottom:4px}
.entrega-summary-grid strong{font-size:15px;color:#082b57}
.entrega-itens{border:1px solid #dce6f1;border-radius:18px;overflow:auto;background:#fff;margin-bottom:14px}
.entrega-table{width:100%;border-collapse:collapse;table-layout:fixed}
.entrega-table th{background:#edf3f8;color:#082b57;text-transform:uppercase;font-size:10px;font-weight:900;text-align:left;padding:10px;border-bottom:1px solid #dce6f1}
.entrega-table td{padding:10px;border-bottom:1px solid #dce6f1;vertical-align:top;font-size:12px;color:#082b57;overflow-wrap:anywhere}
.entrega-table tr.entregue{background:#f2fbf5}
.entrega-table th:nth-child(1),.entrega-table td:nth-child(1){width:38px;text-align:center}
.entrega-table th:nth-child(3),.entrega-table td:nth-child(3){width:110px}
.entrega-table th:nth-child(4),.entrega-table td:nth-child(4){width:70px;text-align:center}
.entrega-table th:nth-child(5),.entrega-table td:nth-child(5){width:95px;text-align:right}
.entrega-table th:nth-child(6),.entrega-table td:nth-child(6){width:145px}
.entrega-small{display:block;color:#60708a;font-size:10px;margin-top:4px}
.entrega-form{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin:12px 0}
.entrega-form label{font-size:12px;font-weight:900;text-transform:uppercase;color:#082b57}
.entrega-form input{width:100%;margin-top:6px;border:1px solid #cfe0f3;border-radius:14px;padding:13px 14px;font-size:15px;font-weight:800;color:#082b57;background:#fff}
.entrega-form .field-wide{grid-column:auto}
.entrega-historico{margin-top:16px;border-top:1px solid #dce6f1;padding-top:12px}
.entrega-historico h3{margin:0 0 10px;color:#082b57}
.entrega-evento{display:grid;grid-template-columns:180px 1fr 1fr 120px;gap:8px;align-items:center;border:1px solid #dce6f1;background:#fbfdff;border-radius:14px;padding:10px;margin-bottom:8px;font-size:12px;color:#082b57}
.entrega-evento small{grid-column:1/-1;color:#60708a}
.status-pill.info{background:#edf3f8;color:#082b57}
@media(max-width:900px){.entrega-summary-grid{grid-template-columns:1fr 1fr}.entrega-form{grid-template-columns:1fr}.entrega-evento{grid-template-columns:1fr}}

/* v9.8.1 - acesso direto ao controle de entrega */
.primary-mini{background:#0b5aa7!important;color:#fff!important;border-color:#0b5aa7!important;font-weight:900}

/* v9.8.2 - Acesso rápido na tela inicial */
.quick-access-bar{
  margin:16px 0 18px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:12px;
  display:grid;
  grid-template-columns:repeat(3,minmax(180px,1fr));
  gap:10px;
}
.quick-access-bar button{
  min-height:48px;
  border:1px solid #cfe0f3;
  border-radius:16px;
  background:#edf3f8;
  color:#082b57;
  font-weight:950;
  cursor:pointer;
  font-size:14px;
}
.quick-access-bar button:hover{background:#fff0b9;color:#805100;border-color:#f1cf48}
@media(max-width:760px){.quick-access-bar{grid-template-columns:1fr}}

/* v9.8.3 - login obrigatório e atalhos de entrega */
body.auth-required .sidebar,
body.auth-required .main{filter:blur(2px);pointer-events:none;user-select:none}
body.auth-required #adminModal .close{display:none}
.delivery-shortcut{background:#fff0b9!important;color:#6b4300!important;border:1px solid #f2cf62!important;margin-top:8px}
.pedido-entrega-foco{outline:2px solid rgba(8,43,87,.12);background:#fbfdff}

/* v10.0 - Login profissional e permissões por perfil */
#adminModal{
  background:linear-gradient(135deg, rgba(3,23,49,.88), rgba(5,64,112,.72));
}
#adminModal .login-card{
  max-width:520px;
  padding:34px 38px 30px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 34px 90px rgba(0,0,0,.34);
  overflow:hidden;
}
#adminModal .login-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:7px;
  background:linear-gradient(90deg,#082b57,#0b6cb8,#d9a520);
}
.login-lock{
  position:absolute;
  right:52px;
  top:26px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#00806f;
  background:#edf8f6;
  border-radius:999px;
  font-size:15px;
}
#adminModal .login-logo{
  width:188px;
  max-height:120px;
  object-fit:contain;
  display:block;
  margin:4px auto 12px;
  padding:0;
}
.login-subtitle{
  text-align:center;
  color:#657992;
  font-weight:900;
  margin:0 0 22px;
  letter-spacing:.2px;
}
#adminModal .modal-card h2{
  color:#0a2f5e;
  font-size:25px;
  margin:0 0 8px;
}
#adminModal .modal-card p{
  color:#677b93;
  font-size:15px;
  margin-bottom:22px;
}
.login-field-label{
  display:block;
  margin:10px 0 6px;
  font-size:12px;
  color:#0a2f5e;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.02em;
}
#adminModal .modal-card input{
  min-height:48px;
  border-radius:12px;
  border:1px solid #c8d7e8;
  margin:0 0 14px;
  font-size:15px;
  background:#fff;
}
#adminModal .modal-card input:focus{
  outline:none;
  border-color:#0b6cb8;
  box-shadow:0 0 0 4px rgba(11,108,184,.12);
}
.login-enter{
  margin-top:4px;
  min-height:50px;
  border-radius:14px;
  font-size:16px;
  background:#082b57;
}
.login-footer{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #edf3f8;
  text-align:center;
  color:#7b8ca1;
  font-size:12px;
  font-weight:700;
}
body:not(.admin) .act,
body:not(.admin) .add,
body:not(.admin) .save-admin{
  display:none!important;
}

/* ===== V11.2: revisão geral de alinhamento, responsividade e entrega ===== */
/* Badges sempre legíveis */
.status-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:22px !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  font-size:10px !important;
  font-weight:950 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  max-width:max-content !important;
}

/* Histórico: tela compacta, com ações sempre visíveis */
#pedidosModal .modal-card.pedidos-card{
  width:min(1780px,98vw) !important;
  max-width:98vw !important;
  height:min(94vh,920px) !important;
  max-height:94vh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
#pedidosModal .reports-header{flex:0 0 auto !important;}
#pedidosModal .pedido-filtros{flex:0 0 auto !important;}
#pedidosContent{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:4px !important;
}
.pedido-card-full{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}
.pedido-detail-grid{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:330px !important;
  overflow:hidden !important;
}
.pedido-detail-block{min-height:0 !important;display:flex !important;flex-direction:column !important;}
.pedido-itens-wrap{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:270px !important;
  overflow:auto !important;
}
.pedido-itens-table th,
.pedido-itens-table td{
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.pedido-itens-table .mat-desc{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.pedido-itens-table th:nth-child(5),
.pedido-itens-table td:nth-child(5){
  width:110px !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.pedido-itens-table th:nth-child(6),
.pedido-itens-table td:nth-child(6){
  width:92px !important;
  white-space:nowrap !important;
}
.pedido-actions-full{
  position:sticky !important;
  bottom:0 !important;
  z-index:5 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  background:#fbfdff !important;
  border-top:1px solid var(--border) !important;
  box-shadow:0 -8px 18px rgba(8,43,87,.05) !important;
}
.pedido-actions-full button{
  white-space:nowrap !important;
}

/* Filtros do histórico sempre alinhados */
#pedidosModal .pedido-filtros{
  display:grid !important;
  grid-template-columns:190px 190px 190px 190px minmax(260px,1fr) 190px !important;
  align-items:end !important;
}
#pedidosModal .pedido-filtros button{
  grid-column:1 / 2 !important;
  width:100% !important;
}
#pedidosModal .pedido-filtros label{min-width:0 !important;}
#pedidosModal .pedido-filtros input,
#pedidosModal .pedido-filtros select{width:100% !important;}

/* Controle de entrega: tabela legível e com marcar todos/desmarcar todos */
.entrega-card{
  width:min(1220px,97vw) !important;
  max-width:97vw !important;
  height:min(94vh,900px) !important;
  max-height:94vh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.entrega-card .reports-header,
.entrega-resumo,
.entrega-form,
.entrega-card .actions-row,
.entrega-historico{flex:0 0 auto !important;}
.entrega-itens{
  flex:1 1 auto !important;
  min-height:220px !important;
  overflow:auto !important;
}
.entrega-table th,
.entrega-table td{
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.entrega-table th:nth-child(2),
.entrega-table td:nth-child(2){overflow-wrap:anywhere !important;}
.entrega-table th:nth-child(6),.entrega-table td:nth-child(6){
  width:120px !important;
  white-space:nowrap !important;
}
.entrega-card .actions-row{
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  padding-top:8px !important;
}
.entrega-card .actions-row button{white-space:nowrap !important;}

/* Pagamento: total da compra nunca truncado */
#checkoutModal .checkout-resumo{
  display:grid !important;
  grid-template-columns:minmax(160px,.75fr) minmax(360px,2fr) minmax(230px,.95fr) !important;
  align-items:stretch !important;
  gap:16px !important;
}
#checkoutModal .checkout-resumo .checkout-info-total{
  min-width:230px !important;
  width:100% !important;
}
#checkoutModal .checkout-resumo .checkout-info-total strong.checkout-total,
#checkoutTotalValue{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  font-size:clamp(22px,2.1vw,32px) !important;
  letter-spacing:-.02em !important;
}
#checkoutModal .checkout-resumo .checkout-info-aluno strong{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/* Ações administrativas: apenas admin visualiza edição/exclusão de material */
body:not(.admin) .act,
body:not(.admin) .add,
body:not(.admin) .row-actions,
body:not(.admin) .icon-btn.edit,
body:not(.admin) .icon-btn.del{
  display:none !important;
}

@media(max-width:1280px){
  #pedidosModal .pedido-filtros{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  #pedidosModal .pedido-filtros button{grid-column:auto !important;}
  .pedido-detail-grid{max-height:none !important;overflow:visible !important;}
  .pedido-itens-wrap{max-height:240px !important;}
  #checkoutModal .checkout-resumo{grid-template-columns:1fr 2fr 1fr !important;}
}
@media(max-width:820px){
  #pedidosModal .pedido-filtros{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .pedido-actions-full{justify-content:flex-start !important;}
  .entrega-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  #checkoutModal .checkout-resumo{grid-template-columns:1fr !important;}
  #checkoutModal .checkout-resumo .checkout-info-total{min-width:0 !important;}
}
@media(max-width:560px){
  #pedidosModal .pedido-filtros{grid-template-columns:1fr !important;}
  .pedido-info-grid{grid-template-columns:1fr !important;}
  .pedido-itens-wrap{max-height:260px !important;}
  .entrega-summary-grid,.entrega-form{grid-template-columns:1fr !important;}
}

/* ===== V11.2.1: correção profissional de alinhamento do Histórico de pedidos ===== */
#pedidosModal .modal-card.pedidos-card{
  width:min(1780px,98vw) !important;
  max-width:98vw !important;
  height:min(94vh,920px) !important;
  max-height:94vh !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  padding:16px !important;
}
#pedidosModal .reports-header{
  flex:0 0 auto !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin:0 0 10px !important;
}
#pedidosModal .reports-header .primary{
  flex:0 0 auto !important;
  white-space:nowrap !important;
}
#pedidosModal .pedido-filtros{
  flex:0 0 auto !important;
  display:grid !important;
  grid-template-columns:160px 160px 180px 180px minmax(260px,1fr) 190px 150px !important;
  gap:10px !important;
  align-items:end !important;
  padding:10px !important;
  margin:0 0 10px !important;
  border:1px solid var(--border) !important;
  border-radius:18px !important;
  background:#fbfdff !important;
}
#pedidosModal .pedido-filtros label{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  height:auto !important;
  min-height:58px !important;
  min-width:0 !important;
  margin:0 !important;
  color:var(--muted) !important;
  font-size:11px !important;
  font-weight:950 !important;
  text-transform:uppercase !important;
  line-height:1.15 !important;
}
#pedidosModal .pedido-filtros input,
#pedidosModal .pedido-filtros select{
  width:100% !important;
  height:38px !important;
  min-height:38px !important;
  margin-top:7px !important;
  padding:7px 10px !important;
  font-size:13px !important;
  font-weight:700 !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}
#pedidosModal .pedido-filtros button{
  grid-column:auto !important;
  align-self:end !important;
  width:100% !important;
  height:38px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:7px 12px !important;
  font-size:13px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
}
#pedidosContent{
  flex:1 1 auto !important;
  max-height:none !important;
  min-height:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-right:4px !important;
}
#pedidosModal .pedido-card-full{
  display:flex !important;
  flex-direction:column !important;
  min-height:0 !important;
}
#pedidosModal .pedido-detail-grid{
  min-height:0 !important;
}
#pedidosModal .pedido-itens-wrap{
  max-height:310px !important;
  overflow:auto !important;
}
#pedidosModal .pedido-itens-table th,
#pedidosModal .pedido-itens-table td{
  vertical-align:middle !important;
}
#pedidosModal .pedido-itens-table th:nth-child(5),
#pedidosModal .pedido-itens-table td:nth-child(5){
  width:96px !important;
  text-align:center !important;
  white-space:nowrap !important;
}
#pedidosModal .pedido-itens-table th:nth-child(6),
#pedidosModal .pedido-itens-table td:nth-child(6){
  width:110px !important;
  white-space:nowrap !important;
  text-align:right !important;
}
#pedidosModal .status-pill{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:72px !important;
  max-width:120px !important;
  height:24px !important;
  padding:0 10px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  line-height:1 !important;
  font-size:11px !important;
  font-weight:950 !important;
}
#pedidosModal .pedido-actions-full{
  position:sticky !important;
  bottom:0 !important;
  z-index:10 !important;
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  padding:10px 12px !important;
  background:#fbfdff !important;
  border-top:1px solid var(--border) !important;
  box-shadow:0 -10px 22px rgba(8,43,87,.08) !important;
}
#pedidosModal .pedido-actions-full button{
  min-height:34px !important;
  padding:7px 12px !important;
  font-size:12px !important;
  border-radius:11px !important;
  white-space:nowrap !important;
}
@media(max-width:1500px){
  #pedidosModal .pedido-filtros{
    grid-template-columns:repeat(4,minmax(150px,1fr)) !important;
  }
  #pedidosModal .pedido-filtros label:nth-child(5){grid-column:span 2 !important;}
  #pedidosModal .pedido-filtros label:nth-child(6){grid-column:span 1 !important;}
}
@media(max-width:980px){
  #pedidosModal .pedido-filtros{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #pedidosModal .pedido-filtros label:nth-child(5),
  #pedidosModal .pedido-filtros label:nth-child(6){grid-column:auto !important;}
}
@media(max-width:620px){
  #pedidosModal .modal-card.pedidos-card{padding:10px !important;}
  #pedidosModal .reports-header{flex-direction:column !important;align-items:stretch !important;}
  #pedidosModal .pedido-filtros{grid-template-columns:1fr !important;}
  #pedidosModal .pedido-itens-wrap{max-height:260px !important;}
}

/* =========================================================
   v11.2.2 - Correção definitiva do alinhamento dos filtros
   Histórico de pedidos
   ========================================================= */
#pedidosModal .modal-card.pedidos-card{
  width: min(98vw, 1840px) !important;
  height: min(94vh, 920px) !important;
  max-height: 94vh !important;
  padding: 18px 20px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#pedidosModal .reports-header{
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  flex: 0 0 auto !important;
}

#pedidosModal .reports-header h2{
  margin: 0 !important;
  line-height: 1.05 !important;
}

#pedidosModal .reports-header p{
  margin: 6px 0 0 0 !important;
  line-height: 1.2 !important;
}

#pedidosModal .reports-header .primary{
  height: 44px !important;
  min-width: 160px !important;
  padding: 0 18px !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

#pedidosModal .pedido-filtros{
  display: grid !important;
  grid-template-columns: 150px 150px 170px 170px minmax(320px, 1fr) 180px 140px !important;
  grid-auto-rows: auto !important;
  align-items: end !important;
  column-gap: 10px !important;
  row-gap: 8px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  margin: 0 0 10px 0 !important;
  border: 1px solid #d7e6f7 !important;
  border-radius: 16px !important;
  background: #f8fbff !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
}

#pedidosModal .pedido-filtros label{
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 64px !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  color: #65758d !important;
  box-sizing: border-box !important;
}

#pedidosModal .pedido-filtros input,
#pedidosModal .pedido-filtros select{
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border: 1px solid #cfe0f4 !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-sizing: border-box !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #082b57 !important;
  line-height: 42px !important;
}

#pedidosModal .pedido-filtros button{
  align-self: end !important;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
  white-space: nowrap !important;
}

#pedidosModal .pedidos-content{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: 0 !important;
}

#pedidosModal .empty,
#pedidosModal .pedidos-content .empty{
  width: 100% !important;
  min-height: 82px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px dashed #d7e6f7 !important;
  border-radius: 16px !important;
  color: #65758d !important;
  box-sizing: border-box !important;
}

@media (max-width: 1450px){
  #pedidosModal .pedido-filtros{
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  #pedidosModal .pedido-filtros label:nth-child(5){
    grid-column: span 2 !important;
  }
  #pedidosModal .pedido-filtros label:nth-child(6){
    grid-column: span 1 !important;
  }
  #pedidosModal .pedido-filtros button{
    grid-column: span 1 !important;
  }
}

@media (max-width: 900px){
  #pedidosModal .modal-card.pedidos-card{
    width: 99vw !important;
    padding: 12px !important;
  }
  #pedidosModal .reports-header{
    flex-direction: column !important;
    align-items: stretch !important;
  }
  #pedidosModal .reports-header .primary{
    width: 100% !important;
  }
  #pedidosModal .pedido-filtros{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #pedidosModal .pedido-filtros label:nth-child(5),
  #pedidosModal .pedido-filtros label:nth-child(6),
  #pedidosModal .pedido-filtros button{
    grid-column: span 2 !important;
  }
}

@media (max-width: 520px){
  #pedidosModal .pedido-filtros{
    grid-template-columns: 1fr !important;
  }
  #pedidosModal .pedido-filtros label:nth-child(5),
  #pedidosModal .pedido-filtros label:nth-child(6),
  #pedidosModal .pedido-filtros button{
    grid-column: auto !important;
  }
}


/* Versão 12.0 - módulos de gestão */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0 18px}.kpi{border:1px solid #d8e6f5;background:#f8fbff;border-radius:16px;padding:14px}.kpi span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#65758d}.kpi strong{display:block;font-size:26px;color:#062650;margin-top:4px}.table-scroll{max-height:55vh;overflow:auto;border:1px solid #d8e6f5;border-radius:14px}.compact-table{width:100%;border-collapse:collapse;table-layout:auto}.compact-table th{position:sticky;top:0;background:#eef5fb;z-index:1;text-align:left;padding:10px;font-size:11px;text-transform:uppercase;color:#062650}.compact-table td{padding:9px;border-bottom:1px solid #d8e6f5;font-size:12px;vertical-align:middle}.compact-table input{width:100%;border:1px solid #d8e6f5;border-radius:8px;padding:7px}.badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:6px 10px;font-weight:900;font-size:11px}.badge-ok,.entrega-entregue{background:#dff8e8;color:#176b3a}.badge-warn,.entrega-parcial{background:#fff1c7;color:#915500}.entrega-pendente,.badge-soft{background:#eaf1f7;color:#062650}.mini-btn{border:0;border-radius:10px;padding:7px 10px;font-weight:900;background:#0b356b;color:white;cursor:pointer}.estoque-table td:nth-child(3){min-width:280px}.delivery-shortcut{margin-top:8px}
