:root{--navy:#071c3d;--blue:#087bc1;--sky:#69c8ff;--white:#fff;--ink:#152238;--muted:#6f7b8e;--line:#dbe4ef;--bg:#f2f6fb;--orange:#f38b18;--green:#15804b;--red:#ad2436}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}.topbar{min-height:82px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:10px clamp(20px,4vw,62px);box-shadow:0 7px 24px #071c3d35}.brand{display:flex;align-items:center;gap:16px;color:white;text-decoration:none}.brand img{width:96px;height:62px;object-fit:contain;background:white;border-radius:8px;padding:4px}.brand span{display:flex;flex-direction:column;letter-spacing:.04em}.brand small{opacity:.72;margin-top:3px;letter-spacing:0}.topbar nav{display:flex;gap:10px}.topbar nav a{color:white;text-decoration:none;padding:10px 14px;border:1px solid #ffffff42;border-radius:10px}.container{max-width:1240px;margin:0 auto;padding:38px 24px 64px}.hero,.card-page-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.hero h1,.card-page-heading h1,.form-panel h1{font-size:clamp(31px,4vw,50px);margin:5px 0 8px;color:var(--navy)}.hero p,.card-page-heading p{max-width:750px;color:var(--muted);font-size:18px;line-height:1.55;margin:0}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--blue)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border-radius:11px;text-decoration:none;border:0;font-weight:800;cursor:pointer;font-size:15px;color:var(--navy);background:#e8eef5}.button.primary{background:linear-gradient(135deg,var(--blue),#00a8e8);color:#fff;box-shadow:0 8px 20px #087bc13b}.button.secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}.button.full{width:100%}.panel{background:white;border:1px solid var(--line);border-radius:19px;box-shadow:0 12px 36px #1522380c}.status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:26px}.status-card{padding:20px;border-radius:16px;border:1px solid var(--line);background:white;display:grid;gap:5px}.status-card b{font-size:16px}.status-card span{font-weight:800}.status-card small{color:var(--muted)}.status-card.ok{border-top:4px solid var(--green)}.status-card.ok span{color:var(--green)}.status-card.pending{border-top:4px solid var(--orange)}.status-card.pending span{color:#b35c00}.section-title{padding:22px 25px 14px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.section-title h2{margin:0;color:var(--navy)}.section-title>span{color:var(--muted)}.season-filter{display:flex;align-items:center;gap:14px;color:var(--muted)}.season-filter label{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13px;color:var(--ink)}.season-filter select{min-width:160px;padding:10px 12px;border:1px solid #cbd7e5;border-radius:10px;font:inherit;background:#fff}.bulk-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:0 25px 14px}.bulk-select-all{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.bulk-actions{display:flex;gap:10px;flex-wrap:wrap}.bulk-actions .button{min-height:40px;padding:8px 14px;font-size:14px}.button.danger{background:var(--red);color:#fff}.csv-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:0 25px 14px}.csv-import{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.csv-import input[type=file]{max-width:260px}.actions{display:flex;align-items:center;gap:10px}.inline-delete{display:inline;margin:0}.link-danger{background:none;border:0;color:var(--red);font-weight:750;cursor:pointer;padding:0;font:inherit}.delete-athlete-form{padding:0 25px 26px;border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:15px 20px;border-top:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.athlete-cell{display:flex;align-items:center;gap:12px}.athlete-cell img{width:46px;height:46px;border-radius:50%;object-fit:cover}.actions a{color:var(--blue);font-weight:750;text-decoration:none;margin-right:13px}.badge{font-size:11px;padding:6px 9px;border-radius:999px;font-weight:900;letter-spacing:.08em}.badge.active{background:#dcf7e8;color:var(--green)}.badge.inactive{background:#ffe4e8;color:var(--red)}.flash{padding:14px 17px;border-radius:12px;margin-bottom:18px;font-weight:650}.flash.success{background:#ddf8e8;color:#0d6a3c}.flash.error{background:#ffe7ea;color:#921c2c}.login-panel{max-width:490px;margin:75px auto;padding:32px}.login-panel h1{margin-top:0;color:var(--navy)}.stack{display:grid;gap:16px}.hint{color:var(--muted)}code{background:#eef3f8;border-radius:6px;padding:2px 5px;overflow-wrap:anywhere}.form-panel{padding-bottom:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:10px 25px 26px}.form-grid label,.stack label{font-weight:800;font-size:14px;display:grid;gap:7px}.form-grid input,.stack input{width:100%;padding:13px 14px;border:1px solid #cbd7e5;border-radius:10px;font:inherit}.form-grid small{font-weight:400;color:var(--muted)}.form-grid .wide{grid-column:1/-1}.check{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check input{width:auto}.form-actions{display:flex;justify-content:flex-end;gap:12px}.card-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:25px;align-items:start}.wallet-card{aspect-ratio:1.75/1;min-height:460px;border-radius:32px;padding:34px 38px;color:white;background:linear-gradient(145deg,#071c3d 15%,#084d86 62%,#00a3e6 125%);position:relative;overflow:hidden;box-shadow:0 25px 55px #071c3d4d}.wallet-card:before{content:"";position:absolute;width:650px;height:400px;border-radius:50%;background:#ffffff0d;transform:rotate(-20deg);bottom:-200px;left:-100px}.wallet-top,.wallet-card>*{position:relative;z-index:1}.wallet-top{display:flex;align-items:flex-start;justify-content:space-between}.wallet-logo{width:220px;height:140px;object-fit:contain;background:#fffffff0;border-radius:13px;padding:8px}.wallet-photo{width:145px;height:145px;border-radius:50%;object-fit:cover;border:7px solid white;box-shadow:0 8px 24px #0004}.wallet-kicker{display:block;color:#8ed4ff;letter-spacing:.16em;font-weight:900;font-size:13px;margin-top:24px}.wallet-card h2{font-size:36px;margin:7px 0 22px}.wallet-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.wallet-fields div{display:grid;gap:4px}.wallet-fields small{font-size:10px;letter-spacing:.08em;color:#a9dcfa}.wallet-fields b{font-size:17px}.wallet-bottom{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;margin-top:28px}.wallet-bottom img{width:105px;height:105px;background:white;padding:6px}.wallet-bottom span{display:grid;text-align:right}.wallet-bottom span b{font-size:18px}.wallet-bottom small{color:#bfe8ff}.inactive-card{filter:grayscale(.75)}.issue-panel{padding:25px}.issue-panel h2{margin-top:0;color:var(--navy)}.issue-panel p{color:var(--muted);line-height:1.5}.button.wallet{width:100%;margin-top:12px}.button.wallet.apple{background:#111;color:#fff}.button.wallet.google{background:#fff;color:#202124;border:1px solid #c7c7c7}.button.wallet.disabled,.button.disabled{opacity:.45;pointer-events:none;cursor:not-allowed;color:#202124}.verification-box{margin-top:20px;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:8px}.verification-box code{font-size:11px}.verification-box a{color:var(--blue);font-weight:800}.privacy-note{font-size:12px}.verify-body{min-height:100vh;background:linear-gradient(150deg,#071c3d,#087bc1);display:grid;place-items:center;padding:24px}.verify-panel{background:white;width:min(440px,100%);border-radius:26px;padding:29px;text-align:center;box-shadow:0 30px 70px #0005}.verify-logo{width:210px;height:145px;object-fit:contain}.verify-status{margin:4px auto 22px;padding:10px 14px;border-radius:999px;font-weight:900;letter-spacing:.05em}.verify-status.valid{background:#dff8e9;color:var(--green)}.verify-status.invalid{background:#ffe5e8;color:var(--red)}.verify-photo{width:165px;height:165px;border-radius:50%;object-fit:cover;border:6px solid #eaf2fa}.verify-panel h1{margin:14px 0 3px;color:var(--navy)}.verify-panel>p{color:var(--muted);margin-top:0}.verify-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.verify-panel dl div{background:#f2f6fb;border-radius:12px;padding:12px}.verify-panel dt{font-size:11px;color:var(--muted);text-transform:uppercase}.verify-panel dd{margin:5px 0 0;font-weight:900}.verify-panel>small{color:var(--muted)}footer{text-align:center;padding:25px;color:#7d8795;font-size:12px}
@media(max-width:900px){.status-grid{grid-template-columns:1fr 1fr}.card-layout{grid-template-columns:1fr}.wallet-card{min-height:unset}.wallet-fields{grid-template-columns:1fr 1fr}.wallet-card h2{font-size:29px}.hero,.card-page-heading{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.topbar{align-items:flex-start;gap:10px;flex-direction:column}.brand img{width:76px}.topbar nav{width:100%;overflow:auto}.wallet-logo{width:160px;height:105px}.wallet-photo{width:110px;height:110px}.wallet-card{padding:25px}.wallet-bottom{margin-top:17px}}
@media(max-width:560px){.container{padding:25px 14px 50px}.wallet-card{border-radius:20px}.wallet-fields{gap:10px}.wallet-fields b{font-size:14px}.wallet-bottom img{width:88px;height:88px}.wallet-card h2{font-size:24px}.wallet-kicker{font-size:10px}.wallet-logo{width:125px;height:80px}.wallet-photo{width:90px;height:90px}.brand small{display:none}}
