/* ========================================================================== */
/* IDENTIDADE OFICIAL — CORRIDA DE RUA JOÃO JILÓ                             */
/* Paleta fornecida: Azul #39698B e Laranja #FF6829                           */
/* ========================================================================== */

:root {
  --jj-blue: #39698B;
  --jj-blue-dark: #274F6B;
  --jj-blue-deep: #19384D;
  --jj-blue-soft: #EAF1F5;
  --jj-orange: #FF6829;
  --jj-orange-dark: #E65319;
  --jj-orange-soft: #FFF0E8;
  --jj-ink: #1F2D36;
  --jj-muted: #667783;
  --jj-line: #D8E2E8;
  --jj-offwhite: #F6F8F9;
  --jj-white: #FFFFFF;
  --jj-shadow: 0 24px 68px rgba(39, 79, 107, .16);
}

/* ---------- Página oficial ---------- */
body.jj-page {
  background: var(--jj-white) !important;
  color: var(--jj-ink) !important;
}
.jj-header {
  background: rgba(255,255,255,.96) !important;
  border-bottom-color: rgba(57,105,139,.15) !important;
}
.jj-brand img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
}
.jj-brand strong { color: var(--jj-blue-deep) !important; }
.jj-brand small { color: var(--jj-orange) !important; }
.jj-desktop-menu a { color: #51636F !important; }
.jj-desktop-menu a:hover { color: var(--jj-blue) !important; }
.jj-desktop-menu a::after { background: var(--jj-orange) !important; }
.jj-burger { border-color: var(--jj-line) !important; background: #fff !important; }
.jj-burger span { background: var(--jj-blue-deep) !important; }

.jj-page .btn-primary,
.jj-nav-actions .btn-primary,
.jj-mobile-menu .jj-mobile-highlight {
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 16px 34px rgba(255,104,41,.28) !important;
}
.jj-page .btn-primary:hover,
.jj-nav-actions .btn-primary:hover {
  filter: brightness(1.04);
  box-shadow: 0 19px 40px rgba(255,104,41,.35) !important;
}
.jj-page .btn-soft {
  color: var(--jj-blue-dark) !important;
  background: #fff !important;
  border-color: var(--jj-line) !important;
}
.jj-page .btn-soft:hover {
  background: var(--jj-blue-soft) !important;
  border-color: var(--jj-blue) !important;
}

.jj-mobile-menu {
  background: rgba(25,56,77,.98) !important;
}
.jj-mobile-menu a:hover { color: #FFB18E !important; }
.jj-mobile-menu .jj-mobile-whatsapp {
  background: #fff !important;
  color: var(--jj-blue-deep) !important;
}

.jj-hero { background: var(--jj-blue-deep) !important; }
.jj-hero-bg {
  background-image:
    linear-gradient(90deg, rgba(25,56,77,.98) 0%, rgba(39,79,107,.94) 48%, rgba(57,105,139,.75) 100%),
    url('/img/banner-joao-jilo.svg') !important;
}
.jj-hero-bg::before {
  background:
    radial-gradient(circle at 9% 17%, rgba(255,104,41,.30), transparent 29%),
    radial-gradient(circle at 91% 88%, rgba(255,255,255,.13), transparent 34%) !important;
}
.jj-kicker,
.jj-section-kicker { color: var(--jj-orange) !important; }
.jj-hero h1 span { color: #FF8D5A !important; }
.jj-hero-logo-card {
  background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.07)) !important;
  border-color: rgba(255,255,255,.20) !important;
}
.jj-hero-logo-card > img {
  width: min(460px, 100%) !important;
  max-height: 430px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 22px 35px rgba(0,0,0,.30)) !important;
}
.jj-date-stamp span { color: var(--jj-orange) !important; }
.jj-countdown-card { border-color: rgba(255,255,255,.20) !important; }

.jj-quick-grid,
.jj-race-card,
.jj-kit-grid article,
.jj-faq-list details,
.jj-master-sponsor,
.jj-sponsors-grid .sponsor-card,
.jj-sponsor-placeholder {
  border-color: var(--jj-line) !important;
}
.jj-quick-grid article > span { background: var(--jj-orange-soft) !important; }
.jj-quick-grid strong,
.jj-race-card h3,
.jj-kit-grid strong,
.jj-faq-list summary { color: var(--jj-blue-deep) !important; }
.jj-section-soft { background: linear-gradient(180deg, #F7F9FA, var(--jj-blue-soft)) !important; }
.jj-about-grid h2,
.jj-section-head h2,
.jj-route-grid h2,
.jj-faq-grid h2 { color: var(--jj-blue-deep) !important; }
.jj-about-card,
.jj-race-card.jj-race-featured,
.jj-route-map,
.jj-final-box {
  background: linear-gradient(145deg, var(--jj-blue), var(--jj-blue-deep)) !important;
}
.jj-about-card::after,
.jj-final-box::after { background: rgba(255,104,41,.28) !important; }
.jj-race-number,
.jj-race-card a,
.jj-route-line span,
.jj-check-list li::before { color: var(--jj-orange) !important; }
.jj-route-line span { background: var(--jj-orange) !important; }
.jj-race-card small { color: var(--jj-blue) !important; }
.jj-race-featured small { color: #FFB18E !important; }
.jj-awards { background: var(--jj-blue-deep) !important; }
.jj-awards-grid article > span { background: rgba(255,104,41,.18) !important; }
.jj-master-sponsor span { color: var(--jj-orange) !important; }
.jj-footer { background: #162F40 !important; }
.jj-footer-brand img {
  width: 280px !important;
  max-height: 210px !important;
  filter: none !important;
}
.jj-footer-grid a:hover { color: #FF9A6B !important; }

/* ---------- Inscrição e consulta: elimina verde/roxo legado ---------- */
body.inscricao-page,
body.consulta-page {
  --purple-950: var(--jj-blue-deep);
  --purple-900: var(--jj-blue-dark);
  --purple-800: var(--jj-blue);
  --purple-700: var(--jj-blue);
  --purple-600: #56809D;
  --green-500: var(--jj-orange);
  --green-600: var(--jj-orange);
  --green-700: var(--jj-orange-dark);
  --lime-300: #FFB18E;
  --ink: var(--jj-ink);
  --muted: var(--jj-muted);
  --line: var(--jj-line);
  --bg: var(--jj-offwhite);
  --card: #fff;
  background:
    radial-gradient(circle at 92% 5%, rgba(255,104,41,.13), transparent 27%),
    radial-gradient(circle at 7% 24%, rgba(57,105,139,.13), transparent 31%),
    var(--jj-offwhite) !important;
  color: var(--jj-ink) !important;
}
.inscricao-page .topbar-premium,
.consulta-page .topbar-premium {
  background: rgba(255,255,255,.97) !important;
  border-bottom: 1px solid var(--jj-line) !important;
}
.inscricao-page .brand-premium .brand-mark,
.consulta-page .brand-premium .brand-mark {
  width: 74px !important;
  height: 62px !important;
  background: transparent !important;
}
.inscricao-page .brand-premium img,
.consulta-page .brand-premium img {
  width: 72px !important;
  height: 62px !important;
  object-fit: contain !important;
}
.inscricao-page .brand-premium small,
.consulta-page .brand-premium small { color: var(--jj-orange) !important; }
.inscricao-page .peara-form-section,
.consulta-page .peara-form-section {
  background: transparent !important;
}
.inscricao-page .inscricao-intro {
  background:
    radial-gradient(circle at 94% 0%, rgba(255,104,41,.17), transparent 34%),
    linear-gradient(135deg, #FFFFFF, #EEF4F7) !important;
  color: var(--jj-blue-deep) !important;
  border: 1px solid var(--jj-line) !important;
  border-left: 7px solid var(--jj-orange) !important;
  box-shadow: var(--jj-shadow) !important;
}
.inscricao-page .inscricao-intro img {
  width: 235px !important;
  height: 190px !important;
  object-fit: contain !important;
  filter: none !important;
  animation: none !important;
}
.inscricao-page .inscricao-intro small { color: var(--jj-orange) !important; }
.inscricao-page .inscricao-intro h1 { color: var(--jj-blue-deep) !important; }
.inscricao-page .inscricao-intro p { color: var(--jj-muted) !important; }

.inscricao-page .form-card-premium,
.consulta-page .form-card-premium,
.inscricao-page .modal-card,
.consulta-page .modal-card {
  background: #fff !important;
  color: var(--jj-ink) !important;
  border: 1px solid var(--jj-line) !important;
  box-shadow: var(--jj-shadow) !important;
}
.inscricao-page .section-title small,
.consulta-page .section-title small {
  color: var(--jj-orange) !important;
}
.inscricao-page .section-title h2,
.consulta-page .section-title h2,
.inscricao-page label,
.consulta-page label {
  color: var(--jj-blue-deep) !important;
}
.inscricao-page input,
.inscricao-page select,
.consulta-page input,
.consulta-page select {
  background: #fff !important;
  color: var(--jj-ink) !important;
  border-color: var(--jj-line) !important;
}
.inscricao-page input:focus,
.inscricao-page select:focus,
.consulta-page input:focus,
.consulta-page select:focus {
  border-color: var(--jj-blue) !important;
  box-shadow: 0 0 0 4px rgba(57,105,139,.13) !important;
}
.inscricao-page .category-preview,
.inscricao-page .card-secure-badge,
.consulta-page .result-card {
  background: linear-gradient(135deg, var(--jj-blue-soft), var(--jj-orange-soft)) !important;
  border-color: rgba(57,105,139,.17) !important;
}
.inscricao-page .category-preview strong,
.inscricao-page .card-secure-badge strong { color: var(--jj-blue-dark) !important; }
.inscricao-page .regulation-accept-box {
  background: var(--jj-blue-soft) !important;
  border-color: rgba(57,105,139,.18) !important;
}

.inscricao-page .btn-primary,
.consulta-page .btn-primary,
.inscricao-page .pix-submit-button,
.consulta-page .pix-submit-button {
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 17px 36px rgba(255,104,41,.28) !important;
}
.inscricao-page .pix-submit-button {
  animation: jjOrangePulse 1.45s ease-in-out infinite !important;
}
.inscricao-page .pix-submit-button::after {
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent) !important;
}
@keyframes jjOrangePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,104,41,.36), 0 17px 36px rgba(255,104,41,.24); transform: scale(1); }
  50% { box-shadow: 0 0 0 10px rgba(255,104,41,0), 0 19px 42px rgba(255,104,41,.36); transform: scale(1.012); }
}

.inscricao-page .btn-card-pay,
.inscricao-page .form-card-pay,
.inscricao-page .card-payment-modal .btn-card-pay,
.consulta-page .btn-dark {
  background: linear-gradient(135deg, var(--jj-blue), var(--jj-blue-dark)) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 14px 31px rgba(57,105,139,.25) !important;
  animation: none !important;
}
.inscricao-page .form-card-pay::after { color: rgba(255,255,255,.78) !important; }
.inscricao-page .btn-line,
.consulta-page .btn-line {
  color: var(--jj-blue) !important;
  border-color: rgba(57,105,139,.32) !important;
  background: #fff !important;
}
.inscricao-page .btn-soft,
.consulta-page .btn-soft {
  color: var(--jj-blue-dark) !important;
  background: #fff !important;
  border-color: var(--jj-line) !important;
}
.inscricao-page .btn-dark,
.consulta-page .btn-dark {
  background: var(--jj-blue-deep) !important;
  color: #fff !important;
}

.inscricao-page .payment-steps .step,
.consulta-page .payment-steps .step {
  background: #EEF2F4 !important;
  color: #6D7B84 !important;
}
.inscricao-page .payment-steps .step.done,
.consulta-page .payment-steps .step.done {
  background: var(--jj-blue-soft) !important;
  color: var(--jj-blue-dark) !important;
}
.inscricao-page .payment-steps .step.active,
.consulta-page .payment-steps .step.active {
  background: var(--jj-orange-soft) !important;
  color: var(--jj-orange-dark) !important;
}
.inscricao-page .status-wait,
.consulta-page .status-wait {
  background: var(--jj-orange-soft) !important;
  color: var(--jj-orange-dark) !important;
}
.inscricao-page .status-ok,
.consulta-page .status-ok {
  background: var(--jj-blue-soft) !important;
  color: var(--jj-blue-dark) !important;
}
.inscricao-page .pulse,
.consulta-page .pulse { box-shadow: 0 0 0 rgba(255,104,41,.5) !important; }
.inscricao-page .qr-box,
.consulta-page .qr-box,
.inscricao-page .copy-box,
.consulta-page .copy-box {
  background: #F4F7F9 !important;
  border-color: var(--jj-line) !important;
}
.inscricao-page .close,
.consulta-page .close {
  background: var(--jj-blue-soft) !important;
  color: var(--jj-blue-deep) !important;
}
.inscricao-page .modal,
.consulta-page .modal { background: rgba(25,56,77,.72) !important; }

/* ---------- Admin: mesma identidade sem verde/roxo ---------- */
body.admin-light {
  --purple-950: var(--jj-blue-deep);
  --purple-900: var(--jj-blue-dark);
  --purple-800: var(--jj-blue);
  --purple-700: var(--jj-blue);
  --green-500: var(--jj-orange);
  --green-600: var(--jj-orange);
  --green-700: var(--jj-orange-dark);
}
body.admin-light .btn-primary {
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff !important;
}
body.admin-light .menu button.active,
body.admin-light .menu button:hover {
  background: linear-gradient(135deg, var(--jj-blue), var(--jj-blue-dark)) !important;
  color: #fff !important;
}
body.admin-light .brand-mark {
  background: linear-gradient(135deg, var(--jj-blue), var(--jj-orange)) !important;
}
body.admin-light .metric b,
body.admin-light th { color: var(--jj-blue) !important; }

@media (max-width: 640px) {
  .jj-brand img { width: 52px !important; height: 52px !important; }
  .jj-hero-logo-card > img { max-height: 310px !important; }
  .inscricao-page .brand-premium .brand-mark,
  .consulta-page .brand-premium .brand-mark { width: 58px !important; height: 52px !important; }
  .inscricao-page .brand-premium img,
  .consulta-page .brand-premium img { width: 58px !important; height: 52px !important; }
  .inscricao-page .inscricao-intro img { width: 210px !important; height: 180px !important; }
}

/* ========================================================================== */
/* V3 — ACABAMENTO PÚBLICO E FLUXO PIX                                        */
/* ========================================================================== */

/* Botão principal com brilho controlado */
.jj-glow-button {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  animation: jjCtaGlow 2.2s ease-in-out infinite;
}
.jj-glow-button::before {
  content: '';
  position: absolute;
  inset: -35%;
  z-index: -1;
  background: radial-gradient(circle, rgba(255,255,255,.48), transparent 48%);
  opacity: .6;
  animation: jjCtaAura 2.2s ease-in-out infinite;
}
.jj-glow-button::after {
  content: '';
  position: absolute;
  top: -60%;
  left: -45%;
  width: 32%;
  height: 220%;
  transform: rotate(22deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.85), transparent);
  animation: jjCtaShine 2.8s ease-in-out infinite;
}
@keyframes jjCtaGlow {
  0%,100% { box-shadow: 0 0 0 0 rgba(255,104,41,.42), 0 17px 38px rgba(255,104,41,.30) !important; }
  50% { box-shadow: 0 0 0 11px rgba(255,104,41,0), 0 23px 48px rgba(255,104,41,.48) !important; }
}
@keyframes jjCtaAura { 0%,100% { transform: scale(.75); opacity: .2; } 50% { transform: scale(1.2); opacity: .62; } }
@keyframes jjCtaShine { 0%,58% { left: -45%; } 82%,100% { left: 125%; } }

/* Menu mobile robusto */
.jj-mobile-menu { overscroll-behavior: contain; }
.jj-mobile-menu-inner { padding-top: 14px !important; }
.jj-mobile-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 0 17px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.jj-mobile-menu-head > div { display: grid; gap: 3px; }
.jj-mobile-menu-head strong { color: #fff; font-size: 17px; }
.jj-mobile-menu-head small { color: rgba(255,255,255,.58); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.jj-mobile-close {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.16);
  color: #fff;
  background: rgba(255,255,255,.08);
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}
.jj-mobile-menu .jj-mobile-consulta {
  margin-top: 14px;
  border-radius: 16px;
  padding: 16px;
  text-align: center;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
}

/* Card da marca mais claro e data laranja */
.jj-hero-logo-card {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,248,250,.94)) !important;
  border-color: rgba(255,255,255,.72) !important;
  box-shadow: 0 38px 90px rgba(8,31,47,.38), inset 0 1px 0 #fff !important;
}
.jj-date-stamp {
  background: linear-gradient(145deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.62);
  box-shadow: 0 18px 38px rgba(230,83,25,.35) !important;
}
.jj-date-stamp strong,
.jj-date-stamp span,
.jj-date-stamp small { color: #fff !important; }

/* Ícones profissionais das informações rápidas */
.jj-info-icon {
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px;
  border-radius: 16px !important;
  background: linear-gradient(145deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff;
  box-shadow: 0 12px 25px rgba(255,104,41,.25);
}
.jj-info-icon svg,
.jj-card-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.jj-quick-grid article { transition: transform .25s ease, background .25s ease; }
.jj-quick-grid article:hover { transform: translateY(-3px); background: #fffaf7; }

/* Seção A corrida mais equilibrada */
.jj-about-grid { grid-template-columns: minmax(0,1fr) minmax(340px,.72fr) !important; gap: clamp(36px,6vw,82px) !important; }
.jj-about-copy { max-width: 760px; }
.jj-about-copy h2 { max-width: 720px; text-wrap: balance; }
.jj-about-text { display: grid; gap: 16px; }
.jj-about-text p { margin: 0 !important; text-align: left; }
.jj-about-card {
  min-height: 340px !important;
  background: linear-gradient(150deg, #FF7A40 0%, var(--jj-orange) 48%, #D94B13 100%) !important;
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: 0 28px 68px rgba(255,104,41,.29) !important;
}
.jj-about-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 26%, rgba(255,255,255,.18) 45%, transparent 63%);
  transform: translateX(-110%);
  transition: transform .8s ease;
}
.jj-about-card:hover::before { transform: translateX(110%); }
.jj-about-card > span,
.jj-about-card > strong,
.jj-about-card > p { position: relative; z-index: 2; }
.jj-about-card strong { font-size: 25px !important; letter-spacing: .04em; text-transform: uppercase; }
.jj-about-card p { color: rgba(255,255,255,.86) !important; }
.jj-birthday-confetti { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 4; }
.jj-birthday-piece {
  position: absolute;
  left: var(--x);
  bottom: 22%;
  font-size: var(--size);
  color: var(--piece-color);
  opacity: 0;
  animation: jjBirthdayBurst var(--duration) cubic-bezier(.12,.74,.25,1) var(--delay) forwards;
}
@keyframes jjBirthdayBurst {
  0% { transform: translate3d(0,12px,0) scale(.3) rotate(0deg); opacity: 0; }
  14% { opacity: 1; }
  72% { opacity: 1; }
  100% { transform: translate3d(var(--drift),-300px,0) scale(1.08) rotate(var(--rotate)); opacity: 0; }
}

/* Modalidades lado a lado; 5 km em laranja */
.jj-race-card.jj-race-featured {
  background: linear-gradient(145deg, #FF7B43, var(--jj-orange-dark)) !important;
  box-shadow: 0 24px 58px rgba(255,104,41,.28) !important;
}
.jj-race-featured .jj-race-number,
.jj-race-featured small,
.jj-race-featured h3,
.jj-race-featured p,
.jj-race-featured a { color: #fff !important; }

/* Cards premium e legibilidade da premiação */
.jj-section-head-light > p { color: rgba(255,255,255,.82) !important; }
.jj-awards-grid article {
  background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.045)) !important;
  border-color: rgba(255,255,255,.18) !important;
  box-shadow: 0 22px 46px rgba(0,0,0,.15);
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}
.jj-awards-grid article:hover { transform: translateY(-7px); border-color: rgba(255,104,41,.62) !important; background: rgba(255,255,255,.13) !important; }
.jj-card-icon {
  width: 58px !important;
  height: 58px !important;
  display: grid;
  place-items: center;
  border-radius: 18px !important;
  background: linear-gradient(145deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff;
  box-shadow: 0 13px 28px rgba(255,104,41,.26);
}
.jj-awards-grid p { color: rgba(255,255,255,.78) !important; }

/* Kit todo em laranja com quarto card de medalha */
.jj-kit-grid { grid-template-columns: repeat(4,1fr) !important; }
.jj-kit-grid article {
  min-height: 238px;
  color: #fff;
  background: linear-gradient(148deg, #FF7A40, var(--jj-orange-dark)) !important;
  border: 0 !important;
  box-shadow: 0 20px 46px rgba(255,104,41,.23);
  transition: transform .28s ease, box-shadow .28s ease;
}
.jj-kit-grid article:hover { transform: translateY(-7px); box-shadow: 0 28px 58px rgba(255,104,41,.34); }
.jj-kit-grid .jj-card-icon { background: rgba(255,255,255,.16) !important; border: 1px solid rgba(255,255,255,.25); box-shadow: none; }
.jj-kit-grid strong,
.jj-kit-grid p { color: #fff !important; }
.jj-kit-grid p { opacity: .86; }

/* Rodapé mobile e Norte Servic destacado */
.jj-footer-service p { color: rgba(255,255,255,.58); font-size: 13px; line-height: 1.55; }
.jj-norte-link {
  width: 100%;
  padding: 14px 15px !important;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark));
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(255,104,41,.22);
  display: grid !important;
  gap: 2px !important;
}
.jj-norte-link span { font-size: 17px; font-weight: 950; }
.jj-norte-link small { color: rgba(255,255,255,.82); }
.jj-footer-bottom a { color: rgba(255,255,255,.58); }
.jj-footer-bottom a:hover { color: #fff; }

/* Checkbox do regulamento normal e somente Pix */
.inscricao-page .terms-regulation input[type='checkbox'] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  accent-color: var(--jj-orange) !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.inscricao-page .terms-regulation { background: #fff !important; border: 1px solid var(--jj-line); border-radius: 14px; padding: 14px 15px; }
.inscricao-page .pix-only-note { margin-top: 11px; text-align: center; color: var(--jj-muted); font-size: 12px; }

/* Carrosséis automáticos apenas no mobile */
@media (max-width: 760px) {
  .jj-races-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .jj-race-card { padding: 19px 14px !important; border-radius: 20px !important; }
  .jj-race-number { font-size: 48px !important; }
  .jj-race-number span { font-size: 18px !important; }
  .jj-race-card small { margin-top: 13px !important; font-size: 9px; letter-spacing: .06em; }
  .jj-race-card h3 { font-size: 19px !important; }
  .jj-race-card p { min-height: 0; font-size: 12px; }
  .jj-race-card a { font-size: 11px; margin-top: 15px; }

  .jj-auto-carousel {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    margin-right: -18px;
    padding: 4px 18px 18px 0;
  }
  .jj-auto-carousel::-webkit-scrollbar { display: none; }
  .jj-auto-carousel article {
    flex: 0 0 min(84vw,330px);
    scroll-snap-align: start;
    min-height: 245px;
  }
  .jj-kit-grid article { min-height: 245px !important; }

  .jj-about-grid { grid-template-columns: 1fr !important; }
  .jj-about-copy { text-align: center; }
  .jj-about-copy .jj-section-kicker { justify-content: center; }
  .jj-about-text p { text-align: center; }
  .jj-about-card { min-height: 285px !important; text-align: center; align-items: center; }

  .jj-footer { padding-top: 46px !important; }
  .jj-footer-grid { gap: 22px !important; }
  .jj-footer-grid > div { padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .jj-footer-grid > div:last-child { border-bottom: 0; }
  .jj-footer-brand { text-align: center; align-items: center !important; }
  .jj-footer-brand img { width: min(260px,82vw) !important; object-position: center !important; }
  .jj-footer-brand p { margin-left: auto; margin-right: auto; }
  .jj-footer-grid > div:not(.jj-footer-brand) { align-items: stretch !important; }
  .jj-footer-grid > div:not(.jj-footer-brand) > strong { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: #fff; }
  .jj-footer-grid > div:not(.jj-footer-brand) > a:not(.jj-norte-link) { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06); }
  .jj-footer-bottom { text-align: center; align-items: center; }
}

@media (prefers-reduced-motion: reduce) {
  .jj-glow-button,
  .jj-glow-button::before,
  .jj-glow-button::after,
  .jj-birthday-piece { animation: none !important; }
}

/* Menu fica fora do cabeçalho para evitar conflito de backdrop-filter no mobile */
.jj-header { z-index: 1000 !important; }
.jj-mobile-menu {
  z-index: 999 !important;
  top: 82px !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  inset: 82px 0 0 !important;
  pointer-events: none;
}
.jj-mobile-menu.open { pointer-events: auto; }
@media (max-width: 640px) {
  .jj-mobile-menu { top: 70px !important; inset: 70px 0 0 !important; }
}
.jj-mobile-menu-head { justify-content: flex-start !important; }

/* ========================================================================== */
/* V4 — AJUSTES FINOS DA PÁGINA, INSCRIÇÃO E NÚMERO DE PEITO                  */
/* ========================================================================== */

/* Oculta somente o indicador visual de rolagem; a página continua rolando. */
body.jj-page,
body.inscricao-page,
body.consulta-page {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
body.jj-page::-webkit-scrollbar,
body.inscricao-page::-webkit-scrollbar,
body.consulta-page::-webkit-scrollbar { width: 0; height: 0; display: none; }

/* Data primeiro, seguida do selo de inscrições oficiais. */
.jj-hero-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 22px;
}
.jj-hero-badges .jj-kicker { margin: 0 !important; }
.jj-hero-date-chip {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 13px 28px rgba(255,104,41,.24);
  font-size: 12px;
  letter-spacing: .08em;
}
.jj-hero-date-chip svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.jj-hero-date-chip b { font-weight: 950; }

/* Ícones profissionais e realmente visíveis. */
.jj-quick-grid article > .jj-info-icon,
.jj-info-icon {
  color: var(--jj-orange) !important;
  background: var(--jj-orange-soft) !important;
  border: 1px solid rgba(255,104,41,.22) !important;
  box-shadow: 0 10px 24px rgba(255,104,41,.12) !important;
}
.jj-info-icon svg {
  stroke: var(--jj-orange) !important;
  color: var(--jj-orange) !important;
  opacity: 1 !important;
}

/* Quadro dos 35 anos mais forte e sem emojis/ícones subindo. */
.jj-about-card > span {
  font-size: clamp(92px, 10vw, 148px) !important;
  line-height: .78 !important;
  letter-spacing: -.07em !important;
  font-weight: 1000 !important;
  text-shadow: 0 10px 28px rgba(0,0,0,.15);
}
.jj-birthday-piece {
  width: var(--size) !important;
  height: calc(var(--size) * .48) !important;
  border-radius: 3px;
  background: var(--piece-color) !important;
  color: transparent !important;
  font-size: 0 !important;
}
.jj-birthday-piece[data-shape='circle'] { border-radius: 999px; height: var(--size) !important; }
.jj-birthday-piece[data-shape='strip'] { width: calc(var(--size) * .45) !important; height: calc(var(--size) * 1.4) !important; }

/* Premiação: texto legível, cards laranja premium e destaque dos R$ 10 mil. */
.jj-awards .jj-section-head-light h2,
.jj-awards .jj-section-head-light p,
.jj-awards .jj-section-head-light .jj-section-kicker {
  opacity: 1 !important;
  visibility: visible !important;
}
.jj-awards .jj-section-head-light h2 { color: #fff !important; }
.jj-awards .jj-section-head-light > p { color: rgba(255,255,255,.88) !important; }
.jj-prize-highlight {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 18px;
  margin: -5px 0 28px;
  padding: 23px 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, #FF7D46, var(--jj-orange-dark));
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  box-shadow: 0 25px 54px rgba(255,104,41,.26);
}
.jj-prize-highlight-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  background: rgba(255,255,255,.16);
  border: 1px solid rgba(255,255,255,.24);
}
.jj-prize-highlight-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.jj-prize-highlight small { display: block; margin-bottom: 3px; color: rgba(255,255,255,.8); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.jj-prize-highlight strong { display: block; color: #fff; font-size: clamp(24px,3vw,38px); line-height: 1; }
.jj-prize-highlight p { margin: 8px 0 0; color: rgba(255,255,255,.85); }
.jj-awards-grid article {
  background: linear-gradient(150deg, #FF7D46, var(--jj-orange-dark)) !important;
  border: 1px solid rgba(255,255,255,.20) !important;
  box-shadow: 0 21px 44px rgba(0,0,0,.16) !important;
}
.jj-awards-grid article:hover {
  background: linear-gradient(150deg, #FF8B59, #E9531D) !important;
  border-color: rgba(255,255,255,.38) !important;
}
.jj-awards-grid .jj-card-icon {
  background: rgba(255,255,255,.16) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  box-shadow: none !important;
}
.jj-awards-grid strong,
.jj-awards-grid p { color: #fff !important; }

/* Kit: cards claros, premium e sem sombra laranja. */
.jj-kit-grid article {
  color: var(--jj-ink) !important;
  background: #fff !important;
  border: 1px solid var(--jj-line) !important;
  box-shadow: 0 16px 40px rgba(39,79,107,.10) !important;
}
.jj-kit-grid article:hover {
  transform: translateY(-5px);
  border-color: rgba(57,105,139,.32) !important;
  box-shadow: 0 23px 48px rgba(39,79,107,.14) !important;
}
.jj-kit-grid .jj-card-icon {
  color: #fff !important;
  background: linear-gradient(145deg, var(--jj-blue), var(--jj-blue-dark)) !important;
  border: 0 !important;
}
.jj-kit-grid strong { color: var(--jj-blue-deep) !important; }
.jj-kit-grid p { color: var(--jj-muted) !important; opacity: 1 !important; }

/* Formulário: avisos de obrigatoriedade e campos configuráveis. */
.field-label-row,
.inscricao-page .field > label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.field-required,
.field-optional {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.field-required { color: #B73E12; background: #FFF0E8; border: 1px solid #FFD2BE; }
.field-optional { color: #526877; background: #EEF3F6; border: 1px solid #D8E2E8; }
.field.is-hidden,
.category-preview.is-hidden { display: none !important; }
.city-loading-note { margin-top: 7px; color: var(--jj-muted); font-size: 11px; }
.inscricao-page select:disabled { cursor: wait; opacity: .66; background: #F0F3F5 !important; }

/* Rodapé da inscrição igual à página oficial. */
.inscricao-footer {
  margin-top: 30px;
  background: #162F40;
  color: #fff;
  padding: 42px 0 22px;
}
.inscricao-footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 28px;
  align-items: center;
}
.inscricao-footer-brand { display: flex; align-items: center; gap: 16px; }
.inscricao-footer-brand img { width: 106px; height: 72px; object-fit: contain; }
.inscricao-footer-brand strong { display: block; font-size: 17px; }
.inscricao-footer-brand p { margin: 4px 0 0; color: rgba(255,255,255,.68); font-size: 13px; }
.inscricao-footer-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.inscricao-footer-actions a { color: #fff; }
.inscricao-footer .jj-norte-link { max-width: 310px; margin-left: auto; }
.inscricao-footer-bottom { margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.10); color: rgba(255,255,255,.55); font-size: 12px; text-align: center; }

/* Pagamento e confirmação: fluxo curto, intuitivo e com estados visuais. */
.payment-card { overflow: hidden; }
.payment-card .section-title { text-align: center; }
.payment-loader {
  width: 52px;
  height: 52px;
  margin: 8px auto 16px;
  border: 5px solid #FFE1D3;
  border-top-color: var(--jj-orange);
  border-radius: 50%;
  animation: jj-spin .9s linear infinite;
}
.payment-loader.is-done {
  display: grid;
  place-items: center;
  border: 0;
  background: var(--jj-orange);
  color: #fff;
  animation: none;
}
.payment-loader.is-done::after { content: '✓'; font-size: 28px; font-weight: 950; }
@keyframes jj-spin { to { transform: rotate(360deg); } }
.payment-steps {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}
.payment-steps .step {
  min-height: 54px;
  display: grid !important;
  place-items: center;
  text-align: center;
  border-radius: 14px !important;
  font-size: 11px !important;
  font-weight: 850;
  background: #F3F6F8 !important;
  color: #6B7A84 !important;
}
.payment-steps .step.active { color: #fff !important; background: var(--jj-orange) !important; }
.payment-steps .step.done { color: #fff !important; background: var(--jj-blue) !important; }
.inscricao-page #copyPix,
.inscricao-page .confirmed-primary-action,
.inscricao-page #successHomeBtn {
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  color: #fff !important;
  border: 0 !important;
}
.success-modal-card { text-align: center; }
.success-check-icon {
  width: 82px;
  height: 82px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, var(--jj-orange), var(--jj-orange-dark));
  box-shadow: 0 20px 42px rgba(255,104,41,.28);
}
.success-check-icon svg { width: 42px; height: 42px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.success-status-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 20px 0; }
.success-status-pill {
  padding: 14px;
  border-radius: 16px;
  background: var(--jj-orange-soft);
  border: 1px solid #FFD2BE;
  color: var(--jj-orange-dark);
  font-weight: 900;
}
.success-bib-box { margin: 15px 0; padding: 18px; border-radius: 18px; background: var(--jj-blue-soft); color: var(--jj-blue-deep); }
.success-bib-box strong { display: block; font-size: 36px; letter-spacing: .08em; }
.success-modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.confirmed-success-box {
  color: #fff !important;
  background: linear-gradient(135deg, var(--jj-orange), var(--jj-orange-dark)) !important;
  border: 0 !important;
}
.confirmed-card .badge.ok,
.result-card .badge.ok { color: #fff !important; background: var(--jj-orange) !important; border-color: var(--jj-orange) !important; }

/* Painel: interruptores dos campos públicos. */
.admin-config-card { max-width: 900px; }
.admin-config-list { display: grid; gap: 12px; }
.admin-switch-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 17px 18px;
  border-radius: 17px;
  background: #F7F9FA;
  border: 1px solid #DCE5EA;
}
.admin-switch-row span { display: grid; gap: 4px; }
.admin-switch-row strong { color: #19384D; }
.admin-switch-row small { color: #6C7B84; line-height: 1.4; }
.admin-switch-row input[type='checkbox'] {
  width: 48px;
  height: 26px;
  flex: 0 0 auto;
  appearance: none;
  border-radius: 999px;
  background: #C8D3D9;
  position: relative;
  cursor: pointer;
  transition: .25s ease;
}
.admin-switch-row input[type='checkbox']::after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 3px 8px rgba(0,0,0,.18);
  transition: .25s ease;
}
.admin-switch-row input[type='checkbox']:checked { background: var(--jj-orange); }
.admin-switch-row input[type='checkbox']:checked::after { transform: translateX(22px); }
.admin-switch-row.disabled { opacity: .5; }
.config-save-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #E0E8EC; }
.config-save-bar p { color: #687984; margin: 0; }

@media (max-width: 760px) {
  .jj-hero-badges { justify-content: center; }
  .jj-prize-highlight { grid-template-columns: 1fr; text-align: center; }
  .jj-prize-highlight-icon { margin: 0 auto; }
  .inscricao-footer-grid { grid-template-columns: 1fr; text-align: center; }
  .inscricao-footer-brand { flex-direction: column; }
  .inscricao-footer-actions { justify-content: center; }
  .inscricao-footer .jj-norte-link { margin: 0 auto; }
  .success-status-grid,
  .success-modal-actions { grid-template-columns: 1fr; }
  .admin-switch-row { align-items: flex-start; }
  .config-save-bar { align-items: stretch; flex-direction: column; }
}

/* Legibilidade reforçada nos textos auxiliares da ficha e dos modais. */
.inscricao-page .inscricao-intro p,
.inscricao-page .section-title p,
.inscricao-page .regulation-accept-box p,
.inscricao-page .payment-helper,
.inscricao-page .success-modal-card .section-title p {
  color: #667783 !important;
  opacity: 1 !important;
}
.inscricao-page .compact-title > p { color: #6B7A84 !important; }

/* =====================================================================
   V5 — CRONÔMETRO, CATEGORIAS, PIX COMPACTO, CONSULTA E FINANCEIRO
   ===================================================================== */
.jj-countdown-card {
  width: min(100%, 620px);
  margin-top: 26px;
  padding: 18px 20px 16px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,104,41,.42), transparent 34%),
    linear-gradient(145deg, rgba(26,65,91,.96), rgba(10,38,57,.98));
  box-shadow: 0 22px 55px rgba(4,25,39,.28), 0 0 34px rgba(255,104,41,.14);
  color: #fff;
  overflow: hidden;
  position: relative;
}
.jj-countdown-card::after {
  content: '';
  position: absolute;
  inset: -70% -20%;
  background: linear-gradient(110deg, transparent 38%, rgba(255,255,255,.18) 49%, transparent 60%);
  transform: translateX(-60%);
  animation: jjCountdownShine 5s ease-in-out infinite;
  pointer-events: none;
}
@keyframes jjCountdownShine { 0%,60%{transform:translateX(-62%)} 85%,100%{transform:translateX(62%)} }
.jj-countdown-card > span { display:block; font-size:11px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72); margin-bottom:12px; }
.jj-countdown-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; position:relative; z-index:1; }
.jj-countdown-grid > div { min-width:0; padding:11px 7px; border-radius:16px; text-align:center; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.13); backdrop-filter:blur(8px); }
.jj-countdown-grid strong { display:block; font-size:clamp(24px,4vw,38px); line-height:1; letter-spacing:.03em; color:#fff; text-shadow:0 0 22px rgba(255,104,41,.42); font-variant-numeric:tabular-nums; }
.jj-countdown-grid small { display:block; margin-top:7px; font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.jj-countdown-date { display:block; margin-top:11px; color:rgba(255,255,255,.68); font-weight:800; font-size:11px; position:relative; z-index:1; }

.field-pcd { margin-top: 2px; }
.pcd-check-row { display:flex !important; align-items:center; gap:13px; padding:15px 16px; border:1px solid #D8E3E9; border-radius:17px; background:#F8FAFB; cursor:pointer; }
.pcd-check-row input { width:22px !important; height:22px !important; min-width:22px; accent-color:var(--jj-orange); }
.pcd-check-row span { display:grid; gap:3px; }
.pcd-check-row strong { color:var(--jj-blue-deep); }
.pcd-check-row small { color:#71818C; font-weight:600; }

.modal .payment-card {
  width: min(470px, calc(100vw - 22px));
  max-height: min(88dvh, 720px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: 22px;
  scrollbar-width: thin;
  scrollbar-color: rgba(57,105,139,.35) transparent;
}
.payment-card .section-title h2 { font-size:clamp(24px,5vw,32px); }
.payment-card .section-title p { font-size:13px; margin-bottom:8px; }
.payment-card .payment-steps { margin:8px 0 10px; }
.payment-card .status-pill { margin-bottom:10px; }
.payment-card .qr-box { padding:10px; margin:10px auto; max-width:250px; border-radius:19px; background:#fff; }
.payment-card .qr-box img { width:min(220px,100%); }
.payment-card .copy-box { max-height:70px; font-size:11px; line-height:1.45; }
.pix-receiver-card { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:8px 0 10px; padding:11px 13px; border-radius:14px; background:var(--jj-blue-soft); border:1px solid rgba(57,105,139,.18); }
.pix-receiver-card small { color:#687985; font-weight:800; }
.pix-receiver-card strong { color:var(--jj-blue-deep); text-align:right; font-size:13px; }
.pix-price-summary { display:grid; gap:0; margin:8px 0 11px; border:1px solid #DFE7EB; border-radius:16px; overflow:hidden; background:#fff; }
.pix-price-summary > div { display:flex; justify-content:space-between; gap:12px; padding:8px 12px; border-bottom:1px solid #EDF1F3; font-size:12px; }
.pix-price-summary > div:last-child { border-bottom:0; }
.pix-price-summary span { color:#687984; }
.pix-price-summary strong { color:#213D4F; }
.pix-price-summary .total { background:var(--jj-orange-soft); padding:11px 12px; }
.pix-price-summary .total span,.pix-price-summary .total strong { color:var(--jj-orange-dark); font-weight:950; }

.jj-awards-actions { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin:18px 0 22px; }
.jj-awards-open { background:#fff; color:var(--jj-orange-dark); border:0; box-shadow:0 14px 34px rgba(108,38,7,.20); }
.jj-awards-open:hover { transform:translateY(-2px); }
.jj-awards-actions > span { color:rgba(255,255,255,.78); font-weight:800; font-size:12px; }
.jj-awards-modal { align-items:flex-start; overflow-y:auto; padding:18px 10px; }
.jj-awards-modal-card { width:min(980px,100%); max-height:none; margin:auto; }
.jj-category-pills { display:flex; flex-wrap:wrap; gap:7px; margin:12px 0 17px; }
.jj-category-pills span { padding:7px 10px; border-radius:999px; background:var(--jj-orange-soft); color:var(--jj-orange-dark); font-size:11px; font-weight:850; }
.jj-awards-table-wrap { overflow:auto; border:1px solid #E0E7EA; border-radius:18px; margin-bottom:16px; }
.jj-awards-table { min-width:760px; }
.jj-awards-table th,.jj-awards-table td { padding:11px 12px; white-space:nowrap; }
.jj-awards-table thead th { background:var(--jj-blue-deep); color:#fff; }
.jj-awards-table tbody tr:nth-child(even) { background:#F7F9FA; }
.jj-awards-table tbody td:first-child { font-weight:850; color:#203E52; }
.jj-awards-table tfoot th { background:var(--jj-orange); color:#fff; }

.consulta-section { min-height:calc(100vh - 80px); background:radial-gradient(circle at 8% 10%, rgba(255,104,41,.13), transparent 30%), linear-gradient(180deg,#F4F8FA,#EAF1F5); padding:54px 0 70px; }
.consulta-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); gap:24px; align-items:start; }
.consulta-card { width:100%; max-width:none; background:#fff !important; color:#1F3849 !important; }
.consulta-card .section-title h2,.consulta-card .section-title p,.consulta-card label { color:#1F3849 !important; opacity:1 !important; }
.consulta-card .section-title p { color:#6A7982 !important; }
.consulta-hero-icon { width:54px; height:54px; border-radius:17px; display:grid; place-items:center; color:#fff; background:linear-gradient(145deg,var(--jj-orange),var(--jj-orange-dark)); box-shadow:0 14px 30px rgba(255,104,41,.24); margin-bottom:13px; }
.consulta-hero-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.consulta-page .result-card { background:#fff !important; border:1px solid #DCE6EB !important; color:#203D50 !important; box-shadow:0 16px 35px rgba(24,58,80,.08); }
.consulta-page .result-card h3,.consulta-page .result-row span:last-child { color:#203D50 !important; opacity:1 !important; }
.consulta-page .result-row span:first-child { color:#6A7B86 !important; opacity:1 !important; }
.consulta-page .result-row { border-bottom-color:#E7EDF0 !important; }
.consulta-side-card { padding:24px; border-radius:26px; background:linear-gradient(155deg,#173D55,#0E2839); color:#fff; box-shadow:0 25px 60px rgba(12,43,64,.22); position:sticky; top:95px; }
.consulta-side-card img { display:block; width:min(220px,80%); max-height:135px; object-fit:contain; margin:0 auto 16px; }
.consulta-side-card > small { color:#FFB18E; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.consulta-side-card h3 { color:#fff; font-size:25px; margin:7px 0; }
.consulta-side-card p { color:rgba(255,255,255,.68); }
.event-progress { margin-top:26px; }
.event-progress-track { height:9px; border-radius:999px; background:rgba(255,255,255,.16); position:relative; }
.event-progress-track > span:first-child { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--jj-orange),#FF9A6E); transition:width .8s ease; }
.event-progress-runner { position:absolute; top:50%; left:0; width:38px; height:38px; transform:translate(-50%,-50%); border-radius:50%; display:grid; place-items:center; color:#fff; background:var(--jj-orange); border:3px solid #fff; box-shadow:0 8px 18px rgba(0,0,0,.2); transition:left .8s ease; }
.event-progress-runner svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.event-progress-label { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:20px; color:rgba(255,255,255,.62); font-size:10px; font-weight:800; text-transform:uppercase; }
.event-progress-label strong { color:#fff; }

.finance-metrics { grid-template-columns:repeat(3,1fr); margin-bottom:20px; }
.finance-metrics .metric b { font-size:clamp(22px,3vw,32px); }
.finance-admin-grid { display:grid; grid-template-columns:minmax(320px,460px) 1fr; gap:20px; align-items:start; }
.finance-config-card h3,.finance-calculator-card h3 { color:#1F3D50; margin-bottom:16px; }
.finance-calculator-card { border-radius:26px; padding:27px; color:#fff; background:linear-gradient(150deg,#173D55,#0D2636); box-shadow:0 22px 55px rgba(10,41,61,.22); }
.finance-calculator-card > small { color:#FFB18E; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.finance-calculator-card h3 { color:#fff; font-size:28px; margin:8px 0 18px; }
.finance-calculator-card > p { color:rgba(255,255,255,.65); font-size:12px; margin-top:16px; }
.finance-breakdown { display:grid; gap:0; border:1px solid rgba(255,255,255,.12); border-radius:18px; overflow:hidden; }
.finance-breakdown > div { display:flex; justify-content:space-between; gap:16px; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.1); }
.finance-breakdown > div:last-child { border-bottom:0; }
.finance-breakdown span { color:rgba(255,255,255,.66); }
.finance-breakdown strong { color:#fff; }
.finance-breakdown .total { background:var(--jj-orange); font-size:17px; }
.finance-breakdown .total span,.finance-breakdown .total strong { color:#fff; font-weight:950; }

@media (max-width: 900px) {
  .consulta-layout,.finance-admin-grid { grid-template-columns:1fr; }
  .consulta-side-card { position:static; }
  .finance-metrics { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .jj-countdown-card { padding:15px 13px 13px; border-radius:20px; }
  .jj-countdown-grid { gap:6px; }
  .jj-countdown-grid > div { padding:10px 3px; border-radius:13px; }
  .jj-countdown-grid strong { font-size:25px; }
  .modal { align-items:flex-start; overflow-y:auto; padding:10px 0; }
  .modal .payment-card { margin:auto; max-height:calc(100dvh - 20px); padding:17px; border-radius:22px; }
  .payment-card .section-title { padding-right:32px; }
  .payment-card .section-title h2 { font-size:24px; }
  .payment-card .qr-box { max-width:205px; }
  .payment-card .qr-box img { width:185px; }
  .payment-card .payment-steps { grid-template-columns:1fr; }
  .payment-card .step { padding:7px 9px; }
  .pix-price-summary > div { padding:7px 10px; }
  .consulta-section { padding:24px 0 48px; }
  .consulta-side-card { padding:20px; border-radius:22px; }
  .finance-metrics { grid-template-columns:1fr; }
  .jj-awards-modal-card { padding:18px; }
}


/* ================= V6 — pendências, upload, percursos e guia de peito ================= */
.auto-route-note{margin-top:8px;font-size:12px;color:#60758b;font-weight:700}
#percurso[readonly]{background:#edf5fb;border-color:rgba(57,105,139,.28);color:#39698b;font-weight:900}
.jj-races-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.jj-race-adolescent{background:linear-gradient(145deg,#fff,#edf5fb);border-color:rgba(57,105,139,.25)}
.menu-count{margin-left:auto;min-width:24px;height:24px;border-radius:999px;background:#ff6829;color:#fff;display:inline-grid;place-items:center;font-size:11px;font-weight:900;padding:0 6px}
.pending-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.pending-toolbar>span{color:#60758b;font-size:13px}
.pending-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.pending-card{background:#fff;border:1px solid #dbe5ee;border-radius:22px;padding:20px;box-shadow:0 18px 40px -30px rgba(11,63,115,.5)}
.pending-card.contacted{border-color:rgba(57,105,139,.45);background:linear-gradient(145deg,#fff,#f1f7fb)}
.pending-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.pending-card-head small{color:#ff6829;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.pending-card-head h3{margin:5px 0 0;color:#17364e}
.pending-meta{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.pending-meta span{background:#eef4f8;color:#39698b;padding:6px 9px;border-radius:999px;font-size:12px;font-weight:800}
.pending-message-preview{background:#f7f9fb;border:1px solid #e1e8ee;border-radius:14px;padding:12px;color:#526877;font-size:13px;line-height:1.55;white-space:pre-wrap}
.pending-contact-status{display:block;margin-top:10px;color:#718397}.pending-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.pending-actions .btn{flex:1}
.pending-empty{grid-column:1/-1;padding:38px;text-align:center;background:#fff;border:1px dashed #c9d5df;border-radius:20px;display:grid;gap:5px;color:#60758b}.pending-empty strong{color:#17364e;font-size:20px}
.notification-config-card{margin-top:18px}.notification-config-card textarea{min-height:110px}
.banner-dimension-guide{display:grid;gap:3px;background:#edf5fb;border:1px solid rgba(57,105,139,.25);border-radius:14px;padding:13px;margin-bottom:14px}.banner-dimension-guide strong{color:#39698b}.banner-dimension-guide span{font-size:12px;color:#526877;line-height:1.5}
.banner-upload-actions span{display:block;margin-top:7px;font-size:12px;color:#60758b}.banner-preview{min-height:130px;border:1px dashed #bccad6;border-radius:16px;display:grid;place-items:center;overflow:hidden;background:#f8fafc;margin-bottom:15px;color:#718397}.banner-preview img{max-width:100%;max-height:220px;object-fit:contain}
.bib-design-guide{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#edf5fb,#fff);border:1px solid rgba(57,105,139,.25);border-radius:20px;padding:20px;margin-bottom:20px}.bib-design-guide p{margin:5px 0;color:#526877;line-height:1.5}.bib-design-guide .btn{flex:none}
@media(max-width:820px){.jj-races-grid-three,.pending-grid{grid-template-columns:1fr}.bib-design-guide{align-items:flex-start;flex-direction:column}.pending-actions .btn{width:100%;flex-basis:100%}}

.whatsapp-optin-field{margin-top:-2px}.whatsapp-optin-field .pcd-check-row{background:#f7fafc;border-color:#dbe5ee}


/* ========================================================================== */
/* V7 — limpeza pública, modal de premiação e inscrição                       */
/* ========================================================================== */

/* Remove o indicador visual/nativo de rolagem no PC e no celular, mantendo a rolagem. */
html, body { scrollbar-width:none !important; -ms-overflow-style:none !important; }
html::-webkit-scrollbar, body::-webkit-scrollbar { width:0 !important; height:0 !important; display:none !important; }

/* Modalidades em carrossel automático horizontal no mobile. */
@media (max-width: 820px) {
  .jj-modalities-carousel {
    display:flex !important;
    grid-template-columns:none !important;
    gap:14px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    padding:5px 18px 18px 0;
    margin-right:-18px;
  }
  .jj-modalities-carousel::-webkit-scrollbar { display:none; }
  .jj-modalities-carousel .jj-race-card {
    flex:0 0 min(82vw, 330px) !important;
    width:min(82vw, 330px) !important;
    min-height:300px;
    scroll-snap-align:start;
  }
}

/* Ações da premiação centralizadas. */
.jj-awards-actions { flex-direction:column; text-align:center; }
.jj-awards-actions > span { order:0; font-size:13px; }
.jj-awards-open { order:1; min-width:min(100%,330px); justify-content:center; }

/* Modal de premiação claro e organizado na identidade oficial. */
.jj-awards-modal { background:rgba(10,31,45,.78) !important; backdrop-filter:blur(9px); }
.jj-awards-modal-card {
  background:linear-gradient(180deg,#FFFFFF 0%,#F5F8FA 100%) !important;
  color:var(--jj-blue-deep) !important;
  border:1px solid rgba(255,255,255,.65) !important;
  box-shadow:0 34px 90px rgba(3,25,39,.38) !important;
  max-height:calc(100dvh - 28px) !important;
  overflow-y:auto !important;
}
.jj-awards-modal-card .section-title small { color:var(--jj-orange) !important; }
.jj-awards-modal-card .section-title h2 { color:var(--jj-blue-deep) !important; }
.jj-awards-modal-card .section-title p { color:#647682 !important; }
.jj-awards-modal-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:16px 0 20px; }
.jj-awards-modal-summary > div { padding:16px; border-radius:18px; background:linear-gradient(145deg,var(--jj-blue-deep),var(--jj-blue)); color:#fff; text-align:center; }
.jj-awards-modal-summary small { display:block; color:rgba(255,255,255,.7); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.jj-awards-modal-summary strong { display:block; margin-top:5px; color:#fff; font-size:clamp(20px,3vw,28px); }
.jj-awards-category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.jj-awards-category-grid article { overflow:hidden; border-radius:19px; background:#fff; border:1px solid #DEE7EC; box-shadow:0 13px 35px rgba(21,57,80,.07); }
.jj-awards-category-grid header { padding:13px 14px; background:linear-gradient(135deg,var(--jj-orange),#FF8A58); color:#fff; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.jj-awards-category-grid header strong { color:#fff; font-size:15px; }
.jj-awards-category-grid header span { color:rgba(255,255,255,.82); font-size:10px; font-weight:850; }
.jj-awards-category-grid article > div { display:flex; align-items:center; justify-content:space-between; padding:9px 14px; border-bottom:1px solid #EDF1F3; }
.jj-awards-category-grid article > div b { width:34px; height:26px; display:grid; place-items:center; border-radius:9px; color:var(--jj-blue-deep); background:var(--jj-blue-soft); }
.jj-awards-category-grid article > div span { color:#243F51; font-weight:900; }
.jj-awards-category-grid footer { padding:11px 14px; text-align:right; color:var(--jj-orange-dark); font-weight:950; background:var(--jj-orange-soft); }
.jj-awards-total-row { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:16px 0; padding:16px 18px; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--jj-blue-deep),var(--jj-blue)); }
.jj-awards-total-row span { font-weight:850; text-transform:uppercase; letter-spacing:.08em; font-size:11px; }
.jj-awards-total-row strong { color:#fff; font-size:24px; }
@media (max-width:680px) {
  .jj-awards-modal { padding:8px !important; }
  .jj-awards-modal-card { padding:18px 14px !important; border-radius:23px !important; }
  .jj-awards-modal-summary { grid-template-columns:1fr 1fr; }
  .jj-awards-modal-summary > div:first-child { grid-column:1/-1; }
  .jj-awards-category-grid { grid-template-columns:1fr; }
}

/* Impede qualquer sobreposição entre a logo e o texto da ficha no desktop. */
.inscricao-page .inscricao-intro {
  display:grid !important;
  grid-template-columns:minmax(150px,210px) minmax(0,1fr) !important;
  align-items:center !important;
  gap:28px !important;
  overflow:hidden;
}
.inscricao-page .inscricao-intro img {
  display:block !important;
  width:100% !important;
  max-width:205px !important;
  height:auto !important;
  max-height:165px !important;
  object-fit:contain !important;
  justify-self:center;
}
.inscricao-page .inscricao-intro > div { min-width:0; position:relative; z-index:1; }
.inscricao-page .inscricao-intro h1 { font-size:clamp(28px,4vw,48px) !important; line-height:1.02 !important; overflow-wrap:anywhere; }
.whatsapp-optin-field .field-required { display:inline-flex; margin-left:7px; vertical-align:middle; }
@media (max-width:720px) {
  .inscricao-page .inscricao-intro { grid-template-columns:1fr !important; gap:10px !important; text-align:center; }
  .inscricao-page .inscricao-intro img { max-width:220px !important; max-height:160px !important; }
}


/* ========================================================================== */
/* V9 — movimento da marca, modalidades sem sombra, mapa e retorno do Pix     */
/* ========================================================================== */

/* Movimento leve somente na marca principal ao lado da data do evento. */
.jj-hero-logo-card > img {
  animation: jjLogoFloat 5.8s ease-in-out infinite;
  transform-origin: 50% 58%;
  will-change: transform;
}
@keyframes jjLogoFloat {
  0%, 100% { transform: translate3d(0,0,0) rotate(0deg); }
  50% { transform: translate3d(0,-7px,0) rotate(-.7deg); }
}
@media (prefers-reduced-motion: reduce) {
  .jj-hero-logo-card > img { animation:none !important; }
}

/* Modalidades: remove a sombra que era cortada/duplicada no carrossel. */
#modalidades .jj-race-card,
#modalidades .jj-race-card:hover {
  box-shadow:none !important;
  filter:none !important;
}
#modalidades .jj-race-card:hover { transform:none !important; }
#modalidades .jj-race-card:first-child {
  background:#fff !important;
  border:1px solid var(--jj-line) !important;
}
#modalidades .jj-race-adolescent {
  background:linear-gradient(145deg,var(--jj-blue),var(--jj-blue-deep)) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
}
#modalidades .jj-race-adolescent .jj-race-number,
#modalidades .jj-race-adolescent .jj-race-number span,
#modalidades .jj-race-adolescent h3,
#modalidades .jj-race-adolescent a { color:#fff !important; }
#modalidades .jj-race-adolescent small { color:rgba(255,255,255,.78) !important; }
#modalidades .jj-race-adolescent p { color:rgba(255,255,255,.74) !important; }
@media (max-width:820px) {
  .jj-modalities-carousel {
    scroll-behavior:auto !important;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    padding-top:2px !important;
  }
}

/* Mapa do percurso enviado pelo painel. */
.jj-route-map { isolation:isolate; }
.jj-route-image-slot {
  display:none;
  position:absolute;
  inset:0;
  z-index:0;
}
.jj-route-image-slot.has-banner { display:block; }
.jj-route-image-slot .banner-link,
.jj-route-image-slot img {
  display:block;
  width:100%;
  height:100%;
}
.jj-route-image-slot img { object-fit:cover; }
.jj-route-map.has-route-image::before {
  opacity:1;
  z-index:1;
  background:linear-gradient(180deg,rgba(5,28,45,.05) 25%,rgba(5,28,45,.88) 100%);
}
.jj-route-map.has-route-image .jj-route-fallback { display:none; }
.jj-route-caption { position:relative; z-index:2; }
.jj-route-caption strong { display:block; }
.jj-route-caption p { margin-top:7px; color:rgba(255,255,255,.76); line-height:1.5; }

/* Verificação manual e automática ao voltar do aplicativo bancário. */
.payment-check-now { border-color:rgba(57,105,139,.34) !important; color:var(--jj-blue-deep) !important; }
.payment-check-now:disabled { opacity:.7; cursor:wait; }


/* ========================================================================== */
/* V10 — mapa oficial animado, rota brilhante e visualização ampliada         */
/* ========================================================================== */

#percurso.jj-route-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 14%, rgba(255,104,41,.09), transparent 32%),
    linear-gradient(180deg, #f7fafc 0%, #ffffff 100%);
}
#percurso.jj-route-section::before {
  content: '';
  position: absolute;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  right: -180px;
  bottom: -210px;
  background: rgba(57,105,139,.07);
  pointer-events: none;
}
#percurso .jj-route-grid {
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
  gap: 44px;
  align-items: center;
}
#percurso .jj-route-card {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 0;
  aspect-ratio: 2048 / 1300;
  border-radius: 28px;
  overflow: hidden;
  background: #102f43 !important;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 28px 70px rgba(18,48,68,.24);
}
#percurso .jj-route-card::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 1 !important;
  background:
    linear-gradient(180deg, rgba(4,20,31,.10) 0%, rgba(4,20,31,0) 54%, rgba(4,20,31,.88) 100%) !important;
  pointer-events: none;
}
#percurso .jj-route-image-slot,
#percurso .jj-route-image-slot.has-banner {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 0;
}
#percurso .jj-route-image-slot img,
#percurso .jj-route-image-slot .banner-link {
  width: 100%;
  height: 100%;
  display: block;
}
#percurso .jj-route-image-slot img {
  object-fit: cover;
  object-position: center;
  filter: saturate(.96) contrast(1.04) brightness(.94);
}
.jj-route-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.jj-route-track-outline,
.jj-route-track-glow,
.jj-route-motion-path,
.jj-route-track-shimmer {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.jj-route-track-outline {
  stroke: rgba(10,34,49,.88);
  stroke-width: 22;
}
.jj-route-track-glow {
  stroke: rgba(255,104,41,.68);
  stroke-width: 30;
}
.jj-route-motion-path {
  stroke: #ff6829;
  stroke-width: 11;
}
.jj-route-track-shimmer {
  stroke: rgba(255,241,232,.92);
  stroke-width: 3.4;
  stroke-dasharray: 20 22;
  animation: jjRouteShimmer 2.8s linear infinite;
}
@keyframes jjRouteShimmer { to { stroke-dashoffset: -84; } }
.jj-route-start-wave {
  fill: rgba(255,104,41,.22);
  stroke: rgba(255,255,255,.82);
  stroke-width: 3;
  animation: jjRouteStartPulse 2.2s ease-out infinite;
  transform-box: fill-box;
  transform-origin: center;
}
.jj-route-start-core { fill: #ff6829; stroke: #fff; stroke-width: 5; }
.jj-route-start path { fill: none; stroke: #fff; stroke-width: 5; stroke-linecap: round; }
@keyframes jjRouteStartPulse {
  0% { transform: scale(.55); opacity: .95; }
  75%,100% { transform: scale(1.55); opacity: 0; }
}
.jj-route-runner-badge {
  transform-box: fill-box;
  transform-origin: center;
  animation: jjRunnerBounce .62s ease-in-out infinite alternate;
}
@keyframes jjRunnerBounce { to { transform: translateY(-6px) rotate(-2deg); } }
.jj-runner-ring { fill: rgba(255,255,255,.96); stroke: #ff6829; stroke-width: 7; }
.jj-runner-bg { fill: #39698b; stroke: rgba(255,255,255,.8); stroke-width: 2; }
.jj-runner-figure { fill: none; stroke: #fff; stroke-width: 2.1; stroke-linecap: round; stroke-linejoin: round; }
.jj-runner-figure circle { fill: #ff9a69; stroke: #fff; stroke-width: 1.2; }
.jj-route-topbar {
  position: absolute;
  inset: 18px 18px auto 18px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.jj-route-topbar > span,
.jj-route-expand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255,255,255,.42);
  background: rgba(9,35,52,.76);
  color: #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 28px rgba(0,0,0,.2);
}
.jj-route-topbar > span {
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.jj-route-topbar > span i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff6829;
  box-shadow: 0 0 0 6px rgba(255,104,41,.17);
}
.jj-route-expand {
  min-height: 42px;
  padding: 8px 13px;
  border-radius: 12px;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease;
}
.jj-route-expand:hover { transform: translateY(-2px); background: rgba(255,104,41,.94); }
.jj-route-expand svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
#percurso .jj-route-caption {
  position: absolute;
  inset: auto 20px 18px 20px;
  z-index: 4;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  color: #fff;
}
#percurso .jj-route-caption > div:first-child { max-width: 55%; }
#percurso .jj-route-caption strong { font-size: clamp(17px,2vw,24px); }
#percurso .jj-route-caption p { margin: 5px 0 0; color: rgba(255,255,255,.74); font-size: 13px; line-height: 1.45; }
.jj-route-controls {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.jj-route-controls button {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 10px;
  background: rgba(255,255,255,.12);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.jj-route-controls button:hover { transform: translateY(-1px); border-color: rgba(255,255,255,.6); }
.jj-route-controls button.is-active { background: #ff6829; border-color: #ff6829; }
.jj-route-controls .jj-route-pause { display: inline-flex; align-items: center; gap: 6px; }
.jj-route-pause svg { width: 15px; height: 15px; fill: currentColor; }
.jj-route-pause .play-shape { display: none; }
.jj-route-pause.is-paused .pause-shape { display: none; }
.jj-route-pause.is-paused .play-shape { display: block; }
.jj-route-copy > p { color: #526675; line-height: 1.75; }
.jj-route-copy-open { margin-top: 19px; }

/* Modal do percurso */
.jj-route-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 18px;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.jj-route-modal.is-open { opacity: 1; visibility: visible; }
.jj-route-modal-backdrop { position: absolute; inset: 0; background: rgba(4,18,28,.86); backdrop-filter: blur(8px); }
.jj-route-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1500px, 96vw);
  max-height: 94vh;
  overflow: auto;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 24px;
  background: #102f43;
  box-shadow: 0 40px 120px rgba(0,0,0,.55);
  transform: translateY(18px) scale(.985);
  transition: transform .25s ease;
}
.jj-route-modal.is-open .jj-route-modal-dialog { transform: none; }
.jj-route-modal-head,
.jj-route-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 20px;
  color: #fff;
}
.jj-route-modal-head small { color: #ff9a69; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.jj-route-modal-head h2 { margin: 3px 0 0; font-size: clamp(20px,3vw,32px); }
.jj-route-modal-close {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 13px;
  background: rgba(255,255,255,.1);
  color: #fff;
  cursor: pointer;
  font-size: 30px;
  line-height: 1;
}
.jj-route-modal-map { position: relative; aspect-ratio: 2048 / 1300; overflow: hidden; background: #071d2b; }
.jj-route-modal-map::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); }
.jj-route-modal-map > img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.98) contrast(1.05) brightness(.95); }
.jj-route-modal-footer p { margin: 0; color: rgba(255,255,255,.75); }
.jj-route-modal-footer strong { color: #fff; }
body.jj-route-modal-open { overflow: hidden; }

@media (max-width: 980px) {
  #percurso .jj-route-grid { grid-template-columns: 1fr; gap: 30px; }
  #percurso .jj-route-copy { max-width: 720px; }
}
@media (max-width: 720px) {
  #percurso .jj-route-card { border-radius: 20px; box-shadow: 0 20px 48px rgba(18,48,68,.22); }
  .jj-route-topbar { inset: 10px 10px auto 10px; }
  .jj-route-topbar > span { padding: 8px 10px; font-size: 10px; }
  .jj-route-expand { min-height: 36px; padding: 7px 9px; font-size: 11px; }
  .jj-route-expand svg { width: 15px; height: 15px; }
  #percurso .jj-route-caption { inset: auto 10px 9px 10px; display: block; }
  #percurso .jj-route-caption > div:first-child { display: none; }
  #percurso .jj-route-caption .jj-route-controls { justify-content: center; }
  .jj-route-controls button { min-height: 31px; padding: 5px 8px; font-size: 10px; border-radius: 8px; }
  .jj-route-modal { padding: 7px; }
  .jj-route-modal-dialog { width: 100%; border-radius: 18px; }
  .jj-route-modal-head, .jj-route-modal-footer { padding: 12px; }
  .jj-route-modal-footer { display: block; }
  .jj-route-modal-footer p { margin-bottom: 10px; font-size: 12px; }
  .jj-route-modal-footer .jj-route-controls { justify-content: center; }
  .jj-route-runner-badge { transform: scale(1.25); }
}
@media (prefers-reduced-motion: reduce) {
  .jj-route-track-shimmer,
  .jj-route-start-wave,
  .jj-route-runner-badge { animation: none !important; }
}

/* =========================================================
   V11 — Painel administrativo profissional
   ========================================================= */
body.admin-light {
  --admin-blue: #39698b;
  --admin-blue-dark: #19384d;
  --admin-blue-soft: #edf5fa;
  --admin-orange: #ff6829;
  --admin-orange-dark: #d94e15;
  --admin-text: #142b3b;
  --admin-muted: #627887;
  --admin-line: #dce7ee;
  --admin-bg: #f3f7f9;
  background: var(--admin-bg) !important;
}
body.admin-light .admin-shell {
  grid-template-columns: 286px minmax(0, 1fr) !important;
  min-height: 100vh;
}
body.admin-light .sidebar {
  position: sticky !important;
  top: 0;
  height: 100vh !important;
  padding: 20px 16px !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: linear-gradient(180deg, #102f43 0%, #193f58 100%) !important;
  border-right: 0 !important;
  box-shadow: 10px 0 35px rgba(15, 42, 59, .12) !important;
}
body.admin-light .sidebar-head { flex: 0 0 auto; padding: 4px 6px 14px; }
body.admin-light .sidebar .brand { margin: 0 !important; color: #fff !important; }
body.admin-light .sidebar .brand > span:last-child,
body.admin-light .sidebar .brand small { color: #fff !important; }
body.admin-light .sidebar .brand small { opacity: .62; }
body.admin-light .menu {
  flex: 1 1 auto;
  min-height: 0;
  display: flex !important;
  flex-direction: column;
  gap: 7px !important;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 4px 4px 12px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.25) transparent;
}
body.admin-light .menu button {
  flex: 0 0 auto;
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 13px !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.07) !important;
  color: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: none !important;
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}
body.admin-light .menu button:hover {
  transform: translateX(3px);
  background: rgba(255,255,255,.13) !important;
  border-color: rgba(255,255,255,.18) !important;
}
body.admin-light .menu button.active {
  background: linear-gradient(135deg, var(--admin-orange), var(--admin-orange-dark)) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(255,104,41,.22) !important;
}
body.admin-light .sidebar-footer {
  flex: 0 0 auto;
  padding: 13px 4px 2px;
  border-top: 1px solid rgba(255,255,255,.12);
  display: grid;
  gap: 8px;
  background: transparent;
}
.sidebar-site-link,
.admin-logout-btn {
  min-height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 12px;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
}
.sidebar-site-link { color: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.07); }
.admin-logout-btn {
  border: 1px solid rgba(255,154,105,.5);
  color: #fff;
  background: linear-gradient(135deg, rgba(255,104,41,.9), rgba(217,78,21,.95));
  box-shadow: 0 9px 20px rgba(255,104,41,.18);
}
.admin-logout-btn:hover, .sidebar-site-link:hover { transform: translateY(-1px); filter: brightness(1.05); }
body.admin-light .admin-main { min-width: 0; padding: 30px clamp(18px, 3vw, 42px) 60px !important; }
body.admin-light .section-title { margin-bottom: 20px; }
body.admin-light .section-title h2 { color: var(--admin-text) !important; }
body.admin-light .section-title > small { color: var(--admin-orange) !important; }
body.admin-light .cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.admin-light .metric { min-width: 0; border-radius: 18px !important; padding: 17px !important; }
body.admin-light .metric b { font-size: clamp(24px, 2.3vw, 34px) !important; overflow-wrap: anywhere; }
.metric-icon-card { position: relative; overflow: hidden; }
.metric-icon-card > span { position: absolute; right: 14px; top: 12px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: var(--admin-blue-soft); color: var(--admin-blue); font-weight: 950; }
.admin-panel-card {
  background: #fff;
  border: 1px solid var(--admin-line);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 16px 38px rgba(20,55,77,.07);
}
.admin-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.admin-panel-head small { color: var(--admin-orange) !important; text-transform: uppercase; letter-spacing: .08em; font-weight: 900; }
.admin-panel-head h3 { margin: 4px 0 0; color: var(--admin-text); font-size: 21px; }
.admin-panel-head p { margin: 5px 0 0; color: var(--admin-muted); }
.live-pill, .calc-rule-badge { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 10px; border-radius: 999px; background: var(--admin-blue-soft); color: var(--admin-blue); font-size: 11px; font-weight: 900; white-space: nowrap; }
.calc-rule-badge.is-percent { background: #fff1e9; color: var(--admin-orange-dark); }

/* Dashboard */
.dashboard-insights-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 16px; margin-top: 16px; }
.dashboard-insights-grid .admin-summary { min-width: 0; }
.dashboard-insights-grid .result-card { margin: 0; height: 100%; border-radius: 22px !important; }
.dashboard-route-card .admin-panel-head b { color: var(--admin-blue); font-size: 30px; }
.finance-chart-card { min-height: 370px; }
.finance-split-chart { height: 285px; display: flex; flex-direction: column; }
.finance-chart-bars { flex: 1; display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: clamp(24px, 7vw, 80px); align-items: end; justify-items: center; padding: 8px 8% 0; border-bottom: 1px solid var(--admin-line); }
.finance-chart-column { width: 100%; height: 100%; display: grid; grid-template-rows: auto 1fr auto auto; justify-items: center; gap: 7px; }
.finance-chart-column > b { color: var(--admin-text); font-size: 18px; }
.finance-chart-column > strong { color: var(--admin-text); }
.finance-chart-column > small { color: var(--admin-muted) !important; text-align: center; }
.bar-track { width: min(96px, 75%); height: 100%; min-height: 120px; border-radius: 18px 18px 5px 5px; background: #edf2f5; display: flex; align-items: flex-end; overflow: hidden; }
.bar-track span { display: block; width: 100%; min-height: 12px; border-radius: 16px 16px 4px 4px; transition: height .8s cubic-bezier(.2,.8,.2,1); }
.finance-chart-column.north .bar-track span { background: linear-gradient(180deg, #ff9a69, var(--admin-orange)); }
.finance-chart-column.organizer .bar-track span { background: linear-gradient(180deg, #75a9cb, var(--admin-blue)); }
.finance-chart-legend { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px; padding-top: 14px; color: var(--admin-muted); font-size: 12px; }
.finance-chart-legend span { display: inline-flex; align-items: center; gap: 6px; }
.finance-chart-legend i { width: 10px; height: 10px; border-radius: 3px; }
.finance-chart-legend i.north { background: var(--admin-orange); }
.finance-chart-legend i.organizer { background: var(--admin-blue); }
.finance-chart-legend i.gateway { background: #a5b4be; }
.dashboard-repasses-card { margin-top: 16px; }
.dashboard-money-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.dashboard-money-grid > div { padding: 15px; border-radius: 15px; background: var(--admin-bg); border: 1px solid var(--admin-line); }
.dashboard-money-grid small { display: block; color: var(--admin-muted) !important; }
.dashboard-money-grid b { display: block; margin-top: 7px; color: var(--admin-blue); font-size: 21px; }

/* Financeiro */
body.admin-light .finance-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 16px; }
.finance-workspace { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: 16px; align-items: start; }
.finance-config-card, .finance-calculator-card { border-radius: 22px !important; }
.finance-fields-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.finance-fields-grid .field { margin: 0; padding: 13px; border: 1px solid var(--admin-line); border-radius: 15px; background: #fbfdfe; }
.finance-fields-grid .field small { display: block; margin-top: 6px; line-height: 1.35; }
.finance-fields-grid .field.is-disabled { opacity: .52; }
.finance-mode-switch { display: inline-flex; align-items: center; gap: 9px; padding: 9px 12px; border-radius: 999px; background: var(--admin-blue-soft); color: var(--admin-blue) !important; font-weight: 850; white-space: nowrap; }
.finance-mode-switch input { width: 18px; height: 18px; margin: 0; }
.finance-calculator-card { position: sticky; top: 22px; padding: 20px; background: linear-gradient(155deg, #102f43, #234e68); color: #fff; box-shadow: 0 22px 50px rgba(16,47,67,.2); }
.finance-calculator-card .admin-panel-head h3, .finance-calculator-card .admin-panel-head small { color: #fff !important; }
.finance-calculator-card > p { color: rgba(255,255,255,.65); font-size: 12px; line-height: 1.55; }
.finance-breakdown { display: grid; gap: 1px; overflow: hidden; border-radius: 15px; background: rgba(255,255,255,.12); }
.finance-breakdown > div { display: flex; justify-content: space-between; gap: 12px; padding: 11px 13px; background: rgba(8,29,42,.6); }
.finance-breakdown > div span { color: rgba(255,255,255,.68); }
.finance-breakdown > div strong { text-align: right; }
.finance-breakdown > div.organizer { background: rgba(57,105,139,.55); }
.finance-breakdown > div.total { margin-top: 7px; background: var(--admin-orange); font-size: 17px; }
.finance-net-preview { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 13px 0; }
.finance-net-preview > div { padding: 12px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.08); }
.finance-net-preview small { display: block; color: rgba(255,255,255,.65) !important; }
.finance-net-preview b { display: block; margin-top: 5px; font-size: 20px; }
.repasse-section { margin-top: 17px; }
body.admin-light .repasse-metrics { grid-template-columns: repeat(4, minmax(0,1fr)); }
.repasse-grid { display: grid; grid-template-columns: minmax(280px,.42fr) minmax(0,1fr); gap: 16px; margin-top: 16px; align-items: start; }
.repasse-form { padding: 16px; border-radius: 18px; background: var(--admin-bg); border: 1px solid var(--admin-line); }
.repasse-preview { display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; margin: 12px 0; padding: 14px; border-radius: 14px; background: #fff; border: 1px solid var(--admin-line); }
.repasse-preview span { color: var(--admin-muted); }
.repasse-preview b, .repasse-preview strong { color: var(--admin-text); text-align: right; }
.repasse-preview strong { color: var(--admin-blue); font-size: 20px; }
.repasse-table-wrap table { min-width: 780px; }

/* Retirada de kits */
.kit-counter-console { display: grid; grid-template-columns: minmax(280px,.55fr) minmax(0,1fr); gap: 14px; margin-bottom: 14px; }
.kit-operator-card, .kit-live-bar { border-radius: 18px !important; background: #fff !important; border: 1px solid var(--admin-line) !important; box-shadow: 0 12px 30px rgba(20,55,77,.06) !important; }
.kit-operator-card { padding: 15px; }
.kit-operator-card label { display: block; font-weight: 900; margin-bottom: 7px; }
.kit-operator-card small { display: block; margin-top: 6px; }
.kit-live-bar { margin: 0 !important; min-height: 100%; }
.kit-flow-steps { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin: 14px 0; }
.kit-flow-steps > div { position: relative; padding: 13px 12px 13px 48px; border: 1px solid var(--admin-line); border-radius: 15px; background: #fff; }
.kit-flow-steps span { position: absolute; left: 12px; top: 13px; width: 27px; height: 27px; display: grid; place-items: center; border-radius: 9px; background: var(--admin-blue); color: #fff; font-weight: 950; }
.kit-flow-steps strong, .kit-flow-steps small { display: block; }
.kit-flow-steps small { margin-top: 3px; line-height: 1.3; }
.kit-search-console { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 10px; margin: 14px 0; padding: 13px; border: 1px solid var(--admin-line); border-radius: 17px; background: #fff; box-shadow: 0 12px 30px rgba(20,55,77,.05); }
.kit-search-console input, .kit-search-console select { margin: 0 !important; min-height: 48px; }
body.admin-light .kit-mini-cards { grid-template-columns: repeat(4, minmax(0,1fr)); }
.kit-professional-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: 15px; margin-top: 16px; align-items: start; }
.kit-list-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.kit-list-heading h3 { margin: 0; color: var(--admin-text); }
.kit-list-heading span { color: var(--admin-muted); font-size: 12px; }
.kit-queue { display: grid; gap: 12px; }
.kit-card { border: 1px solid var(--admin-line) !important; border-radius: 19px !important; background: #fff !important; box-shadow: 0 13px 28px rgba(20,55,77,.06) !important; padding: 16px !important; }
.kit-card.is-delivered { background: #f7fbfd !important; opacity: .92; }
.kit-athlete-main { display: flex; align-items: center; gap: 12px; }
.kit-number { flex: 0 0 auto; min-width: 54px; min-height: 44px; display: inline-grid; place-items: center; padding: 6px 9px; border-radius: 12px; background: var(--admin-blue); color: #fff; font-weight: 950; font-variant-numeric: tabular-nums; }
.kit-card h3 { margin: 0 0 4px; color: var(--admin-text); }
.kit-card p { margin: 0; color: var(--admin-muted); }
.kit-contact-line { display: flex; flex-wrap: wrap; gap: 7px 18px; margin: 12px 0; padding: 10px 12px; border-radius: 12px; background: var(--admin-bg); color: var(--admin-muted); font-size: 12px; }
.kit-progress-line { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin: 10px 0 13px; }
.kit-progress-line i { height: 5px; border-radius: 999px; background: #dce6ec; }
.kit-progress-line i.done { background: linear-gradient(90deg, var(--admin-blue), var(--admin-orange)); }
.kit-status-grid { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.kit-status-item { min-width: 0; }
.kit-status-item span { overflow-wrap: anywhere; }
.kit-operator-log { margin-top: 10px; color: var(--admin-muted); font-size: 12px; }
.kit-card-actions { display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px !important; margin-top: 13px; }
.kit-card-actions .btn { width: auto !important; flex: 1 1 180px; }
.kit-undo-link { border: 0; background: transparent; color: #9b4b2b; text-decoration: underline; cursor: pointer; font-size: 11px; }
.kit-recent-panel { position: sticky; top: 22px; padding: 16px; border: 1px solid var(--admin-line); border-radius: 19px; background: #fff; box-shadow: 0 13px 28px rgba(20,55,77,.06); }
.kit-recent-item { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--admin-line); }
.kit-recent-item:last-child { border-bottom: 0; }
.kit-recent-item .kit-number { min-width: 48px; min-height: 38px; font-size: 12px; }
.kit-recent-item strong, .kit-recent-item small { display: block; }
.kit-recent-item small { margin-top: 3px; line-height: 1.3; }
body.admin-desk-mode .sidebar { display: none !important; }
body.admin-desk-mode .admin-shell { grid-template-columns: 1fr !important; }
body.admin-desk-mode .admin-main { padding: 18px !important; }
body.admin-desk-mode #tab-kits .section-title { display: none; }

/* Banners */
.banner-dimension-guide { border-left: 4px solid var(--admin-orange) !important; background: #fff8f4 !important; }
.banner-dimension-guide strong, .banner-dimension-guide span { display: block; }
.banner-dimension-guide span { margin-top: 5px; line-height: 1.55; color: var(--admin-muted); }
.banner-table-preview { width: 82px; height: 54px; display: grid; place-items: center; overflow: hidden; border-radius: 10px; background: var(--admin-bg); border: 1px solid var(--admin-line); }
.banner-table-preview img { width: 100%; height: 100%; object-fit: contain; }
#tab-banners table { min-width: 850px; }

/* Elimina o roxo legado dos botões administrativos */
body.admin-light .table-actions button.purple,
body.admin-light .table-actions-professional button.purple {
  background: var(--admin-blue) !important;
  color: #fff !important;
  border-color: var(--admin-blue) !important;
}
body.admin-light .table-actions button.green,
body.admin-light .table-actions-professional button.green {
  background: var(--admin-orange) !important;
  color: #fff !important;
  border-color: var(--admin-orange) !important;
}
body.admin-light .table-actions button.danger { background: #fff1f0 !important; color: #b42318 !important; border-color: #f4c7c3 !important; }

@media (max-width: 1180px) {
  body.admin-light .cards, body.admin-light .finance-metrics { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  .finance-workspace { grid-template-columns: 1fr; }
  .finance-calculator-card { position: static; }
  .dashboard-insights-grid { grid-template-columns: 1fr; }
  .kit-professional-grid { grid-template-columns: 1fr; }
  .kit-recent-panel { position: static; }
}
@media (max-width: 820px) {
  body.admin-light .admin-shell { display: block !important; }
  body.admin-light .sidebar {
    position: sticky !important;
    z-index: 40;
    height: auto !important;
    top: 0;
    padding: 10px !important;
    overflow: visible;
  }
  body.admin-light .sidebar-head { display: none; }
  body.admin-light .menu {
    display: flex !important;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 8px;
    gap: 7px !important;
  }
  body.admin-light .menu button { width: auto; min-width: max-content; min-height: 40px; padding: 8px 11px !important; }
  body.admin-light .menu button:hover { transform: none; }
  body.admin-light .sidebar-footer { display: flex; padding: 7px 0 0; }
  .sidebar-site-link, .admin-logout-btn { flex: 1; min-height: 36px; padding: 6px 9px; font-size: 11px; }
  body.admin-light .admin-main { padding: 18px 12px 48px !important; }
  .dashboard-money-grid, .kit-flow-steps { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .finance-fields-grid, .repasse-grid, .kit-counter-console { grid-template-columns: 1fr; }
  .kit-search-console { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  body.admin-light .cards,
  body.admin-light .finance-metrics,
  body.admin-light .repasse-metrics,
  body.admin-light .kit-mini-cards { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  body.admin-light .metric { padding: 12px !important; border-radius: 14px !important; }
  body.admin-light .metric b { font-size: 22px !important; }
  .admin-panel-card { padding: 14px; border-radius: 17px; }
  .admin-panel-head { display: block; }
  .admin-panel-head > :last-child { margin-top: 10px; }
  .dashboard-money-grid, .kit-flow-steps { grid-template-columns: 1fr; }
  .finance-chart-bars { gap: 15px; padding-left: 2%; padding-right: 2%; }
  .finance-mode-switch { white-space: normal; }
  .finance-net-preview { grid-template-columns: 1fr; }
  .kit-card-header { display: block !important; }
  .kit-card-header > .badge { margin-top: 9px; }
  .kit-status-grid { grid-template-columns: 1fr !important; }
  .kit-card-actions .btn { flex-basis: 100%; }
}
