@import url('https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700;800&display=swap');

/* ============ Identidade ATRI360 ============
   Sunny Yellow #FFE027 · Industrial Grey #545454 · Preto · Branco
   Tipografia de apoio da marca: Geist */
:root{
  --yellow:#FFE027;
  --yellow-hover:#F5D400;
  --yellow-soft:#FFF8CC;
  --black:#0B0B0B;
  --grey:#545454;

  --bg:#F4F4F2;
  --surface:#FFFFFF;
  --border:#E6E6E3;
  --border-strong:#D4D4D0;
  --text:#111111;
  --text-2:#545454;
  --text-3:#9A9A96;
  --ink:#0B0B0B;
  --ink-hover:#2A2A2A;
  --pos:#167A47;
  --pos-bg:#E5F4EB;
  --neg:#C2381F;
  --neg-bg:#FDECE8;
  --warn-bg:#FFF8CC;
  --radius:12px;
  --shadow-sm:0 1px 2px rgba(17,17,17,.04);
  --shadow:0 1px 2px rgba(17,17,17,.04), 0 4px 16px rgba(17,17,17,.05);
  --font-head:'Geist',Arial,sans-serif;
  --font-body:'Geist',Arial,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:var(--font-body);
  background:var(--bg);
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
button{font-family:inherit;cursor:pointer;}
input,select,textarea{font-family:inherit;font-size:13.5px;color:var(--text);}
::selection{background:var(--yellow);color:var(--black);}
.app{display:flex;min-height:100vh;}

/* ---------- MENU LATERAL ---------- */
.rail{
  width:236px;flex:0 0 236px;background:var(--black);color:#EDEDED;
  display:flex;flex-direction:column;padding:26px 16px 18px;
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
.brand-logo{display:block;width:150px;height:auto;margin:0 6px;}
.brand-sub{font-size:11px;color:#8C8C8C;margin:12px 6px 0;letter-spacing:.3px;text-transform:uppercase;font-weight:500;}
.brand-mark{font-family:var(--font-head);font-weight:800;font-size:20px;letter-spacing:.2px;color:#fff;}
.nav{margin-top:28px;display:flex;flex-direction:column;gap:3px;}
.nav-item{
  display:flex;align-items:center;gap:12px;background:none;border:none;
  color:#BDBDBD;text-align:left;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:500;
  transition:background .12s ease,color .12s ease;
}
.nav-item svg{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:.9;}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav-item.active{background:var(--yellow);color:var(--black);font-weight:600;}
.nav-item.active svg{opacity:1;}
.nav-ico{width:16px;height:16px;flex:0 0 16px;display:inline-block;}
.rail-spacer{flex:1;min-height:20px;}
.period-box{background:#161616;border:1px solid #242424;border-radius:14px;padding:14px 12px 10px;margin-top:16px;}
.period-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:#8C8C8C;text-align:center;font-weight:600;}
.period-value{font-family:var(--font-head);font-size:15px;font-weight:600;margin-top:4px;color:#fff;font-variant-numeric:tabular-nums;}
.period-box .icon-btn{color:#BDBDBD !important;}
.period-box .icon-btn:hover{background:rgba(255,224,39,.14);color:var(--yellow) !important;}
#sync-status{line-height:1.4;}
#sync-status::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#3DDC84;margin-right:6px;vertical-align:1px;}
#btn-sair:hover{color:#fff !important;}
.btn-close-week{
  margin-top:14px;width:100%;background:var(--yellow);color:var(--black);border:none;border-radius:10px;
  padding:10px;font-weight:600;font-size:13px;
}
.btn-close-week:hover{background:var(--yellow-hover);}

/* ---------- CONTEÚDO ---------- */
.content{flex:1;padding:36px 44px 60px;max-width:1240px;min-width:0;}
.view-title{font-family:var(--font-head);font-size:28px;font-weight:700;margin:0 0 6px;letter-spacing:-.6px;}
.view-sub{color:var(--text-2);font-size:14px;margin:0 0 26px;max-width:720px;}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}

/* Indicadores */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:30px;}
.kpi{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;}
.kpi:first-child{background:var(--black);border-color:var(--black);color:#fff;}
.kpi:first-child .kpi-label{color:#A8A8A8;}
.kpi:first-child .kpi-value{color:var(--yellow);}
.kpi-label{font-size:12px;color:var(--text-2);font-weight:500;letter-spacing:.1px;}
.kpi-value{font-family:var(--font-head);font-size:25px;font-weight:700;margin-top:8px;letter-spacing:-.6px;font-variant-numeric:tabular-nums;}
.kpi.pos .kpi-value{color:var(--pos);}
.kpi.neg .kpi-value{color:var(--neg);}
.kpi.pos::after,.kpi.neg::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;}
.kpi.pos::after{background:var(--pos);}
.kpi.neg::after{background:var(--neg);}

/* Botões */
.btn{
  border:1px solid var(--border-strong);background:var(--surface);color:var(--text);
  border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:7px;
  transition:background .12s ease,border-color .12s ease,transform .06s ease;
}
.btn:hover{background:#F0F0EE;border-color:#C4C4C0;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--yellow);border-color:var(--yellow);color:var(--black);}
.btn-primary:hover{background:var(--yellow-hover);border-color:var(--yellow-hover);}
.btn-danger{color:var(--neg);}
.btn-danger:hover{background:var(--neg-bg);border-color:#F2B8AA;}
.btn-sm{padding:6px 11px;font-size:12.5px;border-radius:8px;}
.btn-ghost{border-color:transparent;background:none;}
.btn-ghost:hover{background:#F0F0EE;}
.chip{
  border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;
  padding:7px 14px;font-size:13px;font-weight:500;color:var(--text);display:inline-flex;gap:6px;align-items:center;
}
.chip:hover{background:var(--yellow-soft);border-color:var(--yellow);color:var(--black);}

/* Tabelas */
table{width:100%;border-collapse:collapse;}
.tbl{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm);}
.tbl{overflow-x:auto;}
.tbl th{
  text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-3);
  font-weight:600;padding:12px 16px;border-bottom:1px solid var(--border);background:#FAFAF9;white-space:nowrap;
}
.tbl td{padding:13px 16px;border-bottom:1px solid #EFEFEC;font-size:14px;vertical-align:middle;}
.tbl tbody tr:hover td{background:#FCFCFA;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tfoot td{font-weight:700;background:#FAFAF9;border-top:1px solid var(--border-strong);}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
.muted{color:var(--text-2);}
.status-pill{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;}
.status-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.status-ok{background:var(--pos-bg);color:var(--pos);}
.status-pend{background:var(--neg-bg);color:var(--neg);}

/* Cartão de evento / formulário */
.ev-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow-sm);transition:border-color .12s ease,box-shadow .12s ease;}
.ev-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);}
.ev-row{display:flex;align-items:center;gap:14px;padding:15px 18px;cursor:pointer;}
.ev-row:hover{background:#FCFCFA;}
.ev-row-name{flex:1;min-width:0;}
.ev-row-name .n{font-weight:600;font-size:15px;}
.ev-row-name .s{font-size:12.5px;color:var(--text-2);}
.ev-row-metric{width:116px;text-align:right;font-variant-numeric:tabular-nums;}
.ev-row-metric .l{font-size:11px;color:var(--text-3);display:block;text-transform:uppercase;letter-spacing:.4px;}
.ev-row-metric .v{font-size:14px;font-weight:600;}
.ev-row-actions{display:flex;gap:4px;}
.icon-btn{background:none;border:none;padding:7px;border-radius:8px;color:var(--text-2);display:flex;}
.icon-btn:hover{background:#F0F0EE;color:var(--text);}
.icon-btn.danger:hover{background:var(--neg-bg);color:var(--neg);}
.chev{transition:transform .15s ease;}
.chev.open{transform:rotate(90deg);}

.ev-form{border-top:1px solid var(--border);padding:22px;background:#FAFAF9;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.field-group{margin-bottom:20px;}
.field-group-title{font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--black);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.field-group-title::before{content:'';width:10px;height:10px;border-radius:3px;background:var(--yellow);}
.field-row{display:flex;gap:10px;margin-bottom:9px;}
.field{flex:1;min-width:0;}
.field label{display:block;font-size:12px;color:var(--text-2);margin-bottom:4px;font-weight:500;}
.field input,.field select{
  width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:9px 11px;background:#fff;
  transition:border-color .12s ease,box-shadow .12s ease;
}
.field input:focus,.field select:focus,.config-section input:focus,.config-section select:focus,.content input:focus,.content select:focus{
  outline:none;border-color:var(--black);box-shadow:0 0 0 3px rgba(255,224,39,.55);
}
.field-hint{font-size:11px;color:var(--text-3);margin-top:3px;}

.summary-box{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-top:6px;}
.summary-line{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px;}
.summary-line.total{border-top:2px solid var(--black);margin-top:8px;padding-top:12px;font-weight:700;font-size:16px;}
.summary-line .v{font-variant-numeric:tabular-nums;}

.pay-row{display:grid;grid-template-columns:140px 1fr 120px 32px;gap:8px;margin-bottom:6px;align-items:center;}
.pay-row input,.content input[type=search],.content > input,.content .row-between input{
  width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:8px 10px;background:#fff;min-width:0;
}
.link-btn{background:none;border:none;color:var(--black);font-weight:600;font-size:13px;padding:0;text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:2px;text-underline-offset:3px;}
.link-btn:hover{text-decoration-color:var(--black);}

.form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);}

.empty-state{text-align:center;padding:64px 20px;color:var(--text-2);background:var(--surface);border:1px dashed var(--border-strong);border-radius:16px;}
.empty-state .big{font-family:var(--font-head);font-size:18px;font-weight:600;color:var(--text);margin-bottom:6px;}

/* Configurações */
.config-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 24px;margin-bottom:16px;max-width:720px;box-shadow:var(--shadow-sm);}
.config-section h3{font-family:var(--font-head);font-size:16px;font-weight:700;margin:0 0 4px;letter-spacing:-.2px;}
.config-section p{font-size:13px;color:var(--text-2);margin:0 0 16px;}
.config-section input[type=text],.config-section input[type=email],.config-section input[type=number],.config-section input[type=date],.config-section select{
  border:1px solid var(--border-strong);border-radius:9px;padding:8px 10px;background:#fff;
}
.config-table{width:100%;}
.config-table th{text-align:left;font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;padding-bottom:8px;font-weight:600;}
.config-table td{padding:7px 0;}
.config-table input{width:96px;text-align:right;}
.content input[type=text],.content input[type=search],.content input[type=date],.content input[type=number],.content select{border-radius:9px;}

/* Janela de confirmação */
.modal-overlay{position:fixed;inset:0;background:rgba(11,11,11,.55);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;}
.modal-box{background:#fff;border-radius:18px;padding:26px;max-width:420px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.25);border-top:5px solid var(--yellow);}
.modal-box h3{font-family:var(--font-head);margin:0 0 8px;font-size:18px;font-weight:700;}
.modal-box p{font-size:14px;color:var(--text-2);margin:0 0 20px;}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;}

/* Tela de entrada */
.auth-overlay{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;
  background:var(--black);overflow:hidden;
}
.auth-overlay::before{
  content:'';position:absolute;right:-160px;bottom:-160px;width:620px;height:620px;
  background:url("../img/simbolo.png") no-repeat center / contain;opacity:.16;pointer-events:none;
}
.auth-overlay > *{position:relative;}
.auth-box{background:var(--surface);border-radius:20px;padding:34px 30px 28px;width:360px;max-width:100%;box-shadow:0 30px 80px rgba(0,0,0,.45);}
.auth-box .brand-mark{display:block;}
.auth-logo{display:block;width:190px;height:auto;margin:0 0 6px;}
.auth-box input{width:100%;border:1px solid var(--border-strong);border-radius:10px;padding:11px 12px;}
.auth-box input:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 3px rgba(255,224,39,.55);}
.auth-box .btn{justify-content:center;padding:11px 16px;}

.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--black);color:#fff;
  padding:12px 20px;border-radius:12px;font-size:13.5px;font-weight:500;z-index:60;box-shadow:0 12px 32px rgba(0,0,0,.25);
  border-left:4px solid var(--yellow);max-width:calc(100vw - 32px);
}

/* Print */
#print-root{display:none;}
.print-sheet{max-width:800px;margin:0 auto;font-family:Arial,sans-serif;color:#111;}
.print-logos{display:flex;align-items:center;gap:30px;padding-bottom:14px;border-bottom:3px solid #111;margin-bottom:14px;}
.print-logos img{height:44px;}
.print-title{background:#111;color:#fff;text-align:center;padding:8px;font-weight:bold;font-size:15px;margin-bottom:2px;}
.print-sub{background:#333;color:#fff;text-align:center;padding:5px;font-size:11px;letter-spacing:0.5px;text-transform:uppercase;}
.print-table{width:100%;border-collapse:collapse;margin-bottom:14px;font-size:12.5px;}
.print-table th{background:#111;color:#fff;text-align:left;padding:6px 10px;font-size:11px;text-transform:uppercase;}
.print-table td{padding:6px 10px;border-bottom:1px solid #ddd;}
.print-table .num{text-align:right;}
.print-total-row td{font-weight:bold;border-top:2px solid #111;}
.print-note{font-size:10.5px;color:#555;font-style:italic;margin:6px 0 16px;}

@media print{
  body *{visibility:hidden;}
  #print-root, #print-root *{visibility:visible;}
  #print-root{display:block;position:absolute;top:0;left:0;width:100%;}
}

@media (max-width:1000px){
  .form-grid{grid-template-columns:1fr;}
  .content{padding:28px 24px 48px;}
}
/* Celular: o menu vira uma barra no topo, rolável para o lado */
@media (max-width:760px){
  .app{flex-direction:column;}
  .rail{width:auto;flex:none;height:auto;position:sticky;top:0;z-index:40;padding:12px 12px 10px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;}
  .rail > div:first-child{flex:1;display:flex;align-items:center;}
  .brand-logo{width:112px;margin:0;}
  .brand-sub{display:none;}
  .nav{order:3;width:100%;margin-top:4px;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none;}
  .nav::-webkit-scrollbar{display:none;}
  .nav-item{flex:0 0 auto;padding:8px 12px;font-size:13px;gap:8px;background:#1A1A1A;}
  .nav-item svg{width:16px;height:16px;flex-basis:16px;}
  .rail-spacer{display:none;}
  .period-box{order:2;margin:0;padding:6px 8px;display:flex;align-items:center;gap:6px;border-radius:10px;}
  .period-label,#sync-status{display:none !important;}
  .period-box > div{margin-top:0 !important;gap:2px !important;}
  #btn-sair{width:auto !important;margin:0 !important;padding:4px 6px !important;}
  .content{padding:22px 14px 40px;}
  .view-title{font-size:23px;}
  .kpis{grid-template-columns:1fr 1fr;gap:10px;}
  .kpi{padding:14px;}
  .kpi-value{font-size:19px;}
  .ev-row{flex-wrap:wrap;gap:8px 12px;}
  .ev-row-metric{width:auto;}
  .pay-row{grid-template-columns:1fr 1fr;}
  .auth-overlay::before{width:340px;height:340px;right:-90px;bottom:-90px;}
}

/* ================= Estrutura nova (clientes → eventos → saldo) ================= */
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.page-head .view-sub{margin-bottom:0;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-2);background:none;border:none;padding:0;margin-bottom:10px;}
.back-link:hover{color:var(--black);}
.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.seg{display:inline-flex;background:#fff;border:1px solid var(--border-strong);border-radius:11px;padding:3px;gap:2px;}
.seg button{border:none;background:none;padding:7px 14px;border-radius:8px;font-weight:600;font-size:13px;color:var(--text-2);}
.seg button:hover{color:var(--black);}
.seg button.on{background:var(--black);color:#fff;}
.filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:18px;}
.filtros input[type=search],.filtros select,.filtros input[type=date]{border:1px solid var(--border-strong);border-radius:10px;padding:8px 11px;background:#fff;min-width:0;}
.filtros input[type=search]{flex:1;min-width:200px;max-width:380px;}
.navsemana{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border-strong);border-radius:11px;padding:3px 6px;}
.navsemana b{font-variant-numeric:tabular-nums;font-size:13.5px;padding:0 4px;}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px 22px;box-shadow:var(--shadow-sm);margin-bottom:16px;}
.card h3{font-size:15px;font-weight:700;margin:0 0 14px;display:flex;align-items:center;gap:10px;justify-content:space-between;flex-wrap:wrap;}
.card h3 .t{display:flex;align-items:center;gap:8px;}
.card h3 .t::before{content:'';width:10px;height:10px;border-radius:3px;background:var(--yellow);}
.grid-ev{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start;}
.sticky{position:sticky;top:20px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 14px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 14px;}
.span-2{grid-column:span 2;}
.kpi-sub{font-size:12px;color:var(--text-2);margin-top:4px;}
.kpi:first-child .kpi-sub{color:#A8A8A8;}
.kpis.ops .kpi:first-child{background:var(--surface);border-color:var(--border);color:var(--text);}
.kpis.ops .kpi:first-child .kpi-label{color:var(--text-2);}
.kpis.ops .kpi:first-child .kpi-value{color:var(--text);}
.kpis.ops .kpi:first-child .kpi-sub{color:var(--text-2);}
.section-title{font-size:12.5px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;margin:28px 0 12px;display:flex;align-items:center;gap:8px;}
.section-title::before{content:'';width:10px;height:10px;border-radius:3px;background:var(--yellow);}
.req::after{content:' *';color:var(--neg);}
.toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;cursor:pointer;user-select:none;color:var(--text-2);}
.toggle input{width:16px;height:16px;accent-color:#0B0B0B;margin:0;}
.radio-row{display:flex;gap:16px;flex-wrap:wrap;margin:4px 0 10px;}
.tr-click{cursor:pointer;}
.pill{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;}
.pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.st-saldo{background:var(--yellow-soft);color:#7A6500;}
.st-quitado{background:var(--pos-bg);color:var(--pos);}
.st-deve{background:var(--neg-bg);color:var(--neg);}
.st-futuro{background:#EEEEEC;color:var(--grey);}
.mini{font-size:12px;color:var(--text-2);}
.consumo{font-size:12px;color:var(--text-2);margin-top:2px;}
.neg-txt{color:var(--neg);} .pos-txt{color:var(--pos);}
.calc-box .summary-line{font-size:13px;}
.calc-box .sep{border-top:1px solid var(--border);margin:6px 0;}
.calc-box .big{font-size:20px;font-weight:700;}
.modal-box.wide{max-width:680px;max-height:calc(100vh - 32px);overflow:auto;}
.modal-box .field{margin-bottom:10px;}
.modal-box .field input,.modal-box .field select,.modal-box .field textarea{width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:9px 11px;background:#fff;font-family:inherit;}
.field textarea{width:100%;border:1px solid var(--border-strong);border-radius:9px;padding:9px 11px;font-family:inherit;min-height:90px;resize:vertical;}
.modal-box .field input:focus,.modal-box .field select:focus,.modal-box .field textarea:focus,.field textarea:focus{outline:none;border-color:var(--black);box-shadow:0 0 0 3px rgba(255,224,39,.55);}
.form-erro{color:var(--neg);font-size:13px;margin-top:6px;}
.banner{background:var(--yellow-soft);border:1px solid #F0D64A;border-radius:12px;padding:11px 14px;font-size:13px;margin-bottom:14px;}
.banner.neg{background:var(--neg-bg);border-color:#F2B8AA;color:#7A2414;}
.lista-check{max-height:320px;overflow:auto;border:1px solid var(--border);border-radius:12px;}
.lista-check label{display:flex;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid #EFEFEC;cursor:pointer;font-size:13.5px;}
.lista-check label:last-child{border-bottom:none;}
.tag-cat{display:inline-block;font-size:11px;font-weight:600;background:#F0F0EE;border-radius:6px;padding:2px 7px;color:var(--grey);}
.legenda-campos{display:flex;flex-wrap:wrap;gap:6px;}
.legenda-campos code{background:#F0F0EE;border-radius:6px;padding:3px 7px;font-size:11.5px;cursor:pointer;}
.legenda-campos code:hover{background:var(--yellow-soft);}

/* Contrato na tela */
.contrato-wrap{background:#E9E9E6;border-radius:16px;padding:28px 16px;}
.contrato-doc{background:#fff;max-width:820px;margin:0 auto;padding:48px 56px;box-shadow:0 4px 24px rgba(0,0,0,.08);font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.55;color:#111;}
.contrato-doc[contenteditable=true]{outline:3px solid var(--yellow);outline-offset:4px;}
.ct-head{text-align:center;letter-spacing:4px;font-weight:700;font-size:12px;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:16px;}
.ct-title{font-size:16px;text-align:center;margin:0 0 18px;font-family:Arial,Helvetica,sans-serif;letter-spacing:0;}
.contrato-doc h2{font-size:12.5px;margin:20px 0 8px;background:#111;color:#fff;padding:5px 9px;font-family:Arial,Helvetica,sans-serif;letter-spacing:.3px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.contrato-doc p{margin:0 0 8px;}
.ct-tab{width:100%;border-collapse:collapse;margin:8px 0 10px;}
.ct-tab th,.ct-tab td{border:1px solid #9A9A9A;padding:5px 7px;font-size:12px;text-align:left;}
.ct-tab th{background:#EEE;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.ct-ass{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:34px;}
.ct-ass>div{border-top:1px solid #111;padding-top:8px;font-size:12px;}
.ct-foot{text-align:center;font-size:11px;color:#555;margin-top:34px;border-top:1px solid #ccc;padding-top:6px;}

/* Relatório do evento (impressão) */
.rel{font-family:Arial,Helvetica,sans-serif;color:#111;max-width:780px;margin:0 auto;font-size:12.5px;}
.rel-top{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #111;padding-bottom:12px;margin-bottom:14px;}
.rel-top img{height:46px;}
.rel-top .t{text-align:right;}
.rel-top .t b{font-size:16px;display:block;}
.rel h2{font-size:12px;text-transform:uppercase;letter-spacing:.6px;background:#111;color:#fff;padding:5px 9px;margin:16px 0 8px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.rel table{width:100%;border-collapse:collapse;}
.rel td,.rel th{padding:5px 8px;border-bottom:1px solid #DDD;text-align:left;}
.rel th{font-size:11px;text-transform:uppercase;color:#555;}
.rel .num{text-align:right;}
.rel .tot td{font-weight:700;border-top:2px solid #111;border-bottom:none;}
.rel .liq{display:flex;justify-content:space-between;align-items:center;background:#FFE027;padding:12px 14px;margin-top:14px;font-size:16px;font-weight:700;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.rel-dados{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px;}
.rel-pizza{display:flex;align-items:center;gap:26px;margin-top:6px;}
.rel-pizza svg{flex:0 0 190px;}
.rel-leg{flex:1;}
.rel-leg div{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid #EEE;}
.rel-leg i{width:12px;height:12px;border-radius:3px;display:inline-block;flex:0 0 12px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
.rel-leg span{flex:1;}
.rel-nota{font-size:10.5px;color:#666;margin-top:14px;}
@page{margin:14mm;}

@media (max-width:1100px){ .grid-ev{grid-template-columns:1fr;} .sticky{position:static;} }
@media (max-width:760px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr 1fr;}
  .contrato-doc{padding:24px 18px;}
  .page-head .actions{width:100%;}
}

/* Resumo: 6 indicadores em 2 linhas de 3 */
@media (min-width:761px){ .kpis.seis{grid-template-columns:repeat(3,1fr);} }

/* Caixas de marcar com cara de chave liga/desliga */
.toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:34px;height:20px;border-radius:999px;background:#D6D6D1;position:relative;flex:0 0 34px;cursor:pointer;transition:background .15s;}
.toggle input[type=checkbox]::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s;}
.toggle input[type=checkbox]:checked{background:#0B0B0B;}
.toggle input[type=checkbox]:checked::after{transform:translateX(14px);background:var(--yellow,#FFE027);}
.toggle input[type=checkbox]:focus-visible{outline:2px solid var(--yellow,#FFE027);outline-offset:2px;}
