/* ==========================================
   BJ SPORTS — CENTRO DE TREINAMENTO DESIGN SYSTEM
   GPS PARAÍBA ERP EXACT THEME REPLICA
   ========================================== */

:root {
  --bg-dark: #0a0a0e;
  --erp-bg-sidebar: #131620;
  --erp-bg-active: #232734;
  --erp-bg-main: #0c0e14;
  --erp-bg-card: #151822;
  
  --primary-red: #e50914;
  --primary-red-hover: #ff1e27;
  --primary-red-glow: rgba(229, 9, 20, 0.45);
  
  --accent-gold: #ffd700;
  --accent-gold-glow: rgba(255, 215, 0, 0.35);
  --accent-green: #25d366;
  --erp-blue: #2563eb;
  
  --text-main: #ffffff;
  --text-muted: #9ca3af;
  --text-dim: #6b7280;
  
  --border-light: rgba(255, 255, 255, 0.08);
  --border-red: rgba(229, 9, 20, 0.35);
  
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-full: 9999px;
  
  --font-heading: 'Outfit', sans-serif;
  --font-body: 'Inter', sans-serif;
}

/* Planos e Modalidades — fonte central administrativa */
.plan-catalog-content{display:flex;flex-direction:column;gap:24px}.plan-catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border:1px solid rgba(59,130,246,.28);border-radius:18px;background:linear-gradient(135deg,rgba(15,23,42,.98),rgba(30,41,59,.9))}.plan-catalog-heading span,.plan-catalog-list>header span,.plan-catalog-create>header span{display:flex;align-items:center;gap:7px;color:#60a5fa;font-size:.72rem;font-weight:800;letter-spacing:.12em}.plan-catalog-heading h1{margin:5px 0;font-family:var(--font-heading);font-size:clamp(1.7rem,3vw,2.4rem)}.plan-catalog-heading p,.plan-catalog-create p{margin:0;color:var(--text-muted)}.plan-catalog-heading>button,.plan-catalog-create>header>button{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:11px 16px;background:#22c55e;color:#07120b;font-weight:800;cursor:pointer}.plan-catalog-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.plan-catalog-summary article{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid var(--border-light);border-radius:14px;background:rgba(15,23,42,.88)}.plan-catalog-summary article>i{color:#4ade80}.plan-catalog-summary span,.plan-catalog-summary small{display:block;color:var(--text-muted);font-size:.75rem}.plan-catalog-summary strong{display:block;color:#fff;font-size:1.45rem}.plan-catalog-create,.plan-catalog-list{padding:22px;border:1px solid var(--border-light);border-radius:16px;background:rgba(15,23,42,.92)}.plan-catalog-create>header,.plan-catalog-list>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}.plan-catalog-create h2,.plan-catalog-list h2{margin:3px 0 0;font-family:var(--font-heading)}.plan-catalog-create>header>button{padding:8px;background:transparent;color:#cbd5e1;border:1px solid var(--border-light)}.plan-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plan-admin-card{position:relative;padding:20px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(2,6,23,.52)}.plan-catalog-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.plan-catalog-form>.is-wide{grid-column:1/-1}.plan-catalog-form label>span,.plan-catalog-form legend{display:block;margin-bottom:6px;color:#cbd5e1;font-size:.78rem;font-weight:700}.plan-catalog-form input:not([type=checkbox]),.plan-catalog-form select,.plan-catalog-form textarea{width:100%;border:1px solid rgba(148,163,184,.25);border-radius:9px;padding:10px 11px;background:rgba(15,23,42,.9);color:#fff}.plan-catalog-form textarea{resize:vertical}.plan-catalog-form fieldset{margin:0;padding:12px;border:1px solid rgba(148,163,184,.18);border-radius:10px}.plan-catalog-modalities{display:flex;flex-wrap:wrap;gap:8px}.plan-catalog-modalities label{cursor:pointer}.plan-catalog-modalities input{position:absolute;opacity:0}.plan-catalog-modalities span{margin:0!important;padding:7px 10px;border:1px solid rgba(148,163,184,.25);border-radius:8px;color:#94a3b8!important}.plan-catalog-modalities input:checked+span{border-color:#22c55e;background:rgba(34,197,94,.15);color:#86efac!important}.plan-catalog-featured{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(245,158,11,.2);border-radius:9px}.plan-catalog-featured span{margin:0!important}.plan-catalog-featured small{display:block;color:var(--text-muted)}.plan-catalog-form>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--border-light)}.plan-catalog-form>header div{display:flex;gap:8px}.plan-catalog-form>header span,.plan-catalog-form>header strong{font-size:.72rem;color:#60a5fa}.plan-catalog-form>header em{font-size:.72rem;color:#94a3b8}.plan-catalog-form footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--border-light)}.plan-catalog-form footer span{color:var(--text-muted);font-size:.74rem}.plan-catalog-form footer button,.plan-catalog-delete button{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-light);border-radius:9px;padding:9px 12px;background:transparent;color:#cbd5e1;font-weight:700;cursor:pointer}.plan-catalog-form footer .is-primary{border:0;background:#22c55e;color:#07120b}.plan-catalog-delete{display:flex;justify-content:flex-end;margin-top:12px}.plan-catalog-delete button{color:#f87171}.plan-catalog-delete button:disabled{opacity:.45;cursor:not-allowed}.plan-catalog-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--text-muted)}.plan-catalog-empty>*{display:block;margin:7px auto}@media(max-width:980px){.plan-catalog-summary,.plan-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.plan-catalog-heading,.plan-catalog-create>header,.plan-catalog-list>header{align-items:stretch;flex-direction:column}.plan-catalog-summary,.plan-catalog-grid,.plan-catalog-form{grid-template-columns:1fr}.plan-catalog-form>.is-wide{grid-column:auto}.plan-catalog-form footer{align-items:stretch;flex-direction:column}}
.plan-catalog-tabs{display:flex;gap:6px;margin-bottom:18px;padding:5px;border:1px solid var(--border-light);border-radius:12px;background:rgba(2,6,23,.5)}.plan-catalog-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:180px;border:0;border-radius:8px;padding:10px 18px;background:transparent;color:#94a3b8;font-weight:800;cursor:pointer}.plan-catalog-tabs button strong{min-width:22px;border-radius:999px;padding:2px 7px;background:rgba(148,163,184,.15);font-size:.72rem}.plan-catalog-tabs button.is-active{background:#16a34a;color:#fff;box-shadow:0 5px 15px rgba(22,163,74,.2)}.plan-admin-table-wrap{overflow-x:auto;border:1px solid var(--border-light);border-radius:12px}.plan-admin-table{width:100%;min-width:1180px;border-collapse:collapse;background:rgba(2,6,23,.35)}.plan-admin-table th{padding:11px 10px;border-bottom:1px solid var(--border-light);background:rgba(30,41,59,.75);color:#94a3b8;font-size:.7rem;letter-spacing:.05em;text-align:left;text-transform:uppercase}.plan-admin-table td{padding:9px 8px;border-bottom:1px solid rgba(148,163,184,.12);vertical-align:middle}.plan-admin-table tbody tr:last-child td{border-bottom:0}.plan-admin-table tbody tr:hover{background:rgba(30,41,59,.32)}.plan-admin-table input:not([type=checkbox]),.plan-admin-table select,.plan-admin-table textarea{width:100%;min-width:125px;border:1px solid rgba(148,163,184,.22);border-radius:7px;padding:8px;background:rgba(15,23,42,.9);color:#fff;font:inherit}.plan-admin-table textarea{min-width:175px;resize:vertical}.plan-admin-table td:first-child input{min-width:155px;font-weight:700}.plan-table-modalities{display:grid;grid-template-columns:repeat(2,max-content);gap:5px}.plan-table-modalities label{cursor:pointer}.plan-table-modalities input{position:absolute;opacity:0}.plan-table-modalities span{display:block;border:1px solid rgba(148,163,184,.22);border-radius:6px;padding:5px 7px;color:#94a3b8;font-size:.7rem}.plan-table-modalities input:checked+span{border-color:#22c55e;background:rgba(34,197,94,.15);color:#86efac}.plan-table-center{text-align:center}.plan-table-center>strong,.plan-table-center>small{display:block}.plan-table-center>small{color:#64748b;font-size:.66rem}.plan-table-switch{display:inline-block;position:relative;width:34px;height:19px;cursor:pointer}.plan-table-switch input{position:absolute;opacity:0}.plan-table-switch span{position:absolute;inset:0;border-radius:999px;background:#475569;transition:.2s}.plan-table-switch span:after{content:"";position:absolute;top:3px;left:3px;width:13px;height:13px;border-radius:50%;background:#fff;transition:.2s}.plan-table-switch input:checked+span{background:#16a34a}.plan-table-switch input:checked+span:after{transform:translateX(15px)}.plan-table-actions{display:flex;align-items:center;gap:6px}.plan-table-actions button{display:inline-flex;align-items:center;gap:5px;border:0;border-radius:7px;padding:8px;background:#16a34a;color:#fff;font-weight:700;cursor:pointer}.plan-table-actions button.is-danger{padding:8px;background:rgba(239,68,68,.12);color:#f87171}.plan-table-actions button:disabled{opacity:.38;cursor:not-allowed}.plan-table-empty{padding:35px!important;color:var(--text-muted);text-align:center}@media(max-width:650px){.plan-catalog-tabs{display:grid;grid-template-columns:1fr 1fr}.plan-catalog-tabs button{min-width:0;padding:10px}.plan-table-actions button span{display:none}}

.student-plan-editor{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) auto;gap:12px;align-items:end;margin-top:14px;padding:14px;border:1px solid rgba(34,197,94,.3);border-radius:12px;background:rgba(34,197,94,.06)}.student-plan-editor-heading,.student-plan-editor fieldset{grid-column:1/-1}.student-plan-editor-heading{display:flex;align-items:center;gap:10px}.student-plan-editor-heading>i{color:#4ade80}.student-plan-editor-heading strong,.student-plan-editor-heading small{display:block}.student-plan-editor-heading small,.student-plan-editor fieldset small{color:var(--text-muted);font-size:.74rem}.student-plan-editor>label>span,.student-plan-editor legend{display:block;margin-bottom:5px;color:#cbd5e1;font-size:.76rem;font-weight:700}.student-plan-editor select{width:100%;padding:8px 10px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172a;color:#fff}.student-plan-editor fieldset{padding:10px;border:1px solid rgba(148,163,184,.18);border-radius:9px}.student-plan-editor fieldset>div{display:flex;flex-wrap:wrap;gap:7px}.student-plan-editor fieldset label{display:flex;align-items:center;gap:5px;color:#cbd5e1;font-size:.78rem}.student-plan-editor>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;border:0;border-radius:8px;background:#22c55e;color:#07120b;font-weight:800;cursor:pointer}@media(max-width:760px){.student-plan-editor{grid-template-columns:1fr}.student-plan-editor-heading,.student-plan-editor fieldset{grid-column:auto}}
.student-plan-registration-style{grid-template-columns:1fr}.student-plan-type-switch,.student-plan-main-select{grid-column:1/-1}.student-plan-type-switch>span{display:block;margin-bottom:6px;color:#cbd5e1;font-size:.76rem;font-weight:700}.student-plan-type-switch>div,.student-plan-days>div{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.student-plan-type-switch button,.student-plan-days button{padding:9px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#0f172a;color:#94a3b8;font-weight:750;cursor:pointer}.student-plan-type-switch button.active{border-color:#22c55e;background:rgba(34,197,94,.16);color:#86efac}.student-plan-days>div{grid-template-columns:repeat(3,minmax(0,1fr))}.student-plan-days button.active{border-color:#4ade80;background:linear-gradient(135deg,#22c55e,#15803d);color:#fff}.student-plan-days button:disabled:not(.active){opacity:.45;cursor:not-allowed}.student-combo-slots>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important}.student-combo-slots label{display:block!important}.student-combo-slots label>span{display:block;margin-bottom:5px}@media(max-width:760px){.student-plan-type-switch>div,.student-plan-days>div,.student-combo-slots>div{grid-template-columns:1fr}}
.student-plan-days button span,.student-plan-days button strong{display:block}.student-plan-days button strong{margin-top:3px;color:inherit;font-size:.7rem}.student-private-professional{grid-column:1/-1}
.student-password-reset{display:flex;align-items:center;gap:9px;margin-top:12px;padding:10px 12px;border:1px solid rgba(245,158,11,.3);border-radius:9px;background:rgba(245,158,11,.07)}.student-password-reset button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid rgba(251,191,36,.45);border-radius:7px;background:#292013;color:#fbbf24;font-weight:800;cursor:pointer}.student-password-reset button svg{width:14px;height:14px}.student-password-reset small{color:#a99b84;font-size:.66rem}.student-password-reset small strong{color:#fcd34d}
.temporary-password-card{max-width:520px;margin:60px auto}.temporary-password-card h1{margin:6px 0;color:#fff;font:800 1.45rem var(--font-heading)}.temporary-password-card .modal-header p{margin:0 0 20px;color:#94a3b8;font-size:.82rem;line-height:1.5}

/* Reset & Base */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-family: var(--font-body);
  background-color: var(--bg-dark);
  color: var(--text-main);
  line-height: 1.6;
}

body {
  overflow-x: hidden;
  min-height: 100vh;
  background-color: var(--bg-dark);
  color: var(--text-main);
}

.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}

.flash-stack { position:fixed; top:18px; right:18px; z-index:10000; display:flex; width:min(390px,calc(100vw - 28px)); max-width:none; flex-direction:column; gap:9px; padding:0; margin:0; pointer-events:none; }
.flash-message { position:relative; display:grid; grid-template-columns:20px minmax(0,1fr) 26px; align-items:center; gap:10px; min-height:54px; padding:12px 10px 12px 14px; overflow:hidden; border-radius:10px; border:1px solid var(--border-light); background:rgba(22,24,33,.97); box-shadow:0 14px 35px rgba(0,0,0,.3); font-size:.78rem; font-weight:600; backdrop-filter:blur(14px); pointer-events:auto; animation:flash-arrive .22s ease-out both; transition:opacity .22s ease,transform .22s ease; }
.flash-message.is-leaving { opacity:0; transform:translateX(24px); }
.flash-message-icon { width:19px; height:19px; }.flash-message-copy { min-width:0; line-height:1.4; }.flash-message-close { display:grid; place-items:center; width:26px; height:26px; padding:0; color:currentColor; background:transparent; border:0; border-radius:6px; opacity:.65; cursor:pointer; }.flash-message-close:hover { background:rgba(255,255,255,.08); opacity:1; }.flash-message-close svg { width:15px; height:15px; }
.flash-message-timer { position:absolute; right:0; bottom:0; left:0; height:3px; background:currentColor; opacity:.55; transform-origin:left; animation:flash-countdown linear forwards; }
@keyframes flash-arrive { from { opacity:0; transform:translateY(-12px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes flash-countdown { from { transform:scaleX(1); } to { transform:scaleX(0); } }
.flash-error { border-color: rgba(239, 68, 68, 0.65); color: #fca5a5; background: rgba(127, 29, 29, 0.3); }
.flash-success { border-color: rgba(74, 222, 128, 0.55); color: #86efac; background: rgba(20, 83, 45, 0.3); }
.flash-warning, .flash-info { border-color: rgba(250, 204, 21, 0.5); color: #fde68a; background: rgba(113, 63, 18, 0.3); }

/* Header */
.main-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(10, 10, 14, 0.95);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--border-light);
  padding: 14px 0;
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.brand-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: var(--text-main);
}

.header-logo {
  height: 50px;
  width: auto;
  filter: drop-shadow(0 0 10px rgba(229, 9, 20, 0.6));
  transition: transform 0.3s ease;
}

.brand-link:hover .header-logo {
  transform: scale(1.05);
}

.brand-text {
  display: flex;
  flex-direction: column;
}

.brand-name {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.4rem;
  letter-spacing: 1px;
  line-height: 1.1;
  color: #ffffff;
}

.brand-sub {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--primary-red);
  letter-spacing: 1.5px;
}

/* Minimalist Navigation & Locais Dropdown */
.nav-menu {
  display: flex;
  align-items: center;
  gap: 12px;
}

.nav-item {
  color: var(--text-muted);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9rem;
  letter-spacing: 0.3px;
  padding: 8px 14px;
  border-radius: var(--radius-md);
  transition: all 0.2s ease;
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}

.nav-item:hover, .nav-item.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.nav-dropdown {
  position: relative;
}

.dropdown-chevron {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
}

.nav-dropdown:hover .dropdown-chevron {
  transform: rotate(180deg);
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  width: 280px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s ease;
  z-index: 120;
  box-shadow: 0 15px 35px rgba(0,0,0,0.8);
  background: #12121a;
  border: 1px solid var(--border-light);
}

/* Dropdowns precisam permanecer opacos mesmo quando também usam glass-panel. */
.dropdown-menu.glass-panel,
.avatar-menu.glass-panel {
  background: #12121a;
  background-color: #12121a;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.72);
}

/* MEGAMENU COMPACT DROPDOWN FOR LOCAIS */
.dropdown-menu.dropdown-megamenu { width: 500px; padding: 14px 16px; border-radius: 14px; background: #12121c !important; border: 1px solid rgba(245, 158, 11, 0.35); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85); }
.megamenu-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 16px; }
.megamenu-col { display: flex; flex-direction: column; gap: 3px; }
.megamenu-header { font-size: 0.72rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; padding: 4px 6px 6px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }
.megamenu-header.state-pb { color: var(--accent-gold); }
.megamenu-header.state-ce { color: #60a5fa; }
.megamenu-item { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 8px; color: #e2e8f0; text-decoration: none; font-size: 0.83rem; transition: background 0.2s ease, transform 0.2s ease; border: 1px solid transparent; }
.megamenu-item:hover { background: rgba(245, 158, 11, 0.12); border-color: rgba(245, 158, 11, 0.25); color: #ffffff; transform: translateX(3px); }
.megamenu-item i, .megamenu-item svg { width: 15px; height: 15px; flex-shrink: 0; }
.megamenu-item span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.82rem; }
.megamenu-item strong { color: #ffffff; font-weight: 800; }

@media (max-width: 768px) {
  .dropdown-menu.dropdown-megamenu { width: 290px; }
  .megamenu-grid { grid-template-columns: 1fr; gap: 10px; }
}

.nav-dropdown:hover .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  text-decoration: none;
  color: var(--text-main);
  transition: background 0.2s ease;
}

.dropdown-item:hover {
  background: rgba(255, 255, 255, 0.1);
}

.dropdown-item strong {
  display: block;
  font-size: 0.88rem;
}

.dropdown-item small {
  display: block;
  font-size: 0.75rem;
  color: var(--text-muted);
}

.icon-gold { color: var(--accent-gold); width: 18px; height: 18px; }
.icon-red { color: var(--primary-red); width: 18px; height: 18px; }

.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.btn-header-cta {
  background: linear-gradient(135deg, var(--primary-red), #b90610);
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.95rem !important;
  padding: 11px 22px !important;
  border-radius: var(--radius-md);
  box-shadow: 0 0 20px rgba(229, 9, 20, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all 0.3s ease;
}

.btn-header-cta:hover {
  background: linear-gradient(135deg, var(--primary-red-hover), var(--primary-red));
  box-shadow: 0 0 30px rgba(229, 9, 20, 0.8);
  transform: translateY(-2px);
}

.public-theme-toggle { display:grid; place-items:center; width:38px; height:38px; flex:0 0 auto; padding:0; color:#facc15; background:rgba(250,204,21,.08); border:1px solid rgba(250,204,21,.24); border-radius:10px; cursor:pointer; transition:all .2s ease; }
.public-theme-toggle svg { width:18px; height:18px; }.public-theme-toggle:hover { color:#fff; background:rgba(250,204,21,.16); transform:translateY(-1px); }

.btn-header-login {
  background: rgba(255, 215, 0, 0.08) !important;
  border: 1px solid rgba(255, 215, 0, 0.4) !important;
  color: var(--accent-gold) !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  padding: 11px 20px !important;
  border-radius: var(--radius-md);
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-header-login:hover, .btn-header-login.active-link-btn {
  background: rgba(255, 215, 0, 0.18) !important;
  border-color: var(--accent-gold) !important;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.4);
  transform: translateY(-2px);
}

/* Top Bar User Avatar Dropdown */
.user-avatar-dropdown { position: relative; }

.avatar-trigger-btn {
  background: rgba(255, 215, 0, 0.1);
  border: 1px solid rgba(255, 215, 0, 0.4);
  color: #ffffff;
  padding: 6px 14px;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.avatar-trigger-btn:hover {
  background: rgba(255, 215, 0, 0.2);
  border-color: var(--accent-gold);
}

.user-avatar-photo {
  font-size: 1.3rem;
  background: rgba(229, 9, 20, 0.2);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--primary-red);
}

.user-header-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.9rem;
  color: var(--accent-gold);
}

.avatar-menu {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 10px;
  width: 260px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.25s ease;
  z-index: 150;
  box-shadow: 0 20px 40px rgba(0,0,0,0.9);
  background: #12121c;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
}

.user-avatar-dropdown:hover .avatar-menu,
.user-avatar-dropdown.active .avatar-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.menu-user-info {
  padding-bottom: 10px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--border-light);
  display: flex;
  flex-direction: column;
}

.menu-user-info strong { font-size: 0.95rem; color: #ffffff; }
.menu-user-info small { color: var(--text-muted); font-size: 0.8rem; }

/* ==========================================================================
   GPS PARAÍBA ERP REPLICA STYLES (STICKY SIDEBAR INDEPENDENT OF SCROLL)
   ========================================================================== */
.erp-wrapper {
  display: flex;
  align-items: flex-start;
  min-height: calc(100vh - 80px);
  background-color: var(--erp-bg-main);
  position: relative;
}

/* BARRA LATERAL FIXA NO SCROLL (STICKY) */
.erp-sidebar {
  width: 260px;
  background-color: var(--erp-bg-sidebar);
  border-right: 1px solid var(--border-light);
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  transition: width 0.3s ease;
  position: sticky;
  top: 0;
  height: 100vh;
  max-height: 100vh;
  margin-top: -79px;
  overflow-y: auto;
  scrollbar-width: thin;
  z-index: 110;
}

.erp-sidebar.collapsed {
  width: 72px;
}

.erp-page .erp-wrapper { min-height: 100vh; }
.erp-page .erp-sidebar { margin-top: 0; }
.erp-page .erp-topbar { top: 0; }

.erp-sidebar.collapsed .erp-brand-info,
.erp-sidebar.collapsed .erp-group-title-text,
.erp-sidebar.collapsed .erp-item-label,
.erp-sidebar.collapsed .erp-chevron,
.erp-sidebar.collapsed .erp-group-toggle-icon,
.erp-sidebar.collapsed .erp-nav-item {
  display: none !important;
}

.erp-sidebar.collapsed .erp-nav {
  gap: 8px;
  padding-inline: 10px;
}

.erp-sidebar.collapsed .erp-nav-group {
  display: flex;
  justify-content: center;
}

.erp-sidebar.collapsed .erp-group-title {
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: 9px;
}

.erp-sidebar.collapsed .erp-group-title:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.07);
}

.erp-sidebar.collapsed .erp-brand-header {
  justify-content: center;
  padding: 16px 10px;
}

.erp-sidebar.collapsed .erp-brand-logo {
  content: url("/static/img/favicon.png");
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(229, 9, 20, 0.42));
}

.erp-brand-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 20px;
}

.erp-brand-logo {
  height: 42px;
  width: auto;
  filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.4));
}

.erp-brand-info {
  display: flex;
  flex-direction: column;
}

.erp-brand-name {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.15rem;
  color: #ffffff;
  line-height: 1.1;
}

.erp-brand-sub {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--text-dim);
  letter-spacing: 1px;
}

.erp-nav {
  display: flex;
  flex-direction: column;
  padding: 0 12px 20px 12px;
  gap: 16px;
}

.erp-group-title {
  font-size: 0.7rem;
  font-weight: 800;
  color: var(--text-dim);
  letter-spacing: 1.2px;
  padding: 12px 12px 6px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  border: 0;
  background: transparent;
  font-family: inherit;
  text-align: left;
  cursor: pointer;
  transition: color 0.2s ease;
}

.erp-group-title:hover,
.erp-group-title:focus-visible {
  color: #e2e8f0;
  outline: none;
}

.erp-group-toggle-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  transition: transform 0.22s ease;
}

.erp-group-category-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}

.erp-group-title-text {
  flex: 1;
}

.erp-nav-group.is-collapsed .erp-group-toggle-icon {
  transform: rotate(-90deg);
}

.erp-sidebar:not(.collapsed) .erp-nav-group.is-collapsed > .erp-nav-item {
  display: none;
}

.erp-nav-group.is-collapsed {
  padding-bottom: 0;
}

.erp-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  color: var(--text-muted);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.92rem;
  border-radius: var(--radius-sm);
  transition: all 0.2s ease;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

.erp-nav-item:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
}

.erp-nav-item.active {
  background: var(--erp-bg-active);
  color: #ffffff;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.erp-item-icon {
  width: 20px;
  height: 20px;
  color: var(--text-muted);
  flex-shrink: 0;
}

.erp-nav-item.active .erp-item-icon {
  color: #60a5fa;
}

.erp-item-label {
  flex: 1;
}

.erp-nav-pending-count {
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  color: #fff;
  background: #dc2626;
  border-radius: 999px;
  font-size: .6rem;
  font-weight: 800;
}

.erp-chevron {
  width: 16px;
  height: 16px;
  color: var(--text-dim);
}

.erp-logout-item:hover {
  background: rgba(239, 68, 68, 0.15) !important;
}

.text-red { color: #ef4444 !important; }

/* ÁREA PRINCIPAL & TOPBAR ERP */
.erp-main-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: var(--erp-bg-main);
  overflow-x: clip;
  min-width: 0;
}

.erp-topbar {
  height: 64px;
  background-color: #131620;
  border-bottom: 1px solid var(--border-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 24px;
  position: sticky;
  top: 78px;
  z-index: 85;
}

.erp-page .erp-topbar {
  position: fixed;
  top: 0;
  right: 0;
  left: 260px;
  min-height: 66px;
  height: auto;
  padding: 10px 22px;
  background: #11141d;
  border-top: 4px solid #4a211b;
  border-bottom-color: rgba(255,255,255,.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
  transition: left .3s ease;
}

.erp-page .erp-main-container { padding-top:66px; }
.erp-page .erp-sidebar.collapsed + .erp-main-container .erp-topbar { left:72px; }

.erp-page[data-topbar-accent="gold"] .erp-topbar { border-top-color: #b68a18; }
.erp-page[data-topbar-accent="blue"] .erp-topbar { border-top-color: #315b9b; }
.erp-page.erp-light-theme .erp-topbar { background: #ffffff; border-bottom-color: #e5e7eb; box-shadow:0 2px 8px rgba(15,23,42,.08); }

.erp-topbar-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.erp-hamburger-toggle {
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 1.4rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  border-radius: var(--radius-sm);
  transition: color 0.2s ease;
}

.erp-hamburger-toggle:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.erp-page.erp-light-theme .erp-hamburger-toggle { color: #667085; }
.erp-page.erp-light-theme .erp-hamburger-toggle:hover { color: #344054; background: #f2f4f7; }

.erp-blue-badge {
  background: var(--erp-blue);
  color: #ffffff;
  font-weight: 800;
  font-size: 0.8rem;
  padding: 6px 16px;
  border-radius: var(--radius-full);
  letter-spacing: 0.5px;
}

.erp-page .erp-blue-badge {
  max-width: min(54vw, 680px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.erp-page.erp-light-theme .erp-blue-badge {
  padding: 0;
  color: #344054;
  background: transparent;
  border-radius: 0;
  font-size: .76rem;
  letter-spacing: .01em;
}

.erp-topbar-right { display:flex; align-items:center; gap:12px; }
.erp-quick-actions { display:flex; align-items:center; gap:4px; padding-right:10px; border-right:1px solid #e5e7eb; }
.erp-page:not(.erp-light-theme) .erp-quick-actions { border-right-color:rgba(255,255,255,.09); }
.erp-topbar-icon { display:grid; place-items:center; width:34px; height:34px; padding:0; color:#64748b; background:transparent; border:0; border-radius:7px; text-decoration:none; cursor:pointer; transition:background .18s,color .18s; }
.erp-topbar-icon svg { width:17px; height:17px; }
.erp-topbar-icon:hover { color:#344054; background:#f2f4f7; }
.erp-page:not(.erp-light-theme) .erp-topbar-icon { color:#94a3b8; }.erp-page:not(.erp-light-theme) .erp-topbar-icon:hover { color:#fff; background:rgba(255,255,255,.07); }
.erp-quick-actions .topbar-action-square { position:relative; display:grid; place-items:center; width:34px; height:34px; color:#94a3b8; background:transparent; border:1px solid transparent; border-radius:7px; text-decoration:none; transition:background .18s,color .18s,border-color .18s; }
.erp-quick-actions .topbar-action-square svg { width:17px; height:17px; }
.erp-quick-actions .topbar-action-square.is-ok { color:#4ade80; border-color:rgba(74,222,128,.32); background:rgba(34,197,94,.08); }
.erp-quick-actions .topbar-action-square.has-pending { color:#fca5a5; border-color:rgba(248,113,113,.35); background:rgba(239,68,68,.08); }
.erp-light-theme .erp-quick-actions .topbar-action-square.is-ok { color:#15803d; background:#f0fdf4; border-color:#bbf7d0; }
.erp-light-theme .erp-quick-actions .topbar-action-square.has-pending { color:#dc2626; background:#fef2f2; border-color:#fecaca; }
.erp-quick-actions .topbar-badge-icon { position:absolute; top:-4px; right:-4px; display:grid; place-items:center; width:18px; height:18px; color:#fff; background:#ef4444; border:2px solid #0f172a; border-radius:50%; box-shadow:0 0 8px rgba(239,68,68,.75); font-size:.72rem; font-weight:900; }
.erp-light-theme .erp-quick-actions .topbar-badge-icon { border-color:#fff; }

.erp-user-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  min-height: 40px;
  padding: 3px 7px 3px 4px;
  border-radius: 9px;
  cursor: pointer;
  outline: none;
}

.erp-user-badge:hover, .erp-user-badge.is-open { background:rgba(255,255,255,.06); }
.erp-light-theme .erp-user-badge:hover, .erp-light-theme .erp-user-badge.is-open { background:#f2f4f7; }

.erp-avatar {
  font-size: .65rem;
  font-weight: 800;
  color: #ffffff;
  background: linear-gradient(145deg, #334155, #64748b);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.erp-user-name {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.9rem;
  color: #ffffff;
}

.erp-page.erp-light-theme .erp-user-name { color:#344054; }
.erp-page .erp-topbar .erp-user-badge > .badge-pill { display:none; }
.erp-belt-dot { width:9px; height:9px; flex:0 0 auto; border:1px solid rgba(255,255,255,.75); border-radius:50%; box-shadow:0 0 0 2px rgba(255,255,255,.08); }
.erp-belt-dot.belt-branca { background:#f8fafc; border-color:#94a3b8; }.erp-belt-dot.belt-azul { background:#2563eb; }.erp-belt-dot.belt-roxa { background:#7e22ce; }.erp-belt-dot.belt-marrom { background:#78350f; }.erp-belt-dot.belt-preta { background:#09090b; border-color:#64748b; }
.erp-account-chevron { width:13px; height:13px; color:#98a2b3; transition:transform .18s; }.erp-user-badge.is-open .erp-account-chevron { transform:rotate(180deg); }
.erp-account-menu { position:absolute; top:calc(100% + 10px); right:0; z-index:130; display:none; width:238px; padding:7px; color:#344054; background:#fff; border:1px solid #e4e7ec; border-radius:10px; box-shadow:0 16px 34px rgba(15,23,42,.16); cursor:default; }
.erp-user-badge.is-open .erp-account-menu { display:block; }
.erp-account-summary { padding:10px 11px 11px; margin-bottom:5px; border-bottom:1px solid #eaecf0; }.erp-account-summary strong { display:block; color:#1d2939; font-size:.8rem; }.erp-account-summary small { display:block; color:#667085; font-size:.68rem; margin-top:2px; text-transform:capitalize; }
.erp-account-menu a { display:flex; align-items:center; gap:9px; padding:9px 10px; color:#475467; border-radius:7px; text-decoration:none; font-size:.74rem; font-weight:600; }.erp-account-menu a svg { width:15px; height:15px; }.erp-account-menu a:hover { color:#1d2939; background:#f2f4f7; }.erp-account-menu a.is-logout { color:#dc2626; }
.erp-page:not(.erp-light-theme) .erp-account-menu { color:#e2e8f0; background:#171a24; border-color:rgba(255,255,255,.09); box-shadow:0 18px 38px rgba(0,0,0,.38); }.erp-page:not(.erp-light-theme) .erp-account-summary { border-color:rgba(255,255,255,.08); }.erp-page:not(.erp-light-theme) .erp-account-summary strong { color:#fff; }.erp-page:not(.erp-light-theme) .erp-account-summary small, .erp-page:not(.erp-light-theme) .erp-account-menu a { color:#aeb8c8; }.erp-page:not(.erp-light-theme) .erp-account-menu a:hover { color:#fff; background:rgba(255,255,255,.06); }.erp-page:not(.erp-light-theme) .erp-account-menu a.is-logout { color:#f87171; }

.erp-register-class { width:36px; height:36px; color:#ef4444; background:rgba(239,68,68,.09); border:1px solid rgba(239,68,68,.28); }
.erp-register-class span { display:none; }
.erp-register-class:hover { color:#dc2626; background:rgba(239,68,68,.16); border-color:rgba(239,68,68,.4); }
.erp-page:not(.erp-light-theme) .erp-register-class { color:#fca5a5; background:rgba(239,68,68,.12); border-color:rgba(248,113,113,.3); }
.erp-pending-attendance { position:relative; color:#b45309; background:#fffbeb; border:1px solid #fde68a; }
.erp-pending-attendance > span { position:absolute; top:-6px; right:-7px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; color:#fff; background:#dc2626; border:2px solid #fff; border-radius:999px; font-size:.52rem; font-weight:900; line-height:1; }
.erp-pending-attendance:hover { color:#92400e; background:#fef3c7; }
.erp-page:not(.erp-light-theme) .erp-pending-attendance { color:#facc15; background:rgba(250,204,21,.09); border-color:rgba(250,204,21,.25); }
.erp-page:not(.erp-light-theme) .erp-pending-attendance:hover { color:#fde047; background:rgba(250,204,21,.15); }
.erp-page:not(.erp-light-theme) .erp-pending-attendance > span { border-color:#10131c; }
.erp-pending-contract { position:relative; color:#b42318; background:#fef3f2; border:1px solid #fda29b; }
.erp-pending-contract > span { position:absolute; top:-6px; right:-7px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; color:#fff; background:#dc2626; border:2px solid #fff; border-radius:999px; font-size:.62rem; font-weight:900; line-height:1; }
.erp-pending-contract:hover { color:#912018; background:#fee4e2; }
.erp-page:not(.erp-light-theme) .erp-pending-contract { color:#fda29b; background:rgba(240,68,56,.1); border-color:rgba(253,162,155,.3); }
.erp-page:not(.erp-light-theme) .erp-pending-contract > span { border-color:#10131c; }
.erp-account-menu a.is-pending { color:#f04438; font-weight:800; }

.erp-content {
  padding: 28px;
}

.erp-flash-stack { position:fixed; top:18px; right:18px; width:min(390px,calc(100vw - 28px)); max-width:none; margin:0; padding:0; }

.erp-flash-stack .flash-message { padding:12px 10px 12px 14px; border-radius:10px; font-size:.78rem; box-shadow:0 14px 35px rgba(0,0,0,.3); }

/* ERP HERO BANNER */
.erp-hero-banner {
  background: linear-gradient(135deg, #1a2238 0%, #111524 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
  padding: 28px;
  margin-bottom: 24px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
}

.erp-status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--accent-green);
  letter-spacing: 1px;
  margin-bottom: 8px;
}

.live-dot {
  width: 10px;
  height: 10px;
  background-color: var(--accent-green);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--accent-green);
}
.erp-status-indicator.is-overdue { color:#f87171; }
.live-dot.is-overdue { background-color:#ef4444; box-shadow:0 0 10px rgba(239,68,68,.8); }
.student-finance-summary { margin-bottom:28px; text-align:left; }
.student-finance-summary.is-current { background:rgba(37,211,102,.08); border:1px solid rgba(37,211,102,.4); }
.student-finance-summary.is-overdue { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.4); }
.student-overdue-message { display:flex; align-items:center; gap:7px; margin-top:10px; color:#fca5a5 !important; font-size:.74rem !important; font-weight:700; }.student-overdue-message svg { width:16px; height:16px; flex:0 0 auto; }
.erp-light-theme .student-finance-summary.is-current { background:#f0fdf4; border-color:#86efac; }.erp-light-theme .student-finance-summary.is-overdue { background:#fef2f2; border-color:#fca5a5; }.erp-light-theme .student-overdue-message { color:#b42318 !important; }
.checkin-status-panel { margin-bottom:28px; }.checkin-status-panel.is-available, .checkin-status-panel.is-confirmed { background:rgba(37,211,102,.08); border:1px solid rgba(37,211,102,.3); }.checkin-status-panel.is-pending { background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.32); }.checkin-status-panel.is-blocked { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.38); }.checkin-blocked-copy { max-width:650px; margin-top:5px; color:#fca5a5 !important; font-size:.82rem !important; }.checkin-pending-copy { max-width:650px; margin-top:5px; color:#fcd34d !important; font-size:.82rem !important; }.erp-light-theme .checkin-status-panel.is-available, .erp-light-theme .checkin-status-panel.is-confirmed { background:#f0fdf4; border-color:#86efac; }.erp-light-theme .checkin-status-panel.is-pending { background:#fffbeb; border-color:#fcd34d; }.erp-light-theme .checkin-status-panel.is-blocked { background:#fef2f2; border-color:#fca5a5; }.erp-light-theme .checkin-blocked-copy { color:#b42318 !important; }.erp-light-theme .checkin-pending-copy { color:#92400e !important; }
.checkin-status-panel.is-rejected { background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.38); }.checkin-rejected-copy { max-width:650px; margin-top:5px; color:#fca5a5 !important; font-size:.82rem !important; }.erp-light-theme .checkin-status-panel.is-rejected { background:#fef2f2; border-color:#fca5a5; }.erp-light-theme .checkin-rejected-copy { color:#b42318 !important; }
.attendance-history-item > div { display:flex; min-width:0; flex-direction:column; gap:3px; }.attendance-history-item strong { color:#f8fafc; font-size:.8rem; }.attendance-history-item small { color:#7f8a9a; font-size:.67rem; }.attendance-empty-state { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:6px; min-height:150px; color:#778195; text-align:center; }.attendance-empty-state svg { width:25px; height:25px; }.attendance-empty-state strong { color:#d8dee9; font-size:.78rem; }.attendance-empty-state small { font-size:.66rem; }.erp-light-theme .attendance-history-item strong, .erp-light-theme .attendance-empty-state strong { color:#1d2939; }.erp-light-theme .attendance-history-item small, .erp-light-theme .attendance-empty-state { color:#667085; }
.attendance-status-pendente { background: rgba(234, 179, 8, 0.16); color: #fde047; border: 1px solid rgba(234, 179, 8, 0.38); }
.attendance-status-confirmado { background: rgba(34, 197, 94, 0.16); color: #86efac; border: 1px solid rgba(34, 197, 94, 0.38); }
.attendance-status-negado { background: rgba(239, 68, 68, 0.16); color: #fca5a5; border: 1px solid rgba(239, 68, 68, 0.38); }
.experimental-class-box.is-unavailable { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid rgba(59, 130, 246, 0.3); border-radius: 10px; background: rgba(30, 64, 175, 0.1); color: #dbeafe; }
.experimental-class-box.is-unavailable svg { width: 20px; flex: 0 0 20px; color: #60a5fa; }
.experimental-class-box.is-unavailable span { display: flex; flex-direction: column; gap: 2px; }
.experimental-class-box.is-unavailable small { color: #94a3b8; }
.attendance-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:11px; margin-bottom:20px; }.attendance-summary-card { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:11px; min-height:74px; padding:13px 15px; background:#171b25; border:1px solid rgba(255,255,255,.075); border-radius:10px; }.attendance-summary-icon { display:grid; place-items:center; width:34px; height:34px; color:#94a3b8; background:rgba(148,163,184,.08); border-radius:8px; }.attendance-summary-icon svg { width:16px; height:16px; }.attendance-summary-card > div { display:flex; min-width:0; flex-direction:column; gap:2px; }.attendance-summary-card > div span { overflow:hidden; color:#d8dee9; font-size:.7rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.attendance-summary-card > div small { color:#717d90; font-size:.6rem; }.attendance-summary-card > strong { color:#94a3b8; font:800 1.45rem var(--font-heading); }.attendance-summary-card.is-good > strong, .attendance-summary-card.is-good .attendance-summary-icon { color:#4ade80; }.attendance-summary-card.is-below-target > strong, .attendance-summary-card.is-below-target .attendance-summary-icon { color:#f87171; }.attendance-metrics-empty { display:flex; align-items:center; gap:13px; min-height:76px; padding:14px 16px; margin-bottom:20px; background:#171b25; border:1px dashed rgba(148,163,184,.22); border-radius:10px; }.attendance-metrics-empty > span { display:grid; place-items:center; width:36px; height:36px; color:#94a3b8; background:rgba(148,163,184,.08); border-radius:8px; }.attendance-metrics-empty svg { width:17px; height:17px; }.attendance-metrics-empty > div { display:flex; flex-direction:column; gap:3px; }.attendance-metrics-empty strong { color:#d8dee9; font-size:.72rem; }.attendance-metrics-empty small { max-width:700px; color:#778195; font-size:.64rem; line-height:1.45; }.erp-light-theme .attendance-summary-card, .erp-light-theme .attendance-metrics-empty { background:#fff; border-color:#e4e7ec; box-shadow:0 2px 8px rgba(15,23,42,.025); }.erp-light-theme .attendance-summary-icon, .erp-light-theme .attendance-metrics-empty > span { color:#667085; background:#f2f4f7; }.erp-light-theme .attendance-summary-card > div span, .erp-light-theme .attendance-summary-card > strong, .erp-light-theme .attendance-metrics-empty strong { color:#1d2939; }.erp-light-theme .attendance-summary-card > div small, .erp-light-theme .attendance-metrics-empty small { color:#667085; }.erp-light-theme .attendance-summary-card.is-good > strong, .erp-light-theme .attendance-summary-card.is-good .attendance-summary-icon { color:#15803d; }.erp-light-theme .attendance-summary-card.is-below-target > strong, .erp-light-theme .attendance-summary-card.is-below-target .attendance-summary-icon { color:#b42318; }
.attendance-approval-panel { padding:20px; margin-bottom:20px; scroll-margin-top:82px; background:#171b25; border-color:rgba(250,204,21,.18); }.attendance-approval-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:13px; }.attendance-approval-heading span { color:#facc15; font-size:.59rem; font-weight:800; letter-spacing:.13em; }.attendance-approval-heading h3 { margin:2px 0 0; color:#f8fafc; font:800 1rem var(--font-heading); }.attendance-approval-heading > strong { display:grid; place-items:center; width:30px; height:30px; color:#111827; background:#facc15; border-radius:8px; font-size:.8rem; }.attendance-approval-list { display:flex; flex-direction:column; }.attendance-approval-item { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:11px 0; border-top:1px solid rgba(255,255,255,.065); }.attendance-approval-item > div { display:flex; min-width:0; flex-direction:column; gap:3px; }.attendance-approval-item strong { color:#e5e7eb; font-size:.72rem; }.attendance-approval-item small { color:#7f8a9a; font-size:.62rem; }.attendance-approval-empty { display:flex; align-items:center; gap:8px; padding:17px 0 4px; color:#7f8a9a; border-top:1px solid rgba(255,255,255,.065); font-size:.68rem; }.attendance-approval-empty svg { width:17px; height:17px; color:#4ade80; }.erp-light-theme .attendance-approval-panel { background:#fff; border-color:#fde68a; }.erp-light-theme .attendance-approval-heading h3, .erp-light-theme .attendance-approval-item strong { color:#1d2939; }.erp-light-theme .attendance-approval-item, .erp-light-theme .attendance-approval-empty { border-top-color:#eaecf0; }.erp-light-theme .attendance-approval-item small, .erp-light-theme .attendance-approval-empty { color:#667085; }
.attendance-approval-group { overflow:hidden; margin-top:10px; border:1px solid rgba(255,255,255,.07); border-radius:9px; }
.attendance-approval-group > header { display:grid; grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr) auto; align-items:center; gap:12px; padding:9px 12px; background:rgba(255,255,255,.035); }
.attendance-approval-group > header span, .attendance-approval-group > header strong { display:flex; align-items:center; gap:6px; color:#d8dee9; font-size:.66rem; }
.attendance-approval-group > header strong { color:#facc15; }
.attendance-approval-group > header small { color:#8c96a7; font-size:.58rem; font-weight:700; text-align:right; }
.attendance-approval-group > header svg { width:14px; height:14px; }
.attendance-approval-group .attendance-approval-item { padding:10px 12px; }
.attendance-approval-group .attendance-approval-item:first-of-type { border-top-color:rgba(255,255,255,.07); }
.attendance-approval-actions { display:flex !important; align-items:center; flex-direction:row !important; gap:7px !important; flex:0 0 auto; }
.attendance-approval-actions form { margin:0; }
.btn-deny-attendance { color:#fca5a5; background:rgba(239,68,68,.08); border:1px solid rgba(248,113,113,.25); }
.btn-deny-attendance:hover { color:#fff; background:#dc2626; border-color:#dc2626; }
.erp-light-theme .btn-deny-attendance { color:#b42318; background:#fef2f2; border-color:#fca5a5; }
.erp-light-theme .btn-deny-attendance:hover { color:#fff; background:#dc2626; border-color:#dc2626; }
.attendance-confirm-toast { position:fixed; top:82px; right:18px; z-index:11000; display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; width:min(370px,calc(100vw - 28px)); padding:15px; color:#e5e7eb; background:rgba(23,27,37,.98); border:1px solid rgba(248,113,113,.35); border-radius:12px; box-shadow:0 18px 45px rgba(0,0,0,.42); backdrop-filter:blur(16px); animation:flash-arrive .2s ease-out both; transition:opacity .18s,transform .18s; }
.attendance-confirm-toast.is-leaving { opacity:0; transform:translateX(20px); }
.attendance-confirm-icon { display:grid; place-items:center; width:36px; height:36px; color:#fca5a5; background:rgba(239,68,68,.12); border-radius:9px; }
.attendance-confirm-icon svg { width:18px; height:18px; }
.attendance-confirm-copy { min-width:0; }
.attendance-confirm-copy strong { display:block; color:#f8fafc; font-size:.78rem; }
.attendance-confirm-copy small { display:block; margin-top:3px; color:#9ca3af; font-size:.64rem; line-height:1.4; }
.attendance-confirm-actions { display:flex; justify-content:flex-end; gap:7px; margin-top:12px; }
.attendance-confirm-actions button { padding:7px 10px; color:#cbd5e1; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:7px; font-size:.65rem; font-weight:700; cursor:pointer; }
.attendance-confirm-actions button:hover { color:#fff; background:rgba(255,255,255,.1); }
.attendance-confirm-actions button.is-danger { color:#fff; background:#dc2626; border-color:#dc2626; }
.attendance-confirm-actions button.is-danger:hover { background:#b91c1c; }
.attendance-confirm-actions button:disabled { opacity:.65; cursor:wait; }
.erp-light-theme .attendance-confirm-toast { color:#344054; background:rgba(255,255,255,.98); border-color:#fda29b; box-shadow:0 18px 42px rgba(15,23,42,.18); }
.erp-light-theme .attendance-confirm-copy strong { color:#1d2939; }
.erp-light-theme .attendance-confirm-copy small { color:#667085; }
.erp-light-theme .attendance-confirm-actions button { color:#475467; background:#f8fafc; border-color:#d0d5dd; }
.erp-light-theme .attendance-confirm-actions button.is-danger { color:#fff; background:#dc2626; border-color:#dc2626; }
.erp-light-theme .attendance-approval-group { border-color:#e4e7ec; }
.erp-light-theme .attendance-approval-group > header { background:#f8fafc; }
.erp-light-theme .attendance-approval-group > header span { color:#344054; }
.erp-light-theme .attendance-approval-group > header strong { color:#a16207; }
.erp-light-theme .attendance-approval-group > header small { color:#667085; }

.erp-hero-heading {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 2.2rem;
  color: #ffffff;
  margin-bottom: 4px;
}

.erp-hero-sub {
  color: var(--text-muted);
  font-size: 0.95rem;
}

.erp-light-theme .erp-hero-banner {
  background: linear-gradient(135deg, #ffffff 0%, #f7faf9 100%);
  border-color: #dfe7e3;
  box-shadow: 0 5px 16px rgba(15, 23, 42, 0.07);
}

.erp-light-theme .erp-hero-heading {
  color: #172033;
}

.erp-light-theme .erp-hero-sub {
  color: #667085;
}

.erp-light-theme .erp-status-indicator {
  color: #15803d;
}

.erp-light-theme .live-dot {
  background-color: #22c55e;
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

.erp-light-theme .erp-status-indicator.is-overdue {
  color: #b42318;
}

.erp-light-theme .live-dot.is-overdue {
  background-color: #ef4444;
  box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.12);
}

/* CARDS DE MÉTRICA & RANKING ESTILO IMAGEM */
.erp-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 20px;
}

.mensalidades-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Resumo financeiro compacto: leitura rápida sem competir com a planilha. */
.mensalidades-summary-minimal {
  gap: 12px;
  margin-bottom: 20px;
}

.mensalidades-summary-minimal .erp-metric-card {
  position: relative;
  min-height: 64px;
  padding: 12px 14px 12px 16px;
  border-radius: 8px;
  background: rgba(21, 24, 34, 0.48);
  border-color: rgba(255, 255, 255, 0.055);
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  overflow: hidden;
}

.mensalidades-summary-minimal .erp-metric-card::before {
  content: "";
  position: absolute;
  inset: 18px auto 18px 0;
  width: 2px;
  border-radius: 2px;
  background: #94a3b8;
  opacity: 0.65;
}

.mensalidades-summary-minimal .erp-metric-card:nth-child(2)::before { background: #60a5fa; }
.mensalidades-summary-minimal .erp-metric-card:nth-child(3)::before { background: var(--accent-gold); }
.mensalidades-summary-minimal .erp-metric-card:nth-child(4)::before { background: #4ade80; }

.mensalidades-summary-minimal .erp-card-label {
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.mensalidades-summary-minimal .erp-card-big-number {
  flex: 0 0 auto;
  font-size: 1.4rem;
  line-height: 1;
  margin: 0;
}

.mensalidades-summary-minimal .erp-card-foot {
  display: none;
}

.mensalidades-filter-btn {
  flex: 1;
  min-height: 36px;
  padding: 8px 14px;
  color: #cbd5e1;
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(148, 163, 184, 0.24);
  box-shadow: none;
}

.mensalidades-filter-btn:hover {
  color: #ffffff;
  background: rgba(96, 165, 250, 0.1);
  border-color: rgba(96, 165, 250, 0.38);
  transform: none;
  box-shadow: none;
}

.fee-exempt-badge { color:#d8b4fe; background:rgba(126,34,206,.14); border:1px solid rgba(168,85,247,.36); }
.fee-exempt-value { display:block; color:#c084fc; font:.9rem var(--font-heading); }.fee-exempt-caption { display:block; margin-top:2px; color:#a78bfa; font-size:.55rem; font-weight:800; letter-spacing:.08em; }
.fee-exempt-no-charge { display:inline-flex; align-items:center; gap:5px; padding:5px 8px; color:#c4b5fd; background:rgba(124,58,237,.1); border:1px solid rgba(167,139,250,.24); border-radius:6px; font-size:.64rem; font-weight:700; }.fee-exempt-no-charge svg { width:14px; height:14px; }
.monthly-detail-drawer { padding:14px 20px !important; background:rgba(8,8,14,.98) !important; border-bottom:2px solid rgba(255,255,255,.1) !important; }
.fee-exempt-text { color:#c084fc; font-weight:800; }
.fee-exemption-form { margin-top:11px; }
.fee-exemption-form > label { display:flex; align-items:flex-start; gap:9px; cursor:pointer; }
.fee-exemption-form input[type="checkbox"] { width:17px; height:17px; margin-top:1px; accent-color:#7c3aed; cursor:pointer; }
.fee-exemption-form label > span { display:flex; flex-direction:column; gap:2px; }.fee-exemption-form label strong { color:#e9d5ff; font-size:.7rem; }.fee-exemption-form label small, .fee-exemption-audit { color:#8f80a6; font-size:.58rem; }
.fee-exemption-audit { display:block; margin:5px 0 0 26px; }
.fee-exempt-summary { display:flex; align-items:center; gap:10px; max-width:360px; padding:11px 13px; color:#d8b4fe; background:rgba(124,58,237,.09); border:1px solid rgba(167,139,250,.2); border-radius:8px; }.fee-exempt-summary > svg { width:19px; height:19px; flex:0 0 auto; }.fee-exempt-summary > div { display:flex; flex-direction:column; gap:2px; }.fee-exempt-summary strong { font-size:.68rem; }.fee-exempt-summary small { color:#9586aa; font-size:.58rem; line-height:1.35; }
.erp-light-theme .fee-exempt-badge { color:#6b21a8; background:#faf5ff; border-color:#d8b4fe; }.erp-light-theme .fee-exempt-value, .erp-light-theme .fee-exempt-text { color:#7e22ce; }.erp-light-theme .fee-exempt-caption { color:#7e22ce; }.erp-light-theme .fee-exempt-no-charge { color:#6b21a8; background:#faf5ff; border-color:#e9d5ff; }
.erp-light-theme .monthly-detail-drawer { background:#f8fafc !important; border-bottom-color:#d0d5dd !important; }.erp-light-theme .monthly-detail-drawer > div > div > strong { color:#1d2939 !important; }.erp-light-theme .fee-exemption-form label strong { color:#581c87; }.erp-light-theme .fee-exemption-form label small, .erp-light-theme .fee-exemption-audit { color:#667085; }.erp-light-theme .fee-exempt-summary { color:#6b21a8; background:#faf5ff; border-color:#e9d5ff; }.erp-light-theme .fee-exempt-summary small { color:#667085; }

.financial-report-trigger { color:#dbeafe; background:rgba(59,130,246,.11); border:1px solid rgba(96,165,250,.28); }
.financial-report-trigger:hover { color:#fff; background:rgba(59,130,246,.2); border-color:rgba(96,165,250,.45); }
.financial-report-backdrop { position:fixed; inset:0; z-index:12000; display:grid; place-items:center; padding:20px; background:rgba(3,7,18,.66); backdrop-filter:blur(5px); }
.financial-report-dialog { position:relative; width:min(680px,100%); max-height:calc(100vh - 40px); overflow:auto; color:#d8dee9; background:#171b25; border:1px solid rgba(255,255,255,.1); border-radius:14px; box-shadow:0 24px 70px rgba(0,0,0,.5); animation:flash-arrive .2s ease-out both; }
.financial-report-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px 16px; border-bottom:1px solid rgba(255,255,255,.075); }
.financial-report-header span { color:#60a5fa; font-size:.58rem; font-weight:800; letter-spacing:.14em; }
.financial-report-header h2 { margin:4px 0; color:#f8fafc; font:800 1.1rem var(--font-heading); }
.financial-report-header p { color:#7f8a9a; font-size:.68rem; }
.financial-report-header > button { display:grid; place-items:center; width:30px; height:30px; padding:0; color:#94a3b8; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); border-radius:7px; cursor:pointer; }
.financial-report-header > button svg { width:16px; height:16px; }
.financial-report-dialog form { padding:18px 22px 20px; }
.financial-report-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:0; margin:0 0 16px; border:0; }
.financial-report-options legend { grid-column:1 / -1; margin-bottom:7px; color:#aab4c3; font-size:.65rem; font-weight:700; }
.financial-report-options label { position:relative; cursor:pointer; }
.financial-report-options label > input { position:absolute; opacity:0; pointer-events:none; }
.financial-report-options label > span { display:grid; grid-template-columns:30px minmax(0,1fr); column-gap:9px; min-height:62px; padding:11px 12px; color:#d8dee9; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:9px; transition:border-color .18s,background .18s; }
.financial-report-options label > span > svg { grid-row:1 / span 2; align-self:center; width:20px; height:20px; color:#7f8a9a; }
.financial-report-options label strong { align-self:end; font-size:.72rem; }
.financial-report-options label small { color:#778195; font-size:.59rem; }
.financial-report-options label:has(input:checked) > span { color:#fff; background:rgba(59,130,246,.1); border-color:rgba(96,165,250,.5); box-shadow:inset 0 0 0 1px rgba(96,165,250,.08); }
.financial-report-options label:has(input:checked) svg { color:#60a5fa; }
.financial-report-period { display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:11px; padding:14px; margin-bottom:13px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.07); border-radius:9px; }
.financial-report-period > div { display:flex; flex-direction:column; gap:6px; }
.financial-report-period label { color:#aab4c3; font-size:.63rem; font-weight:700; }
.financial-report-period input { min-height:38px; padding:7px 9px; color:#e2e8f0; background:#11141d; border:1px solid rgba(255,255,255,.1); border-radius:7px; color-scheme:dark; }
.financial-report-period > svg { width:16px; height:16px; margin-bottom:11px; color:#667085; }
.financial-report-scope { display:flex; align-items:center; gap:18px; margin-bottom:15px; color:#9ca8b9; font-size:.64rem; }
.financial-report-scope label { display:flex; align-items:center; gap:6px; cursor:pointer; }
.financial-report-scope input { accent-color:#3b82f6; }
.financial-report-progress { padding:11px 12px; margin:4px 0 13px; background:rgba(59,130,246,.06); border:1px solid rgba(96,165,250,.18); border-radius:8px; }
.financial-report-progress > div:first-child { display:flex; justify-content:space-between; gap:12px; margin-bottom:7px; color:#aeb8c8; font-size:.62rem; }.financial-report-progress > div:first-child strong { color:#93c5fd; }
.financial-report-progress-track { height:6px; overflow:hidden; background:rgba(255,255,255,.07); border-radius:999px; }.financial-report-progress-track span { display:block; width:0; height:100%; background:linear-gradient(90deg,#2563eb,#60a5fa); border-radius:inherit; transition:width .25s ease; }
.financial-report-dialog form.is-processing .financial-report-progress { position:absolute; inset:0; z-index:5; display:flex; justify-content:center; flex-direction:column; padding:clamp(28px,8vw,80px); margin:0; background:rgba(17,20,29,.97); border:0; border-radius:14px; backdrop-filter:blur(10px); }
.financial-report-dialog form.is-processing .financial-report-progress::before { content:""; align-self:center; width:42px; height:42px; margin-bottom:18px; border:4px solid rgba(96,165,250,.2); border-top-color:#60a5fa; border-radius:50%; animation:report-progress-spin .75s linear infinite; }
.financial-report-dialog form.is-processing .financial-report-progress > div:first-child { margin-bottom:12px; font-size:.72rem; }
.financial-report-dialog form.is-processing .financial-report-progress-track { height:9px; background:rgba(255,255,255,.1); }
@keyframes report-progress-spin { to { transform:rotate(360deg); } }
.financial-report-error { padding:9px 11px; margin:0 0 12px; color:#fca5a5; background:rgba(239,68,68,.08); border:1px solid rgba(248,113,113,.25); border-radius:7px; font-size:.65rem; }
.financial-report-footer { display:flex; justify-content:flex-end; gap:8px; padding-top:14px; border-top:1px solid rgba(255,255,255,.07); }
.financial-report-footer button { min-width:105px; }
.erp-light-theme .financial-report-backdrop { background:rgba(15,23,42,.36); }
.erp-light-theme .financial-report-dialog { color:#344054; background:#fff; border-color:#d0d5dd; box-shadow:0 24px 65px rgba(15,23,42,.22); }
.erp-light-theme .financial-report-header { border-bottom-color:#eaecf0; }.erp-light-theme .financial-report-header h2 { color:#1d2939; }.erp-light-theme .financial-report-header p { color:#667085; }.erp-light-theme .financial-report-header > button { color:#667085; background:#f8fafc; border-color:#e4e7ec; }
.erp-light-theme .financial-report-options legend, .erp-light-theme .financial-report-period label { color:#475467; }
.erp-light-theme .financial-report-options label > span { color:#344054; background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .financial-report-options label small { color:#667085; }.erp-light-theme .financial-report-options label:has(input:checked) > span { color:#1d2939; background:#eff6ff; border-color:#93c5fd; }
.erp-light-theme .financial-report-period { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .financial-report-period input { color:#344054; background:#fff; border-color:#d0d5dd; color-scheme:light; }
.erp-light-theme .financial-report-scope { color:#475467; }.erp-light-theme .financial-report-progress { background:#eff6ff; border-color:#bfdbfe; }.erp-light-theme .financial-report-progress > div:first-child { color:#475467; }.erp-light-theme .financial-report-progress-track { background:#dbeafe; }.erp-light-theme .financial-report-footer { border-top-color:#eaecf0; }
.erp-light-theme .financial-report-dialog form.is-processing .financial-report-progress { background:rgba(255,255,255,.98); }

/* Dashboard financeiro */
.finance-dashboard-content { display: flex; flex-direction: column; gap: 18px; }
.finance-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; }
.finance-eyebrow, .finance-panel-header > div > span { color: #60a5fa; font-size: .67rem; font-weight: 800; letter-spacing: .12em; }
.finance-title-row h1 { color: #fff; font: 800 1.65rem/1.15 var(--font-heading); margin: 4px 0; }
.finance-title-row p { color: var(--text-muted); font-size: .86rem; }
.finance-record-count { display: inline-flex; align-items: center; gap: 7px; color: #cbd5e1; font-size: .76rem; padding: 7px 10px; border: 1px solid var(--border-light); border-radius: 7px; }
.finance-record-count svg { width: 14px; }
.finance-filter-bar { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)) auto; align-items: end; gap: 10px; padding: 13px; background: rgba(21,24,34,.55); border: 1px solid rgba(255,255,255,.065); border-radius: 9px; }
.finance-filter-bar label { display: flex; flex-direction: column; gap: 5px; color: var(--text-muted); font-size: .68rem; font-weight: 700; }
.finance-filter-bar select { min-height: 35px; padding: 6px 9px; font-size: .78rem; color: #e2e8f0; background: #11141d; border: 1px solid rgba(255,255,255,.09); border-radius: 6px; }
.finance-filter-submit { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 35px; padding: 7px 13px; color: #dbeafe; background: rgba(59,130,246,.12); border: 1px solid rgba(96,165,250,.25); border-radius: 6px; cursor: pointer; }
.finance-filter-submit:hover { background: rgba(59,130,246,.2); }
.finance-filter-submit svg { width: 14px; }
.finance-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.finance-kpi { position: relative; display: flex; flex-direction: column; gap: 5px; min-height: 105px; padding: 15px 16px; overflow: hidden; background: rgba(21,24,34,.66); border: 1px solid rgba(255,255,255,.065); border-radius: 9px; }
.finance-kpi::before { content:""; position:absolute; inset: 18px auto 18px 0; width:2px; background:#94a3b8; }
.finance-kpi.is-positive::before { background:#4ade80; }.finance-kpi.is-warning::before { background:#fb923c; }.finance-kpi.is-blue::before { background:#60a5fa; }
.finance-kpi span { color: var(--text-muted); font-size: .73rem; }.finance-kpi strong { color:#fff; font:800 1.5rem var(--font-heading); }.finance-kpi small { margin-top:auto; color:var(--text-dim); font-size:.67rem; }
.finance-main-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(230px,.72fr); gap:14px; }
.finance-bottom-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:14px; }
.finance-panel { min-width:0; padding:17px; background:rgba(21,24,34,.66); border:1px solid rgba(255,255,255,.065); border-radius:9px; }
.finance-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:16px; }.finance-panel-header h2 { color:#fff; font:700 1rem var(--font-heading); margin-top:3px; }.finance-panel-header a { color:#60a5fa; font-size:.72rem; text-decoration:none; }
.finance-legend { display:flex; gap:14px; color:var(--text-muted); font-size:.67rem; }.finance-legend span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:5px; border-radius:2px; }.finance-legend .expected::before { background:#334155; }.finance-legend .received::before { background:#3b82f6; }
.finance-chart { display:flex; align-items:stretch; gap:9px; height:210px; padding-top:8px; }.finance-chart-column { flex:1; min-width:0; display:flex; flex-direction:column; align-items:center; gap:7px; }.finance-bars { width:100%; flex:1; display:flex; justify-content:center; align-items:flex-end; gap:3px; border-bottom:1px solid rgba(255,255,255,.07); }.finance-bar { width:min(11px,42%); min-height:2px; border-radius:3px 3px 0 0; transition:height .3s; }.finance-bar.expected { background:#334155; }.finance-bar.received { background:#3b82f6; }.finance-chart-column.is-current .finance-bar.received { background:#60a5fa; box-shadow:0 0 12px rgba(96,165,250,.25); }.finance-chart-column small { color:var(--text-dim); font-size:.62rem; }
.finance-rate-panel { display:flex; flex-direction:column; }.finance-donut { --size:132px; width:var(--size); height:var(--size); margin:6px auto 18px; display:grid; place-items:center; border-radius:50%; background:conic-gradient(#3b82f6 calc(var(--rate) * 1%), #252a37 0); position:relative; }.finance-donut::after { content:""; position:absolute; inset:12px; background:#171a24; border-radius:50%; }.finance-donut > div { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }.finance-donut strong { color:#fff; font:800 1.35rem var(--font-heading); }.finance-donut span { color:var(--text-muted); font-size:.66rem; }
.finance-rate-values { display:flex; flex-direction:column; gap:9px; }.finance-rate-values > span { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px; color:var(--text-muted); font-size:.7rem; }.finance-rate-values strong { color:#e2e8f0; }.dot { width:7px; height:7px; border-radius:50%; }.dot.paid { background:#3b82f6; }.dot.pending { background:#fb923c; }
.finance-debt-list { display:flex; flex-direction:column; }.finance-debt-list > div { display:grid; grid-template-columns:25px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 0; border-top:1px solid rgba(255,255,255,.055); }.finance-debt-list > div:first-child { border-top:0; }.finance-debt-rank { display:grid; place-items:center; width:22px; height:22px; color:var(--text-muted); background:rgba(255,255,255,.05); border-radius:5px; font-size:.67rem; }.finance-debt-list strong { color:#e2e8f0; font-size:.76rem; }.finance-debt-list small { display:block; color:var(--text-dim); font-size:.64rem; margin-top:2px; }.finance-debt-value { text-align:right; }.finance-debt-value strong { color:#fb923c; }
.finance-due-list { display:flex; flex-direction:column; gap:18px; padding-top:5px; }.finance-due-list > div { display:grid; grid-template-columns:45px 1fr 22px; align-items:center; gap:9px; color:var(--text-muted); font-size:.72rem; }.finance-due-list > div > div { height:6px; overflow:hidden; background:#252a37; border-radius:8px; }.finance-due-list i { display:block; height:100%; background:#3b82f6; border-radius:8px; }.finance-due-list strong { color:#e2e8f0; text-align:right; }
.finance-empty { min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:var(--text-muted); text-align:center; }.finance-empty svg { color:#4ade80; }.finance-empty strong { color:#e2e8f0; font-size:.8rem; }.finance-empty span { font-size:.68rem; }

/* Tema claro completo das páginas internas */
body.erp-page { transition: background-color .22s ease, color .22s ease; }
body.erp-page.erp-light-theme {
  --bg-dark: #eef1f6;
  --bg-card: #ffffff;
  --erp-bg-sidebar: #ffffff;
  --erp-bg-active: #eaf1fb;
  --erp-bg-main: #f3f5f8;
  --erp-bg-card: #ffffff;
  --text-main: #243044;
  --text-muted: #667085;
  --text-dim: #98a2b3;
  --border-light: rgba(15, 23, 42, .10);
  color-scheme: light;
  background: var(--erp-bg-main);
}
.erp-light-theme .erp-sidebar { box-shadow: 3px 0 12px rgba(15,23,42,.04); }
.erp-light-theme .erp-brand-logo { content:url("/static/img/favicon.png"); width:42px; height:42px; object-fit:contain; filter:none; }
.erp-light-theme .erp-brand-name { color:#1d2939; }
.erp-light-theme .erp-brand-sub, .erp-light-theme .erp-group-title { color:#667085; }
.erp-light-theme .erp-group-title:hover { color:#1d2939; }
.erp-light-theme .erp-nav-item { color:#667085; }
.erp-light-theme .erp-nav-item:hover { color:#1d2939; background:#f2f4f7; }
.erp-light-theme .erp-nav-item.active { color:#1d2939; background:#eaf1fb !important; box-shadow:inset 0 0 0 1px rgba(49,91,155,.10); }
.erp-light-theme .erp-nav-item[style] { background:transparent !important; border-color:transparent !important; }
.erp-light-theme .erp-nav-item.active[style] { background:#eaf1fb !important; border-color:rgba(49,91,155,.15) !important; }
.erp-light-theme .erp-main-container, .erp-light-theme .erp-wrapper { background:var(--erp-bg-main); }
.erp-light-theme .erp-content .glass-panel,
.erp-light-theme .erp-content .member-card-panel,
.erp-light-theme .erp-metric-card,
.erp-light-theme .erp-ranking-card,
.erp-light-theme .finance-filter-bar,
.erp-light-theme .finance-kpi,
.erp-light-theme .finance-panel { background:#ffffff !important; border-color:rgba(15,23,42,.09) !important; box-shadow:0 3px 12px rgba(15,23,42,.035); }
.erp-light-theme .mensalidades-summary-minimal .erp-metric-card { background:#fff; }
.erp-light-theme .erp-content h1,
.erp-light-theme .erp-content h2,
.erp-light-theme .erp-content h3,
.erp-light-theme .erp-content h4,
.erp-light-theme .erp-card-big-number,
.erp-light-theme .erp-ranking-header h3,
.erp-light-theme .rank-info strong,
.erp-light-theme .class-item-info h5,
.erp-light-theme .finance-kpi strong,
.erp-light-theme .finance-panel-header h2,
.erp-light-theme .finance-donut strong,
.erp-light-theme .finance-rate-values strong,
.erp-light-theme .finance-debt-list strong,
.erp-light-theme .finance-due-list strong,
.erp-light-theme .finance-empty strong { color:#1d2939 !important; }
.erp-light-theme .erp-content p,
.erp-light-theme .erp-content label,
.erp-light-theme .erp-card-label,
.erp-light-theme .erp-card-foot { color:#667085; }
.erp-light-theme .modal-form input[type="text"],
.erp-light-theme .modal-form input[type="tel"],
.erp-light-theme .modal-form input[type="password"],
.erp-light-theme .modal-form select,
.erp-light-theme .finance-filter-bar select,
.erp-light-theme .erp-content input,
.erp-light-theme .erp-content select,
.erp-light-theme .erp-content textarea { color:#344054 !important; background-color:#ffffff !important; border-color:#d0d5dd !important; box-shadow:none; }
.erp-light-theme .modal-form select option,
.erp-light-theme .erp-content select option { color:#344054; background:#ffffff; }
.erp-light-theme .schedule-table th { color:#667085; background:#f8fafc; }
.erp-light-theme .schedule-table td { color:#344054; border-bottom-color:#eaecf0; }
.erp-light-theme .schedule-table td strong { color:#1d2939 !important; }
.erp-light-theme .minimal-row:hover, .erp-light-theme .ranking-item { background:#f8fafc; }
.erp-light-theme .circle-arrow-btn, .erp-light-theme .btn-expand-months, .erp-light-theme .btn-secondary { color:#344054; background:#f2f4f7; }
.erp-light-theme .finance-record-count { color:#475467; background:#fff; }
.erp-light-theme .finance-chart .finance-bars { border-bottom-color:#e4e7ec; }
.erp-light-theme .finance-bar.expected { background:#cbd5e1; }
.erp-light-theme .finance-donut { background:conic-gradient(#3b82f6 calc(var(--rate) * 1%), #e4e7ec 0); }
.erp-light-theme .finance-donut::after { background:#ffffff; }
.erp-light-theme .finance-debt-list > div { border-top-color:#eaecf0; }
.erp-light-theme .finance-debt-rank { background:#f2f4f7; }
.erp-light-theme .finance-due-list > div > div { background:#e4e7ec; }
.erp-light-theme .month-drawer-row td { background:#f8fafc !important; }
.erp-light-theme .flash-message { background:#ffffff; }
.erp-light-theme .flash-success { color:#15803d; background:#f0fdf4; border-color:#86efac; }
.erp-light-theme .flash-error { color:#b42318; background:#fef3f2; border-color:#fda29b; }
.erp-light-theme .flash-warning, .erp-light-theme .flash-info { color:#92400e; background:#fffbeb; border-color:#fcd34d; }

.erp-metric-card {
  background: var(--erp-bg-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.erp-card-label {
  font-size: 0.8rem;
  color: var(--text-dim);
  font-weight: 600;
}

.erp-card-big-number {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 3rem;
  color: var(--erp-blue);
  line-height: 1.1;
  margin: 12px 0 4px 0;
}

.erp-card-foot {
  font-size: 0.8rem;
  color: var(--text-muted);
}

.erp-ranking-card {
  background: var(--erp-bg-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: 24px;
  grid-column: span 2;
}

.erp-ranking-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.erp-ranking-header h3 {
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 1.2rem;
  color: #ffffff;
}

.erp-nav-arrows {
  display: flex;
  gap: 8px;
}

.circle-arrow-btn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid var(--border-light);
  color: var(--text-main);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}

.circle-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.2);
}

.erp-ranking-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ranking-item {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(0, 0, 0, 0.25);
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-light);
}

.rank-pos {
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.1rem;
  color: var(--accent-gold);
}

.rank-info {
  flex: 1;
}

.rank-info strong {
  display: block;
  font-size: 0.95rem;
  color: #ffffff;
}

.rank-info small {
  color: var(--text-muted);
  font-size: 0.8rem;
}

/* ESTILOS DOS BOTÕES EXPANDÍVEIS DE MÊS DA MENSALIDADE (+ EXPANDE PARA BAIXO) */
.btn-expand-months {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-light);
  color: var(--text-main);
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  font-weight: 700;
  transition: all 0.2s ease;
}

.btn-expand-months:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
}

.btn-expand-months i {
  width: 14px;
  height: 14px;
  transition: transform 0.25s ease;
}

.btn-expand-months.active i {
  transform: rotate(45deg);
}

.month-badges-container {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.month-badge-pill {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  font-family: var(--font-heading);
  font-weight: 800;
  font-size: 0.85rem;
  text-align: center;
  transition: transform 0.2s ease;
}

.month-badge-pill:hover {
  transform: scale(1.08);
}

.month-badge-pill small {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 1px;
}

/* 🟢 VERDE = PAGO */
.month-status-pago {
  background: rgba(37, 211, 102, 0.18);
  border: 1px solid #25d366;
  color: #25d366;
  box-shadow: 0 0 8px rgba(37, 211, 102, 0.25);
}

/* 🟠 LARANJA = ATRASADO */
.month-status-atrasado {
  background: rgba(249, 115, 22, 0.2);
  border: 1px solid #f97316;
  color: #f97316;
  box-shadow: 0 0 10px rgba(249, 115, 22, 0.35);
}

/* ⚪ BRANCO = A VENCER (FUTURO) */
.month-status-futuro {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #ffffff;
}

.month-status-isento, .month-status-isento:disabled {
  color:#c084fc;
  background:rgba(126,34,206,.15);
  border:1px solid rgba(192,132,252,.45);
  box-shadow:none;
  cursor:default;
  opacity:1;
}
.month-status-isento:hover { transform:none; }
.erp-light-theme .month-status-isento, .erp-light-theme .month-status-isento:disabled { color:#7e22ce; background:#faf5ff; border-color:#d8b4fe; }

/* Base Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 20px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  text-decoration: none;
}

.btn-primary { background: linear-gradient(135deg, var(--primary-red), #b90610); color: #fff; }
.btn-glow { box-shadow: 0 0 15px var(--primary-red-glow); }
.btn-secondary { background: rgba(255, 255, 255, 0.08); border: 1px solid var(--border-light); color: var(--text-main); }
.btn-lg { padding: 14px 28px; font-size: 1.05rem; }
.btn-block { width: 100%; }

/* Hero Section */
.hero-section {
  position: relative;
  padding: 90px 0 110px 0;
  background: radial-gradient(circle at 70% 30%, rgba(229, 9, 20, 0.18) 0%, transparent 60%);
}

.page-hero { padding: 70px 0 50px 0; }
.hero-content { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 60px; align-items: center; }

.badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: rgba(229, 9, 20, 0.14);
  border: 1px solid var(--border-red);
  border-radius: var(--radius-full);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--primary-red);
}

.badge-pill.bg-green { background: rgba(37, 211, 102, 0.14); border-color: rgba(37, 211, 102, 0.4); color: #4ade80; }

.hero-title { font-family: var(--font-heading); font-weight: 900; font-size: 3.4rem; line-height: 1.1; margin-bottom: 20px; letter-spacing: -1px; }
.highlight-red { color: var(--primary-red); text-shadow: 0 0 20px rgba(229, 9, 20, 0.4); }
.hero-desc { font-size: 1.15rem; color: var(--text-muted); margin-bottom: 32px; max-width: 580px; }
.hero-buttons { display: flex; gap: 16px; margin-bottom: 48px; }
.hero-stats { display: flex; align-items: center; gap: 28px; padding-top: 24px; border-top: 1px solid var(--border-light); }
.stat-card { display: flex; flex-direction: column; }
.stat-number { font-family: var(--font-heading); font-weight: 800; font-size: 2rem; color: var(--text-main); }
.stat-label { font-size: 0.85rem; color: var(--text-muted); }
.stat-divider { width: 1px; height: 40px; background: var(--border-light); }

.logo-hero-wrapper { position: relative; display: flex; justify-content: center; align-items: center; }
.hero-logo-img { width: 320px; height: auto; z-index: 2; filter: drop-shadow(0 0 25px rgba(229, 9, 20, 0.6)); animation: floatLogo 4s ease-in-out infinite; }
@keyframes floatLogo { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

.glowing-ring { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: conic-gradient(from 0deg, var(--primary-red), transparent, var(--accent-gold), var(--primary-red)); filter: blur(40px); opacity: 0.35; animation: rotateRing 10s linear infinite; }
@keyframes rotateRing { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.section { padding: 90px 0; }
.section-header { margin-bottom: 56px; }
.section-badge { font-size: 0.8rem; font-weight: 700; letter-spacing: 2px; color: var(--primary-red); }
.section-title { font-family: var(--font-heading); font-weight: 900; font-size: 2.5rem; margin-top: 6px; margin-bottom: 12px; }
.section-subtitle { color: var(--text-muted); font-size: 1.05rem; }
.text-center { text-align: center; }

.glass-panel { background: var(--bg-card); backdrop-filter: blur(16px); border: 1px solid var(--border-light); border-radius: var(--radius-lg); padding: 32px; }

.portal-section { padding: 20px 0 100px 0; }
.login-page-section { min-height:calc(100vh - 78px); display:flex; align-items:flex-start; padding-top:34px; background:radial-gradient(circle at 22% 28%,rgba(229,9,20,.09),transparent 34%); }
.portal-auth-container { max-width:1180px; }
.portal-auth-shell { display:grid; grid-template-columns:minmax(380px,1fr) minmax(470px,1.08fr); gap:18px; align-items:stretch; }
.portal-auth-intro { position:relative; min-height:520px; display:flex; flex-direction:column; padding:34px; overflow:hidden; background:linear-gradient(150deg,#231114 0%,#12131b 52%,#151822 100%); border:1px solid rgba(229,9,20,.2); border-radius:18px; box-shadow:0 20px 55px rgba(0,0,0,.28); }
.portal-auth-intro::after { content:""; position:absolute; right:-90px; bottom:-110px; width:260px; height:260px; border:42px solid rgba(229,9,20,.07); border-radius:50%; }
.portal-intro-brand { position:relative; z-index:1; display:flex; align-items:center; gap:11px; }.portal-intro-brand img { width:43px; height:43px; object-fit:contain; }.portal-intro-brand div { display:flex; flex-direction:column; }.portal-intro-brand strong { color:#fff; font:800 1rem var(--font-heading); }.portal-intro-brand span { color:#f87171; font-size:.58rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.portal-intro-copy { position:relative; z-index:1; margin-top:58px; }.portal-intro-eyebrow { color:#f87171; font-size:.65rem; font-weight:800; letter-spacing:.16em; }.portal-intro-copy h1 { max-width:320px; margin:7px 0 12px; color:#fff; font:800 2.15rem/1.08 var(--font-heading); }.portal-intro-copy p { max-width:350px; color:#aeb8c8; font-size:.83rem; line-height:1.6; }
.portal-intro-benefits { position:relative; z-index:1; display:flex; flex-direction:column; gap:16px; margin-top:28px; list-style:none; }.portal-intro-benefits li { display:flex; align-items:center; gap:11px; }.portal-intro-benefits li > svg { width:18px; height:18px; color:#f87171; }.portal-intro-benefits span { display:flex; flex-direction:column; }.portal-intro-benefits strong { color:#e5e7eb; font-size:.75rem; }.portal-intro-benefits small { color:#7f8a9a; font-size:.64rem; }
.portal-intro-support { position:relative; z-index:1; display:flex; align-items:center; gap:7px; margin-top:22px; color:#98a2b3; font-size:.67rem; }.portal-intro-support svg { width:14px; height:14px; }
.portal-card { min-width:0; padding:34px 36px; background: rgba(18, 18, 26, 0.95); border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 18px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.42); }

.portal-tabs { display: flex; gap: 8px; background: rgba(0, 0, 0, 0.4); padding: 6px; border-radius: var(--radius-md); margin-bottom: 28px; }
.portal-tab-btn { flex: 1; padding: 12px; background: transparent; border: none; color: var(--text-muted); font-family: var(--font-heading); font-weight: 700; font-size: 0.92rem; border-radius: var(--radius-sm); cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.25s ease; }
.portal-tab-btn.active { background: var(--primary-red); color: #ffffff; box-shadow: 0 0 15px var(--primary-red-glow); }
.portal-form { display:flex; flex-direction:column; gap:15px; }.portal-form .form-group { gap:5px; }.portal-form .form-group label { margin-bottom:0; }.portal-form input:focus, .portal-form select:focus { border-color:rgba(229,9,20,.7); box-shadow:0 0 0 3px rgba(229,9,20,.1); }
.forgot-pass-link { color:#cbd5e1; font-size:.75rem; font-weight:600; text-decoration:none; }.forgot-pass-link:hover { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.portal-membership-contract { display:flex; min-height:0; position:relative; z-index:1; flex:1; flex-direction:column; margin-top:28px; }
.portal-membership-contract > header span { display:flex; align-items:center; gap:6px; color:#f87171; font-size:.59rem; font-weight:850; letter-spacing:.14em; }.portal-membership-contract > header span svg { width:15px; height:15px; }
.portal-membership-contract > header h2 { margin:6px 0 3px; color:#fff; font:800 1.35rem var(--font-heading); }.portal-membership-contract > header p { margin:0; color:#8591a3; font-size:.61rem; }
.portal-contract-scroll { display:flex; overflow-y:auto; flex-direction:column; gap:2px; max-height:760px; margin-top:16px; padding-right:7px; scrollbar-color:#4b5563 transparent; scrollbar-width:thin; }
.portal-contract-summary { padding:12px 13px; margin-bottom:4px; color:#bfdbfe; background:rgba(59,130,246,.08); border:1px solid rgba(96,165,250,.17); border-radius:9px; }.portal-contract-summary strong { color:#dbeafe; font-size:.66rem; }.portal-contract-summary p { margin:4px 0 0; color:#91a3bd; font-size:.57rem; line-height:1.55; }
.portal-contract-scroll section { display:grid; grid-template-columns:24px minmax(0,1fr); gap:9px; padding:11px 8px; border-bottom:1px solid rgba(255,255,255,.07); }.portal-contract-scroll section:last-child { border:0; }
.portal-contract-scroll section > b { display:grid; width:24px; height:24px; place-items:center; color:#fecaca; background:rgba(229,9,20,.12); border:1px solid rgba(248,113,113,.18); border-radius:7px; font-size:.52rem; }
.portal-contract-scroll section div { min-width:0; }.portal-contract-scroll strong { color:#e5e7eb; font-size:.64rem; }.portal-contract-scroll p { margin:3px 0 0; color:#929dad; font-size:.56rem; line-height:1.55; }.portal-contract-scroll em { color:#f4b4b8; font-style:normal; }
.portal-contract-scroll p strong { color:#edf1f6; font-size:inherit; font-weight:850; }
.portal-membership-contract > footer { display:flex; align-items:center; gap:7px; margin-top:13px; padding:9px 10px; color:#86efac; background:rgba(34,197,94,.07); border:1px solid rgba(74,222,128,.14); border-radius:8px; font-size:.54rem; }.portal-membership-contract > footer svg { flex:none; width:14px; }
.portal-acceptance-box { display:flex; flex-direction:column; gap:8px; padding:13px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.09); border-radius:10px; }
.portal-acceptance-heading { display:flex; align-items:center; gap:8px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.07); }.portal-acceptance-heading > svg { width:17px; color:#f87171; }.portal-acceptance-heading > div { display:flex; flex-direction:column; gap:1px; }.portal-acceptance-heading strong { color:#e5e7eb; font-size:.66rem; }.portal-acceptance-heading small { color:#788597; font-size:.52rem; }
.portal-consent-check { display:grid; grid-template-columns:20px minmax(0,1fr); align-items:flex-start; position:relative; gap:8px; cursor:pointer; }
.portal-consent-check > input { position:absolute; opacity:0; pointer-events:none; }.portal-consent-check > span { display:grid; width:20px; height:20px; place-items:center; color:#64748b; background:#11151e; border:1px solid rgba(255,255,255,.12); border-radius:5px; }.portal-consent-check > span svg { width:11px; height:11px; }
.portal-consent-check > input:checked + span { color:#07150c; background:#4ade80; border-color:#4ade80; }.portal-consent-check > input:focus-visible + span { outline:2px solid #60a5fa; outline-offset:2px; }
.portal-consent-check p { margin:0; color:#9aa5b5; font-size:.55rem; line-height:1.45; }.portal-consent-check p strong { color:#dce3ec; }.portal-consent-check p em { display:inline-block; margin-left:3px; color:#fca5a5; font-size:.47rem; font-style:normal; font-weight:800; text-transform:uppercase; }.portal-consent-check.is-optional { margin-top:3px; padding-top:9px; border-top:1px dashed rgba(255,255,255,.08); }.portal-consent-check.is-optional p em { color:#93c5fd; }
.portal-image-consent { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding:11px 0 0; margin:3px 0 0; border:0; border-top:1px dashed rgba(255,255,255,.09); }
.portal-image-consent > legend { grid-column:1/-1; display:flex; align-items:center; gap:7px; width:100%; padding:0 0 7px; }.portal-image-consent > legend > svg { width:16px; color:#93c5fd; }.portal-image-consent > legend > span { display:flex; flex-direction:column; gap:1px; }.portal-image-consent > legend strong { color:#dce3ec; font-size:.62rem; }.portal-image-consent > legend small { color:#788597; font-size:.49rem; }
.portal-image-consent-note { grid-column:1/-1; display:flex; align-items:flex-start; gap:7px; padding:9px 10px; color:#93c5fd; background:rgba(59,130,246,.065); border:1px solid rgba(96,165,250,.16); border-radius:7px; font-size:.5rem; line-height:1.45; }.portal-image-consent-note > svg { flex:none; width:14px; height:14px; margin-top:1px; }.portal-image-consent-note strong { color:#dbeafe; }
.portal-image-consent-note.is-required { color:#fcd34d; background:rgba(245,158,11,.07); border-color:rgba(251,191,36,.24); }.portal-image-consent-note.is-required strong { color:#fde68a; }
.portal-image-consent > label { position:relative; cursor:pointer; }.portal-image-consent > label > input { position:absolute; opacity:0; pointer-events:none; }.portal-image-consent > label > span { display:flex; min-height:80px; align-items:center; justify-content:center; flex-direction:column; gap:3px; padding:8px 6px; color:#7f8b9e; background:#11151e; border:1px solid rgba(255,255,255,.09); border-radius:8px; text-align:center; }.portal-image-consent > label svg { width:16px; height:16px; }.portal-image-consent > label b { color:#bbc4d0; font-size:.51rem; }.portal-image-consent > label small { color:#69768a; font-size:.43rem; line-height:1.35; }.portal-image-consent > label > input:checked + span { color:#93c5fd; background:rgba(59,130,246,.09); border-color:rgba(96,165,250,.35); box-shadow:0 0 0 2px rgba(59,130,246,.07); }.portal-image-consent > label > input:checked + span b { color:#dbeafe; }.portal-image-consent > label > input:focus-visible + span { outline:2px solid #60a5fa; outline-offset:2px; }
.portal-image-consent > label.is-denied > input:checked + span { color:#f87171; background:rgba(239,68,68,.09); border-color:rgba(248,113,113,.42); box-shadow:0 0 0 2px rgba(239,68,68,.07); }.portal-image-consent > label.is-denied > input:checked + span b { color:#fecaca; }
.portal-image-consent > label.is-approved > input:checked + span { color:#4ade80; background:rgba(34,197,94,.09); border-color:rgba(74,222,128,.42); box-shadow:0 0 0 2px rgba(34,197,94,.07); }.portal-image-consent > label.is-approved > input:checked + span b { color:#bbf7d0; }
.portal-minor-consent-fields { grid-column:1/-1; display:grid; grid-template-columns:1fr; gap:8px; padding:12px; margin-top:2px; background:rgba(59,130,246,.055); border:1px solid rgba(96,165,250,.16); border-radius:8px; }.portal-minor-consent-fields.hidden { display:none; }.portal-minor-consent-fields > p { display:flex; align-items:center; gap:7px; margin:0 0 2px; }.portal-minor-consent-fields > p svg { width:15px; color:#93c5fd; }.portal-minor-consent-fields > p span { display:flex; flex-direction:column; }.portal-minor-consent-fields > p strong { color:#dbeafe; font-size:.55rem; }.portal-minor-consent-fields > p small,.portal-minor-consent-fields > small { color:#718096; font-size:.46rem; }.portal-minor-consent-fields > label { display:flex; flex-direction:column; gap:4px; color:#8592a5; font-size:.49rem; }.portal-minor-consent-fields input,.portal-minor-consent-fields select { width:100%; min-height:36px; padding:7px 9px; color:#d9e0e9; background:#11151e; border:1px solid rgba(255,255,255,.09); border-radius:6px; font-size:.53rem; }.portal-minor-consent-fields > small { line-height:1.45; }
@media (max-width:640px) { .portal-image-consent,.portal-minor-consent-fields { grid-template-columns:1fr; }.portal-image-consent > label > span { min-height:64px; }.portal-minor-consent-fields > p,.portal-minor-consent-fields > small { grid-column:auto; } }

.member-card-panel { background: rgba(18, 18, 28, 0.95); border: 1px solid rgba(255, 255, 255, 0.14); border-radius: var(--radius-lg); padding: 28px; }
.member-grid-2 { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 24px; }
.member-card-title { font-family: var(--font-heading); font-weight: 800; font-size: 1.2rem; margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
.classes-list { display: flex; flex-direction: column; gap: 12px; }
.class-item-card { background: rgba(0, 0, 0, 0.3); border: 1px solid var(--border-light); padding: 14px 18px; border-radius: var(--radius-md); display: flex; justify-content: space-between; align-items: center; }
.class-item-info h5 { font-family: var(--font-heading); font-size: 0.95rem; font-weight: 700; color: #ffffff; }
.class-item-info p { font-size: 0.8rem; color: var(--text-muted); }

.promo-store-box { background: linear-gradient(135deg, rgba(255, 215, 0, 0.12), rgba(229, 9, 20, 0.15)); border: 1px solid rgba(255, 215, 0, 0.35); padding: 20px; border-radius: var(--radius-md); text-align: center; }
.coupon-code { background: #0a0a0e; border: 1px dashed var(--accent-gold); color: var(--accent-gold); font-family: var(--font-heading); font-weight: 900; font-size: 1.2rem; padding: 8px 16px; border-radius: var(--radius-sm); display: inline-block; margin: 12px 0; letter-spacing: 2px; }

.welcome-banner { display: flex; align-items: center; gap: 16px; background: rgba(37, 211, 102, 0.12); border: 1px solid rgba(37, 211, 102, 0.4); padding: 16px 20px; border-radius: var(--radius-md); margin-bottom: 24px; }
.welcome-icon { font-size: 2.2rem; }
.welcome-banner h4 { font-family: var(--font-heading); color: #4ade80; font-weight: 800; margin-bottom: 2px; }
.welcome-banner p { font-size: 0.88rem; color: var(--text-main); }

/* PRIMEIRA TELA APOS O LOGIN */
.welcome-dashboard-content { width:100%; max-width:1480px; margin:0 auto; }
.welcome-account-hero { position:relative; display:flex; align-items:center; justify-content:space-between; gap:28px; min-height:190px; padding:32px 34px; margin-bottom:22px; overflow:hidden; background:linear-gradient(125deg,#1a2030 0%,#121722 58%,#211315 100%); border:1px solid rgba(255,255,255,.09); border-radius:16px; box-shadow:0 12px 30px rgba(0,0,0,.2); }
.welcome-account-hero::after { content:""; position:absolute; right:-85px; bottom:-120px; width:290px; height:290px; border:52px solid rgba(229,9,20,.06); border-radius:50%; pointer-events:none; }
.welcome-account-hero > div, .welcome-checkin-cta { position:relative; z-index:1; }
.welcome-account-kicker, .welcome-section-heading span { display:block; margin-bottom:7px; color:#f87171; font-size:.65rem; font-weight:800; letter-spacing:.16em; }
.welcome-account-hero h1 { margin:0 0 8px; color:#fff; font:800 clamp(1.8rem,3vw,2.6rem)/1.08 var(--font-heading); }
.welcome-account-hero p { color:#9ca8b9; font-size:.88rem; }
.welcome-checkin-cta { display:flex; align-items:center; gap:12px; min-width:230px; padding:15px 18px; color:#fff; background:#d80d18; border:1px solid rgba(255,255,255,.12); border-radius:11px; box-shadow:0 8px 20px rgba(229,9,20,.23); text-decoration:none; transition:transform .18s,background .18s; }
.welcome-checkin-cta:hover { color:#fff; background:#ed1520; transform:translateY(-2px); }
.welcome-checkin-cta > svg { width:23px; height:23px; flex:0 0 auto; }
.welcome-checkin-cta span { display:flex; flex-direction:column; }
.welcome-checkin-cta strong { font:800 .82rem var(--font-heading); }
.welcome-checkin-cta small { margin-top:2px; color:#fecaca; font-size:.65rem; }
.welcome-finance-alert { display:flex; align-items:center; gap:13px; padding:14px 16px; margin-bottom:22px; color:#fed7aa; background:rgba(245,158,11,.1); border:1px solid rgba(245,158,11,.32); border-radius:10px; }
.welcome-finance-alert > svg { width:20px; height:20px; color:#f59e0b; flex:0 0 auto; }
.welcome-finance-alert > div { display:flex; flex:1; flex-direction:column; gap:2px; }
.welcome-finance-alert strong { font-size:.78rem; }.welcome-finance-alert span { color:#c6ad86; font-size:.7rem; }
.welcome-finance-alert a { padding:7px 11px; color:#fbbf24; border:1px solid rgba(245,158,11,.3); border-radius:7px; font-size:.68rem; font-weight:700; text-decoration:none; }
.welcome-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:5px 1px 14px; }
.welcome-section-heading span { margin-bottom:3px; color:#7f8a9a; }
.welcome-section-heading h2 { margin:0; color:#f8fafc; font:800 1.25rem var(--font-heading); }
.welcome-section-heading small { color:#667085; font-size:.65rem; }
.welcome-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; margin-bottom:20px; }
.welcome-summary-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.welcome-summary-card { position:relative; display:flex; min-height:145px; flex-direction:column; padding:18px; overflow:hidden; background:#171b26; border:1px solid rgba(255,255,255,.08); border-radius:12px; box-shadow:0 5px 15px rgba(0,0,0,.1); }
.welcome-summary-card > svg { width:19px; height:19px; margin-bottom:20px; color:#7ba5e8; }
.welcome-summary-card > span { margin-bottom:5px; color:#8390a3; font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.welcome-summary-card > strong { overflow:hidden; color:#f8fafc; font:800 1rem var(--font-heading); text-overflow:ellipsis; white-space:nowrap; }
.welcome-summary-card > small { margin-top:5px; color:#7f8a9a; font-size:.65rem; }
.welcome-summary-card > small.welcome-enrollment-time { display:flex; align-items:center; gap:5px; margin-top:8px; color:#9ba7b8; }
.welcome-enrollment-time svg { width:13px; height:13px; flex:0 0 auto; }
.welcome-summary-card.is-success > svg, .welcome-summary-card.is-success > strong { color:#4ade80; }
.welcome-summary-card.is-warning > svg, .welcome-summary-card.is-warning > strong { color:#fbbf24; }
.welcome-details-grid { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:16px; }
.welcome-panel { min-width:0; padding:21px; background:#171b26; border:1px solid rgba(255,255,255,.08); border-radius:12px; }
.welcome-panel-title { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:15px; }
.welcome-panel-title > span { display:flex; align-items:center; gap:8px; color:#f1f5f9; font:800 .83rem var(--font-heading); }
.welcome-panel-title svg { width:17px; height:17px; color:#f87171; }
.welcome-panel-title > a { color:#94a3b8; font-size:.65rem; font-weight:700; text-decoration:none; }.welcome-panel-title > a:hover { color:#fff; }
.welcome-account-list { margin:0; }
.welcome-account-list > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:18px; padding:10px 0; border-top:1px solid rgba(255,255,255,.06); }
.welcome-account-list dt { color:#7f8a9a; font-size:.68rem; }.welcome-account-list dd { margin:0; overflow:hidden; color:#d8dee9; font-size:.72rem; font-weight:600; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.welcome-quick-links { display:flex; flex-direction:column; }
.welcome-quick-links > a { display:flex; align-items:center; gap:11px; padding:11px 4px; color:#d8dee9; border-top:1px solid rgba(255,255,255,.06); text-decoration:none; }
.welcome-quick-links > a:hover { color:#fff; }.welcome-quick-links > a > svg:first-child { width:17px; height:17px; color:#7ba5e8; }.welcome-quick-links > a > svg:last-child { width:14px; height:14px; color:#667085; }
.welcome-quick-links > a > span { display:flex; flex:1; min-width:0; flex-direction:column; }.welcome-quick-links strong { font-size:.7rem; }.welcome-quick-links small { margin-top:2px; color:#7f8a9a; font-size:.61rem; }
.welcome-checkin-count { display:flex; align-items:center; justify-content:space-between; padding:11px 13px; margin-top:11px; color:#9ca8b9; background:rgba(49,91,155,.12); border:1px solid rgba(96,165,250,.16); border-radius:8px; font-size:.68rem; }.welcome-checkin-count strong { color:#93c5fd; font-size:1rem; }
.erp-light-theme .welcome-account-hero { background:linear-gradient(125deg,#fff 0%,#f8fafc 65%,#fff2f2 100%); border-color:#e4e7ec; box-shadow:0 7px 22px rgba(15,23,42,.06); }
.erp-light-theme .welcome-account-hero h1, .erp-light-theme .welcome-summary-card > strong, .erp-light-theme .welcome-section-heading h2, .erp-light-theme .welcome-panel-title > span, .erp-light-theme .welcome-account-list dd, .erp-light-theme .welcome-quick-links > a { color:#1d2939; }
.erp-light-theme .welcome-account-hero p, .erp-light-theme .welcome-summary-card > span, .erp-light-theme .welcome-summary-card > small, .erp-light-theme .welcome-account-list dt, .erp-light-theme .welcome-quick-links small { color:#667085; }
.erp-light-theme .welcome-summary-card > small.welcome-enrollment-time { color:#475467; }
.erp-light-theme .welcome-summary-card, .erp-light-theme .welcome-panel { background:#fff; border-color:#e4e7ec; box-shadow:0 3px 12px rgba(15,23,42,.035); }
.erp-light-theme .welcome-account-list > div, .erp-light-theme .welcome-quick-links > a { border-top-color:#eaecf0; }
.erp-light-theme .welcome-checkin-count { color:#475467; background:#f0f5ff; border-color:#dbe8ff; }
.erp-light-theme .welcome-banner p { color:#344054; }

.input-with-eye { position: relative; display: flex; align-items: center; }
.input-with-eye input { padding-left: 42px !important; padding-right: 44px !important; }
.password-requirements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 9px; margin:7px 0 0; padding:0; list-style:none; }.password-requirements li { display:flex; align-items:center; gap:5px; color:#8f9bad; font-size:.66rem; line-height:1.25; }.password-requirements li svg { width:11px; height:11px; fill:transparent; }.password-requirements li.is-valid { color:#4ade80; }.password-requirements li.is-valid svg { fill:#22c55e; stroke:#22c55e; }.password-requirements li.is-invalid { color:#f87171; }.password-requirements li.is-invalid svg { stroke:#ef4444; }
.btn-toggle-eye { position: absolute; right: 12px; background: transparent; border: none; color: var(--text-muted); cursor: pointer; padding: 6px; display: flex; align-items: center; justify-content: center; transition: color 0.2s ease; z-index: 5; }
.phone-split-group { display: flex; gap: 12px; }
.ddd-input { text-align: center; font-weight: 700; color: var(--accent-gold) !important; }

.grid-planos { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 32px; align-items: stretch; }
.planos-section .grid-planos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.planos-section .plano-card { padding: 24px 18px; min-width: 0; }
.planos-section .plano-title { font-size: 1.35rem; }
.planos-section .main-price { font-size: 1.9rem; }
.plano-card { position: relative; display: flex; flex-direction: column; justify-content: space-between; transition: all 0.3s ease; }
.featured-card { border-color: var(--border-red); background: linear-gradient(180deg, rgba(229, 9, 20, 0.15) 0%, rgba(22, 22, 32, 0.92) 100%); box-shadow: 0 0 35px rgba(229, 9, 20, 0.25); }
.plano-badge { position: absolute; top: -14px; right: 24px; background: var(--primary-red); color: #fff; font-size: 0.75rem; font-weight: 800; padding: 4px 12px; border-radius: var(--radius-full); letter-spacing: 1px; }
.plano-title { font-family: var(--font-heading); font-weight: 900; font-size: 1.6rem; margin-bottom: 4px; }
.plano-sub { color: var(--text-muted); font-size: 0.9rem; margin-bottom: 24px; }
.plano-price-box { background: rgba(0, 0, 0, 0.4); padding: 20px; border-radius: var(--radius-md); margin-bottom: 24px; display: flex; flex-direction: column; }
.old-price { text-decoration: line-through; color: var(--text-dim); font-size: 0.95rem; }
.main-price { font-family: var(--font-heading); font-weight: 900; font-size: 2.4rem; color: var(--accent-gold); line-height: 1; }
.main-price small { font-size: 1rem; font-weight: 600; color: var(--text-muted); }
.price-detail { font-size: 0.85rem; color: #4ade80; font-weight: 600; margin-top: 6px; }
.plano-features { list-style: none; display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.plano-features li { display: flex; align-items: center; gap: 10px; font-size: 0.95rem; color: var(--text-main); }
.icon-green { color: #4ade80; width: 18px; height: 18px; }

.schedule-filters { display: flex; justify-content: center; gap: 12px; margin-bottom: 32px; flex-wrap: wrap; }
.schedule-board { padding:0; overflow-x:auto; background:#0e1118; border-color:rgba(255,255,255,.1); }
.schedule-board-header { min-width:920px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; background:#151923; border-bottom:1px solid rgba(255,255,255,.08); }
.schedule-board-header > div { display:flex; align-items:center; gap:9px; }.schedule-board-header strong { color:#e5e7eb; font-size:.7rem; letter-spacing:.13em; }.schedule-board-header small { color:#6b7280; font-size:.66rem; }
.schedule-live-dot { width:7px; height:7px; background:#22c55e; border-radius:50%; box-shadow:0 0 8px rgba(34,197,94,.7); }
.schedule-flight-table { min-width:920px; table-layout:fixed; }
.schedule-flight-table th, .schedule-flight-table td { padding:13px 18px; }
.schedule-flight-table th { color:#7f8a9a; background:#10131b; font-size:.67rem; letter-spacing:.11em; }.schedule-flight-table th:nth-child(1) { width:110px; }.schedule-flight-table th:nth-child(2) { width:300px; }.schedule-flight-table th:nth-child(3) { width:190px; }.schedule-flight-table th:nth-child(4) { width:145px; }.schedule-flight-table th:nth-child(5) { width:125px; }.schedule-flight-table th:nth-child(6) { width:120px; text-align:right; }
.schedule-flight-row { transition:background .16s ease; }.schedule-flight-row:hover { background:rgba(255,255,255,.035); }
.schedule-time-cell strong { color:#fff; font:800 1.05rem/1 var(--font-heading); letter-spacing:.03em; white-space:nowrap; }
.schedule-class-code { display:inline-grid; place-items:center; width:54px; min-height:28px; padding:3px 5px; vertical-align:middle; border:1px solid currentColor; border-radius:5px; font:800 .64rem var(--font-heading); letter-spacing:.05em; }.schedule-class-name { display:inline-flex; flex-direction:column; width:205px; min-width:0; margin-left:11px; vertical-align:middle; }.schedule-class-name strong { overflow:hidden; color:#e5e7eb; font-size:.76rem; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.schedule-class-name small { color:#697386; font-size:.62rem; }
.schedule-days-cell { color:#a3adbd; font-size:.7rem; line-height:1.35; }.schedule-days-cell .schedule-next-class { display:inline-block; color:#e5e7eb; font-size:.7rem; white-space:nowrap; }.schedule-days-cell .schedule-recurring-days { display:inline-block; margin-top:3px; color:#768195; font-size:.63rem; white-space:nowrap; }.schedule-status { display:inline-flex; align-items:center; gap:6px; color:#4ade80; font-size:.67rem; font-weight:700; white-space:nowrap; }.schedule-status i { width:6px; height:6px; background:#22c55e; border-radius:50%; box-shadow:0 0 6px rgba(34,197,94,.55); }
.schedule-status.is-running-out { color:#fbbf24; }.schedule-status.is-running-out i { background:#f59e0b; box-shadow:0 0 7px rgba(245,158,11,.58); }.schedule-status.is-sold-out { color:#f87171; }.schedule-status.is-sold-out i { background:#ef4444; box-shadow:0 0 7px rgba(239,68,68,.62); }
.schedule-action-cell { text-align:right; }.schedule-table .quick-book-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:92px; padding:7px 10px; color:#e5e7eb; background:rgba(255,255,255,.055); border-color:rgba(255,255,255,.12); border-radius:6px; white-space:nowrap; flex-wrap:nowrap; }.schedule-table .quick-book-btn svg { width:14px; height:14px; }.schedule-table .quick-book-btn:hover { color:#fff; background:rgba(229,9,20,.14); border-color:rgba(229,9,20,.35); transform:none; }
.tag-badge { display:inline-flex; align-items:center; padding:3px 8px; border:1px solid currentColor; border-radius:999px; font-size:.65rem; font-weight:800; white-space:nowrap; }
.tag-bjj { color:#60a5fa; background:rgba(96,165,250,.1); }.tag-boxe { color:#f87171; background:rgba(248,113,113,.1); }.tag-func { color:#4ade80; background:rgba(74,222,128,.1); }
.tag-muay { color:#fb923c; background:rgba(251,146,60,.1); }.tag-kids { color:#c084fc; background:rgba(192,132,252,.1); }.tag-mma { color:#ef4444; background:rgba(239,68,68,.12); }
.price-highlight { color:var(--accent-gold); font-weight:700; white-space:nowrap; }
.day-btn { padding: 10px 24px; background: rgba(255, 255, 255, 0.05); border: 1px solid var(--border-light); border-radius: var(--radius-full); color: var(--text-muted); font-weight: 600; cursor: pointer; transition: all 0.2s ease; text-decoration: none; }
.day-btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; }.day-btn svg { width:15px; height:15px; }.day-btn-today { border-color:rgba(96,165,250,.3); color:#93c5fd; }.day-btn-today:hover { color:#fff; background:rgba(96,165,250,.11); }.schedule-empty-state { padding:38px 20px !important; color:var(--text-muted); }
.day-btn-classes { color:#fff; background:rgba(229,9,20,.12); border-color:rgba(229,9,20,.38); }.day-btn-classes:hover { color:#fff; background:rgba(229,9,20,.22); border-color:rgba(229,9,20,.55); }

/* PAGINA PUBLICA DE TURMAS */
.classes-page { min-height:100vh; }
.classes-hero { padding:92px 0 64px; text-align:center; background:radial-gradient(circle at 50% 20%,rgba(229,9,20,.13),transparent 42%); border-bottom:1px solid rgba(255,255,255,.06); }
.classes-hero h1 { margin:8px 0 12px; color:#fff; font:900 clamp(2.3rem,5vw,4.2rem)/1 var(--font-heading); text-transform:uppercase; }
.classes-hero p { max-width:610px; margin:0 auto 25px; color:#9ca8b9; }
.classes-catalog-section { padding-top:64px; }
.classes-category-heading { display:flex; align-items:center; gap:13px; margin:0 0 18px; }.classes-category-heading:not(:first-child) { margin-top:52px; }
.classes-category-icon { display:grid; place-items:center; width:42px; height:42px; border:1px solid currentColor; border-radius:10px; }.classes-category-icon svg { width:20px; height:20px; }
.classes-category-heading small { color:#778195; font-size:.6rem; font-weight:800; letter-spacing:.15em; }.classes-category-heading h2 { margin:1px 0 0; color:#f8fafc; font:800 1.45rem var(--font-heading); }
.classes-cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }.classes-cards-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.class-catalog-card { display:flex; min-height:245px; flex-direction:column; align-items:flex-start; padding:22px; background:#151923; border:1px solid rgba(255,255,255,.08); border-radius:13px; box-shadow:0 7px 20px rgba(0,0,0,.12); }
.class-catalog-card h3 { margin:15px 0 6px; color:#f8fafc; font:800 1.05rem var(--font-heading); }.class-catalog-card > p { min-height:40px; color:#7f8a9a; font-size:.72rem; line-height:1.5; }
.class-schedule-list { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; margin-top:auto; border-top:1px solid rgba(255,255,255,.07); }.class-schedule-list span, .class-schedule-list strong { display:flex; align-items:center; gap:6px; color:#a9b3c2; font-size:.68rem; white-space:nowrap; }.class-schedule-list strong { color:#e5e7eb; }.class-schedule-list svg { width:14px; height:14px; color:#f87171; }
.class-schedule-list-stacked { align-items:flex-start; flex-direction:column; gap:8px; }.class-catalog-card > .btn { width:100%; margin-top:12px; }
.public-light-theme .classes-hero { background:radial-gradient(circle at 50% 20%,rgba(229,9,20,.08),transparent 42%); border-bottom-color:#eaecf0; }.public-light-theme .classes-hero h1, .public-light-theme .classes-category-heading h2, .public-light-theme .class-catalog-card h3 { color:#1d2939; }.public-light-theme .classes-hero p, .public-light-theme .class-catalog-card > p { color:#667085; }.public-light-theme .class-catalog-card { background:#fff; border-color:#e4e7ec; box-shadow:0 5px 16px rgba(15,23,42,.05); }.public-light-theme .class-schedule-list { border-top-color:#eaecf0; }.public-light-theme .class-schedule-list span { color:#667085; }.public-light-theme .class-schedule-list strong { color:#344054; }.public-light-theme .day-btn-classes { color:#b42318; background:#fff5f5; border-color:#fda29b; }
.day-btn.active { background: var(--primary-red); border-color: var(--primary-red); color: #fff; box-shadow: 0 0 15px var(--primary-red-glow); }
.table-responsive { overflow-x: auto; }
.schedule-table { width: 100%; border-collapse: collapse; text-align: left; }
.schedule-table th, .schedule-table td { padding: 18px 24px; border-bottom: 1px solid var(--border-light); }
.schedule-table th { font-family: var(--font-heading); font-weight: 700; color: var(--text-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; }

.grid-loja { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 28px; }
.loja-card { text-align: center; display: flex; flex-direction: column; align-items: center; transition: transform 0.3s ease; }
.product-icon { font-size: 3rem; margin-bottom: 12px; }

.grid-blog { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 28px; }
.blog-card { display: flex; flex-direction: column; justify-content: space-between; }
.blog-date { font-size: 0.78rem; color: var(--primary-red); font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.read-more { color: var(--accent-gold); text-decoration: none; font-weight: 700; font-size: 0.9rem; }

.belts-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.belt-card { background: var(--bg-card); border: 1px solid var(--border-light); border-radius: var(--radius-md); padding: 24px; text-align: center; }
.belt-stripe {
  position: relative;
  height: 28px;
  width: 100%;
  margin-bottom: 16px;
  border-radius: 3px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: inset 0 5px 8px rgba(255,255,255,0.14), inset 0 -6px 9px rgba(0,0,0,0.35), 0 4px 10px rgba(0,0,0,0.35);
}
.belt-stripe::after {
  content: "";
  position: absolute;
  top: -1px;
  right: 9%;
  width: 24%;
  height: 28px;
  background: #111318;
  border: 1px solid rgba(255,255,255,0.16);
  box-sizing: border-box;
}
.belt-white .belt-stripe { background: #f4f4f1; }
.belt-blue .belt-stripe { background: #1756b3; }
.belt-purple .belt-stripe { background: #70308f; }
.belt-brown .belt-stripe { background: #6b351f; }
.belt-black .belt-stripe { background: #08090b; border-color: #3f4248; }
.belt-black .belt-stripe::after { background: #b91c1c; border-left: 3px solid #f5f5f5; border-right: 3px solid #f5f5f5; }
.belt-blue .belt-stripe.degrees-2::after {
  background-color: #111318;
  background-image: linear-gradient(90deg,
    transparent 0 52%, #fff 52% 57%, transparent 57% 68%, #fff 68% 73%, transparent 73% 100%);
}
.red-bar { border-right: 0; }

.whatsapp-float-btn { position: fixed; bottom: 28px; right: 28px; z-index: 999; background: var(--accent-green); color: #fff; width: 62px; height: 62px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 25px rgba(37, 211, 102, 0.45); text-decoration: none; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.wa-official-icon { width: 34px; height: 34px; fill: #ffffff; }
.wa-tooltip { position: absolute; right: 74px; background: rgba(10, 10, 14, 0.95); border: 1px solid var(--border-light); color: var(--text-main); padding: 8px 14px; border-radius: var(--radius-md); font-size: 0.85rem; font-weight: 600; white-space: nowrap; opacity: 0; pointer-events: none; }
.whatsapp-float-btn:hover .wa-tooltip { opacity: 1; }

.modal-backdrop { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.88); backdrop-filter: blur(14px); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 24px; opacity: 1; visibility: visible; }
.modal-card { width: 100%; max-width: 540px; position: relative; background: #101017; box-shadow: 0 20px 60px rgba(0,0,0,0.95); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: var(--radius-lg); padding: 32px; max-height: 90vh; overflow-y: auto; color: var(--text-main); }
.modal-close { position: absolute; top: 16px; right: 16px; background: rgba(255, 255, 255, 0.08); border: 1px solid var(--border-light); color: var(--text-main); width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; cursor: pointer; }
.modal-logo { height: 56px; margin-bottom: 8px; }

.experimental-checkbox-box { margin-bottom: 4px; }
.experimental-checkbox-label { position:relative; display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:13px; min-height:82px; padding:30px 15px 12px; color:#fff; background:linear-gradient(135deg,rgba(245,158,11,.22),rgba(229,9,20,.13)); border:2px solid rgba(251,191,36,.72); border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,.22),inset 0 0 22px rgba(251,191,36,.04); cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease; }
.experimental-checkbox-label:hover { transform:translateY(-1px); border-color:#fbbf24; box-shadow:0 11px 28px rgba(0,0,0,.28),0 0 18px rgba(251,191,36,.14); }
.experimental-checkbox-label input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.experimental-checkbox-label:focus-within { outline:3px solid rgba(96,165,250,.42); outline-offset:3px; }
.experimental-checkbox-icon { display:grid; width:46px; height:46px; place-items:center; color:#111827; background:linear-gradient(135deg,#fde68a,#f59e0b); border-radius:11px; box-shadow:0 5px 14px rgba(245,158,11,.28); }
.experimental-checkbox-icon svg { width:23px; height:23px; }
.experimental-checkbox-label .custom-chk-text { display:flex; flex-direction:column; gap:3px; line-height:1.25; }
.experimental-checkbox-label .custom-chk-text strong { color:#fff7d6; font-size:.98rem; }
.experimental-checkbox-label .custom-chk-text small { color:#cbd5e1; font-size:.76rem; font-weight:550; }
.experimental-checkbox-action { position:absolute; top:9px; right:10px; padding:7px 10px; color:#111827; background:#fbbf24; border-radius:7px; font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.03em; }
.experimental-checkbox-label:has(input:checked) { background:linear-gradient(135deg,rgba(34,197,94,.24),rgba(21,128,61,.16)); border-color:#4ade80; box-shadow:0 10px 28px rgba(0,0,0,.25),0 0 20px rgba(34,197,94,.15); }
.experimental-checkbox-label:has(input:checked) .experimental-checkbox-icon { color:#052e16; background:linear-gradient(135deg,#86efac,#22c55e); }
.experimental-checkbox-label:has(input:checked) .experimental-checkbox-action { color:#052e16; background:#4ade80; }
.experimental-checkbox-label:has(input:checked) .experimental-checkbox-action::before { content:'\2713 '; }
@media (max-width:540px) { .experimental-checkbox-label { grid-template-columns:42px minmax(0,1fr); }.experimental-checkbox-icon { width:42px; height:42px; } }

.modal-form label { display: block; font-size: 0.85rem; font-weight: 600; color: var(--text-muted); margin-bottom: 6px; }
.field-hint { font-size: 0.75rem; color: var(--text-dim); margin-top: 4px; }

.modal-form input[type="text"], .modal-form input[type="tel"], .modal-form input[type="password"], .modal-form input[type="date"], .modal-form input[type="email"], .modal-form select { width: 100%; padding: 12px 16px; background-color: #161622; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: var(--radius-md); color: #ffffff; font-family: var(--font-body); font-size: 0.95rem; outline: none; color-scheme: dark; }
.modal-form select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffd700' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 42px !important; }
.modal-form select option { background-color: #12121c; color: #ffffff; }
.booking-feedback { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:start; gap:11px; margin:4px 0 14px; padding:13px; color:#fecaca; background:linear-gradient(135deg,rgba(127,29,29,.32),rgba(69,10,10,.2)); border:1px solid rgba(248,113,113,.4); border-radius:10px; box-shadow:0 8px 22px rgba(0,0,0,.15); animation:bookingFeedbackIn .22s ease-out; }
.booking-feedback-icon { display:grid; place-items:center; width:30px; height:30px; color:#f87171; background:rgba(248,113,113,.12); border-radius:8px; }.booking-feedback-icon svg { width:16px; height:16px; }
.booking-feedback-copy strong { display:block; color:#fee2e2; font-size:.8rem; line-height:1.3; }.booking-feedback-copy p { margin:3px 0 0; color:#fca5a5; font-size:.72rem; line-height:1.45; }.booking-feedback-copy a { display:inline-flex; align-items:center; gap:5px; margin-top:8px; color:#fff; font-size:.7rem; font-weight:700; text-decoration:none; }.booking-feedback-copy a svg { width:13px; height:13px; }
.booking-feedback.is-success { color:#bbf7d0; background:linear-gradient(135deg,rgba(20,83,45,.42),rgba(5,46,22,.25)); border-color:rgba(74,222,128,.48); }.booking-feedback.is-success .booking-feedback-icon { color:#4ade80; background:rgba(74,222,128,.13); }.booking-feedback.is-success .booking-feedback-copy strong { color:#dcfce7; }.booking-feedback.is-success .booking-feedback-copy p { color:#bbf7d0; }
.booking-feedback > button { display:grid; place-items:center; width:25px; height:25px; padding:0; color:#fca5a5; background:transparent; border:0; border-radius:6px; cursor:pointer; }.booking-feedback > button:hover { color:#fff; background:rgba(255,255,255,.08); }.booking-feedback > button svg { width:14px; height:14px; }
.booking-feedback.is-payment-warning { color:#fed7aa; background:linear-gradient(135deg,rgba(124,45,18,.34),rgba(67,20,7,.2)); border-color:rgba(251,146,60,.42); }.booking-feedback.is-payment-warning .booking-feedback-icon { color:#fb923c; background:rgba(251,146,60,.12); }.booking-feedback.is-payment-warning .booking-feedback-copy strong { color:#ffedd5; }.booking-feedback.is-payment-warning .booking-feedback-copy p { color:#fdba74; }
.erp-light-theme .booking-feedback { color:#b42318; background:#fef3f2; border-color:#fda29b; box-shadow:0 5px 16px rgba(15,23,42,.07); }.erp-light-theme .booking-feedback-copy strong { color:#912018; }.erp-light-theme .booking-feedback-copy p { color:#b42318; }.erp-light-theme .booking-feedback-copy a { color:#b42318; }.erp-light-theme .booking-feedback.is-payment-warning { background:#fffaeb; border-color:#fedf89; }.erp-light-theme .booking-feedback.is-payment-warning .booking-feedback-copy strong { color:#93370d; }.erp-light-theme .booking-feedback.is-payment-warning .booking-feedback-copy p, .erp-light-theme .booking-feedback.is-payment-warning .booking-feedback-copy a { color:#b54708; }
@keyframes bookingFeedbackIn { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:translateY(0); } }

.form-group { display: flex; flex-direction: column; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.input-with-icon { position: relative; display: flex; align-items: center; }
.input-icon { position: absolute; left: 14px; width: 18px; height: 18px; color: var(--primary-red); pointer-events: none; z-index: 2; }
.input-with-icon input, .input-with-icon select { padding-left: 42px !important; }

.main-footer { background: #050508; border-top: 1px solid var(--border-light); padding: 60px 0 30px 0; margin-top: 60px; }
.footer-content { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 24px; margin-bottom: 40px; }
.footer-brand { max-width: 400px; }
.footer-logo { height: 44px; margin-bottom: 12px; }
.footer-tagline { color: var(--text-muted); font-size: 0.9rem; }
.footer-address { color: var(--accent-gold); font-weight: 600; font-size: 0.9rem; margin-top: 6px; }
.footer-links { display: flex; flex-direction: column; gap: 10px; color: var(--text-muted); font-size: 0.9rem; }
.footer-link-item { color: var(--text-muted); text-decoration: none; display: flex; align-items: center; gap: 8px; }
.footer-social-icon { width:20px; height:20px; flex:0 0 auto; fill:none; stroke:var(--accent-gold); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.footer-social-icon .instagram-dot { fill:var(--accent-gold); stroke:none; }
.footer-instagram-link:hover { color:#ffffff; }
.footer-instagram-link:hover .footer-social-icon { stroke:#ffffff; }.footer-instagram-link:hover .instagram-dot { fill:#ffffff; }

/* Tema claro da landing page e páginas públicas */
body.public-light-theme {
  --bg-dark:#f5f7fb;
  --bg-card:#ffffff;
  --text-main:#1d2939;
  --text-muted:#667085;
  --text-dim:#98a2b3;
  --border-light:rgba(15,23,42,.11);
  color-scheme:light;
  background:#f5f7fb;
}
.public-light-theme .main-header { background:rgba(255,255,255,.96); border-bottom-color:#e4e7ec; box-shadow:0 3px 12px rgba(15,23,42,.06); }
.public-light-theme .header-logo { width:44px; height:44px; object-fit:contain; filter:none; }
.public-light-theme .brand-name, .public-light-theme .nav-item:hover, .public-light-theme .nav-item.active { color:#1d2939; }
.public-light-theme .nav-item:hover, .public-light-theme .nav-item.active { background:#f2f4f7; }
.public-light-theme .public-theme-toggle { color:#475467; background:#f2f4f7; border-color:#d0d5dd; }.public-light-theme .public-theme-toggle:hover { color:#1d2939; background:#e4e7ec; }
.public-light-theme .hero-section { background:radial-gradient(circle at 70% 30%,rgba(229,9,20,.09) 0%,transparent 60%); }
.public-light-theme .hero-title, .public-light-theme .section-title, .public-light-theme .plano-title, .public-light-theme .stat-number { color:#101828; }
.public-light-theme .glass-panel, .public-light-theme .plano-card { background:#ffffff; border-color:#e4e7ec; box-shadow:0 8px 24px rgba(15,23,42,.055); }
.public-light-theme .featured-card { background:linear-gradient(180deg,#fff5f5 0%,#ffffff 100%); border-color:rgba(229,9,20,.28); box-shadow:0 10px 28px rgba(229,9,20,.08); }
.public-light-theme .plano-price-box { background:#f8fafc; }
.public-light-theme .schedule-table th { color:#667085; background:#f8fafc; }.public-light-theme .schedule-table td { color:#344054; border-bottom-color:#eaecf0; }.public-light-theme .schedule-table strong { color:#1d2939; }
.public-light-theme .schedule-board { background:#fff; border-color:#e4e7ec; }.public-light-theme .schedule-board-header { background:#f8fafc; border-bottom-color:#e4e7ec; }.public-light-theme .schedule-board-header strong { color:#344054; }.public-light-theme .schedule-flight-table th { color:#667085; background:#f2f4f7; }.public-light-theme .schedule-flight-row:hover { background:#f8fafc; }.public-light-theme .schedule-class-name strong, .public-light-theme .schedule-time-cell strong, .public-light-theme .schedule-days-cell .schedule-next-class { color:#1d2939; }.public-light-theme .schedule-class-name small, .public-light-theme .schedule-days-cell, .public-light-theme .schedule-days-cell small { color:#667085; }.public-light-theme .schedule-table .quick-book-btn { color:#344054; background:#fff; border-color:#d0d5dd; }
.public-light-theme .day-btn { color:#475467; background:#ffffff; border-color:#d0d5dd; }.public-light-theme .day-btn.active { color:#fff; background:var(--primary-red); border-color:var(--primary-red); }
.public-light-theme .btn-secondary { color:#344054; background:#fff; border-color:#d0d5dd; }.public-light-theme .btn-secondary:hover { background:#f2f4f7; }
.public-light-theme .dropdown-menu.glass-panel, .public-light-theme .avatar-menu.glass-panel { color:#344054; background:#ffffff; border-color:#e4e7ec; box-shadow:0 18px 40px rgba(15,23,42,.15); }.public-light-theme .dropdown-item { color:#344054; }.public-light-theme .dropdown-item:hover { background:#f2f4f7; }.public-light-theme .menu-user-info strong { color:#1d2939; }
.public-light-theme .flash-success { color:#15803d; background:#f0fdf4; border-color:#86efac; }.public-light-theme .flash-error { color:#b42318; background:#fef3f2; border-color:#fda29b; }
.public-light-theme .modal-backdrop { background:rgba(15,23,42,.58); }.public-light-theme .modal-card { color:#1d2939; background:#ffffff; border-color:#e4e7ec; box-shadow:0 22px 60px rgba(15,23,42,.22); }.public-light-theme .modal-form input[type="text"], .public-light-theme .modal-form input[type="tel"], .public-light-theme .modal-form input[type="password"], .public-light-theme .modal-form select { color:#344054; background-color:#ffffff; border-color:#d0d5dd; }.public-light-theme .modal-form select option { color:#344054; background:#fff; }.public-light-theme .modal-close { color:#475467; background:#f2f4f7; }
.public-light-theme .login-page-section { background:radial-gradient(circle at 22% 28%,rgba(229,9,20,.06),transparent 36%); }.public-light-theme .portal-card { background:#fff; border-color:#e4e7ec; box-shadow:0 18px 46px rgba(15,23,42,.09); }.public-light-theme .portal-tabs { background:#f2f4f7; }.public-light-theme .portal-tab-btn { color:#667085; }.public-light-theme .portal-tab-btn.active { color:#fff; }.public-light-theme .forgot-pass-link { color:#475467; }.public-light-theme .forgot-pass-link:hover { color:#101828; }
.public-light-theme .portal-auth-intro { background:linear-gradient(150deg,#fff7f7,#fff 55%,#f8fafc); border-color:#fecaca; box-shadow:0 18px 46px rgba(15,23,42,.08); }.public-light-theme .portal-intro-brand strong,.public-light-theme .portal-intro-copy h1,.public-light-theme .portal-membership-contract > header h2,.public-light-theme .portal-contract-scroll strong,.public-light-theme .portal-acceptance-heading strong,.public-light-theme .portal-consent-check p strong { color:#1d2939; }.public-light-theme .portal-intro-copy p,.public-light-theme .portal-intro-benefits small,.public-light-theme .portal-intro-support,.public-light-theme .portal-contract-scroll p,.public-light-theme .portal-membership-contract > header p,.public-light-theme .portal-consent-check p { color:#667085; }.public-light-theme .portal-intro-benefits strong { color:#344054; }.public-light-theme .portal-contract-summary { color:#1e40af; background:#eff6ff; border-color:#bfdbfe; }.public-light-theme .portal-contract-summary strong { color:#1e3a8a; }.public-light-theme .portal-contract-summary p { color:#475467; }.public-light-theme .portal-contract-scroll section,.public-light-theme .portal-acceptance-heading { border-color:#eaecf0; }.public-light-theme .portal-contract-scroll section > b { color:#b42318; background:#fef3f2; border-color:#fda29b; }.public-light-theme .portal-contract-scroll em { color:#b42318; }.public-light-theme .portal-membership-contract > footer { color:#15803d; background:#f0fdf4; border-color:#86efac; }.public-light-theme .portal-acceptance-box { background:#f8fafc; border-color:#e4e7ec; }.public-light-theme .portal-consent-check > span { color:#667085; background:#fff; border-color:#d0d5dd; }.public-light-theme .portal-consent-check.is-optional { border-color:#d0d5dd; }

/* Minha Conta — contrato versionado e imprimível */
.account-contract-content { max-width:1320px; margin:0 auto; }
.account-contract-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.account-contract-kicker,.contract-history-head span,.contract-accept-panel > div > span { color:#ef4444; font-size:.68rem; font-weight:900; letter-spacing:.14em; }
.account-contract-heading h1 { margin:4px 0; color:#f8fafc; font:900 clamp(1.8rem,3vw,2.6rem)/1.05 var(--font-heading); }
.account-contract-heading p { margin:0; color:#94a3b8; }
.account-contract-print { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; color:#e2e8f0; background:#1e293b; border:1px solid #334155; }
.account-contract-print svg { width:17px; }
.account-contract-status { display:flex; align-items:center; gap:14px; margin-bottom:18px; padding:16px 18px; border:1px solid; border-radius:14px; }
.account-contract-status > svg { width:24px; height:24px; flex:0 0 auto; }
.account-contract-status strong { display:block; color:#f8fafc; }
.account-contract-status p { margin:3px 0 0; color:#cbd5e1; font-size:.82rem; }
.account-contract-status.is-pending { color:#fbbf24; background:rgba(245,158,11,.09); border-color:rgba(251,191,36,.3); }
.account-contract-status.is-current { color:#34d399; background:rgba(16,185,129,.08); border-color:rgba(52,211,153,.28); }
.contract-meta-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:18px; }
.contract-meta-grid article { min-width:0; padding:14px 16px; background:#121827; border:1px solid #263247; border-radius:12px; }
.contract-meta-grid span { display:block; margin-bottom:6px; color:#8491a5; font-size:.65rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.contract-meta-grid strong { display:block; overflow-wrap:anywhere; color:#edf2f7; font-size:.82rem; }
.account-contract-document { padding:28px; color:#1f2937; background:#fff; border:1px solid #dbe1e8; border-radius:16px; box-shadow:0 14px 40px rgba(0,0,0,.18); }
.account-contract-document-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:2px solid #111827; }
.account-contract-brand { display:flex; align-items:center; gap:12px; }
.account-contract-brand img { width:44px; height:44px; object-fit:contain; }
.account-contract-brand strong,.account-contract-brand span { display:block; }
.account-contract-brand strong { color:#111827; font:850 1rem var(--font-heading); }
.account-contract-brand span { margin-top:3px; color:#667085; font-size:.7rem; }
.account-contract-version { text-align:right; }
.account-contract-version span,.account-contract-version strong { display:block; }
.account-contract-version span { color:#98a2b3; font-size:.58rem; font-weight:900; letter-spacing:.12em; }
.account-contract-version strong { color:#b42318; font-size:.8rem; }
.account-contract-party { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px; margin:18px 0 8px; padding:13px 15px; background:#f8fafc; border:1px solid #e4e7ec; border-radius:10px; }
.account-contract-party span { color:#667085; font-size:.66rem; font-weight:800; text-transform:uppercase; }
.account-contract-party strong { color:#101828; font-size:.86rem; }
.account-contract-party small { width:100%; color:#667085; font-size:.67rem; }
.account-contract-document .portal-contract-scroll { max-height:none; margin-top:12px; padding:0; overflow:visible; }
.account-contract-document .portal-contract-summary { color:#1e40af; background:#eff6ff; border-color:#bfdbfe; }
.account-contract-document .portal-contract-summary strong { color:#1e3a8a; }
.account-contract-document .portal-contract-summary p { color:#475467; }
.account-contract-document .portal-contract-scroll section { border-color:#e4e7ec; }
.account-contract-document .portal-contract-scroll section > b { color:#b42318; background:#fef3f2; border-color:#fda29b; }
.account-contract-document .portal-contract-scroll strong { color:#1d2939; }
.account-contract-document .portal-contract-scroll p { color:#475467; font-size:.7rem; }
.account-contract-document .portal-contract-scroll em { color:#b42318; }
.account-contract-document-foot { display:flex; justify-content:space-between; gap:15px; margin-top:20px; padding-top:14px; color:#667085; border-top:1px solid #d0d5dd; font-size:.7rem; }
.account-contract-document-foot strong { color:#067647; }
.contract-accept-panel,.contract-history { margin-top:18px; padding:20px; background:#121827; border:1px solid #263247; border-radius:14px; }
.contract-accept-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.8fr); align-items:center; gap:24px; border-color:rgba(251,191,36,.35); }
.contract-accept-panel h2,.contract-history h2 { margin:4px 0; color:#f8fafc; font:800 1.15rem var(--font-heading); }
.contract-accept-panel p { margin:0; color:#94a3b8; font-size:.78rem; }
.contract-accept-panel form { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.contract-image-authorization { width:100%; padding:13px; margin:0; background:rgba(251,191,36,.055); border:1px solid rgba(251,191,36,.22); border-radius:10px; }.contract-image-authorization legend { padding:0 6px; color:#fcd34d; font-size:.72rem; font-weight:850; }.contract-image-authorization > p { margin:0 0 10px; font-size:.67rem; }.contract-image-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.contract-image-options label { position:relative; cursor:pointer; }.contract-image-options input { position:absolute; opacity:0; pointer-events:none; }.contract-image-options label > span { display:flex; min-height:70px; align-items:center; justify-content:center; flex-direction:column; gap:3px; padding:8px; color:#94a3b8; background:#0f1521; border:1px solid #2a3548; border-radius:8px; text-align:center; }.contract-image-options svg { width:16px; }.contract-image-options strong,.contract-image-options small { display:block; }.contract-image-options strong { color:#e2e8f0; font-size:.68rem; }.contract-image-options small { color:#7f8da2; font-size:.58rem; }.contract-image-options input:checked + span { color:#4ade80; background:rgba(34,197,94,.08); border-color:rgba(74,222,128,.45); box-shadow:0 0 0 2px rgba(34,197,94,.07); }.contract-image-options input:focus-visible + span { outline:2px solid #60a5fa; outline-offset:2px; }
.contract-guardian-fields { display:grid; grid-template-columns:1fr; gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid rgba(251,191,36,.16); }.contract-guardian-fields.hidden { display:none; }.contract-guardian-fields label { display:flex; width:100%; flex-direction:column; gap:4px; color:#94a3b8; font-size:.62rem; }.contract-guardian-fields input,.contract-guardian-fields select { width:100%; min-height:38px; padding:7px 9px; color:#e2e8f0; background:#0f1521; border:1px solid #2a3548; border-radius:7px; }
.contract-accept-check { display:flex; align-items:flex-start; gap:10px; color:#e2e8f0; cursor:pointer; }
.contract-accept-check input { width:18px; height:18px; flex:0 0 auto; margin-top:2px; accent-color:#dc2626; }
.contract-accept-check strong,.contract-accept-check small { display:block; }
.contract-accept-check strong { font-size:.78rem; }.contract-accept-check small { margin-top:3px; color:#94a3b8; font-size:.67rem; }
.contract-history-head { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #263247; padding-bottom:13px; }
.contract-history-head > svg { color:#94a3b8; }
.contract-history-list article { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid #263247; }
.contract-history-list article:last-child { border-bottom:0; }
.contract-history-list svg { width:19px; color:#22c55e; }
.contract-history-list strong,.contract-history-list span { display:block; }
.contract-history-list strong { color:#e2e8f0; font-size:.78rem; }.contract-history-list span,.contract-history-list time,.contract-history-empty { color:#94a3b8; font-size:.69rem; }
.contract-history-list time { white-space:nowrap; }
.erp-light-theme .account-contract-heading h1,.erp-light-theme .account-contract-status strong,.erp-light-theme .contract-meta-grid strong,.erp-light-theme .contract-accept-panel h2,.erp-light-theme .contract-history h2,.erp-light-theme .contract-history-list strong { color:#172033; }
.erp-light-theme .account-contract-heading p,.erp-light-theme .account-contract-status p,.erp-light-theme .contract-accept-panel p,.erp-light-theme .contract-accept-check small,.erp-light-theme .contract-history-list span,.erp-light-theme .contract-history-list time,.erp-light-theme .contract-history-empty { color:#667085; }
.erp-light-theme .contract-meta-grid article,.erp-light-theme .contract-accept-panel,.erp-light-theme .contract-history { background:#fff; border-color:#dfe5ec; box-shadow:0 7px 22px rgba(15,23,42,.05); }
.erp-light-theme .contract-image-authorization { background:#fffaeb; border-color:#fedf89; }.erp-light-theme .contract-image-authorization legend { color:#b54708; }.erp-light-theme .contract-image-options label > span { color:#667085; background:#fff; border-color:#d0d5dd; }.erp-light-theme .contract-image-options strong { color:#344054; }.erp-light-theme .contract-image-options small { color:#667085; }.erp-light-theme .contract-image-options input:checked + span { color:#15803d; background:#f0fdf4; border-color:#86efac; }.erp-light-theme .contract-guardian-fields { border-color:#fedf89; }.erp-light-theme .contract-guardian-fields label { color:#667085; }.erp-light-theme .contract-guardian-fields input,.erp-light-theme .contract-guardian-fields select { color:#344054; background:#fff; border-color:#d0d5dd; }
.erp-light-theme .account-contract-print { color:#344054; background:#fff; border-color:#d0d5dd; }
.erp-light-theme .account-contract-status.is-pending { background:#fffaeb; border-color:#fedf89; }.erp-light-theme .account-contract-status.is-current { background:#ecfdf3; border-color:#abefc6; }
.erp-light-theme .contract-accept-check { color:#344054; }.erp-light-theme .contract-history-head,.erp-light-theme .contract-history-list article { border-color:#e4e7ec; }
@media (max-width:850px) { .contract-meta-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.contract-accept-panel { grid-template-columns:1fr; }.account-contract-document { padding:18px; } }
@media (max-width:560px) { .contract-image-options { grid-template-columns:1fr; } }
@media (max-width:560px) { .account-contract-heading { align-items:stretch; flex-direction:column; }.account-contract-print { justify-content:center; }.contract-meta-grid { grid-template-columns:1fr; }.account-contract-document-head,.account-contract-document-foot { align-items:flex-start; flex-direction:column; }.account-contract-version { text-align:left; }.contract-history-list article { grid-template-columns:22px 1fr; }.contract-history-list time { grid-column:2; } }
@media print {
  @page { size:A4; margin:11mm; }
  body.erp-page { color:#111!important; background:#fff!important; }
  .erp-sidebar,.erp-topbar,.account-contract-heading,.account-contract-status,.contract-meta-grid,.contract-accept-panel,.contract-history,.flash-stack,.whatsapp-float-btn { display:none!important; }
  .erp-wrapper,.erp-main-container,.erp-content,.account-contract-content { display:block!important; width:100%!important; max-width:none!important; min-height:0!important; margin:0!important; padding:0!important; background:#fff!important; }
  .account-contract-document { padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; }
  .account-contract-document .portal-contract-scroll section { break-inside:avoid; page-break-inside:avoid; }
  .account-contract-document .portal-contract-scroll p { font-size:8.5pt; line-height:1.45; }
  .account-contract-document .portal-contract-scroll strong { font-size:9pt; }
  .account-contract-document-foot { break-inside:avoid; }
}
.public-light-theme .portal-image-consent { border-color:#d0d5dd; }.public-light-theme .portal-image-consent > legend strong,.public-light-theme .portal-image-consent > label b { color:#344054; }.public-light-theme .portal-image-consent > legend small,.public-light-theme .portal-image-consent > label small { color:#667085; }.public-light-theme .portal-image-consent > label > span { color:#667085; background:#fff; border-color:#d0d5dd; }.public-light-theme .portal-image-consent > label > input:checked + span { color:#1d4ed8; background:#eff6ff; border-color:#93c5fd; }.public-light-theme .portal-image-consent > label > input:checked + span b { color:#1e3a8a; }.public-light-theme .portal-minor-consent-fields { background:#eff6ff; border-color:#bfdbfe; }.public-light-theme .portal-minor-consent-fields > p strong { color:#1e3a8a; }.public-light-theme .portal-minor-consent-fields input,.public-light-theme .portal-minor-consent-fields select { color:#344054; background:#fff; border-color:#d0d5dd; }
.public-light-theme .portal-image-consent > label.is-denied > input:checked + span { color:#dc2626; background:#fef2f2; border-color:#fca5a5; }.public-light-theme .portal-image-consent > label.is-denied > input:checked + span b { color:#991b1b; }.public-light-theme .portal-image-consent > label.is-approved > input:checked + span { color:#16a34a; background:#f0fdf4; border-color:#86efac; }.public-light-theme .portal-image-consent > label.is-approved > input:checked + span b { color:#166534; }
.public-light-theme .portal-image-consent-note { color:#475467; background:#eff6ff; border-color:#bfdbfe; }.public-light-theme .portal-image-consent-note strong { color:#1e3a8a; }
.public-light-theme .portal-image-consent-note.is-required { color:#92400e; background:#fffbeb; border-color:#fde68a; }.public-light-theme .portal-image-consent-note.is-required strong { color:#78350f; }
.public-light-theme .main-footer { color:#f8fafc; background:#111318; }.public-light-theme .main-footer .footer-tagline, .public-light-theme .main-footer .footer-links, .public-light-theme .main-footer .footer-link-item, .public-light-theme .main-footer .footer-bottom { color:#aeb8c8; }
.footer-bottom { padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.05); color: var(--text-dim); font-size: 0.85rem; }

@media (max-width: 1100px) {
  .planos-section .grid-planos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mensalidades-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-main-grid, .finance-bottom-grid { grid-template-columns: 1fr; }
  .welcome-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .portal-auth-container { max-width:680px; }
  .portal-auth-shell { grid-template-columns:1fr; }
  .portal-auth-intro { min-height:250px; }
  .portal-intro-copy { margin-top:30px; }.portal-intro-copy h1 { font-size:1.8rem; }
  .portal-intro-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.portal-intro-benefits small { display:none; }
  .portal-intro-support { margin-top:24px; }
  .finance-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .finance-filter-submit { grid-column: span 2; }
  .hero-content, .grid-planos, .form-row, .erp-wrapper, .erp-cards-grid, .member-grid-2 { flex-direction: column; grid-template-columns: 1fr; }
  .classes-cards-grid, .classes-cards-grid-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .planos-section .grid-planos { grid-template-columns: 1fr; }
  .mensalidades-summary-grid { grid-template-columns: 1fr; }
  .erp-sidebar { width: 100% !important; position: relative !important; top: 0 !important; height: auto !important; max-height: none !important; margin-top: 0 !important; }
  .erp-page .erp-main-container { padding-top:0; }
  .erp-page .erp-topbar, .erp-page .erp-sidebar.collapsed + .erp-main-container .erp-topbar { position:sticky; top:0; right:auto; left:auto; padding:10px 16px; }
  .erp-page .erp-user-badge .badge-pill { display: none; }
  .erp-page .erp-user-name { display: none; }
  .erp-page .erp-blue-badge { max-width: calc(100vw - 130px); font-size: 0.72rem; }
  .erp-topbar-right { gap:7px; }
  .erp-quick-actions { padding-right:6px; }
  .welcome-account-hero { align-items:flex-start; flex-direction:column; }
  .welcome-checkin-cta { min-width:0; }
  .welcome-details-grid { grid-template-columns:1fr; }
  .attendance-summary-grid { grid-template-columns:1fr; }
  .nav-menu { display: none; }
  .hero-title { font-size: 2.6rem; }
  .hero-logo-img { width: 220px; }
  .whatsapp-float-btn { bottom: 20px; right: 20px; width: 54px; height: 54px; }
  .wa-tooltip { display: none; }
}

/* Mobile Hamburger Button & Drawer Navigation */
.mobile-nav-toggle {
  display: none;
  background: rgba(30, 41, 59, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.mobile-nav-toggle:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: #ef4444;
}

@media (max-width: 991px) {
  .mobile-nav-toggle { display: flex; }
  .btn-header-cta { display: none; }
  .btn-header-login {
    display: inline-flex !important;
    padding: 7px 11px !important;
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    gap: 5px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, var(--accent-gold), #d97706) !important;
    color: #0f172a !important;
    border: none !important;
    white-space: nowrap !important;
    align-items: center !important;
    text-decoration: none !important;
  }
  .btn-header-login svg {
    width: 14px !important;
    height: 14px !important;
  }
}
@media (max-width: 480px) {
  .btn-header-login .btn-text-full { display: none; }
  .btn-header-login::after { content: "Área Aluno"; }
}

.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.mobile-nav-overlay.active {
  opacity: 1;
  visibility: visible;
}

.mobile-nav-drawer {
  position: fixed;
  top: 0;
  right: -320px;
  width: 300px;
  max-width: 85vw;
  height: 100vh;
  height: 100dvh;
  background: #0b0f19;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  z-index: 10001;
  display: flex;
  flex-direction: column;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.8);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.mobile-nav-drawer.active {
  transform: translateX(-320px);
}

.mobile-drawer-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.mobile-drawer-close {
  background: rgba(255, 255, 255, 0.08);
  border: none;
  color: #94a3b8;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.mobile-drawer-close:hover {
  background: rgba(239, 68, 68, 0.2);
  color: #ef4444;
}

.mobile-drawer-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.mobile-drawer-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mobile-nav-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 10px;
  color: #cbd5e1;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.mobile-nav-link:hover, .mobile-nav-link.active {
  background: rgba(239, 68, 68, 0.15);
  color: #ffffff;
}

.mobile-nav-group-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 10px;
  background: transparent;
  border: none;
  color: #cbd5e1;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.mobile-nav-group-trigger span {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mobile-nav-group-trigger .group-chevron {
  transition: transform 0.2s ease;
}
.mobile-nav-group-trigger.active .group-chevron {
  transform: rotate(180deg);
}

.mobile-nav-subitems {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-left: 16px;
  margin-top: 4px;
}
.mobile-subnav-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 8px;
  color: #94a3b8;
  font-size: 0.88rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.mobile-subnav-link:hover {
  color: #f87171;
  background: rgba(255, 255, 255, 0.05);
}

.mobile-drawer-actions {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Mobile Bottom Navigation Dock Bar */
.mobile-bottom-dock {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 64px;
  background: rgba(11, 15, 25, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  z-index: 9990;
  padding: 4px 8px;
  box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.6);
}

.dock-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  color: #94a3b8;
  text-decoration: none;
  background: transparent;
  border: none;
  padding: 4px 0;
  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
  font-family: inherit;
}
.dock-item svg {
  width: 20px;
  height: 20px;
  transition: transform 0.2s ease;
}
.dock-item span {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.dock-item:hover, .dock-item.active {
  color: var(--accent-gold, #f59e0b);
}
.dock-item.active svg {
  transform: translateY(-2px);
}

.welcome-hero-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.welcome-attendance-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border-radius: 12px;
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.25);
}
.welcome-attendance-pill strong {
  display: block;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
}
.welcome-attendance-pill small {
  color: var(--accent-gold);
  font-size: 0.72rem;
  font-weight: 700;
}

.dock-cta {
  position: relative;
}
.dock-cta-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent-gold), #d97706);
  color: #0f172a;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 15px rgba(245, 158, 11, 0.5);
  margin-top: -14px;
  transition: transform 0.2s ease;
}
.dock-cta-icon svg {
  width: 20px;
  height: 20px;
}
.dock-cta:active .dock-cta-icon {
  transform: scale(0.95);
}

@media (max-width: 991px) {
  .mobile-bottom-dock {
    display: flex;
    justify-content: space-around;
    align-items: center;
  }
  body {
    padding-bottom: 64px !important;
  }
}

@media (max-width: 640px) {
  .modal-backdrop {
    align-items: flex-end !important;
    padding: 0 !important;
  }
  .modal-card {
    width: 100% !important;
    max-width: 100% !important;
    max-height: 90vh !important;
    max-height: 90dvh !important;
    overflow-y: auto !important;
    border-radius: 24px 24px 0 0 !important;
    border-bottom: none !important;
    padding: 24px 20px 36px !important;
    animation: slideUpBottomSheet 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  input:not([type=checkbox]), select, textarea {
    font-size: 16px !important;
  }
}

@keyframes slideUpBottomSheet {
  from { transform: translateY(100%); }
  to { transform: translateY(0); }
}

@media (max-width: 640px) {
  .financial-report-backdrop { padding:10px; }
  .financial-report-dialog { max-height:calc(100vh - 20px); }
  .financial-report-header, .financial-report-dialog form { padding-left:15px; padding-right:15px; }
  .financial-report-options { grid-template-columns:1fr; }
  .financial-report-period { grid-template-columns:1fr; }
  .financial-report-period > svg { display:none; }
  .financial-report-scope { align-items:flex-start; flex-direction:column; gap:8px; }
  .attendance-approval-group > header { grid-template-columns:1fr auto; }
  .attendance-approval-group > header strong { grid-column:1; grid-row:2; }
  .attendance-approval-group > header small { grid-column:2; grid-row:1 / span 2; }
  .login-page-section { padding:20px 0 70px; }
  .portal-auth-container { padding-inline:16px; }
  .portal-auth-shell { gap:12px; }
  .portal-auth-intro { min-height:auto; padding:22px; border-radius:14px; }
  .portal-intro-copy { margin-top:22px; }.portal-intro-copy h1 { margin-bottom:7px; font-size:1.55rem; }.portal-intro-copy p { font-size:.76rem; }
  .portal-intro-benefits, .portal-intro-support { display:none; }
  .portal-card { padding:24px 20px; border-radius:14px; }
  .portal-tab-btn { padding:10px 7px; font-size:.78rem; }
  .main-header #openScheduleModal { display:none; }
  .main-header .brand-text { display:none; }
  .main-header .header-content { padding-inline:14px; }
  .main-header .header-actions { gap:7px; }
  .classes-hero { padding:62px 18px 45px; }.classes-catalog-section { padding-top:42px; }.classes-cards-grid, .classes-cards-grid-compact { grid-template-columns:1fr; }.class-catalog-card { min-height:225px; }
  .flash-stack, .erp-flash-stack { top:10px; right:10px; width:calc(100vw - 20px); padding:0; }
  .erp-page .erp-blue-badge { display:none; }
  .erp-page .erp-topbar { min-height:58px; padding:7px 12px; }
  .welcome-dashboard-content { padding:18px 14px; }
  .welcome-account-hero { min-height:0; padding:25px 22px; }
  .welcome-checkin-cta { width:100%; }
  .welcome-summary-grid { grid-template-columns:1fr; }
  .welcome-summary-card { min-height:128px; }
  .welcome-section-heading { align-items:flex-start; flex-direction:column; gap:3px; }
  .welcome-account-list > div { grid-template-columns:90px minmax(0,1fr); }
  .attendance-summary-card { min-height:66px; padding:11px 13px; }
  .finance-title-row { align-items: flex-start; flex-direction: column; }
  .finance-filter-bar, .finance-kpi-grid { grid-template-columns: 1fr; }
  .finance-filter-submit { grid-column: auto; }
  .finance-chart { gap: 4px; height: 175px; }
  .finance-chart-column small { font-size: .55rem; }
}

/* INTEGRAÇÕES • PAGAMENTOS */
.payments-integration-content { display:flex; flex-direction:column; gap:18px; }
.payments-integration-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 28px; background:linear-gradient(135deg,#151a26,#11151f); border:1px solid rgba(255,255,255,.08); border-radius:16px; box-shadow:0 14px 34px rgba(0,0,0,.18); }
.payments-integration-eyebrow { display:flex; align-items:center; gap:7px; color:#4ade80; font-size:.62rem; font-weight:800; letter-spacing:.14em; }
.payments-integration-eyebrow svg { width:15px; height:15px; }
.payments-integration-hero h1 { margin:7px 0 4px; color:#f8fafc; font:800 1.9rem var(--font-heading); }
.payments-integration-hero p { max-width:680px; margin:0; color:#8c98aa; font-size:.76rem; line-height:1.55; }
.payments-connection-status { display:inline-flex; align-items:center; flex:none; gap:8px; padding:9px 12px; color:#a5adba; background:rgba(148,163,184,.08); border:1px solid rgba(148,163,184,.18); border-radius:9px; font-size:.68rem; font-weight:750; }
.payments-connection-status svg { width:16px; height:16px; }
.payments-connection-status.is-online { color:#4ade80; background:rgba(34,197,94,.09); border-color:rgba(74,222,128,.28); }
.payments-integration-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.payments-integration-kpis article { display:flex; min-width:0; flex-direction:column; gap:4px; padding:16px 18px; background:#171b25; border:1px solid rgba(255,255,255,.075); border-radius:11px; }
.payments-integration-kpis span { display:flex; align-items:center; gap:6px; color:#768296; font-size:.62rem; font-weight:700; text-transform:uppercase; }
.payments-integration-kpis span svg { width:14px; height:14px; }
.payments-integration-kpis strong { color:#edf1f7; font:800 1rem var(--font-heading); }
.payments-integration-kpis small { overflow:hidden; color:#687489; font-size:.59rem; text-overflow:ellipsis; white-space:nowrap; }
.payments-integration-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr); gap:16px; }
.payments-integration-panel,.payments-flow-panel { padding:20px; background:#171b25; border:1px solid rgba(255,255,255,.075); border-radius:13px; }
.payments-integration-panel > header,.payments-flow-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:15px; }
.payments-integration-panel header span,.payments-flow-panel header span { color:#7f8a9c; font-size:.57rem; font-weight:800; letter-spacing:.13em; }
.payments-integration-panel header h2,.payments-flow-panel header h2 { margin:3px 0 0; color:#edf1f7; font:800 1.05rem var(--font-heading); }
.payments-integration-panel > header > small { padding:5px 7px; color:#778399; background:rgba(255,255,255,.04); border-radius:6px; font-size:.56rem; }
.payment-provider-list { display:flex; flex-direction:column; gap:9px; }
.payment-provider-card { display:grid; grid-template-columns:40px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; background:#11151e; border:1px solid rgba(255,255,255,.065); border-radius:10px; }
.payment-provider-card.is-recommended { border-color:rgba(74,222,128,.27); box-shadow:inset 3px 0 #22c55e; }
.payment-provider-icon { display:grid; place-items:center; width:40px; height:40px; color:#91a0b5; background:rgba(148,163,184,.08); border-radius:9px; }
.payment-provider-card.is-recommended .payment-provider-icon { color:#4ade80; background:rgba(34,197,94,.1); }
.payment-provider-icon svg { width:19px; height:19px; }
.payment-provider-card h3 { margin:2px 0 3px; color:#e9edf4; font-size:.78rem; }
.payment-provider-card p { margin:0; color:#727e91; font-size:.61rem; line-height:1.45; }
.payment-provider-tag { display:block; color:#4ade80; font-size:.5rem; font-weight:800; letter-spacing:.09em; }
.payment-provider-state { padding:5px 8px; color:#4ade80; background:rgba(34,197,94,.08); border-radius:6px; font-size:.55rem; font-weight:750; white-space:nowrap; }
.payment-provider-state.is-muted { color:#788497; background:rgba(148,163,184,.07); }
.payments-setup-list { display:flex; flex-direction:column; gap:0; padding:0; margin:0; list-style:none; }
.payments-setup-list li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; position:relative; padding:8px 0 14px; }
.payments-setup-list li:not(:last-child)::after { content:""; position:absolute; top:37px; bottom:-2px; left:13px; width:1px; background:rgba(148,163,184,.17); }
.payments-setup-list li > span { display:grid; place-items:center; width:28px; height:28px; color:#8b96a8; background:#11151e; border:1px solid rgba(148,163,184,.18); border-radius:8px; font-size:.62rem; font-weight:800; }
.payments-setup-list li.is-complete > span { color:#07150c; background:#4ade80; border-color:#4ade80; }
.payments-setup-list li > div { display:flex; flex-direction:column; gap:2px; padding-top:2px; }
.payments-setup-list strong { color:#dfe5ed; font-size:.67rem; }
.payments-setup-list small { color:#6f7b8e; font-size:.57rem; line-height:1.4; }
.payments-next-step { display:flex; align-items:flex-start; gap:9px; padding:11px; margin-top:4px; color:#93c5fd; background:rgba(59,130,246,.07); border:1px solid rgba(96,165,250,.16); border-radius:9px; }
.payments-next-step > svg { flex:none; width:15px; height:15px; margin-top:1px; }
.payments-next-step p { display:flex; flex-direction:column; gap:2px; margin:0; }
.payments-next-step strong { color:#bfdbfe; font-size:.62rem; }
.payments-next-step span { color:#7f91aa; font-size:.57rem; line-height:1.4; }
.payments-flow-steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:12px; }
.payments-flow-steps > div { display:flex; min-width:0; align-items:center; flex-direction:column; gap:5px; padding:14px 8px; text-align:center; background:#11151e; border-radius:9px; }
.payments-flow-steps > div svg { width:20px; height:20px; color:#4ade80; }
.payments-flow-steps > div strong { color:#e4e9f0; font-size:.67rem; }
.payments-flow-steps > div small { color:#6e7a8d; font-size:.55rem; }
.payments-flow-steps > svg { width:15px; height:15px; color:#485367; }
.erp-light-theme .payments-integration-hero { background:linear-gradient(135deg,#fff,#f7f9fc); border-color:#e4e7ec; box-shadow:0 8px 24px rgba(15,23,42,.06); }
.erp-light-theme .payments-integration-hero h1,.erp-light-theme .payments-integration-kpis strong,.erp-light-theme .payments-integration-panel header h2,.erp-light-theme .payments-flow-panel header h2,.erp-light-theme .payment-provider-card h3,.erp-light-theme .payments-setup-list strong,.erp-light-theme .payments-flow-steps > div strong { color:#1d2939; }
.erp-light-theme .payments-integration-hero p,.erp-light-theme .payments-integration-kpis small,.erp-light-theme .payment-provider-card p,.erp-light-theme .payments-setup-list small,.erp-light-theme .payments-flow-steps > div small { color:#667085; }
.erp-light-theme .payments-integration-kpis article,.erp-light-theme .payments-integration-panel,.erp-light-theme .payments-flow-panel { background:#fff; border-color:#e4e7ec; box-shadow:0 2px 8px rgba(15,23,42,.025); }
.erp-light-theme .payment-provider-card,.erp-light-theme .payments-setup-list li > span,.erp-light-theme .payments-flow-steps > div { background:#f8fafc; border-color:#e4e7ec; }
.erp-light-theme .payments-setup-list li:not(:last-child)::after { background:#d0d5dd; }
.erp-light-theme .payments-next-step { background:#eff6ff; border-color:#bfdbfe; }
.erp-light-theme .payments-next-step strong { color:#1d4ed8; }
.erp-light-theme .payments-next-step span { color:#475467; }
.payments-beginner-note,.payments-current-state { display:flex; align-items:flex-start; gap:12px; padding:15px 17px; color:#93c5fd; background:rgba(59,130,246,.07); border:1px solid rgba(96,165,250,.18); border-radius:11px; }
.payments-beginner-note > svg,.payments-current-state > svg { flex:none; width:20px; height:20px; margin-top:1px; }
.payments-beginner-note > div,.payments-current-state > div { display:flex; flex-direction:column; gap:3px; }
.payments-beginner-note strong,.payments-current-state strong { color:#dbeafe; font-size:.72rem; }
.payments-beginner-note p,.payments-current-state p { max-width:930px; margin:0; color:#8999b0; font-size:.64rem; line-height:1.55; }
.payments-guide-panel,.payments-faq-panel { padding:22px; background:#171b25; border:1px solid rgba(255,255,255,.075); border-radius:13px; }
.payments-guide-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:18px; }
.payments-guide-heading > div > span,.payments-faq-panel > header > span,.payments-info-card header span { color:#4ade80; font-size:.56rem; font-weight:800; letter-spacing:.13em; }
.payments-guide-heading h2,.payments-faq-panel > header h2,.payments-info-card header h2 { margin:3px 0; color:#edf1f7; font:800 1.08rem var(--font-heading); }
.payments-guide-heading p { margin:0; color:#748095; font-size:.62rem; }
.payments-guide-time { display:inline-flex; align-items:center; flex:none; gap:6px; padding:7px 9px; color:#8d99ac; background:#11151e; border:1px solid rgba(255,255,255,.06); border-radius:8px; font-size:.59rem; font-weight:700; }
.payments-guide-time svg { width:14px; height:14px; }
.payments-guide-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.payments-guide-steps article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:11px; padding:15px; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:10px; }
.payments-guide-steps article > span { display:grid; place-items:center; width:32px; height:32px; color:#08140d; background:#4ade80; border-radius:9px; font-size:.7rem; font-weight:900; }
.payments-guide-steps article > div { display:flex; min-width:0; flex-direction:column; }
.payments-guide-steps h3 { margin:1px 0 5px; color:#e6ebf2; font-size:.72rem; }
.payments-guide-steps p { margin:0; color:#7d899c; font-size:.61rem; line-height:1.55; }
.payments-guide-steps p strong { color:#b7c1cf; }
.payments-guide-steps small { display:flex; align-items:center; gap:5px; margin-top:9px; color:#4ade80; font-size:.55rem; }
.payments-guide-steps small svg { width:13px; height:13px; }
.payments-responsibility-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.payments-info-card { padding:17px; background:#171b25; border:1px solid rgba(255,255,255,.075); border-radius:12px; }
.payments-info-card header { display:flex; align-items:center; gap:10px; padding-bottom:11px; border-bottom:1px solid rgba(255,255,255,.065); }
.payments-info-card header > svg { width:21px; height:21px; color:#4ade80; }
.payments-info-card header h2 { font-size:.83rem; }
.payments-info-card ul { display:flex; flex-direction:column; gap:8px; padding:0; margin:13px 0 0; list-style:none; }
.payments-info-card li { position:relative; padding-left:14px; color:#7f8a9d; font-size:.6rem; line-height:1.45; }
.payments-info-card li::before { content:""; position:absolute; top:.43em; left:0; width:5px; height:5px; background:#4ade80; border-radius:50%; }
.payments-faq-panel > header { margin-bottom:14px; }
.payments-faq-list { display:flex; flex-direction:column; gap:7px; }
.payments-faq-list details { overflow:hidden; background:#11151e; border:1px solid rgba(255,255,255,.06); border-radius:9px; }
.payments-faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; color:#dfe5ed; cursor:pointer; font-size:.67rem; font-weight:700; list-style:none; }
.payments-faq-list summary::-webkit-details-marker { display:none; }
.payments-faq-list summary svg { flex:none; width:15px; height:15px; color:#788599; transition:transform .2s ease; }
.payments-faq-list details[open] summary svg { transform:rotate(180deg); }
.payments-faq-list details p { padding:0 14px 13px; margin:0; color:#7c899c; font-size:.61rem; line-height:1.6; }
.payments-current-state { color:#fbbf24; background:rgba(245,158,11,.07); border-color:rgba(245,158,11,.2); }
.payments-current-state strong { color:#fde68a; }
.erp-light-theme .payments-beginner-note { background:#eff6ff; border-color:#bfdbfe; }
.erp-light-theme .payments-beginner-note strong { color:#1e40af; }
.erp-light-theme .payments-beginner-note p { color:#475467; }
.erp-light-theme .payments-guide-panel,.erp-light-theme .payments-faq-panel,.erp-light-theme .payments-info-card { background:#fff; border-color:#e4e7ec; box-shadow:0 2px 8px rgba(15,23,42,.025); }
.erp-light-theme .payments-guide-heading h2,.erp-light-theme .payments-faq-panel > header h2,.erp-light-theme .payments-info-card header h2,.erp-light-theme .payments-guide-steps h3,.erp-light-theme .payments-faq-list summary { color:#1d2939; }
.erp-light-theme .payments-guide-heading p,.erp-light-theme .payments-guide-steps p,.erp-light-theme .payments-info-card li,.erp-light-theme .payments-faq-list details p { color:#667085; }
.erp-light-theme .payments-guide-time,.erp-light-theme .payments-guide-steps article,.erp-light-theme .payments-faq-list details { background:#f8fafc; border-color:#e4e7ec; }
.erp-light-theme .payments-info-card header { border-bottom-color:#eaecf0; }
.erp-light-theme .payments-current-state { background:#fffbeb; border-color:#fde68a; }
.erp-light-theme .payments-current-state strong { color:#92400e; }
.erp-light-theme .payments-current-state p { color:#667085; }
@media (max-width:900px) { .payments-integration-grid { grid-template-columns:1fr; }.payments-flow-steps { grid-template-columns:1fr; }.payments-flow-steps > svg { margin:auto; transform:rotate(90deg); } }
@media (max-width:900px) { .payments-responsibility-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .payments-guide-steps { grid-template-columns:1fr; } }
@media (max-width:640px) { .payments-integration-hero { align-items:flex-start; flex-direction:column; padding:21px; }.payments-integration-kpis { grid-template-columns:1fr; }.payment-provider-card { grid-template-columns:36px minmax(0,1fr); }.payment-provider-icon { width:36px; height:36px; }.payment-provider-state { grid-column:2; justify-self:start; }.payments-integration-panel,.payments-flow-panel,.payments-guide-panel,.payments-faq-panel { padding:16px; }.payments-guide-heading { align-items:flex-start; flex-direction:column; }.payments-beginner-note,.payments-current-state { padding:13px; } }

/* INTEGRAÇÕES • CATRACA */
.turnstile-content { display:flex; flex-direction:column; gap:16px; }
.turnstile-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 27px; background:linear-gradient(135deg,#151a26,#11151f); border:1px solid rgba(255,255,255,.08); border-radius:15px; }
.turnstile-hero > div > span { display:flex; align-items:center; gap:6px; color:#60a5fa; font-size:.58rem; font-weight:850; letter-spacing:.14em; }
.turnstile-hero > div > span svg { width:15px; height:15px; }
.turnstile-hero h1 { margin:6px 0 3px; color:#f8fafc; font:800 1.85rem var(--font-heading); }
.turnstile-hero p { max-width:680px; margin:0; color:#8491a4; font-size:.71rem; line-height:1.55; }
.turnstile-warning,.turnstile-current-state { display:flex; align-items:flex-start; gap:10px; padding:13px 15px; color:#fbbf24; background:rgba(245,158,11,.06); border:1px solid rgba(245,158,11,.17); border-radius:9px; }
.turnstile-warning > svg,.turnstile-current-state > svg { flex:none; width:17px; height:17px; }
.turnstile-warning strong,.turnstile-current-state strong { color:#fde68a; font-size:.62rem; }
.turnstile-warning p,.turnstile-current-state p { margin:2px 0 0; color:#91846c; font-size:.55rem; line-height:1.5; }
.turnstile-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.turnstile-kpis article { display:flex; min-width:0; flex-direction:column; gap:3px; padding:14px 15px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.turnstile-kpis span { display:flex; align-items:center; gap:5px; color:#748196; font-size:.52rem; font-weight:750; text-transform:uppercase; }
.turnstile-kpis span svg { width:13px; height:13px; }
.turnstile-kpis strong { color:#e7ecf3; font:.8rem var(--font-heading); }
.turnstile-kpis small { overflow:hidden; color:#68758a; font-size:.49rem; text-overflow:ellipsis; white-space:nowrap; }
.turnstile-main-grid,.turnstile-bottom-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(290px,.7fr); gap:12px; }
.turnstile-bottom-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.turnstile-panel,.turnstile-flow { padding:18px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }
.turnstile-panel > header,.turnstile-flow > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }
.turnstile-panel header span,.turnstile-flow header span { color:#718096; font-size:.51rem; font-weight:850; letter-spacing:.12em; }
.turnstile-panel header h2,.turnstile-flow header h2 { margin:3px 0 0; color:#e9eef5; font:800 .88rem var(--font-heading); }
.turnstile-panel header small { color:#68758a; font-size:.49rem; }
.turnstile-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.turnstile-methods article { display:grid; grid-template-columns:31px minmax(0,1fr); align-items:center; gap:8px; padding:11px; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:8px; }
.turnstile-methods article > svg { width:17px; color:#7b889b; }
.turnstile-methods article strong { color:#dbe2eb; font-size:.57rem; }
.turnstile-methods article p { margin:2px 0 0; color:#6d7a8e; font-size:.48rem; line-height:1.4; }
.turnstile-methods article em { grid-column:2; justify-self:start; padding:3px 5px; color:#8190a4; background:rgba(148,163,184,.07); border-radius:4px; font-size:.42rem; font-style:normal; }
.turnstile-methods article.is-recommended { border-color:rgba(74,222,128,.18); }
.turnstile-methods article.is-recommended > svg,.turnstile-methods article.is-recommended em { color:#4ade80; }
.turnstile-rules ul,.turnstile-panel ol,.turnstile-safety { display:flex; flex-direction:column; gap:8px; padding:0; margin:0; list-style:none; }
.turnstile-rules li { display:flex; align-items:flex-start; gap:8px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.05); }
.turnstile-rules li:last-child { padding-bottom:0; border:0; }
.turnstile-rules li > svg { flex:none; width:14px; height:14px; color:#4ade80; }
.turnstile-rules li div { display:flex; flex-direction:column; gap:2px; }
.turnstile-rules strong { color:#d9e0e9; font-size:.56rem; }
.turnstile-rules small { color:#6d7a8e; font-size:.48rem; line-height:1.4; }
.turnstile-flow > div { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:8px; }
.turnstile-flow > div > article { display:flex; min-width:0; align-items:center; flex-direction:column; gap:3px; padding:13px 8px; text-align:center; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:8px; }
.turnstile-flow article > svg { width:18px; color:#60a5fa; }
.turnstile-flow article strong { color:#dce3ec; font-size:.56rem; }
.turnstile-flow article small { color:#68758a; font-size:.46rem; }
.turnstile-flow > div > svg { width:14px; color:#4e5b70; }
.turnstile-compatibility > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.turnstile-compatibility article { padding:11px; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:8px; }.turnstile-compatibility article > svg { width:16px; color:#4ade80; }.turnstile-compatibility article strong { display:block; margin:5px 0 2px; color:#dce3ec; font-size:.55rem; }.turnstile-compatibility article p { margin:0; color:#6d7a8e; font-size:.48rem; line-height:1.45; }
.turnstile-panel ol li { display:flex; align-items:center; gap:8px; color:#8996a8; font-size:.53rem; }
.turnstile-panel ol li span { display:grid; flex:none; width:22px; height:22px; place-items:center; color:#93c5fd; background:rgba(59,130,246,.08); border-radius:50%; font-size:.48rem; font-weight:850; }
.turnstile-safety li { display:flex; align-items:center; gap:7px; color:#8996a8; font-size:.53rem; }
.turnstile-safety svg { width:14px; color:#4ade80; }
.erp-light-theme .turnstile-hero { background:linear-gradient(135deg,#fff,#f7f9fc); border-color:#e4e7ec; }
.erp-light-theme .turnstile-hero h1,.erp-light-theme .turnstile-kpis strong,.erp-light-theme .turnstile-panel header h2,.erp-light-theme .turnstile-flow header h2,.erp-light-theme .turnstile-methods article strong,.erp-light-theme .turnstile-rules strong,.erp-light-theme .turnstile-flow article strong { color:#1d2939; }
.erp-light-theme .turnstile-hero p,.erp-light-theme .turnstile-methods article p,.erp-light-theme .turnstile-rules small { color:#667085; }
.erp-light-theme .turnstile-warning,.erp-light-theme .turnstile-current-state { background:#fffbeb; border-color:#fde68a; }
.erp-light-theme .turnstile-warning strong,.erp-light-theme .turnstile-current-state strong { color:#92400e; }
.erp-light-theme .turnstile-warning p,.erp-light-theme .turnstile-current-state p { color:#667085; }
.erp-light-theme .turnstile-kpis article,.erp-light-theme .turnstile-panel,.erp-light-theme .turnstile-flow { background:#fff; border-color:#e4e7ec; }
.erp-light-theme .turnstile-methods article,.erp-light-theme .turnstile-flow > div > article { background:#f8fafc; border-color:#e4e7ec; }
.erp-light-theme .turnstile-compatibility article { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .turnstile-compatibility article strong { color:#1d2939; }.erp-light-theme .turnstile-compatibility article p { color:#667085; }
.erp-light-theme .turnstile-rules li { border-color:#eaecf0; }
@media (max-width:1000px) { .turnstile-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.turnstile-main-grid { grid-template-columns:1fr; }.turnstile-flow > div { grid-template-columns:1fr; }.turnstile-flow > div > svg { margin:auto; transform:rotate(90deg); }.turnstile-compatibility > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .turnstile-hero { align-items:flex-start; flex-direction:column; padding:20px; }.turnstile-kpis,.turnstile-methods,.turnstile-bottom-grid,.turnstile-compatibility > div { grid-template-columns:1fr; }.turnstile-panel,.turnstile-flow { padding:15px; } }

/* ADMINISTRAÇÃO DE GRADUAÇÃO */
.graduation-admin-content { display:flex; flex-direction:column; gap:15px; }.graduation-admin-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }.graduation-admin-heading > div > span { display:flex; align-items:center; gap:6px; color:#fbbf24; font-size:.56rem; font-weight:850; letter-spacing:.13em; }.graduation-admin-heading svg { width:14px; height:14px; }.graduation-admin-heading h1 { margin:5px 0 3px; color:#f1f5f9; font:800 1.7rem var(--font-heading); }.graduation-admin-heading p { margin:0; color:#7b889b; font-size:.66rem; }.graduation-admin-rule { display:flex; align-items:center; gap:6px; padding:8px 10px; color:#fde68a; background:rgba(245,158,11,.07); border:1px solid rgba(245,158,11,.17); border-radius:7px; font-size:.53rem; font-weight:750; }.graduation-admin-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }.graduation-admin-kpis article { display:flex; min-width:0; flex-direction:column; gap:2px; position:relative; overflow:hidden; padding:12px 13px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:9px; }.graduation-admin-kpis article::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:#60a5fa; }.graduation-admin-kpis article.is-branca::before { background:#f8fafc; }.graduation-admin-kpis article.is-azul::before { background:#2563eb; }.graduation-admin-kpis article.is-roxa::before { background:#9333ea; }.graduation-admin-kpis article.is-marrom::before { background:#92400e; }.graduation-admin-kpis article.is-preta::before { background:#05070b; }.graduation-admin-kpis span { overflow:hidden; color:#718096; font-size:.48rem; font-weight:750; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }.graduation-admin-kpis strong { color:#e7ecf3; font:800 1rem var(--font-heading); }.graduation-admin-kpis small { color:#637085; font-size:.45rem; }.graduation-admin-panel { padding:17px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }.graduation-admin-panel-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:12px; }.graduation-admin-panel-heading span { color:#fbbf24; font-size:.5rem; font-weight:850; letter-spacing:.12em; }.graduation-admin-panel-heading h2 { margin:3px 0 0; color:#e8edf4; font:800 .88rem var(--font-heading); }.graduation-admin-panel-heading > small { color:#68758a; font-size:.5rem; }.graduation-admin-filters { display:grid; grid-template-columns:minmax(180px,1fr) 135px 135px auto; align-items:end; gap:7px; margin-bottom:12px; padding:10px; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:8px; }.graduation-admin-filters label { display:flex; flex-direction:column; gap:4px; }.graduation-admin-filters label span { color:#68758a; font-size:.47rem; font-weight:750; text-transform:uppercase; }.graduation-admin-filters input,.graduation-admin-filters select { width:100%; height:32px; padding:0 8px; color:#d5dce6; background:#171b25; border:1px solid rgba(255,255,255,.075); border-radius:6px; font-size:.53rem; }.graduation-admin-filters button { display:flex; align-items:center; gap:5px; height:32px; padding:0 10px; color:#07150c; background:#4ade80; border:0; border-radius:6px; cursor:pointer; font-size:.52rem; font-weight:800; }.graduation-admin-filters button svg { width:12px; }.graduation-admin-table-wrap { overflow-x:auto; }.graduation-admin-table { width:100%; min-width:820px; border-collapse:collapse; }.graduation-admin-table th { padding:8px 9px; color:#68758a; background:#11151e; border-block:1px solid rgba(255,255,255,.05); font-size:.47rem; text-align:left; text-transform:uppercase; }.graduation-admin-table td { padding:9px; color:#8592a5; border-bottom:1px solid rgba(255,255,255,.05); font-size:.53rem; vertical-align:middle; }.graduation-member { display:flex; align-items:center; gap:7px; }.graduation-member > span { display:grid; flex:none; width:28px; height:28px; place-items:center; color:#dbe3ed; background:#242b38; border-radius:50%; font-size:.55rem; font-weight:800; }.graduation-member > div,.graduation-last { display:flex; flex-direction:column; gap:2px; }.graduation-member strong,.graduation-last strong { color:#dce3ec; font-size:.56rem; }.graduation-member small,.graduation-last small { color:#68758a; font-size:.45rem; }.graduation-belt { display:flex; align-items:center; gap:6px; }.graduation-belt i { width:40px; height:9px; background:#f8fafc; border:1px solid #cbd5e1; border-radius:2px; }.graduation-belt strong { color:#aab5c4; font-size:.52rem; }.graduation-belt.is-azul i { background:#2563eb; border-color:#3b82f6; }.graduation-belt.is-roxa i { background:#9333ea; border-color:#a855f7; }.graduation-belt.is-marrom i { background:#78350f; border-color:#92400e; }.graduation-belt.is-preta i { background:#05070b; border-color:#475569; }.graduation-degree { display:flex; align-items:center; gap:6px; }.graduation-degree > strong { color:#d7dee8; font-size:.54rem; }.graduation-degree > span { display:flex; gap:2px; }.graduation-degree i { width:3px; height:9px; background:#343c49; border-radius:1px; }.graduation-degree i.is-filled { background:#ef4444; }.graduation-no-history { color:#667387; font-size:.48rem; }.graduation-editor { position:relative; }.graduation-editor > summary { display:inline-flex; align-items:center; gap:4px; padding:6px 8px; color:#93c5fd; background:rgba(59,130,246,.07); border:1px solid rgba(96,165,250,.16); border-radius:6px; cursor:pointer; font-size:.49rem; font-weight:750; list-style:none; }.graduation-editor > summary::-webkit-details-marker { display:none; }.graduation-editor > summary svg { width:11px; }.graduation-editor > form { display:grid; grid-template-columns:1fr; gap:8px; min-width:270px; margin-top:8px; padding:11px; background:#11151e; border:1px solid rgba(255,255,255,.09); border-radius:8px; box-shadow:0 14px 30px rgba(0,0,0,.25); }.graduation-editor > form > strong { color:#dce3ec; font-size:.56rem; }.graduation-editor form > div { display:grid; grid-template-columns:1fr 90px; gap:7px; }.graduation-editor label { display:flex; flex-direction:column; gap:3px; }.graduation-editor label span { color:#6f7c90; font-size:.45rem; font-weight:750; text-transform:uppercase; }.graduation-editor select,.graduation-editor input,.graduation-editor textarea { width:100%; padding:7px 8px; color:#d6dde7; background:#171b25; border:1px solid rgba(255,255,255,.08); border-radius:6px; font:500 .51rem var(--font-body); }.graduation-editor textarea { resize:vertical; }.graduation-editor footer { display:flex; justify-content:flex-end; }.graduation-editor footer button { display:flex; align-items:center; gap:4px; min-height:30px; padding:0 9px; color:#07150c; background:#4ade80; border:0; border-radius:6px; cursor:pointer; font-size:.49rem; font-weight:800; }.graduation-editor footer svg { width:11px; }.graduation-history { display:flex; flex-direction:column; }.graduation-history article { display:grid; grid-template-columns:78px minmax(150px,.8fr) minmax(210px,1fr) minmax(180px,1.2fr); align-items:center; gap:10px; padding:9px; border-bottom:1px solid rgba(255,255,255,.05); }.graduation-history article:last-child { border:0; }.graduation-history time { color:#788599; font-size:.5rem; }.graduation-history-member { display:flex; flex-direction:column; gap:1px; }.graduation-history-member strong { color:#dce3ec; font-size:.54rem; }.graduation-history-member small,.graduation-history article > small { color:#68758a; font-size:.46rem; }.graduation-history-change { display:flex; align-items:center; gap:6px; }.graduation-history-change svg { width:12px; color:#637085; }.graduation-history-change span { padding:4px 6px; color:#e2e8f0; background:#252c38; border-left:3px solid #f8fafc; border-radius:4px; font-size:.47rem; white-space:nowrap; }.graduation-history-change span.is-azul { border-color:#2563eb; }.graduation-history-change span.is-roxa { border-color:#9333ea; }.graduation-history-change span.is-marrom { border-color:#92400e; }.graduation-history-change span.is-preta { border-color:#05070b; }.graduation-empty { display:flex; align-items:center; justify-content:center; gap:6px; min-height:70px; color:#68758a; font-size:.52rem; }.graduation-empty svg { width:15px; }
.erp-light-theme .graduation-admin-heading h1,.erp-light-theme .graduation-admin-kpis strong,.erp-light-theme .graduation-admin-panel-heading h2,.erp-light-theme .graduation-member strong,.erp-light-theme .graduation-last strong,.erp-light-theme .graduation-degree > strong,.erp-light-theme .graduation-editor > form > strong,.erp-light-theme .graduation-history-member strong { color:#1d2939; }.erp-light-theme .graduation-admin-heading p { color:#667085; }.erp-light-theme .graduation-admin-rule { color:#92400e; background:#fffbeb; border-color:#fde68a; }.erp-light-theme .graduation-admin-kpis article,.erp-light-theme .graduation-admin-panel { background:#fff; border-color:#e4e7ec; }.erp-light-theme .graduation-admin-filters,.erp-light-theme .graduation-admin-table th,.erp-light-theme .graduation-editor > form { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .graduation-admin-filters input,.erp-light-theme .graduation-admin-filters select,.erp-light-theme .graduation-editor select,.erp-light-theme .graduation-editor input,.erp-light-theme .graduation-editor textarea { color:#344054; background:#fff; border-color:#d0d5dd; }.erp-light-theme .graduation-admin-table td,.erp-light-theme .graduation-history article { border-color:#eaecf0; }.erp-light-theme .graduation-member > span { color:#344054; background:#eef2f6; }.erp-light-theme .graduation-history-change span { color:#344054; background:#f2f4f7; }
@media (max-width:1100px) { .graduation-admin-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }.graduation-history article { grid-template-columns:70px 1fr 1.2fr; }.graduation-history article > small { grid-column:2/-1; } }
@media (max-width:700px) { .graduation-admin-heading { align-items:flex-start; flex-direction:column; }.graduation-admin-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.graduation-admin-filters { grid-template-columns:1fr; }.graduation-history article { grid-template-columns:1fr; }.graduation-history article > small { grid-column:auto; } }

/* CAMPEONATOS • INTERNO */
.internal-championship-content { display:flex; flex-direction:column; gap:15px; }.internal-championship-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:25px 27px; background:radial-gradient(circle at 88% 15%,rgba(245,158,11,.11),transparent 32%),linear-gradient(135deg,#171a23,#10141d); border:1px solid rgba(245,158,11,.14); border-radius:15px; }.internal-championship-hero > div > span { display:flex; align-items:center; gap:6px; color:#fbbf24; font-size:.57rem; font-weight:850; letter-spacing:.14em; }.internal-championship-hero svg { width:15px; height:15px; }.internal-championship-hero h1 { margin:6px 0 3px; color:#f8fafc; font:800 1.8rem var(--font-heading); }.internal-championship-hero p { max-width:700px; margin:0; color:#8491a4; font-size:.7rem; line-height:1.55; }.internal-championship-status { display:flex; align-items:center; gap:6px; padding:8px 10px; color:#fde68a; background:rgba(245,158,11,.08); border:1px solid rgba(245,158,11,.19); border-radius:7px; font-size:.53rem; font-weight:800; }.internal-championship-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.internal-championship-kpis article { display:flex; min-width:0; flex-direction:column; gap:3px; padding:14px 15px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:10px; }.internal-championship-kpis span { display:flex; align-items:center; gap:5px; color:#748196; font-size:.51rem; font-weight:750; text-transform:uppercase; }.internal-championship-kpis span svg { width:13px; }.internal-championship-kpis strong { color:#e8edf4; font:800 .95rem var(--font-heading); }.internal-championship-kpis small { color:#657287; font-size:.47rem; }.internal-championship-note,.internal-championship-current { display:flex; align-items:flex-start; gap:9px; padding:12px 14px; color:#93c5fd; background:rgba(59,130,246,.055); border:1px solid rgba(96,165,250,.14); border-radius:9px; }.internal-championship-note > svg,.internal-championship-current > svg { flex:none; width:15px; height:15px; }.internal-championship-note strong,.internal-championship-current strong { color:#bfdbfe; font-size:.58rem; }.internal-championship-note p,.internal-championship-current p { margin:2px 0 0; color:#74849b; font-size:.52rem; line-height:1.5; }.internal-championship-current { color:#fbbf24; background:rgba(245,158,11,.055); border-color:rgba(245,158,11,.16); }.internal-championship-current strong { color:#fde68a; }.internal-championship-panel { padding:18px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }.internal-championship-panel > header { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:13px; }.internal-championship-panel header span { color:#fbbf24; font-size:.5rem; font-weight:850; letter-spacing:.12em; }.internal-championship-panel header h2 { margin:3px 0 0; color:#e9eef5; font:800 .88rem var(--font-heading); }.internal-championship-panel header > small { color:#68758a; font-size:.48rem; }.internal-championship-modules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.internal-championship-modules article { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:8px; padding:11px; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:8px; }.internal-championship-modules article > svg { width:17px; color:#fbbf24; }.internal-championship-modules strong { color:#dce3ec; font-size:.55rem; }.internal-championship-modules p { margin:2px 0 0; color:#6d7a8e; font-size:.47rem; line-height:1.4; }.internal-championship-modules em { grid-column:2; justify-self:start; padding:3px 5px; color:#7e8b9e; background:rgba(148,163,184,.07); border-radius:4px; font-size:.41rem; font-style:normal; }.internal-championship-modules article:first-child { border-color:rgba(245,158,11,.18); }.internal-championship-modules article:first-child em { color:#fbbf24; background:rgba(245,158,11,.08); }.internal-championship-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:11px; }.internal-championship-criteria { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }.internal-championship-criteria article { display:flex; min-width:0; flex-direction:column; gap:3px; padding:10px; background:#11151e; border:1px solid rgba(255,255,255,.05); border-radius:7px; }.internal-championship-criteria svg { width:15px; color:#60a5fa; }.internal-championship-criteria strong { color:#dce3ec; font-size:.53rem; }.internal-championship-criteria small { color:#68758a; font-size:.44rem; line-height:1.35; }.internal-championship-checks { display:flex; flex-direction:column; gap:7px; padding:0; margin:0; list-style:none; }.internal-championship-checks li { display:flex; align-items:center; gap:6px; color:#8794a7; font-size:.51rem; }.internal-championship-checks svg { flex:none; width:13px; color:#4ade80; }.internal-championship-flow { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:8px; padding:16px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }.internal-championship-flow > div { display:flex; align-items:center; flex-direction:column; gap:3px; text-align:center; }.internal-championship-flow > div svg { width:18px; color:#fbbf24; }.internal-championship-flow > div strong { color:#dce3ec; font-size:.53rem; }.internal-championship-flow > div small { color:#68758a; font-size:.44rem; }.internal-championship-flow > svg { width:13px; color:#4f5c70; }
.erp-light-theme .internal-championship-hero { background:radial-gradient(circle at 88% 15%,rgba(245,158,11,.09),transparent 32%),linear-gradient(135deg,#fff,#f8fafc); border-color:#fde68a; }.erp-light-theme .internal-championship-hero h1,.erp-light-theme .internal-championship-kpis strong,.erp-light-theme .internal-championship-panel header h2,.erp-light-theme .internal-championship-modules strong,.erp-light-theme .internal-championship-criteria strong,.erp-light-theme .internal-championship-flow > div strong { color:#1d2939; }.erp-light-theme .internal-championship-hero p,.erp-light-theme .internal-championship-modules p { color:#667085; }.erp-light-theme .internal-championship-kpis article,.erp-light-theme .internal-championship-panel,.erp-light-theme .internal-championship-flow { background:#fff; border-color:#e4e7ec; }.erp-light-theme .internal-championship-modules article,.erp-light-theme .internal-championship-criteria article { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .internal-championship-note { background:#eff6ff; border-color:#bfdbfe; }.erp-light-theme .internal-championship-note strong { color:#1e40af; }.erp-light-theme .internal-championship-note p { color:#475467; }.erp-light-theme .internal-championship-current { background:#fffbeb; border-color:#fde68a; }.erp-light-theme .internal-championship-current strong { color:#92400e; }.erp-light-theme .internal-championship-current p { color:#667085; }
@media (max-width:1000px) { .internal-championship-modules { grid-template-columns:repeat(2,minmax(0,1fr)); }.internal-championship-grid { grid-template-columns:1fr; }.internal-championship-criteria { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .internal-championship-hero { align-items:flex-start; flex-direction:column; padding:20px; }.internal-championship-kpis,.internal-championship-modules,.internal-championship-criteria { grid-template-columns:1fr; }.internal-championship-flow { grid-template-columns:1fr; }.internal-championship-flow > svg { margin:auto; transform:rotate(90deg); } }
.championship-cards-content,.championship-detail-content { display:flex; flex-direction:column; gap:15px; }.championship-cards-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }.championship-cards-heading > div > span { display:flex; align-items:center; gap:6px; color:#fbbf24; font-size:.56rem; font-weight:850; letter-spacing:.13em; }.championship-cards-heading svg { width:14px; }.championship-cards-heading h1 { margin:5px 0 3px; color:#f1f5f9; font:800 1.7rem var(--font-heading); }.championship-cards-heading p { margin:0; color:#7b889b; font-size:.65rem; }.championship-cards-heading > button { display:flex; align-items:center; gap:6px; min-height:37px; padding:0 12px; color:#151006; background:#fbbf24; border:0; border-radius:8px; cursor:pointer; font-size:.58rem; font-weight:850; }.championship-cards-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }.championship-card { display:flex; min-width:0; overflow:hidden; flex-direction:column; color:inherit; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:12px; box-shadow:0 8px 20px rgba(0,0,0,.12); text-decoration:none; transition:.18s ease; }.championship-card:hover { border-color:rgba(245,158,11,.3); box-shadow:0 13px 28px rgba(0,0,0,.2); transform:translateY(-2px); }.championship-card-cover { display:flex; align-items:center; position:relative; gap:7px; min-height:74px; padding:15px; color:#fde68a; background:radial-gradient(circle at 85% 20%,rgba(245,158,11,.18),transparent 35%),#11151e; border-bottom:1px solid rgba(255,255,255,.06); }.championship-card-cover > svg { width:24px; height:24px; }.championship-card-cover > span { font-size:.55rem; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }.championship-card-cover > em { display:flex; align-items:center; position:absolute; top:9px; right:9px; gap:3px; padding:4px 6px; color:#4ade80; background:#102117; border-radius:5px; font-size:.43rem; font-style:normal; font-weight:800; }.championship-card-cover > em svg { width:10px; }.championship-card-body { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:10px; padding:14px 15px 10px; }.championship-card-date { display:flex; align-items:center; flex-direction:column; padding:6px; background:#11151e; border:1px solid rgba(255,255,255,.06); border-radius:7px; }.championship-card-date strong { color:#fbbf24; font:800 .92rem var(--font-heading); }.championship-card-date span { color:#68758a; font-size:.42rem; }.championship-card-body h2 { overflow:hidden; margin:0 0 4px; color:#e8edf4; font:800 .72rem var(--font-heading); text-overflow:ellipsis; white-space:nowrap; }.championship-card-body p { display:flex; align-items:center; gap:4px; overflow:hidden; margin:0; color:#738095; font-size:.49rem; text-overflow:ellipsis; white-space:nowrap; }.championship-card-body p svg { flex:none; width:11px; }.championship-card-info { display:flex; justify-content:space-between; gap:8px; padding:0 15px 11px; }.championship-card-info span { display:flex; align-items:center; gap:4px; color:#718096; font-size:.46rem; }.championship-card-info svg { width:11px; }.championship-card footer { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding:9px 15px; color:#fbbf24; background:rgba(245,158,11,.045); border-top:1px solid rgba(245,158,11,.1); font-size:.51rem; font-weight:800; }.championship-card footer svg { width:13px; }.championship-card.is-registered { border-color:rgba(74,222,128,.2); }.championship-card.is-registered footer { color:#4ade80; background:rgba(34,197,94,.045); border-color:rgba(74,222,128,.1); }.championship-card.is-closed { opacity:.72; }.championship-cards-empty { grid-column:1/-1; display:flex; min-height:250px; align-items:center; justify-content:center; flex-direction:column; gap:6px; padding:30px; color:#5f6c80; background:#171b25; border:1px dashed rgba(255,255,255,.1); border-radius:12px; text-align:center; }.championship-cards-empty > svg { width:28px; height:28px; color:#fbbf24; }.championship-cards-empty strong { color:#aeb8c6; font-size:.66rem; }.championship-cards-empty p { margin:0; font-size:.53rem; }.championship-create-dialog { width:min(650px,100%); }.championship-create-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; padding:19px 21px 21px; }.championship-create-form .is-wide { grid-column:1/-1; }.championship-create-form label { display:flex; flex-direction:column; gap:4px; }.championship-create-form label span { color:#7b889b; font-size:.5rem; font-weight:750; }.championship-create-form input,.championship-create-form select,.championship-create-form textarea { width:100%; padding:8px 9px; color:#d9e0e9; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:7px; font:500 .56rem var(--font-body); }.championship-create-form footer { display:flex; justify-content:flex-end; gap:7px; }.championship-create-form footer button { display:flex; align-items:center; gap:5px; min-height:33px; padding:0 10px; color:#8996a8; background:#1b202b; border:1px solid rgba(255,255,255,.08); border-radius:7px; cursor:pointer; font-size:.52rem; font-weight:800; }.championship-create-form footer button[type="submit"] { color:#151006; background:#fbbf24; border-color:#fbbf24; }.championship-create-form footer svg { width:12px; }.championship-detail-back { display:inline-flex; align-items:center; align-self:flex-start; gap:5px; color:#8290a3; font-size:.53rem; text-decoration:none; }.championship-detail-back svg { width:13px; }.championship-detail-hero { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:23px 25px; background:radial-gradient(circle at 88% 15%,rgba(245,158,11,.11),transparent 32%),#151a24; border:1px solid rgba(245,158,11,.15); border-radius:13px; }.championship-detail-hero > div > span { color:#fbbf24; font-size:.52rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }.championship-detail-hero h1 { margin:4px 0 3px; color:#f1f5f9; font:800 1.5rem var(--font-heading); }.championship-detail-hero p { margin:0; color:#7e8b9f; font-size:.61rem; }.championship-detail-hero > em { display:flex; align-items:center; gap:5px; padding:7px 9px; color:#fbbf24; background:rgba(245,158,11,.08); border-radius:6px; font-size:.5rem; font-style:normal; font-weight:800; }.championship-detail-hero > em.is-confirmed { color:#4ade80; background:rgba(34,197,94,.07); }.championship-detail-hero > em.is-closed { color:#94a3b8; background:rgba(148,163,184,.07); }.championship-detail-hero > em svg { width:13px; }.championship-detail-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.championship-detail-facts article { display:grid; grid-template-columns:28px 1fr; align-items:center; gap:2px 7px; padding:12px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:8px; }.championship-detail-facts svg { grid-row:1/3; width:17px; color:#fbbf24; }.championship-detail-facts span { color:#68758a; font-size:.45rem; text-transform:uppercase; }.championship-detail-facts strong { overflow:hidden; color:#dce3ec; font-size:.56rem; text-overflow:ellipsis; white-space:nowrap; }.championship-registration-panel,.championship-registration-confirmed,.championship-registration-closed { padding:18px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }.championship-registration-panel header span,.championship-registration-confirmed span { color:#fbbf24; font-size:.49rem; font-weight:850; letter-spacing:.11em; }.championship-registration-panel header h2,.championship-registration-confirmed h2 { margin:3px 0; color:#e9eef5; font:800 .9rem var(--font-heading); }.championship-registration-panel header p,.championship-registration-confirmed p { margin:0; color:#748196; font-size:.53rem; }.championship-registration-panel form { display:grid; grid-template-columns:1fr 1fr minmax(190px,1fr) auto; align-items:end; gap:9px; margin-top:14px; }.championship-registration-panel label { display:flex; flex-direction:column; gap:4px; }.championship-registration-panel label span { color:#6f7c90; font-size:.47rem; font-weight:750; }.championship-registration-panel input,.championship-registration-panel select { height:34px; padding:0 9px; color:#d9e0e9; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:6px; font-size:.54rem; }.championship-registration-panel form > div { display:grid; grid-template-columns:22px 1fr; gap:1px 6px; padding:6px 9px; background:#11151e; border-radius:6px; }.championship-registration-panel form > div svg { grid-row:1/3; width:15px; color:#fbbf24; }.championship-registration-panel form > div span { color:#68758a; font-size:.43rem; }.championship-registration-panel form > div strong { color:#dce3ec; font-size:.51rem; }.championship-registration-panel button { display:flex; align-items:center; gap:5px; height:34px; padding:0 11px; color:#151006; background:#fbbf24; border:0; border-radius:6px; cursor:pointer; font-size:.51rem; font-weight:850; white-space:nowrap; }.championship-registration-panel button svg { width:12px; }.championship-registration-confirmed { display:flex; align-items:center; gap:13px; color:#4ade80; background:rgba(34,197,94,.045); border-color:rgba(74,222,128,.16); }.championship-registration-confirmed > svg { flex:none; width:28px; height:28px; }.championship-registration-confirmed span { color:#4ade80; }.championship-registration-confirmed small { color:#68758a; font-size:.47rem; }.championship-registration-closed { display:flex; align-items:center; gap:10px; color:#94a3b8; }.championship-registration-closed > svg { width:20px; }.championship-registration-closed strong { color:#cbd5e1; font-size:.58rem; }.championship-registration-closed p { margin:2px 0 0; color:#68758a; font-size:.51rem; }
.erp-light-theme .championship-cards-heading h1,.erp-light-theme .championship-card-body h2,.erp-light-theme .championship-detail-hero h1,.erp-light-theme .championship-detail-facts strong,.erp-light-theme .championship-registration-panel header h2,.erp-light-theme .championship-registration-confirmed h2 { color:#1d2939; }.erp-light-theme .championship-card,.erp-light-theme .championship-cards-empty,.erp-light-theme .championship-detail-facts article,.erp-light-theme .championship-registration-panel,.erp-light-theme .championship-registration-confirmed,.erp-light-theme .championship-registration-closed { background:#fff; border-color:#e4e7ec; }.erp-light-theme .championship-card-cover,.erp-light-theme .championship-card-date,.erp-light-theme .championship-registration-panel input,.erp-light-theme .championship-registration-panel select,.erp-light-theme .championship-registration-panel form > div { color:#344054; background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .championship-detail-hero { background:radial-gradient(circle at 88% 15%,rgba(245,158,11,.09),transparent 32%),#fff; border-color:#fde68a; }.erp-light-theme .championship-create-form input,.erp-light-theme .championship-create-form select,.erp-light-theme .championship-create-form textarea { color:#344054; background:#fff; border-color:#d0d5dd; }
@media (max-width:1000px) { .championship-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.championship-registration-panel form { grid-template-columns:1fr 1fr; } }
@media (max-width:650px) { .championship-cards-heading,.championship-detail-hero { align-items:flex-start; flex-direction:column; }.championship-cards-grid,.championship-detail-facts,.championship-registration-panel form,.championship-create-form { grid-template-columns:1fr; }.championship-create-form .is-wide { grid-column:auto; } }
.championship-weights-content { display:flex; flex-direction:column; gap:14px; }.championship-weights-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }.championship-weights-heading > div > span { display:flex; align-items:center; gap:6px; color:#60a5fa; font-size:.55rem; font-weight:850; letter-spacing:.13em; }.championship-weights-heading svg { width:14px; }.championship-weights-heading h1 { margin:5px 0 3px; color:#f1f5f9; font:800 1.65rem var(--font-heading); }.championship-weights-heading p { max-width:760px; margin:0; color:#7b889b; font-size:.62rem; line-height:1.5; }.championship-weights-editable,.championship-weights-readonly { display:flex; align-items:center; flex:none; gap:5px; padding:7px 9px; color:#4ade80; background:rgba(34,197,94,.07); border:1px solid rgba(74,222,128,.16); border-radius:6px; font-size:.49rem; font-weight:800; }.championship-weights-readonly { color:#93c5fd; background:rgba(59,130,246,.06); border-color:rgba(96,165,250,.15); }.championship-weights-note,.championship-weights-footer { display:flex; align-items:flex-start; gap:9px; padding:11px 13px; color:#fbbf24; background:rgba(245,158,11,.055); border:1px solid rgba(245,158,11,.15); border-radius:8px; }.championship-weights-note > svg,.championship-weights-footer > svg { flex:none; width:15px; }.championship-weights-note strong,.championship-weights-footer strong { color:#fde68a; font-size:.56rem; }.championship-weights-note p,.championship-weights-footer p { margin:2px 0 0; color:#8d816d; font-size:.5rem; line-height:1.45; }
.championship-weight-tabs { min-width:0; }.championship-weight-tablist { display:flex; align-items:flex-end; gap:3px; padding:0 8px; border-bottom:1px solid rgba(255,255,255,.1); }.championship-weight-tablist button { display:flex; align-items:center; position:relative; gap:6px; min-width:150px; min-height:39px; margin-bottom:-1px; padding:0 13px; color:#7c899d; background:#11151e; border:1px solid rgba(255,255,255,.08); border-bottom-color:rgba(255,255,255,.1); border-radius:10px 10px 0 0; cursor:pointer; font:750 .55rem var(--font-body); }.championship-weight-tablist button svg { width:14px; height:14px; }.championship-weight-tablist button small { display:grid; min-width:20px; height:20px; place-items:center; margin-left:auto; color:#657287; background:rgba(255,255,255,.055); border-radius:10px; font-size:.43rem; }.championship-weight-tablist button:hover { color:#dce3ec; background:#171b25; }.championship-weight-tablist button.active { z-index:1; color:#bfdbfe; background:#171b25; border-color:rgba(96,165,250,.28); border-bottom-color:#171b25; }.championship-weight-tablist button[data-weight-tab="feminino"].active { color:#e9d5ff; border-color:rgba(192,132,252,.28); border-bottom-color:#171b25; }.championship-weight-panel { display:none; overflow:hidden; background:#171b25; border:1px solid rgba(96,165,250,.18); border-radius:0 10px 10px 10px; }.championship-weight-panel.active { display:block; }.championship-weight-panel[hidden] { display:none; }.championship-weight-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; color:#fff; background:#124b78; }.championship-weight-panel > header span { display:block; color:#93c5fd; font-size:.45rem; font-weight:850; letter-spacing:.12em; }.championship-weight-panel > header h2 { margin:2px 0 0; color:#fff; font:800 .82rem var(--font-heading); }.championship-weight-panel > header small { color:#bfdbfe; font-size:.46rem; }.championship-weight-panel.is-feminino { border-color:rgba(192,132,252,.18); }.championship-weight-panel.is-feminino > header { background:#513078; }.championship-weight-panel.is-feminino > header span,.championship-weight-panel.is-feminino > header small { color:#e9d5ff; }.championship-weight-table-wrap { overflow-x:auto; }.championship-weight-table { width:100%; min-width:1040px; border-collapse:collapse; table-layout:fixed; }.championship-weight-table th,.championship-weight-table td { height:42px; padding:5px; border-right:1px solid rgba(255,255,255,.09); border-bottom:1px solid rgba(255,255,255,.08); text-align:center; }.championship-weight-table thead th { height:52px; color:#dce7f4; background:#111b28; font-size:.47rem; text-transform:uppercase; }.championship-weight-table thead th:first-child { width:125px; }.championship-weight-table thead th:last-child { width:70px; }.championship-weight-table thead strong,.championship-weight-table thead small { display:block; }.championship-weight-table thead small { margin-top:2px; color:#788da4; font-size:.42rem; }.championship-weight-table tbody th { color:#d9e8f6; background:#123e62; font-size:.51rem; font-weight:800; text-align:left; text-transform:uppercase; }.is-feminino .championship-weight-table tbody th { background:#43265f; }.championship-weight-table tbody td { color:#b7c3d1; background:#171b25; font-size:.5rem; font-weight:650; }.championship-weight-table tbody tr:last-child th,.championship-weight-table tbody tr:last-child td { border-bottom:0; }.championship-weight-table input { width:100%; min-width:0; padding:6px 5px; color:#d8e2ed; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:5px; font-size:.48rem; text-align:center; }.championship-weight-table tbody th input { color:#fff; background:rgba(0,0,0,.16); text-align:left; text-transform:uppercase; }.championship-weight-table input:focus { border-color:#60a5fa; outline:none; box-shadow:0 0 0 2px rgba(59,130,246,.1); }.championship-weight-table td span.is-empty { color:#4f5c70; }.championship-weight-table form button { display:inline-flex; align-items:center; gap:3px; padding:6px; color:#07150c; background:#4ade80; border:0; border-radius:5px; cursor:pointer; font-size:.45rem; font-weight:800; }.championship-weight-table form button svg { width:11px; }.championship-weights-footer { color:#93c5fd; background:rgba(59,130,246,.05); border-color:rgba(96,165,250,.14); }.championship-weights-footer strong { color:#bfdbfe; }.championship-weights-footer p { color:#74849b; }
.erp-light-theme .championship-weights-heading h1 { color:#1d2939; }.erp-light-theme .championship-weights-heading p { color:#667085; }.erp-light-theme .championship-weights-note { background:#fffbeb; border-color:#fde68a; }.erp-light-theme .championship-weights-note strong { color:#92400e; }.erp-light-theme .championship-weights-note p { color:#667085; }.erp-light-theme .championship-weight-tablist { border-color:#d0d5dd; }.erp-light-theme .championship-weight-tablist button { color:#667085; background:#f2f4f7; border-color:#d0d5dd; }.erp-light-theme .championship-weight-tablist button small { color:#667085; background:#e4e7ec; }.erp-light-theme .championship-weight-tablist button.active { color:#1d4ed8; background:#fff; border-color:#93c5fd; border-bottom-color:#fff; }.erp-light-theme .championship-weight-tablist button[data-weight-tab="feminino"].active { color:#7e22ce; border-color:#d8b4fe; border-bottom-color:#fff; }.erp-light-theme .championship-weight-panel { background:#fff; border-color:#bfdbfe; }.erp-light-theme .championship-weight-table th,.erp-light-theme .championship-weight-table td { border-color:#d0d5dd; }.erp-light-theme .championship-weight-table thead th { color:#1d2939; background:#eaf2fa; }.erp-light-theme .championship-weight-table tbody td { color:#344054; background:#fff; }.erp-light-theme .championship-weight-table input { color:#344054; background:#fff; border-color:#cbd5e1; }.erp-light-theme .championship-weight-table tbody th input { color:#fff; background:rgba(0,0,0,.12); border-color:rgba(255,255,255,.25); }.erp-light-theme .championship-weights-footer { background:#eff6ff; border-color:#bfdbfe; }.erp-light-theme .championship-weights-footer strong { color:#1e40af; }.erp-light-theme .championship-weights-footer p { color:#475467; }
@media (max-width:700px) { .championship-weights-heading { align-items:flex-start; flex-direction:column; }.championship-weight-tablist { overflow-x:auto; padding-inline:3px; }.championship-weight-tablist button { min-width:135px; }.championship-weight-table form button span { display:none; } }

/* CAMPEONATOS • PLACAR */
.championship-scoreboard-content { display:flex; flex-direction:column; gap:14px; }
.scoreboard-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.scoreboard-heading > div > span { display:flex; align-items:center; gap:6px; color:#fbbf24; font-size:.55rem; font-weight:850; letter-spacing:.13em; }
.scoreboard-heading svg { width:14px; height:14px; }
.scoreboard-heading h1 { margin:5px 0 3px; color:#f1f5f9; font:800 1.7rem var(--font-heading); }
.scoreboard-heading p { margin:0; color:#7b889b; font-size:.64rem; }
.scoreboard-heading > button { display:inline-flex; align-items:center; gap:6px; min-height:37px; padding:0 13px; color:#151006; background:#fbbf24; border:0; border-radius:8px; cursor:pointer; font-size:.58rem; font-weight:850; }
.scoreboard-heading > button:disabled { opacity:.45; cursor:not-allowed; }
.scoreboard-match-tabs { display:grid; min-width:0; grid-template-columns:145px minmax(0,1fr); align-items:stretch; gap:10px; padding:8px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.scoreboard-match-tabs > header { display:flex; justify-content:center; flex-direction:column; gap:3px; padding:4px 8px; border-right:1px solid rgba(255,255,255,.07); }.scoreboard-match-tabs > header span { color:#8b98aa; font-size:.5rem; font-weight:900; letter-spacing:.11em; }.scoreboard-match-tabs > header small { color:#5f6c7f; font-size:.45rem; }
.scoreboard-match-tabs > div { display:flex; min-width:0; overflow-x:auto; gap:7px; padding-bottom:1px; scrollbar-width:thin; }
.scoreboard-match-tabs a { display:flex; min-width:245px; flex-direction:column; gap:5px; padding:9px 11px; color:#7c899d; background:#11151e; border:1px solid transparent; border-radius:7px; text-decoration:none; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.scoreboard-match-tabs a:hover { background:#151a24; border-color:rgba(255,255,255,.13); transform:translateY(-1px); }
.scoreboard-match-tabs a > span { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#69768a; }.scoreboard-match-tabs a > span strong { overflow:hidden; color:#dce3ec; font-size:.61rem; text-overflow:ellipsis; white-space:nowrap; }.scoreboard-match-state { display:flex; align-items:center; gap:5px; color:#7c899d; font-size:.44rem; font-style:normal; font-weight:750; }.scoreboard-match-state i { width:6px; height:6px; background:#94a3b8; border-radius:50%; }.scoreboard-match-state i.is-em_andamento { background:#22c55e; box-shadow:0 0 7px rgba(34,197,94,.5); }.scoreboard-match-state i.is-finalizada { background:#ef4444; }
.scoreboard-match-tabs a > b { display:flex; overflow:hidden; align-items:center; gap:5px; color:#c2cad5; font-size:.54rem; text-overflow:ellipsis; white-space:nowrap; }.scoreboard-match-tabs a > b i { color:#556174; font-style:normal; }.scoreboard-match-tabs a > b > span { width:5px; height:5px; flex:0 0 auto; border-radius:50%; }.scoreboard-match-tabs .is-red-dot { background:#ef4444; }.scoreboard-match-tabs .is-blue-dot { margin-left:auto; background:#3b82f6; }
.scoreboard-match-tabs a small { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#657287; font-size:.45rem; }.scoreboard-match-tabs a small u { color:#fbbf24; font-size:.4rem; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.scoreboard-match-tabs a.active { background:rgba(245,158,11,.08); border-color:rgba(245,158,11,.32); box-shadow:inset 3px 0 #fbbf24; }
.scoreboard-match-tabs a.active strong { color:#fde68a; }
.scoreboard-view-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:5px; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:12px; }
.scoreboard-view-tabs button { display:flex; min-width:0; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:8px 14px; color:#7d899b; background:transparent; border:1px solid transparent; border-radius:8px; cursor:pointer; font-family:var(--font-body); text-align:left; }
.scoreboard-view-tabs button > svg { width:19px; height:19px; flex:0 0 auto; }
.scoreboard-view-tabs button span,.scoreboard-view-tabs button strong,.scoreboard-view-tabs button small { display:block; }
.scoreboard-view-tabs button strong { color:#aab4c2; font-size:.65rem; }.scoreboard-view-tabs button small { margin-top:2px; color:#667287; font-size:.46rem; }
.scoreboard-view-tabs button:hover { background:rgba(255,255,255,.035); }.scoreboard-view-tabs button.active { color:#fbbf24; background:rgba(251,191,36,.09); border-color:rgba(251,191,36,.28); box-shadow:inset 0 -2px #fbbf24; }.scoreboard-view-tabs button.active strong { color:#fde68a; }
.scoreboard-view-panel[hidden] { display:none!important; }
.scoreboard-stage { overflow:hidden; background:#0a0d13; border:1px solid rgba(255,255,255,.09); border-radius:15px; box-shadow:0 18px 42px rgba(0,0,0,.22); }
.scoreboard-stage > header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 18px; background:#131821; border-bottom:1px solid rgba(255,255,255,.07); }
.scoreboard-stage > header > div { display:flex; flex-direction:column; gap:2px; }
.scoreboard-stage > header > div:last-child { align-items:flex-end; text-align:right; }
.scoreboard-stage > header span { color:#69768a; font-size:.46rem; text-transform:uppercase; }
.scoreboard-stage > header strong { color:#dce3ec; font-size:.57rem; }
.scoreboard-stage-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 14px; background:#0f131b; border-bottom:1px solid rgba(255,255,255,.07); }.scoreboard-stage-tools > span { display:flex; align-items:center; gap:6px; color:#667287; font-size:.43rem; font-weight:850; letter-spacing:.12em; }.scoreboard-stage-tools > span svg { width:13px; color:#4ade80; }.scoreboard-stage-tools > div,.scoreboard-stage-tools form { display:flex; align-items:center; gap:6px; margin:0; }.scoreboard-stage-tools button { display:flex; align-items:center; gap:6px; min-height:32px; padding:0 10px; color:#aab4c2; background:transparent; border:1px solid rgba(255,255,255,.1); border-radius:6px; cursor:pointer; font:750 .47rem var(--font-body); }.scoreboard-stage-tools button:hover { color:#fff; border-color:rgba(255,255,255,.25); }.scoreboard-stage-tools button.is-undo { color:#fde68a; border-color:rgba(251,191,36,.25); }.scoreboard-stage-tools button svg { width:13px; }.scoreboard-stage-tools button.is-processing { opacity:.55; cursor:wait; }
.scoreboard-sound-ready { display:flex; align-items:center; gap:5px; margin-right:3px; color:#7f8b9d; font-size:.44rem; font-weight:750; }.scoreboard-sound-ready svg { width:13px; height:13px; color:#4ade80; }
.scoreboard-fight-console { display:grid; grid-template-columns:minmax(145px,.7fr) minmax(210px,1.15fr) minmax(190px,.9fr) auto; align-items:center; gap:12px; padding:11px 14px; background:transparent; border-bottom:1px solid rgba(255,255,255,.08); }.scoreboard-fight-time { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1px 10px; }.scoreboard-fight-time > span { grid-row:1; color:#69768a; font-size:.42rem; font-weight:850; letter-spacing:.1em; }.scoreboard-fight-time time { grid-row:1/3; grid-column:2; color:#f8fafc; font:900 1.6rem var(--font-heading); font-variant-numeric:tabular-nums; }.scoreboard-fight-time small { color:#22c55e; font-size:.42rem; }.scoreboard-console-presets,.scoreboard-console-custom { min-width:0; margin:0; }.scoreboard-console-presets > span,.scoreboard-console-custom > span { display:block; margin-bottom:4px; color:#69768a; font-size:.4rem; font-weight:800; text-transform:uppercase; }.scoreboard-console-presets > div,.scoreboard-console-custom > div { display:flex; align-items:center; gap:4px; }.scoreboard-console-presets button { min-width:42px; min-height:32px; color:#aab4c2; background:transparent; border:1px solid rgba(255,255,255,.1); border-radius:6px; cursor:pointer; font:800 .46rem var(--font-body); }.scoreboard-console-presets button.active { color:#111827; background:#fbbf24; border-color:#fbbf24; }.scoreboard-console-custom label { display:flex; align-items:center; gap:3px; min-height:32px; padding:0 6px; border:1px solid rgba(255,255,255,.1); border-radius:6px; }.scoreboard-console-custom input { width:31px; padding:0; color:#e5e7eb; background:transparent; border:0; outline:0; font:800 .55rem var(--font-body); text-align:center; }.scoreboard-console-custom label small { color:#69768a; font-size:.38rem; }.scoreboard-console-custom > div > b { color:#69768a; }.scoreboard-console-custom button { display:grid; width:32px; height:32px; place-items:center; color:#fbbf24; background:transparent; border:1px solid rgba(251,191,36,.3); border-radius:6px; cursor:pointer; }.scoreboard-console-custom button svg { width:13px; }.scoreboard-console-start { margin:0; }.scoreboard-console-start button { display:flex; min-width:112px; min-height:40px; align-items:center; justify-content:center; gap:6px; color:#e5e7eb; background:transparent; border:1px solid rgba(255,255,255,.13); border-radius:7px; cursor:pointer; font:850 .52rem var(--font-body); }.scoreboard-console-start button.is-start { color:#052e16; background:#4ade80; border-color:#4ade80; }.scoreboard-console-start button svg { width:15px; }
.scoreboard-clock { display:flex; align-items:center; flex-direction:column; gap:4px; padding:18px 10px 11px; }
.scoreboard-clock time { color:#f8fafc; font:900 clamp(2.8rem,7vw,5.5rem)/.95 var(--font-heading); letter-spacing:.04em; font-variant-numeric:tabular-nums; text-shadow:0 0 28px rgba(255,255,255,.08); }
.scoreboard-clock time.is-ending { color:#fb7185; animation:scoreboardPulse 1s ease-in-out infinite; }
.scoreboard-clock > span { display:flex; align-items:center; gap:5px; color:#718096; font-size:.47rem; font-weight:850; letter-spacing:.12em; }
.scoreboard-clock > span.is-live { color:#4ade80; }
.scoreboard-clock > span.is-live i { width:6px; height:6px; background:#4ade80; border-radius:50%; box-shadow:0 0 10px #4ade80; }
.scoreboard-clock > .scoreboard-clock-label { color:#fbbf24; font-size:.52rem; }
.scoreboard-time-presets { display:flex; align-items:center; flex-direction:column; gap:6px; margin-top:10px; }
.scoreboard-time-presets > small { color:#657287; font-size:.43rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.scoreboard-time-presets > div { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; }
.scoreboard-time-presets button { min-width:49px; min-height:29px; padding:0 9px; color:#8d9aae; background:#141a23; border:1px solid rgba(255,255,255,.09); border-radius:7px; cursor:pointer; font:800 .48rem var(--font-body); }
.scoreboard-time-presets button:hover { color:#e8edf4; background:#1c2430; }
.scoreboard-time-presets button.active { color:#151006; background:#fbbf24; border-color:#fbbf24; box-shadow:0 0 0 2px rgba(251,191,36,.1); }
.scoreboard-competitors { display:grid; grid-template-columns:minmax(0,1fr) minmax(100px, 130px) minmax(0,1fr); align-items:start; gap:9px; padding:12px 18px 20px; }
.scoreboard-corner { display:flex; min-width:0; align-items:center; position:relative; overflow:hidden; flex-direction:column; padding:17px 14px 15px; background:#131821; border:1px solid rgba(255,255,255,.07); border-radius:12px; text-align:center; }
.scoreboard-corner::before { display:none; }
.scoreboard-corner.is-red { border-left:3px solid #ef4444; }.scoreboard-corner.is-blue { border-right:3px solid #3b82f6; }
.scoreboard-corner.is-winner { border-color:rgba(251,191,36,.42); box-shadow:0 0 28px rgba(245,158,11,.12); }
.scoreboard-corner-label { display:flex; align-items:center; gap:6px; margin-top:2px; color:#7b8799; font-size:.44rem; font-weight:900; letter-spacing:.15em; }.scoreboard-corner-label i { width:7px; height:7px; border-radius:50%; }.is-red .scoreboard-corner-label i { background:#ef4444; box-shadow:0 0 9px rgba(239,68,68,.5); }.is-blue .scoreboard-corner-label i { background:#3b82f6; box-shadow:0 0 9px rgba(59,130,246,.5); }
.scoreboard-corner h2 { overflow:hidden; width:100%; margin:7px 0 4px; color:#e9eef5; font:850 clamp(.8rem,1.5vw,1.12rem) var(--font-heading); text-overflow:ellipsis; white-space:nowrap; }
.scoreboard-points { color:#fff; font:900 clamp(4.3rem,10vw,8rem)/.9 var(--font-heading); font-variant-numeric:tabular-nums; }
.scoreboard-corner.is-red .scoreboard-points { text-shadow:0 0 30px rgba(239,68,68,.18); }.scoreboard-corner.is-blue .scoreboard-points { text-shadow:0 0 30px rgba(59,130,246,.18); }
.scoreboard-secondary { display:grid; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:13px; }
.scoreboard-secondary span { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 9px; color:#758297; background:#0d1118; border-radius:6px; font-size:.48rem; }
.scoreboard-secondary b { color:#dce3ec; font-size:.68rem; }
.scoreboard-point-actions { display:grid; width:100%; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:11px; }
.scoreboard-point-actions button,.scoreboard-small-actions button,.scoreboard-main-actions button { color:#d9e1eb; background:#1b222d; border:1px solid rgba(255,255,255,.08); border-radius:6px; cursor:pointer; font-family:var(--font-body); font-weight:800; }
.scoreboard-point-actions button { min-height:34px; font-size:.58rem; }.scoreboard-point-actions button:hover { color:#fff; background:#252e3b; }
.scoreboard-point-actions button.is-correct { color:#94a3b8; }
.scoreboard-move-actions { display:grid; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-top:12px; }
.scoreboard-move-actions button { display:flex; min-height:64px; align-items:stretch; justify-content:space-between; flex-direction:column; gap:5px; padding:9px 8px 7px; color:#a7b1bf; background:transparent; border:1px solid rgba(255,255,255,.1); border-radius:8px; cursor:pointer; font-family:var(--font-body); text-align:center; }
.scoreboard-move-actions button span { display:grid; min-height:28px; place-items:center; font-size:.55rem; font-weight:750; line-height:1.2; }.scoreboard-move-actions button b { display:block; padding-top:5px; border-top:1px solid rgba(255,255,255,.1); font-size:.78rem; }
.scoreboard-corner.is-red .scoreboard-move-actions button b { color:#f87171; }.scoreboard-corner.is-blue .scoreboard-move-actions button b { color:#60a5fa; }
.scoreboard-corner.is-red .scoreboard-move-actions button:hover { color:#fff; border-color:rgba(239,68,68,.55); }.scoreboard-corner.is-blue .scoreboard-move-actions button:hover { color:#fff; border-color:rgba(59,130,246,.55); }
.scoreboard-special-actions { display:grid; width:100%; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:6px; margin-top:6px; }
.scoreboard-special-actions button { display:grid; min-height:48px; grid-template-columns:18px minmax(0,1fr) auto; align-items:center; gap:5px; padding:6px 9px; color:#a7b1bf; background:transparent; border:1px solid rgba(255,255,255,.1); border-radius:8px; cursor:pointer; font-family:var(--font-body); text-align:left; }.scoreboard-special-actions button > svg { width:14px; }.scoreboard-special-actions button > span { font-size:.49rem; font-weight:800; }.scoreboard-special-actions button small { display:block; margin-top:2px; color:#68758a; font-size:.39rem; font-weight:650; }.scoreboard-special-actions button > b { color:#fbbf24; font-size:.62rem; }.scoreboard-special-actions button.is-penalty > b,.scoreboard-special-actions button.is-penalty > svg { color:#fb7185; }
.scoreboard-special-actions button.is-disqualify { grid-column:1/-1; color:#fca5a5; border-color:rgba(239,68,68,.22); }.scoreboard-special-actions button.is-disqualify.is-confirming { color:#fff; background:#dc2626; border-color:#dc2626; animation:scoreboardPulse .8s ease-in-out infinite; }.scoreboard-special-actions button.is-disqualify > svg { color:#ef4444; }.scoreboard-special-actions button.is-disqualify.is-confirming > svg,.scoreboard-special-actions button.is-disqualify.is-confirming small { color:#fff; }
.scoreboard-small-actions { display:grid; width:100%; grid-template-columns:repeat(2,1fr); gap:5px; margin-top:5px; }
.scoreboard-small-actions button { min-height:29px; padding:4px 6px; color:#8996a8; font-size:.45rem; }
.scoreboard-corner em { display:flex; align-items:center; gap:5px; margin-top:12px; color:#fbbf24; font-size:.56rem; font-style:normal; font-weight:850; text-transform:uppercase; }.scoreboard-corner em svg { width:15px; }
.scoreboard-versus { display:flex; justify-content:center; align-items:flex-start; padding-top:14px; min-width:100px; overflow:visible; color:#566276; font:800 1.2rem var(--font-heading); }
.scoreboard-draw { display:flex; align-items:center; justify-content:center; gap:6px; padding:0 18px 15px; color:#fbbf24; font-size:.55rem; font-weight:800; }.scoreboard-draw svg { width:14px; }
.scoreboard-event-stream { margin:0 18px 14px; padding:11px 13px; background:transparent; border:1px solid rgba(255,255,255,.08); border-radius:9px; text-align:left; }.scoreboard-event-stream > header { display:flex; align-items:center; justify-content:space-between; gap:10px; }.scoreboard-event-stream > header > span { color:#6f7c90; font-size:.44rem; font-weight:900; letter-spacing:.12em; }.scoreboard-event-stream > header button { display:flex; align-items:center; gap:5px; min-height:29px; padding:0 9px; color:#cbd5e1; background:transparent; border:1px solid rgba(255,255,255,.1); border-radius:6px; cursor:pointer; font:750 .45rem var(--font-body); }.scoreboard-event-stream > header button svg { width:13px; }.scoreboard-event-stream > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 12px; margin-top:9px; }.scoreboard-event-stream article { display:grid; grid-template-columns:7px minmax(0,1fr); align-items:center; gap:7px; padding:6px 0; border-top:1px solid rgba(255,255,255,.05); }.scoreboard-event-stream article > i { width:6px; height:6px; border-radius:50%; }.scoreboard-event-stream article.is-red > i { background:#ef4444; }.scoreboard-event-stream article.is-blue > i { background:#3b82f6; }.scoreboard-event-stream article strong,.scoreboard-event-stream article small { display:block; }.scoreboard-event-stream article strong { color:#cbd5e1; font-size:.48rem; }.scoreboard-event-stream article small,.scoreboard-event-stream > p { margin:2px 0 0; color:#69768a; font-size:.42rem; }
.scoreboard-stage.is-just-updated { box-shadow:0 0 0 2px rgba(74,222,128,.16),0 18px 42px rgba(0,0,0,.22); }
/* TELAS CHEIAS — SEM BARRA DE ROLAGEM */
:fullscreen, :-webkit-full-screen, :-moz-full-screen {
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.scoreboard-stage:fullscreen, .scoreboard-stage:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  padding: 12px 24px !important;
  background: #080b10 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.scoreboard-stage:fullscreen > header { position: relative !important; top: 0 !important; flex: 0 0 auto !important; }
.scoreboard-stage:fullscreen .scoreboard-stage-tools { position: relative !important; top: 0 !important; flex: 0 0 auto !important; }
.scoreboard-stage:fullscreen .scoreboard-competitors { flex: 1 1 auto !important; min-height: 0 !important; max-height: calc(100vh - 160px) !important; padding: 6px 0 !important; align-items: center !important; overflow: hidden !important; }
.scoreboard-stage:fullscreen .scoreboard-corner { justify-content: center !important; }
.scoreboard-stage:fullscreen .scoreboard-points { font-size: clamp(4.5rem, 14vh, 10rem) !important; line-height: 1 !important; }
.scoreboard-stage:fullscreen .scoreboard-event-stream { display: none !important; }

.scoreboard-timer-panel:fullscreen, .scoreboard-timer-panel:-webkit-full-screen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 20px 32px !important;
  background: #05070b !important;
  border: 0 !important;
  box-sizing: border-box !important;
}

.scoreboard-timer-panel:fullscreen .scoreboard-timer-toolbar { position: relative !important; top: 0 !important; right: 0 !important; width: 100% !important; justify-content: space-between !important; margin: 0 !important; }
.scoreboard-timer-panel:fullscreen .scoreboard-clock { flex: 1 1 auto !important; display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; padding: 0 !important; }
.scoreboard-timer-panel:fullscreen .scoreboard-clock time { font-size: clamp(6rem, 24vh, 18rem) !important; line-height: 1 !important; }
.scoreboard-timer-panel:fullscreen .scoreboard-clock-label { font-size: 0.9rem !important; }
.scoreboard-empty { display:flex; min-height:360px; align-items:center; justify-content:center; flex-direction:column; gap:7px; padding:30px; color:#5f6c80; background:#171b25; border:1px dashed rgba(255,255,255,.11); border-radius:13px; text-align:center; }.scoreboard-empty > svg { width:34px; height:34px; color:#fbbf24; }.scoreboard-empty strong { color:#b4becb; font-size:.7rem; }.scoreboard-empty p { max-width:480px; margin:0; font-size:.54rem; line-height:1.5; }
.scoreboard-create-dialog { width:min(650px,100%); }
.scoreboard-duration-field { min-width:0; padding:0; margin:0; border:0; }
.scoreboard-duration-field legend { margin-bottom:4px; color:#7b889b; font-size:.5rem; font-weight:750; }
.scoreboard-duration-field > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.scoreboard-duration-field label { position:relative; cursor:pointer; }
.scoreboard-duration-field input { position:absolute; opacity:0; pointer-events:none; }
.scoreboard-duration-field label span { display:grid; min-height:34px; place-items:center; color:#8996a8; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:7px; font-size:.5rem; font-weight:800; }
.scoreboard-duration-field input:checked + span { color:#151006; background:#fbbf24; border-color:#fbbf24; }
.scoreboard-duration-field input:focus-visible + span { outline:2px solid #60a5fa; outline-offset:2px; }
.erp-light-theme .scoreboard-heading h1,.erp-light-theme .scoreboard-stage > header strong,.erp-light-theme .scoreboard-corner h2,.erp-light-theme .scoreboard-secondary b,.erp-light-theme .scoreboard-match-tabs a strong,.erp-light-theme .scoreboard-empty strong { color:#1d2939; }
.erp-light-theme .scoreboard-heading p,.erp-light-theme .scoreboard-match-tabs a small { color:#667085; }
.erp-light-theme .scoreboard-match-tabs,.erp-light-theme .scoreboard-empty { background:#fff; border-color:#e4e7ec; }
.erp-light-theme .scoreboard-match-tabs > header { border-color:#e4e7ec; }.erp-light-theme .scoreboard-match-tabs > header span { color:#475467; }.erp-light-theme .scoreboard-match-tabs > header small { color:#98a2b3; }
.erp-light-theme .scoreboard-match-tabs a { color:#475467; background:#f8fafc; }.erp-light-theme .scoreboard-match-tabs a:hover { background:#f2f4f7; border-color:#d0d5dd; }.erp-light-theme .scoreboard-match-tabs a.active { background:#fffbeb; border-color:#fde68a; }.erp-light-theme .scoreboard-match-tabs a.active strong { color:#92400e; }.erp-light-theme .scoreboard-match-tabs a > b { color:#344054; }
.erp-light-theme .scoreboard-view-tabs { background:#fff; border-color:#e4e7ec; }.erp-light-theme .scoreboard-view-tabs button { color:#667085; }.erp-light-theme .scoreboard-view-tabs button strong { color:#475467; }.erp-light-theme .scoreboard-view-tabs button.active { color:#b54708; background:#fffaeb; border-color:#fedf89; }.erp-light-theme .scoreboard-view-tabs button.active strong { color:#93370d; }
.erp-light-theme .scoreboard-stage { background:#f8fafc; border-color:#d0d5dd; box-shadow:0 12px 32px rgba(15,23,42,.09); }.erp-light-theme .scoreboard-stage > header,.erp-light-theme .scoreboard-main-actions { background:#fff; border-color:#e4e7ec; }
.erp-light-theme .scoreboard-stage-tools { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .scoreboard-stage-tools button { color:#475467; border-color:#d0d5dd; }.erp-light-theme .scoreboard-stage-tools button.is-undo { color:#92400e; border-color:#fde68a; }
.erp-light-theme .scoreboard-sound-ready { color:#667085; }
.erp-light-theme .scoreboard-fight-console { border-color:#e4e7ec; }.erp-light-theme .scoreboard-fight-time time { color:#101828; }.erp-light-theme .scoreboard-console-presets button,.erp-light-theme .scoreboard-console-custom label,.erp-light-theme .scoreboard-console-start button { color:#475467; background:transparent; border-color:#d0d5dd; }.erp-light-theme .scoreboard-console-custom input { color:#101828; }.erp-light-theme .scoreboard-console-start button.is-start { color:#065f46; background:#bbf7d0; border-color:#86efac; }
.erp-light-theme .scoreboard-clock time,.erp-light-theme .scoreboard-points { color:#101828; text-shadow:none; }.erp-light-theme .scoreboard-clock time.is-ending { color:#dc2626; }
.erp-light-theme .scoreboard-time-presets button { color:#475467; background:#fff; border-color:#d0d5dd; }.erp-light-theme .scoreboard-time-presets button.active { color:#713f12; background:#fef3c7; border-color:#fbbf24; }
.erp-light-theme .scoreboard-corner { background:#fff; border-color:#e4e7ec; }.erp-light-theme .scoreboard-secondary span { color:#667085; background:#f2f4f7; }
.erp-light-theme .scoreboard-corner.is-red { border-left-color:#dc2626; }.erp-light-theme .scoreboard-corner.is-blue { border-right-color:#2563eb; }.erp-light-theme .scoreboard-move-actions button,.erp-light-theme .scoreboard-special-actions button,.erp-light-theme .scoreboard-event-stream { color:#475467; background:transparent; border-color:#d0d5dd; }.erp-light-theme .scoreboard-move-actions button b { border-color:#e4e7ec; }.erp-light-theme .scoreboard-special-actions button small,.erp-light-theme .scoreboard-event-stream article small,.erp-light-theme .scoreboard-event-stream > p { color:#667085; }.erp-light-theme .scoreboard-event-stream article strong { color:#344054; }.erp-light-theme .scoreboard-event-stream article { border-color:#eaecf0; }
.erp-light-theme .scoreboard-point-actions button,.erp-light-theme .scoreboard-small-actions button,.erp-light-theme .scoreboard-main-actions button { color:#344054; background:#f8fafc; border-color:#d0d5dd; }.erp-light-theme .scoreboard-main-actions button.is-start { color:#064e3b; background:#bbf7d0; border-color:#86efac; }.erp-light-theme .scoreboard-main-actions button.is-finish { color:#b42318; background:#fef3f2; border-color:#fda29b; }
.erp-light-theme .scoreboard-timer-panel { background:radial-gradient(circle at 50% 30%,#eff6ff,transparent 48%); }.erp-light-theme .scoreboard-timer-actions { background:transparent; border-color:#e4e7ec; }.erp-light-theme .scoreboard-timer-match { color:#667085; }
.erp-light-theme .scoreboard-timer-toolbar > span,.erp-light-theme .scoreboard-standalone-note { color:#667085; }.erp-light-theme .scoreboard-timer-toolbar kbd,.erp-light-theme .scoreboard-timer-toolbar button { color:#344054; background:#fff; border-color:#d0d5dd; }
.erp-light-theme .scoreboard-custom-time label { background:#fff; border-color:#d0d5dd; }.erp-light-theme .scoreboard-custom-time input { color:#101828; }.erp-light-theme .scoreboard-custom-time button { color:#93370d; background:#fffaeb; border-color:#fedf89; }
.erp-light-theme .scoreboard-duration-field label span { color:#475467; background:#fff; border-color:#d0d5dd; }.erp-light-theme .scoreboard-duration-field input:checked + span { color:#713f12; background:#fef3c7; border-color:#fbbf24; }
@keyframes scoreboardPulse { 50% { opacity:.58; } }
@media (max-width:1000px) { .scoreboard-fight-console { grid-template-columns:repeat(2,minmax(0,1fr)); }.scoreboard-console-start button { width:100%; } }
@media (max-width:760px) { .scoreboard-heading { align-items:flex-start; flex-direction:column; }.scoreboard-match-tabs { grid-template-columns:1fr; }.scoreboard-match-tabs > header { border-right:0; border-bottom:1px solid rgba(255,255,255,.07); }.erp-light-theme .scoreboard-match-tabs > header { border-bottom-color:#e4e7ec; }.scoreboard-match-tabs > div { width:100%; }.scoreboard-competitors { grid-template-columns:1fr; }.scoreboard-versus { min-height:20px; }.scoreboard-clock time { font-size:3.4rem; }.scoreboard-event-stream > div { grid-template-columns:1fr; }.scoreboard-stage:fullscreen .scoreboard-competitors { min-height:0; }.scoreboard-stage-tools { align-items:flex-start; flex-direction:column; }.scoreboard-stage-tools > div { width:100%; justify-content:flex-end; } }
@media (max-width:540px) { .scoreboard-fight-console { grid-template-columns:1fr; }.scoreboard-console-presets > div { flex-wrap:wrap; }.scoreboard-console-presets button { flex:1; }.scoreboard-special-actions { grid-template-columns:1fr; }.scoreboard-special-actions button.is-disqualify { grid-column:auto; } }
@media (max-width:620px) { .scoreboard-timer-toolbar { align-items:flex-end; flex-direction:column-reverse; }.scoreboard-timer-toolbar > span { width:100%; text-align:center; }.scoreboard-timer-toolbar button { align-self:flex-end; }.scoreboard-timer-panel .scoreboard-clock time { font-size:clamp(4rem,22vw,7rem); } }
@media (max-width:440px) { .scoreboard-competitors { padding-inline:10px; }.scoreboard-stage > header { align-items:flex-start; flex-direction:column; }.scoreboard-stage > header > div:last-child { align-items:flex-start; text-align:left; }.scoreboard-secondary { grid-template-columns:1fr; } }

/* GESTÃO DE TURMAS • PROTÓTIPO */
.class-management-content { display:flex; flex-direction:column; gap:16px; }
.class-management-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.class-management-heading > div > span,.class-management-panel > header span,.class-management-evaluation > header span { display:flex; align-items:center; gap:6px; color:#4ade80; font-size:.57rem; font-weight:800; letter-spacing:.13em; }
.class-management-heading > div > span svg { width:14px; height:14px; }
.class-management-heading h1 { margin:5px 0 3px; color:#f1f5f9; font:800 1.75rem var(--font-heading); }
.class-management-heading p { max-width:720px; margin:0; color:#7e8a9d; font-size:.68rem; line-height:1.5; }
.class-management-primary { display:inline-flex; align-items:center; flex:none; gap:7px; min-height:38px; padding:0 14px; color:#07150c; background:#4ade80; border:0; border-radius:9px; cursor:pointer; font-size:.66rem; font-weight:800; }
.class-management-primary:hover { background:#6ee7a0; transform:translateY(-1px); }
.class-management-primary svg { width:15px; height:15px; }
.class-management-notice { display:flex; align-items:flex-start; gap:9px; padding:11px 13px; color:#93c5fd; background:rgba(59,130,246,.065); border:1px solid rgba(96,165,250,.16); border-radius:9px; }
.class-management-notice > svg { flex:none; width:16px; height:16px; }
.class-management-notice p { display:flex; flex-wrap:wrap; gap:4px 8px; margin:0; font-size:.6rem; line-height:1.45; }.class-management-notice strong { color:#bfdbfe; }.class-management-notice span { color:#8090a7; }
.class-management-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.class-management-kpis article { display:grid; grid-template-columns:34px minmax(0,1fr); align-items:center; gap:10px; min-height:84px; padding:13px 14px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.class-management-kpis article > svg { width:17px; height:17px; padding:8px; box-sizing:content-box; color:#93a0b4; background:rgba(148,163,184,.075); border-radius:8px; }
.class-management-kpis article > div { display:flex; min-width:0; flex-direction:column; gap:1px; }
.class-management-kpis span { color:#788497; font-size:.56rem; font-weight:700; text-transform:uppercase; }
.class-management-kpis strong { color:#ecf1f7; font:800 1.25rem var(--font-heading); }
.class-management-kpis small { overflow:hidden; color:#667286; font-size:.53rem; text-overflow:ellipsis; white-space:nowrap; }
.class-management-kpis article.is-positive > svg,.class-management-kpis article.is-positive strong { color:#4ade80; }.class-management-kpis article.is-warning > svg,.class-management-kpis article.is-warning strong { color:#fbbf24; }
.class-management-filters { display:grid; grid-template-columns:minmax(240px,1fr) 180px 145px auto auto; align-items:end; gap:9px; padding:12px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:10px; }
.class-management-filters label { display:flex; min-width:0; flex-direction:column; gap:4px; }.class-management-filters label > span { color:#748094; font-size:.54rem; font-weight:750; text-transform:uppercase; }
.class-management-search > div { position:relative; }.class-management-search svg { position:absolute; top:50%; left:10px; width:14px; height:14px; color:#667286; transform:translateY(-50%); }.class-management-search input { padding-left:31px !important; }
.class-management-filters input,.class-management-filters select { width:100%; height:35px; padding:0 10px; color:#dfe5ed; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:7px; outline:none; font-size:.62rem; }.class-management-filters input:focus,.class-management-filters select:focus { border-color:rgba(74,222,128,.42); }
.class-management-filters > button,.class-management-filters > a { display:flex; align-items:center; justify-content:center; gap:6px; height:35px; padding:0 11px; color:#b9c2d0; background:#202633; border:1px solid rgba(255,255,255,.08); border-radius:7px; cursor:pointer; font-size:.6rem; font-weight:750; text-decoration:none; }.class-management-filters > button:hover,.class-management-filters > a:hover { color:#fff; background:#293142; }.class-management-filters > button svg,.class-management-filters > a svg { width:14px; height:14px; }
.class-management-panel,.class-management-evaluation { overflow:hidden; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:12px; }
.class-management-panel > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 18px 13px; }.class-management-panel > header h2,.class-management-evaluation > header h2 { margin:3px 0 0; color:#edf1f7; font:800 .96rem var(--font-heading); }.class-management-panel > header > small { padding:5px 7px; color:#738095; background:#11151e; border-radius:6px; font-size:.54rem; }
.class-management-table-wrap { overflow-x:auto; }.class-management-table { width:100%; border-collapse:collapse; min-width:860px; }.class-management-table th { padding:9px 13px; color:#69768b; background:#11151e; border-block:1px solid rgba(255,255,255,.06); font-size:.52rem; font-weight:800; letter-spacing:.06em; text-align:left; text-transform:uppercase; }.class-management-table td { padding:11px 13px; border-bottom:1px solid rgba(255,255,255,.055); vertical-align:middle; }.class-management-table tbody tr:last-child td { border-bottom:0; }.class-management-table tbody tr:hover { background:rgba(255,255,255,.018); }
.class-management-name { display:flex; align-items:center; gap:9px; min-width:175px; }.class-management-name > span { display:grid; place-items:center; flex:none; width:30px; height:30px; color:#60a5fa; background:rgba(59,130,246,.1); border-radius:8px; }.class-management-name > span.modality-boxe { color:#f87171; background:rgba(239,68,68,.09); }.class-management-name > span.modality-muaythai { color:#fbbf24; background:rgba(245,158,11,.09); }.class-management-name svg { width:15px; height:15px; }.class-management-name > div { display:flex; min-width:0; flex-direction:column; gap:2px; }.class-management-name strong,.class-management-name a,.class-management-instructor { color:#dfe5ed; font-size:.65rem; }.class-management-name a { font-weight:750; text-decoration:none; }.class-management-name a:hover { color:#4ade80; text-decoration:underline; text-underline-offset:3px; }.class-management-name small { color:#6f7c90; font-size:.54rem; }
.class-management-schedules { display:flex; flex-direction:column; gap:3px; min-width:180px; }.class-management-schedules span { display:flex; align-items:center; gap:5px; color:#8d99ab; font-size:.56rem; }.class-management-schedules svg { width:12px; height:12px; color:#66758a; }
.class-management-instructor { white-space:nowrap; }.class-management-occupancy { display:flex; min-width:120px; flex-direction:column; gap:4px; }.class-management-occupancy > span { display:flex; align-items:center; justify-content:space-between; gap:8px; }.class-management-occupancy > span strong { color:#d7dee8; font-size:.6rem; }.class-management-occupancy > span small { color:#718095; font-size:.53rem; }.class-management-occupancy > div { overflow:hidden; height:4px; background:#252c38; border-radius:99px; }.class-management-occupancy > div i { display:block; height:100%; background:#4ade80; border-radius:inherit; }.class-management-occupancy em { color:#fbbf24; font-size:.5rem; font-style:normal; }
.class-management-name > span img { width:20px; height:20px; object-fit:contain; }.class-management-responsibles { display:flex; align-items:flex-start; flex-direction:column; gap:3px; }.class-management-responsibles small { display:block; color:#718095; font-size:.54rem; white-space:nowrap; }
.class-management-value { display:inline-flex; min-width:82px; color:#4ade80; font-size:.62rem; font-weight:800; white-space:nowrap; }.class-management-value.is-empty { color:#718095; font-size:.54rem; font-weight:650; }
.class-editor-error { display:flex; grid-column:1/-1; align-items:flex-start; gap:9px; padding:11px 12px; color:#fecaca; background:rgba(239,68,68,.09); border:1px solid rgba(248,113,113,.25); border-radius:8px; }.class-editor-error > svg { flex:none; width:16px; height:16px; margin-top:1px; }.class-editor-error > span { display:flex; flex-direction:column; gap:2px; font-size:.57rem; line-height:1.4; }.class-editor-error strong { color:#fff; font-size:.61rem; }
.class-management-status { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; color:#4ade80; background:rgba(34,197,94,.08); border-radius:6px; font-size:.53rem; font-weight:750; }.class-management-status i { width:5px; height:5px; background:currentColor; border-radius:50%; }.class-management-status.is-lotada { color:#fbbf24; background:rgba(245,158,11,.09); }
.class-management-edit { display:grid; place-items:center; width:29px; height:29px; color:#8d99aa; background:transparent; border:1px solid rgba(255,255,255,.08); border-radius:7px; cursor:pointer; }.class-management-edit:hover { color:#4ade80; border-color:rgba(74,222,128,.3); }.class-management-edit svg { width:13px; height:13px; }
.class-management-actions { display:flex; align-items:center; justify-content:flex-end; gap:6px; }.class-management-checkins { display:flex; align-items:center; justify-content:center; gap:5px; min-width:42px; height:29px; padding:0 7px; color:#4ade80; background:rgba(34,197,94,.07); border:1px solid rgba(74,222,128,.22); border-radius:7px; font-size:.52rem; font-weight:800; text-decoration:none; }.class-management-checkins:hover { color:#fff; background:rgba(34,197,94,.16); border-color:rgba(74,222,128,.42); }.class-management-checkins svg { width:13px; height:13px; }
.class-management-empty { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:4px; min-height:150px; color:#728095; text-align:center; }.class-management-empty svg { width:24px; height:24px; }.class-management-empty strong { color:#bdc6d3; font-size:.68rem; }.class-management-empty span { font-size:.56rem; }
.class-management-evaluation { padding:18px; }.class-management-evaluation > header { margin-bottom:13px; }.class-management-evaluation > div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }.class-management-evaluation article { display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; padding:11px; background:#11151e; border-radius:8px; }.class-management-evaluation article svg { width:15px; height:15px; padding:6px; box-sizing:content-box; color:#4ade80; background:rgba(34,197,94,.08); border-radius:6px; }.class-management-evaluation article strong { color:#dce3ec; font-size:.6rem; }.class-management-evaluation article small { display:block; margin-top:2px; color:#6f7c8f; font-size:.51rem; line-height:1.4; }
.class-editor-backdrop { display:grid; place-items:center; position:fixed; z-index:6000; inset:0; padding:18px; background:rgba(3,6,12,.76); backdrop-filter:blur(5px); }.class-editor-dialog { overflow:auto; width:min(700px,100%); max-height:calc(100vh - 36px); background:#171b25; border:1px solid rgba(255,255,255,.1); border-radius:14px; box-shadow:0 28px 80px rgba(0,0,0,.5); }.class-editor-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:20px 22px 15px; border-bottom:1px solid rgba(255,255,255,.07); }.class-editor-dialog > header span { color:#4ade80; font-size:.54rem; font-weight:800; letter-spacing:.12em; }.class-editor-dialog > header h2 { margin:3px 0; color:#f1f5f9; font:800 1.15rem var(--font-heading); }.class-editor-dialog > header p { margin:0; color:#748196; font-size:.59rem; }.class-editor-dialog > header button { display:grid; place-items:center; flex:none; width:30px; height:30px; color:#94a0b2; background:#11151e; border:1px solid rgba(255,255,255,.07); border-radius:8px; cursor:pointer; }.class-editor-dialog > header button svg { width:14px; height:14px; }
.class-editor-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:18px 22px 22px; }.class-editor-form > label { display:flex; min-width:0; flex-direction:column; gap:5px; }.class-editor-form > label.is-wide,.class-editor-form footer { grid-column:1/-1; }.class-editor-form > label > span { color:#8793a5; font-size:.56rem; font-weight:700; }.class-editor-form input,.class-editor-form select { width:100%; height:38px; padding:0 11px; color:#dfe5ed; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:8px; outline:none; font-size:.64rem; }.class-editor-form input:focus,.class-editor-form select:focus { border-color:rgba(74,222,128,.42); }.class-editor-form .class-editor-check { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:9px; padding:11px; background:#11151e; border-radius:8px; }.class-editor-check input { width:15px; height:15px; margin-top:2px; accent-color:#22c55e; }.class-editor-check > span { display:flex; flex-direction:column; gap:2px; }.class-editor-check strong { color:#d9e1ea; font-size:.62rem; }.class-editor-check small { color:#718095; font-size:.54rem; }.class-editor-form footer { display:flex; justify-content:flex-end; gap:8px; padding-top:3px; }.class-editor-form footer button { display:inline-flex; align-items:center; gap:6px; min-height:35px; padding:0 12px; color:#9ba6b6; background:#222936; border:1px solid rgba(255,255,255,.08); border-radius:8px; cursor:pointer; font-size:.6rem; font-weight:750; }.class-editor-form footer button.is-primary { color:#07150c; background:#4ade80; border-color:#4ade80; }.class-editor-form footer svg { width:13px; height:13px; }
.class-editor-icons { grid-column:1/-1; min-width:0; margin:0; padding:0; border:0; }.class-editor-icons legend { margin-bottom:6px; color:#8793a5; font-size:.56rem; font-weight:700; }.class-editor-icons > div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; max-height:200px; overflow-y:auto; padding:2px; }.class-editor-icons label { min-width:0; cursor:pointer; }.class-editor-icons input { position:absolute; width:1px; height:1px; opacity:0; }.class-editor-icons label > span { display:flex; min-height:72px; align-items:center; justify-content:center; flex-direction:column; gap:5px; padding:7px 5px; color:#8793a5; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:8px; text-align:center; }.class-editor-icons img { width:30px; height:30px; object-fit:contain; }.class-editor-icons small { font-size:.48rem; line-height:1.2; }.class-editor-icons input:checked + span { color:#d9fbe5; background:rgba(34,197,94,.1); border-color:#4ade80; box-shadow:0 0 0 2px rgba(34,197,94,.08); }
.erp-light-theme .class-management-heading h1,.erp-light-theme .class-management-kpis strong,.erp-light-theme .class-management-panel > header h2,.erp-light-theme .class-management-evaluation > header h2,.erp-light-theme .class-management-name strong,.erp-light-theme .class-management-name a,.erp-light-theme .class-management-instructor,.erp-light-theme .class-management-occupancy > span strong,.erp-light-theme .class-management-evaluation article strong { color:#1d2939; }.erp-light-theme .class-management-heading p,.erp-light-theme .class-management-name small,.erp-light-theme .class-management-schedules span,.erp-light-theme .class-management-evaluation article small { color:#667085; }
.erp-light-theme .class-management-notice { background:#eff6ff; border-color:#bfdbfe; }.erp-light-theme .class-management-notice strong { color:#1e40af; }.erp-light-theme .class-management-notice span { color:#475467; }
.erp-light-theme .class-management-kpis article,.erp-light-theme .class-management-filters,.erp-light-theme .class-management-panel,.erp-light-theme .class-management-evaluation { background:#fff; border-color:#e4e7ec; box-shadow:0 2px 8px rgba(15,23,42,.025); }.erp-light-theme .class-management-kpis article > svg,.erp-light-theme .class-management-panel > header > small,.erp-light-theme .class-management-evaluation article { background:#f8fafc; }.erp-light-theme .class-management-filters input,.erp-light-theme .class-management-filters select { color:#344054; background:#f8fafc; border-color:#d0d5dd; }.erp-light-theme .class-management-filters > button,.erp-light-theme .class-management-filters > a { color:#475467; background:#f8fafc; border-color:#d0d5dd; }
.erp-light-theme .class-management-table th { color:#667085; background:#f8fafc; border-color:#eaecf0; }.erp-light-theme .class-management-table td { border-bottom-color:#eaecf0; }.erp-light-theme .class-management-table tbody tr:hover { background:#f9fafb; }.erp-light-theme .class-management-occupancy > div { background:#e4e7ec; }.erp-light-theme .class-management-edit { color:#667085; border-color:#d0d5dd; }
.erp-light-theme .class-editor-dialog { background:#fff; border-color:#e4e7ec; box-shadow:0 28px 80px rgba(15,23,42,.24); }.erp-light-theme .class-editor-dialog > header { border-bottom-color:#eaecf0; }.erp-light-theme .class-editor-dialog > header h2,.erp-light-theme .class-editor-check strong { color:#1d2939; }.erp-light-theme .class-editor-dialog > header p,.erp-light-theme .class-editor-check small { color:#667085; }.erp-light-theme .class-editor-dialog > header button,.erp-light-theme .class-editor-form input,.erp-light-theme .class-editor-form select,.erp-light-theme .class-editor-form .class-editor-check { color:#344054; background:#f8fafc; border-color:#d0d5dd; }
.erp-light-theme .class-editor-icons label > span { color:#667085; background:#f8fafc; border-color:#d0d5dd; }.erp-light-theme .class-editor-icons input:checked + span { color:#166534; background:#f0fdf4; border-color:#22c55e; }
@media (max-width:1050px) { .class-management-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.class-management-filters { grid-template-columns:minmax(220px,1fr) repeat(2,150px) auto auto; }.class-management-evaluation > div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .class-management-heading { align-items:flex-start; flex-direction:column; }.class-management-filters { grid-template-columns:1fr 1fr; }.class-management-search { grid-column:1/-1; }.class-management-filters > button { grid-column:1/-1; }.class-management-evaluation > div { grid-template-columns:1fr; } }
@media (max-width:540px) { .class-management-kpis,.class-management-filters,.class-editor-form { grid-template-columns:1fr; }.class-management-search,.class-management-filters > button,.class-editor-form > label.is-wide,.class-editor-form footer { grid-column:auto; }.class-editor-form { padding:15px; }.class-editor-dialog > header { padding:17px 15px 13px; } }

/* CALENDÁRIO SEMANAL DE AULAS */
.class-calendar-content { display:flex; flex-direction:column; gap:15px; }
.class-calendar-heading { display:flex; align-items:center; justify-content:space-between; gap:22px; }.class-calendar-heading > div > span { display:flex; align-items:center; gap:6px; color:#4ade80; font-size:.57rem; font-weight:800; letter-spacing:.13em; }.class-calendar-heading > div > span svg { width:14px; height:14px; }.class-calendar-heading h1 { margin:5px 0 3px; color:#f1f5f9; font:800 1.75rem var(--font-heading); }.class-calendar-heading p { margin:0; color:#7e8a9d; font-size:.68rem; }.class-calendar-heading > a { display:inline-flex; align-items:center; flex:none; gap:7px; min-height:36px; padding:0 12px; color:#9eabbc; background:#1b202b; border:1px solid rgba(255,255,255,.08); border-radius:8px; font-size:.61rem; font-weight:750; text-decoration:none; }.class-calendar-heading > a:hover { color:#4ade80; border-color:rgba(74,222,128,.25); }.class-calendar-heading > a svg { width:14px; height:14px; }
.class-calendar-heading-actions { display:flex; align-items:center; gap:8px; }.class-calendar-heading-actions > a,.class-calendar-heading-actions > button { display:inline-flex; align-items:center; flex:none; gap:7px; min-height:36px; padding:0 12px; color:#9eabbc; background:#1b202b; border:1px solid rgba(255,255,255,.08); border-radius:8px; cursor:pointer; font-size:.61rem; font-weight:750; text-decoration:none; }.class-calendar-heading-actions > button { color:#07150c; background:#4ade80; border-color:#4ade80; }.class-calendar-heading-actions > a:hover { color:#4ade80; border-color:rgba(74,222,128,.25); }.class-calendar-heading-actions svg { width:14px; height:14px; }
.class-calendar-heading-actions > button.is-secondary { color:#93c5fd; background:rgba(59,130,246,.07); border-color:rgba(96,165,250,.2); }
.class-calendar-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding:12px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }.class-calendar-toolbar nav { display:flex; align-items:center; gap:8px; }.class-calendar-toolbar nav > a:not(.class-calendar-today) { display:grid; place-items:center; width:34px; height:34px; color:#8d99ab; background:#11151e; border:1px solid rgba(255,255,255,.07); border-radius:7px; }.class-calendar-toolbar nav > a svg { width:15px; height:15px; }.class-calendar-toolbar nav > div { display:flex; min-width:145px; align-items:center; flex-direction:column; gap:1px; }.class-calendar-toolbar nav > div span { color:#68758a; font-size:.49rem; font-weight:800; letter-spacing:.09em; }.class-calendar-toolbar nav > div strong { color:#dce3ec; font-size:.65rem; }.class-calendar-today { padding:7px 9px; color:#4ade80; background:rgba(34,197,94,.08); border-radius:7px; font-size:.57rem; font-weight:750; text-decoration:none; }.class-calendar-toolbar form { display:flex; align-items:flex-end; gap:8px; }.class-calendar-toolbar label { display:flex; flex-direction:column; gap:4px; }.class-calendar-toolbar label span { color:#707d91; font-size:.51rem; font-weight:750; text-transform:uppercase; }.class-calendar-toolbar select { min-width:130px; height:34px; padding:0 9px; color:#d8dfe9; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:7px; font-size:.59rem; }.class-calendar-toolbar form button { display:flex; align-items:center; gap:5px; height:34px; padding:0 10px; color:#07150c; background:#4ade80; border:0; border-radius:7px; cursor:pointer; font-size:.58rem; font-weight:800; }.class-calendar-toolbar form button svg { width:13px; height:13px; }
.class-calendar-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; }.class-calendar-summary > span { display:flex; align-items:center; gap:6px; color:#8c98aa; font-size:.6rem; }.class-calendar-summary > span svg { width:14px; height:14px; color:#4ade80; }.class-calendar-summary > span strong { color:#dce3ec; }.class-calendar-summary > div { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }.class-calendar-summary > div span { display:flex; align-items:center; gap:4px; color:#778498; font-size:.52rem; }.class-calendar-summary > div i { width:6px; height:6px; background:#60a5fa; border-radius:50%; }.class-calendar-summary .is-boxe i { background:#f87171; }.class-calendar-summary .is-muay i { background:#fbbf24; }.class-calendar-summary .is-kids i { background:#c084fc; }
.class-calendar-summary .is-special i { background:#2dd4bf; }
.class-calendar-board { display:grid; grid-template-columns:repeat(7,minmax(138px,1fr)); overflow-x:auto; background:#11151e; border:1px solid rgba(255,255,255,.08); border-radius:12px; }.class-calendar-day { display:flex; min-width:138px; flex-direction:column; border-right:1px solid rgba(255,255,255,.065); }.class-calendar-day:last-child { border-right:0; }.class-calendar-day > header { display:grid; grid-template-columns:1fr auto; position:relative; min-height:60px; padding:10px; background:#171b25; border-bottom:1px solid rgba(255,255,255,.065); }.class-calendar-day > header span { color:#7d899c; font-size:.55rem; font-weight:800; text-transform:uppercase; }.class-calendar-day > header strong { grid-row:1/span 2; grid-column:2; align-self:center; color:#dfe5ed; font:800 1.25rem var(--font-heading); }.class-calendar-day > header small { color:#5f6d82; font-size:.48rem; }.class-calendar-day > header em { position:absolute; right:8px; bottom:5px; color:#4ade80; font-size:.43rem; font-style:normal; font-weight:850; }.class-calendar-day.is-today { box-shadow:inset 0 3px #4ade80; }.class-calendar-day.is-today > header { background:rgba(34,197,94,.07); }.class-calendar-events { display:flex; min-height:420px; flex:1; flex-direction:column; gap:7px; padding:8px; }.class-calendar-event { display:flex; position:relative; flex-direction:column; gap:2px; padding:9px 8px 8px 10px; background:#191f2a; border:1px solid rgba(96,165,250,.14); border-left:3px solid #60a5fa; border-radius:7px; }.class-calendar-event.is-boxe { border-color:rgba(248,113,113,.14); border-left-color:#f87171; }.class-calendar-event.is-muaythai { border-color:rgba(251,191,36,.15); border-left-color:#fbbf24; }.class-calendar-event.is-kids { box-shadow:inset 0 0 0 1px rgba(192,132,252,.14); }.class-calendar-event.is-special { background:rgba(20,184,166,.07); border-color:rgba(45,212,191,.23); border-left-color:#2dd4bf; }.class-calendar-event time { color:#4ade80; font-size:.58rem; font-weight:850; white-space:nowrap; }.class-calendar-event.is-special time { color:#5eead4; }.class-calendar-event > strong { overflow:hidden; color:#e1e7ef; font-size:.58rem; text-overflow:ellipsis; white-space:nowrap; }.class-calendar-event > span { overflow:hidden; color:#718095; font-size:.48rem; text-overflow:ellipsis; white-space:nowrap; }.class-calendar-event > small { display:flex; align-items:center; gap:3px; margin-top:3px; color:#68768a; font-size:.45rem; }.class-calendar-event > small svg { width:9px; height:9px; }.class-calendar-event > small.class-calendar-event-notes { display:block; overflow:hidden; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }.class-calendar-event > em { align-self:flex-start; margin-top:3px; padding:3px 4px; color:#fbbf24; background:rgba(245,158,11,.08); border-radius:4px; font-size:.42rem; font-style:normal; font-weight:750; }.class-calendar-event > em.is-available { color:#4ade80; background:rgba(34,197,94,.07); }.class-calendar-event > em.is-special-label { color:#5eead4; background:rgba(20,184,166,.11); }.class-calendar-empty { display:flex; align-items:center; justify-content:center; flex:1; flex-direction:column; gap:5px; min-height:110px; color:#4f5c70; }.class-calendar-empty svg { width:18px; height:18px; }.class-calendar-empty span { font-size:.52rem; }.class-calendar-day.is-empty { background:repeating-linear-gradient(-45deg,transparent,transparent 8px,rgba(255,255,255,.008) 8px,rgba(255,255,255,.008) 16px); }
.class-calendar-free { padding:9px 8px 10px; background:rgba(34,197,94,.035); border-top:1px solid rgba(74,222,128,.12); }.class-calendar-free > strong { display:flex; align-items:center; gap:4px; margin-bottom:6px; color:#4ade80; font-size:.48rem; text-transform:uppercase; }.class-calendar-free > strong svg { width:11px; height:11px; }.class-calendar-free > div { display:flex; flex-wrap:wrap; gap:4px; }.class-calendar-free span { padding:3px 5px; color:#9aa8ba; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:4px; font-size:.43rem; font-weight:700; white-space:nowrap; }.class-calendar-free em { color:#68758a; font-size:.46rem; font-style:normal; }
.class-special-modal { display:grid; position:fixed; z-index:10050; inset:0; place-items:center; padding:20px; background:rgba(3,7,18,.78); backdrop-filter:blur(5px); }.class-special-dialog { width:min(620px,100%); overflow:hidden; background:#171b25; border:1px solid rgba(255,255,255,.1); border-radius:14px; box-shadow:0 24px 70px rgba(0,0,0,.45); }.class-special-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px; background:#11151e; border-bottom:1px solid rgba(255,255,255,.07); }.class-special-dialog > header span { color:#4ade80; font-size:.51rem; font-weight:850; letter-spacing:.12em; }.class-special-dialog h2 { margin:4px 0 3px; color:#eef2f7; font:800 1.05rem var(--font-heading); }.class-special-dialog p { margin:0; color:#778599; font-size:.56rem; }.class-special-dialog > header button { display:grid; flex:none; width:31px; height:31px; place-items:center; color:#8c98aa; background:#1b202b; border:1px solid rgba(255,255,255,.08); border-radius:7px; cursor:pointer; }.class-special-dialog > header button svg { width:15px; height:15px; }.class-special-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:20px 22px 22px; }.class-special-form label { display:flex; flex-direction:column; gap:5px; }.class-special-form .is-wide { grid-column:1/-1; }.class-special-form label > span { color:#8390a3; font-size:.53rem; font-weight:750; }.class-special-form input,.class-special-form select,.class-special-form textarea { width:100%; padding:9px 10px; color:#dce3ec; background:#11151e; border:1px solid rgba(255,255,255,.09); border-radius:7px; font:500 .62rem var(--font-body); outline:none; }.class-special-form input:focus,.class-special-form select:focus,.class-special-form textarea:focus { border-color:rgba(74,222,128,.55); box-shadow:0 0 0 3px rgba(34,197,94,.08); }.class-special-form textarea { resize:vertical; }.class-special-notice { display:flex; align-items:center; gap:7px; padding:9px 10px; color:#93c5fd; background:rgba(59,130,246,.06); border:1px solid rgba(96,165,250,.14); border-radius:7px; font-size:.52rem; }.class-special-notice svg { flex:none; width:14px; height:14px; }.class-special-form footer { display:flex; justify-content:flex-end; gap:8px; }.class-special-form footer button { display:flex; align-items:center; gap:6px; min-height:35px; padding:0 12px; color:#96a2b3; background:#1b202b; border:1px solid rgba(255,255,255,.08); border-radius:7px; cursor:pointer; font-size:.57rem; font-weight:750; }.class-special-form footer button[type="submit"] { color:#07150c; background:#4ade80; border-color:#4ade80; }.class-special-form footer svg { width:13px; height:13px; }
.calendar-sync-dialog { width:min(720px,100%); }.calendar-sync-content { display:flex; flex-direction:column; gap:11px; padding:18px 20px 20px; }.calendar-sync-option { display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; background:#11151e; border:1px solid rgba(255,255,255,.07); border-radius:10px; }.calendar-sync-icon { display:grid; width:36px; height:36px; place-items:center; color:#93c5fd; background:rgba(59,130,246,.09); border-radius:9px; }.calendar-sync-icon.is-google { color:#4ade80; background:rgba(34,197,94,.08); }.calendar-sync-icon svg { width:17px; height:17px; }.calendar-sync-option > div:nth-child(2) > span { color:#6d7b90; font-size:.47rem; font-weight:850; letter-spacing:.11em; }.calendar-sync-option h3 { margin:3px 0 2px; color:#e5eaf1; font-size:.68rem; }.calendar-sync-option p { margin:0; color:#748196; font-size:.52rem; line-height:1.45; }.calendar-sync-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:6px; }.calendar-sync-actions button,.calendar-sync-actions a { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:0 9px; color:#07150c; background:#4ade80; border:1px solid #4ade80; border-radius:7px; cursor:pointer; font-size:.51rem; font-weight:800; text-decoration:none; white-space:nowrap; }.calendar-sync-actions .is-quiet { color:#93c5fd; background:transparent; border-color:rgba(96,165,250,.22); }.calendar-sync-actions a.is-google { color:#fff; background:#2563eb; border-color:#2563eb; }.calendar-sync-actions svg { width:12px; height:12px; }.calendar-sync-unavailable { grid-column:2/-1; display:flex; align-items:center; gap:5px; color:#8a7899; font-size:.48rem; line-height:1.4; }.calendar-sync-unavailable svg { flex:none; width:12px; height:12px; }.calendar-enrolled-groups { padding:12px 14px; background:rgba(34,197,94,.035); border:1px solid rgba(74,222,128,.12); border-radius:9px; }.calendar-enrolled-groups > strong { display:flex; align-items:center; gap:5px; margin-bottom:8px; color:#4ade80; font-size:.52rem; }.calendar-enrolled-groups > strong svg { width:13px; height:13px; }.calendar-enrolled-groups > div { display:flex; flex-wrap:wrap; gap:6px; }.calendar-enrolled-groups span { display:flex; flex-direction:column; gap:1px; padding:6px 8px; color:#d5dce6; background:#171b25; border:1px solid rgba(255,255,255,.065); border-radius:6px; font-size:.52rem; font-weight:750; }.calendar-enrolled-groups span small { color:#6f7c90; font-size:.43rem; font-weight:500; }.calendar-enrolled-groups em { color:#7d899b; font-size:.51rem; font-style:normal; }.calendar-sync-feedback { padding:9px 11px; color:#bbf7d0; background:rgba(34,197,94,.08); border:1px solid rgba(74,222,128,.16); border-radius:7px; font-size:.53rem; }.calendar-sync-feedback.is-error { color:#fecaca; background:rgba(239,68,68,.08); border-color:rgba(248,113,113,.18); }
.class-calendar-help { display:flex; align-items:flex-start; gap:9px; padding:12px 14px; color:#93c5fd; background:rgba(59,130,246,.06); border:1px solid rgba(96,165,250,.15); border-radius:9px; }.class-calendar-help > svg { flex:none; width:16px; height:16px; }.class-calendar-help > div { display:flex; flex-direction:column; gap:2px; }.class-calendar-help strong { color:#bfdbfe; font-size:.61rem; }.class-calendar-help p { margin:0; color:#7789a2; font-size:.56rem; line-height:1.5; }
.erp-light-theme .class-calendar-heading h1,.erp-light-theme .class-calendar-toolbar nav > div strong,.erp-light-theme .class-calendar-summary > span strong,.erp-light-theme .class-calendar-day > header strong,.erp-light-theme .class-calendar-event > strong { color:#1d2939; }.erp-light-theme .class-calendar-heading p,.erp-light-theme .class-calendar-event > span,.erp-light-theme .class-calendar-event > small { color:#667085; }.erp-light-theme .class-calendar-heading > a,.erp-light-theme .class-calendar-toolbar { color:#475467; background:#fff; border-color:#e4e7ec; }.erp-light-theme .class-calendar-toolbar nav > a:not(.class-calendar-today),.erp-light-theme .class-calendar-toolbar select { color:#344054; background:#f8fafc; border-color:#d0d5dd; }.erp-light-theme .class-calendar-board { background:#fff; border-color:#dfe3e8; }.erp-light-theme .class-calendar-day { border-right-color:#e4e7ec; }.erp-light-theme .class-calendar-day > header { background:#f8fafc; border-bottom-color:#e4e7ec; }.erp-light-theme .class-calendar-day.is-today > header { background:#f0fdf4; }.erp-light-theme .class-calendar-event { background:#fff; box-shadow:0 2px 5px rgba(15,23,42,.04); }.erp-light-theme .class-calendar-day.is-empty { background:repeating-linear-gradient(-45deg,#fff,#fff 8px,#fafbfc 8px,#fafbfc 16px); }.erp-light-theme .class-calendar-help { background:#eff6ff; border-color:#bfdbfe; }.erp-light-theme .class-calendar-help strong { color:#1e40af; }.erp-light-theme .class-calendar-help p { color:#475467; }
.erp-light-theme .class-calendar-heading-actions > a { color:#475467; background:#fff; border-color:#e4e7ec; }.erp-light-theme .class-calendar-free { background:#f0fdf4; border-color:#bbf7d0; }.erp-light-theme .class-calendar-free span { color:#475467; background:#fff; border-color:#d1d5db; }.erp-light-theme .class-calendar-event.is-special { background:#f0fdfa; border-color:#99f6e4; }.erp-light-theme .class-special-dialog { background:#fff; border-color:#e4e7ec; }.erp-light-theme .class-special-dialog > header { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .class-special-dialog h2 { color:#1d2939; }.erp-light-theme .class-special-dialog p,.erp-light-theme .class-special-form label > span { color:#667085; }.erp-light-theme .class-special-dialog > header button,.erp-light-theme .class-special-form input,.erp-light-theme .class-special-form select,.erp-light-theme .class-special-form textarea,.erp-light-theme .class-special-form footer button { color:#344054; background:#f8fafc; border-color:#d0d5dd; }
.erp-light-theme .calendar-sync-option { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .calendar-sync-option h3,.erp-light-theme .calendar-enrolled-groups span { color:#1d2939; }.erp-light-theme .calendar-sync-option p { color:#667085; }.erp-light-theme .calendar-enrolled-groups { background:#f0fdf4; border-color:#bbf7d0; }.erp-light-theme .calendar-enrolled-groups span { background:#fff; border-color:#d1d5db; }
@media (max-width:980px) { .class-calendar-toolbar { align-items:stretch; flex-direction:column; }.class-calendar-toolbar nav { justify-content:center; }.class-calendar-toolbar form { display:grid; grid-template-columns:1fr 1fr auto; }.class-calendar-toolbar select { width:100%; }.class-calendar-board { grid-template-columns:repeat(7,150px); }.class-calendar-events { min-height:400px; } }
@media (max-width:640px) { .class-calendar-heading { align-items:flex-start; flex-direction:column; }.class-calendar-heading-actions { width:100%; flex-wrap:wrap; }.class-calendar-summary { align-items:flex-start; flex-direction:column; }.class-calendar-toolbar nav > div { min-width:125px; }.class-calendar-toolbar form { grid-template-columns:1fr; }.class-calendar-board { margin-right:-14px; border-radius:10px 0 0 10px; }.class-calendar-events { min-height:340px; }.class-special-form { grid-template-columns:1fr; }.class-special-form .is-wide { grid-column:auto; }.class-special-dialog { max-height:92vh; overflow-y:auto; }.calendar-sync-option { grid-template-columns:38px minmax(0,1fr); }.calendar-sync-actions,.calendar-sync-unavailable { grid-column:1/-1; justify-content:flex-start; }.calendar-sync-actions a,.calendar-sync-actions button { flex:1; } }

/* DETALHES E INDICADORES POR TURMA */
.class-detail-content { display:flex; flex-direction:column; gap:15px; }.class-detail-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }.class-detail-heading > div:first-child > a { display:inline-flex; align-items:center; gap:5px; margin-bottom:8px; color:#7f8da1; font-size:.56rem; font-weight:700; text-decoration:none; }.class-detail-heading > div:first-child > a:hover { color:#4ade80; }.class-detail-heading > div:first-child > a svg { width:13px; height:13px; }.class-detail-heading > div:first-child > span { display:block; color:#4ade80; font-size:.55rem; font-weight:800; letter-spacing:.12em; }.class-detail-heading h1 { margin:4px 0 2px; color:#f1f5f9; font:800 1.65rem var(--font-heading); }.class-detail-heading p { margin:0; color:#79869a; font-size:.64rem; }.class-detail-heading-actions { display:flex; align-items:center; gap:8px; }.class-detail-heading-actions > a { display:flex; align-items:center; gap:6px; min-height:33px; padding:0 10px; color:#9aa6b7; background:#1a202b; border:1px solid rgba(255,255,255,.08); border-radius:7px; font-size:.56rem; font-weight:750; text-decoration:none; }.class-detail-heading-actions > a svg { width:13px; height:13px; }
.class-detail-demo { display:flex; align-items:flex-start; gap:9px; padding:11px 13px; color:#fbbf24; background:rgba(245,158,11,.07); border:1px solid rgba(245,158,11,.19); border-radius:9px; }.class-detail-demo > svg { flex:none; width:16px; height:16px; }.class-detail-demo > div { display:flex; flex-direction:column; gap:2px; }.class-detail-demo strong { color:#fde68a; font-size:.61rem; }.class-detail-demo p { margin:0; color:#91846c; font-size:.55rem; line-height:1.5; }.class-detail-year { display:flex; justify-content:flex-end; }.class-detail-year label { display:flex; align-items:center; gap:7px; color:#738095; font-size:.54rem; font-weight:750; text-transform:uppercase; }.class-detail-year select { height:31px; padding:0 8px; color:#d8dfe8; background:#171b25; border:1px solid rgba(255,255,255,.08); border-radius:7px; font-size:.58rem; }
.class-detail-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.class-detail-kpis article { display:flex; min-width:0; flex-direction:column; gap:3px; padding:14px 15px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:10px; }.class-detail-kpis article > span { display:flex; align-items:center; gap:5px; color:#768398; font-size:.54rem; font-weight:750; text-transform:uppercase; }.class-detail-kpis article > span svg { width:13px; height:13px; }.class-detail-kpis article > strong { color:#e7ecf3; font:800 1.1rem var(--font-heading); }.class-detail-kpis article > small { color:#68758a; font-size:.52rem; }.class-detail-kpis article.is-positive > strong,.class-detail-kpis article.is-positive > span { color:#4ade80; }.class-detail-kpis article.is-warning > strong,.class-detail-kpis article.is-warning > span { color:#fbbf24; }.class-detail-kpis article.is-blue > strong { color:#60a5fa; }
.class-detail-main-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:12px; }.class-detail-panel { padding:17px; background:#171b25; border:1px solid rgba(255,255,255,.07); border-radius:11px; }.class-detail-panel > header > span,.class-detail-panel-heading > div > span { color:#4ade80; font-size:.53rem; font-weight:800; letter-spacing:.12em; }.class-detail-panel > header h2,.class-detail-panel-heading h2 { margin:3px 0 0; color:#e9eef5; font:800 .9rem var(--font-heading); }.class-detail-profile dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; margin:13px 0; border:1px solid rgba(255,255,255,.06); border-radius:8px; }.class-detail-profile dl > div { padding:9px 10px; border-bottom:1px solid rgba(255,255,255,.05); }.class-detail-profile dt { color:#68758a; font-size:.5rem; text-transform:uppercase; }.class-detail-profile dd { margin:2px 0 0; color:#d9e0e9; font-size:.61rem; font-weight:700; }.class-detail-schedules { display:flex; flex-direction:column; gap:5px; }.class-detail-schedules > span { color:#68758a; font-size:.49rem; font-weight:800; }.class-detail-schedules strong { display:flex; align-items:center; gap:5px; color:#aab5c4; font-size:.57rem; }.class-detail-schedules svg { width:12px; height:12px; color:#4ade80; }
.class-detail-rate { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:15px; margin-top:13px; }.class-detail-rate > div { display:grid; place-items:center; width:112px; height:112px; background:conic-gradient(#4ade80 calc(var(--rate)*1%),#272e3a 0); border-radius:50%; }.class-detail-rate > div::before { content:""; grid-area:1/1; width:82px; height:82px; background:#171b25; border-radius:50%; }.class-detail-rate > div strong,.class-detail-rate > div span { grid-area:1/1; z-index:1; }.class-detail-rate > div strong { margin-top:-12px; color:#e9eef5; font:800 1.2rem var(--font-heading); }.class-detail-rate > div span { margin-top:23px; color:#6e7b90; font-size:.48rem; }.class-detail-rate ul { display:flex; flex-direction:column; gap:7px; padding:0; margin:0; list-style:none; }.class-detail-rate li { display:grid; grid-template-columns:7px 1fr auto; align-items:center; gap:6px; color:#778599; font-size:.55rem; }.class-detail-rate li i { width:6px; height:6px; background:#4ade80; border-radius:50%; }.class-detail-rate li i.is-denied { background:#f87171; }.class-detail-rate li i.is-pending { background:#fbbf24; }.class-detail-rate li strong { color:#d7dee8; }.class-detail-attendance > p { margin:13px 0 0; color:#6e7c90; font-size:.52rem; line-height:1.5; }
.class-detail-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }.class-detail-panel-heading > a { display:flex; align-items:center; gap:4px; color:#7f8da1; font-size:.53rem; text-decoration:none; }.class-detail-panel-heading > a:hover { color:#4ade80; }.class-detail-panel-heading > a svg { width:12px; height:12px; }.class-detail-panel-heading > small { color:#6f7c90; font-size:.53rem; }.class-detail-months { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }.class-detail-months article { display:flex; min-width:0; flex-direction:column; gap:2px; padding:9px; background:#11151e; border:1px solid rgba(255,255,255,.055); border-radius:7px; }.class-detail-months article > span { color:#6e7b8f; font-size:.49rem; font-weight:800; text-transform:uppercase; }.class-detail-months article > strong { overflow:hidden; color:#aeb8c6; font-size:.6rem; text-overflow:ellipsis; white-space:nowrap; }.class-detail-months article > small { color:#5f6c80; font-size:.46rem; }.class-detail-months article > em { margin-top:3px; color:#6f7c8f; font-size:.44rem; font-style:normal; }.class-detail-months article.has-received > strong,.class-detail-months article.has-received > em { color:#4ade80; }
.class-detail-table-wrap { overflow-x:auto; }.class-detail-table { width:100%; min-width:800px; border-collapse:collapse; }.class-detail-table th { padding:8px 10px; color:#69768a; background:#11151e; border-block:1px solid rgba(255,255,255,.055); font-size:.49rem; font-weight:800; text-align:left; text-transform:uppercase; }.class-detail-table td { padding:9px 10px; color:#8995a7; border-bottom:1px solid rgba(255,255,255,.05); font-size:.55rem; }.class-detail-table tbody tr:last-child td { border-bottom:0; }.class-detail-table td > div { display:flex; flex-direction:column; gap:2px; }.class-detail-table td > div strong { color:#dce3ec; font-size:.59rem; }.class-detail-table td > div small { color:#6f7c90; }.class-detail-table td > div em { margin-left:5px; padding:2px 4px; color:#fbbf24; background:rgba(245,158,11,.08); border-radius:4px; font-size:.4rem; font-style:normal; font-weight:800; }.is-money-positive { color:#4ade80 !important; font-weight:750; }.is-money-warning { color:#fbbf24 !important; font-weight:750; }.class-detail-member-rate { padding:4px 6px; color:#8592a5; background:rgba(148,163,184,.07); border-radius:5px; font-size:.5rem; font-weight:750; }.class-detail-member-rate.is-good { color:#4ade80; background:rgba(34,197,94,.08); }
.class-checkin-table { min-width:680px; }.class-checkin-source { display:inline-flex; align-items:center; gap:5px; color:#aab5c4; }.class-checkin-source svg { width:12px; height:12px; }.class-checkin-status { display:inline-flex; padding:4px 7px; border-radius:999px; font-size:.49rem; font-weight:800; }.attendance-status-reserva { color:#93c5fd; background:rgba(59,130,246,.13); border:1px solid rgba(96,165,250,.3); }
.erp-light-theme .class-detail-heading h1,.erp-light-theme .class-detail-kpis article > strong,.erp-light-theme .class-detail-panel > header h2,.erp-light-theme .class-detail-panel-heading h2,.erp-light-theme .class-detail-profile dd,.erp-light-theme .class-detail-rate > div strong,.erp-light-theme .class-detail-rate li strong,.erp-light-theme .class-detail-table td > div strong { color:#1d2939; }.erp-light-theme .class-detail-heading p,.erp-light-theme .class-detail-attendance > p,.erp-light-theme .class-detail-table td { color:#667085; }.erp-light-theme .class-detail-demo { background:#fffbeb; border-color:#fde68a; }.erp-light-theme .class-detail-demo strong { color:#92400e; }.erp-light-theme .class-detail-demo p { color:#667085; }.erp-light-theme .class-detail-year select,.erp-light-theme .class-detail-kpis article,.erp-light-theme .class-detail-panel { color:#344054; background:#fff; border-color:#e4e7ec; box-shadow:0 2px 8px rgba(15,23,42,.025); }.erp-light-theme .class-detail-profile dl { border-color:#e4e7ec; }.erp-light-theme .class-detail-profile dl > div { border-bottom-color:#eaecf0; }.erp-light-theme .class-detail-rate > div { background:conic-gradient(#22c55e calc(var(--rate)*1%),#e4e7ec 0); }.erp-light-theme .class-detail-rate > div::before { background:#fff; }.erp-light-theme .class-detail-months article { background:#f8fafc; border-color:#e4e7ec; }.erp-light-theme .class-detail-table th { color:#667085; background:#f8fafc; border-color:#eaecf0; }.erp-light-theme .class-detail-table td { border-bottom-color:#eaecf0; }
.erp-light-theme .class-management-checkins { color:#15803d; background:#f0fdf4; border-color:#bbf7d0; }.erp-light-theme .attendance-status-reserva { color:#1d4ed8; background:#eff6ff; border-color:#bfdbfe; }
@media (max-width:1000px) { .class-detail-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.class-detail-main-grid { grid-template-columns:1fr; }.class-detail-months { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:640px) { .class-detail-heading { align-items:flex-start; flex-direction:column; }.class-detail-heading-actions { width:100%; justify-content:space-between; }.class-detail-kpis { grid-template-columns:1fr; }.class-detail-months { grid-template-columns:repeat(2,minmax(0,1fr)); }.class-detail-rate { grid-template-columns:1fr; }.class-detail-rate > div { margin:auto; } }

/* ==========================================================================
   🎮 TEMA "ÁREA GAME" (STREAMER PACK / ESPORTS HUD)
   ========================================================================== */
.championship-scoreboard-content.theme-area-game {
  background: #050508 !important;
  color: #f1f5f9;
}

.theme-area-game .scoreboard-heading h1 {
  color: #00f3ff !important;
  text-shadow: 0 0 15px rgba(0, 243, 255, 0.4);
  font-family: var(--font-heading), 'Orbitron', sans-serif !important;
  letter-spacing: 0.04em;
}

.theme-area-game-stage {
  background: radial-gradient(circle at 50% 20%, rgba(0, 243, 255, 0.08), transparent 70%), #08090e !important;
  border: 1px solid rgba(0, 243, 255, 0.25) !important;
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.8), inset 0 0 20px rgba(0, 243, 255, 0.05) !important;
  border-radius: 14px !important;
}

.theme-area-game-stage > header {
  background: rgba(11, 13, 20, 0.95) !important;
  border-bottom: 1px solid rgba(0, 243, 255, 0.3) !important;
}

.theme-area-game-stage > header span {
  color: #00f3ff !important;
  font-weight: 900 !important;
  letter-spacing: 0.15em !important;
}

.theme-area-game-stage > header strong {
  color: #ff0055 !important;
  text-shadow: 0 0 10px rgba(255, 0, 85, 0.6);
}

/* CARDS DOS CANTOS DA ÁREA GAME (HUD CUTOUTS) */
.theme-area-game .scoreboard-corner.is-red {
  background: linear-gradient(145deg, rgba(255, 0, 85, 0.12), rgba(15, 10, 18, 0.9)) !important;
  border: 1px solid rgba(255, 0, 85, 0.4) !important;
  box-shadow: 0 0 25px rgba(255, 0, 85, 0.15) !important;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
}

.theme-area-game .scoreboard-corner.is-blue {
  background: linear-gradient(145deg, rgba(0, 243, 255, 0.12), rgba(10, 15, 24, 0.9)) !important;
  border: 1px solid rgba(0, 243, 255, 0.4) !important;
  box-shadow: 0 0 25px rgba(0, 243, 255, 0.15) !important;
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
}

/* NÚMEROS DO PLACAR (NEON FLIPPER) */
.theme-area-game .scoreboard-points {
  font-family: 'Orbitron', var(--font-heading), sans-serif !important;
  letter-spacing: -3px !important;
  text-shadow: 0 0 25px currentColor !important;
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.theme-area-game .scoreboard-corner.is-red .scoreboard-points {
  color: #ff0055 !important;
}

/* ALINHAMENTO DA ÁREA GAME (VS CENTRALIZADO NO CANTO SUPERIOR ENTRE OS CARDS) */
.theme-area-game .scoreboard-competitors {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(130px, 160px) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 14px !important;
  padding: 16px 20px !important;
  position: relative !important;
}

/* DÍGITOS ILUSTRADOS GRAFFITI EM CHAMAS (EXCLUSIVO ÁREA GAME) */
.hud-graffiti-score {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}

.hud-digit-img {
  width: clamp(75px, 13vh, 125px) !important;
  height: clamp(75px, 13vh, 125px) !important;
  object-fit: contain !important;
  animation: flamePulse 2.8s ease-in-out infinite alternate;
}

.theme-area-game .scoreboard-corner.is-red .hud-digit-img {
  filter: drop-shadow(0 0 18px rgba(255, 0, 85, 0.95)) drop-shadow(0 0 30px rgba(255, 102, 0, 0.8));
}

.theme-area-game .scoreboard-corner.is-blue .hud-digit-img {
  filter: drop-shadow(0 0 18px rgba(0, 243, 255, 0.95)) drop-shadow(0 0 30px rgba(0, 150, 255, 0.8)) hue-rotate(140deg);
}

@keyframes flamePulse {
  0% { transform: scale(1) rotate(0deg); }
  100% { transform: scale(1.05) rotate(1deg); }
}

.theme-area-game .scoreboard-corner {
  position: relative !important;
  z-index: 2 !important;
  min-width: 0 !important;
}

/* EMBLEMA CENTRAL "VS" GRAFFITI ESPORTS HUD (CANTO SUPERIOR) */
.theme-area-game .scoreboard-versus {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding-top: 14px !important;
  z-index: 10 !important;
  position: relative !important;
  overflow: visible !important;
  min-width: 130px !important;
  padding-inline: 5px !important;
}

.hud-vs-emblem {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 120px;
  background: transparent;
  border: none;
  box-shadow: none;
  overflow: visible !important;
  z-index: 10 !important;
}

.hud-vs-img {
  width: 140px;
  height: 140px;
  max-width: 140px;
  object-fit: contain;
  filter: drop-shadow(0 0 16px rgba(255, 102, 0, 0.9)) drop-shadow(0 0 35px rgba(0, 0, 0, 0.95));
  animation: vsAggressivePulse 2.5s ease-in-out infinite;
  pointer-events: none;
}

@keyframes vsAggressivePulse {
  0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 16px rgba(255, 102, 0, 0.9)) drop-shadow(0 0 25px rgba(255, 0, 85, 0.5)); }
  50% { transform: scale(1.1) rotate(-2deg); filter: drop-shadow(0 0 35px rgba(255, 153, 0, 1)) drop-shadow(0 0 50px rgba(255, 0, 85, 0.85)); }
}

/* ANIMAÇÃO DE PULSO AO PONTUAR */
.is-point-flash {
  animation: neonPointBurst 0.6s ease-out;
}

@keyframes neonPointBurst {
  0% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.04); filter: brightness(1.8) drop-shadow(0 0 30px currentColor); }
  100% { transform: scale(1); filter: brightness(1); }
}

/* BOTÕES DE CONTROLE STREAMER HUD SEM COLISÃO */
.theme-area-game .scoreboard-move-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  margin-top: 14px !important;
  width: 100% !important;
}

.theme-area-game .scoreboard-move-actions button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 42px !important;
  padding: 8px 14px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #e2e8f0 !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  transition: all 0.15s ease !important;
}

.theme-area-game .scoreboard-move-actions button b {
  font-size: 1.05rem !important;
  font-weight: 900 !important;
}

.theme-area-game .scoreboard-corner.is-red .scoreboard-move-actions button:hover {
  background: rgba(255, 0, 85, 0.25) !important;
  border-color: #ff0055 !important;
  color: #fff !important;
  box-shadow: 0 0 15px rgba(255, 0, 85, 0.4) !important;
}

.theme-area-game .scoreboard-corner.is-blue .scoreboard-move-actions button:hover {
  background: rgba(0, 243, 255, 0.25) !important;
  border-color: #00f3ff !important;
  color: #fff !important;
  box-shadow: 0 0 15px rgba(0, 243, 255, 0.4) !important;
}

.theme-area-game .scoreboard-special-actions {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin-top: 8px !important;
  width: 100% !important;
}

.theme-area-game .scoreboard-special-actions button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 38px !important;
  padding: 6px 8px !important;
  font-size: 0.74rem !important;
  border-radius: 7px !important;
}

/* ENCAIXE EM TELA PAISAGEM / MOBILE WIDESCREEN */
@media (max-height: 520px) and (orientation: landscape) {
  .championship-scoreboard-page .erp-sidebar { display: none !important; }
  .championship-scoreboard-page .erp-topbar { display: none !important; }
  .championship-scoreboard-page .scoreboard-heading { display: none !important; }
  .championship-scoreboard-page .scoreboard-match-tabs { display: none !important; }
  .championship-scoreboard-page .scoreboard-view-tabs { display: none !important; }
  .championship-scoreboard-content { padding: 0 !important; margin: 0 !important; max-width: 100vw !important; }
  .theme-area-game-stage {
    width: 100vw !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    padding: 8px 16px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }
}

/* ALERTA DE PERÍODO LIVRE DE 60 HORAS (TRIAL) */
.trial-alert-banner {
  width: 100%;
  padding: 12px 20px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
  position: relative;
  z-index: 999;
}
.trial-banner-active {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.96), rgba(202, 138, 4, 0.96));
  color: #0f172a;
}
.trial-banner-expired {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.96), rgba(185, 28, 28, 0.96));
  color: #ffffff;
}
.trial-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.trial-banner-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1 1 480px;
}
.trial-banner-left .trial-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}
.trial-banner-copy {
  max-width: 700px;
}
.trial-banner-copy strong {
  display: block;
  font-family: var(--font-heading);
  letter-spacing: 0.025em;
}
.trial-banner-copy p {
  margin: 3px 0 0;
  max-width: 680px;
  font-size: 0.85rem;
  line-height: 1.4;
  opacity: 0.95;
}
.trial-banner-countdown {
  min-width: 150px;
  padding: 7px 14px;
  border: 1px solid rgba(15, 23, 42, 0.32);
  border-radius: 10px;
  background: rgba(15, 23, 42, 0.12);
  text-align: center;
}
.trial-banner-countdown small {
  display: block;
  margin-bottom: 1px;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}
.trial-banner-countdown strong {
  display: block;
  color: #0f172a;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}
@media (max-width: 720px) {
  .trial-banner-left {
    flex-basis: 100%;
  }
  .trial-banner-countdown,
  .trial-banner-inner > .btn {
    width: 100%;
  }
}

/* BOTÃO DE AULA EXPERIMENTAL (VERDE QUANDO ACIONADO) */
.btn-experimental-toggle {
  width: 100%;
  background: rgba(30, 41, 59, 0.9);
  color: #e2e8f0;
  border: 2px solid rgba(148, 163, 184, 0.4);
  font-size: 0.95rem;
  font-weight: 700;
  padding: 14px 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.btn-experimental-toggle:hover {
  background: rgba(51, 65, 85, 0.95);
  border-color: #22c55e;
  color: #ffffff;
}
.btn-experimental-toggle.active {
  background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
  color: #ffffff !important;
  border-color: #4ade80 !important;
  box-shadow: 0 0 20px rgba(34, 197, 94, 0.45) !important;
}

.registration-schedule-filter {
  margin: 12px 0 0;
  padding: 0;
  border: 0;
}
.registration-schedule-filter legend {
  margin-bottom: 7px;
  color: #cbd5e1;
  font-size: .8rem;
  font-weight: 700;
}
.registration-schedule-filter > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.registration-schedule-filter button {
  min-height: 40px;
  padding: 7px 9px;
  color: #cbd5e1;
  background: rgba(30, 41, 59, .8);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 8px;
  cursor: pointer;
  font-size: .78rem;
  font-weight: 750;
  transition: background .18s ease, border-color .18s ease, color .18s ease;
}
.registration-schedule-filter button span,
.registration-schedule-filter button strong { display:block; }
.registration-schedule-filter button strong { margin-top:3px; color:#94a3b8; font-size:.69rem; font-weight:700; }
.registration-schedule-filter button:hover,
.registration-schedule-filter button.active {
  color: #fff;
  background: rgba(34, 197, 94, .2);
  border-color: rgba(74, 222, 128, .75);
}
.registration-schedule-filter button.active strong { color:#86efac; }
.private-instructor-field { margin-top:12px; padding:12px; background:rgba(59,130,246,.08); border:1px solid rgba(96,165,250,.28); border-radius:9px; }
.private-instructor-field label { display:block; margin-bottom:7px; color:#bfdbfe; font-size:.82rem; font-weight:750; }
.private-instructor-field select { width:100%; min-height:42px; padding:9px 12px; color:#fff; background:#0f172a; border:1px solid rgba(96,165,250,.4); border-radius:8px; }
.combo-modality-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:12px; padding:12px; background:rgba(245,158,11,.07); border:1px solid rgba(251,191,36,.3); border-radius:9px; }
.combo-modality-fields > strong,.combo-modality-fields > small { grid-column:1/-1; }.combo-modality-fields > strong { color:#fde68a; font-size:.84rem; }.combo-modality-fields > small { color:#94a3b8; font-size:.72rem; }.combo-modality-fields label span { display:block; margin-bottom:5px; color:#cbd5e1; font-size:.73rem; font-weight:700; }.combo-modality-fields select { width:100%; min-height:40px; padding:8px 10px; color:#fff; background:#0f172a; border:1px solid rgba(251,191,36,.3); border-radius:7px; }
@media (max-width:620px) { .combo-modality-fields { grid-template-columns:1fr; } }
.minor-student-option { margin:4px 0 16px; }
.minor-student-label { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:11px; min-height:72px; padding:14px 88px 14px 13px; color:#e5e7eb; background:rgba(15,23,42,.72); border:1px solid rgba(148,163,184,.28); border-radius:9px; cursor:pointer; transition:border-color .18s ease,background .18s ease; }
.minor-student-label input { position:absolute; width:1px; height:1px; opacity:0; }
.minor-student-label:focus-within { outline:3px solid rgba(96,165,250,.35); outline-offset:2px; }
.minor-student-icon { display:grid; width:38px; height:38px; place-items:center; color:#93c5fd; background:rgba(59,130,246,.12); border-radius:8px; }
.minor-student-icon svg { width:19px; height:19px; }
.minor-student-copy { display:flex; flex-direction:column; gap:2px; }
.minor-student-copy strong { color:#f1f5f9; font-size:.86rem; }
.minor-student-copy small { color:#94a3b8; font-size:.74rem; line-height:1.35; }
.minor-student-status { position:absolute; top:10px; right:10px; padding:6px 9px; color:#cbd5e1; background:rgba(148,163,184,.12); border-radius:6px; font-size:.7rem; font-weight:750; }
.minor-student-label:has(input:checked) { background:rgba(34,197,94,.1); border-color:rgba(74,222,128,.55); }
.minor-student-label:has(input:checked) .minor-student-icon { color:#86efac; background:rgba(34,197,94,.15); }
.minor-student-label:has(input:checked) .minor-student-status { color:#052e16; background:#4ade80; }
.minor-student-label:has(input:checked) .minor-student-status::before { content:'\2713 '; }
@media (max-width:520px) { .minor-student-label { grid-template-columns:34px minmax(0,1fr); padding:48px 12px 12px; }.minor-student-icon { width:34px; height:34px; }.minor-student-status { top:9px; right:9px; } }
@media (max-width: 560px) {
  .registration-schedule-filter > div { grid-template-columns: 1fr; }
}

/* ALWAYS PUT HIDDEN AT THE VERY BOTTOM SO IT OVERRIDES ALL DISPLAY RULES */
.hidden {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.plan-catalog-heading>button span{color:inherit;font-size:inherit;letter-spacing:normal}
.plan-admin-table{min-width:1450px}.plan-table-actions button.is-secondary{padding:8px;background:rgba(59,130,246,.14);color:#60a5fa}.plan-table-actions button.is-secondary.is-open{background:#2563eb;color:#fff}.plan-benefits-row td{padding:14px 18px!important;background:rgba(30,41,59,.55)}.plan-benefits-row label{display:grid;grid-template-columns:minmax(180px,.35fr) 1fr;align-items:center;gap:12px}.plan-benefits-row label strong,.plan-benefits-row label small{display:block}.plan-benefits-row label small{color:#94a3b8;font-size:.72rem}.plan-benefits-row textarea{min-width:320px}
.plan-admin-table{min-width:1080px;table-layout:fixed}.plan-admin-table th:first-child{width:150px}.plan-admin-table th:nth-child(2){width:255px}.plan-admin-table th:nth-child(3){width:285px}.plan-admin-table th:nth-child(n+4){width:130px}.plan-actions-cell{background:rgba(15,23,42,.42)}.plan-actions-cell .plan-table-actions{justify-content:flex-start}.plan-modality-cell{vertical-align:middle}.plan-schedule-cell span{display:flex;align-items:center;gap:5px;margin:3px 0;color:#cbd5e1;font-size:.7rem;line-height:1.3}.plan-schedule-cell span svg{width:12px;height:12px;flex:0 0 auto;color:#60a5fa}.plan-schedule-cell em{color:#64748b;font-size:.72rem}.plan-admin-table td:nth-child(n+4) input{min-width:0;text-align:center;font-weight:700;border-color:rgba(34,197,94,.22)}@media(max-width:650px){.plan-admin-table{min-width:960px}.plan-benefits-row label{grid-template-columns:1fr}.plan-benefits-row textarea{min-width:0}}
.plan-modality-text{display:inline-flex;align-items:center;min-height:36px;border-radius:8px;padding:7px 11px;background:rgba(59,130,246,.12);color:#bfdbfe;font-weight:800}
.plan-custom-note{display:flex;align-items:center;gap:12px;margin-bottom:14px;border:1px solid rgba(59,130,246,.24);border-radius:10px;padding:12px 14px;background:rgba(59,130,246,.08)}.plan-custom-note>svg{flex:0 0 auto;color:#60a5fa}.plan-custom-note strong,.plan-custom-note small{display:block}.plan-custom-note small{margin-top:2px;color:#94a3b8}.plan-admin-table.is-custom-plans th:first-child{width:150px}.plan-admin-table.is-custom-plans th:nth-child(2){width:230px}.plan-admin-table.is-custom-plans th:nth-child(3){width:265px}.plan-admin-table.is-custom-plans th:nth-child(n+4){width:130px}.plan-custom-name small{display:block;margin-top:5px;color:#64748b;font-size:.68rem}.plan-custom-name input{font-weight:800!important;border-color:rgba(59,130,246,.28)!important}
.plan-discount-field{display:flex!important;align-items:center;gap:7px;margin-top:7px}.plan-discount-field span{color:#94a3b8;font-size:.68rem;white-space:nowrap}.plan-discount-field input{min-width:0!important;width:76px!important;padding:5px 7px!important;color:#86efac!important}.sponsored-plan-panel{max-width:650px;margin-top:20px;background:rgba(18,18,28,.95)!important}.sponsored-plan-panel>header{display:flex;align-items:center;gap:12px;margin-bottom:18px}.sponsored-plan-panel>header>svg{color:#4ade80}.sponsored-plan-panel>header strong,.sponsored-plan-panel>header small{display:block}.sponsored-plan-panel>header small{margin-top:3px;color:#94a3b8}.sponsored-add-form label>span,.sponsored-add-form label>small{display:block}.sponsored-add-form label>span{font-weight:800}.sponsored-add-form label>small{margin:4px 0 9px;color:#94a3b8}.sponsored-add-form label>div{display:flex;gap:8px}.sponsored-add-form input{width:110px;border:1px solid var(--border-light);border-radius:8px;padding:10px;background:#0f172a;color:#fff;font-weight:800;letter-spacing:.2em;text-align:center}.sponsored-add-form button,.sponsored-members-list button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:9px 12px;background:#16a34a;color:#fff;font-weight:800;cursor:pointer}.sponsored-members-list{display:grid;gap:8px;margin-top:18px}.sponsored-members-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border-light);border-radius:9px;padding:10px 12px;background:rgba(15,23,42,.65)}.sponsored-members-list article strong,.sponsored-members-list article small{display:block}.sponsored-members-list article small,.sponsored-members-list>p{color:#94a3b8}.sponsored-members-list button{background:rgba(239,68,68,.12);color:#f87171}
.plan-expanded-editor{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.plan-behavior-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-behavior-grid label>span{display:block;margin-bottom:5px;color:#cbd5e1;font-size:.72rem;font-weight:700}.plan-behavior-grid select{width:100%;border:1px solid var(--border-light);border-radius:8px;padding:8px;background:#0f172a;color:#fff}.plan-force-days{grid-column:1/-1;display:flex;align-items:center;gap:8px}@media(max-width:750px){.plan-expanded-editor,.plan-behavior-grid{grid-template-columns:1fr}}
.registration-plan-details{margin-top:12px;border:1px solid rgba(59,130,246,.28);border-radius:11px;padding:13px;background:rgba(30,58,138,.16)}.registration-plan-details header{display:flex;align-items:center;justify-content:space-between;gap:10px}.registration-plan-details header strong{color:#fff}.registration-plan-details header span{border-radius:999px;padding:4px 8px;background:rgba(34,197,94,.16);color:#86efac;font-size:.7rem;font-weight:800}.registration-plan-details p{margin:7px 0;color:#cbd5e1;font-size:.8rem}.registration-plan-details div{display:flex;flex-wrap:wrap;gap:5px}.registration-plan-details div span{border-radius:6px;padding:4px 7px;background:rgba(59,130,246,.15);color:#bfdbfe;font-size:.7rem;font-weight:700}.registration-plan-details ul{margin:8px 0 0;padding-left:18px;color:#94a3b8;font-size:.75rem}.registration-plan-details>small{display:block;margin-top:8px;color:#facc15;font-weight:700}

/* CENTRO DE TREINAMENTO (CT) - COMPACT INTEGRATED LOCATION STYLES */
.ct-page-wrapper { padding-bottom: 60px; }
.ct-hero-section { position: relative; padding: 20px 0 14px; background: radial-gradient(circle at 50% 20%, rgba(245, 158, 11, 0.12) 0%, rgba(15, 23, 42, 0.95) 75%); }
.ct-compact-banner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; max-width: 980px; margin: 0 auto; padding: 14px 28px; background: rgba(18, 18, 28, 0.9); border: 1px solid rgba(245, 158, 11, 0.35); border-radius: 16px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); }
.ct-brand-side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; text-align: center; }
.ct-logo-img { height: 56px; max-width: 110px; object-fit: contain; filter: drop-shadow(0 3px 8px rgba(0,0,0,0.6)); transition: transform 0.25s ease; }
.ct-partner-img { max-height: 62px; }
.ct-logo-img:hover { transform: scale(1.05); }
.ct-logo-placeholder { width: 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, rgba(245, 158, 11, 0.2), rgba(239, 68, 68, 0.2)); border: 2px solid var(--accent-gold); display: flex; align-items: center; justify-content: center; font-size: 1.8rem; }
.ct-brand-label { font-size: 0.72rem; font-weight: 800; color: #cbd5e1; letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap; }
.ct-center-info { text-align: center; }
.ct-badge-row { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.badge-pill-sub { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; background: rgba(245, 158, 11, 0.12); border: 1px solid rgba(245, 158, 11, 0.3); color: var(--accent-gold); border-radius: 20px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.05em; }

.pulse-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; background: rgba(34, 197, 94, 0.18); border: 1px solid rgba(74, 222, 128, 0.5); color: #4ade80; border-radius: 20px; font-size: 0.7rem; font-weight: 800; letter-spacing: 0.04em; text-decoration: none; animation: pulseGlow 2.2s infinite; transition: all 0.2s ease; }
.pulse-badge:hover { background: rgba(34, 197, 94, 0.35); color: #ffffff; transform: scale(1.04); }

@keyframes pulseGlow {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4); }
  70% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}

.btn-share-unit { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); color: #cbd5e1; border-radius: 20px; font-size: 0.7rem; font-weight: 700; cursor: pointer; transition: all 0.2s ease; }
.btn-share-unit:hover { background: rgba(245, 158, 11, 0.2); border-color: rgba(245, 158, 11, 0.4); color: #ffffff; }

.ct-center-info .ct-title { font-family: var(--font-heading); font-size: 1.6rem; font-weight: 900; color: #ffffff; margin: 2px 0; text-shadow: 0 2px 8px rgba(0,0,0,0.6); }
.ct-center-info .ct-subtitle { color: var(--text-muted); font-size: 0.88rem; font-weight: 600; margin: 0; }

/* ZERO-SCROLL SINGLE VIEWPORT FIT LAYOUT */
.ct-page-wrapper.single-viewport-fit { padding-bottom: 20px; }
.ct-page-wrapper.single-viewport-fit .ct-hero-section { padding: 12px 0 8px; }
.ct-page-wrapper.single-viewport-fit .ct-compact-banner { padding: 8px 18px; margin-bottom: 0; }
.ct-page-wrapper.single-viewport-fit .ct-logo-img { height: 46px; }
.ct-page-wrapper.single-viewport-fit .ct-center-info .ct-title { font-size: 1.35rem; margin: 0; }
.ct-page-wrapper.single-viewport-fit .ct-center-info .ct-subtitle { font-size: 0.8rem; }
.ct-page-wrapper.single-viewport-fit .ct-details-section { padding-top: 12px; }

.ct-dashboard-grid { display: grid; grid-template-columns: 1fr 1.25fr 1fr; gap: 16px; align-items: stretch; }
.ct-dash-card { padding: 16px; margin-bottom: 0; background: rgba(18, 18, 28, 0.95); border: 1px solid var(--border-light); border-radius: 14px; display: flex; flex-direction: column; justify-content: space-between; }
.ct-dash-card .ct-card-header { margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.ct-dash-card .ct-card-icon { width: 34px; height: 34px; font-size: 1rem; border-radius: 8px; flex-shrink: 0; }
.ct-dash-card .ct-card-header h3 { font-size: 1.02rem; }

.prof-dash-body { display: flex; align-items: center; gap: 14px; margin-bottom: 8px; }
.prof-photo-card { width: 92px; height: 108px; border-radius: 12px; padding: 2px; background: linear-gradient(135deg, var(--accent-gold), rgba(239, 68, 68, 0.8)); flex-shrink: 0; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4), 0 0 12px rgba(245, 158, 11, 0.25); overflow: hidden; }
.prof-portrait-square { width: 100%; height: 100%; object-fit: cover; object-position: top center; border-radius: 10px; transition: transform 0.3s ease; }
.prof-portrait-square:hover { transform: scale(1.06); }
.prof-initials-square { width: 100%; height: 100%; border-radius: 10px; background: #1e293b; display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.prof-dash-info { display: flex; flex-direction: column; gap: 4px; }
.prof-dash-info h4 { font-family: var(--font-heading); font-size: 1.1rem; font-weight: 800; color: #ffffff; margin: 0; }
.prof-dash-info .professor-title-badge { font-size: 0.72rem; padding: 3px 9px; margin: 0; align-self: flex-start; }
.prof-bio-snippet { font-size: 0.78rem; color: #94a3b8; margin: 2px 0 0; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.professor-actions-row { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 6px; padding-top: 0; border-top: none; }
.action-btn-icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; border: 1px solid rgba(255,255,255,0.15); transition: box-shadow 0.25s ease, border-color 0.25s ease; }

/* PROFESSOR EXTRA ACTIONS (BELOW SOCIAL ICONS) */
.prof-extra-actions { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.btn-experimental-cta { flex: 1.2; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 10px; background: linear-gradient(135deg, rgba(34, 197, 94, 0.25), rgba(16, 185, 129, 0.15)); border: 1px solid rgba(74, 222, 128, 0.5); color: #4ade80 !important; font-size: 0.74rem; font-weight: 800; border-radius: 8px; text-decoration: none; transition: all 0.25s ease; box-shadow: 0 4px 14px rgba(34, 197, 94, 0.2); white-space: nowrap; }
.btn-experimental-cta:hover { background: linear-gradient(135deg, rgba(34, 197, 94, 0.45), rgba(16, 185, 129, 0.35)); color: #ffffff !important; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(34, 197, 94, 0.45); }
.pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: #22c55e; flex-shrink: 0; animation: pulseDot 1.8s infinite; }
@keyframes pulseDot {
  0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
  70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
  100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
.btn-share-cta { flex: 0.8; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 10px; background: rgba(255, 255, 255, 0.06); border: 1px solid rgba(255, 255, 255, 0.15); color: #cbd5e1; font-size: 0.74rem; font-weight: 700; border-radius: 8px; cursor: pointer; transition: all 0.2s ease; white-space: nowrap; }
.btn-share-cta:hover { background: rgba(245, 158, 11, 0.18); border-color: rgba(245, 158, 11, 0.35); color: #ffffff; transform: translateY(-1px); }

/* MODALITY CHIPS LIST */
.ct-modalities-compact-list { display: flex; flex-direction: column; gap: 8px; }
.modality-chip-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; background: rgba(30, 41, 59, 0.7); border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 10px; transition: border-color 0.2s ease, background 0.2s ease; }
.modality-chip-card:hover { border-color: rgba(245, 158, 11, 0.3); background: rgba(30, 41, 59, 0.95); }
.chip-main-info { display: flex; align-items: center; gap: 8px; }
.chip-main-info strong { color: #f8fafc; font-size: 0.88rem; font-weight: 700; }
.chip-wa-btn { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; background: rgba(34, 197, 94, 0.15); border: 1px solid rgba(74, 222, 128, 0.3); color: #4ade80; border-radius: 6px; font-size: 0.75rem; font-weight: 700; text-decoration: none; transition: background 0.2s ease; }
.chip-wa-btn:hover { background: rgba(34, 197, 94, 0.3); color: #ffffff; }

/* LOCATION DASHBOARD BODY */
.loc-dash-body { display: flex; flex-direction: column; gap: 10px; font-size: 0.84rem; flex: 1; justify-content: space-between; }
.loc-address { color: #f8fafc; margin: 0; line-height: 1.4; }
.loc-desc { color: #94a3b8; margin: 0; line-height: 1.35; font-size: 0.8rem; }
.loc-seal-box { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: rgba(37, 99, 235, 0.12); border: 1px solid rgba(59, 130, 246, 0.3); border-radius: 8px; margin-top: auto; }
.loc-seal-box .seal-icon { width: 22px; height: 22px; color: #60a5fa; flex-shrink: 0; }
.loc-seal-box strong { display: block; color: #93c5fd; font-size: 0.78rem; line-height: 1.2; }
.loc-seal-box small { display: block; color: #cbd5e1; font-size: 0.7rem; }

@media (max-width: 992px) {
  .ct-dashboard-grid { grid-template-columns: 1fr; gap: 14px; }
}

.ct-details-section { padding-top: 18px; }
.ct-grid-layout { display: grid; grid-template-columns: 1fr 1.35fr; gap: 22px; align-items: start; }
.ct-card { padding: 22px; margin-bottom: 20px; background: rgba(18, 18, 28, 0.95); border: 1px solid var(--border-light); border-radius: 16px; box-shadow: 0 8px 24px rgba(0,0,0,0.4); }
.ct-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.ct-card-icon { width: 40px; height: 40px; border-radius: 10px; background: rgba(245, 158, 11, 0.15); color: var(--accent-gold); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; border: 1px solid rgba(245, 158, 11, 0.3); }
.ct-card-header h3 { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 800; color: #ffffff; margin: 0; }
.ct-card-header small { color: var(--text-muted); font-size: 0.78rem; display: block; }
.professor-profile-body { text-align: center; }
.professor-photo-frame { width: 130px; height: 130px; margin: 0 auto 14px; border-radius: 50%; padding: 3px; background: linear-gradient(135deg, var(--accent-gold), #ef4444); box-shadow: 0 6px 22px rgba(245, 158, 11, 0.4); overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.professor-photo-frame:hover { transform: scale(1.05); box-shadow: 0 8px 28px rgba(245, 158, 11, 0.55); }
.professor-portrait-img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.professor-avatar-badge { width: 70px; height: 70px; margin: 0 auto 12px; border-radius: 50%; background: linear-gradient(135deg, rgba(239,68,68,0.2), rgba(245,158,11,0.2)); border: 2px solid var(--accent-gold); display: flex; align-items: center; justify-content: center; font-size: 2.2rem; box-shadow: 0 0 15px rgba(245,158,11,0.25); }
.professor-avatar-img { height: 95px; width: auto; max-width: 140px; margin: 0 auto 12px; object-fit: contain; filter: drop-shadow(0 4px 10px rgba(0,0,0,0.6)); }
.professor-name { font-family: var(--font-heading); font-size: 1.4rem; font-weight: 800; color: #ffffff; margin: 0 0 4px; }
.professor-title-badge { display: inline-block; padding: 4px 12px; background: rgba(34, 197, 94, 0.15); border: 1px solid rgba(74, 222, 128, 0.3); color: #4ade80; border-radius: 20px; font-size: 0.78rem; font-weight: 700; margin-bottom: 12px; }
.professor-bio { color: #cbd5e1; font-size: 0.9rem; line-height: 1.5; margin-bottom: 16px; }

/* PROFESSOR CARD QUICK ACTION ICONS & LABELS ROW */
.professor-actions-row { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.action-btn-item { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; transition: transform 0.25s ease; cursor: pointer; }
.action-btn-item:hover { transform: translateY(-3px); }
.action-btn-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 14px; border: 1px solid rgba(255,255,255,0.15); transition: box-shadow 0.25s ease, border-color 0.25s ease; }
.action-btn-item span { font-size: 0.75rem; font-weight: 700; color: #cbd5e1; letter-spacing: 0.02em; transition: color 0.2s ease; }
.action-btn-item:hover span { color: #ffffff; }

/* BRAND SPECIFIC COLORS & GLOWS */
.action-btn-item.btn-wa .action-btn-icon { background: linear-gradient(135deg, #25D366, #128C7E); color: #ffffff; border-color: rgba(37, 211, 102, 0.5); box-shadow: 0 4px 14px rgba(37, 211, 102, 0.35); }
.action-btn-item.btn-wa:hover .action-btn-icon { box-shadow: 0 6px 22px rgba(37, 211, 102, 0.6); }

.action-btn-item.btn-ig .action-btn-icon { background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); color: #ffffff; border-color: rgba(220, 39, 67, 0.5); box-shadow: 0 4px 14px rgba(220, 39, 67, 0.35); }
.action-btn-item.btn-ig:hover .action-btn-icon { box-shadow: 0 6px 22px rgba(220, 39, 67, 0.6); }

.action-btn-item.btn-maps .action-btn-icon { background: linear-gradient(135deg, #ea4335, #c5221f); color: #ffffff; border-color: rgba(234, 67, 53, 0.5); box-shadow: 0 4px 14px rgba(234, 67, 53, 0.35); }
.action-btn-item.btn-maps:hover .action-btn-icon { box-shadow: 0 6px 22px rgba(234, 67, 53, 0.6); }

.btn-whatsapp-inpage { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 20px; background: linear-gradient(135deg, #25D366 0%, #128C7E 100%); color: #ffffff !important; font-weight: 800; border-radius: 12px; border: 1px solid rgba(255, 255, 255, 0.25); box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35); text-decoration: none; transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease; text-align: left; }
.btn-whatsapp-inpage:hover { transform: translateY(-2px); box-shadow: 0 8px 26px rgba(37, 211, 102, 0.55); filter: brightness(1.08); }
.btn-whatsapp-inpage .wa-icon { font-size: 1.6rem; width: 26px; height: 26px; flex-shrink: 0; color: #ffffff; }
.btn-whatsapp-inpage strong { display: block; font-size: 0.95rem; line-height: 1.25; color: #ffffff; }
.btn-whatsapp-inpage small { display: block; font-size: 0.78rem; opacity: 0.9; color: #e2e8f0; margin-top: 2px; }

.contact-card-body .contact-text { color: #cbd5e1; font-size: 0.9rem; line-height: 1.5; margin-bottom: 16px; }
.location-card-body .location-address { color: #ffffff; font-size: 0.92rem; line-height: 1.5; margin-bottom: 10px; }
.location-card-body .location-desc { color: #94a3b8; font-size: 0.84rem; line-height: 1.45; margin-bottom: 14px; }
.modalities-pills-list { display: flex; flex-wrap: wrap; gap: 10px; }
.modality-pill { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; background: rgba(30, 41, 59, 0.8); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 20px; color: #ffffff; font-weight: 700; font-size: 0.88rem; }
@media (max-width: 768px) {
  .ct-compact-banner { grid-template-columns: 1fr; gap: 12px; text-align: center; padding: 16px 14px; }
  .ct-brand-side { flex-direction: row; gap: 10px; justify-content: center; }
  .ct-logo-img { height: 44px; }
  .ct-center-info .ct-title { font-size: 1.3rem; }
  .ct-grid-layout { grid-template-columns: 1fr; }
}

/* GESTÃO DE LOCAIS ADMIN STYLES */
.locais-admin-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; margin-top: 20px; }
.loc-admin-card { padding: 18px; border-radius: 14px; border: 1px solid var(--border-light); background: rgba(18, 18, 28, 0.95); transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease; }
.loc-admin-card:hover { transform: translateY(-3px); border-color: rgba(245, 158, 11, 0.35); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
.loc-admin-card.loc-inactive { opacity: 0.6; filter: grayscale(0.5); }
.loc-card-actions { display: flex; align-items: center; gap: 6px; }
.btn-icon-action { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; font-size: 0.75rem; font-weight: 700; border-radius: 6px; border: 1px solid rgba(255,255,255,0.12); cursor: pointer; transition: all 0.2s ease; background: rgba(255,255,255,0.06); color: #cbd5e1; }
.btn-icon-action.btn-edit-loc:hover { background: rgba(245, 158, 11, 0.2); border-color: rgba(245, 158, 11, 0.4); color: #ffffff; }
.btn-icon-action.btn-delete-loc:hover { background: rgba(239, 68, 68, 0.2); border-color: rgba(239, 68, 68, 0.4); color: #ef4444; }
.loc-name { font-family: var(--font-heading); font-size: 1.15rem; font-weight: 800; color: #ffffff; margin: 0 0 4px; }
.loc-address { font-size: 0.82rem; margin: 0 0 10px; display: flex; align-items: center; gap: 6px; }
.loc-prof-info { padding: 10px 12px; background: rgba(30, 41, 59, 0.6); border: 1px solid rgba(255, 255, 255, 0.06); border-radius: 8px; }
.link-view-page { font-size: 0.78rem; color: #60a5fa; text-decoration: none; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; }
.link-view-page:hover { text-decoration: underline; color: #93c5fd; }

/* SUB NAVIGATION TOGGLE BUTTONS (TURMAS & FILIAIS) */
.btn-sub-nav { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 10px; background: rgba(30, 41, 59, 0.7); border: 1px solid rgba(255, 255, 255, 0.12); color: #cbd5e1; font-weight: 700; font-size: 0.88rem; text-decoration: none; transition: all 0.25s ease; }
.btn-sub-nav:hover { background: rgba(51, 65, 85, 0.9); color: #ffffff; border-color: rgba(255, 255, 255, 0.25); transform: translateY(-1px); }
.btn-sub-nav.active { background: linear-gradient(135deg, var(--accent-gold), #d97706); color: #0f172a; border-color: var(--accent-gold); box-shadow: 0 0 14px rgba(245, 158, 11, 0.35); }

/* INTERACTIVE LIVE EDIT TEMPLATE STYLES */
.hidden-file-input { display: none !important; }
.interactive-upload-container { position: relative; cursor: pointer; transition: transform 0.2s ease, filter 0.2s ease; }
.interactive-upload-container:hover { transform: scale(1.03); }
.interactive-upload-container:hover .prof-portrait-square,
.interactive-upload-container:hover .prof-initials-square,
.interactive-upload-container:hover .ct-partner-img { filter: brightness(1.15); box-shadow: 0 0 14px rgba(245, 158, 11, 0.5); }

.upload-photo-overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.8); color: #f59e0b; font-size: 0.72rem; font-weight: 800; display: flex; align-items: center; justify-content: center; text-align: center; border-radius: 10px; opacity: 0; transition: opacity 0.2s ease; padding: 4px; border: 1.5px dashed var(--accent-gold); backdrop-filter: blur(2px); }
.interactive-upload-container:hover .upload-photo-overlay { opacity: 1; }

.ct-modalities-interactive-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.modality-toggle-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 20px; background: rgba(30, 41, 59, 0.8); border: 1px solid rgba(255, 255, 255, 0.12); color: #cbd5e1; font-weight: 700; font-size: 0.82rem; cursor: pointer; transition: all 0.2s ease; }
.modality-toggle-chip:hover { background: rgba(51, 65, 85, 0.9); color: #ffffff; border-color: rgba(245, 158, 11, 0.4); transform: translateY(-1px); }
.modality-toggle-chip.active { background: rgba(245, 158, 11, 0.2); border-color: var(--accent-gold); color: #fbbf24; box-shadow: 0 0 10px rgba(245, 158, 11, 0.25); }
.modality-toggle-chip.active .mod-icon { color: var(--accent-gold); }

/* LIVE INLINE INPUTS ON TEMPLATE CARD */
.live-input-group { display: flex; align-items: center; gap: 8px; background: rgba(30, 41, 59, 0.7); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 8px; padding: 6px 10px; transition: border-color 0.2s ease, box-shadow 0.2s ease; margin-bottom: 8px; }
.live-input-group:focus-within { border-color: var(--accent-gold); box-shadow: 0 0 8px rgba(245, 158, 11, 0.25); background: rgba(30, 41, 59, 0.95); }
.live-input-group i, .live-input-group svg { flex-shrink: 0; width: 15px; height: 15px; }

.live-input { background: transparent; border: none; outline: none; color: #ffffff; font-size: 0.82rem; font-weight: 600; width: 100%; }
.live-input::placeholder { color: #64748b; font-weight: 400; }

.live-textarea { background: rgba(30, 41, 59, 0.7); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 8px; padding: 8px 10px; color: #ffffff; font-size: 0.82rem; width: 100%; outline: none; resize: vertical; transition: border-color 0.2s ease; }
.live-textarea:focus { border-color: var(--accent-gold); box-shadow: 0 0 8px rgba(245, 158, 11, 0.25); background: rgba(30, 41, 59, 0.95); }
.live-textarea::placeholder { color: #64748b; }

/* DROPDOWN OPTGROUP STYLES */
select.filial-select-custom optgroup, select#filialSelectDropdown optgroup { font-weight: 800; color: #f59e0b; background: #0f172a; font-size: 0.85rem; padding: 8px 6px; }
select.filial-select-custom option, select#filialSelectDropdown option { font-weight: 600; color: #ffffff; background: #1e293b; padding: 6px 8px; }

/* INTERACTIVE SMART FILTER CARDS FOR GESTAO TURMAS */
.smart-metric-card-interactive {
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 16px;
  cursor: pointer;
  transition: all 0.25s ease;
  text-decoration: none !important;
  color: inherit !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.smart-metric-card-interactive:hover {
  transform: translateY(-3px);
  border-color: var(--accent-gold);
  box-shadow: 0 8px 24px rgba(245, 158, 11, 0.25);
  background: rgba(30, 41, 59, 0.95);
}
.smart-metric-card-interactive.active-modality-filter {
  border: 2px solid var(--accent-gold);
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.35);
  background: rgba(245, 158, 11, 0.12);
}
