:root{--navy:#001426;--lime:#d0ff35;--ink:#09131c;--ice:#edf5f8}*{box-sizing:border-box}body{margin:0;background:var(--ice);color:var(--ink);font:16px/1.5 Inter,Arial,sans-serif}header{background:var(--navy);color:white;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}header img{width:70px;height:70px;border-radius:50%}header a{color:inherit}main{max-width:1250px;margin:auto;padding:36px 24px}h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:0 0 16px}h2{font-size:1.3rem;margin:0 0 12px}.intro{max-width:780px;color:#3e5665}.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;font-weight:bold;color:#35526b}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px;align-items:end}label{display:grid;gap:6px;font-weight:600;font-size:.9rem}input,select,textarea,button{font:inherit;border:1px solid #a6b9c4;border-radius:5px;padding:11px;background:white;color:var(--ink);max-width:100%}button,.button{cursor:pointer;font-weight:700;background:var(--navy);color:white;border:0;padding:12px 18px;border-radius:5px;text-decoration:none;display:inline-block}button.primary{background:var(--lime);color:var(--navy)}button:disabled{opacity:.5;cursor:not-allowed}.notice{padding:16px 20px;background:white;border-left:4px solid #96b900;margin:20px 0}.week{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.day{min-width:0}.day>h2{border-bottom:3px solid var(--navy);padding:12px 0}.card{background:white;padding:20px;border:1px solid #d1dde3;margin:12px 0;border-radius:8px}.card h3{margin:8px 0;font-size:1.2rem}.card p{margin:8px 0}.time{font-size:1.05rem;font-weight:700}.muted{color:#4b6170}.pill{display:inline-block;background:var(--ice);padding:4px 9px;border-radius:12px;font-size:.85rem}.price{font-weight:800;font-size:1.3rem}.card .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.card button{font-size:.9rem}dialog{border:0;border-radius:12px;width:560px;max-width:95vw;max-height:90vh;padding:26px}dialog::backdrop{background:#001426b8}form{display:grid;gap:15px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{margin-top:5px}.error{color:#9d1e1e}.actions{display:flex;gap:12px;flex-wrap:wrap}.hidden{display:none!important}.hp{position:absolute;left:-10000px}.admin-tabs{display:flex;gap:12px;margin:24px 0}.tablewrap{overflow-x:auto;background:white}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:12px;border-bottom:1px solid #d1dde3;vertical-align:top}th{background:var(--navy);color:white}td input{width:20px;height:20px}.status{font-weight:700}.settings{padding:18px;border:1px solid #bbcad1;background:white;margin:20px 0}footer{padding:24px;text-align:center}.empty{padding:30px;background:white}.success{background:#efffce;padding:25px}details{margin-top:8px}@media(max-width:850px){.week{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}main{padding:28px 16px}.toolbar>*{max-width:100%}header{padding:12px 16px}}

/* Weekly calendars */
main{max-width:1640px}header nav{display:flex;gap:24px;flex-wrap:wrap}.calendar-hint{font-size:.9rem;color:#4b6170}.calendar-scroll{overflow-x:auto;border:1px solid #c1d1db;border-radius:8px;background:#f8fbfc}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(185px,1fr));min-width:1295px;align-items:stretch}.calendar-day{min-width:0;border-right:1px solid #d4e0e6;padding:0 8px 12px}.calendar-day:last-child{border:0}.day-title{background:var(--navy);color:white;font-size:1rem;margin:0 -8px 10px;padding:15px 10px}.is-today .day-title{background:var(--lime);color:var(--navy)}.time-group>h4{font-size:.9rem;margin:16px 2px 8px;color:#425a69}.calendar-day .card{padding:12px;margin:8px 0;border-radius:5px;border-top:4px solid #52738f}.calendar-day .session-small{border-top-color:#8ead00}.calendar-day .session-development{border-top-color:#9174c6}.calendar-day .card h3{font-size:1rem;line-height:1.3}.calendar-day .card p,.calendar-day .card>span{font-size:.875rem;margin:6px 0}.calendar-day .card .pill{padding:0;background:none;border-radius:0}.calendar-day .card .price{font-size:1rem}.calendar-day .card button{width:100%;padding:10px 8px;font-size:.875rem}.calendar-day .card .actions{margin-top:10px}.calendar-day .availability{font-weight:700}.day-empty{font-size:.875rem;color:#607582;padding:8px 2px}.register-section{margin-top:48px;border-top:1px solid #bbcad1;padding-top:28px}button:focus-visible,a:focus-visible{outline:3px solid #738e00;outline-offset:3px}@media(max-width:850px){.calendar-grid{grid-template-columns:repeat(7,220px);min-width:1540px}header nav{gap:12px}.toolbar button{padding:10px 12px}}

.staff-page main{padding-top:24px}.staff-page h1{font-size:2rem}.staff-page .intro{margin:8px 0}.staff-page .notice{margin:12px 0;padding:10px 14px;font-size:.9rem}.staff-page .toolbar{margin:16px 0}.bulk-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:white;padding:12px;border-radius:6px}.bulk-toolbar .check{align-items:center}.bulk-toolbar input{margin:0}.danger{background:#fff2f2;color:#962525;border:1px solid #d5a7a7}.staff-page .time-group{background:white;border:1px solid #d1dde3;border-radius:5px;margin:8px 0}.staff-page .time-group>summary{cursor:pointer;font-size:.9rem;font-weight:700;padding:14px 8px}.staff-page .time-group[open]>summary{background:#e3edf3}.staff-page .calendar-day .card{padding:10px;margin:8px 4px}.staff-page .calendar-day .card h3{font-size:.9rem}.staff-page .calendar-day .card button{width:auto;flex:1;padding:7px}.staff-page .calendar-day .card .actions{gap:6px}.staff-page .calendar-day .card p{margin:4px 0}.staff-page .register-section{margin-top:24px;padding-top:16px}.staff-page .register-section>summary{cursor:pointer;font-size:1.15rem;font-weight:700}.staff-page .card .check strong{font-size:.95rem}.staff-page .card input[type=checkbox]{width:18px;height:18px;flex:none}

.session-register{background:white;border:1px solid #bbcad1;border-radius:6px;margin:12px 0}.session-register>summary{cursor:pointer;padding:16px;font-weight:700}.session-register[open]>summary{background:#e3edf3}.session-register-content{padding:16px}.session-register td{white-space:pre-line}.session-register input[type=checkbox]{width:22px;height:22px}

.age-choices{display:flex;flex-wrap:wrap;gap:12px}.age-choices label{display:flex;align-items:center;gap:6px}.age-choices input{width:20px;height:20px}

.booked-players{margin:12px 0;padding:10px;background:#edf5f8;border-left:3px solid #35526b}.booked-players p{overflow-wrap:anywhere}
