:root{font-family:Arial,Helvetica,sans-serif;color:#173044;background:#f3f5f3;font-size:16px;--navy:#122e43;--gold:#a77b36;--border:#d6dedc}*{box-sizing:border-box}body{margin:0}header{background:var(--navy);color:white;border-bottom:5px solid var(--gold)}.mast{max-width:1120px;margin:auto;padding:25px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:Georgia,serif;font-size:25px;line-height:1.15}.brand small{display:block;font:11px Arial;letter-spacing:2px;text-transform:uppercase;margin-bottom:7px;color:#e4c58f}header a{color:white;font-size:14px}main{max-width:1120px;margin:auto;padding:36px 24px 64px}h1,h2,h3{font-family:Georgia,serif;font-weight:500;color:var(--navy)}h1{font-size:42px;margin:8px 0 14px;line-height:1.1}h2{font-size:27px;margin:0 0 15px}h3{font-size:22px;margin:0 0 10px}p{line-height:1.6}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#745223}.intro{max-width:710px;margin-bottom:25px}.intro p{color:#49616b;font-size:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:white;border:1px solid var(--border);border-radius:9px;padding:25px;margin-bottom:20px;box-shadow:0 3px 12px #122e4305}.wide{grid-column:1/-1}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-weight:700;font-size:14px;line-height:1.45}input,select,textarea{font:inherit;width:100%;min-height:45px;padding:10px;border:1px solid #92a6ac;border-radius:5px;background:white;margin-top:6px;color:#173044}input[type=checkbox]{min-height:auto;width:auto;margin-right:8px}button,.button{display:inline-block;cursor:pointer;font:700 15px Arial;padding:13px 19px;border:1px solid var(--navy);border-radius:5px;background:var(--navy);color:white;text-decoration:none;line-height:1.3;min-height:45px}button:disabled{opacity:.55;cursor:wait}.secondary{background:white;color:var(--navy)}.danger{color:#a12e23;border-color:#a12e23;background:white}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.muted{color:#506870;font-size:14px}.notice{border-left:4px solid var(--gold);background:#fbf5e9;padding:15px 18px;margin-bottom:20px;line-height:1.5}.error{background:#fff0ed;border-color:#ad3425;color:#8b291e}.success{background:#ebf5ee;border-color:#42744e}.hidden{display:none!important}.check{font-weight:400;margin:18px 0}.event{border-top:1px solid var(--border);padding:18px 0}.event:first-of-type{border-top:0}.pill{display:inline-block;background:#e9efeb;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:700;text-transform:uppercase;margin-bottom:9px}.receipt{border:2px solid var(--gold);background:#fffdf7;padding:24px}.code{font-family:monospace;font-size:21px;word-break:break-all;font-weight:700;letter-spacing:1px}.private-code{font-family:monospace;font-size:16px;word-break:break-all;background:#f3f5f3;padding:15px}.receipt canvas{display:block;margin:14px 0;max-width:100%;height:auto}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{background:#edf2ef;white-space:nowrap}td button{font-size:13px;padding:8px 11px;min-height:38px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.stat{background:#edf2ef;padding:18px}.stat strong{font-size:30px;display:block;margin-top:8px}.step{font:700 12px Arial;color:var(--gold);margin-bottom:12px}footer{border-top:1px solid var(--border);padding:25px;text-align:center;color:#526972;font-size:12px;line-height:1.7}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}:focus-visible{outline:3px solid #c09041;outline-offset:3px}dialog{border:1px solid var(--border);border-radius:9px;max-width:600px;width:calc(100% - 30px);padding:26px}dialog::backdrop{background:#122e4380}video{width:100%;max-height:300px;background:#122e43}a{color:#194d6b}.nowrap{white-space:nowrap}@media(max-width:740px){.grid,.fields{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}h1{font-size:34px}main{padding:26px 16px}.card{padding:19px}.mast{padding:20px 16px}.brand{font-size:21px}.mast>a{max-width:100px}}@media print{header,footer,.no-print,button,.actions,#registration,#account-login{display:none!important}body{background:white}main{padding:0}.card,.receipt{box-shadow:none;break-inside:avoid}.private-code{font-size:12px}h1{font-size:26px}}

dialog{max-height:calc(100dvh - 30px);overflow-y:auto}@media(max-width:740px){input,select,textarea{font-size:16px}.pickup-roster,.pickup-roster tbody{display:block}.pickup-roster thead{display:none}.pickup-roster tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:7px;margin:12px 0;padding:8px}.pickup-roster td{display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere}.pickup-roster td::before{content:attr(data-label);font-size:12px;font-weight:bold;color:#506870}.pickup-roster td:last-child{grid-column:1/-1}.pickup-roster td button{min-height:44px} .actions button,.actions .button{flex:1 1 auto}.stats{grid-template-columns:1fr}}

@media(max-width:740px){.mast{flex-wrap:wrap}.staff-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}}
