html {
    font-size: 16px;
}

:root {
    --ui-primary: #233f8f;
    --ui-primary-hover: #1c3272;
    --ui-secondary: #f8fafc;
    --ui-secondary-hover: #eef2ff;
    --ui-border: #cbd5e1;
    --ui-danger: #b91c1c;
    --ui-danger-hover: #991b1b;
    --ui-download: #2563eb;
    --ui-upload: #0891b2;
    --ui-focus: #dc2626;
    --ui-button-height: 2.5rem;
}

body {
    margin: 0;
    background: #fff;
    color: #111827;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.95rem;
    line-height: 1.5;
}

html[data-ui-modal-open],
body[data-ui-modal-open] {
    overflow: hidden;
    overscroll-behavior: none;
}

main,
.page {
    max-width: 1680px;
    margin: 0 auto;
    padding: 24px;
}

.ui-page-header {
    width: 100%;
    max-width: none;
    margin: 0;
}

.ui-page-header__bar {
    min-height: 2.65rem;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--ui-primary);
    color: #fff;
    box-sizing: border-box;
}

.ui-page-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    max-width: 1680px;
    min-height: 2.65rem;
    margin: 0 auto;
    padding: 0.55rem 0.85rem;
    box-sizing: border-box;
}

.ui-page-header__title,
.ui-page-header__system-group {
    min-width: 0;
    font-weight: 700;
}

.ui-page-header__title {
    flex: 1 1 auto;
    text-align: left;
}

.ui-page-header__system-group {
    display: flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    text-align: right;
}

.ui-page-header__system,
.ui-page-header__account {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ui-page-header__account {
    max-width: 18rem;
    font-weight: 600;
}

.ui-page-header__system-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.ui-page-header__system-button {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    font: inherit;
    font-weight: 700;
    padding: 0;
    text-decoration: none;
}

.ui-page-header__system-button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}

.ui-page-header__system-panel {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 50;
    display: none;
    width: min(44rem, calc(100vw - 24px));
    padding: 10px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 32px rgb(15 23 42 / 0.22);
    box-sizing: border-box;
}

.ui-page-header__system-switcher:hover .ui-page-header__system-panel,
.ui-page-header__system-switcher:focus-within .ui-page-header__system-panel,
.ui-page-header__system-switcher[data-open="true"] .ui-page-header__system-panel {
    display: block;
}

.ui-page-header__system-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.ui-page-header__system-choice {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 10px 8px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    color: #111827;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.10);
}

.ui-page-header__system-choice:hover,
.ui-page-header__system-choice:focus-visible {
    border-color: var(--ui-primary);
    background: #f8fafc;
    color: var(--ui-primary);
    outline: none;
}

.ui-page-header__system-choice--active {
    border-color: var(--ui-primary);
    background: #e0e7ff;
    color: var(--ui-primary-hover);
}

.ui-page-header__system-choice--home {
    background: #f8fafc;
}

.ui-page-header__system-choice-label {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ui-page-header__system-choice--pending .ui-page-header__system-choice-label::after,
.system-selection-button--pending .system-selection-button__label::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 8px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #dc2626;
    box-shadow: 0 1px 3px rgb(15 23 42 / 0.22);
    vertical-align: middle;
    pointer-events: none;
}

.ui-global-menu,
.ui-local-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    box-sizing: border-box;
}

.ui-global-menu__items,
.ui-local-menu__items {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
}

.ui-global-menu__logout {
    display: flex;
    flex: 1 1 0;
    min-width: 8rem;
    margin: 0;
}

.ui-global-menu__link,
.ui-local-menu__link {
    display: inline-flex;
    flex: 1 1 0;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: 0.38rem 0.8rem;
    border: 0;
    border-radius: 0;
    background: var(--ui-secondary);
    color: var(--ui-primary);
    font-weight: 700;
    text-decoration: none;
    box-sizing: border-box;
}

.ui-global-menu__logout .ui-global-menu__link {
    width: 100%;
}

.ui-global-menu__link:hover,
.ui-local-menu__link:hover {
    background: var(--ui-secondary-hover);
}

.ui-global-menu__link--disabled,
.ui-local-menu__link--disabled,
.ui-global-menu__link--disabled:hover,
.ui-local-menu__link--disabled:hover {
    background: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
}

.ui-global-menu__link--active,
.ui-local-menu__link--active {
    background: #e0e7ff;
    color: var(--ui-primary-hover);
}

.ui-global-menu__link--logout {
    color: var(--ui-danger);
}

.ui-local-menu {
    border-radius: 0;
    background: #f8fafc;
}

h1 {
    color: #233f8f;
    font-size: 1rem;
    margin: 0 0 18px;
}

h2 {
    color: #233f8f;
    font-size: 0.98rem;
}

h3 {
    font-size: 0.96rem;
}

section {
    margin: 18px 0;
}

.workflow-detail-back {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 18px;
}

.workflow-detail-back__previous,
.workflow-detail-back__center,
.workflow-detail-back__next,
.workflow-detail-back__reapply {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.workflow-detail-overview {
    display: grid;
    grid-template-columns: minmax(280px, 0.85fr) minmax(360px, 1.15fr);
    gap: 18px;
    align-items: start;
    margin: 18px 0;
}

.workflow-detail-overview > section {
    min-width: 0;
    margin: 0;
}

.workflow-detail-actions {
    margin: 0 0 18px;
}

main > section > form.workflow-detail-action-form,
.workflow-detail-action-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.workflow-detail-action-comment {
    flex: 0 0 100%;
    max-width: 720px;
}

.workflow-detail-action-buttons {
    flex: 0 0 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.workflow-detail-force-release {
    display: flex;
    justify-content: flex-end;
    margin: 24px 0 0;
}

.ui-button.workflow-force-release-button,
.ui-button.workflow-force-release-button:hover,
.ui-button.workflow-force-release-button:focus-visible {
    border-color: #d1d5db;
    background: #e5e7eb;
    color: #6b7280;
    cursor: pointer;
    opacity: 0.72;
    box-shadow: none;
}

nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

@media (max-width: 900px) {
    .workflow-detail-overview {
        grid-template-columns: minmax(0, 1fr);
    }
}

nav a {
    color: var(--ui-primary);
    font-weight: 700;
}

main > p {
    margin: 10px 0 16px;
}

main > form,
main > section > form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    align-items: end;
    margin: 14px 0;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #f9fafb;
}

.workflow-hidden-form {
    display: none !important;
}

.workflow-role-remove-cursor,
.workflow-role-remove-cursor * {
    cursor: zoom-out !important;
}

main[data-view="permission-user-form"] > section > form,
main[data-view="permission-user-edit"] > section > form {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
}

main[data-view="permission-profile-form"] > form.permission-profile-form {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
}

.permission-profile-tree,
.permission-profile-tree__children {
    display: grid;
    gap: 10px;
    list-style: none;
}

.permission-profile-tree {
    margin: 0;
    padding: 0;
}

.permission-profile-tree__children {
    margin: 8px 0 0 18px;
    padding: 0 0 0 14px;
    border-left: 2px solid #dbeafe;
}

.permission-profile-tree__item {
    min-width: 0;
}

.permission-profile-tree__node {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 2.75rem;
    padding: 10px 12px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
    list-style: none;
}

.permission-profile-tree__node::-webkit-details-marker {
    display: none;
}

.permission-profile-tree__node::before {
    content: "＋";
    flex: 0 0 auto;
    color: var(--ui-primary);
    font-weight: 700;
}

.permission-profile-accordion[open] > .permission-profile-tree__node::before {
    content: "－";
}

.permission-profile-tree__label {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--ui-primary);
    font-weight: 700;
}

.permission-profile-form__admin {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.permission-profile-form__function-list {
    gap: 6px;
}

.permission-profile-form__function {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 2.35rem;
    padding: 8px 10px;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    background: #f8fafc;
    box-sizing: border-box;
}

.permission-profile-form__locked {
    opacity: 0.55;
}

.permission-profile-form__locked input,
.permission-profile-form__locked label,
.permission-profile-form__locked > .permission-profile-tree__node {
    cursor: not-allowed;
}

td form,
.ui-modal form {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

label,
.workflow-form-field {
    display: grid;
    gap: 4px;
    color: #374151;
    font-weight: 700;
}

.workflow-form-field--detail-table {
    grid-column: 1 / -1;
}

.workflow-field-label-inline {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.2rem;
    white-space: nowrap;
}

input,
select,
textarea {
    min-height: 2.15rem;
    width: 100%;
    max-width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    font: inherit;
    padding: 0.38rem 0.55rem;
    box-sizing: border-box;
}

input[type="checkbox"],
input[type="radio"] {
    align-self: center;
    min-height: 1.35rem;
    width: 1.35rem;
    height: 1.35rem;
    margin: 0;
}

label:has(input[type="checkbox"]),
label:has(input[type="radio"]),
.ui-checkbox-label {
    display: flex;
    min-height: 2.15rem;
    flex-direction: row;
    align-items: center;
    gap: 0.55rem;
}

form.registry-employee-basic-form,
.ui-modal form.registry-employee-basic-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

form.registry-employee-social-insurance-form,
.ui-modal form.registry-employee-social-insurance-form,
form.registry-employee-dependent-form,
.ui-modal form.registry-employee-dependent-form,
form.registry-employee-bank-account-form,
.ui-modal form.registry-employee-bank-account-form {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    min-width: min(760px, calc(100vw - 32px));
    gap: 0;
}

.registry-employee-social-insurance-form fieldset {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.registry-employee-dependent-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.registry-employee-personal-heading,
.registry-employee-attendance-heading,
.registry-employee-count-deduction-heading,
.registry-employee-social-insurance-heading,
.registry-employee-dependent-heading,
.registry-bank-account-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.registry-employee-personal-heading h2,
.registry-employee-attendance-heading h2,
.registry-employee-count-deduction-heading h2,
.registry-employee-social-insurance-heading h2,
.registry-employee-dependent-heading h2,
.registry-bank-account-heading h2 {
    margin: 0;
}

.registry-bank-account-table td {
    text-align: left;
    vertical-align: middle;
}

.registry-bank-account-table .ui-table__number {
    text-align: right;
}

.registry-bank-account-status {
    display: inline-flex;
    margin-left: 0.45rem;
    color: #b8242a;
    font-size: 0.82rem;
    font-weight: 700;
}

.registry-bank-account-modal {
    width: min(980px, calc(100vw - 32px));
    max-width: min(980px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-bank-account-modal[open] {
    display: flex;
    flex-direction: column;
}

.registry-bank-account-modal .registry-employee-bank-account-form {
    max-height: calc(100vh - 32px);
}

.registry-bank-account-modal .ui-modal__body {
    min-height: 0;
    overflow: auto;
}

.registry-bank-account-modal .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-bank-account-modal__title {
    margin: 0;
}

.registry-bank-account-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-bank-account-form-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

.registry-bank-account-form-field > span:first-child {
    color: #334155;
    font-size: 0.86rem;
    font-weight: 600;
}

.registry-bank-account-form-field button,
.registry-bank-account-form-field input,
.registry-bank-account-form-field select {
    width: 100%;
}

.registry-bank-account-month-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.registry-bank-picker__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    align-items: start;
}

.registry-bank-picker__header h3,
.registry-bank-picker__context {
    margin: 0;
}

.registry-bank-picker__context {
    color: #475569;
    font-weight: 700;
}

.registry-bank-picker__choice {
    font-size: 0.9rem;
}

#employee-bank-selection-modal.registry-bank-picker-modal {
    max-width: min(1420px, calc(100vw - 32px));
    width: min(1420px, calc(100vw - 32px));
}

.registry-bank-picker__choice--bank {
    display: inline-flex;
    min-height: 3.25em;
    padding-bottom: 0.45em;
    padding-top: 0.35em;
}

#employee-bank-selection-modal .registry-bank-picker__choice--bank {
    box-sizing: border-box;
    justify-self: center;
    width: 300px;
}

.registry-bank-picker__name {
    line-height: 1.15;
    min-width: 0;
    overflow-wrap: anywhere;
}

.registry-bank-picker__name rt {
    color: #dbeafe;
    font-size: 0.68em;
    font-weight: 600;
    line-height: 1;
}

.registry-bank-picker-modal .ui-employee-picker-modal__body {
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
}

.registry-bank-picker-modal .ui-employee-picker__kana {
    align-self: start;
}

.registry-bank-picker-modal .ui-employee-picker__results {
    align-self: stretch;
    height: 100%;
    max-height: 100%;
    min-height: 0;
    overflow-y: auto;
}

#employee-bank-selection-modal .ui-employee-picker__results {
    grid-template-columns: repeat(4, 300px);
    justify-content: center;
    padding: 0 8px 4px;
}

@media (max-width: 1380px) {
    #employee-bank-selection-modal .ui-employee-picker__results {
        grid-template-columns: repeat(3, 300px);
    }
}

@media (max-width: 1000px) {
    #employee-bank-selection-modal .ui-employee-picker__results {
        grid-template-columns: repeat(2, 300px);
    }
}

@media (max-width: 680px) {
    #employee-bank-selection-modal .ui-employee-picker__results {
        grid-template-columns: minmax(0, 300px);
    }
}

.registry-payroll-month-modal {
    width: min(840px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-payroll-month-modal[open] {
    display: flex;
    flex-direction: column;
}

.registry-payroll-month-modal .ui-modal__form {
    max-height: calc(100vh - 32px);
}

.registry-payroll-month-modal .ui-modal__body {
    display: grid;
    gap: 14px;
    min-height: 0;
    overflow: auto;
}

.registry-payroll-month-modal .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-payroll-month-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.registry-payroll-month-modal__header h3 {
    margin: 0;
}

.registry-payroll-month-modal__nav {
    display: inline-flex;
    gap: 8px;
}

.registry-payroll-month-modal__years {
    display: grid;
    gap: 16px;
}

.registry-payroll-month-modal__year {
    display: grid;
    gap: 8px;
    overflow-x: auto;
}

.registry-payroll-month-modal__year-title {
    color: #263238;
    font-size: 0.95rem;
    font-weight: 800;
    margin: 0;
}

.registry-payroll-month-modal__year-months {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(92px, 1fr));
    grid-template-rows: repeat(2, 40px);
    min-width: 592px;
}

.registry-payroll-month-modal__month {
    align-items: center;
    border: 1px solid #9fc4df;
    border-radius: 7px;
    background: #eaf5fb;
    color: #0f172a;
    cursor: pointer;
    display: inline-flex;
    font-weight: 700;
    justify-content: center;
    min-width: 0;
    padding: 0 6px;
    text-align: center;
}

.registry-payroll-month-modal__month[aria-pressed="true"] {
    border-color: #1d71aa;
    background: #cfeaf8;
}

@media (max-width: 760px) {
    .registry-bank-account-form-grid,
    .registry-bank-picker__header {
        grid-template-columns: minmax(0, 1fr);
    }
}

.registry-dependent-table td {
    text-align: left;
    vertical-align: middle;
}

.registry-dependent-table .ui-table__number {
    text-align: right;
}

.registry-dependent-table__lower td {
    border-top-color: #eef3f8;
}

.registry-dependent-separate-address {
    display: grid;
    grid-template-columns: max-content minmax(7rem, max-content) max-content minmax(0, 1fr);
    gap: 6px 12px;
    align-items: center;
}

.registry-dependent-separate-address span {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
}

.registry-dependent-separate-address strong {
    color: #0f172a;
    font-size: 0.9rem;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.registry-dependent-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-dependent-form-field {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 6px;
}

.registry-dependent-form-field > span:first-child {
    color: #334155;
    font-size: 0.86rem;
    font-weight: 600;
}

.registry-dependent-form-field input,
.registry-dependent-form-field select {
    width: 100%;
    min-width: 8rem;
}

.registry-dependent-form-field--residence {
    grid-column: 1;
}

.registry-dependent-form-field--address {
    grid-column: span 2;
}

.registry-dependent-form-field--required input[name="address"] {
    border-color: #b8242a;
}

.registry-dependent-form-field--disabled > span:first-child {
    color: #94a3b8;
}

.registry-dependent-form-field--disabled input {
    background: #f8fafc;
    color: #94a3b8;
}

@media (max-width: 760px) {
    .registry-dependent-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-dependent-form-field--residence,
    .registry-dependent-form-field--address {
        grid-column: auto;
    }

    .registry-dependent-separate-address {
        grid-template-columns: max-content minmax(0, 1fr);
    }
}

.registry-employee-basic-modal {
    width: min(1120px, calc(100vw - 32px));
    max-width: min(1120px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-employee-basic-modal[open] {
    display: flex;
    flex-direction: column;
}

.registry-employee-basic-modal > .ui-modal__body {
    min-height: 0;
    overflow: auto;
}

.registry-employee-basic-modal > .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-employee-basic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.registry-employee-basic-field,
.registry-employee-basic-address {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.registry-employee-basic-field {
    align-content: start;
}

.registry-employee-basic-field--full {
    grid-column: 1 / -1;
}

.registry-employee-basic-field > span:first-child {
    color: #374151;
    font-weight: 700;
}

.registry-employee-basic-photo-preview {
    margin-bottom: 2px;
}

.registry-employee-basic-address {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.registry-employee-basic-address input {
    box-sizing: border-box;
    width: 100%;
}

.registry-employee-basic-address-cell {
    display: grid;
    gap: 4px;
}

.registry-employee-basic-postal-code {
    color: #475569;
    font-weight: 700;
}

.registry-employee-basic-grid input:not([type="checkbox"]):not([type="radio"]),
.registry-employee-basic-grid select,
.registry-employee-basic-grid textarea,
.registry-employee-basic-grid button {
    width: 100%;
}

.registry-employee-basic-address .workflow-address-input__status {
    grid-column: 1 / -1;
}

.registry-employee-personal-list {
    display: grid;
    width: 100%;
    margin: 0;
    border-top: 1px solid #dbe5ef;
}

.registry-employee-personal-list__row {
    display: grid;
    grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
    border-bottom: 1px solid #dbe5ef;
}

.registry-employee-personal-list__row dt,
.registry-employee-personal-list__row dd {
    min-width: 0;
    margin: 0;
    padding: 10px 12px;
}

.registry-employee-personal-list__row dt {
    background-color: #f8fafc;
    color: #374151;
    font-weight: 700;
}

.registry-employee-personal-list__row dd {
    overflow-wrap: anywhere;
}

.registry-employee-personal-photo {
    display: inline-block;
}

.registry-employee-basic-active-control {
    justify-content: flex-start;
}

.registry-employee-basic-active-control.ui-checkbox-label {
    white-space: nowrap;
}

@media (max-width: 759px) {
    .registry-employee-basic-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-employee-basic-address {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-employee-personal-list__row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.registry-salary-modal {
    width: min(940px, calc(100vw - 32px));
    max-width: min(940px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-salary-modal[open] {
    display: flex;
    flex-direction: column;
}

.registry-salary-modal > .ui-modal__body {
    min-height: 0;
    overflow: auto;
}

.registry-salary-modal > .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-salary-modal-heading {
    margin-bottom: 12px;
}

.registry-salary-modal-heading h3 {
    margin-bottom: 6px;
}

.registry-salary-modal-heading__employee {
    display: grid;
    grid-template-columns: 5em minmax(0, 1fr);
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #1f2937;
}

.registry-salary-modal-heading__employee span {
    color: #64748b;
    font-weight: 700;
}

.registry-salary-modal-heading__employee strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.registry-salary-paste-modal {
    position: fixed;
    inset: 0;
    width: min(720px, calc(100vw - 32px));
    max-width: min(720px, calc(100vw - 32px));
    height: max-content;
    max-height: calc(100vh - 32px);
    margin: auto;
    overflow: auto;
}

.registry-salary-paste-modal .ui-modal__form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.registry-salary-paste-message {
    text-align: left;
}

.registry-salary-paste-modal .registry-ledger-table {
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

form.registry-salary-form,
.ui-modal form.registry-salary-form {
    display: block;
}

.registry-salary-form__fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 0;
    padding: 0;
    border: 0;
}

.registry-salary-form__row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-salary-form__settings {
    display: grid;
    gap: 12px;
}

.registry-salary-form__settings--disabled {
    opacity: 0.62;
}

.registry-salary-form__row--target,
.registry-salary-form__row--note {
    grid-template-columns: minmax(0, 1fr);
}

.registry-salary-form__row--note label {
    grid-column: 1 / -1;
}

.registry-salary-form__row label,
.registry-salary-form__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    align-items: stretch;
    min-width: 0;
}

.registry-salary-form__row label > span,
.registry-salary-form__field > span {
    color: #475569;
    font-size: 0.84rem;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
}

.registry-salary-form__row input:not([type="checkbox"]):not([type="radio"]),
.registry-salary-form__row select,
.registry-salary-form__row textarea {
    min-width: 0;
    width: 100%;
}

.registry-salary-form__checkbox {
    justify-content: flex-start;
    font-weight: 700;
}

.registry-salary-form__text {
    min-height: 2.15rem;
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #111827;
    padding: 0.38rem 0.55rem;
    box-sizing: border-box;
}

.registry-salary-form__actions {
    display: flex;
    justify-content: flex-end;
}

.registry-salary-modal-page {
    width: min(940px, calc(100vw - 32px));
    max-width: 100%;
    margin: 0 auto;
    padding: 16px;
    box-sizing: border-box;
}

.registry-salary-modal-page .ui-modal__body {
    max-height: none;
    padding: 0;
    overflow: visible;
}

.registry-salary-modal-page .ui-modal__actions {
    margin-top: 14px;
}

.registry-payroll-modal-page {
    width: min(760px, calc(100vw - 32px));
    max-width: 100%;
    margin: 0 auto;
    padding: 16px;
    box-sizing: border-box;
}

.registry-payroll-modal-page .ui-modal__body {
    max-height: none;
    padding: 0;
    overflow: visible;
}

.registry-payroll-modal-page .ui-modal__actions {
    margin-top: 14px;
}

.registry-payroll-modal-heading {
    margin-bottom: 12px;
}

.registry-payroll-modal-heading__employee {
    display: grid;
    grid-template-columns: 5em minmax(0, 1fr);
    gap: 8px;
    margin: 0;
    padding: 8px 10px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    background: #f8fafc;
    color: #1f2937;
}

.registry-payroll-modal-heading__employee span {
    color: #64748b;
    font-weight: 700;
}

.registry-payroll-modal-heading__employee strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.registry-payroll-modal-page form {
    display: block;
}

.registry-payroll-modal-page form fieldset {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
    margin: 0;
    padding: 0;
    border: 0;
}

.registry-payroll-modal-page #employee-count-deduction-form fieldset {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 760px) {
    .registry-payroll-modal-page form fieldset,
    .registry-payroll-modal-page #employee-count-deduction-form fieldset {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 760px) {
    .registry-salary-form__row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.registry-employee-info-tabs {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 16px;
}

.registry-employee-info-tabs__label {
    flex: 0 1 160px;
    min-width: 120px;
    padding: 0.7em 1em 0.5em;
    border-bottom: 1px solid #dbe5ef;
    border-radius: 0;
    background-color: #e9f0f6;
    color: #535353;
    font-size: 0.95em;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}

.registry-employee-info-tabs__label:hover {
    opacity: 0.82;
}

.registry-employee-info-tabs__control {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.registry-employee-info-tabs__label--personal {
    order: -5;
}

.registry-employee-info-tabs__label--payroll {
    order: -4;
}

.registry-employee-info-tabs__label--delivery {
    order: -3;
}

.registry-employee-info-tabs__label--business-management {
    order: -2;
}

.registry-employee-info-tabs__label--social-insurance {
    order: -1;
}

.registry-employee-info-tabs__label--dependents {
    order: 0;
}

.registry-employee-info-tabs__label input {
    display: none;
}

.registry-employee-info-tabs__panel {
    display: none;
    order: 10;
    width: 100%;
    padding-top: 16px;
    background-color: #fff;
}

.registry-employee-info-tabs__label:has(:checked) {
    border-color: #2589d0 #dbe5ef #fff;
    border-style: solid;
    border-width: 4px 1px 1px;
    border-radius: 5px 5px 0 0;
    background-color: #fff;
    color: #333;
}

.registry-employee-info-tabs__control--personal:checked ~ .registry-employee-info-tabs__label--personal,
.registry-employee-info-tabs__control--payroll:checked ~ .registry-employee-info-tabs__label--payroll,
.registry-employee-info-tabs__control--delivery:checked ~ .registry-employee-info-tabs__label--delivery,
.registry-employee-info-tabs__control--business-management:checked ~ .registry-employee-info-tabs__label--business-management,
.registry-employee-info-tabs__control--social-insurance:checked ~ .registry-employee-info-tabs__label--social-insurance,
.registry-employee-info-tabs__control--dependents:checked ~ .registry-employee-info-tabs__label--dependents {
    border-color: #2589d0 #dbe5ef #fff;
    border-style: solid;
    border-width: 4px 1px 1px;
    border-radius: 5px 5px 0 0;
    background-color: #fff;
    color: #333;
}

.registry-employee-info-tabs__label:has(:checked) + .registry-employee-info-tabs__panel {
    display: block;
}

.registry-employee-info-tabs__control--personal:checked ~ .registry-employee-info-tabs__panel--personal,
.registry-employee-info-tabs__control--payroll:checked ~ .registry-employee-info-tabs__panel--payroll,
.registry-employee-info-tabs__control--delivery:checked ~ .registry-employee-info-tabs__panel--delivery,
.registry-employee-info-tabs__control--business-management:checked ~ .registry-employee-info-tabs__panel--business-management,
.registry-employee-info-tabs__control--social-insurance:checked ~ .registry-employee-info-tabs__panel--social-insurance,
.registry-employee-info-tabs__control--dependents:checked ~ .registry-employee-info-tabs__panel--dependents {
    display: block;
}

.dispatch-load-settings-tabs.registry-employee-info-tabs {
    align-items: flex-start;
}

.dispatch-load-settings-tabs__label.registry-employee-info-tabs__label {
    position: sticky;
    top: 0;
    z-index: 18;
    order: -1;
    flex: 0 1 180px;
    max-width: 240px;
    box-shadow: 0 1px 0 #dbe5ef;
}

.dispatch-load-settings-tabs__label.registry-employee-info-tabs__label:has(:checked) {
    z-index: 19;
    box-shadow: none;
}

.dispatch-load-settings-tabs__panel.registry-employee-info-tabs__panel {
    padding-top: 16px;
}

.dispatch-load-settings-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 60vh;
}

.dispatch-load-settings-form .dispatch-manual-quantity-table {
    margin: 0;
}

.dispatch-manual-quantity-table th:nth-child(1),
.dispatch-manual-quantity-table td:nth-child(1) {
    min-width: 18rem;
}

.dispatch-manual-quantity-table th:nth-child(2),
.dispatch-manual-quantity-table td:nth-child(2) {
    min-width: 24rem;
}

.dispatch-manual-quantity-table th:nth-child(3),
.dispatch-manual-quantity-table td:nth-child(3) {
    width: 9rem;
}

.dispatch-manual-quantity-table input[type="number"] {
    width: 100%;
    max-width: 8rem;
    text-align: right;
}

.dispatch-load-settings-form__footer {
    position: sticky;
    bottom: 0;
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 0;
    padding: 12px 0;
    border-top: 1px solid #dbe3f0;
    background: #fff;
}

.registry-hard-delete-action {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.registry-hard-delete-error {
    border: 1px solid #991b1b;
    border-radius: 8px;
    background: #dc2626;
    color: #fff;
    font-weight: 700;
    padding: 0.5rem 0.65rem;
}

input[type="file"] {
    padding: 0.32rem;
}

input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    border-color: var(--ui-primary);
    outline: 3px solid rgb(35 63 143 / 0.25);
    outline-offset: 1px;
}

.ui-date-input--popover {
    font-variant-numeric: tabular-nums;
}

.ui-date-popover {
    position: fixed;
    z-index: 1200;
    width: 19rem;
    max-width: calc(100vw - 16px);
    padding: 0.65rem;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    color: #111827;
    box-shadow: 0 16px 36px rgb(15 23 42 / 0.22);
    box-sizing: border-box;
}

.ui-date-popover[hidden] {
    display: none;
}

.ui-date-popover__header {
    display: grid;
    grid-template-columns: 2.15rem minmax(0, 1fr) 2.15rem;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.45rem;
}

.ui-date-popover__month {
    color: #1f2937;
    font-weight: 700;
    text-align: center;
}

.ui-date-popover__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.25rem;
}

.ui-date-popover__weekday {
    min-height: 1.6rem;
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.6rem;
    text-align: center;
}

.ui-date-popover__blank {
    min-height: 2rem;
}

.ui-date-popover .ui-date-popover__nav,
.ui-date-popover .ui-date-popover__day {
    width: 100%;
    height: 2.05rem;
    min-height: 2.05rem;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #fff;
    color: #111827;
    box-shadow: none;
    font-weight: 700;
}

.ui-date-popover .ui-date-popover__nav {
    background: #f8fafc;
    color: var(--ui-primary);
}

.ui-date-popover .ui-date-popover__day:hover,
.ui-date-popover .ui-date-popover__nav:hover,
.ui-date-popover .ui-date-popover__day:focus-visible,
.ui-date-popover .ui-date-popover__nav:focus-visible {
    border-color: var(--ui-primary);
    background: #eef2ff;
    color: var(--ui-primary);
    outline: none;
}

.ui-date-popover .ui-date-popover__day--today {
    border-color: #94a3b8;
}

.ui-date-popover .ui-date-popover__day--selected {
    border-color: var(--ui-primary);
    background: var(--ui-primary);
    color: #fff;
}

[role="alert"] {
    margin: 14px 0;
    padding: 12px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fef2f2;
    color: #7f1d1d;
}

table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
}

th,
td {
    border-bottom: 1px solid #e5e7eb;
    padding: 9px 10px;
    text-align: left;
    vertical-align: top;
}

th {
    background: #eef2ff;
    color: #1f2f6f;
    font-weight: 700;
}

.ui-record-check-row {
    cursor: pointer;
}

.ui-record-check-row:focus-visible {
    outline: none;
}

.ui-record-check-row:focus-visible > th,
.ui-record-check-row:focus-visible > td {
    box-shadow: inset 0 0 0 2px #374151;
}

.ui-record-check-row--checked > th,
.ui-record-check-row--checked > td {
    background: #9ca3af !important;
    color: #111827;
}

.ui-record-check-row--checked:hover > th,
.ui-record-check-row--checked:hover > td {
    background: #8b929e !important;
}

.ui-button,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
td a[href] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--ui-button-height);
    min-height: var(--ui-button-height);
    max-width: 100%;
    padding: 0 0.88rem;
    border: 1px solid transparent;
    border-radius: 8px;
    background: var(--ui-primary);
    color: #fff;
    font: inherit;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    appearance: none;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.14);
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
    white-space: normal;
    text-align: center;
    box-sizing: border-box;
}

td .ui-button,
td button,
td a[href] {
    height: var(--ui-button-height);
    min-height: var(--ui-button-height);
    box-sizing: border-box;
}

td form.ui-inline-form,
td .ui-inline-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.dispatch-loading-place-default-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.dispatch-loading-place-default-button {
    min-width: 4.5rem;
}

td.ui-actions,
td .ui-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ui-text-left {
    text-align: left;
}

.ui-text-left.ui-actions {
    justify-content: flex-start;
}

.ui-muted {
    color: #64748b;
}

.dispatch-kdc-request-version-table__target-row td {
    border-top: 0;
    padding-top: 0;
}

.dispatch-kdc-request-version-table__version-group:nth-of-type(even) td {
    background: #f8fafc;
}

.dispatch-kdc-request-version-table__version-group:hover td {
    background: #f3f4f6;
}

.dispatch-kdc-request-version-table__pdf-cell {
    vertical-align: middle;
    white-space: nowrap;
}

.registry-office-name-cell,
.registry-office-maintenance-managers-cell,
.registry-office-operation-managers-cell,
.registry-employee-name-cell {
    vertical-align: middle;
}

.registry-office-maintenance-managers-cell,
.registry-office-operation-managers-cell {
    min-width: 220px;
}

.registry-office-maintenance-managers,
.registry-office-operation-managers {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
}

.registry-office-maintenance-manager-name,
.registry-office-operation-manager-name {
    display: inline-block;
}

.registry-maintenance-manager-document-select,
.registry-operation-manager-document-select {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.registry-maintenance-manager-document-select .ui-button,
.registry-operation-manager-document-select .ui-button {
    justify-content: center;
    width: 100%;
}

.registry-office-name-ruby {
    ruby-align: start;
}

.registry-employee-name-ruby {
    ruby-align: center;
}

.registry-office-name-ruby rt,
.registry-employee-name-ruby rt {
    color: #64748b;
    font-size: 90%;
    font-weight: 500;
    line-height: 1.2;
}

.registry-corporation-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
}

.registry-corporation-form__main-row {
    display: grid;
    grid-template-columns:
        minmax(110px, 0.8fr)
        minmax(180px, 1.2fr)
        minmax(180px, 1.2fr)
        minmax(180px, 1fr)
        minmax(140px, 0.9fr);
    gap: 12px;
    align-items: end;
}

.registry-corporation-form__field,
.registry-corporation-form__active {
    display: grid;
    gap: 4px;
    min-width: 0;
    margin: 0;
}

.registry-corporation-form__field > span:first-child,
.registry-corporation-form__active {
    color: #334155;
    font-weight: 700;
}

.registry-corporation-form__field input:not([type="checkbox"]),
.registry-corporation-form__field button,
.registry-corporation-form__field .ui-employee-picker,
.registry-corporation-form__field .ui-employee-picker__trigger {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

.registry-corporation-form__address {
    display: grid;
    grid-template-columns: minmax(120px, 0.24fr) minmax(0, 1fr);
    gap: 8px 12px;
}

.registry-corporation-form__address .workflow-address-input__status {
    grid-column: 1 / -1;
}

.registry-corporation-form > button[type="submit"] {
    justify-self: start;
    min-width: 9rem;
    width: auto;
}

.registry-office-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 14px;
}

.registry-office-form__main-row {
    display: grid;
    grid-template-columns:
        minmax(220px, 1.4fr)
        minmax(120px, 0.8fr)
        minmax(180px, 1.2fr)
        minmax(140px, 0.8fr);
    gap: 12px;
    align-items: end;
}

.registry-office-form__field,
.registry-office-form__active {
    display: grid;
    gap: 4px;
    min-width: 0;
    margin: 0;
}

.registry-office-form__field > span:first-child,
.registry-office-form__active {
    color: #334155;
    font-weight: 700;
}

.registry-office-form__field input:not([type="checkbox"]),
.registry-office-form__field select,
.registry-office-form__field button {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
}

.registry-office-form__address {
    display: grid;
    grid-template-columns: minmax(120px, 0.22fr) minmax(0, 1fr);
    gap: 8px 12px;
}

.registry-office-form__address .workflow-address-input__status {
    grid-column: 1 / -1;
}

.registry-office-form > button[type="submit"] {
    justify-self: start;
    min-width: 9rem;
    width: auto;
}

.dispatch-destination-list-name-cell {
    vertical-align: middle;
}

.dispatch-destination-list-name-ruby {
    ruby-align: start;
}

.dispatch-destination-list-name-ruby rt {
    color: #64748b;
    font-size: 90%;
    font-weight: 500;
    line-height: 1.2;
}

.ui-field-disabled {
    color: #64748b;
}

.ui-field-disabled select,
.ui-field-disabled input,
.ui-field-disabled textarea {
    background: #f1f5f9;
    color: #64748b;
}

.registry-employee-section-disabled {
    opacity: 0.72;
}

.registry-employee-section-disabled fieldset {
    border-color: #cbd5e1;
}

.registry-employee-section-disabled input,
.registry-employee-section-disabled select,
.registry-employee-section-disabled textarea,
.registry-employee-section-disabled button {
    cursor: not-allowed;
}

.registry-vehicle-list-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    overflow-x: auto;
}

.registry-vehicle-list-actions .ui-button {
    flex: 0 0 auto;
}

.registry-ledger-table th {
    background: #0b66c3;
    color: #fff;
    font-weight: 700;
    text-align: center;
}

.registry-ledger-table th a {
    color: #fff;
}

.registry-ledger-table td {
    text-align: right;
}

.registry-employee-table th,
.registry-employee-table td {
    vertical-align: bottom;
}

.registry-employee-table-row--even > td {
    background: #f9fafb;
}

.registry-employee-action-cell {
    text-align: left;
}

.registry-employee-action-cell__actions {
    justify-content: flex-start;
}

.payroll-result-table th,
.payroll-result-table td {
    vertical-align: bottom;
}

.registry-employee-payroll-corporation-cell,
.registry-employee-office-cell,
.registry-employee-calculation-type-cell,
.registry-employee-payroll-code-cell {
    text-align: left;
    white-space: nowrap;
}

.registry-employee-office-main-label {
    display: inline-block;
    background: #e0f2fe;
    padding: 0 4px;
}

.attendance-import-notifications__row--error td {
    background: #fde2e2;
}

.attendance-import-notifications__row--skip td {
    background: #e2effd;
}

.permission-user-email {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

td a.permission-user-email__link {
    min-height: 0;
    height: auto;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #1d4ed8;
    box-shadow: none;
    font-weight: 700;
    line-height: 1.4;
}

td a.permission-user-email__link:hover {
    background: transparent;
    color: #1e40af;
    text-decoration: underline;
}

.permission-user-email__copy {
    width: var(--ui-button-height);
    min-width: var(--ui-button-height);
    height: var(--ui-button-height);
    min-height: var(--ui-button-height);
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #e0e7ff;
    color: #1f2f6f;
    box-shadow: none;
}

.permission-user-email__copy:hover {
    background: #c7d2fe;
    color: #1f2f6f;
}

.permission-user-email__copy[data-ui-copy-done="true"] {
    background: #dcfce7;
    color: #166534;
}

.ui-text-right {
    text-align: right;
}

.ui-text-preline {
    white-space: pre-line;
}

.ui-button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
td a[href]:hover {
    background: var(--ui-primary-hover);
    color: #fff;
    box-shadow: 0 2px 5px rgb(15 23 42 / 0.18);
}

.ui-button:disabled,
.ui-button[aria-disabled="true"],
button:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    box-shadow: none;
}

.ui-button:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
input[type="reset"]:focus-visible,
td a[href]:focus-visible {
    outline: 3px solid var(--ui-focus);
    outline-offset: 2px;
}

.ui-button--primary {
    background: var(--ui-primary);
    color: #fff;
}

.ui-button--secondary {
    background: var(--ui-secondary);
    color: #111827;
    border-color: var(--ui-border);
}

.ui-button--secondary:hover {
    background: var(--ui-secondary-hover);
    color: #111827;
}

.ui-button.workflow-decision-button--disabled,
.ui-button.workflow-decision-button--disabled:hover,
.ui-button.workflow-decision-button--disabled:disabled,
.ui-button.workflow-decision-button--disabled:disabled:hover {
    background: #e5e7eb;
    border-color: #cbd5e1;
    color: #64748b;
    opacity: 1;
    box-shadow: none;
    cursor: not-allowed;
}

.ui-button.workflow-list-action--disabled,
.ui-button.workflow-list-action--disabled:hover,
.ui-button.workflow-list-action--disabled:disabled,
.ui-button.workflow-list-action--disabled:disabled:hover {
    background: #e5e7eb;
    border-color: #cbd5e1;
    color: #64748b;
    opacity: 1;
    box-shadow: none;
    cursor: not-allowed;
}

.ui-button--danger {
    background: var(--ui-danger);
    color: #fff;
}

.ui-button--danger:hover {
    background: var(--ui-danger-hover);
}

.ui-button--download {
    background: var(--ui-download);
    color: #fff;
}

.ui-button--upload {
    background: var(--ui-upload);
    color: #fff;
}

.ui-button--sort {
    min-height: var(--ui-button-height);
    padding: 0.25rem 0.5rem;
    background: transparent;
    color: inherit;
    border-color: transparent;
    box-shadow: none;
}

.ui-button--sort:hover {
    background: #dbeafe;
    color: #1f2f6f;
    box-shadow: none;
}

.ui-button--sort-chip {
    min-height: var(--ui-button-height);
    padding: 0.25rem 0.55rem;
    background: #eef2ff;
    color: #233f8f;
    border-color: #c7d2fe;
    box-shadow: none;
}

.ui-button--sort-chip:hover {
    background: #dbeafe;
    color: #1f2f6f;
}

td a[href]:not(.ui-button) {
    min-height: var(--ui-button-height);
    padding: 0.32rem 0.64rem;
    background: var(--ui-secondary);
    color: var(--ui-primary);
    border-color: var(--ui-border);
    box-shadow: none;
}

td a[href]:not(.ui-button):hover {
    background: var(--ui-secondary-hover);
    color: var(--ui-primary-hover);
}

main[data-view="system-selection"],
main[data-view="registry-selection"],
main[data-view="workflow-settings"],
main[data-view="system-settings"] {
    width: 98%;
    max-width: 1024px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}

main[data-view="system-settings"] .system-settings-form {
    max-width: 780px;
}

main[data-view="system-settings"] .system-settings-recipient-table input[type="email"] {
    width: 100%;
    box-sizing: border-box;
}

.system-selection {
    padding-top: 28px;
    padding-bottom: 40px;
}

.system-selection__header {
    margin-bottom: 18px;
}

.system-selection-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    width: 100%;
}

#workflow-application-select-modal .ui-modal__form,
#workflow-application-select-modal .ui-modal__body {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

#workflow-application-select-modal.workflow-modal {
    box-sizing: border-box;
    width: min(720px, calc(100vw - 32px));
}

#workflow-application-select-modal .ui-modal__form {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    max-height: min(82vh, calc(100vh - 32px));
}

#workflow-application-select-modal .ui-modal__body {
    flex: 1 1 auto;
    overflow-x: hidden;
    overflow-y: auto;
}

#workflow-application-select-modal .ui-modal__actions {
    box-sizing: border-box;
    justify-content: flex-end;
    width: 100%;
}

#workflow-application-select-modal [data-workflow-application-type-grid] {
    box-sizing: border-box;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 100%;
}

#workflow-application-select-modal .system-selection-button {
    min-width: 0;
    padding-right: 8px;
    padding-left: 8px;
}

#workflow-applicant-modal .ui-modal__form,
#workflow-target-person-modal .ui-modal__form,
#workflow-ledger-modal-employee:not(.ui-employee-picker-modal) .ui-modal__form {
    max-height: min(82vh, calc(100vh - 32px));
    min-height: 0;
}

#workflow-ledger-modal-employee.workflow-modal:not(.ui-employee-picker-modal) {
    box-sizing: border-box;
    max-width: calc(100vw - 32px);
    width: fit-content;
}

#workflow-ledger-modal-employee .ui-modal__form:not(.ui-employee-picker-modal__frame) {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    max-width: calc(100vw - 72px);
    width: fit-content;
}

#workflow-applicant-modal .ui-modal__body,
#workflow-target-person-modal .ui-modal__body,
#workflow-ledger-modal-employee .ui-modal__body:not(.ui-employee-picker-modal__body) {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

#workflow-applicant-modal .ui-modal__actions,
#workflow-target-person-modal .ui-modal__actions,
#workflow-ledger-modal-employee:not(.ui-employee-picker-modal) .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

#workflow-applicant-modal.workflow-modal {
    box-sizing: border-box;
    max-height: calc(100vh - 32px);
    padding: 0;
}

#workflow-target-person-modal.workflow-modal {
    box-sizing: border-box;
    max-height: calc(100vh - 32px);
    max-width: min(1180px, 96vw);
    padding: 0;
}

#workflow-applicant-modal .ui-modal__form {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    overflow: hidden;
}

#workflow-applicant-modal .ui-modal__body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
    overflow: hidden;
}

#workflow-target-person-modal .ui-modal__form {
    align-items: stretch;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

#workflow-target-person-modal .ui-modal__body {
    box-sizing: border-box;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 12px;
    max-width: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

#workflow-applicant-modal [data-workflow-applicant-list] {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

#workflow-target-person-modal [data-workflow-target-person-list] {
    box-sizing: border-box;
    flex: 1 1 auto;
    max-width: 100%;
    min-height: 0;
    min-width: 0;
    overflow: auto;
    width: 100%;
}

#workflow-applicant-modal .ui-modal__actions {
    box-sizing: border-box;
    justify-content: flex-end;
    width: 100%;
}

#workflow-target-person-modal .ui-modal__actions {
    box-sizing: border-box;
    justify-content: flex-end;
    width: 100%;
}

#workflow-ledger-modal-employee:not(.ui-employee-picker-modal) .ui-modal__actions {
    box-sizing: border-box;
    justify-content: flex-start;
    width: 100%;
}

#workflow-ledger-modal-employee .workflow-ledger-picker-grid {
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    max-width: 100%;
    width: min(640px, calc(100vw - 112px));
}

.system-selection-button {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 96px;
    width: 100%;
    padding: 18px 16px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    color: #111827;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.12);
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}

.system-selection-button:hover:not(:disabled):not([aria-disabled="true"]) {
    border-color: var(--ui-primary);
    background: #f8fafc;
    color: var(--ui-primary);
    box-shadow: 0 3px 8px rgb(15 23 42 / 0.16);
    transform: translateY(-1px);
}

.system-selection-button:focus-visible {
    outline: 3px solid var(--ui-focus);
    outline-offset: 2px;
}

.system-selection-button:disabled,
.system-selection-button[aria-disabled="true"],
.system-selection-button--disabled {
    border-color: #d1d5db;
    background: #e5e7eb;
    color: #6b7280;
    box-shadow: none;
    cursor: not-allowed;
    opacity: 0.78;
    transform: none;
}

.system-selection-button__label {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.system-selection-notices {
    margin-top: 24px;
}

.system-selection-notice-table tbody tr[data-row-href] {
    cursor: pointer;
}

.system-selection-notice-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.system-selection-notice-actions form {
    margin: 0;
}

.system-selection-notice-row--unread,
.system-selection-notice-row--unread > td {
    background: #fef2f2;
}

.system-selection-notice-row--read,
.system-selection-notice-row--read > td {
    background: #fff;
}

.system-selection-notice-row--completed,
.system-selection-notice-row--completed > td {
    background: #fff;
    color: #94a3b8;
}

.system-selection-notice-row--completed .system-selection-notice-body,
.system-selection-notice-row--completed > td .system-selection-notice-body {
    color: #94a3b8;
}

.system-selection-notice-body {
    margin-top: 6px;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.workflow-settings-menu-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 18px 0;
    width: 100%;
}

.workflow-applicant-scope {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.workflow-applicant-scope h3 {
    margin: 0;
}

.workflow-applicant-scope-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-unique-check-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-unique-check-card {
    align-items: center;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    display: grid;
    gap: 4px;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 64px;
    padding: 10px;
}

.workflow-unique-check-card small {
    color: #6b7280;
    grid-column: 2;
}

.workflow-applicant-scope-card {
    min-height: 88px;
}

.workflow-applicant-scope-card--selected {
    border-color: var(--ui-primary);
    background: #f8fafc;
}

.workflow-applicant-scope-card--unlinked {
    background: #f3f4f6;
}

.workflow-process-mapping-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.workflow-toggle-row {
    align-items: center;
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
}

.workflow-toggle-row input {
    width: auto;
}

.workflow-process-mapping-table td strong,
.workflow-process-mapping-table td small {
    display: block;
}

.workflow-process-mapping-table td small {
    color: #6b7280;
    margin-top: 4px;
}

.workflow-process-mapping-table select {
    min-width: 240px;
    width: 100%;
}

#workflow-document-table tbody tr.workflow-document-record--odd > td {
    background: #fff;
}

#workflow-document-table tbody tr.workflow-document-record--even > td {
    background: #f8fafc;
}

#workflow-document-table tbody tr.workflow-document-record--hover > td {
    background: #eaf6ff;
}

#workflow-document-table tbody tr.workflow-document-description-row > td {
    border-top: 0;
}

.workflow-document-description-row .workflow-document-description-cell {
    color: #4b5563;
    line-height: 1.5;
    white-space: pre-wrap;
}

.workflow-document-action-cell {
    vertical-align: top;
}

.ui-list-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 10px 0;
}

.ui-list-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px 12px;
    margin: 10px 0;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    background: #f9fafb;
}

main[data-view="dispatch-delivery-date-list"] .ui-list-search {
    grid-template-columns: minmax(0, 0.1fr) 0.12fr;
}

main[data-view="etc-summary"] .ui-list-search {
    grid-template-columns: minmax(0, 0.1fr) 0.1fr;
}

main[data-view="etc-summary"] .ui-list-search--single-row > label {
    grid-column: 1;
    grid-row: 1;
}

main[data-view="etc-summary"] .ui-list-search--single-row > button,
main[data-view="etc-summary"] .ui-list-search--single-row > .ui-button {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
}

.ui-list-search__title {
    display: none;
    color: #233f8f;
    font-weight: 700;
}

.ui-list-search__fields {
    display: grid;
    grid-column: 1;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
}

.ui-list-search__actions {
    display: flex;
    grid-column: 2;
    align-self: start;
    justify-content: flex-end;
    padding-top: 1.45rem;
}

.ui-list-search--single-row {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) auto;
    align-items: start;
}

.ui-list-search--single-row > label {
    min-width: 0;
}

.ui-list-search--single-row > button,
.ui-list-search--single-row > .ui-button {
    grid-column: -1;
    grid-row: 1;
    align-self: start;
    justify-self: end;
    margin-top: 1.45rem;
}

.permission-user-search.ui-list-search--single-row {
    grid-template-columns: minmax(320px, 1fr) minmax(110px, auto) auto;
    align-items: end;
}

.permission-user-search__keyword {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: end;
    gap: 8px;
    min-width: 0;
}

.permission-user-search__keyword > label {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.permission-user-search__keyword > .ui-employee-picker {
    align-self: end;
}

.permission-user-search__keyword .ui-employee-picker__trigger {
    margin: 0;
}

.permission-user-search__keyword > .ui-button {
    align-self: end;
    margin: 0;
    white-space: nowrap;
}

.permission-user-search.ui-list-search--single-row > button,
.permission-user-search.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    justify-self: start;
    margin-top: 0;
    white-space: nowrap;
}

.registry-employee-search.ui-list-search--single-row {
    grid-template-columns:
        minmax(180px, 240px)
        auto
        auto;
    align-items: end;
}

.registry-employee-search.ui-list-search--single-row > label {
    display: grid;
    gap: 4px;
}

.ui-employee-picker-field {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.registry-employee-search.ui-list-search--single-row > button,
.registry-employee-search.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    margin-top: 0;
    white-space: nowrap;
}

.payroll-result-search.ui-list-search--single-row {
    grid-template-columns:
        minmax(180px, 240px)
        auto
        auto;
    align-items: end;
}

.payroll-result-search.ui-list-search--single-row > label,
.payroll-result-search.ui-list-search--single-row > .ui-employee-picker-field {
    display: grid;
    gap: 4px;
}

.payroll-result-search.ui-list-search--single-row > button,
.payroll-result-search.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    justify-self: start;
    margin-top: 0;
    white-space: nowrap;
}

.employee-picker-search.ui-list-search--single-row {
    grid-template-columns: repeat(3, 220px);
    justify-content: start;
    align-items: end;
}

.employee-picker-search.ui-list-search--single-row > .ui-employee-picker-field {
    display: grid;
    gap: 4px;
}

.employee-picker-search .ui-employee-picker,
.employee-picker-search .ui-employee-picker__trigger,
.employee-picker-search.ui-list-search--single-row > button,
.employee-picker-search.ui-list-search--single-row > .ui-button {
    width: 220px;
}

.employee-picker-search .ui-employee-picker__trigger {
    max-width: 220px;
    margin: 0;
}

.employee-picker-search.ui-list-search--single-row > button,
.employee-picker-search.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    justify-self: start;
    margin: 0;
    white-space: nowrap;
}

.registry-employee-search.employee-picker-search.ui-list-search--single-row {
    grid-template-columns:
        110px
        220px
        220px
        220px
        auto
        auto;
    overflow-x: auto;
}

.registry-employee-search.employee-picker-search.ui-list-search--single-row > label,
.registry-employee-search.employee-picker-search.ui-list-search--single-row > .ui-employee-picker-field {
    min-width: 0;
    width: auto;
}

.registry-employee-search.employee-picker-search .ui-employee-picker,
.registry-employee-search.employee-picker-search .ui-employee-picker__trigger {
    width: 100%;
    max-width: none;
}

.registry-employee-search.employee-picker-search.ui-list-search--single-row > button,
.registry-employee-search.employee-picker-search.ui-list-search--single-row > .ui-button {
    width: auto;
    min-width: 5rem;
}

.payroll-result-search.employee-picker-search.ui-list-search--single-row {
    grid-template-columns:
        110px
        220px
        220px
        auto
        auto;
    overflow-x: auto;
}

.payroll-result-search.employee-picker-search.ui-list-search--single-row > label,
.payroll-result-search.employee-picker-search.ui-list-search--single-row > .ui-employee-picker-field {
    min-width: 0;
    width: auto;
}

.payroll-result-search.employee-picker-search .ui-employee-picker,
.payroll-result-search.employee-picker-search .ui-employee-picker__trigger {
    width: 100%;
    max-width: none;
}

.payroll-result-search.employee-picker-search.ui-list-search--single-row > button,
.payroll-result-search.employee-picker-search.ui-list-search--single-row > .ui-button {
    width: auto;
    min-width: 5rem;
}

.declared-overtime-toolbar,
.car-wash-toolbar,
.monthly-payment-adjustment-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin: 10px 0;
}

.declared-overtime-toolbar > .ui-list-search,
.car-wash-toolbar > .ui-list-search,
.monthly-payment-adjustment-toolbar > .ui-list-search {
    margin: 0;
}

.declared-overtime-search.employee-picker-search.ui-list-search--single-row,
.car-wash-search.employee-picker-search.ui-list-search--single-row,
.monthly-payment-adjustment-search.employee-picker-search.ui-list-search--single-row {
    grid-template-columns: 220px auto auto auto;
    width: max-content;
    max-width: 100%;
    align-items: end;
    overflow-x: auto;
}

.declared-overtime-search.employee-picker-search.ui-list-search--single-row > button,
.declared-overtime-search.employee-picker-search.ui-list-search--single-row > .ui-button,
.car-wash-search.employee-picker-search.ui-list-search--single-row > button,
.car-wash-search.employee-picker-search.ui-list-search--single-row > .ui-button,
.monthly-payment-adjustment-search.employee-picker-search.ui-list-search--single-row > button,
.monthly-payment-adjustment-search.employee-picker-search.ui-list-search--single-row > .ui-button {
    width: auto;
    min-width: 5rem;
}

.declared-overtime-view-switch,
.car-wash-view-switch,
.monthly-payment-adjustment-view-switch,
.monthly-payment-adjustment-register-panel {
    grid-template-columns: 1fr;
    align-content: start;
    width: max-content;
    min-width: 176px;
}

.declared-overtime-view-switch h2,
.car-wash-view-switch h2,
.monthly-payment-adjustment-view-switch h2,
.monthly-payment-adjustment-register-panel h2 {
    margin: 0;
    color: #233f8f;
    font-size: 0.92rem;
    line-height: 1.35;
}

.declared-overtime-view-switch__buttons,
.car-wash-view-switch__buttons,
.monthly-payment-adjustment-view-switch__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.declared-overtime-view-switch__buttons .ui-button,
.car-wash-view-switch__buttons .ui-button,
.monthly-payment-adjustment-view-switch__buttons .ui-button {
    min-width: 4rem;
    margin: 0;
}

.declared-overtime-view-switch__buttons .ui-button[disabled],
.car-wash-view-switch__buttons .ui-button[disabled],
.monthly-payment-adjustment-view-switch__buttons .ui-button[disabled] {
    background: #e5e7eb;
    border-color: #d1d5db;
    color: #6b7280;
    box-shadow: none;
}

.monthly-payment-adjustment-register-panel > .ui-button {
    min-width: 9rem;
    margin: 0;
}

.declared-overtime-register-panel,
.car-wash-register-form,
.monthly-payment-adjustment-register-panel {
    background: #f0fdf4;
}

.declared-overtime-individual-list,
.car-wash-individual-list,
.monthly-payment-adjustment-individual-list {
    display: grid;
    gap: 16px;
    margin-top: 8px;
}

.declared-overtime-individual-sheet,
.car-wash-individual-sheet,
.monthly-payment-adjustment-individual-sheet {
    display: grid;
    gap: 8px;
}

.declared-overtime-individual-sheet h2,
.car-wash-individual-sheet h2,
.monthly-payment-adjustment-individual-sheet h2 {
    margin: 0;
    color: #233f8f;
    font-size: 1rem;
    line-height: 1.4;
}

.declared-overtime-register-panel {
    display: grid;
    grid-template-columns: 1fr;
    align-content: start;
    width: max-content;
    max-width: 100%;
}

.declared-overtime-register-row {
    display: grid;
    grid-template-columns:
        minmax(300px, max-content)
        minmax(220px, 280px)
        auto;
    align-items: end;
    gap: 8px 12px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    min-width: 0;
}

.declared-overtime-register-info,
.declared-overtime-register-row .ui-employee-picker-field {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.declared-overtime-register-info span,
.declared-overtime-register-row .ui-employee-picker-field > span {
    color: #374151;
    font-size: 0.88rem;
    font-weight: 600;
}

.declared-overtime-register-info strong {
    display: flex;
    align-items: center;
    min-height: var(--ui-button-height);
    min-width: 0;
    overflow: hidden;
    padding: 0;
    color: #111827;
    font-weight: 600;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.declared-overtime-register-context {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 6px 14px;
    min-height: var(--ui-button-height);
    color: #111827;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
}

.declared-overtime-register-context__item {
    display: grid;
    gap: 2px;
    min-width: 96px;
    white-space: normal;
}

.declared-overtime-register-context__item > span {
    justify-self: start;
    color: #6b7280;
    font-size: 0.86rem;
    font-weight: 600;
}

.declared-overtime-register-context__item > strong {
    justify-self: end;
    max-width: 100%;
    color: #111827;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-align: right;
}

.declared-overtime-create-form .ui-employee-picker,
.declared-overtime-create-form .ui-employee-picker__trigger {
    width: 220px;
}

.declared-overtime-register-row > button,
.declared-overtime-register-row > .ui-button {
    min-width: 180px;
    width: auto;
    margin: 0;
    white-space: nowrap;
}

.car-wash-register-form__fields {
    border: 0;
    display: grid;
    grid-template-columns: repeat(3, 220px);
    align-items: end;
    gap: 8px 12px;
    margin: 0;
    padding: 0;
}

.car-wash-register-form {
    width: max-content;
    max-width: 100%;
}

.car-wash-register-form__date {
    display: grid;
    gap: 4px;
}

.car-wash-register-form .ui-employee-picker,
.car-wash-register-form .ui-employee-picker__trigger,
.car-wash-register-form input[type="date"],
.car-wash-register-form button,
.car-wash-register-form .ui-button {
    width: 220px;
}

.car-wash-register-form .ui-employee-picker__trigger,
.car-wash-register-form button,
.car-wash-register-form .ui-button {
    margin: 0;
}

.registry-system-assignment-search.ui-list-search--single-row {
    grid-template-columns:
        minmax(120px, 0.7fr)
        minmax(180px, 1fr)
        minmax(180px, 1fr)
        minmax(180px, 1fr)
        auto;
    align-items: end;
}

.registry-system-assignment-search.ui-list-search--single-row > label {
    display: grid;
    gap: 4px;
}

.registry-system-assignment-search.ui-list-search--single-row > button,
.registry-system-assignment-search.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    margin-top: 0;
    white-space: nowrap;
}

.registry-system-assignment-tabs {
    display: flex;
    gap: 8px;
    margin: 12px 0;
    border-bottom: 1px solid #dbe3f0;
}

.registry-system-assignment-tabs__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    padding: 10px 16px;
    border: 1px solid #dbe3f0;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    background: #e9f0f6;
    color: #374151;
    font-weight: 700;
}

.registry-system-assignment-tabs__item--active {
    background: #fff;
    color: #233f8f;
}

.registry-system-assignment-form {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
}

.registry-system-assignment-form .registry-system-assignment-table {
    width: auto;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    table-layout: auto;
}

.registry-system-assignment-table th:nth-child(1),
.registry-system-assignment-table td:nth-child(1),
.registry-system-assignment-table th:nth-child(2),
.registry-system-assignment-table td:nth-child(2),
.registry-system-assignment-table th:nth-child(3),
.registry-system-assignment-table td:nth-child(3) {
    text-align: left;
}

.registry-system-assignment-table th:nth-child(1),
.registry-system-assignment-table td:nth-child(1) {
    width: auto;
    min-width: 12rem;
    white-space: nowrap;
}

.registry-system-assignment-table th:nth-child(2),
.registry-system-assignment-table td:nth-child(2) {
    width: auto;
    min-width: 12rem;
    white-space: nowrap;
}

.registry-system-assignment-table th:nth-child(3),
.registry-system-assignment-table td:nth-child(3) {
    width: auto;
    min-width: 10rem;
    white-space: nowrap;
}

.registry-system-assignment-table th:nth-child(4),
.registry-system-assignment-table td:nth-child(4) {
    width: 72px;
    text-align: center;
}

.registry-system-assignment-table__employee,
.registry-system-assignment-table__vehicle,
.registry-system-assignment-table__check {
    vertical-align: middle;
}

.registry-system-assignment-table__vehicle .ui-subtle-text {
    display: block;
    margin-top: 2px;
    color: #64748b;
    font-size: 0.86rem;
}

.registry-system-assignment-table__row--odd {
    background: #fff;
}

.registry-system-assignment-table__row--even {
    background: #f8fafc;
}

.registry-system-assignment-table__check input[type="checkbox"] {
    width: 18px;
    height: 18px;
}

.registry-system-assignment-table__row {
    cursor: pointer;
}

.registry-system-assignment-table__row:hover {
    background: #eef4ff;
}

.registry-system-delivery-modal .ui-modal__form {
    width: min(860px, calc(100vw - 32px));
}

.registry-system-delivery-form .ui-modal__body {
    display: grid;
    gap: 12px;
}

.registry-system-assignment-footer {
    position: sticky;
    bottom: 0;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
    padding: 12px 0;
    border-top: 1px solid #dbe3f0;
    background: #fff;
    z-index: 5;
}

.ui-list-search__field {
    display: grid;
    gap: 4px;
    color: #374151;
}

.ui-list-search__field input,
.ui-list-search__field select {
    min-height: 2rem;
    padding: 0.25rem 0.5rem;
}

.ui-modal form.dispatch-destination-form {
    width: min(900px, calc(100vw - 32px));
    max-height: min(88vh, 820px);
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow: hidden;
}

.ui-modal form.dispatch-destination-alias-form {
    width: min(720px, calc(100vw - 32px));
    max-height: min(82vh, 720px);
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow: hidden;
}

.dispatch-import-error-modal__form {
    width: min(560px, calc(100vw - 32px));
}

.dispatch-import-error-modal__body {
    display: grid;
    gap: 10px;
}

.dispatch-import-error-modal__body h3,
.dispatch-import-error-modal__body p {
    margin: 0;
}

.dispatch-import-error-modal__list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 1.2rem;
    color: #991b1b;
    line-height: 1.55;
}

.dispatch-destination-form__body {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px 16px;
    padding: 20px;
    overflow: auto;
}

.dispatch-destination-form label,
.dispatch-destination-form fieldset,
.dispatch-destination-form section {
    min-width: 0;
}

.dispatch-destination-form input:not([type="checkbox"]),
.dispatch-destination-form select,
.dispatch-destination-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.dispatch-destination-form__label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.dispatch-destination-form__label-line {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    gap: 0;
}

.dispatch-destination-form__char-count {
    color: #64748b;
    font-size: 0.8rem;
    font-weight: 600;
    white-space: nowrap;
}

.dispatch-destination-form .dispatch-destination-form__short-name input {
    width: 12em;
    min-width: 12em;
    justify-self: start;
}

.dispatch-destination-form__required {
    display: inline-flex;
    align-items: center;
    border-radius: 4px;
    padding: 1px 5px;
    background: #fee2e2;
    color: #991b1b;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.35;
}

.dispatch-destination-alias-form__body {
    display: grid;
    gap: 14px;
    padding: 20px;
    overflow: auto;
}

.dispatch-destination-alias-form__body h2 {
    margin: 0;
    font-size: 1.05rem;
}

.dispatch-destination-alias-form__rows {
    display: grid;
    gap: 8px;
}

.dispatch-destination-alias-form__row,
[data-dispatch-alias-row] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.dispatch-destination-alias-form__row input,
[data-dispatch-alias-row] input,
.dispatch-destination-alias-form__row select,
[data-dispatch-alias-row] select {
    width: 100%;
    box-sizing: border-box;
}

.dispatch-destination-alias-form__row .ui-button,
[data-dispatch-alias-row] .ui-button {
    width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.dispatch-import-conversion-rule-list {
    width: min(640px, calc(100vw - 32px));
}

.dispatch-import-conversion-rule-list__body {
    display: grid;
    gap: 14px;
}

.dispatch-import-conversion-rule-list__body h2,
.dispatch-import-conversion-rule-list__empty {
    margin: 0;
}

.dispatch-import-conversion-rule-list__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dispatch-import-conversion-rule-list__buttons .ui-button {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-import-conversion-rule-list__empty {
    color: #64748b;
}

.ui-modal form.dispatch-import-conversion-rule-form {
    width: min(760px, calc(100vw - 32px));
    max-height: min(84vh, 760px);
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    overflow: hidden;
}

.dispatch-import-conversion-rule-form__body {
    display: grid;
    gap: 14px;
    padding: 20px;
    overflow: auto;
}

.dispatch-import-conversion-rule-form__body h2,
.dispatch-import-conversion-rule-form__source {
    margin: 0;
}

.dispatch-import-conversion-rule-form__source {
    color: #475569;
    font-weight: 600;
}

.dispatch-import-conversion-rule-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.dispatch-import-conversion-rule-form__grid label,
.dispatch-import-conversion-rule-form__full,
.dispatch-import-conversion-rule-form__target {
    min-width: 0;
}

.dispatch-import-conversion-rule-form input:not([type="checkbox"]),
.dispatch-import-conversion-rule-form select,
.dispatch-import-conversion-rule-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.dispatch-import-conversion-rule-form__target {
    display: grid;
    grid-template-columns: 10rem minmax(0, 1fr);
    gap: 8px;
    align-items: center;
}

.dispatch-import-conversion-rule-form__target .ui-button {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-import-conversion-rule-form__delete {
    margin-right: auto;
}

.dispatch-import-conversion-target-picker {
    width: min(900px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    max-height: min(86vh, 760px);
    box-sizing: border-box;
    overflow: hidden;
}

.dispatch-import-conversion-target-picker .dispatch-import-conversion-target-picker__body {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    overflow: hidden;
    padding: 20px;
}

.dispatch-import-conversion-target-picker h2 {
    margin: 0;
    font-size: 1.05rem;
}

.dispatch-import-conversion-target-picker input[type="search"] {
    width: 100%;
    box-sizing: border-box;
}

.dispatch-import-conversion-target-picker__list {
    display: grid;
    gap: 8px;
    justify-items: stretch;
    overflow: auto;
    min-height: 0;
    max-height: min(62vh, 560px);
    overscroll-behavior: contain;
}

.dispatch-import-conversion-target-picker__option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
}

.dispatch-import-conversion-target-picker__option:hover,
.dispatch-import-conversion-target-picker__option:focus-visible {
    border-color: #2563eb;
    outline: none;
}

.dispatch-import-conversion-target-picker__option[hidden] {
    display: none;
}

.dispatch-import-conversion-target-picker__option-name,
.dispatch-import-conversion-target-picker__option-address,
.dispatch-import-conversion-target-picker__option-batch {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-import-conversion-target-picker__option-batch {
    text-align: right;
}

@media (max-width: 720px) {
    .dispatch-import-conversion-rule-form__grid,
    .dispatch-import-conversion-rule-form__target {
        grid-template-columns: 1fr;
    }
}

.dispatch-existing-destination-modal__form {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 64px);
    overflow: hidden;
}

.dispatch-existing-destination-modal__form .ui-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.dispatch-existing-destination-modal__form .ui-modal__actions {
    flex: 0 0 auto;
    background: #fff;
}

.dispatch-main-actions__row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    overflow-x: auto;
    padding-bottom: 2px;
}

.dispatch-main-actions__form {
    display: flex;
    flex: 0 0 auto;
    margin: 0;
}

.dispatch-main-actions__group {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    min-inline-size: max-content;
    margin: 0;
    padding: 8px 10px 10px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
}

.dispatch-main-actions__group legend {
    padding: 0 4px;
    color: #233f8f;
    font-weight: 700;
}

.dispatch-main-actions__group > .ui-button,
.dispatch-main-actions__group > a.ui-button,
.dispatch-main-actions__form > .ui-button,
.dispatch-main-actions__form > button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.dispatch-main-actions__form > .dispatch-master-apply-button {
    background: #15803d;
    border-color: #166534;
    color: #ffffff;
}

.dispatch-main-actions__form > .dispatch-master-apply-button:hover,
.dispatch-main-actions__form > .dispatch-master-apply-button:focus-visible {
    background: #166534;
    border-color: #14532d;
    color: #ffffff;
}

.dispatch-main-actions__form > .dispatch-master-apply-button:disabled {
    background: #d1fae5;
    border-color: #a7f3d0;
    color: #065f46;
}

.dispatch-manual-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
}

.dispatch-manual-toolbar form {
    margin: 0;
}

.dispatch-manual-workspace {
    display: grid;
    grid-template-columns: minmax(180px, 0.75fr) minmax(180px, 0.75fr) minmax(520px, 2.2fr) minmax(260px, 1fr);
    gap: 12px;
    align-items: start;
}

.dispatch-manual-panel,
.dispatch-manual-board,
.dispatch-manual-transfer-section {
    min-width: 0;
}

.dispatch-manual-panel {
    display: grid;
    gap: 10px;
}

.dispatch-manual-panel h2,
.dispatch-manual-board h2,
.dispatch-manual-transfer-section h2 {
    margin: 0 0 8px;
    color: #233f8f;
    font-size: 1rem;
}

.dispatch-manual-panel__slot,
.dispatch-manual-board,
.dispatch-manual-transfer-section,
.dispatch-manual-panel--destinations {
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    padding: 10px;
}

.dispatch-manual-panel__slot h3 {
    margin: 0 0 8px;
    font-size: 0.92rem;
}

.dispatch-manual-panel__cards,
.dispatch-manual-board__courses {
    display: grid;
    gap: 8px;
}

.dispatch-manual-panel__empty,
.dispatch-manual-board__empty,
.dispatch-manual-course-card__empty {
    padding: 10px;
    border: 1px dashed #cbd5e1;
    border-radius: 6px;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.9rem;
}

.dispatch-manual-side-card {
    display: grid;
    gap: 3px;
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #f8fafc;
    cursor: grab;
}

.dispatch-manual-side-card--used {
    opacity: 0.7;
}

.dispatch-manual-side-card strong {
    font-size: 0.92rem;
}

.dispatch-manual-side-card span {
    color: #64748b;
    font-size: 0.84rem;
}

.dispatch-manual-course-card {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.dispatch-manual-course-card__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.dispatch-manual-course-card__summary label:nth-child(1),
.dispatch-manual-course-card__summary label:nth-child(2),
.dispatch-manual-course-card__summary label:nth-child(3) {
    grid-column: 1;
}

.dispatch-manual-course-card__summary label:nth-child(4),
.dispatch-manual-course-card__summary label:nth-child(5),
.dispatch-manual-course-card__summary label:nth-child(6) {
    grid-column: 2;
}

.dispatch-manual-course-card__assignment,
.dispatch-manual-destination-card__details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.dispatch-manual-course-card label,
.dispatch-manual-destination-card label {
    display: grid;
    gap: 3px;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.dispatch-manual-course-card input,
.dispatch-manual-course-card select,
.dispatch-manual-destination-card input {
    width: 100%;
    box-sizing: border-box;
    font-size: 0.92rem;
}

.dispatch-manual-readonly-value {
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 500;
}

.dispatch-manual-course-card__destinations {
    display: grid;
    gap: 8px;
}

.dispatch-manual-destination-card {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
}

.dispatch-course-drop--active {
    outline: 3px solid #93c5fd;
    outline-offset: -3px;
    background: #eff6ff;
}

.dispatch-destination-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 6px;
}

.dispatch-destination-drag-handle {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #f8fafc;
    color: #233f8f;
    font-size: 0.86rem;
    font-weight: 700;
    cursor: grab;
    user-select: none;
}

.dispatch-destination-drag-handle:active {
    cursor: grabbing;
}

.dispatch-manual-unassigned {
    margin-top: 14px;
    padding: 10px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.dispatch-manual-unassigned--active {
    border-color: #2563eb;
    background: #eff6ff;
}

.dispatch-manual-unassigned__hint {
    margin: 0 0 8px;
    color: #64748b;
    font-size: 0.9rem;
}

.dispatch-manual-unassigned__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.dispatch-manual-unassigned__card {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    cursor: grab;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.08);
}

.dispatch-manual-unassigned__card:active {
    cursor: grabbing;
}

.dispatch-manual-unassigned__card small {
    color: #64748b;
}

.dispatch-manual-unassigned__empty {
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    background: #fff;
    color: #64748b;
}

@media (max-width: 1320px) {
    .dispatch-manual-workspace {
        grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr);
    }

    .dispatch-manual-board,
    .dispatch-manual-panel--destinations {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .dispatch-manual-workspace,
    .dispatch-manual-course-card__summary,
    .dispatch-manual-course-card__assignment,
    .dispatch-manual-destination-card__details {
        grid-template-columns: 1fr;
    }

    .dispatch-manual-course-card__summary label:nth-child(n) {
        grid-column: auto;
    }
}

.dispatch-candidate-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
}

.dispatch-candidate-form {
    display: block;
    width: 100%;
    margin: 0;
}

.dispatch-candidate-card {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    align-items: start;
    justify-items: stretch;
    min-height: 52px;
    padding: 9px 12px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: #111827;
    text-align: left;
    white-space: normal;
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.08);
    appearance: none;
}

.dispatch-candidate-card:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #111827;
}

.dispatch-candidate-card:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.dispatch-candidate-card__name,
.dispatch-candidate-card__address {
    display: block;
    width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.dispatch-candidate-card__name {
    font-weight: 700;
    line-height: 1.25;
}

.dispatch-candidate-card__address {
    font-size: 0.85em;
    font-weight: 400;
    line-height: 1.25;
    color: #475569;
}

.dispatch-destination-form__full {
    grid-column: 1 / -1;
}

.dispatch-destination-form__name-row {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 12px;
    align-items: end;
}

.dispatch-destination-form__quad,
.dispatch-destination-form__triple {
    display: grid;
    gap: 12px;
    align-items: end;
}

.dispatch-destination-form__quad {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dispatch-destination-form__triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dispatch-destination-form__section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    color: #374151;
    font-weight: 700;
}

.dispatch-batch-candidates__rows {
    display: grid;
    gap: 8px;
}

.dispatch-batch-candidates__row {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(88px, 1fr) minmax(88px, 1fr);
    gap: 8px;
    align-items: center;
}

.dispatch-batch-candidates__row .ui-button {
    width: 100%;
    min-width: 0;
    white-space: nowrap;
}

.dispatch-destination-form__split-checks {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.dispatch-destination-vehicle-classes,
.dispatch-destination-weekdays {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0;
    padding: 10px;
    border: 1px solid var(--ui-border);
    border-radius: 6px;
}

.dispatch-destination-vehicle-classes legend,
.dispatch-destination-weekdays legend {
    padding: 0 4px;
    color: #374151;
    font-weight: 700;
}

.dispatch-destination-vehicle-classes label,
.dispatch-destination-weekdays label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 2rem;
}

.dispatch-destination-form .ui-modal__actions {
    flex-shrink: 0;
    justify-content: flex-end;
    margin: 0;
    padding: 16px 20px;
    background: #fff;
    position: sticky;
    bottom: 0;
    z-index: 2;
}

.dispatch-destination-alias-form .ui-modal__actions {
    flex-shrink: 0;
    justify-content: flex-end;
    margin: 0;
    padding: 16px 20px;
    background: #fff;
    position: sticky;
    bottom: 0;
    z-index: 2;
}

@media (max-width: 760px) {
    .ui-list-search {
        grid-template-columns: 1fr;
    }

    main[data-view="dispatch-delivery-date-list"] .ui-list-search {
        grid-template-columns: 1fr;
    }

    main[data-view="etc-summary"] .ui-list-search {
        grid-template-columns: 1fr;
    }

    .ui-list-search__fields,
    .ui-list-search__actions {
        grid-column: 1;
    }

    .ui-list-search__actions {
        padding-top: 0;
    }

    .ui-list-search--single-row > button,
    .ui-list-search--single-row > .ui-button {
        grid-column: 1;
        grid-row: auto;
        justify-self: end;
        margin-top: 0;
    }

    .permission-user-search.ui-list-search--single-row {
        grid-template-columns: 1fr;
    }

    .permission-user-search__keyword {
        grid-template-columns: 1fr;
    }

    .permission-user-search__keyword > .ui-employee-picker,
    .permission-user-search__keyword .ui-employee-picker__trigger,
    .permission-user-search__keyword > .ui-button,
    .permission-user-search.ui-list-search--single-row > button,
    .permission-user-search.ui-list-search--single-row > .ui-button {
        width: 100%;
    }

    .employee-picker-search.ui-list-search--single-row {
        grid-template-columns: 220px;
    }

    .employee-picker-search.ui-list-search--single-row > button,
    .employee-picker-search.ui-list-search--single-row > .ui-button {
        grid-column: 1;
    }

    .registry-employee-search.employee-picker-search.ui-list-search--single-row {
        grid-template-columns:
            110px
            220px
            220px
            220px
            auto
            auto;
    }

    .registry-employee-search.employee-picker-search.ui-list-search--single-row > button,
    .registry-employee-search.employee-picker-search.ui-list-search--single-row > .ui-button {
        grid-column: auto;
    }

    .payroll-result-search.employee-picker-search.ui-list-search--single-row {
        grid-template-columns:
            110px
            220px
            220px
            auto
            auto;
    }

    .payroll-result-search.employee-picker-search.ui-list-search--single-row > button,
    .payroll-result-search.employee-picker-search.ui-list-search--single-row > .ui-button {
        grid-column: auto;
    }

    .declared-overtime-toolbar,
    .car-wash-toolbar,
    .monthly-payment-adjustment-toolbar {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
    }

    .declared-overtime-search.employee-picker-search.ui-list-search--single-row,
    .car-wash-search.employee-picker-search.ui-list-search--single-row,
    .monthly-payment-adjustment-search.employee-picker-search.ui-list-search--single-row {
        grid-template-columns: 220px auto auto auto;
        width: max-content;
        max-width: 100%;
        overflow-x: auto;
    }

    .declared-overtime-search.employee-picker-search.ui-list-search--single-row > button,
    .declared-overtime-search.employee-picker-search.ui-list-search--single-row > .ui-button,
    .car-wash-search.employee-picker-search.ui-list-search--single-row > button,
    .car-wash-search.employee-picker-search.ui-list-search--single-row > .ui-button,
    .monthly-payment-adjustment-search.employee-picker-search.ui-list-search--single-row > button,
    .monthly-payment-adjustment-search.employee-picker-search.ui-list-search--single-row > .ui-button {
        grid-column: auto;
        width: auto;
        min-width: 5rem;
    }

    .declared-overtime-view-switch,
    .car-wash-view-switch,
    .monthly-payment-adjustment-view-switch {
        width: max-content;
    }

    .declared-overtime-register-panel {
        width: max-content;
    }

    .declared-overtime-register-row {
        grid-template-columns: 220px;
    }

    .declared-overtime-register-context {
        display: grid;
        gap: 4px;
        width: 220px;
    }

    .declared-overtime-register-context__item {
        width: 220px;
    }

    .declared-overtime-register-info strong,
    .declared-overtime-create-form .ui-employee-picker,
    .declared-overtime-create-form .ui-employee-picker__trigger,
    .declared-overtime-register-row > button,
    .declared-overtime-register-row > .ui-button {
        width: 220px;
        box-sizing: border-box;
    }

    .car-wash-register-form__fields {
        grid-template-columns: 220px;
    }

    .dispatch-destination-form__body,
    .dispatch-destination-form__name-row,
    .dispatch-destination-form__quad,
    .dispatch-destination-form__triple,
    .dispatch-destination-form__split-checks {
        grid-template-columns: 1fr;
    }

    .dispatch-batch-candidates__row {
        grid-template-columns: minmax(0, 1fr);
    }
}

.ui-list-toolbar__group,
.ui-list-sort-chips,
.ui-list-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.ui-list-toolbar__group--pager {
    gap: 12px;
}

.ui-list-toolbar__group--pager .ui-button,
.ui-list-toolbar__group--pager button,
.ui-list-toolbar__group--pager a.ui-button {
    height: var(--ui-button-height);
    min-height: var(--ui-button-height);
    box-sizing: border-box;
}

.ui-list-toolbar__group--pager .ui-list-display-count {
    margin-left: 0;
    margin-right: 6px;
}

.ui-list-toolbar__group--pager .ui-list-pagination {
    margin-top: 0;
}

.ui-list-actions {
    margin: 10px 0;
}

.ui-list-actions__row,
.ui-list-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 10px 0;
}

.ui-list-actions__left,
.ui-list-actions__right,
.ui-list-pager__left,
.ui-list-pager__right {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.payroll-month-transfer-confirm-button {
    min-height: 2.2rem;
    box-sizing: border-box;
}

.ui-list-pager__right {
    margin-left: auto;
}

.ui-list-pager-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 10px 0;
}

.ui-list-pager-bar .ui-list-pagination {
    margin-top: 0;
}

.ui-list-display-count {
    margin-left: auto;
    color: #374151;
    font-weight: 700;
    text-align: right;
}

.ui-list-page-size {
    display: inline-flex;
    align-items: center;
    gap: 0;
    color: #374151;
}

.ui-list-page-size select {
    min-height: 2rem;
    padding: 0.25rem 0.5rem;
}

.ui-list-pagination {
    margin-top: 10px;
}

.ui-list-pagination__status {
    color: #4b5563;
}

.etc-import-form {
    grid-template-columns: minmax(0, 4fr) minmax(140px, 1fr);
}

.etc-import-form__inputs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.etc-table tbody tr:hover td {
    background: #e0f2fe;
}

.etc-table--clickable tbody tr {
    cursor: pointer;
}

.etc-table th a {
    color: inherit;
}

.etc-table th {
    text-align: center;
}

.etc-table td {
    text-align: right;
}

.etc-amount-form {
    gap: 8px;
}

.etc-amount-form input[type="number"] {
    width: 8rem;
}

.etc-vehicle-resolution {
    display: grid;
    gap: 12px;
}

.etc-vehicle-resolution__message {
    margin: 0 0 8px;
    max-width: 48rem;
    text-align: left;
}

.etc-vehicle-resolution__choices {
    justify-content: flex-end;
    gap: 8px;
}

.ui-modal {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    overscroll-behavior: contain;
    padding: 0;
}

dialog[data-ui-modal-locked] {
    pointer-events: none;
}

dialog[data-ui-modal-locked]:has(dialog[data-ui-modal-active]) {
    pointer-events: auto;
}

dialog[data-ui-modal-locked]:not(:has(dialog[data-ui-modal-active])),
dialog[data-ui-modal-locked]:not(:has(dialog[data-ui-modal-active])) .ui-modal__body {
    overflow: hidden !important;
}

.ui-modal__form {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    min-width: min(520px, calc(100vw - 32px));
}

.ui-modal__body,
.ui-modal__actions {
    padding: 16px;
}

.ui-modal__body {
    overscroll-behavior: contain;
}

.ui-modal__actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    border-top: 1px solid #e5e7eb;
}

.ui-modal form.dispatch-vehicle-class-form {
    padding: 16px;
    gap: 12px;
}

.ui-modal form.dispatch-batch-form {
    width: min(720px, calc(100vw - 32px));
    max-height: min(86vh, 620px);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    overflow: hidden;
}

.dispatch-batch-form__body {
    display: grid;
    gap: 14px;
    padding: 18px;
    overflow: auto;
}

.dispatch-batch-form__row {
    display: grid;
    gap: 14px;
    align-items: end;
}

.dispatch-batch-form__row--two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.dispatch-batch-form__row--short-address {
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
}

.dispatch-batch-form__row--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dispatch-batch-form__footer {
    flex-shrink: 0;
    justify-content: flex-end;
    margin: 0;
    padding: 16px 18px;
    background: #fff;
    position: sticky;
    bottom: 0;
    z-index: 2;
}

.dispatch-google-api-panel {
    width: fit-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #fff;
}

.dispatch-google-api-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: min(760px, calc(100vw - 32px));
    max-width: 100%;
}

.dispatch-google-api-form__body {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 320px));
    justify-content: center;
    gap: 14px 18px;
    padding: 18px;
}

.dispatch-google-api-form label,
.dispatch-google-api-form fieldset {
    min-width: 0;
}

.dispatch-google-api-form input:not([type="checkbox"]),
.dispatch-google-api-form select {
    width: 100%;
}

.dispatch-google-api-form__full {
    grid-column: 1 / -1;
}

.dispatch-google-api-form__checks {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 0;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
}

.dispatch-google-api-form__checks legend {
    padding: 0 6px;
}

.dispatch-google-api-form__check {
    display: inline-flex;
    gap: 6px;
    align-items: center;
}

.dispatch-google-api-form__footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 16px 18px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}

@media (max-width: 760px) {
    .dispatch-batch-form__row--two,
    .dispatch-batch-form__row--short-address,
    .dispatch-batch-form__row--three,
    .dispatch-google-api-form__body {
        grid-template-columns: 1fr;
    }
}

.ui-upload-actions {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(120px, 1fr) minmax(120px, 1fr);
    gap: 10px;
    align-items: flex-end;
}

.ui-upload-actions > form {
    display: contents;
    margin: 0;
}

.ui-upload-actions > form:first-child > label {
    grid-column: 1;
}

.ui-upload-actions > form:first-child > button {
    grid-column: 2;
}

.ui-upload-actions > form:not(:first-child) > button {
    grid-column: 3;
}

main[data-view="payroll-month-detail"] .monthly-attendance-import-form {
    grid-template-columns: minmax(0, 1fr);
}

main[data-view="payroll-month-detail"] .monthly-attendance-import-form > fieldset {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: end;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

main[data-view="payroll-month-detail"] .monthly-attendance-import-form > fieldset > label {
    min-width: 0;
}

main[data-view="payroll-month-detail"] .monthly-attendance-import-form > fieldset > button {
    width: 100%;
}

[data-view^="workflow-"] {
    min-width: 0;
}

[data-view="workflow-apply"] {
    overflow-x: auto;
}

[data-view="workflow-detail-search"] {
    overflow-x: auto;
}

.workflow-page-actions {
    margin: 10px 0;
}

.workflow-application-table {
    min-width: 1120px;
}

.workflow-application-table thead th {
    text-align: center;
}

.workflow-detail-search-tabs.registry-employee-info-tabs {
    align-items: flex-start;
}

.workflow-detail-search-tabs__label.registry-employee-info-tabs__label {
    order: -1;
    flex: 0 1 180px;
    max-width: 240px;
    text-decoration: none;
    box-shadow: 0 1px 0 #dbe5ef;
}

.workflow-detail-search-tabs__label.registry-employee-info-tabs__label[aria-current="page"],
.workflow-detail-search-tabs__label--active.registry-employee-info-tabs__label {
    border-color: #2589d0 #dbe5ef #fff;
    border-style: solid;
    border-width: 4px 1px 1px;
    border-radius: 5px 5px 0 0;
    background-color: #fff;
    color: #333;
    box-shadow: none;
}

.workflow-detail-search-tabs__panel.registry-employee-info-tabs__panel {
    display: block;
    padding-top: 16px;
}

.workflow-detail-search-form.ui-list-search--single-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: end;
    gap: 8px;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-gutter: stable;
}

.workflow-detail-search-form.ui-list-search--single-row > label,
.workflow-detail-search-form.ui-list-search--single-row > .workflow-detail-search-field {
    flex: 0 0 12rem;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 12rem;
    white-space: nowrap;
}

.workflow-detail-search-form.ui-list-search--single-row > .workflow-detail-search-date-range {
    flex-basis: 21rem;
    min-width: 21rem;
}

.workflow-detail-search-form.ui-list-search--single-row > button,
.workflow-detail-search-form.ui-list-search--single-row > .ui-button {
    flex: 0 0 auto;
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    justify-self: start;
    min-width: 5rem;
    margin-top: 0;
}

.workflow-application-sort-chips {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    margin: 0;
}

.workflow-application-list-region,
.workflow-detail-search-tabs__panel[data-workflow-ajax-list-region],
[data-view="workflow-detail"][data-workflow-ajax-list-region] {
    position: relative;
}

.workflow-list-ajax-lock {
    position: absolute;
    z-index: 20;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    min-height: 8rem;
    border-radius: 8px;
    background: rgb(255 255 255 / 0.78);
    color: #111827;
    font-weight: 700;
    pointer-events: all;
}

[data-workflow-ajax-list-region][data-workflow-ajax-busy="1"] .workflow-list-ajax-lock {
    display: flex;
}

.workflow-list-ajax-message {
    margin: 0 0 12px;
}

.ui-flash__message {
    margin: 0;
    padding: 10px 12px;
    border: 1px solid #c7d2fe;
    border-radius: 8px;
    background: #eef2ff;
    color: #1f2f6f;
    font-weight: 700;
}

.ui-flash__message--error {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.workflow-application-search-form.ui-list-search--single-row {
    grid-template-columns: repeat(3, minmax(12rem, 1fr)) auto;
    align-items: end;
    gap: 8px;
    min-width: 760px;
}

.workflow-application-search-form.ui-list-search--single-row > label,
.workflow-application-search-form.ui-list-search--single-row > button,
.workflow-application-search-form.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: 1;
}

.workflow-application-search-form.ui-list-search--single-row > button,
.workflow-application-search-form.ui-list-search--single-row > .ui-button {
    align-self: end;
    justify-self: start;
    min-width: 5rem;
    margin-top: 0;
}

.workflow-detail-search-date-range > [data-workflow-detail-date-range] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.workflow-detail-search-date-range input[type="date"],
.workflow-detail-search-date-range input[type="month"],
.workflow-detail-search-year-month-picker__trigger {
    flex: 0 0 9.5rem;
    min-width: 0;
    width: 9.5rem;
    max-width: 9.5rem;
}

.workflow-detail-search-option-picker,
.workflow-detail-search-year-month-picker {
    display: inline-flex;
    min-width: 0;
}

.workflow-detail-search-option-picker__trigger {
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

.workflow-detail-search-option-modal {
    max-width: calc(100vw - 24px);
    width: min(560px, calc(100vw - 24px));
}

.workflow-detail-search-option-modal__frame {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    max-height: min(80vh, 640px);
    min-height: 0;
}

.workflow-detail-search-option-modal__body {
    min-height: 0;
    overflow: hidden;
}

.workflow-detail-search-option-modal__list {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    max-height: 58vh;
    overflow: auto;
}

.workflow-detail-search-option-modal__option,
.workflow-detail-search-employee-modal__employee {
    align-items: center;
    background: #17437c;
    border: 1px solid #0f3262;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-height: 2.35em;
    min-width: 0;
    overflow-wrap: anywhere;
    padding: 0.45em 0.75em;
    text-align: center;
    white-space: normal;
    width: 100%;
}

.workflow-detail-search-option-modal__empty {
    margin: 0;
}

.workflow-detail-search-employee-modal {
    box-sizing: border-box;
    height: 96vh;
    left: 50%;
    margin: 0;
    max-height: 96vh;
    max-width: calc(100vw - 16px);
    overflow: hidden;
    position: fixed;
    top: 2vh;
    transform: translateX(-50%);
    width: min(1180px, calc(100vw - 16px));
}

.workflow-detail-search-employee-modal[open] {
    display: flex;
    flex-direction: column;
}

.workflow-detail-search-employee-modal__frame {
    display: grid;
    flex: 1 1 auto;
    grid-template-rows: minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
    width: 100%;
}

.workflow-detail-search-employee-modal__body {
    display: grid;
    gap: 14px;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    overflow: hidden;
}

.workflow-detail-search-employee-modal__kana {
    direction: rtl;
    display: grid;
    gap: 8px 18px;
    grid-auto-flow: column;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-template-rows: repeat(5, 36px);
    justify-content: center;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

.workflow-detail-search-employee-modal__kana-button {
    align-items: center;
    appearance: none;
    background: #c7f0c2;
    border: 1px solid #8fc889;
    border-radius: 7px;
    color: #111827;
    cursor: pointer;
    direction: ltr;
    display: inline-flex;
    font-weight: 700;
    height: 36px;
    justify-content: center;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.workflow-detail-search-employee-modal__kana-button[aria-pressed="true"] {
    background: #86d989;
    border-color: #3f9d48;
}

.workflow-detail-search-employee-modal__kana-blank {
    display: block;
    height: 36px;
}

.workflow-detail-search-employee-modal__reset {
    height: 36px;
    min-width: 0;
    padding: 0 10px;
    width: 100%;
}

.workflow-detail-search-employee-modal__results {
    align-content: start;
    align-self: stretch;
    box-sizing: border-box;
    display: grid;
    gap: 8px 12px;
    grid-auto-rows: max-content;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    height: 100%;
    justify-content: center;
    max-height: none;
    max-width: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.workflow-detail-search-employee-modal__employee[hidden] {
    display: none;
}

.workflow-detail-search-year-month-modal {
    max-width: calc(100vw - 24px);
    width: min(320px, calc(100vw - 24px));
}

.workflow-detail-search-year-month-modal__body input[type="month"] {
    width: 100%;
}

.workflow-detail-search-table {
    min-width: 1120px;
}

.workflow-detail-search-address-cell {
    min-width: 260px;
    white-space: normal;
    vertical-align: top;
}

.workflow-detail-search-address-label {
    display: block;
    margin-bottom: 4px;
    color: #475569;
    font-size: 0.86em;
    font-weight: 700;
}

.workflow-application-sort-chips {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    justify-content: flex-end;
    margin: 0;
}

[data-view="workflow-apply"] form[data-section="workflow-apply-form"] {
    grid-template-columns: minmax(0, 1fr);
}

[data-view="workflow-apply"] form[data-section="workflow-apply-form"] > section,
[data-workflow-application-form]:not([hidden]) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
    align-items: end;
}

[data-view="workflow-apply"] h2,
[data-workflow-application-form] p,
[data-workflow-application-form] [data-workflow-conditional-field][data-field-type="detail_table"],
[data-view="workflow-apply"] label:has(textarea) {
    grid-column: 1 / -1;
}

[data-view="workflow-detail"] dl {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 8px 14px;
}

[data-view="workflow-detail"] dt {
    color: #475569;
    font-weight: 700;
}

[data-view="workflow-detail"] dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

[data-view="workflow-detail"] .workflow-detail-key-table,
[data-view="workflow-detail"] .workflow-detail-history-table {
    table-layout: fixed;
    width: 100%;
}

[data-view="workflow-detail"] .workflow-detail-key-table th,
[data-view="workflow-detail"] .workflow-detail-key-table td,
[data-view="workflow-detail"] .workflow-detail-history-table th,
[data-view="workflow-detail"] .workflow-detail-history-table td {
    overflow-wrap: anywhere;
    vertical-align: middle;
}

[data-view="workflow-detail"] .workflow-detail-address {
    display: inline-grid;
    gap: 6px;
    justify-items: start;
}

[data-view="workflow-detail"] .workflow-detail-address__postal-code {
    color: #475569;
    font-weight: 700;
}

[data-view="workflow-detail"] .workflow-detail-history-at,
[data-view="workflow-detail"] .workflow-detail-history-operation-cell {
    white-space: nowrap;
}

[data-view="workflow-detail"] .workflow-detail-history-operation-label {
    margin-right: 12px;
}

[data-view="workflow-detail"] .workflow-detail-history-actor {
    color: #475569;
    font-size: 0.92em;
}

.ui-selected-employee {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ui-selected-employee__card {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    min-width: 220px;
    padding: 8px 10px;
}

.ui-selected-employee__code {
    font-weight: 700;
    text-align: left;
}

.ui-selected-employee__name {
    color: #374151;
    text-align: right;
}

.ui-employee-picker {
    display: inline-flex;
    min-width: 0;
    vertical-align: middle;
}

.ui-employee-picker__trigger {
    max-width: 220px;
    min-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ui-employee-picker-modal {
    box-sizing: border-box;
    height: 96vh;
    left: 50%;
    margin: 0;
    max-width: calc(100vw - 16px);
    max-height: 96vh;
    overflow: hidden;
    position: fixed;
    top: 2vh;
    transform: translateX(-50%);
    width: min(1180px, calc(100vw - 16px));
}

.ui-employee-picker-modal[open] {
    display: flex;
    flex-direction: column;
}

.ui-employee-picker-modal__frame {
    box-sizing: border-box;
    display: grid;
    flex: 1 1 auto;
    grid-template-rows: minmax(0, 1fr) auto;
    height: 100%;
    min-height: 0;
    min-width: 0;
    width: 100%;
}

.ui-employee-picker-modal__body {
    box-sizing: border-box;
    display: grid;
    flex: 1 1 auto;
    gap: 14px;
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr);
    min-width: 0;
    min-height: 0;
    overflow: hidden;
}

.ui-employee-picker-modal .ui-modal__actions {
    box-sizing: border-box;
    min-height: 0;
}

.ui-employee-picker__kana {
    box-sizing: border-box;
    direction: rtl;
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-template-rows: repeat(5, 36px);
    gap: 8px 18px;
    justify-content: center;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}

.ui-employee-picker__kana-button {
    align-items: center;
    appearance: none;
    background: #c7f0c2;
    border: 1px solid #8fc889;
    border-radius: 7px;
    color: #111827;
    cursor: pointer;
    direction: ltr;
    display: inline-flex;
    font-weight: 700;
    height: 36px;
    justify-content: center;
    min-width: 0;
    padding: 0;
    width: 100%;
}

.ui-employee-picker__kana-button[aria-pressed="true"] {
    background: #86d989;
    border-color: #3f9d48;
}

.ui-employee-picker__kana-button:disabled {
    cursor: not-allowed;
    opacity: 0.45;
}

.ui-employee-picker__kana-blank {
    display: block;
    height: 36px;
    width: 100%;
}

.ui-employee-picker__reset {
    background: #d9eefc;
    color: #111827;
    height: 36px;
    justify-self: stretch;
    min-width: 0;
    padding: 0 10px;
    width: 100%;
}

.ui-employee-picker__results {
    align-self: stretch;
    box-sizing: border-box;
    display: grid;
    gap: 8px 12px;
    align-content: start;
    grid-template-columns: repeat(5, 200px);
    height: 100%;
    justify-content: center;
    max-height: none;
    max-width: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.ui-employee-picker__employee-button {
    align-items: center;
    background: #17437c;
    border: 1px solid #0f3262;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    min-height: 2.35em;
    overflow-wrap: anywhere;
    padding: 0.45em 0.75em;
    text-align: center;
    white-space: normal;
    width: 200px;
}

.ui-employee-picker__employee-button[hidden] {
    display: none;
}

.ui-employee-picker__empty,
.ui-employee-picker__loading {
    color: #475569;
    grid-column: 1 / -1;
    margin: 0;
}

.ui-modal--wide {
    max-width: min(1180px, 96vw);
    width: 96vw;
}

.registry-employee-detail-modal {
    width: min(1680px, calc(100vw - 32px));
    max-width: calc(100vw - 32px);
    height: min(92vh, 1040px);
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-employee-detail-modal--monthly-close {
    width: min(980px, calc(100vw - 32px));
    max-width: min(980px, calc(100vw - 32px));
    height: min(88vh, 860px);
}

.registry-employee-detail-modal::backdrop {
    background: rgb(15 23 42 / 0.42);
}

.registry-employee-detail-modal__frame {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    background: #fff;
}

.registry-employee-detail-modal__header {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    background: #fff;
}

.registry-employee-detail-modal__header h2 {
    margin: 0;
    font-size: 1.05rem;
}

.registry-employee-detail-modal__iframe {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    border: 0;
    background: #fff;
}

.registry-employee-detail--modal {
    max-width: none;
    padding: 18px;
}

@media (max-width: 760px) {
    .registry-employee-detail-modal {
        width: calc(100vw - 12px);
        max-width: calc(100vw - 12px);
        height: calc(100vh - 12px);
        max-height: calc(100vh - 12px);
    }

    .registry-employee-detail-modal__header {
        align-items: flex-start;
        flex-direction: column;
    }
}

#workflow-application-create-modal.ui-modal--wide,
#workflow-reapply-modal.ui-modal--wide {
    max-width: min(1120px, calc(100vw - 32px));
    width: fit-content;
}

#workflow-application-create-modal > .ui-modal__form,
#workflow-reapply-modal > .ui-modal__form {
    max-width: calc(100vw - 32px);
    min-width: min(860px, calc(100vw - 32px));
    width: fit-content;
}

#workflow-application-create-modal > .ui-modal__form > .ui-modal__body,
#workflow-reapply-modal > .ui-modal__form > .ui-modal__body,
#workflow-reapply-modal .ui-modal__body.workflow-reapply-modal__body {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(300px, 360px) minmax(420px, 1fr);
    max-width: calc(100vw - 64px);
    width: fit-content;
}

#workflow-application-create-modal > .ui-modal__form > .ui-modal__body > h2,
#workflow-reapply-modal > .ui-modal__form > .ui-modal__body > h2 {
    grid-column: 1 / -1;
}

#workflow-reapply-modal [data-workflow-reapply-info],
#workflow-reapply-modal [data-workflow-reapply-content] {
    align-content: start;
    display: grid;
    gap: 12px;
}

#workflow-reapply-modal [data-workflow-reapply-content] > label,
#workflow-reapply-modal [data-workflow-reapply-content] label:has(textarea) {
    grid-column: 1 / -1;
}

.workflow-editable-process-modal .ui-modal__body {
    gap: 1rem;
}

.workflow-editable-process-modal__title {
    margin: 0;
    color: #4b5563;
    font-weight: 600;
}

.workflow-editable-process-form .workflow-form-grid {
    align-items: start;
}

#workflow-application-create-modal [data-workflow-apply-info],
#workflow-application-create-modal [data-workflow-apply-content],
#workflow-reapply-modal [data-workflow-apply-info],
#workflow-reapply-modal [data-workflow-apply-content] {
    align-content: start;
    display: grid;
    gap: 12px;
}

#workflow-application-create-modal [data-workflow-apply-content] [data-workflow-application-form]:not([hidden]),
#workflow-reapply-modal [data-workflow-apply-content] [data-workflow-application-form]:not([hidden]) {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

#workflow-application-create-modal [data-workflow-apply-content] > label,
#workflow-application-create-modal [data-workflow-apply-content] [data-workflow-application-form] p,
#workflow-application-create-modal [data-workflow-apply-content] [data-workflow-application-form] [data-workflow-conditional-field][data-field-type="detail_table"],
#workflow-application-create-modal [data-workflow-apply-content] label:has(textarea),
#workflow-reapply-modal [data-workflow-apply-content] > label,
#workflow-reapply-modal [data-workflow-apply-content] [data-workflow-application-form] p,
#workflow-reapply-modal [data-workflow-apply-content] [data-workflow-application-form] [data-workflow-conditional-field][data-field-type="detail_table"],
#workflow-reapply-modal [data-workflow-apply-content] label:has(textarea) {
    grid-column: 1 / -1;
}

.ui-modal-split {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr);
}

.ui-modal-split__left {
    overflow-x: auto;
}

@media (max-width: 760px) {
    main,
    .page {
        padding: 16px;
    }

    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .ui-list-toolbar {
        align-items: stretch;
    }

    .ui-list-pager-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .ui-upload-actions {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .ui-employee-picker-modal .ui-modal__form {
        width: 100%;
    }

    .ui-employee-picker-modal {
        height: 96vh;
        max-height: 96vh;
        top: 2vh;
    }

    .ui-employee-picker__kana {
        gap: 6px;
    }

    .ui-employee-picker__results {
        grid-template-columns: 200px;
    }

    .ui-upload-actions > form:first-child > label,
    .ui-upload-actions > form:first-child > button,
    .ui-upload-actions > form:not(:first-child) > button {
        grid-column: 1;
    }

    .ui-list-display-count {
        margin-left: 0;
        text-align: left;
    }

    [data-view^="workflow-"] h1 {
        font-size: 1.25rem;
    }

    [data-view="workflow-apply"] form[data-section="workflow-apply-form"],
    [data-view="workflow-apply"] form[data-section="workflow-apply-form"] > section,
    [data-workflow-application-form]:not([hidden]) {
        grid-template-columns: minmax(0, 1fr);
    }

    #workflow-application-create-modal.ui-modal--wide,
    #workflow-application-create-modal > .ui-modal__form,
    #workflow-application-create-modal > .ui-modal__form > .ui-modal__body,
    #workflow-reapply-modal.ui-modal--wide,
    #workflow-reapply-modal > .ui-modal__form,
    #workflow-reapply-modal > .ui-modal__form > .ui-modal__body {
        max-width: calc(100vw - 24px);
        min-width: 0;
        width: calc(100vw - 24px);
    }

    #workflow-application-create-modal > .ui-modal__form > .ui-modal__body,
    #workflow-reapply-modal > .ui-modal__form > .ui-modal__body {
        grid-template-columns: minmax(0, 1fr);
    }

    [data-view^="workflow-"] .ui-actions {
        align-items: stretch;
        flex-direction: column;
    }

    [data-view^="workflow-"] .ui-actions .ui-button,
    [data-view^="workflow-"] .ui-actions button,
    [data-view^="workflow-"] input[type="file"] {
        width: 100%;
    }

    [data-view="workflow-detail"] dl {
        grid-template-columns: minmax(0, 1fr);
    }

    [data-view="workflow-detail"] table {
        max-width: 100%;
    }
}

@media (max-width: 899px) {
    .ui-page-header__system-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .system-selection-grid,
    .workflow-settings-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 599px) {
    .ui-page-header__inner,
    .ui-page-header__system-group {
        align-items: flex-start;
        flex-direction: column;
    }

    .ui-page-header__system-panel {
        right: auto;
        left: 0;
        width: min(22rem, calc(100vw - 24px));
    }

    .ui-page-header__system-grid {
        grid-template-columns: 1fr;
    }

    .ui-page-header__system-choice {
        min-height: 48px;
    }

    .system-selection-grid,
    .workflow-settings-menu-grid {
        grid-template-columns: 1fr;
    }

    .system-selection-button {
        min-height: 72px;
    }
}

.ui-ime-active {
    ime-mode: active;
}

.workflow-modal {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    max-width: min(720px, calc(100vw - 32px));
    padding: 20px;
    width: 100%;
}

.workflow-modal--wide {
    max-width: min(1080px, calc(100vw - 32px));
}

#table-schema-modal.workflow-modal--wide {
    max-width: min(1280px, calc(100vw - 32px));
}

.workflow-modal--builder {
    box-sizing: border-box;
    max-width: min(1280px, calc(100vw - 24px));
    padding: 0;
}

#form-modal.workflow-modal--builder {
    max-width: min(1540px, calc(100vw - 24px));
    width: min(1540px, calc(100vw - 24px));
}

#route-modal.workflow-modal--builder {
    height: 98vh;
    width: min(1280px, calc(100vw - 24px));
}

.workflow-modal--builder [data-form-definition] {
    display: flex;
    flex-direction: column;
    max-height: min(86vh, 900px);
    min-height: 0;
}

.workflow-modal--builder [data-route-form] {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    min-height: 0;
    padding: 24px;
}

.workflow-modal--builder [data-route-form] > h2 {
    margin: 0;
}

.workflow-modal--builder [data-route-form] > .workflow-route-builder {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 2px;
}

.workflow-modal--builder [data-route-form] > footer.ui-actions {
    flex-shrink: 0;
    margin: 4px -24px -24px;
    padding: 14px 24px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}

.workflow-modal__body {
    min-height: 0;
    overflow: auto;
    padding: 20px;
}

.workflow-modal__footer.ui-actions {
    flex-shrink: 0;
    margin-top: 0;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}

.workflow-split-control {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.workflow-split-control input,
.workflow-split-control button,
.workflow-choice-button {
    min-width: 0;
    width: 100%;
}

.workflow-office-picker-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 12px 0;
}

.workflow-office-picker-grid button {
    min-width: 0;
    width: 100%;
}

.workflow-ledger-picker-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 12px 0;
}

.workflow-ledger-picker-grid button {
    min-width: 0;
    width: 100%;
}

.workflow-quick-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 8px;
}

.workflow-hours-input {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.workflow-hours-input input {
    max-width: 7rem;
}

.workflow-address-field {
    grid-column: 1 / -1;
}

.workflow-address-input {
    display: grid;
    gap: 8px;
}

.workflow-address-input__row {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 7rem minmax(0, 1fr);
}

.workflow-address-input__label {
    color: #475569;
    font-weight: 700;
}

.workflow-address-input__status {
    min-height: 1.3em;
    color: #475569;
    font-size: 0.9em;
}

.workflow-detail-table-input,
.workflow-detail-table-display {
    display: grid;
    gap: 8px;
    grid-column: 1 / -1;
    max-width: 100%;
    width: 100%;
}

.workflow-detail-table-input__scroller,
.workflow-detail-table-display__scroller {
    max-width: 100%;
    overflow-x: auto;
}

.workflow-detail-table-input__table,
.workflow-detail-table-display__table {
    margin: 0;
    min-width: min(56rem, 100%);
}

.workflow-detail-table-input__table th,
.workflow-detail-table-input__table td,
.workflow-detail-table-display__table th,
.workflow-detail-table-display__table td {
    min-width: 10rem;
    vertical-align: top;
}

.workflow-detail-table-input__table th:last-child,
.workflow-detail-table-input__table td:last-child {
    min-width: 6rem;
    width: 6rem;
}

.workflow-detail-table-input__table td[data-workflow-detail-table-cell-hidden] > * {
    display: none;
}

.workflow-detail-table-input__field[data-workflow-detail-table-cell-hidden] {
    display: none;
}

.workflow-detail-table-input__table input[type="text"],
.workflow-detail-table-input__table input[type="number"],
.workflow-detail-table-input__table input[type="date"],
.workflow-detail-table-input__table input[type="month"],
.workflow-detail-table-input__table select,
.workflow-detail-table-input__table textarea {
    box-sizing: border-box;
    min-width: 9rem;
    width: 100%;
}

.workflow-detail-table-input__choices {
    display: grid;
    gap: 4px;
    min-width: 9rem;
}

.workflow-detail-table-input__choices label {
    align-items: center;
    display: flex;
    gap: 6px;
}

.workflow-detail-table-input__address .workflow-address-input__row {
    grid-template-columns: 5.5rem minmax(12rem, 1fr);
}

.workflow-detail-table-input__address--horizontal {
    align-items: end;
    grid-template-columns: minmax(12rem, 0.8fr) minmax(18rem, 1.6fr);
}

.workflow-detail-table-input__address--horizontal .workflow-address-input__row {
    align-items: start;
    grid-template-columns: 5.5rem minmax(0, 1fr);
}

.workflow-detail-table-input__address--horizontal .workflow-address-input__label {
    text-align: right;
}

.workflow-detail-table-modal-open {
    align-items: flex-start;
    display: flex;
    grid-column: 1 / -1;
}

.workflow-detail-table-modal {
    max-width: min(1120px, calc(100vw - 32px));
    width: min(1120px, calc(100vw - 32px));
}

.workflow-detail-table-modal .ui-modal__form {
    max-height: min(86vh, 900px);
    max-width: none;
    min-width: 0;
    width: 100%;
}

.workflow-detail-table-modal__body {
    box-sizing: border-box;
    display: grid;
    gap: 12px;
    max-width: calc(100vw - 64px);
    overflow: auto;
    width: 100%;
}

.workflow-detail-table-modal__body > h2 {
    margin: 0;
}

.workflow-detail-table-input--modal {
    grid-column: auto;
    width: 100%;
}

.workflow-detail-table-input__rows,
.workflow-detail-table-input__tiers,
.workflow-detail-table-input__fields {
    display: grid;
    gap: 12px;
    min-width: 0;
    width: 100%;
}

.workflow-detail-table-input__row--grid,
.workflow-detail-table-input__row--two-tier {
    align-items: start;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-sizing: border-box;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px;
    width: 100%;
}

.workflow-detail-table-input__row[draggable="true"] {
    cursor: grab;
    position: relative;
}

.workflow-detail-table-input__row[draggable="true"]:hover {
    border-color: #93c5fd;
    background: #f8fbff;
}

.workflow-detail-table-input__row--dragging {
    border-color: #2563eb;
    cursor: grabbing;
    opacity: 0.58;
}

.workflow-detail-table-input__rows > .workflow-detail-table-input__drop-placeholder {
    box-sizing: border-box;
    display: block;
    width: 100%;
}

.workflow-detail-table-input__rows > .workflow-detail-table-input__drop-placeholder .workflow-field-drop-placeholder__box {
    box-sizing: border-box;
    display: block;
    min-height: 72px;
    width: 100%;
}

.workflow-detail-table-input__fields,
.workflow-detail-table-input__tier {
    align-items: end;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-width: 0;
}

.workflow-detail-table-input__field {
    align-content: start;
    display: grid;
    gap: 6px;
    grid-column: span 1;
    min-width: 0;
}

.workflow-detail-table-input__field--small {
    grid-column: span 1;
}

.workflow-detail-table-input__field--large {
    grid-column: span 2;
}

.workflow-detail-table-input__field--wide {
    grid-column: 1 / -1;
}

.workflow-detail-table-input__field-label {
    color: #1f2a44;
    display: flex;
    font-weight: 700;
    gap: 4px;
    min-height: 1.25rem;
}

.workflow-detail-table-input__field input[type="text"],
.workflow-detail-table-input__field input[type="number"],
.workflow-detail-table-input__field input[type="date"],
.workflow-detail-table-input__field input[type="month"],
.workflow-detail-table-input__field select,
.workflow-detail-table-input__field textarea {
    box-sizing: border-box;
    min-width: 0;
    width: 100%;
}

.workflow-detail-table-input__row-actions {
    align-self: start;
    display: grid;
    gap: 8px;
    min-width: 6rem;
}

.workflow-detail-table-input__row-actions .ui-button {
    justify-content: center;
    width: 100%;
}

.workflow-detail-table-display--two-tier {
    gap: 10px;
}

.workflow-detail-table-display__rows {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.workflow-detail-table-display__row--two-tier {
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    display: grid;
    gap: 8px;
    padding: 10px;
}

.workflow-detail-table-display__tier {
    align-items: start;
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    min-width: 0;
}

.workflow-detail-table-display__field {
    display: grid;
    gap: 4px;
    grid-column: span 3;
    min-width: 0;
}

.workflow-detail-table-display__field--small {
    grid-column: span 2;
}

.workflow-detail-table-display__field--large {
    grid-column: span 4;
}

.workflow-detail-table-display__field--wide {
    grid-column: 1 / -1;
}

.workflow-detail-table-display__field-label {
    color: #475569;
    font-size: 0.86rem;
    font-weight: 700;
}

.workflow-detail-table-display__field-value {
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .workflow-detail-table-input__row--grid,
    .workflow-detail-table-input__row--two-tier {
        grid-template-columns: 1fr;
    }

    .workflow-detail-table-input__fields,
    .workflow-detail-table-input__tier,
    .workflow-detail-table-display__tier {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .workflow-detail-table-input__field,
    .workflow-detail-table-input__field--small,
    .workflow-detail-table-input__field--large,
    .workflow-detail-table-display__field,
    .workflow-detail-table-display__field--small,
    .workflow-detail-table-display__field--large {
        grid-column: span 3;
    }

    .workflow-detail-table-input__address--horizontal {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .workflow-detail-table-input__fields,
    .workflow-detail-table-input__tier,
    .workflow-detail-table-display__tier {
        grid-template-columns: 1fr;
    }

    .workflow-detail-table-input__field--large,
    .workflow-detail-table-input__field--wide,
    .workflow-detail-table-input__field--small,
    .workflow-detail-table-display__field--large,
    .workflow-detail-table-display__field--wide,
    .workflow-detail-table-display__field--small {
        grid-column: auto;
    }
}

.workflow-table-schema-table input,
.workflow-table-schema-table select,
.workflow-table-schema-table textarea {
    box-sizing: border-box;
    min-width: 8rem;
    width: 100%;
}

.workflow-table-schema-actions {
    display: grid;
    gap: 5px;
    min-width: 6.25rem;
}

.workflow-table-schema-actions .ui-button {
    justify-content: center;
    min-width: 0;
    width: 100%;
}

.workflow-table-schema-table th[rowspan],
.workflow-table-schema-table td[rowspan] {
    vertical-align: middle;
}

.workflow-table-schema-detail-row > td {
    background: #fbfdff;
    border-top: 0;
}

.workflow-postal-address-candidates {
    display: grid;
    gap: 8px;
}

.workflow-postal-address-candidate {
    appearance: none;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    color: #111827;
    cursor: pointer;
    padding: 10px 12px;
    text-align: left;
    width: 100%;
}

.workflow-postal-address-candidate:hover {
    background: #eef4ff;
}

.workflow-auto-set-list {
    display: grid;
    gap: 14px;
    margin-top: 12px;
}

.workflow-auto-set-list__item {
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 14px;
}

.workflow-auto-set-list__item h3 {
    margin: 0 0 8px;
    font-size: 1rem;
}

.workflow-auto-set-list__item ul {
    margin: 0;
    padding-left: 1.25rem;
}

.workflow-form-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.workflow-table-schema-limits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 701px) {
    .workflow-form-grid__first-column {
        grid-column: 1;
    }

    .workflow-form-grid__second-column {
        grid-column: 2;
    }
}

.workflow-field-table input,
.workflow-field-table select {
    min-width: 120px;
    width: 100%;
}

.workflow-field-table__check {
    text-align: center;
}

.workflow-field-table__check input[type="checkbox"] {
    min-width: 0;
    width: 1.35rem;
}

.workflow-version-table,
.workflow-version-detail-table {
    margin-top: 12px;
}

.workflow-version-table th,
.workflow-version-table td,
.workflow-version-detail-table th,
.workflow-version-detail-table td {
    vertical-align: top;
}

.workflow-version-detail-table td {
    overflow-wrap: anywhere;
}

.workflow-field-table tbody tr.workflow-field-row-dragging > td,
.workflow-table-schema-table tbody tr.workflow-field-row-dragging > td {
    opacity: 0.72;
}

.workflow-field-table tbody tr.workflow-field-drop-placeholder > td,
.workflow-table-schema-table tbody tr.workflow-field-drop-placeholder > td {
    padding: 4px 8px;
    border: 0;
    background: #f8fbff;
}

.workflow-table-schema-table tbody tr.workflow-field-drop-placeholder {
    pointer-events: none;
}

.workflow-field-drop-placeholder__box {
    min-height: 38px;
    border: 2px dashed #2563eb;
    border-radius: 6px;
    background: #eff6ff;
}

.workflow-table-schema-table .workflow-field-drop-placeholder__box {
    min-height: 56px;
}

.workflow-system-row {
    background: #f3f4f6;
}

.workflow-modal footer.ui-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
    margin-top: 12px;
}

.workflow-modal footer.workflow-modal__footer.ui-actions {
    flex-shrink: 0;
    margin-top: 0;
    padding: 12px 20px;
    border-top: 1px solid #e5e7eb;
    background: #fff;
}

.workflow-org-chart {
    --workflow-org-horizontal-space: 20px;
    --workflow-org-line: #94a3b8;
    --workflow-org-vertical-space: 44px;
    overflow-x: auto;
    padding: 12px 0 20px;
}

.workflow-org-chart ul {
    display: flex;
    gap: 0;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: var(--workflow-org-vertical-space) 0 0;
    position: relative;
}

.workflow-org-chart li {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: center;
    padding: var(--workflow-org-vertical-space) var(--workflow-org-horizontal-space) 0;
    position: relative;
}

.workflow-org-chart > ul {
    justify-content: flex-start;
    padding-top: 0;
}

.workflow-org-chart > ul > li {
    padding-top: 0;
}

.workflow-org-chart li::before,
.workflow-org-chart li::after {
    border-top: 1px solid var(--workflow-org-line);
    content: "";
    height: 24px;
    position: absolute;
    top: 0;
    width: 50%;
}

.workflow-org-chart li::before {
    right: 50%;
}

.workflow-org-chart li::after {
    border-left: 1px solid var(--workflow-org-line);
    left: 50%;
}

.workflow-org-chart li:only-child::before,
.workflow-org-chart li:only-child::after,
.workflow-org-chart > ul > li::before,
.workflow-org-chart > ul > li::after {
    display: none;
}

.workflow-org-chart li:first-child::before,
.workflow-org-chart li:last-child::after {
    border-top-color: transparent;
}

.workflow-org-chart li > ul::before {
    border-left: 1px solid var(--workflow-org-line);
    content: "";
    height: var(--workflow-org-vertical-space);
    left: 50%;
    position: absolute;
    top: 0;
}

.workflow-org-node {
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    min-width: 220px;
    padding: 12px;
    position: relative;
    transition: background-color 120ms ease, outline-color 120ms ease;
    z-index: 1;
}

.workflow-org-node.is-drag-over {
    outline: 2px dashed #3b82f6;
    outline-offset: 3px;
    background: #f8fbff;
}

.workflow-org-role-drop {
    border: 2px dashed transparent;
    border-radius: 8px;
    display: grid;
    gap: 8px;
    min-height: 52px;
    padding: 8px;
    transition: background-color 120ms ease, border-color 120ms ease;
}

.workflow-org-role-drop.is-drag-over {
    border-color: #3b82f6;
    background: #eff6ff;
}

.workflow-org-role,
.workflow-role-card,
.workflow-route-palette button,
.workflow-route-item {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #111827;
    font-weight: 700;
    padding: 8px 10px;
    text-align: left;
}

.workflow-org-role span {
    color: #475569;
    display: block;
    font-size: 0.85rem;
    font-weight: 500;
}

.workflow-org-role.is-dragging {
    opacity: 0.72;
}

.workflow-org-role.is-remove-ready {
    background: #fee2e2;
    border-color: #dc2626;
    color: #991b1b;
}

.workflow-org-role.is-remove-ready span {
    color: #b91c1c;
}

.workflow-role-palette {
    align-items: flex-start;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    bottom: 0;
    box-shadow: 0 -10px 24px rgb(15 23 42 / 10%);
    display: flex;
    gap: 12px;
    margin-top: 16px;
    max-height: min(32vh, 260px);
    overflow-y: auto;
    padding: 12px;
    position: sticky;
    z-index: 20;
}

.workflow-role-palette__title {
    flex: 0 0 auto;
    margin: 6px 0 0;
    white-space: nowrap;
}

.workflow-role-card-row {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 8px;
}

.workflow-selected-employees {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-block: 12px;
}

.workflow-route-builder {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) 360px;
    grid-template-rows: minmax(0, 1fr);
    min-height: 0;
}

.workflow-route-canvas {
    align-content: start;
    align-items: start;
    align-self: stretch;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-sizing: border-box;
    display: grid;
    gap: 12px;
    grid-auto-rows: max-content;
    height: 100%;
    max-height: 100%;
    min-height: 360px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 12px;
}

.workflow-route-row {
    align-self: start;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-content: center;
    align-items: start;
    gap: 12px;
    height: auto;
    border: 1px dashed #94a3b8;
    border-radius: 8px;
    padding: 10px;
}

.workflow-route-row[draggable="true"] {
    cursor: grab;
}

.workflow-route-row[draggable="true"]:active {
    cursor: grabbing;
}

.workflow-route-row > p {
    grid-column: 1 / -1;
    margin: 0;
    text-align: center;
}

.workflow-route-row__settings {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    grid-column: 1 / -1;
    justify-content: flex-end;
    min-width: 0;
}

.workflow-route-row__settings label {
    align-items: center;
    display: flex;
    gap: 6px;
    margin: 0;
    white-space: nowrap;
}

.workflow-route-process-setting {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    min-width: 0;
}

.workflow-route-process-setting__summary {
    color: #64748b;
    font-size: 0.85rem;
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workflow-route-process-settings {
    align-items: end;
}

.workflow-route-column {
    border: 1px dashed #94a3b8;
    border-radius: 8px;
    padding: 10px;
}

.workflow-route-drop-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 2px dashed #2563eb;
    border-radius: 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
}

.workflow-route-drop-placeholder--row {
    margin: 2px 0;
}

.workflow-route-drop-placeholder--column {
    margin: 8px 0;
}

.workflow-route-drop-placeholder--item {
    box-sizing: border-box;
    height: 96px;
    margin-block: 6px;
}

.workflow-route-row--branch {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    justify-content: stretch;
}

.workflow-route-palette {
    align-content: start;
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    display: grid;
    gap: 12px;
    min-height: 360px;
    padding: 12px;
}

.workflow-route-palette h3 {
    margin: 0;
}

.workflow-route-palette__group {
    display: grid;
    gap: 8px;
    margin: 0;
}

.workflow-route-palette__title {
    margin: 0;
    color: #233f8f;
    font-size: 0.95rem;
}

.workflow-route-palette__cards {
    display: grid;
    grid-template-columns: repeat(2, 160px);
    gap: 8px;
    justify-content: center;
}

.workflow-route-palette button {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    width: 160px;
    height: 52px;
    text-align: center;
    overflow-wrap: anywhere;
}

.workflow-route-item {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    width: 100%;
    height: 96px;
    margin-block: 6px;
    padding: 8px 56px;
    position: relative;
    cursor: pointer;
    text-align: center;
}

.workflow-route-item[draggable="true"] {
    cursor: grab;
}

.workflow-route-item[draggable="true"]:active {
    cursor: grabbing;
}

.workflow-route-row.is-dragging,
.workflow-route-item.is-dragging {
    opacity: 0.55;
}

.workflow-route-item__body {
    display: grid;
    gap: 2px;
    min-width: 0;
    place-items: center;
    width: 100%;
}

.workflow-route-item__label {
    display: block;
    line-height: 1.25;
    min-width: 0;
    text-align: center;
    overflow-wrap: anywhere;
}

.workflow-route-item__meta {
    color: #475569;
    display: block;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
    min-width: 0;
    overflow-wrap: anywhere;
    text-align: center;
}

.workflow-route-item > button[data-item-delete] {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    cursor: pointer;
}

.workflow-condition {
    display: grid;
    gap: 6px;
}

.personal-settings-account {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 8px 16px;
    margin: 12px 0 0;
}

.personal-settings-account dt {
    color: #475569;
    font-weight: 700;
}

.personal-settings-account dd {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

main > section > form.personal-settings-notification-form {
    display: block;
}

.personal-settings-action-mail-form {
    display: block;
}

.personal-settings-action-mail-layout {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    max-width: 100%;
}

.personal-settings-action-mail-top-row,
.personal-settings-action-mail-options,
.personal-settings-time-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    align-items: center;
    width: fit-content;
    max-width: 100%;
}

.personal-settings-action-mail-top-row {
    align-items: end;
}

.personal-settings-action-mail-form fieldset,
.personal-settings-action-mail-form label {
    min-width: 0;
}

.personal-settings-action-mail-form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.personal-settings-action-mail-form legend {
    margin: 0 0 4px;
    color: #374151;
    font-weight: 700;
}

.personal-settings-action-mail-email {
    width: 24rem;
    max-width: 100%;
}

.personal-settings-action-mail-email input {
    width: 100%;
}

.personal-settings-time-row label {
    width: max-content;
}

.personal-settings-weekday-list[hidden] {
    display: none;
}

.personal-settings-time-row select {
    width: auto;
    min-width: 5rem;
}

.personal-settings-notification-table td:nth-child(2),
.personal-settings-notification-table td:nth-child(3) {
    width: 11rem;
}

.personal-settings-notification-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 12px;
}

.personal-settings-notice-filters,
.personal-settings-notice-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.personal-settings-notice-filters {
    margin: 10px 0 14px;
}

.personal-settings-notice-actions form {
    margin: 0;
}

.personal-settings-notice-body {
    margin-top: 6px;
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

@media (max-width: 899px) {
    .workflow-form-grid,
    .workflow-route-builder {
        grid-template-columns: minmax(0, 1fr);
    }

    .workflow-table-schema-limits {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 599px) {
    .personal-settings-action-mail-top-row {
        width: 100%;
    }

    .personal-settings-action-mail-email {
        width: 100%;
    }
}

/* Dispatch manual workspace overrides. Keep this after cached legacy rules. */
.dispatch-manual-workspace {
    --dispatch-workspace-sticky-top: 8px;
    --dispatch-workspace-sticky-bottom: 24px;
}

.dispatch-manual-panel--vehicles,
.dispatch-manual-panel--drivers,
.dispatch-manual-panel--destinations {
    position: sticky;
    top: var(--dispatch-workspace-sticky-top);
    display: flex;
    flex-direction: column;
    height: calc(100vh - var(--dispatch-workspace-sticky-top) - var(--dispatch-workspace-sticky-bottom));
    max-height: calc(100vh - var(--dispatch-workspace-sticky-top) - var(--dispatch-workspace-sticky-bottom));
    min-height: 0;
    margin-bottom: var(--dispatch-workspace-sticky-bottom);
    overflow: hidden;
}

.dispatch-manual-panel--vehicles,
.dispatch-manual-panel--drivers {
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    padding: 10px;
}

.dispatch-manual-panel--vehicles .dispatch-manual-panel__slot,
.dispatch-manual-panel--drivers .dispatch-manual-panel__slot {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid var(--ui-border);
    border-radius: 0;
    background: transparent;
    overflow: hidden;
}

.dispatch-manual-panel--vehicles .dispatch-manual-panel__slot--unassigned,
.dispatch-manual-panel--drivers .dispatch-manual-panel__slot--unassigned {
    flex: 0 1 auto;
    max-height: calc((100% - 44px) * 0.6667);
}

.dispatch-manual-panel--vehicles .dispatch-manual-panel__slot--assigned,
.dispatch-manual-panel--drivers .dispatch-manual-panel__slot--assigned {
    flex: 1 1 0;
}

.dispatch-manual-panel--vehicles.dispatch-manual-panel--unassigned-empty .dispatch-manual-panel__slot--unassigned,
.dispatch-manual-panel--drivers.dispatch-manual-panel--unassigned-empty .dispatch-manual-panel__slot--unassigned {
    flex: 0 0 auto;
    max-height: none;
}

.dispatch-manual-panel--vehicles .dispatch-manual-panel__slot:first-of-type,
.dispatch-manual-panel--drivers .dispatch-manual-panel__slot:first-of-type {
    padding-top: 0;
    border-top: 0;
}

.dispatch-manual-panel--vehicles .dispatch-manual-panel__cards,
.dispatch-manual-panel--drivers .dispatch-manual-panel__cards,
.dispatch-manual-unassigned__cards {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding-right: 2px;
    align-content: start;
}

.dispatch-manual-panel__slot--empty .dispatch-manual-panel__cards {
    flex: 0 0 auto;
    overflow: visible;
}

.dispatch-manual-unassigned__cards {
    grid-template-columns: 1fr;
}

.dispatch-manual-panel--destinations.dispatch-manual-panel--unassigned-empty .dispatch-manual-unassigned__cards {
    flex: 0 0 auto;
    overflow: visible;
}

.dispatch-manual-course-card__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "batch batch"
        "course carrier"
        "total note";
    gap: 8px;
    align-items: end;
}

.dispatch-manual-course-card__batch-line {
    grid-area: batch;
    display: flex;
    gap: 8px;
    align-items: end;
    min-width: 0;
}

.dispatch-manual-course-card__batch-line form {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    margin: 0 0 0 auto;
}

.dispatch-manual-course-card__batch-line label {
    flex: 0 1 360px;
    max-width: 360px;
    min-width: 220px;
}

.dispatch-manual-course-card__batch-line .ui-button {
    white-space: nowrap;
}

.dispatch-manual-course-card__field--course {
    grid-area: course;
}

.dispatch-manual-course-card__field--carrier {
    grid-area: carrier;
}

.dispatch-manual-course-card__field--total {
    grid-area: total;
}

.dispatch-manual-course-card__field--weight {
    grid-area: weight;
}

.dispatch-manual-course-card__field--note {
    grid-area: note;
}

.dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--course {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}

.dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--carrier {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--total {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}

.dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--note {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}

.dispatch-manual-course-card__field--course,
.dispatch-manual-course-card__field--carrier,
.dispatch-manual-course-card__field--total,
.dispatch-manual-course-card__field--weight,
.dispatch-manual-course-card__field--note {
    margin: 0;
}

.dispatch-destination-drag-handle {
    justify-content: center;
}

.dispatch-destination-drag-handle--icon {
    width: 34px;
    min-width: 34px;
    padding: 4px;
}

.dispatch-destination-drag-handle__icon {
    display: block;
    width: 18px;
    height: 18px;
    background: currentColor;
    clip-path: polygon(18% 6%, 82% 48%, 58% 54%, 73% 84%, 60% 91%, 45% 61%, 28% 78%);
}

@media (max-width: 760px) {
    .dispatch-manual-course-card__summary {
        grid-template-columns: 1fr;
        grid-template-areas:
            "batch"
            "course"
            "carrier"
            "total"
            "note";
    }

    .dispatch-manual-course-card__batch-line {
        flex-wrap: wrap;
    }

    .dispatch-manual-course-card__batch-line label {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
    }

    .dispatch-manual-course-card__batch-line form {
        margin-left: 0;
    }

    .dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--course,
    .dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--carrier,
    .dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--total,
    .dispatch-manual-course-card__summary > label.dispatch-manual-course-card__field--note {
        grid-column: 1 / 2;
        grid-row: auto;
    }
}

/* Phase 454: dispatch table layout fixes. Keep this block last so it overrides cached legacy workspace rules. */
.dispatch-vehicle-frame {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    margin: 12px 0;
    padding: 10px;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.dispatch-vehicle-frame__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.dispatch-vehicle-frame__actions h2 {
    margin: 0 8px 0 0;
    color: #233f8f;
    font-size: 1rem;
}

.dispatch-vehicle-frame__surplus {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: center;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
}

.dispatch-vehicle-frame__partner {
    display: inline-flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #f8fafc;
    font-size: 0.84rem;
}

.dispatch-vehicle-frame__partner strong {
    color: #0f172a;
}

.dispatch-vehicle-frame__partner span {
    color: #475569;
}

.dispatch-vehicle-frame__partner--total {
    border-color: #bfdbfe;
    background: #eff6ff;
}

/* Phase 2625: registry bank master ledger. */
.registry-bank-master-page {
    display: grid;
    gap: 16px;
}

.registry-bank-master-page__header {
    align-items: start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-width: 0;
}

.registry-bank-master-page__header h1 {
    margin-bottom: 6px;
}

.registry-bank-master-page__summary,
.registry-bank-master-page__back,
.registry-bank-master-page__bank {
    margin: 0;
}

.registry-bank-master-page__summary {
    color: #475569;
    font-weight: 700;
}

.registry-bank-master-page__summary--empty {
    color: #b91c1c;
}

.registry-bank-master-page__bank {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 1.08rem;
    font-weight: 700;
}

.registry-bank-master-page__bank-code {
    color: #475569;
    font-variant-numeric: tabular-nums;
}

.registry-bank-master-page__actions,
.registry-bank-master-update-form {
    align-items: center;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.registry-bank-master-tools {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
}

.registry-bank-master-tools__actions {
    align-items: center;
    display: flex;
    gap: 8px;
}

.registry-bank-master-search {
    align-items: flex-start;
    border: 1px solid var(--ui-border);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 100%;
    padding: 10px 12px;
    width: max-content;
}

.registry-bank-master-search--kana {
    border: 0;
    padding: 0;
    width: 100%;
}

.registry-bank-master-search__label {
    color: #475569;
    font-weight: 700;
}

.registry-bank-master-search__controls {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
}

.registry-bank-master-search--kana .registry-bank-master-search__controls {
    display: grid;
    grid-template-columns: 1fr;
}

.registry-bank-master-bank-select {
    max-width: min(420px, calc(100vw - 48px));
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registry-bank-master-branch-context {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.registry-bank-master-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.registry-bank-master-record {
    align-items: center;
    background: #fff;
    border: 1px solid #d7dee8;
    border-radius: 8px;
    box-sizing: border-box;
    color: #111827;
    display: grid;
    gap: 8px;
    grid-template-columns: 4.8rem minmax(0, 1fr);
    min-height: 3.8rem;
    min-width: 0;
    padding: 8px 10px;
    text-decoration: none;
}

.registry-bank-master-record:hover {
    border-color: var(--ui-primary);
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
}

.registry-bank-master-record--static:hover {
    border-color: #d7dee8;
    box-shadow: none;
}

.registry-bank-master-record__code {
    color: #475569;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.registry-bank-master-record__name {
    min-width: 0;
    overflow-wrap: anywhere;
}

.registry-bank-master-record ruby {
    line-height: 1.15;
}

.registry-bank-master-record rt,
.registry-bank-master-page__bank rt {
    color: #64748b;
    font-size: 0.68em;
    font-weight: 600;
}

.registry-bank-master-empty {
    color: #475569;
    margin: 0;
}

.registry-bank-master-kana-modal {
    max-width: calc(100vw - 24px);
    width: min(980px, calc(100vw - 24px));
}

.registry-bank-master-kana-modal__body {
    display: grid;
    gap: 14px;
}

.registry-bank-master-kana-modal__body h2 {
    margin: 0;
    font-size: 1.05rem;
}

.registry-bank-master-kana {
    box-sizing: border-box;
    direction: rtl;
    display: grid;
    gap: 8px 14px;
    grid-auto-flow: column;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    grid-template-rows: repeat(5, 36px);
    width: 100%;
}

.registry-bank-master-kana--inline {
    max-width: none;
    width: 100%;
}

.registry-bank-master-kana__button,
.registry-bank-master-kana__reset {
    align-items: center;
    border-radius: 7px;
    box-sizing: border-box;
    direction: ltr;
    display: inline-flex;
    font-weight: 700;
    height: 36px;
    justify-content: center;
    min-width: 0;
    padding: 0 8px;
    text-decoration: none;
    width: 100%;
}

.registry-bank-master-kana__button {
    background: #c7f0c2;
    border: 1px solid #8fc889;
    color: #111827;
}

.registry-bank-master-kana__button[aria-pressed="true"] {
    background: #86d989;
    border-color: #3f9d48;
}

.registry-bank-master-kana__reset {
    background: #d9eefc;
    border: 1px solid #9ad0f5;
    color: #111827;
}

.registry-bank-master-kana__blank {
    display: block;
    height: 36px;
    width: 100%;
}

.registry-bank-master-lock {
    align-items: center;
    background: rgba(15, 23, 42, 0.52);
    display: flex;
    inset: 0;
    justify-content: center;
    position: fixed;
    z-index: 1000;
}

.registry-bank-master-lock[hidden] {
    display: none;
}

.registry-bank-master-lock__panel {
    align-items: center;
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.24);
    display: flex;
    gap: 12px;
    max-width: calc(100vw - 32px);
    padding: 18px 22px;
}

.registry-bank-master-lock__spinner {
    animation: registry-bank-master-spin 0.9s linear infinite;
    border: 3px solid #dbe4f0;
    border-top-color: var(--ui-primary);
    border-radius: 999px;
    flex: 0 0 auto;
    height: 26px;
    width: 26px;
}

.registry-bank-master-update-status {
    font-weight: 700;
    margin: 0;
    min-height: 1.5em;
}

.registry-bank-master-update-status--success {
    color: #166534;
}

.registry-bank-master-update-status--error {
    color: #b91c1c;
}

.registry-bank-master-log-table-wrap {
    border: 1px solid #d7dee8;
    border-radius: 8px;
    max-width: 100%;
    overflow-x: auto;
}

.registry-bank-master-log-table {
    border-collapse: collapse;
    min-width: 920px;
    width: 100%;
}

.registry-bank-master-log-table th,
.registry-bank-master-log-table td {
    border-bottom: 1px solid #e2e8f0;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top;
}

.registry-bank-master-log-table th {
    background: #f8fafc;
    color: #475569;
    font-weight: 800;
    white-space: nowrap;
}

.registry-bank-master-log-table tbody tr:last-child td {
    border-bottom: 0;
}

.registry-bank-master-log-table__id {
    color: #475569;
    font-variant-numeric: tabular-nums;
    font-weight: 800;
    white-space: nowrap;
}

.registry-bank-master-log-table__error {
    max-width: 32rem;
    overflow-wrap: anywhere;
}

.registry-bank-master-log-status {
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 800;
    justify-content: center;
    min-width: 4.4rem;
    padding: 2px 8px;
    white-space: nowrap;
}

.registry-bank-master-log-status--active {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.registry-bank-master-log-status--failed {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #991b1b;
}

.registry-bank-master-log-status--loading {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #92400e;
}

.registry-bank-master-log-status--skipped,
.registry-bank-master-log-status--no_update {
    background: #e0f2fe;
    border-color: #7dd3fc;
    color: #075985;
}

.registry-bank-master-log-status--archived,
.registry-bank-master-log-status--validated {
    background: #f1f5f9;
    color: #334155;
}

@keyframes registry-bank-master-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 980px) {
    .registry-bank-master-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .registry-bank-master-page__header {
        align-items: stretch;
        flex-direction: column;
    }

    .registry-bank-master-page__actions {
        justify-content: flex-start;
    }

    .registry-bank-master-tools {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 620px) {
    .registry-bank-master-grid {
        grid-template-columns: 1fr;
    }

    .registry-bank-master-kana {
        gap: 6px;
        grid-template-rows: repeat(5, 34px);
    }

    .registry-bank-master-kana__button,
    .registry-bank-master-kana__reset {
        height: 34px;
        padding: 0 4px;
    }

    .registry-bank-master-search {
        width: 100%;
    }
}

.dispatch-vehicle-count-modal {
    max-height: min(88vh, 760px);
}

.dispatch-vehicle-count-modal__body {
    overflow: auto;
}

.dispatch-vehicle-count-modal__table-wrap {
    overflow: auto;
    max-height: 60vh;
}

.dispatch-vehicle-count-table th,
.dispatch-vehicle-count-table td {
    white-space: nowrap;
}

.dispatch-vehicle-count-table--partners {
    min-width: 920px;
}

.dispatch-vehicle-count-table__company {
    width: 16%;
    min-width: 130px;
    vertical-align: top;
}

.dispatch-vehicle-count-table__company span,
.dispatch-vehicle-count-table__company small {
    display: block;
}

.dispatch-vehicle-count-table__company small {
    margin-top: 6px;
    color: #64748b;
    font-size: 0.78rem;
}

.dispatch-vehicle-count-table__class {
    width: 9%;
    color: #334155;
    font-weight: 700;
}

.dispatch-vehicle-count-table__count {
    width: 8%;
}

.dispatch-vehicle-count-table__empty {
    background: #f8fafc;
}

.dispatch-vehicle-count-table__summary {
    white-space: normal;
}

.dispatch-vehicle-count-table__summary span {
    display: inline-flex;
    gap: 4px;
    align-items: baseline;
    margin: 2px 12px 2px 0;
}

.dispatch-vehicle-count-table input[type="number"] {
    width: 76px;
}

.dispatch-vehicle-count-modal__footer {
    position: sticky;
    bottom: 0;
    background: #fff;
}

.dispatch-manual-workspace {
    --dispatch-workspace-sticky-top: 8px;
    --dispatch-workspace-sticky-bottom: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.dispatch-manual-panel,
.dispatch-manual-board,
.dispatch-manual-transfer-section {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.dispatch-manual-panel--destinations {
    position: static;
    display: flex;
    flex-direction: column;
    height: auto;
    max-height: none;
    min-height: 0;
    margin-bottom: 0;
    overflow: visible;
}

.dispatch-manual-course-card,
.dispatch-manual-destination-card {
    width: 100%;
    box-sizing: border-box;
}

.dispatch-manual-course-card__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: none;
    width: 100%;
    gap: 8px;
    align-items: end;
}

.dispatch-manual-course-card__batch-line {
    grid-area: auto;
    display: flex;
    gap: 8px;
    align-items: end;
    min-width: 0;
}

.dispatch-manual-course-card__batch-line form {
    display: flex;
    flex: 0 0 auto;
    justify-content: flex-end;
    margin: 0 0 0 auto;
}

.dispatch-manual-course-card__batch-line label {
    flex: 0 1 360px;
    max-width: 360px;
    min-width: 220px;
}

.dispatch-manual-course-card__minimum-class {
    flex: 0 0 auto;
    padding: 8px 10px;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    background: #fff;
    color: #475569;
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.dispatch-manual-course-card__batch-line .ui-button {
    white-space: nowrap;
}

.dispatch-manual-course-card__route-line {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(180px, 1.4fr) minmax(190px, 1.4fr) minmax(90px, 0.52fr) minmax(78px, 0.42fr) minmax(92px, 0.48fr) minmax(220px, 1.6fr);
    gap: 8px;
    align-items: end;
}

.dispatch-manual-course-card__field--course,
.dispatch-manual-course-card__field--carrier,
.dispatch-manual-course-card__field--vehicle-class,
.dispatch-manual-course-card__field--total,
.dispatch-manual-course-card__field--weight,
.dispatch-manual-course-card__field--note {
    grid-area: auto;
    grid-column: auto;
    grid-row: auto;
    min-width: 0;
    margin: 0;
}

.dispatch-manual-course-card__assignment,
.dispatch-manual-destination-card__details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.dispatch-manual-course-card__destinations {
    display: grid;
    width: 100%;
    gap: 8px;
}

.dispatch-manual-unassigned__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
    min-height: 0;
    overflow: visible;
    padding-right: 2px;
    align-content: start;
}

.dispatch-manual-panel--destinations.dispatch-manual-panel--unassigned-empty .dispatch-manual-unassigned__cards {
    flex: 0 0 auto;
    overflow: visible;
}

@media (max-width: 900px) {
    .dispatch-vehicle-frame,
    .dispatch-manual-workspace,
    .dispatch-manual-course-card__summary,
    .dispatch-manual-course-card__route-line,
    .dispatch-manual-course-card__assignment,
    .dispatch-manual-destination-card__details {
        grid-template-columns: 1fr;
    }

    .dispatch-vehicle-frame__surplus {
        flex-wrap: wrap;
        overflow-x: visible;
    }

    .dispatch-manual-course-card__batch-line {
        flex-wrap: wrap;
    }

    .dispatch-manual-course-card__batch-line label {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
    }

    .dispatch-manual-course-card__batch-line form {
        margin-left: 0;
    }
}

/* Phase 457: enforce the requested layout inside dispatch frames. */
.dispatch-manual-course-card__summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: none;
    gap: 8px;
    align-items: end;
}

.dispatch-manual-course-card__batch-line {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    align-items: end;
    width: 100%;
    min-width: 0;
}

.dispatch-manual-course-card__batch-line > label {
    flex: 0 1 360px;
    max-width: 360px;
    min-width: 220px;
}

.dispatch-manual-course-card__batch-line > form {
    flex: 0 0 auto;
    margin-left: auto;
}

.dispatch-manual-course-card__route-line {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(180px, 1.18fr) minmax(220px, 1.25fr) minmax(82px, 0.43fr) minmax(74px, 0.34fr) minmax(92px, 0.42fr) minmax(170px, 1fr);
    gap: 8px;
    align-items: end;
}

.dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--course {
    grid-area: auto;
    grid-column: 1;
    grid-row: 1;
}

.dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--carrier {
    grid-area: auto;
    grid-column: 2;
    grid-row: 1;
}

.dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--vehicle-class {
    grid-area: auto;
    grid-column: 3;
    grid-row: 1;
}

.dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--total {
    grid-area: auto;
    grid-column: 4;
    grid-row: 1;
}

.dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--weight {
    grid-area: auto;
    grid-column: 5;
    grid-row: 1;
}

.dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--note {
    grid-area: auto;
    grid-column: 6;
    grid-row: 1;
}

.dispatch-manual-course-card__route-line > label,
.dispatch-manual-course-card__assignment > label,
.dispatch-manual-destination-card__details > label {
    min-width: 0;
    margin: 0;
}

@media (max-width: 900px) {
    .dispatch-manual-course-card__batch-line {
        flex-wrap: wrap;
    }

    .dispatch-manual-course-card__batch-line > label {
        flex: 1 1 100%;
        max-width: none;
        min-width: 0;
    }

    .dispatch-manual-course-card__batch-line > form {
        margin-left: 0;
    }

    .dispatch-manual-course-card__route-line {
        grid-template-columns: 1fr;
    }

    .dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--course,
    .dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--carrier,
    .dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--vehicle-class,
    .dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--total,
    .dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--weight,
    .dispatch-manual-course-card__summary .dispatch-manual-course-card__route-line > label.dispatch-manual-course-card__field--note {
        grid-column: 1;
        grid-row: auto;
    }
}

/* Phase 458: align course totals, destination rows, and partner vehicle list. */
.dispatch-vehicle-frame__surplus {
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    align-items: stretch;
    gap: 6px;
    overflow-x: visible;
}

.dispatch-vehicle-frame__partner {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    gap: 4px 8px;
    white-space: normal;
}

.dispatch-vehicle-frame__partner strong {
    grid-column: 1;
    white-space: nowrap;
}

.dispatch-vehicle-frame__partner span {
    grid-column: 2;
    min-width: 0;
}

.dispatch-vehicle-frame__partner--total {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}

.dispatch-manual-readonly-value {
    display: flex;
    align-items: center;
    height: 34px;
    min-height: 0;
    box-sizing: border-box;
    padding: 6px 9px;
}

.dispatch-manual-destination-card {
    gap: 8px;
}

.dispatch-manual-destination-card__top {
    display: grid;
    grid-template-columns: minmax(260px, auto) minmax(520px, 1fr);
    gap: 8px;
    align-items: end;
}

.dispatch-destination-tools {
    margin-bottom: 0;
}

.dispatch-manual-destination-card__metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(96px, 136px));
    justify-content: end;
    gap: 8px;
    min-width: 0;
}

.dispatch-manual-destination-card__main {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.4fr);
    gap: 8px;
    align-items: end;
}

.dispatch-manual-destination-card__field--name,
.dispatch-manual-destination-card__field--address {
    min-width: 0;
}

@media (max-width: 1100px) {
    .dispatch-vehicle-frame__surplus {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }

    .dispatch-manual-destination-card__top {
        grid-template-columns: 1fr;
    }

    .dispatch-manual-destination-card__metrics {
        justify-content: stretch;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .dispatch-vehicle-frame__surplus,
    .dispatch-manual-destination-card__metrics,
    .dispatch-manual-destination-card__main {
        grid-template-columns: 1fr;
    }

    .dispatch-vehicle-frame__partner,
    .dispatch-vehicle-frame__partner--total {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .dispatch-vehicle-frame__partner strong,
    .dispatch-vehicle-frame__partner span {
        grid-column: 1;
    }
}

/* Phase 459: bottom dock for temporarily unassigned destinations. */
.dispatch-manual-panel--destinations {
    position: sticky;
    bottom: 0;
    z-index: 25;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 6px;
    width: 100%;
    max-height: 188px;
    margin: 12px 0 0;
    overflow: hidden;
    box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.12);
}

.dispatch-manual-panel--destinations h2 {
    margin: 0;
}

.dispatch-manual-unassigned__hint {
    margin: 0;
}

.dispatch-manual-unassigned__cards {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    min-height: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 2px 6px;
    scroll-snap-type: x proximity;
    align-items: stretch;
}

.dispatch-manual-unassigned__card {
    flex: 0 0 260px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 108px;
    max-height: 140px;
    overflow: hidden;
    padding: 8px 10px;
    scroll-snap-align: start;
    cursor: default;
}

.dispatch-manual-unassigned__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    min-width: 0;
    align-content: start;
}

.dispatch-manual-unassigned__name {
    display: block;
    min-height: 22px;
    overflow: hidden;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-manual-unassigned__quantity {
    display: grid;
    grid-template-columns: auto 74px;
    gap: 6px;
    align-items: center;
    color: #334155;
    font-size: 0.85rem;
    font-weight: 700;
}

.dispatch-manual-unassigned__quantity input[type="number"] {
    width: 74px;
    min-height: 30px;
    padding: 4px 6px;
    text-align: right;
}

.dispatch-manual-unassigned__actions {
    display: flex;
    gap: 6px;
    align-items: center;
    margin-top: 0;
}

.dispatch-manual-unassigned__actions .ui-button {
    margin-top: 0;
    white-space: nowrap;
}

.dispatch-manual-unassigned__actions [data-dispatch-unassigned-drag] {
    cursor: grab;
}

.dispatch-manual-unassigned__actions [data-dispatch-unassigned-drag]:active {
    cursor: grabbing;
}

.dispatch-manual-unassigned__empty {
    flex: 0 0 auto;
}

@media (max-width: 900px) {
    .dispatch-manual-panel--destinations {
        max-height: 220px;
    }

    .dispatch-manual-unassigned__card {
        flex-basis: 230px;
    }
}

/* Phase 460: partner vehicle surplus as company x vehicle class table. */
.dispatch-vehicle-frame__surplus {
    display: block;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
}

.dispatch-vehicle-frame__table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.84rem;
}

.dispatch-vehicle-frame__table th,
.dispatch-vehicle-frame__table td {
    padding: 6px 8px;
    border: 1px solid #dbe4f0;
    background: #fff;
    text-align: right;
    white-space: nowrap;
}

.dispatch-vehicle-frame__table thead th,
.dispatch-vehicle-frame__table tfoot th,
.dispatch-vehicle-frame__table tfoot td {
    background: #eff6ff;
    color: #233f8f;
    font-weight: 700;
}

.dispatch-vehicle-frame__table th:first-child {
    width: 180px;
    text-align: left;
}

.dispatch-vehicle-frame__table tbody th {
    overflow: hidden;
    background: #f8fafc;
    color: #0f172a;
    text-overflow: ellipsis;
}

@media (max-width: 900px) {
    .dispatch-vehicle-frame__table {
        min-width: 640px;
    }
}

/* Phase 461: legacy compact vehicle count table styles. */
.dispatch-vehicle-count-table--partners {
    min-width: 840px;
    table-layout: fixed;
}

.dispatch-vehicle-count-table--partners th,
.dispatch-vehicle-count-table--partners td {
    padding: 4px 6px;
    line-height: 1.2;
}

.dispatch-vehicle-count-table--partners thead th {
    font-size: 0.8rem;
    white-space: nowrap;
}

.dispatch-vehicle-count-table__company {
    min-width: 110px;
}

.dispatch-vehicle-count-table__company small {
    margin-top: 4px;
}

.dispatch-vehicle-count-table__class {
    width: 70px;
}

.dispatch-vehicle-count-table__count {
    width: 74px;
}

.dispatch-vehicle-count-table input[type="number"] {
    width: 64px;
    min-height: 30px;
    padding: 4px 6px;
}

/* Phase 466: vehicle frame surplus as one three-company-block table. */
.dispatch-vehicle-frame__surplus {
    display: block;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
}

.dispatch-vehicle-frame__surplus-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 0.8rem;
}

.dispatch-vehicle-frame__surplus-table th,
.dispatch-vehicle-frame__surplus-table td {
    padding: 4px 6px;
    border: 1px solid #dbe4f0;
    background: #fff;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-vehicle-frame__surplus-table thead th {
    background: #eff6ff;
    color: #233f8f;
    font-weight: 700;
    text-align: center;
}

.dispatch-vehicle-frame__surplus-table tbody th {
    width: 96px;
    background: #f8fafc;
    color: #0f172a;
    text-align: left;
}

.dispatch-vehicle-frame__surplus-table td {
    color: #334155;
    text-align: right;
}

.dispatch-vehicle-frame__surplus-table .dispatch-vehicle-frame__empty {
    background: #f8fafc;
}

/* Phase 462: vehicle count modal returns to partner x vehicle class matrix. */
.dispatch-vehicle-count-table--matrix {
    min-width: 720px;
    table-layout: fixed;
}

.dispatch-vehicle-count-table--matrix th,
.dispatch-vehicle-count-table--matrix td {
    padding: 4px 6px;
    line-height: 1.2;
    white-space: nowrap;
}

.dispatch-vehicle-count-table--matrix thead th {
    font-size: 0.8rem;
}

.dispatch-vehicle-count-table--matrix .dispatch-vehicle-count-table__company {
    width: 160px;
    min-width: 130px;
    text-align: left;
}

.dispatch-vehicle-count-table--matrix .dispatch-vehicle-count-table__count {
    width: 74px;
    text-align: center;
}

.dispatch-vehicle-count-table--matrix .dispatch-vehicle-count-table__row-total {
    width: 80px;
    text-align: right;
}

.dispatch-vehicle-count-table--matrix input[type="number"] {
    width: 64px;
    min-height: 30px;
    padding: 4px 6px;
}

@media (max-width: 1100px) {
    .dispatch-vehicle-frame__surplus {
        grid-template-columns: repeat(2, minmax(240px, 1fr));
    }
}

@media (max-width: 900px) {
    .dispatch-vehicle-frame__surplus {
        grid-template-columns: 1fr;
    }
}

/* Phase 470: dispatch import upload locks the screen with visible progress. */
.dispatch-import-upload-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
}

.dispatch-import-upload-row > form {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
    margin: 0;
}

.dispatch-import-status {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: var(--ui-button-height);
    padding: 7px 10px;
    border: 1px solid #dbeafe;
    border-radius: 6px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.92rem;
    font-weight: 700;
}

.dispatch-import-status__separator {
    color: #64748b;
}

.dispatch-import-status__done {
    color: #047857;
}

.dispatch-import-status__pending {
    color: #b45309;
}

.dispatch-upload-lock[hidden] {
    display: none;
}

.dispatch-upload-lock {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 23, 42, 0.48);
    cursor: wait;
    pointer-events: auto;
}

.dispatch-upload-lock__panel {
    display: grid;
    gap: 14px;
    width: min(420px, calc(100vw - 48px));
    padding: 22px 24px;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    background: #fff;
    color: #1f2937;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.2);
    font-weight: 700;
}

.dispatch-upload-lock__main {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dispatch-upload-lock__spinner {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border: 3px solid #bfdbfe;
    border-top-color: #2563eb;
    border-radius: 999px;
    animation: dispatch-upload-spin 0.8s linear infinite;
}

.dispatch-upload-lock__text {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.dispatch-upload-lock__text strong {
    color: #1e3a8a;
    font-size: 1rem;
}

.dispatch-upload-lock__text span {
    color: #475569;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.55;
}

.dispatch-upload-lock__progress {
    position: relative;
    overflow: hidden;
    height: 7px;
    border-radius: 999px;
    background: #dbeafe;
}

.dispatch-upload-lock__progress span {
    position: absolute;
    inset: 0 auto 0 0;
    width: 42%;
    border-radius: inherit;
    background: #2563eb;
    animation: dispatch-upload-progress 1.25s ease-in-out infinite;
}

.ui-page-busy,
.ui-page-busy * {
    cursor: wait !important;
}

@keyframes dispatch-upload-spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes dispatch-upload-progress {
    0% {
        transform: translateX(-105%);
    }
    50% {
        transform: translateX(75%);
    }
    100% {
        transform: translateX(250%);
    }
}

.dispatch-partner-company-form {
    width: min(1180px, calc(100vw - 32px));
    max-height: min(86vh, 720px);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    overflow: hidden;
}

.ui-modal form.dispatch-partner-company-form {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
}

.dispatch-partner-company-account-form {
    width: min(620px, calc(100vw - 32px));
    max-height: min(86vh, 640px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.dispatch-partner-company-account-select-form {
    width: min(860px, calc(100vw - 32px));
    max-height: min(86vh, 720px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.dispatch-partner-company-save-error-modal {
    width: min(520px, calc(100vw - 32px));
}

.dispatch-partner-company-save-error-modal h2 {
    margin: 0 0 12px;
    font-size: 1rem;
}

.dispatch-partner-company-save-error-list {
    margin: 0;
    padding-left: 1.25rem;
}

.dispatch-partner-company-account-select-form__body {
    display: grid;
    gap: 12px;
    overflow: auto;
}

.dispatch-partner-company-account-select-form__body h2 {
    margin: 0;
    font-size: 1rem;
}

.dispatch-partner-company-account-select-search {
    display: grid;
    gap: 4px;
}

.dispatch-partner-company-account-select-table-wrap {
    overflow: auto;
}

.dispatch-partner-company-account-select-table {
    min-width: 720px;
}

.dispatch-partner-company-account-select-table td:last-child {
    width: 96px;
    text-align: center;
}

.dispatch-partner-company-account-links {
    display: grid;
    gap: 8px;
    min-width: 0;
    overflow-x: auto;
    padding-bottom: 2px;
}

.dispatch-partner-company-account-links__row {
    grid-template-columns: minmax(120px, 0.8fr) minmax(260px, 2.2fr) minmax(88px, 0.55fr) minmax(88px, 0.55fr) minmax(88px, 0.55fr);
    min-width: 720px;
}

.dispatch-partner-company-form__body {
    flex: 1 1 auto;
    min-height: 0;
    display: grid;
    gap: 14px;
    overflow: auto;
}

.dispatch-partner-company-form__row {
    display: grid;
    gap: 14px;
    align-items: end;
}

.dispatch-partner-company-form__row--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dispatch-partner-company-form__row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dispatch-partner-company-form__row--four {
    grid-template-columns: minmax(120px, 0.85fr) minmax(190px, 1.15fr) minmax(150px, 1fr) minmax(120px, 0.85fr);
}

.dispatch-partner-company-form__row--five {
    grid-template-columns: minmax(110px, 0.8fr) minmax(170px, 1.1fr) minmax(150px, 1fr) minmax(120px, 0.8fr) minmax(180px, 1.2fr);
}

.dispatch-partner-company-form__embedded {
    display: grid;
    gap: 14px;
}

.dispatch-partner-company-form__section {
    display: grid;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e5e7eb;
}

.dispatch-partner-company-form__section:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.dispatch-partner-company-form__section h2 {
    margin: 0;
    font-size: 1rem;
}

.dispatch-partner-company-form__section-actions {
    display: flex;
    align-items: end;
    justify-content: flex-start;
}

.dispatch-partner-company-form label {
    min-width: 0;
}

.dispatch-partner-company-form input:not([type="checkbox"]),
.dispatch-partner-company-form select,
.dispatch-partner-company-form textarea,
.dispatch-partner-company-form__account-button {
    width: 100%;
}

.dispatch-partner-company-form__account-button {
    justify-content: flex-start;
    overflow: hidden;
    text-align: left;
}

.dispatch-partner-company-form__account-button span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-partner-company-form__full {
    grid-column: 1 / -1;
}

.dispatch-partner-company-form__footer {
    flex-shrink: 0;
    position: sticky;
    bottom: 0;
    z-index: 2;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
}

@media (max-width: 760px) {
    .dispatch-partner-company-form__row--three,
    .dispatch-partner-company-form__row--two,
    .dispatch-partner-company-form__row--four,
    .dispatch-partner-company-form__row--five,
    .dispatch-partner-company-account-links__row {
        grid-template-columns: 1fr;
        min-width: 0;
    }
}

.dispatch-partner-request-table {
    width: 100%;
    min-width: 0;
    table-layout: auto;
}

.dispatch-partner-request-table th,
.dispatch-partner-request-table td {
    font-size: 0.82rem;
    line-height: 1.35;
    white-space: nowrap;
}

.dispatch-partner-request-table th {
    vertical-align: top;
}

.dispatch-partner-request-table tbody td {
    vertical-align: bottom;
}

.dispatch-partner-request-table tbody tr[data-row-href] {
    cursor: pointer;
}

.dispatch-partner-request-table tbody tr.dispatch-partner-request-table__course-row--hover > td {
    background: #f3f4f6;
    transition: background-color 120ms ease;
}

.dispatch-partner-request-table tbody td[data-no-row-link] {
    cursor: default;
}

.dispatch-partner-request-table__driver {
    box-sizing: border-box;
    width: 160px;
    min-width: 160px;
    max-width: 160px;
    white-space: normal;
}

.dispatch-partner-request-table__operation {
    width: 11.5rem;
    min-width: 11.5rem;
    white-space: nowrap;
}

.dispatch-partner-request-table__destination,
.dispatch-partner-request-table__address {
    line-height: 1.35;
}

.dispatch-partner-request-table__split-cell {
    line-height: 1.35;
    vertical-align: bottom !important;
}

.dispatch-partner-request-table__split-cell span {
    display: block;
}

.dispatch-partner-request-table__split-cell span + span {
    position: relative;
    margin-top: 5px;
    padding-top: 5px;
}

.dispatch-partner-request-table__split-cell span + span::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    right: -10px;
    border-top: 1px solid #dbe4f0;
    pointer-events: none;
}

.dispatch-partner-request-table__operation-actions {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 6px 0 0;
    vertical-align: middle;
}

.dispatch-partner-request-table__operation form {
    display: inline-flex;
    align-items: center;
    margin: 0;
    vertical-align: middle;
}

.dispatch-partner-request-table__operation .ui-button,
.dispatch-partner-request-table__operation button {
    width: 5rem;
    min-width: 5rem;
    white-space: nowrap;
}

.dispatch-kokubu-portal-table__company {
    min-width: 9rem;
    white-space: normal;
}

.dispatch-kokubu-portal-table__operation {
    width: 11rem;
    min-width: 11rem;
    white-space: nowrap;
}

.dispatch-kokubu-portal-table__operation-actions {
    display: grid;
    gap: 6px;
    width: 100%;
}

.dispatch-kokubu-portal-table__operation-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(4.25rem, 1fr));
    gap: 6px;
}

.dispatch-kokubu-portal-table__operation .dispatch-primary-partner-inline-form {
    display: block;
    width: 100%;
}

.dispatch-kokubu-portal-table__operation .ui-button,
.dispatch-kokubu-portal-table__operation button {
    width: 100%;
    min-width: 0;
    padding-inline: 0.5rem;
    white-space: nowrap;
}

.dispatch-kokubu-portal-table__fee-row td {
    vertical-align: top;
    background: #f8fafc;
}

.dispatch-kokubu-portal-fee-cell {
    display: grid;
    gap: 2px;
    min-width: 0;
    line-height: 1.35;
}

.dispatch-kokubu-portal-fee-cell span {
    color: #334155;
    font-size: 0.74rem;
    font-weight: 700;
}

.dispatch-kokubu-portal-fee-cell strong {
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.dispatch-acceptance-status {
    display: grid;
    gap: 4px;
    min-width: 5rem;
    line-height: 1.35;
}

.dispatch-acceptance-status__row {
    display: flex;
    justify-content: center;
}

.dispatch-acceptance-status__value {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    display: inline-flex;
    justify-content: center;
    min-width: 4.5rem;
    padding: 2px 6px;
    white-space: nowrap;
}

.dispatch-acceptance-status__value--accepted {
    background: #ecfdf3;
    border-color: #86efac;
    color: #166534;
}

.dispatch-acceptance-status__value--pending {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}

.dispatch-primary-partner-portal-table__operation {
    width: 14rem;
    min-width: 14rem;
    white-space: nowrap;
}

.dispatch-primary-partner-portal-table__operation .dispatch-kokubu-portal-table__operation-actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    white-space: nowrap;
}

.dispatch-primary-partner-portal-table__operation .dispatch-primary-partner-inline-form {
    flex: 0 0 auto;
}

.dispatch-primary-partner-portal-table__operation .ui-button,
.dispatch-primary-partner-portal-table__operation button {
    width: auto;
    min-width: 3.75rem;
    padding-inline: 0.5rem;
    white-space: nowrap;
}

.dispatch-primary-partner-inline-form {
    display: inline-flex;
    margin: 0;
}

.dispatch-primary-request-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-auto-flow: row;
    gap: 16px;
    width: 100%;
    max-width: 100%;
    justify-items: stretch;
    align-items: start;
    margin: 14px 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.dispatch-primary-request-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    width: 100%;
    gap: 12px;
}

.dispatch-primary-request-nav__previous {
    display: flex;
    justify-content: flex-start;
}

.dispatch-primary-request-nav__next {
    display: flex;
    justify-content: flex-end;
}

.dispatch-primary-request-nav .ui-button {
    min-width: 5.5rem;
    white-space: nowrap;
}

.dispatch-primary-request-sheet {
    display: grid;
    gap: 24px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 24px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

.kokubu-request-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
}

.kokubu-request-header > * {
    min-width: 0;
}

.kokubu-request-header h2 {
    margin: 0 0 4px;
    font-size: 1.4rem;
    letter-spacing: 0;
}

.kokubu-request-header p {
    margin: 0;
    color: #475569;
    font-size: 0.9rem;
}

.kokubu-request-header dl {
    display: grid;
    grid-template-columns: max-content minmax(9rem, 1fr);
    gap: 4px 8px;
    margin: 0;
    min-width: 17rem;
    max-width: 100%;
}

.kokubu-request-header dt {
    font-weight: 700;
    color: #334155;
}

.kokubu-request-header dd {
    margin: 0;
    text-align: right;
}

.kokubu-section {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.kokubu-section h3 {
    margin: 0;
    font-size: 1rem;
    letter-spacing: 0;
}

.kokubu-party-table,
.kokubu-service-table,
.kokubu-fee-table,
.kokubu-sign-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.kokubu-party-table th,
.kokubu-party-table td,
.kokubu-service-table th,
.kokubu-service-table td,
.kokubu-fee-table th,
.kokubu-fee-table td,
.kokubu-sign-table th,
.kokubu-sign-table td {
    padding: 7px 8px;
    border: 1px solid #94a3b8;
    vertical-align: top;
    word-break: break-word;
}

.kokubu-party-table th,
.kokubu-service-table th,
.kokubu-fee-table th,
.kokubu-sign-table th {
    background: #f1f5f9;
    color: #1e293b;
    font-weight: 700;
}

.kokubu-service-table {
    min-width: 0;
}

.dispatch-primary-request-table-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: visible;
}

.dispatch-primary-request-table-scroll .kokubu-service-table {
    margin: 0;
}

.kokubu-service-table th:nth-child(1),
.kokubu-service-table td:nth-child(1) {
    width: 16%;
}

.kokubu-service-table th:nth-child(2),
.kokubu-service-table td:nth-child(2) {
    width: 12%;
}

.kokubu-service-table th:nth-child(3),
.kokubu-service-table td:nth-child(3) {
    width: 29%;
}

.kokubu-service-table th:nth-child(4),
.kokubu-service-table td:nth-child(4) {
    width: 12%;
}

.kokubu-service-table th:nth-child(5),
.kokubu-service-table td:nth-child(5) {
    width: 8.5%;
}

.kokubu-service-table th:nth-child(6),
.kokubu-service-table td:nth-child(6) {
    width: 9%;
}

.kokubu-service-table th:nth-child(7),
.kokubu-service-table td:nth-child(7) {
    width: 8.5%;
}

.kokubu-service-table th:nth-child(8),
.kokubu-service-table td:nth-child(8) {
    width: 5%;
}

.kokubu-service-table th,
.kokubu-service-table td {
    overflow-wrap: break-word;
    word-break: normal;
}

main[data-view="dispatch-kokubu-request-detail"],
main[data-view="dispatch-primary-partner-request-detail"] {
    max-width: 1440px;
}

main[data-view="dispatch-kokubu-request-detail"] > .ui-actions,
main[data-view="dispatch-primary-partner-request-detail"] > .ui-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    width: 100%;
    margin-bottom: 14px;
}

.dispatch-primary-request-nav,
.dispatch-primary-request-sheet,
.dispatch-primary-request-actions {
    grid-column: 1 / -1;
}

.dispatch-primary-request-service-panel {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.dispatch-primary-request-service-summary {
    display: grid;
    grid-template-columns: minmax(220px, 1.6fr) minmax(170px, 1.2fr) minmax(90px, 0.75fr) minmax(100px, 0.75fr) minmax(80px, 0.65fr);
    gap: 10px;
}

.dispatch-primary-request-service-field {
    display: grid;
    align-content: start;
    gap: 6px;
    min-width: 0;
    min-height: 72px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
}

.dispatch-primary-request-service-field span,
.dispatch-primary-request-destination-list h4 {
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.35;
}

.dispatch-primary-request-service-field strong {
    min-width: 0;
    color: #0f172a;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.dispatch-primary-request-destination-list {
    display: grid;
    gap: 8px;
    min-width: 0;
    padding: 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.dispatch-primary-request-destination-list h4 {
    margin: 0;
}

.dispatch-primary-request-destination-table {
    width: 100%;
    margin: 0;
    border-collapse: collapse;
    table-layout: fixed;
    background: #fff;
}

.dispatch-primary-request-destination-table th,
.dispatch-primary-request-destination-table td {
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    vertical-align: top;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.dispatch-primary-request-destination-table th {
    background: #eef2f7;
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.dispatch-primary-request-destination-table th:nth-child(1),
.dispatch-primary-request-destination-table td:nth-child(1) {
    width: 24%;
}

.dispatch-primary-request-destination-table th:nth-child(2),
.dispatch-primary-request-destination-table td:nth-child(2) {
    width: 38%;
}

.dispatch-primary-request-destination-table th:nth-child(3),
.dispatch-primary-request-destination-table td:nth-child(3),
.dispatch-primary-request-destination-table th:nth-child(4),
.dispatch-primary-request-destination-table td:nth-child(4) {
    width: 14%;
}

.dispatch-primary-request-destination-table th:nth-child(5),
.dispatch-primary-request-destination-table td:nth-child(5) {
    width: 10%;
}

.dispatch-primary-request-destination-table .num {
    text-align: right;
    white-space: nowrap;
}

.dispatch-primary-request-fee-table input[type="number"] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding-right: 1.65rem;
    text-align: right;
}

.dispatch-primary-request-fee-table input[readonly],
.dispatch-primary-request-fee-field input[readonly] {
    background: #f8fafc;
    color: #334155;
}

.dispatch-primary-request-form fieldset {
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    overflow-x: visible;
}

.dispatch-primary-request-fee-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 10px;
}

.dispatch-primary-request-fee-field {
    min-width: 0;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
}

.dispatch-primary-request-fee-field span,
.dispatch-primary-request-payment-method span {
    color: #334155;
    font-size: 0.84rem;
    font-weight: 700;
}

.dispatch-primary-request-fee-field input[type="number"] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding-right: 1.65rem;
    text-align: right;
}

.dispatch-primary-request-fee-field--tax {
    grid-column: 6;
}

.dispatch-primary-request-fee-field--total {
    grid-column: 7;
}

.dispatch-primary-request-payment-method {
    display: grid;
    grid-column: 1 / -1;
    gap: 4px;
    padding: 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
}

.dispatch-primary-request-payment-method strong {
    font-weight: 600;
}

.kokubu-sign-table {
    margin-top: 2px;
}

.kokubu-party-company-name {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    vertical-align: middle;
}

.kokubu-accept-stamp {
    display: inline-block;
    width: 42px;
    height: 42px;
    object-fit: contain;
    vertical-align: middle;
    pointer-events: none;
}

.kokubu-sign-company-cell {
    position: relative;
    height: 42px;
    padding-right: 58px !important;
}

.kokubu-sign-company-cell .kokubu-accept-stamp {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
}

.kokubu-note-box {
    min-height: 54px;
    padding: 8px;
    border: 1px solid #94a3b8;
}

.kokubu-note-box h3 {
    margin: 0 0 6px;
    font-size: 0.95rem;
}

.kokubu-note-box .pre {
    margin: 0;
    white-space: pre-wrap;
}

.kokubu-fee-table .num,
.kokubu-service-table .num {
    text-align: right;
}

.dispatch-primary-request-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    position: static;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
    padding: 12px 0 0;
    border-top: 1px solid #dbe4f0;
    background: transparent;
}

@media (max-width: 980px) {
    .dispatch-primary-request-service-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dispatch-primary-request-sheet {
        padding: 16px;
    }

    .dispatch-primary-request-service-summary,
    .dispatch-primary-request-fee-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .dispatch-primary-request-fee-field--tax,
    .dispatch-primary-request-fee-field--total {
        grid-column: auto;
    }

    .dispatch-primary-request-destination-table,
    .dispatch-primary-request-destination-table tbody,
    .dispatch-primary-request-destination-table tr,
    .dispatch-primary-request-destination-table td {
        display: block;
        width: 100%;
    }

    .dispatch-primary-request-destination-table thead {
        display: none;
    }

    .dispatch-primary-request-destination-table tr {
        overflow: hidden;
        border: 1px solid #cbd5e1;
        border-radius: 8px;
        background: #fff;
    }

    .dispatch-primary-request-destination-table tr + tr {
        margin-top: 8px;
    }

    .dispatch-primary-request-destination-table td {
        display: grid;
        grid-template-columns: 7rem minmax(0, 1fr);
        gap: 8px;
        box-sizing: border-box;
        border: 0;
        border-top: 1px solid #e2e8f0;
        text-align: left;
        white-space: normal;
    }

    .dispatch-primary-request-destination-table td:first-child {
        border-top: 0;
    }

    .dispatch-primary-request-destination-table td::before {
        content: attr(data-label);
        color: #334155;
        font-size: 0.78rem;
        font-weight: 700;
    }
}

.dispatch-kokubu-base-rate-form {
    display: grid;
    gap: 12px;
}

.dispatch-kokubu-base-rate-table-wrap {
    overflow: auto;
    max-width: 100%;
    border: 1px solid #dbe4f0;
    border-radius: 8px;
}

.dispatch-kokubu-base-rate-table {
    min-width: 640px;
    margin: 0;
    table-layout: fixed;
}

.dispatch-kokubu-base-rate-table th,
.dispatch-kokubu-base-rate-table td {
    min-width: 7rem;
    white-space: nowrap;
}

.dispatch-kokubu-base-rate-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.dispatch-kokubu-base-rate-table__partner {
    position: sticky;
    left: 0;
    z-index: 3;
    min-width: 12rem !important;
    background: #f8fafc;
    white-space: normal !important;
}

.dispatch-kokubu-base-rate-table input[type="number"] {
    box-sizing: border-box;
    width: 100%;
    min-width: 6.5rem;
    text-align: right;
}

.dispatch-partner-request-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.dispatch-partner-request-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.dispatch-partner-request-heading p {
    margin: 0;
    font-weight: 700;
}

.dispatch-partner-date-change {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    flex-wrap: wrap;
}

.dispatch-partner-date-change label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #1e3a8a;
    font-weight: 700;
    white-space: nowrap;
}

.dispatch-partner-date-change input {
    min-width: 160px;
}

.dispatch-primary-partner-portal-actions,
.dispatch-kokubu-portal-actions {
    width: 100%;
}

.dispatch-kokubu-portal-actions {
    position: sticky;
    top: 0;
    z-index: 30;
    padding: 8px 0;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 6px 14px rgb(15 23 42 / 0.08);
}

main[data-view="dispatch-kokubu-portal"] .dispatch-partner-request-main {
    overflow: visible;
}

main[data-view="dispatch-kokubu-portal"] .dispatch-kokubu-portal-table {
    border-collapse: separate;
    border-spacing: 0;
}

main[data-view="dispatch-kokubu-portal"] .dispatch-kokubu-portal-table thead th {
    position: sticky;
    top: var(--dispatch-kokubu-portal-sticky-header-top, 58px);
    z-index: 25;
    background: #eef2ff;
    box-shadow: 0 1px 0 #cbd5e1, 0 4px 10px rgb(15 23 42 / 0.08);
}

.dispatch-primary-partner-bulk-accept-form,
.dispatch-kokubu-bulk-accept-form {
    display: inline-flex;
    margin: 0 0 0 auto;
}

.dispatch-partner-request-print-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.dispatch-partner-request-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(160px, 180px);
    gap: 16px;
    align-items: start;
}

.dispatch-partner-request-main {
    min-width: 0;
    overflow-x: auto;
}

.dispatch-partner-driver-palette {
    display: grid;
    gap: 10px;
    position: sticky;
    top: 88px;
}

.dispatch-partner-driver-palette h2 {
    margin: 0;
    color: #153a8a;
    font-size: 1rem;
}

main[data-view="payroll-monthly-close-check"] {
    overflow-x: visible;
}

main[data-view="payroll-monthly-close-check"] .ui-upload-row fieldset {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

main[data-view="payroll-monthly-close-check"] .ui-upload-row label {
    min-width: 0;
}

main[data-view="payroll-monthly-close-check"] .payroll-monthly-close-upload-file {
    display: grid;
    gap: 6px;
}

main[data-view="payroll-monthly-close-check"] .payroll-monthly-close-upload-file__header {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
}

main[data-view="payroll-monthly-close-check"] .payroll-monthly-close-upload-file__status {
    flex: 0 0 auto;
    color: #475569;
    font-size: 0.86rem;
    font-weight: 700;
}

main[data-view="payroll-monthly-close-check"] .payroll-monthly-close-upload-file__status--complete {
    color: #166534;
}

main[data-view="payroll-monthly-close-check"] .payroll-monthly-close-upload-file__status--in_progress {
    color: #9a3412;
}

main[data-view="payroll-monthly-close-check"] .ui-upload-row input[type="file"] {
    width: 100%;
}

.payroll-monthly-close-check-heading {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: baseline;
}

.payroll-monthly-close-check-heading h2 {
    margin: 0;
}

.payroll-monthly-close-check-heading__note {
    color: #475569;
    font-size: 0.9rem;
    font-weight: 700;
}

.payroll-monthly-close-check-table {
    display: inline-table;
    width: auto;
    max-width: none;
    table-layout: auto;
}

.payroll-monthly-close-check-table th,
.payroll-monthly-close-check-table td {
    vertical-align: bottom;
    white-space: nowrap;
    width: auto;
}

.payroll-monthly-close-check-table thead th {
    position: sticky;
    top: 0;
    z-index: 12;
    border: 1px solid #dbe4f0;
    background: #eef2ff;
    box-shadow: 0 2px 0 #cbd5e1;
    text-align: center;
}

.payroll-monthly-close-check-table tbody td {
    border-right: 1px solid #e5eaf2;
    border-left: 1px solid #e5eaf2;
    background: #fff;
    text-align: right;
}

.payroll-monthly-close-check-table tbody td:not(.payroll-monthly-close-check-table__action) {
    font-size: 0.86rem;
    line-height: 1.25;
}

.payroll-monthly-close-check-table__target-row > td {
    border-top: 2px solid #64748b;
    border-bottom: 2px solid #64748b;
}

.payroll-monthly-close-check-table__cell-line {
    display: block;
    min-height: 1.35em;
}

.payroll-monthly-close-check-table__cell-line + .payroll-monthly-close-check-table__cell-line {
    margin-top: 3px;
    padding-top: 3px;
    border-top: 1px solid #e5eaf2;
}

.payroll-monthly-close-check-table__target-row--employee-editable {
    cursor: pointer;
}

.payroll-monthly-close-check-table__amount--employee-modal-editable {
    cursor: pointer;
}

.payroll-monthly-close-check-table__amount[data-monthly-close-employee-detail-url=""] {
    cursor: default;
}

.payroll-monthly-close-check-table__target-row--employee-editable:focus-visible {
    outline: 3px solid rgb(35 63 143 / 0.28);
    outline-offset: -3px;
}

.payroll-monthly-close-check-table__amount--employee-modal-editable:focus-visible {
    outline: 3px solid rgb(35 63 143 / 0.28);
    outline-offset: -3px;
}

.payroll-monthly-close-check-table tbody tr.payroll-monthly-close-check-table__target-row--striped,
.payroll-monthly-close-check-table tbody tr.payroll-monthly-close-check-table__target-row--striped > td {
    background-color: #f1f5f9;
}

.payroll-monthly-close-check-table tbody tr.payroll-monthly-close-check-table__target-row--confirmed,
.payroll-monthly-close-check-table tbody tr.payroll-monthly-close-check-table__target-row--confirmed > td {
    background-color: #cbd5e1;
}

.payroll-monthly-close-check-table tbody tr.payroll-monthly-close-check-table__target-row:hover,
.payroll-monthly-close-check-table tbody tr.payroll-monthly-close-check-table__target-row:hover > td {
    background-color: #e0f2fe;
}

.payroll-monthly-close-check-table tbody tr:not(.payroll-monthly-close-check-table__target-row) > td {
    border-top: 2px solid #64748b;
    border-bottom: 2px solid #64748b;
}

.payroll-monthly-close-check-table .payroll-monthly-close-check-table__exists,
.payroll-monthly-close-check-table .payroll-monthly-close-check-table__action,
.payroll-monthly-close-check-table .payroll-monthly-close-check-table__amount {
    width: 1%;
}

.payroll-monthly-close-check-table .payroll-monthly-close-check-table__employee {
    width: 1%;
}

.payroll-monthly-close-check-table .payroll-monthly-close-check-table__exists {
    text-align: center;
}

.payroll-monthly-close-check-table td.payroll-monthly-close-check-table__action {
    display: table-cell;
    text-align: center;
    vertical-align: bottom;
}

.payroll-monthly-close-check-table .payroll-monthly-close-check-table__action .ui-inline-form {
    justify-content: center;
}

@media (max-width: 900px) {
    main[data-view="payroll-monthly-close-check"] .ui-upload-row fieldset {
        grid-template-columns: minmax(240px, 1fr);
    }
}

.dispatch-partner-driver-palette__empty {
    margin: 0;
    color: #64748b;
}

.dispatch-partner-driver-card {
    box-sizing: border-box;
    display: grid;
    gap: 2px;
    width: 160px;
    min-width: 160px;
    max-width: 160px;
    min-height: 72px;
    padding: 8px 10px;
    border: 1px solid #c7d7ef;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08);
    cursor: pointer;
    overflow: hidden;
    white-space: normal;
}

.dispatch-partner-driver-card[draggable="true"] {
    cursor: grab;
}

.dispatch-partner-driver-card[draggable="true"]:active {
    cursor: grabbing;
}

.dispatch-partner-driver-card strong,
.dispatch-partner-driver-card span,
.dispatch-partner-driver-card small {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: break-word;
}

.dispatch-partner-driver-card strong {
    color: #0f2f78;
    font-size: 0.82rem;
}

.dispatch-partner-driver-card span {
    color: #334155;
    font-size: 0.76rem;
}

.dispatch-partner-driver-card small {
    color: #64748b;
    font-size: 0.72rem;
    line-height: 1.25;
}

.dispatch-partner-driver-card--empty {
    border-style: dashed;
    background: #f8fbff;
}

.dispatch-partner-driver-modal {
    width: min(520px, calc(100vw - 32px));
    max-height: min(82vh, 560px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.dispatch-partner-driver-modal .ui-modal__body {
    display: grid;
    gap: 12px;
    overflow: auto;
}

.dispatch-partner-driver-modal input {
    width: 100%;
}

.dispatch-partner-driver-modal__footer {
    flex-shrink: 0;
    position: sticky;
    bottom: 0;
    background: #fff;
}

@media print {
    .ui-page-header,
    .dispatch-partner-print-button,
    .dispatch-kokubu-bulk-accept-form,
    .dispatch-primary-partner-bulk-accept-form,
    .dispatch-partner-driver-palette,
    .dispatch-partner-request-table__operation,
    .dispatch-partner-date-change .ui-button {
        display: none !important;
    }

    main[data-view="dispatch-partner-request-list"] {
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .dispatch-partner-request-workspace {
        display: block;
    }

    .dispatch-partner-request-main {
        overflow: visible;
    }

    .dispatch-partner-request-table {
        width: 100%;
        min-width: 0;
        font-size: 10px;
    }
}

.dispatch-partner-profile-form {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
}

.dispatch-partner-profile-form__body {
    display: grid;
    gap: 14px;
    width: 100%;
}

.dispatch-partner-profile-form__row {
    display: grid;
    gap: 14px;
    align-items: end;
}

.dispatch-partner-profile-form__row--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dispatch-partner-profile-form__row--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dispatch-partner-profile-form label {
    min-width: 0;
}

.dispatch-partner-profile-form input,
.dispatch-partner-profile-form select,
.dispatch-partner-profile-form textarea {
    width: 100%;
}

.dispatch-partner-profile-form__full {
    display: grid;
    gap: 4px;
}

.dispatch-partner-profile-form__footer {
    position: sticky;
    bottom: 0;
    z-index: 2;
    background: #fff;
}

@media (max-width: 900px) {
    .dispatch-partner-request-workspace,
    .dispatch-partner-profile-form__row--three,
    .dispatch-partner-profile-form__row--two {
        grid-template-columns: 1fr;
    }

    .dispatch-partner-driver-palette {
        position: static;
    }
}

.registry-employee-driver-photo {
    display: block;
    width: 72px;
    height: 88px;
    object-fit: cover;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
}

.registry-driver-ledger-summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.registry-driver-ledger-summary fieldset,
.registry-driver-ledger-fieldset {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 12px;
}

.registry-driver-ledger-initial-fieldset[data-driver-ledger-initial-detail] {
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.registry-driver-ledger-initial-fieldset[data-driver-ledger-initial-detail]:hover {
    border-color: #94a3b8;
    background: #eff6ff;
    box-shadow: 0 1px 4px rgb(15 23 42 / 0.08);
}

.registry-driver-ledger-fieldset__actions {
    display: flex;
    justify-content: flex-end;
    margin: -4px 0 8px;
}

.registry-driver-ledger-fieldset__actions .ui-button {
    min-height: 2rem;
    padding: 0.25rem 0.75rem;
}

.registry-driver-ledger-summary legend,
.registry-driver-ledger-fieldset legend {
    font-weight: 700;
    padding: 0 4px;
}

.registry-driver-ledger-summary dl {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 6px 10px;
    margin: 0;
}

.registry-driver-ledger-summary dt {
    font-weight: 700;
}

.registry-driver-ledger-summary dd {
    margin: 0;
    text-align: left;
}

.registry-driver-ledger-status-stack {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.registry-driver-ledger-main-fieldset dl,
.registry-driver-ledger-license-fieldset dl,
.registry-driver-ledger-initial-fieldset dl,
.registry-driver-ledger-general-fieldset dl,
.registry-driver-ledger-left-fieldset dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
}

.registry-driver-ledger-main-fieldset dt,
.registry-driver-ledger-license-fieldset dt,
.registry-driver-ledger-initial-fieldset dt,
.registry-driver-ledger-general-fieldset dt,
.registry-driver-ledger-left-fieldset dt {
    text-align: left;
}

.registry-driver-ledger-main-fieldset dd,
.registry-driver-ledger-license-fieldset dd,
.registry-driver-ledger-initial-fieldset dd,
.registry-driver-ledger-general-fieldset dd,
.registry-driver-ledger-left-fieldset dd {
    min-height: 1.4em;
    text-align: right;
    overflow-wrap: anywhere;
}

.registry-driver-ledger-main-fieldset dd:not(:last-child),
.registry-driver-ledger-license-fieldset dd:not(:last-child),
.registry-driver-ledger-initial-fieldset dd:not(:last-child),
.registry-driver-ledger-general-fieldset dd:not(:last-child),
.registry-driver-ledger-left-fieldset dd:not(:last-child) {
    margin-bottom: 6px;
}

.registry-driver-ledger-capability-readonly {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.registry-driver-ledger-capability-readonly h3 {
    margin: 0;
    font-size: 0.95rem;
}

.registry-driver-ledger-capability-matrix {
    width: 100%;
    margin: 0;
}

.registry-driver-ledger-capability-matrix th:not(:first-child),
.registry-driver-ledger-capability-matrix td {
    text-align: center;
}

.registry-driver-ledger-health-check-fieldset,
.registry-driver-ledger-stress-check-fieldset,
.registry-driver-ledger-senior-fieldset,
.registry-driver-ledger-accident-fieldset,
.registry-driver-ledger-notice-fieldset,
.registry-driver-ledger-maintenance-manager-fieldset,
.registry-driver-ledger-operation-manager-fieldset {
    grid-column: 1 / -1;
}

.registry-driver-ledger-table-scroll {
    width: 100%;
    overflow-x: auto;
}

.registry-driver-ledger-table-toolbar {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 8px;
}

.registry-driver-ledger-senior-table,
.registry-driver-ledger-health-table,
.registry-driver-ledger-stress-table,
.registry-driver-ledger-accident-table,
.registry-driver-ledger-notice-table {
    width: 100%;
    margin: 0;
}

.registry-driver-ledger-health-table th,
.registry-driver-ledger-health-table td,
.registry-driver-ledger-stress-table th,
.registry-driver-ledger-stress-table td,
.registry-driver-ledger-accident-table th,
.registry-driver-ledger-accident-table td,
.registry-driver-ledger-senior-table th,
.registry-driver-ledger-senior-table td {
    white-space: nowrap;
}

.registry-driver-ledger-table-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.registry-driver-ledger-health-table [data-driver-ledger-health-table-row],
.registry-driver-ledger-stress-table [data-driver-ledger-stress-table-row],
.registry-driver-ledger-senior-table [data-driver-ledger-senior-table-row],
.registry-driver-ledger-senior-content-row,
.registry-driver-ledger-accident-table [data-driver-ledger-accident-table-row],
.registry-driver-ledger-accident-summary-row,
.registry-driver-ledger-notice-table [data-driver-ledger-notice-table-row] {
    cursor: pointer;
}

.registry-driver-ledger-health-table [data-driver-ledger-health-table-row]:hover > td,
.registry-driver-ledger-stress-table [data-driver-ledger-stress-table-row]:hover > td,
.registry-driver-ledger-senior-table [data-driver-ledger-senior-table-row]:hover > td,
.registry-driver-ledger-senior-table [data-driver-ledger-senior-table-row]:hover + .registry-driver-ledger-senior-content-row > td,
.registry-driver-ledger-senior-table [data-driver-ledger-senior-table-row]:has(+ .registry-driver-ledger-senior-content-row:hover) > td,
.registry-driver-ledger-senior-content-row:hover > td,
.registry-driver-ledger-accident-table [data-driver-ledger-accident-table-row]:hover > td,
.registry-driver-ledger-accident-table [data-driver-ledger-accident-table-row]:hover + .registry-driver-ledger-accident-summary-row > td,
.registry-driver-ledger-accident-table [data-driver-ledger-accident-table-row]:has(+ .registry-driver-ledger-accident-summary-row:hover) > td,
.registry-driver-ledger-accident-summary-row:hover > td,
.registry-driver-ledger-notice-table [data-driver-ledger-notice-table-row]:hover > td {
    background: #f8fafc;
}

.registry-driver-ledger-senior-report {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: max-content;
}

.registry-driver-ledger-file-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    vertical-align: middle;
}

.registry-driver-ledger-file-actions .ui-button {
    min-width: 5.5em;
}

.registry-driver-ledger-senior-content-row td {
    white-space: normal;
    text-align: left;
}

.registry-driver-ledger-senior-content {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    text-align: left;
}

.registry-driver-ledger-senior-content__label {
    color: #64748b;
    font-weight: 600;
    white-space: nowrap;
}

.registry-driver-ledger-senior-content__value {
    max-height: 4.2em;
    overflow-y: auto;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
}

@media (min-width: 960px) {
    .registry-driver-ledger-summary {
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 0.9fr) minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr);
    }

    .registry-driver-ledger-main-fieldset {
        grid-column: 1;
        grid-row: 1;
    }

    .registry-driver-ledger-license-fieldset {
        grid-column: 2;
        grid-row: 1;
    }

    .registry-driver-ledger-capability-fieldset {
        grid-column: 3;
        grid-row: 1;
    }

    .registry-driver-ledger-initial-fieldset {
        grid-column: 4;
        grid-row: 1;
    }

    .registry-driver-ledger-status-stack {
        grid-column: 5;
        grid-row: 1;
        grid-template-rows: repeat(2, minmax(0, 1fr));
        align-self: stretch;
    }

    .registry-driver-ledger-status-stack > .registry-driver-ledger-general-fieldset {
        grid-column: 1;
        grid-row: 1;
    }

    .registry-driver-ledger-status-stack > .registry-driver-ledger-left-fieldset {
        grid-column: 1;
        grid-row: 2;
    }

    .registry-driver-ledger-health-check-fieldset {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .registry-driver-ledger-stress-check-fieldset {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .registry-driver-ledger-senior-fieldset {
        grid-column: 1 / -1;
        grid-row: 4;
    }
}

.registry-driver-ledger-number-field {
    display: grid;
    gap: 4px;
}

.registry-driver-ledger-number-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.registry-driver-ledger-number-control .ui-button {
    white-space: nowrap;
}

.registry-driver-ledger-license-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
}

.registry-driver-ledger-license-grid > label,
.registry-driver-ledger-license-grid > .registry-driver-ledger-number-field {
    min-width: 0;
}

.registry-driver-ledger-license-grid__wide {
    grid-column: 1 / -1;
}

.registry-driver-ledger-license-grid textarea {
    min-height: 4.75rem;
    resize: vertical;
}

.registry-driver-ledger-vehicle-matrix table {
    width: 100%;
    margin: 0;
}

.registry-driver-ledger-guidance-block {
    display: grid;
    gap: 10px;
    margin: 0 0 12px;
}

.registry-driver-ledger-guidance-block h3 {
    margin: 0;
    font-size: 1rem;
}

.registry-driver-ledger-guidance-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.registry-driver-ledger-guidance-panel {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-guidance-panel[hidden] {
    display: none;
}

.registry-driver-ledger-dynamic-date-list {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-dynamic-date-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
}

.registry-driver-ledger-general-diagnosis {
    display: grid;
    gap: 12px;
}

.registry-driver-ledger-general-page {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-general-page[hidden] {
    display: none;
}

.registry-driver-ledger-general-page h3 {
    margin: 0;
    font-size: 1rem;
}

.registry-driver-ledger-general-date-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.registry-driver-ledger-general-pager {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.registry-driver-ledger-general-pager[hidden] {
    display: none;
}

.registry-driver-ledger-initial-list {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-initial-row {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: end;
}

.registry-driver-ledger-initial-row__status,
.registry-driver-ledger-initial-row__date {
    margin: 0;
}

.registry-driver-ledger-initial-row__status-spacer {
    display: block;
}

.registry-driver-ledger-senior-list {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-senior-row {
    display: grid;
    grid-template-columns: minmax(8rem, 12rem) minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.registry-driver-ledger-notice-toolbar {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 8px;
}

.registry-driver-ledger-notice-table th,
.registry-driver-ledger-notice-table td {
    vertical-align: top;
}

.registry-driver-ledger-accident-table th,
.registry-driver-ledger-accident-table td {
    vertical-align: top;
}

.registry-driver-ledger-accident-summary-row td {
    background: #f8fafc;
    text-align: left;
}

.registry-driver-ledger-accident-summary-row span {
    display: block;
    margin-bottom: 3px;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 700;
}

.registry-driver-ledger-accident-summary-row strong {
    display: block;
    max-height: 4.2em;
    overflow-y: auto;
    overflow-wrap: anywhere;
    font-weight: 400;
    white-space: normal;
}

.registry-driver-ledger-notice-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.registry-driver-ledger-maintenance-manager-fieldset {
    display: grid;
    gap: 14px;
}

.registry-driver-ledger-maintenance-manager-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.registry-driver-ledger-maintenance-manager-display {
    min-width: 0;
}

.registry-driver-ledger-maintenance-manager-info {
    display: grid;
    gap: 12px;
    align-items: start;
}

.registry-driver-ledger-maintenance-manager-info__main {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.registry-driver-ledger-maintenance-manager-info__main p {
    margin: 0;
    overflow-wrap: anywhere;
}

.registry-driver-ledger-maintenance-manager-info__title {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
}

.registry-driver-ledger-maintenance-manager-info__title strong {
    font-size: 1rem;
}

.registry-driver-ledger-maintenance-manager-download {
    margin-left: 6px;
}

.registry-driver-ledger-maintenance-manager-summary__actions {
    display: flex;
    justify-content: flex-end;
}

.registry-driver-ledger-maintenance-manager-training {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-maintenance-manager-training h3 {
    margin: 0;
    color: #1f2937;
    font-size: 0.98rem;
}

.registry-driver-ledger-maintenance-manager-training-table {
    width: 100%;
    margin: 0;
}

.registry-driver-ledger-maintenance-manager-training-table th,
.registry-driver-ledger-maintenance-manager-training-table td {
    vertical-align: top;
}

.registry-driver-ledger-maintenance-manager-training-actions {
    display: flex;
    justify-content: flex-end;
}

.registry-driver-ledger-operation-manager-fieldset {
    display: grid;
    gap: 14px;
}

.registry-driver-ledger-operation-manager-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.registry-driver-ledger-operation-manager-display {
    min-width: 0;
}

.registry-driver-ledger-operation-manager-info {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-info span {
    overflow-wrap: anywhere;
}

.registry-driver-ledger-operation-manager-summary__actions,
.registry-driver-ledger-operation-manager-training-actions {
    display: flex;
    justify-content: flex-end;
}

.registry-driver-ledger-operation-manager-training {
    display: grid;
    gap: 8px;
}

.registry-driver-ledger-operation-manager-training h3 {
    margin: 0;
    color: #1f2937;
    font-size: 0.98rem;
}

.registry-driver-ledger-operation-manager-training-table {
    width: 100%;
    margin: 0;
}

.registry-driver-ledger-operation-manager-training-table th,
.registry-driver-ledger-operation-manager-training-table td {
    vertical-align: top;
}

.registry-driver-ledger-date-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
    gap: 8px;
    width: 100%;
}

.registry-driver-ledger-date-grid--2 {
    grid-template-columns: repeat(2, minmax(0, calc((100% - 8px) / 2)));
}

.registry-driver-ledger-date-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.registry-expiration-check-row--danger > th,
.registry-expiration-check-row--danger > td {
    background: #fde7e7;
}

.registry-expiration-check-row--warning > th,
.registry-expiration-check-row--warning > td {
    background: #fff6cf;
}

.registry-general-guidance-expiration-record-row {
    cursor: pointer;
}

.registry-general-guidance-expiration-record-row:hover > th,
.registry-general-guidance-expiration-record-row:hover > td {
    background: #fbdada;
}

.registry-general-guidance-expiration-record-row:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: -2px;
}

.registry-expiration-check-panel + .registry-expiration-check-panel {
    margin-top: 24px;
}

.registry-expiration-general-guidance-table th:nth-child(1) {
    width: 96px;
}

.registry-expiration-general-guidance-employee-table th:nth-child(1) {
    width: 260px;
}

.registry-driver-ledger-modal {
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-driver-ledger-modal .registry-employee-delivery-form {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
    min-width: min(760px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
}

.registry-driver-ledger-modal .registry-employee-delivery-form > .ui-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
}

.registry-driver-ledger-modal .registry-employee-delivery-form > .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-driver-ledger-modal--driver-ledger.ui-modal--wide,
.registry-driver-ledger-modal--driver-license.ui-modal--wide,
.registry-driver-ledger-modal--vehicle-capability.ui-modal--wide {
    width: min(720px, calc(100vw - 32px));
    max-width: min(720px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--driver-ledger .registry-employee-delivery-form,
.registry-driver-ledger-modal--driver-license .registry-employee-delivery-form,
.registry-driver-ledger-modal--vehicle-capability .registry-employee-delivery-form {
    min-width: min(720px, calc(100vw - 32px));
    width: min(720px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--guidance .registry-employee-delivery-form {
    min-width: min(720px, calc(100vw - 32px));
    width: min(720px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--guidance.ui-modal--wide {
    width: min(720px, calc(100vw - 32px));
    max-width: min(720px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--senior.ui-modal--wide {
    width: min(980px, calc(100vw - 32px));
    max-width: min(980px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--senior .registry-employee-delivery-form {
    min-width: min(960px, calc(100vw - 32px));
    width: min(960px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--health-check.ui-modal--wide {
    width: min(1160px, calc(100vw - 32px));
    max-width: min(1160px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--health-check .registry-employee-delivery-form {
    min-width: min(1120px, calc(100vw - 32px));
    width: min(1120px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--health-check-delete .registry-employee-delivery-form {
    min-width: min(520px, calc(100vw - 32px));
    width: min(520px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--stress-check.ui-modal--wide {
    width: min(1160px, calc(100vw - 32px));
    max-width: min(1160px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--stress-check .registry-employee-delivery-form {
    min-width: min(1120px, calc(100vw - 32px));
    width: min(1120px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--notice.ui-modal--wide {
    width: min(1040px, calc(100vw - 32px));
    max-width: min(1040px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--notice .registry-employee-delivery-form {
    min-width: min(1000px, calc(100vw - 32px));
    width: min(1000px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--notice-delete .registry-employee-delivery-form {
    min-width: min(520px, calc(100vw - 32px));
    width: min(520px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--maintenance-manager.ui-modal--wide {
    width: min(1220px, calc(100vw - 32px));
    max-width: min(1220px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--maintenance-manager .registry-employee-delivery-form {
    min-width: min(1180px, calc(100vw - 32px));
    width: min(1180px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--maintenance-manager-training .registry-employee-delivery-form {
    min-width: min(640px, calc(100vw - 32px));
    width: min(640px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--operation-manager.ui-modal--wide {
    width: min(1020px, calc(100vw - 32px));
    max-width: min(1020px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--operation-manager .registry-employee-delivery-form {
    min-width: min(980px, calc(100vw - 32px));
    width: min(980px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--operation-manager-training .registry-employee-delivery-form {
    min-width: min(760px, calc(100vw - 32px));
    width: min(760px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--accident.ui-modal--wide {
    width: min(1120px, calc(100vw - 32px));
    max-width: min(1120px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--accident .registry-employee-delivery-form {
    min-width: min(1080px, calc(100vw - 32px));
    width: min(1080px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--accident-delete .registry-employee-delivery-form {
    min-width: min(520px, calc(100vw - 32px));
    width: min(520px, calc(100vw - 32px));
}

.registry-driver-ledger-modal--record-detail.ui-modal--wide {
    width: min(960px, calc(100vw - 32px));
    max-width: min(960px, calc(100vw - 32px));
    --driver-ledger-detail-accent: #2563eb;
    --driver-ledger-detail-soft: #eff6ff;
    --driver-ledger-detail-ink: #172033;
}

.registry-driver-ledger-record-detail {
    min-width: min(860px, calc(100vw - 32px));
    width: min(920px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
    background: #f1f5f9;
}

.registry-driver-ledger-record-detail > .ui-modal__body {
    min-height: 0;
    overflow: auto;
    padding: 0;
    background: #f1f5f9;
}

.registry-driver-ledger-record-detail > .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="health"] {
    --driver-ledger-detail-accent: #0f766e;
    --driver-ledger-detail-soft: #ecfdf5;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="stress"] {
    --driver-ledger-detail-accent: #2563eb;
    --driver-ledger-detail-soft: #eff6ff;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="initial"] {
    --driver-ledger-detail-accent: #475569;
    --driver-ledger-detail-soft: #f8fafc;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="senior"] {
    --driver-ledger-detail-accent: #7c3aed;
    --driver-ledger-detail-soft: #f5f3ff;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="accident"] {
    --driver-ledger-detail-accent: #b45309;
    --driver-ledger-detail-soft: #fffbeb;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="notice"] {
    --driver-ledger-detail-accent: #1d4ed8;
    --driver-ledger-detail-soft: #eff6ff;
}

.registry-driver-ledger-record-detail__header {
    display: grid;
    gap: 8px;
    padding: 20px 22px 18px;
    border-bottom: 1px solid #dbe4ee;
    border-left: 6px solid var(--driver-ledger-detail-accent);
    background: #fff;
}

.registry-driver-ledger-record-detail__header span {
    width: fit-content;
    padding: 3px 9px;
    border-radius: 999px;
    background: var(--driver-ledger-detail-soft);
    color: var(--driver-ledger-detail-accent);
    font-size: 0.8rem;
    font-weight: 700;
}

.registry-driver-ledger-record-detail__header h3 {
    margin: 0;
    color: var(--driver-ledger-detail-ink);
    font-size: 1.35rem;
    line-height: 1.25;
}

.registry-driver-ledger-record-detail__header p {
    margin: 0;
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.5;
}

.registry-driver-ledger-record-detail__header p[hidden] {
    display: none;
}

.registry-driver-ledger-record-detail-sections {
    display: grid;
    gap: 14px;
    padding: 16px;
}

.registry-driver-ledger-record-detail-section {
    overflow: hidden;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #fff;
}

main[data-view="registry-general-guidance-list"] {
    max-width: 1680px;
}

.registry-general-guidance-search.ui-list-search--single-row {
    grid-template-columns:
        minmax(180px, 220px)
        minmax(150px, 170px)
        minmax(150px, 170px)
        minmax(180px, 240px)
        minmax(260px, 360px)
        auto
        auto;
    overflow-x: auto;
}

.registry-general-guidance-search.ui-list-search--single-row > label,
.registry-general-guidance-search.ui-list-search--single-row > .ui-employee-picker-field {
    display: grid;
    gap: 4px;
    min-width: 0;
    width: auto;
}

.registry-general-guidance-search.employee-picker-search .ui-employee-picker,
.registry-general-guidance-search.employee-picker-search .ui-employee-picker__trigger {
    width: 100%;
    max-width: none;
}

.registry-general-guidance-search.ui-list-search--single-row > button,
.registry-general-guidance-search.ui-list-search--single-row > .ui-button {
    grid-column: auto;
    grid-row: auto;
    align-self: end;
    width: auto;
    min-width: 5rem;
    margin: 0;
}

.registry-general-guidance-alert {
    margin: 8px 0;
    padding: 8px 10px;
    border: 1px solid #fecaca;
    border-radius: 8px;
    background: #fef2f2;
    color: #991b1b;
    font-weight: 700;
}

.registry-general-guidance-table th,
.registry-general-guidance-table td {
    vertical-align: top;
}

.registry-general-guidance-table th:nth-child(1),
.registry-general-guidance-table th:nth-child(4),
.registry-general-guidance-table th:nth-child(7) {
    width: 5.5rem;
}

.registry-general-guidance-table th:nth-child(2) {
    width: 11.5rem;
}

.registry-general-guidance-table th:nth-child(8) {
    width: 9.5rem;
}

.registry-general-guidance-table td {
    overflow-wrap: anywhere;
}

.registry-general-guidance-row,
.registry-general-guidance-participants-row {
    cursor: pointer;
}

.registry-general-guidance-row:hover td,
.registry-general-guidance-participants-row:hover td {
    background: #eef6ff;
}

.registry-general-guidance-row:focus-visible,
.registry-general-guidance-participants-row:focus-visible {
    outline: 3px solid #93c5fd;
    outline-offset: -3px;
}

.registry-general-guidance-participants-row td {
    background: #f8fafc;
    text-align: left;
}

.registry-general-guidance-participants-row span {
    display: inline-block;
    margin-right: 10px;
    color: #64748b;
    font-size: 0.85rem;
    font-weight: 700;
}

.registry-general-guidance-participants-row strong {
    font-weight: 400;
    overflow-wrap: anywhere;
}

.registry-general-guidance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.registry-general-guidance-modal.ui-modal--wide {
    width: min(1120px, calc(100vw - 32px));
    max-width: min(1120px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-general-guidance-form {
    width: min(1080px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-general-guidance-modal__body {
    min-height: 0;
    overflow: auto;
}

.registry-general-guidance-modal__body h2 {
    margin-top: 0;
}

.registry-general-guidance-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-general-guidance-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.registry-general-guidance-form-grid label,
.registry-general-guidance-time-field,
.registry-general-guidance-employee-field,
.registry-general-guidance-office-field,
.registry-general-guidance-storage-row {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.registry-general-guidance-form-grid label > span,
.registry-general-guidance-time-field > span,
.registry-general-guidance-employee-field > span,
.registry-general-guidance-office-field > span,
.registry-general-guidance-employee-field__header > span,
.registry-general-guidance-checkboxes > legend {
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.registry-general-guidance-field-wide,
.registry-general-guidance-checkboxes {
    grid-column: 1 / -1;
}

.registry-general-guidance-time-field {
    grid-template-columns: auto auto;
    column-gap: 8px;
}

.registry-general-guidance-time-field > span {
    grid-column: 1 / -1;
}

.registry-general-guidance-time-field label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.registry-general-guidance-checkboxes {
    margin: 0;
    padding: 10px;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
}

.registry-general-guidance-checkbox-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.registry-general-guidance-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 14px;
}

.registry-general-guidance-employee-field__header {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
}

.registry-general-guidance-storage-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.registry-general-guidance-selected-text {
    min-height: 2.35rem;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    overflow-wrap: anywhere;
}

.registry-general-guidance-employee-picker__footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    background: #fff;
}

.registry-general-guidance-employee-picker__selected {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
    min-height: 2.5rem;
}

.registry-general-guidance-employee-picker__footer-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
}

.registry-general-guidance-detail-modal.ui-modal--wide {
    width: min(980px, calc(100vw - 32px));
    max-width: min(980px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow: hidden;
}

.registry-general-guidance-detail {
    min-width: min(860px, calc(100vw - 32px));
    width: min(940px, calc(100vw - 32px));
    height: min(860px, calc(100vh - 32px));
    overflow: hidden;
    background: #f1f5f9;
}

.registry-general-guidance-detail > .ui-modal__body {
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto;
    padding: 0;
    background: #f1f5f9;
}

.registry-general-guidance-detail > .ui-modal__actions {
    flex-shrink: 0;
    background: #fff;
}

.registry-general-guidance-detail__header {
    display: grid;
    gap: 8px;
    padding: 20px 22px 18px;
    border-bottom: 1px solid #dbe4ee;
    border-left: 6px solid #0f766e;
    background: #fff;
}

.registry-general-guidance-detail__header span {
    width: fit-content;
    padding: 3px 9px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #0f766e;
    font-size: 0.8rem;
    font-weight: 700;
}

.registry-general-guidance-detail__header h2 {
    margin: 0;
    color: #172033;
    font-size: 1.35rem;
    line-height: 1.25;
}

.registry-general-guidance-detail__header p {
    margin: 0;
    color: #475569;
    font-size: 0.95rem;
    line-height: 1.5;
}

.registry-general-guidance-detail__header p[hidden] {
    display: none;
}

.registry-general-guidance-detail-sections {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 16px;
}

.registry-general-guidance-detail-section {
    overflow: hidden;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #fff;
}

.registry-general-guidance-detail-section--wide {
    grid-column: 1 / -1;
}

.registry-general-guidance-detail-section--basic .registry-general-guidance-detail-list {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 4fr) minmax(0, 1fr);
}

.registry-general-guidance-detail-section--basic .registry-general-guidance-detail-list > div:nth-child(2n) {
    border-right: 1px solid #edf2f7;
}

.registry-general-guidance-detail-section--basic .registry-general-guidance-detail-list > div:nth-child(4n) {
    border-right: 0;
}

.registry-general-guidance-detail-section h3 {
    margin: 0;
    padding: 10px 14px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #263247;
    font-size: 0.95rem;
    font-weight: 700;
}

.registry-general-guidance-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.registry-general-guidance-detail-list > div {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 6px;
    min-width: 0;
    padding: 12px 14px;
    border-right: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
}

.registry-general-guidance-detail-list > div:nth-child(2n) {
    border-right: 0;
}

.registry-general-guidance-detail-list__item--wide {
    grid-column: 1 / -1;
    border-right: 0;
}

.registry-general-guidance-detail-list dt {
    color: #5b677a;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.4;
}

.registry-general-guidance-detail-list dd {
    min-height: 1.4em;
    margin: 0;
    color: #111827;
    overflow-wrap: anywhere;
    text-align: right;
    white-space: pre-wrap;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.55;
}

.registry-general-guidance-detail-list__item--wide dd {
    text-align: left;
    font-weight: 500;
}

.registry-general-guidance-detail-list__value--empty {
    color: #94a3b8;
    font-weight: 500;
}

.registry-general-guidance-detail-file {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.registry-general-guidance-detail-download[hidden] {
    display: none;
}

.registry-general-guidance-detail-content-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.registry-general-guidance-detail-content-table th,
.registry-general-guidance-detail-content-table td {
    padding: 10px 14px;
    border-bottom: 1px solid #edf2f7;
    color: #111827;
    line-height: 1.55;
    overflow-wrap: anywhere;
    text-align: left;
    vertical-align: middle;
}

.registry-general-guidance-detail-content-table th {
    background: #f8fafc;
    color: #5b677a;
    font-size: 0.78rem;
    font-weight: 700;
}

.registry-general-guidance-detail-content-table th:nth-child(2),
.registry-general-guidance-detail-content-table td:nth-child(2) {
    width: 7.5rem;
    text-align: center;
}

.registry-general-guidance-detail-content-table__mark {
    color: #0f766e;
    font-size: 1.05rem;
    font-weight: 800;
}

.registry-general-guidance-detail-content-table__row--implemented td:first-child {
    font-weight: 700;
}

.registry-general-guidance-detail-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 14px;
}

.registry-general-guidance-detail-list dd .registry-general-guidance-detail-chip-list {
    padding: 0;
}

.registry-general-guidance-detail-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 1.9rem;
    padding: 4px 10px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: #eff6ff;
    color: #1e3a8a;
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.registry-general-guidance-detail-chip--empty {
    border-color: #e2e8f0;
    background: #f8fafc;
    color: #94a3b8;
    font-weight: 600;
}

@media (max-width: 900px) {
    .registry-general-guidance-search.ui-list-search--single-row {
        grid-template-columns: minmax(0, 1fr);
        overflow-x: visible;
    }

    .registry-general-guidance-form-grid,
    .registry-general-guidance-checkbox-grid,
    .registry-general-guidance-storage-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-general-guidance-table {
        min-width: 980px;
    }

    .registry-general-guidance-detail {
        min-width: min(520px, calc(100vw - 32px));
        width: min(520px, calc(100vw - 32px));
        height: min(760px, calc(100vh - 32px));
    }

    .registry-general-guidance-detail__header {
        padding: 16px;
    }

    .registry-general-guidance-detail-sections,
    .registry-general-guidance-detail-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-general-guidance-detail-section--basic .registry-general-guidance-detail-list {
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 4fr) minmax(0, 1fr);
    }

    .registry-general-guidance-detail-sections {
        padding: 12px;
    }

    .registry-general-guidance-detail-list > div {
        border-right: 0;
    }

    .registry-general-guidance-detail-section--basic .registry-general-guidance-detail-list > div:nth-child(n) {
        border-right: 0;
    }

    .registry-general-guidance-detail-section--basic .registry-general-guidance-detail-list > div:not(:nth-child(4n)) {
        border-right: 1px solid #edf2f7;
    }

    .registry-general-guidance-detail-list dd {
        text-align: left;
    }

    .registry-general-guidance-detail-file {
        justify-content: flex-start;
    }
}

.registry-driver-ledger-record-detail-section h4 {
    margin: 0;
    padding: 10px 14px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #263247;
    font-size: 0.95rem;
    font-weight: 700;
}

.registry-driver-ledger-record-detail-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
    border-top: 0;
}

.registry-driver-ledger-record-detail-list > div {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 6px;
    min-width: 0;
    padding: 12px 14px;
    border-right: 1px solid #edf2f7;
    border-bottom: 1px solid #edf2f7;
}

.registry-driver-ledger-record-detail-list > div:nth-child(2n) {
    border-right: 0;
}

.registry-driver-ledger-record-detail-list__item--wide {
    grid-column: 1 / -1;
    border-right: 0;
}

.registry-driver-ledger-record-detail-list dt {
    color: #5b677a;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.4;
}

.registry-driver-ledger-record-detail-list dd {
    min-height: 1.4em;
    margin: 0;
    color: #111827;
    overflow-wrap: anywhere;
    text-align: right;
    white-space: pre-wrap;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.55;
}

.registry-driver-ledger-record-detail-list dd .registry-driver-ledger-file-actions {
    justify-content: flex-end;
    margin-top: 6px;
}

.registry-driver-ledger-record-detail-list__value--empty {
    color: #94a3b8;
    font-weight: 500;
}

.registry-driver-ledger-record-detail-list__item--wide dd {
    text-align: left;
    font-weight: 500;
}

.registry-driver-ledger-modal--record-detail[data-driver-ledger-record-detail-kind="senior"] .registry-driver-ledger-record-detail-list__item--wide dd {
    text-align: left;
}

.registry-driver-ledger-senior-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.registry-driver-ledger-senior-modal-section {
    display: grid;
    gap: 10px;
}

.registry-driver-ledger-senior-modal-section h3 {
    margin: 0;
    font-size: 1rem;
}

.registry-driver-ledger-senior-modal-fields {
    display: grid;
    grid-template-columns: minmax(8rem, 0.8fr) minmax(9.5rem, 1fr) minmax(9.5rem, 1fr) minmax(12rem, 1.15fr);
    gap: 10px;
    align-items: end;
}

.registry-driver-ledger-senior-modal-fields--guidance {
    grid-template-columns: minmax(8rem, 0.8fr) minmax(9.5rem, 1fr);
}

.registry-driver-ledger-senior-modal-field--full {
    grid-column: 1 / -1;
}

.registry-driver-ledger-senior-modal-actions {
    justify-content: flex-end;
}

.registry-driver-ledger-senior-modal-delete {
    margin-right: auto;
}

.registry-driver-ledger-health-modal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-health-modal-field {
    margin: 0;
}

.registry-driver-ledger-health-modal-field--wide {
    grid-column: span 2;
}

.registry-driver-ledger-health-modal-field--full {
    grid-column: 1 / -1;
}

.registry-driver-ledger-health-modal-choice {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 10px 10px;
}

.registry-driver-ledger-health-modal-choice legend {
    font-weight: 700;
    padding: 0 4px;
}

.registry-driver-ledger-health-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.registry-stress-check-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.25rem;
    padding: 2px 8px;
    border-radius: 6px;
    color: #fff;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}

.registry-stress-check-status-badge--taken {
    background: #2563eb;
}

.registry-stress-check-status-badge--not-taken {
    background: #dc2626;
}

.registry-employee-bulk-stress-check-fieldset {
    margin: 16px 0 0;
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
}

.registry-employee-bulk-stress-check-fieldset legend {
    padding: 0 6px;
    font-weight: 700;
}

.registry-employee-bulk-stress-check-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    align-items: stretch;
}

.registry-employee-bulk-stress-check-upload {
    grid-column: span 3;
    min-width: 0;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #f1f5f9;
}

.registry-employee-bulk-stress-check-download {
    grid-column: span 3;
    min-width: 0;
    padding: 12px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: #f1f5f9;
}

.registry-employee-bulk-stress-check-upload h2,
.registry-employee-bulk-stress-check-download h2 {
    margin: 0 0 10px;
    color: #111827;
    font-size: 0.95rem;
    line-height: 1.35;
}

.registry-employee-bulk-stress-check-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    align-items: end;
    margin: 0;
}

.registry-employee-bulk-stress-check-form label {
    display: grid;
    min-width: 0;
    gap: 4px;
    margin: 0;
}

.registry-employee-bulk-stress-check-form label > span {
    color: #334155;
    font-size: 0.82rem;
    font-weight: 700;
}

.registry-employee-bulk-stress-check-form input {
    width: 100%;
    min-width: 0;
}

.registry-employee-bulk-stress-check-action .ui-button {
    width: 100%;
}

.registry-employee-bulk-stress-check-download-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

@media (max-width: 900px) {
    .registry-employee-bulk-stress-check-grid {
        grid-template-columns: 1fr;
    }

    .registry-employee-bulk-stress-check-upload,
    .registry-employee-bulk-stress-check-download {
        grid-column: 1;
    }

    .registry-employee-bulk-stress-check-download {
        padding: 12px;
    }
}

@media (max-width: 640px) {
    .registry-employee-bulk-stress-check-form {
        grid-template-columns: 1fr;
    }
}

.registry-driver-ledger-stress-table td:nth-child(7) {
    min-width: 14rem;
    white-space: normal;
}

.registry-driver-ledger-stress-modal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-stress-modal-field {
    display: grid;
    gap: 4px;
    margin: 0;
}

.registry-driver-ledger-stress-modal-field > span {
    color: #334155;
    font-size: 0.86rem;
    font-weight: 700;
}

.registry-driver-ledger-stress-modal-field--full {
    grid-column: 1 / -1;
}

.registry-driver-ledger-stress-modal-choice {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 10px 10px;
}

.registry-driver-ledger-stress-modal-choice legend {
    font-weight: 700;
    padding: 0 4px;
}

.registry-driver-ledger-stress-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
}

.registry-driver-ledger-stress-choice-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
}

.registry-driver-ledger-stress-choice-list label {
    min-width: 0;
}

.registry-driver-ledger-stress-other-field {
    display: grid;
    gap: 4px;
    margin-top: 10px;
}

.registry-driver-ledger-stress-other-field[hidden],
.registry-driver-ledger-stress-restricted-panel[hidden] {
    display: none;
}

.registry-driver-ledger-stress-restricted-panel {
    display: grid;
    gap: 12px;
}

.registry-driver-ledger-stress-date-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.registry-driver-ledger-accident-modal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-accident-modal-field {
    margin: 0;
}

.registry-driver-ledger-accident-modal-field--datetime {
    grid-column: span 3;
}

.registry-driver-ledger-accident-modal-field--full {
    grid-column: 1 / -1;
}

.registry-driver-ledger-accident-modal-choice {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 10px 10px;
}

.registry-driver-ledger-accident-modal-choice legend {
    font-weight: 700;
    padding: 0 4px;
}

.registry-driver-ledger-accident-radio-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
}

.registry-driver-ledger-accident-modal-section {
    display: grid;
    gap: 10px;
}

.registry-driver-ledger-accident-modal-section h3 {
    margin: 0;
    font-size: 1rem;
}

.registry-driver-ledger-accident-modal-subgrid {
    display: grid;
    grid-template-columns: minmax(10rem, 0.75fr) minmax(10rem, 1fr) minmax(12rem, 1.1fr);
    gap: 10px;
    align-items: end;
}

.registry-driver-ledger-notice-modal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-notice-modal-field {
    margin: 0;
}

.registry-driver-ledger-notice-modal-field--full {
    grid-column: 1 / -1;
}

.registry-driver-ledger-notice-modal-field--datetime {
    grid-column: span 3;
}

.registry-driver-ledger-notice-modal-field--wide {
    grid-column: span 3;
}

.registry-driver-ledger-notice-datetime {
    display: grid;
    grid-template-columns: minmax(11rem, 1fr) minmax(4.5rem, auto) auto minmax(4.5rem, auto) auto;
    gap: 8px;
    align-items: center;
}

.registry-driver-ledger-maintenance-manager-modal-grid,
.registry-driver-ledger-maintenance-manager-training-modal-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-maintenance-manager-modal-grid--nested {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.registry-driver-ledger-maintenance-manager-modal-field,
.registry-driver-ledger-maintenance-manager-training-modal-grid label {
    display: grid;
    gap: 4px;
    margin: 0;
    min-width: 0;
}

.registry-driver-ledger-maintenance-manager-fixed-value {
    display: flex;
    align-items: center;
    min-height: 38px;
    min-width: 0;
    padding: 0 12px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #f8fafc;
    color: #0f172a;
}

.registry-driver-ledger-maintenance-manager-modal-field [data-driver-ledger-maintenance-manager-office-open] {
    min-width: 0;
    width: 100%;
}

.registry-driver-ledger-maintenance-manager-modal-field--wide,
.registry-driver-ledger-maintenance-manager-training-modal-field--wide {
    grid-column: span 2;
}

.registry-driver-ledger-maintenance-manager-modal-field--selected-on {
    grid-column: 1;
}

.registry-driver-ledger-maintenance-manager-modal-field--notification-on {
    grid-column: 2;
}

.registry-driver-ledger-maintenance-manager-modal-field--dismissed-on {
    grid-column: 3;
}

.registry-driver-ledger-maintenance-manager-modal-field--dismissal-notification-on {
    grid-column: 4;
}

.registry-driver-ledger-maintenance-manager-modal-field--full {
    grid-column: 1 / -1;
}

.registry-driver-ledger-operation-manager-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-operation-manager-modal-field,
.registry-driver-ledger-operation-manager-modal-choice,
.registry-driver-ledger-operation-manager-training-modal-field,
.registry-driver-ledger-operation-manager-training-modal-choice {
    display: grid;
    gap: 4px;
    margin: 0;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-modal-field [data-driver-ledger-operation-manager-office-open] {
    min-width: 0;
    width: 100%;
}

.registry-driver-ledger-operation-manager-certificate-grid {
    display: grid;
    grid-template-columns: minmax(120px, 0.9fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(190px, 1.4fr) auto;
    gap: 10px;
    align-items: end;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-certificate-file-field input[type="file"] {
    width: 100%;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-certificate-download {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-certificate-download > span {
    color: #334155;
    font-size: 0.84rem;
    font-weight: 700;
}

.registry-driver-ledger-operation-manager-certificate-download .ui-button {
    justify-content: center;
    min-width: 0;
    width: 100%;
}

.registry-driver-ledger-operation-manager-certificate-download .registry-driver-ledger-file-actions .ui-button {
    min-width: 5.5em;
    width: auto;
}

.registry-driver-ledger-operation-manager-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
}

.registry-driver-ledger-operation-manager-radio-group label {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    margin: 0;
    white-space: nowrap;
}

.registry-driver-ledger-operation-manager-training-modal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(8, auto);
    gap: 12px;
    align-items: end;
}

.registry-driver-ledger-operation-manager-training-modal-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: end;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-training-modal-row--status {
    grid-row: 1;
}

.registry-driver-ledger-operation-manager-training-modal-row--training {
    grid-row: 4;
}

.registry-driver-ledger-operation-manager-training-modal-row--institution {
    grid-row: 5;
}

.registry-driver-ledger-operation-manager-training-modal-row--certificate {
    grid-row: 6;
}

.registry-driver-ledger-operation-manager-training-modal-row--special {
    grid-row: 7;
}

.registry-driver-ledger-operation-manager-training-modal-row--note {
    grid-row: 8;
}

.registry-driver-ledger-operation-manager-training-modal-field[hidden],
.registry-driver-ledger-operation-manager-training-modal-row--special[hidden] {
    display: none;
}

.registry-driver-ledger-operation-manager-experience-entry-section,
.registry-driver-ledger-operation-manager-certificate-return-section {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

.registry-driver-ledger-operation-manager-experience-entry-header,
.registry-driver-ledger-operation-manager-certificate-return-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.registry-driver-ledger-operation-manager-experience-entry-header h3,
.registry-driver-ledger-operation-manager-certificate-return-header h3 {
    margin: 0;
    font-size: 1rem;
}

.registry-driver-ledger-operation-manager-certificate-return-table {
    width: 100%;
    margin: 0;
}

.registry-driver-ledger-operation-manager-certificate-return-table th,
.registry-driver-ledger-operation-manager-certificate-return-table td {
    vertical-align: middle;
}

.registry-driver-ledger-operation-manager-certificate-return-table td:last-child {
    text-align: right;
}

.registry-driver-ledger-operation-manager-certificate-return-modal-field {
    display: grid;
    gap: 4px;
    margin: 0;
    min-width: 0;
}

.registry-driver-ledger-operation-manager-experience-entry-list {
    display: grid;
    gap: 10px;
}

.registry-driver-ledger-operation-manager-experience-entry {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px 8px;
    align-items: end;
    min-width: 0;
    padding: 10px;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #f8fafc;
}

.registry-driver-ledger-operation-manager-experience-entry__field,
.registry-driver-ledger-operation-manager-experience-entry label {
    display: grid;
    gap: 4px;
    min-width: 0;
    margin: 0;
    color: #334155;
    font-size: 0.84rem;
    font-weight: 700;
}

.registry-driver-ledger-operation-manager-experience-entry__drag-handle {
    position: relative;
    grid-column: 1;
    grid-row: 1;
    width: 36px;
    height: 36px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    cursor: grab;
}

.registry-driver-ledger-operation-manager-experience-entry__drag-handle::before {
    content: "";
    position: absolute;
    inset: 9px 11px;
    background-image: radial-gradient(#475569 1.6px, transparent 1.8px);
    background-size: 7px 7px;
}

.registry-driver-ledger-operation-manager-experience-entry__drag-handle:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.registry-driver-ledger-operation-manager-experience-entry__drag-handle:active {
    cursor: grabbing;
}

.registry-driver-ledger-operation-manager-experience-entry--dragging {
    opacity: 0.56;
    border-style: dashed;
}

.registry-driver-ledger-operation-manager-experience-entry__drop-placeholder {
    min-height: 12px;
    border: 2px dashed #2563eb;
    border-radius: 6px;
    background: #eff6ff;
}

.registry-driver-ledger-operation-manager-experience-entry__field--started-on {
    grid-column: 2;
}

.registry-driver-ledger-operation-manager-experience-entry__field--ended-on {
    grid-column: 3;
}

.registry-driver-ledger-operation-manager-experience-entry__field--office-id {
    grid-column: 4;
}

.registry-driver-ledger-operation-manager-experience-entry__field--job-title {
    grid-column: 5;
}

.registry-driver-ledger-operation-manager-experience-entry__field--role-type {
    grid-column: 6;
}

.registry-driver-ledger-operation-manager-experience-entry__remove {
    grid-column: 6;
    grid-row: 2;
    justify-self: end;
}

.registry-driver-ledger-operation-manager-experience-entry input,
.registry-driver-ledger-operation-manager-experience-entry select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-weight: 500;
}

.registry-driver-ledger-operation-manager-experience-entry__field--office-id .ui-button {
    width: 100%;
    min-width: 0;
    justify-content: center;
}

.registry-driver-ledger-maintenance-manager-modal-panel {
    display: grid;
    gap: 10px;
    min-width: 0;
    border-top: 1px solid #e2e8f0;
    padding-top: 12px;
}

.registry-driver-ledger-maintenance-manager-modal-panel[hidden] {
    display: none;
}

.registry-driver-ledger-maintenance-manager-modal-panel-header {
    display: grid;
    grid-template-columns: minmax(10rem, auto) minmax(0, 1fr);
    gap: 16px;
    align-items: center;
}

.registry-driver-ledger-maintenance-manager-modal-panel h3 {
    margin: 0;
    font-size: 1rem;
}

.registry-driver-ledger-maintenance-manager-certificate-field {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
}

.registry-driver-ledger-maintenance-manager-certificate-field input[type="file"] {
    min-width: 0;
    max-width: 360px;
}

.registry-driver-ledger-maintenance-manager-certificate-field .ui-muted {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.registry-driver-ledger-maintenance-manager-modal-choice {
    min-width: 0;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px 10px 10px;
}

.registry-driver-ledger-maintenance-manager-modal-choice legend {
    font-weight: 700;
    padding: 0 4px;
}

.registry-driver-ledger-maintenance-manager-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 7px 12px;
}

.registry-driver-ledger-maintenance-manager-experience-groups .registry-driver-ledger-maintenance-manager-checkbox-grid {
    grid-template-columns: repeat(3, 320px);
    justify-content: start;
}

.registry-driver-ledger-maintenance-manager-checkbox-grid label {
    display: inline-flex;
    gap: 6px;
    align-items: flex-start;
    line-height: 1.45;
}

.registry-driver-ledger-maintenance-manager-experience-groups .registry-driver-ledger-maintenance-manager-checkbox-grid label {
    width: 320px;
    max-width: 320px;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.registry-driver-ledger-maintenance-manager-experience-groups {
    display: grid;
    gap: 10px;
}

.registry-driver-ledger-maintenance-manager-experience-entry-section {
    display: grid;
    gap: 10px;
    min-width: 0;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid #e2e8f0;
}

.registry-driver-ledger-maintenance-manager-experience-entry-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.registry-driver-ledger-maintenance-manager-experience-entry-header h4 {
    margin: 0;
    font-size: 0.95rem;
}

.registry-driver-ledger-maintenance-manager-experience-entry-list {
    display: grid;
    gap: 10px;
}

.registry-driver-ledger-maintenance-manager-experience-entry {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px 8px;
    align-items: start;
    min-width: 0;
    padding: 10px;
    border: 1px solid #dbe4ee;
    border-radius: 8px;
    background: #f8fafc;
}

.registry-driver-ledger-maintenance-manager-experience-entry label {
    display: grid;
    gap: 4px;
    min-width: 0;
    margin: 0;
    color: #334155;
    font-size: 0.84rem;
    font-weight: 700;
}

.registry-driver-ledger-maintenance-manager-experience-entry__drag-handle {
    position: relative;
    grid-column: 6 / span 1;
    grid-row: 1;
    justify-self: start;
    align-self: end;
    width: 36px;
    height: 36px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    cursor: grab;
}

.registry-driver-ledger-maintenance-manager-experience-entry__drag-handle::before {
    content: "";
    position: absolute;
    inset: 9px 11px;
    background-image: radial-gradient(#475569 1.6px, transparent 1.8px);
    background-size: 7px 7px;
}

.registry-driver-ledger-maintenance-manager-experience-entry__drag-handle:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.registry-driver-ledger-maintenance-manager-experience-entry__drag-handle:active {
    cursor: grabbing;
}

.registry-driver-ledger-maintenance-manager-experience-entry--dragging {
    opacity: 0.56;
    border-style: dashed;
}

.registry-driver-ledger-maintenance-manager-experience-entry__drop-placeholder {
    min-height: 12px;
    border: 2px dashed #2563eb;
    border-radius: 6px;
    background: #eff6ff;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--started-on {
    grid-column: 1 / span 1;
    grid-row: 1;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--ended-on {
    grid-column: 2 / span 1;
    grid-row: 1;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--job-title {
    grid-column: 3 / span 1;
    grid-row: 1;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--business-outline {
    grid-column: 4 / span 1;
    grid-row: 1;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--vehicle-type {
    grid-column: 5 / span 1;
    grid-row: 1;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--workplace-name {
    grid-column: 1 / span 1;
    grid-row: 2;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--certifier-name {
    grid-column: 1 / span 1;
    grid-row: 3;
}

.registry-driver-ledger-maintenance-manager-experience-entry__field--certifier-representative-name {
    grid-column: 6 / span 1;
    grid-row: 3;
}

.registry-driver-ledger-maintenance-manager-experience-entry__address {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);
    gap: 4px 8px;
    align-items: start;
    min-width: 0;
}

.registry-driver-ledger-maintenance-manager-experience-entry__address--workplace {
    grid-column: 2 / span 4;
    grid-row: 2;
}

.registry-driver-ledger-maintenance-manager-experience-entry__address--certifier {
    grid-column: 2 / span 4;
    grid-row: 3;
}

.registry-driver-ledger-maintenance-manager-experience-entry__address .workflow-address-input__status {
    grid-column: 1 / -1;
    min-height: 1em;
    font-size: 0.78rem;
    font-weight: 500;
}

.registry-driver-ledger-maintenance-manager-experience-entry__remove {
    grid-column: 6 / span 1;
    grid-row: 1;
    justify-self: end;
    align-self: end;
}

.registry-driver-ledger-maintenance-manager-experience-entry input,
.registry-driver-ledger-maintenance-manager-experience-entry select {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-weight: 500;
}

.registry-maintenance-manager-document-body {
    margin: 0;
    background: #f6f7f8;
    color: #111;
    font-family: "Noto Sans CJK JP", "IPAexGothic", "IPAGothic", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 11px;
    line-height: 1.45;
}

.registry-maintenance-manager-document-page {
    max-width: none;
    padding: 0;
}

.registry-maintenance-manager-document-toolbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 14px;
    background: #fff;
    border-bottom: 1px solid #d8dee4;
}

.registry-maintenance-manager-document-warnings {
    max-width: min(297mm, calc(100vw - 28px));
    margin: 14px auto 0;
    padding: 12px 14px;
    border: 1px solid #f1c27d;
    background: #fff8e8;
    color: #53390b;
}

.registry-maintenance-manager-document-warnings h2 {
    margin: 0 0 6px;
    font-size: 14px;
}

.registry-maintenance-manager-document-warnings p {
    margin: 3px 0;
}

.registry-maintenance-manager-print {
    display: grid;
    gap: 14px;
    padding: 14px;
}

.registry-maintenance-manager-print__sheet {
    box-sizing: border-box;
    width: 297mm;
    max-width: calc(100vw - 28px);
    min-height: 210mm;
    margin: 0 auto;
    padding: 10mm;
    border: 1px solid #cbd5e1;
    background: #fff;
    box-shadow: 0 1px 8px rgb(15 23 42 / 0.08);
    break-after: page;
    page-break-after: always;
    page: registry-maintenance-manager-document;
}

.registry-maintenance-manager-print__sheet:last-child {
    break-after: auto;
    page-break-after: auto;
}

.registry-maintenance-manager-print-header {
    display: grid;
    grid-template-columns: 1fr 1.15fr 1fr;
    gap: 8px;
    align-items: start;
    margin-bottom: 6mm;
}

.registry-maintenance-manager-print-header__recipient {
    font-size: 15px;
}

.registry-maintenance-manager-print-header__recipient strong,
.registry-maintenance-manager-print-header__sender strong,
.registry-maintenance-manager-print-header__sender span {
    display: block;
}

.registry-maintenance-manager-print-header__title {
    text-align: center;
}

.registry-maintenance-manager-print-header__title h1 {
    margin: 0;
    font-size: 22px;
    letter-spacing: 0;
}

.registry-maintenance-manager-print-header__title span {
    display: block;
    margin-top: 2px;
    font-size: 16px;
    font-weight: 700;
}

.registry-maintenance-manager-print-header__sender {
    text-align: right;
    font-size: 13px;
    line-height: 1.35;
}

.registry-maintenance-manager-print__sheet h1 {
    margin: 0 0 8mm;
    text-align: center;
    font-size: 20px;
    letter-spacing: 0;
}

.registry-maintenance-manager-print__sheet h2 {
    margin: 6mm 0 2mm;
    font-size: 12px;
}

.registry-maintenance-manager-print-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 10.5px;
}

.registry-maintenance-manager-print-table th,
.registry-maintenance-manager-print-table td {
    min-height: 2rem;
    padding: 4px 5px;
    border: 1px solid #333;
    color: #111;
    text-align: left;
    vertical-align: top;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.registry-maintenance-manager-print-table th {
    background: #e9eef5;
    font-weight: 700;
}

.registry-maintenance-manager-print-table thead th {
    text-align: center;
}

.registry-maintenance-manager-print-table--summary th {
    width: 28mm;
}

.registry-maintenance-manager-print-table--managers th:nth-child(1),
.registry-maintenance-manager-print-table--managers td:nth-child(1) {
    width: 13mm;
}

.registry-maintenance-manager-print-table--managers th:nth-child(2),
.registry-maintenance-manager-print-table--managers td:nth-child(2) {
    width: 24mm;
}

.registry-maintenance-manager-print-table--managers th:nth-child(3),
.registry-maintenance-manager-print-table--managers td:nth-child(3),
.registry-maintenance-manager-print-table--managers th:nth-child(4),
.registry-maintenance-manager-print-table--managers td:nth-child(4),
.registry-maintenance-manager-print-table--managers th:nth-child(5),
.registry-maintenance-manager-print-table--managers td:nth-child(5),
.registry-maintenance-manager-print-table--managers th:nth-child(6),
.registry-maintenance-manager-print-table--managers td:nth-child(6),
.registry-maintenance-manager-print-table--managers th:nth-child(7),
.registry-maintenance-manager-print-table--managers td:nth-child(7) {
    width: 22mm;
}

.registry-maintenance-manager-print-table--attachment th,
.registry-maintenance-manager-print-table--experience-person th {
    width: 35mm;
}

.registry-maintenance-manager-print-table--experience {
    margin-top: 5mm;
    font-size: 9px;
}

.registry-maintenance-manager-print-table--experience th,
.registry-maintenance-manager-print-table--experience td {
    padding: 3px 4px;
}

.registry-maintenance-manager-print-table--experience th:nth-child(1),
.registry-maintenance-manager-print-table--experience td:nth-child(1),
.registry-maintenance-manager-print-table--experience th:nth-child(2),
.registry-maintenance-manager-print-table--experience td:nth-child(2),
.registry-maintenance-manager-print-table--experience th:nth-child(3),
.registry-maintenance-manager-print-table--experience td:nth-child(3) {
    width: 16mm;
}

.registry-maintenance-manager-print-table--experience th:nth-child(4),
.registry-maintenance-manager-print-table--experience td:nth-child(4),
.registry-maintenance-manager-print-table--experience th:nth-child(5),
.registry-maintenance-manager-print-table--experience td:nth-child(5) {
    width: 18mm;
}

.registry-maintenance-manager-print-table--experience th:nth-child(6),
.registry-maintenance-manager-print-table--experience td:nth-child(6),
.registry-maintenance-manager-print-table--experience th:nth-child(8),
.registry-maintenance-manager-print-table--experience td:nth-child(8) {
    width: 27mm;
}

.registry-maintenance-manager-print-table--experience th:nth-child(7),
.registry-maintenance-manager-print-table--experience td:nth-child(7),
.registry-maintenance-manager-print-table--experience th:nth-child(9),
.registry-maintenance-manager-print-table--experience td:nth-child(9) {
    width: 40mm;
}

.registry-maintenance-manager-print-table--experience th:nth-child(10),
.registry-maintenance-manager-print-table--experience td:nth-child(10) {
    width: 32mm;
}

.registry-operation-manager-print-statement,
.registry-operation-manager-print-note {
    margin: 4mm 0 2mm;
    font-size: 12px;
}

.registry-operation-manager-print-table--business {
    margin-bottom: 3mm;
}

.registry-operation-manager-print-table--business th {
    width: 38mm;
}

.registry-operation-manager-print-table--vehicle-counts {
    margin-bottom: 3mm;
}

.registry-operation-manager-print-table--vehicle-counts th,
.registry-operation-manager-print-table--vehicle-counts td,
.registry-operation-manager-print-table--old-managers th,
.registry-operation-manager-print-table--old-managers td,
.registry-operation-manager-print-table--managers th,
.registry-operation-manager-print-table--managers td {
    text-align: center;
}

.registry-operation-manager-print-table--old-managers td:nth-child(2),
.registry-operation-manager-print-table--old-managers td:nth-child(4),
.registry-operation-manager-print-table--managers td:nth-child(4),
.registry-operation-manager-print-table--managers td:nth-child(7),
.registry-operation-manager-print-table--managers td:nth-child(8) {
    text-align: left;
}

.registry-operation-manager-print-table--managers {
    font-size: 9px;
}

.registry-operation-manager-print-table--managers th:nth-child(1),
.registry-operation-manager-print-table--managers td:nth-child(1) {
    width: 13mm;
}

.registry-operation-manager-print-table--managers th:nth-child(2),
.registry-operation-manager-print-table--managers td:nth-child(2),
.registry-operation-manager-print-table--managers th:nth-child(3),
.registry-operation-manager-print-table--managers td:nth-child(3) {
    width: 16mm;
}

.registry-operation-manager-print-table--managers th:nth-child(4),
.registry-operation-manager-print-table--managers td:nth-child(4) {
    width: 38mm;
}

.registry-operation-manager-print-table--managers th:nth-child(5),
.registry-operation-manager-print-table--managers td:nth-child(5),
.registry-operation-manager-print-table--managers th:nth-child(6),
.registry-operation-manager-print-table--managers td:nth-child(6) {
    width: 24mm;
}

.registry-operation-manager-print-table--managers th:nth-child(7),
.registry-operation-manager-print-table--managers td:nth-child(7) {
    width: 36mm;
}

.registry-maintenance-manager-document-error-modal[open] {
    display: block;
}

@page registry-maintenance-manager-document {
    size: A4 landscape;
    margin: 10mm;
}

@media print {
    .registry-maintenance-manager-document-toolbar,
    .registry-maintenance-manager-document-warnings {
        display: none !important;
    }

    .registry-maintenance-manager-document-body {
        background: #fff;
    }

    main.registry-maintenance-manager-document-page {
        max-width: none;
        padding: 0;
    }

    .registry-maintenance-manager-print {
        gap: 0;
        padding: 0;
    }

    .registry-maintenance-manager-print__sheet {
        width: 277mm;
        max-width: none;
        min-height: 190mm;
        margin: 0;
        padding: 0;
        border: 0;
        box-shadow: none;
        break-after: page;
        page-break-after: always;
    }

    .registry-maintenance-manager-print__sheet:last-child {
        break-after: auto;
        page-break-after: auto;
    }
}

@media (max-width: 640px) {
    .registry-driver-ledger-guidance-heading {
        align-items: flex-start;
    }

    .registry-driver-ledger-dynamic-date-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-general-date-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-initial-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-initial-row__status-spacer {
        display: none;
    }

    .registry-driver-ledger-senior-row {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-senior-content {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }

    .registry-driver-ledger-maintenance-manager-summary,
    .registry-driver-ledger-maintenance-manager-info {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-maintenance-manager-summary__actions {
        justify-content: flex-start;
    }

    .registry-driver-ledger-health-table th,
    .registry-driver-ledger-health-table td,
    .registry-driver-ledger-stress-table th,
    .registry-driver-ledger-stress-table td,
    .registry-driver-ledger-accident-table th,
    .registry-driver-ledger-accident-table td,
    .registry-driver-ledger-senior-table th,
    .registry-driver-ledger-senior-table td {
        white-space: normal;
    }

    .registry-driver-ledger-health-modal-grid,
    .registry-driver-ledger-stress-modal-grid,
    .registry-driver-ledger-stress-date-grid,
    .registry-driver-ledger-accident-modal-grid,
    .registry-driver-ledger-accident-modal-subgrid,
    .registry-driver-ledger-senior-modal-grid,
    .registry-driver-ledger-senior-modal-fields,
    .registry-driver-ledger-senior-modal-fields--guidance,
    .registry-driver-ledger-record-detail-list,
    .registry-driver-ledger-notice-modal-grid,
    .registry-driver-ledger-notice-datetime,
    .registry-driver-ledger-maintenance-manager-modal-grid,
    .registry-driver-ledger-maintenance-manager-modal-grid--nested,
    .registry-driver-ledger-maintenance-manager-training-modal-grid,
    .registry-driver-ledger-operation-manager-modal-grid,
    .registry-driver-ledger-operation-manager-certificate-grid {
        grid-template-columns: 1fr;
    }

    .registry-driver-ledger-health-modal-field--wide,
    .registry-driver-ledger-stress-modal-field--full,
    .registry-driver-ledger-maintenance-manager-modal-field--wide,
    .registry-driver-ledger-maintenance-manager-training-modal-field--wide,
    .registry-driver-ledger-maintenance-manager-modal-field--selected-on,
    .registry-driver-ledger-maintenance-manager-modal-field--notification-on,
    .registry-driver-ledger-maintenance-manager-modal-field--dismissed-on,
    .registry-driver-ledger-maintenance-manager-modal-field--dismissal-notification-on {
        grid-column: 1;
    }

    .registry-driver-ledger-stress-choice-list {
        grid-template-columns: 1fr;
    }

    .registry-maintenance-manager-document-select,
    .registry-operation-manager-document-select {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-corporation-form__main-row,
    .registry-corporation-form__address,
    .registry-office-form__main-row,
    .registry-office-form__address {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-maintenance-manager-experience-entry {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-maintenance-manager-experience-entry__field--started-on,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--ended-on,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--job-title,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--business-outline,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--vehicle-type,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--workplace-name,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--certifier-name,
    .registry-driver-ledger-maintenance-manager-experience-entry__field--certifier-representative-name,
    .registry-driver-ledger-maintenance-manager-experience-entry__drag-handle,
    .registry-driver-ledger-maintenance-manager-experience-entry__address,
    .registry-driver-ledger-maintenance-manager-experience-entry__remove {
        grid-column: auto;
        grid-row: auto;
    }

    .registry-driver-ledger-maintenance-manager-experience-entry__drag-handle {
        justify-self: flex-start;
    }

    .registry-driver-ledger-maintenance-manager-experience-entry__address {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-operation-manager-experience-entry {
        grid-template-columns: minmax(0, 1fr);
    }

    .registry-driver-ledger-operation-manager-experience-entry__drag-handle,
    .registry-driver-ledger-operation-manager-experience-entry__field--started-on,
    .registry-driver-ledger-operation-manager-experience-entry__field--ended-on,
    .registry-driver-ledger-operation-manager-experience-entry__field--office-id,
    .registry-driver-ledger-operation-manager-experience-entry__field--job-title,
    .registry-driver-ledger-operation-manager-experience-entry__field--role-type,
    .registry-driver-ledger-operation-manager-experience-entry__remove {
        grid-column: auto;
        grid-row: auto;
    }

    .registry-driver-ledger-operation-manager-experience-entry__drag-handle {
        justify-self: flex-start;
    }

    .registry-driver-ledger-record-detail {
        min-width: min(520px, calc(100vw - 32px));
        width: min(520px, calc(100vw - 32px));
    }

    .registry-driver-ledger-record-detail__header {
        padding: 16px;
    }

    .registry-driver-ledger-record-detail-sections {
        padding: 12px;
    }

    .registry-driver-ledger-record-detail-list > div {
        border-right: 0;
    }

    .registry-driver-ledger-record-detail-list dd {
        text-align: left;
    }

    .registry-driver-ledger-accident-modal-field--datetime {
        grid-column: 1;
    }

    .registry-driver-ledger-accident-radio-group {
        grid-template-columns: 1fr;
    }

    .registry-driver-ledger-notice-table th,
    .registry-driver-ledger-notice-table td {
        white-space: normal;
    }

    .registry-driver-ledger-notice-modal-field--datetime,
    .registry-driver-ledger-notice-modal-field--wide {
        grid-column: 1;
    }

    .registry-driver-ledger-date-grid--2,
    .registry-driver-ledger-date-grid--3 {
        grid-template-columns: 1fr;
    }
}

/* Dispatch table layout. Served through cache.kilogi.jp/v.../css/app.css. */
.dispatch-workspace-lock[hidden] {
    display: none;
}

.dispatch-workspace-lock {
    align-items: center;
    background: rgba(15, 23, 42, 0.28);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 21000;
}

.dispatch-workspace-lock__panel {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.2);
    display: flex;
    gap: 14px;
    max-width: min(420px, calc(100vw - 32px));
    padding: 18px 20px;
}

.dispatch-workspace-lock__spinner {
    animation: dispatch-workspace-spin 0.8s linear infinite;
    border: 3px solid #dbeafe;
    border-top-color: #2563eb;
    border-radius: 999px;
    display: inline-block;
    flex: 0 0 auto;
    height: 28px;
    width: 28px;
}

.dispatch-workspace-lock__text {
    color: #1e293b;
    display: grid;
    gap: 3px;
    line-height: 1.45;
}

.dispatch-workspace-lock__text strong {
    font-size: 0.98rem;
}

.dispatch-workspace-lock__text span {
    color: #475569;
    font-size: 0.88rem;
}

@keyframes dispatch-workspace-spin {
    to {
        transform: rotate(360deg);
    }
}

.dispatch-vehicle-frame {
    align-items: stretch;
    grid-template-columns: minmax(124px, 140px) minmax(0, 1fr);
    position: sticky;
    top: 0;
    z-index: 80;
}

.dispatch-manual-workspace {
    position: relative;
    z-index: 1;
}

.dispatch-vehicle-frame__actions {
    align-content: start;
    align-items: stretch;
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto repeat(2, minmax(34px, 1fr));
    height: 100%;
}

.dispatch-vehicle-frame__actions h2 {
    grid-column: 1 / -1;
    font-size: 0.86rem;
    line-height: 1.2;
    margin: 0;
}

.dispatch-vehicle-frame__action-form {
    align-self: stretch;
    display: flex;
    height: 100%;
    margin: 0;
    min-width: 0;
}

.dispatch-vehicle-frame__actions .ui-button,
.dispatch-vehicle-frame__actions button {
    align-items: center;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 700;
    height: 100%;
    justify-content: center;
    line-height: 1.1;
    min-height: 34px;
    min-width: 0;
    padding: 6px 4px;
    width: 100%;
}

.dispatch-vehicle-frame__actions .dispatch-vehicle-frame__transfer-button {
    background: #166534;
    border-color: #14532d;
    color: #ffffff;
}

.dispatch-vehicle-frame__actions .dispatch-vehicle-frame__transfer-button:hover,
.dispatch-vehicle-frame__actions .dispatch-vehicle-frame__transfer-button:focus-visible {
    background: #15803d;
    border-color: #166534;
    color: #ffffff;
}

.dispatch-vehicle-frame__surplus-table {
    min-width: 1288px;
}

.dispatch-vehicle-frame__surplus-table .dispatch-vehicle-frame__company-cell {
    min-width: 84px;
    text-align: right;
    width: 84px;
}

.dispatch-vehicle-frame__surplus-table thead .dispatch-vehicle-frame__company-cell {
    text-align: center;
}

.dispatch-vehicle-frame__surplus-table tbody .dispatch-vehicle-frame__company-cell {
    text-align: right;
}

.dispatch-vehicle-frame__surplus-table td:not(.dispatch-vehicle-frame__company-cell),
.dispatch-vehicle-frame__surplus-table th:not(.dispatch-vehicle-frame__company-cell) {
    min-width: 50px;
}

.dispatch-import-apply-confirm__summary {
    margin: 0;
}

.dispatch-import-apply-confirm__table-wrap {
    overflow-x: auto;
}

.dispatch-import-apply-confirm__table td:first-child,
.dispatch-import-apply-confirm__table th:first-child {
    min-width: 220px;
    overflow-wrap: anywhere;
}

.dispatch-import-apply-confirm__delta--positive {
    color: #047857;
    font-weight: 600;
}

.dispatch-import-apply-confirm__delta--negative {
    color: #be123c;
    font-weight: 600;
}

.dispatch-manual-course-card--route-ready {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.dispatch-manual-course-card--route-incomplete {
    border-color: #fecaca;
    background: #fff1f2;
}

.dispatch-manual-course-card--capacity-over {
    border-color: #f87171;
    background: #fee2e2;
}

.dispatch-course-total-menu__toolbar-item--capacity-over {
    color: #991b1b;
}

.dispatch-manual-course-card {
    overflow: visible;
    position: relative;
    z-index: 0;
}

.dispatch-manual-course-card--time-menu-open {
    z-index: 1400;
}

.dispatch-manual-course-card__summary {
    display: block;
    overflow: visible;
    position: relative;
    width: 100%;
    z-index: 20;
}

.dispatch-manual-course-card__header-row {
    align-items: end;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    min-width: max-content;
    width: max-content;
}

.dispatch-manual-course-card__header-row > label,
.dispatch-manual-course-card__header-row > .dispatch-manual-course-card__field {
    align-content: end;
    display: grid;
    flex: 0 0 auto;
    gap: 3px;
    grid-template-rows: 16px minmax(34px, auto);
    margin: 0;
    min-width: 0;
}

.dispatch-manual-course-card__field--loading-time {
    width: 90px;
}

.dispatch-manual-course-card__field--loading-type {
    width: 86px;
}

.dispatch-manual-course-card__field--batch {
    min-width: 72px;
    width: max-content;
}

.dispatch-manual-course-card__field--restriction {
    width: 92px;
}

.dispatch-manual-course-card__field--course {
    flex: 0 0 5.5em;
    width: 5.5em;
}

.dispatch-manual-course-card__field--carrier {
    flex: 0 0 auto;
    min-width: 0;
    max-width: none;
    width: max-content;
}

.dispatch-manual-course-card__field--vehicle-class {
    width: 84px;
}

.dispatch-manual-course-card__field--total {
    width: 78px;
}

.dispatch-manual-course-card__field--weight {
    width: 94px;
}

.dispatch-manual-course-card__header-row input,
.dispatch-manual-course-card__header-row select {
    min-width: 0;
    width: 100%;
}

.dispatch-manual-course-card__field--batch input,
.dispatch-manual-course-card__field--batch select {
    min-width: 72px;
    width: auto;
}

.dispatch-manual-course-card__field--carrier select {
    min-width: 0;
    max-width: none;
    width: max-content;
}

.dispatch-manual-course-card__header-row form {
    align-self: end;
    flex: 0 0 76px;
    margin: 0;
    min-width: 0;
}

.dispatch-manual-course-card__header-row form .ui-button,
.dispatch-manual-course-card__header-row form button {
    width: 100%;
}

.dispatch-field-title,
.dispatch-loading-time-title {
    align-items: center;
    color: #334155;
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 700;
    gap: 4px;
    height: 16px;
    line-height: 16px;
    min-width: 0;
}

.dispatch-loading-time-control {
    display: grid;
    min-height: 34px;
}

.dispatch-loading-time-select--missing:not(:disabled) {
    border-color: #fca5a5;
    background: #fff1f2;
}

.dispatch-partner-company-select--missing:not(:disabled) {
    border-color: #fca5a5;
    background: #fff1f2;
}

.dispatch-assigned-vehicle-class-select--missing:not(:disabled) {
    border-color: #fca5a5;
    background: #fff1f2;
}

.dispatch-loading-place-select--missing:not(:disabled) {
    border-color: #fca5a5;
    background: #fff1f2;
}

.dispatch-loading-time-menu {
    display: inline-flex;
    position: relative;
    z-index: 1600;
}

.dispatch-loading-time-menu[data-dispatch-loading-time-menu-disabled="true"],
.dispatch-loading-time-menu__button:disabled {
    color: #94a3b8;
    cursor: not-allowed;
    opacity: 0.7;
}

.dispatch-manual-course-card--time-menu-open {
    position: relative;
    z-index: 1950;
}

.dispatch-loading-time-menu:hover,
.dispatch-loading-time-menu:focus-within,
.dispatch-loading-time-menu--open {
    z-index: 1980;
}

.dispatch-loading-time-menu::after {
    content: "";
    display: none;
    height: 8px;
    left: -10px;
    position: absolute;
    top: 100%;
    width: calc(100% + 20px);
    z-index: 29;
}

.dispatch-loading-time-menu__button {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    height: 1em;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 1em;
}

.dispatch-loading-time-menu__icon {
    border: 1.5px solid currentColor;
    border-radius: 50%;
    display: inline-block;
    height: 0.92em;
    position: relative;
    width: 0.92em;
}

.dispatch-loading-time-menu__icon::before,
.dispatch-loading-time-menu__icon::after {
    background: currentColor;
    content: "";
    left: 50%;
    position: absolute;
    top: 50%;
    transform-origin: left center;
}

.dispatch-loading-time-menu__icon::before {
    height: 1.5px;
    transform: rotate(0deg);
    width: 0.28em;
}

.dispatch-loading-time-menu__icon::after {
    height: 1.5px;
    transform: rotate(-90deg);
    width: 0.34em;
}

.dispatch-loading-time-menu__popup {
    background: #fff;
    border: 1px solid #b6c7d8;
    border-radius: 6px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.16);
    display: none;
    flex-direction: column;
    gap: 4px;
    left: -9999px;
    padding: 6px;
    position: fixed;
    top: -9999px;
    z-index: 20000;
}

.dispatch-loading-time-menu:hover::after,
.dispatch-loading-time-menu:focus-within::after,
.dispatch-loading-time-menu--open::after {
    display: block;
}

.dispatch-loading-time-menu:hover .dispatch-loading-time-menu__popup,
.dispatch-loading-time-menu:focus-within .dispatch-loading-time-menu__popup,
.dispatch-loading-time-menu--open .dispatch-loading-time-menu__popup,
.dispatch-loading-time-menu__popup--open {
    display: flex;
}

.dispatch-loading-time-menu[data-dispatch-loading-time-menu-disabled="true"]:hover::after,
.dispatch-loading-time-menu[data-dispatch-loading-time-menu-disabled="true"]:focus-within::after,
.dispatch-loading-time-menu[data-dispatch-loading-time-menu-disabled="true"]:hover .dispatch-loading-time-menu__popup,
.dispatch-loading-time-menu[data-dispatch-loading-time-menu-disabled="true"]:focus-within .dispatch-loading-time-menu__popup {
    display: none;
}

.dispatch-manual-course-card__destinations {
    position: relative;
    z-index: 1;
}

.dispatch-loading-time-chip {
    appearance: none;
    border: 1px solid #b6c7d8;
    border-radius: 4px;
    background: #fff;
    color: #111827;
    cursor: pointer;
    font-size: 0.72rem;
    line-height: 1.1;
    min-height: 22px;
    padding: 2px 5px;
    text-align: center;
    width: 64px;
}

.dispatch-loading-time-chip:hover {
    background: #eef4ff;
}

.dispatch-loading-time-chip:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.dispatch-manual-course-card__field--restriction .dispatch-manual-readonly-value,
.dispatch-manual-course-card__field--total .dispatch-manual-readonly-value,
.dispatch-manual-course-card__field--weight .dispatch-manual-readonly-value {
    align-items: center;
    display: flex;
    min-height: 32px;
    overflow-wrap: anywhere;
}

.dispatch-manual-board__transfer-routes {
    display: grid;
    gap: 8px;
    margin-top: 0;
}

.dispatch-manual-board__transfer-routes h2 {
    color: #334155;
    font-size: 1rem;
    margin: 0;
}

.dispatch-manual-destination-card__row {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: max-content minmax(320px, 1fr) 32px minmax(76px, 92px) minmax(58px, 74px);
    min-width: 0;
    width: 100%;
}

.dispatch-destination-tools {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin-bottom: 0;
}

.dispatch-destination-tools .ui-button,
.dispatch-destination-tools button,
.dispatch-destination-drag-handle--icon {
    flex: 0 0 auto;
}

.dispatch-manual-destination-card__identity {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1.2fr);
    min-width: 0;
}

.dispatch-manual-destination-card__identity > div,
.dispatch-manual-destination-card__reservation,
.dispatch-manual-destination-card__quantity {
    align-items: center;
    display: flex;
    min-width: 0;
}

.dispatch-manual-destination-card__identity input,
.dispatch-manual-destination-card__reservation input,
.dispatch-manual-destination-card__quantity input {
    min-width: 0;
    width: 100%;
}

.dispatch-manual-destination-card__field--name,
.dispatch-manual-destination-card__field--address {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dispatch-manual-destination-card__time {
    align-items: center;
    display: flex;
    justify-content: center;
}

.dispatch-time-range-icon {
    align-items: center;
    border: 1px solid #b6c7d8;
    border-radius: 50%;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.dispatch-time-range-tooltip {
    background: #0f172a;
    border-radius: 5px;
    color: #fff;
    font-size: 0.76rem;
    font-weight: 700;
    left: -9999px;
    line-height: 1.2;
    opacity: 0;
    padding: 5px 8px;
    pointer-events: none;
    position: fixed;
    top: -9999px;
    transition: opacity 0.08s ease;
    visibility: hidden;
    white-space: nowrap;
    z-index: 20000;
}

.dispatch-time-range-tooltip--open {
    opacity: 1;
    visibility: visible;
}

.dispatch-time-range-icon > span {
    border: 2px solid #334155;
    border-radius: 50%;
    display: inline-block;
    height: 15px;
    position: relative;
    width: 15px;
}

.dispatch-time-range-icon > span::before,
.dispatch-time-range-icon > span::after {
    background: #334155;
    content: "";
    left: 6px;
    position: absolute;
    top: 3px;
    transform-origin: bottom center;
    width: 2px;
}

.dispatch-time-range-icon > span::before {
    height: 5px;
}

.dispatch-time-range-icon > span::after {
    height: 4px;
    transform: rotate(90deg);
}

.dispatch-manual-destination-card__quantity input,
.dispatch-manual-unassigned__quantity input {
    text-align: right;
}

.dispatch-manual-unassigned__line {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: space-between;
    margin-top: 8px;
}

.dispatch-manual-unassigned__actions {
    align-items: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin-top: 0;
}

.dispatch-manual-unassigned__move {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-width: 34px;
    padding: 5px 7px;
}

.dispatch-manual-unassigned__quantity {
    align-items: center;
    display: flex;
    margin-left: auto;
    width: 72px;
}

.dispatch-manual-unassigned__quantity input {
    width: 100%;
}

@media (max-width: 900px) {
    .dispatch-manual-destination-card__row,
    .dispatch-manual-destination-card__identity {
        grid-template-columns: minmax(0, 1fr);
    }

    .dispatch-destination-tools {
        overflow-x: auto;
    }
}

/* Dispatch unassigned cards follow their content height. */
.dispatch-manual-panel--destinations {
    grid-template-rows: auto auto;
    max-height: none;
}

.dispatch-manual-unassigned__cards {
    align-items: flex-start;
    overflow-y: visible;
}

.dispatch-manual-unassigned__card {
    grid-template-rows: auto;
    height: auto;
    min-height: 0;
    max-height: none;
}

.dispatch-manual-unassigned__main {
    align-content: start;
}

.dispatch-manual-unassigned__name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-board__courses {
    gap: 0;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card {
    overflow: visible;
    position: relative;
    z-index: 0;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card.dispatch-manual-course-card--route-ready,
main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card.dispatch-manual-course-card--route-incomplete {
    border-radius: 0;
    padding: 0 10px 0 30px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card.dispatch-manual-course-card--capacity-over {
    background: #fee2e2;
    border-color: #f87171;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card--route-header-hidden .dispatch-course-total-menu__button {
    background: #fff7ed;
    border-color: #fdba74;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card__route-row.dispatch-manual-destination-card__row {
    align-items: stretch;
    display: grid;
    gap: 6px;
    grid-template-columns: 78px minmax(0, 1fr);
    min-width: 0;
    position: relative;
    width: 100%;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu {
    align-self: stretch;
    display: flex;
    min-width: 0;
    position: relative;
    z-index: 10;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__button {
    align-items: center;
    appearance: none;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    font-weight: 700;
    gap: 6px;
    height: 100%;
    justify-content: center;
    line-height: 1.1;
    max-width: 78px;
    min-height: 100%;
    min-width: 0;
    padding: 6px 4px;
    width: 78px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__batch {
    box-sizing: border-box;
    display: block;
    max-width: 100%;
    overflow-wrap: anywhere;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__button span {
    color: #334155;
    font-size: 0.72rem;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__button strong {
    font-size: 0.95rem;
    font-variant-numeric: tabular-nums;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__button .dispatch-course-total-menu__batch {
    font-size: 0.95rem;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__total-title {
    border-top: 1px solid #cbd5e1;
    box-sizing: border-box;
    margin-top: 4px;
    padding-top: 8px;
    width: 100%;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__button:hover,
main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu:focus-within .dispatch-course-total-menu__button {
    background: #eef4ff;
    border-color: #93b4e8;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu:hover,
main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu:focus-within {
    z-index: 1900;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__toolbar {
    align-items: stretch;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.16);
    display: none;
    gap: 4px;
    left: calc(100% + 6px);
    max-width: calc(100vw - 150px);
    overflow-x: auto;
    padding: 6px;
    position: absolute;
    top: 0;
    white-space: nowrap;
    width: max-content;
    z-index: 1900;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu:hover .dispatch-course-total-menu__toolbar,
main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu:focus-within .dispatch-course-total-menu__toolbar {
    display: flex;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu.dispatch-course-total-menu--tooltip-dismissed:hover .dispatch-course-total-menu__toolbar,
main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu.dispatch-course-total-menu--tooltip-dismissed:focus-within .dispatch-course-total-menu__toolbar {
    display: none;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__toolbar-item {
    align-content: center;
    background: #f8fafc;
    border: 1px solid #dbe4f0;
    border-radius: 5px;
    display: grid;
    gap: 2px;
    min-height: 36px;
    min-width: 62px;
    padding: 4px 7px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__toolbar-item span {
    color: #64748b;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 1.1;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-course-total-menu__toolbar-item strong {
    color: #0f172a;
    display: block;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
    line-height: 1.15;
    max-width: 12em;
    overflow: hidden;
    text-overflow: ellipsis;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card__route-body {
    display: grid;
    gap: 6px;
    min-width: 0;
    width: 100%;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card__summary--route-header {
    background: #ffffff;
    border: 1px solid #dbe4f0;
    border-radius: 6px;
    padding: 6px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card__summary[hidden] {
    display: none !important;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card__route-row .dispatch-manual-course-card__destinations {
    min-width: 0;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-split-menu {
    display: inline-flex;
    position: relative;
    z-index: 1600;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-course-card--split-menu-open {
    position: relative;
    z-index: 1950;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-destination-card--split-menu-open {
    position: relative;
    z-index: 1960;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-destination-card__row {
    position: relative;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-destination-card__row--split-menu-open {
    z-index: 1970;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-split-menu__popup {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    box-shadow: 0 12px 26px rgba(15, 23, 42, 0.16);
    display: none;
    left: var(--dispatch-split-menu-left, -9999px);
    min-width: 132px;
    padding: 4px;
    position: fixed;
    top: var(--dispatch-split-menu-top, -9999px);
    z-index: 20000;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-split-menu:hover,
main[data-view="dispatch-delivery-date-detail"] .dispatch-split-menu:focus-within,
main[data-view="dispatch-delivery-date-detail"] .dispatch-split-menu--open {
    z-index: 1980;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-split-menu--open .dispatch-split-menu__popup {
    display: grid;
    gap: 2px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 4px;
    color: #0f172a;
    cursor: pointer;
    display: flex;
    font-size: 12px;
    font-weight: 600;
    gap: 12px;
    height: 28px;
    justify-content: space-between;
    line-height: 1;
    min-height: 28px;
    padding: 0 8px;
    text-align: left;
    width: 100%;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item:hover,
main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item:focus-visible {
    background: #e0f2fe;
    outline: none;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item strong {
    font-variant-numeric: tabular-nums;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item--disabled,
main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item:disabled {
    color: #94a3b8;
    cursor: not-allowed;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item--disabled:hover,
main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .dispatch-split-menu__item:disabled:hover {
    background: transparent;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-destination-card__text-value {
    background: #ffffff;
    box-sizing: border-box;
    color: #0f172a;
    display: block;
    font-size: 0.86rem;
    font-weight: 400;
    line-height: 1.25;
    min-height: 24px;
    overflow: hidden;
    padding: 3px 7px;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools {
    gap: 4px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools .ui-button,
main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-tools button {
    border-radius: 4px;
    font-size: 0.7rem;
    height: 24px;
    line-height: 1;
    min-height: 24px;
    padding: 0 7px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-drag-handle {
    border-radius: 4px;
    height: 24px;
    min-height: 24px;
    padding: 2px 5px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-drag-handle--icon {
    min-width: 24px;
    padding: 2px;
    width: 24px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-destination-drag-handle__icon {
    height: 14px;
    width: 14px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-time-range-icon {
    height: 24px;
    width: 24px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-time-range-icon > span {
    height: 12px;
    width: 12px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-time-range-icon > span::before,
main[data-view="dispatch-delivery-date-detail"] .dispatch-time-range-icon > span::after {
    left: 5px;
    top: 2px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-time-range-icon > span::before {
    height: 4px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-time-range-icon > span::after {
    height: 3px;
}

main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-destination-card__reservation input,
main[data-view="dispatch-delivery-date-detail"] .dispatch-manual-destination-card__quantity input {
    background: #ffffff;
    border: 0;
    border-bottom: 1px solid #94a3b8;
    border-radius: 0;
    font-size: 0.86rem;
    height: 24px;
    line-height: 1.1;
    min-height: 24px;
    padding: 2px 4px;
}
