/* Hoop Manager modern styles - improve visuals and responsiveness */
:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --muted:#6b7280;
  --accent:#071826; /* darker primary */
  --primary:#032a4a; /* tom de azul ainda mais escuro */
  --orange:#ff6a00;
    /* Orange palette: softer and warmer for nicer accents */
    --orange:#ff7a33;
    --orange-600:#ff6a00;
    --orange-100: #fff6f0;
  --radius:12px;
  --shadow: 0 8px 24px rgba(12,20,31,0.08);
  --glass: rgba(255,255,255,0.6);
}
html,body{height:100%;}
.body{background:var(--bg); color:var(--accent); font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; -webkit-font-smoothing:antialiased;}
/* Sidebar compact/expanded */
.nav-link{transition:background .15s ease, color .15s ease; display:flex; align-items:center; gap:12px;}
.nav-link .fa-fw{width:20px}
.logo img{border-radius:8px}
/* Top bar */
.top-bar{background:transparent; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.top-bar .breadcrumb h2{font-size:1.15rem; margin:0; color:var(--accent);}
.top-search{margin-left:10px}
#top-search-input{
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #e6eef9;
  background:linear-gradient(180deg,#ffffff,#f6f9ff);
  width:220px;
  transition:width .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow:0 6px 16px rgba(8,20,45,.06);
}
#top-search-input:focus{
  width:360px;
  outline:none;
  box-shadow:0 14px 32px rgba(3,42,74,0.10);
  border-color: var(--orange-600);
}
/* Buttons */
.btn{font-weight:600}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--orange)); color:#fff; box-shadow:0 10px 30px rgba(3,42,74,0.12);} 
.btn-accent{background:var(--orange); color:#fff; border-radius:10px; padding:8px 12px;}
.btn-accent{background:linear-gradient(180deg,var(--orange),var(--orange-600)); color:#fff; border-radius:10px; padding:8px 12px; box-shadow:0 8px 18px rgba(255,122,51,0.08);}
/* Cards */
.card{border-radius:var(--radius); box-shadow:var(--shadow);}
.content{padding:28px}
/* Responsive adjustments */
@media (max-width: 900px){
  /* Keep sidebar present so the header's off-canvas toggle works */
  .sidebar{display:block}
  .sidebar.collapsed{display:block}
  #top-search-input{width:140px}
}
@media (max-width: 520px){
  #top-search-input{display:none}
}
/* Modal tweaks */
.modal-panel{border-radius:12px}
.modal-header h3{font-size:1.05rem}
/* Improve roster table */
.roster-table td{padding:12px 8px}
.player-cell{display:flex; align-items:center; gap:0.75rem}
.avatar{width:48px; height:48px; border-radius:10px; background:rgba(3,42,74,0.10); color:var(--primary); display:flex; align-items:center; justify-content:center; font-weight:700}
.roster-summary{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px}
a.chip-team{text-decoration:none}
/* small helper */
.muted{color:var(--muted)}

/* Badges and chips with orange accent */
.badge{background: linear-gradient(90deg, rgba(255,106,0,0.12), rgba(21,101,192,0.06)); color:var(--accent); border-radius:999px; padding:6px 12px; font-weight:700}
.chip-team{background: linear-gradient(90deg, rgba(255,106,0,0.06), rgba(30,60,114,0.06)); color:var(--accent);}
.stat-card{border-left: 6px solid var(--orange-600)}
/* Temas por clube: badge com cor do clube */
.hm-team-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-weight:600;font-size:0.85em;color:#fff;border:1px solid rgba(0,0,0,.1)}
[data-theme="dark"] .hm-team-badge{color:rgba(255,255,255,.95);border-color:rgba(255,255,255,.2)}

/* Active nav highlight: use primary blue (no orange on separators) */
.nav-link.active{
  background: linear-gradient(90deg, rgba(21,101,192,0.08), rgba(21,101,192,0.03));
  box-shadow: none;
  border-left: 4px solid var(--primary);
  color: var(--orange-600);
  font-weight:700;
}

/* ========== Global visual refresh ========== */
body{line-height:1.5}
a{color:var(--primary);text-decoration:none}
a:hover{color:var(--orange-600)}

.page-header{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:1.25rem;
}
.page-title{
  margin:0 0 4px 0;
  font-size:1.65rem;
  font-weight:800;
  color:#0f172a;
  letter-spacing:-0.02em;
  line-height:1.2;
}
.page-subtitle{
  margin:0;
  font-size:.95rem;
  color:#64748b;
  line-height:1.45;
}

.card{border:1px solid rgba(15,23,42,.08)}
.card .card-body{padding:1.25rem 1.5rem}
.card .card-title{margin:0 0 6px 0;font-size:1.05rem;font-weight:800;color:#0f172a}
.card .card-subtitle{margin:0;color:#64748b}

.roster-table,
.table,
.table-like{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid #e8eef7;
  border-radius:12px;
  overflow:hidden;
}
.roster-table thead th,
.table thead th,
.table-like thead th{
  background:linear-gradient(180deg,#fbfdff,#f4f8ff);
  color:#64748b;
  font-weight:700;
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:12px 14px;
  border-bottom:1px solid #e8eef7;
}
.roster-table tbody td,
.table tbody td,
.table-like tbody td{padding:12px 14px;border-bottom:1px solid #eef2f7}
.roster-table tbody tr:last-child td,
.table tbody tr:last-child td,
.table-like tbody tr:last-child td{border-bottom:0}
.roster-table tbody tr:hover,
.table tbody tr:hover,
.table-like tbody tr:hover{background:#fafcff}
.table.table-sm thead th{font-size:.78rem;padding:10px 12px}
.table.table-sm td{padding:10px 12px}

.form-group label,
.form-label,
label{
  font-weight:700;
  color:#475569;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.flash-message{
  border-radius:12px;
  padding:10px 14px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  color:#0f172a;
  font-weight:600;
}
.flash-success{border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.08);color:#047857}
.flash-danger{border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.08);color:#b91c1c}
.flash-warning{border-color:rgba(245,158,11,.2);background:rgba(245,158,11,.08);color:#b45309}
.flash-info{border-color:rgba(59,130,246,.2);background:rgba(59,130,246,.08);color:#1d4ed8}

.empty-state{
  display:flex;
  align-items:center;
  gap:10px;
  background:#f6f8fd;
  border:1px dashed #cfd7e6;
  padding:12px 14px;
  border-radius:12px;
  color:#64748b;
  font-weight:600;
}

/* ========== Popups / modals ========== */
.modal,
.modal-card,
.modal-box{
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 30px 80px rgba(8,20,45,.12);
}
.modal-header,
.modal-card .modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid rgba(15,23,42,.06);
}
.modal-title,
.modal-header h2,
.modal-header h3{
  margin:0;
  font-size:1.1rem;
  font-weight:800;
  color:#0f172a;
}
.modal-body{padding:16px 18px;color:#475569}
.modal-footer,
.modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:12px 18px;
  border-top:1px solid rgba(15,23,42,.06);
}
.modal-close{
  width:34px;
  height:34px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f1f5f9;
  border:1px solid rgba(15,23,42,.06);
  color:#64748b;
}
.modal-close:hover{background:#eaf0f7;color:#0f172a}

/* ========== Key pages polish (global classes) ========== */
.page-actions,
.hm-actions-row,
.jogos-actions-row,
.stats-actions-row,
.calendario-actions,
.treinos-page .trainings-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
.roster-card{
  border:1px solid rgba(15,23,42,.08);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.roster-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border-bottom:1px solid #eef2f7;
  background:linear-gradient(180deg,#fbfdff,#f7faff);
}
.roster-head h3,
.roster-head h4{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  color:#0f172a;
}

.btn-outline{
  border-radius:10px;
  border:1px solid rgba(15,23,42,.12);
  background:#fff;
  color:#0f172a;
}
.btn-outline:hover{border-color:rgba(15,23,42,.25);background:#f8fafc}
/* Nav item separators */
.nav-menu .nav-item + .nav-item { border-top: 1px solid rgba(255,255,255,0.04); margin-top:6px; }

/* Slightly larger tappable areas for nav */
.nav-link{padding:10px 12px; border-radius:8px}

/* Hoop Manager modern styles - improve visuals and responsiveness */
:root{
  --bg:#f4f7fb;
  --card:#ffffff;
  --muted:#6b7280;
  --accent:#071826; /* darker primary */
  --primary:#032a4a; /* tom de azul ainda mais escuro */
  --orange:#ff7a33;
  --orange-600:#ff6a00;
  --orange-100:#fff6f0;
  --radius:12px;
  --shadow:0 16px 40px rgba(8,20,45,0.06);
  --shadow-sm:0 6px 18px rgba(12,20,31,0.06);
  --glass:rgba(255,255,255,0.6);
  --soft:#f2f7fb;
  --trans:cubic-bezier(.2,.9,.3,1);
}
[data-theme="dark"]{
  --bg:#0b1220;
  --card:#111827;
  --muted:#9ca3af;
  --accent:#e5e7eb;
  --primary:#1d4ed8;
  --orange:#f59e0b;
  --orange-600:#d97706;
  --orange-100:#1f2937;
  --shadow:0 16px 40px rgba(0,0,0,0.35);
  --shadow-sm:0 6px 18px rgba(0,0,0,0.3);
  --soft:#0f172a;
}
html,body{height:100%;}
body{background:var(--bg); color:var(--accent); font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; -webkit-font-smoothing:antialiased;}
/* Sidebar compact/expanded */
.nav-link{transition:background .18s var(--trans), color .18s var(--trans); display:flex; align-items:center; gap:12px;}
.nav-link .fa-fw{width:20px}
.logo img{border-radius:10px}
/* Top bar */
.top-bar{background:transparent; padding:14px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.top-bar .breadcrumb h2{font-size:1.15rem; margin:0; color:var(--accent);}
.top-search{margin-left:10px}
#top-search-input{
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #e6eef9;
  background:linear-gradient(180deg,#ffffff,#f6f9ff);
  width:220px;
  transition:width .18s var(--trans), box-shadow .18s var(--trans), border-color .18s var(--trans);
  box-shadow:0 6px 16px rgba(8,20,45,.06);
}
#top-search-input:focus{
  width:360px;
  outline:none;
  box-shadow:0 14px 32px rgba(3,42,74,0.10);
  border-color: var(--orange-600);
}
/* Buttons */
.btn{font-weight:600; border-radius:10px; padding:8px 12px}
.btn-primary{background:linear-gradient(90deg,var(--primary),var(--orange)); color:#fff; box-shadow:0 14px 40px rgba(3,42,74,0.08); border:0}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 22px 48px rgba(3,42,74,0.12)}
.btn-accent{background:linear-gradient(180deg,var(--orange),var(--orange-600)); color:#fff; border-radius:10px; padding:8px 12px; box-shadow:0 8px 18px rgba(255,122,51,0.08); border:0}
/* Cards */
.card{border-radius:var(--radius); box-shadow:var(--shadow); background:var(--card)}
.content{padding:28px}
.card:hover{transform:translateY(-4px); transition:transform .18s var(--trans), box-shadow .18s var(--trans)}
/* Responsive adjustments */
@media (max-width: 900px){
  /* Keep sidebar present so the header's off-canvas toggle works */
  .sidebar{display:block}
  .sidebar.collapsed{display:block}
  #top-search-input{width:140px}
}
@media (max-width: 520px){
  #top-search-input{display:none}
}
/* Modal tweaks */
.modal-panel{border-radius:12px}
.modal-header h3{font-size:1.05rem}
/* Improve roster table */
.roster-table td{padding:12px 8px}
.avatar{width:48px; height:48px; border-radius:12px}
/* small helper */
.muted{color:var(--muted)}

/* Badges and chips with orange accent */
.badge{background: linear-gradient(90deg, rgba(255,106,0,0.12), rgba(21,101,192,0.06)); color:var(--accent); border-radius:999px; padding:6px 12px; font-weight:700}
.chip-team{background: linear-gradient(90deg, rgba(255,106,0,0.06), rgba(30,60,114,0.06)); color:var(--accent);}
.stat-card{border-left: 6px solid var(--orange-600)}

/* Active nav highlight: use primary blue (no orange on separators) */
.nav-link.active{
  background: linear-gradient(90deg, rgba(21,101,192,0.08), rgba(21,101,192,0.03));
  box-shadow: none;
  border-left: 4px solid var(--primary);
  color: var(--orange-600);
  font-weight:700;
}

/* Nav item separators */
.nav-menu .nav-item + .nav-item { border-top: 1px solid rgba(255,255,255,0.04); margin-top:6px; }

/* Slightly larger tappable areas for nav */
.nav-link{padding:12px 14px; border-radius:10px}

/* Table header and hover improvements */
.roster-table thead th{background:linear-gradient(180deg,#fbfdff,#f3f7ff); color:var(--muted); font-weight:700; border-bottom:1px solid #e9f0ff}
.roster-table tbody tr{transition:transform .12s var(--trans), box-shadow .12s var(--trans), background .12s var(--trans)}
.roster-table tbody tr:hover{transform:translateY(-3px); box-shadow:0 10px 30px rgba(12,20,31,0.06); background: #fff}

/* Avatar hover ring */
.user-avatar:hover{box-shadow:0 12px 36px rgba(255,122,51,0.12); transform: translateY(-3px);} 

/* Accent for primary action links */
.accent-link{color:var(--orange-600); font-weight:600}

/* Smooth transitions */
.nav-link, .btn, .badge, .chip-team { transition: all .18s var(--trans); }

/* Form controls */
.form-control, input[type="text"], input[type="date"], input[type="time"], textarea, select{
  padding:10px 12px; border-radius:10px; border:1px solid #e9f0ff; background:linear-gradient(180deg,#fff,#fbfdff); color:var(--accent); box-shadow:inset 0 1px 0 rgba(255,255,255,0.6); transition:box-shadow .14s var(--trans), transform .14s var(--trans);
}
.form-control:focus, input:focus, textarea:focus, select:focus{outline:none; box-shadow:0 10px 28px rgba(3,42,74,0.06); transform:translateY(-1px); border-color:var(--orange-600)}

/* Melhorias para modais / pop-ups (mais suaves, sombreamento e backdrop) */
.modal-backdrop{
  position:fixed;
  inset:0;
  background: rgba(3,42,74,0.42);
  backdrop-filter: blur(4px);
  z-index:1040;
}
.modal-panel{
  background: linear-gradient(180deg,var(--card), #ffffff);
  border-radius:16px;
  box-shadow: 0 30px 80px rgba(8,20,45,0.10);
  padding:20px;
  max-width:820px;
  margin:56px auto;
  transform:translateY(8px);
  animation: modalShow .18s var(--trans) forwards;
}
@keyframes modalShow{from{opacity:0;transform:translateY(-10px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid rgba(3,42,74,0.04)}
.modal-close{background:transparent;border:0;color:var(--muted);font-size:1.05rem;padding:6px;border-radius:8px;cursor:pointer;transition:background .12s var(--trans)}
.modal-close:hover{background:rgba(3,42,74,0.04);color:var(--primary)}
.modal-body{padding:14px 0;color:var(--muted);max-height:64vh;overflow:auto}
.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding-top:12px;border-top:1px solid rgba(3,42,74,0.04)}
.modal--danger .btn-primary{background:linear-gradient(90deg,var(--orange),var(--orange-600));box-shadow:0 10px 28px rgba(255,122,51,0.08)}

.accent-focus:focus{outline:3px solid rgba(255,122,51,0.14);outline-offset:3px}

/* Modal scrollbar styling */
.modal-body::-webkit-scrollbar{height:8px;width:8px}
.modal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(3,42,74,0.08),rgba(3,42,74,0.14)); border-radius:8px}

/* Small helpers for app-like look */
.app-header{background:linear-gradient(180deg,rgba(255,255,255,0.6),rgba(255,255,255,0.4)); backdrop-filter: blur(6px); box-shadow:0 8px 24px rgba(8,20,45,0.04)}
.soft-card{background:linear-gradient(180deg,#ffffff,#fbfdff); border-radius:14px; box-shadow:var(--shadow-sm); padding:14px}

/* End of file */

/* Small layout helpers */
.tool-links{display:flex;flex-wrap:wrap;gap:8px}
.form-check-inline{display:flex;align-items:center;gap:.5rem}
.grid-2-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width: 900px){.grid-2-cols{grid-template-columns:1fr}}

/* Chat (mensagens internas) */
.chat-shell{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;min-height:520px}
@media (max-width: 900px){.chat-shell{grid-template-columns:1fr;min-height:auto}}
.chat-sidebar,.chat-main{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.chat-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:12px 12px;border-bottom:1px solid rgba(3,42,74,0.06)}
.chat-contact-list{max-height:560px;overflow:auto}
.chat-notice{padding:10px}
.chat-contact{width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;cursor:pointer;border-bottom:1px solid rgba(3,42,74,0.04)}
.chat-contact:hover{background:linear-gradient(180deg,#fff,#fbfdff)}
.chat-contact.active{background:linear-gradient(90deg, rgba(21,101,192,0.08), rgba(21,101,192,0.03));border-left:4px solid var(--primary)}
.chat-contact-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.chat-contact-name{font-weight:800;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-contact-sub{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-unread{background:linear-gradient(180deg,var(--orange),var(--orange-600));color:#fff;border-radius:999px;min-width:24px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:.78rem;padding:0 8px}

.chat-main{display:flex;flex-direction:column;position:relative}
.chat-main-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(3,42,74,0.06)}
.chat-title{font-weight:900}
.chat-messages{flex:1;padding:14px;overflow:auto;max-height:520px;background:linear-gradient(180deg,#f2f5fb,#ffffff)}
.chat-msg{display:flex;margin:6px 0}
.chat-msg.mine{justify-content:flex-end}
.chat-msg.theirs{justify-content:flex-start}
.chat-bubble{max-width:min(520px, 92%);padding:10px 13px;border-radius:18px;box-shadow:var(--shadow-sm);background:#fff;border:1px solid rgba(3,42,74,0.04)}
.chat-msg.mine .chat-bubble{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:rgba(34,197,94,0.65);color:#fff}
.chat-msg.mine .chat-text{color:#fff}
.chat-text{white-space:pre-wrap;word-break:break-word;color:var(--accent)}
.chat-meta{margin-top:4px;font-size:.75rem;opacity:.8;text-align:right}
.chat-compose{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid rgba(3,42,74,0.06);background:#f9fafb}
.chat-compose .form-control{flex:1;border-radius:999px;border:1px solid #d1d5db;padding:8px 12px;font-size:.95rem}
.chat-compose .form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 1px rgba(30,64,175,0.08)}
.chat-compose .btn{border-radius:999px;padding:0.55rem 1.1rem}
.chat-compose .btn[disabled]{opacity:.6;cursor:not-allowed}

/* Mensagens – refinamentos */
.mensagens-page .page-header{margin-bottom:1.25rem}
.mensagens-page .page-title{font-size:1.5rem;font-weight:800;color:var(--hm-text,#0f172a);letter-spacing:-0.02em}
.mensagens-page .page-subtitle{margin:4px 0 0;font-size:0.95rem;color:var(--muted,#64748b);line-height:1.4}
.mensagens-page .chat-shell{min-height:560px;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(8,28,45,.08);border:1px solid rgba(6,182,212,.1)}
.mensagens-page .chat-sidebar,.mensagens-page .chat-main{background:#fff;border-radius:0;box-shadow:none;border:none}
.mensagens-page .chat-sidebar{border-right:1px solid rgba(6,182,212,.1)}
.mensagens-page .chat-sidebar-head{padding:14px 16px;border-bottom:1px solid rgba(6,182,212,.12);background:linear-gradient(180deg,#fafcff,#fff)}
.mensagens-page .chat-contact-list{max-height:540px}
.mensagens-page .chat-contact{padding:12px 16px;border-bottom:1px solid rgba(6,182,212,.06);transition:background .15s ease}
.mensagens-page .chat-contact:hover{background:rgba(6,182,212,.04)}
.mensagens-page .chat-contact.active{background:rgba(6,182,212,.1);border-left:4px solid var(--brand-primary,#06b6d4)}
.mensagens-page .chat-contact-name{color:#0f172a;font-weight:700}
.mensagens-page .chat-unread{background:linear-gradient(135deg,var(--brand-primary,#06b6d4),#0891b2);color:#fff;border-radius:999px;min-width:22px;height:20px;font-size:.75rem;font-weight:700}
.mensagens-page .chat-main-head{padding:14px 16px;border-bottom:1px solid rgba(6,182,212,.12);background:linear-gradient(180deg,#fafcff,#fff)}
.mensagens-page .chat-title{font-size:1.1rem;font-weight:800;color:#0f172a}
.mensagens-page .chat-messages{background:linear-gradient(180deg,#f0f9ff,#fff);padding:16px;max-height:440px}
.mensagens-page .chat-bubble{padding:12px 16px;border-radius:16px;border:1px solid rgba(6,182,212,.1);background:#fff;box-shadow:0 1px 4px rgba(8,28,45,.06)}
.mensagens-page .chat-msg.mine .chat-bubble{background:linear-gradient(135deg,var(--brand-primary,#06b6d4),#0891b2);border-color:rgba(6,182,212,.4);color:#fff}
.mensagens-page .chat-text{color:inherit}
.mensagens-page .chat-msg.theirs .chat-text{color:#0f172a}
.mensagens-page .chat-compose{padding:14px 16px;border-top:1px solid rgba(6,182,212,.12);background:#fff}
.mensagens-page .chat-shell{background:#fff}
.mensagens-page .chat-contact.active{box-shadow:inset 3px 0 0 var(--brand-primary,#06b6d4)}
.mensagens-page .chat-contact{transition:background .15s ease,transform .12s ease}
.mensagens-page .chat-contact:hover{transform:translateY(-1px)}
.mensagens-page .chat-bubble{box-shadow:0 8px 18px rgba(8,28,45,.06)}
.mensagens-page .chat-compose .form-control:focus{border-color:var(--brand-primary-600,#0891b2);box-shadow:0 0 0 3px rgba(6,182,212,.2)}
.mensagens-page .chat-notice{padding:16px;text-align:center;color:#64748b}
.mensagens-page .mensagens-setup-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06)}
.mensagens-page .mensagens-setup-card .card-title{font-size:1.2rem;font-weight:800;color:#0f172a}
.mensagens-page .mensagens-setup-text{margin:0 0 1rem 0;color:#64748b;line-height:1.5}

/* Escalões – página */
.escaloes-page .escaloes-page-header{margin-bottom:1.25rem}
.escaloes-page .escaloes-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em}
.escaloes-page .escaloes-page-subtitle{margin:0;font-size:0.95rem;color:#64748b;line-height:1.4}
.escaloes-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem}
.escaloes-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.escaloes-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.escaloes-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.escaloes-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}
.escaloes-empty-card .card-body{padding:1.5rem;text-align:center}
.escaloes-empty-text{margin:0 0 1rem 0;color:#64748b}
.escaloes-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.escaloes-card .card-body,.escaloes-card-head{padding:1.25rem 1.5rem}
.escaloes-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.escaloes-equipa-name{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.escaloes-equipa-desc{margin:0;font-size:0.9rem}
.escaloes-badge{background:rgba(6,182,212,.15);color:#0891b2;padding:6px 12px;border-radius:10px;font-weight:700;font-size:0.85rem}
.escaloes-create-form{margin:0;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.08);background:#fafcff}
.escaloes-form-row{margin-bottom:12px}
.escaloes-form-label{display:block;font-weight:700;font-size:0.85rem;color:#334155;margin-bottom:6px}
.escaloes-form-inline{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.escaloes-input-num{width:100px}
.escaloes-select-variant{width:130px}
.escaloes-check-label{display:inline-flex;align-items:center;gap:8px;font-size:0.9rem;font-weight:500;cursor:pointer}
.escaloes-form-row-sm .escaloes-select-genero{max-width:180px}
.escaloes-form-row-ages{display:flex;gap:12px;flex-wrap:wrap}
.escaloes-form-group{display:flex;flex-direction:column;gap:4px}
.escaloes-form-group .form-control{width:100px}
.escaloes-btn-add{margin-top:8px}
.escaloes-filters{display:flex;flex-wrap:wrap;gap:8px;margin:1rem 1.5rem}
.escaloes-filter-btn{transition:background .15s ease,border-color .15s ease}
.escaloes-filter-btn:hover{background:rgba(6,182,212,.08);border-color:var(--brand-primary-600,#0891b2)}
.escaloes-empty-state{padding:2rem 1.5rem;text-align:center;color:#64748b;background:rgba(6,182,212,.03);border-top:1px solid rgba(6,182,212,.08)}
.escaloes-card .table-responsive{padding:0 1.5rem 1.5rem}
.escaloes-table thead th{background:rgba(6,182,212,.08);color:#0c4a6e;font-weight:700;padding:12px 14px}
.escaloes-table tbody td{padding:12px 14px}
.escaloes-table tbody tr:hover{background:rgba(6,182,212,.04)}
.escaloes-th-actions{width:260px;min-width:200px}
.escaloes-chip{display:inline-block;padding:4px 10px;border-radius:8px;font-size:0.8rem;font-weight:700}
.escaloes-chip-genero.escaloes-chip-m{background:rgba(59,130,246,.15);color:#1d4ed8}
.escaloes-chip-genero.escaloes-chip-f{background:rgba(236,72,153,.15);color:#be185d}
.escaloes-chip-genero.escaloes-chip-u{background:rgba(100,116,139,.12);color:#475569}
.escaloes-chip.ativo{background:rgba(5,150,105,.12);color:#047857}
.escaloes-chip.inativo{background:rgba(100,116,139,.12);color:#64748b}
.escaloes-row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.escaloes-inline-form{display:inline}
.escaloes-edit-inline{margin-top:12px;padding:12px;background:rgba(6,182,212,.05);border-radius:12px;border:1px solid rgba(6,182,212,.15)}
.escaloes-edit-form .escaloes-edit-inline-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.escaloes-edit-form .form-control{width:auto;min-width:80px}
@media (max-width:640px){.escaloes-form-inline{flex-direction:column;align-items:flex-start}.escaloes-edit-form .escaloes-edit-inline-row{flex-direction:column;align-items:flex-start}}

/* Presenças (QR modal) */
.qr-modal-box{max-width:420px}
.qr-modal-qr{display:flex;justify-content:center;padding:12px}
.qr-img{width:260px;height:260px;image-rendering:pixelated}
.qr-modal-link{text-align:center}

/* Jogos (higiene de estilos inline) */
.hm-callout{border-radius:12px;overflow:hidden}
.hm-callout-info{border-left:4px solid #2a5298}
.hm-callout-warn{border-left:4px solid #e67e22}
.hm-callout-text{margin:0.75rem 1rem}
.hm-callout-actions{margin:0.5rem 1rem 1rem}

.hm-actions-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.hm-actions-form{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.hm-inline-form{display:inline}

.hm-pager{justify-content:space-between;align-items:center;margin-top:12px;gap:12px;flex-wrap:wrap}
.hm-pager-actions{gap:8px}

.hm-field-hint{color:#c0392b}
.hm-score-row{display:flex;align-items:center;gap:8px}
.hm-score-input{width:90px}
.hm-score-dash{color:#6b7c92}

/* Small icon spacing helper */
.hm-icon-left{margin-right:.4rem}

/* ========== Estatísticas – página ========== */
.stats-page{min-width:0;max-width:100%}
.stats-page-header{margin-bottom:1.25rem}
.stats-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:var(--hm-text,#0f172a);letter-spacing:-0.02em;line-height:1.2}
.stats-page-subtitle{margin:0;font-size:0.95rem;color:var(--muted,#64748b);line-height:1.4}
.stats-page-container{margin-top:1rem;padding-bottom:2rem;width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.stats-actions-row{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:1rem;flex-wrap:wrap}
.stats-message{padding:12px 16px;border-radius:12px;font-weight:600;text-align:center;margin-bottom:1rem}
.stats-message-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}

.stats-page .hm-actions-gap{gap:.5rem}
.stats-page .hm-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.stats-page .hm-toggle-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#334155}
.stats-page .hm-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:10px;flex-wrap:wrap}
.stats-page .hm-inline-progress{display:flex;align-items:center;gap:8px}
.stats-page .hm-m0{margin:0}
.stats-page .hm-table-pad-right{padding-right:8px}
.stats-page .hm-diff-pos{color:#059669;font-weight:700}
.stats-page .hm-diff-neg{color:#dc2626;font-weight:700}

.stats-page .modal-body{padding:1.25rem}
.stats-page .modal-body .form-label{font-weight:600;color:#334155}
/* Filtros */
/* .row no hm-ui usa gap 0.6rem e align center — nas listagens de stats precisamos de wrap e espaçamento */
.stats-page .row:not(.g-3){display:flex;flex-wrap:wrap;align-items:stretch;gap:clamp(1rem,2.2vw,1.5rem);min-width:0}
.stats-page .row:not(.g-3) > [class*=col-]{flex:1 1 100%;min-width:0;box-sizing:border-box}
@media (min-width:992px){
  .stats-page .row:not(.g-3) > .col-lg-6{flex:1 1 calc(50% - clamp(0.45rem,1vw,0.65rem));max-width:calc(50% - clamp(0.45rem,1vw,0.65rem))}
}
.stats-page .filters-card{position:relative;z-index:3;background:linear-gradient(180deg,#fff,#f0f9ff);border:1px solid rgba(6,182,212,.15);border-radius:16px;padding:18px;box-shadow:0 2px 12px rgba(8,28,45,.06);margin-bottom:1.25rem;transition:box-shadow .2s ease,border-color .2s ease}
.stats-page .filters-card:focus-within{box-shadow:0 4px 20px rgba(6,182,212,.12);border-color:rgba(6,182,212,.3)}
.stats-page .filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));gap:clamp(12px,2vw,20px);align-items:end}
.stats-page .filter-item{display:flex;flex-direction:column;gap:8px;min-width:0}
.stats-page .filter-item.sm{min-width:0}
.stats-page .filter-label{font-weight:700;color:#0f172a;font-size:.82rem;display:flex;align-items:center;gap:6px}
.stats-page .filter-select{
  width:100%;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(6,182,212,.2);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  font-weight:600;
  transition:border-color .2s,box-shadow .2s;
  box-shadow:0 6px 14px rgba(8,20,45,.06);
  cursor:pointer;
  position:relative;
  z-index:1;
}
.stats-page .filter-select:hover{border-color:rgba(6,182,212,.35)}
.stats-page .filter-select:focus{
  outline:none;
  border-color:var(--brand-primary-600,#0891b2);
  box-shadow:0 0 0 3px rgba(6,182,212,.2);
}
.stats-page .filter-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;align-items:center;grid-column:1 / -1;padding-top:4px}
@media (max-width:992px){.stats-page .filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}}
@media (max-width:640px){.stats-page .filter-grid{grid-template-columns:1fr}}

/* KPI cards */
.stats-page .kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,2.2vw,22px);margin:1.25rem 0 1.5rem}
.stats-page .kpi-card{display:flex;align-items:center;gap:14px;background:linear-gradient(180deg,#fff,#fafcff);border:1px solid rgba(6,182,212,.12);border-radius:14px;padding:14px 16px;box-shadow:0 2px 10px rgba(8,28,45,.05);transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}
.stats-page .kpi-card:hover{border-color:rgba(6,182,212,.25);box-shadow:0 6px 20px rgba(6,182,212,.08)}
.stats-page .kpi-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:transform .15s ease}
.stats-page .kpi-card:hover .kpi-icon{transform:scale(1.05)}
.stats-page .kpi-icon{background:rgba(6,182,212,.1);color:var(--brand-primary-600,#0891b2)}
.stats-page .kpi-icon.kpi-ok{background:rgba(5,150,105,.12);color:#059669}
.stats-page .kpi-icon.kpi-warn{background:rgba(220,38,38,.1);color:#dc2626}
.stats-page .kpi-icon.kpi-info{background:rgba(6,182,212,.12);color:#0891b2}
.stats-page .kpi-icon.kpi-star{background:rgba(245,158,11,.15);color:#d97706}
.stats-page .kpi-icon.kpi-success{background:rgba(6,182,212,.12);color:#0d9488}
.stats-page .kpi-meta{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.stats-page .kpi-label{font-size:.78rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.stats-page .kpi-value{font-weight:800;font-size:1.35rem;color:#0f172a;font-variant-numeric:tabular-nums}
.stats-page .kpi-sub{font-size:.8rem;color:#64748b;margin-top:2px}
@media (max-width:1400px){.stats-page .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.stats-page .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats-page .kpi-card{padding:12px}.stats-page .kpi-icon{width:38px;height:38px;font-size:1rem}.stats-page .kpi-value{font-size:1.2rem}}

.stats-page .modal-body .row.g-3{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.stats-page .modal-body .col-md-6{grid-column:span 3}
.stats-page .modal-body .col-md-2{grid-column:span 1}
.stats-page .modal-body .col-12{grid-column:1 / -1}
@media (max-width:992px){.stats-page .modal-body .row.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-page .modal-body .col-md-6{grid-column:span 3}.stats-page .modal-body .col-md-2{grid-column:span 1}}
@media (max-width:640px){.stats-page .modal-body .row.g-3{grid-template-columns:repeat(1,minmax(0,1fr))}.stats-page .modal-body .col-md-6,.stats-page .modal-body .col-md-2,.stats-page .modal-body .col-12{grid-column:span 1}}

.stats-page .form-section{background:linear-gradient(180deg,#f8fcff,#f0f9ff);border:1px solid rgba(6,182,212,.12);border-radius:12px;padding:14px;margin-bottom:14px}
.stats-page .section-title{font-weight:700;font-size:.95rem;color:#0c4a6e;display:flex;align-items:center;gap:.5rem;margin-bottom:10px}
.stats-page .section-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
@media (max-width:992px){.stats-page .section-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.stats-page .section-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}

/* Listas com barras (Top Médias / Top Presenças) */
.stats-page .list-with-bars .list-group-item{padding:12px 14px;border-bottom:1px solid rgba(6,182,212,.06);transition:background .15s ease}
.stats-page .list-with-bars .list-group-item:last-child{border-bottom:none}
.stats-page .list-with-bars .list-group-item:hover{background:rgba(6,182,212,.03)}
.stats-page .list-with-bars .row-item{display:flex;align-items:center;gap:clamp(10px,1.8vw,18px);justify-content:space-between}
.stats-page .list-with-bars .rank{min-width:32px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:rgba(6,182,212,.12);color:var(--brand-primary-600,#0891b2);font-weight:800;font-size:.85rem;border-radius:8px}
.stats-page .list-with-bars .who{flex:1;color:#0f172a;font-weight:600;min-width:0;overflow-wrap:anywhere;padding-right:6px}
.stats-page .list-with-bars .val{color:#0f172a;font-variant-numeric:tabular-nums;font-weight:700}
.stats-page .list-with-bars .bar{background:rgba(6,182,212,.1);height:8px;border-radius:6px;overflow:hidden;margin-top:8px}
.stats-page .list-with-bars .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--brand-primary,#06b6d4),var(--brand-primary-600,#0891b2));border-radius:6px;transition:width .3s ease}
.stats-page .list-with-bars .bar-green span{background:linear-gradient(90deg,#059669,#047857)}

.stats-page .mini-bar{background:rgba(6,182,212,.12);width:100px;min-width:80px;height:10px;border-radius:6px;overflow:hidden}
.stats-page .mini-bar span{display:block;height:100%;background:var(--brand-primary-600,#0891b2);border-radius:6px;transition:width .3s ease}

/* Empty state e cards */
.stats-page .card{border:1px solid rgba(6,182,212,.1);border-radius:14px;box-shadow:0 2px 12px rgba(8,28,45,.05)}
.stats-page .card .card-body{padding:1.25rem}
.stats-page .card .card-title{font-size:1.05rem;font-weight:800;color:#0f172a;margin-bottom:0}
.stats-page .kpi-card{box-shadow:0 10px 24px rgba(8,28,45,.08)}
.stats-page .filters-card{background:linear-gradient(180deg,#fff,#f6fbff)}
.stats-page .roster-table tbody tr{transition:background .15s ease,transform .12s ease}
.stats-page .roster-table tbody tr:hover{transform:translateY(-1px)}
.stats-page .empty-state{color:#64748b;display:flex;align-items:center;justify-content:center;gap:10px;padding:2rem 1rem;background:rgba(6,182,212,.03);border-radius:12px;border:1px dashed rgba(6,182,212,.2)}
.stats-page .empty-state i{color:var(--brand-primary-600,#0891b2);font-size:1.25rem}
.stats-page .adv-fields{display:none}
.stats-page .adv-show .adv-fields{display:block}

/* Tabelas na página de estatísticas */
.stats-page .roster-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.stats-page .roster-table tbody tr:hover{background:rgba(6,182,212,.04)}
.stats-page .roster-table tbody td{padding:10px 14px}
.stats-page .table thead th{background:rgba(6,182,212,.08);color:#0c4a6e;font-weight:700;padding:10px 12px}
.stats-page .table tbody tr:hover{background:rgba(6,182,212,.04)}
@media (prefers-reduced-motion:reduce){.stats-page .kpi-card:hover,.stats-page .list-with-bars .bar span,.stats-page .mini-bar span{transition:none}}

/* Clubes (cartões de clube) */
.split-grid{display:grid;gap:16px;margin-top:16px}
@media (min-width: 960px){.split-grid{grid-template-columns:1fr 1fr;align-items:start}}
.split-grid.split-grid-single{grid-template-columns:1fr}

.team-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}
@media (min-width: 640px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width: 1024px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

.team-card{background:linear-gradient(180deg,var(--hm-bg,#fff),var(--hm-surface,#f7f9fb));border:1px solid rgba(16,40,80,0.08);border-radius:12px;padding:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.team-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.team-avatar{width:36px;height:36px;border-radius:10px;background:rgba(21,101,192,0.08);color:var(--hm-primary,#1565c0);display:flex;align-items:center;justify-content:center}
.team-name{flex:1;font-weight:800;font-size:1rem;border:none;background:transparent;padding:4px 6px}
.team-name:focus{outline:2px solid rgba(21,101,192,0.18);border-radius:8px}

.team-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.meta-item{display:flex;align-items:center;gap:8px;background:var(--hm-bg,#fff);border:1px solid rgba(16,40,80,0.08);border-radius:10px;padding:6px 8px}
.meta-input{flex:1;border:none;background:transparent}
.meta-input:focus{outline:none}
.meta-select{flex:1;border:none;background:transparent}

.team-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px;flex-wrap:wrap}
.team-sub{font-size:.85rem;margin-top:2px}
.team-summary{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 6px;padding:10px;border-radius:12px;background:rgba(15,23,42,.04);border:1px solid rgba(15,23,42,.06)}
.team-summary-item{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#0f172a;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:999px;padding:6px 12px}
.team-summary-item i{color:#0ea5e9}
.team-color-dot{width:10px;height:10px;border-radius:999px;display:inline-block;border:1px solid rgba(15,23,42,.2)}
.team-edit{margin-top:10px;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff}
.team-edit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.team-edit-title{font-size:1rem;margin:0;color:#0f172a}
.team-edit-sub{margin:2px 0 0;color:#64748b;font-size:.85rem}
.team-edit-hint{font-size:.75rem;color:#64748b;background:rgba(15,23,42,.06);padding:4px 8px;border-radius:999px}
.team-edit-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.team-edit-status{font-size:.75rem;color:#0f172a;background:rgba(14,165,233,.12);padding:4px 8px;border-radius:999px}
.team-card-form.is-dirty .team-edit-status{background:rgba(234,88,12,.15);color:#7c2d12}
.team-card-form.is-dirty .team-edit{border-color:rgba(234,88,12,.35);box-shadow:0 0 0 2px rgba(234,88,12,.08)}
.club-edit-modal {
  backdrop-filter: none;
}
/* Um único eixo de scroll: evita dois contentores com overflow (card + body) a “lutarem”
   e a barra a aparecer/desaparecer (lag visual a esticar o layout). */
.club-edit-modal .modal-card {
  animation: none;
  display: flex;
  flex-direction: column;
  max-height: min(88vh, 900px);
  overflow: hidden;
  /* Evita reflow em cadeia com o picker de cor / scroll (menos “esticar” e jank). */
  contain: layout style;
  min-width: 0;
  width: min(820px, 92vw);
  max-width: min(820px, 92vw);
}
.club-edit-modal .modal-header,
.club-edit-modal .modal-actions {
  flex-shrink: 0;
}
.club-edit-modal .modal-body {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
}
.team-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.team-edit-field{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:rgba(15,23,42,.02)}
.team-edit-label{font-size:.8rem;font-weight:600;color:#0f172a;display:flex;align-items:center;gap:6px}
.team-edit-input{border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:8px 10px;background:#fff}
.team-edit-color{width:100%;height:38px;border-radius:10px;border:1px solid rgba(15,23,42,.12);padding:2px;background:#fff}
.team-edit-file{width:100%}
.team-edit-help{font-size:.75rem;color:#64748b}
.team-edit-file-field{grid-column:1 / -1}
.team-logo-preview{display:flex;align-items:center;justify-content:flex-start;min-height:56px;border:1px dashed rgba(15,23,42,.15);border-radius:10px;padding:8px;background:#fff}
.team-logo-preview img{width:56px;height:56px;object-fit:contain}
.team-logo-empty{font-size:.8rem;color:#64748b}
.club-edit-toggle{margin:8px 0 4px;align-self:flex-start}
.club-edit-wrap{margin-top:6px}
.club-edit-wrap.is-open{display:block}
.club-edit-toggle{margin:8px 0 4px;align-self:flex-start}
.club-edit-wrap{margin-top:6px}
.club-edit-wrap.is-open{display:block}
.club-card{
  width:100%;
  margin:16px 0 10px;
  padding:20px 22px;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  color:#0f172a;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 12px 30px rgba(2,8,20,.08);
}
.club-card-head{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(245,158,11,.12);
  border:1px solid rgba(245,158,11,.3);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#b45309;
  font-weight:800;
}
.club-card-body{
  margin-top:14px;
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:16px 22px;
  align-items:start;
}
.club-card-logo{
  width:90px;
  height:90px;
  border-radius:18px;
  background:#f1f5ff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(30,64,175,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
}
.club-card-logo img{width:86%;height:86%;object-fit:contain}
.club-card-logo i{color:#64748b;font-size:30px}
.club-card-grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:12px 16px}
.club-card-item{
  background:#ffffff;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:12px 14px;
  min-height:68px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 6px 14px rgba(15,23,42,.06);
}
.club-card-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-weight:700}
.club-card-value{font-size:1rem;color:#0f172a;font-weight:700;margin-top:6px;word-break:break-word}
.club-card-item:hover{transform:translateY(-2px);box-shadow:0 10px 18px rgba(15,23,42,.1)}
.club-card-item{transition:transform .2s ease, box-shadow .2s ease}

@media (max-width: 1200px){
  .club-card-body{grid-template-columns:1fr}
  .club-card-logo{width:72px;height:72px}
  .club-card-grid{grid-template-columns:1fr}
}
.club-details-body{display:contents}
.club-detail{
  background:rgba(15,23,42,.55);
  border:1px solid rgba(148,163,184,.2);
  border-radius:12px;
  padding:10px 12px;
}
.club-detail-label{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;font-weight:700}
.club-detail-value{font-size:.95rem;color:#f8fafc;font-weight:700;margin-top:4px}
.club-detail-colors{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}
.club-detail-color{width:12px;height:12px;border-radius:999px;border:1px solid rgba(255,255,255,.35)}
.chat-meta{margin-top:6px;font-size:.75rem;color:var(--muted)}
.chat-compose{display:flex;gap:10px;align-items:center;padding:12px 14px;border-top:1px solid rgba(3,42,74,0.06);background:var(--card)}
.chat-compose .form-control{flex:1}
/* Lista equipa técnica (staff) */
.team-staff{margin-top:10px;padding:10px;border:1px solid rgba(6,182,212,.12);border-radius:12px;background:rgba(6,182,212,.03)}
.team-staff-title{font-weight:700;color:#0f172a;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.team-staff-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.team-staff-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#fff;border:1px solid rgba(6,182,212,.2);font-size:.8rem;font-weight:600;color:#0f172a}
.team-staff-empty{color:#64748b;font-size:.9rem;margin-bottom:6px}

/* Clube — detalhe único */
.team-single .roster-head{align-items:flex-start}
.team-single .roster-head h3{font-size:1.05rem}
.team-single .roster-head .muted{margin:4px 0 0}
.team-single .team-card{border:1px solid rgba(6,182,212,.12);box-shadow:0 2px 12px rgba(8,28,45,.06)}
.team-single .team-actions{justify-content:space-between}
.team-single .team-actions .muted{font-weight:600;color:#475569}

/* ========== Jogos page ========== */
.jogos-page{min-width:0;max-width:100%}
.jogos-page .jogos-callout{border-radius:14px;border:1px solid transparent;box-shadow:0 2px 12px rgba(8,28,45,.06);margin-bottom:1rem;overflow:hidden}
.jogos-page .jogos-callout-info{background:linear-gradient(180deg,#f0f9ff,#e0f2fe);border-color:rgba(6,182,212,.2)}
.jogos-page .jogos-callout-warn{background:linear-gradient(180deg,#fffbeb,#fef3c7);border-color:rgba(245,158,11,.25)}
.jogos-page .jogos-callout-head{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}
.jogos-page .jogos-callout-title{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}
.jogos-page .jogos-callout-text{margin:0 16px 12px;font-size:0.95rem;color:#475569;line-height:1.45}
.jogos-page .jogos-callout-actions{margin:0 16px 16px;display:flex;flex-wrap:wrap;gap:8px}

.jogos-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:clamp(14px,2vw,22px);margin-bottom:1.25rem;min-width:0}
.jogos-page .jogos-header-inner{min-width:0}
.jogos-page .jogos-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em;line-height:1.2}
.jogos-page .jogos-page-subtitle{margin:0;font-size:0.95rem;color:#64748b;line-height:1.4}
.jogos-page .jogos-actions-row{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.8vw,16px);min-width:0}
.jogos-page .jogos-actions-row select{padding:8px 12px;border-radius:10px;border:1px solid rgba(6,182,212,.2);background:#fff;font-weight:500}
.jogos-page .jogos-actions-row select:focus{outline:none;border-color:var(--brand-primary-600,#0891b2);box-shadow:0 0 0 2px rgba(6,182,212,.2)}
.jogos-filters-form{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,1.8vw,16px);min-width:0}
.jogos-filters-label{font-weight:700;font-size:.85rem;color:#475569;margin-right:4px}
.jogos-filter-item{display:inline-flex;align-items:center;gap:6px;font-size:.9rem}
.jogos-filter-item .jogos-filter-name{color:#64748b;font-weight:600;white-space:nowrap}
.jogos-filter-check span{margin-left:4px}
.jogos-filters-label{font-weight:600;font-size:.85rem;color:#475569;margin-right:6px;white-space:nowrap}

.jogos-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem}
.jogos-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.jogos-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.jogos-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.jogos-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}

.jogos-page .jogos-roster-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden;min-width:0}
.jogos-page .jogos-roster-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.jogos-page .jogos-roster-title{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.jogos-page .jogos-roster-badge{background:rgba(6,182,212,.15);color:#0891b2;padding:6px 12px;border-radius:10px;font-weight:700;font-size:0.85rem}
.jogos-page .j-agenda-list{display:flex;flex-direction:column;gap:12px;padding:0 1.25rem 1.5rem;max-width:100%}
.jogos-page .j-card{
  display:flex;align-items:stretch;flex-wrap:nowrap;position:relative;
  background:#fff;border-radius:14px;border:1px solid rgba(8,145,178,.14);
  box-shadow:0 2px 12px rgba(8,28,45,.05);overflow:hidden;min-width:0;
  transition:box-shadow .2s ease,border-color .2s ease,transform .12s ease;
}
.jogos-page .j-card:hover{box-shadow:0 8px 28px rgba(8,145,178,.1);border-color:rgba(8,145,178,.28);transform:translateY(-1px)}
.jogos-page .j-card__stripe{width:4px;flex-shrink:0;background:linear-gradient(180deg,#22d3ee,#0891b2)}
.jogos-page .j-card--today .j-card__stripe{background:linear-gradient(180deg,#fbbf24,#f59e0b)}
.jogos-page .j-card--soon .j-card__stripe{background:linear-gradient(180deg,#67e8f9,#06b6d4)}
.jogos-page .j-card--past{opacity:.92}
.jogos-page .j-card--past .j-card__stripe{background:linear-gradient(180deg,#cbd5e1,#94a3b8)}
.jogos-page .j-card__timeblock{
  width:76px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:.65rem .45rem;background:linear-gradient(180deg,#f0fdfa,#ecfeff);border-right:1px solid rgba(8,145,178,.12);
}
.jogos-page .j-card--today .j-card__timeblock{background:linear-gradient(180deg,#fffbeb,#fef3c7);border-right-color:#fde68a}
.jogos-page .j-card--past .j-card__timeblock{background:#f8fafc}
.jogos-page .j-card__date{font-size:.68rem;font-weight:800;color:#0e7490;text-transform:uppercase;letter-spacing:.04em;text-align:center;line-height:1.2}
.jogos-page .j-card--today .j-card__date{color:#b45309}
.jogos-page .j-card__time{font-size:.95rem;font-weight:800;color:#134e4a;margin-top:2px;text-align:center}
.jogos-page .j-card--today .j-card__time{color:#92400e}
.jogos-page .j-card__body{flex:1;min-width:0;padding:.7rem 1rem .85rem;display:flex;flex-direction:column;gap:.35rem}
.jogos-page .j-card__row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem 1rem}
.jogos-page .j-card__title{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a;line-height:1.25}
.jogos-page .j-card__vs{font-weight:700;color:#0891b2;margin-right:.25rem;font-size:.85rem;text-transform:lowercase}
.jogos-page .j-card__comp{font-size:.72rem;font-weight:700;color:#0c4a6e;background:rgba(6,182,212,.12);padding:3px 10px;border-radius:999px;max-width:100%}
.jogos-page .j-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;font-size:.8rem;color:#64748b}
.jogos-page .j-card__local{display:inline-flex;align-items:center;gap:4px;min-width:0}
.jogos-page .j-card__local i{color:#0891b2;font-size:.7rem}
.jogos-page .j-card__result .badge{font-size:.75rem}
.jogos-page .j-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.35rem;padding-top:.55rem;border-top:1px solid #f1f5f9}
.jogos-page .j-card__form{margin:0;display:inline}
.jogos-page .j-card__btn{
  display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .72rem;font-size:.76rem;font-weight:600;border-radius:9px;
  border:1px solid transparent;cursor:pointer;text-decoration:none;background:#fff;color:#0f172a;
  transition:background .15s ease,border-color .15s ease,transform .1s ease;
}
.jogos-page .j-card__btn--ghost{border-color:#e2e8f0;color:#334155}
.jogos-page .j-card__btn--ghost:hover{background:#f8fafc;border-color:#cbd5e1}
.jogos-page .j-card__btn--primary{background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-color:transparent}
.jogos-page .j-card__btn--primary:hover{filter:brightness(1.05)}
.jogos-page .j-card__btn--success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}
.jogos-page .j-card__btn--danger-outline{border-color:#fecaca;color:#b91c1c;background:#fff}
.jogos-page .j-card__btn--danger-outline:hover{background:#fef2f2}
.jogos-page .j-card__btn--danger{background:#dc2626;color:#fff;border-color:#dc2626}
.jogos-page .j-card__btn--danger:hover{filter:brightness(1.06)}
@media (max-width:640px){
  .jogos-page .j-card{flex-direction:column}
  .jogos-page .j-card__timeblock{width:100%;flex-direction:row;justify-content:space-between;align-items:center;border-right:0;border-bottom:1px solid rgba(8,145,178,.12)}
  .jogos-page .j-card__actions .j-card__btn{flex:1;min-width:0;justify-content:center}
}
.jogos-page .jogos-legend{margin:0 1.5rem 0.75rem;font-size:0.9rem}
.jogos-page .jogos-roster-card{background:linear-gradient(180deg,#fff,#fbfdff)}
.jogos-page .jogos-table tbody tr{transition:background .15s ease,transform .12s ease}
.jogos-page .jogos-table tbody tr:hover{transform:translateY(-1px)}
.jogos-page .badge-status{box-shadow:0 4px 10px rgba(15,23,42,.08)}
.jogos-page .table-responsive{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.jogos-page .jogos-table{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem);max-width:100%;table-layout:auto}
.jogos-page .jogos-table .td-actions{vertical-align:top}
.jogos-page .jogos-table .table-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}
.jogos-page .jogos-table .table-actions .btn,.jogos-page .jogos-table .table-actions .hm-inline-form{flex:0 1 auto}
.jogos-page .jogos-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.jogos-page .jogos-table tbody td{padding:10px 14px}
.jogos-page .jogos-table tbody tr:hover{background:rgba(6,182,212,.04)}
.jogos-page .jogos-table .row-today{background:rgba(6,182,212,.06)}
.jogos-page .jogos-table .row-soon{background:rgba(6,182,212,.03)}
.jogos-page .jogos-table .row-past{opacity:.85}
.jogos-page .badge-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:0.8rem;font-weight:700}
.jogos-page .badge-status.status-scheduled{background:rgba(59,130,246,.12);color:#1d4ed8}
.jogos-page .badge-status.status-done{background:rgba(5,150,105,.12);color:#047857}
.jogos-page .badge-status.status-canceled{background:rgba(100,116,139,.12);color:#475569}

.jogos-page .jogos-empty-state{padding:2.5rem 1.5rem;text-align:center;background:rgba(6,182,212,.03);border:1px dashed rgba(6,182,212,.2);border-radius:14px;margin:0 1.5rem 1.5rem}
.jogos-page .jogos-empty-state .empty-state-icon{font-size:2rem;color:var(--brand-primary-600,#0891b2);margin-bottom:12px;opacity:.9}
.jogos-page .jogos-empty-title{margin:0 0 8px 0;font-size:1.15rem;font-weight:800;color:#0f172a}
.jogos-page .jogos-empty-text{margin:0 0 1rem 0;color:#64748b;line-height:1.5}
.jogos-page .jogos-empty-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:1rem}

.jogos-page .hm-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1rem 1.5rem;border-top:1px solid rgba(6,182,212,.08)}
@media (max-width:768px){.jogos-page-header{flex-direction:column;align-items:stretch}.jogos-page .jogos-actions-row{justify-content:flex-start;flex-direction:column;align-items:stretch}.jogos-page .jogos-actions-row .hm-actions-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.jogos-page .jogos-actions-row .hm-actions-form select{flex:1;min-width:120px}.jogos-page .jogos-actions-row .btn{flex:1;min-width:0;justify-content:center}}
/* Jogos: tabela em cartões em mobile */
@media (max-width:720px){
  .jogos-page .table-responsive{overflow:visible}
  .jogos-page .jogos-table{margin:0 1rem 1rem;width:calc(100% - 2rem)}
  .jogos-page .jogos-table thead{display:none}
  .jogos-page .jogos-table,.jogos-page .jogos-table tbody,.jogos-page .jogos-table tr,.jogos-page .jogos-table td{display:block;width:100%}
  .jogos-page .jogos-table tr.jogo-row{margin-bottom:1rem;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.06);background:#fff;border:1px solid rgba(21,101,192,.08);overflow:hidden}
  .jogos-page .jogos-table td{padding:.6rem 1rem;border:none;border-bottom:1px solid #f0f2f5}
  .jogos-page .jogos-table td:last-child{border-bottom:none}
  .jogos-page .jogos-table td:before{content:attr(data-label);display:block;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.25rem}
  .jogos-page .jogos-table td[data-label="Data"],.jogos-page .jogos-table td[data-label="Adversário"]{background:#f8fafc;padding:.85rem 1rem}
  .jogos-page .jogos-table td[data-label="Data"]:before{display:none}
  .jogos-page .jogos-table td[data-label="Adversário"]:before{display:none}
  .jogos-page .jogos-table td[data-label="Data"]{font-size:1.1rem;font-weight:700;color:var(--primary,#1e3c72)}
  .jogos-page .jogos-table td[data-label="Adversário"]{font-size:1rem;font-weight:700;color:#0f172a}
  .jogos-page .jogos-table .table-actions{display:flex;flex-wrap:wrap;gap:.5rem}
  .jogos-page .jogos-table .table-actions .btn{flex:1;min-width:0;justify-content:center}
}

/* ========== Treinos page ========== */
/* Modal presenças: jogadores numa única coluna (mais fácil de marcar) */
#modal-presencas .presencas-jogadores-list{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-height:min(52vh,440px);
  overflow-y:auto;
  padding:4px 2px 8px;
  -webkit-overflow-scrolling:touch;
}
#modal-presencas .presencas-jogadores-list > .form-group{margin:0}
#modal-presencas .presencas-jogadores-list > .form-group > label{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:44px;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid rgba(15,23,42,.08);
  background:#f8fafc;
  cursor:pointer;
  width:100%;
  box-sizing:border-box;
}
#modal-presencas .presencas-jogadores-list > .form-group > label:hover{
  border-color:rgba(37,99,235,.22);
  background:#fff;
}

.treinos-page .treinos-callout{border-radius:14px;border:1px solid transparent;box-shadow:0 2px 12px rgba(8,28,45,.06);margin-bottom:1rem;overflow:hidden}
.treinos-page .treinos-callout-info{background:linear-gradient(180deg,#f0f9ff,#e0f2fe);border-color:rgba(6,182,212,.2)}
.treinos-page .treinos-callout-warn{background:linear-gradient(180deg,#fffbeb,#fef3c7);border-color:rgba(245,158,11,.25)}
.treinos-page .treinos-callout-head{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.06)}
.treinos-page .treinos-callout-title{margin:0;font-size:1.05rem;font-weight:800;color:#0f172a}
.treinos-page .treinos-callout-text{margin:0 16px 12px;font-size:0.95rem;color:#475569;line-height:1.45}
.treinos-page .treinos-callout-actions{margin:0 16px 16px;display:flex;flex-wrap:wrap;gap:8px}

.treinos-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.treinos-page .treinos-header-inner{min-width:0}
.treinos-page .treinos-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em;line-height:1.2}
.treinos-page .treinos-page-subtitle{margin:0;font-size:0.95rem;color:#64748b;line-height:1.4}
.treinos-page .treinos-toolbar-wrap{display:flex;flex-direction:column;align-items:stretch;min-width:0}
.treinos-page .trainings-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}
.treinos-page .toolbar-left,.treinos-page .toolbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.treinos-page .toolbar-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.treinos-page .toolbar-filters select,.treinos-page .control-select{
  padding:9px 12px;
  border-radius:10px;
  border:1px solid rgba(6,182,212,.2);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  font-weight:600;
  box-shadow:0 6px 14px rgba(8,20,45,.06);
  transition:border-color .2s,box-shadow .2s;
}
.treinos-page .toolbar-filters select:focus,.treinos-page .control-select:focus{
  outline:none;
  border-color:var(--brand-primary-600,#0891b2);
  box-shadow:0 0 0 3px rgba(6,182,212,.2);
}
.treinos-page .control-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:0.9rem;font-weight:500;cursor:pointer}
.treinos-page .toolbar-actions,.treinos-page .toolbar-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.treinos-page .treinos-ref-field{display:inline-flex;flex-direction:column;gap:4px;align-items:flex-start;min-width:0}
.treinos-page .treinos-ref-field__lbl{font-size:0.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}
.treinos-page input.treinos-ref-date{min-width:10.5rem;max-width:100%}

.treinos-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem}
.treinos-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.treinos-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.treinos-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.treinos-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}

.treinos-page .treinos-roster-card{border:0;border-radius:20px;box-shadow:0 8px 32px rgba(15,23,42,.06);overflow:visible;background:#fff;padding:0}
.treinos-page .treinos-roster-card .t-agenda-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.25rem 1.5rem;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
  color:#fff;
  border-radius:20px 20px 0 0;
}
.treino-proximo-callout{border-left:4px solid var(--primary,#1565c0);margin-bottom:1rem;background:linear-gradient(135deg,#f8fbff 0%,#fff 100%)}
.treino-proximo-callout__inner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px}
.treino-proximo-callout__label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary,#1565c0)}
.treino-proximo-callout__content{flex:1;min-width:0}
.treino-proximo-callout__content strong{display:block;margin-bottom:4px}
.treino-proximo-callout__meta{font-size:.9rem;color:#64748b}
.treino-proximo-callout__actions{display:flex;gap:8px;flex-shrink:0}
@media (max-width:640px){.treino-proximo-callout__inner{flex-direction:column;align-items:stretch}.treino-proximo-callout__actions{width:100%;justify-content:flex-start}}
.t-agenda-head__title{margin:0;font-size:1.35rem;font-weight:800;letter-spacing:-0.025em}
.t-agenda-head__desc{margin:0.2rem 0 0;font-size:0.85rem;opacity:.88}
.t-agenda-head__count{
  background:rgba(255,255,255,.12);color:#fff;
  padding:0.45rem 0.9rem;border-radius:10px;font-weight:700;font-size:0.85rem;
}
.t-agenda-body{padding:1.25rem 1.5rem 1.5rem}
.t-agenda-group{margin-bottom:1.5rem}
.t-agenda-group:last-child{margin-bottom:0}
.t-agenda-group__title{
  margin:0 0 0.5rem;font-size:0.8rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em;
  padding-bottom:0.4rem;border-bottom:1px solid #f1f5f9;
}
.t-agenda-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.5rem}
.t-agenda-list .t-card:nth-child(even){background:#fcfcfd}
.t-agenda-list .t-card:nth-child(even):hover{background:#fefefe}
.t-agenda-list .t-card--today:nth-child(even){background:#fffdfb}
.t-agenda-list .t-card--past:nth-child(even){background:#fafbfc}

/* —— Card de treino: compacto e fácil de ler —— */
.t-card{
  display:flex;align-items:stretch;gap:0;
  background:#fff;
  border-radius:12px;
  border:1px solid #e2e8f0;
  box-shadow:0 1px 3px rgba(15,23,42,.04);
  transition:box-shadow .2s ease,border-color .2s ease,background .2s ease;
  overflow:hidden;
}
.t-card:hover{
  box-shadow:0 4px 16px rgba(15,23,42,.06);
  border-color:#cbd5e1;
  background:#fefefe;
}
.t-card__date{
  width:70px;flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:0.65rem 0.4rem;
  background:#f8fafc;
  border-right:1px solid #e2e8f0;
}
.t-card__day{font-size:0.7rem;font-weight:800;color:#0f172a;line-height:1.2;display:block;letter-spacing:-0.02em}
.t-card__time{font-size:0.8rem;font-weight:700;color:#475569;margin-top:1px}
.t-card--today .t-card__date{background:linear-gradient(180deg,#fff7ed 0%,#ffedd5 100%);border-right-color:#fed7aa}
.t-card--today .t-card__day{color:#9a3412}
.t-card--today .t-card__time{color:#c2410c;font-weight:800}
.t-card--past{opacity:.9}
.t-card--past .t-card__date{background:#f8fafc}

.t-card__main{flex:1;min-width:0;padding:0.65rem 1rem 0.75rem;display:flex;flex-direction:column;gap:0.25rem}
.t-card__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.5rem 1rem}
.t-card__title{margin:0;font-size:1rem;font-weight:700;color:#0f172a;line-height:1.3}
.t-card__time-inline{font-size:0.85rem;font-weight:600;color:#64748b}
.t-card--today .t-card__time-inline{color:#c2410c}
.t-card__notes{margin:0;font-size:0.8rem;color:#94a3b8;line-height:1.35}
.t-card__plano{margin-top:4px}
.t-card__plano-label{display:block;font-size:0.65rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:#64748b;margin-bottom:2px}
.t-card__notes--plano{white-space:pre-wrap;word-break:break-word}
.t-card__notes--empty{font-style:italic;opacity:0.85}
.t-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem 0.6rem;font-size:0.8rem;color:#64748b}
.t-card__badge{
  padding:3px 8px;border-radius:999px;font-size:0.68rem;font-weight:700;
  background:#e0f2fe;color:#0369a1;
}
.t-card--today .t-card__badge{background:#ffedd5;color:#9a3412}
.t-card--soon .t-card__badge{background:#fef9c3;color:#854d0e}
.t-card--past .t-card__badge{background:#f1f5f9;color:#64748b}
.t-card__badge--fadiga-ok{background:#dcfce7!important;color:#166534!important}
.t-card__tipo{color:#64748b}
.t-card__tipo::after{content:"·";margin-left:0.5rem;color:#cbd5e1;font-weight:400}
.t-card__local{display:inline-flex;align-items:center;gap:3px;color:#64748b}
.t-card__local i{color:var(--primary);opacity:.8;font-size:0.65rem}
.t-card--agenda-day .t-card__time-inline{display:none}
.t-card--agenda-day .t-card__day{font-size:0.78rem;font-weight:800;color:#475569}
.t-card--agenda-day .t-card__time{font-size:1rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em}

.t-card__footer{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;
  margin-top:0.5rem;padding-top:0.5rem;border-top:1px solid #f1f5f9;
}
.t-card__presencas{display:flex;align-items:center;gap:0.5rem;min-width:0}
.t-card__progress{height:4px;border-radius:999px;background:#e2e8f0;overflow:hidden;width:80px;flex-shrink:0}
.t-card__progress-fill{height:100%;background:linear-gradient(90deg,var(--orange-600),var(--primary));border-radius:999px;transition:width .3s ease}
.t-card__presencas-count{font-size:0.8rem;font-weight:600;color:#475569;display:inline-flex;align-items:center;gap:4px}
.t-card__presencas-count i{color:var(--primary);font-size:0.7rem;opacity:.9}
.t-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.4rem}
.t-card__form{margin:0;display:inline-block}
.t-card__btn{
  padding:0.4rem 0.75rem;font-size:0.78rem;font-weight:600;border-radius:8px;
  border:none;cursor:pointer;transition:transform .1s ease,box-shadow .12s ease,background .12s ease;
}
.t-card__btn--primary{
  background:linear-gradient(135deg,var(--orange),var(--orange-600));
  color:#fff;
  box-shadow:0 1px 6px rgba(255,122,51,.2);
}
.t-card__btn--primary:hover{
  box-shadow:0 2px 10px rgba(255,122,51,.3);
  transform:translateY(-1px);
}
.t-card__btn--secondary{
  background:#fff;border:1px solid #e2e8f0;color:#475569;
}
.t-card__btn--secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a}
.t-card__btn--danger{background:#fff;border:1px solid #fecaca;color:#b91c1c}
.t-card__btn--danger:hover{background:#fef2f2;border-color:#f87171}

.t-agenda-empty{
  text-align:center;padding:2.5rem 1.5rem;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
  border-radius:0 0 20px 20px;
  border:2px dashed #cbd5e1;
}
.t-agenda-empty__icon{font-size:2.5rem;color:#94a3b8;margin-bottom:0.75rem}
.t-agenda-empty__title{margin:0 0 0.4rem;font-size:1.15rem;font-weight:700;color:#334155}
.t-agenda-empty__text{margin:0 0 1.25rem;font-size:0.9rem;color:#64748b;max-width:320px;margin-left:auto;margin-right:auto}
.t-agenda-empty .btn{padding:0.6rem 1.1rem;border-radius:10px}

@media (max-width:640px){
  .t-card{flex-direction:column}
  .t-card__date{width:100%;flex-direction:row;gap:0.5rem;padding:0.5rem 0.75rem;border-right:0;border-bottom:1px solid #e2e8f0}
  .t-card__main{padding:0.75rem 1rem}
  .t-card__footer{flex-direction:column;align-items:stretch;gap:0.5rem}
  .t-card__actions{justify-content:flex-start}
}
@media (max-width:768px){
  .treinos-page-header{flex-direction:column;align-items:stretch}
  .treinos-page .trainings-toolbar{flex-direction:column;align-items:stretch;gap:1rem}
  .treinos-page .toolbar-left,.treinos-page .toolbar-right{flex-direction:column;align-items:stretch;width:100%}
  .treinos-page .toolbar-filters{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;align-items:end}
  .treinos-page .toolbar-filters select.control-select{width:100%;min-width:0}
  .treinos-page .toolbar-filters .control-checkbox{grid-column:1/-1}
  .treinos-page .toolbar-filters button[type="submit"]{grid-column:1/-1;width:100%;justify-content:center}
  .treinos-page .toolbar-actions,.treinos-page .toolbar-links{display:flex;flex-wrap:wrap;gap:.5rem}
  .treinos-page .toolbar-actions .btn,.treinos-page .toolbar-links .btn{flex:1;min-width:0;justify-content:center}
}
@media (max-width:520px){
  .treinos-page .toolbar-filters{grid-template-columns:1fr}
}

/* ========== Jogadores page ========== */
.jogadores-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.jogadores-page .jogadores-header-inner{min-width:0}
.jogadores-page .jogadores-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em;line-height:1.2}
.jogadores-page .jogadores-page-subtitle{margin:0;font-size:0.95rem;color:#64748b;line-height:1.4}
.jogadores-page .jogadores-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.jogadores-page .jogadores-search{display:flex;align-items:center;gap:8px}
.jogadores-page .jogadores-search .form-control{
  min-width:220px;
  padding:9px 12px;
  border-radius:10px;
  border:1px solid rgba(6,182,212,.2);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 6px 14px rgba(8,20,45,.06);
}
.jogadores-page .jogadores-search .form-control:focus{
  outline:none;
  border-color:var(--brand-primary-600,#0891b2);
  box-shadow:0 0 0 3px rgba(6,182,212,.2);
}
.jogadores-page .jogadores-action-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

.jogadores-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem}
.jogadores-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.jogadores-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.jogadores-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.jogadores-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}

.jogadores-page .jogadores-roster-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.jogadores-page .jogadores-roster-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.jogadores-page .jogadores-roster-title{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.jogadores-page .jogadores-roster-subtitle{margin:0;font-size:0.9rem;color:#64748b}
.jogadores-page .jogadores-roster-badge{background:rgba(6,182,212,.15);color:#0891b2;padding:6px 12px;border-radius:10px;font-weight:700;font-size:0.85rem}
.jogadores-page .jogadores-table{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem)}
.jogadores-page .jogadores-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.jogadores-page .jogadores-table tbody td{padding:10px 14px}
.jogadores-page .jogadores-table tbody tr:hover{background:rgba(6,182,212,.04)}
.jogadores-page .player-cell-link{display:block;color:inherit;text-decoration:none}
.jogadores-page .player-cell-link:hover .player-cell{background:rgba(6,182,212,.06);border-radius:10px}
.jogadores-page .table-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.jogadores-page .table-actions form{margin:0}
.jogadores-page .jogadores-roster-card{background:linear-gradient(180deg,#fff,#fbfdff)}
.jogadores-page .jogadores-table tbody tr{transition:background .15s ease,transform .12s ease}
.jogadores-page .jogadores-table tbody tr:hover{transform:translateY(-1px)}
.jogadores-page .table-actions .btn{box-shadow:0 6px 14px rgba(8,20,45,.06)}

.jogadores-page .jogadores-empty-state{padding:2.5rem 1.5rem;text-align:center;background:rgba(6,182,212,.03);border:1px dashed rgba(6,182,212,.2);border-radius:14px;margin:0 1.5rem 1.5rem}
.jogadores-page .jogadores-empty-state .empty-state-icon{font-size:2rem;color:var(--brand-primary-600,#0891b2);margin-bottom:12px;opacity:.9}
.jogadores-page .jogadores-empty-title{margin:0 0 8px 0;font-size:1.15rem;font-weight:800;color:#0f172a}
.jogadores-page .jogadores-empty-text{margin:0 0 1rem 0;color:#64748b;line-height:1.5}
.jogadores-page .jogadores-empty-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:1rem}

.jogadores-page .modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:1000}
.jogadores-page .modal-overlay.is-visible{display:flex}
.jogadores-page .modal-box{background:#fff;border-radius:16px;width:95%;max-width:620px;padding:28px 32px 24px;position:relative;box-shadow:0 24px 45px rgba(18,36,69,.35)}
.jogadores-page .modal-close{position:absolute;top:14px;right:18px;font-size:28px;cursor:pointer;color:#9aa3b9}
.jogadores-page .modal-close:hover{color:#1e3c72}
.jogadores-page .modal-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.jogadores-page .modal-header h3{margin:0;font-size:1.35rem}
.jogadores-page .modal-icon{width:48px;height:48px;border-radius:12px;background:rgba(6,182,212,.12);display:flex;align-items:center;justify-content:center;color:#0891b2;font-size:1.2rem}
.jogadores-page .modal-caption{margin:0;color:#6c7794;font-size:0.9rem}
.jogadores-page .modal-form label{font-weight:600;font-size:0.9rem;color:#3c4764}
.jogadores-page .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.jogadores-page .form-group{display:flex;flex-direction:column;gap:6px}
.jogadores-page .modal-form .form-control{border-radius:10px;padding:12px;border:1px solid #dfe4f0}
.jogadores-page .modal-form .form-control:focus{border-color:var(--brand-primary-600,#0891b2);box-shadow:0 0 0 3px rgba(6,182,212,.15)}
.jogadores-page .modal-actions{margin-top:22px;display:flex;justify-content:flex-end;gap:0.65rem}
@media (max-width:768px){.jogadores-page-header{flex-direction:column;align-items:stretch}.jogadores-page .jogadores-actions{flex-direction:column;align-items:stretch}.jogadores-page .jogadores-search{width:100%}.jogadores-page .jogadores-search .form-control{width:100%}}

/* ========== Épocas page ========== */
.epocas-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.epocas-page .epocas-header-inner{min-width:0}
.epocas-page .epocas-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em;line-height:1.2}
.epocas-page .epocas-page-subtitle{margin:0;font-size:0.95rem;color:#64748b;line-height:1.4}
.epocas-page .epocas-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

.epocas-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem}
.epocas-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.epocas-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.epocas-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.epocas-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}

.epocas-page .epocas-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden;margin-bottom:1.25rem}
.epocas-page .epocas-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.epocas-page .epocas-card-title{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.epocas-page .epocas-card-subtitle{margin:0;font-size:0.9rem;color:#64748b}
.epocas-page .epocas-badge{background:rgba(6,182,212,.15);color:#0891b2;padding:6px 12px;border-radius:10px;font-weight:700;font-size:0.85rem}
.epocas-page .epocas-table{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem)}
.epocas-page .epocas-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.epocas-page .epocas-table tbody td{padding:10px 14px}
.epocas-page .epocas-table tbody tr:hover{background:rgba(6,182,212,.04)}
.epocas-page .epocas-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:0.78rem;font-weight:700;background:rgba(100,116,139,.12);color:#475569}
.epocas-page .epocas-status.is-active{background:rgba(5,150,105,.12);color:#047857}
.epocas-page .epocas-inline-form{display:inline}
/* Modais de épocas: acima da sidebar / overlays comuns */
#modalEpocaAdd.modal.show,
#modalEpocaEdit.modal.show{z-index:10050}

.epocas-page .epocas-empty-state{padding:2.5rem 1.5rem;text-align:center;background:rgba(6,182,212,.03);border:1px dashed rgba(6,182,212,.2);border-radius:14px;margin:0 1.5rem 1.5rem}
.epocas-page .epocas-empty-title{margin:0 0 8px 0;font-size:1.15rem;font-weight:800;color:#0f172a}
.epocas-page .epocas-empty-text{margin:0 0 1rem 0;color:#64748b;line-height:1.5}
@media (max-width:768px){.epocas-page-header{flex-direction:column;align-items:stretch}}

/* ========== Calendário page ========== */
.calendario-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.calendario-page .calendario-header-inner{min-width:0}
.calendario-page .calendario-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em;line-height:1.2}
.calendario-page .calendario-page-subtitle{margin:0;font-size:0.95rem;color:#64748b;line-height:1.4}
.calendario-page .calendario-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.calendario-page #calendario-mes-ano{font-weight:700;min-width:140px;text-align:center;color:#0f172a}
.calendario-page .cal-label{font-weight:600;color:#475569}
.calendario-page .cal-select{min-width:140px;border-radius:10px;border:1px solid rgba(6,182,212,.2);padding:6px 10px;background:#fff}
.calendario-page .cal-select:focus{outline:none;border-color:var(--brand-primary-600,#0891b2);box-shadow:0 0 0 2px rgba(6,182,212,.2)}
.calendario-page .cal-check{display:flex;align-items:center;gap:.4rem;font-weight:600}
.calendario-page .cal-grid-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.calendario-page .cal-legend{padding:0 1.25rem 1.25rem;gap:10px}
.calendario-page .cal-legend-title{font-weight:700;color:#0f172a}
.calendario-page .cal-week-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.calendario-page .cal-week-head{padding:1rem 1.25rem;border-bottom:1px solid rgba(6,182,212,.08);background:linear-gradient(180deg,#fafcff,#fff)}
.calendario-page .cal-week-title{margin:0;font-weight:800;color:#0f172a}
.calendario-page .cal-week-list{padding:0 1.25rem 1.25rem}
@media (max-width:768px){
  .calendario-page-header{flex-direction:column;align-items:stretch}
  .calendario-page .calendario-actions{flex-direction:column;align-items:stretch;gap:.6rem}
  .calendario-page .calendario-actions .btn,.calendario-page .calendario-actions .cal-select{width:100%;min-width:0;justify-content:center}
  .calendario-page .calendario-actions > .btn:first-child,.calendario-page .calendario-actions > span,.calendario-page .calendario-actions > .btn:nth-child(3){display:flex;flex-direction:row;justify-content:space-between;align-items:center}
  .calendario-page .calendario-actions > .btn:first-child,.calendario-page .calendario-actions > .btn:nth-child(3){flex:0 0 auto;width:auto}
  .calendario-page #calendario-mes-ano{flex:1;text-align:center}
  .calendario-page .cal-legend{flex-direction:column;align-items:flex-start;gap:.5rem}
  .calendario-page .cal-leg-chip{display:inline-flex;align-items:center;gap:.4rem}
}
@media (max-width:480px){
  .calendario-page .calendario-page-title{font-size:1.3rem}
  .calendario-page .cal-legend{font-size:.85rem}
}

/* ========== Página equipa técnica (staff) ========== */
.equipa-tecnica-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.equipa-tecnica-page .equipa-tecnica-header-inner{min-width:0}
.equipa-tecnica-page .equipa-tecnica-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em}
.equipa-tecnica-page .equipa-tecnica-subtitle{margin:0;font-size:0.95rem;color:#64748b}
.equipa-tecnica-page .equipa-tecnica-actions{display:flex;align-items:center;gap:8px}
.equipa-tecnica-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem}
.equipa-tecnica-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.equipa-tecnica-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.equipa-tecnica-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.equipa-tecnica-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}
.equipa-tecnica-page .equipa-tecnica-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.equipa-tecnica-page .equipa-tecnica-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.equipa-tecnica-page .equipa-tecnica-card-title{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.equipa-tecnica-page .equipa-tecnica-card-subtitle{margin:0;font-size:0.9rem;color:#64748b}
.equipa-tecnica-page .equipa-tecnica-badge{background:rgba(6,182,212,.15);color:#0891b2;padding:6px 12px;border-radius:10px;font-weight:700;font-size:0.85rem}
.equipa-tecnica-page .equipa-tecnica-table{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem)}
.equipa-tecnica-page .equipa-tecnica-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.equipa-tecnica-page .equipa-tecnica-table tbody td{padding:10px 14px}
.equipa-tecnica-page .equipa-tecnica-table tbody tr:hover{background:rgba(6,182,212,.04)}
.equipa-tecnica-page .equipa-tecnica-empty{padding:2rem 1.5rem;text-align:center;background:rgba(6,182,212,.03);border:1px dashed rgba(6,182,212,.2);border-radius:14px;margin:0 1.5rem 1.5rem}
.equipa-tecnica-page .equipa-tecnica-empty-title{margin:0 0 8px 0;font-size:1.1rem;font-weight:800;color:#0f172a}
.equipa-tecnica-page .equipa-tecnica-empty-text{margin:0 0 1rem 0;color:#64748b}
.equipa-tecnica-page .equipa-tecnica-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.equipa-tecnica-page .equipa-tecnica-filters .form-control{
  padding:9px 12px;
  border-radius:10px;
  border:1px solid rgba(6,182,212,.2);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 6px 14px rgba(8,20,45,.06);
}
.equipa-tecnica-page .equipa-tecnica-filters .form-control:focus{
  outline:none;
  border-color:var(--brand-primary-600,#0891b2);
  box-shadow:0 0 0 3px rgba(6,182,212,.2);
}
@media (max-width:640px){.equipa-tecnica-page .equipa-tecnica-filters{width:100%}.equipa-tecnica-page .equipa-tecnica-filters .form-control{width:100%}.equipa-tecnica-page .equipa-tecnica-actions{flex-direction:column;align-items:stretch}}

/* ========== Utilizadores page ========== */
.utilizadores-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.utilizadores-page .utilizadores-header-inner{min-width:0}
.utilizadores-page .utilizadores-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em}
.utilizadores-page .utilizadores-subtitle{margin:0;font-size:0.95rem;color:#64748b}
.utilizadores-page .utilizadores-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.utilizadores-page .utilizadores-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.utilizadores-page .utilizadores-filters .form-control{
  padding:9px 12px;
  border-radius:10px;
  border:1px solid rgba(6,182,212,.2);
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:0 6px 14px rgba(8,20,45,.06);
}
.utilizadores-page .utilizadores-filters .form-control:focus{
  outline:none;
  border-color:var(--brand-primary-600,#0891b2);
  box-shadow:0 0 0 3px rgba(6,182,212,.2);
}
.utilizadores-flash{padding:12px 16px;border-radius:12px;font-weight:600;margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.utilizadores-flash .fas{font-size:1.1em;flex-shrink:0}
.utilizadores-flash-text{flex:1}
.utilizadores-flash-password-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.2);width:100%}
.utilizadores-flash-password{font-family:monospace;padding:6px 10px;background:rgba(0,0,0,.15);border-radius:8px;font-size:.9rem}
.utilizadores-flash-copy{margin-left:4px}
.utilizadores-empty-filters{padding:1.75rem 1.5rem}
.utilizadores-empty-filters .utilizadores-empty-title{font-size:1rem}
.utilizadores-flash-success{background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);color:#047857}
.utilizadores-flash-danger{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.25);color:#b91c1c}
.utilizadores-flash-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#b45309}
.utilizadores-flash-info{background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.25);color:#0e7490}
.utilizadores-page .utilizadores-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.utilizadores-page .utilizadores-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.utilizadores-page .utilizadores-card-title{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.utilizadores-page .utilizadores-card-subtitle{margin:0;font-size:0.9rem;color:#64748b}
.utilizadores-page .utilizadores-badge{background:rgba(6,182,212,.15);color:#0891b2;padding:6px 12px;border-radius:10px;font-weight:700;font-size:0.85rem}
.utilizadores-page .utilizadores-table{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem)}
.utilizadores-page .utilizadores-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.utilizadores-page .utilizadores-table tbody td{padding:10px 14px}
.utilizadores-page .utilizadores-table tbody tr:hover{background:rgba(6,182,212,.04)}
.utilizadores-page .utilizadores-empty{padding:2rem 1.5rem;text-align:center;background:rgba(6,182,212,.03);border:1px dashed rgba(6,182,212,.2);border-radius:14px;margin:0 1.5rem 1.5rem}
.utilizadores-page .utilizadores-empty-title{margin:0 0 8px 0;font-size:1.1rem;font-weight:800;color:#0f172a}
.utilizadores-page .utilizadores-empty-text{margin:0 0 1rem 0;color:#64748b}
.utilizadores-page .utilizadores-status{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:0.78rem;font-weight:700;background:rgba(100,116,139,.12);color:#475569}
.utilizadores-page .utilizadores-status.is-ok{background:rgba(5,150,105,.12);color:#047857}
.utilizadores-page .utilizadores-status.is-expired{background:rgba(220,38,38,.12);color:#b91c1c}
.utilizadores-page .utilizadores-inline-form{display:inline}
.utilizadores-row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.utilizadores-empty-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:1rem}
.utilizadores-modal-subtitle{margin:0 1rem 0.75rem;font-size:0.9rem;color:#64748b}
.utilizadores-page .utilizadores-modal-form{padding:0 1rem 1.25rem}
.utilizadores-page .utilizadores-modal-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.utilizadores-page .utilizadores-modal-form .form-group{display:flex;flex-direction:column;gap:4px}
.utilizadores-page .utilizadores-modal-form .form-group label{font-weight:600;font-size:0.9rem;color:#334155}
.utilizadores-page .utilizadores-modal-form .form-group .form-control,.utilizadores-page .utilizadores-modal-form .form-group input[type="text"],.utilizadores-page .utilizadores-modal-form .form-group input[type="email"],.utilizadores-page .utilizadores-modal-form .form-group input[type="password"],.utilizadores-page .utilizadores-modal-form .form-group select{padding:9px 12px;border-radius:10px;border:1px solid rgba(6,182,212,.25)}
.utilizadores-page .utilizadores-modal-form .form-hint{font-size:0.8rem;color:#64748b;margin-top:2px}
.utilizadores-page .utilizadores-modal-form .form-group-checkbox{flex-direction:row;align-items:center}
.utilizadores-page .utilizadores-modal-form .form-group-checkbox label{font-weight:500}
.utilizadores-page .utilizadores-modal-form .form-actions{margin-top:1rem;padding-top:12px;border-top:1px solid rgba(6,182,212,.1)}
@media (max-width:640px){.utilizadores-page .utilizadores-filters{width:100%}.utilizadores-page .utilizadores-filters .form-control{width:100%}.utilizadores-page .utilizadores-actions{flex-direction:column;align-items:stretch}.utilizadores-row-actions{flex-direction:column;align-items:flex-start}}

/* ========== Gestão do Espaco page ========== */
.espaco-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.espaco-page .espaco-header-inner{min-width:0}
.espaco-page .espaco-page-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em}
.espaco-page .espaco-page-subtitle{margin:0;font-size:0.95rem;color:#64748b}
.espaco-page .espaco-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:0.9rem;color:#475569}
.espaco-page .espaco-section{margin-bottom:1.5rem}
.espaco-page .espaco-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.espaco-page .espaco-card-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.espaco-page .espaco-card-title{margin:0 0 4px 0;font-size:1.2rem;font-weight:800;color:#0f172a}
.espaco-page .espaco-card-subtitle{margin:0;font-size:0.9rem;color:#64748b}
.espaco-page .espaco-form{padding:1.25rem 1.5rem}
.espaco-page .espaco-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.espaco-page .espaco-form .form-group{display:flex;flex-direction:column;gap:6px}
.espaco-page .espaco-form .form-control{padding:10px 12px;border-radius:10px;border:1px solid rgba(6,182,212,.2)}
.espaco-page .espaco-form .form-control:focus{outline:none;border-color:var(--brand-primary-600,#0891b2);box-shadow:0 0 0 2px rgba(6,182,212,.2)}
.espaco-page .espaco-form-hint{font-size:0.85rem;color:#64748b;margin-top:6px}
.espaco-page .form-actions{padding:0 1.5rem 1.25rem}
.espaco-page .espaco-result{padding:0 1.5rem 1.25rem}
.espaco-page .espaco-table{margin:0 1.5rem 1.5rem;width:calc(100% - 3rem)}
.espaco-page .espaco-table thead th{background:linear-gradient(180deg,rgba(6,182,212,.08),rgba(6,182,212,.04));color:#0c4a6e;font-weight:700;font-size:.85rem;padding:12px 14px;border-bottom:2px solid rgba(6,182,212,.2)}
.espaco-page .espaco-table tbody td{padding:10px 14px}
.espaco-page .espaco-table tbody tr:hover{background:rgba(6,182,212,.04)}
.espaco-page .espaco-empty{padding:2rem 1.5rem;text-align:center;background:rgba(6,182,212,.03);border:1px dashed rgba(6,182,212,.2);border-radius:14px;margin:1.25rem 1.5rem}
.espaco-page .espaco-empty-title{margin:0 0 8px 0;font-size:1.1rem;font-weight:800;color:#0f172a}
.espaco-page .espaco-empty-text{margin:0;color:#64748b}
.espaco-page .espaco-resumo .espaco-card-title{margin-bottom:12px}
.espaco-resumo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;padding:0 1.5rem 1.25rem}
.espaco-resumo-item{text-align:center;padding:12px;background:rgba(6,182,212,.06);border-radius:12px}
.espaco-resumo-num{display:block;font-size:1.75rem;font-weight:800;color:var(--brand-primary-600,#0891b2)}
.espaco-resumo-label{font-size:.85rem;color:#64748b}
.espaco-page .espaco-actions-cell{white-space:nowrap}
.espaco-page .espaco-actions-cell .btn{margin:0 4px 4px 0}
.espaco-filter-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ========== Mobile tables ========== */
@media (max-width:720px){
  .utilizadores-page .utilizadores-table thead{display:none}
  .utilizadores-page .utilizadores-table,.utilizadores-page .utilizadores-table tbody,.utilizadores-page .utilizadores-table tr,.utilizadores-page .utilizadores-table td{display:block;width:100%}
  .utilizadores-page .utilizadores-table tr.utilizador-row{margin-bottom:1rem;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.06);background:#fff;border:1px solid rgba(21,101,192,.08);overflow:hidden}
  .utilizadores-page .utilizadores-table td{padding:.6rem 1rem;border:none;border-bottom:1px solid #f0f2f5}
  .utilizadores-page .utilizadores-table td:last-child{border-bottom:none}
  .utilizadores-page .utilizadores-table td:before{content:attr(data-label);display:block;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.25rem}
  .utilizadores-page .utilizadores-table td[data-label="Nome"]{background:#f8fafc;padding:.85rem 1rem;font-size:1rem;font-weight:700;color:var(--primary,#1e3c72)}
  .utilizadores-page .utilizadores-table td[data-label="Nome"]:before{display:none}
  .utilizadores-page .utilizadores-table .utilizadores-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}
  .utilizadores-page .utilizadores-table .utilizadores-row-actions .btn{flex:1;min-width:0;justify-content:center}
}
@media (max-width:640px){
  .equipa-tecnica-table thead,
  .espaco-table thead{display:none}
  .equipa-tecnica-table,
  .espaco-table{display:block;width:100%}
  .equipa-tecnica-table tbody,
  .espaco-table tbody{display:block}
  .equipa-tecnica-table tr,
  .espaco-table tr{display:block;border:1px solid rgba(6,182,212,.12);border-radius:12px;padding:10px;margin:0 1.5rem 12px;background:#fff}
  .equipa-tecnica-table td,
  .espaco-table td{display:flex;justify-content:space-between;gap:10px;padding:6px 0}
  .equipa-tecnica-table td::before,
  .espaco-table td::before{content:attr(data-label);font-weight:700;color:#475569}
}

/* ========== Mobile: cartões de clubes ========== */
@media (max-width:640px){
  .team-grid{grid-template-columns:1fr}
  .team-card{padding:12px}
  .team-head{flex-direction:column;align-items:flex-start;gap:10px}
  .team-name{width:100%}
  .team-meta{grid-template-columns:1fr}
  .meta-item{width:100%}
  .team-edit-grid{grid-template-columns:1fr}
  .team-actions{flex-direction:column;align-items:stretch;gap:10px}
  .club-card-body{grid-template-columns:1fr}
  .club-card-logo{width:64px;height:64px}
  .club-card-grid{grid-template-columns:1fr}
  .team-actions .muted{width:100%}
  .team-actions .btn{width:100%}
  .team-actions .btn + .btn{margin-top:6px}
}

/* ========== Onboarding (dashboard) ========== */
.onboarding-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden;margin-top:12px}
.onboarding-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.08);background:linear-gradient(180deg,#fafcff,#fff)}
.onboarding-progress{
  margin-top:10px;
  height:10px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  border:1px solid rgba(15,23,42,.06);
  overflow:hidden;
  max-width:420px;
}
.onboarding-progress__bar{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(6,182,212,.95), rgba(255,122,51,.95));
  box-shadow:0 10px 30px rgba(6,182,212,.10);
}
.onboarding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:1rem 1.5rem 1.5rem}
.onboarding-step{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;border:1px solid rgba(6,182,212,.12);background:#fff}
.onboarding-step.is-done{border-color:rgba(5,150,105,.25);background:rgba(5,150,105,.05)}
.onboarding-badge{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(15,23,42,.06);color:#0f172a;border:1px solid rgba(15,23,42,.08)}
.onboarding-step.is-done .onboarding-badge{background:rgba(34,197,94,.14);color:#15803d;border-color:rgba(34,197,94,.22)}
.onboarding-ico{
  width:40px;height:40px;border-radius:14px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(6,182,212,.14);
  color:#0891b2;
  border:1px solid rgba(6,182,212,.18);
  flex-shrink:0;
  box-shadow:0 10px 26px rgba(8,20,45,.07);
}
.onboarding-step.is-done .onboarding-ico{background:rgba(34,197,94,.14);color:#15803d;border-color:rgba(34,197,94,.20)}
.onboarding-actions{margin-top:8px}
.onboarding-done{font-weight:700;color:#047857}

/* Dark mode */
[data-theme="dark"] .onboarding-head{background:linear-gradient(180deg,#1e293b,#0f172a);border-bottom-color:rgba(255,255,255,.08)}
[data-theme="dark"] .onboarding-card{border-color:rgba(56,189,248,.16);box-shadow:0 22px 60px rgba(0,0,0,.35)}
[data-theme="dark"] .onboarding-progress{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .onboarding-step{background:rgba(15,23,42,.35);border-color:rgba(255,255,255,.10)}
[data-theme="dark"] .onboarding-step.is-done{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.20)}
[data-theme="dark"] .onboarding-badge{background:rgba(255,255,255,.06);color:#e2e8f0;border-color:rgba(255,255,255,.10)}
[data-theme="dark"] .onboarding-ico{box-shadow:0 18px 50px rgba(0,0,0,.30)}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0 10px}
.stat-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  padding:14px 16px;
  box-shadow:0 8px 20px rgba(8,20,45,.06);
  position:relative;
  overflow:hidden;
}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px rgba(8,20,45,.1)}
.stat-number{display:block;font-size:1.5rem;font-weight:800;color:#0f172a}
.stat-label{display:block;margin-top:6px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b;font-weight:700}
.accent-edge{position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--orange),var(--primary));opacity:.7}
.quick-actions .btn-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:10px;
  font-weight:700;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(15,23,42,.12);
  color:#0f172a;
  box-shadow:0 6px 14px rgba(8,20,45,.06);
}
.quick-actions .btn-action.orange{background:linear-gradient(180deg,#fff7ed,#fff);border-color:rgba(245,158,11,.25);color:#b45309}
.quick-actions .btn-action.purple{background:linear-gradient(180deg,#f5f3ff,#fff);border-color:rgba(139,92,246,.25);color:#6d28d9}
.quick-actions .btn-action:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,20,45,.1)}
.dash-filters{background:linear-gradient(180deg,#fff,#f8fbff);padding:10px 12px;border:1px solid rgba(15,23,42,.08);border-radius:12px;box-shadow:var(--shadow-sm)}
.dash-filters label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#475569}
.dash-header-right{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.dash-quick-actions{display:flex;flex-wrap:wrap;gap:8px}
.dash-quick-actions .btn{white-space:nowrap}
.dash-alerts-card .card-header{margin-bottom:8px}
.dash-alerts-list{list-style:none;margin:0;padding:0 1rem 1rem}
.dash-alerts-list li{margin:8px 0;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.dash-alerts-list li:last-child{border-bottom:none}
.dash-alerts-list a{color:#0f172a;text-decoration:none;display:inline-block}
.dash-alerts-list a:hover{text-decoration:underline;color:var(--primary,#1565c0)}
.event-list{margin:0;padding:0}
.event-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 1rem;border-bottom:1px solid rgba(15,23,42,.06)}
.event-item:last-child{border-bottom:none}
.event-item .event-date{min-width:60px;text-align:center}
.event-item .event-date strong{display:block;font-size:1rem}
.event-item .event-date span{font-size:.85rem;color:#64748b}
.event-item .event-info{flex:1;min-width:0}
.event-item .event-info strong{display:block}
.event-item .event-info span{font-size:.9rem;color:#64748b}
.event-item .event-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.event-item--linked .event-actions{margin-left:auto}

/* ========== Mobile polish (global) ========== */
@media (max-width:768px){
  .content{padding:16px}
  .content-tight{padding:16px}
  .page-header,
  .page-header-actions,
  .stats-page-header,
  .jogos-page-header,
  .treinos-page-header,
  .calendario-page-header{flex-direction:column;align-items:stretch;gap:10px}
  .page-actions,
  .hm-actions-row,
  .jogos-actions-row,
  .stats-actions-row,
  .calendario-actions,
  .treinos-page .trainings-toolbar,
  .treinos-page .toolbar-left,
  .treinos-page .toolbar-right{justify-content:flex-start}
  .page-actions .btn,
  .hm-actions-row .btn,
  .jogos-actions-row .btn,
  .stats-actions-row .btn,
  .calendario-actions .btn,
  .treinos-page .toolbar-actions .btn{width:100%}
  .page-actions select,
  .hm-actions-row select,
  .jogos-actions-row select,
  .stats-actions-row select,
  .calendario-actions select,
  .treinos-page .toolbar-filters select{width:100%}
  .roster-head{flex-direction:column;align-items:flex-start;gap:8px}
  .roster-head p{margin-top:2px}
  .card{border-radius:14px}
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .dashboard-page .page-header-actions{flex-direction:column;align-items:stretch}
  .dashboard-page .dash-header-right{flex-direction:column;align-items:stretch}
  .dashboard-page .dash-quick-actions{width:100%;justify-content:flex-start}
  .dashboard-page .dash-quick-actions .btn{flex:1 1 auto;min-width:120px}
  .dashboard-page .dash-filters select{min-width:0;width:100%}
  .dashboard-page .onboarding-card .onboarding-grid{grid-template-columns:1fr;gap:10px}
  .dashboard-page .card{padding:1rem}
  .quick-actions{flex-wrap:wrap}
  .quick-actions .btn-action{flex:1 1 160px}
  .onboarding-grid{grid-template-columns:1fr}
  .dash-filters{flex-direction:column;align-items:stretch}
  .dash-filters .form-control{width:100%}
  .dash-filters .btn{width:100%}
  .event-item{flex-direction:column;align-items:stretch;text-align:left}
  .event-item .event-date{min-width:0;text-align:left}
  .event-item .event-actions{width:100%;margin-left:0;margin-top:8px}
}

@media (max-width:640px){
  .btn,
  .btn-outline,
  .btn-primary,
  .btn-danger{width:100%}
  .btn + .btn{margin-top:6px}
  .table-actions{flex-direction:column;align-items:stretch}
  .modal-card,
  .modal-box{width:95%;max-width:95%}
  .form-grid{grid-template-columns:1fr}
  .form-group .form-control{width:100%}
  .top-bar{padding:10px 12px}
  .top-bar .breadcrumb h2{font-size:1rem}
  .calendario-actions{gap:6px}
  .calendario-page .cal-select{width:100%}
  .calendario-page .cal-label{width:100%}
  .calendario-actions > *{flex:1 1 100%}
  #calendario-mes-ano{text-align:left}
  .stats-grid{grid-template-columns:1fr}
  .chat-shell{min-height:auto}
  .chat-messages{max-height:50vh}
  .chat-contact-list{max-height:50vh}
  .t-card{padding:12px}
  .t-card__actions .t-card__btn{width:100%}
  .roster-card{padding:16px}
}

/* ========== Max polish overrides (requested) ========== */
.dashboard-page .page-header,
.jogadores-page-header,
.treinos-page-header,
.jogos-page-header,
.stats-page-header,
.mensagens-page .page-header{padding-bottom:6px;border-bottom:1px solid rgba(15,23,42,.06)}

.dashboard-page .card,
.jogadores-page .jogadores-roster-card,
.treinos-page .treinos-roster-card,
.jogos-page .jogos-roster-card,
.stats-page .card,
.mensagens-page .chat-shell{
  box-shadow:0 16px 36px rgba(8,20,45,.08);
}

.stats-grid .stat-card{
  backdrop-filter:saturate(120%) blur(2px);
}
.stats-grid .stat-card .stat-number{letter-spacing:-0.01em}
.stats-grid .stat-card .stat-label{opacity:.9}

.quick-actions{gap:10px}
.quick-actions .btn-action{
  border-radius:12px;
  padding:10px 14px;
  font-size:.9rem;
}
.quick-actions .btn-action i{font-size:1rem}

.dash-filters{gap:10px;align-items:center}
.dash-filters .form-control{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 6px 14px rgba(8,20,45,.06);
  border:1px solid rgba(15,23,42,.08);
}
.dash-filters .btn{box-shadow:0 8px 18px rgba(8,20,45,.08)}

.jogadores-page .jogadores-table thead th,
.treinos-page .treinos-table thead th,
.jogos-page .jogos-table thead th,
.stats-page .roster-table thead th{
  letter-spacing:.06em;
  text-transform:uppercase;
}

.jogadores-page .table-actions .btn,
.treinos-page .t-card__btn,
.jogos-page .jogos-actions-row .btn,
.stats-page .stats-actions-row .btn{
  border-radius:10px;
  box-shadow:0 8px 18px rgba(8,20,45,.08);
}

.treinos-page .t-card{border-radius:14px}
.t-agenda-group__title{
  display:flex;
  align-items:center;
  gap:8px;
}
.t-agenda-group__title::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--orange-600),var(--primary));
}

.jogos-page .badge-status{padding:5px 12px;border-radius:999px}

.stats-page .filters-card{box-shadow:0 12px 26px rgba(8,28,45,.08)}
.stats-page .kpi-card{border-radius:16px}
.stats-page .kpi-value{letter-spacing:-0.01em}

.mensagens-page .chat-contact{
  border-radius:10px;
  margin:4px 8px;
}
.mensagens-page .chat-contact.active{
  background:linear-gradient(90deg, rgba(6,182,212,.18), rgba(6,182,212,.04));
}
.mensagens-page .chat-bubble{border-radius:18px}
.mensagens-page .chat-compose{box-shadow:0 -6px 16px rgba(8,20,45,.06)}

/* ========== Dropzone uploads ========== */
.hm-dropzone{
  border:1px dashed rgba(15,23,42,.2);
  border-radius:12px;
  padding:10px 12px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 6px 14px rgba(8,20,45,.06);
}
.hm-dropzone.is-dragover{
  border-color:var(--orange-600);
  box-shadow:0 0 0 3px rgba(255,122,51,.18);
}
.hm-dropzone-hint{
  font-size:.78rem;
  color:#64748b;
}
.hm-dropzone input[type="file"]{background:transparent;padding:6px 0}

/* ========== Notifications center ========== */
.notif-list{display:flex;flex-direction:column;gap:12px}

.notif-unread-hint{
  margin:0 0 12px;
  font-size:.9rem;
  color:#64748b;
  display:flex;
  align-items:center;
  gap:8px;
}
.notif-unread-hint i.fa-circle{color:var(--primary);font-size:.55rem;vertical-align:middle}

.notif-item{
  position:relative;
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:14px 14px;
  border:1px solid rgba(15,23,42,.08);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,#fbfdff);
  box-shadow:0 10px 26px rgba(8,20,45,.07);
  overflow:hidden;
}
.notif-item::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(600px 220px at 12% 0%, rgba(6,182,212,.08), transparent 55%);
  pointer-events:none;
  opacity:.9;
}
.notif-item > *{position:relative; z-index:1}

.notif-item.is-read{
  opacity:.78;
  filter:saturate(.95);
}

.notif-item--unread{
  border-left:4px solid var(--primary,#0891b2);
  background:linear-gradient(180deg, rgba(56,189,248,.08), #fff 80%);
}
.notif-item--unread .notif-title{font-weight:800}
.notif-item--unread::after{
  content:'';
  position:absolute;
  top:14px;
  right:14px;
  width:8px;height:8px;
  border-radius:999px;
  background:var(--primary,#0891b2);
  box-shadow:0 0 0 4px rgba(6,182,212,.14);
}

.notif-icon{
  width:40px;height:40px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(6,182,212,.14);
  color:#0891b2;
  flex-shrink:0;
  box-shadow:0 10px 22px rgba(8,20,45,.08);
}
.notif-icon i{font-size:1.05rem}

.notif-meta{min-width:0;flex:1}
.notif-title{
  margin:0;
  font-weight:800;
  color:#0f172a;
  letter-spacing:-0.01em;
  line-height:1.25;
}
.notif-text{
  margin:6px 0 0;
  color:#64748b;
  line-height:1.45;
}
.notif-time{
  font-size:.78rem;
  color:#94a3b8;
  margin-top:8px;
  display:flex;
  align-items:center;
  gap:6px;
}
.notif-time::before{
  content:'';
  width:14px;height:14px;
  border-radius:6px;
  background:rgba(148,163,184,.18);
  mask: radial-gradient(circle at 50% 50%, #000 56%, transparent 58%);
}

/* Icon colors by type (based on current mapping in notificacoes.php) */
.notif-item.notif--warning .notif-icon{ background:rgba(245,158,11,.14); color:#b45309; }
.notif-item.notif--success .notif-icon{ background:rgba(34,197,94,.14); color:#15803d; }
.notif-item.notif--tip .notif-icon{ background:rgba(168,85,247,.14); color:#6d28d9; }
.notif-item.notif--reminder .notif-icon{ background:rgba(59,130,246,.14); color:#1d4ed8; }
.notif-item.notif--danger .notif-icon{ background:rgba(239,68,68,.14); color:#b91c1c; }
.notif-item.notif--reminder.notif-item--unread{ border-left-color:#3b82f6; }
.notif-item.notif--danger.notif-item--unread{ border-left-color:#ef4444; }
.notif-actions{display:flex;gap:8px;margin-top:6px}
.notif-actions .btn-notif{font-size:.75rem;padding:2px 10px;border-radius:6px;border:1px solid rgba(0,0,0,.12);background:#fff;color:#64748b;cursor:pointer;transition:all .15s}
.notif-actions .btn-notif:hover{background:#f1f5f9;color:#0f172a}
.notif-date-group{font-size:.82rem;font-weight:700;color:#64748b;margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,.06)}
[data-theme="dark"] .notif-date-group{color:#94a3b8;border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .notif-actions .btn-notif{background:#1e293b;color:#94a3b8;border-color:rgba(255,255,255,.10)}
[data-theme="dark"] .notif-actions .btn-notif:hover{background:#334155;color:#e2e8f0}

/* Dark mode */
[data-theme="dark"] .notif-unread-hint{color:#94a3b8}
[data-theme="dark"] .notif-item{
  border-color:rgba(255,255,255,.10);
  background:linear-gradient(180deg,#1e293b,#0f172a);
  box-shadow:0 16px 40px rgba(0,0,0,.35);
}
[data-theme="dark"] .notif-item::before{
  background:radial-gradient(640px 240px at 12% 0%, rgba(56,189,248,.10), transparent 55%);
}
[data-theme="dark"] .notif-item--unread{
  background:linear-gradient(180deg, rgba(56,189,248,.12), #0f172a 85%);
}
[data-theme="dark"] .notif-title{color:#e2e8f0}
[data-theme="dark"] .notif-text{color:#94a3b8}
[data-theme="dark"] .notif-time{color:#94a3b8}
[data-theme="dark"] .notif-icon{box-shadow:0 14px 30px rgba(0,0,0,.30)}
.notif-link-wrap{margin-top:8px}

/* Pré-visualização no menu (hover) */
.hm-notif-flyout{
  display:none;
  position:absolute;
  left:0;
  top:100%;
  margin-top:6px;
  min-width:300px;
  max-width:min(360px, 92vw);
  max-height:70vh;
  overflow:auto;
  z-index:2000;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.10);
  background:#fff;
  box-shadow:0 18px 50px rgba(15,23,42,.18);
}
.hm-notif-flyout.is-visible{display:block}
.hm-notif-flyout__list{max-height:320px;overflow-y:auto;padding-top:6px}
.hm-notif-flyout__empty{padding:14px 16px;font-size:.9rem}
.hm-notif-flyout__row{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 14px;
  text-decoration:none;
  color:inherit;
  border-bottom:1px solid rgba(15,23,42,.06);
  transition:background .12s ease;
}
.hm-notif-flyout__row:last-of-type{border-bottom:none}
.hm-notif-flyout__row:hover{background:#f8fafc}
.hm-notif-flyout__ico{
  flex:0 0 auto;
  width:32px;height:32px;
  display:flex;align-items:center;justify-content:center;
  border-radius:10px;
  background:rgba(56,189,248,.12);
  color:#0891b2;
  font-size:.9rem;
}
.hm-notif-flyout__row--warning .hm-notif-flyout__ico{background:rgba(245,158,11,.14);color:#b45309}
.hm-notif-flyout__row--success .hm-notif-flyout__ico{background:rgba(34,197,94,.14);color:#15803d}
.hm-notif-flyout__row--tip .hm-notif-flyout__ico{background:rgba(168,85,247,.14);color:#6d28d9}
.hm-notif-flyout__row--danger .hm-notif-flyout__ico,.hm-notif-flyout__row--error .hm-notif-flyout__ico{background:rgba(239,68,68,.14);color:#b91c1c}
.hm-notif-flyout__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.hm-notif-flyout__txt strong{font-size:.88rem;color:#0f172a;font-weight:700}
.hm-notif-flyout__sub{font-size:.78rem;color:#64748b;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hm-notif-flyout__foot{
  display:block;
  padding:10px 14px;
  font-size:.85rem;
  font-weight:700;
  text-align:center;
  color:var(--primary,#0891b2);
  border-top:1px solid rgba(15,23,42,.08);
  text-decoration:none;
}
.hm-notif-flyout__foot:hover{background:#f0f9ff}
[data-theme="dark"] .hm-notif-flyout{background:#0f172a;border-color:rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.45)}
[data-theme="dark"] .hm-notif-flyout__row{border-color:rgba(255,255,255,.06)}
[data-theme="dark"] .hm-notif-flyout__row:hover{background:#1e293b}
[data-theme="dark"] .hm-notif-flyout__txt strong{color:#e2e8f0}
[data-theme="dark"] .hm-notif-flyout__sub{color:#94a3b8}
[data-theme="dark"] .hm-notif-flyout__foot{color:#38bdf8;border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .hm-notif-flyout__foot:hover{background:rgba(56,189,248,.08)}

/* Na sidebar, usar quase toda a largura para não cortar texto/ícones */
.sidebar .hm-notif-nav .hm-notif-flyout{
  left:10px;
  right:10px;
  min-width:0;
  max-width:none;
  width:auto;
}
.sidebar .hm-notif-nav .hm-notif-flyout__txt strong{
  font-size:.96rem;
  line-height:1.25;
}
.sidebar .hm-notif-nav .hm-notif-flyout__sub{
  font-size:.9rem;
  -webkit-line-clamp:3;
}

/* ========== Tasks page ========== */
.tasks-page-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.tasks-page .tasks-title{margin:0 0 4px 0;font-size:1.6rem;font-weight:800;color:#0f172a;letter-spacing:-0.02em}
.tasks-page .tasks-subtitle{margin:0;font-size:0.95rem;color:#64748b}
.tasks-card{border:1px solid rgba(6,182,212,.12);border-radius:16px;box-shadow:0 2px 16px rgba(8,28,45,.06);overflow:hidden}
.tasks-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(6,182,212,.1);background:linear-gradient(180deg,#fafcff,#fff)}
.task-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(6,182,212,.08)}
.task-row:last-child{border-bottom:none}
.task-title{margin:0;font-weight:700;color:#0f172a}
.task-desc{margin:4px 0 0;color:#64748b}
.task-meta{font-size:.78rem;color:#94a3b8;margin-top:6px}
.task-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.task-pill.low{background:rgba(59,130,246,.12);color:#1d4ed8}
.task-pill.med{background:rgba(245,158,11,.12);color:#b45309}
.task-pill.high{background:rgba(239,68,68,.12);color:#b91c1c}

.is-hidden{display:none !important}

/* ========== Final UX refinements ========== */
.content-tight{padding-top:14px}
.page-header{padding-bottom:8px}
.page-header .page-title{line-height:1.15}
.page-header .page-subtitle{max-width:860px}
.page-actions,
.hm-actions-row,
.stats-actions-row,
.jogos-actions-row,
.treinos-page .trainings-toolbar{gap:10px}

.card-header{
  padding:14px 16px;
  border-bottom:1px solid rgba(15,23,42,.06);
  background:linear-gradient(180deg,#fafcff,#fff);
}
.card-body{padding:16px}

.table-responsive{border-radius:12px}
.table-actions .btn{min-width:86px}

.form-grid{gap:14px}
.form-group label{margin-bottom:2px}
.form-control{min-height:40px}
.form-control:focus{box-shadow:0 0 0 3px rgba(3,42,74,.08)}

.badge, .chip-team, .chip{border-radius:999px}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid rgba(15,23,42,.1);background:#fff}

.empty-state{font-weight:600}
.empty-state i{opacity:.8}

.btn-sm{padding:6px 10px}
.btn-outline.btn-sm{border-width:1px}

@media (max-width:768px){
  .card-header{padding:12px 14px}
  .card-body{padding:14px}
  .page-header{gap:10px}
  .page-actions{width:100%}
  .page-actions .btn{width:100%}
}

/* ========== Page-by-page visual review tweaks ========== */
.dashboard-page .stats-grid{margin-top:12px}
.dashboard-page .stat-card{border:1px solid rgba(15,23,42,.08)}
.dashboard-page .dash-agenda-card .card-header{padding-bottom:6px}
.dashboard-page .dash-agenda-sub{margin:0;font-size:.85rem;color:#64748b;font-weight:500}
.dashboard-page .dash-agenda-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:4px 1rem 1.15rem;
}
@media (max-width:768px){
  .dashboard-page .dash-agenda-grid{grid-template-columns:1fr}
}
.dashboard-page .dash-agenda-tile{
  border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px 14px 14px;
  background:linear-gradient(180deg,#fafbfc,#fff);min-width:0;
}
.dashboard-page .dash-agenda-tile--training{border-top:3px solid #7c3aed}
.dashboard-page .dash-agenda-tile--game{border-top:3px solid #0891b2}
.dashboard-page .dash-agenda-tile__label{
  font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 10px;
  display:flex;align-items:center;gap:6px;
}
.dashboard-page .dash-agenda-tile--training .dash-agenda-tile__label{color:#6d28d9}
.dashboard-page .dash-agenda-tile--game .dash-agenda-tile__label{color:#0e7490}
.dashboard-page .dash-agenda-tile__when{font-size:.95rem;font-weight:800;color:#0f172a;margin:0 0 4px}
.dashboard-page .dash-agenda-tile__title{margin:0 0 6px;font-size:1rem;font-weight:700;color:#0f172a;line-height:1.3}
.dashboard-page .dash-agenda-tile__meta{margin:0;font-size:.85rem;color:#64748b;line-height:1.35}
.dashboard-page .dash-agenda-tile__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.dashboard-page .dash-agenda-empty{margin:4px 0 0;font-size:.85rem;color:#94a3b8}
.dashboard-page .quick-actions{gap:12px}

.jogadores-page .player-cell{padding:6px 8px;border-radius:10px}
.jogadores-page .table-actions{gap:6px}
.jogadores-page .table-actions .btn{white-space:nowrap}
.jogadores-page .table-actions--iconbar .btn{white-space:normal;min-width:0}
.jogadores-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.jogadores-filter-item{display:inline-flex;align-items:center;gap:6px}
.jogadores-filter-item .jogadores-filter-name{font-weight:600;color:#64748b;font-size:.9rem}
.jogadores-filter-item select{min-width:140px}

.treinos-page .t-card{border:1px solid #e2e8f0}
.t-card__title{font-weight:800}
.treinos-page .t-card__badge{border-radius:999px}

.jogos-page .badge-status{font-weight:700}
.jogos-page .jogos-table td{vertical-align:middle}

.stats-page .filters-card{border:1px solid rgba(6,182,212,.18)}
.stats-page .kpi-card{border:1px solid rgba(6,182,212,.12)}

.mensagens-page .chat-sidebar-head,
.mensagens-page .chat-main-head{padding:14px 16px}
.mensagens-page .chat-contact{padding:10px 12px}

/* ========== Professional usability polish (global) ========== */
*{scrollbar-color:rgba(15,23,42,.25) transparent}
*:focus-visible{outline:3px solid rgba(3,42,74,.18);outline-offset:2px}

.card{transition:transform .18s var(--trans), box-shadow .2s var(--trans)}
.card:hover{transform:translateY(-3px)}

.btn,
.btn-primary,
.btn-outline,
.btn-danger,
.btn-accent{
  transition:transform .18s var(--trans), box-shadow .2s var(--trans), background .2s var(--trans), border-color .2s var(--trans);
}
.btn:hover,
.btn-primary:hover,
.btn-outline:hover,
.btn-danger:hover,
.btn-accent:hover{transform:translateY(-1px)}
.btn:active,
.btn-primary:active,
.btn-outline:active,
.btn-danger:active,
.btn-accent:active{transform:translateY(0)}
.btn[disabled], .btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none}

.form-control::placeholder,
input::placeholder,
textarea::placeholder{color:#94a3b8}

.form-control:focus,
input:focus,
textarea:focus,
select:focus{box-shadow:0 0 0 3px rgba(3,42,74,.08)}

.table,
.roster-table,
.table-like{background:#fff}
.table tbody tr:nth-child(even),
.roster-table tbody tr:nth-child(even){background:#fcfdff}

.badge,
.chip-team{box-shadow:0 4px 10px rgba(8,20,45,.06)}

.page-header-actions .btn,
.page-actions .btn{box-shadow:0 8px 18px rgba(8,20,45,.08)}

.top-bar{border-bottom:1px solid rgba(15,23,42,.06)}
.sidebar{box-shadow:2px 0 18px rgba(8,20,45,.06)}

.modal,
.modal-panel,
.modal-card,
.modal-box{border:1px solid rgba(15,23,42,.08)}

/* ========== Final page-specific polish ========== */
.dashboard-page .page-subtitle,
.jogadores-page .jogadores-page-subtitle,
.treinos-page .treinos-page-subtitle,
.jogos-page .jogos-page-subtitle,
.stats-page-subtitle,
.mensagens-page .page-subtitle{max-width:820px}

.dashboard-page .card,
.jogadores-page .jogadores-roster-card,
.treinos-page .treinos-roster-card,
.jogos-page .jogos-roster-card,
.stats-page .card,
.mensagens-page .chat-shell{
  border-radius:18px;
}

.dashboard-page .card .card-header,
.stats-page .card .card-header{
  background:linear-gradient(180deg,#fafcff,#fff);
  border-bottom:1px solid rgba(15,23,42,.06);
  padding:14px 16px;
}

.jogadores-page .jogadores-roster-head,
.treinos-page .treinos-roster-head,
.jogos-page .jogos-roster-head{
  border-bottom:1px solid rgba(15,23,42,.06);
}

.jogadores-page .jogadores-table,
.treinos-page .treinos-table,
.jogos-page .jogos-table,
.stats-page .roster-table{border-radius:14px}

.jogadores-page .jogadores-table tbody td,
.treinos-page .treinos-table tbody td,
.jogos-page .jogos-table tbody td,
.stats-page .roster-table tbody td{vertical-align:middle}

.treinos-page .t-card,
.jogos-page .jogos-callout,
.treinos-page .treinos-callout{
  border-radius:16px;
}

.stats-page .filters-card{border-radius:18px}
.stats-page .kpi-grid{gap:16px}
.stats-page .kpi-card{padding:16px 18px}

.mensagens-page .chat-sidebar-head,
.mensagens-page .chat-main-head{border-bottom:1px solid rgba(15,23,42,.06)}
.mensagens-page .chat-contact{border:1px solid rgba(15,23,42,.06)}
.mensagens-page .chat-contact.active{border-color:rgba(6,182,212,.35)}
.mensagens-page .chat-compose .form-control{background:#fff}

/* ========== Gestão de Conta (conta.php + modal) ========== */
.hm-account{display:flex;flex-direction:column;gap:1.25rem;max-width:min(720px,100%)}
.hm-account--tabs{max-width:min(820px,100%)}
.hm-account .card{padding:1.5rem 1.75rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(15,23,42,.04)}
.hm-account__sectionTitle{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:0.5rem}
.hm-account__sectionTitle i{opacity:.9;font-size:1rem}
.hm-account__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem}
.hm-account__full{grid-column:1/-1}
.hm-account .form-group{margin:0}
.hm-account .form-group label{display:block;margin-bottom:0.35rem;font-weight:600;font-size:0.9rem;color:var(--accent)}
.hm-account .form-control{padding:0.6rem 0.85rem;border-radius:10px;border:1px solid rgba(15,23,42,.1);width:100%;transition:border-color .2s,box-shadow .2s}
.hm-account .form-control:focus{outline:none;border-color:var(--orange-600);box-shadow:0 0 0 3px rgba(255,122,51,.12)}
.hm-account__avatarRow{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.hm-account__avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;background:linear-gradient(180deg,#f8fafc,#eef2f6);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(3,42,74,.08);flex-shrink:0}
.hm-account__avatar img{width:100%;height:100%;object-fit:cover}
.hm-account__avatar span{font-size:2rem;font-weight:700;color:var(--primary);opacity:.85}
.hm-account .hm-dropzone{border-radius:10px;border:2px dashed rgba(15,23,42,.12);padding:0.75rem;transition:border-color .2s,background .2s}
.hm-account .hm-dropzone:hover,.hm-account .hm-dropzone.dragover{border-color:var(--orange-600);background:rgba(255,122,51,.04)}
.hm-account__checks{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.hm-account__checks label{display:inline-flex;align-items:center;gap:0.5rem;cursor:pointer;font-weight:500;font-size:0.95rem}
.hm-account__checks input[type=checkbox]{width:1.1em;height:1.1em;accent-color:var(--orange-600)}
.hm-account__actions{margin-top:0.5rem;display:flex;gap:0.75rem;align-items:center;flex-wrap:wrap}
.hm-account__actions .btn{padding:0.65rem 1.25rem;border-radius:10px;font-weight:600}
.hm-account__open-full{margin-bottom:0.75rem}
.hm-account__open-full a{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:var(--primary);font-weight:600;text-decoration:none}
.hm-account__open-full a:hover{color:var(--orange-600);text-decoration:underline}
.hm-account__flash-global{margin-bottom:0.75rem}
.hm-account__tablist{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1rem;padding:10px 12px;background:rgba(15,23,42,0.04);border-radius:12px;border:1px solid rgba(15,23,42,0.06)}
.hm-account__tab{display:inline-flex;align-items:center;gap:0.45rem;font-size:0.88rem;font-weight:600;padding:8px 14px;border-radius:10px;border:1px solid rgba(15,23,42,0.1);background:#fff;color:var(--primary,#1e3c72);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.hm-account__tab:hover{background:rgba(255,122,51,0.08);border-color:rgba(255,122,51,0.22)}
.hm-account__tab.is-active{background:linear-gradient(135deg,rgba(255,122,51,0.12),rgba(30,60,114,0.08));border-color:rgba(30,60,114,0.2);color:var(--accent,#0f172a);box-shadow:0 2px 8px rgba(15,23,42,0.06)}
.hm-account__tab--danger{color:#b91c1c;border-color:rgba(185,28,28,0.2)}
.hm-account__tab--danger:hover{background:rgba(185,28,28,0.08)}
.hm-account__tab--danger.is-active{background:rgba(185,28,28,0.1);border-color:rgba(185,28,28,0.35);color:#7f1d1d}
.hm-account__panels{display:flex;flex-direction:column;gap:0}
.hm-account__panel:not(.is-active){display:none}
.hm-account__panel.is-active{display:block}
.hm-account__danger{border:1px solid rgba(201,42,42,.15);background:linear-gradient(180deg,rgba(201,42,42,.06),rgba(255,255,255,.5));border-radius:var(--radius)}
.hm-account__danger .hm-account__sectionTitle{color:#7f1d1d}
.hm-account__danger .hm-account__sectionTitle::before{content:'';width:4px;height:1.1em;border-radius:4px;background:linear-gradient(180deg,#b91c1c,#991b1b);flex-shrink:0}
.hm-account__danger p{color:var(--muted);font-size:0.95rem;margin:0 0 1rem}
.hm-account__danger .btn-danger{background:linear-gradient(180deg,#dc2626,#b91c1c);color:#fff;border:none;padding:0.6rem 1.2rem;border-radius:10px;font-weight:600;cursor:pointer}
.hm-account__danger .btn-danger:hover{background:linear-gradient(180deg,#b91c1c,#991b1b);color:#fff}
.hm-account__danger small{color:#991b1b;font-size:0.85rem;display:block;margin-top:0.5rem}
@media (max-width:640px){.hm-account__form{grid-template-columns:1fr}.hm-account__avatar{width:64px;height:64px}.hm-account__avatar span{font-size:1.5rem}}

/* Gestão de conta — modal e navegação */
#account-modal .modal-panel{
  max-height:min(88vh,900px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 24px 60px rgba(2,6,23,0.22);
}
#account-modal .modal-header{
  flex-shrink:0;
  padding:14px 18px;
  background:linear-gradient(180deg,#fafcff 0%,#fff 100%);
  border-bottom:1px solid rgba(15,23,42,0.08);
}
#account-modal .modal-header h3{margin:0;font-size:1.15rem;font-weight:800;color:var(--accent,#0f172a);letter-spacing:-0.02em}
#account-modal .modal-content{
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding:14px 16px 32px;
  scroll-padding-bottom:24px;
  -webkit-overflow-scrolling:touch;
}
#account-modal .hm-account__form{position:relative}
#account-modal .hm-account__actions{
  position:sticky;
  bottom:0;
  z-index:2;
  margin-top:12px;
  padding-top:14px;
  padding-bottom:6px;
  background:linear-gradient(to top,#fff 72%,rgba(255,255,255,0));
}
[data-theme="dark"] #account-modal .hm-account__actions{
  background:linear-gradient(to top,var(--card,#0f172a) 72%,transparent);
}
[data-theme="dark"] #account-modal .hm-account__tablist{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)}
[data-theme="dark"] #account-modal .hm-account__tab{background:rgba(255,255,255,0.06);color:#e2e8f0;border-color:rgba(255,255,255,0.12)}
[data-theme="dark"] #account-modal .hm-account__tab.is-active{background:rgba(56,189,248,0.12);border-color:rgba(56,189,248,0.35);color:#f8fafc}
.hm-account__card{scroll-margin-top:12px}
.hm-account .hm-pw-wrap{position:relative}
.hm-account .hm-pw-wrap .form-control{padding-right:2.75rem}
.hm-account .hm-pw-toggle{
  position:absolute;
  right:8px;
  top:calc(1.6rem + 2px);
  background:transparent;
  border:0;
  color:var(--muted,#64748b);
  cursor:pointer;
  padding:6px 8px;
  border-radius:8px;
  line-height:1;
}
.hm-account .hm-pw-toggle:hover{color:var(--primary,#1e3c72);background:rgba(15,23,42,0.06)}
.hm-account__loading{padding:1.25rem 1rem}
[data-theme="dark"] .hm-account .card{background:var(--card);border-color:rgba(255,255,255,0.08)}
[data-theme="dark"] .hm-account .form-control{background:rgba(15,23,42,0.35);border-color:rgba(255,255,255,0.12);color:var(--accent)}
[data-theme="dark"] #account-modal .modal-panel{background:var(--card);border:1px solid rgba(255,255,255,0.08)}
[data-theme="dark"] #account-modal .modal-header{background:linear-gradient(180deg,#1e293b,#0f172a);border-bottom-color:rgba(255,255,255,0.08)}
[data-theme="dark"] #account-modal .modal-header h3{color:var(--accent)}
[data-theme="dark"] .hm-account__tablist{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08)}
[data-theme="dark"] .hm-account__tab{background:rgba(255,255,255,0.06);color:#e2e8f0;border-color:rgba(255,255,255,0.12)}
[data-theme="dark"] .hm-account__tab.is-active{background:rgba(56,189,248,0.12);border-color:rgba(56,189,248,0.35);color:#f8fafc}

/* Breadcrumbs */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:0.25rem 0.5rem;font-size:0.95rem}
.breadcrumb-title,.top-bar .breadcrumb h2{margin:0;font-size:1.15rem;color:var(--accent)}
.breadcrumb-link{color:var(--primary);text-decoration:none}
.breadcrumb-link:hover{text-decoration:underline}
.breadcrumb-sep{color:var(--muted);pointer-events:none}
.breadcrumb-current{color:var(--accent);font-weight:600}

/* ========== Dark mode (data-theme="dark") ========== */
[data-theme="dark"]{ --bg:#0f172a; --card:#1e293b; --muted:#94a3b8; --accent:#e2e8f0; --primary:#38bdf8; --shadow:0 8px 24px rgba(0,0,0,0.35); }
[data-theme="dark"] body,[data-theme="dark"] .body{background:var(--bg);color:var(--accent)}
[data-theme="dark"] .main-content{background:var(--bg)}
[data-theme="dark"] .top-bar{background:var(--card);box-shadow:0 2px 8px rgba(0,0,0,0.2)}
[data-theme="dark"] .card{background:var(--card);border:1px solid rgba(255,255,255,0.06)}
[data-theme="dark"] .breadcrumb-title,[data-theme="dark"] .breadcrumb-current,[data-theme="dark"] .top-bar .breadcrumb h2{color:var(--accent)}
[data-theme="dark"] .breadcrumb-link{color:#38bdf8}
[data-theme="dark"] #top-search-input{background:#334155;border-color:#475569;color:#e2e8f0}
[data-theme="dark"] .nav-link{color:rgba(255,255,255,0.9)}
[data-theme="dark"] .nav-link:hover,[data-theme="dark"] .nav-link.active{background:rgba(255,255,255,0.1)}
[data-theme="dark"] .user-name-button{color:var(--accent)}
[data-theme="dark"] .btn-outline{border-color:var(--muted);color:var(--accent)}
[data-theme="dark"] .muted{color:var(--muted)}
[data-theme="dark"] .sidebar{background:var(--card);border-right:1px solid rgba(255,255,255,0.06)}

/* Global search dropdown */
.top-search-wrap{position:relative;display:inline-block}
.top-search-dropdown{position:absolute;top:100%;left:0;margin-top:4px;min-width:320px;max-width:420px;max-height:70vh;overflow:auto;background:var(--card);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.06);z-index:800;display:none}
.top-search-dropdown.is-open{display:block}
.top-search-dropdown .hm-search-section{margin:0;padding:8px 12px;font-size:0.75rem;font-weight:700;text-transform:uppercase;color:var(--muted);border-bottom:1px solid rgba(0,0,0,.06)}
.top-search-dropdown .hm-search-item{display:block;padding:10px 14px;text-decoration:none;color:var(--accent);border-bottom:1px solid rgba(0,0,0,.04);cursor:pointer;text-align:left}
.top-search-dropdown .hm-search-item:hover{background:rgba(0,0,0,.04)}
[data-theme="dark"] .top-search-dropdown{background:var(--card);border-color:rgba(255,255,255,.08)}

