/* Appex identity: graphite surfaces, warm light and the existing race-yellow accent. */
:root{--bg:#1b2020;--panel:#272e2d;--panel-2:#303735;--border:#ffffff1c;--muted:#b0b8b3;--shadow:0 18px 42px #050a0a30}
body{background-color:var(--bg);background-image:radial-gradient(ellipse at 95% 0, #d9d76617,transparent 42%),radial-gradient(ellipse at 5% 55%,#526a632b,transparent 50%),linear-gradient(125deg,#202726,#171d1e);background-attachment:fixed}
.panel,.metric,.event-card,.competitor-card{background:linear-gradient(145deg,#2b3231,#222928);box-shadow:0 12px 35px #060b0b25;border-color:#ffffff1c}
.sidebar{background:linear-gradient(175deg,#242b28,#151c1b);border-right-color:#ffffff15}
.topbar{background:#1d2524ed;border-bottom-color:#ffffff14}
.public .topbar{background:linear-gradient(100deg,#202825f0,#242b29ed)}
input:not([type=checkbox]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea{background-color:#192120;border-color:#ffffff25;color:#f5f5f1}
.event-cover{background:linear-gradient(130deg,#636747,#323d35 60%,#202b29)}
.event-cover.cover-b{background:linear-gradient(130deg,#3e544b,#242f2d 65%,#77784c)}
.event-card:hover{border-color:#d9dc7866;box-shadow:0 16px 40px #050b0b40}
.public main{max-width:1440px;margin-inline:auto}
.race-landing{--landing-gap:28px}.race-landing .section{margin-top:42px}
.landing-hero{position:relative;isolation:isolate;overflow:hidden;min-height:450px;border:1px solid #ffffff1e;border-radius:22px;background:#252e29;box-shadow:var(--shadow)}
.landing-athlete{position:absolute;inset:0 0 0 auto;width:62%;height:100%;object-fit:cover;object-position:center 38%;z-index:-3}
.landing-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#242e29 8%,#242e29ed 33%,#242e2970 58%,#111c1722 85%),linear-gradient(0deg,#17211be0,transparent 35%)}
.landing-hero-word{position:absolute;right:18px;bottom:20px;z-index:-1;font:900 clamp(110px,16vw,220px)/1 'Barlow Condensed',sans-serif;color:#f2ed001a;letter-spacing:-6px;transform:skew(-8deg);pointer-events:none}
.landing-hero-copy{padding:40px 44px 90px;max-width:650px;position:relative}
.landing-hero-copy .eyebrow{font-size:11px;letter-spacing:2px;margin:0 0 20px}
.landing-hero h1{font-size:clamp(64px,6.8vw,96px);line-height:.9;margin:0 0 20px;letter-spacing:-1px;font-weight:800}
.landing-hero h1 em{color:var(--gold);font-style:italic}
.landing-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.6;color:#e1e5dc;margin:0 0 22px}
.landing-results-link{color:#f2f4e6;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:6px;padding:10px 0}
.landing-disciplines{position:absolute;bottom:0;left:0;right:0;display:flex;gap:30px;padding:16px 44px;border-top:1px solid #ffffff26;background:#151f1be0;backdrop-filter:blur(8px)}
.landing-disciplines>span{display:flex;align-items:center;gap:9px;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#eceddb}
.landing-disciplines .icon{color:var(--gold);width:19px;height:19px}
.landing-search{display:grid;grid-template-columns:minmax(175px,.8fr) minmax(200px,1.2fr) minmax(170px,1fr) auto;gap:22px;align-items:center;padding:24px 28px;margin-top:20px;background:linear-gradient(105deg,#3b4437,#2b3530);border:1px solid #b6bd8738;border-left:4px solid var(--gold);border-radius:15px;box-shadow:var(--shadow)}
.landing-search .eyebrow{font-size:9px;letter-spacing:1.4px;margin:0 0 5px}.landing-search h2{font-size:25px;line-height:1.1;margin:0;max-width:210px}
.landing-search label{margin:0;font-size:11px}.landing-search input,.landing-search select{margin:6px 0 0;height:46px;min-height:46px;width:100%;padding:10px 12px;font-size:13px;box-sizing:border-box}
.landing-search-actions{display:grid;gap:5px;padding-top:14px}.landing-search-actions .button{min-height:46px}.landing-search-actions>a{font-size:10px;color:#d6dcc8;text-align:center}
.landing-events .section-heading{align-items:center;gap:20px;flex-wrap:wrap}.landing-events h2,.landing-results h2{font-size:36px}
.landing-event-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--landing-gap);align-items:start}
.landing-event-layout .event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.landing-event-layout .event-grid:has(>.event-card:only-child){grid-template-columns:minmax(0,1fr)}
.landing-event-layout .event-grid>.event-card:only-child .event-cover{height:220px}
.landing-event-layout.without-upcoming{grid-template-columns:1fr}.landing-event-layout.without-upcoming .event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.landing-event-layout.without-upcoming .event-grid:has(>.event-card:only-child){grid-template-columns:minmax(280px,460px)}
.landing-next{padding:26px;background:linear-gradient(160deg,#5a5f39,#363f2e 60%,#2a342b);border:1px solid #d3d49a42;border-radius:18px;box-shadow:var(--shadow)}
.landing-next>.eyebrow{margin:0 0 22px;font-size:10px}.landing-next .countdown-panel{display:block;padding:0;margin:0;background:none;border:0;box-shadow:none}
.landing-next .countdown-panel .eyebrow{font-size:9px;color:#d6dac3;letter-spacing:1px}.landing-next .countdown-panel h2{font-size:32px;line-height:1.1;margin:7px 0 12px}.landing-next .countdown-panel p{font-size:12px;color:#e4e7d7;line-height:1.7}
.landing-next .countdown-panel small{font-size:10px;color:#c3caae}.landing-next .countdown-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0 0;padding:20px 0;border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}
.landing-next .countdown-clock>div{min-width:0}.landing-next .countdown-clock strong{font-size:40px;line-height:1}.landing-next .countdown-clock span{font-size:8px;margin-top:7px;letter-spacing:1px}
.landing-check-in{display:flex;gap:14px;margin-top:24px}.landing-check-in>span{color:#cdd87970;font:500 34px/1 'Barlow Condensed',sans-serif}.landing-check-in h3{font-size:21px;margin:0 0 8px}.landing-check-in p{font-size:12px;color:#d2d9c6;margin:0}.landing-check-in .text-button{font-size:12px;margin-top:8px}
.landing-results{padding:28px;border:1px solid #ffffff16;border-radius:20px;background:linear-gradient(120deg,#333d38,#252e2d);box-shadow:var(--shadow)}
.landing-results .section-heading{gap:20px;flex-wrap:wrap}.landing-results .section-heading label{margin:0;font-size:11px}.landing-results .section-heading select{min-width:200px}
.no-standings{display:block}.results-awaiting{display:flex;align-items:center;gap:22px;padding:18px 0 0;border-top:1px solid #ffffff20}.results-awaiting>.icon{color:var(--gold);width:38px;height:38px;flex:none}.results-awaiting h3{font-size:25px;margin:0 0 5px}.results-awaiting p{font-size:13px;margin:0;color:var(--muted)}.results-awaiting .button{margin-left:auto;flex:none}
.race-landing .empty-state{grid-column:1/-1}.race-landing .competitor-card{background:linear-gradient(135deg,#38413a,#252e2b)}
@media(min-width:1500px){.landing-hero-copy{padding-top:48px}.landing-hero{min-height:480px}}
@media(max-width:1100px){.landing-search{grid-template-columns:1fr 1fr auto}.landing-search>div:first-child{grid-column:1/-1;display:flex;align-items:baseline;gap:16px}.landing-search h2{max-width:none}.landing-search-actions{padding-top:16px}.landing-event-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.landing-event-layout .event-grid{grid-template-columns:1fr}.landing-next{padding:22px}.landing-next .countdown-clock strong{font-size:34px}.landing-hero-copy{max-width:570px}}
@media(max-width:750px){.public main{padding-inline:18px}.landing-hero{min-height:410px;border-radius:16px}.landing-athlete{width:100%;object-position:65% center}.landing-hero-shade{background:linear-gradient(90deg,#182820ef,#182820bb 45%,#18282033),linear-gradient(0deg,#14251c,transparent 70%)}.landing-hero-copy{padding:30px 24px 100px;max-width:100%}.landing-hero h1{font-size:68px}.landing-hero-copy .eyebrow{font-size:9px;letter-spacing:1px}.landing-hero-copy>p:not(.eyebrow){font-size:14px}.landing-hero-copy .action-group{flex-wrap:wrap;gap:15px}.landing-disciplines{gap:12px 20px;padding:15px 24px;flex-wrap:wrap}.landing-disciplines>span{font-size:9px;letter-spacing:.4px}.landing-disciplines .icon{width:16px}.landing-search{grid-template-columns:1fr;gap:14px;padding:22px}.landing-search>div:first-child{display:block}.landing-search h2{font-size:27px}.landing-search-actions{padding:0;gap:10px}.landing-event-layout,.landing-event-layout.without-upcoming{grid-template-columns:1fr}.landing-event-layout .event-grid,.landing-event-layout.without-upcoming .event-grid,.landing-event-layout.without-upcoming .event-grid:has(>.event-card:only-child){grid-template-columns:1fr}.landing-next .countdown-clock{max-width:340px}.landing-next .countdown-panel h2{font-size:30px}.landing-results{padding:22px}.landing-results h2,.landing-events h2{font-size:31px}.results-awaiting{flex-wrap:wrap;gap:16px}.results-awaiting>div{flex:1;min-width:180px}.results-awaiting .button{margin:0;width:100%}.race-landing .section{margin-top:30px}}
@media(prefers-reduced-motion:reduce){body{background-attachment:scroll}}

/* Dedicated photo capture and unobstructed portrait identity. */
.photo-capture-dialog{width:min(620px,calc(100vw - 28px));max-height:90dvh;overflow:auto;padding:26px;border:1px solid var(--border);border-radius:20px;background:#252e2c;color:var(--ink)}.photo-capture-dialog::backdrop{background:#050a0bc9;backdrop-filter:blur(6px)}.photo-capture-dialog .action-group{flex-wrap:wrap}.photo-modal-preview img{display:block;max-width:100%;width:280px;max-height:48vh;object-fit:contain;margin:18px auto;border-radius:12px}.photo-capture-dialog .guided-camera{max-width:440px}.photo-capture-dialog video{max-height:45vh}.photo-capture-dialog .photo-file{position:relative;overflow:hidden;display:inline-flex;margin:0}.photo-capture-dialog .photo-file input{position:absolute;inset:0;width:100%;height:100%;opacity:0}.reception-photo>small{display:block;margin-top:12px;color:var(--muted)}
.athlete-pass .athlete-pass-photo{aspect-ratio:4/5;height:auto;min-height:0}.athlete-pass .athlete-pass-photo>img{width:100%;height:100%;object-fit:contain;object-position:top center}

.cash-total{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:22px;padding:20px 22px;border:1px solid #c8cd7d55;border-radius:12px;background:linear-gradient(110deg,#414932,#29372e)}.cash-total>span{font-weight:600}.cash-total>strong{color:var(--gold);font-size:28px}.cash-total small{font-size:12px}

/* Shared control rhythm and compact event administration. */
.button{line-height:1.25;text-align:center;vertical-align:middle}.button .icon{flex-shrink:0}
.action-group>form{display:flex;align-items:center;margin:0}.action-group>.button,.action-group>form>.button{min-height:46px}
.form-grid>button,.form-grid>.button{justify-self:start;width:auto}
#operations-content .operations-grid .action-group{margin-top:20px;gap:12px}
#operations-content .operations-grid .action-group>form{margin:0}
#operations-content .competition-controls{grid-template-columns:minmax(0,2fr) minmax(110px,1fr);align-items:start}
#operations-content .capacity-adjustment{grid-template-columns:minmax(140px,.7fr) minmax(220px,2fr) auto;align-items:end;margin-top:20px}
#operations-content .capacity-adjustment>.button{height:48px;white-space:normal}
#operations-content .section-heading>form{margin:0;flex-shrink:0;display:flex;align-items:center}
#operations-content .section-heading>div{min-width:0}
#operations-content .section-heading p{max-width:72ch}
#operations-content .operations-grid{align-items:start}
.athlete-pass .athlete-pass-photo{position:relative;isolation:isolate}
.athlete-pass .athlete-pass-photo:after{display:block;pointer-events:none;z-index:0;background:linear-gradient(0deg,#101915f5, #101915c9 18%,transparent 48%)}
.athlete-pass-photo>.pass-identity{position:absolute;bottom:0;left:0;right:0;padding:22px;z-index:1;background:none;color:var(--ink)}
.athlete-pass-photo>.pass-identity h2{max-width:none;font-size:clamp(25px,2.4vw,34px);line-height:1.04;margin:8px 0;overflow-wrap:anywhere;text-shadow:0 2px 12px #0008}
.athlete-pass-photo>.pass-identity>span:last-child{color:#eef0e6}
@media(max-width:900px){#operations-content .capacity-adjustment{grid-template-columns:1fr 1fr}#operations-content .capacity-adjustment>.button{grid-column:1/-1;justify-self:end}}
@media(max-width:600px){#operations-content .capacity-adjustment,#operations-content .competition-controls{grid-template-columns:1fr}#operations-content .capacity-adjustment>.button{width:100%;justify-self:stretch}#operations-content .section-heading>form{width:100%}#operations-content .section-heading>form>.button{width:100%;white-space:normal}.action-group>.button,.action-group>form>.button{white-space:normal}.athlete-pass-photo>.pass-identity h2{font-size:28px}}

/* Event workspace: paired cards and bounded inline forms. */
#operations-content .operations-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:20px;margin-bottom:20px}
#operations-content .operations-grid>.panel{margin:0;display:flex;flex-direction:column;padding:24px}
#operations-content .operations-grid>.panel>.action-group{margin-top:auto;padding-top:18px}
#operations-content .operations-grid .competition-controls{grid-template-columns:1fr}
#operations-content .event-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
#operations-content .compact-setting{margin:0;padding:22px;display:flex;flex-direction:column}
#operations-content .compact-setting h3{font-size:22px;margin:0 0 8px}
#operations-content .compact-setting p{margin:0;color:var(--muted);font-size:12px}
#operations-content .compact-setting .section-heading{display:flex;flex-direction:column;align-items:stretch;margin:0;flex:1}
#operations-content .compact-setting .section-heading>form{margin-top:auto;padding-top:20px;align-self:flex-end;width:auto}
#operations-content .capacity-adjustment{grid-template-columns:100px minmax(0,1fr);gap:12px;margin:16px 0 0}
#operations-content .capacity-adjustment>.button{grid-column:1/-1;justify-self:end;height:42px;min-height:42px;padding:10px 16px}
.participant-entry{border:1px solid #69776766;background:linear-gradient(115deg,#303e34,#26342e);border-radius:14px;overflow:hidden;margin-bottom:12px}
.participant-entry>summary{display:flex;align-items:center;gap:16px;list-style:none;padding:18px 20px;cursor:pointer}.participant-entry>summary::-webkit-details-marker{display:none}
.participant-entry-name{flex:1;min-width:0}.participant-entry-name strong,.participant-entry-name small{display:block}.participant-entry-name small{color:var(--muted);font-size:12px;margin-top:3px}
.participant-entry-body{padding:0 20px 20px;border-top:1px solid #ffffff16}
.participant-entry-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.participant-entry-links>span{margin-left:auto;font-size:12px;color:var(--muted)}
.participant-correction{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:16px;background:#121d1945;border-radius:10px}
.participant-correction>label{display:flex;flex-direction:column;gap:6px;margin:0;min-width:130px;flex:0 1 180px;font-size:12px}.participant-correction>label:has(input[name=reason]){flex:1 1 230px}
.participant-correction input,.participant-correction select{margin:0;height:44px;min-height:44px;padding:9px 12px}
.participant-correction>.button{margin:0 0 0 auto;height:44px;min-height:44px;flex:none}
.participant-discipline{margin-top:16px;padding-top:14px;border-top:1px solid #ffffff16}.participant-discipline>summary{color:#d5beb3;cursor:pointer;font-size:12px}
.participant-discipline>form{display:flex;align-items:flex-end;gap:12px;max-width:700px;margin-top:12px}.participant-discipline label{flex:1;margin:0;font-size:12px}.participant-discipline input{margin-top:6px}.participant-discipline .button{flex:none}
.refresh-photo-action{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px;border:1px solid var(--border);border-radius:12px;margin:20px 0}.refresh-photo-action p{margin:5px 0 0;color:var(--muted)}
@media(max-width:900px){#operations-content .operations-grid,#operations-content .event-settings-grid{grid-template-columns:1fr}.participant-entry>summary{gap:10px;padding:14px}.participant-entry-body{padding:0 14px 14px}}
@media(max-width:600px){.participant-correction>label{flex:1 1 130px}.participant-correction>.button{width:100%;margin:0}.participant-discipline>form{flex-direction:column;align-items:stretch}.participant-discipline .button{width:100%}.participant-entry>summary>.pill{display:none}#operations-content .capacity-adjustment{grid-template-columns:90px minmax(0,1fr)}#operations-content .capacity-adjustment>.button{width:auto}}

/* The station editor shares the event surface and brand selection color. */
#config-form ::selection{background:#f2ed00;color:#18211c}
#test-editor .config-test.station-row{background:transparent}
#test-editor .station-row .config-test-body{border-top:0;padding:14px 10px}
#test-editor .station-row:focus-within{background:#f2ed0008}
.event-schedule{margin:24px 0;padding-top:22px;border-top:1px solid var(--border);scroll-margin-top:95px}
.event-schedule>h3{margin:0 0 6px;font-size:24px}.event-schedule>p{margin:0 0 18px;color:var(--muted);font-size:12px}
.event-schedule-groups{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.event-schedule fieldset{min-width:0;margin:0;padding:16px;border:1px solid var(--border);border-radius:12px;background:#18231c25}
.event-schedule legend{padding:0 7px;color:var(--gold);font-weight:600;font-size:13px}
#config-form .event-schedule .form-grid{grid-template-columns:1fr;gap:16px}
@media(max-width:650px){.event-schedule-groups{grid-template-columns:1fr}}

/* Compound search controls own their surface; inner inputs must stay transparent. */
.search-box{display:flex;align-items:center;gap:10px;background:#192120;border:1px solid #ffffff25;border-radius:9px;padding:0 12px;min-height:46px}
.search-box input:not([type=hidden]){background:transparent;border:0;border-radius:0;margin:0;padding:10px 0;box-shadow:none;min-height:44px;height:44px;flex:1;width:auto}
.search-box:focus-within{border-color:var(--gold);outline:2px solid #f2ed0020}.search-box .icon{flex:none}
#config-form .calendar-panel .event-schedule{padding:0;border:0;margin:0 0 18px}.calendar-panel .event-schedule>h2{margin-bottom:8px}
#config-form #event-policy .form-grid>label:last-child{grid-column:1/-1}
#config-form .simple-toggle{display:flex;align-items:center;gap:10px;margin-top:18px}
#config-form .simple-toggle>input[type=checkbox]{margin:0;flex:none}
#config-form #event-pricing>h3{margin-top:24px}
.participant-entry>summary .participant-profile-link{flex:none;margin-left:auto}
@media(max-width:600px){.participant-entry>summary{flex-wrap:wrap}.participant-entry>summary .participant-profile-link{margin-left:0}.participant-entry-name{flex:1 1 180px}}
