/* Vôlei de Ponta — identidade visual unificada 2026
   Camada apenas visual: preserva estrutura, IDs, eventos e regras do sistema. */
:root{--pvp-navy:#071b3a;--pvp-navy-2:#0d315d;--pvp-blue:#1769aa;--pvp-blue-soft:#edf5fc;--pvp-pink:#ef3d86;--pvp-pink-soft:#fff0f6;--pvp-bg:#f5f7fb;--pvp-surface:#fff;--pvp-line:#dfe6ef;--pvp-text:#18324d;--pvp-muted:#6b7f94;--pvp-shadow:0 12px 34px rgba(7,27,58,.08);--pvp-shadow-soft:0 5px 16px rgba(7,27,58,.05)}
html{scroll-behavior:smooth}body{background:var(--pvp-bg);color:var(--pvp-text)}
/* Remove definitivamente qualquer mascote decorativo do topo; preserva a logo oficial. */
.event-mascot,.sidebar .event-mascot,.topbar .event-mascot,img.event-mascot{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;margin:0!important;padding:0!important;position:absolute!important;pointer-events:none!important}
.button{min-height:40px;border-radius:11px;padding:9px 15px;transition:.15s ease}.button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(7,27,58,.11)}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(239,61,134,.2);outline-offset:2px}.button.secondary{border:1px solid var(--pvp-line);background:#fff;color:var(--pvp-navy)}
input,select,textarea{border-color:var(--pvp-line);border-radius:10px;min-height:40px;background:#fff}input:focus,select:focus,textarea:focus{border-color:#8ab6db;box-shadow:0 0 0 3px rgba(23,105,170,.08)}
/* Institucional */
.institutional-mode .topbar{min-height:78px;background:linear-gradient(90deg,#071b3a,#0b315f);padding:11px clamp(18px,4vw,44px);box-shadow:0 5px 20px rgba(7,27,58,.1);border-bottom:1px solid rgba(255,255,255,.06)}.institutional-mode .topbar:after{display:none}.institutional-mode .topbar h2{font-size:clamp(1rem,2vw,1.28rem);font-weight:750;letter-spacing:-.015em}.institutional-mode .topbar .eyebrow{color:#dbe8f6;opacity:.78}.institutional-mode .club-logo{width:56px;height:56px;border:1px solid rgba(255,255,255,.15)!important;border-radius:15px!important;box-shadow:none;background:#050b14!important;padding:3px}.institutional-mode .event-chip{display:none}.institutional-mode main{max-width:1160px;padding-top:28px}
.institutional-hero{border-radius:28px;padding:clamp(30px,5vw,52px);background:linear-gradient(135deg,#071b3a 0%,#0b477d 68%,#1769aa 100%);box-shadow:var(--pvp-shadow);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.institutional-hero:before{content:'';position:absolute;inset:auto -100px -190px auto;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,rgba(239,61,134,.24),rgba(239,61,134,0) 68%)}.institutional-hero>*{position:relative;z-index:1}.institutional-hero .eyebrow{color:#ff9fc4;opacity:1}.institutional-hero h1{letter-spacing:-.05em}.institutional-actions .button:first-child{background:var(--pvp-pink)}.institutional-mark img{border-radius:22px;box-shadow:0 18px 44px rgba(0,0,0,.25);padding:10px}
.institutional-section,.institutional-grid article{border:1px solid var(--pvp-line);box-shadow:var(--pvp-shadow-soft)}.institutional-section{border-radius:22px;padding:clamp(22px,4vw,34px);margin:20px 0}.institutional-section>h2{letter-spacing:-.03em;color:var(--pvp-navy)}.institutional-section>p{color:#40566f}.institutional-grid{gap:18px}.institutional-grid article{border-radius:20px;padding:26px}.institutional-icon{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:15px;font-size:1.65rem}.institutional-highlight{border-top:0;border-left:5px solid var(--pvp-pink);background:linear-gradient(110deg,#fff,#f6f9fd)}.athlete-signup{border-left:5px solid var(--pvp-pink)!important;background:linear-gradient(110deg,#fff,#fff8fb)}
.parana-callout{border:1px solid var(--pvp-line)!important;border-left:5px solid var(--pvp-blue)!important;background:linear-gradient(120deg,#fff,#f2f8fd)!important}.parana-countdown-box{background:linear-gradient(145deg,#081d3d,#0d3c70)!important;border:1px solid rgba(255,255,255,.07);box-shadow:0 8px 22px rgba(7,27,58,.13)}
/* Barra administrativa institucional */
.institutional-admin-tools{position:relative;gap:6px}.institutional-admin-tools .admin-only{display:none!important}.admin .institutional-admin-tools{padding:5px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11)}.admin .institutional-admin-tools .admin-only{display:inline-flex!important;align-items:center;justify-content:center}.institutional-admin-tools .button{min-height:35px;padding:7px 10px;border-radius:9px;font-size:.78rem;box-shadow:none}.institutional-admin-tools #institutionalAdminAccess{background:var(--pvp-pink);color:#fff;border-color:transparent}.admin .institutional-admin-tools #institutionalAdminAccess{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}.admin .institutional-admin-tools .button.secondary{background:#fff;color:var(--pvp-navy)}
/* Campeonato administrativo: mais espaço para trabalhar e menos ruído no cabeçalho. */
.institutional-mode.tournament-admin-open .app-shell{grid-template-columns:224px minmax(0,1fr)}
.institutional-mode.tournament-admin-open .sidebar{background:linear-gradient(180deg,#071b3a,#0d315d);padding:24px 16px;gap:18px}
.institutional-mode.tournament-admin-open .sidebar .brand-block{padding:0 4px 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.institutional-mode.tournament-admin-open .sidebar .brand-block h1{font-size:1.55rem;line-height:1.05;margin:6px 0 12px}
.institutional-mode.tournament-admin-open .sidebar .brand-block p:not(.eyebrow){font-size:.82rem;line-height:1.45;color:#c7d6e8}
.institutional-mode.tournament-admin-open .sidebar nav{gap:5px}
.institutional-mode.tournament-admin-open .sidebar nav button{min-height:42px;border-radius:10px;padding:10px 12px;font-size:.9rem;transition:background .15s ease,transform .15s ease}
.institutional-mode.tournament-admin-open .sidebar nav button:hover{background:rgba(255,255,255,.08);transform:translateX(2px)}
.institutional-mode.tournament-admin-open .sidebar nav button.active{background:var(--pvp-pink);color:#fff;box-shadow:0 6px 18px rgba(239,61,134,.18)}
.institutional-mode.tournament-admin-open .category-box{padding:0 4px}.institutional-mode.tournament-admin-open .category-box select{border-radius:10px;background:#fff}
.institutional-mode.tournament-admin-open .workspace>.topbar{min-height:86px;padding:12px 22px;display:grid;grid-template-columns:minmax(130px,210px) minmax(0,1fr);gap:18px;align-items:center}
.institutional-mode.tournament-admin-open .workspace>.topbar>div:first-child{min-width:0}.institutional-mode.tournament-admin-open .workspace>.topbar>div:first-child h2{font-size:1.02rem;line-height:1.35;max-width:190px}.institutional-mode.tournament-admin-open .workspace>.topbar .topbar-right{min-width:0;gap:8px;justify-content:flex-end}.institutional-mode.tournament-admin-open .workspace>.topbar .club-logo{display:none!important}.institutional-mode.tournament-admin-open .workspace>.topbar .event-chip{display:none!important}.institutional-mode.tournament-admin-open .institutional-admin-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:100%}.institutional-mode.tournament-admin-open .institutional-admin-tools .button{white-space:nowrap;min-height:36px;padding:7px 11px;font-size:.78rem}.institutional-mode.tournament-admin-open main{padding:30px 34px 48px;max-width:none}.institutional-mode.tournament-admin-open .section-title{align-items:center;margin-bottom:24px}.institutional-mode.tournament-admin-open .cards{gap:14px}.institutional-mode.tournament-admin-open .cards>article,.institutional-mode.tournament-admin-open .card{border:1px solid var(--pvp-line);border-radius:16px;box-shadow:0 4px 14px rgba(7,27,58,.045)}
/* Modais e relatórios */
dialog{border-radius:22px;box-shadow:0 28px 80px rgba(7,27,58,.28);max-width:calc(100vw - 24px);border:1px solid rgba(255,255,255,.55)}dialog::backdrop{background:rgba(7,27,58,.62);backdrop-filter:blur(3px)}.students-panel{padding:28px}.students-panel-head{padding-bottom:16px;border-bottom:1px solid var(--pvp-line)}.students-toolbar{padding:12px;border-radius:16px;background:#f6f8fb;border:1px solid var(--pvp-line)}.student-row,.signup-card{border-radius:16px;border-color:var(--pvp-line);box-shadow:0 3px 12px rgba(7,27,58,.04)}.athlete-report-summary{gap:10px!important}.athlete-report-summary>div{border-radius:16px!important;background:#f7f9fc!important;border-color:var(--pvp-line)!important}.athlete-report-summary strong{color:var(--pvp-blue)!important}.athlete-report-table{border:1px solid var(--pvp-line);border-radius:14px;overflow:hidden}.athlete-report-table th{background:#f4f7fb!important;text-transform:uppercase;letter-spacing:.035em;font-size:.75rem}
.analytics-card,.analytics-panel{border-radius:18px!important;border-color:var(--pvp-line)!important;box-shadow:var(--pvp-shadow-soft)!important}.analytics-card strong{color:var(--pvp-blue)!important}
@media(max-width:1050px){.institutional-mode.tournament-admin-open .app-shell{grid-template-columns:205px minmax(0,1fr)}.institutional-mode.tournament-admin-open .workspace>.topbar{grid-template-columns:150px minmax(0,1fr)}.institutional-mode.tournament-admin-open main{padding-left:24px;padding-right:24px}}
@media(max-width:900px){.institutional-mode .topbar{align-items:flex-start}.admin .institutional-admin-tools{max-width:520px;flex-wrap:wrap}.institutional-mode.tournament-admin-open .app-shell{grid-template-columns:1fr}.institutional-mode.tournament-admin-open .sidebar{position:relative;width:auto;min-height:auto}.institutional-mode.tournament-admin-open .workspace>.topbar{grid-template-columns:1fr}.institutional-mode.tournament-admin-open .workspace>.topbar>div:first-child h2{max-width:none}.institutional-mode.tournament-admin-open .workspace>.topbar .topbar-right{justify-content:flex-start}.institutional-mode.tournament-admin-open .institutional-admin-tools{justify-content:flex-start}}
@media(max-width:620px){.institutional-mode .topbar{padding:12px 14px}.institutional-mode .topbar h2{font-size:.94rem}.institutional-mode .club-logo{width:48px;height:48px}.admin .institutional-admin-tools{position:absolute;right:14px;top:66px;z-index:20;width:min(92vw,310px);padding:10px;background:#fff;border:1px solid var(--pvp-line);box-shadow:0 18px 50px rgba(7,27,58,.22);border-radius:16px}.admin .institutional-admin-tools .admin-only{width:100%;justify-content:flex-start!important;color:var(--pvp-navy);border-color:var(--pvp-line);background:#fff}.admin .institutional-admin-tools #institutionalAdminAccess{width:100%;background:var(--pvp-navy);justify-content:center;color:#fff}.institutional-hero{border-radius:22px;padding:26px 20px}.students-panel{padding:18px}.athlete-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.institutional-mode.tournament-admin-open .workspace>.topbar{padding:12px 14px}.institutional-mode.tournament-admin-open main{padding:22px 14px 38px}}

/* Mobile: mantém o acesso administrativo sempre visível e dentro do cabeçalho. */
@media(max-width:620px){
  .institutional-mode .topbar{overflow:visible!important;position:relative!important}
  .institutional-mode .topbar-right{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important}
  .institutional-mode .institutional-admin-tools{display:flex!important;position:static!important;visibility:visible!important;opacity:1!important;z-index:30!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;width:auto!important;max-width:none!important}
  .institutional-mode #institutionalAdminAccess{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;width:auto!important;min-width:118px!important;min-height:38px!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}
  .institutional-mode.admin .institutional-admin-tools{position:absolute!important;right:12px!important;top:64px!important;width:min(92vw,310px)!important;padding:10px!important;background:#fff!important;border:1px solid var(--pvp-line)!important;box-shadow:0 18px 50px rgba(7,27,58,.22)!important;border-radius:16px!important}
  .institutional-mode.admin #institutionalAdminAccess{width:100%!important}
}

/* Mobile admin: transforma os controles em uma barra fixa e compacta, sem cobrir o conteúdo. */
@media(max-width:620px){
  .institutional-mode.admin .institutional-admin-tools{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    max-height:min(62vh,430px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    z-index:9998!important;
    padding:10px!important;
    margin:0!important;
    background:#fff!important;
    border:1px solid var(--pvp-line)!important;
    border-radius:16px!important;
    box-shadow:0 16px 45px rgba(7,27,58,.28)!important;
  }
  .institutional-mode.admin main{padding-bottom:96px!important}
}

/* Mobile admin: menu volta a fazer parte do fluxo da página, sem sobrepor o conteúdo. */
@media(max-width:620px){
  .institutional-mode.admin .workspace>.topbar{height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important}
  .institutional-mode.admin .workspace>.topbar>div:first-child{width:100%!important}
  .institutional-mode.admin .workspace>.topbar .topbar-right{width:100%!important;display:block!important}
  .institutional-mode.admin .institutional-admin-tools{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
    margin:0!important;
    background:#fff!important;
    border:1px solid var(--pvp-line)!important;
    border-radius:16px!important;
    box-shadow:0 8px 24px rgba(7,27,58,.10)!important;
  }
  .institutional-mode.admin .institutional-admin-tools .button,
  .institutional-mode.admin #institutionalAdminAccess{width:100%!important;min-height:44px!important}
  .institutional-mode.admin main{padding-bottom:38px!important}
}

/* Remove a logomarca isolada do cabeçalho; a identidade permanece no conteúdo institucional. */
.institutional-mode .workspace>.topbar .club-logo{display:none!important}
