:root{--bg:#07101f;--panel:#101c30;--panel2:#15233a;--text:#f8fbff;--muted:#a9bad0;--line:#2b4262;--blue:#1677ff;--blue2:#075bd4;--danger:#ef4444;--ok:#22c55e;--shadow:0 24px 70px rgba(0,0,0,.3)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at top,#172b4b 0,#07101f 42%,#030811 100%);color:var(--text);min-height:100vh}a{color:inherit}.auth-body{display:grid;place-items:center;padding:28px}.auth-shell{width:min(520px,100%)}.auth-shell.wide{width:min(900px,100%)}.auth-card,.panel{background:rgba(16,28,48,.96);border:1px solid rgba(80,112,154,.4);border-radius:24px;box-shadow:var(--shadow);padding:28px}.login-logo{display:block;width:min(350px,90%);height:auto;margin:0 auto 18px}.kicker{font-size:.75rem;letter-spacing:.16em;color:#60a5fa;font-weight:900;margin:0 0 6px}.auth-card h1{margin:0 0 20px}.form-stack,.form-grid{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.full-span{grid-column:1/-1}.form-stack label,.form-grid label{display:grid;gap:7px;font-weight:800}.form-stack small,.form-grid small,.muted{color:var(--muted);font-weight:500}input,select{width:100%;border:1px solid #345070;background:#0b1728;color:#fff;border-radius:12px;padding:12px 13px;outline:none;font:inherit}input:focus,select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.17)}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.eye-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:38px;border:0;background:transparent;color:#fff;cursor:pointer;border-radius:9px;font-size:1.05rem}.eye-btn:hover{background:#172a45}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:12px 16px;text-decoration:none;font-weight:900;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff}.btn.secondary{background:#182942;border:1px solid #355275;color:#e8f2ff}.btn.danger{background:#6f1e26;color:#fff;border:1px solid #9d3842}.btn.full{width:100%}.alert{padding:12px 14px;border-radius:12px;margin:0 0 16px;font-weight:700}.alert.error{background:#3c1720;border:1px solid #7d2e3c;color:#fecdd3}.alert.success{background:#123923;border:1px solid #25643e;color:#bbf7d0}.divider{border-top:1px solid var(--line);padding-top:18px;margin-top:4px;color:#8fb9ef;font-weight:900}.topbar{max-width:1200px;margin:0 auto;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar .brand{display:flex;align-items:center;gap:12px}.topbar .brand img{width:180px;max-width:40vw}.topbar-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.app-shell{width:min(1200px,calc(100% - 28px));margin:0 auto 40px}.hero-card{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:center}.hero-card h1{margin:.2rem 0}.status-pill{display:inline-flex;padding:7px 10px;border-radius:999px;border:1px solid #3c5777;color:#caddf5;background:#0c192b;font-size:.82rem;font-weight:800}.status-pill.ok{color:#bbf7d0;border-color:#2c6943;background:#102b1c}.status-pill.warn{color:#fde68a;border-color:#735b25;background:#2c2510}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}.metric{background:#0c192b;border:1px solid #29415f;border-radius:17px;padding:17px}.metric span{display:block;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.metric strong{display:block;margin-top:5px;font-size:1.25rem}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-title h2{margin:0}.table-wrap{overflow:auto;border:1px solid #2a4261;border-radius:16px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:12px 13px;border-bottom:1px solid #253b57;text-align:left}th{font-size:.78rem;text-transform:uppercase;color:#a9bad0;background:#0b1728}.actions{display:flex;gap:8px;flex-wrap:wrap}.inline-form{display:flex;gap:8px;align-items:center}.inline-form select{width:auto;min-width:140px}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:16px}.empty{color:var(--muted);padding:16px}.footer-note{text-align:center;color:#738aa5;font-size:.82rem;padding:24px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.danger-text{color:#fca5a5}.ok-text{color:#86efac}@media(max-width:800px){.form-grid,.hero-card,.admin-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.auth-body{padding:14px}.auth-card,.panel{padding:20px}.topbar{align-items:flex-start;flex-direction:column}.topbar .brand img{max-width:75vw;width:230px}.topbar-actions{width:100%}.topbar-actions .btn{flex:1}}

.team-dot{--team-color:#64748b;display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--team-color);border:1px solid rgba(255,255,255,.65);box-shadow:0 1px 3px rgba(0,0,0,.22);margin-right:7px;vertical-align:-1px}


/* v38.1 — contraste consistente */
select option{background:#fff!important;color:#10213a!important}
.login-logo,.topbar .brand img{filter:drop-shadow(0 8px 22px rgba(0,0,0,.34))}

/* v38.5 — tema claro/escuro global + Arena Cards */
:root{color-scheme:dark}
html[data-theme="light"]{color-scheme:light;--bg:#eef5fc;--panel:#ffffff;--panel2:#f6f9fd;--text:#10213a;--muted:#60758d;--line:#c9d7e6;--blue:#1268df;--blue2:#084fae;--danger:#c92d3b;--ok:#14743c;--shadow:0 18px 46px rgba(26,62,104,.13)}
html[data-theme="light"] body{background:radial-gradient(circle at top,#ffffff 0,#eef5fc 48%,#e3edf8 100%);color:var(--text)}
html[data-theme="light"] .auth-card,
html[data-theme="light"] .panel{background:rgba(255,255,255,.97);border-color:#c8d7e7;box-shadow:var(--shadow)}
html[data-theme="light"] .kicker{color:#125fc6}
html[data-theme="light"] .muted,
html[data-theme="light"] .form-stack small,
html[data-theme="light"] .form-grid small,
html[data-theme="light"] .empty{color:#60758d}
html[data-theme="light"] input,
html[data-theme="light"] select{background:#fff;color:#10213a;border-color:#adbed1}
html[data-theme="light"] input::placeholder{color:#8192a6}
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus{border-color:#2676dc;box-shadow:0 0 0 3px rgba(38,118,220,.16)}
html[data-theme="light"] select option{background:#fff!important;color:#10213a!important}
html[data-theme="light"] .eye-btn{color:#173b65}
html[data-theme="light"] .eye-btn:hover{background:#e8f1fb}
html[data-theme="light"] .btn.secondary{background:#edf4fb;border-color:#b8c9dc;color:#163b65}
html[data-theme="light"] .btn.secondary:hover{background:#e3eef9}
html[data-theme="light"] .btn.danger{background:#fff0f2;border-color:#e29aa4;color:#9f2330}
html[data-theme="light"] .alert.error{background:#fff0f2;border-color:#e8a7b0;color:#8e1f2b}
html[data-theme="light"] .alert.success{background:#edf9f1;border-color:#a9d8ba;color:#166637}
html[data-theme="light"] .divider{border-color:#cad8e7;color:#175aa8}
html[data-theme="light"] .status-pill{border-color:#b9cadd;color:#34536f;background:#f4f8fc}
html[data-theme="light"] .status-pill.ok{color:#146938;border-color:#a8d3b7;background:#edf9f1}
html[data-theme="light"] .status-pill.warn{color:#7a5700;border-color:#dfc47e;background:#fff8e4}
html[data-theme="light"] .metric{background:#f5f9fd;border-color:#c5d5e5}
html[data-theme="light"] .metric span{color:#60758d}
html[data-theme="light"] .table-wrap{border-color:#c5d4e4;background:#fff}
html[data-theme="light"] th{color:#344f6d;background:#e9f1f9;border-bottom-color:#b9cada}
html[data-theme="light"] td{border-bottom-color:#dbe5ef;color:#142b45}
html[data-theme="light"] tbody tr:hover{background:#f5f9fd}
html[data-theme="light"] .footer-note{color:#667d95}
html[data-theme="light"] .danger-text{color:#a92534}
html[data-theme="light"] .ok-text{color:#14713a}
html[data-theme="light"] .team-dot{border-color:rgba(16,33,58,.28)}
html[data-theme="light"] .metric-mini,
html[data-theme="light"] .stat-leader small{color:#1c5ea9!important}
html[data-theme="light"] .tiny,
html[data-theme="light"] .rank-note{color:#637991!important}
html[data-theme="light"] .danger-lite{border-color:#d998a1!important;color:#9d2734!important;background:#fff5f6!important}
html[data-theme="light"] .rating-track{background:#dbe7f4!important}

.global-theme-toggle{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;gap:4px;padding:5px;border:1px solid rgba(117,151,190,.38);border-radius:999px;background:rgba(8,20,38,.91);box-shadow:0 12px 34px rgba(0,0,0,.26);backdrop-filter:blur(12px)}
.global-theme-toggle button{border:0;border-radius:999px;padding:8px 10px;background:transparent;color:#b9cbe0;font:inherit;font-weight:900;font-size:.78rem;cursor:pointer;white-space:nowrap}
.global-theme-toggle button:hover{color:#fff;background:rgba(59,130,246,.14)}
.global-theme-toggle button.active{background:linear-gradient(135deg,#1677ff,#075bd4);color:#fff;box-shadow:0 4px 12px rgba(18,104,223,.28)}
html[data-theme="light"] .global-theme-toggle{background:rgba(255,255,255,.94);border-color:#bdcfe1;box-shadow:0 12px 30px rgba(28,68,112,.16)}
html[data-theme="light"] .global-theme-toggle button{color:#49647f}
html[data-theme="light"] .global-theme-toggle button:hover{color:#123a67;background:#eaf2fb}
html[data-theme="light"] .global-theme-toggle button.active{color:#fff}
@media(max-width:560px){.global-theme-toggle{right:10px;bottom:max(10px,env(safe-area-inset-bottom));}.global-theme-toggle button{padding:8px 9px;font-size:.74rem}}


/* v38.9.3 — login central do jogador */
.legacy-login-link{text-align:center;margin:14px 0 0;color:var(--muted);font-size:.82rem}
.legacy-login-link a{color:#8fc0ff}
.organization-choice-list{display:grid;gap:10px;margin-top:16px}
.organization-choice{margin:0}
.organization-choice-btn{width:100%;display:grid;gap:4px;text-align:left;padding:15px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--text);cursor:pointer;font:inherit}
.organization-choice-btn:hover{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.organization-choice-btn strong{font-size:1rem}.organization-choice-btn span{color:var(--muted);font-size:.86rem}
.legacy-details{width:100%;border-top:1px solid var(--line);padding-top:10px;margin-top:2px;color:var(--muted)}
.legacy-details summary{cursor:pointer;font-weight:800;color:#8fb9ef}.legacy-details-body{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.portal-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* v38.9.4 — controles booleanos não herdam a largura dos inputs de texto */
input[type="checkbox"],input[type="radio"]{width:auto}


/* ================================================================
   v38.9.6 — AUDITORIA RESPONSIVA GLOBAL
   Camada mobile-first aplicada a todas as telas SaaS/Portal/Admin.
   ================================================================ */
html,body{max-width:100%;overflow-x:hidden}
img,svg,canvas,video{max-width:100%}
.panel,.auth-card,.app-shell,.topbar,.section-title,.topbar-actions,
.profile-head,.profile-id,.profile-actions,.photo-tools,.actions,.actions-inline,
.portal-actions,.form-actions,.inline-form,.metric,.leader-row{min-width:0}
h1{font-size:clamp(1.55rem,4vw,2.2rem);line-height:1.08;overflow-wrap:anywhere}
h2{font-size:clamp(1.2rem,3vw,1.55rem);line-height:1.15;overflow-wrap:anywhere}
p,small,strong,span,a,button,label,td,th{overflow-wrap:anywhere}
.app-shell{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}
.auth-body{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right));padding-bottom:max(18px,env(safe-area-inset-bottom))}

/* Tabelas: o JS v38.9.6 injeta os títulos de cada coluna em data-label. */
@media(max-width:700px){
  .table-wrap:has(table.responsive-card-table){overflow:visible;border:0;border-radius:0;background:transparent}
  table.responsive-card-table{display:block;width:100%;min-width:0;border-collapse:separate;border-spacing:0}
  table.responsive-card-table thead{display:none}
  table.responsive-card-table tbody{display:grid;width:100%;gap:12px}
  table.responsive-card-table tbody tr{display:block;width:100%;min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--panel2);overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.12)}
  table.responsive-card-table tbody td{display:grid;width:100%;min-width:0;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent);text-align:right}
  table.responsive-card-table tbody td:last-child{border-bottom:0}
  table.responsive-card-table tbody td::before{content:attr(data-label);min-width:0;color:var(--muted);font-size:.69rem;line-height:1.15;font-weight:900;letter-spacing:.055em;text-transform:uppercase;text-align:left;overflow-wrap:anywhere}
  table.responsive-card-table tbody td[data-label=""]{grid-template-columns:1fr;text-align:left}
  table.responsive-card-table tbody td[data-label=""]::before{display:none}
  table.responsive-card-table tbody td > *{min-width:0;max-width:100%}
  table.responsive-card-table .actions-inline,
  table.responsive-card-table .portal-actions{display:grid!important;grid-template-columns:1fr;gap:7px;width:100%}
  table.responsive-card-table .compact-form{display:block;width:100%}
  table.responsive-card-table .btn{width:100%;min-width:0;white-space:normal;text-align:center}
  table.responsive-card-table .player-thumb{width:68px;height:68px}
  table.responsive-card-table .status-pill{justify-self:end;max-width:100%;white-space:normal;text-align:center}
}

@media(max-width:800px){
  body:not(.auth-body){padding-bottom:72px}
  .app-shell{width:calc(100% - 20px);margin:0 auto 26px}
  .panel,.auth-card{padding:18px;border-radius:19px}
  .topbar{width:100%;padding:14px 10px 12px;gap:12px;align-items:stretch}
  .topbar .brand{width:100%;justify-content:center}
  .topbar .brand img{width:min(230px,72vw);max-width:100%}
  .topbar-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
  .topbar-actions .btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;white-space:normal;text-align:center;line-height:1.15}
  .topbar-actions .status-pill{grid-column:1/-1;width:100%;justify-content:center;white-space:normal;text-align:center}
  .section-title{align-items:stretch;flex-direction:column;gap:12px}
  .section-title > .btn,.section-title > a.btn{width:100%}
  .form-grid{grid-template-columns:1fr!important}
  .full-span,.player-options,.photo-preview,.form-actions{grid-column:1!important}
  .inline-form{width:100%;flex-direction:column;align-items:stretch}
  .inline-form select,.inline-form input,.inline-form .btn{width:100%;min-width:0}
  .actions,.form-actions,.photo-tools,.profile-actions,.birthday-actions{width:100%}
  .actions > .btn,.form-actions > .btn,.photo-tools > .btn,.profile-actions > .btn,.birthday-actions > .btn{flex:1 1 180px;min-width:0}
  .status-pill{max-width:100%;white-space:normal;text-align:center}
  .metric{min-width:0;padding:14px}
  .metric strong{overflow-wrap:anywhere}
  .admin-grid{grid-template-columns:1fr!important}
}

@media(max-width:560px){
  .app-shell{width:calc(100% - 14px)}
  .panel,.auth-card{padding:15px;border-radius:17px}
  .auth-body{padding:10px}
  .auth-shell,.auth-shell.wide{width:100%}
  .login-logo{width:min(290px,84vw)}
  .topbar{padding-left:8px;padding-right:8px}
  .topbar-actions{grid-template-columns:1fr 1fr}
  .btn{padding:11px 12px;min-height:44px}
  .profile-actions,.photo-tools,.form-actions,.birthday-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .profile-actions .btn,.photo-tools .btn,.form-actions .btn,.birthday-actions .btn{width:100%;min-width:0}
  .photo-tools form.photo-tools{grid-column:1/-1;width:100%}
  .legacy-details-body{align-items:stretch;flex-direction:column}
  .legacy-details-body .btn{width:100%}
  .global-theme-toggle{right:8px;bottom:max(8px,env(safe-area-inset-bottom));gap:2px;padding:4px}
  .global-theme-toggle button{width:40px;height:40px;padding:0;font-size:0;display:grid;place-items:center}
  .global-theme-toggle button[data-global-theme-choice="dark"]::before{content:"🌙";font-size:1rem}
  .global-theme-toggle button[data-global-theme-choice="light"]::before{content:"☀️";font-size:1rem}
}

@media(max-width:390px){
  .topbar-actions{grid-template-columns:1fr}
  .topbar-actions .status-pill{grid-column:auto}
  .profile-actions,.photo-tools,.form-actions,.birthday-actions{grid-template-columns:1fr!important}
  .panel,.auth-card{padding:13px}
  table.responsive-card-table tbody td{grid-template-columns:minmax(78px,32%) minmax(0,1fr);padding:9px 10px}
}

html[data-theme="light"] table.responsive-card-table tbody tr{background:#fff}

/* v38.9.10 — camera quick action for athlete photo */
.inline-upload-actions{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}
.camera-inline-btn{position:relative;overflow:hidden}
.camera-inline-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
