/* ORCA / company orange, neutral surfaces, readable Japanese.
   MudBlazor typography and semantic palette: Components/Theme/OrcaTheme.cs.
   This file owns visual layout only. Never hide permission/state controls here. */
:root {
    --orca-orange: #E87512;
    --orca-action: #B84E00;
    --orca-orange-hover: #973F00;
    --orca-orange-soft: #FFF3E6;
    --orca-orange-line: #E8B386;
    --orca-ink: #24272C;
    --orca-ink-soft: #4B4D50;
    --orca-muted: #62656A;
    --orca-border: #DCD9D3;
    --orca-border-strong: #BAB6AF;
    --orca-page: #F5F4F1;
    --orca-surface: #FFFFFF;
    --orca-soft: #F0EEEA;
    --orca-login-canvas: #FFFEFC;
    --orca-shell-height: 60px;
    --orca-font: "IBM Plex Sans JP", "Yu Gothic UI", "Meiryo", sans-serif;
    --orca-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;
}

html { scroll-padding-top: calc(var(--orca-shell-height) + 20px); }
body.orca-ui {
    margin: 0;
    background: var(--orca-page);
    color: var(--orca-ink);
    font-family: var(--orca-font);
    font-size: 14px;
    line-height: 1.6;
}
.orca-ui *, .orca-ui *::before, .orca-ui *::after { box-sizing: border-box; }
.orca-ui .mud-typography, .orca-ui .mud-button-root, .orca-ui .mud-input,
.orca-ui .mud-table, .orca-ui .mud-tab, .orca-ui .mud-chip, .orca-ui .mud-list-item,
.orca-ui input, .orca-ui select, .orca-ui textarea { font-family: var(--orca-font); }
.orca-ui .mono, .orca-ui code { font-family: var(--orca-mono); font-variant-numeric: tabular-nums; }
.orca-ui :where(button, a, input, textarea, select, [tabindex]):focus-visible {
    outline: 2px solid var(--orca-action);
    outline-offset: 3px;
}
.orca-ui .orca-flow { flex-wrap: wrap; }
.orca-ui .mud-grid-item, .orca-ui .mud-stack > div { min-width: 0; }

/* Shell: familiar top navigation; a second, scrollable row on narrow screens. */
.orca-ui .orca-appbar {
    height: var(--orca-shell-height);
    min-height: var(--orca-shell-height);
    background: var(--orca-surface);
    color: var(--orca-ink);
    border-bottom: 1px solid var(--orca-border);
    box-shadow: none;
}
.orca-ui .orca-appbar .mud-toolbar { min-height: 60px; height: 100%; padding-inline: 24px; }
.orca-brand { display: inline-flex; height: 60px; align-items: center; gap: 8px; white-space: nowrap; flex-shrink: 0; }
/* 正式ロゴ（docs/brand/orca-mark）。64px以上=Master／25〜63px=Small／16〜24px=Tiny の使い分けに従う */
.orca-brand-logo { display: block; height: 30px; width: auto; flex-shrink: 0; }
/* Small tight: 幅約42pxの1Xは約4.7px。外周6px・文字間12pxで確保する。 */
.orca-special-brand { display: flex; align-items: center; gap: 12px; padding: 6px; }
.orca-special-brand-small-logo { display: block; height: 36px; width: auto; flex-shrink: 0; }
.orca-brand-name { color: #20242A; font-family: "Inter", Arial, sans-serif; font-size: 18px; font-weight: 700; letter-spacing: .04em; }
.orca-brand-sub { margin-left: .4em; padding-left: .4em; border-left: 1px solid #B8BDC4; color: #20242A; font-family: "Noto Sans JP", "Yu Gothic UI", sans-serif; font-size: 14.4px; font-weight: 500; }
.orca-ui .orca-navigation { min-width: 0; }
.orca-ui .orca-business-menu { flex-shrink: 0; }
.orca-ui .orca-business-menu > .mud-button-root { height: 60px; padding: 0 16px; border-radius: 0; border-bottom: 2px solid transparent; color: var(--orca-ink-soft); white-space: nowrap; }
.orca-ui .orca-business-menu:is(:hover, .active) > .mud-button-root { border-bottom-color: var(--orca-orange); color: var(--orca-action); background: transparent; }
/* Management navigation A: only four daily jobs and a single route to the grouped hub. */
.orca-ui .mud-popover:has(.orca-admin-menu-item) { min-width: min(296px, calc(100vw - 24px)); max-width: calc(100vw - 24px); }
.orca-ui .orca-admin-menu-item { min-height: 46px; font-size: 14px; border-left: 3px solid transparent; }
.orca-ui .orca-admin-menu-item .mud-list-item-icon { min-width: 34px; }
.orca-ui .orca-admin-menu-item:hover { background: var(--orca-orange-soft); }
.orca-ui .orca-admin-menu-item.is-active { border-left-color: var(--orca-orange); background: var(--orca-orange-soft); }
.orca-ui .orca-admin-menu-primary { font-weight: 700; }
.orca-ui .orca-admin-menu-label { display: inline-flex; align-items: center; gap: 8px; width: 100%; min-width: 0; }
.orca-ui .orca-admin-menu-count { margin-left: auto; padding: 3px 7px; border-radius: 4px; background: var(--orca-orange-soft); color: var(--orca-action); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; }
.orca-ui .orca-admin-menu-unavailable { margin-left: auto; color: var(--mud-palette-error); font-size: 11px; font-weight: 500; }
.orca-ui .orca-admin-menu-divider { margin-block: 7px; }
.orca-ui .orca-admin-menu-hub { font-weight: 600; }
.orca-ui .orca-admin-menu-hub .orca-admin-menu-hub-text { display: flex; flex-direction: column; font-size: 14px; font-weight: 600; }
.orca-ui .orca-admin-menu-hub .orca-admin-menu-hub-text small { font-size: 11px; font-weight: 400; color: var(--orca-muted); line-height: 1.5; }
.orca-ui .orca-admin-menu-chevron { margin-left: auto; color: var(--orca-muted); font-size: 23px; line-height: 1; }
.orca-ui .orca-management-section { background: var(--orca-surface); }
.orca-ui .orca-management-section > .mud-stack > .mud-icon-root { color: var(--orca-muted); }
.orca-ui .orca-management-link { display: flex; align-items: center; gap: 13px; min-height: 60px; padding: 9px 10px; margin-inline: -6px; border-radius: 5px; color: var(--orca-ink); text-decoration: none; }
.orca-ui .orca-management-link:hover { color: var(--orca-action); background: var(--orca-orange-soft); }
.orca-ui .orca-management-link:focus-visible { outline: 2px solid var(--orca-action); outline-offset: 0; }
.orca-ui .orca-management-link > .mud-icon-root:first-child { color: var(--orca-muted); font-size: 21px; flex-shrink: 0; }
.orca-ui .orca-management-link > span { flex: 1; min-width: 0; }
.orca-ui .orca-management-link strong { display: block; font-size: 14px; font-weight: 600; }
.orca-ui .orca-management-link small { display: block; font-size: 12px; line-height: 1.5; color: var(--orca-muted); }
.orca-ui .orca-management-link > .mud-icon-root:last-child { color: var(--orca-muted); flex-shrink: 0; }
.orca-ui .orca-management-sub-link { padding-left: 23px; }
.orca-ui .orca-new-hire-result { border-color: var(--orca-border); }
.orca-ui .nav-link-item {
    height: 60px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    color: var(--orca-ink-soft) !important;
    font-weight: 500;
    font-size: 14px;
    text-decoration: none;
}
.orca-ui .nav-link-item:is(:hover, .active) {
    color: var(--orca-action) !important;
    border-bottom-color: var(--orca-orange);
    background: transparent;
    font-weight: 500;
}
.orca-account-actions { display: flex; align-items: center; flex-shrink: 0; }
.orca-ui .orca-user-avatar { width: 30px; height: 30px; font-size: 12px; border-radius: 5px; box-shadow: none; }
.orca-ui .orca-mypage-button {
    min-height: 34px;
    padding-inline: 8px;
    color: var(--orca-ink-soft) !important;
}
.orca-ui .orca-mypage-button:hover {
    color: var(--orca-action) !important;
    background: transparent;
}
.orca-ui .notif-bell-badge .mud-badge { font-size: 10px; line-height: 1; }
.orca-ui .orca-main-content {
    padding: var(--orca-shell-height) 24px 32px;
    min-height: 100dvh;
    background: var(--orca-page);
}
.orca-ui .orca-empty-layout { padding: 0; }
.orca-ui .orca-page {
    width: 100% !important;
    padding: 0;
    margin-top: 24px !important;
    margin-bottom: 32px;
    color: var(--orca-ink);
}
.orca-ui .orca-page.mud-container-maxwidth-xl { max-width: 1600px; }
.orca-ui .orca-page-title {
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--orca-ink) !important;
    overflow-wrap: anywhere;
}

/* Shared components. Semantic colors remain semantic, including selected/disabled. */
.orca-ui .mud-button-root {
    min-height: 36px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: normal;
    text-transform: none;
    box-shadow: none;
    transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.orca-ui .mud-button-size-small { min-height: 34px; font-size: 13px; }
.orca-ui .mud-button-size-large { min-height: 44px; font-size: 15px; }
.orca-ui .mud-button-root .mud-icon-root { font-size: 18px; }
.orca-ui .mud-button-filled-primary:not(:disabled):not(.mud-disabled) { color: #fff; background: var(--orca-action); }
.orca-ui .mud-button-filled-primary:not(:disabled):not(.mud-disabled):hover { background: var(--orca-orange-hover); box-shadow: none; }
.orca-ui .mud-button-outlined:not(:disabled):not(.mud-disabled) { border-width: 1px; }
.orca-ui .mud-button-outlined-default:not(:disabled) { border-color: var(--orca-border-strong); }
.orca-ui .mud-button-root:is(:disabled, .mud-disabled) { color: #73767B; box-shadow: none; }
.orca-ui .mud-button-filled:is(:disabled, .mud-disabled) { background: #E7E5E1; border-color: transparent; }
.orca-ui .mud-icon-button { min-width: 32px; min-height: 32px; }
.orca-ui .mud-input { font-size: 14px; }
.orca-ui .mud-input-control > .mud-input-control-input-container > .mud-input-label { font-size: 14px; }
.orca-ui .mud-input-helper-text, .orca-ui .mud-input-control-helper-container { font-size: 12px; line-height: 1.5; }
.orca-ui .mud-input-outlined-border { border-radius: 5px; }
.orca-ui .mud-input.mud-disabled { background: var(--orca-soft); }
.orca-ui .mud-chip { border-radius: 4px; font-size: 12px; font-weight: 500; }
.orca-ui .mud-chip-size-small { height: auto; min-height: 24px; }
.orca-ui .mud-alert { border-radius: 5px; font-size: 14px; line-height: 1.65; }
.orca-ui .mud-alert-message { overflow-wrap: anywhere; }
.orca-ui .mud-alert-outlined-warning { background: #FFFBF5; }
.orca-ui .mud-alert-outlined-info { background: #F7FAFC; }
.orca-ui .mud-alert-outlined-error { background: #FFF8F7; }
.orca-ui .mud-paper:not(.mud-dialog):not(.mud-popover):not(.mud-alert):not(.mud-appbar) { box-shadow: none; }
.orca-ui .orca-page .mud-card,
.orca-ui .orca-page .mud-paper:not(.mud-alert):not(.mud-tabs):not(.mud-table):not(.mud-tabs-tabbar):not(.mud-expand-panel):not(.mud-overlay) {
    border: 1px solid var(--orca-border);
    border-radius: 6px !important;
}
.orca-ui .mud-dialog { border: 1px solid var(--orca-border); border-radius: 8px; box-shadow: 0 16px 48px #24272C26; }
.orca-ui .mud-dialog-title { padding: 20px 24px 12px; }
.orca-ui .mud-dialog-content { padding: 12px 24px 20px; }
.orca-ui .mud-dialog-actions { padding: 12px 24px 20px; gap: 8px; flex-wrap: wrap; border-top: 1px solid var(--orca-border); }
.orca-ui .mud-popover { border: 1px solid var(--orca-border); border-radius: 6px; box-shadow: 0 8px 24px #24272C1a; }
.orca-ui .mud-list-item { font-size: 14px; }
.orca-ui .mud-tabs-tabbar { box-shadow: none; border-bottom: 1px solid var(--orca-border); }
.orca-ui .mud-tab { min-height: 46px; font-size: 14px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.orca-ui .mud-tab.mud-tab-active { color: var(--orca-action); }
.orca-ui .mud-tab-slider { height: 2px; background-color: var(--orca-orange); }
.orca-ui .orca-page .mud-tabs { box-shadow: none; border-radius: 0; }
.orca-ui .mud-table { border: 1px solid var(--orca-border); border-radius: 5px; box-shadow: none; max-width: 100%; }
.orca-ui .mud-table-container { overflow-x: auto; }
.orca-ui .mud-table .mud-table-head .mud-table-cell { color: var(--orca-muted); font-size: 12px; font-weight: 600; background: var(--orca-soft); }
.orca-ui .mud-table .mud-table-cell { font-size: 14px; line-height: 1.6; border-color: var(--orca-border); }
.orca-ui .mud-table .mud-table-cell .mud-typography-caption { font-size: 12px; }
.orca-ui .mud-table .mud-table-toolbar { flex-wrap: wrap; height: auto; min-height: 56px; gap: 12px; }
.orca-ui .mud-table .mud-table-pagination { flex-wrap: wrap; }
.orca-ui .mud-table .mud-table-pagination .mud-typography-body2 { font-size: 12px; }

/* Home: one clear sequence — do now, check status, start a procedure. */
.orca-home-page-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.orca-home-section {
    overflow: hidden;
    background: var(--orca-surface);
}
.orca-home-section-head {
    min-height: 64px;
    padding: 14px 18px;
    border-bottom: 1px solid var(--orca-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.orca-home-section-head h2,
.orca-home-section-title-line .mud-typography {
    font-weight: 600;
}
.orca-home-section-title-line {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
}
.orca-home-count,
.orca-home-action-group-count {
    color: var(--orca-action);
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}
.orca-home-count { font-size: 16px; }
.orca-home-action-group-count { margin-left: 8px; font-size: 13px; }
.orca-home-action-section {
    border-color: var(--orca-orange-line) !important;
    border-left: 3px solid var(--orca-orange) !important;
}
.orca-home-action-list { padding: 0 18px 18px; }
.orca-home-action-group {
    display: block;
    margin-top: 14px;
    border: 1px solid var(--orca-border);
    border-radius: 5px;
    background: var(--orca-surface);
}
.orca-home-action-group-head {
    min-height: 48px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border-bottom: 1px solid var(--orca-border);
}
.orca-home-action-group-head strong { font-size: 13px; font-weight: 600; }
.orca-home-action-group-note { display: block; padding: 10px 14px 0; }
.orca-home-action-row {
    min-height: 86px;
    padding: 14px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}
.orca-home-action-row + .orca-home-action-row { border-top: 1px solid var(--orca-border); }
.orca-home-action-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--orca-action);
    background: var(--orca-orange-soft);
}
.orca-home-action-copy > strong,
.orca-home-action-copy > span { display: block; }
.orca-home-action-copy > strong { color: var(--orca-ink); font-size: 14px; font-weight: 600; }
.orca-home-action-copy > span { margin-top: 2px; color: var(--orca-muted); font-size: 12px; }
.orca-home-action-meta { margin-top: 7px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--orca-muted); font-size: 11px; }
.orca-home-action-button { white-space: nowrap; }
.orca-home-hr-summary {
    padding: 12px 14px 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.orca-home-hr-summary-item {
    min-height: 58px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    border: 1px solid var(--orca-border);
    border-radius: 5px;
    color: var(--orca-ink);
    text-decoration: none;
}
.orca-home-hr-summary-item:hover { border-color: var(--orca-orange-line); }
.orca-home-hr-summary-item > .mud-icon-root { color: var(--orca-action); }
.orca-home-hr-summary-item > span { font-size: 12px; font-weight: 600; }
.orca-home-hr-summary-item > strong { color: var(--orca-action); font-size: 18px; font-variant-numeric: tabular-nums; }
.orca-home-hr-summary-item small { color: var(--orca-muted); font-size: 10px; font-weight: 500; }
.orca-home-main-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.orca-home-main-grid.has-admin-tools { grid-template-columns: minmax(0, 1fr) 300px; }
.orca-home-status-grid {
    padding: 16px 18px 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.orca-home-status-summary {
    min-height: 66px;
    padding: 11px 13px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--orca-border);
    border-radius: 5px;
    background: var(--orca-surface);
}
.orca-home-status-summary > .mud-icon-root { color: var(--orca-action); }
.orca-home-status-summary span,
.orca-home-status-summary strong { display: block; }
.orca-home-status-summary span { color: var(--orca-muted); font-size: 11px; }
.orca-home-status-summary strong { margin-top: 1px; color: var(--orca-ink); font-size: 20px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.orca-home-status-summary small { color: var(--orca-muted); font-size: 10px; font-weight: 500; }
.orca-home-recent-head {
    padding: 14px 18px 8px;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}
.orca-home-recent-head strong { font-size: 13px; font-weight: 600; }
.orca-home-recent-head span { color: var(--orca-muted); font-size: 11px; }
.orca-ui .orca-home-table { border: 0; border-radius: 0; }
.orca-ui .orca-home-table .mud-table-container { overflow-x: auto; }
.orca-ui .orca-home-table table { min-width: 640px; }
.orca-ui .orca-home-table .mud-table-head .mud-table-cell:first-child,
.orca-ui .orca-home-table .mud-table-body .mud-table-cell:first-child { padding-left: 18px; }
.orca-ui .orca-home-table .mud-table-head .mud-table-cell:last-child,
.orca-ui .orca-home-table .mud-table-body .mud-table-cell:last-child { padding-right: 18px; }

/* Personal applications: selected row and details form ONE clearly defined panel. */
.orca-application-accordion { border-top: 1px solid var(--orca-border); }
.orca-application-accordion-item { border-bottom: 1px solid var(--orca-border); border-left: 4px solid transparent; }
.orca-application-accordion-item.is-expanded {
    border-left-color: var(--orca-orange);
    border-bottom-color: var(--orca-orange-line);
    box-shadow: 0 2px 9px rgb(47 35 23 / 9%);
}
.orca-application-accordion-trigger {
    display: grid; width: 100%; grid-template-columns: minmax(105px, .9fr) minmax(120px, 2fr) minmax(85px, 1fr) 118px;
    gap: 12px; padding: 16px 18px; align-items: center; background: var(--orca-surface);
    border: 0; color: var(--orca-ink); text-align: left; cursor: pointer;
    font: inherit;
}
.orca-application-accordion-trigger:hover,
.orca-application-accordion-trigger[aria-busy="true"] { background: #FFF9F2; }
.orca-application-accordion-item.is-expanded > .orca-application-accordion-trigger {
    background: var(--orca-orange-soft);
    border-bottom: 1px solid var(--orca-orange-line);
}
.orca-application-accordion-trigger:focus-visible { outline: 2px solid var(--orca-orange); outline-offset: -3px; }
.orca-application-accordion-trigger > strong { font-size: 13px; font-weight: 650; min-width: 0; overflow-wrap: anywhere; }
.orca-application-accordion-item.is-expanded > .orca-application-accordion-trigger > strong { color: var(--orca-action); }
.orca-application-accordion-trigger .orca-status-label { justify-self: start; }
.orca-application-accordion-date { color: var(--orca-muted); font-size: 12px; white-space: nowrap; }
.orca-application-accordion-toggle {
    display: flex; align-items: center; justify-content: flex-end; gap: 6px;
    color: var(--orca-muted); font-size: 11px; font-weight: 600; white-space: nowrap;
}
.orca-application-accordion-item.is-expanded .orca-application-accordion-toggle { color: var(--orca-action); font-weight: 700; }
.orca-application-accordion-chevron { flex-shrink: 0; color: currentColor; }
.orca-application-accordion-detail { background: var(--orca-surface); padding: 20px 24px 24px; }
.orca-application-accordion-detail[hidden] { display: none; }
.orca-application-accordion-detail-inner { width: 100%; max-width: 1080px; margin-inline: auto; }
.orca-application-accordion-detail-head {
    display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 20px;
    padding-bottom: 14px; border-bottom: 1px solid var(--orca-border);
}
.orca-application-accordion-detail-head h3 {
    display: flex; align-items: center; gap: 7px; margin: 0;
    font-size: 15px; font-weight: 700; color: var(--orca-ink);
}
.orca-application-accordion-detail-head h3 .mud-icon-root { color: var(--orca-action); }
.orca-application-accordion-meta {
    display: flex; align-items: center; flex-wrap: wrap; gap: 6px 16px;
    font-size: 11px; color: var(--orca-muted);
}
.orca-application-accordion-meta strong { font-size: 12px; font-weight: 600; color: var(--orca-ink-soft); margin-left: 5px; }
.orca-application-accordion-subtitle {
    margin: 19px 0 6px; font-size: 13px; font-weight: 700; color: var(--orca-ink);
    padding-left: 10px; border-left: 3px solid var(--orca-orange);
}
.orca-application-accordion-fields { display: grid; grid-template-columns: minmax(0, 1fr); }
.orca-application-accordion-fields > div {
    display: grid; grid-template-columns: minmax(130px, 190px) minmax(0, 1fr);
    align-items: start; gap: 12px; padding: 12px 10px;
    border-bottom: 1px solid #E8E5E0;
}
.orca-application-accordion-fields > div:last-child { border-bottom: 0; }
.orca-application-accordion-fields > div > span { color: var(--orca-muted); font-size: 12px; }
.orca-application-accordion-fields > div > strong {
    color: var(--orca-ink); font-size: 13px; font-weight: 650;
    line-height: 1.6; overflow-wrap: anywhere; white-space: pre-wrap;
}
.orca-application-accordion-return { margin-top: 14px; padding: 12px 14px; background: #FFF4E5; border-left: 3px solid var(--orca-orange); }
.orca-application-accordion-return strong { font-size: 12px; color: #814400; }
.orca-application-accordion-return p { margin: 4px 0 0; font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.orca-application-accordion-approved { display: flex; align-items: center; gap: 6px; color: #18794E; font-size: 12px; margin: 14px 0 0; }
.orca-application-accordion-note { margin: 12px 0; font-size: 12px; color: var(--orca-muted); }
.orca-application-accordion-actions {
    display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px;
    margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--orca-border);
}
.orca-application-history-controls {
    padding: 18px; display: grid; grid-template-columns: minmax(150px, 2fr) minmax(140px, 1fr) minmax(140px, 1fr); gap: 12px;
}
.orca-application-history-controls .mud-input-control { min-width: 0; }
.orca-home-empty {
    min-height: 96px;
    padding: 20px 18px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--orca-muted);
}
.orca-home-empty-compact { min-height: 74px; padding-block: 14px; }
.orca-home-empty .mud-icon-root { color: var(--orca-muted); }
.orca-home-empty strong,
.orca-home-empty span { display: block; }
.orca-home-empty strong { color: var(--orca-ink); font-size: 13px; font-weight: 600; }
.orca-home-empty span { margin-top: 2px; font-size: 11px; }
.orca-home-shortcut-list { padding: 4px 0; }
.orca-home-shortcut-item {
    min-height: 58px;
    padding: 10px 14px;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 9px;
    color: var(--orca-ink);
    text-decoration: none;
    border-bottom: 1px solid var(--orca-border);
}
.orca-home-shortcut-item:last-child { border-bottom: 0; }
.orca-home-shortcut-item:hover { background: #FBFAF8; }
.orca-home-shortcut-item > .mud-icon-root:first-child { color: var(--orca-action); }
.orca-home-shortcut-item > .mud-icon-root:last-child { color: var(--orca-muted); }
.orca-home-shortcut-item strong,
.orca-home-shortcut-item small { display: block; }
.orca-home-shortcut-item strong { font-size: 12px; font-weight: 600; }
.orca-home-shortcut-item small { margin-top: 1px; color: var(--orca-muted); font-size: 10px; }
.orca-home-shortcut-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
.orca-home-shortcut-grid .orca-home-shortcut-item:nth-child(odd) { border-right: 1px solid var(--orca-border); }
.orca-home-procedure-grid {
    padding: 14px 18px 18px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.orca-home-procedure-card {
    min-height: 64px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 9px;
    color: var(--orca-ink);
    text-decoration: none;
    border: 1px solid var(--orca-border);
    border-radius: 5px;
    background: var(--orca-surface);
}
.orca-home-procedure-card:hover { border-color: var(--orca-orange-line); }
.orca-home-procedure-card > .mud-icon-root:first-child { color: var(--orca-action); }
.orca-home-procedure-card > .mud-icon-root:last-child { color: var(--orca-muted); }
.orca-home-procedure-card strong,
.orca-home-procedure-card small { display: block; }
.orca-home-procedure-card strong { font-size: 12px; font-weight: 600; }
.orca-home-procedure-card small { margin-top: 1px; color: var(--orca-muted); font-size: 10px; }
@media (max-width: 1200px) {
    .orca-home-main-grid.has-admin-tools { grid-template-columns: minmax(0, 1fr) 270px; }
    .orca-home-procedure-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1000px) {
    .orca-home-main-grid.has-admin-tools { grid-template-columns: 1fr; }
    .orca-home-shortcut-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
    .orca-home-shortcut-list .orca-home-shortcut-item:nth-child(odd) { border-right: 1px solid var(--orca-border); }
    .orca-home-procedure-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .orca-application-accordion-trigger { grid-template-columns: minmax(0, 1fr) 118px; padding: 14px 16px; gap: 6px; }
    .orca-application-accordion-date { grid-column: 1; grid-row: 1; }
    .orca-application-accordion-trigger > strong { grid-column: 1; grid-row: 2; }
    .orca-application-accordion-trigger .orca-status-label { grid-column: 1; grid-row: 3; }
    .orca-application-accordion-toggle { grid-column: 2; grid-row: 1 / 4; }
    .orca-application-accordion-detail { padding: 17px 16px 20px; }
    .orca-application-accordion-fields > div { grid-template-columns: minmax(0, 1fr); gap: 3px; padding-block: 11px; }
    .orca-application-accordion-actions { justify-content: flex-start; }
    .orca-application-history-controls { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .orca-home-section-head { align-items: flex-start; padding: 14px 16px; flex-direction: column; }
    .orca-home-section-head .mud-button-root { margin-left: -8px; }
    .orca-home-action-list { padding-inline: 16px; }
    .orca-home-action-group-head { align-items: flex-start; flex-direction: column; }
    .orca-home-action-group-head .mud-button-root { margin-left: -8px; }
    .orca-home-action-row { grid-template-columns: 38px minmax(0, 1fr); }
    .orca-home-action-button { grid-column: 1 / -1; justify-self: stretch; width: 100%; }
    .orca-home-action-icon { width: 38px; height: 38px; }
    .orca-home-hr-summary { grid-template-columns: 1fr; }
    .orca-home-status-grid { grid-template-columns: 1fr; padding-inline: 16px; }
    .orca-ui .orca-home-table .mud-table-head .mud-table-cell:first-child,
    .orca-ui .orca-home-table .mud-table-body .mud-table-cell:first-child { padding-left: 16px; }
    .orca-ui .orca-home-table .mud-table-head .mud-table-cell:last-child,
    .orca-ui .orca-home-table .mud-table-body .mud-table-cell:last-child { padding-right: 16px; }
    .orca-home-empty { padding-inline: 16px; }
    .orca-home-shortcut-list,
    .orca-home-shortcut-grid { grid-template-columns: 1fr; }
    .orca-home-shortcut-list .orca-home-shortcut-item:nth-child(odd),
    .orca-home-shortcut-grid .orca-home-shortcut-item:nth-child(odd) { border-right: 0; }
    .orca-home-procedure-grid { grid-template-columns: 1fr; padding-inline: 16px; }
}

/* Review: retain three-way comparison and semantic warnings. */
.application-review-page .review-back-button { margin-left: -8px; color: var(--orca-muted); }
.application-review-page .review-hero { padding: 12px 0 18px; border-bottom: 1px solid var(--orca-border); }
.review-hero-top, .review-action-layout, .review-return-layout { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.review-title-area { min-width: 0; }
.review-eyebrow, .approval-eyebrow { display: block; margin-bottom: 5px; color: var(--orca-action); font-size: 12px; line-height: 1.5; letter-spacing: .02em; font-weight: 600; }
.review-title { font-size: 28px; font-weight: 600; line-height: 1.4; }
.review-status-chip { flex-shrink: 0; }
.review-meta-grid { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 18px; }
.review-meta-item { display: flex; gap: 9px; align-items: center; min-width: 0; }
.review-meta-item .mud-icon-root { color: var(--orca-muted); }
.review-main-panel { padding: 20px; border: 1px solid var(--orca-border); border-radius: 6px; background: #fff; }
.review-side-panel { border-top: 2px solid var(--orca-border-strong); padding: 16px 0; }
.review-section-heading { margin-bottom: 16px; }
.review-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 16px 0 8px; }
.orca-ui .review-compare-table { border-radius: 4px; overflow: hidden; }
.review-compare-table table { table-layout: fixed; min-width: 660px; }
.orca-ui .review-compare-table th { background: var(--orca-soft); color: var(--orca-muted); font-size: 12px; font-weight: 600; }
.orca-ui .review-compare-table th, .orca-ui .review-compare-table td { padding: 10px 12px; vertical-align: top; overflow-wrap: anywhere; }
.orca-ui .review-compare-table td { font-size: 14px; line-height: 1.6; }
.review-conflict-row td { background: #FFF8EF; }
.review-conflict-row td:first-child { box-shadow: inset 3px 0 var(--orca-orange); }
.review-conflict-value { color: var(--orca-action); font-weight: 600; }
.review-conflict-label { display: block; font-size: 12px; margin-top: 5px; }
.review-applied-value { color: var(--orca-ink); font-weight: 600; }
.review-empty-state, .approval-empty { display: flex; gap: 12px; align-items: center; justify-content: center; min-height: 128px; padding: 20px; color: var(--orca-muted); }
.review-attachment-list { display: flex; flex-wrap: wrap; gap: 8px; }
.review-side-column { position: sticky; top: calc(var(--orca-shell-height) + 20px); }
.review-effect-row { display: flex; align-items: flex-start; gap: 8px; padding: 8px 0; }
.review-effect-row + .review-effect-row { border-top: 1px solid var(--orca-border); }
.review-effect-icon { color: var(--orca-action); flex-shrink: 0; }
.review-timeline { margin-left: 4px; }
.review-timeline-item { position: relative; border-left: 1px solid var(--orca-border-strong); padding: 0 0 18px 16px; }
.review-timeline-item::before { content: ""; position: absolute; left: -4px; top: 7px; width: 7px; height: 7px; background: var(--orca-orange); }
.review-timeline-status { display: block; color: var(--orca-muted); margin: 3px 0; }
.review-timeline-comment { overflow-wrap: anywhere; }
.orca-ui .orca-page .review-action-bar {
    position: sticky;
    bottom: 12px;
    z-index: 5;
    padding: 14px 18px;
    border-top: 2px solid var(--orca-orange) !important;
    background: #fff;
    box-shadow: 0 4px 16px #24272C12 !important;
}
.review-action-layout { align-items: center; }
.review-action-buttons { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.review-action-buttons .mud-button-root { min-width: 116px; min-height: 40px; }
.review-return-copy { flex: 0 0 230px; }
.review-return-field { flex: 1; min-width: 0; }

/* Queue and notifications. Repeated navigation actions do not compete with Save. */
.approval-page-header { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding: 8px 0 20px; }
.approval-page-description { margin-top: 6px; }
.approval-pending-summary { display: flex; align-items: baseline; gap: 6px; white-space: nowrap; }
.approval-pending-label, .approval-pending-unit { font-size: 12px; color: var(--orca-muted); }
.approval-pending-summary strong { font-size: 30px; font-weight: 600; color: var(--orca-action); font-variant-numeric: tabular-nums; }
.orca-ui .approval-tabs .mud-tabs-tabbar { background: transparent; }
.orca-ui .approval-tab-panel { padding: 20px 0 0; }
.approval-section-heading { margin-bottom: 14px; }
.approval-age { color: var(--orca-muted); font-size: 13px; white-space: nowrap; }
.approval-type-cell { display: inline-flex; gap: 8px; align-items: center; }
.approval-type-icon { color: var(--orca-muted); font-size: 18px; flex-shrink: 0; }
.approval-review-button { white-space: nowrap; }
.approval-status { display: inline-block; padding: 3px 8px; border: 1px solid; border-radius: 4px; font-size: 12px; white-space: nowrap; font-weight: 500; }
.approval-status-approved { color: #2D6545; background: #F5FAF7; border-color: #A9C9B6; }
.approval-status-rejected { color: #A53C32; background: #FFF8F7; border-color: #D9ABA7; }
.approval-status-returned { color: #A34E0B; background: #FFF8EF; border-color: #E4B07A; }

/* People: simple roster cards, stronger names, quieter avatars. */
.orca-ui .orca-employee-list .mud-card { box-shadow: none; border: 1px solid var(--orca-border); transition: border-color .12s; }
.orca-ui .orca-employee-list .mud-card:hover { border-color: var(--orca-orange); }
.orca-ui .orca-employee-list .orca-person-avatar { width: 64px; height: 64px; border: 1px solid var(--orca-border); background: var(--orca-soft); color: var(--orca-ink-soft); box-shadow: none; flex-shrink: 0; }
.orca-ui .orca-employee-list .orca-employee-card { min-height: 110px; border-radius: 6px; }
.orca-ui .orca-employee-list .orca-employee-card-content { padding: 16px; }
.orca-employee-card-layout, .orca-employee-card-skeleton { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; column-gap: 12px; }
.orca-employee-card-skeleton { min-height: 110px; padding: 16px; border: 1px solid var(--orca-border); background: var(--orca-surface); border-radius: 6px; }
.orca-ui .orca-employee-list .orca-employee-card .orca-person-avatar { width: 48px; height: 48px; }
.orca-employee-card-copy { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.orca-employee-card-heading { display: flex; align-items: center; justify-content: space-between; min-width: 0; min-height: 21px; gap: 4px; }
.orca-ui .orca-employee-list .orca-employee-card .orca-person-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow-wrap: normal; font-size: 15px; line-height: 1.3; }
.orca-ui .orca-employee-list .orca-employee-card .orca-employee-card-manage { width: 26px; height: 26px; padding: 3px; color: var(--orca-action); }
.orca-employee-card-department, .orca-employee-card-meta { display: flex; min-width: 0; align-items: center; gap: 5px; color: var(--orca-muted); font-size: 11px; line-height: 18px; }
.orca-employee-card-role { flex-shrink: 0; padding: 0 4px; font-size: 10px; font-weight: 600; border-radius: 3px; background: var(--orca-soft); color: var(--orca-ink-soft); }
.orca-employee-card-ellipsis { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.orca-employee-card-state { align-self: start; padding: 0 5px; border: 1px solid var(--orca-orange-line); border-radius: 3px; color: var(--orca-action); background: var(--orca-orange-soft); font-size: 10px; line-height: 17px; }
.orca-person-name { color: var(--orca-ink); text-decoration: none; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
.orca-person-name:hover { color: var(--orca-action); text-decoration: underline; }
.orca-ui .orca-employee-list .mud-table-container { min-height: 220px; }
.orca-ui .orca-employee-detail .dossier-crumb { flex-wrap: wrap; gap: 12px; }
.orca-ui .orca-employee-detail .dossier-crumb > div { flex-wrap: wrap; }
.orca-ui .dossier-crumb-back { font-size: 13px; color: var(--orca-muted); text-decoration: none; }
.orca-ui .dossier-name { margin: 0; color: var(--orca-ink); font-size: 28px; font-weight: 600; line-height: 1.4; }
.orca-ui .dossier-chip { border-radius: 4px; font-size: 12px; }
.orca-ui .dossier-chip.brand { color: var(--orca-action); background: var(--orca-orange-soft); border-color: var(--orca-orange-line); }
.orca-ui .dossier-id { font-family: var(--orca-font); font-variant-numeric: tabular-nums; font-size: 12px; }
.orca-ui .dossier-field label, .orca-ui .dossier-section-note, .orca-ui .dossier-table .mud-table-head th { color: var(--orca-muted) !important; font-size: 12px; }
.orca-ui .dossier-field-label-row { flex-wrap: wrap; }
.orca-ui .dossier-hist-link { padding: 2px 4px; border: 0; background: transparent; opacity: 1; color: var(--orca-muted); font: inherit; font-size: 12px; }
.orca-ui .dossier-field .dossier-val { font-size: 14px; line-height: 1.65; font-weight: 500; overflow-wrap: anywhere; }
.orca-ui .dossier-field .dossier-val.mono { font-family: var(--orca-mono); font-size: 14px; }
.orca-ui .dossier-field .dossier-val.empty { color: var(--orca-muted); }
.orca-ui .dossier-section-title { color: var(--orca-ink); font-size: 16px; font-weight: 600; border-left-color: var(--orca-orange); }
.orca-ui .dossier-section-head { gap: 12px; flex-wrap: wrap; }
.orca-ui .orca-employee-detail .custom-panel-content {
    background: var(--orca-surface);
    color: var(--orca-ink);
    border-left: 1px solid var(--orca-border);
    border-right: 1px solid var(--orca-border);
    border-bottom: 1px solid var(--orca-border);
}
.orca-ui .orca-employee-detail .dossier-tabs .mud-tabs-tabbar { background: var(--orca-surface); }
.orca-ui .orca-employee-detail .dossier-tabs .mud-tab {
    color: var(--orca-ink-soft) !important;
    font-size: 14px;
    letter-spacing: normal;
    font-weight: 500;
}
.orca-ui .orca-employee-detail .dossier-tabs .mud-tab-active { color: var(--orca-action) !important; }
.orca-ui .orca-employee-detail .dossier-field label,
.orca-ui .orca-employee-detail .dossier-section-note,
.orca-ui .orca-employee-detail .dossier-hist-link,
.orca-ui .orca-employee-detail .dossier-help-text {
    color: var(--orca-ink-soft) !important;
}
.orca-ui .orca-payroll-scope {
    padding: 16px 18px;
    border: 1px solid var(--orca-border);
    border-radius: 6px;
}
.orca-ui .orca-payroll-scope-only {
    background: linear-gradient(90deg, var(--orca-orange-soft) 0, var(--orca-surface) 18%);
    border-color: var(--orca-orange-line);
}
.orca-ui .orca-payroll-scope-shared {
    background: var(--orca-surface);
}
.orca-ui .orca-payroll-scope-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}
.orca-ui .orca-payroll-scope-badge.payroll-only {
    color: var(--orca-action);
    background: var(--orca-orange-soft);
    border: 1px solid var(--orca-orange-line);
}
.orca-ui .orca-payroll-scope-badge.payroll-shared {
    color: var(--orca-ink-soft);
    background: var(--orca-surface);
    border: 1px solid var(--orca-border-strong);
}
.orca-ui .orca-employee-management-guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border: 1px solid var(--orca-orange-line);
    border-left: 4px solid var(--orca-orange);
    border-radius: 6px;
    background: linear-gradient(90deg, var(--orca-orange-soft) 0, var(--orca-surface) 32%);
}
.orca-ui .orca-employee-management-guide-copy {
    min-width: 260px;
}
.orca-ui .orca-employee-management-kicker {
    color: var(--orca-action);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
}
.orca-ui .orca-employee-management-title {
    margin-top: 2px;
    color: var(--orca-ink);
    font-size: 18px;
    font-weight: 700;
}
.orca-ui .orca-employee-management-note {
    margin-top: 4px;
    color: var(--orca-ink-soft);
    font-size: 12px;
    line-height: 1.6;
}
.orca-ui .orca-employee-management-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}
@media (max-width: 960px) {
    .orca-ui .orca-employee-management-guide {
        align-items: stretch;
        flex-direction: column;
    }
    .orca-ui .orca-employee-management-actions {
        justify-content: flex-start;
    }
}
.orca-ui .orca-employee-detail .dossier-field .dossier-val { color: var(--orca-ink); }
.orca-ui .orca-employee-detail .dossier-field .dossier-val.empty { color: var(--orca-muted); }
.orca-ui .orca-employee-detail .dossier-expansion .mud-expand-panel { border: 0 !important; }
.orca-ui .btn-outline-subtle.mud-button-root { color: var(--orca-ink-soft) !important; border-color: var(--orca-border-strong) !important; }
.orca-ui .btn-outline-subtle.mud-button-root:not(:disabled):hover { color: var(--orca-action) !important; border-color: var(--orca-action) !important; }
.orca-ui .btn-outline-subtle.mud-button-root:not(:disabled):hover .mud-icon-root { color: var(--orca-action) !important; }
.orca-application-type { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 12px; align-items: center; justify-content: stretch; text-align: left; width: 100%; padding: 10px 12px; border: 1px solid var(--orca-border); border-radius: 5px; background: var(--orca-surface); color: var(--orca-ink); font-family: var(--orca-font); font-size: 14px; cursor: pointer; }
.orca-application-type:is(:hover, [aria-pressed="true"]) { border-color: var(--orca-orange); background: var(--orca-orange-soft); color: var(--orca-action); }
.orca-application-type .mud-icon-root { justify-self: center; }
.orca-application-type-copy { display: grid; gap: 3px; min-width: 0; }
.orca-application-type-note { color: var(--orca-muted); font-size: 12px; }
.orca-application-picker-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.orca-application-picker-grid .orca-application-type { min-height: 66px; padding: 12px 16px; }
.orca-application-picker-stack { display: grid; gap: 8px; }
.orca-application-history-detail-cell { padding: 0 !important; background: #faf9f7; }
.orca-application-history-detail { padding: 16px 18px 18px; border-top: 1px solid var(--orca-border); }
.orca-application-history-detail-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 14px; }
.orca-application-history-detail-head strong,
.orca-application-history-detail-head span { display: block; }
.orca-application-history-detail-head strong { color: var(--orca-ink); font-size: 13px; }
.orca-application-history-detail-head span { margin-top: 2px; color: var(--orca-muted); font-size: 11px; }
.orca-application-history-return-reason { color: #a13232 !important; text-align: right; }
.orca-application-history-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.orca-application-history-detail-item { min-width: 0; padding: 10px 12px; border: 1px solid var(--orca-border); background: #fff; }
.orca-application-history-detail-item span,
.orca-application-history-detail-item strong { display: block; }
.orca-application-history-detail-item span { color: var(--orca-muted); font-size: 10px; }
.orca-application-history-detail-item strong { margin-top: 3px; color: var(--orca-ink); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.orca-application-workspace.is-selected { align-items: stretch; }
@media (min-width: 960px) {
    .orca-application-workspace.is-selected.is-collapsed > .orca-application-nav-pane {
        flex: 0 0 88px !important;
        width: 88px !important;
        max-width: 88px !important;
    }
    .orca-application-workspace.is-selected.is-collapsed > .orca-application-form-pane {
        flex: 1 1 0 !important;
        width: auto !important;
        max-width: calc(100% - 88px) !important;
        min-width: 0;
    }
}
@media (max-width: 959px) {
    .orca-application-history-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .orca-application-workspace.is-selected > .orca-application-nav-pane,
    .orca-application-workspace.is-selected > .orca-application-form-pane {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .orca-application-workspace.is-selected.is-collapsed .orca-application-nav-pane > .mud-paper {
        height: auto !important;
        flex-direction: row !important;
        justify-content: flex-start;
        overflow-x: auto;
        padding: 8px 10px !important;
    }
    .orca-application-workspace.is-selected.is-collapsed .orca-application-nav-pane > .mud-paper > .mud-icon-button:last-child {
        margin-top: 0 !important;
        margin-left: auto;
    }
}
@media (max-width: 700px) {
    .orca-application-history-detail-head { flex-direction: column; }
    .orca-application-history-return-reason { text-align: left; }
    .orca-application-history-detail-grid { grid-template-columns: 1fr; }
}

/* Configuration matrices are genuinely two-dimensional: scroll them, never clip. */
.orca-ui :is(.orca-masters, .orca-payroll-mappings, .orca-org-groups) .mud-table-root { min-width: 760px; }
.orca-ui .orca-parking .mud-table-root { min-width: 960px; }
.orca-ui .orca-parking .parking-ledger-table .mud-table-cell { padding-block: 10px; }
.orca-ui .orca-accounts .perm-matrix { font-size: 13px; }
.orca-ui .orca-accounts .perm-matrix thead tr.grp-head th { color: var(--orca-muted); font-size: 12px; }
.orca-ui .orca-accounts .perm-matrix-scroll { border-radius: 5px !important; }
.orca-ui .orca-masters > .mud-tabs > .mud-tabs-panels > .mud-tab-panel { padding: 24px 0 !important; }
.orca-ui .orca-action-center .mud-avatar { border-radius: 5px; background: transparent; }
.orca-ui .qualification-dashboard-table .mud-table-cell:is(:nth-child(2), :nth-child(5), :nth-child(6), :nth-child(7), :nth-child(8), :nth-child(9)) { white-space: nowrap; }
.orca-ui .qualification-dashboard-table .mud-table-cell:last-child { min-width: 84px; }
.orca-ui .orca-salary-analysis .mud-chip { max-width: 100%; }
.orca-ui .orca-salary-analysis svg { font-family: var(--orca-font); }
.orca-ui .scatter-mode-tabs { min-width: 0; max-width: 100%; flex: 1 1 560px; }
.orca-ui .scatter-chart-scroll { width: 100%; overflow-x: auto; padding-block: 8px; }
.orca-ui .scatter-hotspot { border: 0; padding: 0; background: transparent; }

/* Organization geometry and print logic are intentionally untouched. */
.orca-ui .orca-org-page .org-scroll-area { height: calc(100dvh - var(--orca-shell-height) - 24px); border: 1px solid var(--orca-border); border-radius: 5px !important; }
.orca-ui .orca-org-page .org-floating-toolbar { max-width: calc(100% - 24px); border-color: var(--orca-border); background: #fff; box-shadow: 0 3px 10px #24272C0d; }
.orca-ui .orca-org-page .org-toolbar-buttons { background: var(--orca-soft); flex-wrap: wrap; }
.orca-ui .orca-org-page .org-floating-toolbar > .mud-stack { flex-wrap: wrap; }

/* Denied / error / not-authorized panels use the same font and controls as the signed-in app. */
.orca-ui .orca-login-page { margin: 0 auto !important; padding: 28px 16px; min-height: 100dvh; display: flex; align-items: center; justify-content: center; }
.orca-ui .orca-login-panel { width: 100%; max-width: 440px; padding: 32px; border: 1px solid var(--orca-border); border-top: 3px solid var(--orca-orange) !important; border-radius: 6px; background: #fff; }
.orca-ui .orca-access-denied { margin: 0 !important; min-height: 100dvh; padding: 24px; }

/* Login（最終デザイン④案）: 左に正式ロゴ＋「ORCA 人事」、右にログインカード、画面下に静止波。
   1920×1080 を基準に --login-u（基準1pxあたりの表示寸法）で構図ごと拡縮する。
   動きは送信ボタンの矢印がhoverで3px進むことだけ。波・ロゴ・カードは動かさない。 */
.orca-login {
    --login-u: clamp(0.78px, min(100vw / 1920, 100vh / 960), 1.2px);
    position: relative;
    min-height: 100vh;
    min-height: 100dvh;
    overflow: hidden;
    background: var(--orca-login-canvas);
    color: var(--orca-ink);
}
body.orca-ui:has(.orca-login) { background: var(--orca-login-canvas); }
/* App.razor が常時確保するスクロールバー領域を、スクロールしないログインでは空けない（波を画面右端まで届かせる） */
html:has(.orca-login), html:has(.orca-login) body { scrollbar-gutter: auto !important; }
.orca-login-wave { position: absolute; right: 0; bottom: 0; left: 0; display: block; width: 100%; height: auto; pointer-events: none; user-select: none; }
.orca-login-stage {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 54fr 46fr;
    align-items: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: calc(40 * var(--login-u)) 7.6vw;
}
/* ブランドは画面高の約41%、カードは約47%に中心を置く（リファレンスの視覚的な重心）。
   ロゴと文字の間はブランドガイドの余白1X（マーク幅÷9）以上。 */
.orca-login-brand { display: flex; flex-direction: column; align-items: center; gap: calc(34 * var(--login-u)); margin-bottom: 17vh; }
.orca-login-logo { display: block; height: calc(250 * var(--login-u)); width: auto; flex-shrink: 0; }
.orca-login-product { display: inline-flex; align-items: center; margin: 0; color: #20242A; font-size: calc(76 * var(--login-u)); line-height: 1; white-space: nowrap; }
.orca-login-product-orca { font-family: "Inter", Arial, sans-serif; font-weight: 700; letter-spacing: .04em; }
.orca-login-product-jp { margin-left: .4em; padding-left: .4em; border-left: 1px solid #B8BDC4; font-family: "Noto Sans JP", "Yu Gothic UI", sans-serif; font-size: .8em; font-weight: 500; letter-spacing: 0; }
.orca-login-card {
    justify-self: center;
    width: min(100%, calc(640 * var(--login-u)));
    margin-bottom: 6vh;
    padding: calc(46 * var(--login-u)) calc(52 * var(--login-u)) calc(50 * var(--login-u));
    border: 1px solid color-mix(in srgb, var(--orca-border) 55%, var(--orca-surface));
    border-radius: calc(24 * var(--login-u));
    background: var(--orca-surface);
    box-shadow: 0 2px 6px #24272C0a, 0 26px 60px -20px #24272C2e;
}
.orca-login-form { display: flex; flex-direction: column; }
.orca-ui .orca-login-title { margin: 0; color: var(--orca-ink); font-size: max(26px, calc(36 * var(--login-u))); font-weight: 700; line-height: 1.3; letter-spacing: .04em; }
.orca-ui .orca-login-lead { margin: calc(10 * var(--login-u)) 0 0; color: var(--orca-muted); font-size: max(14px, calc(17 * var(--login-u))); line-height: 1.6; }
.orca-ui .orca-login-alert { margin-top: calc(22 * var(--login-u)); border-radius: 10px; }
.orca-login-quick { min-width: 0; margin: calc(28 * var(--login-u)) 0 0; padding: 0; border: 0; }
.orca-login-quick legend { margin-bottom: calc(10 * var(--login-u)); padding: 0; color: var(--orca-muted); font-size: 12px; line-height: 1.5; }
.orca-login-quick-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(12 * var(--login-u)); }
.orca-ui .orca-login-quick-option.mud-button-outlined {
    min-height: 0;
    height: max(44px, calc(54 * var(--login-u)));
    border: 1px solid var(--orca-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--orca-page) 60%, var(--orca-surface));
    color: var(--orca-ink-soft);
    font-size: max(14px, calc(17 * var(--login-u)));
    font-weight: 500;
}
.orca-ui .orca-login-quick-option.mud-button-outlined:hover { border-color: var(--orca-border-strong); background: var(--orca-surface); }
.orca-ui .orca-login-quick-option.mud-button-outlined[aria-pressed="true"] { border-color: var(--orca-orange); background: var(--orca-orange-soft); color: var(--orca-action); }
.orca-login-field { margin-top: calc(28 * var(--login-u)); }
.orca-login-label { display: block; margin-bottom: calc(12 * var(--login-u)); color: var(--orca-ink); font-size: max(14px, calc(17 * var(--login-u))); font-weight: 600; line-height: 1.5; }
.orca-ui .orca-login-input.mud-input-control { margin: 0; }
.orca-ui .orca-login-input .mud-input.mud-input-outlined {
    height: max(48px, calc(56 * var(--login-u)));
    padding-inline: max(14px, calc(18 * var(--login-u)));
    border-radius: 10px;
    background: var(--orca-surface);
    color: var(--orca-ink);
    font-size: max(15px, calc(17 * var(--login-u)));
}
.orca-ui .orca-login-input .mud-input > input.mud-input-root { box-sizing: border-box; height: 100%; padding-block: 0; }
.orca-ui .orca-login-input .mud-input-adornment-start { margin-inline-end: max(10px, calc(12 * var(--login-u))); color: var(--orca-muted); }
.orca-ui .orca-login-input .mud-input-adornment .mud-icon-root { font-size: max(20px, calc(24 * var(--login-u))); }
.orca-ui .orca-login-input .mud-input.mud-input-outlined .mud-input-outlined-border { border-color: var(--orca-border); border-radius: 10px; }
.orca-ui .orca-login-input .mud-input.mud-input-outlined:not(:focus-within):hover .mud-input-outlined-border { border-color: var(--orca-border-strong); }
.orca-ui .orca-login-input .mud-input.mud-input-outlined:focus-within > .mud-input-outlined-border {
    border-width: 1px;
    border-color: var(--orca-orange);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--orca-orange) 16%, transparent);
}
.orca-login-password { position: relative; }
.orca-ui .orca-login-password .orca-login-input .mud-input.mud-input-outlined { padding-inline-end: max(52px, calc(60 * var(--login-u))); }
.orca-ui .orca-login-reveal.mud-icon-button {
    position: absolute;
    top: 50%;
    right: max(6px, calc(8 * var(--login-u)));
    z-index: 1;
    width: 40px;
    height: 40px;
    color: var(--orca-muted);
    transform: translateY(-50%);
}
.orca-ui .orca-login-reveal.mud-icon-button:hover { color: var(--orca-ink); }
.orca-ui .orca-login-reveal .mud-icon-root { font-size: max(20px, calc(24 * var(--login-u))); }
.orca-ui .orca-login-submit.mud-button-root {
    min-height: 0;
    height: max(50px, calc(58 * var(--login-u)));
    margin-top: calc(40 * var(--login-u));
    border-radius: 10px;
    font-size: max(19px, calc(22 * var(--login-u)));
    font-weight: 700;
    letter-spacing: .04em;
}
/* 白文字は太字19px以上（大きな文字）として #E87512 上で 3:1 を満たす */
.orca-ui .orca-login-submit.mud-button-filled-primary:not(:disabled):not(.mud-disabled) { background: var(--orca-orange); color: #fff; }
.orca-ui .orca-login-submit.mud-button-filled-primary:not(:disabled):not(.mud-disabled):hover { background: color-mix(in srgb, var(--orca-orange) 92%, #000); }
.orca-ui .orca-login-submit.mud-button-filled-primary:not(:disabled):not(.mud-disabled):active { background: color-mix(in srgb, var(--orca-orange) 84%, #000); box-shadow: inset 0 2px 3px #0000001f; }
.orca-ui .orca-login-submit .mud-button-icon-end { margin-inline-start: 12px; transition: transform .16s ease; }
.orca-ui .orca-login-submit .mud-button-icon-end .mud-icon-root { font-size: 24px; }
.orca-ui .orca-login-submit:hover .mud-button-icon-end { transform: translateX(3px); }
/* 初期パスワード発行直後に必ず通る本人設定画面。通常のホームは表示しない。 */
.orca-issued-credential label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 600; }
.orca-issued-credential-value { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--orca-border-strong); border-radius: 5px; background: var(--orca-surface); color: var(--orca-ink); font: 600 17px/1.5 monospace; letter-spacing: .025em; }
.orca-issued-credential-value:focus-visible { outline: 2px solid var(--orca-orange); }
.orca-initial-password-page { min-height: 100dvh; display: grid; place-items: center; padding: 40px 16px; background: var(--orca-login-canvas); }
.orca-initial-password-panel { width: min(100%, 500px); padding: clamp(24px, 4vw, 42px); border: 1px solid var(--orca-border); border-top: 3px solid var(--orca-orange); border-radius: 10px; background: #fff; }
.orca-initial-password-step { margin-top: 28px; color: var(--orca-action); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.orca-initial-password-panel h1 { margin: 6px 0 10px; color: var(--orca-ink); font-size: 23px; line-height: 1.4; }
.orca-initial-password-panel > p { color: var(--orca-muted); line-height: 1.7; font-size: 13px; }
.orca-initial-password-form { display: flex; flex-direction: column; gap: 9px; margin-top: 22px; }
.orca-initial-password-form label { color: var(--orca-ink); font-size: 13px; font-weight: 600; }
.orca-initial-password-form input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--orca-border-strong); border-radius: 5px; background: #fff; color: var(--orca-ink); font: inherit; }
.orca-initial-password-form input:focus-visible { border-color: var(--orca-orange); }
.orca-initial-password-form label:not(:first-of-type) { margin-top: 10px; }
.orca-initial-password-form .orca-initial-password-reveal { align-self: flex-end; padding: 6px; border: 0; background: transparent; color: var(--orca-action); font: inherit; cursor: pointer; }
.orca-initial-password-guidance { margin: 6px 0; color: var(--orca-muted); font-size: 12px; line-height: 1.6; }
.orca-initial-password-submit { min-height: 48px; border: 0; border-radius: 6px; background: var(--orca-orange); color: #fff; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.orca-initial-password-submit:hover { background: var(--orca-action); }
.orca-initial-password-error { padding: 12px; border: 1px solid #cf8073; border-radius: 5px; color: #8d3026 !important; background: #fff5f3; }
.orca-initial-password-exit { margin-top: 18px; text-align: center; }
.orca-initial-password-exit button { padding: 6px 12px; border: 0; background: transparent; color: var(--orca-muted); font: inherit; cursor: pointer; text-decoration: underline; }
@media (max-width: 1100px) {
    /* PC全画面が前提。狭い画面では縦積みにして操作だけは崩さない。 */
    .orca-login { --login-u: 0.8px; }
    .orca-login-stage { grid-template-columns: minmax(0, 1fr); justify-items: center; align-content: center; gap: 32px; padding: 40px 16px 120px; }
    .orca-login-brand { flex-direction: row; gap: 20px; margin-bottom: 0; }
    .orca-login-logo { height: 96px; }
    .orca-login-product { font-size: 44px; }
    .orca-login-card { margin-bottom: 0; }
}

@media (max-width: 1000px) {
    :root { --orca-shell-height: 104px; }
    .orca-ui .orca-appbar .mud-toolbar { flex-wrap: wrap; padding-inline: 16px; align-content: flex-start; }
    .orca-ui .orca-brand { height: 60px; margin-right: 8px !important; }
    .orca-ui .orca-account-actions { margin-left: auto; height: 60px; }
    .orca-ui .orca-appbar .mud-spacer { display: none; }
    .orca-ui .orca-navigation { order: 3; width: 100%; height: 44px !important; overflow-x: auto; overflow-y: hidden; }
    .orca-ui .nav-link-item { height: 44px; padding-inline: 14px; }
    .orca-ui .orca-business-menu > .mud-button-root { height: 44px; padding-inline: 14px; }
    .orca-ui .orca-account-actions .mud-badge-root { margin-inline: 3px !important; }
    .orca-ui .orca-account-actions .mud-icon-button { width: 36px; height: 36px; min-height: 36px; }
    .orca-ui .orca-account-actions .mud-avatar, .orca-ui .orca-account-actions form { margin-left: 8px !important; }
    .orca-ui .orca-account-actions .mud-button-root { padding-inline: 6px; }
    .orca-application-picker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 959px) {
    .review-side-column { position: static; }
    .orca-ui .orca-employee-list .mud-table-container { height: auto !important; max-height: 70dvh; }
}
@media (max-width: 700px) {
    .orca-ui .orca-main-content { padding-inline: 16px; padding-bottom: 24px; }
    .orca-ui .orca-page { margin-top: 20px !important; }
    .orca-ui .orca-page-title { font-size: 24px !important; }
    .orca-ui .orca-page > .mud-paper:not(.mud-tabs):not(.mud-table):not(.mud-alert) { padding: 20px !important; }
    .orca-ui .orca-login-page { margin-top: 0 !important; }
    .orca-ui .orca-page .custom-panel-content { padding: 16px !important; }
    .orca-ui .dossier { align-items: flex-start; gap: 16px; padding-inline: 0; }
    .orca-ui .dossier-avatar { width: 64px !important; height: 64px !important; }
    .review-hero-top, .review-action-layout, .review-return-layout { flex-wrap: wrap; gap: 14px; }
    .review-meta-grid { gap: 12px 20px; }
    .review-main-panel { padding: 16px 12px; }
    .review-action-buttons { width: 100%; }
    .review-action-buttons .mud-button-root { flex: 1; }
    .review-return-copy, .review-return-field { flex: 1 0 100%; }
    .orca-ui .orca-page .review-action-bar { position: static; padding: 16px !important; }
    .orca-ui .mud-dialog { max-width: calc(100vw - 24px); margin: 12px; }
    .orca-ui .mud-dialog-title, .orca-ui .mud-dialog-content, .orca-ui .mud-dialog-actions { padding-inline: 16px; }
    .orca-ui .orca-employee-list .orca-flow { gap: 12px; }
    .orca-ui .scatter-chart-scroll .scatter-wrap { min-width: 660px; }
    .orca-application-picker-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    /* ロゴの光学サイズを維持し、ブランド＋通知＋ログアウトを60pxの1段に収める。 */
    .orca-ui .orca-account-actions .mud-avatar { display: none; }
    .orca-ui .orca-account-actions .orca-mypage-button { width: 36px; min-width: 36px; height: 36px; padding: 6px; }
    .orca-ui .orca-mypage-label { display: none; }
    .orca-ui .orca-mypage-button .mud-button-icon-start { margin: 0; }
    .orca-ui .orca-account-actions .orca-logout-button { width: 36px; min-width: 36px; height: 36px; padding: 6px; }
    .orca-ui .orca-logout-label { display: none; }
    .orca-ui .orca-logout-button .mud-button-icon-start { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .orca-ui *, .orca-ui *::before, .orca-ui *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
@media print {
    .orca-ui .review-action-bar { position: static; box-shadow: none !important; }
}

/* Employee self-service onboarding / profile verification */
.orca-verification-loading {
    min-height: 45vh;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    color: var(--orca-muted);
}
.orca-verification-page {
    width: min(1540px, calc(100% - 32px));
    margin: 24px auto 40px;
    display: grid;
    grid-template-columns: 250px minmax(560px, 1fr) 310px;
    gap: 18px;
    align-items: start;
}
.orca-verification-sidebar,
.orca-verification-progress,
.orca-verification-main {
    background: var(--orca-surface);
    border: 1px solid var(--orca-border);
    box-shadow: none;
}
.orca-verification-sidebar,
.orca-verification-progress {
    position: sticky;
    top: calc(var(--orca-shell-height) + 18px);
}
.orca-verification-sidebar-title {
    padding: 18px 18px 14px;
    font-size: 16px;
    font-weight: 700;
    border-bottom: 1px solid var(--orca-border);
}
.orca-verification-step {
    width: 100%;
    border: 0;
    border-left: 3px solid transparent;
    background: transparent;
    display: grid;
    grid-template-columns: 32px 1fr;
    gap: 10px;
    padding: 13px 14px;
    text-align: left;
    color: var(--orca-ink);
    cursor: pointer;
}
.orca-verification-step:hover { background: #faf9f7; }
.orca-verification-step.is-locked,
.orca-verification-step:disabled {
    cursor: not-allowed;
    opacity: .48;
}
.orca-verification-step.is-locked:hover,
.orca-verification-step:disabled:hover { background: transparent; }
.orca-verification-step.is-active {
    background: var(--orca-orange-soft);
    border-left-color: var(--orca-orange);
}
.orca-verification-step-number,
.progress-dot {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid var(--orca-border-strong);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    background: #fff;
}
.orca-verification-step.is-active .orca-verification-step-number {
    background: var(--orca-orange);
    border-color: var(--orca-orange);
    color: white;
}
.orca-verification-step.is-complete .orca-verification-step-number,
.progress-dot.done {
    background: #E7F6EF;
    border-color: #9ED6BA;
    color: #18794E;
}
.orca-verification-step strong,
.orca-verification-step small { display: block; }
.orca-verification-step strong { font-size: 13px; margin-top: 1px; }
.orca-verification-step small { color: var(--orca-muted); font-size: 11px; margin-top: 2px; }
.orca-verification-sidebar-note {
    margin: 16px;
    padding: 12px;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    color: var(--orca-muted);
    background: #faf9f7;
    border: 1px solid var(--orca-border);
    font-size: 11px;
}
.orca-verification-main { min-width: 0; }
.orca-verification-header {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 26px 18px;
    border-bottom: 1px solid var(--orca-border);
}
.orca-verification-kicker {
    color: var(--orca-action);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: 3px;
}
.orca-verification-header h1 {
    margin: 0;
    font-size: 24px;
    line-height: 1.35;
    letter-spacing: -.02em;
}
.orca-verification-header p { margin: 5px 0 0; color: var(--orca-muted); font-size: 12px; }
.orca-verification-save-actions {
    min-width: 170px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
}
.orca-verification-save-state {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #18794E;
    font-size: 11px;
}
.orca-verification-pending-banner {
    margin: 16px 26px 0;
    padding: 12px 14px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    border: 1px solid var(--orca-orange-line);
    background: #FFF7ED;
    color: #713600;
}
.orca-verification-pending-banner .mud-icon-root { margin-top: 1px; color: var(--orca-action); }
.orca-verification-pending-banner strong,
.orca-verification-pending-banner span { display: block; }
.orca-verification-pending-banner strong { font-size: 12px; }
.orca-verification-pending-banner span { margin-top: 2px; color: #765538; font-size: 10px; line-height: 1.55; }
.orca-verification-pending-banner b { white-space: nowrap; color: var(--orca-action); font-size: 15px; }
.orca-verification-procedure-callout {
    margin-top: 18px;
    padding: 13px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid #E7DED4;
    background: #FAF8F5;
}
.orca-verification-procedure-callout > div:first-child strong,
.orca-verification-procedure-callout > div:first-child span { display: block; }
.orca-verification-procedure-callout > div:first-child strong { font-size: 12px; color: var(--orca-ink); }
.orca-verification-procedure-callout > div:first-child span { margin-top: 2px; color: var(--orca-muted); font-size: 10px; line-height: 1.55; }
.orca-verification-procedure-actions { display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.orca-verification-form { padding: 24px 26px 26px; min-height: 520px; }
.orca-verification-form.is-readonly .mud-input-control { opacity: .88; }
.orca-verification-required-guide {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 22px;
    padding: 13px 16px;
    background: #FFF6EA;
    border: 1px solid #E6A067;
    border-left: 4px solid var(--orca-orange);
    border-radius: 5px;
    color: #864105;
}
.orca-verification-required-guide > div { display: grid; gap: 3px; }
.orca-verification-required-guide strong { font-size: 13px; }
.orca-verification-required-guide span { font-size: 12px; line-height: 1.6; }
.orca-verification-required-guide small { font-size: 11px; color: #8B5A35; }
.orca-verification-required-guide.is-ready { background: #F3FAF6; border-color: #B8DCC8; border-left-color: #2B956B; color: #176447; }
.orca-verification-required-missing .mud-input-label { color: #975005 !important; font-weight: 700 !important; }
.orca-verification-required-missing .mud-input-line { border-bottom-color: #D67A21 !important; }
.orca-verification-required-missing .mud-input-outlined-border { border-color: #D67A21 !important; }
.orca-verification-required-missing .mud-input-helper-text { color: #9A4D08 !important; font-weight: 600; }
.orca-verification-check-grid.orca-verification-required-missing { border: 1px solid #D67A21; background: #FFF9F1; border-radius: 5px; padding: 8px 12px; }
.orca-verification-section-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: baseline;
    padding-bottom: 14px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--orca-border);
}
.orca-verification-section-head h2 { margin: 0; font-size: 17px; }
.orca-verification-section-head span,
.orca-verification-subsection-title span { color: var(--orca-muted); font-size: 11px; font-weight: 400; }
.orca-verification-group-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--orca-ink-soft);
    padding-left: 9px;
    border-left: 3px solid var(--orca-orange);
}
.orca-verification-subsection {
    padding: 18px 0;
    border-bottom: 1px solid var(--orca-border);
}
.orca-verification-subsection:first-of-type { padding-top: 0; }
.orca-verification-subsection:last-child { border-bottom: 0; }
.orca-verification-field-pending {
    background: #FFF8EF !important;
    box-shadow: inset 3px 0 0 var(--orca-orange);
    border-radius: 4px;
}
.orca-verification-photo-block.orca-verification-field-pending,
.orca-verification-file-card.orca-verification-field-pending {
    border-color: var(--orca-orange-line);
}
.mud-grid-item.orca-verification-field-pending { position: relative; }
.orca-verification-subsection-title {
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.orca-verification-subsection-title > div { display: flex; align-items: baseline; gap: 8px; }
.orca-verification-repeat-row {
    position: relative;
    border: 1px solid var(--orca-border);
    padding: 14px 42px 14px 14px;
    margin-bottom: 10px;
    background: #fcfbfa;
}
.orca-verification-repeat-row > .mud-icon-button { position: absolute; right: 6px; top: 7px; }
.orca-verification-empty {
    padding: 16px;
    color: var(--orca-muted);
    background: #faf9f7;
    border: 1px dashed var(--orca-border-strong);
    font-size: 12px;
}
.orca-verification-check-grid { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.orca-verification-file-note {
    margin-top: 12px;
    padding: 9px 12px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #faf9f7;
    border: 1px solid var(--orca-border);
    color: var(--orca-muted);
    font-size: 11px;
}
.orca-verification-photo-block {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 16px;
    align-items: center;
    padding: 14px 16px;
    margin-bottom: 22px;
    border: 1px solid var(--orca-border);
    background: #fcfbfa;
}
.orca-verification-photo-avatar {
    width: 76px !important;
    height: 76px !important;
    border: 1px solid var(--orca-border);
    background: white;
}
.orca-verification-photo-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.orca-verification-photo-copy > strong,
.orca-verification-photo-copy > span { display: block; }
.orca-verification-photo-copy > span { margin-top: 3px; color: var(--orca-muted); font-size: 11px; }
.orca-verification-file-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.orca-verification-file-pending { color: #8A4B08 !important; font-size: 10px !important; font-weight: 600; }
.orca-verification-file-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--orca-border);
    background: #faf9f7;
}
.orca-verification-file-card > div:first-child strong,
.orca-verification-file-card > div:first-child span { display: block; }
.orca-verification-file-card > div:first-child span { color: var(--orca-muted); font-size: 10px; margin-top: 2px; }
.orca-verification-qualification-file {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    padding-top: 9px;
    border-top: 1px solid var(--orca-border);
    color: var(--orca-muted);
    font-size: 10px;
}
.orca-verification-review-files {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.orca-verification-review-file-item {
    min-height: 118px;
    padding: 14px 16px;
    border-right: 1px solid var(--orca-border);
    border-bottom: 1px solid var(--orca-border);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}
.orca-verification-review-file-item:nth-child(2) { border-right: 0; }
.orca-verification-review-file-item.qualifications { grid-column: 1 / -1; border-right: 0; border-bottom: 0; min-height: 80px; }
.orca-verification-review-file-item > span { color: var(--orca-muted); font-size: 10px; }
.orca-verification-review-file-item > small { color: #8A4B08; font-weight: 600; }
.orca-verification-review-file-list { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
.orca-verification-footer {
    min-height: 72px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 26px;
    border-top: 1px solid var(--orca-border);
    background: #fcfbfa;
}
.orca-verification-progress { padding: 18px; }
.orca-verification-progress-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 10px;
}
.orca-verification-progress-head strong,
.orca-verification-progress-head span { display: block; }
.orca-verification-progress-head strong { font-size: 15px; }
.orca-verification-progress-head span { color: var(--orca-muted); font-size: 11px; margin-top: 2px; }
.orca-verification-progress-head b { font-size: 20px; color: var(--orca-action); }
.orca-verification-progress-list { border-top: 1px solid var(--orca-border); }
.orca-verification-progress-list button {
    width: 100%;
    display: grid;
    grid-template-columns: 27px 1fr;
    gap: 10px;
    align-items: center;
    text-align: left;
    padding: 10px 4px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--orca-border);
    cursor: pointer;
}
.orca-verification-progress-list button.is-current { background: var(--orca-orange-soft); margin-inline: -6px; width: calc(100% + 12px); padding-inline: 10px; }
.orca-verification-progress-list button.is-locked,
.orca-verification-progress-list button:disabled { cursor: not-allowed; opacity: .48; }
.progress-dot.current { background: var(--orca-orange); color: white; border-color: var(--orca-orange); }
.progress-copy strong, .progress-copy small { display: block; }
.progress-copy strong { font-size: 12px; }
.progress-copy small { font-size: 10px; color: var(--orca-muted); margin-top: 1px; }
.orca-verification-change-box,
.orca-verification-autosave-box {
    margin-top: 16px;
    padding: 13px;
    border: 1px solid var(--orca-border);
}
.orca-verification-change-box { background: #faf9f7; }
.orca-verification-change-box strong, .orca-verification-change-box span, .orca-verification-change-box small { display: block; }
.orca-verification-change-box span { font-size: 22px; color: var(--orca-action); font-weight: 700; }
.orca-verification-change-box small { color: var(--orca-muted); margin-top: 3px; }
.orca-verification-autosave-box { display: flex; gap: 9px; background: var(--orca-orange-soft); border-color: #F1D3B8; }
.orca-verification-autosave-box strong { font-size: 12px; }
.orca-verification-autosave-box p { margin: 3px 0 0; font-size: 10px; color: var(--orca-muted); line-height: 1.6; }
.orca-verification-review-list { border: 1px solid var(--orca-border); }
.orca-verification-review-row {
    display: grid;
    grid-template-columns: 140px minmax(0,1fr) 54px;
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border-bottom: 1px solid var(--orca-border);
}
.orca-verification-review-row:last-child { border-bottom: 0; }
.orca-verification-review-row > span { color: var(--orca-muted); font-size: 11px; }
.orca-verification-review-row > strong { font-size: 12px; font-weight: 600; overflow-wrap: anywhere; }
.orca-verification-all-fields { display: grid; gap: 10px; }
.orca-verification-all-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding: 12px 2px 8px;
    border-bottom: 2px solid var(--orca-border-strong);
}
.orca-verification-all-section-head:first-child { margin-top: 0; }
.orca-verification-all-section-head > div:first-child { display: flex; align-items: center; gap: 8px; min-width: 0; }
.orca-verification-all-section-head > div:first-child > strong { font-size: 14px; color: var(--orca-ink); }
.orca-verification-pending-chip {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 1px 7px;
    border: 1px solid var(--orca-orange-line);
    border-radius: 999px;
    background: #FFF7ED;
    color: #8A4B08;
    font-size: 9px;
    font-weight: 700;
    white-space: nowrap;
}
.orca-verification-all-subtitle {
    margin-top: 5px;
    padding: 7px 2px 3px;
    color: var(--orca-ink-soft);
    font-size: 11px;
    font-weight: 700;
}
.orca-verification-field-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}
.orca-verification-field-card {
    position: relative;
    min-width: 0;
    min-height: 62px;
    padding: 10px 11px;
    border: 1px solid var(--orca-border);
    border-radius: 4px;
    background: #fff;
}
.orca-verification-field-card.is-wide { grid-column: span 2; }
.orca-verification-field-card > span,
.orca-verification-field-card > strong { display: block; }
.orca-verification-field-card > span { color: var(--orca-muted); font-size: 10px; line-height: 1.4; }
.orca-verification-field-card > strong { margin-top: 5px; color: var(--orca-ink); font-size: 12px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.orca-verification-field-card.is-empty {
    border-color: var(--orca-orange-line);
    background: #FFF8EF;
}
.orca-verification-field-card.is-empty > strong { color: #8A4B08; }
.orca-verification-field-card.is-empty.is-optional {
    border-style: dashed;
    background: #FFFCF8;
}
.orca-verification-field-card.is-na { background: var(--orca-soft); border-color: var(--orca-border); }
.orca-verification-field-card.is-na > strong { color: var(--orca-muted); font-weight: 500; }
.orca-verification-field-card.is-changed,
.orca-verification-field-card.is-empty.is-changed,
.orca-verification-field-card.is-na.is-changed {
    border-color: var(--orca-orange-line);
    background: #FFF7ED;
    box-shadow: inset 3px 0 0 var(--orca-orange);
}
.orca-verification-field-card.is-changed > strong { color: #713600; }
.orca-verification-field-pending-label {
    position: absolute;
    top: 6px;
    right: 7px;
    color: #9A4B08;
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
}
.orca-verification-repeat-review {
    padding: 10px;
    border: 1px solid var(--orca-border);
    background: #faf9f7;
}
.orca-verification-repeat-review.is-changed {
    border-color: var(--orca-orange-line);
    background: #FFF9F2;
    box-shadow: inset 3px 0 0 var(--orca-orange);
}
.orca-verification-repeat-title { margin-bottom: 8px; color: var(--orca-ink-soft); font-size: 11px; font-weight: 700; }
.orca-verification-company-block,
.orca-verification-changes-review { margin-top: 22px; }
.orca-verification-company-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border: 1px solid var(--orca-border);
}
.orca-verification-company-grid > div { padding: 11px 12px; border-right: 1px solid var(--orca-border); border-bottom: 1px solid var(--orca-border); }
.orca-verification-company-grid > div:nth-child(3n) { border-right: 0; }
.orca-verification-company-grid span, .orca-verification-company-grid strong { display: block; }
.orca-verification-company-grid span { color: var(--orca-muted); font-size: 10px; }
.orca-verification-company-grid strong { font-size: 12px; margin-top: 2px; }
.orca-verification-changes-review table { width: 100%; border-collapse: collapse; font-size: 11px; }
.orca-verification-changes-review th { text-align: left; color: var(--orca-muted); background: #f8f7f5; font-weight: 600; }
.orca-verification-changes-review th, .orca-verification-changes-review td { padding: 9px 10px; border: 1px solid var(--orca-border); vertical-align: top; }
.orca-verification-changes-review td:first-child small, .orca-verification-changes-review td:first-child strong { display: block; }
.orca-verification-changes-review td:first-child small { color: var(--orca-muted); }
.orca-verification-changes-review td.changed { background: #FFF6EC; color: #7D3600; font-weight: 600; }
.orca-verification-agreement {
    margin-top: 22px;
    padding: 15px 16px;
    border: 1px solid var(--orca-orange-line);
    background: var(--orca-orange-soft);
}
.orca-verification-agreement p { margin: 2px 0 0 34px; color: var(--orca-muted); font-size: 10px; }

@media (max-width: 1240px) {
    .orca-verification-field-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .orca-verification-page { grid-template-columns: 230px minmax(0, 1fr); }
    .orca-verification-progress { position: static; grid-column: 1 / -1; display: block; }
    .orca-verification-progress-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .orca-verification-progress-list button {
        border-right: 1px solid var(--orca-border);
        min-height: 58px;
    }
    .orca-verification-progress-list button:nth-child(4n) { border-right: 0; }
    .orca-verification-change-box, .orca-verification-autosave-box { margin-top: 12px; }
}
@media (max-width: 840px) {
    .orca-verification-page { width: calc(100% - 24px); grid-template-columns: 1fr; margin-top: 16px; }
    .orca-verification-sidebar, .orca-verification-progress { position: static; }
    .orca-verification-sidebar-title { padding-bottom: 10px; }
    .orca-verification-sidebar { display: flex; overflow-x: auto; align-items: stretch; }
    .orca-verification-sidebar-title, .orca-verification-sidebar-note { display: none; }
    .orca-verification-step { min-width: 150px; border-left: 0; border-bottom: 3px solid transparent; }
    .orca-verification-step.is-active { border-left: 0; border-bottom-color: var(--orca-orange); }
    .orca-verification-progress { grid-column: auto; display: block; }
    .orca-verification-progress-list { grid-template-columns: repeat(2, 1fr); }
    .orca-verification-header { flex-direction: column; gap: 12px; }
    .orca-verification-save-actions { flex-direction: row; align-items: center; justify-content: space-between; width: 100%; }
    .orca-verification-company-grid { grid-template-columns: repeat(2, 1fr); }
    .orca-verification-company-grid > div:nth-child(3n) { border-right: 1px solid var(--orca-border); }
    .orca-verification-company-grid > div:nth-child(2n) { border-right: 0; }
}
@media (max-width: 560px) {
    .orca-verification-page { width: 100%; margin: 0; gap: 0; }
    .orca-verification-main, .orca-verification-sidebar, .orca-verification-progress { border-left: 0; border-right: 0; }
    .orca-verification-header, .orca-verification-form, .orca-verification-footer { padding-inline: 16px; }
    .orca-verification-form { min-height: 0; }
    .orca-verification-footer { position: sticky; bottom: 0; z-index: 3; }
    .orca-verification-review-row { grid-template-columns: 1fr 44px; }
    .orca-verification-review-row > span { grid-column: 1 / 2; }
    .orca-verification-review-row > strong { grid-column: 1 / 2; }
    .orca-verification-review-row > .mud-button-root { grid-column: 2; grid-row: 1 / 3; }
    .orca-verification-company-grid { grid-template-columns: 1fr; }
    .orca-verification-company-grid > div { border-right: 0 !important; }
    .orca-verification-progress-list { grid-template-columns: 1fr; }
    .orca-verification-photo-block { grid-template-columns: 1fr; }
    .orca-verification-file-card { align-items: flex-start; flex-direction: column; }
    .orca-verification-review-files { grid-template-columns: 1fr; }
    .orca-verification-review-file-item { border-right: 0; }
    .orca-verification-review-file-item.qualifications { grid-column: auto; }
}

.orca-verification-kpis {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}
.orca-verification-kpi {
    background: var(--orca-surface);
    border: 1px solid var(--orca-border);
    padding: 14px 16px;
}
.orca-verification-kpi span,
.orca-verification-kpi strong { display: block; }
.orca-verification-kpi span { color: var(--orca-muted); font-size: 11px; }
.orca-verification-kpi strong { margin-top: 4px; font-size: 25px; line-height: 1; }
.orca-verification-kpi strong small { margin-left: 3px; font-size: 11px; color: var(--orca-muted); font-weight: 500; }
.orca-verification-kpi.is-accent { border-color: var(--orca-orange-line); background: var(--orca-orange-soft); }
.orca-verification-kpi.is-accent strong { color: var(--orca-action); }
.orca-verification-table-tools {
    padding: 14px 16px;
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 190px auto;
    gap: 12px;
    align-items: end;
    border-bottom: 1px solid var(--orca-border);
}
.orca-verification-admin-table .mud-table-cell { vertical-align: middle; }
.orca-muted-small { color: var(--orca-muted); font-size: 10px; }
.orca-verification-mini-progress { display: grid; grid-template-columns: 28px 90px; gap: 7px; align-items: center; }
.orca-status-label {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border: 1px solid var(--orca-border);
    background: #f7f6f4;
    color: var(--orca-ink-soft);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}
.orca-status-label.status-submitted { color: #7D3600; background: var(--orca-orange-soft); border-color: var(--orca-orange-line); }
.orca-status-label.status-returned { color: #9C2E2E; background: #FFF1F1; border-color: #E8B6B6; }
.orca-status-label.status-completed { color: #18794E; background: #EAF7F1; border-color: #AAD8C1; }
.orca-status-label.status-inprogress { color: #7A5A00; background: #FFF9DB; border-color: #E8D98B; }
.orca-verification-review-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 18px; align-items: start; }
.orca-verification-review-layout > aside { position: sticky; top: calc(var(--orca-shell-height) + 18px); }
.orca-verification-review-hero { display: grid; grid-template-columns: repeat(4, 1fr); }
.orca-verification-review-hero > div { padding: 16px 18px; border-right: 1px solid var(--orca-border); }
.orca-verification-review-hero > div:last-child { border-right: 0; }
.orca-verification-review-hero span, .orca-verification-review-hero strong { display: block; }
.orca-verification-review-hero span { color: var(--orca-muted); font-size: 10px; }
.orca-verification-review-hero strong { font-size: 13px; margin-top: 3px; }
.orca-verification-review-panel-head { padding: 15px 18px; border-bottom: 1px solid var(--orca-border); }
.orca-verification-review-panel-head strong, .orca-verification-review-panel-head span { display: block; }
.orca-verification-review-panel-head span { color: var(--orca-muted); font-size: 10px; margin-top: 2px; }
.orca-verification-review-nochange { padding: 26px 20px; display: flex; justify-content: center; gap: 10px; align-items: center; }
.orca-verification-review-nochange strong, .orca-verification-review-nochange span { display: block; }
.orca-verification-review-nochange span { color: var(--orca-muted); font-size: 11px; }
.orca-verification-review-table-wrap { overflow-x: auto; }
.orca-verification-diff-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.orca-verification-diff-table th { text-align: left; background: #f8f7f5; color: var(--orca-muted); font-weight: 600; }
.orca-verification-diff-table th, .orca-verification-diff-table td { padding: 10px 12px; border-bottom: 1px solid var(--orca-border); vertical-align: top; }
.orca-verification-diff-table td:first-child small, .orca-verification-diff-table td:first-child strong { display: block; }
.orca-verification-diff-table td:first-child small { color: var(--orca-muted); }
.orca-verification-diff-table .proposed { background: #FFF6EC; color: #7D3600; font-weight: 600; }
.orca-verification-submission-summary > div { display: grid; grid-template-columns: 150px 1fr; gap: 14px; padding: 11px 16px; border-bottom: 1px solid var(--orca-border); }
.orca-verification-submission-summary > div:last-child { border-bottom: 0; }
.orca-verification-submission-summary > div > span { color: var(--orca-muted); font-size: 10px; }
.orca-verification-submission-summary strong, .orca-verification-submission-summary small { display: block; }
.orca-verification-submission-summary small { color: var(--orca-muted); margin-top: 2px; }
.orca-verification-review-meta > div { padding: 9px 0; border-bottom: 1px solid var(--orca-border); }
.orca-verification-review-meta > div:last-child { border-bottom: 0; }
.orca-verification-review-meta span, .orca-verification-review-meta strong { display: block; }
.orca-verification-review-meta span { color: var(--orca-muted); font-size: 10px; }
.orca-verification-review-meta strong { font-size: 12px; margin-top: 2px; }
.orca-verification-review-actions .mud-button-root { min-height: 42px; }
@media (max-width: 1000px) {
    .orca-verification-kpis { grid-template-columns: repeat(3, 1fr); }
    .orca-verification-review-layout { grid-template-columns: 1fr; }
    .orca-verification-review-layout > aside { position: static; }
}
@media (max-width: 700px) {
    .orca-verification-procedure-callout { align-items: stretch; flex-direction: column; }
    .orca-verification-procedure-actions { justify-content: flex-start; }
    .orca-verification-field-grid { grid-template-columns: 1fr; }
    .orca-verification-field-card.is-wide { grid-column: auto; }
    .orca-verification-kpis { grid-template-columns: repeat(2, 1fr); }
    .orca-verification-table-tools { grid-template-columns: 1fr; }
    .orca-verification-review-hero { grid-template-columns: repeat(2, 1fr); }
    .orca-verification-review-hero > div:nth-child(2) { border-right: 0; }
}
