/* Shared visual contract. Keep page-specific layouts in their owning stylesheet. */
:root {
  --ui-action-font:600 13px/1.4 var(--font-body);
  --ui-label-font:400 11px/1.5 var(--mono);
  --ui-control-radius:8px;
  --ui-panel-radius:12px;
  --ui-control-height:44px;
  --ui-primary:#c5f45b;
  --ui-primary-ink:#17201c;
  --control-font:var(--ui-action-font);
}
/* Actions use sentence case; metadata and column headings retain the label face. */
body :is(button,a.button,.project-add-crew>summary,.settings-menu>summary,.event-setup-menu>summary,.calendar-menu>summary,.crew-add-menu>summary,.delivery-help>summary) {
  font:var(--ui-action-font)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body :is(button,a.button,.project-add-crew>summary,.settings-menu>summary,.event-setup-menu>summary,.calendar-menu>summary) {
  border-radius:var(--ui-control-radius);
}
body :is(.actions,.topline,.hero,.finance-actions,.settings-hub-tabs,.project-filters,.event-nav,.edit-tabs,.agreement-row,.locker-add,.editor-actions) > :is(button,a.button):not([data-close-icon]):not(.icon-button) {
  min-height:var(--ui-control-height)!important;
  padding:10px 16px!important;
}
body :is(button.primary,a.button.primary),
body .event-workspace button.primary {
  background:var(--ui-primary)!important;
  border-color:var(--ui-primary)!important;
  color:var(--ui-primary-ink)!important;
}
body :is(button.primary,a.button.primary):hover:not(:disabled) {
  background:#d6ff83!important;
  border-color:#d6ff83!important;
}
body :is(button,a.button):disabled {opacity:.5;cursor:default}
body :is(button,a.button,summary,input,select,textarea):focus-visible {
  outline:2px solid var(--accent);
  outline-offset:3px;
}
/* Sort controls are part of the list header, not full-size action buttons. */
body #app :is(.project-list-head,.directory-column-head,.project-crew-head,.crew-edit-head,.edit-column-head,.workspace-event-head,.client-visibility-head,.agreement-table-head) button {
  font:400 var(--table-label,10px)/1.5 var(--mono)!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  padding:0;min-height:0;border-radius:0;
}
/* One X with a useful hit area. Removal actions retain their own descriptive label. */
body button[data-close-icon],body dialog button[data-close-icon] {
  position:relative;display:inline-grid;place-items:center;flex:0 0 44px;
  width:44px;height:44px;min-width:44px;min-height:44px;
  padding:0!important;font-size:0!important;line-height:1!important;
  border:1px solid var(--line);border-radius:var(--ui-control-radius);
}
body button[data-close-icon]::before,body button[data-close-icon]::after {
  content:'';position:absolute;left:50%;top:50%;width:16px;height:1.5px;
  background:currentColor;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg);
}
body button[data-close-icon]::after {transform:translate(-50%,-50%) rotate(-45deg)}
body button[data-close-icon]>svg {display:none}
/* Form controls match the action face without applying uppercase to user content. */
body :is(#app,dialog) :is(.styled-select-trigger,select:not(.styled-select-native)) {
  font:400 14px/1.5 var(--font-body)!important;
  letter-spacing:0!important;text-transform:none!important;
  border-radius:var(--ui-control-radius);
}
body :is(#app,dialog) :is(input[type=search],.project-toolbar input,.event-toolbar input,.client-filters input) {
  font:400 14px/1.5 var(--font-body);letter-spacing:0;text-transform:none;
}
body :is(#app,dialog) :is(input,textarea)::placeholder {font:inherit;letter-spacing:0;text-transform:none}
body :is(.styled-select-options,.settings-menu-panel,.project-add-crew-options,.event-setup-options,.calendar-options) {
  border:1px solid var(--line);border-radius:var(--ui-control-radius);
  background:var(--surface);padding:6px;box-shadow:0 12px 32px #0003;
}
body :is(.styled-select-options,.settings-menu-panel,.project-add-crew-options,.event-setup-options,.calendar-options) :is(button,a.button) {
  min-height:40px;padding:10px 12px;text-align:left;justify-content:flex-start;
}
/* Shared panels and modal typography, with player/layout-specific geometry intact. */
body #app :is(.card,.card.dark) {background:var(--surface);border-color:var(--line);border-radius:var(--ui-panel-radius)}
body dialog:not(.moorhouse-review-dialog) {background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-panel-radius)}
body dialog:not(.moorhouse-review-dialog) > .topline,
body dialog:not(.moorhouse-review-dialog) > form > .topline {align-items:center;gap:16px;margin-bottom:20px}
body dialog:not(.moorhouse-review-dialog) :is(.topline,.review-dialog-heading) h2 {font:650 24px/1.2 var(--font-heading);letter-spacing:-.035em;margin:0}
body dialog:not(.moorhouse-review-dialog) form > .actions,
body dialog:not(.moorhouse-review-dialog) > .actions {display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin-top:20px}
body dialog:not(.moorhouse-review-dialog) form > button.primary {display:flex;margin:20px 0 0 auto;min-height:44px;padding:10px 16px}
body :is(.field,legend) {overflow-wrap:anywhere}
body .settings-hub-content [data-embedded-settings] {background:transparent;border:0;box-shadow:none}
/* Embedded settings use the host's single close control. */
.settings-hub-content :is(.topline,.review-dialog-heading) [data-close-icon] {display:none}
@media(max-width:650px) {
  body :is(#app,dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),textarea,select:not(.styled-select-native)) {font-size:16px!important}
  body :is(.settings-menu-panel,.project-add-crew-options,.event-setup-options,.calendar-options,.styled-select-options) :is(button,a.button) {min-height:44px}
  body dialog:not(.moorhouse-review-dialog) :is(.topline,.review-dialog-heading) h2 {font-size:21px}
}
@media(prefers-reduced-motion:reduce) {
  body :is(button,a.button,.styled-select-trigger) {transition:none}
}
body :is(.crew-nav-menu,.directory-menu,.crew-edit-menu)>summary {font:var(--ui-action-font)!important;letter-spacing:0!important;text-transform:none!important;border-radius:var(--ui-control-radius)}
body :is(.settings-hub-tabs button[aria-pressed=true],.tabs .selected,.filter.active,.filter.selected,.event-nav button.active,.edit-tabs button.active) {background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-primary-ink)}
body .payment-dialog form>.primary {width:auto}
body .agreement-sign>.actions {background:var(--surface);padding:16px 0 0;border-top:1px solid var(--line)}
body :is(.directory-menu,.crew-edit-menu)>summary {display:grid;place-items:center;min-width:36px;width:36px;height:36px;padding:0;border:1px solid var(--line)}
body :is(.directory-menu,.crew-edit-menu)>summary span {font:600 20px/1 Arial,sans-serif;transform:translateY(-3px)}
body .directory-menu-panel {background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 12px 32px #0003}
body .directory-menu-panel button {min-height:40px;padding:10px 12px}
@media(max-width:650px){body :is(.directory-menu,.crew-edit-menu)>summary {min-width:44px;width:44px;height:44px}body .directory-menu-panel button{min-height:44px}}
/* Body copy and subheads follow one scale; collection titles keep their compact rules. */
#app :where(.card,.section,.banner) p {font:400 14px/1.6 var(--font-body);letter-spacing:0}
#app :where(.card,.section) h3 {font:650 18px/1.3 var(--font-heading);letter-spacing:-.02em}

/* Menu triggers share the regular action dimensions. */
body :is(.project-add-crew,.settings-menu,.event-setup-menu,.calendar-menu,.crew-add-menu,.crew-nav-menu)>summary {
  min-height:44px!important;padding:10px 16px!important;box-sizing:border-box;
}
body #header-actions .settings-menu>summary {height:44px}
/* Secondary disclosures use the same right-aligned expand/collapse marker. */
body :is(.project-summary-notes,.crew-update-details,.camera-notes,.edit-context,.edit-history,.edit-agenda-import,.delivery-editor,.payment-history,.frame-setup,.pay-details)>summary,
body .gear-kit-row>details>summary,
body .event-shot>details>summary {
  display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;
  font:400 11px/1.5 var(--mono);letter-spacing:.02em;
}
body :is(.project-summary-notes,.crew-update-details,.camera-notes,.edit-context,.edit-history,.edit-agenda-import,.delivery-editor,.payment-history,.frame-setup,.pay-details)>summary::-webkit-details-marker,
body .gear-kit-row>details>summary::-webkit-details-marker,
body .event-shot>details>summary::-webkit-details-marker {display:none}
body :is(.project-summary-notes,.crew-update-details,.camera-notes,.edit-context,.edit-history,.edit-agenda-import,.delivery-editor,.payment-history,.frame-setup,.pay-details)>summary::after,
body .gear-kit-row>details>summary::after,
body .event-shot>details>summary::after {content:'+';margin-left:auto;color:var(--accent);font:16px/1 var(--mono)}
body :is(.project-summary-notes,.crew-update-details,.camera-notes,.edit-context,.edit-history,.edit-agenda-import,.delivery-editor,.payment-history,.frame-setup,.pay-details)[open]>summary::after,
body .gear-kit-row>details[open]>summary::after,
body .event-shot>details[open]>summary::after {content:'−'}

body :is(.crew-checklist-section,.crew-edit-section)>summary {display:flex;align-items:center;gap:12px;list-style:none}
body :is(.crew-checklist-section,.crew-edit-section)>summary::-webkit-details-marker {display:none}
body :is(.crew-checklist-section,.crew-edit-section)>summary :is(.checklist-chevron,.crew-section-chevron) {display:none}
body :is(.crew-checklist-section,.crew-edit-section)>summary::after {content:'+';margin-left:auto;color:var(--accent);font:16px/1 var(--mono)}
body :is(.crew-checklist-section,.crew-edit-section)[open]>summary::after {content:'−'}

body :is(#app,dialog) hr {border:0;border-top:1px solid var(--line);margin:20px 0}

/* Phone coverage is a compact working list, with full-size touch controls. */
@media(max-width:650px){
 body #app .event-workspace .coverage-checklist .event-shot{padding:12px 14px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:var(--paper)!important}
 body #app .event-workspace .coverage-checklist .event-shot h3{font:600 16px/1.3 var(--font-body)!important;margin:8px 0 4px!important;letter-spacing:0}
 body #app .event-workspace .coverage-checklist .event-shot p{font-size:13px!important;margin:4px 0!important;line-height:1.4!important}
 body #app .event-workspace .coverage-checklist .event-shot>.actions{margin:0!important}
 body #app .event-workspace .coverage-checklist .event-shot>details{display:inline-block;vertical-align:top;width:calc(100% - 135px);margin:0!important}
 body #app .event-workspace .coverage-checklist .event-shot>details[open]{display:block;width:100%}
 body #app .event-workspace .coverage-checklist .event-shot>details>summary{font:400 13px/1.4 var(--font-body)!important;letter-spacing:0;text-transform:none;min-height:44px;padding:12px 0!important}
 body #app .event-workspace .coverage-checklist .event-shot>[data-edit-shot]{display:inline-flex;float:right;margin:0!important;padding:10px!important;min-height:44px;font-size:12px!important}
 body #app .event-workspace .coverage-checklist .event-shot::after{content:'';display:block;clear:both}
 body #app .event-workspace>.hero p{font:400 12px/1.4 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important}
 body #app .event-secondary-filters>summary{font:400 14px/1.4 var(--font-body)!important;text-transform:none!important;letter-spacing:0!important}
}

/* Project crew rows: identity above a consistent call-time/action row on phones. */
@media(max-width:750px){
 body #app .project-crew-list .compact-member>summary.unified-member-summary{
  grid-template-columns:minmax(0,1fr) auto 24px;grid-template-rows:auto auto auto;
  gap:4px 10px;padding:14px!important;align-items:center;
 }
 body #app .project-crew-list .member-summary .crew-title{grid-column:1/3;grid-row:1;display:flex;gap:10px;align-items:center}
 body #app .project-crew-list .member-summary .avatar{width:30px;height:30px;flex:0 0 30px;margin:0;font-size:12px}
 body #app .project-crew-list .member-summary .member-heading{display:block;min-width:0}
 body #app .project-crew-list .member-summary h3{font-size:15px!important;line-height:1.35!important;margin:0!important;overflow-wrap:anywhere}
 body #app .project-crew-list .member-summary>.member-role{grid-column:1/3;grid-row:2;margin:0 0 8px 40px;font-size:12px!important;line-height:1.4;white-space:normal}
 body #app .project-crew-list .member-summary .member-chevron{grid-column:3;grid-row:1/3;align-self:start;display:flex;justify-content:center;align-items:center;min-height:44px;margin-top:-5px}
 body #app .project-crew-list .member-summary .member-call{grid-column:1;grid-row:3;margin:0;min-width:0;width:auto;text-align:left;white-space:normal;font-size:13px!important;line-height:1.35}
 body #app .project-crew-list .member-summary .member-call::before{content:'Call time';display:block;font-size:10px;color:var(--muted);margin-bottom:3px}
 body #app .project-crew-list .member-summary .member-call-sheet{grid-column:2/4;grid-row:3;justify-self:end;align-self:center;margin:0!important;max-width:none;width:auto;min-height:44px!important;padding:10px 12px!important;font-size:13px!important;white-space:nowrap}
}

/* Finance totals remain readable as compact ledger rows on phones. */
@media(max-width:650px){
 body #app .unified-finances{padding:16px!important}
 body #app .unified-finances>.topline{align-items:flex-start;gap:8px;margin-bottom:12px!important}
 body #app .unified-finances h2{font-size:20px!important;margin:0!important;text-align:left}
 body #app .unified-finances .finance-actions{gap:8px;margin:0}
 body #app .unified-finances .finance-actions button{min-height:44px;padding:10px 12px!important;font-size:13px!important}
 body #app .unified-finances .budget-summary{display:block!important;margin:12px 0!important;border:0!important}
 body #app .unified-finances .budget-summary>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0!important;border-bottom:1px solid var(--line);min-width:0}
 body #app .unified-finances .budget-summary small{font:400 11px/1.4 var(--font-body)!important;text-transform:none!important;letter-spacing:0!important;overflow-wrap:normal}
 body #app .unified-finances .budget-summary strong{font:400 17px/1.3 var(--font-body)!important;font-variant-numeric:tabular-nums!important;margin:0!important;white-space:nowrap!important;overflow-wrap:normal!important;text-align:right}
 body #app .unified-finances .wave-budget-note{font-size:12px!important;line-height:1.45!important;margin:12px 0!important}
 body #app .unified-finances>details{margin:0!important}
 body #app .unified-finances>details>summary{min-height:44px;padding:12px 0!important;font-size:12px!important}
}

@media(max-width:650px){
 body #app .edit-hero .edit-header-actions{display:grid;grid-template-columns:1fr;width:100%;gap:8px;align-self:stretch}
 body #app .edit-hero .edit-header-actions>:is(button,a){width:100%;justify-content:center;margin:0!important}
 body #app .edit-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:16px 0}
 body #app .edit-tabs button{min-width:0;min-height:44px;padding:10px 3px!important;font-size:12px!important;white-space:nowrap;text-align:center}
 body #app .edit-agenda-import{padding:0!important;border:0;border-radius:0;background:transparent;margin:8px 0 16px}
 body #app .edit-agenda-import>summary{padding:10px 0!important;min-height:44px;font:400 13px/1.4 var(--font-body)!important;letter-spacing:0;text-transform:none;border-bottom:1px solid var(--line)}
 body #app .edit-list-details>summary.edit-list-row{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:14px!important;align-items:start}
 body #app .edit-list-row .edit-list-title{grid-column:1;grid-row:1;min-width:0}
 body #app .edit-list-row .edit-list-title h3{font-size:15px!important;line-height:1.35!important;overflow-wrap:anywhere}
 body #app .edit-list-row .edit-list-status{grid-column:2;grid-row:1;justify-self:end;max-width:105px}
 body #app .edit-list-row .edit-list-status .edit-status{font-size:10px!important;line-height:1.3!important;padding:5px 7px!important;white-space:normal;text-align:center}
 body #app .edit-list-row .edit-list-group{grid-column:1/3;grid-row:2;font-size:12px!important}
 body #app .edit-list-row .edit-list-editor{grid-column:1/3;grid-row:3;font-size:13px!important}
 body #app .edit-list-row .edit-list-deadline{grid-column:1/3;grid-row:4;white-space:nowrap;padding-right:24px;margin-top:3px;font-size:12px!important}
 body #app .edit-list-row>.workspace-row-toggle{grid-column:2;grid-row:4;justify-self:end;align-self:center}
}

.settings-mobile-picker{display:none}
/* Shared phone dialog layout. Keep all controls reachable without horizontal scrolling. */
@media(max-width:650px){
 body dialog:not(.moorhouse-review-dialog){box-sizing:border-box;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;margin:auto;padding:16px!important;overflow-y:auto;overscroll-behavior:contain}
 body dialog :is(form,fieldset,.field,.form-grid,.styled-select){min-width:0;max-width:100%;box-sizing:border-box}
 body dialog fieldset{margin-inline:0;padding:12px}
 body dialog:not(.moorhouse-review-dialog) :is(h2,.topline h2){font-size:20px!important;line-height:1.25!important;margin-top:0;overflow-wrap:anywhere}
 body dialog:not(.moorhouse-review-dialog) h3{font-size:17px!important;line-height:1.3}
 body dialog:not(.moorhouse-review-dialog) :is(p,.muted){font-size:13px;line-height:1.5;overflow-wrap:anywhere}
 body dialog:not(.moorhouse-review-dialog) :is(>.topline,>form>.topline){display:flex;flex-wrap:nowrap;align-items:flex-start;gap:12px;margin-bottom:16px}
 body dialog .topline>h2{flex:1;min-width:0}
 body dialog .topline>[data-close],body dialog .topline>[data-close-icon]{flex-shrink:0}
 body dialog :is(.form-grid,.compensation-grid,.event-block-fields,.travel-reward-row,.assignment-gear-add,.gear-add-row){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 body dialog .form-grid>.field{grid-column:1!important;grid-row:auto!important}
 body dialog .field{gap:6px!important;margin-bottom:12px;font-size:12px!important;letter-spacing:.025em;line-height:1.4}
 body dialog .form-grid>.field{margin-bottom:0}
 body dialog input:not([type=checkbox]):not([type=radio]):not([type=color]),body dialog textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font-size:16px!important;line-height:1.4!important;padding:10px 12px!important}
 body dialog input:not([type=checkbox]):not([type=radio]):not([type=color]){min-height:44px;height:auto!important}
 body dialog textarea{min-height:80px}
 body dialog :is(select,.styled-select-trigger){min-height:44px;font-size:16px!important;white-space:normal}
 body dialog .styled-select-options{max-width:100%;max-height:240px;overflow:auto}
 body dialog .styled-select-options button{white-space:normal;overflow-wrap:anywhere}
 body dialog :is(.actions,.editor-actions){display:flex;flex-wrap:wrap;gap:8px!important;margin-top:16px!important;padding-inline:0!important}
 body dialog :is(.actions,.editor-actions)>:is(button,a.button):not([data-close-icon]){flex:1 1 110px;min-width:0;min-height:44px!important;padding:10px 12px!important;text-align:center;justify-content:center;white-space:normal}
 body dialog .assignment-gear-filters{grid-template-columns:minmax(0,1fr)!important;gap:8px}
 body dialog #project-form .day-edit{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
 body dialog #project-form .day-edit>*{grid-column:1!important;grid-row:auto!important;min-width:0}
 body dialog .agreement-facts>div{grid-template-columns:90px minmax(0,1fr);gap:10px}
 body dialog .agreement-document{padding:12px!important}
 body dialog .agreement-facts dd{overflow-wrap:anywhere}
 body dialog.settings-hub{display:flex;flex-direction:column;gap:12px;height:calc(100dvh - 24px)!important;overflow:hidden}
 body dialog.settings-hub>.topline{margin-bottom:0}
 body dialog.settings-hub>.settings-hub-tabs{display:none!important}
 body dialog.settings-hub>.settings-mobile-picker{display:block!important;width:100%;flex-shrink:0;margin:0}
 body dialog.settings-hub>.settings-hub-content{min-height:0;flex:1;overflow:auto;padding-top:12px}
 body .settings-hub-content>[data-embedded-settings]{padding:0!important;width:100%!important;min-width:0;max-width:none}
 body .settings-hub-content>[data-embedded-settings] h2{font-size:17px!important}
 body dialog .event-preview ul{padding-left:18px}
 body dialog .event-crew-choice{min-height:44px;align-items:center;font-size:14px;gap:10px}
 body dialog .frame-picker-list>button{white-space:normal;overflow-wrap:anywhere;min-width:0}
 body dialog .frame-picker-list small{white-space:normal}
 body #app .locker-filters{grid-template-columns:minmax(0,1fr)!important;gap:8px}
 body #app .locker-content-heading{flex-wrap:wrap;gap:10px}
 body #app .agreement-table .agreement-row{grid-template-columns:minmax(0,1fr);gap:8px}
 body #app .agreement-table .agreement-row button{justify-self:stretch;width:100%}
 body #app .directory-contact a{overflow-wrap:anywhere}
 body #app .review-dialog-grid,body .moorhouse-review-dialog .review-dialog-grid{min-width:0}
}

/* Keep invoice amounts intact on narrow phones. */
@media(max-width:650px){
 body dialog .wave-picker-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 10px}
 body dialog .wave-picker-option>span{min-width:0;overflow-wrap:anywhere}
 body dialog .wave-picker-option>strong,#app .wave-invoice-row>strong{white-space:nowrap;font-size:13px;font-variant-numeric:tabular-nums}
}

@media(max-width:650px){
 body dialog.agreement-dialog textarea[name=terms]{height:160px;min-height:120px}
}

/* Post filters share the grouped navigation treatment. */
body #app .edit-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
body #app .edit-tabs button{min-width:0;min-height:44px;padding:8px 4px!important;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:500;white-space:nowrap}
body #app .edit-tabs button:is(.primary,.active,[aria-pressed=true]){background:var(--ui-primary);color:var(--ui-primary-ink)}

/* Directory: clear identity, status and a deliberate action area. */
body #app .directory-column-list{border:1px solid var(--line);border-radius:10px;background:var(--surface)}
body #app .directory-column-list .directory-column-head{background:var(--surface);border-radius:9px 9px 0 0}
body #app .directory-column-list .directory-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:none;margin:0}
body #app .directory-column-list .directory-tools>button{width:100%;min-height:44px;font-size:13px;padding:10px 12px}
body #app .directory-column-list .directory-menu{grid-column:1/-1;justify-self:stretch}
body #app .directory-menu>summary{display:flex;justify-content:center;align-items:center;width:auto;min-height:44px;height:auto;padding:8px 12px;box-sizing:border-box;font:400 13px/1.4 var(--font-body);border:1px solid var(--line);border-radius:7px;list-style:none}
body #app .directory-menu>summary::after{display:none}
body #app .directory-menu-panel{width:100%;box-sizing:border-box;top:50px;background:var(--surface)}
@media(max-width:1000px){
 body #app .directory-column-list .directory-column-head{display:flex;padding:12px 16px;border-bottom:1px solid var(--line)}
 body #app .directory-column-head>span{display:none}
 body #app .directory-column-head>span:first-child{display:block}
 body #app .directory-column-head [data-directory-sort]{font-size:11px;min-height:24px;padding:0;border:0;background:transparent;color:var(--muted)}
 body #app .directory-column-list .directory-row{padding:16px;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
 body #app .directory-column-list .directory-role-column,body #app .directory-column-list .directory-contact{grid-column:1/-1;margin-left:40px}
 body #app .directory-column-list .directory-tools{grid-column:1/-1;margin:6px 0 0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body #app .directory-column-list .directory-row:last-child{border-radius:0 0 9px 9px}
}

body #app .directory-menu>summary>span{font:400 13px/1.4 var(--font-body)!important;letter-spacing:0}

body #app .profile-access-actions{margin-top:24px;padding:20px 0;border-top:1px solid var(--line)}
body #app .profile-access-actions h3{font-size:18px;margin:0 0 8px}
body #app .profile-access-actions .actions{display:flex;gap:8px;flex-wrap:wrap}
body #app .profile-access-actions .actions button{min-height:44px;flex:1 1 160px}

body #app #profile-form .profile-notes{grid-column:1/-1!important;grid-row:auto!important;width:100%}
body #app #profile-form .profile-notes textarea{width:100%;box-sizing:border-box}
body #app #profile-form .profile-gear[hidden]{display:none!important}

@media(max-width:650px){body #app .crew-call-location .crew-arrival{display:flex;width:100%}body #app .crew-call-location .crew-arrival>a.button{width:100%;flex:1;box-sizing:border-box;justify-content:center}}

@media(max-width:650px){
 body header{max-width:100%;min-width:0}body #header-actions{min-width:0;flex-shrink:0}
 body #app .event-workspace,body #app #event-content,body #app .workspace-event-list{width:100%;max-width:100%;min-width:0}
 body #app .event-workspace :is(.event-toolbar,.event-secondary-filters,.styled-select,.workspace-event-summary,.workspace-event-title){min-width:0;max-width:100%}
 body #app .workspace-room-list .workspace-event-summary{grid-template-columns:minmax(0,1fr) 24px!important}
 body #app .workspace-room-list .workspace-event-summary>span{grid-column:1;white-space:normal;overflow-wrap:anywhere}
 body #app .workspace-room-list .workspace-event-title{grid-column:1;min-width:0}
 body #app .event-workspace .workspace-sort{max-width:100%;min-width:0}
 body #app .event-workspace .workspace-sort .styled-select{min-width:0;flex:1}
}

@media(max-width:650px){body #app .coverage-checklist .event-shot{min-width:0;max-width:100%;overflow-wrap:anywhere}body #app .today-panel .today-item>button{width:100%;min-width:0}body #app .today-panel .today-item{min-width:0}}

@media(max-width:650px){body #app .workspace-room-list .workspace-event-summary>.workspace-row-toggle{grid-column:2!important;grid-row:1/4!important;align-self:center}body #app .workspace-room-list .workspace-event-title{grid-row:1}body #app .workspace-room-list .workspace-event-summary>span:not(.workspace-row-toggle){grid-row:auto}}

.ui-arrow-icon{display:inline-flex;vertical-align:-3px;width:16px;height:16px;flex:0 0 16px}.ui-arrow-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body #app .my-work .edit-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){body #app .my-work>.topline{display:flex;align-items:center;justify-content:space-between;gap:12px}body #app .my-work>.topline h2{margin:0}body #app .my-work .edit-tabs button{font-size:12px!important;min-height:44px}body #app .my-work-actions{display:flex;width:100%;gap:8px}body #app .my-work-actions button{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px}}

body details>summary{list-style:none}body details>summary::-webkit-details-marker{display:none}body details>summary::marker{content:''}body details>summary::after{content:'+'!important;transform:none!important;color:var(--muted)}body details[open]>summary::after{content:'−'!important;color:var(--accent)}body details>summary>.checklist-chevron,body details>summary>.editor-detail-state,body details>summary>span[aria-hidden="true"]{display:none!important}
body .styled-select-trigger::after{content:'+'!important;transform:none!important}body .styled-select-trigger[aria-expanded="true"]::after{content:'−'!important}
/* Checkbox controls share the shot-list circle; capture controls retain their larger companion circle. */
body input[type="checkbox"]:not(.shoot-capture-check input){appearance:none;-webkit-appearance:none;box-sizing:border-box;width:22px!important;height:22px!important;min-width:22px;min-height:22px!important;flex:0 0 22px;padding:0!important;border:2px solid var(--muted)!important;border-radius:50%!important;background-color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='%23858e91' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-size:16px 16px!important;background-position:center!important;background-repeat:no-repeat!important;vertical-align:middle;cursor:pointer}
body input[type="checkbox"]:not(.shoot-capture-check input):checked{background-color:var(--accent)!important;border-color:var(--accent)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='%230d1011' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}
body input[type="checkbox"]:not(.shoot-capture-check input):indeterminate{background-color:var(--accent)!important;border-color:var(--accent)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 12h10' stroke='%230d1011' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important}
body input[type="checkbox"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}
@media(forced-colors:active){body input[type="checkbox"]:not(.shoot-capture-check input){appearance:auto;-webkit-appearance:auto;background-image:none!important}}

.account-view-switcher{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;margin:8px 0}.account-view-switcher button{flex:1;min-width:0;padding:10px 8px;font-size:11px}.account-view-switcher button[aria-pressed="true"]{background:var(--accent);color:var(--paper)}

/* View tabs override the menu’s left-aligned full-width action buttons. */
body .settings-menu-panel .account-view-switcher{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;box-sizing:border-box}
body .settings-menu-panel .account-view-switcher>button{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-width:0;padding:10px 8px;white-space:nowrap}

/* Shared spacing for action icons and labels on every operational page. */
body :is(button,a.button){gap:10px}
body :is(.actions,.hero>.actions){gap:10px}
body #app .back{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;margin-top:-6px;position:relative;top:0}
body #app .back .ui-back-arrow{flex:0 0 auto;line-height:1}
