:root{--bg:#10051b;--bg2:#1a0829;--panel:#241035;--panel2:#2b1240;--border:#47225f;--text:#fff;--muted:#c5b6d3;--muted2:#9e8fac;--purple:#b85cff;--purple2:#8d35dc;--green:#67f27b;--amber:#ffd83d;--red:#ff8ea2;--input:#1b0b2a;--input-border:#58306f}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 50% -15%,#2e1047 0,#160824 34%,#10051b 72%);-webkit-font-smoothing:antialiased}a{color:inherit}.site-header{max-width:820px;margin:0 auto;padding:28px 24px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.brand,.account{display:flex;flex-direction:column;gap:4px}.brand strong{font-size:29px;line-height:1;font-weight:900;letter-spacing:.035em}.brand span{font-size:20px;color:#b96dff;font-weight:500}.account{text-align:right}.account strong{font-size:18px;line-height:1.2}.account span{font-size:15px;color:#d8cbe2}.account span:first-letter{}.account a{text-underline-offset:3px}main{max-width:820px;margin:0 auto;padding:16px 24px 48px}.datebar{display:grid;grid-template-columns:1fr minmax(220px,2fr) 1fr;align-items:center;padding:24px 28px;border:1px solid #4b2265;border-radius:20px;background:linear-gradient(145deg,#231034,#1c0b2b);box-shadow:inset 0 0 36px rgba(145,58,206,.08)}.show-heading{text-align:center}.show-heading strong{display:block;font-size:23px;line-height:1.1;letter-spacing:.01em}.show-heading small{display:block;margin-top:7px;font-size:16px;color:#cbbbd7}.navslot{text-align:left}.navslot.right{text-align:right}.datebar a,.nav-disabled{font-size:16px;font-weight:650;text-decoration:none}.datebar a{color:#c66fff}.nav-disabled{color:#6e587b}.save-row{display:flex;justify-content:center;margin:18px 0 20px}.status{min-width:112px;padding:9px 18px;border:1px solid;border-radius:999px;text-align:center;font-size:15px;font-weight:750}.status.saved{color:var(--green);border-color:#285b39;background:#0e2b1b}.status.saving{color:#e9d5f7;border-color:#6f3b89;background:#2c143c}.status.failed{color:var(--red);border-color:#7f3a4a;background:#381522}.notice{margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#231031}.notice.success{border-color:#397348}.notice.warning{border-color:#7e6428;color:#ffe696}.notice.errorbox{border-color:#8d3e52;color:#ffb6c3}.report-section{margin:16px 0;padding:20px 22px;border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,#261038,#21102f)}.report-section.own-section{border:2px solid var(--purple);background:linear-gradient(145deg,#2b1241,#231033);box-shadow:0 0 0 1px rgba(184,92,255,.08)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px}.section-name{min-width:0;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.section-title h2{margin:0;font-size:21px;line-height:1.1;font-weight:800}.permission{font-size:13px;color:#cbbbd6;white-space:nowrap}.editable .permission{color:var(--green)}.your-section{padding:5px 9px;border:1px solid #64328d;border-radius:999px;background:#35164e;color:#cf86ff;text-transform:uppercase;font-size:10px;font-weight:850;letter-spacing:.045em}.dept-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#7830c4,#4f1a89);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.dept-icon svg{width:22px;height:22px;display:block;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.dept-icon.icon-people svg{stroke-width:1.75}.dept-icon.icon-truck svg{stroke-width:1.8}.edit-area textarea{width:100%;min-height:170px;padding:18px;border:1px solid var(--input-border);border-radius:16px;resize:vertical;background:#180926;color:#fff;font:inherit;font-size:16px;line-height:1.45;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.edit-area textarea::placeholder{color:#9b8ba7}.edit-area textarea:focus{border-color:#9e4dea;box-shadow:0 0 0 3px rgba(184,92,255,.14)}.ntr{display:flex;align-items:center;gap:11px;margin-top:14px;padding:13px 15px;border:1px solid #643387;border-radius:14px;background:#2d1243;color:#fff;font-size:15px;font-weight:700;cursor:pointer}.ntr input{width:22px;height:22px;margin:0;accent-color:#a64cff}.ntr-selected .edit-area{display:none}.edited{margin-top:10px;padding-left:2px;color:#a895b7;font-size:12px}.edited:before{content:"◷ ";color:#9b7cac}.read-view{padding-top:1px}.report-copy{font-size:15px;line-height:1.5;color:#fff}.response-state{font-size:14px;font-weight:750;line-height:1.25}.ntr-state{color:var(--green)}.awaiting-state{color:var(--amber)}.sync-panel{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:24px}.secondary,button{appearance:none;border:0;border-radius:12px;padding:13px 17px;background:#ae53ee;color:#160621;font:inherit;font-weight:850;cursor:pointer}.secondary:hover,button:hover{filter:brightness(1.06)}button:disabled{opacity:.55;cursor:wait}#sync-result{color:#d6c7df;font-weight:650}.login{display:grid;place-items:center;padding:20px}.card,.admin-card{border:1px solid var(--border);border-radius:20px;background:linear-gradient(145deg,#28123a,#21102f)}.login-card{width:min(92vw,400px);padding:28px}.login-card h1{margin:0;font-size:29px}.login-card h2{margin:5px 0 22px;color:#bd6aff;font-weight:500}.login-card label,.user-form label,.reset-form label{display:block;color:#d8c9e2;font-size:13px;font-weight:650}.login-card label{margin:14px 0}.login-card input,.user-form input,.user-form select,.reset-form input{width:100%;margin-top:6px;padding:12px;border:1px solid #6a4378;border-radius:10px;background:#fff;color:#24122d;font:inherit;font-size:16px}.login-card button{width:100%}.error{color:#ffb0be}.users-main{max-width:980px}.page-title h1{margin:4px 0;font-size:32px}.page-title p{margin:4px 0 20px;color:var(--muted)}.admin-card{margin:14px 0;padding:24px}.admin-card h2,.admin-card h3{margin-top:0}.user-form{display:grid;grid-template-columns:1fr 1.35fr 1.15fr 1.35fr auto;gap:12px;align-items:end}.user-form.compact{grid-template-columns:1fr 1.35fr 1.1fr auto auto}.user-form button{min-height:45px}.checkline{display:flex!important;gap:8px;align-items:center;white-space:nowrap;padding-bottom:10px}.checkline input{width:20px;height:20px;margin:0;accent-color:#a74cff}.accounts-heading{margin:30px 0 8px}.user-card-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.user-card-heading h3{margin-bottom:2px}.user-card-heading small{color:var(--muted)}.pill{padding:5px 9px;border-radius:999px;background:#173622;color:#7af28a;font-size:12px;font-weight:800}.inactive-pill{background:#342e38;color:#b8acbc}.user-card.inactive{opacity:.72}.password-reset{margin-top:16px;padding-top:12px;border-top:1px solid #4a3157}.password-reset summary{cursor:pointer;color:#d9b7f0;font-weight:750}.reset-form{display:flex;gap:10px;align-items:end;margin-top:12px}.reset-form label{flex:1}.reset-form button{min-height:45px}
@media(max-width:700px){.site-header{padding:24px 24px 14px}.brand strong{font-size:27px}.brand span{font-size:18px}.account strong{font-size:17px}.account span{font-size:14px}.account{max-width:50%}main{padding:14px 24px 40px}.datebar{grid-template-columns:1fr minmax(175px,1.85fr) 1fr;padding:22px 18px}.show-heading strong{font-size:20px}.show-heading small{font-size:15px}.datebar a,.nav-disabled{font-size:15px}.report-section{padding:19px 18px}.section-title h2{font-size:19px}.dept-icon{width:42px;height:42px;flex-basis:42px}.permission{font-size:12px}.edit-area textarea{min-height:155px}.user-form,.user-form.compact{grid-template-columns:1fr}.user-form button{width:100%}.checkline{padding-bottom:0;min-height:44px}.reset-form{display:block}.reset-form button{width:100%;margin-top:10px}.admin-card{padding:18px}.user-card-heading{align-items:center}}
@media(max-width:480px){.site-header{padding:22px 24px 13px;gap:14px}.brand strong{font-size:26px}.brand span{font-size:18px}.account{max-width:50%;gap:5px}.account strong{font-size:16px}.account span{font-size:14px;line-height:1.3}main{padding:10px 24px 36px}.datebar{grid-template-columns:86px 1fr 66px;padding:20px 15px;border-radius:18px}.navslot span span{display:inline}.show-heading strong{font-size:18px}.show-heading small{font-size:14px}.datebar a,.nav-disabled{font-size:14px}.save-row{margin:16px 0}.report-section{padding:18px 16px;border-radius:18px}.section-title{align-items:center;gap:10px;margin-bottom:16px}.section-name{gap:10px;flex:1}.section-title h2{font-size:20px}.permission{font-size:12px}.your-section{font-size:10px;padding:5px 8px}.dept-icon{width:40px;height:40px;flex-basis:40px}.edit-area textarea{min-height:150px;padding:16px}.ntr{font-size:16px}.report-copy{font-size:16px}.response-state{font-size:16px}}
@media(max-width:390px){.site-header{padding-left:18px;padding-right:18px}.brand strong{font-size:23px}.brand span{font-size:16px}.account strong{font-size:15px}.account span{font-size:13px}main{padding-left:18px;padding-right:18px}.datebar{grid-template-columns:72px 1fr 54px;padding-left:12px;padding-right:12px}.datebar a,.nav-disabled{font-size:13px}.show-heading strong{font-size:17px}.show-heading small{font-size:13px}.section-title{align-items:flex-start}.section-name{gap:8px}.dept-icon{width:38px;height:38px;flex-basis:38px}.permission{padding-top:4px}.your-section{order:3;margin-left:46px}}

/* V1.2.3 typography + icon polish */
@media(max-width:700px){.section-title h2{font-size:20px}.report-copy{font-size:15px}.response-state{font-size:14px}.ntr{font-size:15px}.permission{font-size:12px}.edited{font-size:12px}}
@media(max-width:480px){.section-title h2{font-size:19px}.report-copy{font-size:14px}.response-state{font-size:13px}.ntr{font-size:15px}.your-section{font-size:9px}.dept-icon{width:40px;height:40px;flex-basis:40px}.dept-icon svg{width:20px;height:20px}}

/* V1.3 final mobile polish + PDF/admin controls */
.report-section.readonly{padding-top:16px;padding-bottom:16px}.report-section.readonly .section-title{margin-bottom:12px}.report-section.readonly .read-view{padding-top:0}.report-section.own-section{border:1px solid #9a43d7;box-shadow:inset 0 0 0 1px rgba(184,92,255,.12),0 0 0 1px rgba(184,92,255,.04)}
.report-actions{display:grid;gap:12px;margin-top:24px}.action-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.action-result{color:#d6c7df;font-size:13px;font-weight:650}.pdf-button{background:#62e879;color:#092713}.download-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border:1px solid #71408c;border-radius:12px;background:#2a123d;color:#e5d8ed;text-decoration:none;font-weight:800}.download-button:hover{filter:brightness(1.08)}
.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-heading h2{margin:3px 0 5px}.admin-heading p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.admin-kicker{color:#bd6aff;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.08em}.recipient-count{padding:6px 10px;border-radius:999px;background:#15351f;color:#78f188;font-size:12px;font-weight:850;white-space:nowrap}.recipient-add-form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px;align-items:end}.recipient-add-form label,.recipient-form label{display:block;color:#d8c9e2;font-size:13px;font-weight:650}.recipient-add-form input,.recipient-form input{width:100%;margin-top:6px;padding:12px;border:1px solid #6a4378;border-radius:10px;background:#fff;color:#24122d;font:inherit;font-size:16px}.optional{font-weight:500;color:#9f8cac}.recipient-list{display:grid;gap:10px;margin-top:18px}.recipient-row{display:flex;align-items:end;gap:10px;padding:14px;border:1px solid #4a285a;border-radius:14px;background:#1d0b2a}.recipient-row.inactive{opacity:.62}.recipient-form{display:grid;grid-template-columns:1fr 1.5fr auto auto;gap:10px;align-items:end;flex:1;min-width:0}.recipient-delete{margin:0}.danger-ghost{background:transparent;color:#ff9bad;border:1px solid #73404e;padding:11px 13px}.empty-admin-state{padding:16px;border:1px dashed #58346b;border-radius:12px;color:var(--muted);text-align:center}
@media(max-width:700px){.report-section.readonly{padding:15px 17px}.report-section.readonly .section-title{margin-bottom:10px}.section-name{flex-wrap:nowrap}.section-name h2{min-width:0}.recipient-add-form,.recipient-form{grid-template-columns:1fr}.recipient-row{display:block}.recipient-delete{margin-top:8px}.recipient-delete button{width:100%}.admin-heading{align-items:center}}
@media(max-width:480px){.report-section.readonly{margin:13px 0;padding:14px 16px}.report-section.readonly .section-title{margin-bottom:9px}.report-section.readonly .dept-icon{width:38px;height:38px;flex-basis:38px}.report-section.readonly .dept-icon svg{width:19px;height:19px}.report-section.readonly .section-title h2{font-size:18px;line-height:1.14}.report-section.readonly .report-copy{font-size:14px;line-height:1.42}.report-section.readonly .response-state{font-size:13px}.own-section .section-title h2{font-size:19px}.own-section .section-name{flex-wrap:wrap}.own-section .your-section{margin-left:50px;order:3}.report-actions button,.report-actions .download-button{width:100%}.action-result{width:100%;text-align:center}.admin-heading h2{font-size:20px}.admin-heading p{font-size:13px}}

/* V1.4 Toolbox Talk */
.app-tabs{display:flex;gap:8px;margin:0 0 14px;padding:5px;border:1px solid #4f2665;border-radius:15px;background:#1b0a28}.app-tabs a{flex:1;padding:10px 12px;border-radius:10px;color:#baa7c7;text-align:center;text-decoration:none;font-size:13px;font-weight:850}.app-tabs a.active{background:#8f3cc7;color:#fff;box-shadow:0 4px 14px rgba(151,55,211,.25)}.admin-tabs{max-width:520px;margin-bottom:20px}
.toolbox-complete-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0;padding:13px 16px;border:1px solid #2e8d46;border-radius:14px;background:#102b18;color:#72ef8b;font-size:13px}.toolbox-complete-banner span{color:#b8d6bf;font-size:12px}
.toolbox-intro,.ack-card,.manager-panel,.completion-card{margin:15px 0;padding:21px;border:1px solid #4d2b5f;border-radius:20px;background:linear-gradient(145deg,#28123a,#21102f)}.toolbox-intro h1{margin:4px 0 15px;font-size:26px}.toolbox-text{font-size:15px;line-height:1.62;color:#fff;white-space:normal}.toolbox-help,.muted{color:#a996b5;font-size:12.5px;line-height:1.45}.ack-card.own-section{border-color:#943ed0}.ack-list{display:grid;gap:9px;margin:14px 0}.ack-check{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;border:1px solid #58316b;border-radius:13px;background:#1b0a29;color:#eee5f3;font-size:14px;line-height:1.35;cursor:pointer}.ack-check input{width:21px;height:21px;flex:0 0 21px;margin:0;accent-color:#a64cff}.signature-block{margin:17px 0}.signature-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.signature-pad{display:block;width:100%;height:140px;border:1px dashed #7a4891;border-radius:14px;background:#fff;touch-action:none}.signature-block small{display:block;margin-top:7px;color:#9d88aa;font-size:11.5px}.ghost-small,.void-link{padding:6px 9px;border:1px solid #5c386b;border-radius:8px;background:transparent;color:#c9afd9;font-size:11px}.submit-ack{width:100%;background:#65e77c;color:#0b2b13}.submitted-card{display:flex;gap:16px;align-items:center}.submitted-card h2{margin:3px 0}.submitted-card p{margin:0;color:#b9a9c3;font-size:13px}.submitted-check{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#163e20;color:#78ef8a;font-size:24px;font-weight:900}
.manager-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.manager-head h2{margin:4px 0}.manager-head p{margin:0;color:#aa97b6;font-size:13px}.attendance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.attendance-grid h3{margin:0 0 9px;font-size:14px;color:#dbc4e8}.attendance-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #432551}.attendance-row strong{display:block;font-size:13px}.attendance-row small{display:block;margin-top:2px;color:#9f8bad;font-size:10.5px}.attendance-row>span{color:#6cf083;font-weight:900}.venue-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.venue-fields label{color:#d8c9e2;font-size:12px;font-weight:700}.venue-fields input,.toolbox-text-form textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #68417a;border-radius:11px;background:#160821;color:#fff;font:inherit}.venue-fields input::placeholder{color:#806f89}.toolbox-text-form textarea{min-height:180px;line-height:1.5;resize:vertical}.toolbox-text-form button{margin-top:10px}.completion-card{border-color:#6c3484}.completion-card h2{margin:4px 0 7px}.completion-card p{margin:0;color:#b9a9c3;font-size:13px;line-height:1.45}.completion-actions{display:flex;gap:10px;margin-top:16px}.complete-toolbox{flex:1;background:#65e77c;color:#0b2b13}.completion-actions .download-button{flex:0 0 auto}.toolbox-admin-card{border-color:#6d3488}
.recipient-add-form{grid-template-columns:1fr 1.5fr auto auto auto}.recipient-form{grid-template-columns:1fr 1.5fr auto auto auto auto}.recipient-row .checkline{padding-bottom:9px}.notice.success,.toolbox-complete-banner{box-shadow:0 0 0 1px rgba(94,228,120,.04)}
@media(max-width:700px){.attendance-grid{grid-template-columns:1fr}.venue-fields{grid-template-columns:1fr}.completion-actions{display:grid}.completion-actions .download-button,.complete-toolbox{width:100%}.toolbox-complete-banner{align-items:flex-start;flex-direction:column}.recipient-add-form,.recipient-form{grid-template-columns:1fr}.recipient-row .checkline{padding-bottom:0}.app-tabs{margin-bottom:12px}}
@media(max-width:480px){.toolbox-intro,.ack-card,.manager-panel,.completion-card{padding:17px 16px;border-radius:18px}.toolbox-intro h1{font-size:23px}.toolbox-text{font-size:14px}.ack-check{font-size:13px;padding:11px}.signature-pad{height:125px}.app-tabs a{padding:9px 8px;font-size:12px}}
.toolbox-complete-banner>div span{display:block;margin-top:3px}.archive-link{white-space:nowrap;padding:7px 10px;border:1px solid #327e46;border-radius:9px;color:#84f197;text-decoration:none;font-size:11px;font-weight:850}

/* V1.4.2 Toolbox Talk live attendance + venue handoff */
.toolbox-tabs{display:flex;gap:8px;margin:0 0 14px}.toolbox-tabs a{padding:9px 14px;border:1px solid #4f2665;border-radius:11px;background:#1b0a28;color:#bda9ca;text-decoration:none;font-size:12px;font-weight:850}.toolbox-tabs a.active{border-color:#8f3cc7;background:#35134d;color:#e7c8ff}.live-indicator{display:flex;align-items:center;gap:7px;margin-top:10px;color:#9e8fac;font-size:11px}.live-indicator span{width:7px;height:7px;border-radius:50%;background:#67f27b;box-shadow:0 0 0 3px rgba(103,242,123,.12)}.tour-attendance{margin-top:12px}.attendance-row.is-pending .attendance-state{color:#ffd83d;font-size:11px;font-weight:800}.attendance-row.is-complete .attendance-state{color:#67f27b;font-size:11px;font-weight:850}.venue-summary-card .manager-head{align-items:center}.venue-summary{margin:14px 0 4px;padding:10px 12px;border:1px solid #4b2a5d;border-radius:11px;background:#1a0927;color:#cbbbd7;font-size:12px}.venue-summary strong{color:#fff}.venue-mini-list{margin-top:8px}
.handoff-header{align-items:center}.handoff-badge{padding:7px 11px;border:1px solid #71408c;border-radius:999px;background:#2a123d;color:#d9b5f1;font-size:11px;font-weight:850}.venue-handoff-main{max-width:900px}.handoff-tabs{justify-content:center}.handoff-tabs a{min-width:140px;text-align:center}.handoff-intro{border-color:#6f3489}.handoff-card{border-color:#8f3cc7;box-shadow:0 0 0 1px rgba(184,92,255,.06)}.venue-action-result{min-height:20px;margin-top:10px;text-align:center}.venue-email-card{margin:15px 0;padding:20px;border:1px solid #4d2b5f;border-radius:20px;background:linear-gradient(145deg,#28123a,#21102f)}.venue-email-card h2{margin:4px 0 7px;font-size:19px}.venue-email-card p{margin:0 0 14px;color:#b9a9c3;font-size:12.5px;line-height:1.45}.venue-email-form{display:grid;grid-template-columns:1fr auto;gap:10px}.venue-email-form input{min-width:0;padding:12px;border:1px solid #68417a;border-radius:11px;background:#160821;color:#fff;font:inherit}.venue-email-form input::placeholder{color:#806f89}.handoff-footer{text-align:center;margin:18px 0 8px}.handoff-footer a{color:#9e8fac;font-size:11px;text-decoration:none}.handoff-footer a:hover{color:#d5c0e3}
@media(max-width:700px){.venue-summary-card .manager-head{align-items:flex-start;flex-direction:column}.venue-summary-card .download-button{width:100%}.venue-email-form{grid-template-columns:1fr}.venue-email-form button{width:100%}.handoff-header{padding-bottom:10px}.handoff-badge{font-size:10px}.handoff-tabs a{min-width:0;flex:1}}
@media(max-width:480px){.toolbox-tabs a{padding:8px 9px;font-size:11px}.venue-email-card{padding:17px 16px;border-radius:18px}.handoff-header .brand span{font-size:15px}.handoff-badge{padding:6px 8px}.tour-attendance .attendance-row{padding:9px 0}}

/* V1.4.2 manager notes */
.toolbox-notes-card{border-color:#563067}.toolbox-notes-input{display:block;width:100%;min-height:125px;margin-top:14px;padding:14px 15px;border:1px solid #68417a;border-radius:13px;background:#160821;color:#fff;font:inherit;font-size:14px;line-height:1.5;resize:vertical;outline:none}.toolbox-notes-input::placeholder{color:#806f89}.toolbox-notes-input:focus{border-color:#9e4dea;box-shadow:0 0 0 3px rgba(184,92,255,.12)}.notes-save-state{padding:5px 9px;border:1px solid #355f40;border-radius:999px;background:#102b18;color:#72ef8b;font-size:10.5px;font-weight:850;white-space:nowrap}@media(max-width:480px){.toolbox-notes-input{min-height:110px;font-size:13px}}

/* V1.4.2 Venue crew submission confirmation */
.venue-signed-card{margin-bottom:18px}
.venue-signed-list{display:grid;gap:10px;margin-top:12px}
.venue-signed-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid rgba(175,72,255,.28);border-radius:14px;background:rgba(255,255,255,.025)}
.venue-signed-tick{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:rgba(42,180,88,.16);color:#57e67d;font-weight:800}
.venue-signed-name{font-weight:700;color:#fff}
.venue-signed-time{font-size:.88rem;color:var(--muted,#b8a9c8)}
.venue-submit-success{margin:0 0 16px;padding:14px 16px;border:1px solid rgba(42,180,88,.4);border-radius:14px;background:rgba(42,180,88,.12);color:#74f094;font-weight:700}

/* V1.4.2 hotfix: visible venue acknowledgement confirmation list */
.venue-signed-card{
  margin:0 0 20px;
  padding:26px 28px;
  border:1px solid rgba(181,74,255,.42);
  border-radius:24px;
  background:rgba(255,255,255,.025);
}
.venue-signed-confirm-list{display:grid;gap:10px;margin-top:16px}
.venue-signed-confirm-row{
  display:flex;align-items:center;gap:12px;
  padding:12px 14px;border-radius:14px;
  border:1px solid rgba(99,225,126,.22);
  background:rgba(44,178,78,.07);
}
.venue-signed-confirm-tick{
  flex:0 0 28px;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;
  background:rgba(44,178,78,.18);color:#66ed86;font-weight:900;
}
.venue-signed-confirm-row strong{display:block;color:#fff}
.venue-signed-confirm-row small{display:block;margin-top:2px;color:var(--muted,#b7a9c3)}

/* V1.4.3 — consistent Toolbox sub-navigation */
.toolbox-tabs,
.toolbox-tabs.handoff-tabs{
  width:min(100%,520px);
  margin:0 auto 16px;
  padding:5px;
  display:flex;
  gap:8px;
  border:1px solid #4f2665;
  border-radius:15px;
  background:#1b0a28;
}
.toolbox-tabs a,
.toolbox-tabs.handoff-tabs a{
  flex:1;
  min-width:0;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#baa7c7;
  text-align:center;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
}
.toolbox-tabs a.active,
.toolbox-tabs.handoff-tabs a.active{
  border:0;
  background:#8f3cc7;
  color:#fff;
  box-shadow:0 4px 14px rgba(151,55,211,.25);
}

/* Testing reset — manager view only */
.testing-reset-card{
  margin:16px 0;
  padding:20px 22px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px 20px;
  align-items:center;
  border:1px solid rgba(255,142,162,.34);
  border-radius:18px;
  background:rgba(65,18,34,.32);
}
.testing-reset-card h2{margin:4px 0 7px;font-size:19px}
.testing-reset-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.testing-reset-card .action-result{grid-column:1/-1}
.danger-reset{
  background:transparent;
  color:#ff9bad;
  border:1px solid #8a4354;
  white-space:nowrap;
}

/* Account / self-service password */
.account-main{max-width:620px}
.account-card h1{margin:3px 0 6px;font-size:28px}
.account-password-form{display:grid;gap:14px}
.account-password-form label{display:block;color:#d8c9e2;font-size:13px;font-weight:700}
.account-password-form input{
  width:100%;margin-top:6px;padding:13px 14px;
  border:1px solid #6a4378;border-radius:11px;
  background:#fff;color:#24122d;font:inherit;font-size:16px
}
.account-password-form button{justify-self:start;margin-top:2px}
.account-help{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.45}

@media(max-width:700px){
  .testing-reset-card{grid-template-columns:1fr}
  .testing-reset-card .action-result{grid-column:auto}
  .danger-reset{width:100%}
}
@media(max-width:480px){
  .toolbox-tabs,.toolbox-tabs.handoff-tabs{width:100%}
  .toolbox-tabs a,.toolbox-tabs.handoff-tabs a{padding:9px 8px;font-size:12px}
}

/* V1.4.4 — expected attendance */
.attendance-select-card{margin:16px 0;padding:20px 22px;border:1px solid rgba(174,68,244,.38);border-radius:18px;background:rgba(255,255,255,.025)}
.attendance-select-card .section-title{align-items:flex-start}
.attendance-select-card .section-title p{margin:5px 0 0}
.attendance-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}
.attendance-person{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid #4c2a5e;border-radius:12px;background:#190a24;cursor:pointer}
.attendance-person input{width:20px;height:20px;flex:0 0 auto;accent-color:#a448e7}
.attendance-person strong{display:block;color:#fff;font-size:13px}
.attendance-person small{display:block;margin-top:1px;color:var(--muted);font-size:11px}
.attendance-person.has-signed{border-color:rgba(63,208,102,.38);background:rgba(44,160,73,.075)}
.attendance-person.has-signed small{color:#70e68c}
@media(max-width:620px){.attendance-checkbox-grid{grid-template-columns:1fr}}

/* V1.4.5 — attendance selector lives inside Tour Crew Attendance */
.attendance-dropdown{
  margin:16px 0 14px;
  border:1px solid rgba(174,68,244,.42);
  border-radius:14px;
  background:#190a24;
  overflow:hidden;
}
.attendance-dropdown summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
}
.attendance-dropdown summary::-webkit-details-marker{display:none}
.attendance-dropdown summary::after{
  content:'⌄';
  color:#c26cff;
  font-size:20px;
  line-height:1;
  transition:transform .18s ease;
}
.attendance-dropdown[open] summary::after{transform:rotate(180deg)}
.attendance-dropdown summary>span:first-child{display:block;min-width:0;flex:1}
.attendance-dropdown summary strong{color:#fff}
.attendance-dropdown summary small{display:block;margin-top:2px;color:var(--muted);font-size:11px;font-weight:500}
.attendance-summary-count{
  display:flex;
  align-items:center;
  gap:2px;
  color:#cdbbd7;
  font-size:12px;
  white-space:nowrap;
}
.attendance-dropdown-body{
  padding:0 16px 16px;
  border-top:1px solid rgba(174,68,244,.18);
}
.attendance-dropdown-body>.muted{margin:12px 0}
.attendance-dropdown .attendance-checkbox-grid{margin-top:0}
@media(max-width:620px){
  .attendance-dropdown summary{align-items:flex-start}
  .attendance-summary-count{margin-left:auto}
}


/* =========================================================
   V1.5.0 SHOW CONTROL
   ========================================================= */
.show-control-mini{
  max-width:1180px;margin:10px auto 0;padding:9px 14px;
  border:1px solid rgba(181,90,244,.34);border-radius:12px;
  background:rgba(35,12,50,.94);display:flex;align-items:center;gap:12px;
  box-shadow:0 8px 26px rgba(0,0,0,.14)
}
.show-control-mini>a{display:flex;align-items:center;gap:12px;width:100%;color:inherit;text-decoration:none}
.show-control-mini .mini-live-dot{width:8px;height:8px;border-radius:50%;background:#66e88a;box-shadow:0 0 0 4px rgba(102,232,138,.10);flex:0 0 auto}
.show-control-mini .mini-copy{min-width:0;flex:1}
.show-control-mini .mini-copy small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.show-control-mini .mini-copy strong{display:block;color:#fff;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.show-control-mini .mini-clock{font-variant-numeric:tabular-nums;color:#d9b0f3;font-weight:800;font-size:17px;white-space:nowrap}
.show-control-mini.is-stopped{border-color:rgba(255,77,92,.72);background:rgba(78,12,24,.94)}
.show-control-mini.is-stopped .mini-live-dot{background:#ff5264;box-shadow:0 0 0 4px rgba(255,82,100,.13)}
.show-control-mini.is-stopped .mini-clock{color:#ff8f9b}

.show-control-hero{
  margin:18px 0;padding:28px 24px;text-align:center;border-radius:22px;
  border:1px solid rgba(179,82,240,.45);
  background:radial-gradient(circle at 50% 0,rgba(167,65,230,.22),transparent 60%),#180a22
}
.sc-now-label{margin-top:8px;color:#fff;font-weight:900;font-size:clamp(28px,5vw,54px);letter-spacing:-.03em}
.sc-big-clock{margin-top:4px;color:#c96cff;font-weight:900;font-size:clamp(42px,8vw,82px);line-height:1;font-variant-numeric:tabular-nums}
.sc-substatus{margin-top:12px;color:#c9b6d2;font-size:13px}
.show-control-hero .live-indicator{justify-content:center;margin-top:14px}

.show-control-panel,.show-control-history,.show-control-config{
  margin:16px 0;padding:20px 22px;border:1px solid #4a275d;border-radius:18px;background:#17091f
}
.sc-moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.sc-moment-button{
  min-height:72px;padding:12px 14px;border:1px solid #63347c;border-radius:13px;
  background:#2a1038;color:#fff;font-weight:850;font-size:14px;cursor:pointer;text-align:left
}
.sc-moment-button:hover{border-color:#a951df;background:#341247}
.sc-moment-button:disabled{opacity:.42;cursor:not-allowed}
.sc-moment-button span{display:block}
.sc-moment-button small{display:block;margin-top:4px;color:#cda9dd;font-size:10px;font-weight:650}

.sc-auto-banner{
  margin-top:14px;padding:12px 14px;border-radius:13px;border:1px solid rgba(230,174,70,.45);
  background:rgba(126,83,8,.12);display:flex;align-items:center;justify-content:space-between;gap:12px
}
.sc-auto-banner[hidden]{display:none}
.sc-auto-banner strong{display:block;color:#f5d594}
.sc-auto-time{font-size:26px;font-weight:900;color:#ffd57d;font-variant-numeric:tabular-nums}

.sc-stop-zone{
  margin-top:18px;padding:16px;border:1px solid rgba(255,74,91,.36);border-radius:15px;background:rgba(102,15,26,.12)
}
.sc-stop-zone button{width:100%;min-height:58px;font-size:17px;font-weight:950;letter-spacing:.03em}
.sc-stop-button{border:1px solid #dc3c51;border-radius:11px;background:#971c2d;color:#fff}
.sc-continue-button{border:1px solid #35b95d;border-radius:11px;background:#177637;color:#fff}
.sc-stop-zone p{margin:9px 2px 0;color:#bda9c5;font-size:11px}

.show-control-config{padding:0;overflow:hidden}
.show-control-config>summary{
  cursor:pointer;list-style:none;padding:16px 18px;display:flex;align-items:center;justify-content:space-between
}
.show-control-config>summary::-webkit-details-marker{display:none}
.show-control-config>summary strong{display:block;color:#fff}
.show-control-config>summary small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.show-control-config>summary:after{content:'⌄';font-size:20px;color:#c76df3}
.show-control-config[open]>summary:after{transform:rotate(180deg)}
.sc-config-body{padding:0 18px 18px;border-top:1px solid #3d234b}
.sc-config-rows{margin-top:14px;display:flex;flex-direction:column;gap:9px}
.sc-config-row{
  display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(140px,190px) auto;
  gap:9px;align-items:end;padding:10px;border:1px solid #442653;border-radius:11px;background:#13081a
}
.sc-config-row label span{display:block;margin:0 0 4px;color:#aa94b5;font-size:9px;text-transform:uppercase;letter-spacing:.07em}
.sc-config-row input{width:100%;box-sizing:border-box}
.sc-order-buttons{display:flex;gap:4px}
.sc-order-buttons button{width:32px;height:36px;border:1px solid #533068;border-radius:8px;background:#25102f;color:#d8c3e3}
.sc-config-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}

.sc-history-list{display:flex;flex-direction:column;gap:7px;margin-top:13px}
.sc-history-row{
  display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;
  padding:10px 12px;border:1px solid #3e234a;border-radius:11px;background:#13081a
}
.sc-history-row time{font-variant-numeric:tabular-nums;color:#c46fec;font-weight:850;font-size:13px}
.sc-history-row strong{display:block;color:#fff;font-size:13px}
.sc-history-row small{display:block;margin-top:2px;color:var(--muted);font-size:10px}
.sc-history-row.show_stop{border-color:rgba(255,72,91,.5);background:rgba(98,14,27,.18)}
.sc-history-row.show_stop strong{color:#ff8290}
.sc-history-row.show_continue{border-color:rgba(67,205,103,.35)}
.sc-history-row.show_continue strong{color:#73e492}
.sc-reset-card{margin-top:16px}

@media(max-width:760px){
 .sc-moment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sc-config-row{grid-template-columns:auto 1fr}
 .sc-config-row .sc-auto-input{grid-column:2}
 .sc-config-row>.void-link{grid-column:2;justify-self:start}
}
@media(max-width:470px){
 .show-control-mini{margin:8px 10px 0}
 .sc-moment-grid{grid-template-columns:1fr 1fr;gap:8px}
 .sc-moment-button{min-height:66px;padding:10px}
 .show-control-panel,.show-control-history{padding:17px 15px}
}

/* V1.5.2 — Show SW-inspired live control layout */
.show-control-hero{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  padding:30px 24px 24px;
  background:
    radial-gradient(circle at 50% 18%,rgba(118,26,169,.22),transparent 46%),
    linear-gradient(180deg,#20002f 0%,#120018 100%);
}
.sc-live-time-wrap{
  position:absolute;top:18px;right:22px;text-align:right;
}
.sc-live-time{font-size:24px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.sc-current-wrap{padding-top:34px}
.sc-current-caption{margin-top:8px;color:#d6c3de;font-size:13px}
.sc-big-clock{
  margin-top:5px;
  font-size:clamp(54px,10vw,104px);
  font-weight:300;
  letter-spacing:-.04em;
  color:#fff;
}
.sc-show-elapsed-wrap{
  margin:0 auto;
  min-width:min(100%,420px);
  padding:12px 16px;
  border-top:1px solid rgba(255,255,255,.10);
}
.sc-show-elapsed{margin-top:4px;font-size:32px;font-weight:850;color:#d66fff;font-variant-numeric:tabular-nums}
.sc-show-elapsed-wrap small{display:block;margin-top:3px;color:#bda8c6}

.sc-primary-next-wrap{margin-top:16px}
.sc-primary-next{
  width:100%;
  min-height:190px;
  padding:24px;
  border:3px solid #ffd41f;
  border-radius:18px;
  background:linear-gradient(180deg,#ffb313 0%,#f59a00 100%);
  color:#fff;
  text-align:center;
  cursor:pointer;
  box-shadow:0 14px 36px rgba(245,154,0,.14);
}
.sc-primary-next:hover{filter:brightness(1.04)}
.sc-primary-next:disabled{opacity:.48;cursor:not-allowed;filter:none}
.sc-primary-next small{
  display:block;
  margin-bottom:9px;
  color:rgba(255,255,255,.88);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:800;
  font-size:10px;
}
.sc-primary-next strong{
  display:block;
  font-size:clamp(30px,5vw,52px);
  line-height:1.05;
}
.sc-primary-next span{
  display:block;
  margin-top:9px;
  font-size:15px;
  color:rgba(255,255,255,.92);
}
.sc-override-box{
  margin-top:12px;
  border:1px solid #4b2b5a;
  border-radius:13px;
  overflow:hidden;
  background:#120719;
}
.sc-override-box>summary{
  list-style:none;
  cursor:pointer;
  padding:12px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.sc-override-box>summary::-webkit-details-marker{display:none}
.sc-override-box>summary:after{content:'⌄';color:#c56eef;font-size:18px}
.sc-override-box[open]>summary:after{transform:rotate(180deg)}
.sc-override-box>summary strong{color:#fff;font-size:12px}
.sc-override-box>summary small{color:var(--muted);font-size:10px}
.sc-moment-grid-small{
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:0 12px 12px;
  margin-top:0;
}
.sc-moment-grid-small .sc-moment-button{
  min-height:52px;
  padding:9px 10px;
  font-size:11px;
}
.sc-moment-grid-small .sc-moment-button small{font-size:8px}

@media(max-width:760px){
  .sc-live-time-wrap{position:static;text-align:center}
  .sc-current-wrap{padding-top:0}
  .sc-moment-grid-small{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sc-primary-next{min-height:160px}
}

/* V1.5.3 — company-wide read-only Show Timings */
.timings-live-board{
  margin:18px 0;
  padding:26px 22px;
  border:1px solid rgba(179,82,240,.45);
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 15%,rgba(118,26,169,.22),transparent 48%),
    linear-gradient(180deg,#20002f 0%,#120018 100%);
  text-align:center;
}
.timings-live-clock strong{
  display:block;
  margin-top:3px;
  font-size:clamp(27px,5vw,46px);
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.timings-now{margin-top:28px}
.timings-now h1{
  margin:6px 0 4px;
  font-size:clamp(34px,7vw,68px);
  color:#fff;
  line-height:1.02;
}
.timings-running-label{display:block;color:#cfbad8;font-size:13px}
.timings-running-clock{
  margin-top:5px;
  font-size:clamp(52px,10vw,104px);
  font-weight:300;
  letter-spacing:-.045em;
  color:#fff;
  font-variant-numeric:tabular-nums;
}
.timings-paused{margin-top:8px;color:#ffabb4;font-weight:750}
.timings-countdown{
  margin:24px auto 0;
  max-width:520px;
  padding:14px 18px;
  border:1px solid rgba(255,204,63,.48);
  border-radius:15px;
  background:rgba(113,72,0,.18);
}
.timings-countdown strong{display:block;margin-top:3px;color:#ffe39a;font-size:18px}
.timings-countdown>div{margin-top:3px;color:#ffd260;font-size:40px;font-weight:900;font-variant-numeric:tabular-nums}
.timings-show-elapsed{
  margin:24px auto 0;
  max-width:520px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.11);
}
.timings-show-elapsed strong{
  display:block;margin-top:5px;color:#d56df4;
  font-size:clamp(30px,6vw,50px);font-variant-numeric:tabular-nums
}
.timings-show-elapsed small{display:block;margin-top:4px;color:#bba6c4}
.timings-live-board.is-stopped{
  border-color:rgba(255,78,94,.75);
  background:radial-gradient(circle at 50% 15%,rgba(180,18,40,.25),transparent 48%),linear-gradient(180deg,#350914 0%,#16040a 100%);
}
.timings-live-board.is-stopped .timings-now h1{color:#ff7787}
.timings-sections{
  margin:16px 0;padding:20px 22px;border:1px solid #4a275d;border-radius:18px;background:#17091f
}
.timings-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.timing-card{padding:16px;border:1px solid #442654;border-radius:13px;background:#120719;text-align:center}
.timing-card small{display:block;color:#bba5c4;text-transform:uppercase;letter-spacing:.08em;font-size:9px}
.timing-card strong{display:block;margin-top:6px;color:#fff;font-size:25px;font-variant-numeric:tabular-nums}
.timings-control-link{
  margin:16px 0;
  padding:16px 18px;
  border:1px solid #62367a;
  border-radius:14px;
  background:#251031;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  text-decoration:none;
  color:#fff;
}
.timings-control-link span{color:#c5aecf;font-size:12px}
@media(max-width:620px){
  .timings-section-grid{grid-template-columns:1fr}
  .timings-control-link{align-items:flex-start;flex-direction:column}
}

/* V1.5.4 final end-of-day state */
.timings-running-clock:has(+ .timings-paused[hidden]){font-variant-numeric:tabular-nums}

/* V1.5.5 — manager-only compact previous timings */
.manager-timing-summary{
  margin:16px 0;
  border:1px solid rgba(162,87,206,.38);
  border-radius:14px;
  background:#14091b;
  overflow:hidden;
}
.manager-timing-summary>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
}
.manager-timing-summary>summary::-webkit-details-marker{display:none}
.manager-timing-summary>summary:after{
  content:'⌄';
  color:#c46def;
  font-size:18px;
}
.manager-timing-summary[open]>summary:after{transform:rotate(180deg)}
.manager-timing-summary>summary strong{display:block;color:#fff;font-size:12px}
.manager-timing-summary>summary small{display:block;margin-top:2px;color:var(--muted);font-size:9px}
.manager-timing-summary-body{
  padding:0 14px 12px;
  border-top:1px solid rgba(162,87,206,.18);
}
.manager-timing-summary-head,
.manager-timing-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px 78px;
  gap:10px;
  align-items:center;
}
.manager-timing-summary-head{
  padding:9px 8px 6px;
  color:#927f9c;
  font-size:8px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.manager-timing-row{
  padding:8px;
  border-top:1px solid rgba(255,255,255,.055);
}
.manager-timing-row:first-child{border-top:0}
.manager-timing-row strong{
  color:#eee4f2;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.manager-timing-row time,
.manager-timing-row span{
  color:#c8b4d2;
  font-size:10px;
  font-variant-numeric:tabular-nums;
  text-align:right;
}
.manager-timing-row span{color:#b86ce2}
.manager-timing-empty{padding:10px 8px;margin:0}
@media(max-width:470px){
  .manager-timing-summary-head,
  .manager-timing-row{grid-template-columns:minmax(0,1fr) 74px 66px;gap:7px}
}

/* =========================================================
   V1.6.0 compact phone layout + Cast role groundwork
   ========================================================= */
@media(max-width:620px){
  .site-header{
    padding-top:14px;
    padding-bottom:10px;
  }
  .site-header .brand strong{font-size:26px}
  .site-header .brand span{font-size:16px}
  .site-header .account strong{font-size:14px}
  .site-header .account span{font-size:11px}
  main{padding-top:8px}
  .app-tabs{margin-top:4px;margin-bottom:8px}
  .app-tabs a{padding-top:9px;padding-bottom:9px;font-size:11px}
  .datebar{
    min-height:auto;
    padding:10px 12px;
    margin-top:8px;
    margin-bottom:10px;
  }
  .show-heading strong{font-size:15px}
  .show-heading small{font-size:11px;margin-top:2px}
  .datebar .navslot{font-size:10px}

  /* Read-only timings fits much more comfortably on a phone screen. */
  .timings-live-board{
    margin:10px 0;
    padding:14px 14px 12px;
    border-radius:18px;
  }
  .timings-live-clock strong{
    font-size:26px;
    line-height:1;
  }
  .timings-now{margin-top:15px}
  .timings-now h1{
    margin:3px 0;
    font-size:34px;
  }
  .timings-running-label{font-size:11px}
  .timings-running-clock{
    margin-top:1px;
    font-size:58px;
    line-height:1.05;
  }
  .timings-countdown{
    margin-top:12px;
    padding:9px 12px;
  }
  .timings-countdown strong{font-size:13px}
  .timings-countdown>div{font-size:28px}
  .timings-show-elapsed{
    margin-top:12px;
    padding-top:10px;
  }
  .timings-show-elapsed strong{font-size:28px}
  .timings-show-elapsed small{font-size:10px}
  .timings-live-board .live-indicator{
    margin-top:9px;
    font-size:9px;
  }
  .timings-sections{
    padding:12px 13px;
    margin:10px 0;
  }
  .timings-sections .section-title h2{font-size:18px}
  .timings-sections .section-title p{display:none}
  .timings-section-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:8px;
  }
  .timing-card{padding:9px 5px}
  .timing-card strong{font-size:15px}
  .show-control-history{margin-top:10px}

  /* Operator screen: live information + main button visible without huge scrolling. */
  .show-control-hero{
    margin:10px 0;
    padding:12px 14px 11px;
    gap:8px;
    border-radius:18px;
  }
  .sc-live-time-wrap{position:static;text-align:center}
  .sc-live-time{font-size:23px;line-height:1}
  .sc-current-wrap{padding-top:0}
  .sc-current-wrap .admin-kicker{display:none}
  .sc-now-label{font-size:30px;margin-top:2px}
  .sc-current-caption{font-size:10px;margin-top:2px}
  .sc-big-clock{
    font-size:56px;
    line-height:1;
    margin-top:1px;
  }
  .sc-show-elapsed-wrap{
    padding:7px 8px 0;
    min-width:0;
  }
  .sc-show-elapsed{font-size:24px;margin-top:1px}
  .sc-show-elapsed-wrap small{font-size:9px;margin-top:1px}
  .sc-substatus{display:none}
  .show-control-hero .live-indicator{margin-top:3px;font-size:9px}

  .show-control-panel{
    margin:10px 0;
    padding:12px 13px;
  }
  .show-control-panel .section-title{margin-bottom:4px}
  .show-control-panel .section-title h2{font-size:19px}
  .show-control-panel .section-title p{display:none}
  .show-control-panel .permission{font-size:9px}
  .sc-auto-banner{margin-top:7px;padding:8px 10px}
  .sc-auto-time{font-size:20px}

  .sc-primary-next-wrap{margin-top:8px}
  .sc-primary-next{
    min-height:116px;
    padding:13px 14px;
    border-radius:15px;
  }
  .sc-primary-next small{margin-bottom:4px;font-size:8px}
  .sc-primary-next strong{font-size:31px}
  .sc-primary-next span{font-size:11px;margin-top:4px}

  .sc-override-box{margin-top:7px}
  .sc-override-box>summary{padding:8px 10px}
  .sc-override-box>summary strong{font-size:10px}
  .sc-override-box>summary small{font-size:8px}

  .sc-stop-zone{
    margin-top:8px;
    padding:8px;
  }
  .sc-stop-zone button{
    min-height:42px;
    font-size:13px;
  }
  .sc-stop-zone p{display:none}
  .action-result{min-height:0;font-size:9px}

  .manager-timing-summary{
    margin:9px 0;
  }
  .manager-timing-summary>summary{padding:8px 10px}
}

/* Compact Cast account header: timings are the entire working UI. */
body:has(.timings-live-board) .site-header{
  max-width:1180px;
}
.sc-notify-check{
  display:flex !important;
  align-items:center;
  gap:7px;
  align-self:center;
  color:#cbb6d3;
  font-size:9px;
}
.sc-notify-check input{
  width:17px !important;
  height:17px;
  accent-color:#a84ee1;
}
.sc-notify-check span{
  margin:0 !important;
  font-size:9px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
@media(min-width:761px){
  .sc-config-row{
    grid-template-columns:auto minmax(180px,1fr) minmax(130px,180px) minmax(105px,125px) auto;
  }
}

.cast-timing-mode{
  max-width:1180px;
  margin:8px auto 0;
  padding:7px 12px;
  box-sizing:border-box;
  color:#bda7c7;
  font-size:9px;
  text-align:center;
}
.cast-timing-mode strong{color:#d36bfb;margin-right:6px}

/* V1.6.1 — Show Report timing automation */

/* V1.6.3 — Admin accounts grouped by role */
.role-groups{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.role-group{
  border:1px solid rgba(160,79,208,.28);
  border-radius:18px;
  padding:14px;
  background:rgba(255,255,255,.015);
}
.role-group-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding:2px 4px 11px;
}
.role-group-heading h2{
  margin:2px 0 0;
  font-size:21px;
  color:#fff;
}
.role-group .user-list{
  display:grid;
  gap:10px;
}
.user-secondary-actions{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
}
.user-delete-form{
  margin-left:auto;
}
.user-delete-form .danger-ghost{
  white-space:nowrap;
}
@media(max-width:620px){
  .role-group{padding:10px}
  .role-group-heading h2{font-size:18px}
  .user-secondary-actions{
    flex-direction:column;
  }
  .user-delete-form{margin-left:0}
}

/* V1.7.0 — Cast-only simplified live view + push setup */
.cast-notification-card{
  margin:10px 0;
  padding:14px 16px;
  border:1px solid rgba(164,83,214,.35);
  border-radius:16px;
  background:#17091f;
}
.cast-notification-card h2{margin:3px 0 5px;color:#fff;font-size:18px}
.cast-notification-card p{margin:0;color:#bca7c6;font-size:11px;line-height:1.45}
.cast-push-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.cast-push-actions button{min-height:38px}
@media(max-width:620px){
  .cast-timing-mode{display:none}
  .cast-notification-card{padding:11px 12px;margin:8px 0}
  .cast-notification-card h2{font-size:16px}
  .cast-notification-card p{font-size:10px}
  .cast-push-actions{margin-top:8px}
  .cast-push-actions button{min-height:34px;font-size:10px;padding:7px 10px}
}

/* V1.7.3 — ultra-simple Cast live view */
.cast-view .timings-live-card{padding:14px 10px 16px}
.cast-view .timings-live-clock{font-size:clamp(40px,13vw,64px);line-height:1;font-weight:900}
.cast-view [data-st-now]{font-size:clamp(52px,16vw,88px)!important;line-height:.94!important;letter-spacing:-2px;margin:8px 0 2px!important}
@media(max-width:620px){
 .cast-view .timings-live-card{padding:10px 8px 13px}
 .cast-view .timings-live-clock{font-size:clamp(40px,13vw,58px)}
 .cast-view [data-st-now]{font-size:clamp(52px,17vw,78px)!important}
}

/* V1.7.4 — Cast live card: UK time + NOW only */
.cast-view .timings-live-card{padding-bottom:12px}
.cast-view [data-st-now]{margin-bottom:12px!important}

/* V1.7.5 — account groups: Management / Crew / Cast */
.role-group-heading .admin-kicker{opacity:.75}

/* V1.7.6 — per-user show-call notification permission */
.checkline input[name="cast_notifications"]{accent-color:currentColor}

/* V1.7.7 — live editable Toolbox briefing */
.briefing-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.briefing-heading h1{margin-bottom:0}
.briefing-edit-button{flex:0 0 auto;margin-top:2px}
.briefing-editor{margin-top:14px;padding-top:14px;border-top:1px solid rgba(190,103,235,.25)}
.briefing-editor textarea{width:100%;min-height:180px;resize:vertical}
.briefing-editor-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}
.briefing-live-note{display:block;margin-top:10px;color:#9d86aa;font-size:10px}
.briefing-live-note.is-updated{color:#8df0a5;font-weight:700}
@media(max-width:620px){
 .briefing-heading{gap:8px}
 .briefing-edit-button{font-size:10px;padding:7px 9px}
 .briefing-editor textarea{min-height:210px}
}

/* V1.7.8 — all-account notification availability + time correction */

/* V1.8.0 — operational report fields + Cast notes */
.cast-show-note-card{
 margin:12px 0 20px;
 padding:15px;
 border:1px solid rgba(165,79,214,.35);
 border-radius:18px;
 background:rgba(255,255,255,.018);
}
.cast-show-note-card h2{margin:2px 0 0;color:#fff}
.cast-show-note-card textarea{
 width:100%;
 min-height:120px;
 margin-top:10px;
 resize:vertical;
}
.cast-note-footer{
 display:flex;
 justify-content:space-between;
 gap:10px;
 align-items:center;
 margin-top:7px;
}
.cast-note-entry+ .cast-note-entry{
 margin-top:14px;
 padding-top:14px;
 border-top:1px solid rgba(180,100,220,.2);
}
.cast-note-entry strong{display:block;margin-bottom:5px;color:#d59afa}
.cast-notes-report .report-copy{font-size:14px}
@media(max-width:620px){
 .cast-show-note-card{padding:12px;margin-top:9px}
 .cast-show-note-card textarea{min-height:105px}
 .cast-note-footer{font-size:10px}
}

/* V1.8.1 — mobile report actions */
@media(max-width:480px){
 .report-actions,.report-actions .action-group,.report-actions .sync-actions,.report-actions .pdf-actions{
   display:flex!important;
   width:100%;
   flex-direction:column;
   align-items:stretch;
 }
 .report-actions #sync-now,
 .report-actions #send-pdf-now,
 .report-actions .download-button{
   display:flex!important;
   width:100%!important;
 }
}

/* V1.8.2 — live multi-user Show Report */
.live-remote-update{
 margin-top:7px;
 padding:8px 10px;
 border:1px solid rgba(205,132,247,.38);
 border-radius:10px;
 background:rgba(153,63,199,.12);
 color:#e7c7f7;
 font-size:11px;
 line-height:1.35;
 white-space:pre-wrap;
}
.live-remote-update[hidden]{display:none}

/* V1.8.4 — required Show Report fields */
.required-badge{
 display:inline-flex;
 align-items:center;
 padding:2px 7px;
 border-radius:999px;
 background:rgba(220,121,67,.16);
 border:1px solid rgba(231,146,91,.4);
 color:#f2c6a8;
 font-size:9px;
 font-weight:800;
 text-transform:uppercase;
 letter-spacing:.06em;
}
.report-section.required-empty{
 border-color:rgba(231,146,91,.36);
}
.report-actions button:disabled{
 opacity:.45;
 cursor:not-allowed;
}

/* Cast notification card becomes intentionally compact after device setup */
.cast-notification-card.cast-push-enabled{
 padding:10px 12px;
 gap:7px;
}
.cast-notification-card.cast-push-enabled .admin-kicker{
 display:none;
}
.cast-notification-card.cast-push-enabled h2{
 margin:0;
 font-size:15px;
}
.cast-notification-card.cast-push-enabled [data-cast-push-copy]{
 margin:3px 0 0;
 font-size:10px;
 line-height:1.25;
}
.cast-notification-card.cast-push-enabled .cast-push-actions{
 gap:6px;
}
.cast-notification-card.cast-push-enabled .cast-push-actions button{
 min-height:32px;
 padding:6px 9px;
 font-size:10px;
}
.cast-notification-card.cast-push-enabled [data-cast-push-result]{
 font-size:10px;
}

/* V1.8.6 — required report fields */
.required-badge{
 display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;
 border:1px solid rgba(231,146,91,.42);background:rgba(220,121,67,.15);
 color:#f2c6a8;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
}
.report-section.required-empty{border-color:rgba(231,146,91,.55)}
.report-actions button:disabled{opacity:.45;cursor:not-allowed}

/* V1.8.6 — compact notification card after notifications are enabled */
.cast-notification-card.cast-push-enabled{padding:9px 11px;gap:6px}
.cast-notification-card.cast-push-enabled .admin-kicker{display:none}
.cast-notification-card.cast-push-enabled h2{font-size:14px;margin:0}
.cast-notification-card.cast-push-enabled [data-cast-push-copy]{font-size:10px;line-height:1.25;margin:2px 0}
.cast-notification-card.cast-push-enabled .cast-push-actions{gap:5px}
.cast-notification-card.cast-push-enabled .cast-push-actions button{min-height:30px;padding:5px 8px;font-size:10px}


/* V1.9.0 — subtle live connection state */
.save-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.report-live-state{
 display:inline-flex;align-items:center;gap:6px;
 font-size:10px;color:rgba(255,255,255,.6);white-space:nowrap
}
.report-live-state::before{
 content:"";width:7px;height:7px;border-radius:50%;
 background:currentColor;opacity:.75
}
.report-live-state.live{color:#9fddb8}
.report-live-state.reconnecting{color:#e7b995}


/* V1.9.1 — Merch-only report */
.merch-total-input{
 width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.14);
 background:rgba(255,255,255,.05);color:inherit;border-radius:12px;
 padding:12px 13px;font:inherit;font-size:17px
}
.merch-picture-upload{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.merch-picture-upload input[type=file]{max-width:100%}
.merch-picture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:12px}
.merch-picture-item{display:grid;gap:6px}
.merch-picture-item img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid rgba(255,255,255,.1)}


/* V1.9.3 — Merch-only Airtable action */
.merch-airtable-actions{margin-top:14px}
.merch-airtable-actions .action-group{width:100%}


/* V1.9.4 — visual pound prefix; stored/sent value remains numeric only */
.merch-money-input{
 display:flex;align-items:center;border:1px solid rgba(255,255,255,.14);
 background:rgba(255,255,255,.05);border-radius:12px;overflow:hidden
}
.merch-money-input>span{
 padding:0 0 0 13px;font-size:17px;color:rgba(255,255,255,.72)
}
.merch-money-input .merch-total-input{
 border:0;background:transparent;border-radius:0;padding-left:7px;min-width:0
}


/* V1.9.7 — compact Admin users + email recipients */
body:has(.admin-users-page) .admin-users-page,
body:has(.user-list) .user-list,
body:has(.recipient-list) .recipient-list{
 font-size:11px;
}

/* Admin cards: substantially less vertical space */
.user-card,
.recipient-card,
.user-row,
.recipient-row{
 padding:7px 9px !important;
 margin-bottom:5px !important;
 border-radius:9px !important;
 gap:6px !important;
}
.user-card h3,
.recipient-card h3,
.user-row h3,
.recipient-row h3{
 font-size:12px !important;
 line-height:1.15 !important;
 margin:0 0 3px !important;
}
.user-card p,.user-card small,.user-card label,
.recipient-card p,.recipient-card small,.recipient-card label,
.user-row p,.user-row small,.user-row label,
.recipient-row p,.recipient-row small,.recipient-row label{
 font-size:10px !important;
 line-height:1.2 !important;
 margin-top:2px !important;
 margin-bottom:2px !important;
}

/* Forms inside Admin cards */
.user-card input,.user-card select,.user-card button,
.recipient-card input,.recipient-card select,.recipient-card button,
.user-row input,.user-row select,.user-row button,
.recipient-row input,.recipient-row select,.recipient-row button{
 min-height:28px !important;
 height:auto;
 padding:4px 7px !important;
 font-size:10px !important;
 border-radius:7px !important;
}
.user-card textarea,.recipient-card textarea,
.user-row textarea,.recipient-row textarea{
 min-height:38px !important;
 padding:5px 7px !important;
 font-size:10px !important;
}
.user-card form,.recipient-card form,
.user-row form,.recipient-row form{
 gap:5px !important;
}
.user-card .actions,.recipient-card .actions,
.user-row .actions,.recipient-row .actions{
 gap:4px !important;
 margin-top:4px !important;
}

/* General Admin page section spacing */
.admin-section,
.admin-panel,
.users-section,
.recipients-section{
 padding:10px !important;
 margin-bottom:10px !important;
}
.admin-section .section-title,
.admin-panel .section-title,
.users-section .section-title,
.recipients-section .section-title{
 margin-bottom:7px !important;
}
.admin-section h2,.admin-panel h2,
.users-section h2,.recipients-section h2{
 font-size:15px !important;
 margin:0 !important;
}
.admin-section .muted,.admin-panel .muted,
.users-section .muted,.recipients-section .muted{
 font-size:10px !important;
 line-height:1.25 !important;
}

/* Common Admin grids — fit more information on screen */
.users-grid,.user-grid,.recipient-grid,.recipients-grid{
 gap:5px !important;
}
@media (min-width:700px){
 .users-grid,.user-grid,.recipient-grid,.recipients-grid{
   grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 }
}


/* =========================================================
   QUEENZ V2 — TOUR / LOGISTICS
   ========================================================= */

.top-area-nav{
  width:min(1180px,calc(100% - 24px));
  margin:10px auto 0;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.top-area-nav .top-area-label{
  flex:0 0 auto;
  padding:0 7px;
  font-size:9px;
  letter-spacing:.16em;
  font-weight:800;
  opacity:.55;
}
.top-area-nav a{
  flex:0 0 auto;
  text-decoration:none;
  padding:7px 10px;
  border-radius:9px;
  font-size:11px;
  line-height:1;
  color:inherit;
  background:rgba(255,255,255,.035);
  border:1px solid transparent;
}
.top-area-nav a.active{
  background:rgba(192,103,255,.17);
  border-color:rgba(205,144,255,.32);
  color:#fff;
}
.show-area-heading{
  margin:26px 2px 7px;
  font-size:9px;
  letter-spacing:.17em;
  font-weight:800;
  opacity:.48;
}

.logistics-main,.tour-main{
  width:min(1180px,calc(100% - 24px));
  margin:12px auto 60px;
}
.logistics-hero{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px;
  margin-bottom:9px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(106,28,149,.30),rgba(255,255,255,.025));
}
.logistics-hero h1{font-size:24px;line-height:1.05;margin:2px 0 4px}
.logistics-hero p{margin:0;opacity:.74;font-size:13px}
.logistics-hero-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.logistics-datebar{margin:8px 0 12px}
.logistics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.logistics-card{
  min-width:0;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(255,255,255,.035);
}
.logistics-card.is-w3w{background:rgba(93,31,125,.16)}
.logistics-card-title{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  opacity:.62;
  margin-bottom:7px;
}
.logistics-card-body{font-size:14px;line-height:1.42}
.logistics-text{white-space:normal;overflow-wrap:anywhere}
.logistics-empty{font-size:12px;opacity:.40;font-style:italic}
.logistics-attachments{display:flex;flex-direction:column;gap:6px}
.logistics-doc,.logistics-link,.w3w-value a{
  display:flex;
  gap:7px;
  align-items:center;
  width:fit-content;
  max-width:100%;
  text-decoration:none;
  color:#fff;
  padding:7px 9px;
  border-radius:8px;
  background:rgba(197,118,255,.12);
  border:1px solid rgba(206,154,246,.20);
  font-size:12px;
}
.logistics-doc strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w3w-value{display:flex;flex-direction:column;gap:7px}
.w3w-value>strong{
  display:block;
  width:100%;
  max-width:100%;
  font-size:13px;
  line-height:1.35;
  letter-spacing:.01em;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.driver-note-card,.layout-editor-card{
  margin-bottom:10px;
  padding:14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
}
.driver-note-card textarea{min-height:120px}
.driver-note-actions{
  margin-top:7px;
  display:flex;align-items:center;justify-content:space-between;gap:9px;
}
.driver-note-actions .action-result{font-size:11px}

.layout-editor-list{display:flex;flex-direction:column;gap:5px}
.layout-editor-row{
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:7px 8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  cursor:grab;
}
.layout-editor-row.dragging{opacity:.45}
.layout-editor-row.is-hidden{opacity:.48}
.drag-handle{opacity:.50;font-size:14px;text-align:center}
.layout-editor-row>strong{font-size:12px}
.layout-row-actions{display:flex;align-items:center;gap:4px}
.layout-row-actions label{font-size:10px;display:flex;align-items:center;gap:4px;margin:0 3px}
.layout-row-actions .ghost-small{padding:4px 7px!important;min-height:26px!important}
.layout-save-row{display:flex;align-items:center;gap:10px;margin-top:10px}
.layout-save-row .action-result{font-size:11px}

/* Logistics Admin */
.logistics-admin-main{max-width:1180px}
.logistics-admin-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.logistics-admin-field,.logistics-add-field{padding:11px!important}
.logistics-field-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 9px;
  align-items:end;
}
.logistics-field-form>label{font-size:9px;margin:0}
.logistics-field-form input,.logistics-field-form select{
  min-height:30px!important;
  padding:5px 7px!important;
  font-size:10px!important;
}
.logistics-field-form .role-permissions{
  grid-column:1/-1;
  margin:2px 0;
  padding:7px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px 6px;
}
.role-permissions legend{font-size:9px;padding:0 5px;opacity:.65}
.role-permissions label{
  display:flex;align-items:center;gap:4px;
  margin:0;font-size:9px;line-height:1.15;
}
.role-permissions input{min-height:auto!important;width:auto}
.logistics-field-heading{
  grid-column:1/-1;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.logistics-field-heading h3{margin:1px 0;font-size:13px}
.logistics-field-heading .checkline{font-size:10px}
.logistics-field-form>button{min-height:30px!important;font-size:10px!important;padding:5px 9px!important}
.logistics-field-form>.checkline{font-size:10px;align-self:center}

/* Tour calendar/list */
.tour-main .page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.tour-view-toggle{display:flex;gap:4px}
.tour-view-toggle a{
  text-decoration:none;color:inherit;font-size:11px;padding:7px 10px;border-radius:8px;
  border:1px solid rgba(255,255,255,.10)
}
.tour-view-toggle a.active{background:rgba(190,100,250,.18);border-color:rgba(210,150,250,.28)}
.tour-list{display:flex;flex-direction:column;gap:5px}
.tour-list-row{
  display:grid;grid-template-columns:52px minmax(0,1fr) 18px;align-items:center;
  gap:9px;padding:7px 10px;border-radius:10px;border:1px solid rgba(255,255,255,.09);
  background:rgba(255,255,255,.03);text-decoration:none;color:inherit
}
.tour-list-row.is-current{border-color:rgba(205,143,255,.35);background:rgba(138,54,188,.14)}
.tour-list-date{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:4px;align-items:center}
.tour-list-date strong{font-size:9px;opacity:.55;grid-column:1/-1}
.tour-list-date b{font-size:19px;line-height:1}
.tour-list-date small{font-size:9px;opacity:.55}
.tour-list-copy strong{display:block;font-size:12px}
.tour-list-copy small{display:block;font-size:9px;opacity:.52;margin-top:2px}

.tour-calendar-month{
  margin-bottom:13px;padding:10px;border:1px solid rgba(255,255,255,.09);
  border-radius:13px;background:rgba(255,255,255,.025)
}
.tour-calendar-month h2{font-size:15px;margin:1px 0 9px}
.tour-weekdays,.tour-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.tour-weekdays span{text-align:center;font-size:8px;opacity:.45;padding:2px}
.calendar-day,.calendar-blank{min-height:62px}
.calendar-day{
  border:1px solid rgba(255,255,255,.06);border-radius:7px;padding:5px;
  color:inherit;text-decoration:none;overflow:hidden;background:rgba(255,255,255,.018)
}
.calendar-day b{font-size:10px;opacity:.55}
.calendar-day small{display:block;font-size:8px;line-height:1.15;margin-top:5px;overflow-wrap:anywhere}
.calendar-day.has-tour{background:rgba(126,43,171,.14);border-color:rgba(191,112,239,.19)}
.calendar-day.is-current{outline:1px solid rgba(226,180,255,.55)}

/* Communal Bus Display */
.bus-display-body{min-height:100vh;background:#100617}
.bus-display-header{
  position:sticky;top:0;z-index:5;
  display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;
  padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(16,6,23,.96);backdrop-filter:blur(12px)
}
.bus-display-header>div:first-child{display:flex;align-items:baseline;gap:8px}
.bus-display-header strong{font-size:19px}
.bus-display-header span{font-size:9px;letter-spacing:.14em;opacity:.58}
.bus-display-header .bus-live-date{font-size:12px;opacity:.68}
.bus-display-header>a{font-size:10px;color:inherit;text-decoration:none;opacity:.65}
.bus-display-main{
  width:min(1500px,calc(100% - 20px));margin:10px auto 28px;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px
}
.bus-day-panel{
  min-width:0;border:1px solid rgba(255,255,255,.10);border-radius:15px;
  background:rgba(255,255,255,.025);overflow:hidden
}
.bus-day-heading{
  padding:13px 15px;background:linear-gradient(135deg,rgba(103,26,145,.38),rgba(255,255,255,.02));
  border-bottom:1px solid rgba(255,255,255,.09)
}
.bus-day-heading>span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;opacity:.56}
.bus-day-heading h1{font-size:22px;margin:2px 0 2px}
.bus-day-heading>strong{font-size:13px}
.bus-field-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.bus-field-list article{padding:10px 12px;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.bus-field-list h2{font-size:8px;text-transform:uppercase;letter-spacing:.10em;opacity:.50;margin:0 0 5px}
.bus-field-list article>div{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.bus-field-list a{color:#fff}
.bus-w3w{font-size:15px;font-weight:800;text-decoration:none}
.bus-empty{opacity:.30}
.bus-no-record{padding:18px;opacity:.45}
.bus-display-warning{margin:8px 10px}

/* Keep V2 Admin very dense */
.users-main .admin-card{padding:8px 9px!important}
.users-main .user-card{margin-bottom:4px!important}
.users-main .user-card-heading h3{font-size:11px!important}
.users-main .user-card-heading small{font-size:8px!important}
.users-main .user-form.compact{gap:4px!important}
.users-main .user-form.compact label{font-size:8px!important}
.users-main .user-form.compact input,
.users-main .user-form.compact select,
.users-main .user-form.compact button{min-height:25px!important;padding:3px 6px!important;font-size:9px!important}
.users-main .recipient-row{padding:5px 7px!important;margin-bottom:3px!important}
.users-main .recipient-form label{font-size:8px!important}
.users-main .recipient-form input,.users-main .recipient-form button{min-height:25px!important;padding:3px 6px!important;font-size:9px!important}

@media(max-width:760px){
  .logistics-grid{grid-template-columns:1fr}
  .logistics-hero{align-items:flex-start;flex-direction:column}
  .logistics-hero-actions{justify-content:flex-start}
  .logistics-admin-fields{grid-template-columns:1fr}
  .logistics-field-form{grid-template-columns:1fr}
  .logistics-field-form .role-permissions{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .logistics-field-heading{grid-column:1}
  .bus-display-main{grid-template-columns:1fr}
  .bus-display-header{grid-template-columns:1fr auto}
  .bus-display-header .bus-live-date{display:none}
  .tour-main .page-title{align-items:flex-start;flex-direction:column}
  .calendar-day,.calendar-blank{min-height:48px}
  .calendar-day small{font-size:7px}
}


/* =========================================================
   V2.0.1 — CLEAR SHOW / TOUR AREA SELECTOR
   ========================================================= */
.area-switch{
  width:min(1180px,calc(100% - 24px));
  margin:10px auto 6px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:6px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:15px;
  background:rgba(255,255,255,.035);
}
.area-switch a{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:9px 8px;
  border-radius:10px;
  text-decoration:none;
  color:inherit;
  border:1px solid transparent;
  background:rgba(255,255,255,.025);
}
.area-switch a span{
  font-size:12px;
  line-height:1;
  letter-spacing:.11em;
  font-weight:900;
}
.area-switch a small{
  font-size:8px;
  line-height:1.2;
  opacity:.48;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}
.area-switch a.active{
  background:rgba(176,72,235,.20);
  border-color:rgba(213,151,255,.38);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.area-switch a.active small{opacity:.72}

.top-area-nav.tour-subnav{
  margin-top:0;
  justify-content:center;
}
.top-area-nav.tour-subnav a{
  flex:1 1 auto;
  text-align:center;
  min-width:max-content;
}

@media(max-width:520px){
  .area-switch a{padding:8px 5px}
  .area-switch a span{font-size:11px}
  .area-switch a small{font-size:7px}
  .top-area-nav.tour-subnav{justify-content:flex-start}
  .top-area-nav.tour-subnav a{flex:0 0 auto}
}

.area-switch.single-area{grid-template-columns:1fr}


/* =========================================================
   V2.0.3 — LOGISTICS LAYOUT POLISH
   ========================================================= */

/* Driver notes should always span the full Logistics content width. */
.driver-note-card{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  display:block;
  grid-column:1 / -1;
}
.driver-note-card textarea{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  display:block;
}
.driver-note-actions{
  width:100%;
}

/* Give the venue equal visual priority to the date in the Logistics hero. */
.logistics-hero p{
  font-size:24px;
  line-height:1.08;
  font-weight:800;
  opacity:1;
  margin-top:7px;
}

/* Keep long venue names comfortable on phones. */
@media(max-width:760px){
  .logistics-hero p{
    font-size:22px;
    line-height:1.12;
  }
}


/* =========================================================
   V2.0.4 — LOGISTICS HERO PRIORITY
   ========================================================= */

/* Venue is the primary item; date becomes a quieter secondary line. */
.logistics-hero h1{
  font-size:16px;
  line-height:1.05;
  color:inherit;
  opacity:.62;
  font-weight:700;
  margin:3px 0 6px;
}
.logistics-hero p{
  font-size:26px;
  line-height:1.08;
  font-weight:900;
  opacity:1;
  margin:0;
}
@media(max-width:760px){
  .logistics-hero h1{font-size:15px}
  .logistics-hero p{font-size:24px}
}


/* =========================================================
   V2.0.5 — BUS DISPLAY SCALE + HEADING HIERARCHY
   ========================================================= */

/* Make the communal iPad display easier to read at a distance. */
.bus-display-main{
  width:min(1280px,calc(100% - 32px));
  gap:18px;
  margin-top:24px;
}
.bus-day-panel{
  border-radius:22px;
}
.bus-day-heading{
  padding:26px 28px 24px;
}
.bus-day-kicker{
  display:block;
  font-size:16px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:900;
  opacity:.78;
  margin-bottom:8px;
}
.bus-day-date{
  font-size:22px !important;
  line-height:1.05;
  font-weight:800;
  opacity:.68;
  margin:0 0 8px !important;
}
.bus-day-venue{
  font-size:32px;
  line-height:1.08;
  font-weight:900;
}
.bus-field-list article{
  padding:22px 24px;
}
.bus-field-list article h2{
  font-size:14px;
  line-height:1.15;
  letter-spacing:.13em;
  margin-bottom:10px;
}
.bus-field-list article > div{
  font-size:22px;
  line-height:1.25;
}
.bus-field-list a{
  font-size:22px;
  line-height:1.2;
}

@media(min-width:1100px){
  .bus-display-main{
    width:min(1380px,calc(100% - 56px));
  }
  .bus-day-venue{font-size:36px}
  .bus-field-list article > div,
  .bus-field-list a{font-size:24px}
}

@media(max-width:760px){
  .bus-display-main{
    width:min(100% - 18px,760px);
    gap:12px;
    margin-top:14px;
  }
  .bus-day-heading{padding:20px}
  .bus-day-kicker{font-size:13px}
  .bus-day-date{font-size:18px !important}
  .bus-day-venue{font-size:27px}
  .bus-field-list article{padding:18px}
  .bus-field-list article > div,
  .bus-field-list a{font-size:19px}
}


/* =========================================================
   V2.0.6 — BUS DISPLAY WIDER + PURPLE DAY LABELS
   ========================================================= */

/* Use much more of the communal display width. */
.bus-display-main{
  width:calc(100% - 32px);
  max-width:none;
  margin-left:auto;
  margin-right:auto;
}

/* Today / Tomorrow should match the QUEENZ purple accent. */
.bus-day-kicker{
  color:#c96cff;
  opacity:1;
}

/* Give the two day panels as much horizontal space as possible. */
@media(min-width:761px){
  .bus-display-main{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:20px;
  }
}

/* On large iPads / desktops, leave only a small outside gutter. */
@media(min-width:1100px){
  .bus-display-main{
    width:calc(100% - 40px);
  }
}

/* Keep sensible phone gutters. */
@media(max-width:760px){
  .bus-display-main{
    width:calc(100% - 18px);
  }
}

/* V2.1.0 — Merch Venue Percentage */
.merch-percent-input{display:flex;align-items:center;gap:10px;max-width:240px}
.merch-percent-input .merch-total-input{min-width:0;flex:1}
.merch-percent-input>span{font-size:1.15rem;font-weight:700;opacity:.85}


/* V2.1.4 — Backstage */
.backstage-section{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.backstage-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.backstage-heading h2{margin:.2rem 0 .35rem}
.backstage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.backstage-card textarea{width:100%;min-height:108px;resize:vertical;box-sizing:border-box}
.backstage-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:14px}
@media(max-width:720px){
 .backstage-grid{grid-template-columns:1fr}
 .backstage-heading{display:block}
 .backstage-heading .permission{display:inline-block;margin-top:8px}
 .backstage-actions{justify-content:space-between}
}


/* V2.1.5 — Backstage mobile fixes */
.backstage-card textarea,
.backstage-card input,
.backstage-card select{
  font-size:16px;
}

.backstage-actions{
  width:100%;
  box-sizing:border-box;
}

.backstage-actions [data-backstage-upload]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}

@media(max-width:720px){
  .backstage-actions{
    position:relative;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:14px;
    padding-bottom:max(8px, env(safe-area-inset-bottom));
  }
  .backstage-actions [data-backstage-state]{
    width:100%;
    min-height:20px;
  }
  .backstage-actions [data-backstage-upload]{
    width:100%;
    max-width:none;
    flex:0 0 auto;
  }
  .backstage-card textarea{
    font-size:16px;
    line-height:1.4;
  }
}


/* V2.2.0 — SHOW Calendar/List + today highlighting */
.top-area-nav.show-subnav{
  margin-top:0;
  justify-content:center;
}
.top-area-nav.show-subnav a{
  flex:1 1 auto;
  text-align:center;
  min-width:max-content;
}
.calendar-day.is-today{
  outline:2px solid rgba(236,196,255,.95);
  outline-offset:-2px;
  box-shadow:0 0 0 2px rgba(183,87,235,.18), 0 0 16px rgba(183,87,235,.16);
}
.calendar-day.is-today b{
  opacity:1;
  font-weight:900;
}
.tour-list-row.is-today{
  border-color:rgba(226,180,255,.72);
  box-shadow:inset 3px 0 0 rgba(226,180,255,.85),0 0 12px rgba(157,69,210,.10);
}
@media(max-width:520px){
  .top-area-nav.show-subnav{justify-content:flex-start}
  .top-area-nav.show-subnav a{flex:0 0 auto}
}


/* V2.2.1 — Company Manager uses Cast-style Show Timings */
.cm-toolbox-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  padding:6px 9px;
  border:1px solid rgba(220,170,255,.28);
  border-radius:8px;
  text-decoration:none;
  color:inherit;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
@media(max-width:620px){
  .cm-toolbox-link{
    width:100%;
    margin:7px 0 0;
  }
}


/* V2.2.2 — cleaner SHOW navigation */
.show-heading .show-venue{
  display:block;
  color:#fff;
  font-size:23px;
  line-height:1.08;
  letter-spacing:.01em;
  font-weight:800;
}
.show-heading .show-date{
  display:block;
  margin-top:6px;
  color:#b9a9c4;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.04em;
}
.show-date-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 20px;
}
.calendar-list-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  padding:9px 16px;
  border:1px solid rgba(202,130,244,.32);
  border-radius:999px;
  background:rgba(111,45,147,.18);
  color:#eadcf2;
  text-decoration:none;
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
}
.calendar-list-button:hover,
.calendar-list-button:focus{
  border-color:rgba(224,177,255,.58);
  background:rgba(145,58,191,.24);
}
.standalone-calendar-action{
  margin-top:12px;
  margin-bottom:18px;
}
.show-date-actions .report-live-state{margin:0}
@media(max-width:620px){
  .show-heading .show-venue{font-size:20px}
  .show-heading .show-date{font-size:12px}
  .show-date-actions{gap:8px}
  .calendar-list-button{font-size:12px;padding:8px 13px}
}


/* V2.2.3 — compact matching SHOW / TOUR Calendar/List action */
.calendar-list-button{
  min-height:32px;
  padding:6px 12px;
  font-size:11px;
  line-height:1;
}
.tour-calendar-action{
  width:min(1180px,calc(100% - 24px));
  margin:8px auto 6px;
  display:flex;
  justify-content:center;
}
.tour-calendar-action .calendar-list-button{
  flex:0 0 auto;
}
@media(max-width:620px){
  .calendar-list-button{
    min-height:30px;
    padding:6px 11px;
    font-size:10px;
  }
}


/* V2.2.4 — TOUR header matches SHOW */
.logistics-main{margin-top:12px}
.logistics-datebar{margin:0}
.logistics-datebar .show-heading .show-venue{
  display:block;color:#fff;font-size:23px;line-height:1.08;
  letter-spacing:.01em;font-weight:800
}
.logistics-datebar .show-heading .show-date{
  display:block;margin-top:6px;color:#b9a9c4;font-size:14px;
  line-height:1.2;font-weight:600;letter-spacing:.04em
}
.logistics-layout-bottom{
  display:flex;justify-content:center;margin:28px 0 8px
}
.logistics-layout-link{
  opacity:.72;font-size:11px
}
.logistics-layout-link:hover,
.logistics-layout-link:focus{opacity:1}
@media(max-width:620px){
  .logistics-datebar .show-heading .show-venue{font-size:20px}
  .logistics-datebar .show-heading .show-date{font-size:12px}
  .logistics-layout-bottom{margin-top:22px}
}


/* V2.2.5 — consistent dated-page top order */
.datebar + .app-tabs,
.datebar + .cast-timing-mode,
.datebar + .toolbox-tabs{margin-top:14px}
.cast-timing-mode + .app-tabs{margin-top:10px}
.tour-main > .datebar:first-child,
.logistics-main > .datebar:first-child,
main > .datebar:first-child{margin-top:0}
.tour-main > .page-title{margin-top:16px}


/* V2.2.6 — Show Times + live time split header */
.timings-live-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.timings-show-times{
  min-width:0;
  text-align:left;
}
.timings-live-clock{
  min-width:0;
  text-align:right;
}
.timings-show-times .admin-kicker,
.timings-live-clock .admin-kicker{
  display:block;
  color:#c968f0;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.13em;
  font-weight:850;
}
.timings-show-times strong,
.timings-live-clock strong{
  display:block;
  margin-top:3px;
  color:#fff;
  font-size:clamp(27px,5vw,46px);
  line-height:1.08;
  font-weight:800;
}
.timings-show-times strong{
  white-space:pre-line;
  overflow-wrap:anywhere;
}
.timings-live-clock strong{
  font-variant-numeric:tabular-nums;
}

/* Calendar/List is always the first control directly below the venue/date bar. */
.datebar + .show-date-actions.standalone-calendar-action{
  margin-top:12px;
  margin-bottom:14px;
}
.show-date-actions.standalone-calendar-action + .app-tabs,
.show-date-actions.standalone-calendar-action + .cast-timing-mode,
.show-date-actions.standalone-calendar-action + .toolbox-tabs{
  margin-top:0;
}

@media(max-width:620px){
  .timings-live-top{gap:12px}
  .timings-show-times .admin-kicker,
  .timings-live-clock .admin-kicker{font-size:9px}
  .timings-show-times strong,
  .timings-live-clock strong{font-size:clamp(22px,7vw,34px)}
}


/* V2.2.7 — compact venue/date header with Calendar/List inside */
.compact-date-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:18px 22px;
}
.compact-date-header .show-heading{
  text-align:left;
  min-width:0;
}
.compact-date-header .show-heading .show-venue{
  text-align:left;
}
.compact-date-header .show-heading .show-date{
  text-align:left;
}
.header-calendar-button{
  align-self:center;
  justify-self:end;
  margin:0;
}
.calendar-page-header{
  grid-template-columns:minmax(0,1fr);
}
.calendar-page-header .show-heading{
  text-align:left;
}
@media(max-width:620px){
  .compact-date-header{
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    padding:15px 16px;
  }
  .header-calendar-button{
    font-size:10px;
    padding:6px 10px;
    min-height:30px;
  }
}


/* V2.2.8 — identical master date header dimensions everywhere */
:root{
  --master-date-header-min-height: 96px;
  --master-date-header-padding-y: 18px;
  --master-date-header-padding-x: 22px;
  --master-date-header-radius: 20px;
}

.compact-date-header,
.datebar.compact-date-header,
.logistics-datebar.compact-date-header,
.calendar-page-header.compact-date-header{
  box-sizing:border-box;
  width:100%;
  min-height:var(--master-date-header-min-height);
  height:auto;
  padding:var(--master-date-header-padding-y) var(--master-date-header-padding-x);
  margin:0;
  border-radius:var(--master-date-header-radius);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}

.calendar-page-header.compact-date-header{
  grid-template-columns:minmax(0,1fr);
}

.compact-date-header .show-heading{
  min-width:0;
  margin:0;
  text-align:left;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.compact-date-header .show-heading .show-venue{
  margin:0;
  min-height:1.08em;
}

.compact-date-header .show-heading .show-date{
  margin-top:6px;
  min-height:1.2em;
}

.compact-date-header .header-calendar-button{
  margin:0;
  align-self:center;
  justify-self:end;
}

/* Prevent page-specific wrappers from changing the header size */
.logistics-main > .compact-date-header,
.tour-main > .compact-date-header,
main > .compact-date-header{
  width:100%;
  min-height:var(--master-date-header-min-height);
}

@media(max-width:620px){
  :root{
    --master-date-header-min-height: 88px;
    --master-date-header-padding-y: 15px;
    --master-date-header-padding-x: 16px;
  }
  .compact-date-header,
  .datebar.compact-date-header,
  .logistics-datebar.compact-date-header,
  .calendar-page-header.compact-date-header{
    gap:10px;
  }
}


/* V2.2.9 — force every master date header to the SHOW-page width */
.compact-date-header,
.datebar.compact-date-header,
.logistics-datebar.compact-date-header,
.calendar-page-header.compact-date-header{
  width:min(772px,calc(100vw - 48px));
  max-width:min(772px,calc(100vw - 48px));
  margin-left:auto;
  margin-right:auto;
}

/* The SHOW pages use 18px side padding on the narrowest phones. */
@media(max-width:390px){
  .compact-date-header,
  .datebar.compact-date-header,
  .logistics-datebar.compact-date-header,
  .calendar-page-header.compact-date-header{
    width:calc(100vw - 36px);
    max-width:calc(100vw - 36px);
  }
}


/* V2.3.1 — exact SHOW/TOUR master-header alignment */
.compact-date-header,
.datebar.compact-date-header,
.logistics-datebar.compact-date-header,
.calendar-page-header.compact-date-header{
  position:relative;
  left:50%;
  transform:translateX(-50%);
  width:min(772px,calc(100vw - 48px));
  max-width:min(772px,calc(100vw - 48px));
  margin-left:0;
  margin-right:0;
}

/* Match the small visual breathing room below SHOW on TOUR/Logistics. */
.logistics-main > .compact-date-header{
  margin-bottom:14px;
}

@media(max-width:390px){
  .compact-date-header,
  .datebar.compact-date-header,
  .logistics-datebar.compact-date-header,
  .calendar-page-header.compact-date-header{
    width:calc(100vw - 36px);
    max-width:calc(100vw - 36px);
  }
}


/* V2.3.2 — nudge TOUR master header up to match SHOW exactly */
.logistics-main{
  margin-top:8px;
}


/* V2.3.3 — exact SHOW / TOUR header positioning
   Logistics was receiving BOTH main's top padding and its own top margin.
   SHOW only receives main's top padding. Remove the extra TOUR margin so the
   master block starts at exactly the same vertical coordinate. */
.logistics-main{
  margin-top:0;
}

/* Keep the desired small gap after the master header before Logistics content. */
.logistics-main > .compact-date-header{
  margin-bottom:14px;
}


/* =========================================================
   V2.4.0 — ADMIN PERMISSIONS
   ========================================================= */
.permissions-main{max-width:980px}
.permission-role-picker{margin-bottom:14px}
.permission-role-form{max-width:440px}
.permission-role-form label{display:grid;gap:7px;font-size:12px;font-weight:800;color:#d7c5e2}
.permission-role-form select{
  width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);
  border-radius:11px;background:#fff;color:#24122d;font:inherit;font-size:16px
}
.permission-form{display:grid;gap:14px}
.permission-group{margin:0}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.permission-toggle{
  display:flex;align-items:flex-start;gap:10px;padding:11px 12px;margin:0;
  border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.025)
}
.permission-toggle input{margin-top:2px;flex:0 0 auto}
.permission-toggle span{display:grid;gap:3px}
.permission-toggle strong{font-size:12px;line-height:1.3}
.permission-toggle small{font-size:8px;opacity:.42;word-break:break-all}
.permission-field-table{display:grid;gap:5px}
.permission-field-head,.permission-field-row{
  display:grid;grid-template-columns:minmax(0,1fr) 90px 90px;gap:8px;align-items:center
}
.permission-field-head{padding:0 11px 5px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.55}
.permission-field-row{
  padding:10px 11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.025)
}
.permission-field-row>strong{font-size:12px}
.permission-field-row label{display:flex;align-items:center;gap:6px;margin:0;font-size:10px}
.permission-save-bar{
  position:sticky;bottom:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;border:1px solid rgba(198,104,255,.34);border-radius:14px;
  background:rgba(32,12,47,.94);backdrop-filter:blur(12px);box-shadow:0 10px 30px rgba(0,0,0,.28)
}
.permission-save-bar .muted{font-size:10px;text-align:right}
.permission-reset-card{margin-top:18px}
.permission-reset-actions{display:flex;gap:10px;flex-wrap:wrap}
.permission-reset-actions form{margin:0}
@media(max-width:650px){
  .permission-grid{grid-template-columns:1fr}
  .permission-field-head,.permission-field-row{grid-template-columns:minmax(0,1fr) 64px 64px}
  .permission-field-row label span{display:none}
  .permission-save-bar{align-items:stretch;flex-direction:column}
  .permission-save-bar button{width:100%}
  .permission-save-bar .muted{text-align:center}
}


/* V2.4.1 — restructured Admin */
.permission-logistics-details{padding:0;overflow:hidden;margin-top:14px}
.permission-logistics-details>summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:18px 20px
}
.permission-logistics-details>summary::-webkit-details-marker{display:none}
.permission-logistics-details>summary>span:first-child{display:grid;gap:4px}
.permission-logistics-details>summary strong{font-size:18px}
.permission-logistics-details>summary small{font-size:11px;color:rgba(255,255,255,.58);font-weight:500}
.permission-logistics-details .details-chevron{font-size:24px;transition:transform .2s ease}
.permission-logistics-details[open] .details-chevron{transform:rotate(180deg)}
.permission-logistics-body{padding:0 14px 14px}
.permission-logistics-body>.admin-card{margin-top:0}
.permission-logistics-body .logistics-admin-fields{margin-top:12px}
@media(max-width:650px){
 .permission-logistics-details>summary{padding:15px 14px}
 .permission-logistics-body{padding:0 8px 8px}
}


/* V2.4.3 — TOUR Pre-Visit Call */
.previsit-card{
  margin:0 0 14px;padding:14px 16px;border:1px solid rgba(198,104,255,.20);
  border-radius:16px;background:rgba(119,48,153,.07)
}
.previsit-card .section-title{margin-bottom:10px}
.previsit-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:9px}
.previsit-check-card,.previsit-notes-card{margin:0}
.previsit-checkline{display:flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:800}
.previsit-checkline input{width:22px;height:22px}
.previsit-notes-card textarea{
  width:100%;min-height:96px;box-sizing:border-box;resize:vertical;
  border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:11px 12px;
  background:#fff;color:#24122d;font:inherit;font-size:16px
}
.previsit-read-value{font-size:15px;font-weight:800}
.previsit-save-state{text-align:right;margin-top:8px;min-height:16px}
@media(max-width:650px){
 .previsit-grid{grid-template-columns:1fr}
}


/* V2.4.4 — compact Pre-Visit Call + Airtable upload */
.previsit-card{
  padding:11px 13px;
  margin-bottom:12px;
}
.previsit-card .section-title{
  margin-bottom:7px;
}
.previsit-card .section-title h2{
  margin:2px 0 3px;
  font-size:17px;
}
.previsit-card .section-title p{
  margin:0;
  font-size:10.5px;
}
.compact-previsit-grid{
  grid-template-columns:minmax(150px,.42fr) minmax(0,1.58fr);
  gap:7px;
}
.compact-previsit-grid .logistics-card{
  padding:9px 11px;
  border-radius:11px;
}
.compact-previsit-grid .logistics-card-title{
  margin-bottom:5px;
}
.compact-previsit-grid .logistics-card-title span{
  font-size:9px;
}
.previsit-checkline{
  gap:8px;
  font-size:12px;
}
.previsit-checkline input{
  width:18px;
  height:18px;
}
.previsit-read-value{
  font-size:13px;
}
.previsit-notes-card textarea{
  min-height:64px;
  padding:8px 10px;
  border-radius:8px;
}
.previsit-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:7px;
}
.previsit-actions button{
  min-height:31px;
  padding:6px 11px;
  font-size:10px;
}
.previsit-save-state{
  margin:0;
  min-height:14px;
  font-size:10px;
}
@media(max-width:650px){
  .compact-previsit-grid{grid-template-columns:1fr}
  .previsit-actions{justify-content:space-between}
}


/* V2.4.5 — Show Control top row matches Show Timings */
.show-control-hero .sc-live-top{
  width:100%;
  text-align:initial;
}
.show-control-hero .sc-live-top .timings-show-times,
.show-control-hero .sc-live-top .timings-live-clock{
  position:static;
}
.show-control-hero .sc-current-wrap{
  padding-top:24px;
}
@media(max-width:620px){
  .show-control-hero .sc-current-wrap{
    padding-top:18px;
  }
}


/* V2.4.6 — prevent iOS zoom in Cast Notes inputs */
.cast-show-note-card textarea,
.cast-show-note-card input,
.cast-show-note-card select{
  font-size:16px !important;
}
@media(max-width:620px){
  .cast-show-note-card textarea,
  .cast-show-note-card input,
  .cast-show-note-card select{
    font-size:16px !important;
  }
}


/* V2.4.9 — one-time Show Control calls, reactivation + Cancel call */
.sc-moment-button.is-fired{
  opacity:.42;
  background:#160d1b;
  border-color:#4b3f50;
  color:#a99daf;
}
.sc-moment-button.is-fired:hover{
  opacity:.62;
  background:#201425;
  border-color:#735d7d;
}
.sc-moment-button.is-fired small{
  color:#a99daf;
}
.sc-cancel-call-button{
  width:100%;
  margin-top:9px;
  min-height:42px;
  border:1px solid rgba(255,184,82,.55);
  border-radius:11px;
  background:rgba(105,63,8,.18);
  color:#ffd08a;
  font-weight:850;
  font-size:12px;
  cursor:pointer;
}
.sc-cancel-call-button:hover:not(:disabled){
  background:rgba(135,80,8,.28);
  border-color:rgba(255,184,82,.8);
}
.sc-cancel-call-button:disabled{
  opacity:.35;
  cursor:not-allowed;
}


/* V2.5.0 — Show Stop is a timed overlay, not a paused elapsed timer */
.sc-history-row.show_stop strong{color:#ff8f9a}
.sc-history-row.show_continue strong{color:#8ff0ad}


/* =========================================================
   V2.5.2 — BusiPad Backstage + landscape single-screen density
   ========================================================= */
.bus-backstage-block{
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(133,55,176,.055);
}
.bus-backstage-title{
  display:flex;align-items:baseline;gap:7px;
  padding:7px 10px 5px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.bus-backstage-title span{
  font-size:7px;letter-spacing:.13em;font-weight:900;opacity:.52;
}
.bus-backstage-title strong{font-size:11px}
.bus-backstage-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
}
.bus-backstage-grid article{
  min-width:0;padding:7px 9px;
  border-right:1px solid rgba(255,255,255,.055);
  border-bottom:1px solid rgba(255,255,255,.055);
}
.bus-backstage-grid h2{
  margin:0 0 3px;font-size:7px;line-height:1.1;
  text-transform:uppercase;letter-spacing:.09em;opacity:.46;
}
.bus-backstage-grid article>div{
  font-size:10px;line-height:1.22;overflow-wrap:anywhere;
}

/* iPad/large-tablet landscape: keep Today + Tomorrow on one compact landscape canvas
   wherever the amount of supplied text makes that physically possible. */
@media (orientation:landscape) and (min-width:900px){
  .bus-display-header{padding:6px 12px;gap:12px}
  .bus-display-header strong{font-size:17px}
  .bus-display-header .bus-live-date{font-size:10px}
  .bus-display-main{
    width:calc(100% - 12px);
    margin:6px auto 8px;
    gap:6px;
    align-items:start;
  }
  .bus-day-panel{border-radius:11px}
  .bus-day-heading{padding:7px 10px}
  .bus-day-heading>span{font-size:7px}
  .bus-day-heading h1{font-size:16px;margin:1px 0}
  .bus-day-venue{font-size:11px;line-height:1.15}
  .bus-field-list article{padding:6px 8px}
  .bus-field-list h2{font-size:7px;margin-bottom:2px}
  .bus-field-list article>div{font-size:9px;line-height:1.18}
  .bus-w3w{font-size:11px}
  .bus-backstage-title{padding:5px 8px 4px}
  .bus-backstage-title strong{font-size:10px}
  .bus-backstage-grid article{padding:5px 7px}
  .bus-backstage-grid h2{font-size:6.5px;margin-bottom:2px}
  .bus-backstage-grid article>div{font-size:9px;line-height:1.16}
}


/* =========================================================
   V2.5.3 — BusiPad Backstage as one full-width TODAY footer
   ========================================================= */
.bus-backstage-footer{
  grid-column:1 / -1;
  min-width:0;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  overflow:hidden;
  background:rgba(133,55,176,.07);
}
.bus-backstage-footer-title{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:7px 11px;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:linear-gradient(135deg,rgba(103,26,145,.28),rgba(255,255,255,.015));
}
.bus-backstage-footer-title>div{display:flex;align-items:baseline;gap:8px}
.bus-backstage-footer-title span{
  font-size:7px;letter-spacing:.13em;font-weight:900;opacity:.52;
}
.bus-backstage-footer-title strong{font-size:11px}
.bus-backstage-footer-title small{font-size:8px;letter-spacing:.08em;opacity:.48}
.bus-backstage-footer-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
}
.bus-backstage-footer-grid article{
  min-width:0;padding:7px 9px;
  border-right:1px solid rgba(255,255,255,.055);
}
.bus-backstage-footer-grid article:last-child{border-right:0}
.bus-backstage-footer-grid h2{
  margin:0 0 3px;font-size:7px;line-height:1.1;
  text-transform:uppercase;letter-spacing:.09em;opacity:.46;
}
.bus-backstage-footer-grid article>div{
  font-size:10px;line-height:1.2;overflow-wrap:anywhere;
}
@media (orientation:landscape) and (min-width:900px){
  .bus-backstage-footer-title{padding:5px 9px}
  .bus-backstage-footer-grid article{padding:5px 7px}
  .bus-backstage-footer-grid article>div{font-size:9px;line-height:1.15}
  .bus-backstage-footer-grid h2{font-size:6.5px;margin-bottom:2px}
}
@media(max-width:760px){
  .bus-backstage-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* V2.5.4 — BusiPad refreshes every 60 seconds.
   Loading bay what3words and Bus Location what3words are intentionally
   suppressed in the BusiPad PHP view only. */


/* =========================================================
   V2.5.5 — BusiPad readability pass from landscape iPad test
   ========================================================= */

/* Logistics: de-emphasise field headings and make the useful content dominant. */
.bus-field-list h2{
  font-size:6.5px;
  line-height:1.05;
  letter-spacing:.075em;
  margin-bottom:3px;
  opacity:.44;
}
.bus-field-list article>div{
  font-size:15px;
  line-height:1.24;
  font-weight:650;
}
.bus-w3w{font-size:15px}

/* Backstage: much larger values while retaining compact labels. */
.bus-backstage-footer-title span{font-size:7px}
.bus-backstage-footer-title strong{font-size:13px}
.bus-backstage-footer-grid h2{
  font-size:6.5px;
  line-height:1.05;
  letter-spacing:.075em;
  margin-bottom:4px;
}
.bus-backstage-footer-grid article>div{
  font-size:15px;
  line-height:1.24;
  font-weight:650;
}

/* The landscape rules are placed last so they win over earlier density rules. */
@media (orientation:landscape) and (min-width:900px){
  .bus-field-list h2{font-size:6px;margin-bottom:3px}
  .bus-field-list article>div{font-size:14px;line-height:1.20;font-weight:650}
  .bus-backstage-footer-title strong{font-size:12px}
  .bus-backstage-footer-grid h2{font-size:6px;margin-bottom:3px}
  .bus-backstage-footer-grid article>div{font-size:14px;line-height:1.20;font-weight:650}
}


/* =========================================================
   V2.5.6 — BusiPad date / venue hierarchy + Backstage heading
   ========================================================= */
.bus-day-heading .bus-day-date{
  margin:2px 0 1px;
  font-size:10px;
  line-height:1.1;
  font-weight:650;
  color:rgba(255,255,255,.48);
  letter-spacing:.04em;
}
.bus-day-heading h1.bus-day-venue{
  margin:0;
  font-size:24px;
  line-height:1.05;
  font-weight:850;
  color:#fff;
}
@media (orientation:landscape) and (min-width:900px){
  .bus-day-heading .bus-day-date{font-size:8px;margin:1px 0}
  .bus-day-heading h1.bus-day-venue{font-size:20px;line-height:1.02}
}


/* =========================================================
   V2.5.7 — BusiPad: tiny dates, much larger useful content
   ========================================================= */
.bus-day-heading .bus-day-date{
  font-size:7px;
  line-height:1;
  opacity:.72;
}
.bus-field-list article>div{
  font-size:20px;
  line-height:1.18;
  font-weight:700;
}
.bus-backstage-footer-grid article>div{
  font-size:20px;
  line-height:1.18;
  font-weight:700;
}

/* iPad landscape final overrides */
@media (orientation:landscape) and (min-width:900px){
  .bus-day-heading .bus-day-date{
    font-size:6px;
    line-height:1;
    margin:1px 0;
  }
  .bus-field-list article>div{
    font-size:18px;
    line-height:1.15;
    font-weight:700;
  }
  .bus-backstage-footer-grid article>div{
    font-size:18px;
    line-height:1.15;
    font-weight:700;
  }
}


/* =========================================================
   V2.5.8 — BusiPad town/venue names 2x larger
   ========================================================= */
.bus-day-heading h1.bus-day-venue{
  font-size:48px;
  line-height:1;
}
@media (orientation:landscape) and (min-width:900px){
  .bus-day-heading h1.bus-day-venue{
    font-size:40px;
    line-height:1;
  }
}


/* =========================================================
   V2.5.9 — Backstage field labels match Today/Tomorrow labels
   ========================================================= */
.bus-backstage-footer-grid h2{
  font-size:6.5px;
  line-height:1.05;
  letter-spacing:.075em;
  margin:0 0 3px;
  opacity:.44;
  text-transform:uppercase;
}
@media (orientation:landscape) and (min-width:900px){
  .bus-backstage-footer-grid h2{
    font-size:6px;
    line-height:1.05;
    letter-spacing:.075em;
    margin:0 0 3px;
    opacity:.44;
  }
}


/* =========================================================
   V2.6.0 — Other Cast/Crew info
   ========================================================= */
.bus-field-list article.bus-field-double{
  grid-column:1 / -1;
  border-right:0;
}


/* =========================================================
   V2.6.1 — BusiPad Today/Tomorrow body text normal weight
   ========================================================= */
.bus-field-list article>div{
  font-weight:400;
}
@media (orientation:landscape) and (min-width:900px){
  .bus-field-list article>div{
    font-weight:400;
  }
}
/* Backstage deliberately retains its existing bold/heavier body text. */


/* =========================================================
   V2.6.2 — BusiPad section heading readability
   ========================================================= */

/* Today / Tomorrow and Backstage · Today: larger and one purple treatment */
.bus-day-heading .bus-day-kicker,
.bus-backstage-footer .bus-backstage-title{
  font-size:11px;
  line-height:1.1;
  letter-spacing:.08em;
  font-weight:800;
  color:#c784ff;
  opacity:1;
  text-transform:uppercase;
}

/* Backstage individual field/section titles: easier to read */
.bus-backstage-footer-grid h2{
  font-size:9px;
  line-height:1.1;
  letter-spacing:.07em;
  font-weight:700;
  opacity:.72;
}

@media (orientation:landscape) and (min-width:900px){
  .bus-day-heading .bus-day-kicker,
  .bus-backstage-footer .bus-backstage-title{
    font-size:10px;
  }
  .bus-backstage-footer-grid h2{
    font-size:8px;
    line-height:1.1;
    font-weight:700;
    opacity:.72;
  }
}


/* =========================================================
   V2.6.3 — Backstage header matches TODAY / TOMORROW
   ========================================================= */
.bus-backstage-footer-title span,
.bus-backstage-footer-title small{
  font-size:11px;
  line-height:1.1;
  letter-spacing:.08em;
  font-weight:800;
  color:#c784ff;
  opacity:1;
  text-transform:uppercase;
}

@media (orientation:landscape) and (min-width:900px){
  .bus-backstage-footer-title span,
  .bus-backstage-footer-title small{
    font-size:10px;
  }
}


/* =========================================================
   V2.6.4 — Standardised BusiPad field-name sizing
   Field names match section-header size, but remain grey.
   ========================================================= */
.bus-field-list article>h2,
.bus-backstage-footer-grid article>h2{
  font-size:11px;
  line-height:1.1;
  letter-spacing:.08em;
  font-weight:700;
  color:rgba(255,255,255,.58);
  opacity:1;
  text-transform:uppercase;
}

@media (orientation:landscape) and (min-width:900px){
  .bus-field-list article>h2,
  .bus-backstage-footer-grid article>h2{
    font-size:10px;
    line-height:1.1;
    letter-spacing:.08em;
    font-weight:700;
    color:rgba(255,255,255,.58);
    opacity:1;
  }
}


/* =========================================================
   V2.6.5 — editable badges + persistent login
   ========================================================= */
.permission.is-editable{
  color:var(--green);
}
.remember-login{
  display:flex;
  align-items:center;
  gap:9px;
  margin:2px 0 16px;
  color:#d8cbe2;
  font-size:14px;
  cursor:pointer;
}
.remember-login input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--purple);
  flex:0 0 auto;
}


/* =========================================================
   V2.6.7 — Other Cast/Crew Info + crew Pre-Visit note view
   ========================================================= */
.other-cast-crew-card textarea{
  width:100%;
  min-height:110px;
  padding:14px;
  border:1px solid var(--input-border);
  border-radius:14px;
  background:#180926;
  color:#fff;
  font:inherit;
  font-size:16px;
  line-height:1.4;
  resize:vertical;
}
.other-cast-crew-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:10px;
}
.crew-previsit-notes-card{
  margin-top:14px;
}


/* =========================================================
   V2.6.8 — Management merch completeness + BusiPad date picker
   ========================================================= */
.bus-bottom-nav{
  display:flex;
  justify-content:center;
  gap:8px;
  width:100%;
  margin:12px 0 4px;
}
.bus-bottom-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:6px 12px;
  border:1px solid rgba(199,132,255,.42);
  border-radius:999px;
  background:rgba(65,25,91,.72);
  color:#d9a7ff;
  text-decoration:none;
  text-transform:uppercase;
  font-size:8px;
  font-weight:800;
  letter-spacing:.075em;
}
.bus-bottom-button.is-active,
.bus-bottom-button:active{
  background:rgba(199,132,255,.18);
  border-color:#c784ff;
  color:#c784ff;
}
.bus-calendar-main{
  width:min(980px,calc(100vw - 28px));
  margin:0 auto;
  padding:14px 0 24px;
}
.bus-calendar-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin:8px 0 14px;
}
.bus-calendar-heading h1{
  margin:4px 0 3px;
  font-size:28px;
}
.bus-calendar-heading p{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:13px;
}
.bus-calendar-body .tour-calendar-month,
.bus-calendar-body .tour-list{
  max-width:none;
}
.bus-calendar-body .tour-calendar-grid .calendar-day{
  min-height:74px;
}
.bus-calendar-body .calendar-day.is-today{
  box-shadow:inset 0 0 0 1px #c784ff;
}
.bus-calendar-bottom{
  position:sticky;
  bottom:8px;
  padding:8px;
  border-radius:16px;
  background:rgba(19,7,31,.9);
  backdrop-filter:blur(8px);
}
@media (orientation:landscape) and (min-width:900px){
  .bus-bottom-button{font-size:9px;min-height:32px;padding:6px 14px}
  .bus-calendar-main{width:min(1100px,calc(100vw - 36px))}
  .bus-calendar-heading h1{font-size:30px}
}


/* =========================================================
   V2.6.9 — BusiPad refresh resilience + centred footer nav
   ========================================================= */
.bus-display-main > .bus-bottom-nav{
  grid-column:1 / -1;
  justify-self:stretch;
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
}


/* =========================================================
   V2.6.10 — Other Cast/Crew Info style match
   ========================================================= */
.other-cast-crew-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-right:12px;
}
.other-cast-crew-heading .logistics-card-title{
  flex:1 1 auto;
}
.other-cast-crew-heading .permission{
  flex:0 0 auto;
  margin:0;
}
.other-cast-crew-card textarea{
  width:100%;
  min-height:110px;
  padding:14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:#fff;
  color:#180926;
  font:inherit;
  font-size:16px;
  line-height:1.4;
  resize:vertical;
  box-sizing:border-box;
}
.other-cast-crew-card textarea::placeholder{
  color:rgba(24,9,38,.5);
}
.other-cast-crew-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:10px;
}
.other-cast-crew-actions [data-other-cast-crew-upload]{
  width:auto;
  min-width:0;
  padding:8px 12px;
  font-size:12px;
  line-height:1.1;
}


/* V2.6.11 — view-only TOUR cleanup */
.crew-previsit-notes-grid{
  margin-top:14px;
}

.watch-pair-card{margin-top:18px}
.watch-pair-code{
 display:inline-flex;align-items:center;justify-content:center;
 margin-top:10px;padding:10px 16px;border:1px solid #c784ff;border-radius:14px;
 color:#fff;background:#241033;font-size:28px;font-weight:800;letter-spacing:.16em
}

/* =========================================================
   V13 — Return to today beside Calendar / List everywhere
   ========================================================= */
.header-date-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  width:max-content;
  justify-self:end;
  align-self:center;
}
.header-date-actions .calendar-list-button{
  box-sizing:border-box;
  width:100%;
  margin:0;
}
.header-date-actions .header-calendar-button,
.header-date-actions .header-today-button{
  justify-self:stretch;
}

/* BusiPad bottom navigation buttons should be exactly the same width. */
.bus-bottom-nav .bus-bottom-button{
  box-sizing:border-box;
  flex:0 0 112px;
  width:112px;
}

@media(max-width:620px){
  .header-date-actions{gap:5px}
}

/* =========================================================
   V13.1 — compact stacked date-header actions on phones
   Keep both actions within the same vertical footprint as the
   previous single Calendar / List button.
   ========================================================= */
@media(max-width:620px){
  .header-date-actions{
    gap:2px;
  }
  .header-date-actions .calendar-list-button{
    width:100%;
    min-height:14px;
    height:14px;
    padding:1px 8px;
    border-radius:999px;
    font-size:8px;
    line-height:1;
  }
}

/* =========================================================
   V13.2 — touch-friendly stacked date-header actions on phones
   Keep the two buttons compact, but large enough to tap reliably.
   ========================================================= */
@media(max-width:620px){
  .header-date-actions{
    gap:6px;
  }
  .header-date-actions .calendar-list-button{
    width:100%;
    min-height:30px;
    height:30px;
    padding:5px 11px;
    border-radius:999px;
    font-size:10.5px;
    line-height:1.1;
    display:flex;
    align-items:center;
    justify-content:center;
  }
}


/* V13.3 — calendar close controls remain in the date header. */
\n\n/* =========================================================\n   V13.4 — calendar/list header stays identical to source page\n   Keep venue/date left and the two touch controls stacked right.\n   ========================================================= */\n.calendar-page-header.compact-date-header{\n  grid-template-columns:minmax(0,1fr) auto;\n}\n.calendar-page-header.compact-date-header .header-date-actions{\n  grid-column:2;\n  grid-row:1;\n}\n.calendar-page-header.compact-date-header .show-heading{\n  grid-column:1;\n  grid-row:1;\n}\n

/* =========================================================
   V13.5 — calendar/list master header must stay the same size
   as the page it was opened from.
   ========================================================= */
.calendar-page-header.compact-date-header,
.datebar.calendar-page-header.compact-date-header,
.logistics-datebar.calendar-page-header.compact-date-header {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: 1fr;
  align-items: center;
}

.calendar-page-header.compact-date-header .show-heading {
  grid-column: 1;
  grid-row: 1;
  min-width: 0;
  align-self: center;
}

.calendar-page-header.compact-date-header .header-date-actions {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  margin: 0;
}

@media (max-width:620px) {
  .calendar-page-header.compact-date-header,
  .datebar.calendar-page-header.compact-date-header,
  .logistics-datebar.calendar-page-header.compact-date-header {
    min-height: var(--master-date-header-min-height);
    height: var(--master-date-header-min-height);
    overflow: hidden;
  }
}

/* V13.6 — compact manual Airtable pull below account links */
.header-airtable-sync{
  align-self:flex-end;
  margin-top:5px;
  padding:5px 11px;
  min-height:0;
  border:1px solid #744091;
  border-radius:9px;
  background:#321547;
  color:#d38aff;
  font-size:12px;
  line-height:1.15;
  font-weight:800;
  white-space:nowrap;
}
.header-airtable-sync:disabled{opacity:.72}
@media(max-width:480px){
  .header-airtable-sync{margin-top:4px;padding:5px 9px;font-size:11px}
}
