/* Independent archery stylesheet using Sunny Horizons' basic visual tokens and card conventions. */
/* Cards in each grid row share the row height, including when their content changes. */
.grid > .ms-card{align-self:stretch;display:flex;flex-direction:column;min-width:0}
.grid > .ms-card > .ms-card-body{flex:1}
.grid > .ms-card > .ms-card-footer{margin-top:auto}
@font-face{font-family:Lato;src:url('/fonts/Lato-Regular.ttf')}@font-face{font-family:Lato;src:url('/fonts/Lato-Bold.ttf');font-weight:700}
:root{--primary:#009efb;--primary-hover:#047cc3;--ink:#263442;--muted:#647487;--line:#e4e8ed;--bg:#f4f6f9;--nav:240px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.55 Lato,Arial,sans-serif}a{color:#006cae;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{outline-offset:4px}:focus-visible{outline:3px solid #edb42b}.skip{position:absolute;top:-100px}.skip:focus{top:5px;z-index:10;background:white;padding:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav);background:#fff;border-right:1px solid var(--line);z-index:5;display:flex;flex-direction:column}.brand{padding:24px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;color:#263442;font-weight:700;line-height:1.3}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border:3px solid var(--primary);border-radius:50%;font-size:21px;color:var(--primary)}.brand small{font-size:10px;letter-spacing:1.7px;color:var(--muted);display:block;margin-top:4px}.nav-section{padding:24px 24px 8px;text-transform:uppercase;font-size:10px;letter-spacing:1.5px;color:#738193}.sidebar nav{padding:8px 12px}.sidebar nav a{display:flex;gap:13px;align-items:center;padding:12px 16px;border-radius:4px;color:#536372;margin:4px 0}.sidebar nav a.active{background:#e8f6ff;color:#0075bc;font-weight:700}.nav-icon{width:20px;text-align:center;font-size:18px}.side-foot{margin-top:auto;padding:22px;color:#708090;font-size:12px;border-top:1px solid var(--line)}.topbar{margin-left:var(--nav);height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;gap:16px}.topbar .club-label{font-size:13px;color:var(--muted)}.account{display:flex;align-items:center;gap:16px}.avatar{display:grid;place-items:center;background:#eaf7ff;color:#007bc4;width:36px;height:36px;border-radius:50%;font-weight:bold}.content{margin-left:var(--nav);padding:28px 32px 60px;max-width:1800px}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:18px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.page-heading h1{font-size:28px;line-height:1.2;margin:0 0 8px;font-weight:700;letter-spacing:-.5px}p{margin:0 0 14px}.muted{color:var(--muted)}h2{font-size:18px;margin:0}h3{font-size:16px;margin:0 0 12px}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border:1px solid var(--primary);background:var(--primary);color:#07334c;border-radius:4px;cursor:pointer;font-weight:700;text-decoration:none;min-height:42px}.button:hover,button:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:white;text-decoration:none}.secondary{background:white;border-color:#d7e2eb;color:#36617b}.danger{background:#fff2f2;border-color:#e8bebe;color:#a73434}.link-button{padding:4px 0;min-height:30px;border:0;background:none;color:#0075bc}.small{font-size:12px;padding:6px 10px;min-height:34px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:26px}.stat{padding:22px;background:white;border:1px solid var(--line);border-radius:5px;display:flex;justify-content:space-between;align-items:center}.stat strong{display:block;font-size:30px;font-weight:700;margin-top:8px}.stat .symbol{color:#0079bf;background:#edf8ff;border-radius:9px;font-size:26px;padding:10px 16px}.ms-card{background:#fff;box-shadow:0 1px 6px 1px rgba(69,65,78,.06);margin-bottom:24px;border-radius:5px;border:1px solid rgba(0,0,0,.09);overflow:hidden}.ms-card-header{padding:18px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.ms-card-body{padding:22px}.ms-card-footer{padding:16px 22px;border-top:1px solid var(--line)}.badge{display:inline-block;padding:4px 9px;border-radius:4px;background:#e9f6ff;color:#07628c;font-size:11px;font-weight:700;white-space:nowrap}.badge.final,.badge.registered{background:#e7f5ee;color:#1f6f4c}.badge.cancelled,.badge.expired{background:#fdeaea;color:#a33434}.badge.pending-payment,.badge.review{background:#fff3d9;color:#7b580c}.table-responsive{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#657786;background:#f8fafc;white-space:nowrap}th,td{padding:15px 20px;border-bottom:1px solid #edf0f3}tbody tr:last-child td{border-bottom:0}td strong{color:#263442}td small{display:block;color:var(--muted)}.empty{padding:36px;text-align:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:17px}.field label{font-size:12px;font-weight:700;color:#445461}input:not([type=checkbox]),select,textarea{width:100%;padding:11px 12px;background:white;border:1px solid #ced7df;border-radius:4px;min-height:43px;color:var(--ink)}textarea{min-height:100px;resize:vertical}textarea.code{min-height:310px;font:12px/1.5 monospace}.full{grid-column:1/-1}.help{font-size:12px;color:var(--muted)}.alert{padding:14px 18px;border:1px solid #bce3cc;background:#effaf3;border-radius:4px;margin-bottom:22px;color:#275d3d}.alert.error{border-color:#e8baba;background:#fff1f1;color:#902c2c}.alert.info{border-color:#c5e2f3;background:#edf8ff;color:#315971}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto}.tabs a{padding:12px 18px;white-space:nowrap;color:#5b6c7c}.tabs a.active{color:#007ac5;border-bottom:3px solid var(--primary)}.event-card .event-top{padding:22px;background:linear-gradient(130deg,#eef8fe,#f6fbff);display:flex;justify-content:space-between;align-items:center;min-height:100px}.event-card h2{margin-bottom:9px;font-size:19px}.date-box{text-align:center;border:1px solid #dbe9f1;background:#fff;padding:7px 13px;border-radius:5px}.date-box strong{display:block;font-size:25px;color:#176a9a}.date-box span{font-size:10px;letter-spacing:1px}.meta{display:grid;gap:9px;font-size:13px;color:var(--muted);margin-top:17px}.event-card .ms-card-footer{display:flex;justify-content:space-between;align-items:center}.hero{padding:32px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:5px;margin-bottom:26px}.hero h1{font-size:32px;margin:8px 0 12px}.eyebrow{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#0074b7;font-weight:bold}.narrow{max-width:520px;margin:36px auto}.notice{padding:15px 0;border-bottom:1px solid var(--line)}.notice:last-child{border:0}.notice small{color:var(--muted)}.progress{height:6px;background:#e7edf2;border-radius:4px;overflow:hidden;margin-top:8px}.progress span{display:block;background:var(--primary);height:100%}.arrow-grid{display:flex;gap:8px;flex-wrap:wrap}.arrow{width:48px!important;font-weight:bold;text-align:center;padding:10px 4px!important}.score-unit{border:1px solid var(--line);padding:18px;border-radius:5px;margin:14px 0}.score-unit.locked{background:#f1f9f5;border-color:#badbca}.score-unit h3{display:flex;justify-content:space-between}.sync-status{position:sticky;top:0;z-index:3;background:#fff;border:1px solid #c8dce8;padding:14px 20px;border-radius:4px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.hidden{display:none!important}details{padding:12px 0}summary{cursor:pointer;color:#0078bb;font-weight:700}.print-only{display:none}.mobile-menu{display:none}.pagination{display:flex;gap:8px;padding:15px}.pagination svg{width:20px}nav[role=navigation]{padding:15px}nav[role=navigation] svg{width:20px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.metric{font-size:30px;font-weight:700}.footer-note{margin-top:25px;color:#738193;font-size:12px}.checkbox{display:flex;gap:10px;margin:18px 0}.checkbox input{width:18px;flex-shrink:0}.filter{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.filter input{max-width:360px}.filter select{width:auto}.score-actions{margin-top:15px;display:flex;gap:8px;flex-wrap:wrap}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}}@media(max-width:760px){:root{--nav:0px}.sidebar{width:240px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0);box-shadow:0 0 0 100vw #0005}.topbar{padding:0 18px;height:64px}.club-label{display:none}.content{padding:22px 16px}.grid,.form-grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:15px}.stat .symbol{display:none}.page-heading{align-items:flex-start}.page-heading h1{font-size:24px}.mobile-menu{display:inline-flex;padding:8px 12px}.hero{padding:22px}.hero h1{font-size:27px}.ms-card-body{padding:18px}.account{gap:9px}.account .name{display:none}.full{grid-column:auto}.row input{min-width:120px}.tabs a{padding:10px 12px}}@media print{.sidebar,.topbar,.no-print,button,.score-actions{display:none!important}.content{margin:0;padding:0}.print-only{display:block}.ms-card{box-shadow:none}.score-unit{break-inside:avoid}}

.brand{padding:8px 14px;background:#081e29;min-height:88px}.brand img{display:block;width:100%;height:auto}.brand:hover{background:#102a37}

/* FLL Archers League administrative palette. */
.admin-theme{--primary:#d9aa4b;--primary-hover:#bd8d2e;--ink:#181818;--muted:#696761;--line:#e6e3dc;--bg:#f5f4f0;color:var(--ink)}
.admin-theme .sidebar{background:#111111;border-color:#252525;color:#fff}
.admin-theme .brand{background:#080808;border-color:#2d2a23}
.admin-theme .sidebar nav a{color:#ddd9cf}
.admin-theme .sidebar nav a:hover{background:#24211a;color:#efc66c;text-decoration:none}
.admin-theme .sidebar nav a.active{background:#d9aa4b;color:#15120b}
.admin-theme .nav-section{color:#b9a779}
.admin-theme .side-foot{color:#c9c2b1;border-color:#2d2a23}
.admin-theme .topbar{background:#fff;border-color:#e6e3dc}
.admin-theme a,.admin-theme .link-button{color:#79550f}
.admin-theme .avatar,.admin-theme .stat .symbol{background:#f8efd9;color:#765312}
.admin-theme .button,.admin-theme button{color:#17130b;border-color:#d9aa4b}
.admin-theme .button:hover,.admin-theme button:hover{background:#c79a3c;color:#111;border-color:#c79a3c}
.admin-theme .secondary{background:#fff;border-color:#d7c69f;color:#644a1c}
.admin-theme .link-button{background:none;border:0}
.admin-theme .danger{background:#fff;border-color:#9b7130;color:#614713}
.admin-theme .badge{background:#f3e7cb;color:#624712}
.admin-theme .badge.final,.admin-theme .badge.registered{background:#eee9df;color:#25231c}
.admin-theme .badge.cancelled,.admin-theme .badge.expired{background:#e8e5df;color:#27241e}
.admin-theme .badge.pending-payment,.admin-theme .badge.review{background:#fff0ca;color:#705016}
.admin-theme .tabs a{color:#67635a}.admin-theme .tabs a.active{color:#735218;border-color:#d9aa4b}
.admin-theme .eyebrow,.admin-theme summary{color:#785617}
.admin-theme th{background:#f6f4ee;color:#625a48}
.admin-theme td strong{color:#181818}
.admin-theme .event-card .event-top{background:#f8f3e8}
.admin-theme .date-box{border-color:#e3d7bd}.admin-theme .date-box strong{color:#785617}
.admin-theme .alert.info{background:#fbf6e9;border-color:#e6d4a5;color:#624e27}
.admin-theme .alert{background:#f7f5ed;border-color:#dfd7c4;color:#47402e}
.admin-theme .alert.error{background:#fdf4df;border-color:#d9aa4b;color:#584218}
.admin-theme :focus-visible{outline-color:#aa7717}

/* Logo bounds also exist in HTML so an older cached stylesheet cannot enlarge it. */
img{max-width:100%;height:auto}.sidebar{overflow-y:auto}.brand{flex-shrink:0;overflow:hidden}.brand img{min-width:0;max-width:212px;object-fit:contain}.sidebar-close{display:none}@media(max-width:760px){.sidebar-close{display:block;margin:10px 12px;align-self:flex-end;font-size:12px;min-height:36px}}

.sidebar .nav-group{padding:0;margin:4px 0}.sidebar .nav-group>summary{display:flex;align-items:center;gap:13px;padding:12px 16px;border-radius:4px;color:#536372;list-style:none;font-weight:700}.sidebar .nav-group>summary::-webkit-details-marker{display:none}.nav-chevron{margin-left:auto;font-size:22px;line-height:1;transition:transform .15s}.nav-group[open] .nav-chevron{transform:rotate(90deg)}.sidebar .nav-children{padding:0 0 4px 22px}.sidebar .nav-children a{padding:10px 14px;margin:2px 0;border-left:1px solid #dfdfdf;border-radius:0 4px 4px 0}.admin-theme .nav-group>summary{color:#eee7d7}.admin-theme .nav-group>summary:hover{background:#24211a}.admin-theme .nav-children a{border-left-color:#55492d}.sidebar .nav-children a.active{font-weight:700}.calendar-dialog{width:min(1040px,calc(100vw - 32px));max-height:90dvh;padding:0;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);box-shadow:0 25px 90px #0005}.calendar-dialog::backdrop{background:#101010a6}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-bottom:1px solid var(--line)}.calendar-header p{margin:5px 0 0;font-size:12px}.calendar-toolbar{display:flex;align-items:center;gap:12px;padding:18px 24px;flex-wrap:wrap}.calendar-toolbar h3{margin:0;min-width:150px;text-align:center}.calendar-picker{display:flex;gap:8px;align-items:center;margin-left:auto;font-size:12px}.calendar-picker input{width:170px}#calendar-message{margin:0;padding:0 24px 15px;font-size:13px;color:var(--muted)}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 24px 24px}.calendar-weekday{text-align:center;font-size:12px;font-weight:700;padding:10px;background:#f5f4f0}.calendar-day{min-height:105px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.calendar-day:nth-child(7n+1){border-left:1px solid var(--line)}.calendar-day.blank{background:#fafafa}.calendar-day.today{background:#fff9e9}.calendar-number{font-size:12px;font-weight:700}.calendar-event{display:block;background:#f4e9cd;color:#5b400b;border-left:3px solid #d9aa4b;border-radius:3px;padding:6px;margin-top:6px;font-size:12px;line-height:1.3;overflow-wrap:anywhere}.calendar-event small{display:block;margin-top:5px;font-size:10px}.calendar-agenda{display:none}.calendar-agenda-event{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-left:3px solid #d9aa4b;border-radius:4px;padding:14px;margin-bottom:12px}.calendar-agenda-event span,.calendar-agenda-event small{color:var(--muted)}@media(max-width:640px){.calendar-dialog{width:calc(100vw - 20px);max-height:92dvh}.calendar-header{padding:16px}.calendar-toolbar{padding:16px;gap:8px}.calendar-toolbar h3{min-width:130px;flex:1}.calendar-picker{margin:0;width:100%;justify-content:space-between}.calendar-picker input{width:65%}.calendar-days{display:none}.calendar-agenda{display:block;padding:0 16px 16px}#calendar-message{padding:0 16px 15px}.page-heading{flex-wrap:wrap}}

.prize-details{border-left:3px solid #d9aa4b;padding:16px 18px;margin:20px 0;background:#d9aa4b12}.prize-label{font-size:12px;font-weight:700;color:#967020;margin:12px 0 0}.public-site .prize-label{color:#edb650}

.equipment-preferences-list{margin:20px 0}.equipment-preference-row{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:16px;border:1px solid var(--line);padding:14px 16px;border-radius:5px;margin-bottom:10px}.equipment-choice{display:flex;align-items:center;gap:10px;cursor:pointer}.equipment-choice input{width:18px;height:18px;accent-color:#b98b32}.equipment-level{font-size:12px;color:var(--muted);display:grid;gap:5px}.equipment-preference-row:has(input:checked){border-color:#bd9340;background:#d9aa4b0d}@media(max-width:480px){.equipment-preference-row{grid-template-columns:1fr;gap:10px}.equipment-level select{max-width:100%}}
.gear-table{table-layout:fixed}.gear-table th,.gear-table td{padding:12px 8px;overflow-wrap:anywhere;vertical-align:top}.gear-table th:last-child{width:165px}.gear-table .row{gap:6px}.gear-dialog{width:min(520px,calc(100% - 32px));max-height:90vh;padding:0;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;overflow:auto}.gear-dialog::backdrop{background:#061a25aa}.gear-dialog .ms-card-body{padding:22px}.gear-dialog .ms-card-header{padding:18px 22px}#my-gear{scroll-margin-top:24px}@media(max-width:640px){.gear-table thead{display:none}.gear-table,.gear-table tbody,.gear-table tr,.gear-table td{display:block;width:100%}.gear-table tr{padding:12px 0;border-bottom:1px solid var(--line)}.gear-table td{border:0;padding:6px 0}.gear-table td[data-label]:before{content:attr(data-label);display:block;color:var(--muted);font-size:10px;text-transform:uppercase;margin-bottom:3px}.gear-table td.empty{padding:16px 0}.gear-dialog .row{gap:10px}}
.staff-dialog{width:min(720px,calc(100% - 32px))}.staff-dialog .form-grid{gap:0 18px}.staff-dialog .field{min-width:0}.staff-dialog .alert p:last-child{margin-bottom:0}.admin-theme .badge.registered{background:#e7f5ee;color:#1f6f4c}.admin-theme .badge.cancelled{background:#fdeaea;color:#a33434}
.game-dialog{width:min(900px,calc(100vw - 32px));}.game-form h3{margin:26px 0 12px}.game-form h3:first-of-type{margin-top:0}.game-form .help{line-height:1.55}.game-form .form-grid{align-items:start}.game-zone-row{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:start;border:1px solid var(--border,#ddd);border-radius:8px;padding:14px;margin-bottom:12px}.game-zone-row>button{margin-top:26px}.game-equipment{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 0}.game-equipment label{display:flex;align-items:center;gap:8px}.game-equipment input{width:auto}.game-maximum{font-size:20px;padding:12px;width:fit-content}@media(max-width:600px){.game-zone-row{grid-template-columns:1fr 1fr;gap:10px}.game-zone-row>button{margin:0;grid-column:1/-1;justify-self:end}.game-dialog .row{flex-wrap:wrap}}
.game-station-row{display:grid;grid-template-columns:100px 1fr 1fr;gap:16px;padding:16px;border:1px solid var(--border,#ddd);border-radius:8px;margin-bottom:12px}.game-station-row>strong{padding-top:30px}.game-station-row .field{margin-bottom:0}@media(max-width:600px){.game-station-row{grid-template-columns:1fr}.game-station-row>strong{padding-top:0}}

.inline-game-action{display:inline-block;margin:4px 0}.inline-game-action+button{margin:4px 0}
.game-status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.game-status-circle{display:inline-block;width:11px;height:11px;border-radius:50%;flex:0 0 11px}.game-status-circle.is-active{background:#16803d}.game-status-circle.is-disabled{background:#c53030}
.registration-dialog{width:min(640px,calc(100vw - 24px))}.registration-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;margin-bottom:18px;background:#f8f3e8;border:1px solid #e3d7bd;border-radius:5px}.registration-summary strong{font-size:20px}.stripe-element{padding:14px;border:1px solid var(--line);border-radius:5px;background:#fff;margin:14px 0}.registration-form>button{width:100%;margin-top:10px}.competition-card-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
