/* Studio design system. Keep layout, spacing and component treatment shared by all business pages. */
:root {
    --studio-ink: #24292f;
    --studio-muted: #68717b;
    --studio-border: #e3e6e9;
    --studio-accent: #356859;
    --studio-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
}
.studio-shell, .mud-dialog { font-family: var(--studio-font); -webkit-font-smoothing: antialiased; }
.studio-shell { font-size: 14px; line-height: 1.6; }
.studio-page-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.studio-page-heading { min-width: 0; }
.studio-page-heading h1 { margin: 0; color: var(--studio-ink); font-size: 26px; line-height: 1.3; font-weight: 650; letter-spacing: -.7px; }
.studio-page-heading p { margin: 7px 0 0; color: var(--studio-muted); font-size: 13px; line-height: 1.6; max-width: 76ch; }
.studio-page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; flex-shrink: 0; }
.studio-shell .mud-typography { font-family: var(--studio-font); }
.studio-content .mud-typography-body1 { font-size: 14px; line-height: 1.65; }
.studio-content .mud-typography-body2 { font-size: 13px; line-height: 1.6; }
.studio-content .mud-typography-caption { font-size: 12px; line-height: 1.6; color: var(--studio-muted); }
.studio-content .mud-typography-h5 { font-size: 24px; font-weight: 650; letter-spacing: -.5px; }
.studio-content .mud-typography-h6 { font-size: 16px; font-weight: 600; line-height: 1.5; margin-bottom: 12px; }
.studio-shell .mud-paper { border: 1px solid var(--studio-border); border-radius: 6px; box-shadow: none; }
.studio-shell .mud-table { overflow: hidden; border: 1px solid var(--studio-border); border-radius: 6px; box-shadow: none; }
.studio-shell .mud-paper .mud-table { border: 0; }
.studio-shell .mud-table-head { background: #f9fafb; }
.studio-shell .mud-table-head .mud-table-cell { color: #59636e; font-size: 12px; font-weight: 600; white-space: nowrap; }
.studio-shell .mud-table-cell { padding: 16px; border-color: #edf0f2; font-size: 13px; line-height: 1.6; vertical-align: middle; }
.studio-shell .mud-table-dense .mud-table-cell { padding: 12px 16px; }
.studio-shell .mud-table-striped .mud-table-body .mud-table-row:nth-of-type(odd) { background: #fff; }
.studio-shell .mud-table-hover .mud-table-body .mud-table-row:hover { background: #f4f7f5 !important; }
.studio-shell .mud-table-pagination { border-top: 1px solid var(--studio-border); color: var(--studio-muted); }
.studio-shell .mud-table-empty-row .mud-table-cell { padding: 48px 24px; color: var(--studio-muted); text-align: center; }
.studio-shell .mud-button-root, .mud-dialog .mud-button-root { border-radius: 5px; text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 550; box-shadow: none; }
.studio-shell .mud-button { min-height: 36px; padding-inline: 16px; }
.studio-shell .mud-button-small { min-height: 30px; padding-inline: 10px; font-size: 12px; }
.studio-shell .mud-button-outlined-default { border-color: #d6dce0; background: #fff; }
.studio-shell .mud-button-filled-primary:hover { box-shadow: none; }
.studio-shell .mud-icon-button-size-small { padding: 7px; }
.studio-shell .mud-input, .mud-dialog .mud-input { font-family: var(--studio-font); font-size: 13px; }
.studio-shell .mud-input-label, .mud-dialog .mud-input-label { font-family: var(--studio-font); font-size: 13px; }
.studio-shell .mud-input-outlined-border { border-color: #d6dce0; border-radius: 5px; }
.studio-shell .mud-input-control > .mud-input-control-input-container > .mud-input-label { color: #68717b; }
.studio-shell .mud-alert { margin-bottom: 16px; border-radius: 5px; font-size: 13px; }
.studio-shell .mud-link { font-size: inherit; font-weight: 500; text-underline-offset: 3px; }
.studio-shell .mud-chip { border-radius: 4px; font-size: 12px; font-weight: 500; }
.studio-shell .studio-filter-panel { padding: 20px 24px; margin-bottom: 20px; background: #fff; }
.studio-filter-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; }
.studio-filter-actions > .mud-input-control:not(.mud-input-control-boolean-input), .studio-filter-actions > .mud-select { flex: 1; min-width: 180px; max-width: 280px; }
.studio-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.studio-form-grid > .studio-form-wide { grid-column: 1 / -1; }
.studio-section { margin-bottom: 24px; }
.studio-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; border: 1px solid var(--studio-border); border-radius: 6px; background: #fff; }
.studio-summary > div { padding: 20px 24px; border-right: 1px solid var(--studio-border); }
.studio-summary > div:last-child { border-right: 0; }
.studio-summary span { display: block; color: var(--studio-muted); font-size: 12px; }
.studio-summary strong { display: block; margin-top: 6px; font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: -.5px; }
.studio-status { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px; border-radius: 4px; background: #f0f2f4; color: #4f5b66; font-size: 12px; white-space: nowrap; }
.studio-status::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.studio-status--0 { color: #936313; background: #faf3e6; }
.studio-status--1, .studio-status--2 { color: #3e688b; background: #edf3f8; }
.studio-status--3, .studio-status--4 { color: #356859; background: #edf4ef; }
.studio-status--6 { color: #a24e43; background: #fbefec; }
.studio-shell :focus-visible, .mud-dialog :focus-visible { outline: 2px solid #568571; outline-offset: 3px; }
@media (max-width: 800px) {
    .studio-page-header { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 24px; }
    .studio-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .studio-summary > div { border-bottom: 1px solid var(--studio-border); }
    .studio-summary > div:nth-child(2n) { border-right: 0; }
    .studio-summary > div:nth-last-child(-n+2) { border-bottom: 0; }
    .studio-shell .studio-filter-panel { padding: 16px; }
}
@media (max-width: 600px) {
    .studio-page-heading h1 { font-size: 23px; }
    .studio-page-actions { flex-shrink: 1; }
    .studio-form-grid { grid-template-columns: minmax(0, 1fr); }
    .studio-summary > div { padding: 16px; }
    .studio-filter-actions { gap: 8px; }
    .studio-shell .mud-table-cell { overflow-wrap: anywhere; }
}
.studio-detail-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--studio-border); }
.studio-detail-heading .mud-typography-h6 { margin: 0; }
.studio-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; margin-bottom: 24px; }
.studio-shell .mud-table + .mud-typography-h6 { margin-top: 24px; }
@media (max-width: 800px) { .studio-detail-grid { grid-template-columns: minmax(0, 1fr); } }
.studio-query-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 800px) { .studio-query-grid { grid-template-columns: minmax(0, 1fr); } }
.studio-financial-summary > .mud-grid-item { padding-block: 20px; }
.studio-financial-summary .mud-typography-body1 { color: var(--studio-muted); font-size: 12px; }
.studio-financial-summary .mud-typography-h6 { margin: 6px 0 0; font-size: 24px; font-variant-numeric: tabular-nums; }
.studio-service-cell { display: grid; gap: 4px; }
.studio-service-cell small { color: var(--studio-muted); font-size: 12px; }
@media (min-width: 600px) {
    .studio-work-orders .mud-table-root { min-width: 1040px; }
    .studio-work-orders .studio-nowrap { white-space: nowrap; }
}
@media (min-width: 960px) {
    .studio-work-orders .mud-table-cell:last-child { position: sticky; right: 0; z-index: 1; min-width: 144px; background: #fff; box-shadow: -1px 0 #e3e6e9; }
    .studio-work-orders .mud-table-head .mud-table-cell:last-child { background: #f9fafb; }
}
/* Technician configuration and work-order attachment flows. */
.dispatch-picker-row { display: flex; align-items: center; gap: 12px; margin: 12px 0; }
.dispatch-picker-row > .mud-autocomplete { flex: 1; min-width: 0; }
.dispatch-picker-row > .mud-button { flex-shrink: 0; min-height: 40px; }
.dispatch-selected-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 12px; margin-top: 6px; border: 1px solid var(--studio-border); border-radius: 5px; background: #f9fafb; font-size: 13px; }
.creation-attachments { margin: 24px 0; padding-top: 20px; border-top: 1px solid var(--studio-border); }
.creation-attachments-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.creation-attachments-heading .mud-typography-h6 { margin: 0; font-size: 16px; }
.creation-attachments-heading > span { color: var(--studio-muted); font-size: 12px; }
.attachment-dropzone { display: grid; justify-items: center; gap: 8px; margin-top: 16px; padding: 20px; border: 1px dashed #bdc9c1; border-radius: 6px; color: var(--studio-accent); background: #f7faf8; font-size: 13px; }
.attachment-dropzone input { max-width: 100%; color: var(--studio-muted); font: inherit; }
.creation-attachment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.creation-attachment { min-width: 0; padding: 12px; border: 1px solid var(--studio-border); border-radius: 6px; }
.creation-attachment > img { display: block; width: 100%; height: 128px; object-fit: contain; background: #f6f7f8; border-radius: 4px; }
.creation-attachment-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; font-size: 12px; }
.creation-attachment-meta > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.work-order-attachment-count { display: flex; align-items: center; gap: 3px; margin-top: 4px; }
.work-order-attachment-count .mud-icon-root { font-size: 14px; }
.work-order-detail-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, 1fr); gap: 24px; align-items: start; }
.work-order-detail-main, .work-order-detail-aside { display: grid; gap: 24px; min-width: 0; }
.studio-shell .order-card { padding: 24px; margin-bottom: 24px; min-width: 0; }
.work-order-detail-grid .order-card { margin: 0; }
.order-card-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; }
.order-card-heading .mud-typography-h6 { margin-bottom: 0; }
.order-service-heading { display: grid; gap: 4px; margin-bottom: 24px; }
.order-service-heading strong { font-size: 20px; font-weight: 600; }
.order-service-heading span { color: var(--studio-muted); font-size: 12px; }
.order-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; margin: 0; }
.order-facts > div:first-child { grid-column: 1 / -1; }
.order-facts dt, .order-description > span { color: var(--studio-muted); font-size: 12px; }
.order-facts dd { margin: 5px 0 0; overflow-wrap: anywhere; font-size: 13px; }
.order-facts--stacked { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.order-description { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--studio-border); }
.order-description p { margin: 8px 0 0; font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; }
.studio-shell .order-action-list { margin-top: 16px; gap: 8px; }
.studio-shell .order-card--table { overflow: hidden; padding: 0; }
.order-card--table .order-card-heading { padding: 20px 24px; margin-bottom: 0; }
.order-evidence-section > .mud-paper { margin: 0 !important; padding: 24px !important; }
.order-followup-section > .mud-paper { margin-block: 24px !important; }
@media (max-width: 1100px) { .work-order-detail-grid { grid-template-columns: minmax(0, 1fr); }.work-order-detail-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .work-order-detail-aside { grid-template-columns: minmax(0, 1fr); }.studio-shell .order-card { padding: 20px; }.studio-shell .order-card--table { padding: 0; }.dispatch-picker-row { flex-direction: column; align-items: stretch; }.creation-attachment-grid { grid-template-columns: minmax(0, 1fr); } }
.evidence-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
.studio-shell .evidence-record { padding: 16px; min-width: 0; overflow-wrap: anywhere; }
.evidence-record .mud-typography-subtitle1 { font-size: 13px; font-weight: 600; }
@media (max-width: 700px) { .evidence-card-grid { grid-template-columns: minmax(0, 1fr); } }
.studio-shell .schedule-board-panel { overflow: hidden; }
.schedule-board-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px; }
.schedule-board-toolbar h2 { font-size: 16px; font-weight: 600; margin: 0; }
.schedule-board-toolbar p { margin: 5px 0 0; color: var(--studio-muted); font-size: 12px; }
.schedule-board-controls { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.schedule-board-controls > .mud-input-control, .schedule-board-controls > .mud-picker { width: 150px; }
.schedule-board-controls > .mud-select { width: 180px; }
.schedule-board-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; padding: 0 24px 20px; color: var(--studio-muted); font-size: 12px; }
.schedule-board-summary strong { color: var(--studio-ink); font-size: 16px; font-weight: 600; }
.schedule-board-summary span:last-child { margin-left: auto; }
.schedule-board-scroll { overflow-x: auto; }
.schedule-board-grid { display: grid; grid-template-columns: repeat(7,minmax(128px,1fr)); }
.schedule-day { min-width: 0; border-top: 1px solid var(--studio-border); border-right: 1px solid var(--studio-border); }
.schedule-day:last-child { border-right: 0; }
.schedule-day-heading { display: flex; align-items: center; justify-content: space-between; padding: 14px; background: #f9fafb; border-bottom: 1px solid var(--studio-border); }
.schedule-day-heading > div { display: grid; gap: 2px; }.schedule-day-heading span { color: var(--studio-muted); font-size: 11px; }.schedule-day-heading strong { font-size: 17px; font-weight: 600; font-variant-numeric: tabular-nums; }
.schedule-day--today .schedule-day-heading { background: #edf4ef; }.schedule-day--today .schedule-day-heading strong { color: var(--studio-accent); }
.schedule-day-jobs { display: grid; align-content: start; gap: 10px; min-height: 220px; padding: 10px; background: #fcfcfd; }
.schedule-job { display: grid; gap: 10px; padding: 12px; border: 1px solid #dfe6e1; border-left: 3px solid #658974; border-radius: 5px; color: var(--studio-ink); background: #fff; text-decoration: none; transition: border-color .15s; }
.schedule-job:hover { border-color: #658974; }.schedule-job--cancelled { border-left-color: #a7afb6; background: #f8f9fa; }.schedule-job--cancelled .schedule-job-number { text-decoration: line-through; }
.schedule-job-number { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }.schedule-job-number .mud-icon-root { font-size: 13px; color: #849087; }
.schedule-job-time, .schedule-job-continuation { color: var(--studio-muted); font-size: 11px; line-height: 1.5; }
.schedule-job-technician { display: flex; align-items: flex-start; gap: 4px; font-size: 12px; overflow-wrap: anywhere; }.schedule-job-technician .mud-icon-root { font-size: 15px; color: #7a8780; flex-shrink: 0; }
.schedule-job .studio-status { font-size: 10px; padding: 3px 5px; white-space: normal; width: fit-content; }
.schedule-day-empty { margin: 24px 0; color: #9099a1; font-size: 11px; text-align: center; }
.schedule-board-note { margin: 0; padding: 16px 24px; border-top: 1px solid var(--studio-border); color: var(--studio-muted); font-size: 12px; line-height: 1.6; }.schedule-board-note a { color: var(--studio-accent); }
@media (max-width: 1100px) { .schedule-board-toolbar { align-items: flex-start; flex-direction: column; gap: 16px; } }
@media (max-width: 600px) { .schedule-board-toolbar { padding: 16px; }.schedule-board-grid { grid-template-columns: minmax(0,1fr); }.schedule-day { border-right: 0; }.schedule-day-jobs { min-height: 0; grid-template-columns: repeat(2,minmax(0,1fr)); }.schedule-day-empty { grid-column: 1 / -1; margin-block: 12px; }.schedule-board-summary { padding-inline: 16px; }.schedule-board-controls > .mud-picker, .schedule-board-controls > .mud-select { width: 100%; }.schedule-board-note { padding: 16px; } }
@media (max-width: 1100px) {
    .work-order-detail-main, .work-order-detail-aside { display: contents; }
    .work-order-detail-grid .order-card { order: 4; }
    .work-order-detail-grid .order-summary-card { order: 0; }
    .work-order-detail-grid .order-action-card { order: 1; }
    .work-order-detail-grid .order-schedule-card { order: 2; }
    .order-evidence-section { order: 3; min-width: 0; }
}

/* ABP administration pages retain their native actions, forms and authorization. */
.studio-admin-page { display: grid; grid-template-columns: minmax(0, 1fr); }
.studio-admin-page > .entry-row { grid-row: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 16px 24px; width: 100%; margin: 0; }
.studio-admin-page > .entry-row > .mud-grid-item { padding: 0; max-width: none; flex-basis: auto; min-width: 0; }
.studio-admin-page > .entry-row > .mud-grid-item:has(.mud-breadcrumbs) { display: none; }
.studio-admin-page > .entry-row .content-header-title { margin: 0; font-size: 26px; line-height: 1.3; font-weight: 650; letter-spacing: -.7px; }
.studio-admin-page > .entry-row > .mud-grid-item:last-child .mud-grid-item { padding: 0; }
.studio-admin-description { grid-row: 2; margin: 7px 0 28px; color: var(--studio-muted); font-size: 13px; line-height: 1.6; }
.studio-admin-page > .mud-card { grid-row: 3; min-width: 0; overflow: hidden; }
.studio-admin-page > .mud-card > .mud-card-content { padding: 0; }
.studio-admin-page > .mud-card > .mud-card-content > .mud-grid { width: 100%; margin: 0; padding: 16px 24px; border-bottom: 1px solid var(--studio-border); }
.studio-admin-page > .mud-card > .mud-card-content > .mud-grid > .mud-grid-item { padding-block: 0; }
.studio-admin-page .mud-data-grid { border: 0; border-radius: 0; }
.studio-admin-page .mud-data-grid .mud-table-toolbar { height: auto; min-height: 0; }
.studio-admin-page .mud-data-grid .mud-table-cell { padding: 14px 20px; }
.studio-admin-page .mud-data-grid .mud-table-pagination { min-height: 56px; padding-inline: 12px; }
.studio-admin-page .mud-data-grid .mud-button-start-icon { margin-right: 6px; }
.studio-admin-page--settings > .mud-card > .mud-card-content { padding: 0 !important; }
.studio-admin-page--settings .mud-tabs-tabbar { background: #f9fafb; border-right: 1px solid var(--studio-border); padding: 16px 12px; min-width: 208px; }
.studio-admin-page--settings .mud-tab { justify-content: flex-start; min-height: 40px; padding: 10px 14px; border-radius: 5px; font-size: 13px; font-weight: 500; text-transform: none; letter-spacing: 0; }
.studio-admin-page--settings .mud-tab.mud-tab-active { background: #eaf1ed; color: var(--studio-accent); }
.studio-admin-page--settings .mud-tabs-panels { flex: 1; min-width: 0; padding: 24px !important; }
.studio-admin-page--settings .mud-tabs-panels > .mud-tab-panel { width: 100%; min-width: 0; }
.studio-admin-page--settings .mud-tab-slider { display: none; }
.studio-admin-page--settings .mud-tabs-panels .mud-card { border: 0; box-shadow: none; }
.studio-admin-page--settings .mud-tabs-panels .mud-card-content { padding: 0; }
.studio-admin-page--settings .mud-tabs-panels .mud-card-header { padding: 0 0 16px; }
.studio-admin-page--settings .mud-tabs-panels .mud-input-control { margin-bottom: 12px; }
.studio-admin-page--settings .mud-tabs-panels .mud-card-actions { padding: 20px 0 0; border-top: 1px solid var(--studio-border); margin-top: 20px; }
@media (max-width: 800px) {
    .studio-admin-page > .entry-row { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .studio-admin-page > .entry-row > .mud-grid-item:last-child { justify-content: flex-start !important; }
    .studio-admin-description { margin-bottom: 20px; }
    .studio-admin-page--settings .mud-tabs { flex-direction: column; }
    .studio-admin-page--settings .mud-tabs-tabbar { min-width: 0; width: 100%; border-right: 0; border-bottom: 1px solid var(--studio-border); padding: 8px; }
    .studio-admin-page--settings .mud-tabs-panels { padding: 20px !important; }
}
@media (max-width: 600px) {
    .studio-admin-page > .entry-row .content-header-title { font-size: 23px; }
    .studio-admin-page > .mud-card > .mud-card-content > .mud-grid { padding: 12px 16px; }
    .studio-admin-page > .mud-card > .mud-card-content > .mud-grid > .mud-grid-item:first-child:empty { display: none; }
    .studio-admin-page .mud-data-grid .mud-table-cell { padding: 12px 16px; }
}

/* Guided work-order assignment. */
.mud-dialog.dispatch-dialog { width: min(720px, calc(100% - 32px)); max-width: 720px; margin: 16px; max-height: calc(100% - 32px); }
.dispatch-dialog .mud-dialog-content { padding: 0 24px 24px; }
.dispatch-dialog .mud-dialog-actions { padding: 16px 24px; border-top: 1px solid var(--studio-border); }
.dispatch-context { color: var(--studio-muted); font-size: 12px; margin-bottom: 20px; }
.dispatch-context strong { color: var(--studio-ink); font-weight: 600; }
.dispatch-steps { display: flex; gap: 16px; padding: 0 0 20px; margin: 0 0 24px; list-style: none; border-bottom: 1px solid var(--studio-border); }
.dispatch-steps li { display: flex; align-items: center; gap: 8px; flex: 1; color: #7a838b; font-size: 12px; }
.dispatch-steps li > span { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #dce1e4; border-radius: 50%; font-size: 11px; }
.dispatch-steps .is-current { color: var(--studio-accent); font-weight: 600; }
.dispatch-steps .is-current > span { color: #fff; background: var(--studio-accent); border-color: var(--studio-accent); }
.dispatch-steps .is-complete > span { background: #edf4ef; border-color: #c9dacf; color: var(--studio-accent); }
.dispatch-step-heading h2 { margin: 0; font-size: 20px; font-weight: 600; letter-spacing: -.35px; }
.dispatch-step-heading p { margin: 6px 0 20px; color: var(--studio-muted); font-size: 13px; line-height: 1.6; }
.dispatch-filters { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 4px; }
.dispatch-filters .mud-typography { font-size: 12px; }
.dispatch-list-heading { display: flex; align-items: center; justify-content: space-between; margin: 8px 0; color: var(--studio-muted); font-size: 12px; }
.dispatch-candidates { display: grid; gap: 8px; max-height: 292px; overflow-y: auto; padding: 3px; margin: -3px; }
.dispatch-candidate { display: flex; align-items: center; gap: 12px; width: 100%; padding: 16px; text-align: left; background: #fff; border: 1px solid var(--studio-border); border-radius: 6px; color: var(--studio-ink); font: inherit; cursor: pointer; }
.dispatch-candidate:hover { border-color: #97b1a2; }
.dispatch-candidate.is-selected { border-color: var(--studio-accent); background: #f3f8f5; }
.dispatch-candidate:disabled { cursor: default; opacity: .6; }
.dispatch-candidate-radio { width: 16px; height: 16px; flex-shrink: 0; border: 1px solid #bdc5cb; border-radius: 50%; }
.dispatch-candidate.is-selected .dispatch-candidate-radio { border: 5px solid var(--studio-accent); }
.dispatch-candidate-info { display: grid; gap: 5px; min-width: 0; flex: 1; }
.dispatch-candidate-info > strong { font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.dispatch-candidate-matches { display: flex; flex-wrap: wrap; gap: 4px 6px; font-size: 11px; color: var(--studio-muted); }
.dispatch-candidate-load { display: grid; gap: 2px; text-align: right; flex-shrink: 0; color: var(--studio-muted); font-size: 11px; }
.dispatch-candidate-load strong { color: var(--studio-ink); font-size: 18px; font-weight: 600; }
.dispatch-empty { padding: 32px 16px; text-align: center; border: 1px dashed var(--studio-border); border-radius: 6px; color: var(--studio-muted); font-size: 13px; }
.dispatch-selected-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 12px 16px; margin-bottom: 20px; border-radius: 5px; background: #f5f7f6; font-size: 13px; }
.dispatch-selected-summary .mud-icon-root { font-size: 20px; color: var(--studio-accent); }
.dispatch-selected-summary span { color: var(--studio-muted); font-size: 12px; }
.dispatch-visit-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.dispatch-hint { color: var(--studio-muted); font-size: 12px; line-height: 1.6; margin: 8px 0 16px; }
.dispatch-dialog .dispatch-options { margin-top: 20px; border: 1px solid var(--studio-border); border-radius: 6px; }
.dispatch-options .mud-expand-panel-header { min-height: 48px; padding: 12px 16px; font-size: 13px; }
.dispatch-review { display: grid; gap: 16px; padding: 20px; margin: 0 0 20px; border: 1px solid var(--studio-border); border-radius: 6px; }
.dispatch-review > div, .dispatch-check-details dl > div { display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 16px; }
.dispatch-review dt, .dispatch-check-details dt { color: var(--studio-muted); font-size: 12px; }
.dispatch-review dd { margin: 0; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; white-space: pre-wrap; }
.dispatch-review dd span { display: block; margin-top: 3px; color: var(--studio-muted); font-size: 12px; font-weight: 400; }
.dispatch-dialog .mud-alert { font-size: 13px; margin: 16px 0; }
.dispatch-check-details { border-top: 1px solid var(--studio-border); margin-top: 20px; padding-top: 16px; }
.dispatch-check-details summary { color: var(--studio-muted); font-size: 12px; cursor: pointer; }
.dispatch-check-details dl { display: grid; gap: 12px; margin-top: 16px; }
.dispatch-check-details dl > div { grid-template-columns: minmax(0,1fr) auto; }
.dispatch-check-details dd { margin: 0; font-size: 12px; }
@media (max-width: 600px) {
    .dispatch-dialog .mud-dialog-content { padding-inline: 16px; }
    .dispatch-dialog .mud-dialog-actions { padding: 12px 16px; }
    .dispatch-steps { gap: 8px; }.dispatch-steps li { gap: 6px; font-size: 11px; }
    .dispatch-visit-grid { grid-template-columns: minmax(0,1fr); gap: 4px; }
    .dispatch-candidate { padding: 12px; gap: 10px; }
    .dispatch-review { padding: 16px; }.dispatch-review > div { grid-template-columns: minmax(0,1fr); gap: 4px; }
}

/* Searchable resource directories; all hierarchy levels share one working surface. */
.studio-shell .directory-panel { overflow: hidden; }
.directory-toolbar { display: flex; align-items: center; gap: 20px; padding: 20px 24px 12px; }
.directory-toolbar > .mud-input-control { flex: 1; max-width: 560px; }
.directory-toolbar > .mud-tooltip-root { flex-shrink: 0; margin-left: auto; }
.directory-levels { display: flex; gap: 24px; padding: 0 24px; border-bottom: 1px solid var(--studio-border); overflow-x: auto; }
.directory-levels button { display: flex; align-items: center; gap: 8px; padding: 16px 0 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--studio-muted); font: inherit; font-size: 13px; white-space: nowrap; cursor: pointer; }
.directory-levels button.is-active { color: var(--studio-accent); border-bottom-color: var(--studio-accent); font-weight: 600; }
.directory-levels button > span { padding: 1px 6px; border-radius: 4px; font-size: 11px; background: #f0f2f4; color: var(--studio-muted); }
.directory-levels .is-active > span { background: #edf4ef; color: var(--studio-accent); }
.directory-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; color: var(--studio-muted); font-size: 12px; }
.studio-shell .directory-panel .directory-table { border-top: 1px solid var(--studio-border); border-radius: 0; }
.directory-name { font-weight: 550; }
.directory-code { font-size: 12px; font-variant-numeric: tabular-nums; color: var(--studio-muted); }
.directory-path { color: var(--studio-muted); font-size: 12px; }
.directory-description { display: block; max-width: 48ch; color: var(--studio-muted); font-size: 12px; overflow-wrap: anywhere; }
.directory-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.directory-table .mud-table-head .mud-table-cell:last-child { text-align: right; }
.directory-empty { padding: 28px 16px; }.directory-empty p { margin: 0 0 8px; }.directory-empty span { font-size: 12px; }
.directory-panel .directory-error { margin: 16px 24px 0; }
.directory-parent-context { display: grid; gap: 5px; margin: 0 0 20px; padding: 12px 16px; background: #f5f7f6; border-radius: 5px; }
.directory-parent-context > span { font-size: 12px; color: var(--studio-muted); }.directory-parent-context > strong { font-size: 13px; font-weight: 500; }
@media (max-width: 600px) {
    .directory-toolbar { padding: 16px; gap: 8px; }.directory-levels { padding-inline: 16px; gap: 20px; }.directory-results-heading { padding: 16px; }
    .directory-results-heading { align-items: stretch; flex-direction: column; gap: 12px; }
    .directory-results-heading > .mud-button { white-space: nowrap; }
    .directory-table .mud-table-cell::before { min-width: 76px; white-space: nowrap; font-size: 12px; }
    .directory-path { overflow-wrap: anywhere; }.directory-panel .directory-error { margin-inline: 16px; }
}
