*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

body{
  font-family:Arial,sans-serif;
  background:#f4f6f8;
  color:#161616;
}

a{
  text-decoration:none;
  color:inherit;
}

.container{
  width:94%;
  max-width:1120px;
  margin:auto;
}

.header{
  background:#101010;
  color:white;
  padding:22px 0;
  border-bottom:4px solid #f5b400;
}

.logo{
  display:inline-flex;
  align-items:center;
  font-size:24px;
  font-weight:800;
}

.brand-logo-image{
  display:block;
  width:auto;
  max-width:230px;
  height:44px;
  object-fit:contain;
  object-position:left center;
}


.home-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.home-account-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  min-width:188px;
  padding:6px 8px 6px 7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  color:#fff;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 18px rgba(0,0,0,.18);
  white-space:nowrap;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
}

.home-account-link:hover{
  border-color:rgba(245,180,0,.78);
  background:linear-gradient(135deg,rgba(245,180,0,.22),rgba(255,255,255,.09));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 12px 23px rgba(0,0,0,.28);
  color:#fff;
  transform:translateY(-2px);
}

.home-account-link.is-logged{
  border-color:rgba(245,180,0,.42);
  background:linear-gradient(135deg,rgba(245,180,0,.18),rgba(255,255,255,.055));
}

.home-account-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:13px;
  background:linear-gradient(145deg,#ffd24a,#f5b400);
  color:#16120a;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 4px 10px rgba(0,0,0,.22);
  font-size:15px;
  font-weight:900;
}

.home-account-avatar-guest svg{
  width:19px;
  height:19px;
  fill:currentColor;
}

.home-account-copy{
  display:grid;
  min-width:0;
  gap:2px;
  line-height:1.05;
}

.home-account-copy small{
  overflow:hidden;
  color:rgba(255,255,255,.64);
  font-size:9px;
  font-weight:900;
  letter-spacing:.09em;
  text-overflow:ellipsis;
  text-transform:uppercase;
}

.home-account-copy strong{
  overflow:hidden;
  max-width:145px;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:-.01em;
  text-overflow:ellipsis;
}

.home-account-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  margin-left:2px;
  border-radius:9px;
  color:#ffd96a;
  font-size:17px;
  font-weight:900;
  transition:transform .2s ease,background .2s ease;
}

.home-account-link:hover .home-account-arrow{
  background:rgba(255,255,255,.10);
  transform:translateX(2px);
}

.hero{
  padding:36px 0;
  background:#181818;
  color:white;
}

.hero h1{
  font-size:34px;
  margin-bottom:10px;
}

.hero p{
  opacity:.9;
  margin-bottom:20px;
}

.btn{
  display:inline-block;
  border:none;
  border-radius:10px;
  padding:13px 18px;
  font-weight:700;
  cursor:pointer;
}

.btn-main{
  background:#f5b400;
  color:#111;
}

.btn-dark{
  background:#111;
  color:white;
}

.btn-danger{
  background:#c62828;
  color:white;
}

.grid{
  display:grid;
  gap:16px;
}

.cards{
  grid-template-columns:1fr;
  margin-top:18px;
}

.card{
  background:white;
  border-radius:16px;
  padding:18px;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.card h2,
.card h3{
  margin-bottom:8px;
}

.section{
  padding:28px 0;
}

.form{
  display:grid;
  gap:12px;
}

input,
select,
textarea{
  width:100%;
  padding:13px;
  border:1px solid #ddd;
  border-radius:10px;
  font-size:16px;
  background:white;
}

.label{
  font-weight:700;
  font-size:14px;
  margin-bottom:4px;
}

.status{
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
}

.disponivel{
  background:#dff7e7;
  color:#116329;
}

.ocupado{
  background:#ffe1e1;
  color:#a01818;
}

.bloqueado{
  background:#eee;
  color:#555;
}

.agenda{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.slot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:white;
  border-radius:12px;
  padding:14px;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}

.table{
  width:100%;
  border-collapse:collapse;
  background:white;
  border-radius:12px;
  overflow:hidden;
}

.table th,
.table td{
  padding:10px;
  border-bottom:1px solid #eee;
  text-align:left;
  font-size:14px;
}

.admin-nav{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 0;
}

.admin-nav a{
  white-space:nowrap;
  background:#222;
  color:#fff;
  padding:10px 12px;
  border-radius:10px;
}

.kpis{
  grid-template-columns:1fr 1fr;
}

.kpi{
  background:white;
  border-radius:14px;
  padding:16px;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}

.kpi strong{
  font-size:22px;
  display:block;
  margin-top:6px;
}

footer{
  text-align:center;
  padding:22px;
  background:#101010;
  color:white;
  margin-top:30px;
}

/* HOME - BANNERS */

.categorias-home{
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:20px;
}

.banner-home{
  position:relative;
  display:block;
  width:100%;
  height:220px;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
  background:#222;
}

.banner-home img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.banner-home::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    to top,
    rgba(0,0,0,.82),
    rgba(0,0,0,.20)
  );
  z-index:1;
}

.banner-conteudo{
  position:absolute;
  left:20px;
  right:20px;
  bottom:20px;
  z-index:2;
  color:white;
}

.banner-conteudo h2{
  font-size:28px;
  margin-bottom:8px;
}

.banner-conteudo p{
  margin-bottom:14px;
}

.banner-conteudo span{
  display:inline-block;
  background:#f5b400;
  color:#111;
  padding:10px 18px;
  border-radius:10px;
  font-weight:800;
}

/* MOBILE NAV */

.mobile-bottom-nav{
  display:none;
}

/* DESKTOP */

@media(min-width:760px){
  .cards{
    grid-template-columns:repeat(3,1fr);
  }

  .kpis{
    grid-template-columns:repeat(5, 1fr);
  }

  .hero h1{
    font-size:48px;
  }

  .banner-home{
    height:260px;
  }
}

/* MOBILE APP STYLE */

@media(max-width:760px){

  body{
    background:#f6f7f9;
    padding-bottom:105px;
    font-size:15px;
  }

  .container{
    width:92%;
  }

  .header{
    background:#101010;
    padding:18px 0 16px;
    border-bottom:3px solid #f5b400;
    position:sticky;
    top:0;
    z-index:900;
  }

  .logo{
    font-size:21px;
    font-weight:900;
    letter-spacing:-.3px;
  }


  .home-header-inner{
    gap:9px;
  }

  .home-account-link{
    min-width:0;
    max-width:52%;
    min-height:44px;
    padding:4px 6px 4px 5px;
    gap:7px;
    border-radius:14px;
  }

  .home-account-avatar{
    width:32px;
    height:32px;
    flex-basis:32px;
    border-radius:11px;
    font-size:13px;
  }

  .home-account-avatar-guest svg{
    width:16px;
    height:16px;
  }

  .home-account-copy small{
    font-size:8px;
  }

  .home-account-copy strong{
    max-width:112px;
    font-size:11px;
  }

  .home-account-arrow{
    display:none;
  }

  .hero{
    background:#101010;
    padding:28px 0 26px;
    border-radius:0 0 28px 28px;
    margin-bottom:4px;
  }

  .hero h1{
    font-size:30px;
    line-height:1.05;
    margin-bottom:10px;
    letter-spacing:-1px;
  }

  .hero p{
    font-size:15px;
    opacity:.85;
    margin-bottom:18px;
  }

  .hero .btn{
    width:100%;
    min-height:50px;
    border-radius:16px;
  }

  .section{
    padding:22px 0;
  }

  .section h2{
    font-size:22px;
    letter-spacing:-.5px;
    margin-bottom:4px;
  }

  .card{
    border-radius:22px;
    padding:18px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    border:1px solid rgba(0,0,0,.04);
  }

  .card h2{
    font-size:22px;
  }

  .card h3{
    font-size:19px;
  }

  .btn{
    min-height:48px;
    border-radius:15px;
    padding:13px 17px;
    font-size:15px;
    font-weight:900;
  }

  .btn-main{
    background:#f5b400;
    color:#111;
    box-shadow:0 6px 18px rgba(245,180,0,.28);
  }

  .btn-dark{
    background:#111;
    color:#fff;
  }

  .form{
    gap:13px;
  }

  input,
  select,
  textarea{
    min-height:50px;
    border-radius:16px;
    font-size:16px;
    border:1px solid #ddd;
  }

  .label{
    font-size:13px;
    font-weight:900;
    color:#333;
  }

  .categorias-home{
    gap:16px;
    margin-top:18px;
  }

  .banner-home{
    height:200px;
    border-radius:26px;
    box-shadow:0 14px 32px rgba(0,0,0,.18);
  }

  .banner-home::before{
    background:linear-gradient(
      to top,
      rgba(0,0,0,.88),
      rgba(0,0,0,.22)
    );
  }

  .banner-conteudo{
    left:18px;
    right:18px;
    bottom:18px;
  }

  .banner-conteudo h2{
    font-size:23px;
    line-height:1.05;
    margin-bottom:6px;
    letter-spacing:-.5px;
  }

  .banner-conteudo p{
    font-size:14px;
    margin-bottom:12px;
    opacity:.92;
  }

  .banner-conteudo span{
    padding:9px 15px;
    border-radius:999px;
    font-size:13px;
  }

  .agenda{
    gap:12px;
    margin-top:16px;
  }

  .slot{
    border-radius:22px;
    padding:16px;
    border-left:0;
    box-shadow:0 8px 22px rgba(0,0,0,.08);
    background:#fff;
  }

  .slot strong{
    font-size:17px;
  }

  .slot .btn{
    min-height:42px;
    padding:10px 14px;
    border-radius:14px;
    font-size:13px;
  }

  .status{
    margin-top:6px;
    padding:7px 11px;
    font-size:11px;
    border-radius:999px;
    letter-spacing:.3px;
  }

  .disponivel{
    background:#dff8e7;
    color:#116329;
  }

  .ocupado{
    background:#ffe1e1;
    color:#a01818;
  }

  .bloqueado{
    background:#efefef;
    color:#444;
  }

  .card p{
    line-height:1.45;
  }

  .card .btn{
    margin-top:6px;
  }

  .table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
    border-radius:18px;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
  }

  .table th{
    background:#111;
    color:white;
    font-size:13px;
  }

  .table th,
  .table td{
    padding:11px;
    font-size:13px;
  }

  .admin-nav{
    padding:12px 0 2px;
    gap:8px;
  }

  .admin-nav a{
    border-radius:999px;
    padding:10px 13px;
    font-size:13px;
    font-weight:800;
  }

  .kpis{
    grid-template-columns:1fr;
    gap:12px;
  }

  .kpi{
    border-radius:20px;
  }

  footer{
    padding:22px 18px 110px;
    font-size:13px;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    z-index:99999;

    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:5px;

    background:rgba(16,16,16,.96);
    border:1px solid rgba(245,180,0,.32);
    border-radius:26px;
    padding:8px;

    box-shadow:
      0 18px 45px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.06);

    backdrop-filter:blur(18px);
  }

  .mobile-bottom-nav a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    min-height:58px;
    border-radius:19px;

    color:#fff;
    font-size:11px;
    font-weight:800;
    text-align:center;

    opacity:.82;
    transition:.22s;
  }

  .mobile-bottom-nav a:active,
  .mobile-bottom-nav a:hover{
    background:#f5b400;
    color:#111;
    opacity:1;
    transform:translateY(-2px);
  }

  .mobile-bottom-nav span{
    display:block;
    font-size:21px;
    line-height:1;
    margin-bottom:5px;
  }
}
/* RESUMO DE PREÇO / REGRAS */
.texto-apoio{
  color:#555;
  margin-top:6px;
  line-height:1.45;
}

.reserva-resumo-card{
  border-left:5px solid #f5b400;
}

.reserva-resumo-topo{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

.reserva-total{
  min-width:150px;
  text-align:right;
}

.reserva-total span{
  display:block;
  color:#666;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
}

.reserva-total strong{
  display:block;
  font-size:26px;
  color:#111;
}

.preco-resumo-card{
  border:1px solid rgba(245,180,0,.45);
  background:linear-gradient(180deg,#fffaf0,#fff);
}

.preco-resumo-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
}

.preco-resumo-header strong{
  font-size:24px;
  white-space:nowrap;
}

.preco-tag{
  display:inline-block;
  background:#111;
  color:#fff;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
  text-transform:uppercase;
}

.preco-explicacao{
  font-weight:800;
  margin:8px 0;
}

.preco-calculo{
  background:#f6f7f9;
  border:1px solid #e7e7e7;
  border-radius:14px;
  padding:12px;
  margin-top:10px;
  line-height:1.45;
}

.preco-detalhes{
  margin:12px 0 0 18px;
  color:#333;
  line-height:1.55;
}

.agenda-info-preco{
  margin-top:14px;
  background:#fffaf0;
  border:1px solid rgba(245,180,0,.35);
}

.slot-preco{
  margin-top:8px;
  color:#333;
  line-height:1.35;
}

.slot-preco small{
  color:#666;
}

.precos-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
  margin-top:16px;
}

.preco-lista-card{
  border:1px solid #ececec;
  border-radius:14px;
  padding:14px;
  background:#fff;
}

.preco-linha{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 0;
  border-top:1px solid #f0f0f0;
  line-height:1.35;
}

.preco-linha span{
  color:#444;
}

.preco-linha strong{
  white-space:nowrap;
}

@media(max-width:760px){
  .reserva-resumo-topo,
  .preco-resumo-header{
    display:block;
  }

  .reserva-total{
    text-align:left;
    margin-top:12px;
  }

  .preco-resumo-header strong{
    display:block;
    margin-top:8px;
  }
}

.mensal-oferta-card{
  border:1px solid rgba(25,118,210,.22);
  background:linear-gradient(180deg,#f6fbff,#fff);
}

.mensal-oferta-conteudo{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.mensal-tag{
  background:#1976d2;
}

.mensal-oferta-card h3{
  margin:0 0 8px;
}

.mensal-oferta-card p{
  margin:7px 0;
  line-height:1.45;
}

.mensal-regra{
  color:#555;
  font-size:14px;
}

.mensal-oferta-preco{
  min-width:150px;
  text-align:right;
}

.mensal-oferta-preco span,
.mensal-oferta-preco small{
  display:block;
  color:#666;
  font-size:13px;
}

.mensal-oferta-preco strong{
  display:block;
  font-size:27px;
  color:#111;
  margin:2px 0;
  white-space:nowrap;
}

.mensal-oferta-acoes{
  margin-top:14px;
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.mensal-oferta-acoes small{
  color:#666;
}

@media(max-width:760px){
  .mensal-oferta-conteudo{
    display:block;
  }

  .mensal-oferta-preco{
    text-align:left;
    margin-top:12px;
  }
}

/* Escolha entre reserva avulsa e mensalista */
.modalidade-reserva-card{
  border:1px solid rgba(25,118,210,.22);
  background:linear-gradient(180deg,#f7fbff,#fff);
}

.modalidade-opcoes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}

.modalidade-opcao{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px;
  border:1px solid #dbe4ee;
  border-radius:12px;
  cursor:pointer;
  background:#fff;
}

.modalidade-opcao.selecionada{
  border-color:#1976d2;
  box-shadow:0 0 0 2px rgba(25,118,210,.10);
}

.modalidade-opcao input{
  width:auto;
  margin:3px 0 0;
}

.modalidade-opcao strong,
.modalidade-opcao small{
  display:block;
}

.modalidade-opcao small{
  margin-top:4px;
  color:#666;
  line-height:1.35;
}

.mensal-ativacao-info{
  margin-top:14px;
  padding:12px 14px;
  border-left:4px solid #1976d2;
  background:#f4f9ff;
  border-radius:8px;
}

.mensal-ativacao-info p{
  margin:6px 0 0;
  line-height:1.45;
}

.pagamento-mensal-aviso{
  display:block;
  margin:10px 0;
  color:#345;
  line-height:1.4;
}

@media(max-width:760px){
  .modalidade-opcoes{
    grid-template-columns:1fr;
  }
}

/* HOME - CHAMADA DE PLANOS E AULAS */
.section-planos-home{
  padding-bottom:4px;
}

.banner-planos-home{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:250px;
  border-radius:22px;
  padding:32px;
  color:#fff;
  background:linear-gradient(125deg,#102b45 0%,#14656c 52%,#f5b400 145%);
  box-shadow:0 14px 30px rgba(10,49,72,.22);
}

.banner-planos-home::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.1),transparent 65%);
  pointer-events:none;
}

.banner-planos-copy{
  position:relative;
  z-index:2;
  max-width:650px;
}

.banner-planos-eyebrow,
.planos-kicker{
  display:inline-block;
  margin-bottom:11px;
  color:#ffdb65;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.2px;
}

.banner-planos-copy h2{
  max-width:590px;
  margin-bottom:10px;
  color:#fff;
  font-size:34px;
  line-height:1.03;
  letter-spacing:-1px;
}

.banner-planos-copy p{
  max-width:500px;
  color:rgba(255,255,255,.92);
  line-height:1.45;
}

.banner-planos-footer{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 22px;
  margin-top:23px;
}

.banner-planos-footer strong{
  color:#fff;
  font-size:18px;
}

.banner-planos-footer span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:10px 15px;
  background:#f5b400;
  color:#111;
  font-size:14px;
  font-weight:900;
}

.banner-planos-footer b{
  font-size:18px;
  line-height:1;
}

.banner-planos-badges{
  position:absolute;
  z-index:1;
  right:35px;
  bottom:30px;
  display:flex;
  gap:12px;
  transform:rotate(-9deg);
}

.banner-planos-badges span{
  display:grid;
  width:90px;
  height:90px;
  place-items:center;
  border:3px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(255,255,255,.12);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  color:#fff;
  font-size:24px;
  font-weight:900;
  backdrop-filter:blur(4px);
}

.banner-planos-shape{
  position:absolute;
  z-index:0;
  border-radius:50%;
  pointer-events:none;
}

.banner-planos-shape-a{
  width:360px;
  height:360px;
  top:-200px;
  right:-55px;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 0 0 32px rgba(255,255,255,.04),0 0 0 66px rgba(255,255,255,.04);
}

.banner-planos-shape-b{
  width:155px;
  height:155px;
  right:185px;
  bottom:-100px;
  background:rgba(245,180,0,.28);
}

/* PÁGINA PÚBLICA DE PLANOS */
.planos-header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.planos-voltar{
  color:#fff;
  font-size:14px;
  font-weight:800;
  opacity:.9;
}

.planos-hero{
  padding:56px 0 64px;
  color:#fff;
  background:linear-gradient(130deg,#111 0%,#14394e 58%,#1f7a73 100%);
}

.planos-hero h1{
  max-width:720px;
  margin-bottom:14px;
  font-size:46px;
  line-height:1.03;
  letter-spacing:-1.5px;
}

.planos-hero p{
  max-width:620px;
  margin-bottom:25px;
  color:rgba(255,255,255,.88);
  line-height:1.5;
}

.planos-section{
  padding-top:38px;
}

.planos-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
}

.planos-intro h2{
  margin-bottom:6px;
  font-size:30px;
}

.planos-intro p{
  max-width:670px;
  color:#555;
  line-height:1.45;
}

.planos-info-pill,
.plano-publico-tipo,
.plano-publico-frequencia{
  display:inline-block;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
}

.planos-info-pill{
  background:#e5f5f2;
  color:#12635d;
  white-space:nowrap;
}

.modalidade-planos{
  margin-top:34px;
}

.modalidade-planos-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:14px;
}

.modalidade-planos-title h2{
  font-size:24px;
}

.modalidade-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#f5b400;
  box-shadow:0 0 0 5px rgba(245,180,0,.18);
}

.planos-grid-publico{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.plano-publico-card{
  display:flex;
  min-height:270px;
  flex-direction:column;
  border:1px solid #e7eaed;
  border-radius:18px;
  padding:20px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

.plano-publico-topo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:16px;
}

.plano-publico-tipo{
  background:#fff3cf;
  color:#735700;
}

.plano-publico-frequencia{
  background:#eef3f5;
  color:#31444a;
}

.plano-publico-card h3{
  margin-bottom:20px;
  font-size:20px;
  line-height:1.2;
}

.plano-publico-valor{
  margin-top:auto;
  margin-bottom:18px;
}

.plano-publico-valor strong{
  display:block;
  margin-bottom:4px;
  font-size:27px;
}

.plano-publico-valor span{
  display:block;
  color:#667;
  font-size:12px;
  line-height:1.35;
}

.plano-publico-btn{
  width:100%;
  text-align:center;
}

.planos-aviso{
  border:1px solid #f1d08a;
  border-radius:14px;
  padding:17px;
  background:#fff8e8;
  color:#6d5514;
  line-height:1.45;
}

.planos-ajuda{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:40px;
  border-radius:18px;
  padding:24px;
  background:#171717;
  color:#fff;
}

.planos-ajuda strong{
  display:block;
  margin-bottom:5px;
  font-size:20px;
}

.planos-ajuda p{
  color:rgba(255,255,255,.8);
}

@media(max-width:900px){
  .planos-grid-publico{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .section-planos-home{
    padding-top:18px;
  }

  .banner-planos-home{
    min-height:265px;
    border-radius:26px;
    padding:25px 21px;
  }

  .banner-planos-copy h2{
    max-width:295px;
    font-size:28px;
    line-height:1.04;
  }

  .banner-planos-copy p{
    max-width:265px;
    font-size:14px;
  }

  .banner-planos-footer{
    gap:11px;
    margin-top:18px;
  }

  .banner-planos-footer strong{
    width:100%;
    font-size:17px;
  }

  .banner-planos-badges{
    right:15px;
    bottom:17px;
    gap:7px;
    transform:rotate(-9deg) scale(.78);
    transform-origin:bottom right;
  }

  .banner-planos-shape-a{
    right:-150px;
  }

  .banner-planos-shape-b{
    right:112px;
  }

  .planos-header-inner{
    gap:10px;
  }

  .planos-voltar{
    font-size:12px;
  }

  .planos-hero{
    padding:37px 0 43px;
  }

  .planos-hero h1{
    font-size:33px;
    letter-spacing:-1px;
  }

  .planos-intro{
    display:block;
    margin-bottom:23px;
  }

  .planos-intro h2{
    font-size:26px;
  }

  .planos-info-pill{
    margin-top:13px;
  }

  .modalidade-planos{
    margin-top:30px;
  }

  .planos-grid-publico{
    grid-template-columns:1fr;
    gap:13px;
  }

  .plano-publico-card{
    min-height:0;
    border-radius:20px;
    padding:18px;
  }

  .plano-publico-card h3{
    margin-bottom:24px;
  }

  .planos-ajuda{
    display:block;
    border-radius:21px;
    padding:20px;
  }

  .planos-ajuda .btn{
    width:100%;
    margin-top:16px;
    text-align:center;
  }
}

/* CADASTRO COM CPF E CONTRATO */
.cadastro-container{
  max-width:720px;
}

.form-intro{
  color:#5f6670;
  line-height:1.5;
  margin-bottom:4px;
}

.form-erro{
  color:#a01818;
  background:#fff0f0;
  border:1px solid #ffd0d0;
  border-radius:10px;
  padding:12px;
  font-weight:700;
}

.form-help{
  display:block;
  color:#69707a;
  font-size:12px;
  line-height:1.45;
  margin-top:-7px;
}

.contrato-resumo{
  background:#fffaf0;
  border:1px solid #f0d486;
  border-radius:14px;
  padding:16px;
  display:grid;
  gap:12px;
}

.contrato-resumo-titulo{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.contrato-resumo h3{
  margin:0 0 4px;
  font-size:16px;
}

.contrato-resumo p{
  color:#60636a;
  font-size:14px;
  line-height:1.45;
}

.contrato-icone{
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 26px;
  background:#f5b400;
  color:#111;
  font-weight:900;
}

.contrato-detalhes{
  background:rgba(255,255,255,.7);
  border-radius:10px;
  padding:10px 12px;
}

.contrato-detalhes summary{
  cursor:pointer;
  font-weight:700;
}

.contrato-detalhes ul{
  margin:10px 0 0 18px;
  color:#4e555e;
  font-size:14px;
  line-height:1.5;
}

.checkbox-contrato{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#252525;
  font-size:14px;
  line-height:1.5;
  cursor:pointer;
}

.checkbox-contrato input{
  width:18px;
  height:18px;
  margin-top:2px;
  flex:0 0 18px;
  accent-color:#1b7b3a;
}

.checkbox-contrato a{
  color:#1d5f9a;
  font-weight:700;
  text-decoration:underline;
}

.contrato-pagina{
  max-width:900px;
}

.contrato-documento{
  padding:clamp(22px, 4vw, 42px);
}

.contrato-documento h1{
  font-size:clamp(25px, 4vw, 36px);
  line-height:1.15;
  margin-bottom:8px;
}

.contrato-documento h2{
  margin:28px 0 8px;
  font-size:19px;
}

.contrato-documento p{
  color:#40444b;
  line-height:1.65;
  margin:0 0 10px;
}

.contrato-versao{
  display:inline-block;
  background:#eef4ff;
  color:#1d5f9a !important;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  font-weight:700;
  margin-bottom:12px !important;
}

.contrato-atualizacao{
  color:#6f747d !important;
  font-size:14px;
}

.contrato-fechamento{
  margin-top:28px;
  padding:14px;
  border-radius:12px;
  background:#fff7dc;
  border:1px solid #f0d486;
  color:#5a4b1b;
  line-height:1.55;
  font-size:14px;
}

.contrato-voltar{
  margin-top:28px !important;
}

/* ================================
   ADMIN DASHBOARD + CAIXA DO BAR
   ================================ */
.dashboard-page{
  background:linear-gradient(180deg,#f2f6f4 0,#f7f8f9 280px,#f4f6f8 100%);
  min-height:100vh;
}
.dashboard-welcome,
.inventory-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:26px;
  margin-bottom:20px;
  border-radius:22px;
  color:#fff;
  background:linear-gradient(125deg,#0f251d 0%,#173d2e 58%,#23553e 100%);
  box-shadow:0 16px 32px rgba(14,47,35,.18);
}
.dashboard-welcome h1,
.inventory-hero h1{
  font-size:30px;
  margin:6px 0 8px;
}
.dashboard-welcome p,
.inventory-hero p{
  max-width:690px;
  color:rgba(255,255,255,.82);
  line-height:1.55;
}
.dashboard-eyebrow,
.panel-kicker{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.dashboard-eyebrow{ color:#f5c742; }
.panel-kicker{ color:#648170; margin-bottom:6px; }
.dashboard-welcome-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
  flex-shrink:0;
}
.btn-light{
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
}
.btn-light:hover{ background:rgba(255,255,255,.2); }
.dashboard-flash{
  margin:0 0 18px;
  padding:13px 16px;
  border-radius:13px;
  font-weight:700;
}
.dashboard-flash-success{
  color:#12603a;
  background:#e5f7ec;
  border:1px solid #bbe9cc;
}
.dashboard-flash-error{
  color:#a22b2b;
  background:#fff0f0;
  border:1px solid #f4c3c3;
}
.dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin-bottom:20px;
}
.dashboard-kpi{
  min-height:132px;
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(29,69,52,.07);
  box-shadow:0 8px 22px rgba(28,54,43,.06);
}
.dashboard-kpi span{
  display:block;
  color:#5e6f65;
  font-size:12px;
  font-weight:700;
}
.dashboard-kpi strong{
  display:block;
  margin:8px 0 8px;
  font-size:23px;
  letter-spacing:-.03em;
  color:#172c22;
}
.dashboard-kpi small{
  display:block;
  color:#748378;
  font-size:11px;
  line-height:1.35;
}
.dashboard-kpi-primary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,#16623d,#238454);
}
.dashboard-kpi-primary span,
.dashboard-kpi-primary strong,
.dashboard-kpi-primary small{ color:#fff; }
.dashboard-kpi-primary small{ color:rgba(255,255,255,.76); }
.dashboard-kpi-alert{
  background:#fff9e6;
  border-color:#f0dfab;
}
.dashboard-kpi-alert strong{ color:#7c5d10; }
.dashboard-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);
  gap:18px;
  align-items:start;
}
.dashboard-column-main,
.dashboard-column-side{ display:grid; gap:18px; }
.dash-panel{
  padding:20px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(29,69,52,.08);
  box-shadow:0 10px 28px rgba(28,54,43,.07);
}
.dash-panel-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.dash-panel-header h2{
  font-size:20px;
  color:#1a3025;
}
.dash-panel-header p{
  margin-top:5px;
  max-width:480px;
  color:#718077;
  font-size:14px;
  line-height:1.45;
}
.dashboard-text-link{
  color:#207249;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}
.dashboard-text-link:hover{ text-decoration:underline; }
.pos-panel{ overflow:hidden; }
.pos-products{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  max-height:310px;
  overflow:auto;
  padding:2px;
  margin-bottom:18px;
}
.pos-product{
  min-height:104px;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:4px;
  padding:14px;
  border:1px solid #dce8df;
  border-radius:14px;
  background:#fbfdfb;
  color:#1b3327;
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.pos-product:hover:not(:disabled){
  transform:translateY(-2px);
  border-color:#52a879;
  background:#f3fbf6;
  box-shadow:0 8px 17px rgba(42,120,76,.13);
}
.pos-product-name{ font-size:14px; font-weight:800; line-height:1.25; }
.pos-product strong{ color:#187043; font-size:16px; }
.pos-product small{ color:#7c8b81; font-size:11px; }
.pos-product.is-soldout{ opacity:.48; cursor:not-allowed; filter:grayscale(.5); }
.pos-cart{
  border:1px solid #dce9df;
  border-radius:16px;
  padding:15px;
  background:linear-gradient(160deg,#fbfdfb,#f5faf6);
}
.pos-cart-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.pos-cart-head h3{ font-size:16px; color:#1d3428; }
.pos-clear,
.pos-remove,
.pos-qty-btn{
  border:0;
  background:transparent;
  color:#237449;
  font-weight:800;
  cursor:pointer;
}
.pos-clear:disabled{ opacity:.45; cursor:not-allowed; }
.pos-cart-items{
  min-height:62px;
  margin:12px 0;
  padding-top:10px;
  border-top:1px solid #e4eee6;
}
.pos-empty{ color:#718077; font-size:13px; padding:8px 0; }
.pos-cart-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:9px 0;
  border-bottom:1px solid #e4eee6;
}
.pos-cart-item:last-child{ border-bottom:0; }
.pos-cart-item-name{ min-width:0; }
.pos-cart-item-name strong,
.pos-cart-item-name span{ display:block; }
.pos-cart-item-name strong{ font-size:13px; color:#233a2e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pos-cart-item-name span{ margin-top:2px; color:#78867d; font-size:11px; }
.pos-cart-item-controls{
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}
.pos-cart-item-controls > span{ min-width:16px; text-align:center; font-size:13px; font-weight:800; }
.pos-cart-item-controls > strong{ min-width:70px; text-align:right; font-size:13px; color:#1b4d31; }
.pos-qty-btn{
  width:24px;
  height:24px;
  border-radius:7px;
  background:#e5f4e9;
  font-size:18px;
  line-height:1;
}
.pos-qty-btn:disabled{ opacity:.35; cursor:not-allowed; }
.pos-remove{ font-size:20px; line-height:1; color:#aa453f; }
.pos-cart-footer{
  display:grid;
  grid-template-columns:1.1fr 1fr auto;
  gap:12px;
  align-items:end;
  padding-top:12px;
  border-top:1px solid #dfece2;
}
.pos-cart-footer label span,
.pos-total-wrap span{
  display:block;
  margin-bottom:5px;
  color:#738177;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.pos-cart-footer select{ padding:10px 12px; font-size:14px; }
.pos-total-wrap strong{ color:#12663d; font-size:22px; letter-spacing:-.03em; }
.pos-submit{ min-height:44px; white-space:nowrap; }
.pos-submit:disabled{ opacity:.5; cursor:not-allowed; }
.dashboard-empty-state{
  border:1px dashed #bdd5c4;
  border-radius:16px;
  padding:25px;
  text-align:center;
  background:#f6fbf7;
}
.dashboard-empty-state strong{ display:block; color:#1e442f; }
.dashboard-empty-state p{ margin:7px 0 14px; color:#6b7f71; }
.dashboard-empty-inline{
  color:#6b7f71;
  font-size:13px;
  padding:14px 0;
}
.dashboard-reserva-list{ display:grid; gap:9px; }
.dashboard-reserva-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid #e5ece7;
  border-radius:14px;
  background:#fff;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.dashboard-reserva-row:hover{
  transform:translateX(2px);
  border-color:#bcdcc7;
  box-shadow:0 7px 16px rgba(39,102,66,.08);
}
.dashboard-reserva-row.is-live{
  border-color:#79bf90;
  background:linear-gradient(90deg,#effaf1,#fff);
}
.dashboard-reserva-time strong,
.dashboard-reserva-time span{ display:block; }
.dashboard-reserva-time strong{ font-size:18px; color:#17643f; }
.dashboard-reserva-time span{ margin-top:2px; color:#7b897f; font-size:11px; }
.dashboard-reserva-info{ min-width:0; }
.dashboard-reserva-info strong,
.dashboard-reserva-info span{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dashboard-reserva-info strong{ color:#243a2e; font-size:14px; }
.dashboard-reserva-info span{ margin-top:3px; color:#78877d; font-size:12px; }
.dashboard-reserva-status{
  padding:6px 8px;
  border-radius:999px;
  color:#2c693f;
  background:#e7f6ea;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.dashboard-reserva-status.is-live{ color:#0b6b35; background:#d4f4dc; }
.dashboard-reserva-status.is-pending{ color:#84620c; background:#fff3cd; }
.cashflow-list{ display:grid; gap:14px; }
.cashflow-row-head{ display:flex; justify-content:space-between; gap:8px; color:#5d7063; font-size:13px; }
.cashflow-row-head strong{ color:#24452f; }
.cashflow-bar{
  height:8px;
  overflow:hidden;
  margin-top:7px;
  border-radius:999px;
  background:#ebf0ed;
}
.cashflow-bar span{
  display:block;
  height:100%;
  min-width:6px;
  border-radius:inherit;
  background:linear-gradient(90deg,#2a9b59,#78cf93);
}
.stock-alert-list,
.recent-sales-list{ display:grid; gap:0; }
.stock-alert-row,
.recent-sale-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 0;
  border-bottom:1px solid #edf1ee;
  color:#294231;
  font-size:13px;
}
.stock-alert-row:last-child,
.recent-sale-row:last-child{ border-bottom:0; }
.stock-alert-row strong{
  color:#9a5d0b;
  font-size:12px;
}
.stock-alert-row.is-empty strong{ color:#a32f2f; }
.recent-sale-row > div:first-child{ min-width:0; }
.recent-sale-row strong,
.recent-sale-row span{ display:block; }
.recent-sale-row > div:first-child > strong{ font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.recent-sale-row > div:first-child > span{ margin-top:3px; color:#78877d; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.recent-sale-value{ text-align:right; white-space:nowrap; }
.recent-sale-value strong{ color:#1e6b40; font-size:12px; }
.recent-sale-value span{ margin-top:3px; color:#7b897f; font-size:11px; }

/* Estoque do Bar */
.inventory-page{ min-height:100vh; }
.inventory-hero{ margin-bottom:18px; }
.inventory-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:18px;
}
.inventory-kpis article{
  padding:16px;
  border:1px solid #e2ebe5;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 20px rgba(28,54,43,.05);
}
.inventory-kpis span{ display:block; color:#6e7e73; font-size:12px; font-weight:700; }
.inventory-kpis strong{ display:block; margin-top:5px; color:#1b432d; font-size:25px; }
.inventory-kpis .inventory-kpi-alert{ background:#fff9e9; border-color:#f0e0b0; }
.inventory-kpis .inventory-kpi-alert strong{ color:#8b6114; }
.inventory-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.inventory-create-card h2{ margin-bottom:14px; color:#1b3426; }
.inventory-list-card{ overflow:hidden; }
.inventory-note{ color:#78867d; font-size:12px; text-align:right; }
.inventory-product-list{ display:grid; gap:10px; }
.inventory-product-row{
  padding:12px;
  border:1px solid #e3ece6;
  border-radius:14px;
  background:#fff;
}
.inventory-product-row.is-inactive{ opacity:.62; background:#f7f8f7; }
.inventory-product-main{
  display:grid;
  grid-template-columns:minmax(180px,1.5fr) minmax(115px,.6fr) minmax(105px,.5fr);
  gap:10px;
}
.inventory-product-main label,
.inventory-product-actions{ min-width:0; }
.inventory-product-main label span{ display:block; margin-bottom:5px; color:#77847b; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.inventory-product-main input{ padding:10px 11px; font-size:14px; }
.inventory-product-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:11px;
}
.inventory-switch{ display:flex; align-items:center; gap:7px; color:#4c5f52; font-size:12px; font-weight:700; }
.inventory-switch input{ width:auto; }
.inventory-product-actions .btn{ padding:10px 13px; font-size:13px; }

@media(max-width:1040px){
  .dashboard-kpis{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dashboard-main-grid{ grid-template-columns:1fr; }
  .dashboard-column-side{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-column-side > .dash-panel:last-child{ grid-column:span 2; }
}
@media(max-width:760px){
  .dashboard-page{ background:#f6f7f9; }
  .dashboard-welcome,
  .inventory-hero{
    display:block;
    padding:20px;
    border-radius:18px;
  }
  .dashboard-welcome h1,
  .inventory-hero h1{ font-size:25px; }
  .dashboard-welcome-actions{ justify-content:flex-start; margin-top:17px; }
  .dashboard-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .dashboard-kpi{ min-height:112px; padding:13px; border-radius:15px; }
  .dashboard-kpi strong{ font-size:20px; }
  .dashboard-kpi small{ font-size:10px; }
  .dash-panel{ padding:16px; border-radius:17px; }
  .dash-panel-header{ gap:10px; }
  .dash-panel-header h2{ font-size:18px; }
  .dash-panel-header p{ font-size:13px; }
  .dashboard-column-side{ grid-template-columns:1fr; }
  .dashboard-column-side > .dash-panel:last-child{ grid-column:auto; }
  .pos-products{ grid-template-columns:repeat(2,minmax(0,1fr)); max-height:265px; }
  .pos-product{ min-height:92px; padding:12px; }
  .pos-cart-footer{ grid-template-columns:1fr 1fr; }
  .pos-submit{ grid-column:span 2; }
  .pos-cart-item{ align-items:flex-start; }
  .pos-cart-item-controls{ flex-wrap:wrap; justify-content:flex-end; max-width:150px; }
  .dashboard-reserva-row{ grid-template-columns:47px minmax(0,1fr); }
  .dashboard-reserva-status{ grid-column:2; width:max-content; }
  .inventory-kpis{ grid-template-columns:1fr; }
  .inventory-layout{ grid-template-columns:1fr; }
  .inventory-product-main{ grid-template-columns:1fr 1fr; }
  .inventory-product-main label:first-child{ grid-column:span 2; }
  .inventory-product-actions{ align-items:flex-start; flex-direction:column; }
  .inventory-product-actions .btn{ width:100%; }
  .inventory-note{ display:none; }
}
@media(max-width:390px){
  .dashboard-kpis{ grid-template-columns:1fr; }
  .pos-products{ grid-template-columns:1fr; }
  .pos-cart-footer{ grid-template-columns:1fr; }
  .pos-submit{ grid-column:auto; }
  .inventory-product-main{ grid-template-columns:1fr; }
  .inventory-product-main label:first-child{ grid-column:auto; }
}

/* Clientes — diretório visual */
.clients-page{ background:#f4f7f5; }
.clients-section{ padding:28px 0 44px; }
.clients-alert{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding:13px 15px;
  border:1px solid #bee0c9;
  border-radius:14px;
  background:#effaf1;
  color:#1f6a3e;
  box-shadow:0 7px 18px rgba(28,96,58,.06);
  font-size:14px;
  font-weight:800;
}
.clients-alert.is-error{ border-color:#f0c5c5; background:#fff5f5; color:#a63434; }
.clients-alert-icon{
  width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:currentColor; color:#fff; font-size:13px; line-height:1;
}
.clients-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:29px 30px;
  border:1px solid #cfe0d5;
  border-radius:22px;
  background:linear-gradient(120deg,#effaf2 0%,#ffffff 54%,#f8fbf9 100%);
  box-shadow:0 12px 27px rgba(26,73,46,.08);
}
.clients-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#2b8050;
  font-size:11px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.clients-hero h1{ margin:0; color:#163524; font-size:31px; letter-spacing:-.045em; }
.clients-hero p{ max-width:650px; margin:9px 0 0; color:#64786b; line-height:1.55; }
.clients-hero-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.clients-action-light{ color:#2d6c45; background:#fff; border:1px solid #c7ddce; }
.clients-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
  margin:18px 0;
}
.clients-kpi{
  min-height:126px;
  padding:17px;
  border:1px solid #e0ebe4;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 22px rgba(24,62,42,.05);
}
.clients-kpi span{ display:block; color:#6f7f74; font-size:12px; font-weight:800; }
.clients-kpi strong{ display:block; margin:8px 0 5px; color:#1d492f; font-size:29px; letter-spacing:-.045em; }
.clients-kpi small{ display:block; color:#829086; font-size:11px; line-height:1.35; }
.clients-kpi-highlight{ border-color:#bcdcc7; background:linear-gradient(145deg,#effaf1,#fff); }
.clients-kpi-highlight strong{ color:#187145; }
.clients-kpi-warning{ border-color:#f0ddaf; background:#fffaf0; }
.clients-kpi-warning strong{ color:#956114; }
.clients-directory-card{
  padding:20px;
  border:1px solid #dfeae3;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 24px rgba(25,63,43,.05);
}
.clients-directory-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:15px; }
.clients-directory-head h2{ margin:0; color:#1b3928; font-size:22px; letter-spacing:-.03em; }
.clients-directory-head p{ margin:5px 0 0; color:#748279; font-size:13px; }
.clients-result-count{
  flex:0 0 auto;
  padding:8px 10px;
  border-radius:999px;
  background:#eef7f0;
  color:#287447;
  font-size:12px;
  font-weight:900;
}
.clients-toolbar{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto;
  align-items:center;
  gap:14px;
  margin:20px 0 18px;
  padding:12px;
  border:1px solid #e5eee7;
  border-radius:16px;
  background:#f8fbf9;
}
.clients-search{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:0 12px;
  border:1px solid #d8e6dc;
  border-radius:12px;
  background:#fff;
  color:#397550;
}
.clients-search > span{ font-size:21px; line-height:1; transform:rotate(-18deg); }
.clients-search input{ width:100%; padding:12px 0; border:0; outline:0; background:transparent; color:#233a2b; font:inherit; }
.clients-search input::placeholder{ color:#9aa69f; }
.clients-filters{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.clients-filter{
  padding:8px 10px;
  border:1px solid #d7e5da;
  border-radius:999px;
  background:#fff;
  color:#64756a;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}
.clients-filter:hover{ border-color:#8bbba0; color:#22623d; }
.clients-filter.is-active{ border-color:#237345; background:#237345; color:#fff; }
.clients-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.client-profile-card{
  position:relative;
  overflow:hidden;
  padding:17px;
  border:1px solid #e2ebe5;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 18px rgba(25,62,42,.035);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.client-profile-card:hover{ transform:translateY(-2px); border-color:#bad8c4; box-shadow:0 13px 25px rgba(26,73,46,.10); }
.client-profile-card[hidden]{ display:none!important; }
.client-profile-head{ display:grid; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:11px; }
.client-avatar{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  border-radius:14px;
  background:linear-gradient(135deg,#d6f0dc,#9bd3af);
  color:#155532;
  font-size:14px;
  font-weight:900;
}
.client-profile-name{ min-width:0; }
.client-name-line{ display:flex; align-items:center; gap:7px; min-width:0; }
.client-name-line h3{ overflow:hidden; margin:0; color:#213b2c; font-size:16px; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap; }
.client-profile-name > span{ display:block; margin-top:4px; color:#87948c; font-size:11px; }
.client-live-dot{ width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#25a555; box-shadow:0 0 0 4px rgba(37,165,85,.13); }
.client-type-badge{
  max-width:112px;
  overflow:hidden;
  padding:6px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:900;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.client-type-badge.is-comum{ background:#edf1ee; color:#53645a; }
.client-type-badge.is-professor{ background:#e9f1ff; color:#315d98; }
.client-type-badge.is-mensalista{ background:#e7f8ec; color:#237244; }
.client-badges{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;}
.client-badges .client-type-badge{max-width:104px;}
.client-contact-lines{ display:grid; gap:6px; margin:16px 0 13px; }
.client-contact-item{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  color:#547061;
  font-size:12px;
  text-decoration:none;
}
.client-contact-item:hover{ color:#1c7040; text-decoration:underline; }
.client-contact-item > span:last-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.client-contact-item.is-disabled{ pointer-events:none; opacity:.55; }
.client-meta-grid{ display:grid; grid-template-columns:1fr 1.35fr; gap:8px; }
.client-meta-grid > div{
  min-height:61px;
  padding:10px;
  border:1px solid #edf1ee;
  border-radius:12px;
  background:#fafcfb;
}
.client-meta-grid span,
.client-activity-strip span,
.client-fields label > span{
  display:block;
  color:#859188;
  font-size:10px;
  font-weight:900;
  letter-spacing:.045em;
  text-transform:uppercase;
}
.client-meta-grid strong{ display:block; margin-top:5px; color:#334b3d; font-size:12px; }
.client-meta-grid small{ display:block; margin-top:4px; color:#8c978f; font-size:10px; }
.client-ok{ color:#207343!important; }
.client-pending{ color:#a16a12!important; }
.client-activity-strip{
  display:grid;
  grid-template-columns:.66fr .8fr 1.65fr;
  gap:10px;
  margin-top:12px;
  padding:12px 0;
  border-top:1px solid #edf1ee;
  border-bottom:1px solid #edf1ee;
}
.client-activity-strip > div{ min-width:0; }
.client-activity-strip strong{ display:block; margin-top:5px; color:#294632; font-size:13px; }
.client-next-booking strong{ overflow:hidden; color:#287446; text-overflow:ellipsis; white-space:nowrap; }
.client-management{ margin-top:13px; }
.client-management-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:11px; }
.client-management-head strong{ color:#2b4936; font-size:13px; }
.client-management-head span{ color:#8a968e; font-size:10px; text-align:right; }
.client-fields{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.client-fields label{ min-width:0; }
.client-fields label > span{ margin-bottom:5px; }
.client-fields select,
.client-fields input[type="date"]{
  width:100%;
  box-sizing:border-box;
  min-height:39px;
  padding:8px 9px;
  border:1px solid #d7e4db;
  border-radius:10px;
  background:#fff;
  color:#304737;
  font:inherit;
  font-size:12px;
}
.client-fields select:focus,
.client-fields input[type="date"]:focus{ outline:2px solid rgba(38,129,73,.18); border-color:#67a783; }
.client-date-field small{ display:block; min-height:13px; margin-top:4px; color:#909c94; font-size:10px; }
.client-management-footer{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; }
.client-benefit-switches{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.client-switch{ display:inline-flex; align-items:center; gap:8px; color:#52675a; font-size:12px; font-weight:800; cursor:pointer; }
.client-switch small{display:block;margin-top:1px;color:#89968e;font-size:10px;font-weight:700;line-height:1.25;}
.client-professor-switch{color:#315d98;}
.client-professor-switch input:checked + .client-switch-track{background:#4b84cc;}
.client-switch input{ position:absolute; opacity:0; pointer-events:none; }
.client-switch-track{
  position:relative;
  width:34px;
  height:20px;
  border-radius:999px;
  background:#d4ded7;
  transition:.18s ease;
}
.client-switch-track::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:.18s ease;
}
.client-switch input:checked + .client-switch-track{ background:#2c9b55; }
.client-switch input:checked + .client-switch-track::after{ transform:translateX(14px); }
.client-save{ padding:10px 12px; font-size:12px; white-space:nowrap; }
.clients-empty-filter{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:180px;
  padding:20px;
  border:1px dashed #c5dacb;
  border-radius:16px;
  background:#f7fbf8;
  color:#355840;
  text-align:center;
}
.clients-empty-filter strong{ font-size:15px; }
.clients-empty-filter span{ margin-top:6px; color:#7b897f; font-size:13px; }
@media(max-width:1040px){
  .clients-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clients-grid{ grid-template-columns:1fr; }
}
@media(max-width:760px){
  .clients-section{ padding-top:18px; }
  .clients-hero{ display:block; padding:22px; border-radius:18px; }
  .clients-hero h1{ font-size:26px; }
  .clients-hero-actions{ margin-top:17px; }
  .clients-kpis{ gap:10px; }
  .clients-kpi{ min-height:110px; padding:14px; }
  .clients-kpi strong{ font-size:24px; }
  .clients-directory-card{ padding:15px; border-radius:17px; }
  .clients-directory-head{ gap:10px; }
  .clients-directory-head h2{ font-size:19px; }
  .clients-directory-head p{ font-size:12px; }
  .clients-result-count{ padding:7px 8px; font-size:11px; }
  .clients-toolbar{ grid-template-columns:1fr; padding:10px; }
  .clients-filters{ justify-content:flex-start; overflow:auto; flex-wrap:nowrap; padding-bottom:1px; }
  .clients-filter{ flex:0 0 auto; }
  .client-profile-card{ padding:14px; }
}
@media(max-width:430px){
  .clients-kpis{ grid-template-columns:1fr; }
  .clients-directory-head{ display:block; }
  .clients-result-count{ display:inline-block; margin-top:10px; }
  .client-profile-head{ grid-template-columns:42px minmax(0,1fr); }
  .client-type-badge{ grid-column:2; width:max-content; }
  .client-meta-grid{ grid-template-columns:1fr; }
  .client-fields{ grid-template-columns:1fr; }
  .client-management-footer{ align-items:flex-start; flex-direction:column; }
  .client-save{ width:100%; }
}

/* =========================================================
   MENSALISTAS — visão operacional de horários fixos
   ========================================================= */
.members-page{ background:#f5f8f6; }
.members-section{ padding-top:26px; }
.members-alert{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  padding:13px 15px;
  border:1px solid #cce4d2;
  border-radius:14px;
  background:#f0fbf3;
  color:#246b40;
  font-size:13px;
  font-weight:800;
}
.members-alert.is-error{ border-color:#f1c7c3; background:#fff4f3; color:#a33e38; }
.members-alert-icon{ display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; border-radius:50%; background:currentColor; color:#fff; font-size:13px; }
.members-alert a{ margin-left:auto; color:inherit; font-size:12px; text-decoration:underline; }
.members-hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  padding:27px 29px;
  border:1px solid #d6e9dc;
  border-radius:22px;
  background:linear-gradient(135deg,#edf8f0 0%,#fff 61%,#f6fcf7 100%);
  box-shadow:0 11px 28px rgba(27,77,47,.055);
}
.members-eyebrow{ display:block; color:#31714a; font-size:11px; font-weight:900; letter-spacing:.075em; text-transform:uppercase; }
.members-eyebrow-small{ margin-bottom:6px; font-size:10px; }
.members-hero h1{ margin:7px 0 0; color:#173d27; font-size:32px; line-height:1.08; letter-spacing:-.052em; }
.members-hero p{ max-width:670px; margin:10px 0 0; color:#647b6b; line-height:1.55; }
.members-hero-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.members-action-light{ border:1px solid #c6e1cd; background:#fff; color:#2c6b45; }
.members-kpis{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin:18px 0; }
.members-kpi{
  min-height:128px;
  padding:17px;
  border:1px solid #e0ebe3;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 21px rgba(25,63,43,.045);
}
.members-kpi span{ display:block; color:#738177; font-size:12px; font-weight:900; }
.members-kpi strong{ display:block; margin:8px 0 5px; color:#1d492f; font-size:27px; letter-spacing:-.045em; }
.members-kpi small{ display:block; color:#829087; font-size:11px; line-height:1.38; }
.members-kpi-highlight{ border-color:#bddfc8; background:linear-gradient(145deg,#eefaf1,#fff); }
.members-kpi-highlight strong{ color:#187044; }
.members-kpi-warning{ border-color:#efdfb8; background:#fffaf0; }
.members-kpi-warning strong{ color:#a16812; }
.members-workspace{ display:grid; grid-template-columns:minmax(300px,.78fr) minmax(0,1.55fr); align-items:start; gap:18px; }
.members-form-card,
.members-directory-card{ border:1px solid #dce9e0; border-radius:20px; background:#fff; box-shadow:0 10px 25px rgba(27,69,45,.05); }
.members-form-card{ position:sticky; top:18px; padding:19px; }
.members-form-head{ display:flex; align-items:flex-start; gap:11px; padding-bottom:16px; border-bottom:1px solid #eaf0ec; }
.members-form-icon{ display:flex; align-items:center; justify-content:center; width:34px; height:34px; flex:0 0 34px; border-radius:12px; background:#e1f4e6; color:#207442; font-size:23px; font-weight:400; }
.members-form-head h2{ margin:0; color:#244331; font-size:18px; letter-spacing:-.025em; }
.members-form-head p{ margin:4px 0 0; color:#839087; font-size:11px; line-height:1.42; }
.members-form{ display:grid; gap:11px; margin-top:16px; }
.members-form label{ display:block; min-width:0; }
.members-form label > span{ display:block; margin-bottom:5px; color:#738179; font-size:10px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.members-form input,
.members-form select{ width:100%; min-height:41px; box-sizing:border-box; padding:9px 10px; border:1px solid #d9e5dd; border-radius:10px; background:#fff; color:#2d4636; font:inherit; font-size:12px; }
.members-form input:focus,
.members-form select:focus{ outline:2px solid rgba(38,129,73,.17); border-color:#6eaf89; }
.members-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.members-form-grid-time{ grid-template-columns:1fr 1fr; }
.members-money-input{ display:flex; align-items:center; overflow:hidden; border:1px solid #d9e5dd; border-radius:10px; background:#fff; }
.members-money-input:focus-within{ outline:2px solid rgba(38,129,73,.17); border-color:#6eaf89; }
.members-money-input b{ padding:0 0 0 11px; color:#267045; font-size:12px; }
.members-money-input input{ min-width:0; border:0; outline:0; }
.members-save{ width:100%; margin-top:2px; padding:12px; }
.members-form-note{ margin-top:15px; padding:12px; border:1px solid #dceee1; border-radius:12px; background:#f6fbf7; }
.members-form-note strong{ display:block; color:#2b5e3d; font-size:11px; }
.members-form-note span{ display:block; margin-top:5px; color:#74857a; font-size:11px; line-height:1.45; }
.members-directory-card{ min-width:0; padding:20px; }
.members-directory-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.members-directory-head h2{ margin:0; color:#1b3928; font-size:22px; letter-spacing:-.035em; }
.members-directory-head p{ margin:5px 0 0; color:#748279; font-size:13px; line-height:1.45; }
.members-result-count{ flex:0 0 auto; padding:8px 10px; border-radius:999px; background:#edf8f0; color:#287347; font-size:12px; font-weight:900; }
.members-toolbar{ display:grid; grid-template-columns:minmax(220px,1fr) auto; align-items:center; gap:13px; margin:19px 0 17px; padding:11px; border:1px solid #e5eee7; border-radius:16px; background:#f8fbf9; }
.members-search{ display:flex; align-items:center; gap:8px; min-width:0; padding:0 12px; border:1px solid #d8e6dc; border-radius:12px; background:#fff; color:#397550; }
.members-search > span{ font-size:21px; line-height:1; transform:rotate(-18deg); }
.members-search input{ width:100%; min-width:0; padding:12px 0; border:0; outline:0; background:transparent; color:#233a2b; font:inherit; }
.members-search input::placeholder{ color:#9aa69f; }
.members-filters{ display:flex; flex-wrap:wrap; justify-content:flex-end; gap:7px; }
.members-filter{ padding:8px 10px; border:1px solid #d7e5da; border-radius:999px; background:#fff; color:#627368; font:inherit; font-size:12px; font-weight:800; cursor:pointer; transition:.18s ease; }
.members-filter:hover{ border-color:#8bbba0; color:#22623d; }
.members-filter.is-active{ border-color:#237345; background:#237345; color:#fff; }
.members-slots{ display:grid; gap:12px; }
.member-slot-card{ position:relative; overflow:hidden; padding:16px; border:1px solid #e1ebe4; border-radius:17px; background:#fff; box-shadow:0 6px 15px rgba(25,62,42,.03); transition:.18s ease; }
.member-slot-card:hover{ transform:translateY(-1px); border-color:#bdd9c5; box-shadow:0 12px 24px rgba(26,73,46,.085); }
.member-slot-card[hidden]{ display:none!important; }
.member-slot-card.is-waiting{ border-color:#eddcae; background:linear-gradient(120deg,#fffdfa,#fff); }
.member-slot-card.is-expired,
.member-slot-card.is-cancelled{ opacity:.76; background:#fcfdfc; }
.member-slot-head{ display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:10px; }
.member-avatar{ display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:13px; background:linear-gradient(135deg,#d6f0dc,#9cd4b0); color:#155532; font-size:13px; font-weight:900; }
.member-slot-client{ min-width:0; }
.member-name-line{ display:flex; align-items:center; gap:7px; min-width:0; }
.member-name-line h3{ overflow:hidden; margin:0; color:#233d2c; font-size:15px; letter-spacing:-.015em; text-overflow:ellipsis; white-space:nowrap; }
.member-slot-client > span{ display:block; overflow:hidden; margin-top:4px; color:#85928a; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.member-live-dot{ width:8px; height:8px; flex:0 0 auto; border-radius:50%; background:#27a55a; box-shadow:0 0 0 4px rgba(37,165,85,.13); }
.member-status-badge{ max-width:126px; overflow:hidden; padding:6px 8px; border-radius:999px; font-size:10px; font-weight:900; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.member-status-badge.is-active{ background:#e7f8ec; color:#237244; }
.member-status-badge.is-waiting{ background:#fff2d3; color:#986613; }
.member-status-badge.is-expired{ background:#edf0ee; color:#5c6c61; }
.member-status-badge.is-cancelled{ background:#f5e9e8; color:#a05850; }
.member-schedule-band{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin:15px 0 12px; padding:12px; border:1px solid #e6efe8; border-radius:13px; background:#f7fbf8; }
.member-schedule-band span{ display:block; color:#85928a; font-size:10px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.member-schedule-band strong{ display:block; margin-top:4px; color:#29533a; font-size:13px; }
.member-schedule-time{ flex:0 0 auto; color:#197043; font-size:15px; font-weight:900; letter-spacing:-.025em; }
.member-schedule-time i{ margin:0 4px; color:#8aa893; font-style:normal; }
.member-slot-meta{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px; }
.member-slot-meta > div{ min-height:58px; padding:10px; border:1px solid #edf1ee; border-radius:11px; background:#fff; }
.member-slot-meta span,
.member-next-row span{ display:block; color:#859188; font-size:10px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.member-slot-meta strong{ display:block; overflow:hidden; margin-top:5px; color:#334b3d; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.member-text-warning{ color:#a36b12!important; }
.member-next-row{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid #edf1ee; }
.member-next-row strong{ display:block; margin-top:5px; color:#28523a; font-size:12px; }
.member-next-actions{ display:flex; align-items:center; gap:10px; }
.member-next-actions form{ margin:0; }
.member-link,
.member-remove{ padding:0; border:0; background:transparent; color:#297448; font:inherit; font-size:11px; font-weight:900; text-decoration:none; cursor:pointer; }
.member-link:hover,
.member-remove:hover{ text-decoration:underline; }
.member-remove{ color:#a95a53; }
.members-empty-filter{ display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:180px; padding:20px; border:1px dashed #c5dacb; border-radius:16px; background:#f7fbf8; color:#355840; text-align:center; }
.members-empty-filter strong{ font-size:15px; }
.members-empty-filter span{ margin-top:6px; color:#7b897f; font-size:13px; }
@media(max-width:1110px){
  .members-workspace{ grid-template-columns:1fr; }
  .members-form-card{ position:static; }
  .members-form{ grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }
  .members-form > label:first-of-type,
  .members-form > label:nth-of-type(4),
  .members-form > label:nth-of-type(6),
  .members-form > .members-form-note,
  .members-form > .members-save{ grid-column:span 2; }
}
@media(max-width:900px){
  .members-kpis{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .members-form{ grid-template-columns:1fr; }
  .members-form > label:first-of-type,
  .members-form > label:nth-of-type(4),
  .members-form > label:nth-of-type(6),
  .members-form > .members-form-note,
  .members-form > .members-save{ grid-column:auto; }
}
@media(max-width:760px){
  .members-section{ padding-top:18px; }
  .members-hero{ display:block; padding:22px; border-radius:18px; }
  .members-hero h1{ font-size:26px; }
  .members-hero-actions{ margin-top:17px; }
  .members-kpis{ gap:10px; }
  .members-kpi{ min-height:110px; padding:14px; }
  .members-kpi strong{ font-size:23px; }
  .members-form-card,
  .members-directory-card{ padding:15px; border-radius:17px; }
  .members-toolbar{ grid-template-columns:1fr; padding:10px; }
  .members-filters{ justify-content:flex-start; overflow:auto; flex-wrap:nowrap; padding-bottom:1px; }
  .members-filter{ flex:0 0 auto; }
  .members-directory-head{ gap:10px; }
  .members-directory-head h2{ font-size:19px; }
  .member-slot-card{ padding:14px; }
}
@media(max-width:480px){
  .members-alert{ align-items:flex-start; }
  .members-alert a{ margin:2px 0 0; }
  .members-kpis{ grid-template-columns:1fr; }
  .members-directory-head{ display:block; }
  .members-result-count{ display:inline-block; margin-top:10px; }
  .members-form-grid{ grid-template-columns:1fr; }
  .member-slot-head{ grid-template-columns:42px minmax(0,1fr); }
  .member-status-badge{ grid-column:2; width:max-content; }
  .member-slot-meta{ grid-template-columns:1fr; }
  .member-next-row{ align-items:flex-start; flex-direction:column; }
}


/* =========================================================
   PLANOS E AULAS — catálogo e vendas
   ========================================================= */
/* Garante a organização da tela mesmo com cache antigo do CSS. */
.plans-page{background:#f5f8f6}.plans-section{padding-top:26px}.plans-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding:27px 29px;border:1px solid #d6e9dc;border-radius:22px;background:linear-gradient(135deg,#edf8f0 0%,#fff 61%,#f6fcf7 100%);box-shadow:0 11px 28px rgba(27,77,47,.055)}.plans-hero h1{margin:7px 0 0;color:#173d27;font-size:32px;line-height:1.08;letter-spacing:-.052em}.plans-hero p{max-width:670px;margin:10px 0 0;color:#647b6b;line-height:1.55}.plans-eyebrow{display:block;color:#31714a;font-size:11px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.plans-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.plans-action-light{border:1px solid #c6e1cd;background:#fff;color:#2c6b45}.plans-alert{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:13px 15px;border:1px solid #cce4d2;border-radius:14px;background:#f0fbf3;color:#246b40;font-size:13px;font-weight:800}.plans-alert.is-error{border-color:#f1c7c3;background:#fff4f3;color:#a33e38}.plans-alert-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:currentColor;color:#fff;font-size:13px}.plans-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:18px 0}.plans-kpi{min-height:128px;padding:17px;border:1px solid #e0ebe3;border-radius:17px;background:#fff;box-shadow:0 8px 21px rgba(25,63,43,.045)}.plans-kpi span{display:block;color:#738177;font-size:12px;font-weight:900}.plans-kpi strong{display:block;margin:8px 0 5px;color:#1d492f;font-size:27px;letter-spacing:-.045em}.plans-kpi small{display:block;color:#829087;font-size:11px;line-height:1.38}.plans-kpi.highlight{border-color:#bddfc8;background:linear-gradient(145deg,#eefaf1,#fff)}.plans-kpi.warning{border-color:#efdfb8;background:#fffaf0}.plans-kpi.warning strong{color:#a16812}.plans-workspace{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.55fr);align-items:start;gap:18px}.plans-sale-card,.plans-catalog-card,.plans-create-card,.plans-history-card{border:1px solid #dce9e0;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(27,69,45,.05)}.plans-sale-card{position:sticky;top:18px;padding:19px}.plans-card-head{display:flex;align-items:flex-start;gap:11px;padding-bottom:16px;border-bottom:1px solid #eaf0ec}.plans-card-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:#e1f4e6;color:#207442;font-size:21px}.plans-card-head h2{margin:0;color:#244331;font-size:18px;letter-spacing:-.025em}.plans-card-head p{margin:4px 0 0;color:#839087;font-size:11px;line-height:1.42}.plans-form{display:grid;gap:11px;margin-top:16px}.plans-form label{display:block;min-width:0}.plans-form label>span{display:block;margin-bottom:5px;color:#738179;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.plans-form input,.plans-form select,.plans-form textarea,.plan-edit-grid input,.plan-edit-grid select{width:100%;min-height:41px;box-sizing:border-box;padding:9px 10px;border:1px solid #d9e5dd;border-radius:10px;background:#fff;color:#2d4636;font:inherit;font-size:12px}.plans-form textarea{min-height:82px;resize:vertical}.plans-form input:focus,.plans-form select:focus,.plans-form textarea:focus,.plan-edit-grid input:focus,.plan-edit-grid select:focus{outline:2px solid rgba(38,129,73,.17);border-color:#6eaf89}.plans-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.plans-money-input{display:flex;align-items:center;overflow:hidden;border:1px solid #d9e5dd;border-radius:10px;background:#fff}.plans-money-input:focus-within{outline:2px solid rgba(38,129,73,.17);border-color:#6eaf89}.plans-money-input b{padding:0 0 0 11px;color:#267045;font-size:12px}.plans-money-input input{min-width:0;border:0;outline:0}.plans-save{width:100%;margin-top:2px;padding:12px}.plans-sale-note{margin-top:15px;padding:12px;border:1px solid #dceee1;border-radius:12px;background:#f6fbf7}.plans-sale-note strong{display:block;color:#2b5e3d;font-size:11px}.plans-sale-note span{display:block;margin-top:5px;color:#74857a;font-size:11px;line-height:1.45}.plans-catalog-card{min-width:0;padding:20px}.plans-directory-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.plans-directory-head h2{margin:0;color:#1b3928;font-size:22px;letter-spacing:-.035em}.plans-directory-head p{margin:5px 0 0;color:#748279;font-size:13px;line-height:1.45}.plans-result-count{flex:0 0 auto;padding:8px 10px;border-radius:999px;background:#edf8f0;color:#287347;font-size:12px;font-weight:900}.plans-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:13px;margin:19px 0 17px;padding:11px;border:1px solid #e5eee7;border-radius:16px;background:#f8fbf9}.plans-search{display:flex;align-items:center;gap:8px;min-width:0;padding:0 12px;border:1px solid #d8e6dc;border-radius:12px;background:#fff;color:#397550}.plans-search>span{font-size:20px;line-height:1}.plans-search input{width:100%;min-width:0;padding:12px 0;border:0;outline:0;background:transparent;color:#233a2b;font:inherit}.plans-search input::placeholder{color:#9aa69f}.plans-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.plans-filter{padding:8px 10px;border:1px solid #d7e5da;border-radius:999px;background:#fff;color:#627368;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.plans-filter:hover{border-color:#8bbba0;color:#22623d}.plans-filter.is-active{border-color:#237345;background:#237345;color:#fff}.plans-list{display:grid;gap:12px}.plan-card{position:relative;overflow:hidden;padding:16px;border:1px solid #e1ebe4;border-radius:17px;background:#fff;box-shadow:0 6px 15px rgba(25,62,42,.03);transition:.18s ease}.plan-card:hover{transform:translateY(-1px);border-color:#bdd9c5;box-shadow:0 12px 24px rgba(26,73,46,.085)}.plan-card[hidden]{display:none!important}.plan-card.is-inactive{opacity:.68;background:#fcfdfc}.plan-card-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}.plan-avatar{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#d6f0dc,#9cd4b0);color:#155532;font-size:13px;font-weight:900}.plan-card-title{min-width:0}.plan-card-title h3{overflow:hidden;margin:0;color:#233d2c;font-size:15px;letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap}.plan-card-title span{display:block;overflow:hidden;margin-top:4px;color:#85928a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.plan-status-badge{padding:6px 8px;border-radius:999px;font-size:10px;font-weight:900;text-align:center;white-space:nowrap}.plan-status-badge.is-active{background:#e7f8ec;color:#237244}.plan-status-badge.is-inactive{background:#edf0ee;color:#5c6c61}.plan-summary-band{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 12px;padding:12px;border:1px solid #e6efe8;border-radius:13px;background:#f7fbf8}.plan-summary-band span{display:block;color:#85928a;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.plan-summary-band strong{display:block;margin-top:4px;color:#29533a;font-size:13px}.plan-price{flex:0 0 auto;color:#197043;font-size:20px;font-weight:900;letter-spacing:-.045em}.plan-price small{display:block;margin-top:3px;color:#7c8d82;font-size:10px;font-weight:800;letter-spacing:0;text-align:right}.plan-tags{display:flex;flex-wrap:wrap;gap:7px}.plan-chip{padding:6px 8px;border-radius:999px;background:#eef5f0;color:#447353;font-size:10px;font-weight:900}.plan-chip.single{background:#f4ecff;color:#7253a2}.plan-chip.monthly{background:#e7f8ec;color:#237244}.plan-chip.quarterly{background:#e9f1ff;color:#2e5b9d}.plan-chip.bundle{background:#fff4dc;color:#946312}.plan-card-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding-top:12px;border-top:1px solid #edf1ee}.plan-edit-toggle{padding:0;border:0;background:transparent;color:#297448;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.plan-edit-toggle:hover{text-decoration:underline}.plan-edit{display:none;margin-top:14px;padding:14px;border:1px solid #e0ece3;border-radius:14px;background:#fbfdfb}.plan-card.is-editing .plan-edit{display:block}.plan-card.is-editing .plan-edit-toggle{color:#a45d56}.plan-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.plan-edit-grid .full{grid-column:1/-1}.plan-edit-grid label{display:block}.plan-edit-grid label>span{display:block;margin-bottom:5px;color:#738179;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.plan-edit-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:11px}.plan-switch{display:inline-flex;align-items:center;gap:8px;color:#52675a;font-size:12px;font-weight:800;cursor:pointer}.plan-switch input{position:absolute;opacity:0;pointer-events:none}.plan-switch-track{position:relative;width:34px;height:20px;border-radius:999px;background:#d4ded7;transition:.18s ease}.plan-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s ease}.plan-switch input:checked+.plan-switch-track{background:#2c9b55}.plan-switch input:checked+.plan-switch-track::after{transform:translateX(14px)}.plans-catalog-save{display:flex;justify-content:flex-end;margin-top:14px}.plans-create-card{margin-top:18px;padding:20px}.plans-create-card .plans-card-head{margin-bottom:16px}.plans-create-form{display:grid;grid-template-columns:1.1fr 1.7fr 1fr 1fr 1fr auto;align-items:end;gap:10px}.plans-create-form .plans-create-switch{padding-bottom:9px}.plans-history-card{margin-top:18px;padding:20px}.plans-history-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.plans-history-head h2{margin:0;color:#1b3928;font-size:22px;letter-spacing:-.035em}.plans-history-head p{margin:5px 0 0;color:#748279;font-size:13px;line-height:1.45}.plans-sales{display:grid;gap:10px;margin-top:18px}.plan-sale-row{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(210px,1.3fr) .75fr .75fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e5eee7;border-radius:14px;background:#fff}.plan-sale-row.is-cancelled{opacity:.63;background:#fcfdfc}.plan-sale-client strong,.plan-sale-plan strong{display:block;overflow:hidden;color:#284333;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.plan-sale-client span,.plan-sale-plan span{display:block;margin-top:4px;color:#849188;font-size:11px}.plan-pay-badge{display:inline-flex;width:max-content;padding:6px 8px;border-radius:999px;font-size:10px;font-weight:900}.plan-pay-badge.pix{background:#e6f8f3;color:#187561}.plan-pay-badge.cash{background:#fff4dc;color:#976413}.plan-pay-badge.card{background:#e9f1ff;color:#2e5b9d}.plan-pay-badge.gift{background:#f4ecff;color:#7253a2}.plan-pay-badge.neutral{background:#edf0ee;color:#5c6c61}.plan-sale-value{text-align:right}.plan-sale-value strong{display:block;color:#246840;font-size:14px}.plan-sale-value span{display:block;margin-top:4px;color:#859188;font-size:10px;font-weight:900;text-transform:uppercase}.plan-cancel{padding:7px 9px;border:1px solid #f0d2cf;border-radius:8px;background:#fff7f6;color:#a15a54;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.plan-cancel:hover{background:#fff0ee}.plans-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;padding:18px;border:1px dashed #c5dacb;border-radius:16px;background:#f7fbf8;color:#355840;text-align:center}.plans-empty strong{font-size:15px}.plans-empty span{margin-top:6px;color:#7b897f;font-size:13px}@media(max-width:1080px){.plans-workspace{grid-template-columns:1fr}.plans-sale-card{position:static}.plans-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.plans-create-form .full-mobile{grid-column:span 2}.plans-create-form .plans-create-switch{padding-bottom:0}.plans-create-form button{grid-column:span 2}}@media(max-width:900px){.plans-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-sale-row{grid-template-columns:1fr 1fr}.plan-sale-row form{justify-self:start}.plan-sale-value{text-align:left}}@media(max-width:760px){.plans-section{padding-top:18px}.plans-hero{display:block;padding:22px;border-radius:18px}.plans-hero h1{font-size:26px}.plans-hero-actions{margin-top:17px}.plans-kpis{gap:10px}.plans-kpi{min-height:110px;padding:14px}.plans-kpi strong{font-size:23px}.plans-sale-card,.plans-catalog-card,.plans-create-card,.plans-history-card{padding:15px;border-radius:17px}.plans-toolbar{grid-template-columns:1fr;padding:10px}.plans-filters{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:1px}.plans-filter{flex:0 0 auto}.plans-directory-head,.plans-history-head{gap:10px}.plans-directory-head h2,.plans-history-head h2{font-size:19px}.plan-card{padding:14px}.plans-create-form{grid-template-columns:1fr}.plans-create-form .full-mobile,.plans-create-form button{grid-column:auto}.plans-create-form button{width:100%}}@media(max-width:480px){.plans-kpis{grid-template-columns:1fr}.plans-directory-head,.plans-history-head{display:block}.plans-result-count{display:inline-block;margin-top:10px}.plans-form-grid,.plan-edit-grid{grid-template-columns:1fr}.plan-edit-grid .full{grid-column:auto}.plan-card-head{grid-template-columns:42px minmax(0,1fr)}.plan-status-badge{grid-column:2;width:max-content}.plan-summary-band{align-items:flex-start;flex-direction:column}.plan-price small{text-align:left}.plan-edit-bottom{align-items:flex-start;flex-direction:column}.plan-sale-row{grid-template-columns:1fr}.plan-sale-value{text-align:left}}

/* =========================================================
   Estoque do Bar — catálogo visual
   ========================================================= */
.bar-page-redesign{min-height:100vh;background:linear-gradient(180deg,#f6faf8 0,#fff 380px);}
.bar-page-redesign .container{max-width:1280px;}
.bar-hero-redesign{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:24px;align-items:stretch;padding:28px 0 22px;}
.bar-hero-copy{padding:24px 0 10px;}
.bar-page-eyebrow{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px;color:#32734b;font-size:11px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;}
.bar-page-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#4daa66;box-shadow:0 0 0 4px rgba(77,170,102,.14);}
.bar-hero-copy h1{margin:0;color:#173526;font-size:clamp(29px,4vw,44px);line-height:1.06;letter-spacing:-.045em;max-width:680px;}
.bar-hero-copy p{max-width:670px;margin:14px 0 0;color:#63756a;font-size:15px;line-height:1.65;}
.bar-hero-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;}
.bar-hero-link{display:inline-flex;gap:8px;align-items:center;color:#246541;font-size:13px;font-weight:800;text-decoration:none;}
.bar-hero-link:hover{text-decoration:underline;}
.bar-hero-stock-card{position:relative;overflow:hidden;border:1px solid rgba(42,118,76,.18);border-radius:22px;padding:22px;background:linear-gradient(145deg,#184d32,#2d8751);color:#fff;box-shadow:0 14px 30px rgba(27,94,54,.15);}
.bar-hero-stock-card:after{content:"";position:absolute;width:170px;height:170px;border:28px solid rgba(255,255,255,.07);border-radius:50%;right:-82px;bottom:-88px;}
.bar-hero-stock-top{position:relative;z-index:1;display:flex;justify-content:space-between;gap:10px;color:rgba(255,255,255,.78);font-size:12px;font-weight:700;}
.bar-hero-stock-top strong{color:#fff;font-size:12px;}
.bar-hero-stock-number{position:relative;z-index:1;margin-top:20px;font-size:46px;font-weight:900;line-height:1;letter-spacing:-.06em;}
.bar-hero-stock-caption{position:relative;z-index:1;margin-top:5px;color:rgba(255,255,255,.75);font-size:12px;}
.bar-hero-stock-meter{position:relative;z-index:1;height:8px;margin-top:20px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.18);}
.bar-hero-stock-meter i{display:block;height:100%;border-radius:inherit;background:#baf3ce;min-width:8px;}
.bar-hero-stock-card small{position:relative;z-index:1;display:block;margin-top:10px;color:rgba(255,255,255,.78);font-size:11px;}
.bar-kpis-redesign{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px;}
.bar-kpi-card{min-height:130px;padding:18px;border:1px solid #e2ebe5;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(32,76,49,.04);}
.bar-kpi-card.bar-kpi-main{border-color:#205d3c;background:linear-gradient(135deg,#1f5d3c,#267c4c);}
.bar-kpi-label{display:block;color:#738178;font-size:11px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;}
.bar-kpi-card strong{display:block;margin-top:10px;color:#193c29;font-size:32px;letter-spacing:-.05em;line-height:1;}
.bar-kpi-card small{display:block;margin-top:9px;color:#819087;font-size:12px;}
.bar-kpi-main .bar-kpi-label,.bar-kpi-main strong,.bar-kpi-main small{color:#fff;}
.bar-kpi-main small{color:rgba(255,255,255,.72);}
.bar-kpi-card.has-warning{border-color:#efdba8;background:#fffdf7;}
.bar-kpi-card.has-warning strong{color:#9b6d13;}
.bar-kpi-card.has-danger{border-color:#f0c6c2;background:#fff9f8;}
.bar-kpi-card.has-danger strong{color:#a4453c;}
.bar-replenishment-alert{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 20px;padding:18px 20px;border:1px solid #f1d5a0;border-radius:18px;background:linear-gradient(90deg,#fffaf0,#fffdf8);}
.bar-alert-kicker{display:block;margin-bottom:5px;color:#957024;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.bar-replenishment-alert strong{color:#5f4819;font-size:16px;}
.bar-replenishment-alert p{margin:5px 0 0;color:#8a764e;font-size:12px;}
.bar-alert-products{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.bar-alert-products a{display:flex;gap:7px;align-items:center;max-width:200px;padding:8px 10px;border:1px solid #ead39d;border-radius:99px;background:#fff;color:#705522;font-size:11px;font-weight:800;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.bar-alert-products a:hover{background:#fff8e5;}
.bar-alert-products b{padding:2px 6px;border-radius:99px;background:#fff0bd;color:#8a6205;font-size:10px;}
.bar-page-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start;}
.bar-create-card{position:sticky;top:20px;padding:20px;border:1px solid #dcebe1;border-radius:20px;background:#fff;box-shadow:0 13px 28px rgba(24,75,48,.06);}
.bar-section-heading h2{margin:0;color:#193c29;font-size:22px;letter-spacing:-.03em;}
.bar-section-heading p{margin:7px 0 0;color:#718177;font-size:12px;line-height:1.5;}
.bar-section-heading.compact h2{font-size:20px;}
.bar-product-create-form{display:grid;gap:13px;margin-top:18px;}
.bar-product-create-form label{display:grid;gap:6px;}
.bar-product-create-form label>span{color:#64746a;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;}
.bar-product-create-form input{height:44px;border:1px solid #d7e3dc;border-radius:10px;padding:0 12px;background:#fbfcfb;color:#1c3326;font-size:14px;outline:0;}
.bar-product-create-form input:focus{border-color:#42a064;box-shadow:0 0 0 3px rgba(66,160,100,.12);}
.bar-create-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.bar-product-create-form .btn{width:100%;padding:13px;}
.bar-create-tip{margin-top:18px;padding:12px;border-radius:13px;background:#f1f8f3;color:#557060;font-size:11px;line-height:1.5;}
.bar-create-tip strong{display:block;margin-bottom:2px;color:#296440;font-size:11px;}
.bar-catalog-card{min-width:0;padding:20px;border:1px solid #e0eae4;border-radius:20px;background:#fff;box-shadow:0 13px 28px rgba(24,75,48,.05);}
.bar-catalog-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;}
.bar-catalog-actions{flex:0 0 220px;}
.bar-search-box{display:block;position:relative;}
.bar-search-box:before{content:"⌕";position:absolute;left:12px;top:50%;transform:translateY(-52%);color:#7b8d82;font-size:19px;font-weight:400;pointer-events:none;}
.bar-search-box input{width:100%;height:42px;border:1px solid #d9e5de;border-radius:12px;padding:0 12px 0 36px;background:#fbfcfb;color:#22392c;font-size:13px;outline:0;}
.bar-search-box input:focus{border-color:#42a064;box-shadow:0 0 0 3px rgba(66,160,100,.12);}
.bar-filter-row{display:flex;gap:8px;overflow:auto;margin:20px 0 17px;padding-bottom:2px;}
.bar-filter-row button{display:inline-flex;gap:7px;align-items:center;border:1px solid #dfeae3;border-radius:99px;padding:8px 11px;background:#fff;color:#61746a;font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.18s ease;}
.bar-filter-row button:hover,.bar-filter-row button.is-active{border-color:#2e8d51;background:#e9f6ec;color:#1e6a3d;}
.bar-filter-row b{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#eff4f0;color:#668074;font-size:10px;}
.bar-filter-row button.is-active b{background:#c7ebd2;color:#1a6739;}
.bar-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.bar-product-card{position:relative;overflow:hidden;padding:16px;border:1px solid #dde8e1;border-radius:17px;background:#fff;transition:.2s ease;}
.bar-product-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(30,87,54,.08);}
.bar-product-card.status-baixo{border-color:#ead294;background:#fffdf8;}
.bar-product-card.status-zerado{border-color:#ebc7c2;background:#fffafa;}
.bar-product-card.is-inactive{opacity:.72;background:#f7f9f8;}
.bar-product-card-top{display:flex;gap:10px;align-items:center;}
.bar-product-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:#e5f5e9;color:#287246;font-size:15px;font-weight:900;}
.bar-product-avatar.avatar-1{background:#fef0d5;color:#a2680d;}.bar-product-avatar.avatar-2{background:#e7effe;color:#386ab7;}.bar-product-avatar.avatar-3{background:#f7e9f0;color:#9a4a70;}.bar-product-avatar.avatar-4{background:#ede9fb;color:#6651b6;}
.bar-product-title-wrap{min-width:0;flex:1;display:flex;align-items:center;gap:8px;}
.bar-product-name-input{min-width:0;flex:1;overflow:hidden;border:0;border-bottom:1px solid transparent;padding:3px 0;background:transparent;color:#1d3929;font-size:15px;font-weight:900;outline:0;text-overflow:ellipsis;}
.bar-product-name-input:focus{border-bottom-color:#4a9d68;}
.bar-product-status{display:inline-flex;flex:0 0 auto;border-radius:99px;padding:4px 7px;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;}
.bar-product-status.status-ativo{background:#e2f5e8;color:#24713f;}.bar-product-status.status-baixo{background:#fff0c6;color:#8b620c;}.bar-product-status.status-zerado{background:#fde3e1;color:#a2423a;}.bar-product-status.status-inativo{background:#e7ece9;color:#6b7c71;}
.bar-product-status-note{min-height:17px;margin:9px 0 12px;color:#7c8b82;font-size:11px;}
.bar-product-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.bar-product-edit-fields label{display:grid;gap:5px;min-width:0;}
.bar-product-edit-fields label>span{color:#728279;font-size:9px;font-weight:900;letter-spacing:.065em;text-transform:uppercase;}
.bar-input-prefix,.bar-stock-input-wrap{display:flex;align-items:center;overflow:hidden;height:39px;border:1px solid #d8e3dd;border-radius:10px;background:#fbfcfb;}
.bar-input-prefix i,.bar-stock-input-wrap i{padding:0 0 0 9px;color:#7e8d83;font-size:11px;font-style:normal;font-weight:800;}
.bar-input-prefix input,.bar-stock-input-wrap input{width:100%;min-width:0;height:100%;border:0;padding:0 9px;background:transparent;color:#233e2e;font-size:13px;font-weight:800;outline:0;}
.bar-stock-input-wrap i{padding:0 9px 0 0;font-size:10px;}
.bar-stock-visual{height:5px;overflow:hidden;margin:13px 0;border-radius:99px;background:#edf2ee;}
.bar-stock-visual span{display:block;height:100%;min-width:0;border-radius:inherit;background:#4caf68;}.status-baixo .bar-stock-visual span{background:#e8b43c;}.status-zerado .bar-stock-visual span{background:#de756e;}
.bar-product-card-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.bar-availability-switch{display:flex;gap:7px;align-items:center;min-width:0;color:#5f7166;font-size:10px;font-weight:800;cursor:pointer;}
.bar-availability-switch input{position:absolute;opacity:0;pointer-events:none;}
.bar-availability-switch span{position:relative;display:inline-block;flex:0 0 30px;width:30px;height:17px;border-radius:99px;background:#c7d2cb;transition:.18s ease;}
.bar-availability-switch span:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.13);transition:.18s ease;}
.bar-availability-switch input:checked+span{background:#3a9c5d;}.bar-availability-switch input:checked+span:after{left:16px;}
.bar-availability-switch em{overflow:hidden;font-style:normal;white-space:nowrap;text-overflow:ellipsis;}
.bar-save-product{border:0;border-radius:10px;padding:9px 12px;background:#1e5638;color:#fff;font-size:11px;font-weight:900;cursor:pointer;transition:.18s ease;}.bar-save-product:hover{background:#17462e;}
.bar-no-search-results,.bar-empty-catalog{padding:42px 18px;border:1px dashed #cfddd4;border-radius:15px;background:#fafcfb;color:#6c7d72;text-align:center;font-size:13px;}
.bar-empty-catalog strong{display:block;color:#23422f;font-size:16px;}.bar-empty-catalog p{margin:7px auto 16px;max-width:430px;}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (max-width:1000px){.bar-hero-redesign{grid-template-columns:1fr;}.bar-page-layout{grid-template-columns:1fr;}.bar-create-card{position:static;}.bar-product-create-form{grid-template-columns:1fr 1fr;align-items:end;}.bar-product-create-form>label{grid-column:span 2;}.bar-product-create-form .btn{grid-column:span 2;}.bar-create-tip{grid-column:span 2;}.bar-kpis-redesign{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:700px){.bar-hero-redesign{padding-top:14px;gap:16px;}.bar-hero-copy{padding-top:10px;}.bar-hero-copy h1{font-size:31px;}.bar-hero-stock-card{padding:18px;}.bar-kpis-redesign{grid-template-columns:1fr 1fr;gap:9px;}.bar-kpi-card{min-height:112px;padding:14px;border-radius:15px;}.bar-kpi-card strong{font-size:26px;}.bar-replenishment-alert{align-items:flex-start;flex-direction:column;padding:15px;}.bar-alert-products{justify-content:flex-start;}.bar-catalog-card,.bar-create-card{padding:15px;border-radius:16px;}.bar-catalog-top{align-items:stretch;flex-direction:column;}.bar-catalog-actions{flex-basis:auto;}.bar-products-grid{grid-template-columns:1fr;}.bar-product-create-form{grid-template-columns:1fr;}.bar-product-create-form>label,.bar-product-create-form .btn,.bar-create-tip{grid-column:auto;}.bar-create-two-columns{grid-template-columns:1fr 1fr;}.bar-product-title-wrap{align-items:flex-start;flex-direction:column;gap:4px;}.bar-product-name-input{width:100%;}.bar-product-status-note{margin-top:8px;}.bar-availability-switch em{max-width:120px;}.bar-hero-actions .btn{width:100%;text-align:center;}.bar-hero-link{width:100%;justify-content:center;}}

/* =========================================================
   CAIXA — conferência financeira e extrato
   ========================================================= */
.cash-page{background:#f5f8f6}.cash-section{padding-top:26px;padding-bottom:46px}.cash-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 30px;border:1px solid #d8e9dd;border-radius:23px;background:linear-gradient(135deg,#edf8f0 0%,#fff 62%,#f8fcf9 100%);box-shadow:0 12px 28px rgba(27,77,47,.055)}.cash-hero-copy{max-width:720px}.cash-eyebrow{display:block;color:#31714a;font-size:11px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.cash-hero h1{margin:7px 0 0;color:#173d27;font-size:32px;line-height:1.08;letter-spacing:-.052em}.cash-hero p{margin:10px 0 0;color:#687d6f;font-size:13px;line-height:1.58}.cash-hero-actions{display:flex;flex-wrap:wrap;gap:10px}.cash-action-muted{border:1px solid #cce1d1;background:#fff;color:#2e6b45}.cash-date-nav{display:flex;align-items:center;justify-content:center;gap:9px;margin:20px 0 17px}.cash-date-arrow{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;border:1px solid #d8e7dc;border-radius:12px;background:#fff;color:#277246;font-size:29px;line-height:1;text-decoration:none;box-shadow:0 5px 13px rgba(31,71,48,.04);transition:.18s ease}.cash-date-arrow:hover{border-color:#87bd9a;background:#eff9f2;transform:translateY(-1px)}.cash-date-picker{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 13px;border:1px solid #d7e6da;border-radius:13px;background:#fff;box-shadow:0 5px 13px rgba(31,71,48,.04)}.cash-date-picker span{color:#7b8b81;font-size:11px;font-weight:800}.cash-date-picker input{width:0;max-width:0;min-width:0;visibility:hidden;position:absolute}.cash-date-picker strong{color:#244832;font-size:14px}.cash-date-picker small{padding:4px 7px;border-radius:999px;background:#eaf8ee;color:#287345;font-size:10px;font-weight:900}.cash-today-link{margin-left:5px;color:#2d7548;font-size:12px;font-weight:900;text-decoration:none}.cash-today-link:hover{text-decoration:underline}.cash-pending-alert{display:flex;align-items:center;gap:13px;margin:0 0 17px;padding:14px 16px;border:1px solid #efdfb6;border-radius:16px;background:#fffaf0;color:#7b571b}.cash-pending-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex:0 0 27px;border-radius:50%;background:#f5bd48;color:#fff;font-size:16px;font-weight:900}.cash-pending-alert strong{display:block;color:#805b1d;font-size:13px}.cash-pending-alert p{margin:3px 0 0;color:#95763a;font-size:12px;line-height:1.42}.cash-pending-alert a{margin-left:auto;color:#8b6017;font-size:12px;font-weight:900;white-space:nowrap;text-decoration:none}.cash-pending-alert a:hover{text-decoration:underline}.cash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.cash-kpi-card{min-height:126px;padding:17px;border:1px solid #e0ebe3;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(26,68,44,.045)}.cash-kpi-card span{display:block;color:#77867c;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.cash-kpi-card strong{display:block;margin:9px 0 5px;color:#214b30;font-size:26px;letter-spacing:-.045em}.cash-kpi-card small{display:block;color:#86948a;font-size:11px;line-height:1.35}.cash-kpi-card.primary{border-color:#bce0c7;background:linear-gradient(145deg,#eaf9ee,#fff)}.cash-kpi-card.primary strong{color:#17713e}.cash-kpi-card.warning{border-color:#ece1c4;background:#fffdf8}.cash-kpi-card.warning strong{color:#9a6a14}.cash-kpi-card.pending{border-color:#efd5ca;background:#fff9f7}.cash-kpi-card.pending strong{color:#a34d3d}.cash-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:18px}.cash-source-card{padding:16px;border:1px solid #dfeae3;border-radius:17px;background:#fff;box-shadow:0 7px 17px rgba(26,67,44,.035)}.cash-source-head{display:flex;align-items:center;gap:8px;color:#738379;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.cash-source-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;font-size:15px}.cash-source-card.booking .cash-source-icon{background:#eaf3ff;color:#376ea7}.cash-source-card.bar .cash-source-icon{background:#fff1e5;color:#b46525}.cash-source-card.plan .cash-source-icon{background:#f2ebff;color:#7651aa}.cash-source-card>strong{display:block;margin:13px 0 9px;color:#244c32;font-size:24px;letter-spacing:-.045em}.cash-source-meta{display:flex;justify-content:space-between;gap:9px;color:#86948b;font-size:11px;font-weight:700}.cash-source-track{height:6px;overflow:hidden;margin-top:10px;border-radius:999px;background:#edf2ee}.cash-source-track i{display:block;height:100%;border-radius:inherit}.cash-source-card.booking .cash-source-track i{background:#5c98d1}.cash-source-card.bar .cash-source-track i{background:#d58a45}.cash-source-card.plan .cash-source-track i{background:#8e6dbe}.cash-main-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(280px,.72fr);align-items:start;gap:18px;margin-bottom:18px}.cash-payments-card,.cash-closing-card,.cash-movements-card{border:1px solid #dce9e0;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(27,69,45,.05)}.cash-payments-card{padding:20px}.cash-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.cash-card-heading h2{margin:6px 0 0;color:#1f402b;font-size:21px;letter-spacing:-.035em}.cash-card-heading p{margin:5px 0 0;color:#7d8d83;font-size:12px;line-height:1.45}.cash-inline-link{color:#2d7548;font-size:12px;font-weight:900;text-decoration:none;white-space:nowrap}.cash-inline-link:hover{text-decoration:underline}.cash-payment-list{display:grid;gap:10px;margin-top:18px}.cash-payment-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;border:1px solid #e4ece6;border-radius:14px;background:#fcfefc}.cash-payment-icon{display:inline-flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:11px;font-size:16px;font-weight:900}.cash-payment-row.cash .cash-payment-icon{background:#eaf8ee;color:#287644}.cash-payment-row.pix .cash-payment-icon{background:#e8f5ff;color:#2670a4}.cash-payment-row.card .cash-payment-icon{background:#f2ecff;color:#7757a7}.cash-payment-row.courtesy .cash-payment-icon{background:#fff5df;color:#a9791f}.cash-payment-info{min-width:0}.cash-payment-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.cash-payment-title strong{color:#345440;font-size:13px}.cash-payment-title small{color:#8a978f;font-size:10px;white-space:nowrap}.cash-payment-track{height:5px;overflow:hidden;margin:7px 0 5px;border-radius:999px;background:#eaf0eb}.cash-payment-track i{display:block;height:100%;border-radius:inherit}.cash-payment-row.cash .cash-payment-track i{background:#54a06a}.cash-payment-row.pix .cash-payment-track i{background:#5a9fd0}.cash-payment-row.card .cash-payment-track i{background:#9a7bc6}.cash-payment-row.courtesy .cash-payment-track i{background:#d5a34a}.cash-payment-origin{display:block;overflow:hidden;color:#8a978f;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.cash-payment-value{color:#244b31;font-size:14px;white-space:nowrap}.cash-footnote{margin-top:16px;padding-top:13px;border-top:1px solid #eaf0eb;color:#89978e;font-size:10px;line-height:1.5}.cash-closing-card{padding:19px;background:linear-gradient(148deg,#f0faf2 0%,#fff 61%,#f7fbf8 100%);border-color:#d1e5d6}.cash-closing-top{display:flex;align-items:center;gap:10px}.cash-closing-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:#2e874d;color:#fff;font-size:18px;font-weight:900}.cash-closing-top span{display:block;color:#688073;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.cash-closing-top strong{display:block;margin-top:3px;color:#31523e;font-size:14px}.cash-closing-total{margin:22px 0 15px;padding:17px;border:1px solid #cce6d3;border-radius:16px;background:#fff}.cash-closing-total span{display:block;color:#73867a;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.045em}.cash-closing-total strong{display:block;margin-top:6px;color:#1d7440;font-size:28px;letter-spacing:-.055em}.cash-closing-lines{display:grid;gap:9px}.cash-closing-lines>div{display:flex;justify-content:space-between;gap:12px;color:#718277;font-size:12px}.cash-closing-lines strong{color:#355b43}.cash-closing-lines .cash-closing-divider{margin-top:3px;padding-top:12px;border-top:1px dashed #cce0d1;color:#9b741e}.cash-closing-lines .cash-closing-divider strong{color:#9b741e}.cash-print-button{width:100%;margin:19px 0 11px;padding:11px;border:1px solid #2b7d48;border-radius:11px;background:#2b7d48;color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer;transition:.18s ease}.cash-print-button:hover{background:#216b3b;transform:translateY(-1px)}.cash-closing-card>p{margin:0;color:#7c8f82;font-size:11px;line-height:1.48}.cash-movements-card{padding:20px}.cash-movement-count{padding:8px 10px;border-radius:999px;background:#edf8f0;color:#287345;font-size:11px;font-weight:900;white-space:nowrap}.cash-movement-tools{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:12px;margin:18px 0 14px;padding:11px;border:1px solid #e5eee7;border-radius:16px;background:#f8fbf9}.cash-search{display:flex;align-items:center;gap:8px;min-width:0;padding:0 12px;border:1px solid #d8e6dc;border-radius:12px;background:#fff;color:#397550}.cash-search>span{font-size:20px;line-height:1}.cash-search input{width:100%;min-width:0;padding:12px 0;border:0;outline:0;background:transparent;color:#233a2b;font:inherit;font-size:12px}.cash-search input::placeholder{color:#9aa69f}.cash-filter-group{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.cash-filter{padding:8px 10px;border:1px solid #d7e5da;border-radius:999px;background:#fff;color:#627368;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.cash-filter:hover{border-color:#8bbba0;color:#22623d}.cash-filter.is-active{border-color:#237345;background:#237345;color:#fff}.cash-movement-list{display:grid;gap:8px}.cash-movement-row{display:grid;grid-template-columns:48px 88px minmax(0,1fr) minmax(105px,auto) auto;align-items:center;gap:11px;padding:11px 12px;border:1px solid #e5ede7;border-radius:13px;background:#fff;transition:.16s ease}.cash-movement-row:hover{border-color:#c5dfcd;background:#fcfefc}.cash-movement-row[hidden]{display:none!important}.cash-movement-row time{color:#647a6c;font-size:12px;font-weight:900}.cash-movement-type{display:inline-flex;justify-content:center;width:max-content;padding:5px 7px;border-radius:999px;font-size:9px;font-weight:900;white-space:nowrap}.cash-movement-type.booking{background:#eaf3ff;color:#376ea7}.cash-movement-type.bar{background:#fff1e5;color:#b46525}.cash-movement-type.plan{background:#f2ebff;color:#7651aa}.cash-movement-detail{min-width:0}.cash-movement-detail strong{display:block;overflow:hidden;color:#2f513b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.cash-movement-detail span{display:block;overflow:hidden;margin-top:3px;color:#89978e;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.cash-movement-payment{justify-self:start;padding:5px 7px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.cash-movement-payment.cash{background:#eaf8ee;color:#287644}.cash-movement-payment.pix{background:#e8f5ff;color:#2670a4}.cash-movement-payment.card{background:#f2ecff;color:#7757a7}.cash-movement-payment.courtesy{background:#fff5df;color:#a9791f}.cash-movement-value{color:#234c31;font-size:13px;white-space:nowrap}.cash-empty-state{display:grid;place-items:center;gap:5px;padding:30px 15px;border:1px dashed #d6e4d9;border-radius:14px;background:#fbfdfb;text-align:center}.cash-empty-state span{color:#6eb283;font-size:28px;line-height:1}.cash-empty-state strong{color:#476050;font-size:13px}.cash-empty-state p{max-width:330px;margin:0;color:#86948b;font-size:11px;line-height:1.45}.cash-empty-state.wide{min-height:160px}.cash-no-results{margin-top:12px;padding:13px;border:1px dashed #d7e5da;border-radius:12px;background:#fbfdfb;color:#708177;font-size:12px;text-align:center}.cash-no-results[hidden]{display:none!important}
@media(max-width:1000px){.cash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-main-grid{grid-template-columns:1fr}.cash-closing-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.cash-closing-top,.cash-closing-total,.cash-closing-lines,.cash-closing-card>p{grid-column:span 1}.cash-print-button{grid-column:span 2;margin:0}.cash-closing-total{margin:0}.cash-closing-lines{margin:0}.cash-closing-card>p{display:none}}
@media(max-width:760px){.cash-section{padding-top:18px}.cash-hero{display:block;padding:22px;border-radius:18px}.cash-hero h1{font-size:27px}.cash-hero-actions{margin-top:17px}.cash-hero-actions .btn{flex:1;text-align:center}.cash-date-nav{justify-content:flex-start;flex-wrap:wrap}.cash-date-picker{flex:1}.cash-today-link{margin-left:0;width:100%;text-align:center}.cash-pending-alert{align-items:flex-start;flex-direction:column}.cash-pending-alert a{margin-left:40px}.cash-kpis,.cash-source-grid{gap:10px}.cash-kpi-card{min-height:112px;padding:14px}.cash-kpi-card strong{font-size:23px}.cash-source-grid{grid-template-columns:1fr}.cash-payments-card,.cash-closing-card,.cash-movements-card{padding:15px;border-radius:17px}.cash-card-heading{align-items:flex-start;flex-direction:column}.cash-closing-card{display:block}.cash-closing-total{margin:18px 0 14px}.cash-closing-lines{margin:0}.cash-print-button{margin:18px 0 11px}.cash-closing-card>p{display:block}.cash-movement-tools{grid-template-columns:1fr;padding:10px}.cash-filter-group{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:1px}.cash-filter{flex:0 0 auto}.cash-movement-row{grid-template-columns:44px minmax(0,1fr) auto;gap:9px}.cash-movement-type{grid-row:1;grid-column:2}.cash-movement-detail{grid-row:2;grid-column:1/span 2}.cash-movement-payment{grid-row:2;grid-column:3}.cash-movement-value{grid-row:1;grid-column:3}.cash-movement-detail span{white-space:normal}.cash-movements-heading{gap:10px}.cash-movement-count{align-self:flex-start}}
@media(max-width:480px){.cash-kpis{grid-template-columns:1fr}.cash-date-picker span{display:none}.cash-date-picker strong{font-size:13px}.cash-source-card>strong{font-size:22px}.cash-payment-row{grid-template-columns:34px minmax(0,1fr);gap:9px}.cash-payment-value{grid-column:2;justify-self:start}.cash-payment-title{display:block}.cash-payment-title small{display:block;margin-top:2px}.cash-payment-origin{max-width:180px}.cash-movement-row{padding:11px}.cash-movement-payment{max-width:90px;overflow:hidden;text-overflow:ellipsis}.cash-movement-value{font-size:12px}}
@media print{.header,.cash-hero-actions,.cash-date-arrow,.cash-today-link,.cash-pending-alert a,.cash-inline-link,.cash-movement-tools{display:none!important}.cash-page{background:#fff}.cash-section{padding:0}.cash-hero{display:block;padding:0;border:0;box-shadow:none;background:#fff}.cash-hero p{max-width:none}.cash-date-nav{justify-content:flex-start;margin:12px 0}.cash-kpis,.cash-source-grid,.cash-main-grid{break-inside:avoid}.cash-payments-card,.cash-closing-card,.cash-movements-card{box-shadow:none}.cash-movement-row{break-inside:avoid}.cash-closing-card{background:#fff}.cash-print-button{display:none}}


/* Agenda pública: estado vazio quando não há mais horários para consultar. */
.agenda-empty{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:22px;
  border:1px solid #d5e7da;
  border-radius:20px;
  background:
    radial-gradient(circle at 96% 8%, rgba(113, 180, 132, .16), transparent 33%),
    linear-gradient(135deg, #f1faf3 0%, #ffffff 66%);
  box-shadow:0 12px 28px rgba(29, 75, 47, .07);
  color:#314f3b;
  text-align:left;
}
.agenda-empty-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  flex:0 0 54px;
  border:1px solid #c8e1cf;
  border-radius:17px;
  background:#fff;
  color:#2d7b47;
  box-shadow:0 7px 16px rgba(33, 101, 57, .09);
}
.agenda-empty-icon span{
  font-size:30px;
  line-height:1;
}
.agenda-empty-copy{ min-width:0; }
.agenda-empty-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#3f8557;
  font-size:10px;
  font-weight:900;
  letter-spacing:.085em;
  text-transform:uppercase;
}
.agenda-empty h2{
  margin:0;
  color:#214531;
  font-size:19px;
  line-height:1.2;
  letter-spacing:-.025em;
}
.agenda-empty p{
  max-width:620px;
  margin:7px 0 0;
  color:#697f70;
  font-size:13px;
  line-height:1.5;
}
.agenda-empty-date{
  display:inline-flex;
  margin-top:11px;
  padding:5px 8px;
  border-radius:999px;
  background:#e6f4e9;
  color:#3e7250;
  font-size:10px;
  font-weight:850;
}
.agenda-empty-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:43px;
  padding:0 14px 0 16px;
  border:1px solid #2a7645;
  border-radius:12px;
  background:#2a7645;
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 8px 17px rgba(34, 111, 63, .17);
  transition:.18s ease;
}
.agenda-empty-action:hover{
  border-color:#205e36;
  background:#205e36;
  transform:translateY(-1px);
}
.agenda-empty-action b{ font-size:17px; line-height:1; }

@media(max-width:700px){
  .agenda-empty{
    grid-template-columns:auto minmax(0,1fr);
    gap:14px;
    padding:18px;
    border-radius:18px;
  }
  .agenda-empty-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:14px;
  }
  .agenda-empty-icon span{ font-size:26px; }
  .agenda-empty h2{ font-size:17px; }
  .agenda-empty p{ font-size:12px; }
  .agenda-empty-action{
    grid-column:1 / -1;
    width:100%;
    min-height:44px;
  }
}

/* =========================================================
   RESERVA EM ANDAMENTO — aviso claro antes da confirmação
   ========================================================= */
.aviso-horario-em-andamento{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  overflow:hidden;
  margin-top:14px;
  padding:18px 19px;
  border:1px solid #edd184;
  border-radius:16px;
  background:linear-gradient(112deg,#fffaf0 0%,#fffdf8 63%,#fff8e9 100%);
  box-shadow:0 10px 25px rgba(111,77,8,.075);
}

.aviso-horario-em-andamento::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:4px;
  background:#f5b400;
}

.aviso-horario-icone{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:1px solid #e7c86e;
  border-radius:14px;
  background:#161616;
  box-shadow:0 5px 12px rgba(0,0,0,.12);
}

.aviso-horario-icone svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:#f5b400;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

.aviso-horario-conteudo{
  min-width:0;
}

.aviso-horario-eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  margin-bottom:5px;
  padding:3px 8px;
  border-radius:999px;
  background:#fff0bf;
  color:#795600;
  font-size:10px;
  font-weight:800;
  letter-spacing:.055em;
  line-height:1;
  text-transform:uppercase;
}

.aviso-horario-em-andamento strong{
  display:block;
  color:#211a0d;
  font-size:17px;
  line-height:1.2;
}

.aviso-horario-em-andamento p{
  max-width:600px;
  margin:5px 0 0;
  color:#706343;
  font-size:13px;
  line-height:1.48;
}

.aviso-horario-detalhe{
  min-width:112px;
  padding:10px 12px;
  border:1px solid #efdcaa;
  border-radius:12px;
  background:rgba(255,255,255,.78);
  text-align:right;
}

.aviso-horario-detalhe span{
  display:block;
  color:#8b7950;
  font-size:10px;
  font-weight:800;
  letter-spacing:.045em;
  line-height:1.2;
  text-transform:uppercase;
}

.aviso-horario-detalhe b{
  display:block;
  margin-top:4px;
  color:#4e3a05;
  font-size:15px;
  line-height:1.1;
}

.confirmacao-horario-em-andamento{
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:13px 14px;
  border:1px solid #e5e5e5;
  border-radius:12px;
  background:#fcfcfb;
  color:#2a2a2a;
  cursor:pointer;
  transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.confirmacao-horario-em-andamento:hover{
  border-color:#e3c768;
  background:#fffdf7;
}

.confirmacao-horario-em-andamento:has(input:checked){
  border-color:#e1bf52;
  background:#fff9e9;
  box-shadow:0 4px 12px rgba(135,93,3,.055);
}

.confirmacao-horario-em-andamento input{
  width:18px;
  height:18px;
  flex:0 0 18px;
  margin:1px 0 0;
  accent-color:#d99b00;
}

.confirmacao-horario-texto{
  display:block;
  min-width:0;
}

.confirmacao-horario-texto strong{
  display:block;
  color:#2d2719;
  font-size:13px;
  line-height:1.3;
}

.confirmacao-horario-texto small{
  display:block;
  margin-top:3px;
  color:#756c59;
  font-size:12px;
  line-height:1.42;
}

@media(max-width:600px){
  .aviso-horario-em-andamento{
    grid-template-columns:42px minmax(0,1fr);
    gap:12px;
    padding:16px;
    border-radius:14px;
  }

  .aviso-horario-icone{
    width:42px;
    height:42px;
    border-radius:13px;
  }

  .aviso-horario-icone svg{
    width:22px;
    height:22px;
  }

  .aviso-horario-em-andamento strong{
    font-size:16px;
  }

  .aviso-horario-em-andamento p{
    font-size:12px;
  }

  .aviso-horario-detalhe{
    grid-column:2;
    min-width:0;
    padding:9px 10px;
    text-align:left;
  }

  .aviso-horario-detalhe span,
  .aviso-horario-detalhe b{
    display:inline;
  }

  .aviso-horario-detalhe b{
    margin-left:5px;
  }

  .confirmacao-horario-em-andamento{
    padding:12px;
  }
}

/* =========================================================
   ALERTA DE HORÁRIO EM ANDAMENTO — sinalização de atenção
   ========================================================= */
.aviso-horario-em-andamento{
  border-color:#efaaa6;
  background:linear-gradient(112deg,#fff8f8 0%,#fffdfd 63%,#fff4f3 100%);
  box-shadow:0 10px 25px rgba(156,37,31,.08);
  animation:reserva-em-andamento-pulso 1.7s ease-in-out infinite;
}

.aviso-horario-em-andamento::before{
  background:#d83a35;
}

.aviso-horario-icone{
  border-color:#e8a6a1;
  background:#3a1211;
}

.aviso-horario-icone svg{
  stroke:#ffb6b1;
}

.aviso-horario-eyebrow{
  background:#ffe5e3;
  color:#aa2d29;
}

.aviso-horario-em-andamento strong{
  color:#3a1715;
}

.aviso-horario-em-andamento p{
  color:#765653;
}

.aviso-horario-detalhe{
  border-color:#f1c0bd;
  background:rgba(255,255,255,.84);
}

.aviso-horario-detalhe span{
  color:#9a625e;
}

.aviso-horario-detalhe b{
  color:#ad2e29;
}

@keyframes reserva-em-andamento-pulso{
  0%,100%{
    border-color:#efaaa6;
    box-shadow:0 10px 25px rgba(156,37,31,.08);
  }
  50%{
    border-color:#d83a35;
    box-shadow:0 0 0 4px rgba(216,58,53,.10),0 12px 28px rgba(156,37,31,.13);
  }
}

/* Horário que já começou, mas ainda pode ser reservado. */
.slot.slot-em-andamento{
  position:relative;
  border:1px solid #efbbb8;
  background:linear-gradient(105deg,#fff 0%,#fffafa 100%);
  box-shadow:0 4px 13px rgba(171,48,43,.10);
}

.slot.slot-em-andamento::before{
  content:"";
  position:absolute;
  top:12px;
  bottom:12px;
  left:0;
  width:3px;
  border-radius:0 999px 999px 0;
  background:#d83a35;
}

.slot-andamento-alerta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 7px;
  margin-top:8px;
  color:#aa2f2a;
  font-size:11px;
  line-height:1.25;
}

.slot-andamento-alerta i{
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#d83a35;
  box-shadow:0 0 0 0 rgba(216,58,53,.38);
  animation:indicador-andamento-pulso 1.35s ease-out infinite;
}

.slot-andamento-alerta b{
  font-size:11px;
  font-weight:800;
  letter-spacing:.025em;
  text-transform:uppercase;
}

.slot-andamento-alerta small{
  color:#9a625e;
  font-size:11px;
  font-weight:700;
}

@keyframes indicador-andamento-pulso{
  0%{box-shadow:0 0 0 0 rgba(216,58,53,.36);}
  70%{box-shadow:0 0 0 6px rgba(216,58,53,0);}
  100%{box-shadow:0 0 0 0 rgba(216,58,53,0);}
}

@media(max-width:600px){
  .slot.slot-em-andamento{padding-left:16px;}
  .slot-andamento-alerta{max-width:205px;}
  .slot-andamento-alerta small{width:100%;margin-left:15px;}
}

@media(prefers-reduced-motion:reduce){
  .aviso-horario-em-andamento,
  .slot-andamento-alerta i{
    animation:none!important;
  }
}


/* Horário de funcionamento exibido na agenda pública. */
.agenda-funcionamento{
  margin-top:4px;
  color:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:700;
}

@media(max-width:600px){
  .agenda-funcionamento{font-size:11px;}
}

/* HOME — CARROSSEL DE BANNERS GERENCIÁVEIS */
.home-banner-carousel{position:relative;max-width:100%;}.home-banner-viewport{overflow:hidden;border-radius:22px;box-shadow:0 14px 30px rgba(10,49,72,.22)}.home-banner-track{display:flex;transition:transform .52s cubic-bezier(.22,.8,.24,1);will-change:transform}.home-banner-slide{min-width:100%;flex:0 0 100%}.home-banner-panel{position:relative;display:block;isolation:isolate;overflow:hidden;min-height:250px;padding:32px;border-radius:22px;color:#fff;text-decoration:none;background:linear-gradient(125deg,#102b45 0%,#14656c 52%,#f5b400 145%)}.home-banner-panel.theme-azul{background:linear-gradient(125deg,#112a46 0%,#1e69a8 58%,#6ac1ec 145%)}.home-banner-panel.theme-laranja{background:linear-gradient(125deg,#4a280b 0%,#b5520b 55%,#f3be4f 145%)}.home-banner-panel.theme-roxo{background:linear-gradient(125deg,#2b1844 0%,#7040a1 56%,#d09af2 145%)}.home-banner-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.home-banner-overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,20,31,.78) 0%,rgba(7,20,31,.48) 48%,rgba(7,20,31,.09) 100%);pointer-events:none}.home-banner-panel:not(.has-image) .home-banner-overlay{background:linear-gradient(90deg,rgba(0,0,0,.1),transparent 65%)}.home-banner-copy{position:relative;z-index:2;max-width:650px}.home-banner-eyebrow{display:inline-block;margin-bottom:11px;color:#ffdb65;font-size:12px;font-weight:900;letter-spacing:1.2px}.theme-azul .home-banner-eyebrow{color:#d7f2ff}.theme-laranja .home-banner-eyebrow{color:#ffe2a7}.theme-roxo .home-banner-eyebrow{color:#f1d7ff}.home-banner-copy h2{max-width:590px;margin:0 0 10px;color:#fff;font-size:34px;line-height:1.03;letter-spacing:-1px}.home-banner-copy p{max-width:500px;margin:0;color:rgba(255,255,255,.92);line-height:1.45}.home-banner-footer{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:23px}.home-banner-footer strong{color:#fff;font-size:18px}.home-banner-footer span{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:10px 15px;background:#f5b400;color:#111;font-size:14px;font-weight:900}.theme-azul .home-banner-footer span{background:#e0f4ff;color:#17344c}.theme-laranja .home-banner-footer span{background:#ffe0a0;color:#643500}.theme-roxo .home-banner-footer span{background:#f0d7ff;color:#48206b}.home-banner-footer b{font-size:18px;line-height:1}.home-banner-badges{position:absolute;z-index:1;right:35px;bottom:30px;display:flex;gap:12px;transform:rotate(-9deg)}.home-banner-badges span{display:grid;width:90px;height:90px;place-items:center;border:3px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.12);box-shadow:0 12px 26px rgba(0,0,0,.18);color:#fff;font-size:24px;font-weight:900;backdrop-filter:blur(4px)}.home-banner-shape{position:absolute;z-index:0;border-radius:50%;pointer-events:none}.home-banner-shape-a{width:360px;height:360px;top:-200px;right:-55px;border:1px solid rgba(255,255,255,.24);box-shadow:0 0 0 32px rgba(255,255,255,.04),0 0 0 66px rgba(255,255,255,.04)}.home-banner-shape-b{width:155px;height:155px;right:185px;bottom:-100px;background:rgba(245,180,0,.28)}.home-carousel-control{position:absolute;z-index:4;top:50%;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(12,22,28,.38);color:#fff;font:inherit;font-size:28px;line-height:1;cursor:pointer;transform:translateY(-50%);backdrop-filter:blur(7px);transition:background .18s ease,transform .18s ease}.home-carousel-control:hover{background:rgba(12,22,28,.66);transform:translateY(-50%) scale(1.06)}.home-carousel-control.prev{left:15px}.home-carousel-control.next{right:15px}.home-carousel-dots{position:absolute;z-index:4;right:24px;bottom:16px;display:flex;gap:7px}.home-carousel-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(255,255,255,.46);cursor:pointer;transition:width .18s ease,background .18s ease}.home-carousel-dots button[aria-current="true"]{width:24px;background:#fff}.home-banner-carousel.is-single .home-carousel-control,.home-banner-carousel.is-single .home-carousel-dots{display:none}@media(max-width:760px){.home-banner-viewport,.home-banner-panel{border-radius:26px}.home-banner-panel{min-height:265px;padding:25px 21px}.home-banner-copy h2{max-width:295px;font-size:28px;line-height:1.04}.home-banner-copy p{max-width:265px;font-size:14px}.home-banner-footer{gap:11px;margin-top:18px}.home-banner-footer strong{width:100%;font-size:17px}.home-banner-badges{right:15px;bottom:17px;gap:7px;transform:rotate(-9deg) scale(.78);transform-origin:bottom right}.home-banner-shape-a{right:-150px}.home-banner-shape-b{right:112px}.home-carousel-control{top:auto;bottom:16px;width:32px;height:32px;font-size:24px;transform:none}.home-carousel-control:hover{transform:scale(1.04)}.home-carousel-control.prev{left:16px}.home-carousel-control.next{left:54px;right:auto}.home-carousel-dots{right:16px;bottom:28px}}@media(prefers-reduced-motion:reduce){.home-banner-track{transition:none}.home-carousel-control{transition:none}}

/* =========================================================
   AULAS E TURMAS
   ========================================================= */
.banner-home.banner-home-aulas{background:linear-gradient(128deg,#151d49 0%,#2f4d9c 52%,#49a4c8 120%)}
.banner-home.banner-home-aulas::before{background:linear-gradient(90deg,rgba(8,14,39,.89) 0%,rgba(9,20,57,.57) 52%,rgba(10,32,70,.16) 100%)}
.banner-aulas-art{position:absolute;right:26px;bottom:18px;display:flex;gap:9px;align-items:flex-end;z-index:1;transform:rotate(-8deg)}
.banner-aulas-art span{display:grid;place-items:center;width:72px;height:72px;border:2px solid rgba(255,255,255,.62);border-radius:50%;background:rgba(255,255,255,.11);box-shadow:0 12px 24px rgba(0,0,0,.2);color:#fff;font-size:16px;font-weight:900;backdrop-filter:blur(5px)}
.banner-aulas-art span:nth-child(2){width:54px;height:54px;margin-bottom:28px;color:#dff4ff}.banner-aulas-art span:nth-child(3){width:46px;height:46px;margin-bottom:6px;color:#ffde87}
.status.aula{background:#e8efff;color:#294f96}
.slot-aula-info{display:block;max-width:300px;margin-top:8px;color:#385c9b;font-size:11px;font-weight:700;line-height:1.35}
.slot-aula-info b{color:#284b89;font-weight:900}

.aulas-page{background:#f4f7f8}.aulas-header-inner{display:flex;align-items:center;justify-content:space-between;gap:14px}.aulas-logo-link{color:inherit;text-decoration:none}.aulas-back-link{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.24);border-radius:10px;color:#fff;font-size:12px;font-weight:900;text-decoration:none}.aulas-back-link:hover{background:rgba(255,255,255,.1)}.aulas-section{padding-top:28px;padding-bottom:52px}.aulas-hero{position:relative;overflow:hidden;padding:34px;border:1px solid #243e79;border-radius:24px;background:linear-gradient(128deg,#101a3f 0%,#274b94 55%,#5eb8cf 150%);box-shadow:0 15px 30px rgba(20,48,105,.2);color:#fff}.aulas-hero:before,.aulas-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.2);border-radius:50%;pointer-events:none}.aulas-hero:before{width:370px;height:370px;right:-110px;top:-210px;box-shadow:0 0 0 33px rgba(255,255,255,.045),0 0 0 66px rgba(255,255,255,.04)}.aulas-hero:after{width:150px;height:150px;right:118px;bottom:-100px;background:rgba(255,212,87,.23)}.aulas-eyebrow{position:relative;z-index:1;display:block;margin-bottom:10px;color:#ffe487;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.aulas-hero h1{position:relative;z-index:1;max-width:620px;margin:0;color:#fff;font-size:39px;line-height:1.05;letter-spacing:-.055em}.aulas-hero p{position:relative;z-index:1;max-width:650px;margin:12px 0 0;color:rgba(255,255,255,.9);font-size:15px;line-height:1.55}.aulas-hero-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.aulas-hero-tags span{padding:7px 9px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;font-weight:800}.aulas-lista{display:grid;gap:18px;margin-top:20px}.aulas-modalidade{padding:20px;border:1px solid #dfe7ee;border-radius:21px;background:#fff;box-shadow:0 8px 20px rgba(28,59,91,.05)}.aulas-modalidade-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid #e8edf1}.aulas-modalidade-head>div{display:flex;align-items:center;gap:11px}.aulas-modalidade-head span{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#e7efff;color:#315898;font-size:12px;font-weight:900}.aulas-modalidade-futevolei .aulas-modalidade-head span{background:#fff1dc;color:#a15200}.aulas-modalidade-volei .aulas-modalidade-head span{background:#f1e8ff;color:#7045a4}.aulas-modalidade h2{margin:0;color:#23405d;font-size:21px;letter-spacing:-.035em}.aulas-modalidade-head p{max-width:500px;margin:0;color:#778894;font-size:12px;line-height:1.45;text-align:right}.aulas-turmas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.aula-turma-card{position:relative;overflow:hidden;padding:15px;border:1px solid #e1e9ef;border-radius:17px;background:#fbfdfe;transition:.18s ease}.aula-turma-card:hover{transform:translateY(-2px);border-color:#b4cbe5;box-shadow:0 12px 23px rgba(34,80,127,.1)}.aula-turma-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.aula-turma-dia{color:#4e6d87;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.aula-turma-hora{padding:6px 8px;border-radius:999px;background:#eaf1ff;color:#294f96;font-size:10px;font-weight:900;white-space:nowrap}.aula-turma-card h3{margin:13px 0 5px;color:#274561;font-size:16px;letter-spacing:-.02em}.aula-turma-card>p{min-height:34px;margin:0;color:#758692;font-size:11px;line-height:1.48}.aula-turma-meta{display:grid;gap:7px;margin:15px 0 14px;padding:11px;border:1px solid #e4ebf0;border-radius:12px;background:#fff}.aula-turma-meta div{display:flex;justify-content:space-between;gap:9px}.aula-turma-meta dt{color:#84939c;font-size:10px;font-weight:800}.aula-turma-meta dd{margin:0;color:#476171;font-size:10px;font-weight:900;text-align:right}.aula-turma-action{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:11px;background:#244e8c;color:#fff;font-size:12px;font-weight:900;text-decoration:none}.aula-turma-action:hover{background:#193c72}.aula-turma-action b{font-size:16px;line-height:1}.aulas-empty{display:grid;justify-items:center;max-width:580px;margin:24px auto 0;padding:38px 22px;border:1px dashed #cbd8e2;border-radius:20px;background:#fff;text-align:center}.aulas-empty>span{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#eaf1ff;color:#315898;font-size:24px}.aulas-empty h2{margin:13px 0 7px;color:#29465d;font-size:21px}.aulas-empty p{max-width:390px;margin:0 0 16px;color:#748793;font-size:13px;line-height:1.5}
@media(max-width:850px){.aulas-turmas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aulas-modalidade-head{align-items:flex-start;flex-direction:column}.aulas-modalidade-head p{text-align:left}}
@media(max-width:600px){.banner-aulas-art{right:14px;bottom:15px;transform:rotate(-8deg) scale(.77);transform-origin:bottom right}.slot-aula-info{max-width:220px}.aulas-section{padding-top:18px}.aulas-hero{padding:25px 20px;border-radius:20px}.aulas-hero h1{max-width:290px;font-size:30px}.aulas-hero p{max-width:285px;font-size:13px}.aulas-hero-tags{max-width:270px}.aulas-modalidade{padding:15px;border-radius:18px}.aulas-modalidade h2{font-size:19px}.aulas-turmas-grid{grid-template-columns:1fr}.aula-turma-card>p{min-height:0}.aulas-back-link{min-height:32px;padding:0 9px;font-size:11px}}


/* =========================================================
   MENSALIDADES E VENCIMENTOS
   ========================================================= */
.plans-kpi.danger{border-color:#f0cbc7;background:#fff5f4}.plans-kpi.danger strong{color:#b6403a}.plans-due-grid{align-items:stretch}.plans-due-hint{display:flex;flex-direction:column;justify-content:center;min-height:41px;padding:8px 10px;border:1px solid #dcebe0;border-radius:10px;background:#f7fbf8}.plans-due-hint strong{color:#2e6141;font-size:10px;text-transform:uppercase;letter-spacing:.045em}.plans-due-hint span{margin-top:3px;color:#718177;font-size:10px;line-height:1.35}.plans-billing-card{margin:18px 0;padding:20px;border:1px solid #dce9e0;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(27,69,45,.05)}.plans-billing-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:15px;border-bottom:1px solid #e8f0ea}.plans-billing-head h2{margin:4px 0 0;color:#1b3928;font-size:22px;letter-spacing:-.035em}.plans-billing-head p{max-width:700px;margin:6px 0 0;color:#748279;font-size:12px;line-height:1.5}.plans-billing-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.plans-billing-summary span{padding:7px 9px;border-radius:999px;background:#eef8f1;color:#277447;font-size:11px;font-weight:800;white-space:nowrap}.plans-billing-summary span.is-danger{background:#fff0ef;color:#b1413b}.plans-billing-list{display:grid;gap:10px;margin-top:16px}.billing-row{display:grid;grid-template-columns:minmax(210px,1.15fr) minmax(120px,.68fr) minmax(120px,.68fr) auto auto auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e5eee7;border-radius:15px;background:#fff}.billing-row.billing-danger{border-color:#f1c8c4;background:#fffafa}.billing-row.billing-today{border-color:#efdfb1;background:#fffdf5}.billing-person{display:flex;align-items:center;min-width:0;gap:10px}.billing-avatar{display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border-radius:12px;background:linear-gradient(135deg,#d6f0dc,#9cd4b0);color:#145333;font-size:13px;font-weight:900}.billing-person strong{display:block;overflow:hidden;color:#294433;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.billing-person span:not(.billing-avatar){display:block;overflow:hidden;margin-top:4px;color:#829087;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.billing-detail span{display:block;color:#839087;font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.billing-detail strong{display:block;margin-top:4px;color:#294433;font-size:12px}.billing-detail small{display:block;margin-top:3px;color:#7a887f;font-size:10px;line-height:1.25}.billing-status{display:inline-flex;justify-content:center;padding:6px 8px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}.billing-status.ok{background:#e7f8ec;color:#237244}.billing-status.warning{background:#fff5db;color:#8f6814}.billing-status.today{background:#fff0c6;color:#8a6109}.billing-status.danger{background:#ffe9e7;color:#b53e38}.billing-status.neutral{background:#edf0ee;color:#5b6a60}.billing-payment{position:relative}.billing-payment summary{padding:9px 10px;border-radius:10px;background:#237345;color:#fff;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer;list-style:none}.billing-payment summary::-webkit-details-marker{display:none}.billing-payment summary::after{content:"⌄";margin-left:6px}.billing-payment[open] summary::after{content:"⌃"}.billing-payment-form{position:absolute;z-index:4;right:0;top:39px;display:grid;grid-template-columns:115px 135px 140px auto;align-items:end;gap:8px;width:max-content;max-width:calc(100vw - 42px);margin:0;padding:12px;border:1px solid #dce8df;border-radius:13px;background:#fff;box-shadow:0 14px 32px rgba(30,59,42,.16)}.billing-payment-form label span{display:block;margin-bottom:4px;color:#76847a;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.billing-payment-form input,.billing-payment-form select{width:100%;min-height:35px;box-sizing:border-box;padding:7px;border:1px solid #d9e5dd;border-radius:8px;color:#284132;font:inherit;font-size:11px;background:#fff}.billing-pay-button{min-height:35px;border:0;border-radius:8px;padding:7px 9px;background:#237345;color:#fff;font:inherit;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer}.billing-pay-button:hover{background:#185b35}.billing-adjust{position:relative}.billing-adjust summary{padding:8px 3px;color:#557060;font-size:11px;font-weight:900;cursor:pointer;list-style:none}.billing-adjust summary::-webkit-details-marker{display:none}.billing-adjust summary::after{content:'⌄';margin-left:5px}.billing-adjust[open] summary::after{content:'⌃'}.billing-adjust-form{position:absolute;z-index:3;right:0;top:29px;display:grid;grid-template-columns:70px 150px 100px auto;align-items:end;gap:8px;width:max-content;max-width:calc(100vw - 42px);padding:12px;border:1px solid #dce8df;border-radius:13px;background:#fff;box-shadow:0 14px 32px rgba(30,59,42,.16)}.billing-adjust-form label span{display:block;margin-bottom:4px;color:#76847a;font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.billing-adjust-form input{width:100%;min-height:35px;box-sizing:border-box;padding:7px;border:1px solid #d9e5dd;border-radius:8px;color:#284132;font:inherit;font-size:11px}.billing-adjust-form button{min-height:35px;border:0;border-radius:8px;padding:7px 9px;background:#edf7ef;color:#23623c;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.billing-adjust-form button:hover{background:#dff0e3}
@media(max-width:1160px){.billing-row{grid-template-columns:minmax(210px,1fr) 1fr 1fr auto auto}.billing-adjust,.billing-payment{grid-column:1/-1}.billing-adjust-form,.billing-payment-form{left:0;right:auto}}@media(max-width:760px){.plans-billing-card{padding:15px;border-radius:17px}.plans-billing-head{display:block}.plans-billing-summary{justify-content:flex-start;margin-top:12px}.billing-row{grid-template-columns:1fr 1fr;gap:10px}.billing-person{grid-column:1/-1}.billing-status{justify-self:start}.billing-payment{justify-self:end}.billing-adjust,.billing-payment{grid-column:1/-1}.billing-adjust-form,.billing-payment-form{position:static;grid-template-columns:1fr;width:100%;max-width:none;margin-top:8px;box-sizing:border-box}.plans-due-hint{min-height:auto}}@media(max-width:430px){.billing-row{grid-template-columns:1fr}.billing-person,.billing-adjust,.billing-payment{grid-column:auto}.billing-payment{justify-self:start}.plans-due-grid{grid-template-columns:1fr}}


/* Preço especial de professor no checkout */
.professor-price-applied{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid #bfd7f4;border-radius:14px;background:linear-gradient(135deg,#f3f8ff,#eaf3ff);color:#244d83;}
.professor-price-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#4b84cc;color:#fff;font-size:14px;box-shadow:0 6px 14px rgba(56,109,178,.18);}
.professor-price-applied strong{display:block;font-size:14px;}
.professor-price-applied small{display:block;margin-top:3px;color:#5d7190;font-size:12px;line-height:1.4;}
@media(max-width:760px){.client-benefit-switches{align-items:flex-start;flex-direction:column;gap:9px;}.client-badges{justify-content:flex-start;}.professor-price-applied{padding:12px;}}

/* =========================================================
   RESERVA MANUAL PELO OPERADOR
   ========================================================= */
.manual-booking-page{background:#f5f8f6}.manual-booking-section{padding-top:26px}.manual-booking-alert{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding:13px 15px;border:1px solid #cce4d2;border-radius:14px;background:#f0fbf3;color:#246b40;font-size:13px;font-weight:800}.manual-booking-alert>span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:currentColor;color:#fff;font-size:13px}.manual-booking-alert.is-error{border-color:#f1c8c5;background:#fff5f4;color:#a5423d}.manual-booking-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:28px 29px;border:1px solid #d6e9dc;border-radius:22px;background:linear-gradient(135deg,#edf8f0 0%,#fff 60%,#f6fcf7 100%);box-shadow:0 11px 28px rgba(27,77,47,.055)}.manual-booking-eyebrow{display:block;color:#31714a;font-size:11px;font-weight:900;letter-spacing:.075em;text-transform:uppercase}.manual-booking-hero h1{margin:7px 0 0;color:#173d27;font-size:32px;line-height:1.08;letter-spacing:-.052em}.manual-booking-hero p{max-width:680px;margin:10px 0 0;color:#647b6b;line-height:1.55}.manual-booking-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);align-items:start;gap:18px;margin-top:18px}.manual-booking-form-card,.manual-booking-summary-card,.manual-booking-empty{border:1px solid #dce9e0;border-radius:20px;background:#fff;box-shadow:0 10px 25px rgba(27,69,45,.05)}.manual-booking-form-card{padding:21px}.manual-booking-card-head{display:flex;align-items:flex-start;gap:11px;padding-bottom:16px;border-bottom:1px solid #eaf0ec}.manual-booking-icon{display:flex;align-items:center;justify-content:center;width:37px;height:37px;flex:0 0 37px;border-radius:13px;background:#e1f4e6;color:#207442;font-size:23px;font-weight:900}.manual-booking-card-head h2{margin:0;color:#244331;font-size:20px;letter-spacing:-.03em}.manual-booking-card-head p{margin:4px 0 0;color:#839087;font-size:12px;line-height:1.42}.manual-booking-form{display:grid;gap:12px;margin-top:17px}.manual-booking-step{display:flex;align-items:center;gap:8px;margin-top:5px;color:#395945;font-size:11px;letter-spacing:.055em;text-transform:uppercase}.manual-booking-step span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:8px;background:#e7f4ea;color:#287446;font-size:11px;font-weight:900}.manual-booking-form label,.manual-booking-confirm-form label{display:block;min-width:0}.manual-booking-form label>span,.manual-booking-confirm-form label>span{display:block;margin-bottom:5px;color:#738179;font-size:10px;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.manual-booking-form label>span em,.manual-booking-confirm-form label>span em{font-style:normal;color:#98a59d;font-weight:700}.manual-booking-form input,.manual-booking-form select,.manual-booking-form textarea,.manual-booking-confirm-form input,.manual-booking-confirm-form select,.manual-booking-confirm-form textarea{width:100%;min-height:42px;box-sizing:border-box;padding:9px 10px;border:1px solid #d9e5dd;border-radius:10px;background:#fff;color:#2d4636;font:inherit;font-size:13px}.manual-booking-form textarea,.manual-booking-confirm-form textarea{min-height:75px;resize:vertical}.manual-booking-form input:focus,.manual-booking-form select:focus,.manual-booking-confirm-form input:focus,.manual-booking-confirm-form select:focus,.manual-booking-confirm-form textarea:focus{outline:2px solid rgba(38,129,73,.17);border-color:#6eaf89}.manual-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.manual-booking-help{display:block;margin-top:-3px;color:#809087;font-size:11px;line-height:1.45}.manual-booking-extra{padding:12px;border:1px solid #e2ece5;border-radius:13px;background:#f8fbf9}.manual-booking-professor{display:grid;gap:4px;padding:11px 12px;border:1px solid #c9e8d1;border-radius:11px;background:#effaf2;color:#245f39}.manual-booking-professor b{font-size:12px}.manual-booking-professor span{color:#6a8172;font-size:11px;line-height:1.42}.manual-booking-preview{width:100%;margin-top:3px}.manual-booking-summary-card{position:sticky;top:18px;padding:20px}.manual-booking-summary-top{display:flex;align-items:center;justify-content:space-between;color:#718277;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.manual-booking-summary-top i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:#e3f4e8;color:#287446;font-size:14px;font-style:normal}.manual-booking-summary-card h2{margin:17px 0 5px;color:#244331;font-size:21px;letter-spacing:-.035em}.manual-booking-date-line{color:#819187;font-size:12px;font-weight:800}.manual-booking-price{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:20px 0;padding:16px;border:1px solid #cce7d4;border-radius:15px;background:linear-gradient(145deg,#effaf2,#fff)}.manual-booking-price span{color:#6e8475;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.manual-booking-price strong{color:#1f7440;font-size:24px;letter-spacing:-.05em;white-space:nowrap}.manual-booking-rule{display:grid;gap:5px;padding-bottom:16px;border-bottom:1px solid #e9f0eb}.manual-booking-rule strong{color:#345442;font-size:13px}.manual-booking-rule span{color:#708177;font-size:11px;line-height:1.42}.manual-booking-rule small{color:#9aa69f;font-size:10px;line-height:1.45}.manual-booking-availability{display:grid;gap:4px;margin:16px 0;padding:12px;border:1px solid #cce7d4;border-radius:12px;background:#f2fbf4;color:#27663e}.manual-booking-availability b{font-size:12px}.manual-booking-availability span{color:#6a8071;font-size:11px;line-height:1.42}.manual-booking-availability.is-busy{border-color:#f0d2c6;background:#fff6f3;color:#a24940}.manual-booking-availability.is-busy span{color:#936e68}.manual-booking-confirm-form{display:grid;gap:11px;padding-top:2px}.manual-booking-live-check{display:flex!important;align-items:flex-start;gap:9px;padding:11px;border:1px solid #f3d9a1;border-radius:11px;background:#fff9ea}.manual-booking-live-check input{width:auto!important;min-height:0!important;margin-top:3px;accent-color:#a87813}.manual-booking-live-check span{display:grid!important;gap:3px;margin:0!important;color:#895f10!important;letter-spacing:0!important;text-transform:none!important}.manual-booking-live-check b{font-size:12px}.manual-booking-live-check small{color:#856f43;font-size:11px;line-height:1.35}.manual-booking-save{width:100%;padding:12px}.manual-booking-save:disabled{cursor:not-allowed;opacity:.5;filter:grayscale(.4)}.manual-booking-confirm-form>small{color:#89978e;font-size:10px;line-height:1.45}.manual-booking-summary-empty{display:grid;place-items:center;gap:7px;min-height:260px;text-align:center}.manual-booking-summary-empty>span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:15px;background:#edf5ef;color:#368257;font-size:23px}.manual-booking-summary-empty strong{color:#456250;font-size:13px}.manual-booking-summary-empty p{max-width:250px;margin:0;color:#849289;font-size:11px;line-height:1.45}.manual-booking-empty{display:grid;place-items:center;gap:8px;margin-top:18px;padding:40px 20px;text-align:center}.manual-booking-empty strong{color:#385742;font-size:16px}.manual-booking-empty p{max-width:470px;margin:0;color:#77887d;font-size:12px;line-height:1.5}.timeline-badge.operator{background:#eaf3ff;color:#386ca1}.reserva-origin-operator{color:#4d759a!important}.reservas-new-booking{white-space:nowrap}
@media(max-width:820px){.manual-booking-layout{grid-template-columns:1fr}.manual-booking-summary-card{position:static}.manual-booking-hero{align-items:flex-start;flex-direction:column}.manual-booking-hero .btn{width:100%;text-align:center}}
@media(max-width:560px){.manual-booking-section{padding-top:18px}.manual-booking-hero{padding:22px;border-radius:18px}.manual-booking-hero h1{font-size:27px}.manual-booking-form-card,.manual-booking-summary-card{padding:15px;border-radius:17px}.manual-booking-grid{grid-template-columns:1fr}.manual-booking-card-head h2{font-size:18px}.manual-booking-price strong{font-size:22px}.reservas-new-booking{width:100%;text-align:center}.reservas-hero-actions{width:100%}}

/* HOME — ATIVIDADES E AULAS */
.home-activities-section{
  padding-top:30px;
  padding-bottom:24px;
}
.home-aulas-highlight{
  padding-top:22px;
  padding-bottom:18px;
}
.home-section-heading{
  position:relative;
  margin-bottom:18px;
  padding-left:16px;
}
.home-section-heading::before{
  content:'';
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:4px;
  border-radius:999px;
  background:#f5b400;
}
.home-section-eyebrow{
  display:block;
  margin-bottom:5px;
  color:#8a6510;
  font-size:10px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.home-section-heading h1,
.home-section-heading h2{
  margin:0;
  color:#17261c;
  font-size:28px;
  line-height:1.05;
  letter-spacing:-.045em;
}
.home-section-heading p{
  max-width:610px;
  margin:7px 0 0;
  color:#6c7c72;
  font-size:13px;
  line-height:1.48;
}
.atividades-reserva-home{
  margin-top:0;
}
.home-aulas-highlight .banner-home{
  height:250px;
}
.banner-home.banner-home-aulas.has-custom-image{
  background:#151d49;
}
.banner-home.banner-home-aulas.has-custom-image::before{
  background:linear-gradient(90deg,rgba(8,14,39,.9) 0%,rgba(9,20,57,.6) 54%,rgba(10,32,70,.18) 100%);
}
@media(min-width:760px){
  .atividades-reserva-home{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
  }
  .atividades-reserva-home .banner-home{
    height:280px;
  }
  .atividades-reserva-home .banner-conteudo{
    left:17px;
    right:17px;
    bottom:17px;
  }
  .atividades-reserva-home .banner-conteudo h2{
    font-size:22px;
    line-height:1.05;
  }
  .atividades-reserva-home .banner-conteudo p{
    min-height:36px;
    font-size:13px;
    line-height:1.38;
  }
  .atividades-reserva-home .banner-conteudo span{
    padding:9px 13px;
    font-size:13px;
  }
  .home-aulas-highlight .banner-home{
    height:285px;
  }
}
@media(max-width:760px){
  .home-activities-section{
    padding-top:23px;
    padding-bottom:17px;
  }
  .home-aulas-highlight{
    padding-top:15px;
  }
  .home-section-heading{
    margin-bottom:15px;
  }
  .home-section-heading h1,
  .home-section-heading h2{
    font-size:24px;
  }
  .home-section-heading p{
    font-size:12px;
  }
  .home-aulas-highlight .banner-home{
    height:220px;
  }
}

/* Sugestões de outras quadras livres no mesmo horário. */
.slot.slot-com-alternativas{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:14px 18px;
  padding:16px;
  border:1px solid #efd5d5;
  background:linear-gradient(145deg,#fff 0%,#fffafa 100%);
}
.slot.slot-com-alternativas > .slot-alternativas{grid-column:1/-1;}
.slot-alternativas{
  width:100%;
  box-sizing:border-box;
  overflow:hidden;
  margin-top:1px;
  padding:15px;
  border:1px solid #cddfed;
  border-radius:16px;
  background:linear-gradient(135deg,#f8fbff 0%,#eef7ff 100%);
  box-shadow:0 8px 18px rgba(36,91,137,.07);
}
.slot-alternativas-top{display:flex;align-items:flex-start;gap:11px;}
.slot-alternativas-icon{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.68);
  border-radius:13px;
  background:linear-gradient(145deg,#2d75b5,#4f99d2);
  box-shadow:0 7px 14px rgba(43,113,177,.18);
  color:#fff;
  font-size:21px;
  font-weight:900;
  line-height:1;
}
.slot-alternativas-copy{min-width:0;}
.slot-alternativas-eyebrow{
  display:block;
  color:#3973a3;
  font-size:10px;
  font-weight:900;
  letter-spacing:.075em;
  text-transform:uppercase;
}
.slot-alternativas-copy p{margin:4px 0 0;color:#5d7388;font-size:12px;line-height:1.45;}
.slot-alternativas-copy p strong{display:block;margin-top:2px;color:#24517d;font-size:12px;}
.slot-alternativas-divider{height:1px;margin:13px 0 11px;background:linear-gradient(90deg,rgba(100,151,191,.04),rgba(100,151,191,.52),rgba(100,151,191,.04));}
.slot-alternativas-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.slot-alternativas-heading strong{display:block;color:#214d75;font-size:13px;letter-spacing:-.012em;}
.slot-alternativas-heading small{display:block;margin-top:3px;color:#718398;font-size:10px;font-weight:700;}
.slot-alternativas-heading>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#dceefa;color:#35719f;font-size:10px;font-weight:900;white-space:nowrap;}
.slot-alternativas-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:11px;}
.slot-alternativa-btn{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:9px 11px;
  border:1px solid #bdd7ea;
  border-radius:13px;
  background:#fff;
  color:#285a8a;
  font-size:12px;
  text-decoration:none;
  box-shadow:0 4px 10px rgba(42,96,141,.055);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.slot-alternativa-btn:hover{border-color:#6b9fc9;background:#fbfdff;box-shadow:0 9px 17px rgba(42,96,141,.13);transform:translateY(-2px);}
.slot-alternativa-btn strong{overflow:hidden;color:#24547d;font-size:12px;font-weight:900;text-overflow:ellipsis;white-space:nowrap;}
.slot-alternativa-btn b{display:inline-flex;align-items:center;gap:5px;color:#1f7047;font-size:11px;white-space:nowrap;}
.slot-alternativa-btn b i{font-size:15px;font-style:normal;line-height:1;transition:transform .16s ease;}
.slot-alternativa-btn:hover b i{transform:translateX(2px);}
.slot-alternativa-disponivel{width:8px;height:8px;border-radius:50%;background:#29a25a;box-shadow:0 0 0 4px rgba(41,162,90,.12);font-size:0;}
@media(max-width:600px){
  .slot.slot-com-alternativas{grid-template-columns:1fr;gap:10px;padding:15px;}
  .slot.slot-com-alternativas > .btn{width:100%;box-sizing:border-box;text-align:center;}
  .slot-alternativas{margin-top:1px;padding:13px;border-radius:15px;}
  .slot-alternativas-icon{flex-basis:34px;width:34px;height:34px;border-radius:11px;font-size:19px;}
  .slot-alternativas-copy p,.slot-alternativas-copy p strong{font-size:11px;}
  .slot-alternativas-heading strong{font-size:12px;}
  .slot-alternativas-heading>span{padding:5px 7px;font-size:9px;}
  .slot-alternativas-actions{grid-template-columns:1fr;gap:8px;}
  .slot-alternativa-btn{width:100%;box-sizing:border-box;min-height:46px;}
}


/* ATALHOS DINÂMICOS DA PÁGINA INICIAL */
.banner-home-generic{
  background:linear-gradient(128deg,#173b2a 0%,#2a8050 55%,#e8ad25 150%);
}
.banner-home-generic.banner-home-aulas{
  background:linear-gradient(128deg,#171b45 0%,#3e55a1 56%,#66bad2 150%);
}
.banner-generic-art{
  position:absolute;
  right:24px;
  bottom:18px;
  z-index:1;
  width:112px;
  height:112px;
  border:2px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:rgba(255,255,255,.09);
  box-shadow:0 14px 28px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.28);
  color:#fff;
  transform:rotate(-10deg);
  backdrop-filter:blur(5px);
}
.banner-generic-art::before,.banner-generic-art::after{
  content:'';
  position:absolute;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
}
.banner-generic-art::before{inset:-18px}.banner-generic-art::after{inset:19px}
.banner-generic-art span{
  position:absolute;
  left:26px;
  top:22px;
  font-size:36px;
  font-weight:900;
  line-height:1;
}
.banner-generic-art i{
  position:absolute;
  right:23px;
  bottom:20px;
  color:#ffd969;
  font-size:31px;
  font-style:normal;
  font-weight:900;
  line-height:1;
}
.atividades-aulas-home{margin-top:0}
@media(min-width:760px){
  .atividades-aulas-home{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:16px;
  }
  .home-aulas-highlight .atividades-aulas-home .banner-home{height:285px}
}
@media(max-width:760px){
  .banner-generic-art{right:17px;bottom:15px;width:84px;height:84px}
  .banner-generic-art::before{inset:-12px}.banner-generic-art::after{inset:15px}
  .banner-generic-art span{left:20px;top:17px;font-size:27px}
  .banner-generic-art i{right:17px;bottom:14px;font-size:24px}
}

/* EXPERIÊNCIA INSTALÁVEL (PWA) */
.hero-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero-install-app{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.27);background:rgba(255,255,255,.10);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:transform .18s ease,background .18s ease,border-color .18s ease}
.hero-install-app:hover{background:rgba(245,180,0,.18);border-color:#f5b400;transform:translateY(-2px)}
.hero-install-app svg{width:17px;height:17px;fill:currentColor}
.pwa-install-hint{width:100%;max-width:520px;margin:3px 0 0;color:rgba(255,255,255,.76);font-size:12px;line-height:1.4}
@media(max-width:560px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%;text-align:center}.hero-install-app{min-height:45px}.pwa-install-hint{font-size:11px}}

/* LOGIN DO CLIENTE — integrado ao visual público */
.login-page{
  min-height:100vh;
  background:linear-gradient(180deg,#f1f4f6 0,#f6f7f9 38%,#fff 100%);
}

.login-main{
  padding:44px 0 64px;
}

.login-container{
  width:min(94%, 540px);
}

.login-intro{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  border-radius:22px;
  padding:28px;
  color:#fff;
  background:linear-gradient(130deg,#111 0%,#14394e 60%,#1f7a73 100%);
  box-shadow:0 14px 30px rgba(10,49,72,.18);
}

.login-intro::before,
.login-intro::after{
  position:absolute;
  border-radius:50%;
  content:"";
  pointer-events:none;
}

.login-intro::before{
  top:-117px;
  right:-72px;
  width:235px;
  height:235px;
  border:1px solid rgba(255,255,255,.27);
  box-shadow:0 0 0 28px rgba(255,255,255,.04),0 0 0 58px rgba(255,255,255,.035);
}

.login-intro::after{
  right:62px;
  bottom:-78px;
  width:118px;
  height:118px;
  background:rgba(245,180,0,.26);
}

.login-intro > *{
  position:relative;
  z-index:1;
}

.login-kicker{
  display:block;
  margin-bottom:9px;
  color:#ffdb65;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.1px;
  text-transform:uppercase;
}

.login-intro h1{
  max-width:385px;
  margin:0;
  font-size:32px;
  line-height:1.04;
  letter-spacing:-1px;
}

.login-intro p{
  max-width:382px;
  margin:10px 0 0;
  color:rgba(255,255,255,.86);
  line-height:1.48;
}

.login-card{
  gap:16px;
  border:1px solid rgba(0,0,0,.05);
  padding:26px;
}

.login-card-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:2px;
}

.login-card-icon{
  display:grid;
  width:43px;
  height:43px;
  flex:0 0 43px;
  place-items:center;
  border-radius:14px;
  background:#fff3cf;
  color:#533e00;
}

.login-card-icon svg{
  width:21px;
  height:21px;
  fill:currentColor;
}

.login-card-heading h2{
  margin:0;
  color:#171717;
  font-size:22px;
  letter-spacing:-.45px;
}

.login-card-heading p{
  margin:4px 0 0;
  color:#687078;
  font-size:13px;
  line-height:1.4;
}

.login-field{
  display:grid;
  gap:6px;
}

.login-input-wrap{
  position:relative;
}

.login-input-wrap input{
  min-height:52px;
  padding:13px 82px 13px 45px;
  border-color:#dce2e5;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.login-input-wrap input:focus{
  outline:none;
  border-color:#d6a009;
  box-shadow:0 0 0 3px rgba(245,180,0,.18);
}

.login-input-icon{
  position:absolute;
  top:50%;
  left:15px;
  z-index:1;
  width:19px;
  height:19px;
  transform:translateY(-50%);
  fill:#778087;
  pointer-events:none;
}

.login-password-toggle{
  position:absolute;
  top:50%;
  right:9px;
  min-height:35px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  transform:translateY(-50%);
  background:transparent;
  color:#31444a;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.login-password-toggle:hover,
.login-password-toggle:focus-visible{
  outline:none;
  background:#eef3f5;
}

.login-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:51px;
  margin-top:3px;
  font-size:15px;
}

.login-submit span{
  font-size:19px;
  line-height:1;
}

.login-register{
  margin:1px 0 0;
  color:#5f666d;
  font-size:14px;
  line-height:1.45;
  text-align:center;
}

.login-register a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#1b5f75;
}

.login-register a:hover{
  text-decoration:underline;
}

.login-register a span{
  font-size:16px;
  line-height:1;
}

.login-support{
  margin:15px auto 0;
  color:#757c82;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

@media(max-width:760px){
  .login-page{
    padding-bottom:0;
  }

  .login-main{
    padding:19px 0 42px;
  }

  .login-container{
    width:min(92%, 540px);
  }

  .login-intro{
    border-radius:22px;
    padding:24px 21px;
  }

  .login-intro h1{
    max-width:310px;
    font-size:28px;
  }

  .login-intro p{
    max-width:290px;
    font-size:14px;
  }

  .login-card{
    border-radius:22px;
    padding:20px 18px;
  }

  .login-card-heading h2{
    font-size:21px;
  }
}

/* CADASTRO DO CLIENTE — integrado ao visual público */
.cadastro-page{
  min-height:100vh;
  background:linear-gradient(180deg,#f1f4f6 0,#f6f7f9 36%,#fff 100%);
}

.cadastro-main{
  padding:40px 0 64px;
}

.cadastro-container{
  width:min(94%, 720px);
  max-width:720px;
}

.cadastro-intro{
  position:relative;
  overflow:hidden;
  margin-bottom:18px;
  border-radius:22px;
  padding:27px 29px;
  color:#fff;
  background:linear-gradient(130deg,#111 0%,#1a1a1a 67%,#403107 130%);
  box-shadow:0 14px 30px rgba(10,10,10,.16);
}

.cadastro-intro::before,
.cadastro-intro::after{
  position:absolute;
  border-radius:50%;
  content:"";
  pointer-events:none;
}

.cadastro-intro::before{
  top:-107px;
  right:-78px;
  width:230px;
  height:230px;
  border:1px solid rgba(245,180,0,.34);
  box-shadow:0 0 0 27px rgba(245,180,0,.045),0 0 0 57px rgba(255,255,255,.025);
}

.cadastro-intro::after{
  right:68px;
  bottom:-78px;
  width:118px;
  height:118px;
  background:rgba(245,180,0,.16);
}

.cadastro-intro > *{
  position:relative;
  z-index:1;
}

.cadastro-kicker{
  display:block;
  margin-bottom:9px;
  color:#ffdb65;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.1px;
  text-transform:uppercase;
}

.cadastro-intro h1{
  margin:0;
  font-size:32px;
  line-height:1.04;
  letter-spacing:-1px;
}

.cadastro-intro p{
  max-width:470px;
  margin:10px 0 0;
  color:rgba(255,255,255,.86);
  line-height:1.48;
}

.cadastro-card{
  gap:18px;
  border:1px solid rgba(0,0,0,.055);
  padding:27px;
}

.cadastro-card-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:1px;
}

.cadastro-card-icon{
  display:grid;
  width:43px;
  height:43px;
  flex:0 0 43px;
  place-items:center;
  border-radius:14px;
  background:#fff3cf;
  color:#533e00;
}

.cadastro-card-icon svg{
  width:22px;
  height:22px;
  fill:currentColor;
}

.cadastro-card-heading h2{
  margin:0;
  color:#171717;
  font-size:22px;
  letter-spacing:-.45px;
}

.cadastro-card-heading p{
  margin:4px 0 0;
  color:#687078;
  font-size:13px;
  line-height:1.4;
}

.cadastro-fieldset{
  min-width:0;
  border:0;
  padding:0;
}

.cadastro-fieldset legend{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  margin-bottom:10px;
  color:#384048;
  font-size:13px;
  font-weight:900;
}

.cadastro-fieldset legend span{
  display:inline-grid;
  width:21px;
  height:21px;
  place-items:center;
  border-radius:50%;
  background:#f5b400;
  color:#171202;
  font-size:11px;
  font-weight:900;
}

.cadastro-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.cadastro-field{
  display:grid;
  gap:6px;
  min-width:0;
}

.cadastro-field-full{
  grid-column:1 / -1;
}

.cadastro-card input:not([type="checkbox"]){
  min-height:51px;
  border-color:#dce2e5;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.cadastro-card input:not([type="checkbox"]):focus{
  outline:none;
  border-color:#d6a009;
  box-shadow:0 0 0 3px rgba(245,180,0,.18);
}

.cadastro-password-wrap{
  position:relative;
}

.cadastro-password-wrap input{
  padding-right:78px;
}

.cadastro-password-toggle{
  position:absolute;
  top:50%;
  right:9px;
  min-height:35px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  transform:translateY(-50%);
  background:transparent;
  color:#31444a;
  font:inherit;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.cadastro-password-toggle:hover,
.cadastro-password-toggle:focus-visible{
  outline:none;
  background:#eef3f5;
}

.cadastro-card .form-help{
  margin-top:8px;
}

.cadastro-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  min-height:51px;
  margin-top:1px;
  font-size:15px;
}

.cadastro-submit span{
  font-size:19px;
  line-height:1;
}

.cadastro-login-link{
  margin:0;
  color:#5f666d;
  font-size:14px;
  line-height:1.45;
  text-align:center;
}

.cadastro-login-link a{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#1b5f75;
}

.cadastro-login-link a:hover{
  text-decoration:underline;
}

.cadastro-login-link a span{
  font-size:16px;
  line-height:1;
}

.cadastro-support{
  margin:15px auto 0;
  color:#757c82;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}

@media(max-width:760px){
  .cadastro-page{ padding-bottom:0; }
  .cadastro-main{ padding:19px 0 42px; }
  .cadastro-container{ width:min(92%, 720px); }
  .cadastro-intro{ border-radius:22px; padding:24px 21px; }
  .cadastro-intro h1{ font-size:28px; }
  .cadastro-intro p{ max-width:300px; font-size:14px; }
  .cadastro-card{ border-radius:22px; padding:20px 18px; }
  .cadastro-card-heading h2{ font-size:21px; }
}

@media(max-width:560px){
  .cadastro-fields{ grid-template-columns:1fr; }
  .cadastro-field-full{ grid-column:auto; }
  .cadastro-card{ gap:16px; }
  .cadastro-fieldset legend{ margin-bottom:9px; }
}


/* Reserva por duração: quadras com períodos consecutivos */
.agenda-duracao-form{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:16px 18px;border:1px solid #dcebe0;border-radius:18px;background:linear-gradient(135deg,#f7fcf8,#fff);box-shadow:0 8px 20px rgba(21,72,42,.05)}
.agenda-duracao-form>div:first-child{display:grid;gap:3px}.agenda-duracao-eyebrow{color:#2b7a49;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.agenda-duracao-form strong{color:#20462f;font-size:15px}.agenda-duracao-form small{color:#74867b;font-size:12px;line-height:1.4}.agenda-duracao-opcoes{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.agenda-duracao-opcao{position:relative;display:inline-flex;cursor:pointer}.agenda-duracao-opcao input{position:absolute;opacity:0;pointer-events:none}.agenda-duracao-opcao span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border:1px solid #d8e7dc;border-radius:11px;background:#fff;color:#64766b;font-size:12px;font-weight:900;transition:.16s ease}.agenda-duracao-opcao:hover span{border-color:#92c7a3;color:#246b41}.agenda-duracao-opcao.is-active span{border-color:#237346;background:#237346;color:#fff;box-shadow:0 7px 13px rgba(35,115,70,.18)}.slot-duracao-info{display:inline-flex;align-items:center;margin:8px 0 0;padding:5px 8px;border-radius:999px;background:#eaf7ee;color:#277445;font-size:10px;font-weight:900}.reserva-duracao-card{border-color:#d8eadd;background:linear-gradient(135deg,#f8fcf9,#fff)}.reserva-duracao-resumo{display:inline-flex;align-items:center;margin-top:8px;padding:5px 9px;border-radius:999px;background:#e8f7ed;color:#236f42;font-size:11px;font-weight:900}
@media(max-width:680px){.agenda-duracao-form{display:grid;gap:14px;padding:15px}.agenda-duracao-opcoes{justify-content:flex-start}.agenda-duracao-opcao{flex:1 0 calc(50% - 4px)}.agenda-duracao-opcao span{width:100%;padding:0 9px}}

/* Recuperação de senha: feedback positivo segue o padrão visual da conta. */
.form-sucesso{
  margin:0;
  padding:12px 14px;
  border:1px solid #a7d8bb;
  border-radius:10px;
  background:#effaf3;
  color:#176b3a;
  font-size:14px;
  line-height:1.45;
}

/* Confirmação de e-mail na página de sucesso */
.success-email-confirmation{
  display:block;
  margin-top:10px;
  color:#18763e;
  font-weight:700;
}
.success-email-confirmation small{
  display:block;
  margin-top:3px;
  color:inherit;
  font-size:.88em;
  font-weight:600;
  opacity:.86;
}

/* Compartilhamento de reserva no WhatsApp: página de sucesso. */
.success-actions.success-actions--with-whatsapp{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.success-actions.success-actions--with-whatsapp .btn-success-whatsapp{
  background:#1f9d55;
  color:#fff;
  box-shadow:0 9px 17px rgba(31,157,85,.18);
}
.success-actions.success-actions--with-whatsapp .btn-success-whatsapp:hover{
  background:#178748;
  color:#fff;
}
.success-actions.success-actions--with-whatsapp .btn-success-whatsapp svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:760px){
  .success-actions.success-actions--with-whatsapp{grid-template-columns:1fr;}
}



/* ================================================================
   MINHA CONTA — PAINEL DO CLIENTE
   Estrutura visual centralizada para a página minha-conta.php
   ================================================================ */
:root{--mc-ink:#17211d;--mc-green:#1b8b52;--mc-green-dark:#0c5f36;--mc-lime:#c9f35d;--mc-paper:#f7f8f3;--mc-line:#e1e7df;--mc-muted:#69756e;--mc-shadow:0 18px 45px rgba(22,43,30,.11)}
    .mc-page{padding:26px 0 118px;background:linear-gradient(180deg,#f5f8f3 0,#fff 420px);min-height:100vh}.mc-wrap{width:min(1160px,92vw);margin:0 auto}.mc-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.mc-brand{display:flex;align-items:center;gap:10px;color:var(--mc-ink);font-weight:900;letter-spacing:-.02em}.mc-brand-mark{width:35px;height:35px;border-radius:12px;background:var(--mc-ink);color:#fff;display:grid;place-items:center;font-size:15px}.mc-link-home{color:var(--mc-green-dark);font-weight:800;font-size:14px}.mc-hero{position:relative;overflow:hidden;background:var(--mc-ink);color:#fff;border-radius:28px;padding:28px;box-shadow:var(--mc-shadow)}.mc-hero:before,.mc-hero:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.mc-hero:before{width:260px;height:260px;right:-105px;top:-150px;background:rgba(201,243,93,.20)}.mc-hero:after{width:185px;height:185px;right:84px;bottom:-130px;background:rgba(46,174,104,.30)}.mc-profile{position:relative;z-index:1;display:flex;gap:18px;align-items:center;flex-wrap:wrap}.mc-avatar{width:68px;height:68px;flex:0 0 68px;border-radius:22px;background:var(--mc-lime);display:grid;place-items:center;color:#18231d;font-size:23px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.18)}.mc-hello{flex:1;min-width:220px}.mc-kicker{font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-bottom:6px}.mc-hello h1{font-size:clamp(25px,4vw,38px);line-height:1.04;letter-spacing:-.05em;margin:0}.mc-hello p{margin:9px 0 0;color:rgba(255,255,255,.75);font-size:14px}.mc-hero-actions{display:flex;gap:10px;flex-wrap:wrap}.mc-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:12px 15px;font-weight:900;font-size:14px;transition:transform .18s ease,box-shadow .18s ease;cursor:pointer}.mc-button:hover{transform:translateY(-1px)}.mc-button-primary{background:var(--mc-lime);color:#1a251f;box-shadow:0 9px 18px rgba(0,0,0,.18)}.mc-button-ghost{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.16)}.mc-grid-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.mc-stat{background:#fff;border:1px solid var(--mc-line);border-radius:18px;padding:16px;box-shadow:0 8px 22px rgba(23,42,31,.04)}.mc-stat span{display:block;color:var(--mc-muted);font-size:12px;font-weight:800}.mc-stat strong{display:block;margin-top:7px;font-size:22px;line-height:1.05;letter-spacing:-.04em;color:var(--mc-ink)}.mc-stat small{display:block;margin-top:5px;color:#7b857f;font-size:12px}.mc-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.78fr);gap:18px;align-items:start}.mc-panel{background:#fff;border:1px solid var(--mc-line);border-radius:22px;padding:20px;box-shadow:0 8px 22px rgba(23,42,31,.04)}.mc-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.mc-eyebrow{font-size:11px;color:var(--mc-green-dark);font-weight:900;letter-spacing:.1em;text-transform:uppercase}.mc-panel h2{margin:3px 0 0;font-size:21px;letter-spacing:-.04em;color:var(--mc-ink)}.mc-panel-sub{margin:6px 0 0;color:var(--mc-muted);font-size:13px;line-height:1.5}.mc-next{position:relative;overflow:hidden;border-radius:18px;padding:18px;background:linear-gradient(132deg,#eef9e9,#f9fff4);border:1px solid #d7ead9}.mc-next.is-live{background:linear-gradient(132deg,#e7f9eb,#efffee);border-color:#a8d8b6}.mc-next.is-live:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(25,139,82,.16) var(--mc-progress,0%),transparent var(--mc-progress,0%));pointer-events:none}.mc-next > *{position:relative;z-index:1}.mc-next-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.mc-live{display:inline-flex;align-items:center;gap:6px;color:#086234;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mc-live i{width:8px;height:8px;border-radius:50%;background:#14a85b;box-shadow:0 0 0 0 rgba(20,168,91,.48);animation:mcPulse 1.7s infinite}.mc-pill{padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.mc-pill.confirmed{background:#dff5e7;color:#126739}.mc-pill.pending{background:#fff1cb;color:#885d00}.mc-pill.cancelled,.mc-pill.expired{background:#f5e5e5;color:#a84444}.mc-pill.completed{background:#e7edf0;color:#52616a}.mc-pill.neutral{background:#edf0ee;color:#56625b}.mc-next-main{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:20px}.mc-next-time{font-size:34px;font-weight:950;letter-spacing:-.07em;color:var(--mc-ink);line-height:.92}.mc-next-date{margin-top:7px;color:#53635a;font-weight:800;font-size:13px}.mc-next-title{font-size:19px;font-weight:900;color:var(--mc-ink);text-align:right}.mc-next-type{margin-top:5px;color:#617167;font-size:13px;text-align:right}.mc-next-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(37,89,55,.13);font-size:13px}.mc-next-cost{font-weight:900;color:var(--mc-green-dark)}.mc-timer{font-weight:800;color:#446451}.mc-empty{border:1px dashed #cbd7ce;border-radius:17px;padding:20px;background:#fbfdfb;color:#66756b;font-size:14px;line-height:1.55}.mc-empty strong{display:block;color:#26372d;font-size:15px;margin-bottom:4px}.mc-side-stack{display:grid;gap:18px}.mc-account-list{display:grid;gap:10px}.mc-account-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf1ee}.mc-account-row:last-child{border-bottom:0;padding-bottom:0}.mc-account-row:first-child{padding-top:0}.mc-account-row span{font-size:12px;color:var(--mc-muted);font-weight:800}.mc-account-row strong{font-size:13px;color:var(--mc-ink);text-align:right;overflow-wrap:anywhere}.mc-contract{border-radius:16px;padding:14px;background:#f7fbf8;border:1px solid #dbe9df}.mc-contract-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.mc-contract h3{margin:0;color:var(--mc-ink);font-size:15px}.mc-contract p{margin:8px 0 12px;color:#65736a;font-size:12px;line-height:1.45}.mc-contract a{font-size:12px;font-weight:900;color:var(--mc-green-dark)}.mc-fixed-list{display:grid;gap:12px}.mc-fixed{border:1px solid var(--mc-line);border-radius:17px;padding:15px;background:#fff}.mc-fixed-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mc-fixed h3{font-size:15px;color:var(--mc-ink);margin:0}.mc-fixed p{margin:6px 0 0;color:#637168;font-size:13px}.mc-fixed-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #edf1ee;padding-top:11px;margin-top:12px}.mc-fixed-price{font-weight:900;color:var(--mc-green-dark);font-size:14px}.mc-fixed-validity{font-size:11px;color:var(--mc-muted);text-align:right}.mc-reservations{margin-top:18px}.mc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.mc-tabs{display:flex;gap:7px;flex-wrap:wrap}.mc-tab{border:1px solid #dfe7e1;background:#fff;color:#56655b;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;cursor:pointer}.mc-tab.is-active{background:var(--mc-ink);color:#fff;border-color:var(--mc-ink)}.mc-reservation-list{display:grid;gap:11px}.mc-reservation-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--mc-line);border-radius:17px;padding:13px;background:#fff;transition:transform .18s ease,box-shadow .18s ease}.mc-reservation-card:hover{transform:translateY(-1px);box-shadow:0 9px 20px rgba(23,42,31,.07)}.mc-reservation-date{width:56px;min-height:58px;border-radius:15px;background:#f2f7f3;display:grid;place-items:center;text-align:center;padding:7px}.mc-reservation-date b{display:block;color:var(--mc-green-dark);font-size:18px;line-height:1}.mc-reservation-date span{display:block;color:#6f7c74;font-size:10px;font-weight:900;margin-top:4px;text-transform:uppercase}.mc-reservation-info{min-width:0}.mc-reservation-info h3{margin:0;color:var(--mc-ink);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-reservation-info p{margin:5px 0 0;color:var(--mc-muted);font-size:12px;line-height:1.45}.mc-reservation-meta{text-align:right}.mc-reservation-meta strong{display:block;color:var(--mc-ink);font-size:14px}.mc-reservation-meta .mc-pill{margin-top:7px}.mc-reservation-timer{display:block;margin-top:5px;color:var(--mc-green-dark);font-size:11px;font-weight:900}.mc-reschedule-link{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:8px 10px;border-radius:10px;background:#e9f8ec;color:#17663a;font-size:11px;font-weight:900;text-decoration:none;border:1px solid #b9dfc2}.mc-reschedule-link:hover{background:#dff4e4}.mc-reschedule-deadline{display:block;margin-top:6px;color:#6e7d74;font-size:10px;line-height:1.35;font-weight:800}.mc-remarcacao-alert{margin:0 0 17px;padding:13px 15px;border:1px solid #bce4c7;border-radius:15px;background:#eaf8ee;color:#23683d;font-size:13px;font-weight:800}.mc-callout{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:17px 18px;border-radius:19px;background:linear-gradient(135deg,#f4f9de,#ecf7cf);border:1px solid #dbe9a7}.mc-callout h2{font-size:17px;margin:0;color:#21311f;letter-spacing:-.03em}.mc-callout p{font-size:13px;margin:5px 0 0;color:#607058}.mc-callout .mc-button{background:#263a2a;color:#fff}.mc-class-panel{margin-top:18px}.mc-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mc-class-card{position:relative;overflow:hidden;border:1px solid var(--mc-line);border-radius:18px;padding:16px;background:linear-gradient(145deg,#fff,#fbfdf9)}.mc-class-card.is-live{border-color:#8bd2a6;background:linear-gradient(145deg,#f2fff2,#fbfff8)}.mc-class-card.is-live:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,139,82,.10) var(--mc-class-progress,0%),transparent var(--mc-class-progress,0%));pointer-events:none}.mc-class-card>*{position:relative;z-index:1}.mc-class-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mc-class-kicker{display:block;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--mc-green-dark);margin-bottom:5px}.mc-class-card h3{margin:0;color:var(--mc-ink);font-size:17px;letter-spacing:-.03em}.mc-class-modality{margin:5px 0 0;color:#627168;font-size:13px}.mc-class-badge{flex:0 0 auto;border-radius:999px;padding:7px 9px;font-size:10px;line-height:1;font-weight:900;white-space:nowrap;background:#edf1ee;color:#59655d}.mc-class-badge.live{background:#dff5e7;color:#126739}.mc-class-badge.paused{background:#fff1cb;color:#885d00}.mc-class-info{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.mc-class-info div{border-radius:12px;background:#f6f9f5;padding:10px}.mc-class-info span{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#77837b}.mc-class-info strong{display:block;color:var(--mc-ink);font-size:12px;line-height:1.35;margin-top:4px}.mc-class-next{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding-top:12px;border-top:1px solid #e7eee8}.mc-class-next small{display:block;color:var(--mc-muted);font-size:11px;font-weight:800}.mc-class-next strong{display:block;color:var(--mc-green-dark);font-size:13px;margin-top:3px}.mc-class-payment{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:11px 12px;border-radius:13px;background:#f7f9f7}.mc-class-payment .mc-payment-main{min-width:0}.mc-class-payment small{display:block;color:#728077;font-size:11px}.mc-class-payment b{display:block;color:var(--mc-ink);font-size:13px;margin-top:3px}.mc-payment-status{font-size:10px;font-weight:900;border-radius:999px;padding:7px 9px;white-space:nowrap}.mc-payment-status.ok{background:#dff5e7;color:#126739}.mc-payment-status.warning,.mc-payment-status.today{background:#fff1cb;color:#885d00}.mc-payment-status.danger{background:#fbe5e5;color:#a84444}.mc-payment-status.neutral{background:#edf0ee;color:#56625b}.mc-class-help{display:inline-block;margin-top:10px;color:var(--mc-green-dark);font-size:12px;font-weight:900}.mc-class-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px}.mc-class-action{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 11px;border:1px solid #b9dfc2;border-radius:11px;background:#e9f8ec;color:#17663a;text-decoration:none;font-size:11px;font-weight:900}.mc-class-action:hover{background:#dff4e4}.mc-class-action.checkin{border-color:#1d7d45;background:#1d7d45;color:#fff}.mc-class-action.checkin button{all:unset;cursor:pointer}.mc-class-action form{margin:0}.mc-class-remarcacao-note{display:block;width:100%;color:#718077;font-size:10px;font-weight:800;line-height:1.35}.mc-hidden{display:none!important}@keyframes mcPulse{70%{box-shadow:0 0 0 8px rgba(20,168,91,0)}}
    @media(max-width:900px){.mc-grid-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mc-class-grid{grid-template-columns:1fr}.mc-layout{grid-template-columns:1fr}.mc-side-stack{grid-template-columns:1fr 1fr}.mc-hero{padding:22px}.mc-hero-actions{width:100%}.mc-hero-actions .mc-button{flex:1}.mc-next-title,.mc-next-type{text-align:left}.mc-next-main{align-items:flex-start;flex-direction:column}.mc-reservation-card{grid-template-columns:auto minmax(0,1fr)}.mc-reservation-meta{grid-column:2;text-align:left;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mc-reservation-meta .mc-pill{margin-top:0}.mc-reservation-meta strong{font-size:13px}}
    @media(max-width:640px){.mc-page{padding-top:15px}.mc-wrap{width:min(94vw,560px)}.mc-topbar{margin-bottom:12px}.mc-link-home{font-size:12px}.mc-hero{border-radius:22px}.mc-avatar{width:57px;height:57px;flex-basis:57px;border-radius:18px;font-size:19px}.mc-grid-stats{gap:9px;margin:12px 0}.mc-stat{padding:13px;border-radius:15px}.mc-stat strong{font-size:19px}.mc-panel{border-radius:19px;padding:16px}.mc-side-stack{grid-template-columns:1fr}.mc-next{padding:16px}.mc-next-time{font-size:29px}.mc-next-title{font-size:17px}.mc-reservation-card{padding:12px;gap:10px}.mc-reservation-date{width:49px;min-height:52px;border-radius:13px}.mc-reservation-date b{font-size:16px}.mc-reservation-info h3{font-size:14px}.mc-toolbar{align-items:flex-start;flex-direction:column}.mc-callout{align-items:flex-start;flex-direction:column}.mc-callout .mc-button{width:100%}.mc-class-info{grid-template-columns:1fr 1fr}.mc-class-payment{align-items:flex-start;flex-direction:column}}


    /* Cartões de reservas: informações distribuídas em blocos para evitar que preço, status e ação fiquem amontoados. */
    .mc-reservation-list{gap:13px}
    .mc-reservation-card{grid-template-columns:64px minmax(0,1fr) minmax(174px,auto);gap:17px;align-items:center;padding:16px 17px;border-radius:19px}
    .mc-reservation-date{width:58px;min-height:62px;border-radius:16px}
    .mc-reservation-info{padding:2px 0}
    .mc-reservation-info h3{font-size:16px}
    .mc-reservation-info p{margin-top:6px;line-height:1.5}
    .mc-reservation-meta{display:grid;justify-items:end;align-content:center;gap:7px;min-width:174px;text-align:right}
    .mc-reservation-summary{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
    .mc-reservation-summary strong{display:block;color:var(--mc-ink);font-size:14px;line-height:1;white-space:nowrap}
    .mc-reservation-summary .mc-pill{margin:0}
    .mc-reservation-timer{margin:0;line-height:1.35}
    .mc-reschedule-area{display:grid;justify-items:end;gap:5px;width:100%;margin-top:2px;padding-top:9px;border-top:1px solid #eaf0eb}
    .mc-reschedule-area.is-closed{padding-top:6px}
    .mc-reschedule-link{margin:0;padding:8px 11px;border-radius:11px;line-height:1.15}
    .mc-reschedule-deadline{margin:0;max-width:174px;line-height:1.4}

    @media(max-width:900px){
      .mc-reservation-card{grid-template-columns:64px minmax(0,1fr);gap:13px;align-items:start;padding:16px}
      .mc-reservation-date{grid-row:span 2;align-self:start}
      .mc-reservation-info{padding-top:4px}
      .mc-reservation-meta{grid-column:2;justify-items:start;min-width:0;width:100%;margin-top:5px;padding-top:10px;border-top:1px solid #edf2ee;text-align:left}
      .mc-reservation-summary{justify-content:flex-start}
      .mc-reschedule-area{justify-items:start;width:auto;margin-top:1px;padding-top:0;border-top:0}
      .mc-reschedule-area.is-closed{padding-top:0}
      .mc-reschedule-deadline{max-width:none}
    }

    @media(max-width:640px){
      .mc-reservation-list{gap:10px}
      .mc-reservation-card{grid-template-columns:53px minmax(0,1fr);gap:11px;padding:14px}
      .mc-reservation-date{width:51px;min-height:54px;border-radius:14px;padding:5px}
      .mc-reservation-info{padding-top:2px}
      .mc-reservation-info h3{font-size:14px}
      .mc-reservation-info p{font-size:11px;line-height:1.45}
      .mc-reservation-meta{gap:6px;margin-top:4px;padding-top:9px}
      .mc-reservation-summary{gap:7px;flex-wrap:wrap}
      .mc-reservation-summary strong{font-size:13px}
      .mc-reschedule-area{gap:4px}
      .mc-reschedule-link{padding:8px 10px}
    }


    .mc-checkin-feedback{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:13px 15px;border-radius:16px;border:1px solid #c8e6d0;background:#effaf2;color:#17653a;font-weight:800;font-size:13px;box-shadow:0 8px 18px rgba(23,84,46,.05)}.mc-checkin-feedback.is-error{border-color:#f1c9c6;background:#fff4f3;color:#993a35}.mc-checkin-feedback>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1b8b52;color:#fff;font-size:13px;font-weight:950;flex:0 0 24px}.mc-checkin-feedback.is-error>span{background:#c64b45}.mc-checkin-feedback p{margin:0}.mc-featured-checkin{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-top:15px;padding-top:14px;border-top:1px solid rgba(37,89,55,.13)}.mc-featured-checkin small{max-width:250px;color:#60745f;font-size:11px;line-height:1.42;font-weight:800;text-align:right}.mc-checkin-button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 14px;border-radius:12px;background:linear-gradient(135deg,#147644,#1fa05d);color:#fff;font:inherit;font-size:13px;font-weight:900;box-shadow:0 8px 17px rgba(21,122,70,.22);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.mc-checkin-button:hover{transform:translateY(-1px);box-shadow:0 11px 21px rgba(21,122,70,.28)}.mc-checkin-button span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:rgba(255,255,255,.19);font-size:11px}.mc-checkin-button-small{min-height:34px;margin-top:8px;padding:0 10px;border-radius:10px;font-size:11px;box-shadow:none}.mc-checkin-button-small span{width:15px;height:15px;font-size:10px}.mc-checkin-done{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:15px;padding:9px 11px;border-radius:11px;background:#e4f6e9;color:#136338;font-size:12px;font-weight:900}.mc-checkin-done>span{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#1c8a4d;color:#fff;font-size:10px}.mc-checkin-done-small{margin-top:8px;padding:7px 9px;border-radius:9px;font-size:10px}.mc-checkin-done-small>span{width:14px;height:14px;font-size:9px}.mc-card-checkin{margin:0}.mc-reservations{scroll-margin-top:18px}
    @media(max-width:640px){.mc-featured-checkin{align-items:stretch;flex-direction:column}.mc-featured-checkin small{max-width:none;text-align:left}.mc-featured-checkin .mc-checkin-button{width:100%;min-height:46px}.mc-checkin-feedback{margin-top:12px;padding:12px}.mc-checkin-button-small{width:100%;min-height:38px}.mc-card-checkin{width:100%}}
    .mc-class-notices{margin-top:18px}.mc-notice-list{display:grid;gap:9px}.mc-notice{padding:12px;border:1px solid #d8e8db;border-radius:13px;background:#f8fcf9}.mc-notice strong{display:block;color:#2d523c;font-size:13px}.mc-notice p{margin:5px 0 0;color:#687b70;font-size:12px;line-height:1.45}.mc-notice time{display:block;margin-top:7px;color:#85938b;font-size:10px;font-weight:800}.mc-professor-access{margin-top:16px;padding:13px;border-radius:15px;background:#eef8f1;border:1px solid #c8e5d0;color:#235f3b;font-size:12px;font-weight:800}.mc-professor-access a{color:#195f36;font-weight:950;text-decoration:none}


/* Minha Conta — reorganização compacta e avisos prioritários */
.mc-empty-action{margin-top:13px}
.mc-quick-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 18px}
.mc-quick-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--mc-line);border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(23,42,31,.035)}
.mc-quick-item>div{min-width:0}.mc-quick-item span:not(.mc-quick-icon){display:block;color:var(--mc-muted);font-size:11px;font-weight:850}.mc-quick-item strong{display:block;margin-top:3px;overflow:hidden;color:var(--mc-ink);font-size:14px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.mc-quick-icon{display:grid;flex:0 0 30px;place-items:center;width:30px;height:30px;border-radius:10px;background:#eff8f1;color:var(--mc-green-dark);font-size:14px;font-weight:950}.mc-quick-item.is-attention{border-color:#f0d499;background:#fffaf0}.mc-quick-item.is-attention .mc-quick-icon{background:#fff0c9;color:#9a6200}.mc-quick-item.is-attention strong{color:#8e5b00}
.mc-attention{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;margin:18px 0;padding:17px 18px;border:1px solid #f0c76d;border-radius:20px;background:linear-gradient(135deg,#fff8e9,#fffdf6);box-shadow:0 14px 26px rgba(145,95,0,.08);overflow:hidden}.mc-attention:before{position:absolute;inset:0 auto 0 0;width:5px;background:#e5a11d;content:""}.mc-attention-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#f3b62f;color:#422600;font-size:24px;font-weight:950;line-height:1;box-shadow:0 7px 14px rgba(166,111,0,.16)}.mc-attention-main{min-width:0}.mc-attention-kicker{color:#8a5900;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.mc-attention h2{margin:4px 0 0;color:#473005;font-size:18px;letter-spacing:-.03em}.mc-attention p{margin:6px 0 0;color:#7d622d;font-size:12px;line-height:1.48}.mc-attention-counter{align-self:center;padding:7px 9px;border-radius:999px;background:#fff0c6;color:#825400;font-size:11px;font-weight:950;white-space:nowrap}.mc-attention-details{grid-column:2/-1;margin-top:1px}.mc-attention-details summary{display:flex;align-items:center;justify-content:flex-start;gap:8px;color:#805600;font-size:12px;font-weight:950;cursor:pointer;list-style:none}.mc-attention-details summary::-webkit-details-marker{display:none}.mc-attention-details summary .mc-disclosure-chevron{width:8px;height:8px;margin-left:2px}.mc-attention-details[open] summary .mc-disclosure-chevron{transform:rotate(225deg);margin-top:4px}.mc-attention-details .mc-notice-list{margin-top:12px}.mc-attention .mc-notice{border-color:#f1ddad;background:rgba(255,255,255,.68)}.mc-attention .mc-notice strong{color:#5c3c04}.mc-attention .mc-notice p{color:#775f32}.mc-attention .mc-notice time{color:#9d875d}
.mc-disclosure{border:1px solid var(--mc-line);border-radius:20px;background:#fff;box-shadow:0 8px 22px rgba(23,42,31,.04);overflow:hidden}.mc-disclosure+ .mc-disclosure{margin-top:13px}.mc-disclosure>summary{display:flex;align-items:center;gap:11px;padding:15px 17px;cursor:pointer;list-style:none;transition:background .18s ease}.mc-disclosure>summary::-webkit-details-marker{display:none}.mc-disclosure>summary:hover{background:#fbfdfb}.mc-disclosure[open]>summary{border-bottom:1px solid #edf1ee;background:#fbfdfb}.mc-disclosure-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:#eef8f1;color:#17653b;font-size:16px;font-weight:950}.mc-disclosure-title{display:grid;min-width:0;gap:2px;flex:1}.mc-disclosure-title small{color:var(--mc-muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.mc-disclosure-title strong{color:var(--mc-ink);font-size:15px;letter-spacing:-.02em}.mc-disclosure-title em{overflow:hidden;color:#77847c;font-size:11px;font-style:normal;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.mc-disclosure .mc-pill{margin-left:auto}.mc-disclosure-chevron{display:block;width:10px;height:10px;flex:0 0 10px;border-right:2px solid #819087;border-bottom:2px solid #819087;transform:rotate(45deg);transition:transform .18s ease;margin:0 4px 4px 7px}.mc-disclosure[open]>summary .mc-disclosure-chevron{transform:rotate(225deg);margin-top:5px;margin-bottom:0}.mc-disclosure-content{padding:16px}.mc-disclosure-main{margin-top:18px}.mc-disclosure-main>summary{padding:17px 19px}.mc-disclosure-main .mc-disclosure-icon{width:38px;height:38px;flex-basis:38px;border-radius:13px;background:#e7f7eb;font-size:17px}.mc-disclosure-main .mc-disclosure-title strong{font-size:17px}.mc-disclosure-main .mc-disclosure-title em{font-size:12px}.mc-disclosure-main .mc-panel{padding:0;border:0;border-radius:0;box-shadow:none}.mc-disclosure-main .mc-panel-head{margin-bottom:15px}.mc-disclosure-side{box-shadow:none}.mc-disclosure-side>summary{padding:14px 15px}.mc-disclosure-side .mc-disclosure-icon{width:31px;height:31px;flex-basis:31px;border-radius:10px;font-size:14px}.mc-disclosure-side .mc-disclosure-title strong{font-size:14px}.mc-disclosure-side .mc-disclosure-title em{font-size:10px}.mc-disclosure-side .mc-panel-head{margin-bottom:13px}.mc-panel-content{padding:0 15px 15px}
@media(max-width:900px){.mc-attention{grid-template-columns:auto minmax(0,1fr)}.mc-attention-counter{grid-column:2;justify-self:start}.mc-attention-details{grid-column:1/-1}.mc-quick-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.mc-quick-item{padding:11px}.mc-quick-icon{width:28px;height:28px;flex-basis:28px}.mc-quick-item strong{font-size:13px}.mc-disclosure-side{margin-top:0}}
@media(max-width:640px){.mc-attention{gap:11px;margin:14px 0;padding:15px}.mc-attention-icon{width:34px;height:34px;border-radius:11px;font-size:21px}.mc-attention h2{font-size:16px}.mc-attention p{font-size:11px}.mc-attention-counter{font-size:10px}.mc-quick-summary{grid-template-columns:1fr;gap:8px;margin:13px 0 15px}.mc-quick-item{padding:11px 12px}.mc-disclosure-main{margin-top:14px}.mc-disclosure>summary{padding:13px}.mc-disclosure-main>summary{padding:14px}.mc-disclosure-content{padding:13px}.mc-disclosure-title strong{font-size:14px}.mc-disclosure-main .mc-disclosure-title strong{font-size:15px}.mc-disclosure-title em{max-width:170px}.mc-disclosure .mc-pill{font-size:10px;padding:6px 8px}.mc-disclosure-chevron{margin-left:2px}.mc-panel-content{padding:0 13px 13px}}


/* Retorno ao horário selecionado após login */
.login-return-notice {
  margin: 0 0 18px;
  padding: 13px 15px;
  border: 1px solid rgba(42, 113, 70, .22);
  border-radius: 12px;
  background: rgba(235, 248, 238, .95);
  color: #225d38;
  font-size: .92rem;
  line-height: 1.45;
}

.login-return-notice strong {
  display: block;
  margin-bottom: 2px;
  color: #17462a;
}


/* Mensalista de quadra — fluxo de horário fixo semanal */
.mc-callout-monthly{position:relative;overflow:hidden;border-color:#cfe2bb;background:linear-gradient(135deg,#f6fae8,#edf6d8)}
.mc-callout-monthly:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#6f9b37}
.mc-callout-copy{position:relative;z-index:1}
.mc-callout-kicker{display:block;margin-bottom:4px;color:#55782b;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.mc-callout-monthly .mc-button{position:relative;z-index:1;background:#315a2b}
.mc-callout-monthly .mc-button:hover{background:#244b20}

.mensalista-page{min-height:100vh;background:linear-gradient(180deg,#f6faf7 0%,#fff 49%,#f5f8f1 100%)}
.mensalista-main{padding-top:44px;padding-bottom:58px}
.mensalista-hero{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:31px 34px;border:1px solid #cfe2d2;border-radius:27px;background:radial-gradient(circle at 90% 5%,rgba(167,211,102,.35),transparent 34%),linear-gradient(135deg,#173e2e,#235a3b);box-shadow:0 22px 46px rgba(16,57,38,.16);color:#fff}
.mensalista-hero-copy{max-width:700px}.mensalista-kicker{display:block;color:#8cbd7d;font-size:11px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.mensalista-hero h1{margin:8px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.02;letter-spacing:-.055em}.mensalista-hero p{max-width:610px;margin:13px 0 0;color:#d8e8dc;font-size:15px;line-height:1.6}.mensalista-hero-badge{display:grid;justify-items:center;gap:4px;min-width:178px;padding:18px;border:1px solid rgba(232,255,234,.27);border-radius:20px;background:rgba(10,40,24,.24);text-align:center;backdrop-filter:blur(10px)}.mensalista-hero-badge>span{font-size:32px;line-height:1;color:#c2e67d}.mensalista-hero-badge strong{font-size:15px}.mensalista-hero-badge small{color:#d4e6d7;font-size:11px;line-height:1.35}
.mensalista-warning{margin-top:22px;padding:18px 20px;border:1px solid #edcc83;border-radius:18px;background:#fff9e9;color:#79500a}.mensalista-warning strong{display:block;font-size:15px}.mensalista-warning p{margin:6px 0 0;font-size:13px;line-height:1.5}
.mensalista-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.mensalista-steps article{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid #dce8df;border-radius:18px;background:#fff;box-shadow:0 9px 20px rgba(22,61,39,.045)}.mensalista-steps article>span{display:grid;flex:0 0 30px;place-items:center;width:30px;height:30px;border-radius:10px;background:#e4f4e6;color:#17653b;font-size:13px;font-weight:950}.mensalista-steps strong{display:block;color:#263b2c;font-size:13px}.mensalista-steps small{display:block;margin-top:4px;color:#6f7f74;font-size:11px;line-height:1.4}
.mensalista-selection{padding:27px;border:1px solid #dce8df;border-radius:24px;background:#fff;box-shadow:0 14px 28px rgba(23,48,34,.055)}.mensalista-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:19px;border-bottom:1px solid #edf1ee}.mensalista-section-head h2{margin:6px 0 0;color:#23382a;font-size:25px;letter-spacing:-.04em}.mensalista-section-head p{max-width:570px;margin:7px 0 0;color:#6b7b70;font-size:13px;line-height:1.55}.mensalista-price-note{flex:0 0 auto;padding:8px 10px;border-radius:999px;background:#eef7e6;color:#52722b;font-size:11px;font-weight:900;white-space:nowrap}.mensalista-court-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}.mensalista-court-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:13px;align-items:start;padding:18px;border:1px solid #dce8df;border-radius:19px;background:linear-gradient(145deg,#fff,#f9fcf8);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.mensalista-court-card:hover{transform:translateY(-2px);border-color:#afd0b7;box-shadow:0 15px 25px rgba(26,77,46,.1)}.mensalista-court-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#e4f4e7;color:#17653b;font-size:20px;font-weight:950}.mensalista-court-copy{min-width:0}.mensalista-court-copy>span{display:block;color:#69866f;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.mensalista-court-copy h3{margin:4px 0 0;color:#243b2b;font-size:18px;letter-spacing:-.03em}.mensalista-court-copy p{margin:7px 0 0;color:#6c7a71;font-size:12px;line-height:1.48}.mensalista-court-action{grid-column:1/-1;width:100%;margin-top:16px}.mensalista-empty{display:grid;gap:5px;margin-top:20px;padding:22px;border:1px dashed #cbd9ce;border-radius:18px;background:#fbfdfb;color:#607065}.mensalista-empty strong{color:#2b3d2e;font-size:14px}.mensalista-empty span{font-size:12px;line-height:1.45}.mensalista-help{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:19px;padding:18px 20px;border-radius:19px;background:#eff5ee;border:1px solid #dce8df}.mensalista-help strong{display:block;color:#2a3d2d;font-size:15px}.mensalista-help p{margin:5px 0 0;color:#6a796d;font-size:12px}.mensalista-help .btn{flex:0 0 auto}

.agenda-monthly-intro{margin:0 0 18px;padding:18px 20px;border:1px solid #c9e1ce;border-radius:19px;background:linear-gradient(135deg,#eff9ed,#fbfdf8)}.agenda-monthly-kicker{display:block;color:#3d7d47;font-size:10px;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.agenda-monthly-intro h1{margin:5px 0 0;color:#24432c;font-size:24px;letter-spacing:-.04em}.agenda-monthly-intro p{max-width:720px;margin:8px 0 0;color:#61736a;font-size:13px;line-height:1.52}.agenda-monthly-error{display:block;margin-top:12px;color:#965e09;font-size:12px;line-height:1.45}.slot-monthly-info{display:block;max-width:570px;margin-top:8px;color:#8a5d09;font-size:11px;font-weight:800;line-height:1.45}

@media(max-width:800px){.mensalista-hero{align-items:flex-start;flex-direction:column}.mensalista-hero-badge{justify-items:start;width:100%;grid-template-columns:auto 1fr;column-gap:9px;text-align:left}.mensalista-hero-badge>span{grid-row:span 2}.mensalista-hero-badge small{grid-column:2}.mensalista-steps{grid-template-columns:1fr}.mensalista-court-grid{grid-template-columns:1fr}.mensalista-section-head{align-items:flex-start;flex-direction:column}.mensalista-help{align-items:flex-start;flex-direction:column}.mensalista-help .btn{width:100%}}
@media(max-width:640px){.mensalista-main{padding-top:20px;padding-bottom:33px}.mensalista-hero{padding:23px 20px;border-radius:22px}.mensalista-hero h1{font-size:31px}.mensalista-hero p{font-size:13px}.mensalista-steps{margin:15px 0}.mensalista-selection{padding:18px;border-radius:20px}.mensalista-section-head h2{font-size:21px}.mensalista-price-note{white-space:normal}.agenda-monthly-intro{padding:16px;border-radius:17px}.agenda-monthly-intro h1{font-size:21px}}


/* Reposição de aula e créditos por falta de quórum */
:root{--ra-ink:#183628;--ra-green:#1d7541;--ra-lime:#c9f35d;--ra-muted:#6d7d73;--ra-line:#dbe8df;--ra-bg:#f4f8f5}
.ra-page{min-height:100vh;padding:28px 0 54px;background:linear-gradient(180deg,#edf8f0 0,#f9fbf9 340px)}
.ra-wrap{width:min(760px,92vw);margin:0 auto}.ra-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.ra-brand{display:flex;align-items:center;gap:10px;color:var(--ra-ink);font-weight:950;text-decoration:none}.ra-brand .brand-logo-image{display:block;width:auto;max-width:190px;height:38px;object-fit:contain;object-position:left center}.ra-back{color:#266940;font-size:13px;font-weight:900;text-decoration:none}.ra-card{overflow:hidden;border:1px solid var(--ra-line);border-radius:24px;background:#fff;box-shadow:0 16px 36px rgba(27,68,43,.08)}.ra-head{padding:27px;background:linear-gradient(135deg,#183c29,#225d38);color:#fff}.ra-kicker{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ra-lime)}.ra-head h1{margin:8px 0 7px;font-size:30px;letter-spacing:-.05em}.ra-head p{margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.5}.ra-content{padding:24px 27px 28px}.ra-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.ra-summary div{padding:13px;border:1px solid #dcebe0;border-radius:14px;background:#f9fcf9}.ra-summary span{display:block;color:var(--ra-muted);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ra-summary strong{display:block;margin-top:5px;color:var(--ra-ink);font-size:13px;line-height:1.38}.ra-policy,.ra-empty,.ra-alert{margin:0 0 18px;padding:14px;border-radius:14px;font-size:13px;line-height:1.5}.ra-policy{border:1px solid #d6ebda;background:#eff9f1;color:#2e6140}.ra-policy b{color:#175d33}.ra-empty,.ra-alert{border:1px solid #efc9c5;background:#fff4f2;color:#934038}.ra-field{display:block}.ra-field span{display:block;margin-bottom:7px;color:#64756b;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ra-field select{width:100%;min-height:50px;padding:10px 12px;border:1px solid #cfdfd4;border-radius:13px;background:#fff;color:var(--ra-ink);font:inherit;font-size:14px;outline:none}.ra-field select:focus{border-color:#67a77d;box-shadow:0 0 0 3px rgba(42,124,71,.12)}.ra-help{margin:10px 0 0;color:#6f7c74;font-size:12px;line-height:1.5}.ra-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.ra-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 16px;border:1px solid transparent;border-radius:13px;font:inherit;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer}.ra-btn-secondary{border-color:#cfe0d4;background:#fff;color:#315842}.ra-btn-primary{background:#1f7540;color:#fff;box-shadow:0 8px 18px rgba(31,117,64,.19)}.ra-btn:disabled{opacity:.58;cursor:not-allowed}
.mc-creditos-reposicao{margin:0 0 18px;padding:17px;border:1px solid #c9e3d0;border-radius:17px;background:linear-gradient(135deg,#edfaf0,#fff)}.mc-creditos-reposicao-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.mc-creditos-reposicao-head span{display:block;color:#2d7549;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mc-creditos-reposicao-head h2{margin:5px 0 4px;color:#21442f;font-size:18px;letter-spacing:-.03em}.mc-creditos-reposicao-head p{margin:0;color:#6b7e71;font-size:12px;line-height:1.45}.mc-creditos-reposicao-head>b{display:flex;align-items:center;justify-content:center;min-width:31px;height:31px;border-radius:999px;background:#1d7541;color:#fff;font-size:13px}.mc-creditos-reposicao-list{display:grid;gap:8px;margin-top:14px}.mc-credito-reposicao-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #dbeadf;border-radius:12px;background:#fff}.mc-credito-reposicao-item strong{display:block;color:#315440;font-size:13px}.mc-credito-reposicao-item span{display:block;margin-top:3px;color:#788a7f;font-size:11px}.mc-credito-reposicao-item a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border-radius:9px;background:#1e7040;color:#fff;font-size:11px;font-weight:900;text-decoration:none;white-space:nowrap}
@media(max-width:620px){.ra-page{padding-top:17px}.ra-top{align-items:flex-start;flex-direction:column}.ra-summary{grid-template-columns:1fr}.ra-head,.ra-content{padding-left:18px;padding-right:18px}.ra-actions{align-items:stretch;flex-direction:column-reverse}.ra-btn{width:100%}.mc-creditos-reposicao-head,.mc-credito-reposicao-item{align-items:flex-start;flex-direction:column}.mc-credito-reposicao-item a{width:100%}}

/* Painel administrativo: aulas sem quórum e créditos de reposição */
.dashboard-kpi-link{display:block;transition:transform .18s ease,box-shadow .18s ease}.dashboard-kpi-link:hover{transform:translateY(-2px);box-shadow:0 13px 25px rgba(85,63,10,.12)}
.quorum-admin-page{background:#f4f6f8}.quorum-admin-shell{display:grid;gap:18px}.quorum-admin-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 28px;border-radius:21px;background:linear-gradient(125deg,#182a22,#1d5237 60%,#2d8060);box-shadow:0 15px 30px rgba(24,65,46,.18);color:#fff}.quorum-admin-kicker{display:block;margin-bottom:8px;color:#d8ef9e;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.quorum-admin-hero h1{margin:0;font-size:30px;letter-spacing:-.035em}.quorum-admin-hero p{max-width:700px;margin:9px 0 0;color:rgba(255,255,255,.84);font-size:14px;line-height:1.5}.quorum-admin-back{flex:0 0 auto;white-space:nowrap}.quorum-admin-alert{padding:13px 16px;border-radius:13px;font-size:13px;font-weight:800}.quorum-admin-alert.is-error{border:1px solid #f2c6c6;background:#fff0f0;color:#962e2e}.quorum-admin-filter{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr)) auto auto;align-items:end;gap:12px;padding:16px;border:1px solid #dce8df;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(29,69,52,.05)}.quorum-admin-filter label{display:grid;gap:6px}.quorum-admin-filter label>span{color:#64766b;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.quorum-admin-filter input,.quorum-admin-filter select{min-width:0;padding:11px 12px;border:1px solid #d7e4db;border-radius:10px;background:#fff;color:#1e3428;font:inherit;font-size:13px}.quorum-admin-filter .btn{min-height:42px;white-space:nowrap}.quorum-admin-clear{align-self:center;padding:8px 3px;color:#207249;font-size:12px;font-weight:800;text-align:center;white-space:nowrap}.quorum-admin-clear:hover{text-decoration:underline}.quorum-admin-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.quorum-admin-stat{min-height:116px;padding:16px;border:1px solid #dce8df;border-radius:17px;background:#fff;box-shadow:0 8px 20px rgba(27,58,41,.055)}.quorum-admin-stat span,.quorum-admin-stat small{display:block}.quorum-admin-stat span{color:#66776d;font-size:12px;font-weight:800}.quorum-admin-stat strong{display:block;margin:8px 0;color:#173c28;font-size:27px;letter-spacing:-.04em}.quorum-admin-stat small{color:#7e8d84;font-size:11px;line-height:1.35}.quorum-admin-stat.is-danger{border-color:#f0d0cc;background:#fff6f4}.quorum-admin-stat.is-danger strong{color:#ad443b}.quorum-admin-stat.is-primary{border-color:#bfdfca;background:#f2fbf5}.quorum-admin-stat.is-primary strong{color:#146640}.quorum-admin-stat.is-warning{border-color:#efdfaa;background:#fff9e9}.quorum-admin-stat.is-warning strong{color:#87620f}.quorum-admin-stat.is-success{border-color:#c1e1cf;background:#f3fbf6}.quorum-admin-stat.is-success strong{color:#1c7448}.quorum-admin-panel{padding:20px;border:1px solid rgba(29,69,52,.1);border-radius:20px;background:#fff;box-shadow:0 9px 23px rgba(27,58,41,.055)}.quorum-admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.quorum-admin-panel-head>div>span{display:block;margin-bottom:5px;color:#61806b;font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.quorum-admin-panel-head h2{margin:0;color:#183326;font-size:20px;letter-spacing:-.025em}.quorum-admin-panel-head p{max-width:690px;margin:6px 0 0;color:#708076;font-size:13px;line-height:1.45}.quorum-admin-panel-head>strong{padding:7px 10px;border-radius:999px;background:#eaf5ed;color:#1b673f;font-size:11px;white-space:nowrap}.quorum-admin-table-wrap{overflow-x:auto}.quorum-admin-table{min-width:850px;margin:0}.quorum-admin-table th{color:#5b7062;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.quorum-admin-table td{vertical-align:middle}.quorum-admin-table td strong,.quorum-admin-table td small{display:block}.quorum-admin-table td strong{color:#203a2b;font-size:13px}.quorum-admin-table td small{margin-top:3px;color:#77877d;font-size:11px;line-height:1.35}.quorum-admin-count{display:inline-grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:9px;font-size:12px;font-weight:900}.quorum-admin-count.is-danger{background:#fff0ef;color:#aa4039}.quorum-admin-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}.quorum-admin-status.is-available{background:#e8f7ec;color:#176e3d}.quorum-admin-status.is-scheduled{background:#eaf1ff;color:#2a569f}.quorum-admin-status.is-used{background:#edf4ef;color:#476355}.quorum-admin-status.is-expired{background:#fff3df;color:#8b630f}.quorum-admin-status.is-cancelled{background:#fff0f0;color:#a43d3d}.quorum-admin-not-set{color:#75857b;font-size:12px;font-weight:700}.quorum-admin-empty{padding:30px 18px;border:1px dashed #c9d9cd;border-radius:15px;background:#f8fbf9;text-align:center}.quorum-admin-empty strong{display:block;color:#254333}.quorum-admin-empty p{margin:7px auto 0;max-width:540px;color:#718077;font-size:13px;line-height:1.45}
@media(max-width:1020px){.quorum-admin-filter{grid-template-columns:repeat(3,minmax(150px,1fr))}.quorum-admin-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.quorum-admin-hero{align-items:flex-start;flex-direction:column;padding:23px 20px}.quorum-admin-hero h1{font-size:25px}.quorum-admin-filter{grid-template-columns:1fr 1fr}.quorum-admin-filter .btn,.quorum-admin-clear{width:100%}.quorum-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.quorum-admin-panel{padding:16px}.quorum-admin-panel-head{align-items:flex-start;flex-direction:column;gap:10px}.quorum-admin-panel-head>strong{align-self:flex-start}}
@media(max-width:420px){.quorum-admin-filter,.quorum-admin-summary{grid-template-columns:1fr}.quorum-admin-stat{min-height:0}}


/* Reposições no painel administrativo: leitura confortável em celular */
@media (max-width: 680px){
  .quorum-admin-shell{gap:14px}
  .quorum-admin-hero p{font-size:13px}
  .quorum-admin-back{width:100%;min-height:42px;text-align:center}
  .quorum-admin-filter{gap:10px;padding:14px}
  .quorum-admin-filter label{min-width:0}
  .quorum-admin-filter input,.quorum-admin-filter select{width:100%;min-height:42px}
  .quorum-admin-panel{padding:14px;border-radius:17px}
  .quorum-admin-panel-head h2{font-size:18px}
  .quorum-admin-panel-head p{font-size:12px}
  .quorum-admin-table-wrap{overflow:visible}
  .quorum-admin-table{display:block;min-width:0;border-collapse:separate;background:transparent;box-shadow:none;overflow:visible}
  .quorum-admin-table thead{display:none}
  .quorum-admin-table tbody{display:grid;gap:10px}
  .quorum-admin-table tr{display:block;padding:3px 13px;border:1px solid #dce8df;border-radius:14px;background:#fff;box-shadow:0 4px 13px rgba(27,58,41,.045)}
  .quorum-admin-table td{display:grid;grid-template-columns:minmax(104px,42%) 1fr;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf2ee;text-align:right;white-space:normal}
  .quorum-admin-table td:last-child{border-bottom:0}
  .quorum-admin-table td::before{content:attr(data-label);color:#6a7d70;font-size:10px;font-weight:900;letter-spacing:.045em;text-align:left;text-transform:uppercase}
  .quorum-admin-table td strong,.quorum-admin-table td small{max-width:100%;text-align:right}
  .quorum-admin-table td>.quorum-admin-count,.quorum-admin-table td>.quorum-admin-status,.quorum-admin-table td>.quorum-admin-not-set{justify-self:end}
  .quorum-admin-table td small{font-size:11px}
  .quorum-admin-status{justify-content:center}
}
@media (max-width: 390px){
  .quorum-admin-table td{grid-template-columns:1fr;gap:4px;text-align:left}
  .quorum-admin-table td strong,.quorum-admin-table td small{text-align:left}
  .quorum-admin-table td>.quorum-admin-count,.quorum-admin-table td>.quorum-admin-status,.quorum-admin-table td>.quorum-admin-not-set{justify-self:start}
}


/* Ausência do aluno e crédito de reposição */
.mc-absence-feedback{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:13px 15px;border-radius:16px;border:1px solid #bddfc9;background:#edf9f0;color:#17653a;font-size:13px;font-weight:800;box-shadow:0 8px 18px rgba(23,84,46,.05)}.mc-absence-feedback>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#1b8b52;color:#fff;font-size:13px;font-weight:950;flex:0 0 24px}.mc-absence-feedback p{margin:0}.mc-class-action-absence{background:#fff7e9!important;border-color:#efcc83!important;color:#8a5610!important}.aa-card{overflow:hidden}.aa-policy{margin:2px 0 17px;padding:15px 16px;border:1px solid #eed5a3;border-radius:14px;background:linear-gradient(135deg,#fff9ec,#fff);color:#6a4b18}.aa-policy strong{display:block;font-size:13px}.aa-policy p{margin:6px 0;color:#7b6338;font-size:13px;line-height:1.5}.aa-policy small{display:block;color:#9a6a15;font-size:11px;font-weight:900}.aa-form{display:grid;gap:16px}.aa-confirm{display:flex;align-items:flex-start;gap:10px;padding:14px 15px;border:1px solid #dce8df;border-radius:13px;background:#fff;color:#355442;font-size:13px;font-weight:800;line-height:1.45}.aa-confirm input{width:18px;height:18px;margin:0;accent-color:#1e7040;flex:0 0 18px}@media(max-width:620px){.mc-absence-feedback{margin-top:12px;padding:12px}.aa-policy,.aa-confirm{padding:13px}.mc-class-action-absence{width:100%}}


/* Proteção contra reservas simultâneas */
.reserva-bloqueio-notice{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:14px 16px;border:1px solid #c7dfce;border-radius:16px;background:linear-gradient(135deg,#eff9f1,#fbfefb);color:#24543a}.reserva-bloqueio-notice__icon{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:11px;background:#d9f2df;color:#197243;font-size:17px;font-weight:950}.reserva-bloqueio-notice strong,.reserva-bloqueio-notice small{display:block}.reserva-bloqueio-notice strong{font-size:13px}.reserva-bloqueio-notice small{margin-top:3px;color:#5f7768;font-size:12px;line-height:1.45}.agenda-flash{display:grid;gap:3px;margin:0 0 16px;padding:14px 16px;border:1px solid #c9e2d0;border-radius:15px;background:#f0fbf3;color:#1e633b;font-size:13px}.agenda-flash strong{font-size:13px}.agenda-flash span{color:#5d7264;line-height:1.45}.agenda-flash.is-error{border-color:#efc8c3;background:#fff4f2;color:#a33d35}.agenda-flash.is-error span{color:#87554e}.status.em_confirmacao{background:#fff4d9;color:#91630a}
@media(max-width:620px){.reserva-bloqueio-notice{padding:13px}.reserva-bloqueio-notice small{font-size:11px}}

/* =========================================================
   REDESENHO CLIENTE - Visual profissional inspirado no modelo
   Cores: branco quente, vinho, vermelho e preto suave
   ========================================================= */
:root{
  --client-bg:#f7eeee;
  --client-surface:#fffafa;
  --client-surface-strong:#ffffff;
  --client-ink:#1d070d;
  --client-muted:#765d62;
  --client-line:#eadadb;
  --client-wine:#3b0710;
  --client-wine-2:#52000b;
  --client-red:#b40018;
  --client-red-2:#8f000a;
  --client-soft-red:#f4e3e2;
  --client-shadow:0 22px 55px rgba(55,6,15,.13);
  --client-shadow-soft:0 12px 30px rgba(55,6,15,.08);
  --client-radius:28px;
}

html{scroll-behavior:smooth;}
body{
  background:var(--client-bg);
  color:var(--client-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.01em;
}
body:not(.admin-page){min-height:100vh;}
.container{max-width:1180px;}

.client-app-header{
  position:sticky;
  top:0;
  z-index:950;
  border:0;
  border-bottom:1px solid rgba(59,7,16,.08);
  background:rgba(255,250,250,.96);
  color:var(--client-ink);
  padding:18px 0;
  backdrop-filter:saturate(1.25) blur(14px);
  box-shadow:0 8px 30px rgba(55,6,15,.06);
}
.client-header-inner{
  display:grid;
  grid-template-columns:auto minmax(120px,1fr) auto;
  align-items:center;
  gap:18px;
}
.client-menu-btn{
  display:inline-grid;
  align-content:center;
  gap:6px;
  width:44px;
  height:44px;
  border:1px solid rgba(59,7,16,.12);
  border-radius:16px;
  background:rgba(255,255,255,.58);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  padding:0 11px;
}
.client-menu-btn span{
  display:block;
  height:2px;
  border-radius:999px;
  background:var(--client-ink);
}
.client-brand{
  justify-self:center;
  min-width:0;
  color:var(--client-ink);
  font-size:26px;
  font-weight:950;
  letter-spacing:-.055em;
  text-transform:none;
}
.client-brand .brand-name{
  display:inline-block;
  max-width:min(42vw,360px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.client-brand .brand-logo-image{
  max-width:min(34vw,240px);
  height:50px;
  object-position:center;
}
.client-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.client-header-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 23px;
  border:2px solid rgba(29,7,13,.18);
  border-radius:13px;
  font-size:15px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 10px 20px rgba(55,6,15,.11),inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.client-header-button:hover{
  transform:translateY(-1px);
  box-shadow:0 15px 26px rgba(55,6,15,.16),inset 0 1px 0 rgba(255,255,255,.2);
}
.client-header-account{
  background:var(--client-wine);
  color:#fff;
}
.client-header-reserve{
  background:linear-gradient(180deg,var(--client-red),var(--client-red-2));
  color:#fff;
}

.client-header-lessons{
  background:linear-gradient(180deg,#667177,#313b40);
  color:#fff;
}
.client-header-button.is-current{
  outline:3px solid rgba(180,0,24,.14);
}

.hero{
  position:relative;
  overflow:hidden;
  margin:0;
  border-top:72px solid var(--client-red-2);
  padding:54px 0 60px;
  background:
    radial-gradient(circle at 86% 18%,rgba(180,0,24,.10) 0 190px,transparent 191px),
    linear-gradient(180deg,#fff7f6 0%,#f7eeee 100%);
  color:var(--client-ink);
}
.hero .container{position:relative;z-index:1;}
.hero h1{
  max-width:760px;
  margin:0 0 10px;
  color:var(--client-red-2);
  font-size:clamp(37px,7vw,72px);
  line-height:.94;
  letter-spacing:-.075em;
  font-weight:950;
}
.hero p{
  max-width:560px;
  margin:0 0 24px;
  color:var(--client-muted);
  font-size:18px;
  line-height:1.55;
  opacity:1;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  border-radius:14px;
  padding:13px 19px;
  font-weight:950;
  letter-spacing:-.015em;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-1px);}
.btn-main{
  background:linear-gradient(180deg,var(--client-red),var(--client-red-2));
  color:#fff;
  box-shadow:0 12px 25px rgba(180,0,24,.22);
}
.btn-dark{
  background:var(--client-wine);
  color:#fff;
}
.btn-danger{background:#bc1b22;color:#fff;}

.section{padding:42px 0;}
.section h2,
.card h2,
.card h3{
  color:var(--client-ink);
  letter-spacing:-.045em;
}
.texto-apoio,
.section p{color:var(--client-muted);line-height:1.55;}
.card,
.form.card{
  border:1px solid var(--client-line);
  border-radius:24px;
  background:rgba(255,250,250,.94);
  box-shadow:var(--client-shadow-soft);
}
.card{padding:22px;}
.cards{gap:18px;}
input,select,textarea{
  min-height:50px;
  border:1px solid #e2ccce;
  border-radius:14px;
  background:#fff;
  color:var(--client-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
input:focus,select:focus,textarea:focus{
  outline:3px solid rgba(180,0,24,.14);
  border-color:#c7848d;
}
.label{
  color:var(--client-ink);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Início */
.home-activities-section{padding-top:54px;}
.section-planos-home{padding-top:20px;}
.home-section-heading{
  display:grid;
  gap:7px;
  margin-bottom:22px;
}
.home-section-eyebrow{
  color:var(--client-red-2);
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-section-heading h1,
.home-section-heading h2{
  margin:0;
  color:var(--client-red-2);
  font-size:clamp(34px,5.5vw,58px);
  line-height:.98;
  letter-spacing:-.07em;
}
.home-section-heading p{
  max-width:620px;
  margin:0;
  color:var(--client-muted);
  font-size:16px;
}
.categorias-home{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:20px;
}
.atividades-aulas-home{grid-template-columns:minmax(0,1fr);}
.banner-home{
  position:relative;
  min-height:390px;
  height:auto;
  overflow:hidden;
  border:1px solid rgba(59,7,16,.08);
  border-radius:var(--client-radius);
  background:linear-gradient(145deg,#fff7f6,#f1dfdd);
  box-shadow:var(--client-shadow);
}
.banner-home img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(1.02);
  transform:scale(1.02);
}
.banner-home::before{
  z-index:1;
  background:linear-gradient(180deg,rgba(59,7,16,.04) 0%,rgba(59,7,16,.16) 45%,rgba(59,7,16,.38) 100%);
}
.banner-conteudo{
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  max-width:430px;
  padding:22px;
  border:1px solid rgba(255,255,255,.74);
  border-radius:24px;
  background:rgba(255,250,250,.93);
  color:var(--client-ink);
  box-shadow:0 18px 44px rgba(39,6,13,.22);
  backdrop-filter:blur(10px);
}
.banner-conteudo h2{
  margin:0 0 8px;
  color:var(--client-ink);
  font-size:clamp(25px,3.2vw,37px);
  line-height:.98;
  letter-spacing:-.06em;
}
.banner-conteudo p{
  margin:0 0 15px;
  color:#5d4449;
  font-size:14px;
  line-height:1.45;
}
.banner-conteudo span{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  border-radius:12px;
  padding:0 15px;
  background:linear-gradient(180deg,var(--client-red),var(--client-red-2));
  color:#fff;
  font-size:13px;
  font-weight:950;
  box-shadow:0 10px 20px rgba(180,0,24,.18);
}
.banner-home-generic .banner-generic-art,
.banner-aulas-art{
  display:grid;
  place-items:center;
  height:100%;
  min-height:390px;
  color:rgba(180,0,24,.16);
  font-size:80px;
  background:radial-gradient(circle at 60% 20%,rgba(180,0,24,.15),transparent 260px);
}

.home-banner-carousel{position:relative;}
.home-banner-viewport{overflow:hidden;border-radius:30px;}
.home-banner-track{display:flex;transition:transform .45s ease;}
.home-banner-slide{min-width:100%;}
.home-banner-panel{
  position:relative;
  display:block;
  min-height:310px;
  overflow:hidden;
  border-radius:30px;
  background:linear-gradient(135deg,var(--client-wine),var(--client-red-2));
  color:#fff;
  box-shadow:var(--client-shadow);
}
.home-banner-panel.has-image .home-banner-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.58;
  filter:saturate(.9) contrast(1.02);
}
.home-banner-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(29,7,13,.86),rgba(29,7,13,.45) 54%,rgba(29,7,13,.12));
}
.home-banner-copy{
  position:relative;
  z-index:2;
  width:min(650px,100%);
  padding:42px;
}
.home-banner-eyebrow{
  display:inline-flex;
  margin-bottom:11px;
  color:#ffd9d9;
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-banner-copy h2{
  margin:0;
  color:#fff;
  font-size:clamp(34px,5vw,62px);
  line-height:.95;
  letter-spacing:-.07em;
}
.home-banner-copy p{
  max-width:500px;
  margin:15px 0 0;
  color:rgba(255,255,255,.82);
  font-size:17px;
  line-height:1.5;
}
.home-banner-footer{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.home-banner-footer strong,
.home-banner-footer span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  border-radius:13px;
  padding:0 15px;
  font-weight:950;
}
.home-banner-footer strong{background:rgba(255,255,255,.14);color:#fff;}
.home-banner-footer span{background:#fff;color:var(--client-red-2);}
.home-banner-badges,
.home-banner-shape{display:none;}
.home-carousel-control{
  position:absolute;
  top:50%;
  z-index:3;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:rgba(255,250,250,.92);
  color:var(--client-wine);
  font-size:30px;
  font-weight:400;
  box-shadow:0 12px 28px rgba(55,6,15,.16);
  transform:translateY(-50%);
  cursor:pointer;
}
.home-carousel-control.prev{left:16px;}
.home-carousel-control.next{right:16px;}
.home-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:16px;}
.home-carousel-dots button{
  width:10px;
  height:10px;
  border:0;
  border-radius:999px;
  background:#ead2d3;
}
.home-carousel-dots button[aria-current="true"]{width:28px;background:var(--client-red);}

/* Locação e agenda */
.agenda{
  gap:12px;
  margin-top:18px;
}
.slot{
  position:relative;
  overflow:hidden;
  border:1px solid var(--client-line);
  border-radius:22px;
  background:#fffafa;
  padding:16px 18px;
  box-shadow:var(--client-shadow-soft);
}
.slot:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--client-red),var(--client-wine));
}
.disponivel{background:#f8e7e7;color:var(--client-red-2);}
.ocupado{background:#f8dadc;color:#8b151b;}
.bloqueado{background:#eee4e4;color:#69565a;}
.agenda-info-preco,
.agenda-duracao-form,
.agenda-monthly-intro,
.reserva-duracao-card,
.reserva-bloqueio-notice{
  border-color:var(--client-line)!important;
  background:linear-gradient(135deg,#fffafa,#f8eeee)!important;
  box-shadow:var(--client-shadow-soft);
}
.agenda-duracao-eyebrow,
.agenda-monthly-kicker,
.slot-duracao-info,
.reserva-duracao-resumo{color:var(--client-red-2)!important;}
.agenda-duracao-opcao.is-active span{
  border-color:var(--client-red)!important;
  background:var(--client-red)!important;
  color:#fff!important;
}
.reserva-resumo-card{
  border-color:rgba(180,0,24,.12);
  background:linear-gradient(135deg,#fffafa,#f7eeee);
}
.reserva-total{
  color:var(--client-red-2);
}

/* Minha conta */
:root{
  --mc-ink:var(--client-ink);
  --mc-green:var(--client-red);
  --mc-green-dark:var(--client-red-2);
  --mc-lime:#ffe8e8;
  --mc-paper:var(--client-bg);
  --mc-line:var(--client-line);
  --mc-muted:var(--client-muted);
  --mc-shadow:var(--client-shadow);
}
.mc-page{
  padding-top:26px!important;
  background:linear-gradient(180deg,#f8eeee 0,#fff7f6 410px,#f7eeee 100%)!important;
}
.mc-hero{
  background:linear-gradient(135deg,var(--client-wine),var(--client-red-2))!important;
  box-shadow:var(--client-shadow)!important;
}
.mc-hero:before{background:rgba(255,255,255,.12)!important;}
.mc-hero:after{background:rgba(180,0,24,.35)!important;}
.mc-avatar{
  background:#fff2f1!important;
  color:var(--client-red-2)!important;
}
.mc-kicker,.mc-eyebrow,.mc-next-cost,.mc-timer,.mc-contract a,.mc-class-kicker,.mc-class-help{
  color:var(--client-red-2)!important;
}
.mc-hero .mc-kicker{color:rgba(255,255,255,.72)!important;}
.mc-button-primary{
  background:#fff!important;
  color:var(--client-red-2)!important;
}
.mc-button-ghost{
  background:rgba(255,255,255,.11)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
.mc-panel,.mc-disclosure,.mc-stat,.mc-reservation-card,.mc-fixed,.mc-class-card,.mc-quick-item{
  border-color:var(--client-line)!important;
  background:#fffafa!important;
  box-shadow:var(--client-shadow-soft)!important;
}
.mc-next,
.mc-next.is-live,
.mc-contract,
.mc-callout,
.mc-class-info div,
.mc-class-payment,
.mc-reservation-date{
  border-color:#ead7d8!important;
  background:linear-gradient(135deg,#fff6f5,#f7eeee)!important;
}
.mc-pill.confirmed,.mc-live,.mc-class-badge.live,.mc-payment-status.ok{
  background:#fae4e4!important;
  color:var(--client-red-2)!important;
}
.mc-reschedule-link,.mc-class-action{
  border-color:#ecc4c7!important;
  background:#fff0ef!important;
  color:var(--client-red-2)!important;
}
.mc-tab.is-active{
  background:var(--client-wine)!important;
  border-color:var(--client-wine)!important;
  color:#fff!important;
}

/* Aulas, planos e mensalista seguem a mesma identidade */
.aulas-page,
.mensalista-page{background:var(--client-bg);}
.aulas-hero,
.planos-hero,
.mensalista-hero{
  background:linear-gradient(135deg,var(--client-wine),var(--client-red-2))!important;
  color:#fff!important;
  box-shadow:var(--client-shadow)!important;
}
.aulas-hero h1,.planos-hero h1,.mensalista-hero h1{color:#fff!important;}
.aulas-hero p,.planos-hero p,.mensalista-hero p{color:rgba(255,255,255,.80)!important;}
.aulas-eyebrow,.planos-kicker,.mensalista-kicker{color:#ffd6d5!important;}
.aula-turma-card,.modalidade-planos,.plano-card-publico,.mensalista-selection,.mensalista-court-card,.mensalista-steps article{
  border-color:var(--client-line)!important;
  background:#fffafa!important;
  box-shadow:var(--client-shadow-soft)!important;
}
.aula-turma-action,.mensalista-court-action{
  background:linear-gradient(180deg,var(--client-red),var(--client-red-2))!important;
  color:#fff!important;
}

footer{
  margin-top:42px;
  background:#ffffff;
  color:var(--client-ink);
  border-top:1px solid var(--client-line);
  box-shadow:0 -10px 30px rgba(55,6,15,.05);
}
footer a{
  color:var(--client-red-2);
  font-weight:850;
}

.mobile-bottom-nav{
  left:50%;
  right:auto;
  bottom:14px;
  width:min(94vw,520px);
  height:auto;
  transform:translateX(-50%);
  border:1px solid rgba(59,7,16,.10);
  border-radius:24px;
  background:#ffffff;
  box-shadow:0 18px 45px rgba(55,6,15,.14);
  backdrop-filter:blur(14px);
  padding:8px;
}
.mobile-bottom-nav a{
  border-radius:17px;
  color:#7a5f64;
  font-size:11px;
  font-weight:900;
}
.mobile-bottom-nav a:hover,
.mobile-bottom-nav a:active{
  background:#f8e6e5;
  color:var(--client-red-2);
}
.mobile-bottom-nav span{font-size:20px;}

@media(max-width:900px){
  .categorias-home{grid-template-columns:1fr;}
  .banner-home{min-height:430px;}
}
@media(max-width:760px){
  body{background:var(--client-bg);padding-bottom:108px;}
  .container{width:91%;}
  .client-app-header{padding:12px 0;}
  .client-header-inner{grid-template-columns:40px minmax(0,1fr) auto;gap:9px;}
  .client-menu-btn{width:40px;height:40px;border-radius:14px;padding:0 10px;}
  .client-brand{justify-self:start;font-size:21px;}
  .client-brand .brand-logo-image{max-width:110px;height:42px;object-position:left center;}
  .client-brand .brand-name{max-width:100%;}
  .client-header-actions{gap:6px;}
  .client-header-button{min-height:40px;border-radius:11px;padding:0 11px;font-size:12px;border-width:1px;box-shadow:0 8px 15px rgba(55,6,15,.10);}
  .client-header-account span{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .hero{border-top-width:56px;padding:32px 0 42px;}
  .hero h1{font-size:42px;}
  .hero p{font-size:15px;}
  .section{padding:28px 0;}
  .home-activities-section{padding-top:34px;}
  .home-section-heading h1,
  .home-section-heading h2{font-size:38px;}
  .banner-home{min-height:420px;border-radius:24px;}
  .banner-conteudo{left:17px;right:17px;bottom:17px;padding:19px;border-radius:21px;}
  .banner-conteudo h2{font-size:30px;}
  .home-banner-panel{min-height:330px;border-radius:25px;}
  .home-banner-copy{padding:30px 24px;}
  .home-banner-copy h2{font-size:38px;}
  .home-banner-copy p{font-size:14px;}
  .home-carousel-control{width:40px;height:40px;font-size:26px;}
  .slot{align-items:flex-start;flex-direction:column;gap:12px;}
  .slot .btn{width:100%;}
  .card,.form.card{border-radius:21px;padding:18px;}
  .mc-page{padding-top:18px!important;}
  .mc-wrap{width:min(92vw,560px)!important;}
}
@media(max-width:430px){
  .client-header-button{padding:0 9px;font-size:11px;}
  .client-header-account span{max-width:70px;}
  .client-header-reserve span{max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
}

/* Login e cadastro no mesmo padrão visual */
.login-page,.cadastro-page{
  background:linear-gradient(180deg,#f8eeee 0,#fff7f6 52%,#f7eeee 100%)!important;
}
.login-intro,.cadastro-intro{
  background:linear-gradient(135deg,var(--client-wine),var(--client-red-2))!important;
  box-shadow:var(--client-shadow)!important;
}
.login-kicker,.cadastro-kicker{color:#ffd6d5!important;}
.login-intro h1,.cadastro-intro h1{color:#fff!important;}
.login-intro p,.cadastro-intro p{color:rgba(255,255,255,.80)!important;}
.login-card,.cadastro-card{
  border-color:var(--client-line)!important;
  background:#fffafa!important;
  box-shadow:var(--client-shadow-soft)!important;
}
.login-card-icon,.cadastro-card-icon,.cadastro-fieldset legend span{
  background:#fff0ef!important;
  color:var(--client-red-2)!important;
}
.login-card input:not([type="checkbox"]):focus,
.cadastro-card input:not([type="checkbox"]):focus{
  border-color:#c7848d!important;
  box-shadow:0 0 0 3px rgba(180,0,24,.14)!important;
}
.plano-publico-card,
.planos-ajuda,
.planos-intro,
.planos-aviso{
  border-color:var(--client-line)!important;
  background:#fffafa!important;
  box-shadow:var(--client-shadow-soft)!important;
}
.plano-publico-tipo,.planos-info-pill,.modalidade-dot{
  background:#fff0ef!important;
  color:var(--client-red-2)!important;
}
.plano-publico-valor strong{color:var(--client-red-2)!important;}
.plano-publico-btn{background:var(--client-wine)!important;color:#fff!important;}
.success-hero,.rm-head,.ra-head{
  background:linear-gradient(135deg,var(--client-wine),var(--client-red-2))!important;
  color:#fff!important;
}
.success-hero h1,.rm-head h1,.ra-head h1{color:#fff!important;}

/* Ajuste solicitado: rodapé e menu inferior na mesma cor do fundo */
footer{
  background:var(--client-bg)!important;
  color:var(--client-ink)!important;
  border-top:1px solid rgba(59,7,16,.08)!important;
  box-shadow:none!important;
}
.mobile-bottom-nav{
  background:var(--client-bg)!important;
  border-color:rgba(59,7,16,.08)!important;
  box-shadow:0 12px 30px rgba(55,6,15,.08)!important;
}

/* =========================================================
   AJUSTE VISUAL - Paleta Beach Quintal
   Cinza moderno + verde da quadra + fundo areia claro
   ========================================================= */
:root{
  --client-bg:#f2f4ef;
  --client-surface:#ffffff;
  --client-surface-strong:#ffffff;
  --client-ink:#1f282b;
  --client-title:#263034;
  --client-muted:#697478;
  --client-line:#d9dfdc;
  --client-wine:#252d31;
  --client-wine-2:#171d20;
  --client-red:#5f696e;
  --client-red-2:#30393e;
  --client-accent:#5cb946;
  --client-accent-2:#459b35;
  --client-soft-red:#e7ece8;
  --client-shadow:0 22px 55px rgba(31,40,43,.13);
  --client-shadow-soft:0 12px 30px rgba(31,40,43,.08);
}

body:not(.admin-page){
  background:var(--client-bg)!important;
  color:var(--client-ink)!important;
}

.client-app-header{
  background:rgba(242,244,239,.96)!important;
  border-bottom-color:rgba(31,40,43,.10)!important;
  box-shadow:0 8px 30px rgba(31,40,43,.06)!important;
}
.client-menu-btn{
  border-color:rgba(31,40,43,.12)!important;
  background:rgba(255,255,255,.72)!important;
}
.client-brand,
.client-menu-btn span,
.section h2,
.card h2,
.card h3,
.home-section-heading h1,
.home-section-heading h2,
.banner-conteudo h2,
.hero h1{
  color:var(--client-title)!important;
}
.home-section-eyebrow,
.agenda-duracao-eyebrow,
.agenda-monthly-kicker,
.slot-duracao-info,
.reserva-duracao-resumo,
.reserva-total,
footer a,
.mobile-bottom-nav a:hover,
.mobile-bottom-nav a:active{
  color:var(--client-accent-2)!important;
}

.client-header-button,
.btn-main,
.btn-dark,
.aula-turma-action,
.mensalista-court-action,
.plano-publico-btn{
  background:linear-gradient(180deg,#667177,#313b40)!important;
  color:#fff!important;
  border-color:rgba(31,40,43,.12)!important;
  box-shadow:0 12px 25px rgba(31,40,43,.18)!important;
}
.client-header-button:hover,
.btn-main:hover,
.btn-dark:hover,
.aula-turma-action:hover,
.mensalista-court-action:hover,
.plano-publico-btn:hover{
  background:linear-gradient(180deg,#566066,#20282c)!important;
  box-shadow:0 15px 28px rgba(31,40,43,.22)!important;
}
.client-header-button.is-current{
  outline:3px solid rgba(92,185,70,.20)!important;
}
.btn-danger{
  background:#4f585d!important;
  color:#fff!important;
}

.hero{
  border-top-color:#30393e!important;
  background:radial-gradient(circle at 86% 18%,rgba(92,185,70,.10) 0 190px,transparent 191px),linear-gradient(180deg,#f8faf5 0%,#eef1ec 100%)!important;
}
.card,
.form.card,
.slot,
.aula-turma-card,
.modalidade-planos,
.plano-card-publico,
.mensalista-selection,
.mensalista-court-card,
.mensalista-steps article,
.login-card,
.cadastro-card,
.plano-publico-card,
.planos-ajuda,
.planos-intro,
.planos-aviso,
.mc-panel,
.mc-disclosure,
.mc-stat,
.mc-reservation-card,
.mc-fixed,
.mc-class-card,
.mc-quick-item{
  background:#fff!important;
  border-color:var(--client-line)!important;
  box-shadow:var(--client-shadow-soft)!important;
}
input,select,textarea{
  border-color:#d8dfdc!important;
  background:#fff!important;
  color:var(--client-ink)!important;
}
input:focus,select:focus,textarea:focus,
.login-card input:not([type="checkbox"]):focus,
.cadastro-card input:not([type="checkbox"]):focus{
  outline:3px solid rgba(92,185,70,.16)!important;
  border-color:#72bb64!important;
  box-shadow:0 0 0 3px rgba(92,185,70,.12)!important;
}
.label,.texto-apoio,.section p,.banner-conteudo p{color:var(--client-muted)!important;}

.banner-home{
  border-color:rgba(31,40,43,.10)!important;
  background:linear-gradient(145deg,#ffffff,#e9eeeb)!important;
  box-shadow:var(--client-shadow)!important;
}
.banner-home::before{
  background:linear-gradient(180deg,rgba(31,40,43,.05) 0%,rgba(31,40,43,.17) 48%,rgba(31,40,43,.46) 100%)!important;
}
.banner-conteudo{
  background:rgba(255,255,255,.94)!important;
  border-color:rgba(255,255,255,.80)!important;
  box-shadow:0 18px 44px rgba(31,40,43,.22)!important;
}
.banner-conteudo span,
.home-banner-footer span{
  background:linear-gradient(180deg,var(--client-accent),var(--client-accent-2))!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(69,155,53,.18)!important;
}
.banner-home-generic .banner-generic-art,
.banner-aulas-art{
  color:rgba(92,185,70,.22)!important;
  background:radial-gradient(circle at 60% 20%,rgba(92,185,70,.18),transparent 260px)!important;
}

.home-banner-panel,
.mc-hero,
.aulas-hero,
.planos-hero,
.mensalista-hero,
.login-intro,
.cadastro-intro,
.success-hero,
.rm-head,
.ra-head{
  background:linear-gradient(135deg,#2c3539,#151b1e)!important;
  color:#fff!important;
  box-shadow:var(--client-shadow)!important;
}
.home-banner-overlay{
  background:linear-gradient(90deg,rgba(21,27,30,.88),rgba(21,27,30,.50) 54%,rgba(21,27,30,.14))!important;
}
.home-banner-eyebrow,
.aulas-eyebrow,
.planos-kicker,
.mensalista-kicker,
.login-kicker,
.cadastro-kicker{
  color:#a9df9f!important;
}
.home-carousel-control{
  background:rgba(255,255,255,.93)!important;
  color:#30393e!important;
  box-shadow:0 12px 28px rgba(31,40,43,.16)!important;
}
.home-carousel-dots button{background:#dce3df!important;}
.home-carousel-dots button[aria-current="true"]{background:var(--client-accent)!important;}

.slot:before{
  background:linear-gradient(180deg,var(--client-accent),#30393e)!important;
}
.disponivel{
  background:#eaf6e7!important;
  color:#3d8e32!important;
}
.ocupado,
.bloqueado{
  background:#ecefec!important;
  color:#5e686d!important;
}
.agenda-info-preco,
.agenda-duracao-form,
.agenda-monthly-intro,
.reserva-duracao-card,
.reserva-bloqueio-notice,
.reserva-resumo-card,
.mc-next,
.mc-next.is-live,
.mc-contract,
.mc-callout,
.mc-class-info div,
.mc-class-payment,
.mc-reservation-date{
  border-color:var(--client-line)!important;
  background:linear-gradient(135deg,#ffffff,#edf1ed)!important;
}
.agenda-duracao-opcao.is-active span{
  border-color:var(--client-accent)!important;
  background:var(--client-accent)!important;
  color:#fff!important;
}

.mc-page,
.login-page,
.cadastro-page,
.aulas-page,
.mensalista-page{
  background:linear-gradient(180deg,#edf1ec 0,#f8faf5 410px,#f2f4ef 100%)!important;
}
.mc-avatar,
.login-card-icon,
.cadastro-card-icon,
.cadastro-fieldset legend span,
.plano-publico-tipo,
.planos-info-pill,
.modalidade-dot{
  background:#e8f3e5!important;
  color:var(--client-accent-2)!important;
}
.mc-kicker,
.mc-eyebrow,
.mc-next-cost,
.mc-timer,
.mc-contract a,
.mc-class-kicker,
.mc-class-help,
.plano-publico-valor strong{
  color:var(--client-accent-2)!important;
}
.mc-pill.confirmed,
.mc-live,
.mc-class-badge.live,
.mc-payment-status.ok{
  background:#e7f5e4!important;
  color:var(--client-accent-2)!important;
}
.mc-reschedule-link,
.mc-class-action{
  border-color:#cfe2d0!important;
  background:#edf8ea!important;
  color:var(--client-accent-2)!important;
}
.mc-tab.is-active{
  background:#30393e!important;
  border-color:#30393e!important;
  color:#fff!important;
}

footer,
.mobile-bottom-nav{
  background:var(--client-bg)!important;
  border-color:rgba(31,40,43,.10)!important;
  color:var(--client-ink)!important;
  box-shadow:none!important;
}
.mobile-bottom-nav{
  box-shadow:0 12px 30px rgba(31,40,43,.08)!important;
}
.mobile-bottom-nav a{
  color:#697478!important;
}
.mobile-bottom-nav a:hover,
.mobile-bottom-nav a:active{
  background:#e8f3e5!important;
  color:var(--client-accent-2)!important;
}

/* =========================================================
   ÁREA DO CLIENTE - Avisos, reposições expansivas e popups
   ========================================================= */
.mc-attention-top{
  margin:0 0 18px!important;
  scroll-margin-top:110px;
  border-color:#d5dacd!important;
  background:linear-gradient(135deg,#ffffff,#eef2eb)!important;
  box-shadow:0 16px 35px rgba(31,40,43,.08)!important;
}
.mc-attention-top:before{background:linear-gradient(180deg,var(--client-accent),#30393e)!important;}
.mc-attention-top .mc-attention-icon{
  background:linear-gradient(135deg,#30393e,#171d20)!important;
  color:#fff!important;
  box-shadow:0 10px 20px rgba(31,40,43,.18)!important;
}
.mc-attention-top .mc-attention-kicker,
.mc-attention-top h2{color:var(--client-title)!important;}
.mc-attention-top p{color:var(--client-muted)!important;}
.mc-attention-top .mc-attention-counter{
  background:#e8f3e5!important;
  color:var(--client-accent-2)!important;
}
.mc-attention-actions{margin-top:11px;}
.mc-attention-actions button,
.mc-notice-read-btn,
.mc-popup-ok{
  border:0;
  border-radius:12px;
  background:linear-gradient(180deg,#667177,#313b40);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:950;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
  box-shadow:0 10px 18px rgba(31,40,43,.14);
}
.mc-attention-actions button{min-height:36px;padding:0 13px;}
.mc-attention-actions button:hover,
.mc-notice-read-btn:hover,
.mc-popup-ok:hover{transform:translateY(-1px);background:linear-gradient(180deg,#566066,#20282c);}
.mc-attention-top .mc-notice{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:13px;
  border-color:#dce3df!important;
  background:#fff!important;
}
.mc-notice-copy{min-width:0;}
.mc-notice-actions{margin:0;flex:0 0 auto;}
.mc-notice-read-btn{min-height:34px;padding:0 11px;white-space:nowrap;box-shadow:none;background:#edf8ea;color:var(--client-accent-2);border:1px solid #cfe2d0;}
.mc-notice-read-btn:hover{background:#e2f2de;color:#387c2d;}

.mc-creditos-reposicao.mc-disclosure{
  margin:0 0 18px!important;
  padding:0!important;
  border-color:var(--client-line)!important;
  background:#fff!important;
  box-shadow:var(--client-shadow-soft)!important;
}
.mc-creditos-reposicao .mc-disclosure-icon{
  background:#e8f3e5!important;
  color:var(--client-accent-2)!important;
}
.mc-creditos-reposicao-body{
  padding:2px;
}
.mc-creditos-reposicao .mc-creditos-reposicao-head{
  padding:16px;
  border:1px solid #dce5df;
  border-radius:16px;
  background:linear-gradient(135deg,#ffffff,#edf1ed);
}
.mc-creditos-reposicao .mc-creditos-reposicao-head span,
.mc-creditos-reposicao .mc-credito-reposicao-item a{
  color:var(--client-accent-2)!important;
}
.mc-creditos-reposicao .mc-creditos-reposicao-head>b{
  background:linear-gradient(180deg,var(--client-accent),var(--client-accent-2))!important;
}
.mc-creditos-reposicao .mc-credito-reposicao-item a{
  border:1px solid #cfe2d0;
  background:#edf8ea!important;
  color:var(--client-accent-2)!important;
}
.mc-creditos-reposicao .mc-credito-reposicao-item a:hover{background:#e1f1dd!important;}

.mc-popup-backdrop{
  position:fixed;
  inset:0;
  z-index:2000;
  display:grid;
  place-items:center;
  padding:22px;
  background:rgba(18,24,27,.54);
  backdrop-filter:blur(8px);
  animation:mcPopupFade .18s ease both;
}
.mc-popup-backdrop.is-closing{animation:mcPopupFadeOut .18s ease both;}
.mc-popup-card{
  width:min(430px,100%);
  border:1px solid rgba(255,255,255,.76);
  border-radius:26px;
  background:#fff;
  box-shadow:0 28px 80px rgba(16,22,24,.28);
  padding:28px;
  text-align:center;
  outline:0;
  animation:mcPopupUp .22s ease both;
}
.mc-popup-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:0 auto 16px;
  border-radius:20px;
  background:linear-gradient(180deg,var(--client-accent),var(--client-accent-2));
  color:#fff;
  font-size:28px;
  font-weight:950;
  box-shadow:0 14px 28px rgba(69,155,53,.24);
}
.mc-popup-card.is-error .mc-popup-icon{background:linear-gradient(180deg,#737d82,#30393e);box-shadow:0 14px 28px rgba(31,40,43,.22);}
.mc-popup-copy span{
  color:var(--client-accent-2);
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.mc-popup-card.is-error .mc-popup-copy span{color:#59646a;}
.mc-popup-copy h2{
  margin:6px 0 9px;
  color:var(--client-title);
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.045em;
}
.mc-popup-copy p{
  margin:0;
  color:var(--client-muted);
  font-size:14px;
  line-height:1.55;
}
.mc-popup-list{
  display:grid;
  gap:7px;
  margin:14px 0 0;
  padding:0;
  list-style:none;
  color:var(--client-muted);
  font-size:13px;
  line-height:1.45;
}
.mc-popup-list li{
  padding:10px 11px;
  border-radius:12px;
  background:#f3f6f1;
}
.mc-popup-ok{
  width:100%;
  min-height:48px;
  margin-top:20px;
  font-size:14px;
}
@keyframes mcPopupFade{from{opacity:0}to{opacity:1}}
@keyframes mcPopupFadeOut{from{opacity:1}to{opacity:0}}
@keyframes mcPopupUp{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:640px){
  .mc-attention-top{margin-bottom:14px!important;}
  .mc-attention-top .mc-notice{display:grid;gap:11px;}
  .mc-notice-actions,.mc-notice-read-btn{width:100%;}
  .mc-popup-card{padding:23px;border-radius:22px;}
  .mc-popup-copy h2{font-size:21px;}
}

/* Carrossel multimídia moderno acima de Reservas Online */
.section-planos-home{padding:22px 0 8px}.home-banner-video{object-fit:cover;background:#102b45}.home-banner-panel.has-video .home-banner-overlay{background:linear-gradient(90deg,rgba(4,15,23,.82) 0%,rgba(4,15,23,.5) 48%,rgba(4,15,23,.14) 100%)}@media(max-width:760px){.section-planos-home{padding:14px 0 2px}.home-banner-panel{min-height:300px}}

/* Correção estrutural do carrossel multimídia da página inicial */
.section-planos-home{padding:22px 0 28px}
.home-banner-carousel{position:relative;width:100%;overflow:visible}
.home-banner-viewport{position:relative;overflow:hidden;width:100%;border-radius:30px}
.home-banner-track{display:flex;width:100%;align-items:stretch;transition:transform .45s ease;will-change:transform}
.home-banner-slide{display:block;flex:0 0 100%;min-width:100%;width:100%}
.home-banner-slide[aria-hidden="true"]{visibility:hidden}
.home-banner-slide[aria-hidden="false"]{visibility:visible}
.home-banner-panel{width:100%;min-height:310px}
.home-banner-image,.home-banner-video{position:absolute!important;z-index:0;inset:0;width:100%!important;height:100%!important;object-fit:cover;display:block}
.home-banner-video{background:transparent}
.home-banner-overlay{z-index:1}
.home-banner-copy{z-index:2}
.home-banner-panel:not(.has-image){background:linear-gradient(135deg,#0f3e35,#168467)}
@media(max-width:760px){
  .section-planos-home{padding:14px 0 22px}
  .home-banner-viewport,.home-banner-panel{border-radius:24px}
  .home-banner-panel{min-height:300px}
}

/* Carrossel flexível: slides somente com imagem/vídeo, sem camada escura ou textos. */
.home-banner-panel.media-only .home-banner-overlay,.home-banner-panel.media-only .home-banner-shape,.home-banner-panel.media-only .home-banner-copy,.home-banner-panel.media-only .home-banner-badges{display:none!important}.home-banner-panel.media-only{padding:0;background:#eef2ef}.home-banner-panel.media-only .home-banner-image{z-index:0}.home-banner-panel.media-only:not(a){cursor:default}

/* =========================================================
   Carrossel da página inicial — mídia limpa e controles nas pontas
   ========================================================= */
.section-planos-home .home-banner-carousel{
  position:relative;
  width:100%;
  padding:0;
  background:transparent;
}
.section-planos-home .home-banner-viewport{
  position:relative;
  width:100%;
  overflow:hidden;
  border-radius:30px;
  background:transparent;
  box-shadow:0 18px 42px rgba(31,40,43,.18);
}
.section-planos-home .home-banner-track,
.section-planos-home .home-banner-slide{
  width:100%;
}
.section-planos-home .home-banner-panel{
  width:100%;
  margin:0;
  border-radius:30px;
}
.section-planos-home .home-banner-panel.media-only{
  display:block;
  min-height:clamp(240px,27vw,420px);
  padding:0!important;
  border-radius:30px;
  background:transparent!important;
}
.section-planos-home .home-banner-panel.media-only .home-banner-image{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  border-radius:inherit;
  object-fit:cover;
}
.section-planos-home .home-carousel-control{
  position:absolute;
  top:50%!important;
  z-index:10;
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  margin:0;
  padding:0 0 4px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:rgba(255,255,255,.93)!important;
  color:#30393e!important;
  font-size:32px;
  line-height:1;
  box-shadow:0 10px 26px rgba(20,28,31,.22)!important;
  transform:translateY(-50%)!important;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.section-planos-home .home-carousel-control.prev{
  left:14px!important;
  right:auto!important;
}
.section-planos-home .home-carousel-control.next{
  right:14px!important;
  left:auto!important;
}
.section-planos-home .home-carousel-control:hover{
  transform:translateY(-50%) scale(1.06)!important;
}
.section-planos-home .home-carousel-dots{
  position:absolute!important;
  z-index:10;
  right:18px!important;
  bottom:14px!important;
  left:auto!important;
  display:flex;
  justify-content:flex-end;
  gap:7px;
  margin:0!important;
  padding:0;
}
.section-planos-home .home-carousel-dots button{
  box-shadow:0 1px 5px rgba(0,0,0,.25);
}
@media(max-width:760px){
  .section-planos-home .home-banner-viewport,
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{
    border-radius:22px;
  }
  .section-planos-home .home-banner-panel.media-only{
    min-height:clamp(190px,54vw,300px);
  }
  .section-planos-home .home-carousel-control{
    top:50%!important;
    bottom:auto!important;
    width:40px;
    height:40px;
    padding-bottom:3px;
    font-size:27px;
    transform:translateY(-50%)!important;
  }
  .section-planos-home .home-carousel-control.prev{
    left:9px!important;
    right:auto!important;
  }
  .section-planos-home .home-carousel-control.next{
    right:9px!important;
    left:auto!important;
  }
  .section-planos-home .home-carousel-control:hover{
    transform:translateY(-50%) scale(1.04)!important;
  }
  .section-planos-home .home-carousel-dots{
    right:13px!important;
    bottom:11px!important;
  }
}

/* =========================================================
   Carrossel — cores originais da mídia, sem opacidade global
   ========================================================= */
.section-planos-home .home-banner-image,
.section-planos-home .home-banner-video{
  opacity:1!important;
  filter:none!important;
  -webkit-filter:none!important;
  mix-blend-mode:normal!important;
  transform:none;
}

/* Banner somente com mídia: nenhuma película, sombra interna ou efeito. */
.section-planos-home .home-banner-panel.media-only::before,
.section-planos-home .home-banner-panel.media-only::after,
.section-planos-home .home-banner-panel.media-only .home-banner-overlay,
.section-planos-home .home-banner-panel.media-only .home-banner-shape{
  display:none!important;
  content:none!important;
  background:none!important;
  opacity:0!important;
}

/* Com conteúdo, o degradê existe somente atrás do texto e não cobre toda a mídia. */
.section-planos-home .home-banner-panel.has-image:not(.media-only) .home-banner-overlay{
  display:block!important;
  top:0;
  right:auto;
  bottom:0;
  left:0;
  width:min(72%,760px);
  background:linear-gradient(90deg,rgba(5,15,22,.70) 0%,rgba(5,15,22,.43) 52%,rgba(5,15,22,0) 100%)!important;
  opacity:1!important;
  pointer-events:none;
}

@media(max-width:760px){
  .section-planos-home .home-banner-panel.has-image:not(.media-only) .home-banner-overlay{
    width:92%;
    background:linear-gradient(90deg,rgba(5,15,22,.68) 0%,rgba(5,15,22,.38) 58%,rgba(5,15,22,0) 100%)!important;
  }
}


/* ===== Páginas profissionais dos serviços ===== */
.service-landing-body{background:#f5f7f6;color:#16211d}.service-landing{overflow:hidden}.service-hero{position:relative;min-height:570px;display:flex;align-items:flex-end;background:radial-gradient(circle at 82% 12%,rgba(36,166,104,.26),transparent 33%),linear-gradient(135deg,#0c2f23,#176746);color:#fff}.service-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;filter:none}.service-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,16,.86) 0%,rgba(4,22,16,.58) 48%,rgba(4,22,16,.12) 100%)}.service-hero:not(.has-media) .service-hero-shade{background:linear-gradient(135deg,rgba(2,27,19,.3),rgba(19,105,72,.06))}.service-hero-inner{position:relative;z-index:2;width:100%;padding-top:72px;padding-bottom:72px}.service-back{display:inline-flex;color:#fff;text-decoration:none;font-weight:750;margin-bottom:58px;opacity:.9}.service-back:hover{opacity:1}.service-hero-copy{max-width:760px}.service-kicker,.service-section-eyebrow,.service-section-title>span,.service-final-cta span{display:block;font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.service-kicker{color:#8cf0bf;margin-bottom:14px}.service-hero h1{font-size:clamp(2.45rem,5.5vw,5.25rem);line-height:.98;letter-spacing:-.055em;margin:0 0 22px;max-width:900px}.service-hero p{font-size:clamp(1.03rem,1.7vw,1.28rem);line-height:1.65;margin:0;max-width:690px;color:rgba(255,255,255,.9)}.service-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.service-actions .btn{min-height:52px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;text-decoration:none;font-weight:850}.service-secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}.service-section{padding:84px 0}.service-section-title{max-width:760px;margin-bottom:34px}.service-section-title>span,.service-section-eyebrow{color:#168056;margin-bottom:10px}.service-section-title h2,.service-about-grid h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 14px;color:#10271f}.service-section-title p,.service-about-grid>div>p{font-size:1.06rem;line-height:1.7;color:#617069;margin:0}.service-benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-benefit-card{background:#fff;border:1px solid #e2ebe6;border-radius:24px;padding:28px;box-shadow:0 16px 40px rgba(19,64,47,.07)}.service-benefit-card i{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#e9f8f0;color:#14764f;font-size:1.35rem;font-style:normal;font-weight:900;margin-bottom:22px}.service-benefit-card h3{font-size:1.18rem;margin:0 0 9px;color:#153329}.service-benefit-card p{margin:0;line-height:1.62;color:#69766f}.service-about-section{background:#fff}.service-about-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:70px;align-items:center}.service-check-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}.service-check-list li{display:flex;gap:13px;align-items:center;padding:16px 18px;background:#f3f8f5;border:1px solid #e1ebe5;border-radius:15px;font-weight:750;color:#29443a}.service-check-list span{display:grid;place-items:center;width:27px;height:27px;background:#19875a;color:#fff;border-radius:50%;font-size:.82rem;flex:0 0 auto}.service-options-section{background:#edf4f0}.service-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-option-card{display:flex;flex-direction:column;justify-content:space-between;gap:26px;min-height:255px;background:#fff;border:1px solid #dfeae4;border-radius:24px;padding:28px;box-shadow:0 14px 34px rgba(18,66,48,.06)}.service-option-label{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#168056;margin-bottom:13px}.service-option-card h3{font-size:1.35rem;margin:0 0 10px;color:#143128}.service-option-card p{margin:0;color:#66766e;line-height:1.6}.service-option-card .btn{align-self:flex-start;text-decoration:none}.service-steps-section{background:#102f25;color:#fff}.service-steps-section .service-section-title h2{color:#fff}.service-steps-section .service-section-title>span{color:#75dfad}.service-steps-grid{display:grid;grid-template-columns:repeat(5, 1fr);gap:14px}.service-steps-grid article{padding:26px 22px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}.service-steps-grid strong{font-size:.77rem;color:#7ae0af;letter-spacing:.15em}.service-steps-grid h3{margin:24px 0 8px;font-size:1.14rem}.service-steps-grid p{margin:0;color:rgba(255,255,255,.7);line-height:1.55}.service-faq-list{display:grid;gap:12px;max-width:900px}.service-faq-list details{background:#fff;border:1px solid #e0e9e4;border-radius:17px;padding:0 20px}.service-faq-list summary{cursor:pointer;padding:20px 0;font-weight:850;color:#18372c}.service-faq-list p{margin:0 0 20px;color:#65736d;line-height:1.65}.service-final-cta{padding:62px 0;background:#dff3e8}.service-final-cta .container{display:flex;align-items:center;justify-content:space-between;gap:32px}.service-final-cta span{color:#147a51}.service-final-cta h2{font-size:clamp(1.8rem,3.2vw,2.8rem);letter-spacing:-.04em;margin:7px 0 9px;color:#11362a}.service-final-cta p{margin:0;color:#536b61}.service-final-cta .btn{flex:0 0 auto;text-decoration:none;min-height:52px;display:inline-flex;align-items:center;padding:0 25px}
@media(max-width:900px){.service-hero{min-height:530px}.service-benefits-grid,.service-options-grid{grid-template-columns:1fr}.service-about-grid{grid-template-columns:1fr;gap:35px}.service-steps-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.service-hero{min-height:600px}.service-hero-shade{background:linear-gradient(0deg,rgba(4,22,16,.94) 0%,rgba(4,22,16,.64) 62%,rgba(4,22,16,.3) 100%)}.service-hero-inner{padding-top:36px;padding-bottom:42px}.service-back{margin-bottom:90px}.service-hero h1{font-size:2.65rem}.service-actions{display:grid}.service-actions .btn{width:100%}.service-section{padding:58px 0}.service-benefit-card,.service-option-card{border-radius:19px}.service-steps-grid{grid-template-columns:1fr}.service-final-cta .container{align-items:flex-start;flex-direction:column}.service-final-cta .btn{width:100%;justify-content:center}}

/* =========================================================
   Ajuste premium de espaçamento — páginas de produtos mobile
   ========================================================= */
@media (max-width: 620px){
  .service-landing{
    overflow:clip;
  }

  .service-landing .container{
    width:auto!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }

  .service-hero{
    min-height:620px;
  }

  .service-hero-inner{
    padding-top:48px!important;
    padding-bottom:54px!important;
  }

  .service-back{
    margin-bottom:104px!important;
  }

  .service-kicker{
    margin-bottom:16px;
  }

  .service-hero h1{
    margin-bottom:24px;
    font-size:clamp(2.35rem,12vw,3rem);
    line-height:1.02;
  }

  .service-hero p{
    line-height:1.72;
  }

  .service-actions{
    gap:14px;
    margin-top:36px;
  }

  .service-actions .btn{
    min-height:56px;
    padding-left:20px;
    padding-right:20px;
  }

  .service-section{
    padding-top:72px!important;
    padding-bottom:72px!important;
  }

  .service-section-title{
    margin-bottom:38px;
  }

  .service-section-title>span,
  .service-section-eyebrow{
    margin-bottom:13px;
  }

  .service-section-title h2,
  .service-about-grid h2{
    margin-bottom:18px;
    font-size:clamp(1.95rem,9vw,2.45rem);
    line-height:1.1;
  }

  .service-section-title p,
  .service-about-grid>div>p{
    line-height:1.75;
  }

  .service-benefits-grid,
  .service-options-grid,
  .service-steps-grid{
    gap:20px!important;
  }

  .service-benefit-card,
  .service-option-card{
    padding:26px 24px!important;
    border-radius:22px!important;
  }

  .service-benefit-card i{
    margin-bottom:20px;
  }

  .service-option-card{
    min-height:auto;
    gap:30px;
  }

  .service-option-card .btn{
    width:100%;
    min-height:52px;
    justify-content:center;
  }

  .service-about-grid{
    gap:42px!important;
  }

  .service-check-list{
    gap:14px;
  }

  .service-check-list li{
    padding:18px;
    line-height:1.45;
  }

  .service-steps-grid article{
    padding:28px 24px;
    border-radius:22px;
  }

  .service-steps-grid h3{
    margin-top:22px;
  }

  .service-faq-list{
    gap:15px;
  }

  .service-faq-list details{
    padding-left:18px;
    padding-right:18px;
    border-radius:19px;
  }

  .service-faq-list summary{
    padding-top:22px;
    padding-bottom:22px;
    line-height:1.45;
  }

  .service-faq-list p{
    margin-bottom:22px;
    line-height:1.72;
  }

  .service-final-cta{
    padding-top:72px!important;
    padding-bottom:86px!important;
  }

  .service-final-cta .container{
    gap:30px!important;
  }

  .service-final-cta h2{
    margin-top:10px;
    margin-bottom:14px;
    line-height:1.12;
  }

  .service-final-cta p{
    line-height:1.7;
  }

  .service-final-cta .btn{
    min-height:56px;
  }
}

@media (max-width: 380px){
  .service-landing .container{
    padding-left:17px!important;
    padding-right:17px!important;
  }

  .service-benefit-card,
  .service-option-card,
  .service-steps-grid article{
    padding-left:21px!important;
    padding-right:21px!important;
  }
}


@media(max-width:760px){
  .client-header-inner{
    grid-template-columns:40px minmax(0,1fr);
    row-gap:10px;
  }
  .client-brand{min-width:0;}
  .client-header-actions{
    grid-column:1 / -1;
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  .client-header-button{
    width:100%;
    min-width:0;
    padding:0 8px;
  }
  .client-header-button span{
    max-width:100%!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

/* =========================================================
   HEADER MOBILE EM LINHA ÚNICA
   Logo + Minha Conta + Aulas + Reservas permanecem alinhados.
   ========================================================= */
@media (max-width:760px){
  .client-app-header{
    padding:10px 0;
  }

  .client-app-header .container.client-header-inner{
    width:min(96%,1180px);
    display:grid;
    grid-template-columns:34px minmax(54px,1fr) auto;
    align-items:center;
    gap:6px;
    row-gap:0;
  }

  .client-menu-btn{
    width:34px;
    height:34px;
    padding:0 8px;
    border-radius:11px;
  }

  .client-menu-btn span{
    height:2px;
  }

  .client-brand{
    justify-self:start;
    min-width:0;
    max-width:100%;
    font-size:18px;
  }

  .client-brand .brand-logo-image{
    display:block;
    width:auto;
    max-width:88px;
    height:38px;
    object-fit:contain;
    object-position:left center;
  }

  .client-brand .brand-name{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .client-header-actions{
    grid-column:auto;
    width:auto;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:nowrap;
    gap:4px;
    white-space:nowrap;
  }

  .client-header-button{
    width:auto;
    min-width:0;
    min-height:34px;
    padding:0 8px;
    border-width:1px;
    border-radius:10px;
    font-size:10.5px;
    line-height:1;
    box-shadow:0 6px 12px rgba(55,6,15,.09);
    flex:0 1 auto;
  }

  .client-header-button span,
  .client-header-account span,
  .client-header-reserve span{
    display:block;
    max-width:72px!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}

@media (max-width:430px){
  .client-app-header .container.client-header-inner{
    width:calc(100% - 12px);
    grid-template-columns:30px minmax(46px,1fr) auto;
    gap:4px;
  }

  .client-menu-btn{
    width:30px;
    height:30px;
    padding:0 7px;
    border-radius:9px;
  }

  .client-brand .brand-logo-image{
    max-width:72px;
    height:32px;
  }

  .client-brand{
    font-size:15px;
  }

  .client-header-actions{
    gap:3px;
  }

  .client-header-button{
    min-height:30px;
    padding:0 6px;
    border-radius:8px;
    font-size:9.5px;
  }

  .client-header-button span,
  .client-header-account span,
  .client-header-reserve span{
    max-width:60px!important;
  }
}

@media (max-width:360px){
  .client-app-header .container.client-header-inner{
    width:calc(100% - 8px);
    grid-template-columns:28px minmax(40px,1fr) auto;
    gap:3px;
  }

  .client-menu-btn{
    width:28px;
    height:28px;
    padding:0 6px;
  }

  .client-brand .brand-logo-image{
    max-width:60px;
    height:29px;
  }

  .client-header-actions{
    gap:2px;
  }

  .client-header-button{
    min-height:28px;
    padding:0 5px;
    font-size:8.7px;
    border-radius:7px;
  }

  .client-header-button span,
  .client-header-account span,
  .client-header-reserve span{
    max-width:53px!important;
  }
}


/* Banner com link sem botão: toda a área é clicável. Com botão: somente o CTA recebe o link. */
.home-banner-panel.is-clickable{cursor:pointer;}
.home-banner-panel.is-clickable:focus-visible{outline:3px solid rgba(255,255,255,.95);outline-offset:-5px;}
.home-banner-button{display:inline-flex;align-items:center;text-decoration:none;border-radius:999px;transition:transform .18s ease,filter .18s ease;}
.home-banner-button:hover{transform:translateY(-1px);filter:brightness(1.04);}
.home-banner-button:focus-visible{outline:3px solid rgba(255,255,255,.95);outline-offset:3px;}
.home-banner-button span{pointer-events:none;}


/* Controle administrativo do menu mobile do cliente */
@media (max-width: 760px) {
  .client-app-header.client-mobile-menu-disabled .client-header-actions {
    display: none !important;
  }
}


/* =========================================================
   HOME MOBILE PREMIUM - 2026
   Layout inspirado em aplicativo, preservando toda a lógica existente.
   ========================================================= */
.mobile-home-quick{display:none}
.mobile-nav-icon svg,.mobile-quick-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){
  html{scroll-padding-bottom:104px}
  body{background:#fbfcfb;padding-bottom:calc(94px + env(safe-area-inset-bottom,0px))}
  .client-app-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(19,64,39,.08)!important;box-shadow:0 4px 20px rgba(24,55,37,.06)!important;backdrop-filter:blur(16px)}
  .client-header-inner{min-height:72px;display:grid!important;grid-template-columns:44px 1fr 88px;align-items:center;gap:8px;padding-top:8px!important;padding-bottom:8px!important}
  .client-menu-btn{width:42px;height:42px;border:0!important;border-radius:14px;background:transparent!important;box-shadow:none!important;padding:10px!important}
  .client-menu-btn span{height:3px!important;border-radius:99px;background:#18231d!important}
  .client-brand{justify-self:center;max-width:180px!important;margin:0!important}
  .client-brand img{max-height:52px!important;max-width:170px!important;object-fit:contain}
  .client-header-actions{justify-self:end;display:flex!important;gap:7px!important}
  .client-header-actions .client-header-lessons,.client-header-actions .client-header-reserve{display:none!important}
  .client-header-account{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#17201b!important;color:#fff!important;box-shadow:none!important;font-size:0!important}
  .client-header-account:before{content:"";width:11px;height:11px;border:2px solid currentColor;border-radius:50%;position:absolute;top:9px;left:50%;transform:translateX(-50%)}
  .client-header-account:after{content:"";width:20px;height:10px;border:2px solid currentColor;border-bottom:0;border-radius:14px 14px 0 0;position:absolute;bottom:8px;left:50%;transform:translateX(-50%)}
  .client-header-account{position:relative}
  main{overflow:hidden}
  .section-planos-home{padding:16px 0 10px!important}
  .section-planos-home .container{padding-left:14px!important;padding-right:14px!important}
  .home-banner-viewport,.home-banner-panel{border-radius:24px!important}
  .home-banner-viewport{box-shadow:0 12px 28px rgba(20,45,30,.15)!important}
  .section-planos-home .home-banner-panel,.section-planos-home .home-banner-panel.media-only{min-height:370px!important;height:52vw!important;max-height:430px!important;padding:26px 24px!important}
  .home-banner-panel.has-image:not(.media-only) .home-banner-overlay{background:linear-gradient(90deg,rgba(9,23,14,.78),rgba(9,23,14,.34) 66%,rgba(9,23,14,.12))!important}
  .home-banner-copy{display:flex;flex-direction:column;justify-content:center;min-height:310px;max-width:78%!important}
  .home-banner-eyebrow{align-self:flex-start;padding:8px 13px;border-radius:999px;background:rgba(0,90,45,.82);color:#efff75!important;font-size:11px!important;letter-spacing:.2px!important;text-transform:none}
  .home-banner-copy h2{font-size:42px!important;line-height:.98!important;letter-spacing:-1.8px!important;margin:14px 0 12px!important;text-shadow:0 2px 10px rgba(0,0,0,.18)}
  .home-banner-copy p{font-size:18px!important;line-height:1.32!important;color:#fff!important}
  .home-banner-footer{margin-top:15px!important}.home-banner-footer strong{font-size:15px!important}
  .home-carousel-control{display:none!important}.home-carousel-dots{left:50%!important;right:auto!important;bottom:16px!important;transform:translateX(-50%);gap:8px!important}.home-carousel-dots button{width:9px!important;height:9px!important}.home-carousel-dots button[aria-current=true]{width:9px!important}
  .mobile-home-quick{display:block;padding:18px 0 4px}
  .mobile-home-quick .container{padding-left:16px!important;padding-right:16px!important}
  .mobile-home-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 14px}
  .mobile-home-section-title h2{margin:0;color:#121815;font-size:24px;letter-spacing:-.5px}.mobile-home-section-title h2 span{color:#0c8b3f;font-size:30px;font-weight:400;vertical-align:-2px}
  .mobile-home-section-title a{color:#087b36;text-decoration:none;font-weight:800;font-size:14px}
  .mobile-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .mobile-quick-card{position:relative;min-height:172px;padding:20px 10px 14px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid rgba(19,67,38,.07);border-radius:21px;background:#fff;color:#17211b;text-decoration:none;box-shadow:0 9px 24px rgba(22,55,34,.07)}
  .mobile-quick-icon{display:block;width:50px;height:50px;margin-bottom:10px;color:#0c8b3f}
  .mobile-quick-card strong{font-size:17px;line-height:1.1}.mobile-quick-card small{min-height:34px;margin-top:7px;color:#59655f;font-size:12px;line-height:1.35}
  .mobile-quick-card i{display:grid;width:29px;height:29px;place-items:center;margin-top:8px;border-radius:50%;background:#e9f7ed;color:#087b36;font-style:normal;font-size:25px;line-height:1}
  .home-activities-section{padding-top:22px!important}.home-reservas-heading .home-section-eyebrow{display:none}.home-reservas-heading h1{font-size:26px!important;text-align:left!important}
  .categorias-home{gap:14px!important}.banner-home{min-height:185px!important;border-radius:22px!important;box-shadow:0 10px 25px rgba(20,45,30,.09)!important}
  .home-aulas-highlight{padding-top:18px!important}
  footer{padding-bottom:24px!important}
  .mobile-bottom-nav-premium{position:fixed!important;z-index:1000!important;left:0!important;right:0!important;bottom:0!important;display:grid!important;grid-template-columns:repeat(5, 1fr)!important;gap:0!important;width:100%!important;max-width:none!important;height:auto!important;padding:10px 12px calc(9px + env(safe-area-inset-bottom,0px))!important;border:1px solid rgba(20,54,33,.08)!important;border-bottom:0!important;border-radius:26px 26px 0 0!important;background:rgba(255,255,255,.97)!important;box-shadow:0 -8px 30px rgba(20,45,30,.11)!important;backdrop-filter:blur(18px)}
  .mobile-bottom-nav-premium a{position:relative;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:0!important;min-height:61px!important;padding:7px 4px!important;border:0!important;border-radius:20px!important;background:transparent!important;color:#737b76!important;text-decoration:none!important;font-size:11px!important;font-weight:700!important;line-height:1!important}
  .mobile-bottom-nav-premium a.is-active{background:linear-gradient(135deg,#edf8ef,#e3f3e8)!important;color:#09823a!important}
  .mobile-bottom-nav-premium .mobile-nav-icon{width:28px;height:28px;display:block}
  .mobile-bottom-nav-premium strong{font:inherit;font-size:12px}
}
@media(max-width:390px){
  .home-banner-copy h2{font-size:35px!important}.home-banner-copy p{font-size:15px!important}.section-planos-home .home-banner-panel,.section-planos-home .home-banner-panel.media-only{min-height:330px!important}
  .mobile-quick-card{min-height:158px;padding-left:7px;padding-right:7px}.mobile-quick-icon{width:43px;height:43px}.mobile-quick-card strong{font-size:15px}.mobile-quick-card small{font-size:11px}
}
@media(min-width:761px){.mobile-bottom-nav-premium{display:none!important}}

/* ==========================================================
   HOME MOBILE PREMIUM 2026 — referência visual Quintal
   Mantém o desktop e todas as regras de negócio existentes.
   ========================================================== */
.mobile-home-upcoming,
.mobile-home-event-banner,
.mobile-home-highlights{display:none}

@media (max-width:760px){
  :root{--home-mobile-green:#087b36;--home-mobile-lime:#bcff48;--home-mobile-ink:#121814;--home-mobile-muted:#5c665f}
  body{background:#fff!important;color:var(--home-mobile-ink);padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}
  main{overflow:hidden}
  main>.section-planos-home{padding:12px 0 5px!important}
  main>.section-planos-home>.container{padding-left:13px!important;padding-right:13px!important}
  .section-planos-home .home-banner-viewport,
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{border-radius:22px!important}
  .section-planos-home .home-banner-viewport{box-shadow:0 10px 26px rgba(22,47,30,.13)!important}
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{height:365px!important;min-height:365px!important;max-height:365px!important;padding:22px 20px!important}
  .section-planos-home .home-banner-image,
  .section-planos-home .home-banner-video{object-position:center!important}
  .section-planos-home .home-banner-panel.has-image:not(.media-only) .home-banner-overlay{background:linear-gradient(90deg,rgba(6,17,10,.82) 0%,rgba(7,18,11,.53) 55%,rgba(7,18,11,.13) 100%)!important}
  .home-banner-copy{justify-content:center!important;min-height:320px!important;max-width:88%!important;padding:0!important}
  .home-banner-eyebrow{padding:8px 13px!important;border-radius:999px!important;background:rgba(0,92,45,.88)!important;color:#efff83!important;font-size:12px!important;font-weight:700!important}
  .home-banner-copy h2{margin:15px 0 11px!important;font-size:43px!important;line-height:.94!important;letter-spacing:-2px!important;color:#fff!important}
  .home-banner-copy p{max-width:320px;font-size:18px!important;line-height:1.32!important;color:#fff!important}
  .home-banner-footer{margin-top:14px!important}
  .home-carousel-control{display:none!important}
  .home-carousel-dots{bottom:16px!important;gap:8px!important}
  .home-carousel-dots button{width:9px!important;height:9px!important;background:rgba(255,255,255,.45)!important}
  .home-carousel-dots button[aria-current=true]{width:9px!important;background:#fff!important}

  .mobile-home-quick,
  .mobile-home-upcoming,
  .mobile-home-event-banner,
  .mobile-home-highlights{display:block}
  .mobile-home-quick{padding:21px 0 5px!important}
  .mobile-home-upcoming{padding:22px 0 0}
  .mobile-home-event-banner{padding:17px 0 0}
  .mobile-home-highlights{padding:18px 0 8px}
  .mobile-home-upcoming .container,
  .mobile-home-event-banner .container,
  .mobile-home-highlights .container{padding-left:16px!important;padding-right:16px!important}

  .mobile-home-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
  .mobile-home-section-title h2{display:flex;align-items:center;gap:8px;margin:0;color:#111813;font-size:23px!important;line-height:1.1;font-weight:850;letter-spacing:-.5px}
  .mobile-home-section-title h2 span{color:#0a8b3e;font-size:27px}
  .mobile-home-section-title a{display:inline-flex;align-items:center;gap:7px;color:#087333;text-decoration:none;font-size:15px;font-weight:800;white-space:nowrap}
  .mobile-home-section-title a b{font-size:22px;font-weight:500}

  .mobile-quick-grid{display:flex!important;gap:11px!important;overflow-x:auto;padding:1px 1px 13px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .mobile-quick-grid::-webkit-scrollbar{display:none}
  .mobile-quick-card{flex:0 0 calc((100vw - 54px)/3)!important;min-width:104px!important;min-height:185px!important;padding:20px 8px 14px!important;border:1px solid rgba(18,57,33,.06)!important;border-radius:20px!important;box-shadow:0 8px 22px rgba(18,52,31,.075)!important;scroll-snap-align:start}
  .mobile-quick-icon{width:51px!important;height:51px!important;margin-bottom:10px!important;color:#0a8c3e!important}
  .mobile-quick-card strong{font-size:17px!important;letter-spacing:-.2px}
  .mobile-quick-card small{min-height:36px!important;margin-top:6px!important;color:#59635e!important;font-size:11.5px!important;line-height:1.3!important}
  .mobile-quick-card i{width:30px!important;height:30px!important;margin-top:9px!important;background:#edf8f0!important;color:#087b36!important}

  .section-title-icon{display:inline-grid!important;width:24px;height:24px;place-items:center;border:2px solid #0a8b3e;border-radius:5px;color:#0a8b3e!important;font-size:0!important}
  .section-title-icon:after{content:'✓';font-size:15px;font-weight:900}

  .mobile-upcoming-card{position:relative;display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;min-height:147px;padding:16px 18px 16px 14px;border:1px solid rgba(19,158,77,.15);border-radius:20px;background:linear-gradient(115deg,#f5fff8 0%,#ecfaf1 100%);box-shadow:0 8px 22px rgba(26,83,48,.055);color:#172019;text-decoration:none}
  .mobile-upcoming-date{display:flex;flex-direction:column;align-items:center;justify-content:center;height:112px;border-radius:17px;background:#fff;box-shadow:0 5px 17px rgba(21,65,38,.07);color:#087a35;font-style:normal}
  .mobile-upcoming-date small{font-size:13px;font-weight:850}
  .mobile-upcoming-date strong{margin:1px 0;font-size:39px;line-height:1;font-weight:900;letter-spacing:-1.5px}
  .mobile-upcoming-date em{font-size:14px;font-style:normal;font-weight:850}
  .mobile-upcoming-info{display:flex;min-width:0;flex-direction:column;gap:7px;padding-bottom:30px}
  .mobile-upcoming-info>strong{overflow:hidden;color:#121713;font-size:15px;line-height:1.22;font-weight:850;text-overflow:ellipsis}
  .mobile-upcoming-info small{display:flex;align-items:center;gap:7px;color:#253029;font-size:12.5px;line-height:1.15}
  .mobile-upcoming-info small b{color:#087b36;font-size:17px;font-weight:500}
  .mobile-upcoming-vacancies{position:absolute;right:53px;bottom:15px;display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 170px);overflow:hidden;padding:8px 12px;border-radius:999px;background:#dff7e7;color:#087b36;font-size:11px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
  .mobile-upcoming-vacancies i{width:8px;height:8px;flex:none;border-radius:50%;background:#0fc25a}
  .mobile-upcoming-vacancies.is-full{background:#fff0e7;color:#a84c16}.mobile-upcoming-vacancies.is-full i{background:#e56e2d}
  .mobile-upcoming-arrow{position:absolute;right:14px;top:50%;display:grid;width:38px;height:38px;place-items:center;transform:translateY(-50%);border-radius:50%;background:rgba(255,255,255,.7);color:#087b36;font-size:29px}
  .mobile-upcoming-empty{grid-template-columns:1fr;min-height:105px}.mobile-upcoming-empty .mobile-upcoming-info{padding:0 45px 0 5px}

  .mobile-event-banner-card{position:relative;display:flex;align-items:center;gap:15px;min-height:138px;overflow:hidden;padding:21px 17px;border-radius:20px;background:radial-gradient(circle at 94% 100%,rgba(197,255,73,.32),transparent 31%),linear-gradient(112deg,#004c28 0%,#006a36 55%,#063f28 100%);box-shadow:0 10px 26px rgba(0,72,36,.19);color:#fff;text-decoration:none}
  .mobile-event-banner-card:after{content:'';position:absolute;right:-25px;bottom:-48px;width:150px;height:150px;border:2px solid rgba(190,255,69,.18);border-radius:50%}
  .mobile-event-gift{display:grid;width:58px;height:58px;flex:none;place-items:center;border:2px solid #d5ff3f;border-radius:17px;color:#d5ff3f;font-size:31px}
  .mobile-event-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:7px}
  .mobile-event-copy strong{font-size:18px;line-height:1.08}.mobile-event-copy mark{background:none;color:#d4ff3f}
  .mobile-event-copy small{max-width:220px;color:rgba(255,255,255,.86);font-size:11px;line-height:1.3}
  .mobile-event-button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:7px;flex:none;padding:10px 12px;border-radius:999px;background:#d9ff3f;color:#173000;font-size:11px;font-weight:900;white-space:nowrap}
  .mobile-event-button b{font-size:16px}

  .mobile-highlights-title{margin-bottom:12px}
  .mobile-highlights-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mobile-highlight-card{position:relative;display:flex;min-height:93px;overflow:hidden;flex-direction:column;justify-content:flex-end;padding:17px 46px 16px 17px;border-radius:18px;color:#fff;text-decoration:none;box-shadow:0 9px 22px rgba(8,63,34,.14)}
  .mobile-highlight-card:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 92% 10%,rgba(255,255,255,.16),transparent 33%);pointer-events:none}
  .highlight-courts{background:linear-gradient(135deg,#0e873f,#005a2d)}
  .highlight-member{background:linear-gradient(135deg,#087b78,#045567)}
  .mobile-highlight-card strong{position:relative;font-size:15px;line-height:1.15}.mobile-highlight-card small{position:relative;margin-top:4px;color:rgba(255,255,255,.86);font-size:11px}
  .mobile-highlight-card i{position:absolute;right:14px;top:50%;display:grid;width:31px;height:31px;place-items:center;transform:translateY(-50%);border-radius:50%;background:rgba(255,255,255,.14);font-style:normal;font-size:25px}

  /* No mobile, a nova Home premium substitui somente a vitrine antiga. */
  .home-activities-section,
  .home-aulas-highlight{display:none!important}
  body>footer{display:none!important}

  .mobile-bottom-nav-premium{padding:8px 12px calc(7px + env(safe-area-inset-bottom,0px))!important;border-radius:25px 25px 0 0!important}
  .mobile-bottom-nav-premium a{min-height:62px!important;border-radius:22px!important}
  .mobile-bottom-nav-premium a.is-active{background:linear-gradient(135deg,#edf9ef,#e2f4e6)!important}
}

@media (max-width:390px){
  .section-planos-home .home-banner-panel,.section-planos-home .home-banner-panel.media-only{height:338px!important;min-height:338px!important;max-height:338px!important}
  .home-banner-copy{min-height:295px!important}.home-banner-copy h2{font-size:38px!important}.home-banner-copy p{font-size:16px!important}
  .mobile-quick-card{flex-basis:calc((100vw - 50px)/3)!important;min-height:174px!important}.mobile-quick-card strong{font-size:15px!important}.mobile-quick-icon{width:45px!important;height:45px!important}
  .mobile-upcoming-card{grid-template-columns:74px 1fr;padding-left:11px}.mobile-upcoming-date{height:101px}.mobile-upcoming-date strong{font-size:34px}
  .mobile-upcoming-info>strong{font-size:13px}.mobile-upcoming-info small{font-size:11px}.mobile-upcoming-vacancies{right:48px;max-width:calc(100% - 145px);padding:7px 9px;font-size:10px}
  .mobile-event-gift{width:48px;height:48px}.mobile-event-copy strong{font-size:15px}.mobile-event-button{padding:9px 10px;font-size:10px}
}

/* =========================================================
   HOME MOBILE PREMIUM — CORREÇÃO DE VISIBILIDADE TOTAL
   ========================================================= */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom,0px))!important}

  /* Cabeçalho exatamente centralizado: menu | logo | avisos + conta */
  .client-app-header-premium{position:sticky!important;top:0!important;z-index:1100!important;width:100%!important;background:rgba(255,255,255,.98)!important;border-bottom:1px solid rgba(20,54,33,.07)!important;box-shadow:0 4px 18px rgba(17,53,31,.055)!important;backdrop-filter:blur(16px)}
  .client-header-inner-premium{position:relative!important;display:grid!important;grid-template-columns:52px minmax(0,1fr) 104px!important;align-items:center!important;width:100%!important;max-width:none!important;min-height:82px!important;margin:0!important;padding:10px 14px!important}
  .client-menu-btn-premium{display:grid!important;width:46px!important;height:46px!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:15px!important;background:transparent!important;color:#172019!important}
  .client-menu-btn-premium span{display:none!important}
  .client-menu-btn-premium svg{display:block!important;width:31px!important;height:31px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.15!important;stroke-linecap:round!important}
  .client-brand-premium{position:absolute!important;left:50%!important;top:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;width:min(46vw,190px)!important;max-width:190px!important;transform:translate(-50%,-50%)!important;margin:0!important;padding:0!important;text-align:center!important}
  .client-brand-premium img{display:block!important;width:auto!important;max-width:100%!important;height:58px!important;max-height:58px!important;object-fit:contain!important}
  .client-brand-premium .brand-text,.client-brand-premium strong{max-width:100%!important;text-align:center!important;font-size:21px!important;line-height:1!important}
  .client-header-actions-premium{grid-column:3!important;display:grid!important;grid-template-columns:46px 46px!important;justify-content:end!important;align-items:center!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important}
  .client-header-actions-premium .client-header-icon{position:relative!important;display:grid!important;width:46px!important;height:46px!important;min-width:46px!important;place-items:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#172019!important;text-decoration:none!important}
  .client-header-actions-premium svg{display:block!important;width:29px!important;height:29px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .client-header-notifications i{position:absolute!important;right:7px!important;top:7px!important;display:block!important;width:10px!important;height:10px!important;border:2px solid #fff!important;border-radius:50%!important;background:#0b913f!important}

  /* Banner principal realmente largo, sem ficar espremido */
  .section-planos-home{width:100%!important;margin:0!important;padding:12px 0 0!important}
  .section-planos-home>.container{width:100%!important;max-width:none!important;margin:0!important;padding:0 12px!important}
  .section-planos-home .home-banner-carousel,.section-planos-home .home-banner-viewport,.section-planos-home .home-banner-track,.section-planos-home .home-banner-slide{width:100%!important;max-width:none!important}
  .section-planos-home .home-banner-viewport{overflow:hidden!important;border-radius:22px!important}
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{width:100%!important;height:370px!important;min-height:370px!important;max-height:370px!important;padding:22px 23px!important;border-radius:22px!important}
  .section-planos-home .home-banner-image,.section-planos-home .home-banner-video{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
  .home-banner-copy{width:100%!important;max-width:92%!important;min-height:326px!important;justify-content:center!important}

  /* Acesso rápido: os quatro itens sempre visíveis, sem rolagem escondendo Tatame */
  .mobile-home-quick>.container{width:100%!important;max-width:none!important;padding:0 14px!important}
  .mobile-quick-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;overflow:visible!important;width:100%!important;padding:0!important;scroll-snap-type:none!important}
  .mobile-quick-card{display:flex!important;flex:initial!important;width:100%!important;min-width:0!important;min-height:160px!important;padding:17px 10px 13px!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  .mobile-quick-icon{width:48px!important;height:48px!important;margin:0 0 8px!important}
  .mobile-quick-card strong{font-size:17px!important}
  .mobile-quick-card small{min-height:auto!important;font-size:11.5px!important}
  .mobile-quick-card i{margin-top:8px!important}

  /* Todas as demais informações com largura total e centralização correta */
  .mobile-home-upcoming .container,.mobile-home-event-banner .container,.mobile-home-highlights .container{width:100%!important;max-width:none!important;margin:0!important;padding-left:14px!important;padding-right:14px!important}
  .mobile-upcoming-card,.mobile-event-banner-card,.mobile-highlights-grid{width:100%!important}

  /* Menu inferior: cinco itens sempre presentes, lado a lado e centralizados */
  .mobile-bottom-nav.mobile-bottom-nav-premium{position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:2000!important;display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:stretch!important;width:100vw!important;max-width:100vw!important;min-width:0!important;margin:0!important;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))!important;border-radius:27px 27px 0 0!important;background:rgba(255,255,255,.985)!important;box-shadow:0 -8px 28px rgba(16,52,29,.12)!important}
  .mobile-bottom-nav.mobile-bottom-nav-premium>a{display:flex!important;visibility:visible!important;opacity:1!important;min-width:0!important;width:100%!important;min-height:64px!important;margin:0!important;padding:7px 2px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;border-radius:21px!important;color:#68716c!important;text-align:center!important;overflow:visible!important}
  .mobile-bottom-nav.mobile-bottom-nav-premium>a:nth-child(n){display:flex!important}
  .mobile-bottom-nav-premium .mobile-nav-icon{display:grid!important;visibility:visible!important;width:29px!important;height:29px!important;place-items:center!important;overflow:visible!important}
  .mobile-bottom-nav-premium .mobile-nav-icon svg{display:block!important;visibility:visible!important;width:29px!important;height:29px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  .mobile-bottom-nav-premium strong{display:block!important;visibility:visible!important;max-width:100%!important;overflow:visible!important;font-size:11px!important;font-weight:800!important;line-height:1.05!important;white-space:nowrap!important}
  .mobile-bottom-nav-premium>a.is-active{background:linear-gradient(135deg,#edf9ef,#dff2e5)!important;color:#078039!important}
}

@media (max-width:390px){
  .client-header-inner-premium{grid-template-columns:46px minmax(0,1fr) 92px!important;padding-left:9px!important;padding-right:9px!important}
  .client-brand-premium{width:min(43vw,160px)!important}
  .client-brand-premium img{height:51px!important}
  .client-header-actions-premium{grid-template-columns:42px 42px!important;gap:4px!important}
  .client-header-actions-premium .client-header-icon{width:42px!important;height:42px!important;min-width:42px!important}
  .section-planos-home>.container{padding:0 9px!important}
  .section-planos-home .home-banner-panel,.section-planos-home .home-banner-panel.media-only{height:345px!important;min-height:345px!important;max-height:345px!important;padding:19px!important}
  .home-banner-copy{min-height:302px!important}
  .mobile-quick-grid{gap:9px!important}.mobile-quick-card{min-height:151px!important}
}

/* =========================================================
   AJUSTE FINAL MOBILE — MARCA AO LADO DO MENU E NAV 100%
   ========================================================= */
@media (max-width:760px){
  /* Header: [menu][logotipo]                                 [avisos][conta] */
  .client-header-inner-premium{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr) auto!important;
    column-gap:8px!important;
    align-items:center!important;
    min-height:76px!important;
    width:100%!important;
    max-width:none!important;
    padding:8px 12px!important;
  }
  .client-menu-btn-premium{
    grid-column:1!important;
    justify-self:start!important;
    width:44px!important;
    height:44px!important;
  }
  .client-brand-premium{
    position:static!important;
    grid-column:2!important;
    justify-self:start!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    max-width:min(43vw,180px)!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    text-align:left!important;
  }
  .client-brand-premium img{
    width:auto!important;
    max-width:100%!important;
    height:53px!important;
    max-height:53px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .client-brand-premium .brand-text,
  .client-brand-premium strong{
    text-align:left!important;
  }
  .client-header-actions-premium{
    grid-column:3!important;
    justify-self:end!important;
    display:grid!important;
    grid-template-columns:42px 42px!important;
    gap:5px!important;
    width:auto!important;
  }
  .client-header-actions-premium .client-header-icon{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }

  /* Navegação inferior exatamente centralizada e usando 100% da tela */
  .mobile-bottom-nav.mobile-bottom-nav-premium{
    box-sizing:border-box!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,25%)!important;
    justify-items:stretch!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
  }
  .mobile-bottom-nav.mobile-bottom-nav-premium>a{
    box-sizing:border-box!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

@media (max-width:390px){
  .client-header-inner-premium{
    grid-template-columns:42px minmax(0,1fr) auto!important;
    column-gap:5px!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }
  .client-menu-btn-premium{width:40px!important;height:40px!important}
  .client-brand-premium{max-width:min(41vw,150px)!important}
  .client-brand-premium img{height:47px!important;max-height:47px!important}
  .client-header-actions-premium{grid-template-columns:38px 38px!important;gap:2px!important}
  .client-header-actions-premium .client-header-icon{width:38px!important;height:38px!important;min-width:38px!important}
  .client-header-actions-premium svg{width:26px!important;height:26px!important}
  .mobile-bottom-nav.mobile-bottom-nav-premium{padding-left:4px!important;padding-right:4px!important}
}

/* =========================================================
   CORREÇÃO DEFINITIVA — MENU INFERIOR INTEIRO NA TELA
   Remove o translateX herdado do tema antigo, que deslocava
   metade da barra para fora da tela e deixava só Aulas/Conta.
   ========================================================= */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden;}

  .mobile-bottom-nav.mobile-bottom-nav-premium{
    position:fixed!important;
    inset:auto 0 0 0!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    transform:none!important;
    translate:none!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    margin:0!important;
    overflow:visible!important;
  }

  .mobile-bottom-nav.mobile-bottom-nav-premium > a{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
}


/* CENTRAL DE NOTIFICAÇÕES PREMIUM */
.client-header-notifications{position:relative!important}.client-notification-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e53935;color:#fff;border:2px solid #fff;font:700 10px/14px system-ui;text-align:center;box-sizing:border-box}
.notifications-page{background:#f4f7f5}.notifications-shell{width:min(760px,calc(100% - 28px));margin:24px auto 110px}.notifications-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:18px}.notifications-title small{color:#0c8c47;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.notifications-title h1{margin:4px 0 0;font-size:30px}.notifications-title button,.notification-actions button,.notification-actions a{border:0;background:#e7f6ed;color:#08763b;padding:9px 12px;border-radius:12px;font-weight:800;text-decoration:none;cursor:pointer}.notifications-list{display:grid;gap:12px}.notification-card{display:flex;gap:14px;background:#fff;padding:16px;border-radius:20px;border:1px solid #e4ece7;box-shadow:0 8px 28px rgba(13,63,35,.06)}.notification-card.is-unread{border-left:5px solid #0b9148}.notification-icon{width:46px;height:46px;border-radius:15px;background:#e8f7ee;display:grid;place-items:center;font-size:22px;flex:none}.notification-content{min-width:0;flex:1}.notification-meta{display:flex;justify-content:space-between;gap:12px}.notification-meta time{font-size:12px;color:#7d8982;white-space:nowrap}.notification-content p{color:#536159;line-height:1.45}.notification-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notification-actions form{margin:0}.notification-actions .danger{background:#fff0f0;color:#b3261e}.notifications-empty{text-align:center;background:#fff;border-radius:24px;padding:48px 20px}.notifications-empty span{font-size:44px}.admin-notification-shell{width:min(760px,calc(100% - 32px));margin:28px auto}.admin-notification-form{display:grid;gap:16px;background:var(--admin-card,#fff);padding:24px;border-radius:18px}.admin-notification-form label{display:grid;gap:7px;font-weight:700}.admin-notification-form input,.admin-notification-form select,.admin-notification-form textarea{width:100%;padding:12px;border:1px solid #ccd8d0;border-radius:10px;font:inherit;box-sizing:border-box}.admin-notification-form>button{padding:13px;border:0;border-radius:12px;background:#078844;color:#fff;font-weight:800}.admin-notification-flash{padding:14px;border-radius:12px;background:#e7f6ed;color:#08763b;margin-bottom:15px}
@media(max-width:600px){.notifications-shell{width:calc(100% - 20px);margin-top:14px}.notifications-title{align-items:flex-start}.notifications-title h1{font-size:25px}.notifications-title button{font-size:11px}.notification-card{padding:14px 12px}.notification-meta{display:block}.notification-meta time{display:block;margin-top:3px}.notification-icon{width:40px;height:40px}.notification-actions{gap:6px}}

/* Central de notificações premium v2 */
.notifications-page-v2{--notif-green:#078744;--notif-green-dark:#075f34;--notif-bg:#f4f7f5;--notif-text:#17231c;--notif-muted:#718078;--notif-line:#e4ebe6;background:var(--notif-bg);color:var(--notif-text);min-height:100vh}
.notifications-page-v2 svg{fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.notifications-app{width:min(820px,calc(100% - 28px));margin:0 auto;padding:22px 0 calc(120px + env(safe-area-inset-bottom))}
.notifications-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 24px;margin-bottom:15px;border:1px solid rgba(7,135,68,.09);border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f1fbf5 100%);box-shadow:0 12px 35px rgba(25,65,42,.07);overflow:hidden}
.notifications-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-75px;top:-95px;background:radial-gradient(circle,rgba(11,153,78,.13),rgba(11,153,78,0) 70%);pointer-events:none}
.notifications-hero-copy{display:flex;align-items:center;gap:15px;min-width:0;position:relative;z-index:1}
.notifications-back{width:42px;height:42px;border-radius:14px;background:#fff;border:1px solid #e5ece7;display:grid;place-items:center;color:#253d30;box-shadow:0 5px 18px rgba(12,55,31,.06);flex:none}
.notifications-back svg{width:21px;height:21px}
.notifications-eyebrow{display:block;color:var(--notif-green);font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;margin-bottom:4px}
.notifications-hero h1{font-size:clamp(27px,5vw,36px);line-height:1.08;margin:0;font-weight:900;letter-spacing:-.035em}
.notifications-hero p{margin:7px 0 0;color:var(--notif-muted);font-size:14px;line-height:1.35}
.notifications-read-all{position:relative;z-index:1;margin:0;flex:none}
.notifications-read-all button{display:flex;align-items:center;gap:8px;border:0;border-radius:15px;padding:11px 14px;background:#e4f5eb;color:var(--notif-green-dark);font:800 13px/1 system-ui;cursor:pointer}
.notifications-read-all svg{width:18px;height:18px}
.notifications-toolbar{position:sticky;top:72px;z-index:20;margin:0 -2px 18px;padding:7px 2px;background:linear-gradient(var(--notif-bg) 70%,rgba(244,247,245,0));backdrop-filter:blur(10px)}
.notifications-filter-scroll{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;overscroll-behavior-inline:contain}
.notifications-filter-scroll::-webkit-scrollbar{display:none}
.notification-filter{white-space:nowrap;border:1px solid #dfe8e2;background:#fff;color:#5d6c64;border-radius:999px;padding:9px 13px;font:800 12px/1 system-ui;cursor:pointer;box-shadow:0 3px 12px rgba(16,57,34,.035)}
.notification-filter span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:5px;border-radius:99px;background:#edf3ef;color:#5c6a62;font-size:10px}
.notification-filter.is-active{background:var(--notif-green);border-color:var(--notif-green);color:#fff;box-shadow:0 7px 17px rgba(7,135,68,.21)}
.notification-filter.is-active span{background:rgba(255,255,255,.2);color:#fff}
.notifications-feed{display:grid;gap:24px}
.notification-group[hidden],.notification-item[hidden]{display:none!important}
.notification-group-heading{display:flex;align-items:center;justify-content:space-between;padding:0 4px 10px}
.notification-group-heading h2{margin:0;font-size:15px;line-height:1;font-weight:900;letter-spacing:-.01em;color:#26372d}
.notification-group-heading span{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:99px;background:#e8efea;color:#637068;font:800 11px/1 system-ui}
.notification-group-list{display:grid;gap:10px}
.notification-item{position:relative;display:flex;gap:14px;padding:16px;background:#fff;border:1px solid var(--notif-line);border-radius:22px;box-shadow:0 7px 24px rgba(19,61,37,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.notification-item:hover{transform:translateY(-1px);box-shadow:0 11px 28px rgba(19,61,37,.075)}
.notification-item.is-unread{border-color:#cfe6d8;background:linear-gradient(100deg,#fbfffc 0%,#fff 70%)}
.notification-item.is-unread:before{content:"";position:absolute;left:-1px;top:20px;bottom:20px;width:4px;border-radius:0 5px 5px 0;background:var(--notif-green)}
.notification-item-icon{width:50px;height:50px;border-radius:17px;display:grid;place-items:center;flex:none}
.notification-item-icon svg{width:24px;height:24px}
.notification-item-icon--reserva{background:#e6f7ed;color:#087a40}.notification-item-icon--aula{background:#eaf2ff;color:#3f6fb6}.notification-item-icon--evento{background:#fff1e6;color:#be6624}.notification-item-icon--mensalidade,.notification-item-icon--pagamento{background:#f2ecff;color:#7651b7}.notification-item-icon--aviso{background:#fff6dd;color:#a9790c}
.notification-item-body{min-width:0;flex:1}
.notification-item-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.notification-item-heading{display:flex;align-items:center;gap:7px;min-width:0}
.notification-item-heading h3{margin:0;color:#1e2e25;font-size:15px;line-height:1.28;font-weight:900;letter-spacing:-.012em}
.notification-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--notif-green);box-shadow:0 0 0 4px rgba(7,135,68,.09);flex:none}
.notification-item time{color:#8a968f;font-size:11px;line-height:1.3;white-space:nowrap;padding-top:2px}
.notification-item-body>p{margin:8px 0 13px;color:#607067;font-size:13px;line-height:1.52}
.notification-item-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.notification-category-label{display:inline-flex;align-items:center;min-height:25px;padding:0 9px;border-radius:99px;background:#f1f5f2;color:#69766f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.notification-item-actions{display:flex;align-items:center;gap:6px}
.notification-item-actions form{margin:0}
.notification-action{height:34px;border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;text-decoration:none;font:850 11px/1 system-ui;cursor:pointer;transition:background .15s ease,transform .15s ease}
.notification-action:hover{transform:translateY(-1px)}
.notification-action svg{width:16px;height:16px}
.notification-action--primary{background:var(--notif-green);color:#fff;box-shadow:0 5px 13px rgba(7,135,68,.18)}
.notification-action--quiet{background:#edf6f0;color:#227143}
.notification-action--icon{width:34px;padding:0;background:#f5f7f6;color:#8a9690}
.notification-action--icon:hover{background:#fff0f0;color:#bd4038}
.notifications-empty-v2,.notifications-no-results{max-width:620px;margin:28px auto 0;padding:54px 25px;text-align:center;border:1px solid #e2ebe5;border-radius:28px;background:#fff;box-shadow:0 12px 34px rgba(18,59,36,.055)}
.notifications-empty-illustration{position:relative;width:96px;height:96px;margin:0 auto 22px;border-radius:31px;display:grid;place-items:center;background:linear-gradient(145deg,#e7f7ed,#f8fffb);color:var(--notif-green)}
.notifications-empty-illustration>svg{width:39px;height:39px;position:relative;z-index:2}
.notifications-empty-ring{position:absolute;inset:12px;border:1px dashed rgba(7,135,68,.3);border-radius:24px}
.notifications-empty-check{position:absolute;right:-4px;bottom:-4px;width:31px;height:31px;border:4px solid #fff;border-radius:50%;background:var(--notif-green);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:900}
.notifications-empty-kicker{color:var(--notif-green);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.notifications-empty-v2 h2,.notifications-no-results h2{margin:7px 0 8px;font-size:25px;letter-spacing:-.025em}
.notifications-empty-v2 p,.notifications-no-results p{max-width:420px;margin:0 auto;color:#748178;line-height:1.55;font-size:14px}
.notifications-empty-v2>a{display:inline-flex;margin-top:22px;padding:12px 18px;border-radius:14px;background:var(--notif-green);color:#fff;text-decoration:none;font-weight:850;font-size:13px}
.notifications-no-results{margin-top:4px;padding:40px 20px}
.notifications-no-results-icon{width:62px;height:62px;margin:0 auto 15px;border-radius:20px;background:#eff6f1;color:#708078;display:grid;place-items:center}
.notifications-no-results-icon svg{width:28px;height:28px}
@media(max-width:680px){
  .notifications-app{width:calc(100% - 20px);padding-top:12px}
  .notifications-hero{padding:18px 15px;border-radius:23px;align-items:flex-start}
  .notifications-hero-copy{gap:11px}
  .notifications-back{width:38px;height:38px;border-radius:12px}
  .notifications-eyebrow{font-size:9px}
  .notifications-hero h1{font-size:27px}
  .notifications-hero p{font-size:12px}
  .notifications-read-all button{width:38px;height:38px;padding:0;justify-content:center;border-radius:12px}
  .notifications-read-all span{display:none}
  .notifications-toolbar{top:62px;margin-bottom:13px}
  .notification-item{padding:14px 12px;gap:11px;border-radius:19px}
  .notification-item-icon{width:43px;height:43px;border-radius:14px}
  .notification-item-icon svg{width:21px;height:21px}
  .notification-item-topline{display:block}
  .notification-item time{display:block;margin-top:4px;padding-left:14px}
  .notification-item-body>p{margin-top:7px;font-size:12.5px}
  .notification-item-footer{align-items:flex-end}
  .notification-action span{display:none}
  .notification-action--primary span{display:inline}
  .notification-action--quiet,.notification-action--icon{width:34px;padding:0}
}
@media(max-width:390px){
  .notifications-app{width:calc(100% - 14px)}
  .notifications-hero{padding:15px 12px}
  .notifications-back{display:none}
  .notifications-item{padding-left:11px}
  .notification-category-label{font-size:9px;padding:0 7px}
}

/* ===== Central de notificações V3 — limpa, mobile-first ===== */
.notifications-page-v2{background:#f5f7f5}
.notifications-app-v3{width:min(100%,760px);margin:0 auto;padding:14px 16px calc(104px + env(safe-area-inset-bottom));color:#17231c}
.notif-v3-header{padding:6px 0 14px;background:#f5f7f5}
.notif-v3-title-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}
.notif-v3-back{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:#fff;border:1px solid #e5ebe7;color:#1d3025;box-shadow:0 4px 14px rgba(25,55,37,.05)}
.notif-v3-back svg{width:21px;height:21px}
.notif-v3-title h1{margin:0;font-size:25px;line-height:1.05;font-weight:900;letter-spacing:-.035em;color:#17231c}
.notif-v3-title p{margin:5px 0 0;font-size:12px;color:#7a8980;font-weight:700}
.notif-v3-read-all{margin:0}.notif-v3-read-all button{border:0;background:#e7f7ed;color:#087a40;border-radius:12px;padding:10px 12px;font-size:12px;font-weight:900;white-space:nowrap}
.notif-v3-status-ok{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e5f7ec;color:#078744}.notif-v3-status-ok svg{width:19px;height:19px}
.notif-v3-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 0 16px;position:sticky;top:0;z-index:4;background:linear-gradient(#f5f7f5 78%,rgba(245,247,245,0))}.notif-v3-filters::-webkit-scrollbar{display:none}
.notif-v3-filters .notification-filter{flex:0 0 auto;border:1px solid #e1e8e3;background:#fff;color:#67766d;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:850;box-shadow:none}.notif-v3-filters .notification-filter span{display:inline-grid;place-items:center;min-width:19px;height:19px;margin-left:5px;padding:0 5px;border-radius:999px;background:#f0f3f1;font-size:10px}.notif-v3-filters .notification-filter.is-active{background:#087a40;border-color:#087a40;color:#fff}.notif-v3-filters .notification-filter.is-active span{background:rgba(255,255,255,.2)}
.notif-v3-feed{display:flex;flex-direction:column;gap:21px}.notif-v3-group[hidden],.notif-v3-card[hidden]{display:none!important}.notif-v3-group-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 9px}.notif-v3-group-title h2{margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:#7f8d85;font-weight:900}.notif-v3-group-title span{font-size:11px;font-weight:850;color:#96a29b}
.notif-v3-list{display:flex;flex-direction:column;gap:9px}.notif-v3-card{position:relative;display:flex;gap:12px;padding:14px;background:#fff;border:1px solid #e4eae6;border-radius:20px;box-shadow:0 5px 18px rgba(27,55,38,.045)}.notif-v3-card.is-unread{border-color:#cbe5d5;background:#fcfffd}.notif-v3-card.is-unread:after{content:"";position:absolute;right:12px;top:12px;width:7px;height:7px;border-radius:50%;background:#07924a;box-shadow:0 0 0 4px #e4f6eb}
.notif-v3-icon{width:45px;height:45px;flex:0 0 45px;display:grid;place-items:center;border-radius:15px}.notif-v3-icon svg{width:22px;height:22px}.notif-v3-icon--reserva{background:#e6f7ed;color:#087a40}.notif-v3-icon--aula{background:#eaf2ff;color:#4272b8}.notif-v3-icon--evento{background:#fff0e5;color:#bd6827}.notif-v3-icon--mensalidade,.notif-v3-icon--pagamento{background:#f2ecff;color:#7754b6}.notif-v3-icon--aviso{background:#fff5da;color:#a9770b}
.notif-v3-content{min-width:0;flex:1}.notif-v3-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:14px}.notif-v3-category{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:#779083}.notif-v3-meta time{font-size:10px;color:#9aa59f;white-space:nowrap}.notif-v3-content h3{margin:5px 0 5px;font-size:15px;line-height:1.25;font-weight:900;letter-spacing:-.012em;color:#1d2c23}.notif-v3-content p{margin:0;color:#68766e;font-size:12.5px;line-height:1.45}
.notif-v3-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.notif-v3-open{display:inline-flex;align-items:center;gap:3px;color:#087a40;font-size:11.5px;font-weight:900;text-decoration:none}.notif-v3-open svg{width:15px;height:15px}.notif-v3-action-icons{display:flex;align-items:center;gap:5px}.notif-v3-action-icons form{margin:0}.notif-v3-action-icons button{width:31px;height:31px;display:grid;place-items:center;border:0;border-radius:10px;background:#f2f5f3;color:#7e8c84;padding:0}.notif-v3-action-icons button:hover{background:#e8f3ec;color:#087a40}.notif-v3-action-icons svg{width:15px;height:15px}
.notif-v3-empty{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 22px}.notif-v3-empty-icon{width:72px;height:72px;display:grid;place-items:center;border-radius:24px;background:#e8f7ed;color:#087a40;margin-bottom:18px}.notif-v3-empty-icon svg{width:33px;height:33px}.notif-v3-empty h2{margin:0;font-size:21px;font-weight:900;color:#1b2b22}.notif-v3-empty p{max-width:420px;margin:9px 0 0;color:#78867e;font-size:13px;line-height:1.55}.notif-v3-empty a{margin-top:18px;padding:11px 17px;border-radius:13px;background:#087a40;color:#fff;font-size:12px;font-weight:900;text-decoration:none}
@media (min-width:700px){.notifications-app-v3{padding-top:24px}.notif-v3-card{padding:16px}.notif-v3-content h3{font-size:16px}}
@media (max-width:360px){.notifications-app-v3{padding-left:11px;padding-right:11px}.notif-v3-read-all button{padding:9px;font-size:10.5px}.notif-v3-title h1{font-size:22px}.notif-v3-card{padding:12px;gap:9px}.notif-v3-icon{width:40px;height:40px;flex-basis:40px;border-radius:13px}.notif-v3-meta{display:block}.notif-v3-meta time{display:block;margin-top:4px}.notif-v3-content h3{font-size:14px}}

/* Carrinho persistente no cabeçalho — exibido somente quando há itens */
.client-header-cart{position:relative!important}
.client-cart-badge{position:absolute;right:-5px;top:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e53935;color:#fff;border:2px solid #fff;font:700 10px/14px system-ui;text-align:center;box-sizing:border-box}
.client-header-actions-premium.has-cart{grid-template-columns:46px 46px 46px!important}
@media(max-width:720px){.client-header-actions-premium.has-cart{grid-template-columns:42px 42px 42px!important;gap:2px!important}}
@media(max-width:390px){.client-header-actions-premium.has-cart{grid-template-columns:36px 36px 36px!important;gap:0!important}.client-header-actions-premium.has-cart .client-header-icon{width:36px!important;height:38px!important;min-width:36px!important}.client-header-actions-premium.has-cart svg{width:24px!important;height:24px!important}}

/* Quintal 32 — benefícios configuráveis do mensalista */
.members-benefits-card{margin:24px 0;background:var(--card,#fff);border:1px solid rgba(148,163,184,.22);border-radius:24px;padding:24px;box-shadow:0 18px 45px rgba(15,23,42,.08)}
.members-benefits-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.members-benefits-head h2{margin:4px 0 6px}.members-benefits-head p{margin:0;color:var(--muted,#64748b)}
.members-benefits-status{padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:800}.members-benefits-status.is-on{background:#dcfce7;color:#166534}.members-benefits-status.is-off{background:#fee2e2;color:#991b1b}
.members-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.members-benefits-group{padding:18px;border:1px solid rgba(148,163,184,.2);border-radius:18px;background:rgba(148,163,184,.06)}.members-benefits-group h3{margin:0 0 15px;font-size:1rem}
.members-benefits-group>label:not(.members-switch){display:block;margin-top:14px}.members-benefits-group label>span{display:block;font-size:.82rem;font-weight:700;margin-bottom:6px}.members-benefits-group input[type=number]{width:100%;padding:11px;border-radius:12px;border:1px solid rgba(148,163,184,.35);background:var(--input-bg,#fff);color:inherit}
.members-switch{display:flex;gap:10px;align-items:flex-start;margin:11px 0;cursor:pointer}.members-switch span{margin:0!important;font-weight:600!important;line-height:1.35}.members-switch input{margin-top:3px}.members-check-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.members-check-row label{font-size:.86rem;font-weight:700}.members-percent{display:flex;align-items:center;gap:8px}.members-percent b{font-size:1.1rem}.members-help{font-size:.8rem;color:var(--muted,#64748b);line-height:1.45;margin:14px 0 0}.members-benefits-actions{display:flex;justify-content:flex-end;margin-top:18px}
.mensalista-benefit-badge{display:block;margin-top:6px;color:#15803d;font-weight:800}
@media(max-width:900px){.members-benefits-grid{grid-template-columns:1fr}.members-benefits-head{flex-direction:column}.members-benefits-card{padding:18px;border-radius:20px}}


/* Quintal 34 — datas anteriores excluídas da primeira mensalidade */
.mensal-ocorrencias-excluidas{margin-top:12px;padding:13px 15px;border:1px solid #f1c77a;border-radius:12px;background:#fff9ec;color:#64430a}
.mensal-ocorrencias-excluidas strong{display:block;margin-bottom:4px}
.mensal-ocorrencias-excluidas p{margin:0 0 7px;font-size:.9rem}
.mensal-ocorrencias-excluidas ul{margin:0;padding-left:18px;font-size:.88rem}

/* Quintal 35 — calendário do mensalista em Minha Conta */
.mc-monthly-disclosure{scroll-margin-top:90px}.mc-monthly-disclosure .mc-panel-content{padding:18px}.mc-month-nav{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;margin-bottom:16px}.mc-month-nav>a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d9e1e7;border-radius:14px;text-decoration:none;font-size:28px;line-height:1;background:#fff;color:#1f2937}.mc-month-nav>div{text-align:center}.mc-month-nav small{display:block;color:#6b7280;font-size:12px}.mc-month-nav strong{display:block;font-size:17px;color:#111827}.mc-monthly-stack{display:grid;gap:18px}.mc-monthly-plan{display:grid;gap:14px}.mc-fixed-time-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #dbe5eb;border-radius:16px;background:#f7fafc}.mc-fixed-time-alert>span:first-child{font-size:22px}.mc-fixed-time-alert small{display:block;color:#64748b;font-size:12px}.mc-fixed-time-alert strong{display:block;color:#0f172a}.mc-fixed-time-alert p{margin:3px 0 0;color:#64748b;font-size:13px}.mc-monthly-warning{display:grid;gap:3px;padding:12px 14px;border:1px solid #f0c36c;border-radius:14px;background:#fff8e8;color:#704b00}.mc-monthly-warning span{font-size:13px}.mc-calendar-weekdays,.mc-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.mc-calendar-weekdays span{text-align:center;color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase}.mc-calendar-day,.mc-calendar-empty{min-height:58px;border-radius:12px}.mc-calendar-day{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:7px;border:1px solid #e5e7eb;background:#fff;color:#334155;overflow:hidden}.mc-calendar-day strong{font-size:13px}.mc-calendar-day span{width:100%;font-size:9px;line-height:1.1;text-align:left;overflow-wrap:anywhere}.mc-calendar-day.has-event{cursor:pointer}.mc-calendar-day.is-confirmada{border-color:#64b887;background:#edf9f1;color:#176239}.mc-calendar-day.is-concluida{border-color:#91a3b5;background:#f1f5f9;color:#475569}.mc-calendar-day.is-aguardando{border-color:#e6b85c;background:#fff8e6;color:#7a5200}.mc-calendar-day.is-nao-incluida{border-color:#df8585;background:#fff0f0;color:#8b2323}.mc-calendar-day.is-cancelada{border-color:#cbd5e1;background:#f8fafc;color:#64748b;text-decoration:line-through}.mc-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;color:#64748b;font-size:12px}.mc-calendar-legend span{display:inline-flex;align-items:center;gap:5px}.mc-calendar-legend i{width:10px;height:10px;border-radius:50%;background:#cbd5e1}.mc-calendar-legend i.is-confirmada{background:#4ca873}.mc-calendar-legend i.is-concluida{background:#8293a5}.mc-calendar-legend i.is-aguardando{background:#daa840}.mc-calendar-legend i.is-nao-incluida{background:#d66a6a}.mc-monthly-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mc-monthly-summary>div{padding:11px;border:1px solid #e5e7eb;border-radius:13px;background:#fff}.mc-monthly-summary small{display:block;color:#64748b;font-size:11px}.mc-monthly-summary strong{display:block;margin-top:3px;color:#0f172a}.mc-monthly-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;text-align:center;color:#64748b}.mc-monthly-modal[hidden]{display:none}.mc-monthly-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:rgba(15,23,42,.56)}.mc-monthly-modal-card{position:relative;width:min(440px,100%);padding:22px;border-radius:20px;background:#fff;color:#0f172a;box-shadow:0 24px 70px rgba(15,23,42,.25)}.mc-monthly-modal-card>small{color:#64748b}.mc-monthly-modal-card h2{margin:4px 0 16px}.mc-monthly-modal-card dl{display:grid;gap:8px;margin:0 0 14px}.mc-monthly-modal-card dl>div{display:flex;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid #eef2f7}.mc-monthly-modal-card dt{color:#64748b}.mc-monthly-modal-card dd{margin:0;text-align:right;font-weight:700}.mc-monthly-modal-card p{padding:12px;border-radius:12px;background:#f8fafc;color:#475569}.mc-monthly-modal-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f5f9;font-size:24px}.mc-modal-open{overflow:hidden}
@media (max-width:520px){.mc-monthly-disclosure .mc-panel-content{padding:12px}.mc-fixed-time-alert{grid-template-columns:auto 1fr}.mc-fixed-time-alert .mc-pill{grid-column:2}.mc-calendar-weekdays,.mc-calendar-grid{gap:3px}.mc-calendar-day,.mc-calendar-empty{min-height:51px;border-radius:9px}.mc-calendar-day{padding:5px}.mc-calendar-day span{font-size:8px}.mc-monthly-summary{grid-template-columns:1fr 1fr}}


/* Quintal 37 · conferência da compra mensalista */
.mensal-checkout-resumo{display:grid;gap:16px}.mensal-checkout-cabecalho{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.mensal-checkout-etiqueta{display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;opacity:.72;margin-bottom:5px}.mensal-checkout-competencia{white-space:nowrap;border:1px solid rgba(0,0,0,.12);border-radius:999px;padding:7px 11px;font-weight:700}.mensal-checkout-numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mensal-checkout-numeros span{border:1px solid rgba(0,0,0,.1);border-radius:12px;padding:10px;display:grid;gap:3px}.mensal-checkout-numeros small{opacity:.7}.mensal-checkout-numeros strong{font-size:1.05rem}.mensal-checkout-calculo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px;border-radius:12px;background:rgba(0,0,0,.035)}.mensal-checkout-calculo strong{margin-left:auto}.mensal-checkout-datas{display:grid;gap:9px}.mensal-checkout-lista-datas{display:flex;flex-wrap:wrap;gap:7px}.mensal-data-incluida{display:inline-flex;border-radius:999px;padding:7px 10px;background:rgba(40,150,80,.11);font-weight:700}.mensal-checkout-proximo-mes{border-left:4px solid currentColor;padding:4px 0 4px 12px}.confirmacao-mensalista-condicoes{margin-top:12px}@media(max-width:640px){.mensal-checkout-cabecalho{display:grid}.mensal-checkout-competencia{justify-self:start}.mensal-checkout-numeros{grid-template-columns:repeat(2,minmax(0,1fr))}.mensal-checkout-calculo{display:grid}.mensal-checkout-calculo strong{margin-left:0}}

/* Quintal 42 - benefícios expansíveis e checkboxes nativos */
.members-benefits-details>summary{list-style:none;cursor:pointer;user-select:none}.members-benefits-details>summary::-webkit-details-marker{display:none}.members-expand-hint{font-size:1.35rem;line-height:1;transition:transform .2s ease;margin-left:8px}.members-benefits-details[open] .members-expand-hint{transform:rotate(180deg)}.members-benefits-details:not([open]) .members-benefits-form{display:none}.members-benefits-details .members-benefits-form{padding-top:4px}.members-benefits-card input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:16px!important;height:16px!important;min-width:16px!important;max-width:16px!important;min-height:16px!important;max-height:16px!important;padding:0!important;border-radius:2px!important;transform:none!important;box-shadow:none!important;accent-color:auto}.members-check-row label{display:flex;align-items:center;gap:7px}.members-switch{align-items:center!important}.members-switch input{margin:0!important}.members-benefits-head{display:flex;align-items:center;gap:12px}.members-benefits-head>div{flex:1}

/* Quintal 43 — Minha Conta premium e próximo momento unificado */
.mc-premium-moment{overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);border:1px solid rgba(15,23,42,.09);box-shadow:0 22px 60px rgba(15,23,42,.09)}
.mc-moment-head{padding-bottom:20px}.mc-moment-kind{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#eef2ff;color:#3730a3}.mc-moment-kind.is-aula{background:#ecfdf5;color:#047857}.mc-moment-kind.is-mensalista{background:#fff7ed;color:#c2410c}
.mc-next-premium{position:relative;display:grid;grid-template-columns:120px 1fr;gap:24px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#111827,#1e293b 55%,#334155);color:#fff;box-shadow:0 22px 42px rgba(15,23,42,.22)}
.mc-next-premium:after{content:"";position:absolute;right:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.06)}
.mc-next-premium .mc-next-top{grid-column:1/-1;position:relative;z-index:1}.mc-moment-label{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#cbd5e1}.mc-moment-label i{width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 0 6px rgba(52,211,153,.14)}
.mc-premium-date{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;min-height:118px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}.mc-premium-date>strong{font-size:3.35rem;line-height:1;font-weight:800}.mc-premium-date>span{display:flex;flex-direction:column;font-size:.78rem;font-weight:800;letter-spacing:.12em}.mc-premium-date small{margin-top:5px;color:#cbd5e1;font-size:.72rem;letter-spacing:0;text-transform:capitalize}
.mc-premium-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:28px}.mc-premium-time{color:#cbd5e1;font-size:.95rem;font-weight:700}.mc-premium-content h3{margin:7px 0 4px;font-size:clamp(1.45rem,3vw,2.2rem);line-height:1.08}.mc-premium-content p{margin:0;color:#cbd5e1}.mc-premium-meta{display:grid;gap:10px;min-width:170px}.mc-premium-meta span{display:flex;flex-direction:column;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.07)}.mc-premium-meta small{color:#94a3b8;font-size:.68rem;text-transform:uppercase;letter-spacing:.07em}.mc-premium-meta b{margin-top:3px;font-size:.86rem}
.mc-moment-actions{grid-column:1/-1;position:relative;z-index:1;display:flex;justify-content:flex-end}.mc-moment-actions a{display:inline-flex;padding:10px 14px;border-radius:12px;background:#fff;color:#111827;font-weight:800;text-decoration:none}
.mc-role-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}.mc-role-hub a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;color:#0f172a;text-decoration:none;box-shadow:0 8px 24px rgba(15,23,42,.05);transition:.2s ease}.mc-role-hub a:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,23,42,.09)}.mc-role-hub span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b}.mc-role-hub strong{font-size:.96rem}.mc-empty-premium{padding:32px;border-radius:22px;background:#f8fafc}
@media(max-width:760px){.mc-next-premium{grid-template-columns:1fr;padding:20px}.mc-premium-date{justify-content:flex-start;padding:16px;min-height:auto}.mc-premium-date>strong{font-size:2.8rem}.mc-premium-content{align-items:flex-start;flex-direction:column}.mc-premium-meta{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.mc-moment-actions{justify-content:stretch}.mc-moment-actions a{justify-content:center;width:100%}.mc-role-hub{grid-template-columns:1fr}.mc-moment-head{align-items:flex-start}}

/* Quintal 44 — Minha Conta clara, simples e premium */
.mc-page{background:#f6f7f5!important}
.mc-wrap{width:min(1080px,92vw)!important}
.mc-hero{background:#fff!important;color:#18231d!important;border:1px solid #e5e9e4!important;border-radius:22px!important;padding:20px 22px!important;box-shadow:0 10px 30px rgba(24,35,29,.05)!important}
.mc-hero:before,.mc-hero:after{display:none!important}
.mc-avatar{width:54px!important;height:54px!important;flex-basis:54px!important;border-radius:17px!important;background:#eef4ee!important;color:#26372d!important;box-shadow:none!important;font-size:18px!important}
.mc-hero .mc-kicker{color:#7a867e!important;font-size:10px!important}
.mc-hello h1{color:#18231d!important;font-size:clamp(23px,3vw,31px)!important;letter-spacing:-.035em!important}
.mc-hello p{color:#6e7972!important;margin-top:6px!important}
.mc-button-primary{background:#253a2a!important;color:#fff!important;box-shadow:none!important}
.mc-button-ghost{background:#f3f5f2!important;color:#34443a!important;border:1px solid #e1e6e1!important}
.mc-layout{grid-template-columns:minmax(0,1.55fr) minmax(270px,.72fr)!important;margin-top:18px!important}
.mc-focus-card{background:#fff;border:1px solid #e3e8e3;border-radius:22px;padding:22px;box-shadow:0 12px 34px rgba(24,35,29,.055)}
.mc-focus-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}
.mc-focus-eyebrow{display:block;color:#768179;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}
.mc-focus-heading h2{margin:0;color:#17231c;font-size:22px;letter-spacing:-.04em}
.mc-focus-type{padding:7px 10px;border-radius:999px;background:#f0f4ef;color:#496052;font-size:10px;font-weight:900;white-space:nowrap}
.mc-focus-event{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;border-radius:18px;background:#f7f9f6;border:1px solid #e7ebe6}
.mc-focus-event.is-live{background:#f1f8f2;border-color:#cfe3d2}
.mc-focus-date{width:76px;height:76px;border-radius:17px;background:#fff;border:1px solid #e3e8e2;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mc-focus-date strong{font-size:28px;line-height:1;color:#203128;letter-spacing:-.06em}
.mc-focus-date span{margin-top:5px;color:#738078;font-size:10px;font-weight:900;letter-spacing:.09em}
.mc-focus-main{min-width:0}
.mc-focus-time-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.mc-focus-time-row>strong{color:#24613a;font-size:13px}
.mc-focus-main h3{margin:6px 0 3px;color:#17231c;font-size:20px;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-focus-main p{margin:0;color:#657168;font-size:13px}
.mc-focus-main small{display:block;margin-top:6px;color:#849087;font-size:11px}
.mc-focus-action a,.mc-focus-empty a{display:inline-flex;align-items:center;justify-content:center;padding:10px 13px;border-radius:11px;background:#253a2a;color:#fff;text-decoration:none;font-size:12px;font-weight:900;white-space:nowrap}
.mc-focus-empty{padding:22px;border:1px dashed #d5ddd5;border-radius:16px;text-align:center;background:#fafbf9}
.mc-focus-empty p{margin:0 0 13px;color:#6d786f;font-size:13px}
.mc-simple-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 22px}
.mc-simple-nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:14px 15px;border:1px solid #e3e8e3;border-radius:15px;background:#fff;color:#1e2d24;text-decoration:none;box-shadow:0 6px 18px rgba(24,35,29,.035)}
.mc-simple-nav span{font-size:13px;font-weight:900}
.mc-simple-nav small{grid-column:1;color:#7a867e;font-size:10px;font-weight:700}
.mc-simple-nav b{grid-column:2;grid-row:1/3;color:#8a958e;font-size:21px;font-weight:400}
.mc-quick-summary,.mc-premium-moment,.mc-role-hub{display:none!important}
@media(max-width:760px){
  .mc-hero{padding:17px!important;border-radius:18px!important}.mc-profile{gap:13px!important}.mc-hero-actions{width:100%;display:grid!important;grid-template-columns:1fr 1fr}.mc-hero-actions .mc-button{width:100%}.mc-focus-card{padding:16px;border-radius:18px}.mc-focus-heading{margin-bottom:14px}.mc-focus-heading h2{font-size:19px}.mc-focus-type{display:none}.mc-focus-event{grid-template-columns:62px minmax(0,1fr);gap:13px;padding:14px}.mc-focus-date{width:62px;height:62px;border-radius:14px}.mc-focus-date strong{font-size:24px}.mc-focus-action{grid-column:1/-1}.mc-focus-action a{width:100%}.mc-simple-nav{grid-template-columns:1fr;gap:8px;margin-top:10px}.mc-layout{margin-top:14px!important}.mc-focus-main h3{font-size:17px}.mc-focus-time-row>strong{font-size:12px}
}

/* ==========================================================
   HOME DESKTOP PREMIUM — visual unificado com o aplicativo mobile
   Adicionado em 06/08/2026.
   Mantém a estrutura e a lógica PHP existentes; altera somente apresentação.
   ========================================================== */
@media (min-width:761px){
  :root{
    --home-desktop-green:#087b36;
    --home-desktop-lime:#d4ff3f;
    --home-desktop-ink:#121814;
    --home-desktop-muted:#5c665f;
  }

  body{background:#f7faf8;color:var(--home-desktop-ink)}
  .client-app-header{
    position:sticky;top:0;z-index:90;
    background:rgba(255,255,255,.94)!important;
    border-bottom:1px solid rgba(19,64,39,.08)!important;
    box-shadow:0 6px 24px rgba(24,55,37,.06)!important;
    backdrop-filter:blur(16px);
  }
  .client-app-header .container.client-header-inner{
    width:min(1180px,calc(100% - 48px));
    min-height:82px;
    display:grid!important;
    grid-template-columns:48px minmax(170px,1fr) auto;
    align-items:center;
    gap:18px;
  }
  .client-menu-btn{
    width:44px;height:44px;padding:10px;border:0!important;border-radius:14px;
    background:#f0f7f2!important;box-shadow:none!important;
  }
  .client-brand{justify-self:start!important;margin:0!important;max-width:210px!important}
  .client-brand img{max-width:195px!important;max-height:58px!important;object-fit:contain}
  .client-header-actions{display:flex!important;justify-self:end;gap:9px!important}
  .client-header-button{
    min-height:44px!important;padding:0 16px!important;border-radius:14px!important;
    font-size:13px!important;font-weight:800!important;
  }
  .client-header-account{background:#17201b!important;color:#fff!important;border-color:#17201b!important}

  main>.section-planos-home{padding:24px 0 10px!important}
  .section-planos-home>.container,
  .mobile-home-quick>.container,
  .mobile-home-upcoming>.container,
  .mobile-home-event-banner>.container,
  .mobile-home-highlights>.container,
  .home-institutional-bridge>.container{
    width:min(1180px,calc(100% - 48px))!important;
    max-width:1180px!important;
    margin-left:auto!important;margin-right:auto!important;
    padding-left:0!important;padding-right:0!important;
  }

  .section-planos-home .home-banner-viewport,
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{border-radius:30px!important}
  .section-planos-home .home-banner-viewport{box-shadow:0 20px 50px rgba(22,47,30,.14)!important}
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{
    height:520px!important;min-height:520px!important;max-height:520px!important;
    padding:52px 58px!important;
  }
  .section-planos-home .home-banner-panel.has-image:not(.media-only) .home-banner-overlay{
    background:linear-gradient(90deg,rgba(6,17,10,.84) 0%,rgba(7,18,11,.50) 52%,rgba(7,18,11,.10) 100%)!important;
  }
  .home-banner-copy{justify-content:center!important;min-height:410px!important;max-width:610px!important;padding:0!important}
  .home-banner-eyebrow{
    align-self:flex-start;padding:9px 15px!important;border-radius:999px!important;
    background:rgba(0,92,45,.88)!important;color:#efff83!important;
    font-size:13px!important;font-weight:800!important;text-transform:none!important;
  }
  .home-banner-copy h2{
    margin:18px 0 15px!important;font-size:clamp(50px,5vw,74px)!important;
    line-height:.95!important;letter-spacing:-3px!important;color:#fff!important;
  }
  .home-banner-copy p{max-width:560px;font-size:21px!important;line-height:1.4!important;color:#fff!important}
  .home-banner-footer{margin-top:22px!important}
  .home-banner-footer strong{font-size:18px!important}
  .home-banner-button{padding:13px 20px!important;background:var(--home-desktop-lime)!important;color:#173000!important;font-weight:900!important}
  .home-carousel-control{width:48px!important;height:48px!important;border-radius:50%!important;background:rgba(255,255,255,.92)!important;color:#087b36!important}
  .home-carousel-dots{bottom:22px!important}

  .mobile-home-quick,
  .mobile-home-upcoming,
  .mobile-home-event-banner,
  .mobile-home-highlights{display:block!important}
  .mobile-home-quick{padding:36px 0 8px!important}
  .mobile-home-upcoming{padding:34px 0 0!important}
  .mobile-home-event-banner{padding:24px 0 0!important}
  .mobile-home-highlights{padding:30px 0 56px!important}

  .mobile-home-section-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 2px 20px}
  .mobile-home-section-title h2{display:flex;align-items:center;gap:10px;margin:0;color:#111813;font-size:30px!important;line-height:1.1;font-weight:850;letter-spacing:-.8px}
  .mobile-home-section-title h2 span{color:#0a8b3e;font-size:34px}
  .mobile-home-section-title a{display:inline-flex;align-items:center;gap:8px;color:#087333;text-decoration:none;font-size:15px;font-weight:850}

  .mobile-quick-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important;padding:0!important}
  .mobile-quick-card{
    min-width:0!important;min-height:220px!important;padding:27px 20px 22px!important;
    border:1px solid rgba(18,57,33,.07)!important;border-radius:26px!important;
    background:#fff!important;box-shadow:0 14px 34px rgba(18,52,31,.075)!important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
  }
  .mobile-quick-card:hover{transform:translateY(-5px);box-shadow:0 22px 44px rgba(18,52,31,.12)!important;border-color:rgba(10,139,62,.18)!important}
  .mobile-quick-icon{width:62px!important;height:62px!important;margin-bottom:15px!important;color:#0a8c3e!important}
  .mobile-quick-card strong{font-size:21px!important}
  .mobile-quick-card small{min-height:42px!important;margin-top:8px!important;font-size:14px!important;line-height:1.4!important}
  .mobile-quick-card i{width:36px!important;height:36px!important;margin-top:14px!important;background:#edf8f0!important;color:#087b36!important}

  .mobile-upcoming-card{
    position:relative;display:grid;grid-template-columns:120px 1fr auto;gap:24px;align-items:center;
    min-height:178px;padding:22px 28px 22px 20px;border:1px solid rgba(19,158,77,.15);
    border-radius:27px;background:linear-gradient(115deg,#f5fff8 0%,#ecfaf1 100%);
    box-shadow:0 14px 34px rgba(26,83,48,.065);color:#172019;text-decoration:none;
  }
  .mobile-upcoming-date{display:flex;flex-direction:column;align-items:center;justify-content:center;height:132px;border-radius:21px;background:#fff;box-shadow:0 7px 20px rgba(21,65,38,.08);color:#087a35;font-style:normal}
  .mobile-upcoming-date small{font-size:14px;font-weight:850}.mobile-upcoming-date strong{font-size:50px;line-height:1;font-weight:900}.mobile-upcoming-date em{font-size:15px;font-style:normal;font-weight:850}
  .mobile-upcoming-info{display:flex;min-width:0;flex-direction:column;gap:9px;padding:0!important}
  .mobile-upcoming-info>strong{font-size:23px!important}.mobile-upcoming-info small{font-size:15px!important}
  .mobile-upcoming-vacancies{position:static!important;max-width:none!important;padding:10px 16px!important;font-size:13px!important}
  .mobile-upcoming-arrow{position:static!important;transform:none!important;width:44px!important;height:44px!important;font-size:32px!important}

  .mobile-event-banner-card{
    min-height:180px;padding:30px 34px;border-radius:28px!important;gap:24px!important;
    box-shadow:0 17px 38px rgba(0,72,36,.20)!important;
  }
  .mobile-event-gift{width:74px!important;height:74px!important;border-radius:21px!important;font-size:38px!important}
  .mobile-event-copy strong{font-size:30px!important}.mobile-event-copy small{max-width:530px!important;font-size:14px!important}
  .mobile-event-button{padding:14px 20px!important;font-size:14px!important}

  .mobile-highlights-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
  .mobile-highlight-card{min-height:150px!important;padding:28px 70px 26px 28px!important;border-radius:25px!important}
  .mobile-highlight-card strong{font-size:23px!important}.mobile-highlight-card small{font-size:14px!important;margin-top:7px!important}
  .mobile-highlight-card i{right:24px!important;width:42px!important;height:42px!important;font-size:31px!important}

  /* A vitrine premium é a mesma em todas as telas; evita conteúdo duplicado. */
  .home-activities-section,
  .home-aulas-highlight{display:none!important}

  /* Navegação inferior continua exclusiva do celular. */
  .mobile-bottom-nav-premium{display:none!important}
}

@media (min-width:761px) and (max-width:980px){
  .client-app-header .container.client-header-inner,
  .section-planos-home>.container,
  .mobile-home-quick>.container,
  .mobile-home-upcoming>.container,
  .mobile-home-event-banner>.container,
  .mobile-home-highlights>.container{width:calc(100% - 32px)!important}
  .client-header-actions .client-header-lessons{display:none!important}
  .section-planos-home .home-banner-panel,
  .section-planos-home .home-banner-panel.media-only{height:450px!important;min-height:450px!important;max-height:450px!important;padding:40px!important}
  .home-banner-copy{min-height:360px!important;max-width:530px!important}
  .mobile-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ==========================================================
   HOME DESKTOP PREMIUM V2 — CORREÇÃO COMPLETA
   Corrige cards esticados, ícones gigantes, header vazio e alinhamentos.
   Mobile (até 760px) permanece inalterado.
   ========================================================== */
@media (min-width:761px){
  body{overflow-x:hidden!important;background:#f5f8f5!important}
  main{display:block!important;width:100%!important}

  /* Cabeçalho desktop — suporta as classes premium atuais */
  .client-app-header-premium,
  .client-app-header{
    position:sticky!important;top:0!important;z-index:1100!important;
    width:100%!important;background:rgba(255,255,255,.97)!important;
    border-bottom:1px solid rgba(16,65,35,.08)!important;
    box-shadow:0 5px 22px rgba(19,55,34,.06)!important;
    backdrop-filter:blur(16px)!important;
  }
  .client-header-inner-premium,
  .client-app-header .container.client-header-inner{
    position:relative!important;display:grid!important;
    grid-template-columns:54px minmax(180px,1fr) auto!important;
    align-items:center!important;gap:18px!important;
    width:min(1320px,calc(100% - 64px))!important;max-width:1320px!important;
    min-height:88px!important;margin:0 auto!important;padding:10px 0!important;
  }
  .client-menu-btn-premium,
  .client-menu-btn{
    display:grid!important;width:46px!important;height:46px!important;min-width:46px!important;
    place-items:center!important;margin:0!important;padding:0!important;border:0!important;
    border-radius:15px!important;background:#eef6f0!important;color:#172019!important;
  }
  .client-menu-btn-premium span,.client-menu-btn span{display:none!important}
  .client-menu-btn-premium svg,.client-menu-btn svg{display:block!important;width:27px!important;height:27px!important}
  .client-brand-premium,
  .client-brand{
    position:static!important;justify-self:start!important;display:flex!important;
    align-items:center!important;justify-content:flex-start!important;width:auto!important;
    max-width:230px!important;margin:0!important;padding:0!important;transform:none!important;
  }
  .client-brand-premium img,.client-brand img{
    display:block!important;width:auto!important;height:auto!important;max-width:205px!important;
    max-height:65px!important;object-fit:contain!important;
  }
  .client-header-actions-premium,
  .client-header-actions{
    position:static!important;grid-column:auto!important;justify-self:end!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    gap:10px!important;width:auto!important;margin:0!important;padding:0!important;
  }
  .client-header-actions-premium .client-header-icon{
    display:grid!important;width:45px!important;height:45px!important;min-width:45px!important;
    place-items:center!important;border:1px solid rgba(14,83,42,.09)!important;
    border-radius:14px!important;background:#f4f8f5!important;color:#172019!important;
  }
  .client-header-actions-premium .client-header-icon svg{width:23px!important;height:23px!important}

  /* Largura geral da home */
  .section-planos-home>.container,
  .mobile-home-quick>.container,
  .mobile-home-upcoming>.container,
  .mobile-home-event-banner>.container,
  .mobile-home-highlights>.container{
    width:min(1320px,calc(100% - 64px))!important;max-width:1320px!important;
    margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important;
  }

  /* Títulos */
  .mobile-home-section-title{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:20px!important;margin:0 0 20px!important;
  }
  .mobile-home-section-title h2{
    display:flex!important;align-items:center!important;gap:10px!important;margin:0!important;
    font-size:29px!important;line-height:1.15!important;font-weight:900!important;letter-spacing:-.7px!important;
  }
  .mobile-home-section-title a{display:inline-flex!important;align-items:center!important;gap:7px!important;font-size:14px!important;font-weight:850!important;text-decoration:none!important}

  /* Acesso rápido — definição completa, sem depender do CSS mobile */
  .mobile-home-quick{display:block!important;padding:34px 0 8px!important}
  .mobile-quick-grid{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;width:100%!important;overflow:visible!important;padding:0!important;
  }
  .mobile-quick-card{
    position:relative!important;display:flex!important;flex-direction:column!important;
    align-items:center!important;justify-content:center!important;text-align:center!important;
    width:100%!important;min-width:0!important;min-height:215px!important;
    padding:25px 18px 20px!important;border:1px solid rgba(18,57,33,.08)!important;
    border-radius:25px!important;background:#fff!important;color:#17211b!important;
    text-decoration:none!important;box-shadow:0 13px 32px rgba(18,52,31,.075)!important;
    overflow:hidden!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
  }
  .mobile-quick-card:hover{transform:translateY(-5px)!important;box-shadow:0 20px 42px rgba(18,52,31,.13)!important;border-color:rgba(10,139,62,.20)!important}
  .mobile-quick-icon{
    display:block!important;flex:0 0 auto!important;width:58px!important;height:58px!important;
    margin:0 0 15px!important;color:#078c3d!important;
  }
  .mobile-quick-icon svg{
    display:block!important;width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
  }
  .mobile-quick-card strong{display:block!important;font-size:20px!important;line-height:1.15!important;font-weight:900!important}
  .mobile-quick-card small{display:block!important;min-height:auto!important;margin:7px 0 0!important;color:#5b665f!important;font-size:13px!important;line-height:1.35!important}
  .mobile-quick-card i{
    display:grid!important;flex:0 0 auto!important;width:34px!important;height:34px!important;
    place-items:center!important;margin:14px 0 0!important;border-radius:50%!important;
    background:#edf8f0!important;color:#087b36!important;font-style:normal!important;font-size:26px!important;line-height:1!important;
  }

  /* Próxima aula */
  .mobile-home-upcoming{display:block!important;padding:32px 0 0!important}
  .mobile-upcoming-card{
    position:relative!important;display:grid!important;
    grid-template-columns:108px minmax(0,1fr) auto 46px!important;
    align-items:center!important;gap:22px!important;width:100%!important;min-height:166px!important;
    padding:20px 24px 20px 20px!important;border:1px solid rgba(19,158,77,.16)!important;
    border-radius:26px!important;background:linear-gradient(115deg,#f7fff9 0%,#eaf9ef 100%)!important;
    color:#172019!important;text-decoration:none!important;box-shadow:0 13px 32px rgba(26,83,48,.065)!important;
  }
  .mobile-upcoming-date{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    width:108px!important;height:126px!important;border-radius:20px!important;background:#fff!important;
    box-shadow:0 7px 20px rgba(21,65,38,.08)!important;color:#087a35!important;font-style:normal!important;
  }
  .mobile-upcoming-date small{font-size:13px!important;font-weight:900!important}
  .mobile-upcoming-date strong{font-size:43px!important;line-height:1!important;font-weight:950!important}
  .mobile-upcoming-date em{font-size:14px!important;font-style:normal!important;font-weight:900!important}
  .mobile-upcoming-info{display:flex!important;min-width:0!important;flex-direction:column!important;gap:8px!important;padding:0!important}
  .mobile-upcoming-info>strong{font-size:22px!important;line-height:1.2!important;font-weight:900!important}
  .mobile-upcoming-info small{font-size:14px!important;line-height:1.35!important}
  .mobile-upcoming-vacancies{
    position:static!important;display:inline-flex!important;align-items:center!important;gap:7px!important;
    max-width:none!important;padding:10px 14px!important;border-radius:999px!important;
    background:rgba(255,255,255,.75)!important;font-size:12px!important;font-weight:800!important;white-space:nowrap!important;
  }
  .mobile-upcoming-arrow{position:static!important;display:grid!important;width:42px!important;height:42px!important;place-items:center!important;transform:none!important;font-size:30px!important}

  /* Banner de eventos */
  .mobile-home-event-banner{display:block!important;padding:24px 0 0!important}
  .mobile-event-banner-card{
    display:grid!important;grid-template-columns:74px minmax(0,1fr) auto!important;
    align-items:center!important;gap:24px!important;width:100%!important;min-height:176px!important;
    padding:28px 34px!important;border-radius:27px!important;overflow:hidden!important;text-decoration:none!important;
  }
  .mobile-event-gift{display:grid!important;width:72px!important;height:72px!important;place-items:center!important;border-radius:20px!important;font-size:36px!important}
  .mobile-event-copy{display:flex!important;min-width:0!important;flex-direction:column!important;gap:7px!important}
  .mobile-event-copy strong{font-size:29px!important;line-height:1.08!important;font-weight:950!important}
  .mobile-event-copy small{font-size:14px!important;line-height:1.4!important}
  .mobile-event-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:13px 18px!important;border-radius:14px!important;font-size:14px!important;font-weight:900!important;white-space:nowrap!important}

  /* Destaques */
  .mobile-home-highlights{display:block!important;padding:30px 0 58px!important}
  .mobile-highlights-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important}
  .mobile-highlight-card{
    position:relative!important;display:flex!important;min-height:148px!important;flex-direction:column!important;
    justify-content:center!important;padding:26px 70px 25px 27px!important;border-radius:24px!important;
    overflow:hidden!important;text-decoration:none!important;
  }
  .mobile-highlight-card strong{font-size:22px!important;line-height:1.2!important;font-weight:900!important}
  .mobile-highlight-card small{margin-top:7px!important;font-size:13px!important}
  .mobile-highlight-card i{position:absolute!important;right:23px!important;top:50%!important;display:grid!important;width:41px!important;height:41px!important;place-items:center!important;transform:translateY(-50%)!important;font-size:29px!important}

  .home-activities-section,.home-aulas-highlight{display:none!important}
  .mobile-bottom-nav-premium{display:none!important}
}

@media (min-width:761px) and (max-width:1050px){
  .client-header-inner-premium,
  .client-app-header .container.client-header-inner,
  .section-planos-home>.container,
  .mobile-home-quick>.container,
  .mobile-home-upcoming>.container,
  .mobile-home-event-banner>.container,
  .mobile-home-highlights>.container{width:calc(100% - 36px)!important}
  .mobile-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mobile-upcoming-card{grid-template-columns:100px minmax(0,1fr) auto!important}
  .mobile-upcoming-arrow{display:none!important}
  .mobile-event-banner-card{grid-template-columns:64px minmax(0,1fr) auto!important;padding:25px!important}
}

/* =========================================================
   QUINTAL — CORREÇÃO DESKTOP V4
   Mantém no desktop as mesmas cores dos banners e destaques mobile
   ========================================================= */
@media (min-width: 761px){
  /* Banner de eventos: mesma identidade verde do mobile */
  .mobile-event-banner-card{
    position:relative!important;
    isolation:isolate!important;
    background:
      radial-gradient(circle at 94% 100%,rgba(197,255,73,.32),transparent 31%),
      linear-gradient(112deg,#004c28 0%,#006a36 55%,#063f28 100%)!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 18px 42px rgba(0,72,36,.20)!important;
  }
  .mobile-event-banner-card::after{
    content:''!important;
    position:absolute!important;
    z-index:-1!important;
    right:-34px!important;
    bottom:-82px!important;
    width:230px!important;
    height:230px!important;
    border:2px solid rgba(190,255,69,.18)!important;
    border-radius:50%!important;
    pointer-events:none!important;
  }
  .mobile-event-gift{
    border:2px solid #d7ff29!important;
    background:rgba(0,41,23,.25)!important;
    color:#d7ff29!important;
  }
  .mobile-event-copy strong,
  .mobile-event-copy small{color:#fff!important}
  .mobile-event-copy strong mark,
  .mobile-event-copy strong span{
    color:#d7ff29!important;
    background:transparent!important;
  }
  .mobile-event-button{
    background:#d7ff29!important;
    color:#143313!important;
    box-shadow:0 9px 22px rgba(0,0,0,.12)!important;
  }
  .mobile-event-button:hover{
    background:#e4ff69!important;
    transform:translateY(-2px)!important;
  }

  /* Cards de Destaques */
  .mobile-highlight-card{
    color:#fff!important;
    border:1px solid rgba(255,255,255,.09)!important;
    box-shadow:0 16px 35px rgba(8,68,38,.16)!important;
    transition:transform .2s ease,box-shadow .2s ease,filter .2s ease!important;
  }
  .mobile-highlight-card::before{
    content:''!important;
    position:absolute!important;
    right:-46px!important;
    bottom:-74px!important;
    width:180px!important;
    height:180px!important;
    border:2px solid rgba(255,255,255,.11)!important;
    border-radius:50%!important;
    pointer-events:none!important;
  }
  .mobile-highlight-card:hover{
    transform:translateY(-5px)!important;
    box-shadow:0 22px 44px rgba(8,68,38,.23)!important;
    filter:saturate(1.06)!important;
  }
  .mobile-highlight-card strong,
  .mobile-highlight-card small{position:relative!important;z-index:1!important;color:#fff!important}
  .mobile-highlight-card i{
    z-index:2!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
    font-style:normal!important;
    backdrop-filter:blur(5px)!important;
    -webkit-backdrop-filter:blur(5px)!important;
  }
  .highlight-courts{
    background:linear-gradient(135deg,#119247 0%,#00672f 100%)!important;
  }
  .highlight-member{
    background:linear-gradient(135deg,#138785 0%,#056071 100%)!important;
  }
}

/* =========================================================
   QUINTAL — CORREÇÃO DEFINITIVA DO ÍCONE DE MENU NO DESKTOP V5
   Mantém as três barras verdes mesmo após as regras dos banners.
   ========================================================= */
@media (min-width:761px){
  .client-app-header .client-menu-btn.client-menu-btn-premium,
  .client-app-header a.client-menu-btn.client-menu-btn-premium{
    display:grid!important;
    width:44px!important;
    height:44px!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid rgba(0,84,47,.10)!important;
    border-radius:14px!important;
    background:#eef8f1!important;
    color:#00542f!important;
    box-shadow:0 8px 22px rgba(0,84,47,.08)!important;
    opacity:1!important;
  }
  .client-app-header .client-menu-btn.client-menu-btn-premium:hover,
  .client-app-header a.client-menu-btn.client-menu-btn-premium:hover{
    background:#e3f5e9!important;
    color:#008f45!important;
    transform:translateY(-1px)!important;
  }
  .client-app-header .client-menu-btn.client-menu-btn-premium svg,
  .client-app-header a.client-menu-btn.client-menu-btn-premium svg{
    display:block!important;
    width:27px!important;
    height:27px!important;
    fill:none!important;
    stroke:#00542f!important;
    color:#00542f!important;
    stroke-width:2.25!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    opacity:1!important;
  }
  .client-app-header .client-menu-btn.client-menu-btn-premium svg path,
  .client-app-header a.client-menu-btn.client-menu-btn-premium svg path{
    fill:none!important;
    stroke:#00542f!important;
    opacity:1!important;
  }
  .client-app-header .client-menu-btn.client-menu-btn-premium:hover svg,
  .client-app-header .client-menu-btn.client-menu-btn-premium:hover svg path{
    stroke:#008f45!important;
  }
}

/* =========================================================
   AJUSTE DESKTOP — carrossel sem corte das artes
   Imagens publicitárias passam a respeitar a proporção original.
   ========================================================= */
@media (min-width:761px){
  .section-planos-home .home-banner-panel.media-only:not(.has-video){
    min-height:0!important;
    height:auto!important;
    aspect-ratio:auto!important;
    overflow:hidden;
  }
  .section-planos-home .home-banner-panel.media-only:not(.has-video) .home-banner-image{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    max-width:100%;
    object-fit:contain!important;
    object-position:center center!important;
    display:block;
  }
}

/* =========================================================
   APP - MARGENS LATERAIS RESPONSIVAS
   Margens pequenas em telas menores e crescimento progressivo
   ate 300px por lado em monitores grandes. Mantem o conteudo
   centralizado sem afetar o painel administrativo.
   ========================================================= */
body:not(.admin-page) .container{
  box-sizing:border-box;
}

@media (min-width:769px){
  body:not(.admin-page) .container{
    width:100%;
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    padding-left:clamp(24px, 8vw, 300px);
    padding-right:clamp(24px, 8vw, 300px);
  }
}

@media (max-width:768px){
  body:not(.admin-page) .container{
    padding-left:16px;
    padding-right:16px;
  }
}

/* V9 - carrossel por artes prontas Desktop + Mobile */
.section-planos-home .home-banner-panel.media-only{padding:0!important;min-height:0!important;height:auto!important;max-height:none!important;aspect-ratio:1920/650;background:#eef2ef}
.section-planos-home .home-banner-panel.media-only picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.section-planos-home .home-banner-panel.media-only .home-banner-image{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}
@media(max-width:760px){
  .section-planos-home .home-banner-panel.media-only{aspect-ratio:4/5!important;height:auto!important;min-height:0!important;max-height:none!important}
  .section-planos-home .home-banner-panel.media-only .home-banner-image{object-fit:cover!important}
}

/* V15.12 — interação sem azul; foco verde acessível */
html,body,a,button,input,select,textarea,label,[role="button"]{-webkit-tap-highlight-color:transparent!important}
a:focus,button:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{outline:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(25,122,67,.28)!important;outline-offset:2px!important;box-shadow:0 0 0 4px rgba(25,122,67,.08)!important
}
.mobile-bottom-nav a:active,.mobile-bottom-nav-premium a:active,.mobile-bottom-nav a:focus,.mobile-bottom-nav-premium a:focus{
  background:rgba(20,126,62,.08)!important;color:#0f7a3f!important
}


/* V26 — menu mobile do cliente: 4 itens originais, mais compacto */
@media (max-width: 760px){
  .mobile-bottom-nav{
    left:8px;
    right:8px;
    gap:3px;
    padding:6px;
    border-radius:22px;
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .mobile-bottom-nav a{
    min-width:0;
    min-height:52px;
    padding:5px 2px;
    border-radius:16px;
    font-size:10px;
    line-height:1.05;
  }
  .mobile-bottom-nav .mobile-nav-icon,
  .mobile-bottom-nav span{
    margin-bottom:3px;
  }
  .mobile-bottom-nav .mobile-nav-icon svg{
    width:19px;
    height:19px;
  }
  .mobile-bottom-nav strong{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
@media (max-width: 360px){
  .mobile-bottom-nav{left:5px;right:5px;padding:5px;gap:2px;}
  .mobile-bottom-nav a{min-height:49px;font-size:9px;border-radius:14px;}
  .mobile-bottom-nav .mobile-nav-icon svg{width:18px;height:18px;}
}


/* V27: menu mobile do cliente com 5 itens lado a lado */
@media (max-width: 768px) {
  .bottom-nav { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 0 !important; }
  .bottom-nav .nav-item { min-width: 0 !important; padding-left: 2px !important; padding-right: 2px !important; }
  .bottom-nav .nav-label { font-size: 10px !important; white-space: nowrap !important; }
  .bottom-nav .nav-icon { font-size: 19px !important; }
}


/* V30 - menu mobile do cliente: 5 itens em uma única linha */
@media (max-width: 768px) {
  .bottom-nav,
  .mobile-bottom-nav,
  .client-bottom-nav,
  nav.bottom-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: 1fr !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 100% !important;
  }

  .bottom-nav > *,
  .mobile-bottom-nav > *,
  .client-bottom-nav > *,
  nav.bottom-nav > * {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }

  .bottom-nav .nav-item,
  .mobile-bottom-nav .nav-item,
  .client-bottom-nav .nav-item {
    padding-left: 2px !important;
    padding-right: 2px !important;
    white-space: nowrap !important;
  }

  .bottom-nav .nav-label,
  .mobile-bottom-nav .nav-label,
  .client-bottom-nav .nav-label {
    font-size: 10px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
  }

  .bottom-nav .nav-icon,
  .mobile-bottom-nav .nav-icon,
  .client-bottom-nav .nav-icon {
    font-size: 18px !important;
    line-height: 1 !important;
  }

  /* Jully sempre acima da barra inferior */
  .jully-launcher,
  .jully-fab,
  #jullyLauncher,
  .jully-button {
    bottom: 84px !important;
    z-index: 1200 !important;
  }

  .jully-panel,
  #jullyPanel {
    bottom: 138px !important;
    max-height: calc(100vh - 170px) !important;
  }
}


/* V31 - menu mobile do cliente com 4 itens; Ajuda fica somente no topo */
@media (max-width: 768px) {
  .bottom-nav,
  .mobile-bottom-nav,
  .client-bottom-nav,
  nav.bottom-nav {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: 1fr !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 100% !important;
  }
  .bottom-nav > *,
  .mobile-bottom-nav > *,
  .client-bottom-nav > *,
  nav.bottom-nav > * {
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
  }
  .bottom-nav .nav-label,
  .mobile-bottom-nav .nav-label,
  .client-bottom-nav .nav-label {
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  .jully-launcher,
  .jully-fab,
  #jullyLauncher,
  .jully-button {
    bottom: 84px !important;
  }
}

/* Ajuda no topo com visual de ícone circular, igual às outras ações */
.header-help-icon,
.top-help-icon,
.qdb-help-top {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid #d9e3dc;
  border-radius: 14px;
  background: #f7faf8;
  color: #111;
  text-decoration: none !important;
  font-size: 0 !important;
  font-weight: 900;
  line-height: 1;
}
.header-help-icon::before,
.top-help-icon::before,
.qdb-help-top::before {
  content: "?";
  font-size: 23px;
  font-weight: 800;
  line-height: 1;
}
.header-help-icon:hover,
.top-help-icon:hover,
.qdb-help-top:hover {
  background: #eef6f0;
}


/* V31 final - Ajuda no topo usa o mesmo padrão dos ícones do cabeçalho */
.client-header-help svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
@media (max-width: 768px) {
  .mobile-bottom-nav,
  .mobile-bottom-nav-premium {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: 1fr !important;
  }
}


/* V32 - Ajuda/tutorials em popup estilo aplicativo */
html.qdb-help-open,html.qdb-help-open body{overflow:hidden}
.qdb-tutorial-modal{position:fixed;inset:0;z-index:99990;display:none;align-items:center;justify-content:center;padding:18px}
.qdb-tutorial-modal.is-open{display:flex}
.qdb-tutorial-backdrop{position:absolute;inset:0;background:rgba(10,24,16,.58);backdrop-filter:blur(3px)}
.qdb-tutorial-sheet{position:relative;z-index:1;width:min(900px,96vw);height:min(82vh,760px);background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.28);animation:qdbHelpIn .22s ease-out}
.qdb-tutorial-modal.is-prompt .qdb-tutorial-sheet{width:min(430px,94vw);height:auto;overflow:visible}
.qdb-tutorial-x{position:absolute;right:12px;top:12px;z-index:4;width:38px;height:38px;border:0;border-radius:50%;background:rgba(240,245,241,.96);color:#203a2c;font-size:26px;line-height:1;cursor:pointer}
.qdb-tutorial-body{height:100%}
.qdb-tutorial-frame{width:100%;height:100%;border:0;background:#f5f8f6}
.qdb-context-prompt{padding:28px 24px 22px;text-align:center}
.qdb-context-icon{width:58px;height:58px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;background:#eef8f1;font-size:29px}
.qdb-context-prompt small{display:block;color:#267246;font-weight:900;letter-spacing:.11em;font-size:10px}
.qdb-context-prompt h2{margin:7px 0 7px;font-size:23px;color:#173c29}
.qdb-context-prompt p{margin:0 auto 18px;max-width:350px;color:#65766b;font-size:14px;line-height:1.5}
.qdb-help-primary{width:100%;border:0;border-radius:13px;padding:13px 16px;background:#1f7543;color:#fff;font-weight:900;font-size:14px;cursor:pointer}
.qdb-help-subactions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.qdb-help-subactions button,.qdb-help-disable{border:0;background:transparent;color:#53675a;font-size:12px;font-weight:750;cursor:pointer;padding:7px}
.qdb-help-disable{margin-top:2px;color:#78877e;text-decoration:underline;text-underline-offset:2px}
@keyframes qdbHelpIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:680px){
 .qdb-tutorial-modal{padding:0;align-items:flex-end}
 .qdb-tutorial-sheet{width:100%;height:92vh;border-radius:24px 24px 0 0}
 .qdb-tutorial-modal.is-prompt{padding:14px;align-items:center}
 .qdb-tutorial-modal.is-prompt .qdb-tutorial-sheet{width:100%;border-radius:22px;height:auto}
 .qdb-context-prompt{padding:27px 18px 19px}
}


/* V36 - cabeçalho mobile logado: Ajuda, sino e conta sempre na mesma linha */
@media (max-width: 760px) {
  .client-app-header .container.client-header-inner,
  .client-header-inner-premium,
  .client-header-inner {
    display: grid !important;
    grid-template-columns: 44px minmax(90px, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
  }

  .client-header-actions,
  .client-header-actions-premium {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    width: auto !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  .client-header-actions .client-header-icon,
  .client-header-actions-premium .client-header-icon {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
  }

  .client-header-actions .client-header-icon svg,
  .client-header-actions-premium .client-header-icon svg {
    width: 22px !important;
    height: 22px !important;
  }

  .client-brand,
  .client-brand-premium {
    min-width: 0 !important;
    justify-self: start !important;
  }

  .client-brand .brand-logo-image,
  .client-brand-premium .brand-logo-image {
    max-width: 112px !important;
    max-height: 54px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 390px) {
  .client-app-header .container.client-header-inner,
  .client-header-inner-premium,
  .client-header-inner {
    grid-template-columns: 40px minmax(72px, 1fr) auto !important;
    gap: 7px !important;
  }
  .client-header-actions,
  .client-header-actions-premium { gap: 5px !important; }
  .client-header-actions .client-header-icon,
  .client-header-actions-premium .client-header-icon {
    flex-basis: 37px !important;
    width: 37px !important;
    height: 37px !important;
    min-width: 37px !important;
    min-height: 37px !important;
  }
  .client-brand .brand-logo-image,
  .client-brand-premium .brand-logo-image { max-width: 96px !important; }
}

/* ==========================================================
   QUINTAL — ACESSO RÁPIDO COM FOTOS
   Premium + esportivo — aplicado em 2026-08-25
   ========================================================== */
.quick-premium{
  display:block!important;
  padding:36px 0 12px!important;
}
.quick-premium-title{margin-bottom:22px!important}
.quick-premium-title h2{color:#111b15!important}
.quick-title-star{
  display:inline-block;
  color:#078c3d;
  font-size:.95em;
  transform-origin:center;
  animation:quickStar 4s ease-in-out infinite;
}
.quick-premium-title>a{
  color:#087b36!important;
  transition:transform .22s ease,opacity .22s ease!important;
}
.quick-premium-title>a:hover{transform:translateX(3px)}
.quick-premium-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  overflow:visible!important;
  padding:0!important;
}
.quick-premium-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:310px!important;
  padding:0!important;
  border:0!important;
  border-radius:27px!important;
  background:#102018!important;
  color:#fff!important;
  text-align:left!important;
  text-decoration:none!important;
  overflow:hidden!important;
  isolation:isolate;
  box-shadow:0 15px 35px rgba(12,43,25,.13),0 2px 8px rgba(0,0,0,.04)!important;
  transform:translateY(0);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s cubic-bezier(.2,.8,.2,1)!important;
  animation:quickCardReveal .75s cubic-bezier(.2,.8,.2,1) both;
}
.quick-premium-card:nth-child(1){animation-delay:.04s}
.quick-premium-card:nth-child(2){animation-delay:.12s}
.quick-premium-card:nth-child(3){animation-delay:.20s}
.quick-premium-card:nth-child(4){animation-delay:.28s}
.quick-card-image{
  position:absolute;
  inset:0;
  z-index:-3;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.001);
  filter:saturate(.96) contrast(1.02);
  transition:transform .85s cubic-bezier(.16,1,.3,1),filter .6s ease;
}
.quick-card-aulas .quick-card-image{object-position:50% 48%}
.quick-card-quadras .quick-card-image{object-position:50% 54%}
.quick-card-churrasqueira .quick-card-image{object-position:57% 50%}
.quick-card-tatame .quick-card-image{object-position:50% 50%}
.quick-card-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(180deg,rgba(5,20,11,.08) 0%,rgba(5,20,11,.10) 25%,rgba(5,20,11,.30) 52%,rgba(5,20,11,.86) 100%);
  transition:background .45s ease;
}
.quick-premium-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.15),transparent 28%);
  opacity:.48;
  transition:opacity .4s ease;
}
.quick-card-icon{
  position:absolute!important;
  top:18px;
  left:18px;
  z-index:3;
  display:grid!important;
  width:46px!important;
  height:46px!important;
  margin:0!important;
  place-items:center;
  border:1px solid rgba(255,255,255,.36);
  border-radius:15px;
  background:rgba(8,28,16,.30);
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 7px 20px rgba(0,0,0,.13);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  transition:background .35s ease,transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s ease;
}
.quick-card-icon svg{
  width:25px!important;
  height:25px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.quick-card-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:4;
  display:flex;
  min-height:55%;
  flex-direction:column;
  justify-content:flex-end;
  padding:28px 24px 23px;
  color:#fff;
  transform:translateY(0);
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}
.quick-card-kicker{
  display:inline-flex;
  width:fit-content;
  margin-bottom:7px;
  color:#8bf1af;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:1.2px;
  text-transform:uppercase;
  opacity:.96;
  transform:translateY(5px);
  transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .35s ease;
}
.quick-premium-card strong{
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:25px!important;
  line-height:1.03!important;
  font-weight:950!important;
  letter-spacing:-.65px;
  text-shadow:0 2px 16px rgba(0,0,0,.34);
}
.quick-card-churrasqueira strong{font-size:22px!important;line-height:1.06!important}
.quick-card-churrasqueira strong span{display:block}
.quick-premium-card small{
  display:block!important;
  min-height:auto!important;
  margin:8px 0 0!important;
  color:rgba(255,255,255,.86)!important;
  font-size:13px!important;
  line-height:1.35!important;
  text-shadow:0 2px 9px rgba(0,0,0,.24);
  transform:translateY(0);
  transition:transform .4s cubic-bezier(.2,.8,.2,1);
}
.quick-card-action{
  display:inline-flex;
  width:fit-content;
  align-items:center;
  gap:9px;
  max-height:0;
  margin-top:0;
  color:#fff;
  font-size:12px;
  line-height:1;
  font-weight:850;
  opacity:0;
  overflow:hidden;
  transform:translateY(8px);
  transition:opacity .35s ease,transform .4s cubic-bezier(.2,.8,.2,1),max-height .4s ease,margin-top .4s ease;
}
.quick-card-action i{
  display:grid!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#0c9344!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1!important;
  font-style:normal!important;
  box-shadow:0 7px 16px rgba(0,111,48,.32);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s ease;
}
@media (hover:hover){
  .quick-premium-card:hover{
    transform:translateY(-7px)!important;
    box-shadow:0 26px 55px rgba(10,47,26,.21),0 6px 15px rgba(0,0,0,.07)!important;
  }
  .quick-premium-card:hover .quick-card-image{
    transform:scale(1.075);
    filter:saturate(1.06) contrast(1.04);
  }
  .quick-premium-card:hover .quick-card-overlay{
    background:linear-gradient(180deg,rgba(3,17,9,.03) 0%,rgba(3,17,9,.08) 25%,rgba(3,17,9,.34) 51%,rgba(3,17,9,.92) 100%);
  }
  .quick-premium-card:hover::after{opacity:.7}
  .quick-premium-card:hover .quick-card-icon{
    transform:translateY(-2px) scale(1.04);
    background:rgba(7,136,59,.84);
    border-color:rgba(255,255,255,.55);
  }
  .quick-premium-card:hover .quick-card-content{transform:translateY(-4px)}
  .quick-premium-card:hover .quick-card-kicker{transform:translateY(0)}
  .quick-premium-card:hover small{transform:translateY(-1px)}
  .quick-premium-card:hover .quick-card-action{
    max-height:38px;
    margin-top:13px;
    opacity:1;
    transform:translateY(0);
  }
  .quick-premium-card:hover .quick-card-action i{transform:translateX(3px)}
}
@media (min-width:761px) and (max-width:1050px){
  .quick-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .quick-premium-card{min-height:285px!important}
  .quick-premium-card strong{font-size:24px!important}
}
@media (max-width:760px){
  .quick-premium{padding:24px 0 8px!important}
  .quick-premium>.container{
    width:100%!important;
    max-width:none!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .quick-premium-title{margin-bottom:15px!important}
  .quick-premium-title h2{font-size:23px!important;letter-spacing:-.5px!important}
  .quick-premium-title>a{font-size:12px!important}
  .quick-premium-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:11px!important;
    overflow:visible!important;
  }
  .quick-premium-card{
    min-height:235px!important;
    padding:0!important;
    border-radius:21px!important;
    align-items:stretch!important;
    justify-content:initial!important;
    text-align:left!important;
    scroll-snap-align:unset!important;
  }
  .quick-card-content{min-height:60%;padding:20px 15px 17px}
  .quick-card-icon{top:13px;left:13px;width:39px!important;height:39px!important;border-radius:12px}
  .quick-card-icon svg{width:21px!important;height:21px!important}
  .quick-card-kicker{margin-bottom:5px;font-size:8px;letter-spacing:.85px}
  .quick-premium-card strong{font-size:20px!important;line-height:1.04!important;letter-spacing:-.45px}
  .quick-card-churrasqueira strong{font-size:17px!important;line-height:1.07!important}
  .quick-premium-card small{margin-top:6px!important;font-size:11px!important;line-height:1.25!important}
  .quick-card-action{
    max-height:34px;
    margin-top:10px;
    opacity:1;
    transform:none;
    font-size:10px;
  }
  .quick-card-action i{width:26px!important;height:26px!important;font-size:14px!important}
}
@media (max-width:390px){
  .quick-premium-grid{gap:9px!important}
  .quick-premium-card{min-height:220px!important;border-radius:19px!important}
  .quick-card-content{padding:17px 12px 14px}
  .quick-premium-card strong{font-size:18px!important}
  .quick-card-churrasqueira strong{font-size:15.5px!important}
}
@keyframes quickCardReveal{
  from{opacity:0;transform:translateY(22px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes quickStar{
  0%,75%,100%{transform:rotate(0deg) scale(1)}
  84%{transform:rotate(14deg) scale(1.13)}
  92%{transform:rotate(-7deg) scale(1.05)}
}

/* Mobile: a animação acontece quando cada card entra na tela,
   em vez de terminar enquanto o usuário ainda está no topo da Home. */
@media (max-width:760px){
  .quick-premium-card{
    animation:none!important;
    -webkit-tap-highlight-color:transparent;
    will-change:transform;
  }

  .quick-premium-card.quick-mobile-reveal{
    animation:quickMobileCardIn .72s cubic-bezier(.16,1,.3,1) var(--quick-mobile-delay,0ms) both!important;
  }

  .quick-premium-card.quick-mobile-reveal .quick-card-image{
    animation:quickMobileImageIn 1.05s cubic-bezier(.16,1,.3,1) var(--quick-mobile-delay,0ms) both;
  }

  .quick-premium-card.quick-mobile-reveal .quick-card-icon{
    animation:quickMobileIconPop .62s cubic-bezier(.2,1.45,.35,1) calc(var(--quick-mobile-delay,0ms) + 170ms) both;
  }

  .quick-premium-card.quick-mobile-reveal .quick-card-content{
    animation:quickMobileTextIn .62s cubic-bezier(.16,1,.3,1) calc(var(--quick-mobile-delay,0ms) + 110ms) both;
  }

  .quick-premium-card::before{
    content:"";
    position:absolute;
    z-index:6;
    top:-30%;
    bottom:-30%;
    left:-75%;
    width:38%;
    pointer-events:none;
    opacity:0;
    transform:skewX(-18deg);
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);
  }

  .quick-premium-card.quick-mobile-reveal::before{
    animation:quickMobileShine .9s ease calc(var(--quick-mobile-delay,0ms) + 330ms) 1 both;
  }
}

@media (hover:none) and (pointer:coarse){
  .quick-premium-card:active{
    transform:scale(.972)!important;
    box-shadow:0 8px 20px rgba(10,47,26,.17)!important;
  }
  .quick-premium-card:active .quick-card-image{
    transform:scale(1.035)!important;
    filter:saturate(1.06) contrast(1.04);
  }
  .quick-premium-card:active .quick-card-icon{
    transform:scale(.94)!important;
    background:rgba(7,136,59,.88);
  }
  .quick-premium-card:active .quick-card-action i{
    transform:translateX(3px) scale(.96);
  }
}

@keyframes quickMobileCardIn{
  0%{opacity:.01;transform:translateY(28px) scale(.965)}
  62%{opacity:1;transform:translateY(-3px) scale(1.008)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes quickMobileImageIn{
  0%{transform:scale(1.11);filter:saturate(.82) contrast(.96)}
  100%{transform:scale(1.001);filter:saturate(.96) contrast(1.02)}
}
@keyframes quickMobileIconPop{
  0%{opacity:.15;transform:scale(.72) rotate(-7deg)}
  70%{opacity:1;transform:scale(1.07) rotate(2deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes quickMobileTextIn{
  from{opacity:.2;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes quickMobileShine{
  0%{left:-75%;opacity:0}
  22%{opacity:.75}
  100%{left:135%;opacity:0}
}

@media (prefers-reduced-motion:reduce){
  .quick-premium-card,
  .quick-card-image,
  .quick-card-content,
  .quick-card-kicker,
  .quick-card-action,
  .quick-card-action i,
  .quick-card-icon,
  .quick-title-star{
    animation:none!important;
    transition:none!important;
  }
}

/* ==========================================================
   QUINTAL — PONTE APP -> INSTITUCIONAL
   O App é a experiência principal; o institucional fica como
   conteúdo complementar no final da Home.
   ========================================================== */
.home-institutional-bridge {
  padding: 12px 0 56px;
}

.home-institutional-card {
  position: relative;
  display: block;
  min-height: 372px;
  overflow: hidden;
  isolation: isolate;
  border-radius: 30px;
  color: #fff;
  text-decoration: none;
  background: #0b2d1b;
  box-shadow: 0 20px 55px rgba(7, 48, 25, .17);
  transform: translateY(0);
  transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s cubic-bezier(.2,.8,.2,1);
}

.home-institutional-image {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 47%;
  transform: scale(1.001);
  filter: saturate(.9) contrast(1.03);
  transition: transform .9s cubic-bezier(.16,1,.3,1), filter .6s ease;
}

.home-institutional-overlay {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(circle at 78% 25%, rgba(9, 167, 73, .20), transparent 34%),
    linear-gradient(90deg, rgba(3, 24, 12, .94) 0%, rgba(3, 24, 12, .80) 42%, rgba(3, 24, 12, .25) 75%, rgba(3, 24, 12, .12) 100%);
  transition: background .45s ease;
}

.home-institutional-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: inherit;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.13);
}

.home-institutional-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-height: 372px;
  width: min(620px, 72%);
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 46px 50px;
}

.home-institutional-eyebrow {
  margin-bottom: 12px;
  color: #87efaa;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.home-institutional-copy > strong {
  display: block;
  margin: 0;
  color: #fff;
  font-size: clamp(34px, 4vw, 54px);
  line-height: .98;
  font-weight: 950;
  letter-spacing: -1.8px;
  text-shadow: 0 3px 22px rgba(0,0,0,.28);
}

.home-institutional-copy > small {
  display: block;
  max-width: 520px;
  margin-top: 16px;
  color: rgba(255,255,255,.84);
  font-size: 15px;
  line-height: 1.55;
}

.home-institutional-action {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 25px;
  color: #fff;
  font-size: 13px;
  font-weight: 850;
}

.home-institutional-action i {
  display: grid;
  width: 39px;
  height: 39px;
  place-items: center;
  border-radius: 50%;
  background: #079442;
  color: #fff;
  font-size: 19px;
  line-height: 1;
  font-style: normal;
  box-shadow: 0 8px 22px rgba(0, 132, 57, .34);
  transition: transform .35s cubic-bezier(.2,.8,.2,1), background .35s ease;
}

.home-institutional-mark {
  position: absolute;
  right: 30px;
  top: 25px;
  z-index: 2;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 17px;
  background: rgba(5, 35, 17, .30);
  color: rgba(255,255,255,.94);
  font-size: 25px;
  font-weight: 950;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

.app-main-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 16px;
}

.app-main-footer a {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (hover:hover) {
  .home-institutional-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 70px rgba(7, 48, 25, .23);
  }

  .home-institutional-card:hover .home-institutional-image {
    transform: scale(1.055);
    filter: saturate(1) contrast(1.05);
  }

  .home-institutional-card:hover .home-institutional-action i {
    transform: translateX(4px);
    background: #0aa34b;
  }
}

@media (max-width: 760px) {
  .home-institutional-bridge {
    padding: 22px 0 96px;
  }

  .home-institutional-bridge > .container {
    width: 100%;
    max-width: none;
    padding-left: 14px;
    padding-right: 14px;
  }

  .home-institutional-card {
    min-height: 360px;
    border-radius: 23px;
  }

  .home-institutional-image {
    object-position: 50% 52%;
  }

  .home-institutional-overlay {
    background:
      linear-gradient(180deg, rgba(3, 24, 12, .12) 0%, rgba(3, 24, 12, .28) 35%, rgba(3, 24, 12, .93) 100%);
  }

  .home-institutional-copy {
    min-height: 360px;
    width: 100%;
    justify-content: flex-end;
    padding: 26px 22px 28px;
  }

  .home-institutional-eyebrow {
    margin-bottom: 9px;
    font-size: 10px;
  }

  .home-institutional-copy > strong {
    font-size: 34px;
    letter-spacing: -1.1px;
  }

  .home-institutional-copy > small {
    max-width: 95%;
    margin-top: 11px;
    font-size: 13px;
    line-height: 1.42;
  }

  .home-institutional-action {
    margin-top: 18px;
    font-size: 12px;
  }

  .home-institutional-action i {
    width: 34px;
    height: 34px;
    font-size: 17px;
  }

  .home-institutional-mark {
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-institutional-card,
  .home-institutional-image,
  .home-institutional-action i {
    transition: none !important;
  }
}

/* ==========================================================
   QUINTAL — LOGO NO CARD "CONHEÇA O QUINTAL"
   ========================================================== */
.home-institutional-mark.has-logo{
  padding:8px;
  background:rgba(255,255,255,.16);
}
.home-institutional-mark.has-logo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 4px 14px rgba(0,0,0,.18));
}

/* ==========================================================
   QUINTAL — VISUAL PROFISSIONAL NAS AGENDAS DE RECURSOS
   Fundo com imagem + cards acima
   ========================================================== */
.agenda-resource-page,
.resource-choice-page{
  padding-top:6px;
}
.agenda-resource-shell,
.resource-choice-shell{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  isolation:isolate;
  background:#103021;
  box-shadow:0 24px 60px rgba(8,49,28,.16);
}
.agenda-resource-background,
.resource-choice-background{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.02);
  filter:saturate(.95) contrast(1.03);
}
.agenda-resource-overlay,
.resource-choice-overlay{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 82% 18%, rgba(64,188,113,.22), transparent 28%),
    linear-gradient(135deg, rgba(4,21,11,.88) 0%, rgba(4,21,11,.76) 38%, rgba(4,21,11,.30) 100%);
}
.agenda-resource-layout,
.resource-choice-copy,
.resource-choice-grid-wrap{
  position:relative;
  z-index:2;
}
.agenda-resource-layout{
  padding:34px;
}
.agenda-resource-head{
  max-width:640px;
  color:#fff;
}
.agenda-resource-kicker,
.resource-choice-kicker{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#d8f8e2;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.agenda-resource-head h1,
.resource-choice-copy h2{
  margin:14px 0 10px;
  color:#fff;
  font-size:clamp(30px,4.4vw,52px);
  line-height:.98;
  letter-spacing:-.05em;
}
.agenda-resource-head p,
.resource-choice-copy p{
  max-width:680px;
  color:rgba(255,255,255,.9)!important;
  font-size:15px;
  line-height:1.6;
}
.agenda-resource-badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.agenda-resource-badges span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:12px;
  font-weight:800;
}
.agenda-resource-panel{
  margin-top:24px;
  padding:18px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:28px;
  background:rgba(255,255,255,.86);
  box-shadow:0 18px 40px rgba(4,28,15,.13);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
}
.agenda-resource-panel .form,
.agenda-resource-panel .agenda-duracao-form,
.agenda-resource-panel .agenda-monthly-intro,
.agenda-resource-panel .agenda,
.agenda-resource-panel .agenda-empty,
.agenda-resource-panel .agenda-flash{
  margin-left:0;
  margin-right:0;
}
.resource-choice-copy{
  padding:34px 34px 8px;
  max-width:660px;
}
.resource-choice-grid-wrap{
  padding:14px 34px 34px;
}
.resource-choice-shell .grid.cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:16px;
}
.resource-choice-shell .card{
  background:rgba(255,255,255,.92);
  border:1px solid rgba(255,255,255,.4);
  box-shadow:0 16px 32px rgba(9,38,22,.10);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.resource-choice-shell .card h3{color:#173021}
.resource-choice-shell .card p{color:#4d6357}
.resource-choice-shell .btn.btn-main{box-shadow:0 12px 24px rgba(10,95,48,.18)}

@media (max-width: 760px){
  .agenda-resource-shell,
  .resource-choice-shell{
    border-radius:24px;
  }
  .agenda-resource-layout{
    padding:20px;
  }
  .agenda-resource-head h1,
  .resource-choice-copy h2{
    font-size:34px;
    letter-spacing:-.035em;
  }
  .agenda-resource-head p,
  .resource-choice-copy p{
    font-size:13px;
    line-height:1.45;
  }
  .agenda-resource-badges{
    gap:8px;
  }
  .agenda-resource-badges span,
  .agenda-resource-kicker,
  .resource-choice-kicker{
    min-height:30px;
    padding:0 11px;
    font-size:10px;
  }
  .agenda-resource-panel{
    margin-top:18px;
    padding:14px;
    border-radius:20px;
    background:rgba(255,255,255,.93);
  }
  .resource-choice-copy{
    padding:22px 18px 4px;
  }
  .resource-choice-grid-wrap{
    padding:12px 18px 18px;
  }
  .resource-choice-shell .grid.cards{
    grid-template-columns:1fr;
    gap:12px;
  }
}

/* Correção específica — título de quadras.php sobre a imagem */
.resource-choice-shell-quadras .resource-choice-copy h2{
  color:#fff !important;
  text-shadow:0 3px 18px rgba(0,0,0,.28);
}


/* =========================================================
   CARROSSEL V10 — desktop robusto com fallback visual real
   Evita conflito com regras históricas do carrossel e garante
   imagem visível mesmo se a arte Desktop falhar ao decodificar.
   ========================================================= */
.section-planos-home .home-banner-panel.media-only{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding:0!important;
  aspect-ratio:1920/650!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background-color:#eef2ef!important;
  background-image:var(--home-banner-fallback)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}
.section-planos-home .home-banner-panel.media-only .home-banner-picture{
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
}
.section-planos-home .home-banner-panel.media-only .home-banner-image{
  position:absolute!important;
  z-index:2!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  opacity:1!important;
  filter:none!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
@media (max-width:760px){
  .section-planos-home .home-banner-panel.media-only{
    aspect-ratio:4/5!important;
  }
}


/* Login persistente seguro — cliente e administrativo */
.login-remember{display:flex;align-items:flex-start;gap:10px;margin:2px 0 15px;padding:11px 12px;border:1px solid rgba(31,113,64,.14);border-radius:13px;background:rgba(239,249,242,.62);color:#31513e;cursor:pointer;line-height:1.25}
.login-remember input{width:18px;height:18px;flex:0 0 18px;margin:1px 0 0;accent-color:#237345;cursor:pointer}
.login-remember span{display:flex;min-width:0;flex-direction:column;gap:3px}
.login-remember strong{font-size:12px;font-weight:900;color:#28523a}
.login-remember small{font-size:10.5px;line-height:1.35;color:#708277}
.admin-login-remember{margin-top:14px}
@media(max-width:600px){.login-remember{padding:10px 11px}.login-remember small{font-size:10px}}


/* =========================================================
   CARROSSEL V11 — renderização definitiva por background
   Desktop não depende mais de <picture>/<source>. A arte
   mobile fica como segunda camada de fallback no desktop.
   ========================================================= */
.section-planos-home .home-banner-track{
  display:flex!important;
  width:100%!important;
}
.section-planos-home .home-banner-slide{
  flex:0 0 100%!important;
  width:100%!important;
  min-width:100%!important;
}
.section-planos-home .home-banner-panel.media-only.home-banner-bg{
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  aspect-ratio:1920/650!important;
  overflow:hidden!important;
  background-color:#eef2ef!important;
  background-image:var(--banner-desktop),var(--banner-mobile)!important;
  background-repeat:no-repeat,no-repeat!important;
  background-position:center center,center center!important;
  background-size:cover,cover!important;
}
.section-planos-home .home-banner-panel.media-only.home-banner-bg .home-banner-picture,
.section-planos-home .home-banner-panel.media-only.home-banner-bg .home-banner-image{
  display:none!important;
}
@media(max-width:760px){
  .section-planos-home .home-banner-panel.media-only.home-banner-bg{
    aspect-ratio:4/5!important;
    background-image:var(--banner-mobile),var(--banner-desktop)!important;
  }
}


/* =========================================================
   CARROSSEL V12 — imagens reais, sem background/picture
   Corrige o card vazio em desktop e mobile. Cada breakpoint
   possui uma <img> própria; fallback cruzado ocorre via onerror.
   ========================================================= */
.section-planos-home .home-banner-panel.media-only.home-banner-images-v12{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  padding:0!important;
  aspect-ratio:1920/650!important;
  overflow:hidden!important;
  background:#eef2ef!important;
}
.section-planos-home .home-banner-panel.media-only.home-banner-images-v12 .home-banner-v12-img{
  position:absolute!important;
  z-index:10!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
.section-planos-home .home-banner-panel.media-only.home-banner-images-v12 .home-banner-v12-desktop{
  display:block!important;
}
.section-planos-home .home-banner-panel.media-only.home-banner-images-v12 .home-banner-v12-mobile{
  display:none!important;
}
@media(max-width:760px){
  .section-planos-home .home-banner-panel.media-only.home-banner-images-v12{
    aspect-ratio:4/5!important;
  }
  .section-planos-home .home-banner-panel.media-only.home-banner-images-v12 .home-banner-v12-desktop{
    display:none!important;
  }
  .section-planos-home .home-banner-panel.media-only.home-banner-images-v12 .home-banner-v12-mobile{
    display:block!important;
  }
}

/* Quintal PWA — instalação Android/iPhone */
.mc-pwa-card{position:relative;overflow:hidden;margin:0 0 14px;padding:18px;border:1px solid #dbe8df;border-radius:20px;background:linear-gradient(145deg,#f8fcf8 0%,#fff 60%,#eef7ee 100%);box-shadow:0 10px 26px rgba(27,67,39,.07)}
.mc-pwa-card:after{content:"";position:absolute;width:130px;height:130px;right:-62px;top:-68px;border-radius:50%;background:rgba(76,153,87,.08);pointer-events:none}
.mc-pwa-card-head{position:relative;z-index:1;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center}
.mc-pwa-card-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:linear-gradient(145deg,#1c6b38,#2f8b4f);color:#fff;box-shadow:0 8px 18px rgba(31,115,61,.22);font-size:24px;font-weight:900}
.mc-pwa-card-copy small{display:block;margin-bottom:3px;color:#5c7a66;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mc-pwa-card-copy strong{display:block;color:#1d3e29;font-size:16px;line-height:1.15}
.mc-pwa-card-copy p{margin:5px 0 0;color:#75827a;font-size:11px;line-height:1.45}
.mc-pwa-card-actions{position:relative;z-index:1;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}
.mc-pwa-install-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 14px;border:0;border-radius:12px;background:#217342;color:#fff;font:inherit;font-size:11px;font-weight:900;cursor:pointer;box-shadow:0 7px 16px rgba(33,115,66,.18);transition:.18s ease}
.mc-pwa-install-button:hover{background:#185f35;transform:translateY(-1px)}
.mc-pwa-install-button:disabled{opacity:.62;cursor:wait;transform:none}
.mc-pwa-installed-badge{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #bfe0c8;border-radius:999px;background:#ebf8ef;color:#21663b;font-size:10px;font-weight:900}
.mc-pwa-installed-badge:before{content:"✓";display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#287d47;color:#fff;font-size:10px}
.mc-pwa-card.is-installed{border-color:#c7e3cf;background:linear-gradient(145deg,#eff9f2,#fff)}
.pwa-install-hint{display:block;width:100%;margin-top:8px;color:#75827a;font-size:10px;line-height:1.4}

.pwa-install-modal{position:fixed;z-index:99998;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:18px;background:rgba(8,18,12,.58);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease}
.pwa-install-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.pwa-install-dialog{position:relative;width:min(440px,100%);padding:27px 22px 22px;border:1px solid rgba(255,255,255,.85);border-radius:27px;background:#fff;box-shadow:0 28px 70px rgba(7,28,15,.30);transform:translateY(24px);transition:transform .24s cubic-bezier(.2,.78,.28,1)}
.pwa-install-modal.is-open .pwa-install-dialog{transform:translateY(0)}
.pwa-install-close{position:absolute;right:13px;top:12px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:50%;background:#f0f3f1;color:#4b5c51;font:inherit;font-size:23px;line-height:1;cursor:pointer}
.pwa-install-app-icon{display:grid;width:58px;height:58px;place-items:center;margin-bottom:15px;border-radius:18px;background:linear-gradient(145deg,#1b6d39,#309055);color:#fff;box-shadow:0 11px 24px rgba(35,122,67,.24);font-size:27px;font-weight:950}
.pwa-install-kicker{display:block;color:#49825d;font-size:9px;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.pwa-install-dialog h2{margin:5px 40px 7px 0;color:#16291d;font-size:25px;line-height:1.04;letter-spacing:-.04em}
.pwa-install-lead{margin:0;color:#6f7c74;font-size:13px;line-height:1.5}
.pwa-install-steps{display:grid;gap:9px;margin:18px 0 2px}
.pwa-install-steps>div{display:grid;grid-template-columns:29px minmax(0,1fr);gap:10px;align-items:start;padding:11px;border:1px solid #e1ebe4;border-radius:13px;background:#f8fbf9;color:#5e6d63;font-size:11px;line-height:1.45}
.pwa-install-steps b{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;background:#e5f4e9;color:#257142;font-size:11px}
.pwa-install-steps strong{color:#244c32}
.pwa-install-actions{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:19px}
.pwa-install-primary,.pwa-install-secondary{min-height:44px;padding:10px 15px;border-radius:12px;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.pwa-install-primary{border:1px solid #237444;background:#237444;color:#fff;box-shadow:0 8px 18px rgba(35,116,68,.20)}
.pwa-install-primary:hover{background:#1b6238}
.pwa-install-secondary{border:1px solid #dce5df;background:#fff;color:#637168}
@media(min-width:700px){.pwa-install-modal{align-items:center}.pwa-install-dialog{border-radius:25px}}
@media(max-width:420px){.pwa-install-modal{padding:10px}.pwa-install-dialog{padding:24px 18px 18px;border-radius:24px}.pwa-install-actions{grid-template-columns:1fr}.pwa-install-secondary{order:2}.mc-pwa-install-button{width:100%}.mc-pwa-card-actions{display:block}}
@media(prefers-reduced-motion:reduce){.pwa-install-modal,.pwa-install-dialog,.mc-pwa-install-button{transition:none}}
.mc-pwa-card-icon img,.pwa-install-app-icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit;padding:6px;background:rgba(255,255,255,.96)}

/* Instalação PWA visível na Home mobile */
.home-pwa-install{display:none}
@media(max-width:820px){
  .home-pwa-install{display:block;padding:12px 0 2px}
  .home-pwa-install-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(30,108,59,.16);border-radius:20px;background:linear-gradient(135deg,#fff 0%,#f2faf4 100%);box-shadow:0 9px 24px rgba(22,78,42,.08)}
  .home-pwa-install-logo{display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border:1px solid rgba(21,101,50,.12);border-radius:16px;background:#fff;color:#16743b;font-size:25px;font-weight:950;box-shadow:0 7px 16px rgba(25,85,45,.10)}
  .home-pwa-install-logo img{display:block;width:50px;height:50px;object-fit:contain}
  .home-pwa-install-copy{min-width:0}
  .home-pwa-install-copy small{display:block;margin-bottom:2px;color:#27814a;font-size:9px;font-style:normal;font-weight:950;letter-spacing:.075em;text-transform:uppercase}
  .home-pwa-install-copy strong{display:block;color:#183c27;font-size:14px;line-height:1.18;letter-spacing:-.02em}
  .home-pwa-install-copy>span{display:block;margin-top:3px;color:#718079;font-size:10.5px;line-height:1.35}
  .home-pwa-install-copy em{display:block;margin-top:4px;color:#667870;font-size:9.5px;font-style:normal;line-height:1.3}
  .home-pwa-install-button{grid-column:1/-1;display:flex;min-height:42px;align-items:center;justify-content:center;gap:8px;margin-top:1px;border:0;border-radius:13px;background:#1b7a42;color:#fff;font:inherit;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(27,122,66,.18);cursor:pointer}
  .home-pwa-install-button>span{font-size:17px;line-height:1}
  .home-pwa-install-button[aria-busy="true"]{opacity:.72;cursor:wait}
  .home-pwa-installed-badge{grid-column:1/-1;justify-self:start;padding:7px 10px;border-radius:999px;background:#e5f6ea;color:#236a3d;font-size:10px;font-weight:900}
  .home-pwa-install-card.is-installed .home-pwa-install-button{display:none!important}
}
@media(display-mode:standalone){.home-pwa-install{display:none!important}}


/* Carrinho persistente / pagamentos aguardando */
.client-cart-sticky-reminder{position:fixed;z-index:1900;right:18px;bottom:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:min(390px,calc(100vw - 28px));padding:12px 14px;border:1px solid #d9e7dd;border-radius:18px;background:rgba(255,255,255,.98);color:#183b29;text-decoration:none;box-shadow:0 14px 38px rgba(18,63,38,.17);backdrop-filter:blur(12px)}
.client-cart-sticky-reminder:hover{transform:translateY(-1px);box-shadow:0 18px 42px rgba(18,63,38,.21)}
.client-cart-sticky-reminder.has-pending-payment{border-color:#ebca79;background:linear-gradient(135deg,#fffdf7,#fff7df)}
.client-cart-sticky-icon{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#1f7543;color:#fff}.client-cart-sticky-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.client-cart-sticky-icon .client-cart-badge{right:-7px;top:-7px;border-color:#fff}
.client-cart-sticky-copy{min-width:0}.client-cart-sticky-copy strong,.client-cart-sticky-copy small{display:block}.client-cart-sticky-copy strong{font-size:14px}.client-cart-sticky-copy small{margin-top:2px;color:#6f7c74;font-size:11px;line-height:1.3}.client-cart-sticky-arrow{font-size:27px;color:#4c725c}
.pending-payment-card.is-expired{opacity:.72}.pending-payment-discount{display:inline-flex;margin:0 0 10px;padding:7px 10px;border-radius:999px;background:#eaf7ed;color:#23643a;font-size:12px;font-weight:900}.pending-payment-total{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0;padding:12px 14px;border-radius:14px;background:#f8faf8}.pending-payment-total span{color:#6f7972;font-size:12px}.pending-payment-total strong{color:#193f2a;font-size:18px}.pending-payment-items{display:grid;gap:4px;margin:10px 0;color:#647168;font-size:12px}
.bar-product-barcode-field{display:grid;gap:5px;margin:10px 0}.bar-product-barcode-field>span{color:#728279;font-size:9px;font-weight:900;letter-spacing:.065em;text-transform:uppercase}.bar-product-barcode-field input{width:100%;box-sizing:border-box;padding:10px 11px;border:1px solid #dce5df;border-radius:10px;background:#fff;color:#263d30;font-weight:800}
@media(max-width:760px){.client-cart-sticky-reminder{right:10px;left:10px;bottom:calc(83px + env(safe-area-inset-bottom,0px));width:auto;padding:10px 12px;border-radius:16px}.client-cart-sticky-icon{width:38px;height:38px}.client-cart-sticky-copy strong{font-size:13px}.client-cart-sticky-copy small{font-size:10.5px}}
