/* Late-loaded utility design pass. Keeps page wording and behavior intact. */
:root {
    --font-sans: "Bahnschrift", "Aptos", "Segoe UI", Arial, sans-serif;
    --font-display: "Bahnschrift", "Aptos Display", "Segoe UI", Arial, sans-serif;
    --utility-bg: #eef1ec;
    --utility-panel: #f8f9f5;
    --utility-panel-strong: #ffffff;
    --utility-ink: #17201c;
    --utility-heading: #101614;
    --utility-muted: #5f6b64;
    --utility-line: #c9d0c5;
    --utility-line-strong: #9aa79a;
    --utility-green: #4f6f5a;
    --utility-green-dark: #3f5d48;
    --utility-yellow: #b9983f;
    --utility-yellow-soft: #e7dfbd;
    --utility-blue: #466f86;
    --utility-rust: #8c5135;
    --utility-red: #a33a32;
}

html body.login-page .login-card :is(.form-input, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]), select, textarea) {
    min-height: 46px !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
}

html body.login-page .login-card :is(.form-input:focus, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus, select:focus, textarea:focus) {
    border-color: var(--utility-green) !important;
    box-shadow: 0 0 0 3px rgba(79, 111, 90, 0.18) !important;
    transform: none !important;
}

html body.login-page .login-card .btn-primary {
    min-height: 48px !important;
    border: 1px solid var(--utility-green-dark) !important;
    border-radius: 3px !important;
    background: var(--utility-green-dark) !important;
    color: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body.login-page .login-grid {
    width: min(1120px, calc(100% - 2rem)) !important;
    grid-template-columns: minmax(320px, 1fr) minmax(340px, 410px) !important;
    gap: clamp(2rem, 4vw, 4rem) !important;
}

html body.login-page .login-hero {
    min-width: 0 !important;
}

html body.login-page .login-hero .logo {
    max-width: 100% !important;
    align-items: center !important;
    font-size: clamp(2.15rem, 3.8vw, 3.55rem) !important;
    gap: clamp(0.75rem, 1.25vw, 1.1rem) !important;
}

html body.login-page .login-hero .logo-mark {
    width: clamp(72px, 8vw, 104px) !important;
    height: clamp(72px, 8vw, 104px) !important;
}

html body.login-page .login-hero .logo > :not(.logo-mark) {
    display: block !important;
    min-width: 0 !important;
    max-width: min(10.5ch, 100%) !important;
    white-space: normal !important;
    line-height: 0.96 !important;
}

html body.login-page .login-hero .logo-text-primary,
html body.login-page .login-hero .logo-text-accent {
    display: block !important;
}

html body.login-page .login-hero .logo-text-accent {
    margin-left: -0.22em !important;
}

@media (max-width: 860px) {
    html body.login-page .login-grid {
        width: min(460px, calc(100% - 2rem)) !important;
        grid-template-columns: 1fr !important;
        gap: 1.35rem !important;
    }

    html body.login-page .login-hero {
        align-items: center !important;
        text-align: center !important;
    }

    html body.login-page .login-hero .logo {
        justify-content: center !important;
        font-size: clamp(1.35rem, 7vw, 2.35rem) !important;
    }

    html body.login-page .login-hero .logo-mark {
        width: clamp(56px, 16vw, 82px) !important;
        height: clamp(56px, 16vw, 82px) !important;
    }
}

html body:not(.login-page):not(.map-embed) {
    --theme-bg: var(--utility-bg) !important;
    --theme-bg-alt: #e3e8df !important;
    --theme-nav-bg: #f4f6f1 !important;
    --theme-panel-bg: var(--utility-panel) !important;
    --theme-card-bg: var(--utility-panel) !important;
    --theme-card-bg-strong: var(--utility-panel-strong) !important;
    --theme-border: rgba(23, 32, 28, 0.18) !important;
    --theme-border-soft: rgba(23, 32, 28, 0.1) !important;
    --theme-text: var(--utility-ink) !important;
    --theme-heading: var(--utility-heading) !important;
    --theme-muted: var(--utility-muted) !important;
    --theme-accent: var(--utility-green) !important;
    --theme-accent-strong: var(--utility-green-dark) !important;
    --theme-accent-bg: rgba(79, 111, 90, 0.12) !important;
    --theme-accent-faint: rgba(79, 111, 90, 0.07) !important;
    --theme-danger: var(--utility-red) !important;
    --theme-success: var(--utility-green) !important;
    --theme-warning: #8a6f2b !important;
    --shadow-soft: none !important;
    --shadow-tight: none !important;
    --shadow-pop: none !important;
    background-color: var(--utility-bg) !important;
    background-image:
        repeating-linear-gradient(0deg, rgba(23, 32, 28, 0.035) 0 1px, transparent 1px 48px),
        repeating-linear-gradient(90deg, rgba(23, 32, 28, 0.025) 0 1px, transparent 1px 48px) !important;
    color: var(--utility-ink) !important;
    font-family: var(--font-sans) !important;
    letter-spacing: 0 !important;
}

html body:not(.login-page):not(.map-embed)::before,
html body:not(.login-page):not(.map-embed)::after,
html body:not(.login-page):not(.map-embed) .app-header::before,
html body:not(.login-page):not(.map-embed) .card::before,
html body:not(.login-page):not(.map-embed) .panel::before,
html body:not(.login-page):not(.map-embed) .dashboard-panel::before {
    display: none !important;
    background: none !important;
}

html body:not(.login-page):not(.map-embed) .app-nav,
html body:not(.login-page):not(.map-embed) .app-header {
    background: #f4f6f1 !important;
    border-bottom: 1px solid var(--utility-line) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body:not(.login-page):not(.map-embed) .app-header::after {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 2px !important;
    background: var(--utility-yellow) !important;
    opacity: 1 !important;
}

.logo {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.62rem !important;
    color: var(--utility-heading) !important;
    font-family: var(--font-display) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

.logo::before {
    display: none !important;
}

.logo-mark {
    display: inline-block !important;
    width: clamp(38px, 4vw, 56px) !important;
    height: clamp(38px, 4vw, 56px) !important;
    flex: 0 0 auto !important;
    border: 1px solid rgba(23, 32, 28, 0.3) !important;
    border-radius: 4px !important;
    background: #e8e7dc url("../assets/utility-mark-small.webp") center / cover no-repeat !important;
    box-shadow: none !important;
}

.logo > :not(.logo-mark) {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.logo-text-accent {
    color: var(--utility-green-dark) !important;
    letter-spacing: 0 !important;
}

html body:not(.login-page):not(.map-embed) :is(.page-container, .card, .panel, .pole-card, .dashboard-section, .dashboard-panel, .project-card, .upload-panel, .pole-detail-card, .scan-card, .view-bar, .view-builder, .view-builder-section, .view-picker-menu, .module-card, .module-column, .dash-manage-item, .arcgis-manage-item, .arcgis-manage-card, .dash-modal-card, .section-modal-card, .modal-content, .image-modal-bg, .ticket-panel, .ticket-create-modal, .ticket-create-confirm-card, .ticket-selected-panel, .ticket-category-filters, .pole-panel, .pole-ticket-card, .pole-ticket-modal-card, .ticket-pole-row, .dashboard-hero-summary, .dashboard-inventory-overview-item, .metric-card, .compare-scan-card, .compare-metric-card, .compare-table-column, .inventory-query-panel, .inventory-query-condition, .inventory-query-table-panel, .inventory-detail-shell, .inventory-detail-table-shell, .inventory-map-dialog, .empty-state, .mini-tag, .compare-breakdown-panel, .dashboard-inventory-chart, .dashboard-inventory-chart-menu) {
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: var(--utility-panel) !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.dashboard-hero, .dashboard-hero-summary, .dashboard-section, .dashboard-panel, .compare-breakdown-panel) {
    overflow: visible !important;
}

html body:not(.login-page):not(.map-embed) :is(.page-title, .form-title, .panel-title, .ticket-panel-title, .dashboard-panel-title, .dashboard-inventory-heading, .compare-title, .compare-section-title-row h2, .compare-section-title-row h3, .project-name, .module-title, .pole-title, .app-header-title) {
    color: var(--utility-heading) !important;
    font-family: var(--font-display) !important;
    letter-spacing: 0 !important;
}

html body:not(.login-page):not(.map-embed) :is(.page-subtitle, .form-subtitle, .small-muted, .panel-subtitle, .ticket-panel-subtitle, .ticket-subtext, .project-meta, .upload-meta, .compare-subtext, .inventory-query-subtext, .dashboard-panel-subtitle, .app-header-subtitle) {
    color: var(--utility-muted) !important;
}

html body:not(.login-page):not(.map-embed) :is(.btn, .btn-secondary, .btn-ghost, .btn-ghost-soft, .saved-btn, .arcgis-map-btn, .arcgis-table-btn, .view-picker-btn, .view-picker-tab, .pole-scope-btn, .compare-page-btn, .compare-table-tab, .compare-collapse-toggle, .inventory-query-page-btn, .inventory-query-remove, .inventory-detail-page-btn, .inventory-map-dialog-close, .ticket-pagination-btn, .ticket-category-filter, .ticket-pole-action, .admin-panel-trigger, .dashboard-inventory-chart-filter-btn, .dashboard-inventory-chart-menu-action) {
    border: 1px solid var(--utility-line) !important;
    border-radius: 3px !important;
    background: #f4f6f1 !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
    letter-spacing: 0 !important;
    transform: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.btn:hover, .btn-secondary:hover, .btn-ghost:hover, .btn-ghost-soft:hover, .saved-btn:hover, .view-picker-tab:hover, .compare-table-tab:hover, .inventory-query-page-btn:hover, .ticket-category-filter:hover, .dashboard-inventory-chart-filter-btn:hover, .dashboard-inventory-chart-menu-action:hover) {
    border-color: var(--utility-line-strong) !important;
    background: #e8ede4 !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.btn-primary, .btn-primary-soft, .arcgis-map-btn--primary, .filter-add, .dash-filter-add, .arcgis-filter-add, .compare-submit, .inventory-query-add, .pole-return-btn, .compare-table-tab.is-active, .inventory-query-page-number.is-active, .ticket-tab.is-active, .ticket-pagination-btn.is-active) {
    border-color: var(--utility-green) !important;
    background: var(--utility-green) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.form-input, .input, .theme-select, .nice-select, .compare-search-input, .inventory-detail-search-input, .inventory-detail-pagination-select, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]), select, textarea) {
    border: 1px solid var(--utility-line) !important;
    border-radius: 3px !important;
    background: #ffffff !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.form-input:focus, .input:focus, .theme-select:focus, .nice-select:focus, .compare-search-input:focus, .inventory-detail-search-input:focus, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus, select:focus, textarea:focus) {
    border-color: var(--utility-green) !important;
    box-shadow: 0 0 0 3px rgba(79, 111, 90, 0.16) !important;
}

html body:not(.login-page):not(.map-embed) :is(.table, .problem-poles-table, .report-table, .view-table, .arcgis-data-table, .dashboard-panel-body table, .compare-table, .inventory-query-table, .inventory-detail-table, .ticket-table, .ticket-pole-table) {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.table th, .problem-poles-table th, .report-table th, .view-table th, .arcgis-data-table thead th, .dashboard-panel-body th, .compare-table th, .inventory-query-table th, .inventory-detail-table th, .ticket-table th, .ticket-pole-table th) {
    background: #e7ebe2 !important;
    border-bottom: 1px solid var(--utility-line) !important;
    color: var(--utility-muted) !important;
}

html body:not(.login-page):not(.map-embed) :is(.table td, .problem-poles-table td, .report-table td, .view-table td, .arcgis-data-table td, .dashboard-panel-body td, .compare-table td, .inventory-query-table td, .inventory-detail-table td, .ticket-table td, .ticket-pole-table td) {
    background: transparent !important;
    border-bottom-color: rgba(23, 32, 28, 0.1) !important;
}

html body:not(.login-page):not(.map-embed) .dashboard-inventory-overview {
    border-top-color: var(--utility-yellow) !important;
}

html body:not(.login-page):not(.map-embed) .dashboard-inventory-bar-row {
    border-color: var(--utility-line) !important;
    border-left-color: var(--bar-start) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-shadow: none !important;
    transform: none !important;
}

html body:not(.login-page):not(.map-embed) .dashboard-inventory-bar-row:nth-child(even) {
    background: #f1f4ef !important;
}

html body:not(.login-page):not(.map-embed) .dashboard-inventory-bar-track {
    border-radius: 3px !important;
    background: #e0e6dd !important;
}

html body:not(.login-page):not(.map-embed) .dashboard-inventory-bar-fill {
    background: var(--bar-start) !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) .dashboard-inventory-chart-filter-btn::before {
    background:
        linear-gradient(90deg, transparent 42%, rgba(255, 255, 255, 0.76) 42%, rgba(255, 255, 255, 0.76) 58%, transparent 58%),
        linear-gradient(180deg, var(--utility-blue), var(--utility-rust)) !important;
}

html body:not(.login-page):not(.map-embed) .compare-chart-key {
    border-radius: 3px !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) .compare-chart-key::before {
    border-radius: 3px !important;
}

html body:not(.login-page):not(.map-embed) :is(.compare-chart-axis, .compare-chart-grid) {
    stroke: rgba(23, 32, 28, 0.18) !important;
}

html body:not(.login-page):not(.map-embed) .compare-chart-value.is-scan-1 {
    fill: var(--utility-blue) !important;
}

html body:not(.login-page):not(.map-embed) .compare-chart-value.is-scan-2 {
    fill: var(--utility-rust) !important;
}

html body:not(.login-page):not(.map-embed) :is(.pill-status, .badge, .card-pill, .compare-status, .ticket-status, .ticket-priority, .pole-ticket-status, .pole-ticket-priority) {
    border-radius: 3px !important;
    box-shadow: none !important;
    letter-spacing: 0 !important;
}

html body:not(.login-page):not(.map-embed) :is(.alert-danger, .compare-status.is-problem, .ticket-priority--critical, .pole-ticket-priority--critical) {
    border-color: rgba(163, 58, 50, 0.32) !important;
    background: rgba(163, 58, 50, 0.1) !important;
    color: #7c2b26 !important;
}

html body:not(.login-page):not(.map-embed) :is(.alert-success, .compare-status.is-normal, .ticket-status--resolved, .ticket-status--closed, .pole-ticket-status--resolved, .pole-ticket-status--closed) {
    border-color: rgba(79, 111, 90, 0.32) !important;
    background: rgba(79, 111, 90, 0.12) !important;
    color: #314c39 !important;
}

html.dark-mode body:not(.login-page):not(.map-embed),
html body.theme-dark:not(.login-page):not(.map-embed) {
    --utility-bg: #101613;
    --utility-panel: #17211c;
    --utility-panel-strong: #1d2923;
    --utility-ink: #dfe8dc;
    --utility-heading: #f4f6ef;
    --utility-muted: #aebcad;
    --utility-line: #3d4a40;
    --utility-line-strong: #697768;
    --utility-green: #8fa98f;
    --utility-green-dark: #789678;
    --utility-yellow: #d0b159;
    --utility-yellow-soft: rgba(208, 177, 89, 0.18);
    background-color: var(--utility-bg) !important;
    color: var(--utility-ink) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) .app-nav,
html.dark-mode body:not(.login-page):not(.map-embed) .app-header,
html body.theme-dark:not(.login-page):not(.map-embed) .app-nav,
html body.theme-dark:not(.login-page):not(.map-embed) .app-header {
    background: #151f1a !important;
    border-bottom-color: var(--utility-line) !important;
}

@media (max-width: 820px) {
    html body:not(.login-page):not(.map-embed) .app-nav .logo {
        font-size: 1rem !important;
    }
}

/* Match the specificity of legacy page-specific overrides loaded earlier. */
html body:not(.login-page):not(.project-map-page):not(.map-embed),
html body.project-map-page:not(.login-page):not(.map-embed) {
    --theme-bg: var(--utility-bg) !important;
    --theme-bg-alt: #e3e8df !important;
    --theme-nav-bg: #f4f6f1 !important;
    --theme-panel-bg: var(--utility-panel) !important;
    --theme-card-bg: var(--utility-panel) !important;
    --theme-card-bg-strong: var(--utility-panel-strong) !important;
    --theme-border: rgba(23, 32, 28, 0.18) !important;
    --theme-border-soft: rgba(23, 32, 28, 0.1) !important;
    --theme-text: var(--utility-ink) !important;
    --theme-heading: var(--utility-heading) !important;
    --theme-muted: var(--utility-muted) !important;
    --theme-accent: var(--utility-green) !important;
    --theme-accent-strong: var(--utility-green-dark) !important;
    --theme-accent-bg: rgba(79, 111, 90, 0.12) !important;
    --theme-accent-faint: rgba(79, 111, 90, 0.07) !important;
    --theme-danger: var(--utility-red) !important;
    --theme-success: var(--utility-green) !important;
    --theme-warning: #8a6f2b !important;
    background-color: var(--utility-bg) !important;
    background-image:
        repeating-linear-gradient(0deg, rgba(23, 32, 28, 0.035) 0 1px, transparent 1px 48px),
        repeating-linear-gradient(90deg, rgba(23, 32, 28, 0.025) 0 1px, transparent 1px 48px) !important;
    color: var(--utility-ink) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) .app-nav.app-header,
html body.project-map-page:not(.login-page):not(.map-embed) .app-nav.app-header,
html body:not(.login-page):not(.project-map-page):not(.map-embed) .app-header,
html body.project-map-page:not(.login-page):not(.map-embed) .app-header {
    background: #f4f6f1 !important;
    border-bottom: 1px solid var(--utility-line) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.page-container, .card, .panel, .pole-card, .dashboard-section, .dashboard-panel, .project-card, .upload-panel, .pole-detail-card, .scan-card, .view-bar, .view-builder, .view-builder-section, .view-picker-menu, .module-card, .module-column, .dash-manage-item, .arcgis-manage-item, .arcgis-manage-card, .dash-modal-card, .section-modal-card, .modal-content, .image-modal-bg, .ticket-panel, .ticket-create-modal, .ticket-create-confirm-card, .ticket-selected-panel, .ticket-category-filters, .pole-panel, .pole-ticket-card, .pole-ticket-modal-card, .ticket-pole-row, .dashboard-hero-summary, .dashboard-inventory-overview, .dashboard-inventory-overview-item, .metric-card, .compare-scan-card, .compare-metric-card, .compare-table-column, .inventory-query-panel, .inventory-query-condition, .inventory-query-table-shell, .inventory-query-table-panel, .inventory-detail-shell, .inventory-detail-table-shell, .inventory-map-dialog, .empty-state, .mini-tag, .compare-breakdown-panel, .dashboard-inventory-chart, .dashboard-inventory-chart-menu),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.page-container, .card, .panel, .pole-card, .dashboard-section, .dashboard-panel, .project-card, .upload-panel, .pole-detail-card, .scan-card, .view-bar, .view-builder, .view-builder-section, .view-picker-menu, .module-card, .module-column, .dash-manage-item, .arcgis-manage-item, .arcgis-manage-card, .dash-modal-card, .section-modal-card, .modal-content, .image-modal-bg, .ticket-panel, .ticket-create-modal, .ticket-create-confirm-card, .ticket-selected-panel, .ticket-category-filters, .pole-panel, .pole-ticket-card, .pole-ticket-modal-card, .ticket-pole-row, .dashboard-hero-summary, .dashboard-inventory-overview, .dashboard-inventory-overview-item, .metric-card, .compare-scan-card, .compare-metric-card, .compare-table-column, .inventory-query-panel, .inventory-query-condition, .inventory-query-table-shell, .inventory-query-table-panel, .inventory-detail-shell, .inventory-detail-table-shell, .inventory-map-dialog, .empty-state, .mini-tag, .compare-breakdown-panel, .dashboard-inventory-chart, .dashboard-inventory-chart-menu) {
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: var(--utility-panel) !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.btn, .btn-secondary, .btn-ghost, .btn-ghost-soft, .saved-btn, .arcgis-map-btn, .arcgis-table-btn, .view-picker-btn, .view-picker-tab, .pole-scope-btn, .compare-page-btn, .compare-table-tab, .compare-collapse-toggle, .inventory-query-page-btn, .inventory-query-remove, .inventory-detail-page-btn, .inventory-map-dialog-close, .ticket-pagination-btn, .ticket-category-filter, .ticket-pole-action, .admin-panel-trigger, .dashboard-inventory-chart-filter-btn, .dashboard-inventory-chart-menu-action),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.btn, .btn-secondary, .btn-ghost, .btn-ghost-soft, .saved-btn, .arcgis-map-btn, .arcgis-table-btn, .view-picker-btn, .view-picker-tab, .pole-scope-btn, .compare-page-btn, .compare-table-tab, .compare-collapse-toggle, .inventory-query-page-btn, .inventory-query-remove, .inventory-detail-page-btn, .inventory-map-dialog-close, .ticket-pagination-btn, .ticket-category-filter, .ticket-pole-action, .admin-panel-trigger, .dashboard-inventory-chart-filter-btn, .dashboard-inventory-chart-menu-action) {
    border: 1px solid var(--utility-line) !important;
    border-radius: 3px !important;
    background: #f4f6f1 !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
    transform: none !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.table, .problem-poles-table, .report-table, .view-table, .arcgis-data-table, .dashboard-panel-body table, .compare-table, .inventory-query-table, .inventory-detail-table, .ticket-table, .ticket-pole-table),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.table, .problem-poles-table, .report-table, .view-table, .arcgis-data-table, .dashboard-panel-body table, .compare-table, .inventory-query-table, .inventory-detail-table, .ticket-table, .ticket-pole-table) {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.table th, .problem-poles-table th, .report-table th, .view-table th, .arcgis-data-table thead th, .dashboard-panel-body th, .compare-table th, .inventory-query-table th, .inventory-detail-table th, .ticket-table th, .ticket-pole-table th),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.table th, .problem-poles-table th, .report-table th, .view-table th, .arcgis-data-table thead th, .dashboard-panel-body th, .compare-table th, .inventory-query-table th, .inventory-detail-table th, .ticket-table th, .ticket-pole-table th) {
    background: #e7ebe2 !important;
    border-bottom: 1px solid var(--utility-line) !important;
    color: var(--utility-muted) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.table td, .problem-poles-table td, .report-table td, .view-table td, .arcgis-data-table td, .dashboard-panel-body td, .compare-table td, .inventory-query-table td, .inventory-detail-table td, .ticket-table td, .ticket-pole-table td),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.table td, .problem-poles-table td, .report-table td, .view-table td, .arcgis-data-table td, .dashboard-panel-body td, .compare-table td, .inventory-query-table td, .inventory-detail-table td, .ticket-table td, .ticket-pole-table td) {
    background: transparent !important;
    border-bottom-color: rgba(23, 32, 28, 0.1) !important;
}

html body.project-map-page:not(.login-page):not(.map-embed) .arcgis-legend-item.is-active {
    background: rgba(79, 111, 90, 0.12) !important;
    outline: 1px solid rgba(79, 111, 90, 0.35) !important;
}

html body.project-map-page:not(.login-page):not(.map-embed) .arcgis-legend-checkbox:checked {
    background: var(--utility-green) !important;
    border-color: var(--utility-green) !important;
    box-shadow: none !important;
}

html body.project-map-page:not(.login-page):not(.map-embed) .arcgis-legend-reset-btn {
    border: 1px solid var(--utility-line) !important;
    border-radius: 3px !important;
    background: #f4f6f1 !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
}

html.dark-mode body:not(.login-page):not(.project-map-page):not(.map-embed),
html body.theme-dark:not(.login-page):not(.project-map-page):not(.map-embed),
html.dark-mode body.project-map-page:not(.login-page):not(.map-embed),
html body.theme-dark.project-map-page:not(.login-page):not(.map-embed) {
    --theme-bg: var(--utility-bg) !important;
    --theme-bg-alt: #17211c !important;
    --theme-nav-bg: #151f1a !important;
    --theme-panel-bg: var(--utility-panel) !important;
    --theme-card-bg: var(--utility-panel) !important;
    --theme-card-bg-strong: var(--utility-panel-strong) !important;
    --theme-border: rgba(223, 232, 220, 0.18) !important;
    --theme-border-soft: rgba(223, 232, 220, 0.1) !important;
    --theme-text: var(--utility-ink) !important;
    --theme-heading: var(--utility-heading) !important;
    --theme-muted: var(--utility-muted) !important;
    --theme-accent: var(--utility-green) !important;
    --theme-accent-strong: #b6c8b5 !important;
    background-color: var(--utility-bg) !important;
    color: var(--utility-ink) !important;
}

/* Comfort contrast pass: cooler neutral surfaces, clearer text, less visual grit. */
:root {
    --utility-bg: #edf2f5;
    --utility-panel: #f9fbfc;
    --utility-panel-strong: #ffffff;
    --utility-ink: #111d24;
    --utility-heading: #071217;
    --utility-muted: #435560;
    --utility-line: #bac7cf;
    --utility-line-strong: #7f929f;
    --utility-green: #245f72;
    --utility-green-dark: #18485a;
    --utility-yellow: #b88721;
    --utility-yellow-soft: #edf3f6;
    --utility-blue: #256f8f;
    --utility-rust: #686aa6;
    --utility-red: #b43f3b;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed),
html body.project-map-page:not(.login-page):not(.map-embed) {
    --theme-bg: var(--utility-bg) !important;
    --theme-bg-alt: #e2e9ee !important;
    --theme-nav-bg: #f7f9fa !important;
    --theme-panel-bg: var(--utility-panel) !important;
    --theme-card-bg: var(--utility-panel) !important;
    --theme-card-bg-strong: var(--utility-panel-strong) !important;
    --theme-border: rgba(17, 29, 36, 0.18) !important;
    --theme-border-soft: rgba(17, 29, 36, 0.1) !important;
    --theme-text: var(--utility-ink) !important;
    --theme-heading: var(--utility-heading) !important;
    --theme-muted: var(--utility-muted) !important;
    --theme-accent: var(--utility-green) !important;
    --theme-accent-strong: var(--utility-green-dark) !important;
    --theme-accent-bg: rgba(36, 95, 114, 0.12) !important;
    --theme-accent-faint: rgba(36, 95, 114, 0.07) !important;
    --theme-danger: var(--utility-red) !important;
    --theme-success: #247b64 !important;
    --theme-warning: #815f11 !important;
    background-color: var(--utility-bg) !important;
    background-image: linear-gradient(180deg, #f4f7f9 0%, #e9eff2 48%, #dfe7eb 100%) !important;
    color: var(--utility-ink) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) .app-nav.app-header,
html body.project-map-page:not(.login-page):not(.map-embed) .app-nav.app-header,
html body:not(.login-page):not(.project-map-page):not(.map-embed) .app-header,
html body.project-map-page:not(.login-page):not(.map-embed) .app-header {
    background: #f7f9fa !important;
    border-bottom-color: var(--utility-line) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.page-container, .card, .panel, .pole-card, .dashboard-section, .dashboard-panel, .project-card, .upload-panel, .pole-detail-card, .scan-card, .view-bar, .view-builder, .view-builder-section, .view-picker-menu, .module-card, .module-column, .dash-manage-item, .arcgis-manage-item, .arcgis-manage-card, .dash-modal-card, .section-modal-card, .modal-content, .image-modal-bg, .ticket-panel, .ticket-create-modal, .ticket-create-confirm-card, .ticket-selected-panel, .ticket-category-filters, .pole-panel, .pole-ticket-card, .pole-ticket-modal-card, .ticket-pole-row, .dashboard-hero-summary, .dashboard-inventory-overview, .dashboard-inventory-overview-item, .metric-card, .compare-scan-card, .compare-metric-card, .compare-table-column, .inventory-query-panel, .inventory-query-condition, .inventory-query-table-shell, .inventory-query-table-panel, .inventory-detail-shell, .inventory-detail-table-shell, .inventory-map-dialog, .empty-state, .mini-tag, .compare-breakdown-panel, .dashboard-inventory-chart, .dashboard-inventory-chart-menu),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.page-container, .card, .panel, .pole-card, .dashboard-section, .dashboard-panel, .project-card, .upload-panel, .pole-detail-card, .scan-card, .view-bar, .view-builder, .view-builder-section, .view-picker-menu, .module-card, .module-column, .dash-manage-item, .arcgis-manage-item, .arcgis-manage-card, .dash-modal-card, .section-modal-card, .modal-content, .image-modal-bg, .ticket-panel, .ticket-create-modal, .ticket-create-confirm-card, .ticket-selected-panel, .ticket-category-filters, .pole-panel, .pole-ticket-card, .pole-ticket-modal-card, .ticket-pole-row, .dashboard-hero-summary, .dashboard-inventory-overview, .dashboard-inventory-overview-item, .metric-card, .compare-scan-card, .compare-metric-card, .compare-table-column, .inventory-query-panel, .inventory-query-condition, .inventory-query-table-shell, .inventory-query-table-panel, .inventory-detail-shell, .inventory-detail-table-shell, .inventory-map-dialog, .empty-state, .mini-tag, .compare-breakdown-panel, .dashboard-inventory-chart, .dashboard-inventory-chart-menu) {
    border-color: var(--utility-line) !important;
    background: var(--utility-panel) !important;
    color: var(--utility-ink) !important;
}

html body:not(.login-page):not(.map-embed) :is(.page-title, .form-title, .panel-title, .ticket-panel-title, .dashboard-panel-title, .dashboard-inventory-heading, .compare-title, .compare-section-title-row h2, .compare-section-title-row h3, .project-name, .module-title, .pole-title, .app-header-title, h1, h2, h3, h4) {
    color: var(--utility-heading) !important;
}

html body:not(.login-page):not(.map-embed) :is(.page-subtitle, .form-subtitle, .small-muted, .panel-subtitle, .ticket-panel-subtitle, .ticket-subtext, .project-meta, .upload-meta, .compare-subtext, .inventory-query-subtext, .dashboard-panel-subtitle, .app-header-subtitle, .text-muted, figcaption) {
    color: var(--utility-muted) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.page-subtitle, .form-subtitle, .small-muted, .panel-subtitle, .ticket-panel-subtitle, .ticket-subtext, .project-meta, .upload-meta, .compare-subtext, .inventory-query-subtext, .dashboard-panel-subtitle, .app-header-subtitle, .text-muted, figcaption),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.page-subtitle, .form-subtitle, .small-muted, .panel-subtitle, .ticket-panel-subtitle, .ticket-subtext, .project-meta, .upload-meta, .compare-subtext, .inventory-query-subtext, .dashboard-panel-subtitle, .app-header-subtitle, .text-muted, figcaption) {
    color: var(--utility-muted) !important;
}

html body:not(.login-page):not(.map-embed) :is(a:not(.btn):not(.nav-pill):not(.app-nav a), .link) {
    color: #155d76 !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.btn, .btn-secondary, .btn-ghost, .btn-ghost-soft, .saved-btn, .arcgis-map-btn, .arcgis-table-btn, .view-picker-btn, .view-picker-tab, .pole-scope-btn, .compare-page-btn, .compare-collapse-toggle, .inventory-query-page-btn, .inventory-query-remove, .inventory-detail-page-btn, .inventory-map-dialog-close, .ticket-pagination-btn, .ticket-category-filter, .ticket-pole-action, .admin-panel-trigger, .dashboard-inventory-chart-filter-btn, .dashboard-inventory-chart-menu-action),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.btn, .btn-secondary, .btn-ghost, .btn-ghost-soft, .saved-btn, .arcgis-map-btn, .arcgis-table-btn, .view-picker-btn, .view-picker-tab, .pole-scope-btn, .compare-page-btn, .compare-collapse-toggle, .inventory-query-page-btn, .inventory-query-remove, .inventory-detail-page-btn, .inventory-map-dialog-close, .ticket-pagination-btn, .ticket-category-filter, .ticket-pole-action, .admin-panel-trigger, .dashboard-inventory-chart-filter-btn, .dashboard-inventory-chart-menu-action) {
    border-color: var(--utility-line) !important;
    background: #f7f9fa !important;
    color: var(--utility-ink) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.btn:hover, .btn-secondary:hover, .btn-ghost:hover, .btn-ghost-soft:hover, .saved-btn:hover, .view-picker-tab:hover, .inventory-query-page-btn:hover, .ticket-category-filter:hover, .dashboard-inventory-chart-filter-btn:hover, .dashboard-inventory-chart-menu-action:hover),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.btn:hover, .btn-secondary:hover, .btn-ghost:hover, .btn-ghost-soft:hover, .saved-btn:hover, .view-picker-tab:hover, .inventory-query-page-btn:hover, .ticket-category-filter:hover, .dashboard-inventory-chart-filter-btn:hover, .dashboard-inventory-chart-menu-action:hover) {
    border-color: var(--utility-line-strong) !important;
    background: #e8eef2 !important;
    color: var(--utility-heading) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.btn-primary, .btn-primary-soft, .arcgis-map-btn--primary, .filter-add, .dash-filter-add, .arcgis-filter-add, .compare-submit, .inventory-query-add, .pole-return-btn, .inventory-query-page-number.is-active, .ticket-tab.is-active, .ticket-pagination-btn.is-active),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.btn-primary, .btn-primary-soft, .arcgis-map-btn--primary, .filter-add, .dash-filter-add, .arcgis-filter-add, .compare-submit, .inventory-query-add, .pole-return-btn, .inventory-query-page-number.is-active, .ticket-tab.is-active, .ticket-pagination-btn.is-active) {
    border-color: var(--utility-green-dark) !important;
    background: var(--utility-green-dark) !important;
    color: #ffffff !important;
}

html body.pole-detail-page .pole-return-btn {
    border-color: color-mix(in srgb, var(--utility-blue) 45%, #ffffff) !important;
    background: #0f4d61 !important;
    color: #ffffff !important;
    text-shadow: 0 1px 1px rgba(0, 0, 0, 0.34) !important;
    box-shadow:
        0 10px 24px rgba(17, 29, 36, 0.18),
        inset 0 0 0 1px rgba(255, 255, 255, 0.12) !important;
}

html body.pole-detail-page a.pole-return-btn,
html body.pole-detail-page a.pole-return-btn:visited,
html body.pole-detail-page a.pole-return-btn span {
    color: #ffffff !important;
}

html body.pole-detail-page .pole-return-btn:hover,
html body.pole-detail-page .pole-return-btn:focus-visible {
    border-color: color-mix(in srgb, var(--utility-yellow) 62%, #ffffff) !important;
    background: #0b3f50 !important;
    color: #ffffff !important;
    box-shadow:
        0 14px 30px rgba(17, 29, 36, 0.22),
        inset 0 0 0 1px rgba(255, 255, 255, 0.16) !important;
}

html body.pole-detail-page .pole-return-btn .pole-return-btn-arrow {
    background: rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
    text-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) :is(.form-input, .input, .theme-select, .nice-select, .compare-search-input, .inventory-detail-search-input, .inventory-detail-pagination-select, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]), select, textarea) {
    border-color: var(--utility-line-strong) !important;
    background: #ffffff !important;
    color: var(--utility-ink) !important;
}

html body:not(.login-page):not(.map-embed) :is(input, textarea)::placeholder {
    color: #647681 !important;
    opacity: 1 !important;
}

html body:not(.login-page):not(.map-embed) :is(.form-input:focus, .input:focus, .theme-select:focus, .nice-select:focus, .compare-search-input:focus, .inventory-detail-search-input:focus, input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus, select:focus, textarea:focus) {
    border-color: var(--utility-green) !important;
    box-shadow: 0 0 0 3px rgba(36, 95, 114, 0.18) !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.table th, .problem-poles-table th, .report-table th, .view-table th, .arcgis-data-table thead th, .dashboard-panel-body th, .compare-table th, .inventory-query-table th, .inventory-detail-table th, .ticket-table th, .ticket-pole-table th),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.table th, .problem-poles-table th, .report-table th, .view-table th, .arcgis-data-table thead th, .dashboard-panel-body th, .compare-table th, .inventory-query-table th, .inventory-detail-table th, .ticket-table th, .ticket-pole-table th) {
    background: #e3eaee !important;
    border-bottom-color: var(--utility-line-strong) !important;
    color: #263841 !important;
}

html body:not(.login-page):not(.project-map-page):not(.map-embed) :is(.table td, .problem-poles-table td, .report-table td, .view-table td, .arcgis-data-table td, .dashboard-panel-body td, .compare-table td, .inventory-query-table td, .inventory-detail-table td, .ticket-table td, .ticket-pole-table td),
html body.project-map-page:not(.login-page):not(.map-embed) :is(.table td, .problem-poles-table td, .report-table td, .view-table td, .arcgis-data-table td, .dashboard-panel-body td, .compare-table td, .inventory-query-table td, .inventory-detail-table td, .ticket-table td, .ticket-pole-table td) {
    border-bottom-color: rgba(17, 29, 36, 0.12) !important;
    color: var(--utility-ink) !important;
}

html body:not(.login-page):not(.map-embed) :is(.alert-danger, .compare-status.is-problem, .ticket-priority--critical, .pole-ticket-priority--critical) {
    border-color: rgba(180, 63, 59, 0.36) !important;
    background: rgba(180, 63, 59, 0.11) !important;
    color: #842420 !important;
}

html body:not(.login-page):not(.map-embed) :is(.alert-success, .compare-status.is-normal, .ticket-status--resolved, .ticket-status--closed, .pole-ticket-status--resolved, .pole-ticket-status--closed) {
    border-color: rgba(36, 123, 100, 0.34) !important;
    background: rgba(36, 123, 100, 0.11) !important;
    color: #185942 !important;
}

html.dark-mode body:not(.login-page):not(.map-embed),
html body.theme-dark:not(.login-page):not(.map-embed) {
    --utility-bg: #0f171d;
    --utility-panel: #151f27;
    --utility-panel-strong: #1c2a34;
    --utility-ink: #e7eef2;
    --utility-heading: #f7fafb;
    --utility-muted: #b8c6ce;
    --utility-line: #354854;
    --utility-line-strong: #607685;
    --utility-green: #61b7cf;
    --utility-green-dark: #3e94ad;
    --utility-yellow: #d4aa3e;
    --utility-yellow-soft: rgba(97, 183, 207, 0.14);
    background-color: var(--utility-bg) !important;
    background-image: linear-gradient(180deg, #141e26 0%, #101820 54%, #0b1217 100%) !important;
    color: var(--utility-ink) !important;
}

/* Shared application header: clearer banding, open navigation, consistent spacing. */
html body:not(.login-page):not(.map-embed) .app-nav.app-header,
html body:not(.login-page):not(.map-embed) .app-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    overflow: visible !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    background: rgba(247, 250, 252, 0.96) !important;
    box-shadow: 0 10px 24px rgba(17, 29, 36, 0.055) !important;
    backdrop-filter: none !important;
}

html body:not(.login-page):not(.map-embed) .app-header::before {
    display: none !important;
}

html body:not(.login-page):not(.map-embed) .app-header::after {
    display: none !important;
    background: none !important;
}

html body:not(.login-page):not(.map-embed) .app-header-inner,
html body:not(.login-page):not(.map-embed) .app-nav-inner {
    display: grid !important;
    grid-template-columns: minmax(360px, auto) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px 28px !important;
    width: min(100% - 2rem, 1820px) !important;
    padding: 12px 0 10px !important;
}

html body:not(.login-page):not(.map-embed) .app-header-brand {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
}

html body:not(.login-page):not(.map-embed) .app-nav .logo {
    gap: 0.62rem !important;
    min-width: 0 !important;
    padding-right: 18px !important;
    border-right: 1px solid var(--utility-line) !important;
    color: var(--utility-heading) !important;
    font-size: clamp(1rem, 1.05vw, 1.2rem) !important;
}

html body:not(.login-page):not(.map-embed) .app-nav .logo-mark {
    width: 40px !important;
    height: 40px !important;
    border-color: rgba(17, 29, 36, 0.26) !important;
    border-radius: 3px !important;
}

html body:not(.login-page):not(.map-embed) .app-header-context {
    min-width: 0 !important;
    padding-left: 0 !important;
    border-left: 0 !important;
}

html body:not(.login-page):not(.map-embed) .app-header-title {
    font-size: clamp(1.35rem, 1.65vw, 1.78rem) !important;
    line-height: 0.98 !important;
    color: var(--utility-heading) !important;
}

html body:not(.login-page):not(.map-embed) .app-header-subtitle {
    margin-top: 0.24rem !important;
    color: var(--utility-muted) !important;
    font-size: 0.83rem !important;
    font-weight: 750 !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
    margin-left: 0 !important;
    color: var(--utility-muted) !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions > span {
    min-height: 38px !important;
    margin-right: 14px !important;
    padding: 0 14px 0 0 !important;
    border: 0 !important;
    border-right: 1px solid var(--utility-line) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--utility-muted) !important;
    font-size: 0.82rem !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited) {
    position: relative !important;
    min-height: 40px !important;
    margin: 0 7px !important;
    padding: 10px 0 9px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #314650 !important;
    box-shadow: none !important;
    transform: none !important;
    font-size: 0.88rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill):not(:last-of-type)::after {
    content: "" !important;
    position: absolute !important;
    top: 13px !important;
    right: -8px !important;
    bottom: 13px !important;
    width: 1px !important;
    background: color-mix(in srgb, var(--utility-line-strong) 52%, transparent) !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover, .nav-pill:focus-visible, a.nav-pill:focus-visible) {
    border-bottom-color: color-mix(in srgb, var(--utility-blue) 52%, transparent) !important;
    background: transparent !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    outline: none !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill.is-active, a.nav-pill.is-active) {
    border-bottom-color: var(--utility-blue) !important;
    background: transparent !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions .nav-pill-dot {
    width: 7px !important;
    height: 7px !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 2px !important;
    background: #d9e3e8 !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill.is-active, a.nav-pill.is-active) .nav-pill-dot {
    border-color: #155d76 !important;
    background: #155d76 !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill.is-danger, a.nav-pill.is-danger) {
    color: #77312f !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill.is-danger:hover, a.nav-pill.is-danger:hover) {
    border-bottom-color: var(--utility-red) !important;
    color: #842420 !important;
}

html body:not(.login-page):not(.map-embed) .theme-switcher {
    margin: 0 8px 0 14px !important;
    padding-left: 14px !important;
    border-left: 1px solid var(--utility-line) !important;
}

html body:not(.login-page):not(.map-embed) .theme-mode-toggle {
    min-width: 58px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 999px !important;
    background: #eef4f7 !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) .theme-mode-track {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) .pole-lookup {
    margin-left: 0 !important;
}

html body:not(.login-page):not(.map-embed) .pole-lookup-toggle {
    min-height: 40px !important;
    padding: 0 14px !important;
    border: 1px solid var(--utility-line-strong) !important;
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.68) !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    transform: none !important;
}

html body:not(.login-page):not(.map-embed) .pole-lookup-toggle:hover,
html body:not(.login-page):not(.map-embed) .pole-lookup-toggle:focus-visible,
html body:not(.login-page):not(.map-embed) .pole-lookup.is-open .pole-lookup-toggle,
html body:not(.login-page):not(.map-embed) .pole-lookup.is-active .pole-lookup-toggle {
    border-color: var(--utility-blue) !important;
    background: #e6f1f5 !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    outline: none !important;
}

html body:not(.login-page):not(.map-embed) .pole-lookup-panel {
    top: calc(100% + 10px) !important;
    border-color: var(--utility-line-strong) !important;
    border-radius: 4px !important;
    background: var(--utility-panel-strong) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

html body:not(.login-page):not(.map-embed) .pole-lookup-go {
    border-color: var(--utility-green-dark) !important;
    border-radius: 3px !important;
    background: var(--utility-green-dark) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

@media (max-width: 1180px) {
    html body:not(.login-page):not(.map-embed) .app-header-inner,
    html body:not(.login-page):not(.map-embed) .app-nav-inner {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    html body:not(.login-page):not(.map-embed) .app-nav-actions {
        justify-content: flex-start !important;
        padding-top: 10px !important;
        border-top: 0 !important;
    }
}

@media (max-width: 760px) {
    html body:not(.login-page):not(.map-embed) .app-header-inner,
    html body:not(.login-page):not(.map-embed) .app-nav-inner {
        width: min(100% - 1rem, 1820px) !important;
    }

    html body:not(.login-page):not(.map-embed) .app-header-brand {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 8px !important;
    }

    html body:not(.login-page):not(.map-embed) .app-nav .logo {
        padding-right: 0 !important;
        border-right: 0 !important;
    }

    html body:not(.login-page):not(.map-embed) .app-nav-actions {
        gap: 8px !important;
    }

    html body:not(.login-page):not(.map-embed) .app-nav-actions > span {
        width: 100% !important;
        min-height: auto !important;
        margin: 0 !important;
        padding: 0 0 8px !important;
        border-right: 0 !important;
        border-bottom: 0 !important;
    }

    html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited) {
        margin: 0 10px 0 0 !important;
    }

    html body:not(.login-page):not(.map-embed) .theme-switcher {
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: 0 !important;
    }
}

html.dark-mode body:not(.login-page):not(.map-embed) .app-nav.app-header,
html.dark-mode body:not(.login-page):not(.map-embed) .app-header,
html body.theme-dark:not(.login-page):not(.map-embed) .app-nav.app-header,
html body.theme-dark:not(.login-page):not(.map-embed) .app-header {
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
    background: rgba(17, 27, 36, 0.98) !important;
    box-shadow: 0 10px 24px rgba(2, 8, 12, 0.32) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) .app-header::after,
html body.theme-dark:not(.login-page):not(.map-embed) .app-header::after {
    background: rgba(96, 118, 133, 0.68) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited),
html body.theme-dark:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited) {
    color: #cfe0e8 !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover, .nav-pill.is-active, a.nav-pill.is-active),
html body.theme-dark:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover, .nav-pill.is-active, a.nav-pill.is-active) {
    color: #f7fbfd !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) .pole-lookup-toggle,
html body.theme-dark:not(.login-page):not(.map-embed) .pole-lookup-toggle {
    border-color: var(--utility-line-strong) !important;
    background: rgba(28, 42, 52, 0.76) !important;
    color: var(--utility-heading) !important;
}

/* Hard header rail override to beat shared button groups. */
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited {
    appearance: none !important;
    min-height: 40px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 8px 0 0 !important;
    padding: 10px 0 9px !important;
    border-color: transparent !important;
    border-style: solid !important;
    border-width: 0 0 3px !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    color: #314650 !important;
    box-shadow: none !important;
    transform: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover,
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:focus-visible {
    border-bottom-color: transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    outline: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill.is-active {
    border-bottom-color: transparent !important;
    background: transparent !important;
    background-color: transparent !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill.is-danger {
    color: #77312f !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .theme-switcher {
    flex: 0 0 auto !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .pole-lookup {
    flex: 0 0 auto !important;
    width: auto !important;
}

@media (max-width: 760px) {
    html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        row-gap: 8px !important;
        column-gap: 10px !important;
        max-height: 238px !important;
        overflow-y: auto !important;
    }

    html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
    html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited {
        min-height: 34px !important;
        margin-right: 6px !important;
        padding-block: 7px 6px !important;
        font-size: 0.84rem !important;
    }

    html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill::after {
        display: none !important;
    }

    html body:not(.login-page):not(.map-embed) header.app-header .pole-lookup-toggle {
        min-height: 36px !important;
    }

    html body:not(.login-page):not(.map-embed) header.app-header .pole-lookup-panel {
        right: auto !important;
        left: 0 !important;
        width: min(360px, calc(100vw - 2rem)) !important;
    }
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited {
    color: #cfe0e8 !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover,
html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill.is-active,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill.is-active {
    color: #f7fbfd !important;
}

/* Shared divider restraint: use open spacing and vertical accents instead of decorative blue rules. */
html body:not(.login-page):not(.project-map-page):not(.map-embed) .app-nav.app-header,
html body.project-map-page:not(.login-page):not(.map-embed) .app-nav.app-header,
html body:not(.login-page):not(.project-map-page):not(.map-embed) .app-header,
html body.project-map-page:not(.login-page):not(.map-embed) .app-header {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 10px 24px rgba(17, 29, 36, 0.055) !important;
}

html.dark-mode body:not(.login-page):not(.project-map-page):not(.map-embed) .app-nav.app-header,
html.dark-mode body:not(.login-page):not(.map-embed) .app-header,
html body.theme-dark:not(.login-page):not(.project-map-page):not(.map-embed) .app-nav.app-header,
html body.theme-dark:not(.login-page):not(.map-embed) .app-header {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 10px 24px rgba(2, 8, 12, 0.32) !important;
}

html body:not(.login-page):not(.map-embed) hr {
    border: 0 !important;
    height: 0 !important;
    margin: 1.4rem 0 !important;
}

html body:not(.login-page):not(.map-embed) :is(.settings-panel, .dashboard-section, .dashboard-panel, .ticket-panel, .panel) {
    border-top-color: transparent !important;
}

html body:not(.login-page):not(.map-embed) .settings-panel {
    padding-top: 0.35rem !important;
    padding-left: 1rem !important;
    border-top: 0 !important;
    border-left: 4px solid color-mix(in srgb, var(--utility-blue) 46%, transparent) !important;
}

html body:not(.login-page):not(.map-embed) .settings-panel-head {
    padding-bottom: 0.25rem !important;
    border-bottom: 0 !important;
}

html body:not(.login-page):not(.map-embed) :is(.panel-header, .card-header, .dashboard-section-header, .dashboard-panel-head, .ticket-panel-head) {
    border-bottom-color: transparent !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) .settings-panel,
html body.theme-dark:not(.login-page):not(.map-embed) .settings-panel {
    border-left-color: color-mix(in srgb, var(--utility-green) 56%, transparent) !important;
}

/* Defined top navigation: bordered pills with no divider ticks between items. */
html body:not(.login-page):not(.map-embed) :is(.app-nav.app-header, .app-header) {
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line-strong) 72%, transparent) !important;
    box-shadow: 0 12px 28px rgba(17, 29, 36, 0.08) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions {
    column-gap: 6px !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > span,
html body:not(.login-page):not(.map-embed) .app-nav-actions > span {
    margin-right: 8px !important;
    padding-right: 8px !important;
    border-right: 0 !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form,
html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-form,
html body:not(.login-page):not(.map-embed) header.app-header .impersonation-stop-form {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form {
    padding: 3px !important;
    border: 1px solid color-mix(in srgb, var(--utility-yellow) 52%, var(--utility-line-strong)) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-yellow-soft) 54%, transparent) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form select {
    min-height: 32px !important;
    max-width: 138px !important;
    padding: 0 28px 0 9px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 66%, transparent) !important;
    border-radius: 3px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    font-size: 0.82rem !important;
    font-weight: 800 !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form .nav-pill,
html body:not(.login-page):not(.map-embed) header.app-header .impersonation-stop-form .nav-pill {
    appearance: none !important;
    min-height: 32px !important;
    padding-block: 6px !important;
    white-space: nowrap !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    border: 1px solid color-mix(in srgb, var(--utility-yellow) 52%, var(--utility-line-strong)) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-yellow-soft) 50%, transparent) !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-toggle input {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-slider {
    position: relative !important;
    width: 36px !important;
    height: 20px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 66%, transparent) !important;
    border-radius: 999px !important;
    background: rgba(100, 116, 139, 0.2) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-slider::after {
    content: "" !important;
    position: absolute !important;
    top: 2px !important;
    left: 2px !important;
    width: 14px !important;
    height: 14px !important;
    border-radius: 999px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.24) !important;
    transition: transform 0.18s ease, background 0.18s ease !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-toggle input:checked + .impersonation-demo-slider {
    border-color: color-mix(in srgb, var(--utility-green-dark) 86%, transparent) !important;
    background: var(--utility-green-dark) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-toggle input:checked + .impersonation-demo-slider::after {
    transform: translateX(16px) !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill)::after,
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill::after {
    display: none !important;
    content: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited,
html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited) {
    min-height: 38px !important;
    margin: 0 !important;
    padding: 9px 11px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 62%, transparent) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.42) !important;
    color: #314650 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.58) !important;
    transform: translateY(0) scale(1) !important;
    transition:
        transform 0.18s ease,
        border-color 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease,
        color 0.18s ease !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover,
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:focus-visible,
html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover, .nav-pill:focus-visible, a.nav-pill:focus-visible) {
    border-color: color-mix(in srgb, var(--utility-green-dark) 78%, transparent) !important;
    background: color-mix(in srgb, var(--utility-green) 16%, #ffffff) !important;
    color: var(--utility-heading) !important;
    box-shadow:
        0 8px 18px rgba(17, 29, 36, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.7) !important;
    transform: translateY(-2px) scale(1.035) !important;
    outline: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill.is-active,
html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill.is-active, a.nav-pill.is-active) {
    border-color: color-mix(in srgb, var(--utility-yellow) 64%, var(--utility-line-strong)) !important;
    background: var(--utility-yellow-soft) !important;
    color: var(--utility-heading) !important;
    box-shadow:
        inset 0 -3px 0 color-mix(in srgb, var(--utility-yellow) 68%, transparent),
        inset 0 1px 0 rgba(255, 255, 255, 0.66) !important;
}

html body:not(.login-page):not(.map-embed) .app-nav-actions .nav-pill-dot,
html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill .nav-pill-dot {
    width: 7px !important;
    height: 7px !important;
    flex: 0 0 auto !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 82%, transparent) !important;
    border-radius: 2px !important;
    background: #d9e3e8 !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover .nav-pill-dot,
html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover) .nav-pill-dot {
    border-color: var(--utility-green-dark) !important;
    background: var(--utility-green-dark) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill.is-danger:hover,
html body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill.is-danger:hover, a.nav-pill.is-danger:hover) {
    border-color: color-mix(in srgb, var(--utility-red) 72%, transparent) !important;
    background: rgba(163, 58, 50, 0.1) !important;
    color: #842420 !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) :is(.app-nav.app-header, .app-header),
html body.theme-dark:not(.login-page):not(.map-embed) :is(.app-nav.app-header, .app-header) {
    border-bottom-color: color-mix(in srgb, var(--utility-line-strong) 78%, transparent) !important;
    box-shadow: 0 14px 30px rgba(2, 8, 12, 0.36) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited,
html.dark-mode body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited),
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:visited,
html body.theme-dark:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill, a.nav-pill, a.nav-pill:visited) {
    border-color: color-mix(in srgb, var(--utility-line-strong) 72%, transparent) !important;
    background: rgba(28, 42, 52, 0.58) !important;
    color: #cfe0e8 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form,
html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .impersonation-demo-toggle,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form {
    background: rgba(208, 177, 89, 0.12) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form select,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .impersonation-start-form select {
    border-color: color-mix(in srgb, var(--utility-line-strong) 72%, transparent) !important;
    background: rgba(28, 42, 52, 0.72) !important;
    color: #f7fbfd !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover,
html.dark-mode body:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover),
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > a.nav-pill:hover,
html body.theme-dark:not(.login-page):not(.map-embed) .app-nav-actions :is(.nav-pill:hover, a.nav-pill:hover) {
    border-color: color-mix(in srgb, var(--utility-green) 82%, transparent) !important;
    background: rgba(55, 78, 65, 0.78) !important;
    color: #f7fbfd !important;
    box-shadow: 0 9px 20px rgba(2, 8, 12, 0.34) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-header-brand {
    flex-wrap: wrap !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls {
    order: -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    gap: 6px !important;
    min-height: 44px !important;
    margin-right: 2px !important;
    padding: 5px 6px !important;
    border: 2px solid color-mix(in srgb, var(--utility-red) 82%, #ffffff) !important;
    border-radius: 6px !important;
    background: color-mix(in srgb, var(--utility-red) 8%, #ffffff) !important;
    box-shadow:
        0 8px 18px rgba(132, 36, 32, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.74) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls.is-active {
    background: color-mix(in srgb, var(--utility-red) 12%, #ffffff) !important;
    box-shadow:
        0 9px 22px rgba(132, 36, 32, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-label {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 0 8px !important;
    border-radius: 4px !important;
    background: #842420 !important;
    color: #ffffff !important;
    font-size: 0.68rem !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls :is(.impersonation-start-form, .impersonation-demo-form, .impersonation-stop-form) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls .impersonation-start-form select {
    min-height: 32px !important;
    max-width: 116px !important;
    padding: 0 24px 0 8px !important;
    border: 1px solid color-mix(in srgb, var(--utility-red) 48%, var(--utility-line-strong)) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.86) !important;
    color: var(--utility-heading) !important;
    box-shadow: none !important;
    font-size: 0.8rem !important;
    font-weight: 850 !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls .impersonation-demo-toggle {
    min-height: 32px !important;
    padding: 0 8px !important;
    border: 1px solid color-mix(in srgb, var(--utility-red) 52%, var(--utility-line-strong)) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: #842420 !important;
    font-size: 0.78rem !important;
    font-weight: 950 !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls :is(.nav-pill, .nav-pill:visited) {
    min-height: 32px !important;
    padding: 7px 9px !important;
    border-color: color-mix(in srgb, var(--utility-red) 58%, var(--utility-line-strong)) !important;
    background: rgba(255, 255, 255, 0.78) !important;
    color: #842420 !important;
    font-size: 0.78rem !important;
    font-weight: 950 !important;
    box-shadow: none !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls :is(.nav-pill:hover, .nav-pill:focus-visible) {
    border-color: #842420 !important;
    background: rgba(163, 58, 50, 0.14) !important;
    color: #601914 !important;
    transform: translateY(-1px) scale(1.025) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls .impersonation-demo-slider {
    width: 34px !important;
    height: 18px !important;
    border-color: color-mix(in srgb, var(--utility-red) 42%, var(--utility-line-strong)) !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls .impersonation-demo-slider::after {
    top: 2px !important;
    left: 2px !important;
    width: 12px !important;
    height: 12px !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls .impersonation-demo-toggle input:checked + .impersonation-demo-slider {
    border-color: #842420 !important;
    background: #842420 !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls .impersonation-demo-toggle input:checked + .impersonation-demo-slider::after {
    transform: translateX(16px) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls {
    border-color: rgba(248, 113, 113, 0.88) !important;
    background: rgba(127, 29, 29, 0.24) !important;
    box-shadow: 0 10px 22px rgba(2, 8, 12, 0.32) !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls :is(.impersonation-demo-toggle, .nav-pill, .nav-pill:visited, .impersonation-start-form select),
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls :is(.impersonation-demo-toggle, .nav-pill, .nav-pill:visited, .impersonation-start-form select) {
    border-color: rgba(248, 113, 113, 0.5) !important;
    background: rgba(28, 42, 52, 0.72) !important;
    color: #fee2e2 !important;
}

@media (max-width: 980px) {
    html body:not(.login-page):not(.map-embed) header.app-header .app-impersonation-controls {
        width: 100% !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
    }
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions {
    flex-wrap: wrap !important;
    row-gap: 6px !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > span.nav-user-status,
html body:not(.login-page):not(.map-embed) .app-nav-actions > span.nav-user-status {
    display: inline-flex !important;
    flex: 0 1 clamp(180px, 20vw, 360px) !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    min-width: 168px !important;
    max-width: 360px !important;
    min-height: 38px !important;
    margin: 0 8px 0 0 !important;
    padding: 3px 10px 3px 0 !important;
    border: 0 !important;
    border-right: 1px solid color-mix(in srgb, var(--utility-line-strong) 56%, transparent) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--utility-muted) !important;
    line-height: 1.12 !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .nav-user-status-line {
    display: block !important;
    max-width: 100% !important;
}

html body:not(.login-page):not(.map-embed) header.app-header .nav-user-status-role {
    color: var(--utility-heading) !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
}

@media (max-width: 1280px) {
    html body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > span.nav-user-status,
    html body:not(.login-page):not(.map-embed) .app-nav-actions > span.nav-user-status {
        flex-basis: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        padding-right: 0 !important;
        border-right: 0 !important;
    }
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > span.nav-user-status,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .app-nav-actions > span.nav-user-status {
    background: transparent !important;
    border-right-color: rgba(148, 163, 184, 0.32) !important;
    color: #aebfcc !important;
}

html.dark-mode body:not(.login-page):not(.map-embed) header.app-header .nav-user-status-role,
html body.theme-dark:not(.login-page):not(.map-embed) header.app-header .nav-user-status-role {
    color: #f7fbfd !important;
}

/* Role-aware home page. */
html body.home-dashboard-page .home-dashboard {
    display: grid !important;
    gap: 22px !important;
    max-width: 1440px !important;
}

html body.home-dashboard-page .page-container.home-dashboard {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.home-dashboard-page .home-hero,
html body.home-dashboard-page .home-top-grid,
html body.home-dashboard-page .home-content-grid {
    display: grid !important;
    gap: 18px !important;
}

html body.home-dashboard-page .home-hero {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    padding: 6px 0 14px 18px !important;
    border-left: 4px solid color-mix(in srgb, var(--utility-green) 72%, transparent) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 70%, transparent) !important;
}

html body.home-dashboard-page .home-kicker {
    margin: 0 0 6px !important;
    color: var(--utility-blue) !important;
    font-size: 0.78rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-end !important;
}

html body.home-dashboard-page .home-top-grid {
    grid-template-columns: minmax(420px, 1.35fr) minmax(320px, 0.65fr) !important;
    align-items: stretch !important;
}

html body.home-dashboard-page .home-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.home-dashboard-page .home-map-panel,
html body.home-dashboard-page .home-panel {
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-panel) 86%, transparent) !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
}

html body.home-dashboard-page .home-map-panel,
html body.home-dashboard-page .home-panel {
    padding: 16px !important;
}

html body.home-dashboard-page .home-panel-head {
    display: flex !important;
    align-items: start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 72%, transparent) !important;
}

html body.home-dashboard-page .home-panel-head h2 {
    margin: 0 !important;
    color: var(--utility-heading) !important;
    font-size: 1rem !important;
    line-height: 1.1 !important;
}

html body.home-dashboard-page .home-panel-head p {
    margin: 5px 0 0 !important;
    color: var(--utility-muted) !important;
    font-size: 0.9rem !important;
}

html body.home-dashboard-page .home-report .home-panel-head {
    cursor: pointer !important;
    transition:
        background-color 0.18s ease,
        border-color 0.18s ease,
        padding-inline 0.18s ease !important;
}

html body.home-dashboard-page .home-report .home-panel-head:hover,
html body.home-dashboard-page .home-report .home-panel-head:focus-visible {
    margin-inline: -6px !important;
    padding-inline: 6px !important;
    border-color: color-mix(in srgb, var(--utility-green-dark) 44%, var(--utility-line)) !important;
    background: color-mix(in srgb, var(--utility-green) 8%, transparent) !important;
    outline: none !important;
}

html body.home-dashboard-page.home-report-open {
    overflow: hidden !important;
}

html body.home-dashboard-page .home-report-popout[hidden] {
    display: none !important;
}

html body.home-dashboard-page .home-report-popout {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2500 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(14px, 2.2vw, 32px) !important;
}

html body.home-dashboard-page .home-report-backdrop {
    position: absolute !important;
    inset: 0 !important;
    border: 0 !important;
    background: rgba(15, 23, 42, 0.58) !important;
    backdrop-filter: blur(9px) !important;
    cursor: default !important;
}

html body.home-dashboard-page .home-report-window {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    width: min(1500px, calc(100vw - clamp(28px, 4.4vw, 64px))) !important;
    height: min(900px, calc(100vh - clamp(28px, 4.4vw, 64px))) !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 72%, transparent) !important;
    border-radius: 6px !important;
    background: color-mix(in srgb, var(--utility-panel) 96%, #ffffff) !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.34) !important;
    overflow: hidden !important;
}

html body.home-dashboard-page .home-report-window:focus {
    outline: none !important;
}

html body.home-dashboard-page .home-report-window-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 18px 20px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 78%, transparent) !important;
    background: color-mix(in srgb, var(--utility-panel) 88%, #ffffff) !important;
}

html body.home-dashboard-page .home-report-kicker {
    margin: 0 0 5px !important;
    color: var(--utility-blue) !important;
    font-size: 0.74rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.02em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-report-window-head h2 {
    margin: 0 !important;
    color: var(--utility-heading) !important;
    font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
    line-height: 1 !important;
}

html body.home-dashboard-page .home-report-window-head p:not(.home-report-kicker) {
    margin: 6px 0 0 !important;
    color: var(--utility-muted) !important;
    font-size: 0.95rem !important;
}

html body.home-dashboard-page .home-report-window-body {
    min-height: 0 !important;
    overflow: auto !important;
    padding: 20px !important;
}

html body.home-dashboard-page .home-report-window-body .home-report-clone {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

html body.home-dashboard-page .home-report-tools {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    padding: 12px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line) 82%, transparent) !important;
    border-radius: 5px !important;
    background: color-mix(in srgb, var(--utility-panel) 82%, #ffffff) !important;
}

html body.home-dashboard-page .home-panel > .home-report-tools {
    margin-top: -2px !important;
    padding: 10px !important;
}

html body.home-dashboard-page .home-panel > .home-report-tools .home-report-search {
    min-width: min(280px, 100%) !important;
}

html body.home-dashboard-page .home-panel > .home-report-tools .home-report-search input {
    min-height: 34px !important;
    font-size: 0.86rem !important;
}

html body.home-dashboard-page .home-panel > .home-report-tools .home-report-page-status {
    font-size: 0.82rem !important;
}

html body.home-dashboard-page .home-panel > .home-report-tools .home-report-page-btn,
html body.home-dashboard-page .home-panel > .home-report-tools .home-report-page-number {
    min-height: 30px !important;
    padding: 5px 8px !important;
    font-size: 0.78rem !important;
}

html body.home-dashboard-page .home-report-search {
    display: grid !important;
    gap: 5px !important;
    min-width: min(420px, 100%) !important;
    color: var(--utility-muted) !important;
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-report-search input {
    min-height: 38px !important;
    width: 100% !important;
    padding: 0 12px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 62%, transparent) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--utility-heading) !important;
    font: inherit !important;
    font-size: 0.92rem !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

html body.home-dashboard-page .home-report-page-status {
    flex: 1 1 auto !important;
    color: var(--utility-muted) !important;
    font-size: 0.88rem !important;
    font-weight: 850 !important;
    text-align: right !important;
}

html body.home-dashboard-page .home-report-pager,
html body.home-dashboard-page .home-report-page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

html body.home-dashboard-page .home-report-page-btn,
html body.home-dashboard-page .home-report-page-number {
    min-height: 34px !important;
    padding: 7px 10px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 62%, transparent) !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.72) !important;
    color: var(--utility-heading) !important;
    font: inherit !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

html body.home-dashboard-page .home-report-page-gap {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 4px !important;
    color: var(--utility-muted) !important;
    font-size: 0.82rem !important;
    font-weight: 900 !important;
}

html body.home-dashboard-page .home-report-page-btn:hover:not(:disabled),
html body.home-dashboard-page .home-report-page-number:hover,
html body.home-dashboard-page .home-report-page-number.is-active {
    border-color: color-mix(in srgb, var(--utility-green-dark) 76%, transparent) !important;
    background: color-mix(in srgb, var(--utility-green) 14%, #ffffff) !important;
}

html body.home-dashboard-page .home-report-page-number.is-active {
    box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--utility-green-dark) 72%, transparent) !important;
}

html body.home-dashboard-page .home-report-page-btn:disabled {
    cursor: not-allowed !important;
    opacity: 0.45 !important;
}

html body.home-dashboard-page .home-report-no-results {
    margin-top: 12px !important;
}

html body.home-dashboard-page .home-report-window-body .home-work-row,
html body.home-dashboard-page .home-report-window-body .home-pole-health-row,
html body.home-dashboard-page .home-report-window-body .home-line-performance-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 17px 6px !important;
}

html body.home-dashboard-page .home-report-window-body .home-work-main strong,
html body.home-dashboard-page .home-report-window-body .home-pole-main strong,
html body.home-dashboard-page .home-report-window-body .home-line-main strong {
    font-size: 1.05rem !important;
}

html body.home-dashboard-page .home-map-embed {
    height: clamp(300px, 44vh, 500px) !important;
    min-height: 300px !important;
    border-radius: 4px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 62%, transparent) !important;
    background: #dfe4dd !important;
}

html body.home-dashboard-page .home-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-panel) 88%, transparent) !important;
    overflow: hidden !important;
}

html body.home-dashboard-page .home-metric {
    display: grid !important;
    gap: 7px !important;
    min-height: 142px !important;
    padding: 18px !important;
    border-right: 1px solid color-mix(in srgb, var(--utility-line) 78%, transparent) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 78%, transparent) !important;
    background: transparent !important;
}

html body.home-dashboard-page .home-metric:nth-child(2n) {
    border-right: 0 !important;
}

html body.home-dashboard-page .home-metric:nth-last-child(-n + 2) {
    border-bottom: 0 !important;
}

html body.home-dashboard-page .home-metric span,
html body.home-dashboard-page .home-health-grid span {
    color: var(--utility-muted) !important;
    font-size: 0.76rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-metric strong {
    color: var(--utility-heading) !important;
    font-size: clamp(1.65rem, 4vw, 2.55rem) !important;
    line-height: 1 !important;
}

html body.home-dashboard-page .home-metric-value-btn {
    justify-self: start !important;
    appearance: none !important;
    display: inline-flex !important;
    align-items: baseline !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border: 0 !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: var(--utility-blue) !important;
    font: inherit !important;
    cursor: pointer !important;
    text-align: left !important;
    transition:
        color 0.18s ease,
        transform 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease !important;
}

html body.home-dashboard-page .home-metric-value-btn strong {
    color: currentColor !important;
    pointer-events: none !important;
}

html body.home-dashboard-page .home-metric-value-btn:hover,
html body.home-dashboard-page .home-metric-value-btn:focus-visible {
    color: var(--utility-green-dark) !important;
    background: color-mix(in srgb, var(--utility-green) 12%, transparent) !important;
    box-shadow: 0 7px 18px rgba(17, 29, 36, 0.1) !important;
    transform: translateY(-2px) scale(1.035) !important;
    outline: none !important;
}

html body.home-dashboard-page .home-metric small {
    color: var(--utility-muted) !important;
    font-size: 0.88rem !important;
}

html body.home-dashboard-page .home-work-list,
html body.home-dashboard-page .home-user-counts,
html body.home-dashboard-page .home-pole-health-list,
html body.home-dashboard-page .home-line-performance-list {
    display: grid !important;
    gap: 0 !important;
}

html body.home-dashboard-page .home-work-row,
html body.home-dashboard-page .home-pole-health-row,
html body.home-dashboard-page .home-line-performance-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 14px 4px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 76%, transparent) !important;
    color: var(--utility-ink) !important;
    text-decoration: none !important;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease !important;
}

html body.home-dashboard-page .home-work-row:last-child,
html body.home-dashboard-page .home-user-count-row:last-child,
html body.home-dashboard-page .home-pole-health-row:last-child,
html body.home-dashboard-page .home-line-performance-row:last-child {
    border-bottom: 0 !important;
}

html body.home-dashboard-page .home-work-row:hover,
html body.home-dashboard-page .home-pole-health-row:hover {
    background: color-mix(in srgb, var(--utility-green) 9%, transparent) !important;
    transform: translateX(2px) !important;
}

html body.home-dashboard-page .home-work-main,
html body.home-dashboard-page .home-work-meta,
html body.home-dashboard-page .home-pole-main,
html body.home-dashboard-page .home-pole-meta,
html body.home-dashboard-page .home-line-main,
html body.home-dashboard-page .home-line-performance-metrics {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px 9px !important;
    align-items: center !important;
}

html body.home-dashboard-page .home-work-main,
html body.home-dashboard-page .home-pole-main,
html body.home-dashboard-page .home-line-main {
    flex-direction: column !important;
    align-items: flex-start !important;
}

html body.home-dashboard-page .home-work-main strong,
html body.home-dashboard-page .home-pole-main strong,
html body.home-dashboard-page .home-line-main strong {
    color: var(--utility-heading) !important;
    font-size: 0.98rem !important;
}

html body.home-dashboard-page .home-work-main span,
html body.home-dashboard-page .home-assignee,
html body.home-dashboard-page .home-pole-main span,
html body.home-dashboard-page .home-pole-meta,
html body.home-dashboard-page .home-line-main span,
html body.home-dashboard-page .home-empty {
    color: var(--utility-muted) !important;
    font-size: 0.88rem !important;
}

html body.home-dashboard-page .home-health-pill {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 24px !important;
    padding: 3px 9px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 60%, transparent) !important;
    border-radius: 999px !important;
    font-size: 0.72rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-health-pill--problem {
    border-color: color-mix(in srgb, var(--utility-red) 50%, transparent) !important;
    background: color-mix(in srgb, var(--utility-red) 12%, transparent) !important;
    color: color-mix(in srgb, var(--utility-red) 72%, #2f1111) !important;
}

html body.home-dashboard-page .home-health-pill--normal {
    border-color: color-mix(in srgb, var(--utility-green) 46%, transparent) !important;
    background: color-mix(in srgb, var(--utility-green) 10%, transparent) !important;
    color: var(--utility-green-dark) !important;
}

html body.home-dashboard-page .home-line-performance-row {
    align-items: stretch !important;
}

html body.home-dashboard-page .home-line-performance-progress {
    display: grid !important;
    grid-template-columns: minmax(110px, 180px) auto !important;
    gap: 9px !important;
    align-items: center !important;
    width: 100% !important;
}

html body.home-dashboard-page .home-line-performance-progress .home-due-track {
    width: 100% !important;
    max-width: 180px !important;
}

html body.home-dashboard-page .home-line-performance-metrics {
    justify-content: flex-end !important;
}

html body.home-dashboard-page .home-line-stat {
    display: grid !important;
    gap: 2px !important;
    min-width: 72px !important;
    padding: 7px 9px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line) 72%, transparent) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-panel-strong) 78%, transparent) !important;
}

html body.home-dashboard-page .home-line-stat strong {
    color: var(--utility-heading) !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

html body.home-dashboard-page .home-line-stat small {
    color: var(--utility-muted) !important;
    font-size: 0.68rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-due-panel {
    grid-column: 1 / -1 !important;
}

html body.home-dashboard-page .home-due-bars {
    display: grid !important;
    gap: 14px !important;
}

html body.home-dashboard-page .home-due-row {
    --due-color: var(--utility-green);
    display: grid !important;
    grid-template-columns: minmax(145px, 0.2fr) minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
}

html body.home-dashboard-page .home-due-row[data-tone="overdue"] {
    --due-color: var(--utility-red);
}

html body.home-dashboard-page .home-due-row[data-tone="soon"] {
    --due-color: var(--utility-yellow);
}

html body.home-dashboard-page .home-due-row[data-tone="later"] {
    --due-color: var(--utility-green);
}

html body.home-dashboard-page .home-due-label {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

html body.home-dashboard-page .home-due-label span {
    color: var(--utility-muted) !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

html body.home-dashboard-page .home-due-label strong {
    color: var(--utility-heading) !important;
    font-size: 1.1rem !important;
}

html body.home-dashboard-page .home-due-track {
    position: relative !important;
    height: 12px !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 48%, transparent) !important;
    border-radius: 999px !important;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, 0.34), transparent),
        color-mix(in srgb, var(--utility-line) 55%, transparent) !important;
}

html body.home-dashboard-page .home-due-track span {
    display: block !important;
    width: var(--due-width, 0%) !important;
    min-width: 0 !important;
    height: 100% !important;
    border-radius: inherit !important;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--due-color) 72%, #ffffff), var(--due-color)) !important;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--due-color) 64%, transparent) !important;
}

html body.home-dashboard-page .home-health-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
}

html body.home-dashboard-page .home-health-grid div,
html body.home-dashboard-page .home-user-count-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 13px 4px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 76%, transparent) !important;
}

html body.home-dashboard-page .home-health-grid div {
    display: grid !important;
    border-right: 1px solid color-mix(in srgb, var(--utility-line) 76%, transparent) !important;
    padding: 16px !important;
}

html body.home-dashboard-page .home-health-grid div:nth-child(3n) {
    border-right: 0 !important;
}

html body.home-dashboard-page .home-health-grid strong,
html body.home-dashboard-page .home-user-count-row strong {
    color: var(--utility-heading) !important;
    font-size: 1.1rem !important;
}

html.dark-mode body.home-dashboard-page .home-map-panel,
html.dark-mode body.home-dashboard-page .home-panel,
html.dark-mode body.home-dashboard-page .home-metric-grid,
html.dark-mode body.home-dashboard-page .home-report-window,
html.dark-mode body.home-dashboard-page .home-report-tools,
html body.theme-dark.home-dashboard-page .home-map-panel,
html body.theme-dark.home-dashboard-page .home-panel,
html body.theme-dark.home-dashboard-page .home-metric-grid,
html body.theme-dark.home-dashboard-page .home-report-window,
html body.theme-dark.home-dashboard-page .home-report-tools {
    background: color-mix(in srgb, var(--utility-panel) 92%, #000000) !important;
}

html.dark-mode body.home-dashboard-page .home-report-search input,
html body.theme-dark.home-dashboard-page .home-report-search input {
    border-color: rgba(148, 163, 184, 0.42) !important;
    background: rgba(15, 23, 42, 0.72) !important;
    color: #f7fbfd !important;
}

/* Line user performance profile. */
html body.line-profile-page .line-profile {
    display: grid !important;
    gap: 22px !important;
    max-width: 1440px !important;
}

html body.line-profile-page .page-container.line-profile {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

html body.line-profile-page .line-profile-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 18px !important;
    align-items: end !important;
    padding: 6px 0 14px 18px !important;
    border-left: 4px solid color-mix(in srgb, var(--utility-blue) 72%, transparent) !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 70%, transparent) !important;
}

html body.line-profile-page .line-profile-kicker {
    margin: 0 0 6px !important;
    color: var(--utility-blue) !important;
    font-size: 0.78rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

html body.line-profile-page .line-profile-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: flex-end !important;
}

html body.line-profile-page .line-profile-metrics,
html body.line-profile-page .line-profile-grid,
html body.line-profile-page .line-profile-report-grid {
    display: grid !important;
    gap: 18px !important;
}

html body.line-profile-page .line-profile-metrics {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-panel) 88%, transparent) !important;
    overflow: hidden !important;
}

html body.line-profile-page .line-profile-metric {
    display: grid !important;
    gap: 9px !important;
    min-height: 132px !important;
    padding: 18px !important;
    border-right: 1px solid color-mix(in srgb, var(--utility-line) 78%, transparent) !important;
}

html body.line-profile-page .line-profile-metric:last-child {
    border-right: 0 !important;
}

html body.line-profile-page .line-profile-metric span,
html body.line-profile-page .line-profile-panel-head p,
html body.line-profile-page .line-profile-work-main span,
html body.line-profile-page .line-profile-work-meta,
html body.line-profile-page .line-profile-bar-label span,
html body.line-profile-page .line-profile-empty {
    color: var(--utility-muted) !important;
}

html body.line-profile-page .line-profile-metric span,
html body.line-profile-page .line-profile-bar-label span {
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

html body.line-profile-page .line-profile-metric strong {
    color: var(--utility-heading) !important;
    font-size: clamp(1.85rem, 4vw, 2.65rem) !important;
    line-height: 1 !important;
}

html body.line-profile-page .line-profile-metric small {
    color: var(--utility-muted) !important;
    font-size: 0.88rem !important;
}

html body.line-profile-page .line-profile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html body.line-profile-page .line-profile-report-grid {
    grid-template-columns: 1fr !important;
}

html body.line-profile-page .line-profile-panel {
    padding: 16px !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-panel) 86%, transparent) !important;
    color: var(--utility-ink) !important;
    box-shadow: none !important;
}

html body.line-profile-page .line-profile-panel-head {
    display: flex !important;
    align-items: start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 72%, transparent) !important;
}

html body.line-profile-page .line-profile-panel-head h2 {
    margin: 0 !important;
    color: var(--utility-heading) !important;
    font-size: 1rem !important;
    line-height: 1.1 !important;
}

html body.line-profile-page .line-profile-panel-head p {
    margin: 5px 0 0 !important;
    font-size: 0.88rem !important;
}

html body.line-profile-page .line-profile-donut-wrap {
    display: grid !important;
    grid-template-columns: minmax(150px, 210px) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: center !important;
}

html body.line-profile-page .line-profile-donut {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: min(190px, 100%) !important;
    aspect-ratio: 1 !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 60%, transparent) !important;
    border-radius: 50% !important;
    background: color-mix(in srgb, var(--utility-line) 70%, transparent) !important;
}

html body.line-profile-page .line-profile-donut::after {
    content: "" !important;
    position: absolute !important;
    inset: 23% !important;
    border: 1px solid color-mix(in srgb, var(--utility-line) 76%, transparent) !important;
    border-radius: 50% !important;
    background: var(--utility-panel) !important;
}

html body.line-profile-page .line-profile-donut span {
    position: relative !important;
    z-index: 1 !important;
    color: var(--utility-heading) !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
}

html body.line-profile-page .line-profile-legend,
html body.line-profile-page .line-profile-work-list {
    display: grid !important;
    gap: 0 !important;
}

html body.line-profile-page .line-profile-legend div,
html body.line-profile-page .line-profile-bar-row {
    display: grid !important;
    gap: 8px !important;
    padding: 10px 4px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 72%, transparent) !important;
}

html body.line-profile-page .line-profile-legend div {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
}

html body.line-profile-page .line-profile-legend div:last-child,
html body.line-profile-page .line-profile-bar-row:last-child,
html body.line-profile-page .line-profile-work-row:last-child {
    border-bottom: 0 !important;
}

html body.line-profile-page .line-profile-legend span {
    color: var(--utility-muted) !important;
    font-size: 0.9rem !important;
}

html body.line-profile-page .line-profile-legend strong,
html body.line-profile-page .line-profile-bar-label strong {
    color: var(--utility-heading) !important;
}

html body.line-profile-page .line-profile-bar-label {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

html body.line-profile-page .line-profile-bar-track {
    position: relative !important;
    height: 12px !important;
    overflow: hidden !important;
    border: 1px solid color-mix(in srgb, var(--utility-line-strong) 44%, transparent) !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--utility-line) 56%, transparent) !important;
}

html body.line-profile-page .line-profile-bar-track span {
    display: block !important;
    width: var(--line-bar-width, 0%) !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, color-mix(in srgb, var(--utility-blue) 74%, #ffffff), var(--utility-green-dark)) !important;
}

html body.line-profile-page .line-profile-work-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 14px 4px !important;
    border-bottom: 1px solid color-mix(in srgb, var(--utility-line) 76%, transparent) !important;
    color: var(--utility-ink) !important;
    text-decoration: none !important;
    transition: background-color 0.18s ease, transform 0.18s ease !important;
}

html body.line-profile-page .line-profile-work-row:hover,
html body.line-profile-page .line-profile-work-row:focus-visible {
    background: color-mix(in srgb, var(--utility-green) 9%, transparent) !important;
    outline: none !important;
    transform: translateX(2px) !important;
}

html body.line-profile-page .line-profile-work-main,
html body.line-profile-page .line-profile-work-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px 9px !important;
    align-items: center !important;
}

html body.line-profile-page .line-profile-work-main {
    flex-direction: column !important;
    align-items: flex-start !important;
}

html body.line-profile-page .line-profile-work-main strong {
    color: var(--utility-heading) !important;
    font-size: 0.98rem !important;
}

html body.line-profile-page .line-profile-work-main span,
html body.line-profile-page .line-profile-work-meta,
html body.line-profile-page .line-profile-empty {
    font-size: 0.88rem !important;
}

html body.line-profile-page .line-profile-report-tools {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 12px !important;
    padding: 10px !important;
    border: 1px solid color-mix(in srgb, var(--utility-line) 72%, transparent) !important;
    border-radius: 4px !important;
    background: color-mix(in srgb, var(--utility-panel-strong) 68%, transparent) !important;
}

html body.line-profile-page .line-profile-search {
    display: grid !important;
    gap: 5px !important;
    min-width: min(320px, 100%) !important;
}

html body.line-profile-page .line-profile-search span,
html body.line-profile-page .line-profile-page-status {
    color: var(--utility-muted) !important;
    font-size: 0.74rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}

html body.line-profile-page .line-profile-search input {
    min-height: 38px !important;
    border: 1px solid var(--utility-line-strong) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: var(--utility-ink) !important;
}

html body.line-profile-page .line-profile-pager {
    display: flex !important;
    gap: 8px !important;
}

html body.line-profile-page .line-profile-page-btn {
    min-height: 36px !important;
    padding: 0 12px !important;
    border: 1px solid var(--utility-line) !important;
    border-radius: 4px !important;
    background: var(--utility-panel-strong) !important;
    color: var(--utility-ink) !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

html body.line-profile-page .line-profile-page-btn:disabled {
    cursor: default !important;
    opacity: 0.45 !important;
}

html.dark-mode body.line-profile-page .line-profile-panel,
html.dark-mode body.line-profile-page .line-profile-metrics,
html.dark-mode body.line-profile-page .line-profile-report-tools,
html body.theme-dark.line-profile-page .line-profile-panel,
html body.theme-dark.line-profile-page .line-profile-metrics,
html body.theme-dark.line-profile-page .line-profile-report-tools {
    background: color-mix(in srgb, var(--utility-panel) 92%, #000000) !important;
}

html.dark-mode body.line-profile-page .line-profile-donut::after,
html body.theme-dark.line-profile-page .line-profile-donut::after {
    background: var(--utility-panel) !important;
}

html.dark-mode body.line-profile-page .line-profile-search input,
html body.theme-dark.line-profile-page .line-profile-search input {
    border-color: rgba(148, 163, 184, 0.42) !important;
    background: rgba(15, 23, 42, 0.72) !important;
    color: #f7fbfd !important;
}

@media (max-width: 1050px) {
    html body.home-dashboard-page .home-top-grid,
    html body.home-dashboard-page .home-content-grid,
    html body.line-profile-page .line-profile-grid {
        grid-template-columns: 1fr !important;
    }

    html body.line-profile-page .line-profile-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.line-profile-page .line-profile-metric:nth-child(2n) {
        border-right: 0 !important;
    }
}

@media (max-width: 700px) {
    html body.home-dashboard-page .home-hero,
    html body.line-profile-page .line-profile-hero {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    html body.home-dashboard-page .home-hero-actions,
    html body.line-profile-page .line-profile-actions {
        justify-content: flex-start !important;
    }

    html body.home-dashboard-page .home-metric-grid,
    html body.home-dashboard-page .home-health-grid,
    html body.line-profile-page .line-profile-metrics,
    html body.line-profile-page .line-profile-donut-wrap {
        grid-template-columns: 1fr !important;
    }

    html body.home-dashboard-page .home-metric,
    html body.home-dashboard-page .home-health-grid div,
    html body.line-profile-page .line-profile-metric {
        border-right: 0 !important;
    }

    html body.home-dashboard-page .home-work-row,
    html body.home-dashboard-page .home-pole-health-row,
    html body.home-dashboard-page .home-line-performance-row,
    html body.line-profile-page .line-profile-work-row {
        grid-template-columns: 1fr !important;
    }

    html body.home-dashboard-page .home-pole-meta,
    html body.home-dashboard-page .home-line-performance-metrics {
        justify-content: flex-start !important;
    }

    html body.home-dashboard-page .home-line-performance-progress {
        grid-template-columns: 1fr !important;
    }

    html body.home-dashboard-page .home-due-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    html body.home-dashboard-page .home-report-tools,
    html body.line-profile-page .line-profile-report-tools {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    html body.home-dashboard-page .home-report-page-status,
    html body.line-profile-page .line-profile-page-status {
        text-align: left !important;
    }
}
