@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Space+Grotesk:wght@400;500;600&display=swap";:root{--font-body: "Space Grotesk", sans-serif;--font-display: "Fraunces", serif;--ink: #1b1b1f;--muted: #6b6b70;--sand: #f7f1e7;--accent: #ed7b2b;--accent-dark: #d4661b;--surface: #ffffff;--stroke: #e5dfd4;--shadow-lg: 0 18px 40px rgba(33, 35, 56, .08);--shadow-md: 0 14px 30px rgba(30, 36, 66, .06)}:root{font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--ink);background-color:#f5f2eb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#fef6e8,#f5f2eb 45%,#eef2f6)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select{font:inherit}#root{max-width:1440px;margin:0 auto;padding:2.5rem 1.5rem 3rem}.app{display:flex;flex-direction:column;gap:2rem}.grid{display:grid;gap:2rem}@media(min-width:960px){.grid{grid-template-columns:minmax(0,1fr)}}@media(min-width:1280px){#root{max-width:1680px;padding:3rem 2.5rem 4rem}}.hero{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:2rem;border-radius:24px;background:linear-gradient(135deg,#fff2da,#fff 60%,#f3f6ff);box-shadow:var(--shadow-lg)}.page-loader{position:fixed;inset:0;background:#f7f4eee6;display:grid;place-items:center;z-index:2000}.page-loader__card{display:grid;place-items:center;gap:.75rem;padding:1.5rem 2rem;border-radius:16px;background:#fff;border:1px solid var(--stroke);box-shadow:var(--shadow-md);color:var(--muted)}.page-loader__spinner{width:36px;height:36px;border-radius:50%;border:3px solid #f0e6d6;border-top-color:var(--accent);animation:spin .9s linear infinite}.button-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(28,27,31,.15);border-top-color:var(--accent);animation:spin .9s linear infinite}.inline-loader{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border-radius:12px;background:#fffaf1;border:1px dashed var(--stroke);color:var(--muted);font-size:.9rem}.standings-table{display:grid;gap:.5rem}.standings-table__header,.standings-table__row{display:grid;grid-template-columns:48px minmax(140px,1.3fr) minmax(120px,1fr) repeat(9,minmax(48px,.6fr)) minmax(120px,.9fr);align-items:center;gap:.5rem;padding:.75rem .5rem;border-radius:12px}.standings-table__header{background:#fdf6ec;border:1px solid var(--stroke);font-weight:600;text-transform:uppercase;font-size:.75rem;color:var(--muted);letter-spacing:.08em}.standings-table__row{border:1px solid var(--stroke);background:#fff}.standings-team{display:inline-flex;align-items:center;gap:.6rem;font-weight:600}.standings-points{font-weight:700;color:var(--accent)}.standings-actions{display:inline-flex;gap:.6rem;flex-wrap:wrap}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.7rem;color:var(--muted);margin:0 0 .6rem}h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 .6rem;color:var(--ink)}.subtitle{margin:0;color:var(--muted);max-width:32ch}.panel{background:var(--surface);border-radius:24px;padding:2rem;border:1px solid var(--stroke);box-shadow:var(--shadow-md)}.form{display:grid;gap:1rem;margin-bottom:1.5rem}.form-fieldset{border:none;padding:0;margin:0;display:grid;gap:1rem;min-inline-size:0}.form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.form label{display:grid;gap:.5rem;font-size:.9rem;color:var(--muted)}.form input,.form select,.form textarea{padding:.75rem .9rem;border-radius:12px;border:1px solid var(--stroke);background:#faf8f4}.form textarea{resize:vertical;min-height:96px}.checkbox-field{display:flex;align-items:center;gap:.75rem;font-size:.95rem;color:var(--ink)}.checkbox-field input{width:18px;height:18px}.upload-preview{display:inline-flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:14px;border:1px dashed var(--stroke);background:#fdfbf8}.upload-preview img{width:72px;height:72px;border-radius:12px;object-fit:cover;border:1px solid var(--stroke)}.upload-status{margin:0;font-size:.85rem;color:var(--muted)}.upload-error{margin:0;font-size:.85rem;color:#b3261e}.primary{background:var(--accent);color:#fff;border:none;padding:.85rem 1.6rem;border-radius:999px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary:hover{transform:translateY(-1px);box-shadow:0 10px 20px #ed7b2b40}.secondary{background:#fff;color:var(--ink);border:1px solid var(--stroke);padding:.85rem 1.6rem;border-radius:999px;font-weight:600;cursor:pointer}.secondary:hover{border-color:var(--accent)}.ghost{background:transparent;border:1px solid var(--stroke);padding:.6rem 1.2rem;border-radius:999px;color:var(--muted);cursor:pointer}.ghost:disabled{opacity:.6;cursor:default}.section-header{display:flex;justify-content:space-between;align-items:center;margin:1.5rem 0 .8rem;color:var(--muted);font-size:.9rem}.list{display:grid;gap:.75rem}.list-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border-radius:16px;border:1px solid transparent;background:var(--sand);text-align:left;cursor:pointer;transition:border .2s ease,background .2s ease}.list-item.active{border-color:var(--accent);background:#fff7ed}.list-item p{margin:0;color:var(--muted);font-size:.85rem}.list-item__actions,.card-actions{display:flex;align-items:center;gap:.75rem}.match-card__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.link-button{background:transparent;border:none;color:var(--accent);font-weight:600;cursor:pointer;padding:.35rem .5rem;border-radius:8px}.link-button:hover{background:#ed7b2b1f}.icon-button{border:1px solid var(--stroke);background:#fff;color:var(--ink);width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.icon-button svg{width:18px;height:18px;fill:currentColor}.icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #1c1c1c1f}.icon-button--danger{color:#b92a2a;border-color:#b92a2a4d}.status-pill{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;background:#f0ede7;color:#5b5143}.status-pill--active{background:#e8f7ea;color:#1d6b2a}.status-pill--inactive{background:#f5efe8;color:#7b6b55}.status-toggle{display:inline-flex;align-items:center;gap:.45rem;border-radius:999px;border:1px solid transparent;padding:.35rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;background:#fff;color:var(--ink)}.status-toggle svg{width:14px;height:14px;fill:currentColor}.status-toggle--active{border-color:#b92a2a4d;color:#b92a2a;background:#fff4f2}.status-toggle--inactive{border-color:#1d6b2a59;color:#1d6b2a;background:#eef8f0}.cards{display:grid;gap:1rem}.team-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:#fffaf1;border-radius:16px;border:1px solid var(--stroke);width:100%;text-align:left}.card-media{display:flex;align-items:center;gap:.7rem}.avatar{width:56px;height:56px;border-radius:16px;background:#f4efe7;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-weight:600;border:1px solid var(--stroke);overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--placeholder{background:#e3ded6;color:transparent}.avatar--team{width:36px;height:36px;border-radius:12px;font-size:.75rem}.avatar--player{width:34px;height:34px;border-radius:12px;font-size:.7rem}.avatar--sm{width:44px;height:44px;border-radius:14px}.avatar--xs{width:28px;height:28px;border-radius:10px;font-size:.7rem}.team-card p{margin:0;color:var(--muted)}.team-card.selectable{cursor:pointer;transition:border .2s ease,transform .2s ease}.team-card.selectable:hover{border-color:var(--accent);transform:translateY(-1px)}.team-card.active{border-color:var(--accent);box-shadow:0 8px 18px #ed7b2b2e}.player-card h4{margin-bottom:.35rem}.match-card p{margin:0;color:var(--muted)}.match-card__meta{display:grid;gap:.35rem;justify-items:end}.match-card__teams{display:flex;align-items:center;gap:.75rem}.match-card__score{font-family:var(--font-display);font-size:1rem;color:var(--ink)}.match-date-time{font-family:var(--font-display);letter-spacing:.02em}.match-details__teams{display:flex;align-items:center;gap:.85rem}.score-banner__team{display:flex;align-items:center;gap:.55rem;justify-content:center}.player-cell{display:inline-flex;align-items:center;gap:.5rem}.staff-item{display:flex;align-items:center;gap:.6rem}.matches-layout{display:grid;gap:1.5rem}.matches-column{display:flex;flex-direction:column;gap:1.2rem}.match-details--loading{display:grid;place-items:center;gap:.5rem;min-height:220px}.match-details__header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.live-score-badge{display:grid;justify-items:end;gap:.4rem;text-align:right}.live-score-badge__score{font-size:1rem;font-weight:700;color:var(--ink)}.match-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;margin:1rem 0 1.5rem}.match-actions label{display:grid;gap:.4rem;font-size:.85rem;color:var(--muted)}.match-actions select{padding:.6rem .8rem;border-radius:10px;border:1px solid var(--stroke);background:#fff}.score-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;margin:1.2rem 0 1.5rem;padding:1rem 1.5rem;border-radius:16px;background:#fff;border:1px solid var(--stroke);font-size:1.6rem;font-weight:600}.score-banner__row{display:flex;align-items:center;justify-content:center;gap:1.5rem}.score-banner__teams{width:100%;justify-content:center;font-size:.85rem;font-weight:500}.score-banner__scores{width:100%;justify-content:center;font-size:2rem;font-weight:700}.score-banner__team{min-width:140px;text-align:center}.score-banner__penalty-title{font-size:.85rem;font-weight:500}.score-banner__penalty-score{font-size:1.1rem;font-weight:600}.match-officials{margin-top:1.5rem;padding:1.2rem;border-radius:16px;background:#fff;border:1px solid var(--stroke)}.match-officials__grid{display:grid;gap:.75rem}.match-officials__row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.2fr) minmax(200px,1.4fr) auto;gap:.75rem;align-items:center}.match-officials__row select,.match-officials__row input:not(.match-officials__file){padding:.5rem .65rem;border-radius:10px;border:1px solid var(--stroke);background:#faf8f4}.match-officials__image{display:grid;gap:.35rem;align-items:center}.match-officials__image .avatar{justify-self:start}.match-officials__file{padding:.35rem 0;border:none;background:transparent}.match-officials__actions{margin-top:.9rem;display:flex;justify-content:flex-end;gap:.75rem}@media(max-width:720px){.match-officials__row{grid-template-columns:1fr}.match-officials__actions{flex-direction:column;align-items:stretch}}.score-banner span{display:block}.score-divider{font-size:1.5rem;color:var(--muted)}.winner-badge{margin-left:.4rem;padding:.1rem .45rem;border-radius:999px;background:#1d7f3b;color:#fff;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em}.penalty-score{font-size:.95rem;letter-spacing:.02em}.score-breakdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:760px;margin:0 auto 1.5rem}.score-breakdown__team{background:#fff;border-radius:16px;border:1px solid var(--stroke);padding:1rem 1.2rem}.score-breakdown__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:.6rem}@media(max-width:720px){.score-breakdown{grid-template-columns:1fr;max-width:100%}}.score-banner .score-breakdown{max-width:100%;margin:1rem 0 0}.score-editor{margin-top:1.5rem;padding:1.25rem;border-radius:18px;background:#fff;border:1px solid var(--stroke);display:grid;gap:1rem}.score-editor__grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.score-editor__team{display:grid;gap:.75rem;padding:.9rem 1rem;border-radius:14px;border:1px solid var(--stroke);background:#fff}.score-editor__inputs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}.score-editor__inputs label{display:grid;gap:.25rem;font-size:.7rem;color:var(--muted);text-align:center}.score-editor__inputs input{width:100%;box-sizing:border-box;padding:.35rem .45rem;border-radius:7px;border:1px solid var(--stroke);background:#faf8f4;font-size:.75rem}.score-editor__inputs input:disabled{background:#f3f0e8;color:#a1a1a1}.team-label{display:inline-flex;align-items:center;gap:.5rem}.team-label--center{justify-content:center}.score-editor__button{justify-self:center;padding:.5rem .9rem;font-size:.85rem;border-radius:10px}.match-result{margin-top:1.25rem;padding:1rem 1.2rem;border-radius:16px;border:1px solid var(--stroke);background:#fff;display:grid;gap:.75rem}.match-result__row{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end}.match-result__row label{display:grid;gap:.35rem;font-size:.8rem;color:var(--muted)}.match-result__row select{padding:.45rem .6rem;border-radius:10px;border:1px solid var(--stroke);background:#faf8f4}@media(max-width:720px){.match-result__row{grid-template-columns:1fr}}@media(max-width:720px){.score-editor__grid{grid-template-columns:1fr}}.match-details__staff{margin-top:1.5rem}.staff-grid{display:grid;gap:1rem}.staff-card{padding:1rem 1.2rem;border-radius:16px;background:#fff;border:1px solid var(--stroke)}.staff-card ul{margin:.6rem 0 0;padding-left:1rem}.match-details__stats{display:grid;gap:1.5rem}.player-stat-list{display:grid;gap:.9rem}.player-stats{margin-top:1.5rem}.player-stat-card{background:#fff;border-radius:14px;border:1px solid var(--stroke);padding:.9rem 1rem}.player-stat-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.player-stat-grid{display:grid;gap:.5rem;margin-top:.75rem}.stat-row{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.85rem}.stat-row span:after{content:":"}.stat-row strong{color:var(--ink)}.stats-table{display:grid;gap:.5rem;margin-top:.75rem}.stats-columns{display:grid;gap:1.5rem;margin-top:.75rem;min-width:0}.stats-column{background:#fff;border-radius:16px;border:1px solid var(--stroke);padding:1rem;min-width:0}.stats-column__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}.stats-grid{display:grid;gap:.4rem;overflow-x:auto;width:100%;max-width:100%}.stats-grid__row{display:grid;grid-template-columns:.45fr 1.25fr .85fr .7fr repeat(8,.55fr) .6fr .85fr;gap:0;align-items:center;justify-items:stretch;padding:.35rem .45rem;border-radius:10px;background:#faf6ee;border:1px solid var(--stroke);font-size:.8rem;min-width:860px}.stats-grid__row>*{border-left:1px solid rgba(0,0,0,.08);padding:.2rem .35rem}.stats-grid__row>*:first-child{border-left:none;padding-left:0}.stats-grid__header{background:#f1e9dc;font-weight:600}.stats-grid__row span{color:var(--muted);text-align:center;display:block}.stats-grid__header span{color:var(--ink)}.stats-grid__row span:nth-child(2){text-align:left}.stats-grid__row span:nth-child(1){text-align:center}.inline-action{text-align:center}.stats-input{width:100%;padding:.2rem .35rem;border-radius:8px;border:1px solid var(--stroke);background:#fff;font-size:.75rem;text-align:center}.stats-input--text{text-align:left}.stats-input[type=number]{appearance:textfield}.stats-input[type=number]::-webkit-inner-spin-button,.stats-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stats-input:disabled{background:#f3f0e8;color:#a1a1a1}.stats-select{padding:.35rem .4rem;border-radius:8px;border:1px solid var(--stroke);background:#faf8f4;font-size:.75rem}.stats-select:disabled{background:#f3f0e8;color:#a1a1a1}.inline-action{border:none;padding:.3rem .4rem;border-radius:8px;background:var(--accent);color:#fff;font-size:.7rem;cursor:pointer}.inline-action:disabled{opacity:.55;cursor:not-allowed}@media(min-width:960px){.matches-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}}@media(min-width:720px){.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.stats-grid__row{font-size:.78rem;min-width:0}}@media(min-width:1280px){.stats-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.badge{padding:.3rem .7rem;border-radius:999px;background:var(--ink);color:#fff;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.badge--live{background:#c1121f;color:#fff}.pill{display:inline-flex;align-items:center;padding:.1rem .5rem;border-radius:999px;background:#f5dfc4;color:var(--ink);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.empty-state{padding:1.2rem;border-radius:16px;border:1px dashed var(--stroke);color:var(--muted);text-align:center;background:#faf8f4}.status{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.2rem;border-radius:12px;font-weight:500;box-shadow:0 14px 30px #1c1c1c1f}.status.success{background:#e8f7ea;color:#1d6b2a}.status.error{background:#ffe9e6;color:#b92a2a}.status-toast{position:fixed;top:1.25rem;right:1.5rem;z-index:50;max-width:min(360px,calc(100vw - 2rem))}.status-close{border:none;background:transparent;color:inherit;font-size:1.2rem;line-height:1;cursor:pointer}.muted{margin:0;color:var(--muted)}.status-text{font-size:.85rem;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.confirm-overlay{position:fixed;inset:0;background:#0d0d0d59;display:grid;place-items:center;z-index:60;padding:1.5rem}.confirm-dialog{background:var(--surface);border-radius:20px;border:1px solid var(--stroke);padding:1.5rem;box-shadow:var(--shadow-md);max-width:420px;width:100%;display:grid;gap:1.25rem}.status-text--live{color:#c1121f}.tabs{display:flex;flex-wrap:wrap;gap:.75rem}.tab{border:1px solid var(--stroke);background:#fff;padding:.55rem 1.1rem;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:600}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.match-details{padding:1.5rem;border-radius:20px;background:#fdf9f2;border:1px solid var(--stroke)}.match-details__header{display:flex;align-items:center;justify-content:space-between}.match-details__grid{display:grid;gap:1rem;margin-top:1.2rem}.match-details__card{padding:1rem 1.2rem;border-radius:16px;background:#fff;border:1px solid var(--stroke)}.score-line{font-weight:600;margin-top:.6rem}@media(min-width:720px){.match-details__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
