html{color-scheme:dark}
body.media-ui,body.media-flux{background:var(--ground);color:var(--ink);font-family:var(--font-sans)}
.media-ui *,.media-auth *{box-sizing:border-box}
.media-ui a,.media-flux a{color:var(--ink);text-underline-offset:.24em}
.media-ui :focus-visible,.media-flux :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.top{border-bottom:1px solid var(--line)}
.bar,.heading,.actions,.tabs,.pager{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.bar{min-height:84px;padding-block:var(--space-2);gap:var(--space-3)}
.bar nav{display:flex;gap:var(--space-2);flex-wrap:wrap;font-size:16px}
.bar nav a:not([aria-current]){text-decoration:none}
.bar nav a:hover,.bar nav a[aria-current]{text-decoration:underline}
.bar form{margin-left:auto}
.identity{margin-left:auto}
.media-wordmark{display:inline-grid;flex:none;align-items:start;justify-items:start;gap:7px;padding-block:5px;text-decoration:none}
.media-wordmark img{display:block;width:174px;max-width:100%;height:auto}
.media-wordmark span{font-size:11px}
main.wrap{padding-block:clamp(32px,5vw,64px) var(--space-6)}
.heading{justify-content:space-between;margin-bottom:var(--space-4)}
.media-ui h1,.media-auth h1{font:400 clamp(38px,5.6vw,61.44px)/1.07 var(--font-display);overflow-wrap:anywhere}
.media-ui h2{font:400 clamp(23px,3vw,34px)/1.2 var(--font-display);overflow-wrap:anywhere}
.media-ui p,.media-auth p{margin:0}
.panel,.tablebox{border:1px solid var(--line);border-radius:var(--radius-md)}
.panel{padding:var(--space-3)}
.stack{display:grid;gap:var(--space-2)}
.stack button{justify-self:start}
.cards,.fieldgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr));gap:var(--space-3)}
.cards{align-items:start;margin-block-start:var(--space-3)}
.signin{max-width:440px;margin:clamp(12px,6vw,88px) auto;display:grid;gap:var(--space-3)}
.signin form{margin:0}
.signin .ap-btn{justify-self:stretch}
.filters{display:flex;align-items:end;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}
.filters label{flex:1 1 140px}
.media-ui label{display:grid;gap:var(--space-1);font:400 13px/1.35 var(--font-sans);letter-spacing:1.3px;text-transform:uppercase}
.media-ui .check{display:inline-flex;align-items:center;margin-right:1rem;min-height:44px}
.media-ui :is(input,select,textarea){width:100%;min-height:44px;padding:var(--space-field-y) var(--space-field-x);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--ink);font:400 16px/1.25 var(--font-sans);letter-spacing:normal}
.media-ui input[type=checkbox]{width:1.12rem;min-height:1.12rem;accent-color:var(--ink)}
.media-ui textarea{resize:vertical}
.media-ui button:not(.ap-btn){color:var(--ink);background:transparent;border:0;padding:0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:.24em;font:500 16px var(--font-sans)}
.media-ui :is(a,button).ap-btn{color:var(--on-brand);white-space:nowrap}
.media-ui .badge{display:inline-block;border:1px solid var(--line);border-radius:var(--radius-full);padding:var(--space-badge-y) var(--space-badge-x);font:400 13px/1.2 var(--font-sans);letter-spacing:1.3px;text-transform:uppercase}
.tabs [aria-current]{text-decoration-thickness:2px}
.tablebox{overflow-x:auto}
.media-ui table{width:100%;border-collapse:collapse;text-align:left}
.media-ui th,.media-ui td{padding:14px 18px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;font:400 16px/1.6 var(--font-sans)}
.media-ui thead th,.weekday{font:400 13px/1.4 var(--font-sans);letter-spacing:1.3px;text-transform:uppercase}
.media-ui tbody tr:last-child>*{border-bottom:0}
.pager,.delete{margin-top:var(--space-3)}
.media-ui .notice{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-sm)}
.media-ui ul.notice{padding-left:var(--space-4)}
.media-ui fieldset{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}
.preline{white-space:pre-line;overflow-wrap:anywhere}
.calendar{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));min-width:700px}
.weekday,.day{padding:.65rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar>:nth-child(7n){border-right:0}
.day{min-height:85px}
.day strong{font:400 17px var(--font-display)}
.day a{display:block;margin-top:.35rem;overflow-wrap:anywhere;font-size:14px;line-height:1.4}
.day.other{background:var(--surface-raised)}
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(245px,1fr);align-items:start;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2)}
.board h2{font-size:24px}
.board .panel>div{border-top:1px solid var(--line);padding-top:var(--space-1)}
.media-settings [data-flux-sidebar]{background:var(--ground);border-color:var(--line)}
.media-settings :is(h1,h2,h3,[data-flux-heading]),.media-auth [data-flux-heading]{font-family:var(--font-display);font-weight:400}
.media-flux [data-flux-label]{font:400 13px/1.35 var(--font-sans);letter-spacing:1.3px;text-transform:uppercase}
.media-flux :is(input,textarea,select)[data-flux-control]{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none}
.media-flux [data-flux-button]{border-radius:var(--radius-full);box-shadow:none}
.media-auth button[type=submit][data-flux-button]{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
@media(max-width:700px){
  .wrap{width:calc(100% - 32px)}
  .bar nav{order:3;width:100%;gap:5px 16px}
  .heading{align-items:flex-start;gap:var(--space-2)}
  .panel{padding:var(--space-2)}
  .media-ui th,.media-ui td{padding:12px}
}
#bulk-events [hidden]{display:none}
#bulk-events button:disabled{opacity:.6;cursor:default}

.event-suggestion{gap:var(--space-1)}
.login-pending{cursor:progress}
.login-pending::after{
  content:"";display:inline-block;flex:none;width:.85em;height:.85em;margin-inline-start:.65em;
  border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;
}
@media(prefers-reduced-motion:no-preference){
  .media-ui main.wrap,.media-settings main{animation:media-enter .24s ease-out both}
  .login-entry{animation:login-enter .34s cubic-bezier(.2,.7,.25,1) both}
  .login-entry form{animation:media-enter .28s .06s ease-out both}
  .login-pending::after{animation:media-spin .65s linear infinite}
}
@keyframes media-enter{from{opacity:0}to{opacity:1}}
@keyframes login-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes media-spin{to{transform:rotate(1turn)}}

/* Light-mode tokens from the Media Pass design export. */
:root{
  --ground:#F7F5F2;--surface:#FFFFFF;--surface-raised:#FFFFFF;--ink:#111111;
  --line:#E2DDD8;--field-line:#CFC9C3;--ink-muted:#4A4A4A;--focus:#1D3FA8;
  --radius-sm:10px;--radius-md:16px;
}
html{color-scheme:light}
body.media-ui,body.media-flux{font-size:16px;line-height:1.5;letter-spacing:-.2px}
.top,.panel,.tablebox{background:var(--surface)}
.bar{min-height:72px;padding-block:12px}
.bar nav{gap:2px;flex:1 1 auto}
.bar nav a,.tabs a,.pager a{
  display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;
  border-radius:var(--radius-full);text-decoration:none;font-weight:500;font-size:15px;
}
.bar nav a[aria-current],.tabs a[aria-current]{background:var(--ink);color:var(--surface)}
.bar nav a:hover:not([aria-current]),.tabs a:hover:not([aria-current]){background:#F1EEEA}
.media-wordmark span,.muted{color:var(--ink-muted)}
.media-ui :focus-visible,.media-flux :focus-visible,.ap-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
main.wrap{padding-block:40px 64px}
.heading{margin-bottom:24px}
.media-ui h1,.media-auth h1{font-size:clamp(40px,6vw,60px);line-height:1.05}
.media-ui label,.media-flux [data-flux-label]{font:600 13px/1.4 var(--font-sans);letter-spacing:0;text-transform:none;color:#333}
.media-ui :is(input,select,textarea),.media-flux :is(input,select,textarea)[data-flux-control]{border-color:var(--field-line)}
.media-ui button:not(.ap-btn){
  border:1px solid var(--field-line);border-radius:var(--radius-full);padding:8px 16px;
  background:var(--surface);text-decoration:none;
}
.media-ui .filters>button:not(.ap-btn){background:var(--ink);color:var(--surface);border-color:var(--ink)}
.media-ui button.plain:not(.ap-btn){padding-inline:5px;border:0;text-decoration:underline}
.media-ui .badge{display:inline-flex;align-items:center;gap:6px;font:600 13px/1.25 var(--font-sans);letter-spacing:0;text-transform:none;border-color:var(--field-line);color:var(--ink-muted);background:var(--surface)}
.badge svg{flex:none}
.media-ui .badge:is(.requested,.pass-requested){background:#E5EDFF;color:#1D3FA8;border-color:#B9CBFF}
.media-ui .badge:is(.pending,.pass-pending){background:#FFF0CC;color:#7A4B00;border-color:#F2D28A}
.media-ui .badge:is(.approved,.reserved,.pass-approved){background:#C4FF23;color:#000;border-color:#9ED100}
.media-ui .badge:is(.rejected,.pass-rejected){background:#FFE4E1;color:#A3201A;border-color:#F5B8B1}
.media-ui .badge:is(.cancelled,.pass-expired){background:#ECECEC;color:#424242;border-color:#D0D0D0}
.media-ui .badge.pass-free{background:#EFE7FF;color:#5A2DB8;border-color:#D3C1FA}
.media-ui thead,.weekday,.day.other{background:#FBFAF8}
.media-ui thead th,.weekday{font:600 13px/1.4 var(--font-sans);letter-spacing:0;text-transform:none}
.admin-event-table{min-width:810px}
.admin-event-table tbody th a{font-weight:600;text-decoration:none}
.admin-event-table tbody th a:hover{text-decoration:underline}
.admin-event-table tr:has(input:checked){background:#F3F7E6}
.admin-event-table :is(th,td):last-child{text-align:right}
#bulk-events .bulk-tools{background:var(--ink);color:var(--surface);align-items:end}
#bulk-events .bulk-tools label{color:var(--surface)}
#bulk-events .bulk-tools button.ap-btn{background:var(--brand);color:var(--on-brand)}
.media-ui .error{background:#FFE4E1;color:#A3201A;border-color:#F5B8B1}
.media-ui .notice:not(.error){background:#F3F7E6}
.signin{max-width:440px;margin:24px auto 0}
.pin-cells{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.pin-cells input{padding:8px 2px;text-align:center;font-size:22px;min-height:52px}
.pin-native[hidden],.pin-cells[hidden],.pin-visibility[hidden]{display:none}
.pin-visibility{justify-self:start}
.media-ui .pin-visibility:not(.ap-btn){border:0;padding:0;text-decoration:underline}
.media-ui button.ap-btn:disabled{opacity:.55;cursor:default}
.editor-page,.outlet-admin{max-width:920px;margin-inline:auto}
.editor-page #event-editor{border:0;background:none;padding:0;gap:20px}
.editor-page fieldset{min-width:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:20px}
.editor-page legend{font:400 23px var(--font-display);padding-inline:6px}
.outlet-catalog{max-width:1080px;margin-inline:auto}
.event-days,.event-rows,.status-rows,.request-list{display:grid;gap:12px}
.event-day h2{font:600 17px var(--font-sans);margin-block:22px 10px;text-transform:capitalize}
.event-row,.request-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding:18px 22px}
.event-info,.request-info{flex:1 1 250px;min-width:0}
.event-info h3,.request-info h2{font:400 24px/1.2 var(--font-display);overflow-wrap:anywhere}
.event-action summary,.legend summary{cursor:pointer;font-weight:600}
.event-action[open]{flex:1 1 100%}
.event-action form{margin-top:12px}
.legend{margin-block:16px;padding:12px 20px}
.legend ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.status-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr));gap:10px;margin-bottom:24px}
.status-picker a{display:grid;align-content:space-between;justify-items:start;gap:8px;padding:12px;text-decoration:none}
.status-picker a[aria-current]{border-color:var(--ink);outline:1px solid var(--ink)}
.status-picker strong{font:400 27px var(--font-display)}
.status-rows .event-row{border-bottom:1px solid var(--line)}
.status-rows .event-row:last-child{border-bottom:0}
.day{background:var(--surface)}
.day-label-mobile{display:none}
.outlet-admin .cards{grid-template-columns:1fr}
.media-settings [data-flux-sidebar]{background:var(--surface)}
@media(max-width:760px){
  main.wrap{padding-block:28px 48px}
  .calendar{min-width:0;grid-template-columns:1fr}
  .calendar .weekday,.calendar .other,.calendar .day:not(:has(a)){display:none}
  .day{min-height:0;border-inline-end:0;padding:14px}
  .day:last-child{border-bottom:0}
  .day-label-desktop{display:none}
  .day-label-mobile{display:inline}
  .event-row,.request-row{padding:15px}
}
