/* Shared UI foundations and feedback, loaded after the vendor theme. */
:root {
    --app-text: #2f384f;
    --app-muted: #586575;
}
.page-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; min-width: 0; }
.page-header__content { min-width: 0; flex: 1 1 16rem; }
.page-header__title { margin: 0; color: var(--app-text); font-size: 1.5rem; line-height: 1.3; font-weight: 600; overflow-wrap: anywhere; }
.page-header__description { margin: .4rem 0 0; max-width: 72ch; color: var(--app-muted); }
.page-header__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.skip-link { position: fixed; top: .5rem; left: 1rem; z-index: 1100; padding: .75rem 1rem; background: #fff; color: var(--app-text); border: 2px solid var(--bs-primary); border-radius: .375rem; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
#main-content:focus { outline: none; }

/* Secondary actions are neutral; destructive actions retain btn-danger. */
.btn-outline-secondary {
    --bs-btn-color: #586575;
    --bs-btn-border-color: #8995a3;
    --bs-btn-hover-color: #2f384f;
    --bs-btn-hover-bg: #edf1f4;
    --bs-btn-hover-border-color: #586575;
    --bs-btn-active-color: #2f384f;
    --bs-btn-active-bg: #e2e8ee;
    --bs-btn-active-border-color: #586575;
    --bs-btn-disabled-color: #586575;
    --bs-btn-disabled-border-color: #8995a3;
    --bs-btn-focus-shadow-rgb: 88, 101, 117;
}
.filter-form .form-label, .result-controls .form-label { margin-top: 0; }
.filter-actions, .result-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.result-controls { justify-content: flex-end; }
.result-controls > div { flex: 0 1 10rem; }
.active-filters { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: 0; margin: .75rem 0; list-style: none; color: var(--app-muted); font-size: .875rem; }
.empty-state { padding: 1.5rem; }
.empty-state p { max-width: 65ch; }
.account-page { padding: 1rem; }
.account-page .auth-card { width: min(100%, 32rem); margin: 0 auto; }
.account-page .auth-title { font-size: 1.5rem; line-height: 1.3; }

/* Shared feedback for actionable controls; ordinary information cards stay still. */
.btn,
a.card[href] {
    transition: background-color 150ms ease, border-color 150ms ease,
        color 150ms ease, box-shadow 150ms ease;
}

.btn:focus-visible,
a.card[href]:focus-visible {
    outline: 2px solid var(--bs-primary, #238477);
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    .btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):hover {
        box-shadow: 0 2px 6px rgb(0 0 0 / 14%);
    }

    a.card[href]:not(.disabled):not([aria-disabled="true"]):hover {
        border-color: var(--bs-primary, #238477);
        box-shadow: 0 4px 14px rgb(0 0 0 / 12%);
    }
}

.btn:not(:disabled):not(.disabled):not([aria-disabled="true"]):active {
    box-shadow: inset 0 1px 3px rgb(0 0 0 / 16%);
}

@media (prefers-reduced-motion: reduce) {
    .btn,
    a.card[href] {
        transition: none;
    }
}

/* Stable read panels and visible navigation feedback. */
#navigation-status { position: fixed; top: 8px; right: 20px; z-index: 1100; padding: 10px 18px; background: #fff; color: #245d54; border: 1px solid #287f71; border-top: 3px solid #287f71; border-radius: 6px; box-shadow: 0 3px 12px #0002; }
#side-menu a[data-nav-pending] { outline: 2px dashed #287f71; outline-offset: -2px; }
#side-menu a[aria-current="page"] { background: #dceee9; box-shadow: inset 3px 0 #287f71; font-weight: 600; }
.sidebar-menu-scroll { scrollbar-gutter: stable; scrollbar-width: auto; scrollbar-color: #81978f #eef2f0; }
#side-menu { user-select: none; }
[data-dashboard-work-orders] > .card-body { min-height: 430px; }
[data-schedule-preview-url] { min-height: 330px; }
[data-dashboard-summary] { min-height: 180px; }
[data-queue-count-url] { min-width: 3rem; }
.maintenance-register-table { min-width: 1250px; }
.maintenance-register-table th { white-space: nowrap; }
.maintenance-register-table td { min-width: 90px; white-space: normal; vertical-align: top; }
.maintenance-register-table td:nth-child(3), .maintenance-register-table td:nth-last-child(2) { min-width: 180px; }
.maintenance-register-table .text-muted { color: #53616c !important; }

.dashboard-skeleton > div { height: 42px; margin: 10px 0; background: #edf1f0; border-radius: 3px; }
.logo-box { flex: 0 0 auto; position: relative; }

.maintenance-register-table td:nth-child(8) { min-width: 180px; }
.maintenance-register-table th:first-child, .maintenance-register-table td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; }
.maintenance-register-table th:last-child, .maintenance-register-table td:last-child { position: sticky; right: 0; background: #fff; z-index: 1; }
.maintenance-register-table td:nth-last-child(3) { white-space: nowrap; }
