:root{--g:#1d9b45;--g2:#70d13f;--gd:#06351b;--ink:#0a1710;--bg:#edf5ef;--card:#fff;--mut:#66756b;--line:#d8e6dc;--red:#c3342d;--yellow:#f0b429;--shadow:0 22px 60px rgba(4,42,20,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at 12% 15%,rgba(112,209,63,.14),transparent 28%),linear-gradient(135deg,#edf5ef,#f9fcfa 45%,#e8f2eb);color:var(--ink);min-height:100vh}a{color:var(--g);text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:34px 18px}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(520px,.95fr)}.auth-visual{position:relative;min-height:100vh;background:linear-gradient(90deg,rgba(3,18,9,.82),rgba(3,18,9,.28)),url('mtb-bg.jpg') center/cover;overflow:hidden;padding:52px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.auth-visual:after{content:"";position:absolute;inset:auto -100px -120px auto;width:430px;height:430px;border:70px solid rgba(112,209,63,.12);border-radius:50%}.brand-lockup{position:relative;z-index:2;display:flex;align-items:center;gap:15px}.brand-icon{width:62px;height:62px;border-radius:50%;border:2px solid var(--g2);display:grid;place-items:center;font-size:28px;background:rgba(0,0,0,.22)}.brand-lockup strong{font-size:29px;line-height:.95}.brand-lockup span{display:block;color:var(--g2);font-size:12px;letter-spacing:.18em;margin-top:6px}.visual-copy{position:relative;z-index:2;max-width:600px;margin:80px 0}.visual-copy small{color:var(--g2);font-weight:900;letter-spacing:.16em;text-transform:uppercase}.visual-copy h1{font-size:clamp(52px,7vw,92px);line-height:.88;margin:18px 0 24px;text-transform:uppercase;letter-spacing:-.055em}.visual-copy h1 em{font-style:normal;color:var(--g2)}.visual-copy p{font-size:18px;line-height:1.7;color:#e7f0e9;max-width:520px}.benefits{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.benefit{padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(4,26,13,.5);backdrop-filter:blur(7px);font-size:12px}.benefit strong{display:block;color:var(--g2);font-size:15px;margin-bottom:5px}.auth-panel{display:flex;align-items:center;justify-content:center;padding:45px}.auth-card{width:min(100%,690px)}.brand{text-align:center;margin-bottom:24px}.brand h1{margin:0;color:var(--gd);font-size:34px}.brand p{color:var(--mut);margin:7px 0}.tabs{display:flex;background:#fff;border:1px solid var(--line);border-radius:16px 16px 0 0;overflow:hidden}.tabs button{flex:1;padding:18px;border:0;background:#fff;font-weight:800;cursor:pointer}.tabs button.active{background:linear-gradient(135deg,var(--gd),var(--g));color:#fff}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}.tabs+.card{border-radius:0 0 16px 16px}.form-title{margin:0 0 8px;font-size:27px}.form-sub{margin:0 0 22px;color:var(--mut);line-height:1.55}.grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.full{grid-column:1/-1}label{display:block;font-weight:800;font-size:13px;margin-bottom:8px;color:#183524}input,select,textarea{width:100%;padding:14px 15px;border:1px solid #c9d9ce;border-radius:10px;font-size:15px;background:#fff;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--g);box-shadow:0 0 0 4px rgba(29,155,69,.10)}.input-wrap{position:relative}.input-wrap span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#718078;cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--gd),var(--g));color:#fff;font-weight:900;cursor:pointer;text-decoration:none;box-shadow:0 10px 24px rgba(29,155,69,.18)}.btn:hover{transform:translateY(-1px)}.btn.full{width:100%}.btn.secondary{background:#eef6f0;color:var(--gd);box-shadow:none;border:1px solid var(--line)}.btn.danger{background:var(--red);box-shadow:none}.link{color:var(--g);cursor:pointer;font-weight:800}.hidden{display:none!important}.alert{padding:14px 16px;border-radius:10px;margin-bottom:18px;font-weight:700}.alert.ok{background:#e9f8ee;color:#176b32}.alert.erro{background:#feeceb;color:var(--red)}.box{padding:20px;border:1px solid var(--line);border-radius:12px;background:#f9fcfa}.warn{background:#fff9e9;border-color:#ebd39a}.small{font-size:12px;color:var(--mut)}.choice{display:flex;gap:25px;align-items:center}.choice label{font-weight:500;margin:0}.choice input{width:auto}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.register-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.register-hero h1{font-size:34px;margin:0}.register-card{max-width:1050px;margin:auto}.section-title{grid-column:1/-1;border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:6px;font-weight:900;color:var(--gd)}.age-badge{padding:10px 12px;border-radius:9px;background:#edf7ef;color:var(--gd);font-size:13px;font-weight:800}.athlete-home .card{max-width:760px;margin:auto}.admin-body{background:#eef4ef}.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.admin-sidebar{background:linear-gradient(180deg,#03170b,#082a16);color:#fff;padding:28px 20px;position:sticky;top:0;height:100vh}.admin-sidebar h2{margin:0 0 5px;color:var(--g2)}.admin-sidebar small{color:#a8c7b0}.admin-nav{display:grid;gap:8px;margin-top:35px}.admin-nav a{color:#e8f4eb;padding:13px 14px;border-radius:9px;font-weight:700}.admin-nav a:hover,.admin-nav a.active{background:var(--g);color:#fff}.admin-content{padding:32px}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.admin-head h1{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 12px 30px rgba(4,42,20,.06)}.stat span{color:var(--mut);font-size:12px;text-transform:uppercase;font-weight:800}.stat strong{display:block;font-size:30px;margin-top:7px}.table-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:var(--shadow)}.filters{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 11px;border-bottom:1px solid #e6eee8;font-size:13px;white-space:nowrap}th{color:#53665a;text-transform:uppercase;font-size:11px}.badge{display:inline-flex;padding:6px 9px;border-radius:20px;font-size:11px;font-weight:900}.badge.on{background:#e6f7eb;color:#137132}.badge.off{background:#feeceb;color:#a8241e}.actions{display:flex;gap:7px}.actions a{padding:7px 9px;border-radius:7px;background:#edf5ef;font-weight:800}.edit-form{max-width:1000px}.danger-zone{margin-top:22px;padding:18px;border:1px solid #efc2be;background:#fff7f6;border-radius:12px}.pagination{display:flex;gap:7px;margin-top:18px}.pagination a,.pagination span{padding:8px 11px;border:1px solid var(--line);border-radius:7px}.pagination .current{background:var(--g);color:#fff}.mobile-admin-toggle{display:none}.muted{color:var(--mut)}@media(max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-visual{min-height:520px}.auth-panel{padding:28px 18px}.stats{grid-template-columns:1fr 1fr}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-nav{grid-template-columns:repeat(4,1fr)}.admin-content{padding:22px}}@media(max-width:700px){.grid{grid-template-columns:1fr}.full,.section-title{grid-column:auto}.auth-visual{padding:28px;min-height:480px}.benefits{grid-template-columns:1fr}.benefits .benefit:nth-child(n+2){display:none}.visual-copy{margin:50px 0}.visual-copy h1{font-size:54px}.admin-nav{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.admin-content{padding:15px}.register-hero,.admin-head{align-items:flex-start;flex-direction:column}.card{padding:20px}}

/* ===== V3 - VISUAL MATO GROSSO + RESPONSIVIDADE MOBILE ===== */
.auth-visual{
  background-image:
    linear-gradient(90deg,rgba(2,14,7,.88) 0%,rgba(2,14,7,.45) 55%,rgba(2,14,7,.15) 100%),
    linear-gradient(0deg,rgba(2,14,7,.82) 0%,rgba(2,14,7,0) 45%),
    url('mtb-bg.jpg');
  background-position:center;
  background-size:cover;
}
.auth-visual:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 72% 22%,rgba(255,198,78,.16),transparent 34%);
  pointer-events:none;
}
.visual-copy h1{max-width:720px;text-shadow:0 10px 34px rgba(0,0,0,.42)}
.visual-copy p{text-shadow:0 2px 12px rgba(0,0,0,.55)}
.auth-panel{background:linear-gradient(135deg,rgba(246,251,247,.98),rgba(238,247,241,.98))}
.auth-card{position:relative;z-index:2}
.auth-card:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-24px;
  border-radius:28px;
  background:rgba(255,255,255,.55);
  box-shadow:0 32px 90px rgba(3,49,22,.13);
}
.security-note{
  margin-top:18px;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:16px 18px;
  border-radius:13px;
  border:1px solid #cde7d4;
  background:linear-gradient(135deg,#effaf2,#f8fcf9);
  color:#244a31;
}
.security-note .shield{
  flex:0 0 38px;
  width:38px;height:38px;border-radius:10px;
  display:grid;place-items:center;
  color:var(--g);background:#def4e4;font-size:21px
}
.security-note strong{display:block;color:var(--gd);margin-bottom:3px}
.security-note span{display:block;color:var(--mut);font-size:12px;line-height:1.45}

@media(max-width:700px){
  body{background:
    linear-gradient(rgba(5,31,15,.58),rgba(5,31,15,.72)),
    url('mtb-bg.jpg') center/cover fixed;
  }
  .auth-shell{display:block;min-height:100svh;padding:14px}
  .auth-visual{display:none!important}
  .auth-panel{
    min-height:calc(100svh - 28px);
    padding:0;
    align-items:center;
    border-radius:20px;
    background:rgba(248,252,249,.96);
    box-shadow:0 24px 70px rgba(0,0,0,.30);
  }
  .auth-card{width:100%;max-width:430px;padding:18px 14px}
  .auth-card:before{display:none}
  .brand{margin-bottom:16px}
  .brand h1{font-size:27px}
  .brand p{font-size:12px;margin-top:4px}
  .tabs{border-radius:12px 12px 0 0}
  .tabs button{padding:14px 8px;font-size:12px}
  .card{padding:20px 18px;border-radius:0 0 12px 12px;box-shadow:0 16px 40px rgba(4,42,20,.12)}
  .form-title{font-size:22px}
  .form-sub{font-size:13px;margin-bottom:18px}
  input,select,textarea{padding:13px 14px;font-size:16px}
  .btn{min-height:48px}
  .security-note{margin-top:14px;padding:14px}
}
