@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders:ital,wght@0,600;0,700;0,800;0,900;1,800&family=Chakra+Petch:wght@400;500;600;700&display=swap');
:root{--admin-navy:#030523;--admin-orange:#fe5900;--admin-ink:#14172d;--admin-muted:#737887;--admin-line:#e4e6ec;--admin-surface:#f4f5f8;font-family:"Chakra Petch",Arial,sans-serif;color:var(--admin-ink);background:var(--admin-surface);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}
body>header{min-height:100px;background:var(--admin-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:20px max(5vw,24px);gap:24px;border-bottom:4px solid var(--admin-orange);position:relative}
body>header::after{content:"";position:absolute;right:8%;bottom:-4px;width:140px;height:4px;background:#fff;transform:skewX(-35deg)}
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;font-size:24px;font-weight:800;flex-shrink:0}.brand img{display:block;width:164px;height:auto;background:#fff;padding:7px}.brand small{font-size:9px;letter-spacing:3px;font-weight:700;color:#ff8b4c}
nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:600}nav form{margin:0}header nav>a{color:#d9dbe6;transition:color .15s}header nav>a:hover{color:var(--admin-orange)}
main{max-width:1280px;margin:40px auto;padding:0 28px 64px}h1,h2,h3{font-family:"Big Shoulders","Chakra Petch",sans-serif;font-weight:800;color:var(--admin-navy)}h1{font-size:clamp(38px,5vw,58px);text-transform:uppercase;line-height:1.05;letter-spacing:-.5px;margin:10px 0 14px}h2{font-size:27px;margin:0 0 22px;line-height:1.15;text-transform:uppercase;letter-spacing:.3px}h3{font-size:22px;margin-top:0}p{color:var(--admin-muted);font-size:14px;line-height:1.7}.eyebrow{font-size:10px;letter-spacing:2.5px;font-weight:700;color:var(--admin-orange);text-transform:uppercase;margin-bottom:8px}
.panel-links{justify-content:flex-start;gap:0;flex-wrap:wrap;margin:0 0 32px;border-bottom:1px solid #d9dce5}.panel-links a{padding:15px 24px;background:transparent;color:#74798a;font-size:13px;font-weight:700;text-transform:uppercase;border-bottom:3px solid transparent;margin-bottom:-1px;transition:color .15s,background .15s}.panel-links a:hover{color:var(--admin-orange);background:#fe590006}.panel-links a[aria-current="page"]{background:#fff;color:var(--admin-orange);border-bottom-color:var(--admin-orange)}
.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:28px}.card{background:#fff;border:1px solid var(--admin-line);border-radius:3px;padding:28px;box-shadow:0 6px 22px #03052303}.card>h2{padding-left:13px;border-left:3px solid var(--admin-orange)}.list{margin-top:24px}.login{max-width:480px;margin:65px auto;border-top:4px solid var(--admin-orange);padding:34px}.login h1{font-size:38px}.login .eyebrow{margin-top:0}
label{display:block;font-size:12px;font-weight:700;margin-bottom:20px;color:#373c50}small{font-weight:400}input,select{display:block;width:100%;min-height:46px;margin-top:9px;padding:12px 13px;border:1px solid #dce0e8;border-radius:2px;background:#fafbfc;color:var(--admin-ink);font-size:13px}input:focus,select:focus{outline:2px solid var(--admin-orange);outline-offset:2px;background:#fff}input[readonly]{background:#f0f2f6;color:#656d80;border-style:dashed}input[type="file"]{font-size:12px;padding:10px}input[type="file"]::file-selector-button{background:#eceef4;color:var(--admin-navy);border:0;padding:7px 10px;margin-right:12px;font:inherit;cursor:pointer}
button{border:0;border-radius:2px;padding:13px 22px;background:var(--admin-orange);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,color .15s}button:hover{background:var(--admin-navy)}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#eef0f5;color:#31394f;border:1px solid #e0e3eb}.secondary:hover{background:#dfe3ec;color:var(--admin-navy)}header .secondary{background:#ffffff0a;color:#fff;border:1px solid #ffffff25}header .secondary:hover{background:var(--admin-orange);border-color:var(--admin-orange)}button:focus-visible,a:focus-visible{outline:2px solid var(--admin-orange);outline-offset:3px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.hint{font-size:12px}.count{display:inline-block;vertical-align:middle;font-family:"Chakra Petch",sans-serif;font-size:11px;font-weight:700;background:#fff0e7;color:#ce4a05;border:1px solid #ffe0cc;padding:4px 9px;line-height:1;margin-left:8px;border-radius:2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}thead{background:var(--admin-navy)}th{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:#e2e4ee;font-weight:600}td,th{padding:17px 14px;border-bottom:1px solid #eaedf3}td{font-size:13px;color:#343b50;font-variant-numeric:tabular-nums}tbody tr:hover{background:#fafbfe}tbody tr:last-child td{border-bottom:0}.badge{font-size:11px;background:#fff0e7;color:#b94609;padding:5px 9px;border-radius:2px}
.player-name{display:flex;align-items:center;gap:12px;font-weight:600}.player-avatar{width:46px;height:46px;border-radius:2px;object-fit:cover;flex-shrink:0;border:1px solid #e3e6ed}.placeholder{display:grid;place-items:center;background:#eceff5;color:var(--admin-navy);font-weight:800}.edit-link{color:#d34a00;font-size:12px;font-weight:700}.edit-link:hover{text-decoration:underline}.cancel{margin-left:12px;font-size:12px;color:#7b8191}.goal-average{display:inline-block;font-weight:700;color:#5a6074;background:#f0f2f7;padding:4px 8px;border-radius:2px;font-variant-numeric:tabular-nums}.player-rating{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:5px 9px;border-radius:3px;color:#fff;background:var(--rating-color,#87918b);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #0005}
.alert{background:#f0f5fb;border:1px solid #d9e2f0;border-left:3px solid #5279b5;color:#354768;padding:15px 20px;border-radius:2px;margin-bottom:24px;font-size:13px}.error{background:#fff1ed;border-color:#f0d6cf;border-left-color:#ce4f37;color:#923c2a}
.match-management-grid{grid-template-columns:minmax(0,1fr);align-items:start}.match-form-toggle{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;background:#f6f7fa;border:1px solid var(--admin-line);border-left:3px solid var(--admin-orange);color:var(--admin-navy);font-family:"Big Shoulders",sans-serif;font-size:25px;font-weight:800;text-transform:uppercase;text-align:left;padding:16px 20px}.match-form-toggle:hover{background:#f0f2f7;color:var(--admin-orange)}.match-form-toggle span{font-family:"Chakra Petch",sans-serif;font-size:22px;color:var(--admin-orange);line-height:1}.match-form-toggle[aria-expanded="true"]{margin-bottom:26px}#match-form[hidden],#player-form[hidden]{display:none}#players,#player-editor{scroll-margin-top:24px}.player-grid{grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);margin-top:0;align-items:start}.player-grid:has(#player-form[hidden]){grid-template-columns:1fr}
.roster{border:1px solid #dfe3eb;border-radius:2px;padding:16px;min-width:0;margin:0 0 22px}.roster legend{font-family:"Big Shoulders",sans-serif;font-size:20px;font-weight:700;padding:0 8px;color:var(--admin-navy)}.roster-options{max-height:300px;overflow:auto}.roster-option{display:flex;align-items:center;gap:10px;padding:10px 8px;margin:0;font-size:13px;border-bottom:1px solid #f0f2f6}.roster-option:last-child{border-bottom:0}.roster-option:has(input:checked){background:#fff5ee;color:#bd4405}.roster-option input{width:17px;min-height:17px;height:17px;margin:0;flex-shrink:0;accent-color:var(--admin-orange)}.roster-option:has(input:disabled){opacity:.45}.quick-player-toolbar{display:flex;justify-content:flex-end;margin:4px 0 16px}.quick-player-toolbar button{font-size:12px;padding:9px 13px}.quick-player-form{padding:24px}.quick-player-form .hint,#quick-player-status{font-size:12px}
.match-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:280px;max-width:390px}.match-actions>a,.match-actions>button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;margin:0;padding:6px 9px;border:1px solid #dfe3eb;border-radius:2px;background:#f8f9fb;color:#586176;font:600 11px/1.3 "Chakra Petch",Arial,sans-serif;white-space:nowrap;text-decoration:none;box-shadow:none}.match-actions>a:hover,.match-actions>button:hover{color:#d34a00;background:#fff3ea;border-color:#ffd4b9}.match-actions>.preview-trigger{background:#fff3ea;border-color:#ffe1cb;color:#cb4b09}
.match-score-inputs{display:flex;align-items:center;gap:20px;margin:0 0 32px;padding:22px;background:#f6f7fa;border:1px solid #e1e5ed;border-radius:2px;max-width:420px}.match-score-inputs label{margin:0;flex:1;text-align:center}.match-score-inputs input{text-align:center;font-family:"Big Shoulders",sans-serif;font-size:36px;font-weight:800;min-width:0}.match-score-inputs>span{padding-top:20px;font-size:24px;color:#9197a6}.red-score{color:#b63737}.blue-score{color:#2266af}.stat-number{width:90px;margin:0}
.preview-dialog,.summary-dialog{padding:0;border:0;border-radius:3px;background:#fff;box-shadow:0 20px 80px #03052355;max-width:94vw;max-height:94dvh}.preview-dialog{width:min(820px,94vw);height:auto;overflow:hidden}.preview-dialog[open]{display:flex;flex-direction:column}.summary-dialog{width:min(560px,94vw);overflow:auto}.preview-dialog::backdrop,.summary-dialog::backdrop{background:#030523b8;backdrop-filter:blur(5px)}.preview-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:var(--admin-navy);border-top:3px solid var(--admin-orange)}.preview-dialog-header h2{color:#fff;margin:0;font-size:25px}.preview-dialog-header .secondary{background:#ffffff12;color:#fff;border-color:#ffffff20;font-size:11px;padding:9px 12px}.preview-image-body{padding:14px;overflow:auto;min-height:100px}.preview-image-body img{display:block;width:100%;height:auto;border-radius:0}.preview-image-body img[hidden]{display:none}.preview-image-body p{margin:8px}.preview-image-actions{display:flex;gap:12px;align-items:center;padding:0 14px 14px}.preview-image-actions [hidden]{display:none}.preview-image-actions a{padding:12px 18px;background:var(--admin-orange);border-radius:2px;font-weight:700;color:#fff;font-size:13px}#summary-form{padding:24px}.summary-actions{display:flex;align-items:center;gap:20px}#summary-status{font-size:13px}#summary-watch[hidden]{display:none}html.preview-open{overflow:hidden}
.venues{padding:0;list-style:none}.venues li{padding:14px 0;border-bottom:1px solid var(--admin-line);font-size:13px}
@media(max-width:960px){.player-grid{grid-template-columns:1fr}}
@media(max-width:720px){body>header{min-height:90px;padding:16px 20px;align-items:center;gap:16px}.brand img{width:135px}.brand small{font-size:8px;letter-spacing:2px}nav{gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:12px}nav button{padding:8px 12px}main{margin-top:26px;padding:0 16px 40px}.card{padding:20px}.grid,.row{grid-template-columns:1fr}.match-management-grid{grid-template-columns:1fr}.login{margin-top:30px;padding:25px}.panel-links{justify-content:flex-start;margin-bottom:26px}.panel-links a{padding:13px 16px;font-size:12px}.match-actions{max-width:300px}.preview-dialog-header{padding:12px 16px}.preview-dialog-header h2{font-size:21px}.match-form-toggle{font-size:23px;padding:14px 16px}h1{font-size:40px}td,th{padding:14px 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.match-details-grid{display:grid;grid-template-columns:minmax(200px,2fr) 170px 140px minmax(180px,1.5fr);gap:14px}.match-details-grid label,.match-team-sizes label{margin-bottom:14px;font-size:11px;min-width:0}.match-details-grid input,.match-team-sizes input{min-height:36px;height:36px;margin-top:6px;padding:7px 10px;font-size:12px;min-width:0}.match-team-sizes{display:flex;gap:14px}.match-team-sizes label{width:180px;max-width:50%}@media(max-width:1000px){.match-details-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.match-details-grid .match-title-field{grid-column:1/-1}.match-details-grid .match-venue-field{grid-column:1/-1}}
.match-details-grid{grid-template-columns:minmax(155px,1.1fr) 150px 115px minmax(175px,1.3fr) 150px;gap:12px}.match-details-grid .match-title-field,.match-details-grid .match-venue-field{grid-column:auto}#match-form .roster-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:360px;padding:2px}#match-form .roster-option{gap:8px;padding:8px;border:1px solid #e3e6ee;border-radius:3px;min-height:55px;cursor:pointer}#match-form .roster-option:last-child{border-bottom:1px solid #e3e6ee}#match-form .roster-option:has(input:checked){border-color:#fe5900;background:#fff4ec}#match-form .roster-option input{width:14px;height:14px;min-height:14px}#match-form .roster-player-photo{display:block;width:36px;height:36px;min-height:36px;object-fit:cover;flex-shrink:0;border-radius:2px;border:1px solid #e2e6ed}#match-form .roster-player-initial{display:grid;place-items:center;background:#111a36;color:#fff;font-weight:800;font-size:17px}#match-form .roster-player-name{font-size:11px;line-height:1.35;overflow-wrap:anywhere}@media(max-width:950px){.match-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.match-details-grid .match-title-field,.match-details-grid .match-venue-field{grid-column:1/-1}#match-form .roster-options{grid-template-columns:repeat(2,minmax(0,1fr))}#match-form .roster-option{padding:6px;gap:5px}#match-form .roster-player-photo{width:29px;height:29px;min-height:29px}#match-form .roster-player-name{font-size:10px}}
.delete-record-form{display:inline-flex;margin:0;vertical-align:middle}.delete-record-form .delete-record-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 9px;border:1px solid #f0ceca;border-radius:2px;background:#fff3f1;color:#b43f32;font-size:11px;line-height:1.3;font-weight:600}.delete-record-form .delete-record-button:hover{background:#b43f32;border-color:#b43f32;color:#fff}
.admin-topbar nav{gap:12px}.admin-topbar nav>.admin-top-link{padding:12px 16px;border:1px solid #ffffff25;background:#ffffff06;color:#d9dbe6;font-size:12px;font-weight:700;text-transform:uppercase}.admin-topbar nav>.admin-top-link:hover{border-color:#fe5900;color:#fff;background:#fe59001a}.admin-topbar nav>.admin-top-link[aria-current="page"]{background:var(--admin-orange);border-color:var(--admin-orange);color:#fff}.admin-site-link{margin-inline:8px}@media(max-width:720px){.admin-topbar{flex-wrap:wrap}.admin-topbar nav{width:100%;justify-content:flex-start;gap:8px}.admin-topbar nav>.admin-top-link{padding:10px 12px;font-size:11px}.admin-site-link{margin-left:auto;font-size:11px}.admin-topbar nav form button{padding:9px 10px;font-size:11px}}
.player-identity-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr);gap:14px}.player-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.player-identity-grid label,.player-stats-grid label{min-width:0;margin-bottom:14px;font-size:11px}.player-identity-grid input,.player-stats-grid input{min-height:38px;height:38px;padding:8px 10px;margin-top:6px;font-size:12px}.player-identity-grid input[type="file"]{padding:5px}.player-identity-grid input[type="file"]::file-selector-button{padding:5px 8px}.player-identity-grid+.hint{margin-top:0;margin-bottom:18px}@media(max-width:650px){.player-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.player-identity-grid label:last-child{grid-column:1/-1}.player-stats-grid{gap:9px}.player-stats-grid label{font-size:10px}}
.player-name>span,.roster-player-name,.football-name,.ranking-player span,.leader-name,.public-player-name,.home-player-card .player-content h4,.match-summary .lineup-result-items .left-item>p,.roster-player-initial,.public-player-initial,.ranking-player-initial,.home-player-placeholder,.leader-initial,input[name="first_name"],input[name="last_name"]{text-transform:uppercase}
