*{box-sizing:border-box}body{margin:0;background:var(--brand-night-shell,#f1f1f1);color:var(--brand-night-text,#303030);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--ui-link)}button,.button{min-height:38px;padding:8px 14px;border:1px solid var(--brand-night-line);border-radius:8px;background:var(--brand-night-panel);color:var(--brand-night-text);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:hover{background:var(--brand-night-hover)}button.primary,.button.primary{background:var(--ui-primary);color:var(--ui-primary-ink);border-color:var(--ui-primary)}button.danger{color:var(--ui-bad-ink);background:var(--ui-bad-fill)}input,select,textarea{min-height:42px;padding:9px 11px;border:1px solid var(--brand-night-field);border-radius:8px;background:var(--brand-night-sunken);color:var(--brand-night-text);width:100%;max-width:100%}input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:#538aff}input[type=color]{padding:3px}textarea{min-height:110px;resize:vertical}label{display:grid;gap:6px;font-weight:500;font-size:13px}small,.muted{color:var(--brand-night-muted)}h1,h2,h3,p{margin-top:0}h1{font-size:28px;letter-spacing:-.03em;line-height:1.2;margin-bottom:8px}h2{font-size:18px;letter-spacing:-.02em}h3{font-size:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #538aff;outline-offset:3px}.skip{position:fixed;top:-100px;left:16px;z-index:1000;padding:12px;background:white}.skip:focus{top:8px}.topbar{height:60px;display:flex;align-items:center;gap:18px;padding:0 22px;background:#222;color:#fff;position:sticky;top:0;z-index:5}.brand{width:110px;height:32px;object-fit:contain}.product{border-left:1px solid #555;padding-left:20px;letter-spacing:.12em;text-transform:uppercase;font-size:11px}.topbar .spacer{flex:1}.topbar button{border:0;background:transparent;color:white}.user-name{font-size:12px;color:#ddd}.layout{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 60px)}.rail{background:var(--agency-rail);color:var(--agency-rail-text);padding:24px 12px;position:sticky;top:60px;height:calc(100vh - 60px);overflow:auto}.rail select{background:var(--agency-rail-active);color:var(--agency-rail-white);border-color:var(--agency-rail-line)}.rail .overline{color:var(--agency-rail-muted);font-size:10px;letter-spacing:.14em;margin:0 10px 10px}.rail nav{margin-top:24px}.rail details{margin-bottom:6px}.rail summary{list-style:none;padding:9px 12px;font-size:13px;color:var(--agency-rail-text);text-transform:none;letter-spacing:0;cursor:pointer}.rail a{display:block;color:var(--agency-rail-text);text-decoration:none;padding:8px 12px;min-height:44px;font-size:13px;border:0;border-radius:8px}.rail a:hover{background:var(--agency-rail-active)}.rail a.active{background:var(--agency-rail-active);color:var(--agency-rail-white)}.rail .nav-count{float:right;color:var(--agency-rail-muted);font-size:11px}.main{padding:30px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.eyebrow{text-transform:none;font-size:13px;letter-spacing:0;color:var(--brand-night-muted);margin-bottom:8px}.actions,.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.filters{padding:12px 0;margin-bottom:12px}.filters input[type=search]{max-width:340px;flex:1;min-width:130px}.filters select{max-width:180px}.panel{background:var(--brand-night-panel);border:1px solid var(--brand-night-line);padding:20px;margin-bottom:20px;border-radius:8px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:26px}.metric{padding:22px;background:var(--brand-night-panel);border:1px solid var(--brand-night-line);border-top:2px solid #538aff}.metric strong{display:block;font-size:34px;font-weight:500;letter-spacing:-.04em;margin:10px 0}.metric small{text-transform:uppercase;font-size:10px;letter-spacing:.08em}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.table-wrap{overflow:auto;background:var(--brand-night-panel);border:1px solid var(--brand-night-line);border-radius:8px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--ui-link);background:var(--brand-night-hover);padding:12px 14px;border-bottom:1px solid var(--brand-night-line)}td{padding:12px 14px;border-bottom:1px solid var(--brand-night-line);max-width:340px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--brand-night-hover)}td .link{border:0;background:transparent;padding:0;color:var(--ui-link);font-weight:500;justify-content:start;max-width:300px;white-space:normal;text-align:left}.pill{font-size:11px;display:inline-block;padding:3px 8px;background:var(--ui-quiet-fill);color:var(--ui-quiet-ink);border-radius:3px}.pill.good{background:var(--ui-good-fill);color:var(--ui-good-ink)}.pill.warn{background:var(--ui-warn-fill);color:var(--ui-warn-ink)}.empty{text-align:center;padding:70px 24px;background:var(--brand-night-panel);border:1px solid var(--brand-night-line)}.empty img{width:48px;height:48px;object-fit:contain;opacity:.65;margin-bottom:20px}.empty p{max-width:450px;margin:0 auto 20px;color:var(--brand-night-muted)}.login{max-width:440px;margin:10vh auto;padding:34px;background:var(--brand-night-panel);border:1px solid var(--brand-night-line)}.login form{display:grid;gap:18px;margin-top:28px}.login .brand-dark{max-width:150px;height:55px;object-fit:contain;margin-bottom:32px}.login h1{font-size:32px}.login button{width:100%}.loading{padding:15vh 10vw}.festival-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.festival-card{padding:24px;background:var(--brand-night-panel);border:1px solid var(--brand-night-line);text-decoration:none;color:inherit;display:block;min-height:170px}.festival-card:hover{border-color:#538aff}.festival-card h2{margin:20px 0 8px}.festival-card .arrow{float:right;color:#538aff}.tabs{display:flex;overflow:auto;border-bottom:1px solid var(--brand-night-line);gap:0;margin-bottom:24px}.tabs button{flex-shrink:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--brand-night-muted);padding:12px 18px}.tabs button[aria-pressed=true]{color:var(--ui-link);border-color:var(--ui-link)}.detail-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.detail-fields dt{font-size:11px;color:var(--brand-night-muted)}.detail-fields dd{margin:5px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.timeline-item{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid var(--brand-night-line)}.timeline-item time{color:var(--brand-night-muted);font-size:12px}.progress{display:flex;gap:8px;flex-wrap:wrap}.calendar{display:grid;grid-template-columns:repeat(var(--days,3),minmax(220px,1fr));overflow:auto;border:1px solid var(--brand-night-line);background:var(--brand-night-panel)}.day{border-right:1px solid var(--brand-night-line);padding:16px;min-height:300px}.day:last-child{border:0}.day h3{padding-bottom:12px;border-bottom:1px solid var(--brand-night-line);font-size:12px}.event{width:100%;text-align:left;display:block;padding:14px;margin-bottom:10px;border-left:3px solid #538aff;background:var(--brand-night-hover)}.event strong{display:block;margin:4px 0}.event small{display:block}.conflict{border-left:3px solid #d89a33;padding:10px 14px;background:var(--ui-warn-fill);color:var(--ui-warn-ink);margin:8px 0}.columns{position:relative}.columns>div{position:absolute;right:0;top:45px;min-width:220px;z-index:4;background:var(--brand-night-panel);padding:16px;border:1px solid var(--brand-night-line);box-shadow:var(--ui-lift-2)}.check{display:flex;align-items:center;gap:10px;margin:8px 0}.columns summary{cursor:pointer;padding:9px 14px;border:1px solid var(--brand-night-line);border-radius:8px}dialog{background:var(--brand-night-panel);color:var(--brand-night-text);border:1px solid var(--brand-night-line);padding:0;width:min(760px,calc(100vw - 24px));max-height:90vh;border-radius:6px;box-shadow:var(--ui-lift-2)}dialog::backdrop{background:#0009;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--brand-night-line);position:sticky;top:0;background:var(--brand-night-panel);z-index:2}.dialog-head h2{margin:0}.dialog-body{padding:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.span{grid-column:1/-1}.dialog-foot{padding:16px 24px;display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--brand-night-line);position:sticky;bottom:0;background:var(--brand-night-panel)}.form-error{color:var(--ui-bad-ink);background:var(--ui-bad-fill);padding:12px;margin-bottom:16px}.form-error:empty{display:none}.builder-row{padding:14px;border:1px solid var(--brand-night-line);margin-bottom:10px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.builder-row .remove{justify-self:end}#notice{position:fixed;bottom:24px;right:24px;z-index:100;max-width:calc(100vw - 48px);background:var(--ui-primary);color:var(--ui-primary-ink);border-radius:8px;padding:0;box-shadow:var(--ui-lift-2)}#notice:not(:empty){padding:14px 20px}.portal{max-width:720px;margin:45px auto;padding:24px}.portal form{display:grid;gap:20px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.mobile-menu{display:none}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:14px}.preview-text{white-space:pre-wrap;overflow-wrap:anywhere}.print-brand{display:none}
@media(max-width:1000px){.main{padding:22px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.layout{grid-template-columns:minmax(0,1fr)}.rail{display:none;position:fixed;top:60px;left:0;width:min(300px,85vw);z-index:10;box-shadow:10px 0 40px #0004}.rail.open{display:block}.mobile-menu{display:inline-flex}.topbar{padding:0 12px;gap:8px}.topbar .brand{width:85px}.product{padding-left:10px;font-size:9px}.user-name{display:none}.main{padding:20px 14px}.page-head{align-items:flex-start;flex-direction:column;margin-bottom:20px}h1{font-size:25px}.metrics{gap:10px}.metric{padding:14px}.metric strong{font-size:28px}.grid,.form-grid,.detail-fields{grid-template-columns:minmax(0,1fr)}.span{grid-column:auto}.actions{width:100%}.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.filters input[type=search]{max-width:none;min-width:0;grid-column:1/-1}.filters select{max-width:none;min-width:0;width:100%}.login{margin:5vh 14px;padding:26px}.dialog-body{padding:18px}.dialog-head{padding:14px 18px}.dialog-foot{padding:14px}.timeline-item{grid-template-columns:85px 1fr;gap:10px}.calendar{grid-template-columns:repeat(var(--days,3),minmax(240px,1fr))}.builder-row{grid-template-columns:minmax(0,1fr)}button,.button{min-height:44px}th,td{padding:10px}.portal{margin:10px auto;padding:14px}.pagination{gap:10px}.filters details{min-width:0}.filters details[open]{grid-column:1/-1}.filters .columns>div{position:static;min-width:0;width:100%;box-shadow:none}.filters .columns summary{min-height:44px;white-space:normal;overflow-wrap:anywhere}.pagination{flex-wrap:wrap}.pagination>.muted{white-space:nowrap}.pagination>.actions{width:auto}.topbar button{padding:8px}.empty{padding:40px 16px}}
@media print{body{background:white;color:black;font-size:10pt}.topbar,.rail,.actions,.filters,.tabs,dialog,#notice,.skip,.pagination,.no-print{display:none!important}.layout{display:block}.main{padding:0}.panel,.table-wrap,.metric{border-color:#ccc;background:white}.metrics{grid-template-columns:repeat(4,1fr)}.print-brand{display:block;width:110px;margin-bottom:20px}.table-wrap{overflow:visible}table{white-space:normal}td,th{padding:7px;color:black;background:white}.calendar{display:block}.day{break-inside:avoid}.event{background:white;color:black}.page-head{margin-bottom:20px}.detail-fields{grid-template-columns:repeat(3,1fr)}a{color:black;text-decoration:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.topbar button{white-space:nowrap}.link{border:0;background:transparent;padding:0;color:var(--ui-link);justify-content:start;text-align:left}.link:hover{background:transparent;text-decoration:underline}
@media(max-width:440px){.topbar .product{display:none}}
.time-calendar{display:flex;overflow:auto;max-width:100%;border:1px solid var(--brand-night-line);background:var(--brand-night-panel);max-height:75vh}.clock-axis{flex:0 0 64px;position:sticky;left:0;z-index:2;background:var(--brand-night-panel)}.clock-axis>div{position:relative}.clock-axis span{position:absolute;font-size:11px;padding:0 8px}.clock-day{flex:1 0 250px;border-left:1px solid var(--brand-night-line)}.time-calendar h3{position:sticky;top:0;z-index:3;margin:0;padding:15px 10px;font-size:13px;background:var(--brand-night-panel);border-bottom:1px solid var(--brand-night-line)}.clock-track{position:relative;background:repeating-linear-gradient(to bottom,transparent 0,transparent 71px,var(--brand-night-line) 71px,var(--brand-night-line) 72px)}.clock-event{position:absolute;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow:auto;padding:5px 8px;border-left:3px solid var(--ui-primary);background:var(--ui-primary-soft,var(--brand-night-panel));font-size:12px;min-height:0}.clock-event small{font-size:10px}.clock-event strong{font-size:12px}
/* Reserve space for the chevron rather than relying on browser-specific edge spacing. */
select:not([multiple]){appearance:none;-webkit-appearance:none;padding-inline-end:42px;background-image:url('/brand/chevron-down.svg');background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;text-overflow:ellipsis;cursor:pointer}
select[multiple]{background-image:none;min-height:96px;padding:8px}
select[multiple] option{padding:6px 8px}
:dir(rtl) select:not([multiple]){background-position:left 14px center}
.rail select:not([multiple]){background-image:url('/brand/chevron-down.svg');background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px}
.form-grid>label,.builder-row>label,.filters>*{min-width:0}
@media(forced-colors:active){select:not([multiple]){appearance:auto;background-image:none;padding-inline-end:12px}}
@media(max-width:600px){input,select,textarea{font-size:16px}button,.button,.tabs button{min-height:44px}}
/* A neighbouring textarea must not stretch a select into a tall blank control. */
label{align-content:start}
select:not([multiple]){height:44px}
.account-menu{position:relative}.account-menu summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px;gap:8px}.account-menu summary::after{content:'⌄'}.account-menu summary::-webkit-details-marker{display:none}.account-menu>div{position:absolute;right:0;top:100%;min-width:180px;padding:8px;background:#303030;border:1px solid #555;border-radius:8px;box-shadow:0 8px 24px #0003;display:grid;z-index:20}.account-menu>div button{justify-content:flex-start;text-align:left}.topbar .account-menu>div button:hover{background:#444}.account-menu:not([open])>div{display:none}
@media(max-width:600px){.accounts-table,.accounts-table tbody,.accounts-table tr,.accounts-table td{display:block;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere}.accounts-table thead{display:none}.accounts-table tr{padding:10px 0;border-bottom:1px solid var(--brand-night-line)}.accounts-table td{border:0;padding:4px 10px}.accounts-table td:first-child{font-weight:650}.accounts-table td:nth-child(3)::before{content:'Access: ';color:var(--brand-night-muted)}.accounts-table td:nth-child(4)::before{content:'Status: ';color:var(--brand-night-muted)}.accounts-table td:last-child{display:flex;flex-wrap:wrap;gap:6px}}
.show-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.show-toolbar label{min-width:150px}.show-stage{padding:24px;background:#202020;color:#fff;text-align:center;border-radius:6px;margin-bottom:18px;overflow-wrap:anywhere}.show-countdown{font-size:clamp(36px,8vw,84px);font-variant-numeric:tabular-nums;font-weight:650;line-height:1.2}.show-countdown.overdue{color:#ff9292}.show-stage .eyebrow{color:#bbb}.show-prompt{font-size:clamp(20px,4vw,36px);font-weight:600;margin-top:18px}.show-blackout>*{visibility:hidden}.show-blink{animation:show-blink .6s steps(2,end) 5}.show-cue{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--brand-night-line);flex-wrap:wrap}.show-cue.current{background:var(--brand-night-hover);border-left:3px solid #538aff}.show-cue span{color:var(--brand-night-muted)}.show-director,.show-cues,.show-chat{margin-top:24px}.show-chat p{padding:10px;border-bottom:1px solid var(--brand-night-line)}[data-mode="compact"] .show-chat,[data-mode="compact"] .show-director,[data-mode="stage timer"] .show-chat,[data-mode="stage timer"] .show-director,[data-mode="stage timer"] .show-cues,[data-mode="stage timer"] .show-controls,[data-mode="prompter"] .show-controls,[data-mode="prompter"] .show-cues,[data-mode="prompter"] .show-chat,[data-mode="prompter"] .show-director{display:none}[data-mode="prompter"] .show-countdown{font-size:24px}[data-mode="backstage"] .show-stage{text-align:left}@keyframes show-blink{50%{outline:6px solid #ffcf55}}@media(prefers-reduced-motion:reduce){.show-blink{animation:none;outline:6px solid #ffcf55}}

.customer-logo{background:#fff;padding:4px;border-radius:3px}.product{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.customer-wordmark{color:white;font-weight:700;max-width:180px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar>a{text-decoration:none}

.metric{border-top-color:var(--brand-night-line)}

.id-signin-notice{max-width:100%;padding:16px;margin:18px 0;border:1px solid currentColor;border-radius:12px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.id-signin-notice a{font-weight:650;text-underline-offset:3px}.id-signin-cancel{display:inline;border:0;background:none;color:inherit;padding:6px 0;margin:0;min-height:32px;text-decoration:underline;font:inherit;cursor:pointer}

[hidden]{display:none!important}

/* Consistent controls and gentle state changes without moving fixed descendants. */
.login{border-radius:20px}
.login .button.primary{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:10px;background:var(--brand-accent,#ff4d00);border-color:var(--brand-accent,#ff4d00);color:#111;font-weight:650;margin:24px 0 18px}
.login .brand-dark{height:auto}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--brand-accent,#ff4d00);outline-offset:3px}
button,.button{transition:background-color .14s ease,border-color .14s ease,color .14s ease;touch-action:manipulation}
.login,dialog[open] .dialog-body{animation:backstage-enter .18s cubic-bezier(.22,1,.36,1)}
.loading{min-height:65svh;display:grid;place-content:center;text-align:center;gap:12px;color:var(--brand-night-muted);padding:24px}
.loading img{width:132px;height:auto;margin:auto}
.login #signin-status{min-height:52px;line-height:1.6;color:var(--brand-night-muted)}
.login #signin-status button{display:block;margin-top:12px}
dialog{overscroll-behavior:contain}input,textarea{scroll-margin-block:80px}
@keyframes backstage-enter{from{opacity:.72}to{opacity:1}}
@media(max-width:760px){.login{margin:24px 14px}.topbar button{min-width:44px}.login p{overflow-wrap:anywhere}.main{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.login,dialog[open] .dialog-body{animation:none}button,.button{transition:none}}

@font-face{font-family:Geist;src:url('/brand/fonts/geist-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Geist;src:url('/brand/fonts/geist-latin-ext.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
body{font-family:Geist,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}

.table-wrap:focus-visible{outline:3px solid var(--brand-accent,#ff4d00);outline-offset:3px}

.rail .rail-family{margin:4px 0}.rail .rail-family>summary{font-size:14px;font-weight:650;min-height:44px;padding:12px 10px;color:var(--agency-rail-white)}.rail .rail-section{margin:2px 0 2px 10px}.rail .rail-section>summary{font-size:12px;font-weight:550;min-height:40px;padding:10px;color:var(--agency-rail-muted)}.rail .rail-section>a{margin-left:8px}.rail details>summary::after{content:"";float:right;margin-top:5px;width:7px;height:7px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(-45deg);transition:transform 140ms cubic-bezier(.22,1,.36,1)}.rail details[open]>summary::after{content:"";transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.rail details>summary::after{transition:none}}
