/* Shared interface styles. Page-specific layouts stay in their own stylesheets. */
@media screen {
  html { overflow-y: scroll; scrollbar-gutter: stable; }
}
:root {
  --bg: #f3f6fa;
  --line: #dfe6ef;
  --muted: #65748a;
  --radius: 14px;
  --control-radius: 8px;
}

.panel, .stat {
  box-shadow: 0 2px 8px #18243404;
}
.page-heading { align-items: flex-start; gap: 20px; margin-bottom: 26px; }
.page-heading h1 { font-size: clamp(28px, 2.5vw, 36px); letter-spacing: -1px; }
.page-heading .muted { max-width: 80ch; line-height: 1.65; }
.page-heading > .button, .page-heading > .heading-actions { margin-top: 4px; }
.heading-actions, .form-actions { flex-wrap: wrap; gap: 10px; }
.section-title { flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.section-title h2, .section-heading h2 { font-size: 18px; line-height: 1.4; }
.section-heading { align-items: flex-start; gap: 14px; }
.section-number { border-radius: var(--control-radius); background: #f6f9fc; }
.count { padding: 2px 8px; border-radius: 6px; background: #edf2f7; color: #52647b; }

.button {
  min-height: 44px;
  padding: 10px 16px;
  border-radius: var(--control-radius);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 650;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.button.secondary { border-color: #cdd8e5; color: #3e516b; }
.button.secondary:hover { background: #f0f6fb; border-color: #a8bdcf; }
.button:disabled { background: #e8edf3; border-color: #d7dfe8; color: #78869a; cursor: not-allowed; }
.button:focus-visible, .text-button:focus-visible, main a:focus-visible, main summary:focus-visible {
  outline: 2px solid var(--accent-focus);
  outline-offset: 3px;
}
.text-button { min-height: 32px; display: inline-flex; align-items: center; font-size: 12px; }
.text-button.danger { color: #a33434; }

main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
main select, main textarea {
  border-color: #ccd7e4;
  border-radius: var(--control-radius);
  background: #fff;
  min-height: 44px;
  font-size: 14px;
  transition: border-color .15s, box-shadow .15s;
}
main textarea { min-height: 96px; }
main input:focus, main select:focus, main textarea:focus {
  outline: none;
  border-color: var(--accent-focus);
  box-shadow: 0 0 0 3px #1682b11a;
}
main input:disabled, main select:disabled, main textarea:disabled {
  background: #f1f4f8;
  color: #78869a;
}
main input[readonly], main textarea[readonly] { background: #f7f9fc; }
main label { color: #465972; line-height: 1.5; }
/* Checkboxes must not inherit the full-width text field layout. */
main input[type="checkbox"] {
  display: inline-block;
  width: 16px;
  height: 16px;
  min-width: 16px;
  min-height: 0;
  flex: 0 0 16px;
  padding: 0;
  margin: 0;
}
main label:has(> input[type="checkbox"]) {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
}
main label > input[type="checkbox"] { margin: 1px 0 0; }
.helper, .inline-empty { line-height: 1.65; }
.form-grid { gap: 18px 20px; }
/* Row actions align with their controls, not with the labels above them. */
main :is(.schedule-staff-row,.template-row,.template-picker,.editor-period,.transport-calendar-filters) > .button {
  align-self: flex-end;
}
main .form-grid > :is(.button,.form-actions) { align-self: end; }
main .section-heading:has(> .button) { align-items: center; }
main .section-heading:has(> .button) > :is(h2,h3) { margin: 0; }
main .section-heading > .button { align-self: center; }
.stack { gap: 20px; }
.inset-form { gap: 14px; }
.form-actions { padding-top: 18px; border-top: 1px solid var(--line); }

/* Native disclosures retain their accessible keyboard interaction. */
main .panel > details:not(.package-disclosure) > summary,
main .contact > details > summary,
main .billing-gig > details > summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid #cdd8e5;
  border-radius: var(--control-radius);
  background: #f7fafd;
  color: var(--accent-text);
  line-height: 1.5;
}
main .panel > details:not(.package-disclosure) > summary:hover,
main .contact > details > summary:hover,
main .billing-gig > details > summary:hover { background: var(--accent-soft); }
.package-disclosure { margin-top: 0; }
.package-disclosure > summary { width: 100%; min-height: 44px; padding: 0; }
.package-disclosure > summary h2 { font-size: 16px; line-height: 1.4; }
.package-disclosure > summary .package-disclosure-arrow { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.package-disclosure[open] > summary { margin-bottom: 14px; }
.collapsible-content > .package-disclosure { margin-top: 18px; padding-top: 12px; border-top: 1px solid var(--line); }
.collapsible-content > .package-disclosure > summary h2 { font-size: 14px; }
.alert { border-radius: 10px; line-height: 1.6; }
.alert ul { padding-left: 18px; }
.table-wrap tbody tr:hover { background: #f8fbfe; }
/* Table actions share the row baseline; disclosures must not add section spacing. */
main td { vertical-align: middle; }
main td details { margin-top: 0; }
main td > form { margin-top: 0; margin-bottom: 0; }
main td > details > summary { font-size: inherit; line-height: inherit; }
.tabs a { min-height: 48px; }
.client-gigs { margin-top: 24px; }
.client-gigs .list-header { flex-wrap: wrap; gap: 8px; }
.client-list-table td, .client-gigs td { overflow-wrap: anywhere; }
.client-list-table { white-space: normal; }
.client-picker { position: relative; min-width: 0; }
.client-picker-options { position: absolute; top: 74px; left: 0; right: 0; z-index: 15; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; padding: 5px; border: 1px solid #ccd7e4; border-radius: 9px; background: #fff; box-shadow: 0 8px 24px #18243420; }
.client-picker-options[hidden] { display: none; }
.client-picker-options [role="option"] { padding: 11px 12px; border-radius: 6px; cursor: pointer; overflow-wrap: anywhere; min-height: 52px; }
.client-picker-options [role="option"]:hover, .client-picker-options [aria-selected="true"] { background: var(--accent-soft); }
.client-picker-options strong, .client-picker-options small { display: block; }
.client-picker-options strong { font-size: 13px; }
.client-picker-options small { font-size: 11px; color: var(--muted); }
.client-picker .helper { font-size: 11px; margin: 6px 0 0; }

@media (max-width: 680px) {
  .client-list-table, .client-list-table tbody { display: block; width: 100%; }
  .client-list-table thead { display: none; }
  .client-list-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 16px; border-bottom: 1px solid var(--line); }
  .client-list-table td { display: block; padding: 0; min-width: 0; border: 0; }
  .client-list-table td:first-child, .client-list-table td:nth-child(2) { grid-column: 1 / -1; }
  .client-list-table td[data-label]::before { content: attr(data-label); display: block; color: var(--muted); font-size: 11px; margin-bottom: 3px; }
  .panel:where(:not(.list-panel):not(.billing-client)) { padding: 20px; }
  .page-heading { gap: 14px; margin-bottom: 22px; }
  .page-heading .heading-actions { width: 100%; margin-top: 0; }
  .heading-actions .button { flex: 1 1 140px; white-space: normal; text-align: center; }
  .form-actions .button { flex: 1 1 140px; white-space: normal; }
  .form-grid { gap: 16px; }
  main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  main select, main textarea { font-size: 16px; }
  main input::placeholder, main textarea::placeholder { font-size: 14px; }
  main .text-button { min-height: 40px; }
  .inset-form .button, .comment-form .button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .button, main input, main select, main textarea { transition: none; }
}
@media print {
  .panel, .stat { box-shadow: none; }
}
.personnel-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}
.personnel-card{border:1px solid var(--line);border-radius:10px;padding:20px;margin-top:16px;overflow-wrap:anywhere}
.personnel-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.personnel-card-heading h3{font-size:16px;margin:0 0 4px}
.personnel-card-heading p{font-size:12px;margin:0}
.personnel-card-info{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:18px 0 0}
.personnel-card-info dt{font-size:11px;color:var(--muted);margin-bottom:3px}
.personnel-card-info dd{font-size:13px;margin:0}
.personnel-linked-account{grid-column:1/-1}
.personnel-card>details{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.personnel-card .helper{margin:0}
@media(max-width:600px){.personnel-card{padding:16px}.personnel-card-heading{flex-direction:column;gap:10px}.personnel-card-info{grid-template-columns:1fr}.personnel-toolbar .button{flex:1 1 180px}}
.freelancer-home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;margin-bottom:24px}
.freelancer-next h2{font-size:24px;line-height:1.3;margin-bottom:12px}
.freelancer-next-time{font-size:18px;font-weight:600;margin-bottom:24px}
.freelancer-home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.freelancer-notices .contact:first-of-type{padding-top:0}
.freelancer-notices>.text-link{display:inline-block;margin-top:18px}
.freelancer-shift{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.freelancer-shift>div:first-child{min-width:0}
.freelancer-shift p{margin:6px 0;font-size:13px}
.freelancer-shift small{color:var(--muted)}
.freelancer-shift .freelancer-home-actions{margin:0;flex-shrink:0}
@media(max-width:900px){.freelancer-home-grid{grid-template-columns:1fr}.freelancer-shift{align-items:flex-start;flex-direction:column}.freelancer-shift .freelancer-home-actions{width:100%}.freelancer-shift .button{flex:1}.freelancer-next-time{font-size:16px}.freelancer-upcoming .section-title{flex-wrap:wrap}}
.shift-response-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}
.shift-response-actions .helper{flex-basis:100%;margin:0}
.shift-response-status{display:block;color:var(--muted);font-size:12px;margin:6px 0}
.gig-section-tabs{display:flex;gap:4px;position:sticky;top:0;z-index:12;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--line);margin:0 0 24px;padding:8px 0 0;scrollbar-width:thin}
.gig-section-tabs a{flex:0 0 auto;font-size:13px;font-weight:600;padding:14px 18px;border-bottom:3px solid transparent;color:var(--muted);white-space:nowrap}
.gig-section-tabs a[aria-selected=true]{color:var(--accent-text);border-color:var(--accent)}
.gig-tab-panel{display:grid;gap:24px;min-width:0}
.gig-tab-panel[hidden]{display:none!important}
.gig-tab-panel[data-tab=general]{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.gig-tab-panel[data-tab=general]>#activity{grid-column:1/-1}
.gig-summary-details,.gig-summary-overview{display:grid;gap:24px;min-width:0}
.gig-summary-overview{align-content:start}
.gig-summary-details{align-content:start}
.gig-summary-details>.panel,.gig-summary-overview>.panel{min-width:0;margin:0}
.gig-summary-overview .gig-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gig-summary-overview .gig-overview-grid>div:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px}
.gig-tab-panel>.panel{min-width:0;margin-top:0}
.gig-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gig-overview-grid>div{min-width:0;overflow-wrap:anywhere}
.gig-overview-grid h3{font-size:14px;margin:0 0 16px}
.gig-overview-grid p{font-size:12px;margin-bottom:14px}
.gig-overview-grid strong,.gig-overview-grid span{display:block}
.gig-overview-grid span{color:var(--muted);margin-top:3px}
.gig-tab-panel [id]{scroll-margin-top:85px}
@media(max-width:800px){.gig-section-tabs{margin-bottom:16px}.gig-section-tabs a{padding:12px 14px}.gig-tab-panel,.gig-tab-panel[data-tab=general],.gig-overview-grid{grid-template-columns:1fr;gap:16px}.gig-overview-grid>div+div{border-top:1px solid var(--line);padding-top:18px}.gig-tab-panel .facts{gap:18px}.gig-tab-panel[data-tab=general]>.gig-overview,.gig-tab-panel[data-tab=general]>#activity{grid-column:auto}}
@media(max-width:800px){.gig-summary-details,.gig-summary-overview{gap:16px}.gig-summary-overview .gig-overview-grid{grid-template-columns:1fr}.gig-summary-overview .gig-overview-grid>div:last-child{grid-column:auto}}
.gig-equipment-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.gig-equipment-actions .button{white-space:normal;text-align:center}
@media(max-width:700px){
 #equipment .equipment-grid-scroll{overflow:visible;max-height:none}
 #equipment .gig-equipment-grid{display:block;min-width:0;width:100%;white-space:normal}
 #equipment .gig-equipment-grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 #equipment .gig-equipment-grid tbody{display:block}
 #equipment .gig-equipment-grid tbody>tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;padding:16px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#fff}
 #equipment .gig-equipment-grid td{display:block;padding:0;border:0;min-width:0;width:auto;text-align:left;overflow-wrap:anywhere}
 #equipment .gig-equipment-grid td:first-child{grid-column:1;order:1;font-size:15px;font-weight:600}
 #equipment .gig-equipment-grid td.equipment-grid-quantity{grid-column:2;order:1;font-size:16px;font-weight:700;text-align:right;white-space:nowrap}
 #equipment .gig-equipment-grid td.equipment-grid-quantity::after{content:' kpl';font-size:12px;font-weight:400}
 #equipment .gig-equipment-grid td:nth-child(4){grid-column:1/-1;order:2}
 #equipment .gig-equipment-grid td:nth-child(3){grid-column:1/-1;order:3;font-size:12px;color:var(--muted)}
 #equipment .gig-equipment-grid td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:600;color:var(--muted);margin-bottom:4px}
 #equipment .gig-equipment-grid td.equipment-grid-notes{grid-column:1/-1;order:4;font-size:12px}
 #equipment .gig-equipment-grid td.equipment-grid-notes[data-empty="1"]{display:none}
 #equipment .gig-equipment-grid td.equipment-grid-actions{grid-column:1/-1;order:5;border-top:1px solid var(--line);padding-top:12px}
 #equipment .gig-equipment-grid .equipment-grid-actions>details{margin-top:0}
 #equipment .gig-equipment-grid .equipment-grid-actions details[open]{min-width:0}
 #equipment .gig-equipment-grid .equipment-grid-actions input{width:100%}
 #equipment .gig-equipment-grid .equipment-grid-actions>form{margin-top:12px}
 #equipment .gig-equipment-grid tbody>tr.equipment-category-row{display:block;background:#edf2f7;border:0;border-radius:6px;padding:10px 14px;margin:20px 0 8px}
 #equipment .gig-equipment-grid .equipment-category-row th{display:block;width:auto;padding:0;border:0;background:none;font-size:12px;letter-spacing:0;color:var(--ink)}
}
.gig-list-search-status{min-height:16px;margin:0;padding:0 25px;font-size:11px;line-height:16px}
.gig-list-search-status[hidden]{display:block!important;visibility:hidden}
.gig-summary{position:relative}
.gig-summary-heading{position:absolute;right:0;bottom:100%;margin-bottom:6px}
.gig-summary-heading>span{font-size:11px;white-space:nowrap}
.gig-summary-cards{gap:16px}
.gig-summary .gig-summary-card{display:flex;flex-direction:column;padding:20px 22px;border:1px solid var(--line);transition:border-color .15s,background .15s;text-decoration:none;min-width:0}
.gig-summary-card .gig-summary-label{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);font-weight:600;font-size:13px}
.gig-summary-label .nav-icon{color:var(--accent-text);width:22px;height:22px;flex-shrink:0}
.gig-summary .gig-summary-card strong{font-size:34px;line-height:1.2;margin:16px 0 8px;color:var(--ink)}
.gig-summary-card small{flex:1;line-height:1.5}
.gig-summary-card:hover{background:#f4fbfe;border-color:var(--accent)}
.gig-summary-card[aria-current=page]{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}
.gig-summary-card-compact{display:flex;align-items:center;gap:12px;min-width:0;min-height:56px;margin:0;padding:8px 12px;transition:border-color .15s,background .15s}
.gig-summary-card-compact .gig-summary-label{flex:1;min-width:0}
.gig-summary-card-compact > strong{margin:0;color:var(--ink);font-size:24px;line-height:1.2}
@media(max-width:700px){.gig-summary-card-compact .gig-summary-label .nav-icon{display:none}}
.gig-planning-label{margin:0;padding:0 25px 12px;font-size:12px}
@media(max-width:700px){.gig-summary-heading{display:none}.gig-summary .gig-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gig-summary .gig-summary-card{padding:14px}.gig-summary-card .gig-summary-label{font-size:12px;gap:6px}.gig-summary-label .nav-icon{width:18px;height:18px}.gig-summary .gig-summary-card strong{font-size:28px;margin:10px 0 6px}.gig-summary-card small{font-size:10px}}

/* ScreenCalc */
.screen-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.screen-presets .button{padding:8px 14px}.screen-profile{margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.screen-profile summary{font-weight:600;color:var(--accent-text);cursor:pointer}.screen-profile[open] summary{margin-bottom:14px}.screen-error{color:#a52b2b;background:#fff1f1;border-radius:8px;padding:12px}.led-result-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.led-controls,.led-results{min-width:0}.led-stats .led-stat strong{overflow-wrap:anywhere}@media(max-width:700px){.led-result-heading{flex-wrap:wrap;gap:12px}.led-result-actions{justify-content:flex-start;width:100%}.led-result-actions .button{flex:1}.led-calculator .led-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.led-controls .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.screen-save{padding:16px;margin-bottom:20px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft,#f5f8fc)}.screen-save summary{cursor:pointer;font-weight:600;color:var(--accent-text)}.screen-save[open] summary{margin-bottom:12px}.gig-screens{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.gig-screens h3{margin:0;font-size:14px}.gig-screen{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line)}.gig-screen p{margin:4px 0;font-size:12px}.gig-screen details{max-width:220px}@media(max-width:700px){.gig-screens .section-heading{flex-wrap:wrap}.gig-screen{flex-wrap:wrap}}

.template-picker{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px}.template-picker label{flex:1;min-width:200px}.template-lines{margin-top:24px}.template-lines h3{font-size:15px;margin:0}.template-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.template-row label{flex:1;min-width:140px}.template-list-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.template-list-item h2,.template-list-item p{margin-bottom:6px}@media(max-width:700px){.template-list-item{flex-wrap:wrap}.template-list-item .heading-actions{width:100%}.template-row label{min-width:120px}.template-row>button{width:100%}.template-picker>.button{width:100%}}

/* Template equipment uses the equipment editor layout without reservation controls. */
.template-equipment-editor{margin-top:20px;min-width:0}
.template-equipment-editor .editor-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);margin-bottom:0}
.template-equipment-editor .editor-reservation{grid-template-columns:minmax(0,1fr) auto auto}
.template-equipment-editor .editor-reservation-name strong{font-size:12px}
.template-equipment-editor .editor-folder>summary{overflow-wrap:anywhere}
.template-equipment-editor .editor-message{min-height:36px;margin:0 0 12px;font-size:12px}
.template-equipment-editor .editor-message:empty{display:block;visibility:hidden}
@media(max-width:1100px){.template-equipment-editor .editor-columns{grid-template-columns:1fr 1fr}.template-equipment-editor .editor-item{grid-template-columns:minmax(0,1fr) auto}.template-equipment-editor .editor-item>.editor-inline{grid-column:1/-1;justify-content:flex-end}.template-equipment-editor .editor-reservation{grid-template-columns:minmax(0,1fr) auto}.template-equipment-editor .editor-reservation>[data-template-equipment-remove]{grid-column:1/-1;justify-self:end}}
@media(max-width:760px){.template-equipment-editor .editor-columns{grid-template-columns:1fr}.template-equipment-editor[data-template-panel=selected] .editor-catalogue{display:none}.template-equipment-editor[data-template-panel=catalogue] .editor-reservations{display:none}.template-equipment-editor .editor-mobile-switch{position:static}.template-equipment-editor .editor-item{grid-template-columns:minmax(0,1fr) auto auto}.template-equipment-editor .editor-item>.editor-inline{grid-column:auto}.template-equipment-editor .editor-scroll{max-height:55vh}.template-equipment-editor .editor-reservation{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:12px}.template-equipment-editor .editor-reservation>[data-template-equipment-remove]{grid-column:auto;min-height:40px}.template-equipment-editor .editor-panel-heading h2{font-size:15px}.template-equipment-editor .editor-panel-heading{flex-wrap:wrap}}
.schedule-day{margin:22px 0}.schedule-card{padding:18px;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}.schedule-card-heading{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.schedule-card h3{margin:4px 0 10px;font-size:16px}.schedule-card details{margin-top:12px}.schedule-person,.schedule-need{font-size:12px;margin:8px 0}.schedule-unfilled{color:#9c6500}.schedule-staff-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;border-bottom:1px solid var(--line);padding:12px 0}.schedule-staff-row label{flex:1;min-width:140px}.schedule-edit-form h3{font-size:14px}.schedule-edit-form .section-heading{margin:12px 0}@media(max-width:700px){.schedule-card{padding:12px}.schedule-staff-row label{min-width:120px}.schedule-staff-row>button{width:100%}}
/* Scheduling shortcuts share the same layout on personnel and schedule tabs. */
.schedule-presets { display: flex; flex-wrap: wrap; gap: .5rem; }
.schedule-presets .button { flex: 0 1 auto; }
.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:18px}
.vehicle-card{display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:inherit;text-decoration:none}
.vehicle-card:hover{border-color:var(--accent,#40b7e6);background:#eaf7fc}.vehicle-card .nav-icon{width:32px;height:32px;color:#087fa5}.vehicle-card small{color:var(--muted)}
.transport-toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;align-items:flex-start}.transport-list{display:grid;gap:12px}
.transport-toolbar>details{margin:0}
.transport-toolbar>details>summary.button{margin:0}
.transport-list-card{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:18px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit}.transport-list-card:hover{background:#edf8fc}.transport-list-card small{display:block;color:var(--muted);margin-top:5px}
.transport-stop{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bg);margin-bottom:12px;display:grid;gap:12px}.transport-stop-header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.transport-stop-header>div{display:flex;gap:6px}.transport-stop-header .button{min-height:36px;padding:6px 12px}
.transport-route{margin:16px 0;padding-left:24px}.transport-route li{padding:6px 0}.transport-route small{display:block;color:var(--muted);margin-top:4px}.transport-current-stop{font-weight:700}.transport-time{font-size:18px;font-weight:600}.transport-gig-card{padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:16px}.transport-gig-card h3{margin:0;font-size:16px}
.transport-calendar-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:20px}.transport-calendar-filters label{flex:1;min-width:160px}.vehicle-calendar-scroll{overflow:auto}.vehicle-calendar-table{width:100%;min-width:850px;table-layout:fixed;border-collapse:collapse}.vehicle-calendar-table th,.vehicle-calendar-table td{border:1px solid var(--line);padding:10px;vertical-align:top;text-align:left}.vehicle-calendar-table th:first-child{width:150px}.vehicle-calendar-table th small{display:block;color:var(--muted);margin-top:6px}
.vehicle-calendar-booking{display:block;padding:9px;border-radius:8px;background:#e6f5fb;color:#174962;margin-bottom:8px;text-decoration:none;border-left:3px solid #2fb4e0;overflow-wrap:anywhere}.vehicle-calendar-booking small{display:block;font-size:11px;margin-top:5px}.vehicle-calendar-booking.rent_in{background:#edf7f1;border-color:#76aa8e;color:#35664b}.vehicle-calendar-booking.rent_out{background:#f2eefb;border-color:#9e85c7;color:#574177}.vehicle-calendar-overlap{outline:1px solid #dca34d}.vehicle-calendar-mobile{display:none}.vehicle-calendar-mobile-row{padding:12px 0;border-bottom:1px solid var(--line)}.vehicle-calendar-mobile-row>small{display:block;margin-top:5px}.vehicle-calendar-mobile-row .vehicle-calendar-booking{margin-top:8px}
.vehicle-calendar-table,.vehicle-calendar-booking,.vehicle-calendar-booking small{white-space:normal}.vehicle-calendar-booking strong{display:block;overflow-wrap:anywhere}.vehicle-calendar-table th[scope=row]{font-size:13px;letter-spacing:normal;text-transform:none}.vehicle-calendar-mobile summary h3{display:inline;font-size:16px}
.staff-roster-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.staff-roster-toolbar p{margin:0}.staff-shift-list{display:grid;gap:0}
.staff-phase-group{margin-top:16px;min-width:0}.staff-phase-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;background:#edf2f7;border:1px solid var(--line);border-radius:8px}.staff-phase-heading h3{font-size:14px;margin:0}.staff-phase-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}.staff-phase-heading .count{background:#fff;white-space:nowrap}.staff-phase-group .staff-shift:last-child{border-bottom:0}
.staff-management-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;border-top:1px solid var(--line);padding-top:16px;margin:16px 0}
#personnel .staff-management-actions>.staff-action-detail{margin:0}#personnel .staff-management-actions>.staff-action-detail[open]{flex-basis:100%;order:1}
.staff-management-actions>.staff-action-detail>summary{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;min-height:40px}
.staff-management-actions.staff-actions-ready{display:block}.staff-actions-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.staff-actions-toolbar .button{min-height:40px;padding:9px 14px;font-size:12px}
#personnel .staff-action-panel{margin:0}#personnel .staff-actions-ready .staff-action-panel>summary{display:none}.staff-action-panel[open]{margin-top:14px!important;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.staff-action-panel>.inset-form{padding-top:0}.staff-action-panel .helper{margin:0}.staff-action-panels{min-width:0}.staff-actions-toolbar button[aria-expanded=true]{outline:2px solid var(--accent-border);outline-offset:1px}.staff-action-panel .schedule-presets{margin:6px 0}
@media(min-width:701px){.staff-schedule-create .inset-form>form{flex-direction:row;align-items:flex-end;gap:12px}.staff-schedule-create .inset-form>form>label{flex:1;min-width:0}.staff-schedule-create .inset-form>form>.button{align-self:auto}}
@media(max-width:700px){.staff-actions-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.staff-actions-toolbar>.button:first-child,.staff-actions-toolbar>:nth-child(4):last-child{grid-column:1/-1}.staff-actions-toolbar .button{width:100%;white-space:normal;text-align:center;justify-content:center}.staff-action-panel[open]{padding:12px}.staff-action-panel .schedule-presets .button{flex:1 1 110px}}
#personnel .staff-phase-group{border:1px solid var(--line);border-radius:12px;background:#fff;margin-top:20px}
#personnel .staff-phase-heading{border:0;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;background:#f5f7fa;padding:14px 18px}
.staff-phase-heading p>span{font-weight:600;margin-right:6px}.staff-phase-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.staff-phase-meta .button{min-height:36px;padding:7px 12px;font-size:12px}
.staff-roster-columns,.staff-shift-summary{display:grid;grid-template-columns:minmax(160px,1fr) minmax(220px,1.3fr) minmax(100px,.65fr) 112px;gap:18px;align-items:center}
.staff-roster-columns{padding:10px 18px 5px;font-size:11px;color:var(--muted)}
[data-schedule-repeater="assignments"][id]{scroll-margin-top:24px}[data-schedule-repeater="assignments"]:target{outline:2px solid var(--accent-focus);outline-offset:8px;border-radius:6px}
#personnel .staff-shift{padding:14px 18px;min-width:0}.staff-shift-identity{min-width:0}#personnel .staff-shift-job{font-size:12px;color:var(--muted);margin:4px 0 0}.staff-shift-time{font-size:13px;text-align:left}
#personnel .staff-shift-time small{display:block;font-size:11px;margin:3px 0 0;color:var(--muted)}#personnel .staff-shift-time small.staff-time-exception{color:#946006}.staff-mobile-label{display:none}.staff-shift-status{min-width:0}.staff-shift-status .shift-response-status{font-size:11px;margin:5px 0 0;color:var(--muted)}
.staff-shift-actions{display:flex;justify-content:flex-end}#personnel .staff-shift-actions form{margin:0}#personnel .staff-shift-actions .button{display:inline-flex;align-items:center;gap:7px;width:auto;min-height:36px;padding:7px 12px;font-size:12px;margin:0}.staff-shift-actions .nav-icon{width:17px;height:17px}
#personnel .staff-shift-menu{position:relative;margin:0}.staff-shift-tools{position:absolute;right:0;top:calc(100% + 6px);width:300px;max-width:calc(100vw - 56px);background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #18243420;padding:14px;z-index:5;display:grid;gap:10px}
#personnel .staff-shift-tools .button{width:100%;justify-content:flex-start}#personnel .staff-shift-tools p{margin:0;font-size:11px;line-height:1.5}#personnel .staff-shift-cancel{margin:0}#personnel .staff-shift-confirm{margin:10px 0 0;gap:12px}.staff-shift-confirm .button{align-self:flex-start}
#personnel .staff-shift-notes{margin:8px 0 0}#personnel .staff-shift-editor:not([open]){display:none}#personnel .staff-shift-editor[open]{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.staff-shift-cancelled .staff-shift-identity>strong{color:var(--muted)}
@media(max-width:1100px){.staff-roster-columns{display:none}.staff-shift-summary{grid-template-columns:minmax(0,1fr) minmax(180px,1fr);gap:10px 16px}.staff-shift-status{grid-column:1;grid-row:2}.staff-shift-actions{grid-column:2;grid-row:2}.staff-mobile-label{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}}
@media(max-width:600px){#personnel .staff-phase-heading{padding:12px;align-items:flex-start}.staff-phase-meta{width:100%;justify-content:space-between;gap:8px}#personnel .staff-shift{padding:14px 12px}.staff-shift-summary{grid-template-columns:minmax(0,1fr) auto}.staff-shift-status{grid-column:2;grid-row:1}.staff-shift-time{grid-column:1/-1;grid-row:2}.staff-shift-actions{grid-column:1/-1;grid-row:3;justify-content:flex-start}#personnel .staff-shift-menu[open]{width:100%}.staff-shift-tools{position:static;width:100%;max-width:none;margin-top:8px;box-shadow:none}#personnel .staff-shift-time strong{display:block}.staff-shift-time .staff-mobile-label{display:block}.staff-phase-heading p{line-height:1.7}}
@media(max-width:700px){.vehicle-calendar-scroll{display:none}.vehicle-calendar-mobile{display:block}.vehicle-grid{grid-template-columns:1fr}.transport-stop{padding:12px}.transport-stop-header .button{padding:6px 10px}.transport-calendar-filters label{min-width:130px}.transport-list-card{padding:14px}.transport-calendar-filters+.section-heading{flex-wrap:wrap}.transport-calendar-filters+.section-heading h2{order:-1;width:100%;font-size:17px}}

main .comment-delete{margin-top:12px;}
main .comment-delete > summary{display:inline-flex;align-items:center;gap:7px;width:auto;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:7px;color:#a33434;font-size:12px;cursor:pointer;}
main .comment-delete > summary:hover,main .comment-delete[open] > summary{background:#fff3f2;border-color:#e8c7c3;}
.comment-delete .nav-icon{width:16px;height:16px;flex:none;}
.comment-delete-chevron{transition:transform .15s;}
.comment-delete[open] .comment-delete-chevron{transform:rotate(180deg);}
main .comment-delete-confirm{margin:10px 0 0;padding:14px;border:1px solid #e8c7c3;border-radius:8px;background:#fff8f7;max-width:520px;}
main .comment-delete-confirm p{margin:0 0 12px;font-size:12px;line-height:1.6;}
main .comment-delete-confirm p strong,main .comment-delete-confirm p span{display:block;}
main .comment-delete-confirm p span{color:var(--muted);}
.comment-delete-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
main .comment-delete-actions label{margin:0;font-size:12px;}
main .comment-delete-actions .button{display:inline-flex;align-items:center;gap:7px;width:auto;min-height:36px;padding:7px 12px;font-size:12px;border-color:#e8c7c3;color:#a33434;}
@media(max-width:600px){main .comment-delete-confirm{padding:12px;}.comment-delete-actions{align-items:flex-start;flex-direction:column;gap:12px;}}

.vehicle-form-panel{max-width:960px;}
.vehicle-form-panel .section-heading{margin-bottom:0;}
.vehicle-form-panel .helper{margin:0;}
.vehicle-specifications{border-top:1px solid var(--line);padding-top:20px;}
.vehicle-specifications h3{margin:0 0 14px;}
.vehicle-specifications .helper{margin-top:12px;}
.vehicle-card .badge{justify-self:start;width:max-content;max-width:100%;}
.gig-overview{container-type:inline-size;}
.gig-plan-heading{align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;}
.gig-plan-heading h2{margin:0 0 5px;}.gig-plan-heading p{margin:0;}.gig-plan-heading>.text-link{white-space:nowrap;}
.gig-plan-day{margin-top:18px;}.gig-plan-day>h3{margin:0 0 10px;font-size:12px;color:var(--muted);letter-spacing:.3px;}
.gig-plan-timeline{list-style:none;margin:0;padding:0 0 0 15px;border-left:2px solid var(--line);}
.gig-plan-item{position:relative;margin:0 0 14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0;}
.gig-plan-item:before{content:"";position:absolute;left:-22px;top:20px;width:10px;height:10px;background:var(--accent);border:2px solid #fff;border-radius:50%;}
.gig-plan-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.gig-plan-title{font-size:14px;font-weight:700;}.gig-plan-time{display:block;margin-top:3px;font-size:12px;color:var(--muted);}
.gig-plan-outside{font-size:10px;padding:3px 7px;border-radius:5px;background:var(--bg);color:var(--muted);}
.gig-plan-resources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.gig-plan-resource{padding:10px;border-radius:7px;background:var(--bg);min-width:0;overflow-wrap:anywhere;}
.gig-plan-resource.needs-attention{background:#fff8ed;}
.gig-plan-resource-title{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;}.gig-plan-resource-title .nav-icon{width:15px;height:15px;flex:none;}
.gig-plan-resource p{margin:7px 0 0;font-size:11px;line-height:1.6;}.gig-plan-resource p>strong,.gig-plan-resource p>span{display:block;}.gig-plan-resource p>span{color:var(--muted);}
.gig-plan-person{display:block;margin-top:5px;font-size:11px;}.gig-plan-person.is-declined{color:#a33434;}.gig-plan-warning{color:#8a5a0c;}
.gig-plan-trip{display:block;margin-top:7px;line-height:1.6;font-size:11px;}.gig-plan-trip strong,.gig-plan-trip span{display:block;}.gig-plan-trip span{color:var(--muted);}
.gig-plan-independent{font-size:12px;padding:12px 0;margin:0;}.gig-plan-comments{border-top:1px solid var(--line);padding-top:16px;margin-top:18px;}
.gig-plan-comments .section-heading{align-items:center;justify-content:space-between;margin-bottom:12px;}.gig-plan-comments h3{margin:0;font-size:13px;}
.gig-plan-comments p{font-size:12px;margin:10px 0;}.gig-plan-comments p>strong,.gig-plan-comments p>span{display:block;}.gig-plan-comments p>span{color:var(--muted);overflow-wrap:anywhere;}
.gig-plan-empty p{font-size:13px;color:var(--muted);}
@container (max-width:550px){.gig-plan-resources{grid-template-columns:1fr;}.gig-plan-resource{display:grid;grid-template-columns:105px minmax(0,1fr);column-gap:10px;padding:10px 12px;}.gig-plan-resource-title{grid-column:1;grid-row:1;align-self:start;font-size:11px;}.gig-plan-resource>:not(.gig-plan-resource-title){grid-column:2;}.gig-plan-resource p{margin-top:0;}.gig-plan-resource p,.gig-plan-person,.gig-plan-trip{font-size:12px;}.gig-plan-heading{flex-wrap:wrap;}}
@media(max-width:600px){.gig-plan-resources{grid-template-columns:1fr;}.gig-plan-item{padding:12px;}.gig-plan-heading{flex-wrap:wrap;}.gig-plan-comments .section-heading{flex-wrap:wrap;gap:6px;}}

.gig-plan-person small{display:block;font-size:10px;color:var(--muted);}.gig-plan-person.is-declined small{color:#a33434;}
#schedule .schedule-card{padding:0;border-radius:12px;margin-bottom:20px;background:#fff;}
#schedule .schedule-card-heading{padding:14px 18px;background:#f5f7fa;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;align-items:center;}
#schedule .schedule-card-heading h3{margin:0;font-size:13px;}
.schedule-card-period{font-size:12px;color:var(--muted);margin:5px 0 0;}.schedule-card-period>span{font-weight:600;margin-right:7px;}
.schedule-card-flags{display:flex;flex-wrap:wrap;gap:6px;}.schedule-card-flags:not(:empty){margin-top:8px;}
.schedule-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}.schedule-card-actions .count{background:#fff;}
#schedule .schedule-card-actions .button,.schedule-staff-link{width:auto;min-height:36px;padding:7px 12px;font-size:12px;}
.schedule-card-notes,.schedule-card-needs{padding:12px 18px;border-bottom:1px solid var(--line);}.schedule-card-needs .schedule-need{margin:4px 0;}
.schedule-staff-columns,.schedule-staff-summary{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(180px,1.3fr) minmax(110px,.7fr) auto;gap:16px;align-items:center;}
.schedule-staff-columns{padding:12px 18px 0;font-size:11px;color:var(--muted);}
.schedule-staff-summary{padding:16px 18px;border-bottom:1px solid var(--line);font-size:13px;}.schedule-staff-summary:last-of-type{border-bottom:0;}
.schedule-staff-name,.schedule-staff-time{min-width:0;overflow-wrap:anywhere;}.schedule-staff-name>strong,.schedule-staff-time>strong{display:block;}
.schedule-staff-name small,.schedule-staff-time small{display:block;font-size:11px;color:var(--muted);margin-top:4px;}.schedule-staff-time small.schedule-unfilled{color:#946006;}
.schedule-staff-link{justify-self:end;}.schedule-staff-cancelled .schedule-staff-name{color:var(--muted);}
.schedule-card-empty{margin:0;padding:16px 18px;font-size:12px;}
.schedule-card-editing{padding:12px 18px;border-top:1px solid var(--line);}
#schedule .schedule-card-editing>details{margin:0;}#schedule .schedule-card-editing>details+details{margin-top:12px;}
#schedule.schedule-editor-ready .schedule-card-editor:not([open]){display:none;}
.schedule-card-editor{scroll-margin-top:90px;}.schedule-card-delete>form{padding-top:12px;}
@media(max-width:1000px){.schedule-staff-columns{display:none;}.schedule-staff-summary{grid-template-columns:minmax(0,1fr) minmax(180px,1fr);gap:10px 16px;}.schedule-staff-status{grid-column:1;grid-row:2;}.schedule-staff-link{grid-column:2;grid-row:2;}.schedule-staff-time .staff-mobile-label{display:block;}}
@media(max-width:600px){#schedule .schedule-card-heading{padding:12px;align-items:flex-start;}.schedule-card-actions{width:100%;justify-content:space-between;gap:8px;}.schedule-card-period{line-height:1.7;}.schedule-staff-summary{padding:14px 12px;grid-template-columns:minmax(0,1fr) auto;}.schedule-staff-name{grid-column:1;grid-row:1;}.schedule-staff-status{grid-column:2;grid-row:1;}.schedule-staff-time{grid-column:1/-1;grid-row:2;}.schedule-staff-link{grid-column:1/-1;grid-row:3;justify-self:start;}.schedule-card-notes,.schedule-card-needs,.schedule-card-editing{padding:12px;}.schedule-card-empty{padding:14px 12px;}}

#schedule.schedule-editor-ready .schedule-card-editor:not([open])+.schedule-card-delete{margin-top:0;}

@media(min-width:1001px){.schedule-staff-time .staff-mobile-label{display:none;}}
.gig-plan-day{margin-top:14px;}.gig-plan-day>h3{margin-bottom:8px;}
.gig-plan-item{padding:0;margin-bottom:8px;}.gig-plan-item:before{top:18px;}
main .gig-plan-detail{margin:0;}
.gig-plan-summary{padding:10px 12px;color:var(--text,#182434);font-weight:400;cursor:pointer;border-radius:9px;}
.gig-plan-summary:hover{background:#f8fafc;}.gig-plan-detail[open]>.gig-plan-summary{background:#f5f7fa;border-bottom:1px solid var(--line);border-radius:9px 9px 0 0;}
.gig-plan-summary-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.gig-plan-summary-title{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0;}.gig-plan-summary-title strong{font-size:13px;}.gig-plan-summary-title>span{font-size:11px;color:var(--muted);white-space:nowrap;}
.gig-plan-expand{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:10px;color:var(--muted);padding-top:2px;}.gig-plan-expand .nav-icon{width:14px;height:14px;}.gig-plan-detail[open] .gig-plan-expand .nav-icon{transform:rotate(180deg);}
.gig-plan-compact-resources{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;}
.gig-plan-chip{display:inline-flex;align-items:center;gap:4px;background:var(--bg);border-radius:5px;padding:3px 6px;font-size:10px;line-height:1.5;color:var(--muted);max-width:100%;overflow-wrap:anywhere;}.gig-plan-chip .nav-icon{width:13px;height:13px;flex:none;}.gig-plan-chip.needs-attention{color:#8a5a0c;background:#fff3dc;}
.gig-plan-compact-warning{display:block;color:#8a5a0c;font-size:10px;margin-top:5px;}
.gig-plan-expanded{padding:12px;}.gig-plan-expanded-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px;}
.gig-plan-heading{margin-bottom:14px;}.gig-plan-comments{padding-top:12px;margin-top:14px;}.gig-plan-comments .section-heading{margin-bottom:8px;}
@media(max-width:600px){.gig-plan-item{padding:0;}.gig-plan-summary{padding:10px;}.gig-plan-summary-title{gap:3px 8px;}.gig-plan-expanded{padding:10px;}}

/* Transport detail: facts, route and a single action area. */
.transport-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.transport-detail-heading h2{margin:0}
.transport-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 24px;padding:16px;background:#f5f7fa;border:1px solid var(--line);border-radius:10px}
.transport-facts dt{font-size:11px;color:var(--muted);margin-bottom:5px}
.transport-facts dd{margin:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}
.transport-facts dd span,.transport-facts dd a{font-size:12px}
.transport-detail .transport-route-title{font-size:14px;margin:0 0 12px}
.transport-detail .transport-route{list-style:none;counter-reset:route;padding:0;margin:0 0 8px;max-width:760px}
.transport-detail .transport-route li{position:relative;counter-increment:route;margin-left:15px;border-left:2px solid #d6e5ef;padding:4px 0 22px 28px;min-height:56px;overflow-wrap:anywhere}
.transport-detail .transport-route li:last-child{border-color:transparent;padding-bottom:4px}
.transport-detail .transport-route li::before{content:counter(route);position:absolute;left:-15px;top:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e7f5fc;border:1px solid #b9dff0;color:var(--accent-text);font-size:11px;font-weight:700}
.transport-detail .transport-route li>strong{display:block;font-size:12px;color:var(--muted)}
.transport-instructions{border-top:1px solid var(--line);padding-top:16px;margin-top:18px}.transport-instructions h3{font-size:14px;margin:0 0 8px}
.transport-actions h2{margin-bottom:12px}.transport-action-list{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.transport-action-list>.transport-action{margin:0;min-width:0}.transport-action-list>.transport-action>summary.button{margin:0}.transport-action-list>.transport-action[open]{flex-basis:100%;padding-bottom:8px}.transport-action-list>.transport-action>form{max-width:900px}.transport-action-list>.transport-action>p{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:700px){.transport-facts{grid-template-columns:1fr;gap:14px;padding:14px}.transport-facts>div+div{border-top:1px solid var(--line);padding-top:12px}.transport-action-list>.transport-action{flex:1 1 180px}.transport-action-list>.transport-action>summary.button{width:100%;justify-content:center}.transport-detail .transport-route li{padding-left:24px}}
/* Gig transport cards share the schedule and personnel card theme. */
#gig-transports .transport-gig-card{padding:0;margin:18px 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.transport-gig-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;background:#f5f7fa;border-bottom:1px solid var(--line)}
.transport-gig-heading h3{margin:0;font-size:13px}.transport-gig-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.transport-gig-actions .button{min-height:36px;padding:7px 12px;font-size:12px}
.transport-gig-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin:0;padding:16px 18px;border-bottom:1px solid var(--line)}
.transport-gig-facts dt{font-size:10px;color:var(--muted);margin-bottom:8px}.transport-gig-facts dd{margin:0;font-size:13px;overflow-wrap:anywhere}.transport-gig-facts small{display:block;color:var(--muted);margin-top:4px;font-size:11px}
.transport-gig-stops{padding:14px 18px}.transport-gig-stops h4{margin:0 0 8px;font-size:11px;color:var(--muted);font-weight:500}.transport-gig-stops .transport-route{margin:0;padding-left:20px;font-size:12px}.transport-gig-stops .transport-route li{padding:5px 0}.transport-gig-stops .transport-current-stop small{font-weight:400;color:var(--accent-text)}
@media(max-width:600px){.transport-gig-heading{padding:12px;gap:10px}.transport-gig-actions{width:100%;justify-content:space-between}.transport-gig-facts{grid-template-columns:1fr 1fr;gap:14px;padding:14px 12px}.transport-gig-facts>div:last-child{grid-column:1/-1}.transport-gig-stops{padding:12px}}
/* Equipment register: one toolbar, compact filters and readable mobile rows. */
.equipment-page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.equipment-catalog-panel .list-header{padding:18px 22px;background:#f5f7fa}.equipment-catalog-panel .equipment-list-title{margin:0!important}
.equipment-catalog-panel .equipment-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,260px) auto auto;gap:10px;align-items:center;padding:18px 22px;margin:0}.equipment-catalog-panel .equipment-filters label{margin:0;min-width:0}.equipment-catalog-panel .equipment-filters input,.equipment-catalog-panel .equipment-filters select{width:100%}
.equipment-catalog-panel .catalog-category-browser{margin:0;padding:0 22px 14px;border-bottom:1px solid var(--line)}.catalog-category-browser>summary{font-size:12px;color:var(--accent-text);min-height:32px;padding:4px 0}.catalog-category-browser nav{padding-top:10px}.equipment-catalog-panel [data-equipment-list-status]{margin:12px 22px}
.equipment-catalog-panel .equipment-grid-scroll{max-height:none}.equipment-catalog-panel .equipment-grid{width:100%;min-width:0;white-space:normal}.equipment-catalog-panel .equipment-grid th,.equipment-catalog-panel .equipment-grid td{padding:14px 22px}.equipment-catalog-panel .equipment-grid tbody tr:hover{background:#f6fbfe}.equipment-catalog-panel .equipment-grid td{overflow-wrap:anywhere}.equipment-catalog-panel .equipment-grid th:first-child{width:42%}.equipment-catalog-panel .equipment-grid-quantity{font-weight:600}.equipment-catalog-panel .catalog-category{font-size:12px;color:var(--muted)}
.equipment-catalog-layout .catalog-create{max-width:none!important;margin:0;padding:0;scroll-margin-top:24px}.catalog-create>summary{padding:16px 22px!important;display:block!important;border:0!important;background:#f5f7fa!important;border-radius:12px!important}.catalog-create[open]>summary{border-bottom:1px solid var(--line)!important;border-radius:12px 12px 0 0!important}.catalog-create-body{padding:22px;max-width:900px}
@media(max-width:800px){.equipment-catalog-panel .equipment-filters{grid-template-columns:minmax(0,1fr) auto}.equipment-catalog-panel .equipment-filters .search-label{grid-column:1/-1}.equipment-catalog-panel .equipment-filters .text-link{grid-column:2}.equipment-page-actions{width:100%}}
@media(max-width:600px){.equipment-page-actions{gap:8px}.equipment-page-actions .button{flex:1;padding:9px 10px;font-size:12px}.equipment-catalog-panel .list-header{padding:14px 16px}.equipment-catalog-panel .equipment-filters{padding:14px 16px}.equipment-catalog-panel .catalog-category-browser{padding:0 16px 12px}.equipment-catalog-panel .equipment-grid-scroll{overflow:visible}.equipment-catalog-panel .equipment-grid,.equipment-catalog-panel .equipment-grid tbody{display:block;width:100%;min-width:0}.equipment-catalog-panel .equipment-grid thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.equipment-catalog-panel .equipment-grid tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:16px;border-bottom:1px solid var(--line)}.equipment-catalog-panel .equipment-grid td{display:block;padding:0;border:0;width:auto;min-width:0}.equipment-catalog-panel .equipment-grid td:first-child{grid-column:1;grid-row:1;font-size:14px}.equipment-catalog-panel .equipment-grid td.catalog-category{grid-column:1;grid-row:2}.equipment-catalog-panel .equipment-grid td.equipment-grid-code{grid-column:1;grid-row:3;font-size:11px;color:var(--muted)}.equipment-catalog-panel .equipment-grid td.equipment-grid-quantity{grid-column:2;grid-row:1/4;align-self:center;font-size:18px;text-align:right}.equipment-catalog-panel .equipment-grid td.equipment-grid-quantity::after{content:' kpl';font-size:11px;font-weight:400;color:var(--muted)}.catalog-create-body{padding:16px}}
main .equipment-catalog-panel{padding:0}.equipment-catalog-panel .equipment-filters .text-link{background:transparent;border:0;padding:0;font-size:12px;color:var(--accent-text)}

.equipment-catalog-panel{overflow:visible}.equipment-catalog-panel .list-header{border-radius:12px 12px 0 0}.equipment-catalog-panel .equipment-filters>label[hidden]{display:none}
.catalog-category-picker{position:relative;min-width:0;margin:0}.catalog-category-picker>summary.button{display:flex;width:100%;justify-content:space-between;font-weight:400;text-align:left;margin:0;min-height:44px;overflow-wrap:anywhere}.catalog-category-picker>summary::after{content:'⌄';margin-left:10px}.catalog-category-options{position:absolute;top:calc(100% + 6px);left:0;z-index:15;width:100%;min-width:220px;max-width:calc(100vw - 48px);padding:12px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #17243824}.catalog-category-options label{display:block;font-size:11px;color:var(--muted)}.catalog-category-options input{margin-top:6px;font-size:13px}.catalog-category-choices{max-height:280px;overflow:auto;margin-top:8px}.catalog-category-choices button{display:block;width:100%;padding:9px 10px;text-align:left;font-size:12px;border-radius:6px;background:transparent;color:var(--ink);overflow-wrap:anywhere;min-height:38px}.catalog-category-choices button:hover,.catalog-category-choices button:focus-visible{background:#f0f7fb}.catalog-category-choices button[aria-pressed=true]{background:#e7f5fc;color:var(--accent-text);font-weight:600}.catalog-category-options p{margin:10px 0 0;font-size:12px}
.equipment-edit-panel{padding:0!important;margin:0 0 24px;scroll-margin-top:20px;overflow:hidden}.equipment-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:#f5f7fa;border-bottom:1px solid var(--line)}.equipment-edit-heading h2{margin:0;font-size:14px}.equipment-edit-heading p{margin:4px 0 0;font-size:11px;color:var(--muted)}.equipment-edit-body{padding:18px}.equipment-edit-body .equipment-edit-basics{grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,1fr) minmax(110px,1fr);align-items:start;gap:16px}.equipment-edit-basics label{font-size:12px;font-weight:600;color:var(--ink)}.equipment-edit-basics input{margin-top:6px;font-weight:400;width:100%}.equipment-edit-basics small{display:block;font-weight:400;margin-top:6px;font-size:11px}.equipment-edit-body .helper{font-size:11px;margin:0;color:var(--muted)}.equipment-edit-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:6px}.equipment-edit-note{border:1px solid var(--line);border-radius:10px;overflow:hidden;min-width:0}.equipment-edit-note>label{display:block;padding:11px 14px;margin:0;background:#f5f7fa;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink)}.equipment-edit-note>div{padding:12px}.equipment-edit-note textarea{display:block;width:100%;resize:vertical;min-height:156px;font-size:12px;background:#fff}.equipment-edit-save{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:1100px){.equipment-edit-body .equipment-edit-basics{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-edit-notes{grid-template-columns:1fr}.equipment-edit-note textarea{min-height:100px}}
@media(max-width:600px){.equipment-edit-heading{padding:12px 14px}.equipment-edit-body{padding:14px}.equipment-edit-body .equipment-edit-basics{grid-template-columns:1fr;gap:12px}.equipment-edit-save .button{flex:1;text-align:center;font-size:12px;padding:10px}}
.equipment-detail-secondary{display:grid;gap:20px;margin-top:20px;min-width:0}.equipment-detail-secondary>.panel{margin:0;min-width:0}.equipment-ledger-panel{padding:0!important;overflow:hidden}.equipment-secondary-heading{background:#f5f7fa;border-bottom:1px solid var(--line);padding:14px 18px}.equipment-secondary-heading h2{margin:0;font-size:14px}.equipment-ledger-body{padding:18px}.equipment-ledger-body .filters{margin:0 0 16px;padding:0;align-items:flex-end;gap:12px;flex-wrap:wrap}.equipment-ledger-body .filters label{font-size:12px}.equipment-ledger-body .filters .button{margin:0}.equipment-ledger-body>p{font-size:12px;margin:12px 0}.equipment-ledger-body .inline-empty{padding:12px 0;margin:0}.equipment-ledger-body>details{margin-top:12px}.equipment-detail-secondary #attachments{padding:0;overflow:hidden}.equipment-detail-secondary #attachments>h2{padding:14px 18px;margin:0;background:#f5f7fa;border-bottom:1px solid var(--line);font-size:14px}.equipment-detail-secondary #attachments>.inline-empty{padding:16px 18px;margin:0;font-size:12px}.equipment-detail-secondary #attachments>details{margin:0 18px 18px}.equipment-detail-secondary #attachments>.contact{margin:0 18px}.equipment-delete-panel{padding:14px 18px!important}.equipment-delete-panel>details{margin:0}.equipment-delete-panel>details>summary{color:#a33434!important}.equipment-delete-panel>details[open]>p{margin-top:14px}.equipment-delete-panel>details>form{max-width:800px}@media(max-width:600px){.equipment-ledger-body{padding:14px}.equipment-ledger-body .filters label{flex:1;min-width:120px}.equipment-ledger-body .filters .button{width:100%}}
/* Shared card contract for forms, project sections and administration. */
main .ui-card{padding:0!important;margin-bottom:20px;min-width:0}.ui-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:14px 18px;background:#f5f7fa;border-bottom:1px solid var(--line);border-radius:13px 13px 0 0}.ui-card-heading>h2,.ui-card-heading .section-title h2{margin:0;font-size:14px;line-height:1.5}.ui-card-heading>.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;width:100%}.ui-card-body{padding:18px;min-width:0}.ui-card-body>.inset-form:first-child{margin-top:0;padding-top:0}.ui-card-body>.helper:first-child{margin-top:0}.ui-card-body>form.stack>.button:last-child{align-self:flex-start;width:auto;max-width:100%}.ui-card-body .form-grid{gap:16px}.ui-card-body label{font-size:12px}.ui-card-body .contact{padding:14px 0}.ui-card-body .inline-empty{padding:12px 0;margin:0;font-size:12px}.ui-card-body>.table-wrap:first-child{margin-top:0}.ui-card-body>.section-heading h2{font-size:14px}.ui-card-body>details{margin-top:14px}.ui-card-body .filters{padding:0;margin:0 0 16px;align-items:flex-end;flex-wrap:wrap;gap:12px}.ui-card-body .filters>.button{margin:0;align-self:flex-end}.ui-card-body>.stack{gap:16px}
main .detail-grid>.ui-card,main .stack>.ui-card{margin:0}main .detail-grid+.ui-card{margin-top:20px}.ui-card-heading .count{background:#fff}
@media(max-width:600px){.ui-card-heading{padding:12px 14px}.ui-card-body{padding:14px}.ui-card-body>.stack{gap:14px}.ui-card-body>form.stack>.button:last-child{width:100%}.ui-card-body .filters>label{flex:1;min-width:120px}.ui-card-body .filters>.button{min-height:44px}}.ui-card-heading>h1{margin:0;font-size:22px;letter-spacing:-.5px}.ui-card-body>details>summary{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:7px 11px;border:1px solid #cdd8e5;border-radius:var(--control-radius);background:#f7fafd;color:var(--accent-text);font-size:12px}.ui-card-body>details>summary:hover{background:var(--accent-soft)}.list-panel>.list-header{background:#f5f7fa;border-radius:13px 13px 0 0}.ui-card-body>.table-wrap table th{background:#f5f7fa}.ui-card-body .form-grid>div:has(>.button){align-self:end}
.ui-card-heading>.section-heading{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;gap:12px;flex-wrap:wrap}.ui-card-heading .section-heading :is(h2,h3){margin:0;font-size:14px}

/* Gig calendar follows the shared schedule card theme. */
main .gig-calendar-panel{padding:0;overflow:hidden;margin-bottom:20px}.gig-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#f5f7fa;padding:16px 18px;border-bottom:1px solid var(--line)}.gig-calendar-period h2{margin:0;font-size:18px}.gig-calendar-period>span{display:block;margin-top:3px;font-size:11px;color:var(--muted)}.gig-calendar-heading .gig-calendar-views,.gig-calendar-heading .calendar-navigation{display:flex;gap:6px;margin:0;flex-wrap:wrap}.gig-calendar-heading .button{min-height:38px;padding:7px 12px;font-size:12px}.gig-calendar-views a[aria-current=page]{background:#e7f5fc;border-color:#85ccec;color:var(--accent-text)}.gig-calendar-body .mobile-calendar-help{margin:12px 14px;font-size:11px}.gig-calendar-panel .gig-calendar-grid{gap:1px;background:var(--line);border:0}.gig-calendar-panel .gig-calendar-weekday{background:#f5f7fa;padding:10px;font-size:11px;letter-spacing:.5px}.gig-calendar-panel .gig-calendar-day{border:0;background:#fff;padding:10px;min-height:140px}.gig-calendar-panel .gig-calendar-day.outside-month{background:#f8fafc}.gig-calendar-panel .gig-calendar-day.is-today{background:#f0f9fd}.gig-calendar-panel .gig-calendar-day.selected-day{box-shadow:inset 0 0 0 2px #64c3e9}.gig-calendar-panel .gig-calendar-day h3{margin:0 0 8px;font-size:12px}.gig-calendar-panel .gig-calendar-day h3 a{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;padding:3px 6px;border-radius:6px}.gig-calendar-panel .gig-calendar-day.is-today h3 a{background:var(--accent);color:var(--ink)}.gig-calendar-panel .gig-calendar-card{padding:8px;border-radius:7px;margin-bottom:6px;box-shadow:0 1px 3px #18243408;font-size:11px;line-height:1.5}.gig-calendar-panel .gig-calendar-card strong{font-size:12px;line-height:1.4}.gig-calendar-panel .gig-calendar-time{font-size:10px;font-weight:600}.gig-calendar-panel .gig-calendar-contact{font-size:10px}.gig-calendar-panel .calendar-add-day{border:0;background:#f5f8fb;margin-bottom:6px;min-height:28px}.gig-calendar-footer{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border-top:1px solid var(--line)}.gig-calendar-footer>details{margin:0;max-width:100%}.gig-calendar-footer summary{font-size:12px;color:var(--accent-text);padding:0;min-height:24px}.gig-calendar-footer .gig-calendar-legend{margin:12px 0;flex-wrap:wrap}.gig-calendar-footer>a{font-size:12px}.gig-calendar-footer .helper{max-width:80ch;font-size:11px;margin:12px 0 0}#calendar-day .calendar-agenda-card{border:1px solid var(--line);border-left:4px solid var(--gig-type-color);border-radius:10px;margin-bottom:12px;padding:14px 16px;background:#fff}#calendar-day .calendar-agenda-card:last-child{margin-bottom:0}#calendar-day .calendar-agenda-card .gig-link{font-size:14px}#calendar-day .calendar-agenda-card small{font-size:12px}.calendar-agenda-card .calendar-gig-notes{margin-top:12px}
@media(max-width:1000px){.gig-calendar-period{flex:1 1 50%}.gig-calendar-heading .calendar-navigation{width:100%;justify-content:flex-start}}
@media(max-width:680px){.gig-calendar-heading{padding:14px;gap:12px}.gig-calendar-period{flex-basis:100%}.gig-calendar-heading .gig-calendar-views{width:100%}.gig-calendar-heading .gig-calendar-views a{flex:1}.gig-calendar-heading .calendar-navigation{justify-content:space-between}.gig-calendar-heading .button{min-height:44px}.gig-calendar-panel .gig-calendar-grid:not(.gig-calendar-week) .gig-calendar-day{min-height:78px;padding:2px}.gig-calendar-panel .gig-calendar-grid:not(.gig-calendar-week) .gig-calendar-day h3{margin:0}.gig-calendar-panel .gig-calendar-grid:not(.gig-calendar-week) .gig-calendar-day h3 a{display:flex;min-width:0;min-height:48px;flex-direction:column;padding:3px 0}.gig-calendar-panel .gig-calendar-grid:not(.gig-calendar-week) .calendar-add-day{min-height:26px;font-size:16px;margin:2px}.gig-calendar-panel .gig-calendar-week .gig-calendar-day{min-height:0;padding:14px}.gig-calendar-panel .gig-calendar-week .gig-calendar-card{padding:12px;font-size:12px}.gig-calendar-footer{padding:14px}.gig-calendar-footer summary{min-height:36px}#calendar-day .calendar-agenda-card{padding:12px}}
.gig-page-heading{margin-bottom:16px;gap:16px}.gig-heading-identity{min-width:0}.gig-page-heading .eyebrow{margin-bottom:10px}.gig-page-heading h1{margin-bottom:10px}.gig-heading-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:0;font-size:12px}.gig-heading-actions{align-items:flex-start;flex-shrink:0;margin-top:0!important}.gig-action-menu{position:relative;margin:0}.gig-action-menu>summary.button{display:flex;align-items:center;gap:8px;margin:0}.gig-action-options{position:absolute;right:0;top:calc(100% + 6px);z-index:25;min-width:240px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px #17243824}.gig-action-options a{display:block;padding:11px 12px;min-height:44px;font-size:12px;border-radius:6px}.gig-action-options a:hover{background:#f0f7fb}.gig-action-options .gig-action-delete{margin-top:6px;padding-top:14px;border-top:1px solid var(--line);color:#a33434}.gig-action-options .gig-action-delete:hover{background:#fff3f2}@media(max-width:700px){.gig-page-heading{flex-wrap:wrap}.gig-heading-identity{width:100%}.gig-heading-actions{display:flex;width:100%;gap:8px}.gig-heading-actions>.button{flex:1}.gig-heading-actions>.gig-action-menu{flex:0 0 auto}.gig-action-options{max-width:calc(100vw - 32px)}.gig-page-heading h1{font-size:28px}.gig-heading-meta{gap:5px 12px}}
.gig-project-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gig-project-links a{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;padding:6px 10px;border:1px solid #b9dff0;border-radius:7px;background:#e7f5fc;color:var(--accent-text);font-size:12px;overflow-wrap:anywhere;min-height:32px}.gig-project-links a:hover{background:#d9eef9}.gig-project-links span{font-size:11px}.gig-project-links strong{font-weight:600}

.search-clear-field{display:block;position:relative;width:100%;min-width:0}main label>.search-clear-field{margin-top:var(--search-field-gap,7px)}.search-clear-field input[type=search]{width:100%;margin:0;padding-right:48px!important}.search-clear-field input::-webkit-search-cancel-button{display:none}.search-clear-field .search-clear-button{position:absolute;right:1px;top:1px;bottom:1px;width:44px;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;touch-action:manipulation}.search-clear-field .search-clear-button[hidden]{display:none}.search-clear-button:hover,.search-clear-button:active{background:var(--accent-soft);color:var(--accent-text)}.search-clear-button:focus-visible{outline:2px solid var(--accent-focus);outline-offset:-4px}.search-clear-button:disabled{cursor:default;color:#9aa7b8}
.ui-field-error{display:block;margin:6px 0 0;font-size:12px;color:#a33434;line-height:1.5}main [aria-invalid=true]{border-color:#c15b5b!important}.ui-form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.ui-form-actions>.button{margin:0;width:auto}.ui-save-status{font-size:12px;color:var(--accent-text);margin:8px 0 0}.ui-saving{pointer-events:none;opacity:.75}.ui-saving::before{content:'';display:inline-block;width:12px;height:12px;margin-right:8px;vertical-align:middle;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ui-saving-spin .8s linear infinite}@keyframes ui-saving-spin{to{transform:rotate(360deg)}}.gig-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;margin-left:5px;border-radius:6px;background:#edf2f7;color:#52647b;font-size:10px;font-weight:600}.gig-section-tabs a{white-space:nowrap;flex-shrink:0}.gig-section-tabs a[aria-selected=true] .gig-tab-count{background:#dff3fc;color:var(--accent-text)}@media(max-width:600px){.ui-form-actions>.button{flex:1;min-height:44px;text-align:center}main input[type=number],main input[inputmode=decimal]{font-variant-numeric:tabular-nums}}@media(prefers-reduced-motion:reduce){.ui-saving::before{animation:none}}
.ui-field-error[hidden]{display:none}

[data-calendar-content]{container-type:inline-size}.calendar-workspace{display:grid;gap:18px;align-items:start;min-width:0}.calendar-workspace .gig-calendar-panel{margin:0}.calendar-agenda{min-width:0;scroll-margin-top:20px}.calendar-agenda .ui-card{margin:0 0 14px}.calendar-agenda .ui-card-heading h2{font-size:13px}.calendar-bar-filters{display:grid;grid-template-columns:minmax(140px,1fr) minmax(120px,180px) minmax(120px,180px);gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:center}.calendar-bar-filters label{min-width:0}.calendar-bar-filters input,.calendar-bar-filters select{width:100%;font-size:12px}.calendar-list-note{padding:14px 18px;margin:0;font-size:12px}.calendar-bars{padding-left:24px}.calendar-bar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f5f7fa;border-bottom:1px solid var(--line)}.calendar-bar-weekdays span{text-align:center;padding:8px 0;font-size:11px}.calendar-bar-week{position:relative;border-bottom:1px solid var(--line);min-height:120px}.calendar-week-number{position:absolute;left:-24px;top:6px;font-size:10px;color:var(--muted);width:22px;text-align:center}.calendar-week-days{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-bar-date{border-left:1px solid var(--line);padding:6px;min-width:0;text-align:right;font-size:11px;color:var(--ink);background:#fff}.calendar-bar-date time{display:inline-flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border-radius:5px;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.calendar-bar-date.outside-month{color:#687a91;background:#fafbfd}.calendar-bar-date.selected-day{box-shadow:inset 0 0 0 2px #64c3e9;background:#f1f9fd}.calendar-bar-date.is-today time{background:var(--accent);color:#172438;font-weight:700}.calendar-week-events{position:relative;padding:36px 2px 8px;pointer-events:none;min-height:120px}.calendar-bar-lane{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;min-height:28px;margin-bottom:2px}.calendar-bars .gig-calendar-card.calendar-bar{font-weight:400;display:flex;align-items:center;gap:5px;min-width:0;height:28px;padding:3px 7px;margin:0 1px;border:0;border-radius:5px;background:var(--gig-type-color);color:white;pointer-events:auto;box-shadow:none;font-size:11px;line-height:1.4;overflow:hidden}.calendar-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px}.calendar-bar-status{margin-left:auto;font-size:9px;background:#ffffff24;padding:1px 4px;border-radius:3px;white-space:nowrap}.calendar-bars .calendar-bar.is-production{background:color-mix(in srgb,var(--gig-type-color) 14%,white);color:var(--gig-type-color);border:1px dashed var(--gig-type-color);font-style:italic}.calendar-bars .calendar-bar.cancelled{opacity:.65;text-decoration:line-through}.calendar-bar-more{pointer-events:auto;text-align:center;font-size:10px;align-self:center;color:var(--accent-text)}.calendar-col-1{grid-column-start:1}.calendar-col-2{grid-column-start:2}.calendar-col-3{grid-column-start:3}.calendar-col-4{grid-column-start:4}.calendar-col-5{grid-column-start:5}.calendar-col-6{grid-column-start:6}.calendar-col-7{grid-column-start:7}.calendar-span-1{grid-column-end:span 1}.calendar-span-2{grid-column-end:span 2}.calendar-span-3{grid-column-end:span 3}.calendar-span-4{grid-column-end:span 4}.calendar-span-5{grid-column-end:span 5}.calendar-span-6{grid-column-end:span 6}.calendar-span-7{grid-column-end:span 7}.calendar-agenda .calendar-agenda-card{border:1px solid var(--line);border-left:4px solid var(--gig-type-color);border-radius:8px;padding:12px;margin-bottom:10px}.calendar-agenda .gig-link{font-size:13px}.calendar-agenda .calendar-agenda-card > small{font-size:11px}.calendar-agenda .calendar-gig-notes{font-size:12px}.calendar-agenda .calendar-contact{font-size:12px}
@container(min-width:1150px){.calendar-workspace:not(.calendar-list-view){grid-template-columns:minmax(0,1fr) 340px}.calendar-workspace:not(.calendar-list-view) .calendar-agenda{max-height:calc(100vh - 100px);overflow:auto;position:sticky;top:20px}}
@media(max-width:680px){.calendar-bar-filters{grid-template-columns:1fr 1fr;padding:12px;gap:8px}.calendar-bar-filters>label:first-of-type{grid-column:1/-1}.calendar-bars{padding-left:18px}.calendar-week-number{left:-18px;width:16px;font-size:9px}.calendar-bar-date{padding:4px 2px;font-size:11px}.calendar-bar-date time{min-width:0;min-height:26px;font-size:11px}.calendar-bars .gig-calendar-card.calendar-bar{height:26px;padding:3px 4px;gap:2px;font-size:10px}.calendar-bar strong{font-size:10px}.calendar-bar-status{display:none}.calendar-bar-week{min-height:100px}.calendar-bar-more{font-size:9px}.calendar-agenda .calendar-agenda-card{padding:10px}}
.calendar-week-create{position:absolute;left:2px;right:2px;top:4px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week-create .calendar-add-day{pointer-events:auto;width:26px;min-height:26px;height:26px;margin:0;padding:0;display:flex;justify-content:center;background:transparent;border:0;font-size:16px}.calendar-bars{display:block}@media(max-width:680px){.calendar-bars.gig-calendar-week{display:none}}

@media(max-width:680px){.calendar-bars .calendar-bar .calendar-bar-status{display:none}.calendar-week-events,.calendar-bar-week{min-height:96px}.calendar-week-create{display:none}}

/* Keep view buttons anchored when the period title or agenda width changes. */
.gig-calendar-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"period period" "views navigation";align-items:start}.gig-calendar-period{grid-area:period;min-width:0;min-height:48px}.gig-calendar-period h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.gig-calendar-heading .gig-calendar-views{grid-area:views;justify-self:start;width:auto;flex-wrap:nowrap}.gig-calendar-heading .calendar-navigation{grid-area:navigation;justify-self:end;width:auto;flex-wrap:nowrap}.gig-calendar-heading .gig-calendar-views a{flex:0 0 auto;white-space:nowrap}
@media(max-width:680px){.gig-calendar-heading{grid-template-columns:minmax(0,1fr);grid-template-areas:"period" "views" "navigation"}.gig-calendar-period h2{font-size:16px}.gig-calendar-heading .gig-calendar-views,.gig-calendar-heading .calendar-navigation{width:100%;justify-self:stretch}.gig-calendar-heading .gig-calendar-views a{flex:1}.gig-calendar-heading .calendar-navigation .button{flex:1;white-space:nowrap;padding-left:6px;padding-right:6px}}
.calendar-bars .calendar-bar .calendar-bar-status{display:inline-flex;align-items:center;justify-content:center;flex:0 0 15px;width:15px;height:15px;margin-left:auto;padding:0;background:transparent}.calendar-bar-status svg{display:block;width:13px;height:13px}@media(max-width:680px){.calendar-bars .calendar-bar .calendar-bar-status{display:none}}

/* Compact navigation retains the existing dark sidebar background. */
@media(min-width:951px){.sidebar{padding:22px 16px 16px;gap:0}.sidebar .brand-logo{width:180px;max-width:100%;margin:0 auto 22px;flex-shrink:0}.sidebar .brand-logo img{width:100%;height:auto}.sidebar #workspace-navigation{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#46566c transparent;padding:0 2px 12px}.sidebar .nav-label{font-size:9px;font-weight:600;line-height:1.5;letter-spacing:1.5px;color:#8f9eb2;margin:18px 12px 6px}.sidebar .nav-label:first-child{margin-top:0}.sidebar .nav-item{position:relative;min-height:40px;padding:8px 12px;gap:10px;border-radius:7px;font-size:13px;line-height:1.5;font-weight:500;color:#dce4ee;transition:background-color .15s,color .15s}.sidebar .nav-item+.nav-item{margin-top:2px}.sidebar .nav-item>.nav-icon{width:18px;height:18px;flex:0 0 18px;color:#b7c5d5}.sidebar .nav-item:hover{background:#ffffff09;color:#fff}.sidebar .nav-item.active{background:#2c3747;color:var(--brand-blue);box-shadow:inset 3px 0 var(--brand-blue)}.sidebar .nav-item.active>.nav-icon{color:var(--brand-blue)}.sidebar .nav-dropdown{margin-top:14px;padding-top:10px;border-top:1px solid #ffffff12}.sidebar .nav-dropdown>summary.nav-item{color:#aabbd0}.sidebar .nav-dropdown>summary .nav-dropdown-arrow{width:14px;height:14px;flex-basis:14px}.sidebar .nav-submenu{padding:3px 0 0 28px}.sidebar .nav-subitem{display:flex;align-items:center;gap:9px;min-height:36px;padding:7px 10px;font-size:12px;border-radius:6px}.sidebar .nav-subitem .nav-icon{width:16px;height:16px}.sidebar .nav-subitem:hover,.sidebar .nav-subitem.active{background:#ffffff09;color:var(--brand-blue)}.sidebar .sidebar-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff18;font-size:10px}.sidebar-workspace{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.sidebar-workspace .online-dot{margin:0;width:5px;height:5px}.sidebar .sidebar-bottom .sidebar-version{margin:0;padding:3px 6px;border-radius:5px;background:#ffffff08;color:#92a2b8;font-size:9px;white-space:nowrap}}
@media(max-width:950px){#workspace-navigation .nav-item{border-radius:7px}#workspace-navigation .nav-item.active{box-shadow:inset 3px 0 var(--brand-blue)}#workspace-navigation .nav-label{margin-top:16px;margin-bottom:6px}}

/* Equipment catalogue: selection, bulk editing and stock count. */
.catalog-batch-grid .catalog-column-hint{display:block;max-width:180px;margin-top:4px;font-size:10px;line-height:1.5;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--muted);white-space:normal}
/* Administration follows the shared card theme with stable action rows. */
.admin-tabs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;border-bottom:1px solid var(--line);margin-bottom:24px;padding-bottom:1px}.admin-tabs a{flex:0 0 auto;padding:12px 16px;border-bottom:3px solid transparent;font-size:13px;white-space:nowrap}.admin-tabs a.active{border-bottom-color:var(--brand-blue);color:var(--accent-text);font-weight:600}.admin-workspace .ui-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-workspace .ui-card-heading h2{margin:0}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.admin-summary-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.admin-summary-card>span{font-size:12px;color:var(--muted)}.admin-summary-card strong{font-size:28px;line-height:1.3;letter-spacing:-.5px}.admin-summary-card strong.admin-summary-state{font-size:18px;min-height:36px;display:flex;align-items:center}.admin-summary-card small{font-size:11px;color:var(--muted);margin-top:auto}.admin-summary-card:hover{border-color:var(--accent-border);background:#f8fcfe}.admin-summary-card.needs-attention{border-top:3px solid #e3b057;padding-top:18px}.admin-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.admin-overview-grid>.panel{margin:0}.admin-attention-row{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.admin-attention-row:last-child{border-bottom:0}.admin-attention-row p{margin:5px 0;color:var(--muted)}.admin-shortcuts>a{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.admin-shortcuts>.helper{margin:16px 0 0}.admin-status{display:inline-block;border-radius:5px;padding:4px 8px;font-size:10px;font-weight:500;line-height:1.5}.admin-status.ok{background:#e6f4ee;color:#247257}.admin-status.attention{background:#fff1d8;color:#895600}.admin-status.inactive{background:#eef1f5;color:#67758a}.admin-system-check{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}.admin-system-check:last-child{border-bottom:0}.admin-system-check>div{min-width:0}.admin-system-check h3{font-size:13px;margin:0 0 5px}.admin-system-check p{font-size:12px;color:var(--muted);margin:0}.admin-system-check>.admin-status{flex-shrink:0;max-width:45%}.admin-schema-missing{font-size:12px;line-height:1.9;overflow-wrap:anywhere}.admin-user-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,180px) minmax(130px,180px) auto auto;gap:10px;align-items:end}.admin-user-filters label,.admin-log-filters label,.admin-export-form label{font-size:12px;min-width:0}.admin-user-filters input,.admin-user-filters select,.admin-log-filters input,.admin-log-filters select,.admin-export-form select{margin-top:6px;width:100%}.admin-search-status{min-height:20px;margin:8px 0}.admin-user-table{overflow:visible}.admin-user-table table{width:100%;min-width:0;white-space:normal}.admin-user-table th,.admin-user-table td{padding:12px;font-size:12px;overflow-wrap:anywhere}.admin-user-table td small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.admin-user-actions{width:115px;text-align:right}.admin-user-actions>details{position:relative;margin:0}.admin-user-actions summary.button{display:inline-flex;font-size:12px;min-height:36px;padding:8px 12px}.admin-action-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:15;width:300px;max-width:calc(100vw - 70px);padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 26px #17223420;text-align:left}.admin-action-menu .button{display:flex;justify-content:center;align-items:center;width:100%;font-size:12px;white-space:normal}.admin-action-menu form{display:grid;gap:12px;padding-top:12px;margin-top:12px;border-top:1px solid var(--line)}.admin-action-menu .batch-check{font-size:11px;align-items:flex-start}.admin-role-guide{padding:0!important}.admin-role-guide>summary{padding:14px 18px;font-size:13px;font-weight:600;background:#f5f7fa}.admin-role-guide p{font-size:12px}.admin-export-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0}.admin-export-form>label{flex:1;min-width:180px;max-width:420px}.admin-log-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:16px 0 20px}.admin-log-filters>label:first-of-type{grid-column:1/-1}.admin-log-entry{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;padding:16px 0;border-bottom:1px solid var(--line)}.admin-log-meta{font-size:11px;color:var(--muted)}.admin-log-meta span{display:block;margin-top:5px;color:var(--ink)}.admin-log-content{min-width:0;font-size:12px}.admin-log-kind{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.admin-log-content>.gig-link,.admin-log-content>strong{font-size:13px;overflow-wrap:anywhere}.admin-log-excerpt{margin:6px 0;color:var(--muted);overflow-wrap:anywhere}.admin-log-content details{margin-top:8px;font-size:11px}.admin-log-content details summary{color:var(--accent-text)}.admin-log-content .prose{padding:12px;background:#f5f7fa;border-radius:6px;overflow-wrap:anywhere;max-height:300px;overflow:auto}
@media(max-width:1150px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-user-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.admin-user-filters>label:first-of-type{grid-column:1/-1}.admin-user-filters>.text-link{grid-column:3}.admin-overview-grid{grid-template-columns:1fr}}
@media(max-width:680px){.admin-tabs{gap:0;margin-bottom:18px}.admin-tabs a{padding:10px 12px;font-size:12px}.admin-summary-grid{gap:10px;margin-bottom:18px}.admin-summary-card{padding:14px;gap:10px}.admin-summary-card.needs-attention{padding-top:12px}.admin-summary-card strong{font-size:24px}.admin-summary-card strong.admin-summary-state{font-size:14px;min-height:32px}.admin-summary-card small{font-size:10px}.admin-user-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-user-filters>label:first-of-type{grid-column:1/-1}.admin-user-filters>.text-link{grid-column:2}.admin-user-table table,.admin-user-table tbody{display:block}.admin-user-table thead{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.admin-user-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-user-table td{display:block;border:0;padding:0;min-width:0}.admin-user-table td:first-child{grid-column:1;grid-row:1}.admin-user-table td:nth-child(2){grid-column:1;grid-row:2}.admin-user-table td:nth-child(3){grid-column:1/-1;grid-row:3}.admin-user-table td:nth-child(3)::before{content:'Henkilöstö: ';color:var(--muted)}.admin-user-table td:nth-child(4){grid-column:1;grid-row:4}.admin-user-table .admin-user-actions{grid-column:2;grid-row:1/3;width:auto}.admin-action-menu{position:absolute;max-width:calc(100vw - 76px)}.admin-system-check{align-items:start;flex-direction:column;gap:10px}.admin-system-check>.admin-status{max-width:100%}.admin-log-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-log-filters>label:last-of-type{grid-column:auto}.admin-log-entry{grid-template-columns:1fr;gap:8px}.admin-log-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.admin-log-meta span{margin:0}.admin-export-form{align-items:stretch}.admin-export-form>label{max-width:none;width:100%}.admin-export-form>.button{width:100%}}
#downtime-form .ui-form-actions,#downtime-preview .ui-form-actions{align-items:stretch}#downtime-form .ui-form-actions>.button,#downtime-preview .ui-form-actions>.button{display:flex;align-items:center;justify-content:center}.downtime-card .downtime-card-actions{flex-wrap:nowrap}.downtime-card-actions>a.button{flex:0 0 100px;text-align:center;padding-left:10px;padding-right:10px}.downtime-card .downtime-card-actions>details{flex:1;min-width:0}.downtime-card .downtime-return-form{width:calc(100% + 110px);max-width:480px;margin-left:-110px}
.downtime-badge{display:inline-block;background:#fff1d8;color:#895600;border-radius:5px;padding:3px 7px;font-size:10px;line-height:1.5}.catalog-name .downtime-badge{display:block;width:fit-content;margin-top:5px}.catalog-downtime,.catalog-usable{text-align:right;font-variant-numeric:tabular-nums}.equipment-downtimes{margin-bottom:24px!important;scroll-margin-top:20px}.equipment-downtimes>.ui-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.equipment-downtimes header h2{margin:0}.equipment-downtimes header p{margin:4px 0 0}.downtime-cards{display:grid;gap:12px}.downtime-card{border:1px solid var(--line);border-radius:10px;padding:14px}.downtime-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.downtime-card>header strong{font-size:14px}.downtime-card .helper{font-size:11px;margin-bottom:10px}.downtime-card .prose{font-size:12px;overflow-wrap:anywhere}.downtime-card-actions{display:flex;align-items:start;gap:10px;flex-wrap:wrap}.downtime-card-actions>details{margin:0}.downtime-card-actions summary.button{display:inline-flex;min-height:44px;margin:0}.downtime-return-form{display:grid;gap:12px;padding:14px;margin-top:10px;border:1px solid var(--line);border-radius:8px;background:#f5f7fa}.downtime-return-form label{font-size:12px}.downtime-return-form input[type=number]{width:120px;margin-top:6px}.downtime-history{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.downtime-history[open]{max-height:480px;overflow:auto}.downtime-history summary{font-size:12px;font-weight:600;color:var(--accent-text);padding:4px 0}.downtime-history article{border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.downtime-history article small{display:block;font-size:10px;color:var(--muted);margin:4px 0}.downtime-history article p:last-child{margin-bottom:0}.downtime-history>p{padding-top:12px}.downtime-item-list{display:grid;gap:10px}.downtime-item-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:8px}.downtime-item-row>.batch-check{flex-wrap:wrap;overflow-wrap:anywhere}.downtime-item-row small{flex-basis:100%;margin-left:27px;font-weight:400;font-size:11px}.downtime-item-row>label:not(.batch-check){font-size:12px}.downtime-item-row input[type=number]{margin-top:6px;width:100%}.downtime-issues{font-size:12px;line-height:1.8;padding-left:20px}.downtime-shift{background:#fff1d8!important;color:#805000!important;border-color:#efcf94!important}.downtime-shift>span:last-child{white-space:normal;overflow-wrap:anywhere}

@media(max-width:600px){.downtime-item-row{grid-template-columns:1fr;gap:10px;padding:12px}.equipment-catalog-panel .catalog-batch-grid td.catalog-downtime,.equipment-catalog-panel .catalog-batch-grid td.catalog-usable{grid-column:2/4;padding:0;font-size:11px;text-align:left}.catalog-downtime::before,.catalog-usable::before{content:attr(data-label) ': ';color:var(--muted)}.downtime-card>header{align-items:start;flex-wrap:wrap}.downtime-card-actions>details{flex:1}.downtime-card-actions .button{font-size:12px}.downtime-return-form{padding:12px}.equipment-downtimes>.ui-card-heading>.button{width:100%}}

.equipment-catalog-panel .equipment-filters>.catalog-reset{grid-column:5;grid-row:1}
.catalog-tools .catalog-select-mobile{display:none!important}
.batch-quantity-table td:first-child{white-space:normal;overflow-wrap:anywhere}
.equipment-catalog-panel .equipment-filters{grid-template-columns:minmax(200px,1fr) minmax(150px,230px) minmax(150px,200px) auto auto;gap:10px;padding:16px 18px}
.catalog-availability{grid-column:1/-1;margin:0}.catalog-availability>summary{font-size:12px;color:var(--accent-text);padding:4px 0}.catalog-availability>div{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding-top:10px}.catalog-availability label{flex:1;min-width:180px!important}.catalog-availability p{margin:8px 0 0}
.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:0 18px 14px;border-bottom:1px solid var(--line)}.catalog-tools .helper{margin:0}.catalog-tools a{margin-left:auto}
.equipment-catalog-panel .catalog-batch-grid th,.equipment-catalog-panel .catalog-batch-grid td{padding:12px 14px}.equipment-catalog-panel .catalog-batch-grid th:first-child{width:auto}.catalog-batch-grid .catalog-name{width:35%}.equipment-catalog-panel .catalog-batch-grid .catalog-check{width:46px;padding-left:18px;padding-right:8px}.catalog-check input[type=checkbox],.batch-check input[type=checkbox]{appearance:auto;width:17px!important;height:17px;min-width:17px;min-height:17px;padding:0;margin:0;accent-color:var(--accent-focus);cursor:pointer;flex:0 0 17px}.catalog-batch-grid tr.is-selected{background:#edf8fd}.catalog-batch-grid thead th{position:sticky;top:0;z-index:2;background:#f5f7fa}.equipment-catalog-panel .equipment-grid-scroll{max-height:70vh;overflow:auto}.catalog-batch-grid th a{display:block;white-space:nowrap}.catalog-row-actions{font-size:11px;text-align:right}.catalog-used,.catalog-free{text-align:right;font-variant-numeric:tabular-nums}
.catalog-batch-dialog{width:min(800px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #17223438}.catalog-batch-dialog::backdrop{background:#17223488}.catalog-batch-dialog>form{display:flex;flex-direction:column;max-height:calc(100dvh - 42px)}.catalog-batch-dialog .ui-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0;padding:14px 18px;background:#f5f7fa;border-bottom:1px solid var(--line)}.catalog-batch-dialog h2{font-size:16px;margin:0}.catalog-batch-dialog header p{margin:4px 0 0}.catalog-batch-body{padding:18px;overflow-y:auto;min-height:0}.catalog-batch-body>div>p:first-child{margin-top:0}.batch-field{border:1px solid var(--line);border-radius:9px;margin-top:12px;overflow:hidden}.batch-check{display:flex!important;align-items:center;justify-content:flex-start!important;gap:10px!important;font-size:12px;font-weight:600;line-height:1.6;margin:0}.batch-field>.batch-check{padding:12px 14px;background:#f5f7fa}.batch-field fieldset{border:0;margin:0;padding:14px;min-width:0}.batch-field fieldset:disabled{display:none}.batch-field fieldset label{font-size:12px;display:block}.batch-field fieldset input,.batch-field fieldset select,.batch-field fieldset textarea{margin-top:6px;width:100%}.batch-field .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.batch-field .form-grid label:last-child{grid-column:1/-1}.batch-field fieldset .helper{margin-bottom:0}.catalog-batch-footer{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#f5f7fa;border-top:1px solid var(--line);flex-shrink:0}.batch-quantity-table{width:100%;min-width:0}.batch-quantity-table th,.batch-quantity-table td{padding:10px;font-size:12px}.batch-quantity-table th:first-child{width:45%}.batch-quantity-table input{width:110px;min-height:44px}.batch-quantity-table td:last-child{font-variant-numeric:tabular-nums}.catalog-batch-body [hidden]{display:none!important}
.catalog-preview{margin-bottom:24px!important;scroll-margin-top:20px}.batch-preview-list{display:grid;gap:12px;margin-bottom:18px}.batch-preview-item{border:1px solid var(--line);border-radius:9px;padding:14px}.batch-preview-item h3{margin:0 0 10px;font-size:14px}.batch-preview-item dl{margin:0;display:grid;gap:8px}.batch-preview-item dl>div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;font-size:12px}.batch-preview-item dt{color:var(--muted)}.batch-preview-item dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto}.batch-shortage{padding:10px;background:#fff4df;color:#805400;font-size:12px;border-radius:6px}.batch-shortage a{text-decoration:underline}.catalog-preview .batch-check{align-items:flex-start;margin-bottom:12px}.catalog-preview .batch-check input{margin-top:2px}
@media(max-width:1100px){.equipment-catalog-panel .equipment-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.equipment-catalog-panel .equipment-filters .search-label{grid-column:1/-1}.equipment-catalog-panel .equipment-filters>.text-link{grid-column:3}.catalog-availability{grid-row:4}.catalog-batch-grid .catalog-name{width:auto}}
@media(max-width:600px){.equipment-catalog-panel .equipment-filters{padding:14px;grid-template-columns:minmax(0,1fr) auto}.equipment-catalog-panel .equipment-filters .catalog-category-picker{grid-column:1/-1}.equipment-catalog-panel .equipment-filters>label:not(.search-label){grid-column:1}.catalog-availability{grid-row:auto}.catalog-tools{padding:0 14px 12px}.catalog-tools a{margin-left:0}.equipment-catalog-panel .catalog-batch-grid thead{position:absolute;clip:rect(0,0,0,0)}.equipment-catalog-panel .catalog-batch-grid tbody tr{grid-template-columns:26px minmax(0,1fr) auto;gap:4px 8px;padding:14px}.equipment-catalog-panel .catalog-batch-grid td.catalog-check{grid-column:1;grid-row:1/5;width:26px;padding:0;align-self:start;padding-top:3px}.equipment-catalog-panel .catalog-batch-grid td.catalog-name{grid-column:2;grid-row:1;padding:0;width:auto}.equipment-catalog-panel .catalog-batch-grid td.catalog-category{grid-column:2;grid-row:2;padding:0}.equipment-catalog-panel .catalog-batch-grid td.equipment-grid-code{grid-column:2;grid-row:3;padding:0}.equipment-catalog-panel .catalog-batch-grid td.equipment-grid-quantity{grid-column:3;grid-row:1/3;padding:0}.equipment-catalog-panel .catalog-batch-grid td.catalog-row-actions{grid-column:3;grid-row:3;padding:0}.equipment-catalog-panel .catalog-batch-grid td.catalog-used,.equipment-catalog-panel .catalog-batch-grid td.catalog-free{grid-column:2/4;grid-row:auto;font-size:12px;padding:0;text-align:left}.catalog-used::before,.catalog-free::before{content:attr(data-label) ': ';color:var(--muted)}.equipment-catalog-panel .equipment-grid-scroll{max-height:none;overflow:visible}.catalog-batch-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.catalog-batch-dialog>form{max-height:calc(100dvh - 18px)}.catalog-batch-body{padding:12px}.catalog-batch-dialog .ui-card-heading,.catalog-batch-footer{padding:12px}.catalog-batch-footer .button{flex:1;padding:10px 8px;font-size:12px}.batch-field .form-grid{grid-template-columns:1fr}.batch-quantity-table th,.batch-quantity-table td{padding:8px 4px;font-size:11px;white-space:normal}.batch-quantity-table input{width:80px;padding:8px}.batch-preview-item dl>div{grid-template-columns:1fr;gap:2px}.batch-preview-item{padding:12px}}
@media(max-width:1100px){.equipment-catalog-panel .equipment-filters>.catalog-reset{grid-column:3;grid-row:3}.catalog-availability{grid-column:1/3;grid-row:3}}
@media(max-width:600px){.equipment-catalog-panel .equipment-filters>.catalog-reset{grid-column:2;grid-row:4}.catalog-availability{grid-column:1;grid-row:4}}
@media(max-width:600px){.catalog-tools .catalog-select-mobile{display:flex!important;flex-basis:100%;min-height:36px}.catalog-tools>.helper{font-size:11px}}

/* Compact gig workspace; shared headings keep actions beside their section. */
.gig-page-heading{align-items:flex-start;margin-bottom:18px}.gig-page-heading .eyebrow{margin-bottom:6px}.gig-page-heading h1{font-size:30px;margin-bottom:8px}.gig-heading-meta{align-items:center;gap:4px 14px}.gig-heading-meta>span+span{border-left:1px solid var(--line);padding-left:14px}.gig-heading-identity{flex:1}.gig-heading-identity .gig-project-links{margin-top:10px}.gig-action-menu[open]{z-index:30}.gig-action-options .notification-follow-compact{display:block;margin:4px 0;padding:6px 0;border-top:1px solid var(--line)}.notification-follow-compact .button{display:block;width:100%;border:0;background:transparent;text-align:left;justify-content:flex-start;padding:11px 12px;font-size:12px;font-weight:500}.notification-follow-compact small{display:block;padding:0 12px 8px;font-size:11px;line-height:1.5}.notification-follow-compact .button:hover{background:#f0f7fb}.gig-navigation-anchor{height:1px;margin-bottom:-1px}.gig-section-tabs{margin-bottom:18px;padding-top:0;isolation:isolate}.gig-section-tabs.is-stuck{box-shadow:0 5px 8px -6px #17243840}.gig-section-tabs a{padding:12px 15px}.gig-tab-panel>#schedule,.gig-tab-panel>#gig-transports{padding:0 20px 20px}.gig-tab-panel>#schedule>.section-title,.gig-tab-panel>#gig-transports>.section-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 -20px 18px;padding:14px 20px;background:#f5f7fa;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}.gig-tab-panel>#gig-transports>.section-heading h2{margin:0}.gig-tab-panel .gig-section-add{margin-left:auto;min-height:36px;font-size:12px;padding:7px 12px}.gig-tab-panel>#expenses>.ui-card-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.gig-tab-panel>#personnel>.section-title,.gig-tab-panel>#equipment>.section-title{background:#f5f7fa}.gig-tab-panel>#comments>.ui-card-heading{display:flex;align-items:center;gap:10px}.gig-tab-panel .section-title h2{font-size:16px}.gig-tab-panel :is(#schedule-new,#expense-form,#staff-plan-action){scroll-margin-top:85px}
@media(max-width:700px){.gig-page-heading h1{font-size:25px}.gig-heading-meta{gap:4px 10px}.gig-heading-meta>span+span{padding-left:10px}.gig-heading-actions .button{min-height:42px}.gig-section-tabs{margin-bottom:14px}.gig-section-tabs a{padding:12px}.gig-tab-panel>#schedule,.gig-tab-panel>#gig-transports{padding:0 14px 14px}.gig-tab-panel>#schedule>.section-title,.gig-tab-panel>#gig-transports>.section-heading{margin:0 -14px 14px;padding:12px 14px}.gig-tab-panel .gig-section-add{font-size:11px;padding:7px 9px}.gig-heading-actions:has(>.gig-action-menu:only-child){justify-content:flex-end}}

.staff-roster-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.gig-tab-panel>#expenses>.ui-card-heading{justify-content:flex-start}@media(max-width:600px){.staff-roster-actions{width:100%}.staff-roster-actions>.button{flex:1;font-size:11px;padding:9px 10px}}
.gig-tab-panel>:is(#personnel,#equipment){padding:0 20px 20px}.gig-tab-panel>:is(#personnel,#equipment)>summary.section-title{margin:0 -20px;padding:14px 20px;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0}.gig-tab-panel>:is(#personnel,#equipment):not([open])>summary.section-title{border-bottom:0}.gig-tab-panel>:is(#personnel,#equipment):not([open]){padding-bottom:0}
@media(max-width:700px){.gig-tab-panel>:is(#personnel,#equipment){padding:0 14px 14px}.gig-tab-panel>:is(#personnel,#equipment)>summary.section-title{margin:0 -14px;padding:12px 14px}}
/* Make the complete mobile gig card a native link, including blank space. */
@container gig-list (max-width:760px){.gig-list-panel .gig-list-table tbody>tr{position:relative;isolation:isolate}.gig-list-panel .gig-list-table .gig-link{position:static}.gig-list-panel .gig-list-table .gig-link::after{content:'';position:absolute;inset:0;z-index:1;cursor:pointer}.gig-list-panel .gig-list-table .gig-link:focus-visible::after{outline:2px solid var(--accent);outline-offset:-3px;border-radius:6px}.gig-list-panel .gig-list-table .row-actions{position:relative;z-index:2}.gig-list-panel .gig-list-table tbody>tr:active{background:#edf7fc}}
@media(max-width:680px){.gig-list-panel>.list-header{min-width:0;gap:0}.gig-list-panel>.list-header>.tabs{display:flex;flex:1 1 100%;max-width:100%;flex-wrap:nowrap;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.gig-list-panel>.list-header>.tabs>a{flex:0 0 auto;white-space:nowrap;min-height:48px;display:flex;align-items:center}.gig-list-panel>.list-header>.result-count{flex-basis:100%;padding:5px 0 9px}}
/* Gig planning list */
.gig-planning-table{table-layout:fixed;width:100%}.gig-planning-table th:nth-child(1){width:auto}.gig-planning-table th:nth-child(2){width:132px}.gig-planning-table th:nth-child(3){width:120px}.gig-planning-table th:nth-child(4){width:184px}.gig-planning-table th:nth-child(5){width:152px}.gig-planning-table th:nth-child(6){width:64px}.gig-planning-table thead th{font-size:10px;text-transform:none;letter-spacing:.3px;padding:12px 16px}.gig-planning-table .gig-planning-row>td{padding:16px;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.gig-planning-row:hover{background:#fbfdff}.gig-row-meta{display:flex;gap:8px;font-size:10px;color:var(--muted);margin-bottom:4px}.gig-planning-row .gig-link{font-size:14px;line-height:1.4;font-weight:700;display:inline-block}.gig-planning-row .gig-client-name{margin-top:4px;font-size:11px}.gig-tour-link{position:relative;z-index:2;display:inline-block;margin-top:6px;font-size:10px;color:var(--accent-text);padding:2px 6px;border-radius:4px;background:#eaf5fb}.gig-planning-row .date-text{font-size:11px;white-space:nowrap}.gig-planning-row .gig-time-range{font-size:11px;margin-top:4px}.gig-venue-name{font-size:12px}.gig-resource-list{display:flex;gap:4px;flex-wrap:nowrap}.gig-planning-table .gig-planning-row>:is(.gig-resource-cell,.row-actions,[data-label="Status"]){padding-inline:8px}.gig-resource-link{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:3px;min-height:44px;min-width:44px;flex:1;padding:4px 3px;background:#fff;border:1px solid #dce6ef;border-radius:9px;font-size:10px;line-height:1.5;color:#587087;white-space:nowrap;box-shadow:0 1px 2px #18243405;transition:background .15s,border-color .15s,box-shadow .15s}.gig-resource-link .nav-icon{width:16px;height:16px;flex-shrink:0}.gig-resource-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:22px;padding:0 1px;font-size:10px;font-weight:650;line-height:1;font-variant-numeric:tabular-nums}.gig-resource-link.has-resources{background:#f8fcfe;border-color:#c7dfea;color:var(--accent-text)}.gig-resource-link:hover{background:#eef8fc;border-color:#8bcfe9;box-shadow:0 2px 5px #1824340c}.gig-resource-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gig-now-label{display:inline-block;margin-top:5px;padding:1px 6px;background:#e5f5ec;color:#26724f;border-radius:4px;font-size:10px}.gig-planning-row .gig-tentative-label{font-size:10px;color:#856322;margin-top:5px}.gig-planning-table .row-actions .open-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0;padding:0;white-space:nowrap;font-size:10px}.gig-planning-table .badge{white-space:nowrap;text-align:center}.gig-planning-table .gig-day-group th{width:auto;padding:10px 16px;background:#f2f6fa;border-block:1px solid var(--line);text-transform:none;letter-spacing:0;font-size:12px}.gig-day-group th>span{font-weight:700;color:#29435e}.gig-day-group th>small{display:inline-block;margin-left:12px;font-size:10px;color:var(--muted);font-weight:400}
.gig-list-panel{container-type:inline-size;container-name:gig-list}
@container gig-list (max-width:760px){.gig-planning-table{table-layout:auto;min-width:0}.gig-planning-table thead{display:none}.gig-planning-table,.gig-planning-table tbody{display:block}.gig-planning-table tbody>tr.gig-day-group{display:block;padding:0;border:0;background:#f2f6fa}.gig-planning-table .gig-day-group th{display:block;width:100%;padding:9px 12px}.gig-day-group th>small{display:block;margin:2px 0 0}.gig-list-panel .gig-planning-table tbody>tr.gig-planning-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;padding:14px 12px}.gig-list-panel .gig-planning-table .gig-planning-row>td{padding:0;min-width:0;border:0}.gig-list-panel .gig-planning-table .gig-planning-row>.gig-identity{grid-column:1;grid-row:1}.gig-list-panel .gig-planning-table td[data-label="Status"]{grid-column:2;grid-row:1;align-self:start;max-width:144px}.gig-list-panel .gig-planning-table td[data-label="Ajankohta"]{grid-column:1/-1;grid-row:2;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.gig-planning-row .date-text{font-size:12px}.gig-planning-row .gig-time-range{font-size:12px;margin:0}.gig-list-panel .gig-planning-table td[data-label="Tapahtumapaikka"]{grid-column:1;grid-row:3}.gig-list-panel .gig-planning-table .row-actions{grid-column:2;grid-row:3;align-self:center}.gig-list-panel .gig-planning-table .row-actions a{min-height:44px;padding:0}.gig-list-panel .gig-planning-table .gig-resource-cell{grid-column:1/-1;grid-row:4;border-top:1px solid #edf1f5;padding-top:9px!important}.gig-row-meta{font-size:9px}.gig-tour-link{padding:4px 7px}.gig-planning-row .badge{font-size:9px}}

.gig-list-panel .gig-search-toolbar{display:block;padding:18px 24px 14px}.gig-search-main{display:grid;grid-template-columns:minmax(210px,2fr) repeat(3,minmax(125px,1fr)) auto;align-items:end;gap:10px}.gig-search-main>label,.gig-date-fields>label{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}.gig-search-main label>span:first-child,.gig-date-fields label>span:first-child{font-size:11px;color:#536b82;line-height:16px;margin:0}.gig-search-main input,.gig-search-main select,.gig-date-fields input{box-sizing:border-box;width:100%;min-width:0;height:44px;margin:0;padding:10px 12px}.gig-search-main>.button{height:44px;min-height:44px;margin:0;align-self:end;padding:10px 14px}.gig-search-secondary{display:flex;align-items:start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px}.gig-date-options{margin:0;min-width:0;flex:0 1 auto}.gig-date-options>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:44px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;color:var(--accent-text);background:#f7fafc;font-size:11px}.gig-date-options>summary::-webkit-details-marker{display:none}.gig-date-options>summary::after{content:'⌄';font-size:14px;margin-left:auto}.gig-date-options[open]>summary::after{content:'⌃'}.gig-date-options>summary [data-gig-date-label]{font-size:10px;font-weight:600}.gig-date-options>summary [data-gig-date-label]:empty{display:none}.gig-date-options[open]{flex-basis:100%;order:2}.gig-date-options[open]>summary{border-radius:7px 7px 0 0;background:#eef5fa;font-weight:600}.gig-date-panel{border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;background:#fbfdfe;padding:14px}.gig-date-intro strong{font-size:12px}.gig-date-intro p{margin:3px 0 12px;font-size:11px;color:var(--muted)}.gig-date-fields{display:grid;grid-template-columns:minmax(140px,230px) minmax(140px,230px) auto;align-items:end;gap:12px}.gig-date-clear{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:var(--accent-text);justify-self:start}.gig-search-guidance{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center;justify-content:flex-end;min-height:38px;margin-left:auto}.gig-search-guidance>span:first-child{font-size:10px;color:var(--muted)}.gig-search-guidance .text-link{padding:5px 0;background:transparent;min-height:34px;display:inline-flex;align-items:center;color:#41617c}.gig-date-options>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:1150px){.gig-search-main{grid-template-columns:repeat(3,minmax(0,1fr))}.gig-search-main>.search-label{grid-column:1/3;grid-row:1}.gig-search-main>.button{grid-column:3;grid-row:1}.gig-search-main>label:not(.search-label){grid-row:2}}
@media(max-width:680px){.gig-list-panel .gig-search-toolbar{padding:12px}.gig-search-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 8px}.gig-search-main>.search-label{grid-column:1/-1;grid-row:1}.gig-search-main>label:not(.search-label){grid-row:auto}.gig-search-main>.button{grid-column:2;grid-row:3;justify-self:stretch}.gig-search-secondary{gap:8px;margin-top:10px}.gig-search-guidance{flex:1 1 100%;margin:0;justify-content:space-between}.gig-date-options{flex-basis:100%}.gig-date-options[open]{order:0}.gig-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.gig-date-clear{grid-column:1/-1;min-height:32px}.gig-date-panel{padding:12px}.gig-date-fields input{padding:9px;font-size:12px}.gig-search-main select{font-size:12px}}
.panel.gig-screens{margin:0;padding:0;border-top:1px solid var(--line)}.gig-screens .section-heading{margin:0}.gig-screens .section-heading h2{margin:0}.gig-screens .section-heading .button{margin:0}.gig-screens .inline-empty{margin:0}.gig-screens .gig-screen:first-child{border-top:0;padding-top:0}.gig-screens .gig-screen:last-child{padding-bottom:0}

.topbar{gap:16px}.breadcrumbs{min-width:0;flex:1}.breadcrumbs ol{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;min-width:0}.breadcrumbs li{display:flex;align-items:center;gap:4px;min-width:0;font-size:12px;color:var(--muted)}.breadcrumbs li:last-child{flex:0 1 auto}.breadcrumbs svg{width:14px;height:14px;flex-shrink:0;fill:none;stroke:#8a9bae;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.breadcrumbs a,.breadcrumbs span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.breadcrumbs a{padding:10px 5px;color:var(--accent-text);border-radius:5px}.breadcrumbs a:hover{background:#edf6fb;text-decoration:underline}.breadcrumbs a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.breadcrumbs [aria-current=page]{font-weight:600;color:var(--ink)}@media(max-width:680px){.topbar{gap:8px}.breadcrumbs li{font-size:11px}.breadcrumbs li:first-child{display:none}.breadcrumbs li:nth-child(2)>svg{display:none}.breadcrumbs a,.breadcrumbs span{max-width:150px}.breadcrumbs li:last-child{flex:1}.breadcrumbs li:last-child span{max-width:100%}.breadcrumbs ol{gap:0}.breadcrumbs li{gap:0}}
.breadcrumbs li{gap:14px;color:var(--ink)}.breadcrumbs ol{gap:14px}.breadcrumbs a,.breadcrumbs a:visited,.breadcrumbs a:hover,.breadcrumbs a:active{padding:0;color:inherit;background:transparent;border-radius:0;text-decoration:none;font-weight:400}.breadcrumbs [aria-current=page]{font-weight:500}.breadcrumbs .breadcrumb-separator{color:var(--muted);flex-shrink:0}.breadcrumbs a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:680px){.breadcrumbs li,.breadcrumbs ol{gap:6px}.breadcrumbs li:nth-child(2)>.breadcrumb-separator{display:none}}

.mcp-connection{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.mcp-connection:first-child{padding-top:0}.mcp-connection:last-child{border:0;padding-bottom:0}.mcp-connection p{margin:5px 0}.mcp-connection form{flex-shrink:0}.mcp-connection .button{margin:0}@media(max-width:680px){.mcp-connection{align-items:start;flex-wrap:wrap}}
.mcp-scopes{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fafc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mcp-scopes legend{padding:0 5px;font-size:12px;font-weight:600}.mcp-scopes label.checkbox-row{display:flex;align-items:center;gap:9px;margin:0;padding:9px;background:#fff;border:1px solid var(--line);border-radius:6px;min-height:44px;font-size:12px;line-height:1.5}.mcp-scopes input{flex-shrink:0;margin:0}@media(max-width:680px){.mcp-scopes{grid-template-columns:1fr}}
.mcp-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:0 0 18px}.mcp-checks li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;font-size:12px}.mcp-checks strong{font-size:11px;white-space:nowrap}.mcp-check-ok{color:#21795e}.mcp-check-pending{color:#966000}.mcp-last-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px}.mcp-last-events>div{padding:14px;border:1px solid var(--line);border-radius:8px;background:#f8fafc}.mcp-last-events h3{font-size:12px;margin:0 0 8px}.mcp-last-events strong{font-size:13px}.mcp-last-events p{margin:6px 0 0}.mcp-connection .badge{margin-left:8px}@media(max-width:680px){.mcp-checks,.mcp-last-events{grid-template-columns:1fr}}
.mcp-status .section-heading{margin:0;flex-wrap:wrap;gap:12px}.mcp-status .section-heading h2,.mcp-status .section-heading form,.mcp-status .section-heading .button{margin:0}

/* Gig personnel workspace: shared card, control and status styling. */
#personnel.staff-workspace .staff-workspace-intro{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
#personnel .staff-workspace-intro h3{font-size:18px;margin:0 0 5px;letter-spacing:-.3px}
#personnel .staff-workspace-intro p{margin:0;line-height:1.6}
#personnel .staff-roster-actions .button{min-height:40px;font-size:12px;padding:10px 14px}
.staff-roster-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}
.staff-roster-stats>div{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#f8fafc;min-width:0}
.staff-roster-stats dt{font-size:12px;color:var(--muted);margin-bottom:6px}
.staff-roster-stats dd{font-size:24px;font-weight:700;margin:0;line-height:1.2;letter-spacing:-.6px}
.staff-roster-stats .staff-stat-pending{background:#fff9ed;border-color:#f1dfb8}.staff-stat-pending dd{color:#92610d}
#personnel .staff-roster-filterbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(170px,230px) auto;gap:12px;align-items:end;margin-bottom:14px}
#personnel .staff-roster-filterbar label{margin:0;min-width:0;font-size:12px}.staff-roster-filterbar input,.staff-roster-filterbar select{min-height:44px}
#personnel .staff-roster-filterbar p{padding-bottom:12px;margin:0;white-space:nowrap;min-width:105px}
#personnel .staff-roster-legend{margin:0;padding:0 0 4px;line-height:1.6}
#personnel .staff-phase-group{margin-top:16px;border-radius:12px;box-shadow:none}
#personnel .staff-phase-heading{padding:16px 18px;background:#f5f7fa;gap:14px}
#personnel .staff-phase-heading h3{font-size:14px;margin:0 0 5px}
#personnel .staff-phase-heading p{line-height:1.6;margin:0}
#personnel .staff-phase-meta .count{font-size:11px;border-radius:6px;padding:5px 8px}
#personnel .staff-roster-columns{padding-top:12px;padding-bottom:8px}
#personnel .staff-shift{border-top:1px solid var(--line);border-bottom:0;padding:17px 18px}
#personnel .staff-shift-summary{grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(105px,.7fr) 116px;gap:16px}
#personnel .staff-roster-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,1.1fr) minmax(105px,.7fr) 116px;gap:16px}
#personnel .staff-shift-identity{display:flex;align-items:center;gap:11px;overflow-wrap:anywhere}
.staff-person-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#eaf4fa;color:#176c94;font-weight:700;font-size:14px}
.staff-person-copy{min-width:0}.staff-person-copy>strong{font-size:14px}.staff-person-copy small{display:block}
#personnel .staff-shift-time strong{font-variant-numeric:tabular-nums;font-size:14px;line-height:1.5}
#personnel .staff-shift-status .badge{font-size:11px;white-space:normal}
#personnel .staff-shift[data-staff-state=cancelled]{background:#fafbfd}#personnel .staff-shift[data-staff-state=cancelled] .staff-person-copy{color:var(--muted)}
#personnel .staff-shift[data-staff-state=cancelled] .staff-person-avatar{background:#edf0f4;color:var(--muted)}
#personnel .staff-menu-chevron{width:14px;height:14px;transition:transform .15s}#personnel .staff-shift-menu[open] .staff-menu-chevron{transform:rotate(180deg)}
#personnel .staff-roster-footnote{padding:14px 16px;background:#f8fafc;border:1px solid var(--line);border-radius:10px;line-height:1.7;margin-bottom:0}
#personnel :is(.staff-shift-editor,#staff-independent-action)>form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#personnel :is(.staff-shift-editor,#staff-independent-action)>form>label{margin:0;min-width:0}
#personnel :is(.staff-shift-editor,#staff-independent-action)>form>:is(p,div,button),#personnel :is(.staff-shift-editor,#staff-independent-action)>form>label:has(textarea){grid-column:1/-1}
#personnel :is(.staff-shift-editor,#staff-independent-action)>form>button{justify-self:start}
#personnel [data-staff-filters][hidden],#personnel [data-staff-row][hidden],#personnel .staff-phase-group[hidden],#personnel [data-staff-no-results][hidden]{display:none!important}
@media(max-width:1100px){#personnel .staff-shift-summary{grid-template-columns:minmax(0,1fr) minmax(180px,1fr)}#personnel .staff-roster-filterbar{grid-template-columns:minmax(0,1fr) minmax(170px,.5fr)}#personnel .staff-roster-filterbar p{grid-column:1/-1;padding:0;min-height:18px}}
@media(max-width:600px){.staff-roster-stats{gap:8px}.staff-roster-stats>div{padding:12px 10px}.staff-roster-stats dt{font-size:11px;min-height:30px;line-height:1.4}.staff-roster-stats dd{font-size:23px}#personnel .staff-workspace-intro h3{font-size:17px}#personnel .staff-roster-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:stretch}#personnel .staff-roster-actions .button{align-self:stretch;height:100%;padding:9px 10px;white-space:normal;text-align:center;justify-content:center}#personnel .staff-roster-filterbar{grid-template-columns:1fr;gap:10px}#personnel .staff-roster-filterbar p{grid-column:auto}#personnel .staff-phase-heading{padding:14px 12px}#personnel .staff-shift{padding:16px 12px}#personnel .staff-shift-summary{grid-template-columns:minmax(0,1fr) auto;gap:12px}#personnel .staff-person-avatar{width:32px;height:32px;flex-basis:32px}#personnel .staff-shift-time{padding-left:43px}#personnel .staff-shift-status{max-width:120px}#personnel .staff-shift-status .shift-response-status{line-height:1.5}#personnel :is(.staff-shift-editor,#staff-independent-action)>form{grid-template-columns:1fr}}

/* Compact calendar heading for a calendar without a separate view selector. */
.gig-calendar-heading-compact { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"period navigation"; align-items:center; gap:8px 16px; padding:10px 18px; }
.gig-calendar-heading-compact .gig-calendar-period { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; min-height:0; }
.gig-calendar-heading-compact .gig-calendar-period > span { margin:0; }
.gig-calendar-heading-compact .button { min-height:44px; }
@media(max-width:680px) {
    .gig-calendar-heading-compact { grid-template-columns:minmax(0,1fr); grid-template-areas:"period" "navigation"; padding:10px 14px; }
    .gig-calendar-heading-compact .calendar-navigation { justify-self:stretch; }
}
.calendar-agenda-card { overflow-wrap:anywhere; }
.calendar-agenda-card > small { display:block; margin-bottom:8px; color:var(--muted); }
.calendar-agenda-card > .calendar-event { margin-bottom:6px; }
.calendar-contact > strong { display:block; }
