/* =========================================================
   EIP SERVIÇOS DE ILUMINAÇÃO — IDENTIDADE VISUAL 2026
   Camada estritamente visual. Não altera regras, eventos,
   rotas, APIs, permissões, validações ou estrutura de dados.
   Paleta derivada da referência fornecida pelo usuário.
   ========================================================= */

:root,
[data-bs-theme="light"] {
    --eip-ink-950: #001933;
    --eip-ink-900: #001d3a;
    --eip-ink-850: #012143;
    --eip-ink-800: #012952;
    --eip-ink-700: #013466;
    --eip-blue-700: #014d92;
    --eip-blue-600: #0063ad;
    --eip-blue-500: #0077c9;
    --eip-blue-400: #188bd7;
    --eip-blue-100: #e8f4fb;
    --eip-blue-050: #f3f9fd;
    --eip-orange-600: #ec9829;
    --eip-orange-500: #f6a42c;
    --eip-orange-100: #fff2dc;
    --eip-surface: #ffffff;
    --eip-surface-soft: #f7fafc;
    --eip-page: #f2f6fa;
    --eip-text: #172033;
    --eip-muted: #64748b;
    --eip-border: #d9e3ec;
    --eip-border-strong: #c3d2df;
    --eip-success: #1f8a55;
    --eip-success-soft: #e9f7ef;
    --eip-warning: #c97912;
    --eip-warning-soft: #fff4de;
    --eip-danger: #c93d45;
    --eip-danger-soft: #fdebed;
    --eip-info: #147bb5;
    --eip-info-soft: #e7f4fb;
    --eip-radius-sm: 8px;
    --eip-radius: 11px;
    --eip-radius-lg: 14px;
    --eip-radius-xl: 18px;
    --eip-shadow-sm: 0 2px 8px rgba(0, 25, 51, .055);
    --eip-shadow: 0 8px 24px rgba(0, 25, 51, .075);
    --eip-shadow-lg: 0 18px 42px rgba(0, 25, 51, .12);
    --eip-transition: 160ms ease;

    --bs-primary: #0077c9;
    --bs-primary-rgb: 0, 119, 201;
    --bs-secondary: #012952;
    --bs-secondary-rgb: 1, 41, 82;
    --bs-info: #147bb5;
    --bs-info-rgb: 20, 123, 181;
    --bs-warning: #f6a42c;
    --bs-warning-rgb: 246, 164, 44;
    --bs-danger: #c93d45;
    --bs-danger-rgb: 201, 61, 69;
    --bs-success: #1f8a55;
    --bs-success-rgb: 31, 138, 85;
    --bs-body-bg: #f2f6fa;
    --bs-body-color: #172033;
    --bs-border-color: #d9e3ec;
    --bs-link-color: #0063ad;
    --bs-link-hover-color: #014d92;
    --bs-border-radius: 11px;
    --bs-border-radius-sm: 8px;
    --bs-border-radius-lg: 14px;
    --bs-border-radius-xl: 18px;
}

[data-bs-theme="dark"],
.dark {
    --eip-surface: #0c2238;
    --eip-surface-soft: #0f2944;
    --eip-page: #06192b;
    --eip-text: #f3f7fb;
    --eip-muted: #a9bac9;
    --eip-border: rgba(198, 220, 237, .16);
    --eip-border-strong: rgba(198, 220, 237, .24);
    --eip-blue-100: rgba(24, 139, 215, .16);
    --eip-blue-050: rgba(24, 139, 215, .08);
    --eip-orange-100: rgba(246, 164, 44, .14);
    --eip-success-soft: rgba(31, 138, 85, .16);
    --eip-warning-soft: rgba(246, 164, 44, .14);
    --eip-danger-soft: rgba(201, 61, 69, .15);
    --eip-info-soft: rgba(20, 123, 181, .16);
    --eip-shadow-sm: 0 2px 8px rgba(0, 0, 0, .14);
    --eip-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    --eip-shadow-lg: 0 18px 42px rgba(0, 0, 0, .28);
    --bs-body-bg: #06192b;
    --bs-body-color: #f3f7fb;
    --bs-border-color: rgba(198, 220, 237, .16);
}

html {
    color-scheme: light;
    background: var(--eip-page);
}

html[data-bs-theme="dark"],
html.dark {
    color-scheme: dark;
}

body {
    font-family: Inter, "Segoe UI", Arial, Helvetica, sans-serif !important;
    color: var(--eip-text) !important;
    background-color: var(--eip-page) !important;
    background-image:
        linear-gradient(rgba(242, 246, 250, .95), rgba(242, 246, 250, .95)),
        url("../img/eip-bg-iluminacao.png") !important;
    background-size: cover !important;
    background-position: center !important;
    background-attachment: fixed !important;
    letter-spacing: -.005em;
}

html[data-bs-theme="dark"] body,
html.dark body,
.dark body {
    background-image:
        linear-gradient(rgba(6, 25, 43, .94), rgba(6, 25, 43, .94)),
        url("../img/eip-bg-iluminacao.png") !important;
}

::selection {
    background: rgba(0, 119, 201, .2);
    color: var(--eip-ink-950);
}

:focus-visible {
    outline: 3px solid rgba(0, 119, 201, .2) !important;
    outline-offset: 2px;
}

/* ---------- Tipografia e hierarquia ---------- */
.page-header h1,
.page-header h2,
.page-title,
h1, h2, h3, h4, h5, h6 {
    color: var(--eip-text);
    letter-spacing: -.02em;
}

.page-header h2,
.page-title {
    font-weight: 800 !important;
}

.page-header p,
.text-muted,
small,
.card-text,
.helper-text {
    color: var(--eip-muted) !important;
}

.eyebrow,
.page-kicker,
.section-kicker {
    color: var(--eip-blue-600) !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase;
}

/* ---------- Estrutura principal ---------- */
.app-shell {
    min-height: 100vh;
}

.app-main {
    min-width: 0;
    background: transparent !important;
}

.page-content {
    padding: 26px 28px 34px !important;
}

.page-header {
    margin-bottom: 20px !important;
    gap: 18px !important;
}

/* ---------- Topbar ---------- */
.topbar,
.eip-bss-topbar,
.topbar.eip-bss-topbar {
    min-height: 62px !important;
    height: 62px !important;
    padding: 0 22px !important;
    background: var(--eip-ink-900) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 8px 28px rgba(0, 25, 51, .16) !important;
}

.eip-bss-topbar-inner {
    min-height: 62px !important;
}

.eip-bss-brand,
.topbar h1,
.topbar .topbar-title h1 {
    color: #fff !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
}

.eip-bss-brand::before {
    content: "";
    width: 4px;
    height: 22px;
    border-radius: 4px;
    margin-right: 10px;
    background: var(--eip-orange-500);
}

.eip-bss-icon-link,
.eip-bss-icon-link.nav-link,
.eip-bss-user-toggle,
.eip-bss-user-toggle.nav-link,
.eip-icon-button {
    border: 1px solid rgba(255,255,255,.13) !important;
    background: rgba(255,255,255,.075) !important;
    color: #fff !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transition: background var(--eip-transition), border-color var(--eip-transition), transform var(--eip-transition) !important;
}

.eip-bss-icon-link:hover,
.eip-bss-icon-link:focus,
.eip-bss-user-toggle:hover,
.eip-bss-user-toggle:focus,
.eip-icon-button:hover,
.eip-icon-button:focus {
    background: rgba(255,255,255,.14) !important;
    border-color: rgba(246,164,44,.55) !important;
    transform: translateY(-1px);
}

.eip-bss-actions .badge-counter,
.eip-badge {
    background: var(--eip-orange-500) !important;
    color: var(--eip-ink-950) !important;
    border-color: var(--eip-ink-900) !important;
    font-weight: 900 !important;
}

.eip-bss-avatar,
.eip-user-avatar,
.eip-bss-avatar-fallback,
.eip-user-avatar-fallback {
    border-color: rgba(246,164,44,.8) !important;
}

/* ---------- Sidebar ---------- */
.sidebar {
    background: linear-gradient(180deg, var(--eip-ink-950) 0%, var(--eip-ink-800) 100%) !important;
    color: #fff !important;
    border-right: 1px solid rgba(255,255,255,.05) !important;
    box-shadow: 12px 0 32px rgba(0, 25, 51, .11) !important;
}

.sidebar-head {
    border-bottom-color: rgba(255,255,255,.10) !important;
}

.sidebar-logo {
    display: flex !important;
    align-items: center !important;
    min-width: 0;
    border-radius: 10px !important;
    background: rgba(255,255,255,.96) !important;
    padding: 8px 10px !important;
}

.sidebar-logo img {
    width: auto !important;
    max-width: 178px !important;
    max-height: 44px !important;
    object-fit: contain !important;
}

.sidebar-launcher {
    background: var(--eip-ink-900) !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    box-shadow: var(--eip-shadow) !important;
}

.sidebar-launcher img {
    width: 30px !important;
    height: 30px !important;
    object-fit: contain !important;
}

.sidebar-nav,
.sidebar-subnav {
    gap: 4px !important;
}

.sidebar-main-link,
.sidebar-group-toggle,
.sidebar-subnav a,
.sidebar-logout {
    border-radius: 9px !important;
    transition: background var(--eip-transition), color var(--eip-transition), border-color var(--eip-transition) !important;
}

.sidebar-nav a,
.sidebar-group-toggle,
.sidebar-logout {
    color: rgba(255,255,255,.80) !important;
}

.sidebar-nav a:hover,
.sidebar-nav a:focus,
.sidebar-group-toggle:hover,
.sidebar-group-toggle:focus,
.sidebar-logout:hover {
    background: rgba(255,255,255,.075) !important;
    color: #fff !important;
}

.sidebar-nav a.is-active,
.sidebar-group.is-active > .sidebar-group-toggle,
.sidebar-main-link.is-active,
.sidebar-subnav a.is-active {
    position: relative;
    background: rgba(0,119,201,.24) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(89,178,231,.16) !important;
}

.sidebar-nav a.is-active::before,
.sidebar-main-link.is-active::before,
.sidebar-subnav a.is-active::before,
.sidebar-group.is-active > .sidebar-group-toggle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: var(--eip-orange-500);
}

.sidebar-menu-icon {
    color: #8bd0f5 !important;
}

.sidebar-main-link.is-active .sidebar-menu-icon,
.sidebar-subnav a.is-active .sidebar-menu-icon,
.sidebar-group.is-active > .sidebar-group-toggle .sidebar-menu-icon {
    color: var(--eip-orange-500) !important;
}

.sidebar-footer {
    border-top-color: rgba(255,255,255,.10) !important;
}

.sidebar-user span {
    color: rgba(255,255,255,.50) !important;
}

/* ---------- Cards, painéis, seções ---------- */
.card,
.content-card,
.metric-card,
.welcome-card,
.table-card,
.table-shell,
.filter-card,
.form-card,
.eip-panel,
.summary-card,
.modal-content,
.dropdown-menu,
.offcanvas,
.filter-sidebar,
.display-sidebar {
    background: var(--eip-surface) !important;
    border: 1px solid var(--eip-border) !important;
    border-radius: var(--eip-radius-lg) !important;
    box-shadow: var(--eip-shadow-sm) !important;
    backdrop-filter: none !important;
}

.card:hover,
.metric-card:hover {
    border-color: var(--eip-border-strong) !important;
}

.metric-card,
.summary-card {
    position: relative;
    overflow: hidden;
}

.metric-card::after,
.summary-card::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--eip-blue-500);
}

.metric-card-primary::after {
    background: var(--eip-orange-500);
}

.card-value,
.metric-value {
    color: var(--eip-ink-800) !important;
    font-weight: 800 !important;
}

[data-bs-theme="dark"] .card-value,
.dark .card-value,
[data-bs-theme="dark"] .metric-value,
.dark .metric-value {
    color: #fff !important;
}

.brand-hero-panel {
    padding: 22px 24px !important;
    background:
        linear-gradient(105deg, rgba(0,25,51,.97), rgba(1,73,137,.94)) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: var(--eip-radius-xl) !important;
    box-shadow: var(--eip-shadow) !important;
    overflow: hidden;
}

.brand-hero-panel::after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 120px;
    height: 100%;
    background: linear-gradient(135deg, transparent 30%, rgba(246,164,44,.13));
    pointer-events: none;
}

.brand-hero-panel h2,
.brand-hero-panel p,
.brand-hero-panel .eyebrow {
    color: #fff !important;
}

.brand-hero-panel .eyebrow {
    color: #8bd0f5 !important;
}

.brand-hero-panel .hero-symbol {
    filter: drop-shadow(0 8px 18px rgba(0,0,0,.18));
}

/* ---------- Botões ---------- */
.btn,
button,
.btn-pill,
.btn-outline,
.btn-light,
.btn-secondary,
.btn-primary,
.frota-btn,
.table-display-button,
.table-filter-button {
    border-radius: var(--eip-radius) !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
    transition: background var(--eip-transition), border-color var(--eip-transition), color var(--eip-transition), transform var(--eip-transition) !important;
}

.btn-primary,
.btn.btn-primary,
.btn-pill:not(.btn-pill-edit):not(.btn-pill-delete),
.prod-clean-open-btn {
    background: var(--eip-blue-500) !important;
    border-color: var(--eip-blue-500) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn-pill:not(.btn-pill-edit):not(.btn-pill-delete):hover,
.prod-clean-open-btn:hover {
    background: var(--eip-blue-700) !important;
    border-color: var(--eip-blue-700) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.btn-secondary,
.btn.btn-secondary {
    background: var(--eip-ink-800) !important;
    border-color: var(--eip-ink-800) !important;
    color: #fff !important;
}

.btn-secondary:hover,
.btn.btn-secondary:hover {
    background: var(--eip-ink-950) !important;
    border-color: var(--eip-ink-950) !important;
}

.btn-outline,
.btn-outline-primary,
.frota-btn--outline,
.table-display-button,
.table-filter-button {
    background: var(--eip-surface) !important;
    color: var(--eip-blue-700) !important;
    border: 1px solid var(--eip-border-strong) !important;
}

.btn-outline:hover,
.btn-outline-primary:hover,
.frota-btn--outline:hover,
.table-display-button:hover,
.table-filter-button:hover {
    background: var(--eip-blue-050) !important;
    color: var(--eip-blue-700) !important;
    border-color: var(--eip-blue-400) !important;
}

.btn-warning,
.btn.btn-warning {
    background: var(--eip-orange-500) !important;
    border-color: var(--eip-orange-500) !important;
    color: var(--eip-ink-950) !important;
}

.btn-danger,
.btn.btn-danger,
.btn-pill-delete {
    background: var(--eip-danger) !important;
    border-color: var(--eip-danger) !important;
    color: #fff !important;
}

.btn-success,
.btn.btn-success {
    background: var(--eip-success) !important;
    border-color: var(--eip-success) !important;
    color: #fff !important;
}

.btn:disabled,
button:disabled,
.btn.disabled {
    opacity: .55 !important;
    transform: none !important;
    cursor: not-allowed !important;
}

/* ---------- Formulários ---------- */
.form-control,
.form-select,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
    background-color: var(--eip-surface) !important;
    color: var(--eip-text) !important;
    border: 1px solid var(--eip-border-strong) !important;
    border-radius: var(--eip-radius) !important;
    box-shadow: none !important;
    min-height: 40px;
    transition: border-color var(--eip-transition), box-shadow var(--eip-transition), background var(--eip-transition) !important;
}

.form-control:hover,
.form-select:hover,
input:not([type="checkbox"]):not([type="radio"]):hover,
select:hover,
textarea:hover {
    border-color: #acc2d4 !important;
}

.form-control:focus,
.form-select:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
    border-color: var(--eip-blue-500) !important;
    box-shadow: 0 0 0 3px rgba(0,119,201,.12) !important;
    outline: none !important;
}

.form-label,
label:not(.btn) {
    color: var(--eip-text);
    font-weight: 650;
}

input::placeholder,
textarea::placeholder {
    color: #94a3b8 !important;
    opacity: 1;
}

.form-check-input:checked {
    background-color: var(--eip-blue-500) !important;
    border-color: var(--eip-blue-500) !important;
}

/* ---------- Tabelas ---------- */
.table-wrapper,
.table-wrap,
.table-responsive,
.table-shell {
    border-color: var(--eip-border) !important;
    border-radius: var(--eip-radius-lg) !important;
    background: var(--eip-surface) !important;
    box-shadow: var(--eip-shadow-sm) !important;
}

.default-table,
.table-sticky,
.table-interactive,
.wt-table,
.table {
    color: var(--eip-text) !important;
    background: var(--eip-surface) !important;
}

.default-table thead th,
.table-sticky thead th,
.table-interactive thead th,
.wt-table thead th,
.table thead th {
    background: #edf4f9 !important;
    color: var(--eip-ink-800) !important;
    border-bottom-color: var(--eip-border-strong) !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
}

[data-bs-theme="dark"] .default-table thead th,
[data-bs-theme="dark"] .table-sticky thead th,
[data-bs-theme="dark"] .table-interactive thead th,
[data-bs-theme="dark"] .wt-table thead th,
.dark .default-table thead th,
.dark .table-sticky thead th,
.dark .table-interactive thead th,
.dark .wt-table thead th {
    background: #0f2c49 !important;
    color: #eaf5fb !important;
}

.default-table tbody td,
.table-sticky tbody td,
.table-interactive tbody td,
.wt-table tbody td,
.table tbody td {
    color: var(--eip-text) !important;
    border-bottom-color: var(--eip-border) !important;
}

.default-table tbody tr:nth-child(even),
.table-sticky tbody tr:nth-child(even),
.table-interactive tbody tr:nth-child(even),
.wt-table tbody tr:nth-child(even) {
    background: rgba(1, 73, 137, .018) !important;
}

.default-table tbody tr:hover,
.table-sticky tbody tr:hover,
.table-interactive tbody tr:hover,
.wt-table tbody tr:hover,
.table-hover tbody tr:hover {
    background: rgba(0, 119, 201, .055) !important;
}

.table-actions a,
.table-actions button {
    background: var(--eip-blue-050) !important;
    color: var(--eip-blue-700) !important;
}

/* ---------- Paginação ---------- */
.pagination a,
.pagination span,
.page-link {
    border-color: var(--eip-border) !important;
    background: var(--eip-surface) !important;
    color: var(--eip-ink-800) !important;
    border-radius: 9px !important;
}

.pagination a:hover,
.page-link:hover {
    background: var(--eip-blue-050) !important;
    color: var(--eip-blue-700) !important;
    border-color: var(--eip-blue-400) !important;
}

.pagination .active,
.page-item.active .page-link {
    background: var(--eip-blue-500) !important;
    border-color: var(--eip-blue-500) !important;
    color: #fff !important;
}

/* ---------- Modais, dropdowns e menus ---------- */
.modal-header,
.modal-footer {
    border-color: var(--eip-border) !important;
}

.modal-header {
    background: var(--eip-surface-soft) !important;
}

.modal-title {
    color: var(--eip-ink-800) !important;
    font-weight: 800 !important;
}

[data-bs-theme="dark"] .modal-title,
.dark .modal-title {
    color: #fff !important;
}

.dropdown-menu {
    overflow: hidden;
}

.dropdown-item {
    color: var(--eip-text) !important;
    transition: background var(--eip-transition), color var(--eip-transition) !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
    background: var(--eip-blue-050) !important;
    color: var(--eip-blue-700) !important;
}

.dropdown-item.active,
.dropdown-item:active,
.eip-theme-menu .dropdown-item.active,
.eip-theme-menu .dropdown-item:active {
    background: var(--eip-blue-500) !important;
    color: #fff !important;
}

.eip-bs-menu-header,
.eip-dropdown-header {
    background: var(--eip-ink-800) !important;
    color: #fff !important;
}

.eip-bs-menu-footer {
    color: var(--eip-blue-600) !important;
}

/* ---------- Alertas e estados ---------- */
.alert,
.alert-ok,
.alert-erro,
.alert-error,
.alert-success,
.alert-warning,
.alert-info {
    border-radius: var(--eip-radius) !important;
    border-width: 1px !important;
    box-shadow: none !important;
}

.alert-ok,
.alert-success,
.alert.alert-success {
    background: var(--eip-success-soft) !important;
    border-color: rgba(31,138,85,.24) !important;
    color: #176b43 !important;
}

.alert-erro,
.alert-error,
.alert-danger,
.alert.alert-danger {
    background: var(--eip-danger-soft) !important;
    border-color: rgba(201,61,69,.24) !important;
    color: #9f2e36 !important;
}

.alert-warning,
.alert.alert-warning {
    background: var(--eip-warning-soft) !important;
    border-color: rgba(246,164,44,.34) !important;
    color: #86530c !important;
}

.alert-info,
.alert.alert-info {
    background: var(--eip-info-soft) !important;
    border-color: rgba(20,123,181,.25) !important;
    color: #0e638f !important;
}

.badge,
.status-badge,
.badge-pill {
    border-radius: 999px !important;
    font-weight: 800 !important;
    letter-spacing: .01em;
}

.badge-info,
.bg-info {
    background: var(--eip-info-soft) !important;
    color: var(--eip-info) !important;
}

.badge-success,
.bg-success {
    background: var(--eip-success-soft) !important;
    color: var(--eip-success) !important;
}

.badge-warning,
.bg-warning {
    background: var(--eip-warning-soft) !important;
    color: var(--eip-warning) !important;
}

.badge-danger,
.bg-danger:not(.badge-counter) {
    background: var(--eip-danger-soft) !important;
    color: var(--eip-danger) !important;
}

.empty-state,
.table-empty,
.prod-empty,
.prod-empty-inline {
    color: var(--eip-muted) !important;
    background: var(--eip-surface-soft) !important;
    border: 1px dashed var(--eip-border-strong) !important;
    border-radius: var(--eip-radius-lg) !important;
}

/* ---------- Tabs ---------- */
.nav-tabs,
.dashboard-tabs {
    border-bottom-color: var(--eip-border) !important;
}

.nav-tabs .nav-link,
.dashboard-tab {
    color: var(--eip-muted) !important;
    background: transparent !important;
    border-color: transparent !important;
    border-radius: 9px 9px 0 0 !important;
    font-weight: 750 !important;
}

.nav-tabs .nav-link:hover,
.dashboard-tab:hover {
    color: var(--eip-blue-700) !important;
    background: var(--eip-blue-050) !important;
}

.nav-tabs .nav-link.active,
.dashboard-tab.is-active {
    color: var(--eip-blue-700) !important;
    background: var(--eip-surface) !important;
    border-color: var(--eip-border) var(--eip-border) var(--eip-surface) !important;
    box-shadow: inset 0 -3px 0 var(--eip-orange-500) !important;
}

/* ---------- Barra / menu Tailwind legado (layout/top.php) ---------- */
.wt-topbar {
    background: rgba(255,255,255,.96) !important;
    color: var(--eip-ink-950) !important;
    border-bottom: 1px solid var(--eip-border) !important;
    box-shadow: 0 5px 22px rgba(0,25,51,.08) !important;
    backdrop-filter: blur(14px) !important;
}

.dark .wt-topbar {
    background: rgba(0,25,51,.96) !important;
    color: #fff !important;
    border-bottom-color: rgba(255,255,255,.08) !important;
}

.wt-shell-button,
.wt-brand-link {
    border-color: var(--eip-border) !important;
    background: var(--eip-surface) !important;
    color: var(--eip-ink-800) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.dark .wt-shell-button,
.dark .wt-brand-link {
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.12) !important;
    color: #fff !important;
}

.wt-menu-card {
    background: var(--eip-surface) !important;
    border: 1px solid var(--eip-border) !important;
    border-radius: var(--eip-radius-lg) !important;
    box-shadow: var(--eip-shadow-sm) !important;
}

.wt-menu-card:hover {
    background: var(--eip-blue-050) !important;
    border-color: var(--eip-blue-400) !important;
    transform: translateY(-1px) !important;
}

.wt-menu-card.active {
    background: var(--eip-blue-100) !important;
    border-color: var(--eip-blue-500) !important;
    box-shadow: inset 0 0 0 1px rgba(0,119,201,.08) !important;
}

/* Paleta Tailwind utilizada nas telas legadas, redirecionada à identidade EIP. */
.text-blue-700, .text-blue-800 { color: var(--eip-blue-700) !important; }
.text-blue-600 { color: var(--eip-blue-600) !important; }
.bg-blue-700 { background-color: var(--eip-blue-500) !important; }
.bg-blue-600 { background-color: var(--eip-blue-500) !important; }
.bg-blue-50 { background-color: var(--eip-blue-050) !important; }
.bg-blue-100 { background-color: var(--eip-blue-100) !important; }
.border-blue-200, .border-blue-100 { border-color: #c7dfef !important; }
.ring-blue-100 { --tw-ring-color: rgba(0,119,201,.14) !important; }
.hover\:bg-blue-800:hover, .hover\:bg-blue-700:hover { background-color: var(--eip-blue-700) !important; }
.hover\:bg-blue-100:hover { background-color: #d9edf8 !important; }
.focus\:border-blue-500:focus, .focus\:border-blue-600:focus { border-color: var(--eip-blue-500) !important; }
.focus\:ring-blue-100:focus { --tw-ring-color: rgba(0,119,201,.14) !important; }
.text-cyan-100, .text-cyan-200, .text-cyan-300, .text-cyan-400 { color: #8bd0f5 !important; }
.bg-cyan-600 { background-color: var(--eip-blue-500) !important; }
.hover\:bg-cyan-700:hover { background-color: var(--eip-blue-700) !important; }
.rounded-3xl { border-radius: var(--eip-radius-xl) !important; }
.rounded-2xl { border-radius: var(--eip-radius-lg) !important; }
.rounded-xl { border-radius: var(--eip-radius) !important; }

/* ---------- Frota / módulos especiais ---------- */
.frota-page .frota-action:not(.btn-outline):not(.btn-danger),
.frota-modal .frota-action:not(.btn-outline):not(.btn-danger) {
    background: var(--eip-blue-500) !important;
    border-color: var(--eip-blue-500) !important;
}

.frota-page .frota-action.btn-outline,
.frota-modal .frota-action.btn-outline,
.frota-page .table-display-button,
.frota-page .table-filter-button {
    border-color: var(--eip-border-strong) !important;
    color: var(--eip-blue-700) !important;
}

.fleet-floating-button {
    background: var(--eip-blue-500) !important;
    border: 2px solid #fff !important;
    box-shadow: var(--eip-shadow-lg) !important;
}

.fleet-floating-button:hover {
    background: var(--eip-blue-700) !important;
}

.fleet-floating-head {
    background: var(--eip-ink-800) !important;
    color: #fff !important;
}

/* ---------- Produtividade / aplicativo operacional ---------- */
.prod-app-body {
    background: var(--eip-page) !important;
}

.prod-page {
    color: var(--eip-text) !important;
}

.prod-app-top {
    background: var(--eip-ink-900) !important;
    color: #fff !important;
    border-bottom: 3px solid var(--eip-orange-500) !important;
}

.prod-app-top span,
.prod-app-top small {
    color: rgba(255,255,255,.74) !important;
}

.prod-app-logout,
.prod-return-big-btn {
    border-radius: var(--eip-radius) !important;
}

.prod-clean-os-card,
.prod-diario-summary-card,
.prod-service-chart,
.prod-os-mini-card,
.prod-return-report-card,
.prod-clean-block,
.prod-return-card {
    background: var(--eip-surface) !important;
    border: 1px solid var(--eip-border) !important;
    border-radius: var(--eip-radius-lg) !important;
    box-shadow: var(--eip-shadow-sm) !important;
}

.prod-service-stats > div {
    background: var(--eip-surface) !important;
    border-color: var(--eip-border) !important;
}

.prod-service-stats strong,
.prod-clean-os-main strong,
.prod-os-mini-address strong {
    color: var(--eip-ink-800) !important;
}

/* ---------- Login ---------- */
body.eip-login-page {
    min-height: 100vh;
    overflow-x: hidden;
    background:
        linear-gradient(105deg, rgba(0,25,51,.97) 0%, rgba(1,41,82,.94) 48%, rgba(1,73,137,.78) 100%),
        url("../img/eip-bg-iluminacao.png") center/cover fixed !important;
}

.eip-login-page::before {
    content: "";
    position: fixed;
    inset: auto auto 0 0;
    width: min(42vw, 680px);
    height: min(42vw, 680px);
    border-radius: 50% 50% 0 0;
    background: radial-gradient(circle at 30% 30%, rgba(0,119,201,.30), rgba(0,25,51,0) 64%);
    pointer-events: none;
}

.eip-login-page .grid_login,
.eip-login-page .grid_mobile {
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.28) !important;
}

.eip-login-page .grid_login {
    padding: 26px 28px !important;
}

.eip-login-page .EIP_Connect_label {
    color: var(--eip-ink-800) !important;
    font-family: Inter, "Segoe UI", sans-serif !important;
    font-size: 23px !important;
    font-weight: 850 !important;
}

.eip-login-page .button_login {
    background: var(--eip-blue-500) !important;
    border-color: var(--eip-blue-500) !important;
    color: #fff !important;
    min-height: 44px !important;
    border-radius: 11px !important;
}

.eip-login-page .button_login:hover {
    background: var(--eip-blue-700) !important;
}

.eip-login-page .user_pass {
    background: #f8fbfd !important;
    border-color: var(--eip-border-strong) !important;
    border-radius: 10px !important;
    font-family: Inter, "Segoe UI", sans-serif !important;
}

.eip-login-page .login-icon,
.eip-login-page .fas.fa-user,
.eip-login-page .fas.fa-unlock-alt,
.eip-login-page .toggle-password {
    color: var(--eip-blue-700) !important;
}

.eip-login-page .smart_background,
.eip-login-page .smart_img_mobile {
    object-fit: contain !important;
    filter: drop-shadow(0 12px 28px rgba(0,0,0,.14));
}

.eip-login-page .smart_text_abaixo {
    color: rgba(255,255,255,.76) !important;
    letter-spacing: .04em;
}

.eip-login-page .lampiao_img,
.eip-login-page .login-page {
    opacity: .82;
    filter: saturate(.85) brightness(.88);
}

/* ---------- Solicitação pública ---------- */
body.eip-public-page {
    background: var(--eip-page) !important;
    color: var(--eip-text) !important;
}

.eip-public-page > div > header {
    background: var(--eip-ink-900) !important;
    border-bottom: 3px solid var(--eip-orange-500) !important;
}

.eip-public-page .bg-white {
    background-color: var(--eip-surface) !important;
}

.eip-public-page .text-slate-950,
.eip-public-page .text-slate-900,
.eip-public-page .text-slate-800,
.eip-public-page .text-slate-700 {
    color: var(--eip-text) !important;
}

.eip-public-page .text-slate-500,
.eip-public-page .text-slate-600 {
    color: var(--eip-muted) !important;
}

.eip-public-page .shadow-lg,
.eip-public-page .shadow-sm {
    box-shadow: var(--eip-shadow-sm) !important;
}

/* ---------- Mobile / responsividade ---------- */
@media (max-width: 991.98px) {
    .page-content {
        padding: 20px 18px 28px !important;
    }

    .topbar,
    .eip-bss-topbar,
    .topbar.eip-bss-topbar {
        padding-left: 68px !important;
        padding-right: 14px !important;
    }

    .eip-bss-brand {
        font-size: 15px !important;
    }

    .card,
    .content-card,
    .metric-card,
    .table-card,
    .table-shell,
    .form-card {
        border-radius: 13px !important;
    }
}

@media (max-width: 767.98px) {
    .page-content {
        padding: 16px 12px 24px !important;
    }

    .page-header {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .page-header h2,
    .page-title {
        font-size: 22px !important;
    }

    .brand-hero-panel {
        padding: 18px !important;
    }

    .brand-hero-panel .hero-symbol {
        max-width: 58px !important;
        max-height: 58px !important;
    }

    .eip-bss-brand {
        display: none !important;
    }

    .eip-bss-actions {
        gap: 4px !important;
    }

    .eip-bss-icon-link,
    .eip-bss-icon-link.nav-link {
        width: 36px !important;
        height: 36px !important;
    }

    .table-toolbar,
    .filters-bar,
    .os-filters-bar,
    .form-actions,
    .page-header-actions {
        gap: 8px !important;
    }

    .eip-login-page .grid_mobile {
        width: calc(100% - 28px) !important;
        max-width: 420px !important;
        height: auto !important;
        max-height: none !important;
        margin: 24px auto !important;
        padding: 24px 18px !important;
    }

    .eip-login-page .smart_img_mobile {
        width: min(270px, 76vw) !important;
        transform: none !important;
        margin: 26px auto 12px !important;
        display: block !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ---------- Refinamentos da tela de login ---------- */
@media (min-width: 768px) {
    .eip-login-page .grid_login {
        position: fixed !important;
        top: 50% !important;
        right: clamp(42px, 8vw, 150px) !important;
        left: auto !important;
        width: min(420px, calc(100vw - 72px)) !important;
        max-width: 420px !important;
        height: auto !important;
        min-height: 360px !important;
        max-height: none !important;
        transform: translateY(-50%) !important;
        z-index: 10 !important;
    }

    .eip-login-page .smart_background {
        position: fixed !important;
        top: 42% !important;
        left: clamp(48px, 7vw, 128px) !important;
        width: min(48vw, 620px) !important;
        height: auto !important;
        transform: translateY(-50%) !important;
        z-index: 2 !important;
    }

    .eip-login-page .smart_text_abaixo {
        position: fixed !important;
        top: calc(42% + 105px) !important;
        left: clamp(48px, 7vw, 128px) !important;
        width: min(46vw, 580px) !important;
        z-index: 3 !important;
    }

    .eip-login-page .lampiao_img {
        position: fixed !important;
        left: clamp(34%, 47vw, 680px) !important;
        bottom: -36px !important;
        height: min(52vh, 540px) !important;
        width: auto !important;
        opacity: .16 !important;
        z-index: 1 !important;
    }

    .eip-login-page .login-page {
        position: fixed !important;
        left: clamp(48%, 58vw, 850px) !important;
        bottom: -28px !important;
        height: min(58vh, 600px) !important;
        width: auto !important;
        opacity: .12 !important;
        z-index: 1 !important;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .eip-login-page .smart_background {
        width: min(40vw, 420px) !important;
        left: 34px !important;
    }

    .eip-login-page .smart_text_abaixo {
        left: 34px !important;
        width: 38vw !important;
    }

    .eip-login-page .grid_login {
        right: 34px !important;
        width: min(400px, 48vw) !important;
    }
}

/* ---------- Reestilização global dos ícones de ação e anexos ---------- */
:root {
    --eip-action-shadow: 0 6px 16px rgba(1, 41, 82, 0.08);
    --eip-action-shadow-hover: 0 10px 18px rgba(1, 41, 82, 0.14);
}

.actions-cell,
.table-attachments-cell,
td[data-column="acoes"],
td[data-column="acao"],
td[data-column="anexo"],
td[data-column="anexos"],
td[data-column="fotos"],
td[data-column="bo"] {
    text-align: center !important;
    vertical-align: middle !important;
}

.actions-cell,
.table-attachments-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
}

.actions-cell > *,
.table-attachments-cell > *,
td[data-column="acoes"] > *,
td[data-column="acao"] > *,
td[data-column="anexo"] > *,
td[data-column="anexos"] > *,
td[data-column="fotos"] > *,
td[data-column="bo"] > * {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}

.actions-cell form,
.table-attachments-cell form,
td[data-column="acoes"] form,
td[data-column="acao"] form,
td[data-column="anexo"] form,
td[data-column="anexos"] form,
td[data-column="fotos"] form,
td[data-column="bo"] form {
    margin: 0 !important;
    padding: 0 !important;
}

button.btn-icon-only.btn-icon-control,
a.btn-icon-only.btn-icon-control,
.btn.btn-icon-only.btn-icon-control,
.btn-pill.btn-icon-only.btn-icon-control,
.btn-pill-edit.btn-icon-only.btn-icon-control,
.btn-pill-delete.btn-icon-only.btn-icon-control,
.btn-danger.btn-icon-only.btn-icon-control,
.btn-outline.btn-icon-only.btn-icon-control,
[data-icon-applied="1"].btn-icon-only.btn-icon-control {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(1, 41, 82, 0.16) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: var(--eip-action-shadow) !important;
    color: var(--eip-blue-700) !important;
    overflow: hidden !important;
    position: relative !important;
}

button.btn-icon-only.btn-icon-control:hover,
button.btn-icon-only.btn-icon-control:focus,
button.btn-icon-only.btn-icon-control:focus-visible,
a.btn-icon-only.btn-icon-control:hover,
a.btn-icon-only.btn-icon-control:focus,
a.btn-icon-only.btn-icon-control:focus-visible,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:hover,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:focus,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:focus-visible {
    transform: translateY(-1px) !important;
    border-color: rgba(0, 99, 162, 0.34) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
    box-shadow: var(--eip-action-shadow-hover) !important;
}

button.btn-icon-only.btn-icon-control:focus-visible,
a.btn-icon-only.btn-icon-control:focus-visible,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:focus-visible {
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(0, 99, 162, 0.18), var(--eip-action-shadow-hover) !important;
}

button.btn-has-icon.btn-icon-control,
a.btn-has-icon.btn-icon-control,
.btn.btn-has-icon.btn-icon-control,
[data-icon-applied="1"].btn-has-icon.btn-icon-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(1, 41, 82, 0.16) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
    box-shadow: var(--eip-action-shadow) !important;
    color: var(--eip-blue-700) !important;
}

button.btn-has-icon.btn-icon-control:hover,
a.btn-has-icon.btn-icon-control:hover,
[data-icon-applied="1"].btn-has-icon.btn-icon-control:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(0, 99, 162, 0.34) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
    box-shadow: var(--eip-action-shadow-hover) !important;
}

.btn-icon-control.btn-has-icon .btn-icon-label {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

button.btn-icon-only.btn-icon-control img.btn-icon,
a.btn-icon-only.btn-icon-control img.btn-icon,
button.btn-has-icon.btn-icon-control img.btn-icon,
a.btn-has-icon.btn-icon-control img.btn-icon,
.btn-icon-control .btn-icon {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    object-fit: contain !important;
    display: block !important;
    opacity: 1 !important;
}

.btn-icon-control.btn-icon-kind-plaqueta,
.btn-icon-control[data-icon-key="plaqueta"] {
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
}

.btn-icon-control.btn-icon-kind-plaqueta img.btn-icon,
.btn-icon-control[data-icon-key="plaqueta"] img.btn-icon {
    width: 28px !important;
    max-width: 28px !important;
}

/* Tons semânticos */
.btn-icon-control.btn-icon-tone-primary,
.btn-icon-control[data-icon-key="editar"],
.btn-icon-control[data-icon-key="programacao"],
.btn-icon-control[data-icon-key="reprogramar"],
.btn-icon-control[data-icon-key="composicao"] {
    border-color: rgba(0, 99, 162, 0.22) !important;
    background: linear-gradient(180deg, #ffffff 0%, #eef6ff 100%) !important;
}

.btn-icon-control.btn-icon-tone-info,
.btn-icon-control[data-icon-key="visualizar"],
.btn-icon-control[data-icon-key="detalhes"],
.btn-icon-control[data-icon-key="materiais"],
.btn-icon-control[data-icon-key="ver_items"] {
    border-color: rgba(0, 99, 162, 0.18) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f2f8ff 100%) !important;
}

.btn-icon-control.btn-icon-tone-success,
.btn-icon-control[data-icon-key="validar"],
.btn-icon-control[data-icon-key="enviar"] {
    border-color: rgba(22, 163, 74, 0.24) !important;
    background: linear-gradient(180deg, #ffffff 0%, #effcf3 100%) !important;
}

.btn-icon-control.btn-icon-tone-warning,
.btn-icon-control[data-icon-key="analisar"] {
    border-color: rgba(232, 161, 63, 0.32) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fff8ee 100%) !important;
}

.btn-icon-control.btn-icon-tone-danger,
.btn-icon-control[data-icon-key="excluir"],
.btn-icon-control[data-icon-key="retirar"] {
    border-color: rgba(239, 68, 68, 0.24) !important;
    background: linear-gradient(180deg, #ffffff 0%, #fff2f2 100%) !important;
}

.btn-icon-control.btn-icon-tone-neutral,
.btn-icon-control[data-icon-key="anexo"],
.btn-icon-control[data-icon-key="fotos"],
.btn-icon-control[data-icon-key="plaqueta"],
.btn-icon-control[data-icon-key="bo"] {
    border-color: rgba(1, 41, 82, 0.18) !important;
    background: linear-gradient(180deg, #ffffff 0%, #f7faff 100%) !important;
}

.icon-badge-wrapper,
.demanda-anexo-indicator {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    margin: 0 !important;
}

.icon-badge-wrapper .badge-count,
.demanda-anexo-indicator .badge-count {
    top: -4px !important;
    right: -4px !important;
    min-width: 18px !important;
    height: 18px !important;
    line-height: 18px !important;
    padding: 0 5px !important;
    border-radius: 999px !important;
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    box-shadow: 0 0 0 2px #fff !important;
}

@media (max-width: 768px) {
    button.btn-icon-only.btn-icon-control,
    a.btn-icon-only.btn-icon-control,
    [data-icon-applied="1"].btn-icon-only.btn-icon-control {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
    }

    .actions-cell,
    .table-attachments-cell {
        gap: 6px !important;
    }
}

/* =========================================================
   EIP ACTION ICONS V4 - override final
   Vetores consistentes, compactos e sem herdar o visual antigo.
========================================================= */
.btn-icon-control .btn-icon,
.btn-icon-control svg.btn-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    overflow: visible !important;
    pointer-events: none !important;
}

button.btn-icon-only.btn-icon-control,
a.btn-icon-only.btn-icon-control,
.btn.btn-icon-only.btn-icon-control,
.btn-pill.btn-icon-only.btn-icon-control,
.btn-pill-edit.btn-icon-only.btn-icon-control,
.btn-pill-delete.btn-icon-only.btn-icon-control,
.btn-danger.btn-icon-only.btn-icon-control,
.btn-outline.btn-icon-only.btn-icon-control,
[data-icon-applied="1"].btn-icon-only.btn-icon-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #d6e1ec !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(1, 41, 82, .05) !important;
    text-decoration: none !important;
    transform: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

button.btn-icon-only.btn-icon-control:hover,
a.btn-icon-only.btn-icon-control:hover,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 12px rgba(1, 41, 82, .10) !important;
}

button.btn-icon-only.btn-icon-control:focus-visible,
a.btn-icon-only.btn-icon-control:focus-visible,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 99, 162, .16), 0 5px 12px rgba(1, 41, 82, .10) !important;
}

.btn-icon-control.btn-icon-tone-primary {
    color: #0063a2 !important;
    border-color: #c9ddeb !important;
    background: #f7fbfe !important;
}
.btn-icon-control.btn-icon-tone-primary:hover {
    color: #004a7a !important;
    border-color: #8ebad5 !important;
    background: #edf7fd !important;
}

.btn-icon-control.btn-icon-tone-info {
    color: #0b5f91 !important;
    border-color: #cfdfeb !important;
    background: #f8fbfd !important;
}
.btn-icon-control.btn-icon-tone-info:hover {
    color: #014d7d !important;
    border-color: #9fc4d9 !important;
    background: #eef7fb !important;
}

.btn-icon-control.btn-icon-tone-neutral {
    color: #183b5c !important;
    border-color: #d7e1eb !important;
    background: #fff !important;
}
.btn-icon-control.btn-icon-tone-neutral:hover {
    color: #0063a2 !important;
    border-color: #9fc4d9 !important;
    background: #f4f9fc !important;
}

.btn-icon-control.btn-icon-tone-success {
    color: #16834b !important;
    border-color: #c6e6d4 !important;
    background: #f4fbf7 !important;
}
.btn-icon-control.btn-icon-tone-success:hover {
    color: #0f6b3b !important;
    border-color: #8ed0aa !important;
    background: #eaf8f0 !important;
}

.btn-icon-control.btn-icon-tone-warning {
    color: #a76508 !important;
    border-color: #f0d6ad !important;
    background: #fffaf2 !important;
}
.btn-icon-control.btn-icon-tone-warning:hover {
    color: #855003 !important;
    border-color: #e7b86c !important;
    background: #fff4e2 !important;
}

.btn-icon-control.btn-icon-tone-danger {
    color: #d9363e !important;
    border-color: #f0c8cb !important;
    background: #fff8f8 !important;
}
.btn-icon-control.btn-icon-tone-danger:hover {
    color: #b6222a !important;
    border-color: #e49ca1 !important;
    background: #fff0f1 !important;
}

.actions-cell,
.table-attachments-cell,
.prod-launch-actions-mini {
    gap: 6px !important;
}

.actions-cell .btn-icon-control,
.table-attachments-cell .btn-icon-control,
.prod-launch-actions-mini .btn-icon-control,
td[data-column="acoes"] .btn-icon-control,
td[data-column="acao"] .btn-icon-control,
td[data-column="anexo"] .btn-icon-control,
td[data-column="anexos"] .btn-icon-control,
td[data-column="fotos"] .btn-icon-control,
td[data-column="bo"] .btn-icon-control {
    margin: 0 !important;
}

.btn-icon-control.btn-has-icon .btn-icon {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    flex-basis: 17px !important;
}

[data-bs-theme="dark"] .btn-icon-control.btn-icon-only,
.dark .btn-icon-control.btn-icon-only {
    background: #0d2238 !important;
    border-color: #27445f !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    button.btn-icon-only.btn-icon-control,
    a.btn-icon-only.btn-icon-control,
    [data-icon-applied="1"].btn-icon-only.btn-icon-control {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
    }
}

/* =========================================================
   EIP ACTION ICONS V4 - override final
   Vetores consistentes, compactos e sem herdar o visual antigo.
========================================================= */
.btn-icon-control .btn-icon,
.btn-icon-control svg.btn-icon {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex: 0 0 18px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    overflow: visible !important;
    pointer-events: none !important;
}

button.btn-icon-only.btn-icon-control,
a.btn-icon-only.btn-icon-control,
.btn.btn-icon-only.btn-icon-control,
.btn-pill.btn-icon-only.btn-icon-control,
.btn-pill-edit.btn-icon-only.btn-icon-control,
.btn-pill-delete.btn-icon-only.btn-icon-control,
.btn-danger.btn-icon-only.btn-icon-control,
.btn-outline.btn-icon-only.btn-icon-control,
[data-icon-applied="1"].btn-icon-only.btn-icon-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #d6e1ec !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(1, 41, 82, .05) !important;
    text-decoration: none !important;
    transform: none !important;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

button.btn-icon-only.btn-icon-control:hover,
a.btn-icon-only.btn-icon-control:hover,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 12px rgba(1, 41, 82, .10) !important;
}

button.btn-icon-only.btn-icon-control:focus-visible,
a.btn-icon-only.btn-icon-control:focus-visible,
[data-icon-applied="1"].btn-icon-only.btn-icon-control:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(0, 99, 162, .16), 0 5px 12px rgba(1, 41, 82, .10) !important;
}

.btn-icon-control.btn-icon-tone-primary { color: #0063a2 !important; border-color: #c9ddeb !important; background: #f7fbfe !important; }
.btn-icon-control.btn-icon-tone-primary:hover { color: #004a7a !important; border-color: #8ebad5 !important; background: #edf7fd !important; }
.btn-icon-control.btn-icon-tone-info { color: #0b5f91 !important; border-color: #cfdfeb !important; background: #f8fbfd !important; }
.btn-icon-control.btn-icon-tone-info:hover { color: #014d7d !important; border-color: #9fc4d9 !important; background: #eef7fb !important; }
.btn-icon-control.btn-icon-tone-neutral { color: #183b5c !important; border-color: #d7e1eb !important; background: #fff !important; }
.btn-icon-control.btn-icon-tone-neutral:hover { color: #0063a2 !important; border-color: #9fc4d9 !important; background: #f4f9fc !important; }
.btn-icon-control.btn-icon-tone-success { color: #16834b !important; border-color: #c6e6d4 !important; background: #f4fbf7 !important; }
.btn-icon-control.btn-icon-tone-success:hover { color: #0f6b3b !important; border-color: #8ed0aa !important; background: #eaf8f0 !important; }
.btn-icon-control.btn-icon-tone-warning { color: #a76508 !important; border-color: #f0d6ad !important; background: #fffaf2 !important; }
.btn-icon-control.btn-icon-tone-warning:hover { color: #855003 !important; border-color: #e7b86c !important; background: #fff4e2 !important; }
.btn-icon-control.btn-icon-tone-danger { color: #d9363e !important; border-color: #f0c8cb !important; background: #fff8f8 !important; }
.btn-icon-control.btn-icon-tone-danger:hover { color: #b6222a !important; border-color: #e49ca1 !important; background: #fff0f1 !important; }

.actions-cell,
.table-attachments-cell,
.prod-launch-actions-mini { gap: 6px !important; }

.actions-cell .btn-icon-control,
.table-attachments-cell .btn-icon-control,
.prod-launch-actions-mini .btn-icon-control,
td[data-column="acoes"] .btn-icon-control,
td[data-column="acao"] .btn-icon-control,
td[data-column="anexo"] .btn-icon-control,
td[data-column="anexos"] .btn-icon-control,
td[data-column="fotos"] .btn-icon-control,
td[data-column="bo"] .btn-icon-control { margin: 0 !important; }

.btn-icon-control.btn-has-icon .btn-icon {
    width: 17px !important;
    height: 17px !important;
    max-width: 17px !important;
    max-height: 17px !important;
    flex-basis: 17px !important;
}

[data-bs-theme="dark"] .btn-icon-control.btn-icon-only,
.dark .btn-icon-control.btn-icon-only {
    background: #0d2238 !important;
    border-color: #27445f !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    button.btn-icon-only.btn-icon-control,
    a.btn-icon-only.btn-icon-control,
    [data-icon-applied="1"].btn-icon-only.btn-icon-control {
        width: 34px !important; min-width: 34px !important; max-width: 34px !important;
        height: 34px !important; min-height: 34px !important; max-height: 34px !important;
    }
}
