@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Space+Grotesk:wght@400;600;700&display=swap";:root{--ink:#102a43;--paper:#fffef8;--accent:#e85d04;--accent-dark:#c44900;--line:#d9d5c7;--panel:#fff;--muted:#5f6c7b;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;font-family:Space Grotesk,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--ink);margin:0;overflow-y:auto}#root{width:100%;min-height:100vh;color:var(--ink);--table-cell-py:clamp(.28rem, .8vw, .55rem);--table-cell-px:clamp(.2rem, .8vw, .4rem);--table-font-size:clamp(.78rem, 1.35vw, .95rem);margin:0;padding:0}.admin-login{place-items:center;min-height:100vh;padding:1rem;display:grid}.admin-login-card{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%);border:1px solid var(--line);text-align:center;background:#ffffffbf;border-radius:16px;flex-direction:column;gap:.75rem;width:min(380px,100%);padding:2rem;display:flex;box-shadow:0 12px 20px #102a430d}h1,h2,h3,h4{letter-spacing:.02em;margin:0;font-family:Bebas Neue,Trebuchet MS,sans-serif}h1{font-size:clamp(1.8rem,5vw,2.8rem);line-height:1}h2{font-size:clamp(1.35rem,3.4vw,2rem)}h3{font-size:clamp(1.2rem,2.8vw,1.65rem)}h4{font-size:clamp(1.05rem,2.2vw,1.35rem)}a{color:var(--accent-dark)}button,input,select,textarea{font-family:inherit;font-size:.95rem}button,input,select{border:1px solid var(--line);border-radius:10px}button{appearance:none;background:var(--accent);color:#fff;cursor:pointer;border:1px solid #fff3;padding:.55rem .82rem;font-weight:700;transition:transform .12s,background .12s}button:hover,button:focus-visible{background:var(--accent-dark);transform:translateY(-1px)}input,select,textarea{color:var(--ink);background:#fff;padding:.6rem .7rem}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #0d3b66}.home-page,.admin-page{z-index:1;position:relative}.hero{text-align:center;color:#fff;background:linear-gradient(135deg,#0d3b66,#1d3557);place-items:center;min-height:10vh;padding:1rem;display:grid;position:relative;overflow:hidden}.admin-hero{min-height:10vh}.hero-overlay{pointer-events:none;background:repeating-linear-gradient(-35deg,#0000,#0000 10px,#ffffff0a 10px 20px);position:absolute;inset:0}.hero-content{place-items:center;gap:.35rem;max-width:760px;animation:.7s ease-out both floatIn;display:grid;position:relative}.title-with-icon{justify-content:center;align-items:center;gap:clamp(.5rem,3vw,1.5rem);display:flex}.title-dartboard{flex-shrink:0;width:clamp(35px,8vw,65px);height:auto}.container{width:min(1100px,94%);margin:1.5rem auto 2.5rem}.layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:1rem;display:grid}.sidebar{max-height:calc(100vh - 2rem);position:sticky;top:1rem}.sidebar-top{margin-bottom:.5rem}.sidebar-nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(4px)saturate(180%);backdrop-filter:blur(4px)saturate(180%);background:#ffffffa6;border-radius:16px;gap:.45rem;padding:.8rem;display:grid;box-shadow:0 12px 20px #102a430d}.nav-button,.nav-anchor,.admin-logout{color:var(--ink);text-align:left;background:0 0;border:none;border-radius:10px;padding:.55rem .65rem;font-weight:700;text-decoration:none;transition:background .12s,transform .12s}.nav-button:hover,.nav-button:focus-visible,.nav-anchor:hover,.nav-anchor:focus-visible,.admin-logout:hover,.admin-logout:focus-visible{color:var(--ink);background:#f2f4f8;transform:translate(2px)}.nav-button.active{background:#ffe5d0}.admin-link.nav-anchor{background:#edf2ff}.admin-logout{width:100%}.content{min-width:0}.content>h2{margin-bottom:.8rem}.panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%);background:#ffffffa6;border-radius:16px;animation:.45s both riseIn;box-shadow:0 12px 20px #102a430d}.admin-section,.info-card,.date-group,.date-group-admin,.add-section,.enquiry-card{border:1px solid var(--line);background:#ffffff26;border-radius:16px;animation:.45s both riseIn;box-shadow:0 12px 20px #102a430d}.panel,.admin-section,.date-group,.date-group-admin{overflow-x:auto}.panel,.admin-section,.info-card,.date-group,.date-group-admin{padding:1rem}.add-section{border-style:dashed;margin-top:1rem;margin-bottom:1rem;padding:.9rem}.admin-section{margin-bottom:1rem}.admin-section h3,.admin-section h4,.content h3,.content h4{margin-bottom:.5rem}.content ul{margin:.6rem 0 0;padding-left:1.2rem}.content li{text-align:left;color:var(--muted)}.filter-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.filter-bar label{color:var(--muted);font-size:.9rem}.fixtures-grouped,.enquiries-list{flex-direction:column;gap:1rem;display:flex}.enquiry-card{text-align:left;opacity:.7;border-left:none}.enquiry-card.unread{opacity:1;border-left:3px solid var(--accent)}.enquiry-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.enquiry-line,.enquiry-label,.enquiry-message,.enquiry-time{margin:.3rem 0}.enquiry-time{color:#888;font-size:.8rem}.enquiry-new-badge{color:var(--accent-dark);text-transform:uppercase;font-size:.75rem;font-weight:700}.enquiry-actions{flex-wrap:wrap;gap:.4rem;display:flex}.enquiry-form{flex-direction:column;gap:.6rem;display:flex}.enquiry-form textarea,.info-textarea{resize:vertical;border:1px solid var(--line);background:#fff;border-radius:10px;width:100%}.honeypot-field{opacity:0;height:0;position:absolute;left:-9999px;overflow:hidden}.enquiry-success,.admin-saved-badge{color:#2d6a4f;font-weight:700}.enquiry-error{color:#d4342a}.admin-helper-text{color:var(--muted)}.table-wrap{overflow-x:auto}.league-table,.venue-table,.admin-table,.player-stats-table,.fixtures-results-table{border-collapse:collapse;table-layout:auto;border:1px solid var(--line);box-sizing:border-box;background:0 0;border-radius:12px;width:100%;max-width:100%;margin-bottom:1rem;overflow:hidden}.league-table th,.league-table td,.venue-table th,.venue-table td,.admin-table th,.admin-table td,.fixtures-results-table th,.fixtures-results-table td,.player-stats-table th,.player-stats-table td{padding:var(--table-cell-py) var(--table-cell-px);font-size:var(--table-font-size);text-align:left;word-break:normal;overflow-wrap:break-word;white-space:normal;border-bottom:1px solid #ece8d9}.league-table th,.venue-table th,.admin-table th,.fixtures-results-table th,.player-stats-table th{background:#fff6e526}.league-table tbody tr,.venue-table tbody tr,.admin-table tbody tr,.fixtures-results-table tbody tr,.player-stats-table tbody tr{background-color:#0000}.league-table tbody tr:nth-child(2n),.venue-table tbody tr:nth-child(2n),.admin-table tbody tr:nth-child(2n),.fixtures-results-table tbody tr:nth-child(2n),.player-stats-table tbody tr:nth-child(2n){background:#fffcf41a}.league-table th:not(:first-child),.league-table td:not(:first-child){text-align:center}.league-table.league-events-table th,.league-table.league-events-table td,.league-table.league-events-table td:not(:first-child){text-align:left}.fixtures-results-table th.home-team-col,.fixtures-results-table td.home-team-col{text-align:right}.fixtures-results-table th.away-team-col,.fixtures-results-table td.away-team-col{text-align:left}.fixtures-results-table td.score-cell{font-weight:700}.rescheduled-note{text-align:left;margin-top:.15rem;font-size:.82em;display:block}.latest-results-table td{vertical-align:top}.sortable-header{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;justify-content:flex-start;align-items:center;padding:0;display:inline-flex}.sortable-header:hover{text-decoration:underline}.action-small{padding:.3rem .55rem;font-size:.78rem}.action-xs{white-space:nowrap;padding:.2rem .4rem;font-size:.7rem}.player-stats-input-row{gap:.5rem;display:grid}.player-stats-input-row-five{grid-template-columns:repeat(5,minmax(0,1fr))}.player-stats-edit-number,.result-score-input{width:4.6rem;min-width:4.6rem}.player-stats-add-number{width:100%;min-width:0}.result-row,.result-edit-row,.date-group-admin-header,.fixture-toggle-label{align-items:center;gap:.45rem;display:flex}.result-row{justify-content:flex-end}.fixture-toggle-row{margin-bottom:.8rem}.negative-score{color:#c62828;font-weight:700}.input-auto-width{width:auto}.date-header,.date-header-admin{color:#234f7a}.mobile-menu-button{z-index:90;color:#fff;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#102a43d9;border:1px solid #fff3;border-radius:999px;justify-content:center;align-items:center;width:2.65rem;height:2.65rem;padding:0;text-decoration:none;display:none;position:fixed;top:.75rem;right:.75rem;box-shadow:0 4px 12px #00000026}.mobile-menu-button .menu-icon{width:20px;height:20px;display:block}.mobile-menu-button:hover,.mobile-menu-button:focus-visible{color:var(--ink);background:#f8fafc}.menu-page{z-index:95;position:fixed;inset:0}.menu-screen{-webkit-backdrop-filter:blur(10px)saturate(130%);backdrop-filter:blur(10px)saturate(130%);border-bottom:1px solid var(--line);z-index:100;background:#ffffffd9;border-radius:0 0 16px 16px;padding:1.2rem 1rem;animation:.35s cubic-bezier(.22,.9,.33,1) both menuSlideIn;position:fixed;top:0;left:0;right:0;overflow-y:auto;box-shadow:0 12px 30px #102a432e}.menu-backdrop{z-index:99;background:#102a4359;border:none;position:fixed;inset:0}.menu-header{justify-content:flex-start;align-items:center;margin-bottom:.85rem;padding-right:3rem;display:flex}.menu-close{width:2.2rem;height:2.2rem;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:1rem;right:1rem}.menu-close .close-icon{width:16px;height:16px}.menu-nav{margin-top:.65rem}.menu-nav .nav-button,.menu-nav .nav-anchor,.menu-nav .admin-logout{width:100%}@keyframes floatIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes menuSlideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@media (width<=1024px),(hover:none) and (pointer:coarse){.layout{grid-template-columns:1fr}.sidebar{max-height:none;position:static}.mobile-menu-button{display:flex}.desktop-sections{display:none}}@media (width<=768px){.container{width:min(1100px,96%)}.content.panel,.admin-section,.date-group,.date-group-admin,.info-card{padding:.7rem}.player-stats-input-row,.player-stats-input-row-five{grid-template-columns:1fr}.enquiry-actions,.date-group-admin-header,.result-row,.result-edit-row,.enquiry-card-header,.fixture-toggle-label{flex-wrap:wrap}.league-table,.venue-table,.admin-table,.player-stats-table,.fixtures-results-table{min-width:clamp(460px,96vw,680px)}.league-table th,.league-table td,.venue-table th,.venue-table td,.admin-table th,.admin-table td,.fixtures-results-table th,.fixtures-results-table td,.player-stats-table th,.player-stats-table td{white-space:nowrap;padding:clamp(.24rem,.9vw,.4rem) clamp(.28rem,1vw,.5rem);font-size:clamp(.74rem,2.1vw,.88rem)}}@media (width<=480px){.hero{min-height:10vh;padding:.8rem}.hero h1{font-size:clamp(1.35rem,6.3vw,1.7rem)}.content.panel,.admin-section,.date-group,.date-group-admin,.add-section,.info-card{border-radius:12px;padding:.55rem}.action-small{padding:.24rem .38rem;font-size:.72rem}.league-table,.venue-table,.admin-table,.player-stats-table,.fixtures-results-table{min-width:clamp(420px,100vw,560px)}.league-table th,.league-table td,.venue-table th,.venue-table td,.admin-table th,.admin-table td,.fixtures-results-table th,.fixtures-results-table td,.player-stats-table th,.player-stats-table td{padding:clamp(.2rem,.8vw,.3rem) clamp(.22rem,.9vw,.4rem);font-size:clamp(.7rem,2.9vw,.8rem)}}.page-background-dartboard{opacity:.15;z-index:-1;pointer-events:none;width:95vw;max-width:950px;height:auto;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}
