/* Page layouts built on ui.css components. Keep every rule scoped to its workspace. */
.workspace-page .ui-search-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr) auto;
    gap: var(--space-3);
    align-items: end;
    margin-bottom: var(--space-4);
}
.workspace-page .ui-search-toolbar > label { min-width: 0; }
.workspace-page .ui-search-toolbar input,
.workspace-page .ui-search-toolbar select { width: 100%; }
.workspace-page .ui-search-toolbar > .button { justify-self: start; }
.workspace-page .ui-project-search { grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr) auto auto; }
.workspace-page .ui-project-search.ui-auto-search { grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr) auto; }
.workspace-page .ui-list-count { display: flex; align-items: center; align-self: end; min-height: 44px; font-size: var(--text-secondary); white-space: nowrap; }
.workspace-page-admin .ui-search-toolbar { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) auto auto; }
.workspace-page-admin .admin-log-filters.ui-search-toolbar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workspace-page-clients .ui-search-toolbar { grid-template-columns: minmax(0, 1fr) auto 100px; }
.workspace-page-clients .ui-search-toolbar:has(> a.text-link) { grid-template-columns: minmax(0, 1fr) auto auto 100px; }
.workspace-page-clients .ui-auto-search { grid-template-columns: minmax(0, 1fr) 100px; }
.workspace-page-clients .ui-auto-search:has(> a.text-link) { grid-template-columns: minmax(0, 1fr) auto 100px; }
.workspace-page-admin .ui-auto-search { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) auto; }
.workspace-page-gigs .ui-auto-search .gig-search-main { grid-template-columns: minmax(0, 2fr) repeat(3, minmax(125px, 1fr)); }
.workspace-page-equipment .equipment-filters.ui-auto-search { grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)) auto; }
.workspace-page-equipment .ui-auto-search > .catalog-reset { grid-column: 4; grid-row: 1; }
.workspace-page .ui-search-toolbar > .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.workspace-page .ui-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.workspace-page .ui-settings-grid > .panel { margin: 0; min-width: 0; }
.workspace-page .ui-create-panel > summary { padding: 18px 22px; font-size: 16px; background: var(--surface-soft); border-radius: var(--radius); }
.workspace-page .ui-create-panel[open] > summary { border-bottom: 1px solid var(--line); border-radius: var(--radius) var(--radius) 0 0; }
.workspace-page .ui-form-section { min-width: 0; margin: 0; padding: 18px 0; border: 0; border-bottom: 1px solid var(--line); }
.workspace-page .ui-form-section > legend { padding: 0; font-size: 16px; font-weight: 650; color: var(--ink); }
.workspace-page .ui-form-section > .stack { gap: var(--space-3); }
.workspace-page .ui-form-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-3); padding-top: var(--space-4); }
.workspace-page .ui-readonly-facts { margin-bottom: var(--space-4); }
.workspace-page .ui-edit-panel { border-top: 1px solid var(--line); padding-top: var(--space-3); }
.workspace-page .ui-setup-guide { margin: 0 0 var(--space-3); }
.workspace-page .ui-setup-guide > summary { min-height: var(--control-height); display: flex; align-items: center; }
.workspace-page .ui-selection-actions { position: relative; margin: 0; }
.workspace-page-equipment .catalog-selection { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 10px; min-height: 72px; padding: 12px 18px; background: var(--accent-soft); border-bottom: 1px solid var(--accent-border); }
.workspace-page-equipment .catalog-selection > strong { font-size: 12px; }
.workspace-page-equipment .catalog-selection .button { min-height: 44px; }
.workspace-page-equipment .catalog-selection [data-selection-clear] { min-height: 44px; border: 0; background: transparent; padding: 6px; color: var(--accent-text); }
.workspace-page .ui-selection-actions > summary { margin: 0; }
.workspace-page .ui-selection-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: var(--layer-menu); display: grid; gap: 8px; width: 260px; max-width: calc(100vw - 40px); padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--control-radius); box-shadow: 0 8px 24px #18243420; }
.workspace-page .ui-selection-menu .button { width: 100%; white-space: normal; }
.workspace-page .ui-selection-scope { margin: 0; font-size: var(--text-secondary); color: var(--muted); }
.workspace-page .ui-selection-primary { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.workspace-page .ui-calendar-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.workspace-page .ui-calendar-toolbar h2 { margin: 0; font-size: 16px; font-variant-numeric: tabular-nums; }
.workspace-page .ui-calendar-toolbar .ui-calendar-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.workspace-page-screencalc .screen-workflow { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.workspace-page-screencalc .screen-workflow a { display: flex; align-items: center; min-height: 44px; padding: 8px 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--control-radius); font-size: 13px; }
.workspace-page-screencalc :is(#screen-settings, #screen-results, #screen-cabling) { scroll-margin-top: 20px; }
.workspace-page-screencalc .screen-save { padding: 14px; margin: 0 0 18px; border: 1px solid var(--line); border-radius: var(--control-radius); background: var(--surface-soft); }
.workspace-page-home .freelancer-notices { grid-column: 1 / -1; }
.workspace-page-home .freelancer-pending { border-left: 3px solid #d9a545; }
.workspace-page-home .freelancer-pending .freelancer-shift:last-child { border-bottom: 0; }
.workspace-page-billing .billing-search { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; }
.workspace-page-billing .billing-search.ui-auto-search { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); }
.workspace-page-billing .billing-search-secondary { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.workspace-page-billing .billing-date-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; padding: 0 16px; }
.workspace-page-billing .billing-date-options > .ui-floating-panel { width: min(520px, calc(100vw - 40px)); }
.workspace-page-billing .billing-project-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.workspace-page-billing .billing-project h3 { margin: 4px 0; font-size: 15px; }
.workspace-page-billing .billing-breakdown .finance-rows { margin: 0; padding: 16px; }
.workspace-page-billing .billing-breakdown > .ui-floating-panel > a { display: inline-flex; margin: 0 16px 16px; min-height: 44px; align-items: center; }
.workspace-page-billing .billing-date-options > .ui-floating-panel > a { display: inline-flex; margin: 0 16px 16px; min-height: 44px; align-items: center; }
.workspace-page-billing .billing-project-total { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 8px; margin: 12px 0 0; font-size: var(--text-secondary); }
.workspace-page-client .client-list-table a,
.workspace-page-clients .client-list-table .gig-link { display: inline-flex; align-items: center; min-height: 44px; }
.workspace-page .ui-card-body { font-size: var(--text-body); }
.workspace-page .ui-card-body > .helper { font-size: var(--text-secondary); }
@media (max-width: 1150px) {
    .workspace-page-gigs .ui-auto-search .gig-search-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .workspace-page-gigs .ui-auto-search .gig-search-main > .search-label { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
    .workspace-page-billing .billing-search.ui-auto-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-page .ui-search-toolbar,
    .workspace-page .ui-project-search.ui-auto-search,
    .workspace-page-admin .ui-search-toolbar,
    .workspace-page-admin .admin-log-filters.ui-search-toolbar,
    .workspace-page-clients .ui-search-toolbar:has(> a.text-link),
    .workspace-page-admin .ui-auto-search,
    .workspace-page-clients .ui-auto-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-page .ui-search-toolbar > .search-label,
    .workspace-page .ui-search-toolbar > label:first-of-type { grid-column: 1 / -1; }
    .workspace-page .ui-settings-grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
    .workspace-page-billing .billing-floating > .ui-floating-panel { width: min(480px, calc(100vw - 64px)); }
    .workspace-page-gigs .ui-auto-search .gig-search-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .workspace-page-gigs .ui-auto-search label:has(select[name=sort]) { grid-column: 1 / -1; }
    .workspace-page-equipment .equipment-filters.ui-auto-search { grid-template-columns: minmax(0, 1fr) auto; }
    .workspace-page-equipment .ui-auto-search > .catalog-reset { grid-column: 2; grid-row: 4; }
    .workspace-page-gigs .gig-summary-heading { display: none; }
    .workspace-page-gigs .gig-summary-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 18px; }
    .workspace-page-gigs .gig-summary-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 8px; padding: 10px 12px; min-height: 60px; }
    .workspace-page-gigs .gig-summary-card strong { font-size: 22px; margin: 0; }
    .workspace-page-gigs .gig-summary-label { font-size: 12px; }
    .workspace-page-gigs .gig-summary-label svg { display: none; }
    .workspace-page-gigs .gig-summary-card small { grid-column: 1 / -1; font-size: 11px; line-height: 1.4; }
    .workspace-page-equipment .catalog-selection { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; min-height: 118px; padding: 12px; }
    .workspace-page-equipment .catalog-selection > strong { flex-basis: 100%; }
    .workspace-page-equipment .catalog-selection .button { font-size: 12px; padding: 8px 10px; }
    .workspace-page-equipment .catalog-selection [data-selection-clear] { margin: 0; min-height: 44px; }
    .workspace-page-equipment .catalog-selection > .button { white-space: nowrap; }
    .workspace-page .ui-calendar-toolbar { align-items: stretch; }
    .workspace-page .ui-calendar-toolbar > h2 { flex-basis: 100%; order: -1; }
    .workspace-page .ui-form-actions > .button { flex: 1; text-align: center; }
}
@media (max-width: 360px) {
    .workspace-page .ui-search-toolbar,
    .workspace-page .ui-project-search.ui-auto-search,
    .workspace-page-admin .ui-search-toolbar,
    .workspace-page-admin .admin-log-filters.ui-search-toolbar,
    .workspace-page-clients .ui-search-toolbar:has(> a.text-link),
    .workspace-page-admin .ui-auto-search,
    .workspace-page-clients .ui-auto-search { grid-template-columns: minmax(0, 1fr); }
    .workspace-page-gigs .gig-summary-card { padding: 8px; }
    .workspace-page-gigs .gig-summary-card small { font-size: 11px; }
    .workspace-page .ui-selection-menu { right: -20px; }
}
@media print {
    .workspace-page :is(.ui-tabs, .ui-form-actions, .ui-search-toolbar, .ui-selection-actions, .screen-workflow) { display: none; }
}

/* Billing ledger: shared controls with a compact, aligned page layout. */
.workspace-page-billing .billing-toolbar { padding: 16px 20px; }
.workspace-page-billing .billing-toolbar .ui-search-toolbar { margin-bottom: 12px; }
.workspace-page-billing .billing-summary { display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px 28px; margin: 0; padding-top: 12px; border-top: 1px solid var(--line); }
.workspace-page-billing .billing-summary > div { display: flex; align-items: baseline; gap: 8px; }
.workspace-page-billing .billing-summary dt { color: var(--muted); font-size: 12px; }
.workspace-page-billing .billing-summary dd { margin: 0; font-weight: 650; font-size: 16px; font-variant-numeric: tabular-nums; }
.workspace-page-billing .billing-client { padding: 0; }
.workspace-page-billing .billing-client .ui-card-heading { padding: 12px 18px; justify-content: space-between; gap: 12px; }
.workspace-page-billing .billing-client .ui-card-body { padding: 0 18px; }
.workspace-page-billing .billing-client-total { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; justify-content: flex-end; text-align: right; }
.workspace-page-billing .billing-client-total small { color: var(--muted); font-size: 11px; }
.workspace-page-billing .billing-ledger-labels,
.workspace-page-billing .billing-ledger-row { display: grid; grid-template-columns: minmax(140px, 1fr) 95px 145px 120px 260px; gap: 12px; align-items: center; }
.workspace-page-billing .billing-ledger-labels { padding: 10px 0; color: var(--muted); font-size: 11px; border-bottom: 1px solid var(--line); }
.workspace-page-billing .billing-ledger-labels > :nth-child(4) { text-align: right; }
.workspace-page-billing .billing-ledger-row { padding: 12px 0; min-width: 0; }
.workspace-page-billing .billing-ledger-date { font-size: 12px; font-variant-numeric: tabular-nums; }
.workspace-page-billing .billing-ledger-date small { display: block; color: var(--muted); margin-top: 4px; }
.workspace-page-billing .billing-mobile-label { display: none; }
.workspace-page-billing .billing-ledger-amount { min-width: 0; text-align: right; }
.workspace-page-billing .billing-ledger-state { min-width: 0; }
.workspace-page-billing .billing-ledger-state .badge { max-width: 100%; white-space: normal; }
.workspace-page-billing .billing-breakdown > .ui-floating-trigger { display: flex; align-items: flex-end; flex-direction: column; gap: 3px; min-height: 44px; padding: 5px 0; border-color: transparent; background: transparent; text-align: right; }
.workspace-page-billing .billing-breakdown > summary > svg { display: none; }
.workspace-page-billing .billing-breakdown strong { color: var(--accent-text); font-size: 16px; font-variant-numeric: tabular-nums; }
.workspace-page-billing .billing-amount-caption { font-size: 10px; color: var(--muted); }
.workspace-page-billing .billing-actions { display: grid; grid-template-columns: minmax(0, 1fr) 120px; gap: 8px; align-items: stretch; min-height: 44px; }
.workspace-page-billing .billing-actions > .billing-floating { min-width: 0; }
.workspace-page-billing .billing-actions > [data-billing-invoice-action] { grid-column: 2; grid-row: 1; }
.workspace-page-billing .billing-actions > [data-billing-price-action] { grid-column: 1; grid-row: 1; }
.workspace-page-billing .billing-actions > .billing-floating > summary { height: 100%; }
.workspace-page-billing .billing-floating > summary { width: 100%; min-width: 0; padding: 8px; font-size: 12px; white-space: normal; text-align: center; justify-content: center; }
.workspace-page-billing .billing-project { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.workspace-page-billing .billing-project-heading { padding: 12px 0 4px; }
.workspace-page-billing .billing-project > .helper { margin: 4px 0 10px; }
.workspace-page-billing .billing-project-total { border-top: 1px solid var(--line); padding: 10px 0; margin: 0; }
@media (max-width: 1150px) {
    .workspace-page-billing .billing-ledger-labels { display: none; }
    .workspace-page-billing .billing-ledger-row { grid-template-columns: minmax(0, 1fr) 110px 260px; }
    .workspace-page-billing .billing-gig-info { grid-column: 1; grid-row: 1; }
    .workspace-page-billing .billing-ledger-date { grid-column: 1; grid-row: 2; }
    .workspace-page-billing .billing-ledger-date small { display: inline; margin-left: 6px; }
    .workspace-page-billing .billing-ledger-state { grid-column: 1; grid-row: 3; }
    .workspace-page-billing .billing-ledger-amount { grid-column: 2; grid-row: 1 / 4; }
    .workspace-page-billing .billing-row-actions { grid-column: 3; grid-row: 1 / 4; }
}
@media (max-width: 680px) {
    .workspace-page-billing .billing-toolbar { padding: 16px; }
    .workspace-page-billing .billing-summary { gap: 10px 16px; }
    .workspace-page-billing .billing-summary > div { justify-content: space-between; width: 100%; }
    .workspace-page-billing .billing-client .ui-card-heading { align-items: flex-start; flex-direction: column; }
    .workspace-page-billing .billing-client-total { text-align: left; justify-content: flex-start; }
    .workspace-page-billing .billing-ledger-row { grid-template-columns: minmax(0, 1fr) 110px; gap: 8px 12px; }
    .workspace-page-billing .billing-gig-info { grid-column: 1 / -1; }
    .workspace-page-billing .billing-ledger-amount { grid-column: 2; grid-row: 2 / 4; }
    .workspace-page-billing .billing-row-actions { grid-column: 1 / -1; grid-row: 4; }
    .workspace-page-billing .billing-mobile-label { display: inline; color: var(--muted); margin-right: 4px; }
}

.workspace-page .billing-project-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.workspace-page .project-invoice-action > summary { min-width: 0; width: auto; white-space: normal; }

/* Notifications share the workspace cards, tabs and form controls. */
.workspace-page-notifications .notification-toolbar { padding: 0; }
.workspace-page-notifications .notification-toolbar .ui-tabs { margin: 0; padding: 0 18px; }
.workspace-page-notifications .notification-toolbar .ui-search-toolbar { grid-template-columns: minmax(0, 320px) auto minmax(0, 1fr); padding: 14px 18px; margin: 0; }
.workspace-page-notifications .notification-toolbar .ui-auto-search { grid-template-columns: minmax(0, 320px) minmax(0, 1fr); }
.workspace-page-notifications .notification-toolbar .ui-list-count { justify-self: end; }
.workspace-page-notifications .notification-day { padding: 0; }
.workspace-page-notifications .notification-day .ui-card-heading { padding: 12px 18px; }
.workspace-page-notifications .notification-day h2 { font-size: 14px; }
.workspace-page-notifications .ui-notification { position: relative; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; overflow-wrap: anywhere; }
.workspace-page-notifications .ui-notification:last-child { border-bottom: 0; }
.workspace-page-notifications .ui-notification.is-unread { border-left-color: var(--accent); }
.workspace-page-notifications .notification-open { min-width: 0; margin: 0; }
.workspace-page-notifications .notification-open-button,
.workspace-page-notifications .notification-content { position: relative; display: block; padding: 12px 16px 4px; width: 100%; background: transparent; color: var(--ink); font-size: 13px; font-weight: 400; text-align: left; line-height: 1.45; }
.workspace-page-notifications .notification-open-button:hover { color: var(--ink); text-decoration: none; background: var(--surface-soft); }
.workspace-page-notifications .notification-open-button:focus-visible { outline-offset: -3px; }
.workspace-page-notifications .notification-meta { display: flex; align-items: center; flex-wrap: wrap; align-content: center; gap: 4px 8px; min-width: 0; min-height: 44px; margin-top: 4px; padding-left: 124px; padding-right: 152px; color: var(--muted); font-size: 12px; }
.workspace-page-notifications .is-unread .notification-meta { padding-right: 124px; }
.workspace-page-notifications .notification-meta time { font-variant-numeric: tabular-nums; }
.workspace-page-notifications .notification-subject { font-size: 15px; font-weight: 600; color: var(--ink); }
.workspace-page-notifications .notification-open-button .notification-subject { color: var(--accent-text); }
.workspace-page-notifications .notification-detail { color: var(--ink); white-space: pre-line; max-width: 85ch; }
.workspace-page-notifications .notification-row-actions { position: absolute; right: 16px; bottom: 4px; z-index: 1; }
.workspace-page-notifications .notification-read-state { color: var(--muted); font-size: 11px; }
.workspace-page-notifications .is-unread .notification-read-state { color: var(--accent-text); font-weight: 600; }
.workspace-page-notifications .notification-row-actions form { margin: 0; }
.workspace-page-notifications .notification-row-actions .text-button { min-height: 44px; padding: 8px 0; color: var(--accent-text); font-size: 12px; }
@media (max-width: 680px) {
    .workspace-page-notifications .notification-toolbar .ui-search-toolbar,
    .workspace-page-notifications .notification-toolbar .ui-auto-search { grid-template-columns: minmax(0, 1fr); }
    .workspace-page-notifications .notification-toolbar .ui-search-toolbar > label { grid-column: auto; }
    .workspace-page-notifications .notification-toolbar .ui-list-count { justify-self: start; min-height: 0; }
}

.workspace-page-notifications .notification-identity { display: flex; align-items: center; gap: 12px; }
.workspace-page-notifications .notification-event { min-width: 0; color: var(--muted); font-size: 13px; }
.workspace-page-notifications .notification-actor-name { font-size: 14px; font-weight: 650; }
.workspace-page-notifications .notification-event,
.workspace-page-notifications .notification-subject,
.workspace-page-notifications .notification-detail,
.workspace-page-notifications .notification-legacy { margin-left: 48px; }
.workspace-page-notifications .notification-legacy { color: var(--muted); font-size: 11px; }

.workspace-page-notifications .notification-copy { display: grid; gap: 3px; min-width: 0; padding-left: 76px; }
.workspace-page-notifications .notification-graphic { position: absolute; top: 12px; left: 16px; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); color: var(--accent-text); pointer-events: none; }
.workspace-page-notifications .notification-graphic svg { width: 42px; height: 42px; }
.workspace-page-notifications .notification-graphic[data-event-graphic=shift-accepted] { color: var(--green); }
@media (max-width: 680px) {
    .workspace-page-notifications .notification-copy { padding-left: 60px; }
    .workspace-page-notifications .notification-copy > :not(.notification-identity) { margin-left: 0; }
    .workspace-page-notifications .notification-meta { padding-left: 0; }
    .workspace-page-notifications .notification-graphic { width: 44px; height: 44px; }
    .workspace-page-notifications .notification-graphic svg { width: 34px; height: 34px; }
}

.workspace-page-notifications .notification-changes { display: grid; gap: 5px; margin-left: 48px; }
.workspace-page-notifications .notification-change { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; }
.workspace-page-notifications .notification-change-label,
.workspace-page-notifications .notification-change-before { color: var(--muted); }
.workspace-page-notifications .notification-change strong { font-weight: 600; }
@media (max-width: 680px) {
    .workspace-page-notifications .notification-changes { margin-left: 0; }
    .workspace-page-notifications .notification-change { grid-template-columns: minmax(0, 1fr); gap: 1px; }
}

.workspace-page-settings .push-topic-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; min-width: 0; margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.workspace-page-settings .push-topic-choices legend { padding: 0 6px; font-size: 13px; font-weight: 600; }
.workspace-page-settings .push-topic-choices .push-topic-choice { min-height: 44px; margin: 0; align-items: center; }
@media (max-width: 480px) {
    .workspace-page-settings .push-topic-choices { grid-template-columns: minmax(0, 1fr); }
}

/* Staff dashboard layout; cards and controls use the shared theme. */
.workspace-page-home .dashboard-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: var(--space-4); }
.workspace-page-home .dashboard-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); grid-template-areas: "gigs attention"; gap: var(--space-4); align-items: start; }

.workspace-page-home .dashboard-grid .panel { margin: 0; min-width: 0; }
.workspace-page-home .dashboard-grid .ui-card-heading { gap: 12px; flex-wrap: wrap; }
.workspace-page-home .dashboard-list .inline-empty { padding: 16px; margin: 0; }
.workspace-page-home .dashboard-task { display: grid; gap: 5px; padding: 14px 16px; min-height: 44px; border-bottom: 1px solid var(--line); color: var(--ink); overflow-wrap: anywhere; }
.workspace-page-home .dashboard-task:last-child { border-bottom: 0; }
.workspace-page-home .dashboard-task:hover { background: var(--surface-soft); text-decoration: none; }
.workspace-page-home .dashboard-task-kind { font-size: 12px; color: var(--accent-text); }
.workspace-page-home .dashboard-card-footer { display: flex; flex-wrap: wrap; gap: 8px 16px; padding: 12px 16px; border-top: 1px solid var(--line); }
@media (max-width: 900px) {
    .workspace-page-home .dashboard-grid { display: flex; flex-direction: column; }
    .workspace-page-home .dashboard-grid > .panel { width: 100%; }
}

/* Equipment availability timeline: compact summary rows with optional project lanes. */
.workspace-page-equipment_calendar .equipment-timeline-panel { padding: 0; }
.workspace-page-equipment_calendar .timeline-filters { display: grid; grid-template-columns: minmax(180px,2fr) minmax(140px,1fr) minmax(140px,1fr) auto; align-items: end; gap: 12px; padding: 16px; }
.workspace-page-equipment_calendar .timeline-filters > label { min-width: 0; }
.workspace-page-equipment_calendar .timeline-filter-flags label { min-height: 44px; align-items: center; margin: 0; }
.workspace-page-equipment_calendar .timeline-week-controls { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.workspace-page-equipment_calendar .timeline-week-controls label { margin: 0; width: 164px; }
.workspace-page-equipment_calendar .timeline-week-controls > span:last-child { margin-left: auto; color: var(--muted); font-size: 12px; }
.workspace-page-equipment_calendar .timeline-caption { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 16px; border-block: 1px solid var(--line); background: var(--surface-soft); font-size: 12px; }
.workspace-page-equipment_calendar .timeline-legend { display: flex; gap: 12px; color: var(--muted); }
.workspace-page-equipment_calendar .timeline-legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; background: #d8eee8; }
.workspace-page-equipment_calendar .timeline-legend .timeline-legend-full::before { background: #f5dfaf; }
.workspace-page-equipment_calendar .timeline-legend .timeline-legend-short::before { background: #edb5b5; }
.workspace-page-equipment_calendar .timeline-context { font-size: 12px; margin: 12px 16px; color: var(--muted); }
.workspace-page-equipment_calendar .equipment-timeline-scroll { overflow: auto; max-height: 70vh; overscroll-behavior: contain; scrollbar-gutter: stable; }
.workspace-page-equipment_calendar .equipment-timeline-grid { min-width: 900px; --timeline-label: 230px; }
.workspace-page-equipment_calendar .timeline-column-head { display: grid; grid-template-columns: var(--timeline-label) minmax(0,1fr); }
.workspace-page-equipment_calendar .timeline-summary { display: grid; grid-template-columns: var(--timeline-label) minmax(0,1fr); }
.workspace-page-equipment_calendar .timeline-column-head { position: sticky; top: 0; z-index: 5; background: var(--surface-soft); border-bottom: 1px solid var(--line); }
.workspace-page-equipment_calendar .timeline-column-head > strong { position: sticky; left: 0; padding: 12px 16px; background: var(--surface-soft); z-index: 2; }
.workspace-page-equipment_calendar .timeline-days { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); }
.workspace-page-equipment_calendar .timeline-days > span { display: grid; gap: 2px; padding: 6px 8px; border-left: 1px solid var(--line); font-size: 11px; color: var(--muted); }
.workspace-page-equipment_calendar .timeline-days [aria-current] { background: var(--accent-soft); color: var(--accent-text); }
.workspace-page-equipment_calendar .equipment-timeline-row { display: block; width: 100%; margin: 0; border-bottom: 1px solid var(--line); }
.workspace-page-equipment_calendar .timeline-summary { min-height: 56px; align-items: stretch; }
.workspace-page-equipment_calendar .timeline-name { position: sticky; left: 0; z-index: 2; background: #fff; display: grid; grid-template-columns: minmax(0,1fr); align-content: center; padding: 8px 12px; border-right: 1px solid var(--line); }
.workspace-page-equipment_calendar .timeline-name strong { font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.workspace-page-equipment_calendar .timeline-name > span { grid-column: 1; font-size: 11px; color: var(--muted); }
.workspace-page-equipment_calendar .timeline-availability { position: relative; display: block; min-width: 0; background: repeating-linear-gradient(to right,transparent 0,transparent calc(100% / 7 - 1px),var(--line) calc(100% / 7 - 1px),var(--line) calc(100% / 7)); }
.workspace-page-equipment_calendar .timeline-quantity { display: inline-flex; justify-content: center; align-items: center; min-height: 28px; background: #e3f2ed; color: #205e4c; font-size: 11px; font-weight: 600; border-radius: 3px; box-shadow: inset 0 0 0 1px #ffffff80; }
.workspace-page-equipment_calendar [data-ready] .timeline-quantity { position: absolute; top: 14px; left: var(--timeline-start); width: var(--timeline-width); }
.workspace-page-equipment_calendar .timeline-quantity.is-full { background: #fff0d1; color: #805300; }
.workspace-page-equipment_calendar .timeline-quantity.is-short { background: #fbe1e1; color: #9d2626; }
@media(max-width:680px) {
    .workspace-page-equipment_calendar .timeline-filters { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
    .workspace-page-equipment_calendar .timeline-filters > label:first-of-type { grid-column: 1 / -1; }
    .workspace-page-equipment_calendar .equipment-timeline-grid { --timeline-label: 160px; min-width: 820px; }
}



@media(max-width:480px) { .workspace-page-equipment_calendar .timeline-week-controls label { width: 140px; } }

.workspace-page-equipment_calendar .timeline-name .timeline-minimum { color: var(--ink); font-size: 10px; }
.workspace-page-equipment_calendar .timeline-name .timeline-minimum strong { font-size: inherit; }
.workspace-page-equipment_calendar .timeline-quantity-value:not(.sr-only) { position: relative; z-index: 1; min-width: 18px; background: inherit; border-radius: 3px; }

.workspace-page-equipment_calendar .timeline-summary { list-style: none; cursor: pointer; }
.workspace-page-equipment_calendar .timeline-summary::-webkit-details-marker { display: none; }
.workspace-page-equipment_calendar .timeline-summary:hover .timeline-name { background: var(--surface-soft); }
.workspace-page-equipment_calendar .timeline-popup-reservation { display: grid; gap: 4px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-size: 12px; }
.workspace-page-equipment_calendar .timeline-popup-reservation .text-link { display: inline-flex; align-items: center; min-height: 44px; }
.workspace-page-equipment_calendar .timeline-popup-reservation.is-selected { border-left: 3px solid var(--accent); padding-left: 10px; }

.workspace-page-equipment_calendar .timeline-filter-flags { display: flex; flex-wrap: wrap; gap: 0 12px; }
@media(max-width:680px) { .workspace-page-equipment_calendar .timeline-filter-flags { grid-column: 1 / -1; } }

.workspace-page-home .dashboard-gigs { grid-area: gigs; }
.workspace-page-home .dashboard-attention { grid-area: attention; }
.workspace-page-home .dashboard-task-kind { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.workspace-page-home .dashboard-due { font-size: 11px; color: var(--muted); }
.workspace-page-home .dashboard-due.is-today { font-weight: 600; color: #9a4e12; }
.workspace-page-home .dashboard-task-urgent { border-left: 3px solid #d89b4f; }
.workspace-page-home .dashboard-task-action { color: var(--accent-text); font-size: 12px; font-weight: 600; }
/* Dashboard calendar: the shared theme owns controls, badges and floating panels. */
.workspace-page-home .dashboard-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.workspace-page-home .dashboard-stats.has-billing { grid-template-columns:repeat(4,minmax(0,1fr)); }
.workspace-page-home .dashboard-calendar-filters { display:flex; align-items:end; flex-wrap:wrap; gap:12px 20px; padding:14px 18px; border-bottom:1px solid var(--line); }
.workspace-page-home .dashboard-calendar-filters > label { width:170px; }
.workspace-page-home .dashboard-calendar-filters fieldset { display:flex; flex-wrap:wrap; gap:4px 16px; border:0; padding:0; margin:0; min-width:0; }
.workspace-page-home .dashboard-calendar-filters fieldset label { display:flex; align-items:center; gap:8px; min-height:44px; margin:0; }
.workspace-page-home .dashboard-calendar-filters input[type=checkbox] { width:18px; height:18px; margin:0; }
.workspace-page-home .dashboard-day-agenda .calendar-event-trigger { display:flex; flex-direction:column; min-height:72px; padding:6px 8px; border:1px solid var(--line); border-radius:6px; background:var(--surface-soft); list-style:none; cursor:pointer; }
.workspace-page-home .dashboard-week-grid .calendar-event-trigger { min-height:44px; height:44px; }
.workspace-page-home .dashboard-day-agenda { display:none; padding:16px; border-top:1px solid var(--line); }
.workspace-page-home .dashboard-day-agenda h3 { font-size:14px; margin:0 0 12px; }
.workspace-page-home .dashboard-day-agenda .calendar-event { margin-bottom:8px; }
.workspace-page-home .dashboard-day-agenda .calendar-event-trigger > strong { white-space:normal; overflow-wrap:anywhere; }
.workspace-page-home .dashboard-day-agenda.is-expanded { display:block; }
.workspace-page-home .dashboard-actions { margin-top:20px; }
.dashboard-enhanced .workspace-page-home .dashboard-filter-submit { display:none; }
@media(max-width:900px) {
    .workspace-page-home .dashboard-stats, .workspace-page-home .dashboard-stats.has-billing { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .workspace-page-home .dashboard-day-agenda .calendar-event-trigger { min-height:80px; }
    .workspace-page-home .dashboard-calendar .calendar-navigation { display:grid; grid-template-columns:1fr auto 1fr; width:100%; gap:6px; }
    .workspace-page-home .dashboard-calendar .calendar-navigation > a { white-space:normal; text-align:center; padding:8px; }
    .workspace-page-home .dashboard-attention { order:-1; }
}
.workspace-page-tour .tour-personnel-member { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); margin-bottom:14px; }
.workspace-page-tour .tour-personnel-member p { margin:4px 0 8px; }
.workspace-page-tour .tour-personnel-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.workspace-page-home .dashboard-attention-filters { --floating-width:380px; }
.workspace-page-home .dashboard-attention-filters fieldset { display:grid; gap:4px; padding:0; margin:0; border:0; min-width:0; }
.workspace-page-home .dashboard-attention-filters label { display:flex; align-items:center; gap:8px; min-height:44px; margin:0; font-size:13px; }
.workspace-page-home .dashboard-attention-filters input[type=checkbox] { flex-shrink:0; margin:0; width:18px; height:18px; }
@media(max-width:767px) {
    .workspace-page-home .dashboard-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
    .workspace-page-home .dashboard-stats.has-billing { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .workspace-page-home .dashboard-stat { flex-direction:column; align-items:flex-start; gap:5px; padding:8px; }
    .workspace-page-home .dashboard-stat .gig-summary-label { display:block; flex:none; min-height:2.6em; font-size:11px; line-height:1.3; }
    .workspace-page-home .dashboard-stat .nav-icon { display:none; }
    .workspace-page-home .dashboard-stat > strong { font-size:22px; }
    .workspace-page-home .dashboard-actions { display:grid; grid-template-columns:minmax(0,1fr); }
    .workspace-page-home .dashboard-actions .button { justify-content:flex-start; white-space:normal; text-align:left; }
    .workspace-page-calendar .gig-calendar-heading { grid-template-columns:minmax(0,1fr); grid-template-areas:"views"; padding:12px; gap:12px; }
    .workspace-page-calendar .gig-calendar-heading .gig-calendar-views { width:100%; justify-self:stretch; }
    .workspace-page-calendar .gig-calendar-heading .gig-calendar-views a { flex:1; }
    .workspace-page-calendar .gig-calendar-heading .button { min-height:44px; }
    .workspace-page-calendar .gig-calendar-heading .gig-calendar-period,
    .workspace-page-calendar .gig-calendar-heading .calendar-navigation,
    .workspace-page-calendar .calendar-week-view .calendar-bars,
    .workspace-page-calendar .calendar-week-view .calendar-agenda { display:none; }
    .workspace-page-home .dashboard-calendar > .gig-calendar-heading,
    .workspace-page-home .dashboard-week-grid,
    .workspace-page-home .dashboard-calendar > .dashboard-day-agenda { display:none; }
    .workspace-page-home .dashboard-calendar-filters { border-top:1px solid var(--line); border-bottom:0; padding:12px; }
}
