.hr-page {
    color: var(--hr-color-text);
    font-family: var(--hr-font-family);
    font-size: var(--hr-font-size-body);
    line-height: var(--hr-line-height-body);
    margin-inline: auto;
    max-width: var(--hr-layout-content-max);
    min-width: 0;
    width: 100%;
}

.hr-page__header,
.hr-section__header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--hr-space-4);
    justify-content: space-between;
    margin-bottom: var(--hr-space-4);
    min-width: 0;
}

.hr-page__header {
    margin-bottom: var(--hr-space-6);
}

.hr-page__header > div:first-child {
    flex: 1 1 240px;
    min-width: 0;
}

.hr-page__header h1 {
    font-size: var(--hr-font-size-page-title);
    line-height: var(--hr-line-height-heading);
    margin: 0;
    overflow-wrap: break-word;
}

.hr-page__header p:not(.eyebrow),
.hr-page__description,
.hr-section__header p {
    color: var(--hr-color-text-muted);
    margin: var(--hr-space-2) 0 0;
}

.hr-surface {
    background: var(--hr-color-surface);
    border: 1px solid var(--hr-color-border);
    border-radius: var(--hr-radius-surface);
    margin-bottom: var(--hr-space-6);
    max-width: 100%;
    min-width: 0;
    padding: var(--hr-space-6);
}

.hr-section {
    border: 0;
    border-top: 1px solid var(--hr-color-border);
    border-radius: 0;
    box-shadow: none;
    min-width: 0;
    padding: var(--hr-space-4) 0 0;
}

.hr-section + .hr-section {
    margin-top: var(--hr-space-4);
}

.hr-section-grid {
    display: grid;
    gap: var(--hr-space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hr-section-grid > .hr-section {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    margin-top: 0;
    row-gap: 0;
}

.hr-surface h2,
.hr-section h2 {
    font-size: var(--hr-font-size-section-title);
    line-height: var(--hr-line-height-heading);
    margin: 0 0 var(--hr-space-4);
}

.hr-section__header h2,
.hr-section__header h3 {
    margin: 0;
}

.hr-summary-grid {
    display: grid;
    gap: var(--hr-space-4);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    margin-bottom: var(--hr-space-6);
    min-width: 0;
}

.hr-summary-card {
    align-content: start;
    background: var(--hr-color-surface);
    border: 1px solid var(--hr-color-border);
    border-radius: var(--hr-radius-surface);
    color: var(--hr-color-text);
    display: grid;
    gap: var(--hr-space-2);
    min-width: 0;
    padding: var(--hr-space-4);
    text-decoration: none;
}

.hr-summary-card > span,
.hr-summary-card__label,
.hr-summary-card dt {
    color: var(--hr-color-text-muted);
    font-size: var(--hr-font-size-small);
    font-weight: var(--hr-font-weight-semibold);
}

.hr-summary-card > strong,
.hr-summary-card__value {
    font-size: var(--hr-font-size-section-title);
    line-height: var(--hr-line-height-heading);
    overflow-wrap: break-word;
}

.hr-summary-card > small,
.hr-summary-card__meta,
.hr-summary-card > p {
    color: var(--hr-color-text-muted);
    font-size: var(--hr-font-size-small);
    line-height: var(--hr-line-height-body);
    margin: 0;
}

.hr-summary-card h2,
.hr-summary-card h3,
.hr-summary-card dd {
    margin: 0;
}

a.hr-summary-card:hover {
    background: var(--hr-color-surface-muted);
    border-color: var(--hr-color-primary);
    color: var(--hr-color-text);
}

.hr-summary-card--module {
    background: var(--hr-color-module-card-background);
}

a.hr-summary-card--module:hover {
    background: var(--hr-color-module-card-hover);
}

a.hr-summary-card:focus-visible,
.hr-disclosure > summary:focus-visible,
details.hr-surface > summary:focus-visible {
    outline: 2px solid var(--hr-color-focus);
    outline-offset: 3px;
    box-shadow: 0 0 0 3px var(--hr-color-focus-ring);
}

.hr-summary-card--muted {
    background: var(--hr-color-surface-muted);
    color: var(--hr-color-text-muted);
}

.hr-summary-card--warning {
    border-left: var(--hr-space-1) solid var(--hr-color-warning-border);
}

.hr-summary-card--danger {
    border-left: var(--hr-space-1) solid var(--hr-color-danger-border);
}

.hr-summary-card--quiet {
    background: var(--hr-color-surface-muted);
    border: 0;
    border-radius: var(--hr-radius-control);
    padding: var(--hr-space-3);
}

.hr-summary-card--quiet > strong {
    font-size: inherit;
}

.hr-alert {
    background: var(--hr-color-info-background);
    border: 1px solid var(--hr-color-info-border);
    border-radius: var(--hr-radius-control);
    color: var(--hr-color-info-text);
    font-weight: var(--hr-font-weight-semibold);
    line-height: var(--hr-line-height-body);
    margin: 0 0 var(--hr-space-4);
    min-width: 0;
    padding: var(--hr-space-3) var(--hr-space-4);
    overflow-wrap: break-word;
}

.hr-status {
    align-items: center;
    background: var(--hr-color-info-background);
    border: 1px solid var(--hr-color-info-border);
    border-radius: var(--hr-radius-control);
    color: var(--hr-color-info-text);
    display: inline-flex;
    font-size: var(--hr-font-size-small);
    font-weight: var(--hr-font-weight-semibold);
    line-height: var(--hr-line-height-body);
    max-width: 100%;
    overflow-wrap: normal;
    padding: var(--hr-space-1) var(--hr-space-2);
    white-space: normal;
    word-break: normal;
}

.hr-alert--success,
.hr-status--success {
    background: var(--hr-color-success-background);
    border-color: var(--hr-color-success-border);
    color: var(--hr-color-success-text);
}

.hr-alert--warning,
.hr-status--warning {
    background: var(--hr-color-warning-background);
    border-color: var(--hr-color-warning-border);
    color: var(--hr-color-warning-text);
}

.hr-alert--danger,
.hr-status--danger {
    background: var(--hr-color-danger-background);
    border-color: var(--hr-color-danger-border);
    color: var(--hr-color-danger-text);
}

.hr-alert--info,
.hr-status--info {
    background: var(--hr-color-info-background);
    border-color: var(--hr-color-info-border);
    color: var(--hr-color-info-text);
}

.hr-alert:empty,
.hr-alert.validation-summary-valid {
    display: none;
}

.hr-alert > :first-child {
    margin-top: 0;
}

.hr-alert > :last-child {
    margin-bottom: 0;
}


.hr-empty {
    color: var(--hr-color-text-muted);
    line-height: var(--hr-line-height-body);
    margin: 0;
    padding-block: var(--hr-space-3);
}

.hr-text-muted {
    color: var(--hr-color-text-muted);
    margin: 0;
}

.hr-disclosure {
    min-width: 0;
}

.hr-disclosure > summary,
details.hr-surface > summary {
    cursor: pointer;
    min-height: var(--hr-control-height-compact);
}

.hr-pagination {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--hr-space-2);
    justify-content: flex-end;
    margin-top: var(--hr-space-4);
    min-width: 0;
}

.hr-pagination__status {
    color: var(--hr-color-text-muted);
    font-size: var(--hr-font-size-small);
    font-weight: var(--hr-font-weight-semibold);
    min-width: 0;
    text-align: center;
}

@media screen and (max-width: 980px) {
    .hr-section-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .hr-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 720px) {
    .hr-summary-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .hr-page__header,
    .hr-section__header {
        align-items: stretch;
        flex-direction: column;
    }

    .hr-page__header > div:first-child {
        flex-basis: auto;
    }

    .hr-surface {
        padding: var(--hr-space-4);
    }

    .hr-pagination {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hr-pagination__status {
        grid-column: 1 / -1;
        grid-row: 1;
        text-align: left;
    }
}

@media screen and (max-width: 480px) {
    .hr-surface,
    .hr-summary-card {
        padding: var(--hr-space-3);
    }
}

@media print {
    .hr-pagination {
        display: none;
    }
}
/* Shared overtime guidance remains available even when no review records exist. */
.overtime-guidance {
    display: grid;
    gap: var(--hr-space-3);
}

.overtime-guidance > p {
    margin: 0;
}

.overtime-guidance__details {
    background: var(--hr-color-surface);
    border: 1px solid var(--hr-color-border);
    border-radius: var(--hr-radius-card);
    padding: var(--hr-space-4);
}

.overtime-guidance__details > summary {
    color: var(--hr-color-heading);
    cursor: pointer;
    font-weight: var(--hr-font-weight-semibold);
}

.overtime-guidance__content {
    display: grid;
    gap: var(--hr-space-3);
    margin-top: var(--hr-space-4);
    max-width: 75ch;
}

.overtime-guidance__content :is(h2, p, ul) {
    margin: 0;
}

.overtime-guidance__content h2 {
    font-size: var(--hr-font-size-card-title);
}

.provisional-holiday-disclosure__summary {
    cursor: pointer;
    display: grid;
    gap: var(--hr-space-1);
    list-style: none;
    padding-inline-end: calc(var(--hr-space-6) + var(--hr-space-2));
    position: relative;
}

.provisional-holiday-disclosure__summary::-webkit-details-marker {
    display: none;
}

.provisional-holiday-disclosure__summary::after {
    color: var(--hr-color-text-muted);
    content: "\203A";
    font-size: var(--hr-font-size-section-title);
    inset-inline-end: 0;
    line-height: 1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.provisional-holiday-disclosure[open] > .provisional-holiday-disclosure__summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.provisional-holiday-disclosure__heading {
    color: var(--hr-color-heading);
    font-size: var(--hr-font-size-section-title);
    font-weight: var(--hr-font-weight-semibold);
    margin: 0;
}

.provisional-holiday-disclosure__count {
    color: var(--hr-color-text-muted);
    margin: 0;
}

.provisional-holiday-disclosure__body {
    margin-top: var(--hr-space-4);
}
