:root {
    --et-black: #000000;
    --et-navy: #14213d;
    --et-orange: #fca311;
    --et-gray: #e5e5e5;
    --et-white: #ffffff;
}

html,
body {
    margin: 0;
    min-height: 100%;
    background: var(--et-gray);
    color: var(--et-black);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
}

* {
    box-sizing: border-box;
}

a {
    color: var(--et-navy);
}

a:hover {
    color: var(--et-black);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--et-navy);
}

button,
input,
select,
textarea {
    font: inherit;
}

.btn-primary {
    --bs-btn-color: var(--et-white);
    --bs-btn-bg: var(--et-navy);
    --bs-btn-border-color: var(--et-navy);
    --bs-btn-hover-color: var(--et-black);
    --bs-btn-hover-bg: var(--et-orange);
    --bs-btn-hover-border-color: var(--et-orange);
    --bs-btn-active-color: var(--et-black);
    --bs-btn-active-bg: var(--et-orange);
    --bs-btn-active-border-color: var(--et-orange);
}

.content {
    padding-inline: 1rem !important;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #198754;
}

.invalid {
    outline: 1px solid #b42318;
}

.validation-message {
    color: #b42318;
}

#blazor-error-ui {
    background: #fff3cd;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}

.blazor-error-boundary {
    background: #b42318;
    color: #ffffff;
    padding: 1rem;
}

@media (min-width: 900px) {
    .content {
        padding-inline: 1.35rem !important;
    }
}


/* EQUIPMENT TRACKER UNIFIED COMPACT FORMS */
.form-card,
.report-card,
.filters-card,
.employee-picker {
    padding: 7px !important;
    border-radius: 4px !important;
}

.form-card .section-heading,
.report-card h2 {
    margin: 0 0 5px !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
}

.form-card .form-grid,
.form-card .task-form-grid,
.modal-form-grid,
.report-grid,
.filters-card,
.employee-picker,
.service-form-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
    gap: 6px !important;
    align-items: end !important;
    margin: 5px 0 0 !important;
}

.form-grid > label,
.modal-form-grid > label,
.employee-picker > label,
.report-card form > label,
.report-grid > label {
    min-width: 0 !important;
    margin: 0 !important;
    gap: 0 !important;
}

.form-grid > label > span,
.modal-form-grid > label > span,
.employee-picker > label > span,
.report-card form > label > span,
.report-grid > label > span {
    display: block;
    margin: 0 0 2px !important;
    color: #14213d !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
}

/* Text, number, dropdown and notes fields identify themselves inside the control. */
.form-grid > label:has(input[placeholder]) > span,
.form-grid > label:has(textarea[placeholder]) > span,
.form-grid > label:has(select) > span,
.modal-form-grid > label:has(input[placeholder]) > span,
.modal-form-grid > label:has(textarea[placeholder]) > span,
.modal-form-grid > label:has(select) > span,
.employee-picker > label:has(input[placeholder]) > span,
.employee-picker > label:has(select) > span,
.report-card form > label:has(input[placeholder]) > span,
.report-card form > label:has(textarea[placeholder]) > span,
.report-card form > label:has(select) > span {
    display: none !important;
}

.form-grid .compact-input,
.modal-form-grid .compact-input,
.report-grid .compact-input,
.form-card input:not([type="checkbox"]),
.form-card select,
.form-card textarea,
.filters-card .filter,
.filter-input,
.search-input,
.mobile-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    border: 1px solid #8d8d8d !important;
    border-radius: 2px !important;
    padding: 2px 5px !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
}

.form-grid textarea.compact-input,
.modal-form-grid textarea.compact-input,
.report-grid textarea.compact-input,
.report-card textarea.mobile-input,
.notes-input,
.modal-notes-input,
.textarea {
    height: 46px !important;
    min-height: 46px !important;
    resize: vertical !important;
}

.form-grid .wide,
.form-grid .notes,
.form-grid .notes-field,
.form-grid .task-notes-field,
.modal-form-grid .modal-notes-field,
.description-field,
.location-field,
.employee-field,
.status-field,
.date-field,
.equipment-field {
    grid-column: span 1 !important;
}

.field-group small {
    display: none !important;
}

.form-actions,
.modal-actions,
.report-grid .primary-button {
    margin-top: 6px !important;
}

.primary-button,
.secondary-button,
.submit-button,
.form-card button,
.report-card button {
    min-height: 28px !important;
    height: auto !important;
    padding: 3px 9px !important;
    border-radius: 3px !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
}

.recurrence-strip {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: end !important;
    gap: 6px !important;
    margin-top: 6px !important;
    padding: 5px !important;
}

.recurrence-checkbox {
    min-height: 27px !important;
    margin: 0 !important;
}

.recurrence-field {
    min-width: 145px !important;
    margin: 0 !important;
}

.recurrence-field > span {
    margin: 0 0 2px !important;
    font-size: 10px !important;
    line-height: 1 !important;
}

.recurrence-every-field {
    min-width: 80px !important;
    width: 90px !important;
}

.filters-card,
.filters,
.toolbar.no-print {
    gap: 6px !important;
}

.filters-card .filter,
.filters .filter-input,
.toolbar.no-print .search-input {
    width: 100% !important;
}

@media (max-width: 900px) {
    .form-card .form-grid,
    .form-card .task-form-grid,
    .modal-form-grid,
    .report-grid,
    .employee-picker {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .form-card .form-grid,
    .form-card .task-form-grid,
    .modal-form-grid,
    .report-grid,
    .employee-picker {
        grid-template-columns: 1fr !important;
    }

    .form-grid .compact-input,
    .modal-form-grid .compact-input,
    .report-grid .compact-input,
    .form-card input:not([type="checkbox"]),
    .form-card select,
    .form-card textarea,
    .mobile-input,
    .password-modal .compact-input {
        min-height: 36px !important;
        height: 36px !important;
        font-size: 14px !important;
    }

    .form-grid textarea.compact-input,
    .modal-form-grid textarea.compact-input,
    .report-grid textarea.compact-input,
    .report-card textarea.mobile-input,
    .notes-input,
    .modal-notes-input,
    .textarea {
        min-height: 58px !important;
        height: 58px !important;
    }
}

.password-modal .compact-input {
    width: 100% !important;
    min-width: 0 !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    border: 1px solid #8d8d8d !important;
    border-radius: 2px !important;
    padding: 2px 5px !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 12px !important;
}

/* FINAL COMPACT FORM ALIGNMENT FIXES */
.form-card .form-grid,
.form-card .task-form-grid,
.modal-form-grid,
.report-grid,
.service-form-grid,
.employee-picker {
    align-items: start !important;
}

.form-card textarea,
.report-card textarea,
.modal-form-grid textarea,
.form-grid textarea,
.task-form-grid textarea,
.notes-input,
.modal-notes-input,
.textarea {
    align-self: start !important;
    margin-top: 0 !important;
    vertical-align: top !important;
}

/* Keep date controls on the same baseline as placeholder-based controls. */
.task-form-grid,
.repair-form-grid {
    margin-top: 17px !important;
}

.task-form-grid .date-field,
.repair-form-grid .date-field,
.modal-form-grid .date-field {
    position: relative !important;
}

.task-form-grid .date-field > span,
.repair-form-grid .date-field > span,
.modal-form-grid .date-field > span {
    position: absolute !important;
    top: -13px !important;
    left: 2px !important;
    display: block !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* SITE-WIDE DATE INPUT ALIGNMENT V14
   Keep every date control on the same top edge as neighboring text boxes and
   dropdowns. The date label sits inside the control instead of creating a
   taller grid item. */
.task-form-grid,
.repair-form-grid {
    margin-top: 5px !important;
}

.aligned-date-field {
    position: relative !important;
    display: block !important;
    min-width: 0 !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: start !important;
}

.aligned-date-field > span {
    position: absolute !important;
    z-index: 2 !important;
    top: 2px !important;
    left: 6px !important;
    bottom: auto !important;
    display: block !important;
    margin: 0 !important;
    color: #14213d !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}

.aligned-date-field input[type="date"],
.aligned-date-field .compact-input,
.aligned-date-field .mobile-input {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 9px 5px 0 5px !important;
    vertical-align: top !important;
}

.aligned-date-field > small {
    display: none !important;
}

/* DATE LABELS BELOW INPUTS V15 - keeps date boxes aligned with other controls */
.aligned-date-field {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 39px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 2px !important;
    align-self: start !important;
    overflow: visible !important;
}
.aligned-date-field > span {
    position: static !important;
    order: 2 !important;
    z-index: auto !important;
    display: block !important;
    margin: 0 0 0 2px !important;
    padding: 0 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 10px !important;
    height: 10px !important;
    color: #333 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
}
.aligned-date-field input[type="date"],
.aligned-date-field .compact-input,
.aligned-date-field .mobile-input {
    position: static !important;
    order: 1 !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 3px 5px !important;
    vertical-align: top !important;
}
.aligned-date-field > small { display: none !important; }

/* OPERATIONS SUITE V29: shared components, global search, parts, timeline and notifications */
.et-page { display:flex; flex-direction:column; gap:.8rem; padding-bottom:2rem; }
.et-page-header { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:.25rem 0 .4rem; }
.et-page-header h1 { margin:.08rem 0 0; font-size:1.45rem; font-weight:900; }
.et-page-header p { margin:.18rem 0 0; color:#5d6675; font-size:.75rem; }
.et-page-kicker { color:#9a6200; font-size:.62rem; font-weight:950; letter-spacing:.12em; }
.et-page-actions,.et-panel-actions,.et-form-actions,.et-row-actions { display:flex; align-items:center; gap:.38rem; flex-wrap:wrap; }
.et-panel { overflow:hidden; border:1px solid #c8cdd4; border-radius:7px; background:#fff; box-shadow:0 1px 3px rgba(20,33,61,.07); }
.et-panel-header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.62rem .72rem; border-bottom:1px solid #d8dce1; background:#f7f8fa; }
.et-panel-header h2 { margin:0; font-size:.88rem; font-weight:900; }
.et-panel-header span { display:block; margin-top:.12rem; color:#667080; font-size:.64rem; }
.et-panel-body { padding:.72rem; }
.et-empty-state { display:flex; min-height:120px; flex-direction:column; align-items:center; justify-content:center; gap:.2rem; padding:1rem; color:#657080; text-align:center; }
.et-empty-state strong { color:#14213d; font-size:.82rem; }
.et-empty-state span { max-width:540px; font-size:.69rem; line-height:1.4; }
.et-message { padding:.55rem .7rem; border:1px solid; border-radius:5px; font-size:.72rem; font-weight:750; }
.et-message.success { border-color:#7ab18d; background:#edf8f0; color:#155b2c; }
.et-message.error { border-color:#d5a09a; background:#fff0ee; color:#8b2118; }
.et-form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(155px,1fr)); gap:.45rem; align-items:start; }
.et-form-actions { margin-top:.55rem; }
.et-input { width:100%; min-width:0; min-height:29px; border:1px solid #929aa5; border-radius:3px; padding:.3rem .42rem; background:#fff; color:#111; font-size:.72rem; }
.et-input:focus { border-color:#14213d; outline:2px solid rgba(20,33,61,.12); }
.et-textarea { min-height:54px; resize:vertical; }
.et-date-control { display:flex; flex-direction:column; min-width:0; }
.et-date-control span { order:2; margin-top:2px; color:#566171; font-size:.58rem; font-weight:800; }
.et-button,.et-mini-button { display:inline-flex; align-items:center; justify-content:center; border:1px solid #9da5af; border-radius:4px; background:#fff; color:#14213d; text-decoration:none; font-weight:850; cursor:pointer; }
.et-button { min-height:30px; padding:.32rem .65rem; font-size:.69rem; }
.et-mini-button { min-height:25px; padding:.22rem .43rem; font-size:.62rem; }
.et-button:hover,.et-mini-button:hover { background:#eef1f5; color:#14213d; }
.et-button.primary,.et-mini-button.primary { border-color:#14213d; background:#14213d; color:#fff; }
.et-button.primary:hover,.et-mini-button.primary:hover { border-color:#fca311; background:#fca311; color:#14213d; }
.et-button.danger,.et-mini-button.danger { border-color:#c64e44; color:#9d2017; }
.et-button:disabled,.et-mini-button:disabled { cursor:not-allowed; opacity:.55; }
.et-status-badge { display:inline-flex; align-items:center; min-height:22px; padding:.17rem .42rem; border:1px solid; border-radius:999px; font-size:.59rem; font-weight:900; white-space:nowrap; }
.et-status-badge.is-success { border-color:#88b899; background:#eaf7ee; color:#166031; }
.et-status-badge.is-blue { border-color:#7fa4d1; background:#e8f1ff; color:#174d88; }
.et-status-badge.is-warning { border-color:#d5a64c; background:#fff4d5; color:#795000; }
.et-status-badge.is-danger { border-color:#d69b95; background:#fdecea; color:#982118; }
.et-status-badge.is-progress { border-color:#b5a66f; background:#fff8df; color:#5f511d; }
.et-status-badge.is-muted,.et-status-badge.is-neutral { border-color:#c8cdd4; background:#f1f3f5; color:#5d6674; }
.et-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:.45rem; align-items:center; margin-bottom:.55rem; }
.et-toolbar.three { grid-template-columns:minmax(220px,1fr) minmax(145px,220px) auto; }
.et-check { display:flex; align-items:center; gap:.35rem; color:#4f5968; font-size:.66rem; font-weight:750; }
.et-tab-row { display:flex; align-items:center; gap:.35rem; }
.et-tab { min-height:31px; padding:.3rem .68rem; border:1px solid #aeb5bf; border-radius:4px; background:#fff; color:#14213d; font-size:.69rem; font-weight:900; cursor:pointer; }
.et-tab span { margin-left:.3rem; padding:.05rem .3rem; border-radius:999px; background:#e5e9ef; font-size:.59rem; }
.et-tab.active { border-color:#14213d; background:#14213d; color:#fff; }
.et-tab.active span { background:#fca311; color:#14213d; }
.et-table-wrap { overflow:auto; border:1px solid #d1d6dc; border-radius:5px; }
.et-table { width:100%; border-collapse:collapse; background:#fff; font-size:.66rem; }
.et-table th { position:sticky; top:0; z-index:1; padding:.42rem .45rem; background:#14213d; color:#fff; text-align:left; white-space:nowrap; }
.et-table td { padding:.4rem .45rem; border-top:1px solid #dde1e6; vertical-align:middle; }
.et-table tr:nth-child(even) td { background:#fafbfc; }
.et-table .muted-row td { opacity:.68; background:#f0f1f3; }
.part-request-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(295px,1fr)); gap:.55rem; }
.part-request-card { display:flex; flex-direction:column; gap:.45rem; padding:.62rem; border:1px solid #d0d5dc; border-left:4px solid #fca311; border-radius:5px; background:#fff; }
.part-request-card header { display:flex; justify-content:space-between; gap:.5rem; }
.part-request-card h3 { margin:.08rem 0 0; font-size:.78rem; }
.part-request-number { color:#6a7483; font-size:.55rem; font-weight:900; letter-spacing:.06em; }
.part-request-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; margin:0; }
.part-request-card dl div { min-width:0; }
.part-request-card dt { color:#697383; font-size:.54rem; font-weight:900; text-transform:uppercase; }
.part-request-card dd { margin:0; overflow:hidden; color:#1d2737; font-size:.65rem; text-overflow:ellipsis; white-space:nowrap; }
.part-request-card p { margin:0; color:#566171; font-size:.64rem; line-height:1.35; }
.part-request-card footer { display:flex; gap:.3rem; flex-wrap:wrap; margin-top:auto; padding-top:.35rem; border-top:1px solid #e2e5e9; }

/* Global search */
.global-search { position:relative; width:min(520px,44vw); z-index:120; }
.global-search-box { display:flex; align-items:center; min-height:32px; border:1px solid #a9b0ba; border-radius:5px; background:#fff; overflow:hidden; }
.global-search-box > span { padding-left:.52rem; color:#667080; font-size:1rem; }
.global-search-box input { flex:1; min-width:0; height:30px; border:0; padding:.25rem .42rem; outline:0; font-size:.69rem; }
.global-search-box button { width:30px; height:30px; border:0; background:#fff; color:#667080; cursor:pointer; }
.global-search-results { position:absolute; top:calc(100% + 5px); right:0; left:0; overflow:hidden; border:1px solid #aeb5bf; border-radius:6px; background:#fff; box-shadow:0 14px 35px rgba(20,33,61,.23); }
.global-search-result { display:grid; grid-template-columns:52px minmax(0,1fr); gap:.45rem; padding:.48rem .55rem; border-bottom:1px solid #e1e4e8; color:#14213d; text-decoration:none; }
.global-search-result:hover { background:#f5f7fa; }
.global-search-kind { align-self:start; padding:.13rem .25rem; border-radius:3px; background:#e9edf3; color:#526071; font-size:.5rem; font-weight:950; text-align:center; }
.global-search-result strong,.global-search-result small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.global-search-result strong { font-size:.67rem; }
.global-search-result small { margin-top:.08rem; color:#677181; font-size:.58rem; }
.global-search-state { padding:.8rem; color:#697383; font-size:.65rem; text-align:center; }
.global-search-all { width:100%; border:0; padding:.48rem; background:#14213d; color:#fff; font-size:.63rem; font-weight:900; cursor:pointer; }
.search-page-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; }
.search-quick-actions { display:flex; gap:.35rem; flex-wrap:wrap; margin-top:.5rem; }
.search-quick-actions a { padding:.28rem .48rem; border:1px solid #c6cbd2; border-radius:4px; background:#f8f9fa; color:#14213d; font-size:.62rem; font-weight:850; text-decoration:none; }
.search-summary { color:#576171; font-size:.7rem; }
.search-result-list { display:flex; flex-direction:column; gap:.35rem; }
.search-result-card { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.48rem .55rem; border:1px solid #d9dde2; border-left:3px solid #fca311; border-radius:4px; background:#fff; }
.search-result-card span { color:#707987; font-size:.52rem; font-weight:950; letter-spacing:.05em; }
.search-result-card h3 { margin:.04rem 0; font-size:.73rem; }
.search-result-card p { margin:0; color:#616b79; font-size:.61rem; }

/* Equipment timeline */
.timeline-toolbar { display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.55rem; }
.timeline-toolbar .et-input { max-width:200px; }
.timeline-toolbar > span { color:#657080; font-size:.61rem; }
.equipment-timeline { position:relative; display:flex; flex-direction:column; gap:.45rem; }
.equipment-timeline::before { content:""; position:absolute; top:8px; bottom:8px; left:18px; width:2px; background:#d8dde4; }
.timeline-entry { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr); gap:.5rem; }
.timeline-marker { z-index:1; width:36px; height:36px; display:grid; place-items:center; border:3px solid #fff; border-radius:999px; background:#14213d; color:#fff; font-size:.68rem; font-weight:950; box-shadow:0 0 0 1px #c4cad2; }
.timeline-entry.part .timeline-marker { background:#6a4b8c; }
.timeline-entry.service .timeline-marker { background:#24724a; }
.timeline-entry.repair .timeline-marker { background:#9b2d22; }
.timeline-entry.renewal .timeline-marker { background:#fca311; color:#14213d; }
.timeline-copy { padding:.48rem .58rem; border:1px solid #d5dae0; border-radius:5px; background:#fff; }
.timeline-heading { display:flex; justify-content:space-between; gap:.65rem; }
.timeline-heading span { color:#707987; font-size:.51rem; font-weight:950; letter-spacing:.06em; text-transform:uppercase; }
.timeline-heading h3 { margin:.05rem 0; font-size:.72rem; }
.timeline-heading time { color:#687282; font-size:.57rem; white-space:nowrap; }
.timeline-copy p { margin:.16rem 0 .3rem; color:#586270; font-size:.62rem; line-height:1.35; }

/* Notification center */
.notification-warning-bar { width:100%; min-height:46px; display:flex; align-items:center; gap:.65rem; padding:.45rem 1rem; border:0; border-bottom:2px solid #cc8200; background:#fca311; color:#14213d; box-shadow:0 2px 8px rgba(20,33,61,.15); text-align:left; cursor:pointer; position:relative; z-index:40; }
.notification-warning-bar:hover { background:#ffb326; }
.notification-warning-bar.handled { border-bottom-color:#aeb5bf; background:#eef1f5; }
.notification-warning-icon { width:28px; height:28px; display:grid; place-items:center; flex:0 0 28px; border-radius:999px; background:#14213d; color:#fff; font-size:.85rem; font-weight:950; }
.notification-warning-copy { display:flex; flex:1; min-width:0; flex-direction:column; }
.notification-warning-copy strong { font-size:.76rem; font-weight:950; }
.notification-warning-copy small { color:#3f4c61; font-size:.62rem; font-weight:700; }
.notification-warning-count { min-width:28px; height:28px; display:grid; place-items:center; border-radius:999px; background:#fff; color:#9c251b; font-size:.72rem; font-weight:950; }
.notification-warning-open { padding:.28rem .5rem; border-radius:4px; background:#14213d; color:#fff; font-size:.62rem; font-weight:900; white-space:nowrap; }
.notification-overlay { position:fixed; inset:0; z-index:10000; display:flex; justify-content:flex-end; background:rgba(8,17,34,.5); backdrop-filter:blur(1px); }
.notification-drawer { width:min(510px,100vw); height:100dvh; display:flex; flex-direction:column; background:#f2f4f7; box-shadow:-18px 0 40px rgba(20,33,61,.32); animation:notification-slide .2s ease-out; }
.notification-drawer-header { display:grid; grid-template-columns:40px minmax(0,1fr) 32px; gap:.65rem; align-items:center; padding:.8rem; background:#14213d; color:#fff; }
.notification-drawer-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:999px; background:#fca311; color:#14213d; font-size:1rem; font-weight:950; }
.notification-drawer-header h2 { margin:0; color:#fff; font-size:.92rem; }
.notification-drawer-header p { margin:.12rem 0 0; color:#d7deea; font-size:.59rem; line-height:1.3; }
.notification-close { width:30px; height:30px; border:1px solid rgba(255,255,255,.35); border-radius:4px; background:transparent; color:#fff; font-size:1.15rem; cursor:pointer; }
.notification-summary-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:.35rem; padding:.55rem; border-bottom:1px solid #d3d8df; background:#fff; }
.notification-summary { display:flex; flex-direction:column; align-items:center; padding:.35rem; border:1px solid #d3d8df; border-radius:4px; background:#f8f9fa; color:#14213d; cursor:pointer; }
.notification-summary strong { font-size:.85rem; }
.notification-summary span { font-size:.51rem; font-weight:900; text-transform:uppercase; }
.notification-summary.active { border-color:#14213d; background:#14213d; color:#fff; }
.notification-filter-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.4rem; padding:.5rem; border-bottom:1px solid #d3d8df; background:#fff; }
.notification-drawer-body { flex:1; min-height:0; overflow:auto; padding:.55rem; }
.notification-list { display:flex; flex-direction:column; gap:.45rem; }
.notification-card { display:grid; grid-template-columns:36px minmax(0,1fr); gap:.48rem; padding:.55rem; border:1px solid #d4d9df; border-left:4px solid #7f8b99; border-radius:5px; background:#fff; box-shadow:0 1px 3px rgba(20,33,61,.07); }
.notification-card.priority-critical { border-left-color:#b42318; }
.notification-card.priority-warning { border-left-color:#fca311; }
.notification-card.priority-info { border-left-color:#2e6db0; }
.notification-card.acknowledged { opacity:.72; }
.notification-card-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:6px; background:#e9edf3; color:#14213d; font-size:.7rem; font-weight:950; }
.notification-card-heading { display:flex; justify-content:space-between; gap:.5rem; }
.notification-card-heading span { color:#687383; font-size:.51rem; font-weight:950; letter-spacing:.05em; text-transform:uppercase; }
.notification-card-heading time { color:#7a8491; font-size:.53rem; }
.notification-card h3 { margin:.06rem 0; font-size:.72rem; }
.notification-card p { margin:.08rem 0 .38rem; color:#5a6573; font-size:.61rem; line-height:1.35; }
.notification-card-actions { display:flex; gap:.28rem; flex-wrap:wrap; }
@keyframes notification-slide { from { transform:translateX(100%); } to { transform:translateX(0); } }

@media (max-width:900px) {
    .global-search { width:min(380px,55vw); }
    .page .top-title { display:none; }
}
@media (max-width:640px) {
    .global-search { width:calc(100vw - 92px); }
    .notification-warning-bar { padding:.42rem .58rem; }
    .notification-warning-copy small,.notification-warning-open { display:none; }
    .notification-drawer { width:100vw; }
    .et-toolbar,.et-toolbar.three { grid-template-columns:1fr; }
    .et-page-header,.search-result-card { align-items:stretch; flex-direction:column; }
    .part-request-grid { grid-template-columns:1fr; }
}
.database-protection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.45rem; }
.database-protection-grid > div { padding:.5rem; border:1px solid #d5dae0; border-left:3px solid #14213d; border-radius:4px; background:#f8f9fa; }
.database-protection-grid span,.database-protection-grid strong { display:block; }
.database-protection-grid span { color:#687383; font-size:.53rem; font-weight:900; text-transform:uppercase; }
.database-protection-grid strong { margin-top:.12rem; color:#14213d; font-size:.7rem; }
.database-protection-note { margin:.5rem 0 0; color:#5d6775; font-size:.61rem; }
@media (max-width:700px){.database-protection-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* V38 SITE-WIDE BUTTON COLOR RULE
   Normal action buttons are orange. Save actions stay navy and destructive
   delete actions stay red. Ticket list cards keep their original card style. */
button:not([type="submit"]):not(.save-action):not(.save-ticket-button):not(.equipment-save-button):not(.delete-button):not(.btn-danger):not(.modal-delete-button):not(.ticket-list-card),
a.primary-button,
a.secondary-button,
a.table-button,
a.et-button,
a.et-mini-button,
a.btn-primary,
a.btn-secondary,
a.home-primary-action,
a.manager-schedule-link,
a.primary-link,
a.primary-action,
a.secondary-action,
a.create-ticket-link {
    background: #fca311 !important;
    color: #14213d !important;
    border-color: #d98d00 !important;
}

button:not([type="submit"]):not(.save-action):not(.save-ticket-button):not(.equipment-save-button):not(.delete-button):not(.btn-danger):not(.modal-delete-button):not(.ticket-list-card):hover,
a.primary-button:hover,
a.secondary-button:hover,
a.table-button:hover,
a.et-button:hover,
a.et-mini-button:hover,
a.btn-primary:hover,
a.btn-secondary:hover,
a.home-primary-action:hover,
a.manager-schedule-link:hover,
a.primary-link:hover,
a.primary-action:hover,
a.secondary-action:hover,
a.create-ticket-link:hover {
    background: #e79600 !important;
    color: #14213d !important;
    border-color: #b97600 !important;
}

button[type="submit"],
button.save-action,
button.save-ticket-button,
button.equipment-save-button {
    background: #14213d !important;
    color: #ffffff !important;
    border-color: #14213d !important;
}

button[type="submit"]:hover,
button.save-action:hover,
button.save-ticket-button:hover,
button.equipment-save-button:hover {
    background: #23365f !important;
    color: #ffffff !important;
    border-color: #23365f !important;
}

button.delete-button,
button.btn-danger,
button.modal-delete-button,
button[class*="delete-button"] {
    background: #b42318 !important;
    color: #ffffff !important;
    border-color: #b42318 !important;
}

button.delete-button:hover,
button.btn-danger:hover,
button.modal-delete-button:hover,
button[class*="delete-button"]:hover {
    background: #8f1c14 !important;
    color: #ffffff !important;
    border-color: #8f1c14 !important;
}

button.active:not(.save-action):not(.save-ticket-button):not(.equipment-save-button):not(.delete-button):not(.btn-danger),
button[aria-pressed="true"]:not(.save-action):not(.save-ticket-button):not(.equipment-save-button):not(.delete-button):not(.btn-danger),
button[aria-selected="true"]:not(.save-action):not(.save-ticket-button):not(.equipment-save-button):not(.delete-button):not(.btn-danger),
.segmented button.active,
.tab-button.active,
.view-button.active,
.type-filter-button.active,
.filter-chip.active {
    background: #d98d00 !important;
    color: #14213d !important;
    border-color: #ad7000 !important;
    box-shadow: inset 0 -3px 0 #8d5b00 !important;
}

button:not([type="submit"]):not(.save-action):not(.save-ticket-button):not(.equipment-save-button):not(.delete-button):not(.btn-danger):not(.modal-delete-button):not(.ticket-list-card):active,
a.primary-button:active,
a.secondary-button:active,
a.table-button:active,
a.et-button:active,
a.et-mini-button:active,
a.btn-primary:active,
a.btn-secondary:active,
a.home-primary-action:active,
a.manager-schedule-link:active,
a.primary-link:active,
a.primary-action:active,
a.secondary-action:active,
a.create-ticket-link:active {
    background: #d98d00 !important;
    color: #14213d !important;
    border-color: #ad7000 !important;
}

/* V58 ACTIVE OR SELECTED ORANGE CONTROLS */
.mobile-header nav a.active,
a[aria-current="page"].button,
a.active-button,
.button-tab.active {
    background: #d98d00 !important;
    color: #14213d !important;
    border-color: #ad7000 !important;
}
