/* =========================================================
   CHAMA ENFERMEIRA - TEMA LIMPO
   Padrão visual n.Call
========================================================= */

/* =========================================================
   01. VARIÁVEIS DO TEMA
========================================================= */

:root {
    --primary: #1B6EC2;
    --primary-light: #E8F1FB;
    --primary-dark: #134E8A;

    --font-family: 'Inter', sans-serif;

    --surface: #FFFFFF;
    --background: #F5F7FA;
    --text-primary: #1A1A2E;
    --text-secondary: #6B7280;
    --border: #E5E7EB;

    --emergency: #DC2626;
    --emergency-bg: #FEF2F2;
    --urgent: #F59E0B;
    --urgent-bg: #FFFBEB;
    --incident: #F97316;
    --incident-bg: #FFF7ED;
    --moderate: #3B82F6;
    --moderate-bg: #EFF6FF;
    --routine: #10B981;
    --routine-bg: #ECFDF5;
    --calling: #8B5CF6;
    --calling-bg: #F5F3FF;

    --text: var(--text-primary);
    --muted: var(--text-secondary);

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 16px;

    --shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
    --shadow-lg: 0 8px 24px rgba(0,0,0,0.12);
}

/* =========================================================
   02. BASE GERAL
========================================================= */

body,
body#builder-layout,
.master-container,
.container-live {
    background: var(--background) !important;
    font-family: var(--font-family) !important;
    color: var(--text-primary) !important;
}

body,
body *:not(.fa):not(.fas):not(.far):not(.fab):not(.material-icons) {
    font-family: var(--font-family) !important;
}

.master-container {
    margin-left: 0 !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.container-live {
    padding: 2px 20px 20px 20px !important;
}

#adianti_div_content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.blockUI.blockMsg,
.blockUI.blockOverlay {
    display: none !important;
}

/* =========================================================
   03. ELEMENTOS DO BUILDER REMOVIDOS
========================================================= */

.arrow-menus-scroll,
.adianti_tab_content_actions,
.toggle-top-menu,
.fixed-sidebar-mini-menu,
.icon-down,
.container-menu,
.splash-user-content,
.builder-list-themes,
.header-profile-photo {
    display: none !important;
}

/* =========================================================
   04. TOPO / HEADER
   Observação: o menu-top deve ficar desativado no application.ini:
   top_menu = "0"
   top_menu_modules = "0"
========================================================= */

.container-header,
.navbar,
.topbar,
.main-header,
.header-track,
.header-action,
.builder-topbar,
.builder-menu-top {
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    background: var(--primary-light) !important;
    border-bottom: 1px solid var(--border) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* área lateral da logo */
.header-logo,
.company-logo {
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    width: 252px !important;
    min-width: 252px !important;
    background: #FFFFFF !important;
    border-right: 1px solid var(--border) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    position: relative !important;
    z-index: 10 !important;
}

.company-logo img {
    max-height: 52px !important;
    max-width: 175px !important;
    object-fit: contain !important;
}

/* área direita do usuário */
.builder-profile-menu,
.fast-drop,
.header-profile,
.navbar-custom-menu,
.navbar-right {
    background: transparent !important;
}

.builder-profile-menu .fast-drop-label {
    padding: 0 18px !important;
}

.header-profile-name {
    color: var(--text-primary) !important;
    font-weight: 600 !important;
}

.fast-drop-label:hover,
.header-profile:hover,
.main-header .navbar .nav > li > a:hover {
    background: rgba(27,110,194,0.08) !important;
    border-radius: 10px !important;
}

/* =========================================================
   05. MENU LATERAL
========================================================= */

.master-menu-content,
.container-submenu {
    width: 252px !important;
    min-width: 252px !important;
    background: #FFFFFF !important;
    border-right: 1px solid var(--border) !important;
}

.master-menu-content {
    padding-top: 70px !important;
}

.container-submenu a,
.master-menu-content a {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    height: 42px !important;
    padding: 0 14px !important;
    margin: 4px 10px !important;
    border-radius: 8px !important;
    border: 1px solid transparent !important;
    color: var(--text-secondary) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: all .2s ease !important;
}

.container-submenu a i,
.container-submenu a .fa,
.container-submenu a .fas,
.master-menu-content a i,
.master-menu-content a .fa,
.master-menu-content a .fas {
    width: 18px !important;
    min-width: 18px !important;
    text-align: center !important;
    color: #526174 !important;
    font-size: 15px !important;
}

.container-submenu a:hover,
.master-menu-content a:hover {
    background: var(--primary-light) !important;
    color: var(--primary) !important;
}

.container-submenu a:hover i,
.master-menu-content a:hover i {
    color: var(--primary) !important;
}

.container-submenu li.active > a,
.container-submenu .active > a,
.master-menu-content li.active > a,
.master-menu-content li.menu-open > a,
.master-menu-content li.open > a {
    background: var(--primary-light) !important;
    color: var(--primary) !important;
    border-color: var(--primary) !important;
    font-weight: 700 !important;
}

.container-submenu li.active > a i,
.container-submenu .active > a i,
.master-menu-content li.active > a i,
.master-menu-content li.menu-open > a i,
.master-menu-content li.open > a i {
    color: var(--primary) !important;
}

/* =========================================================
   06. SUBMENUS LATERAIS
========================================================= */

.container-submenu li.treeview > ul,
.container-submenu li.treeview > .treeview-menu,
.master-menu-content li > ul {
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    list-style: none !important;
    margin: 4px 0 8px 0 !important;
    padding: 0 !important;
}

.container-submenu li.treeview.menu-open > ul,
.container-submenu li.treeview.menu-open > .treeview-menu,
.master-menu-content li.menu-open > ul,
.master-menu-content li.open > ul,
.master-menu-content li.active > ul {
    display: block !important;
}

.container-submenu li.treeview.active > ul,
.container-submenu li.treeview.active > .treeview-menu {
    display: none !important;
}

.container-submenu li.treeview.menu-open.active > ul,
.container-submenu li.treeview.menu-open.active > .treeview-menu {
    display: block !important;
}

.master-menu-content a.sub::after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: auto;
    color: #64748B;
    transition: transform .2s ease;
}

.master-menu-content li.menu-open > a.sub::after,
.master-menu-content li.active > a.sub::after,
.master-menu-content li.open > a.sub::after {
    transform: rotate(90deg);
    color: var(--primary);
}

.master-menu-content li > ul > li,
.master-menu-content li > ul > li::before {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    content: none !important;
}

.master-menu-content li > ul > li > a,
.container-submenu li.treeview > ul > li > a,
.container-submenu li.treeview > .treeview-menu > li > a {
    margin: 2px 10px 2px 34px !important;
    padding: 0 12px !important;
    height: 34px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    color: #64748B !important;
    line-height: 1.2 !important;
    white-space: normal !important;
}

.master-menu-content li > ul > li > a i,
.master-menu-content li > ul > li > a .fa,
.master-menu-content li > ul > li > a .fas {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 20px !important;
    min-width: 20px !important;
    font-size: 16px !important;
    color: var(--text-secondary) !important;
}

.master-menu-content li > ul > li > a:hover i,
.master-menu-content li > ul > li.active > a i,
.master-menu-content li > ul > li > a.chama-submenu-active i {
    color: var(--primary) !important;
}

/* Esconde ícones dos itens pai/módulos, mas preserva submenus */
.master-menu-content li > a.sub > i,
.master-menu-content li > a.sub > .fa,
.master-menu-content li > a.sub > .fas {
    display: none !important;
}

.container-submenu a.chama-submenu-active {
    background: var(--primary-light) !important;
    color: var(--primary) !important;
    font-weight: 700 !important;
    border: 1px solid var(--primary) !important;
    border-radius: 7px !important;
    box-shadow: none !important;
    outline: none !important;
}

.chama-menu-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: right;

    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    margin-left: 8px;

    border-radius: 999px;
    background: #E11D48;
    color: #FFFFFF !important;

    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

/* =========================================================
   07. PAINÉIS / CARDS PADRÃO
========================================================= */

.panel,
.panel-default,
.card,
.tpanelgroup {
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 14px !important;
    box-shadow: var(--shadow-sm) !important;
    overflow: hidden !important;
}

.panel-heading,
.card-header,
.tpanelgroup-title {
    background: #EEF6FF !important;
    border-bottom: 1px solid var(--border) !important;
    color: var(--primary-dark) !important;
    font-weight: 700 !important;
}

/* =========================================================
   08. BOTÕES / TOOLBAR - DESIGN SYSTEM n.Call
========================================================= */

:root {
    --error: var(--emergency, #DC2626);
    --error-bg: var(--emergency-bg, #FEF2F2);
}

/* Toolbar padrão */
.toolbar,
.datagrid-header-actions,
.panel-body > .form-horizontal,
.panel-body > div:first-child {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-sm) !important;
}

/* Base dos botões */
.btn,
button.btn,
a.btn,
.dropdown-toggle {
    height: 36px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

/* Cadastrar / Primário */
.btn-primary,
.btn.btn-primary,
button.btn-primary,
a.btn-primary {
    background: var(--primary) !important;
    border: 1px solid var(--primary) !important;
    color: #FFFFFF !important;
}

.btn-primary:hover,
.btn.btn-primary:hover,
button.btn-primary:hover,
a.btn-primary:hover {
    background: var(--primary-dark) !important;
    border-color: var(--primary-dark) !important;
    color: #FFFFFF !important;
}

/* Ícones do botão primário */
.btn-primary i,
.btn-primary span,
.btn.btn-primary i,
.btn.btn-primary span,
button.btn-primary i,
a.btn-primary i {
    color: #FFFFFF !important;
}

/* Ghost padrão */
.btn-default,
.btn.btn-default,
.btn-secondary,
.btn.btn-secondary,
.btn-ghost,
.btn.btn-ghost,
.dropdown-toggle {
    background: #FFFFFF !important;
    border: 1px solid var(--primary) !important;
    color: var(--primary) !important;
}

/* Hover ghost */
.btn-default:hover,
.btn.btn-default:hover,
.btn-secondary:hover,
.btn.btn-secondary:hover,
.btn-ghost:hover,
.btn.btn-ghost:hover,
.dropdown-toggle:hover {
    background: var(--primary-light) !important;
    border-color: var(--primary-dark) !important;
    color: var(--primary-dark) !important;
}

/* Ícones sempre herdam a cor do botão */
.btn-default i,
.btn-default span,
.btn-secondary i,
.btn-secondary span,
.btn-ghost i,
.btn-ghost span,
.dropdown-toggle i,
.dropdown-toggle span {
    color: currentColor !important;
}

/* Ghost destrutivo somente quando marcado explicitamente */
.btn-ghost-danger,
.btn-danger-outline {
    background: #FFFFFF !important;
    border-color: var(--error) !important;
    color: var(--error) !important;
}

.btn-ghost-danger:hover,
.btn-danger-outline:hover {
    background: var(--error-bg) !important;
    border-color: var(--error) !important;
    color: var(--error) !important;
}

.btn-ghost-danger i,
.btn-ghost-danger span,
.btn-danger-outline i,
.btn-danger-outline span {
    color: currentColor !important;
}

/* Divisória opcional da toolbar */
.toolbar-divider {
    width: 1px !important;
    height: 24px !important;
    background: var(--border) !important;
}

/* =========================================================
   09. INPUTS / SELECTS
========================================================= */

.form-control,
input,
select,
textarea {
    background-color: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    box-shadow: none !important;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(27,110,194,0.15) !important;
    outline: none !important;
}

/* =========================================================
   REFINO - PLACEHOLDERS
========================================================= */

input::placeholder,
textarea::placeholder,
.form-control::placeholder,
.select2-container--default .select2-selection__placeholder,
.select2-container--default .select2-search__field::placeholder {
    color: #94A3B8 !important;
    opacity: 1 !important;
}

/* =========================================================
   SELECT2 / COMBO PESQUISÁVEL
========================================================= */

/* Campo fechado */
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple,
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple {
    background-color: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    min-height: 40px !important;
    box-shadow: none !important;
}

/* Texto do campo fechado */
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    color: var(--text-primary) !important;
    line-height: 38px !important;
    padding-left: 14px !important;
    font-size: 14px !important;
}

/* Seta */
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
}

/* Focus / aberto */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--multiple,
.select2-container--focus .select2-selection,
.select2-container--open .select2-selection {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(27,110,194,0.15) !important;
}

/* Dropdown */
.select2-dropdown {
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-md) !important;
}

/* Campo de pesquisa interno */
.select2-search__field {
    background-color: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 6px !important;
    outline: none !important;
    box-shadow: none !important;
}

.select2-search__field:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(27,110,194,0.15) !important;
}

/* Item destacado / hover / selecionado */
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-results__option:hover {
    background-color: var(--primary-light) !important;
    color: var(--primary) !important;
}

/* Select2 disabled */
.select2-container--disabled .select2-selection,
.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #F8FAFC !important;
    border: 1px solid var(--border) !important;
    color: #64748B !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

.select2-container--disabled .select2-selection__rendered,
.select2-container--default.select2-container--disabled .select2-selection__rendered,
.select2-container--default.select2-container--disabled .select2-selection__choice {
    color: #64748B !important;
    opacity: 1 !important;
}

/* Texto dentro do Select2 disabled */
.select2-container--disabled .select2-selection__rendered,
.select2-container--default.select2-container--disabled .select2-selection__rendered,
.select2-container--default.select2-container--disabled .select2-selection__choice {
    color: var(--text-secondary) !important;
    opacity: 1 !important;
}

/* Seta do Select2 disabled */
.select2-container--default.select2-container--disabled .select2-selection__arrow b {
    border-color: var(--text-secondary) transparent transparent transparent !important;
    opacity: .55 !important;
}

/* Tags internas do Select2 multiple */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #F8FAFC !important;
    border: 1px solid var(--border) !important;
    color: var(--text-secondary) !important;
    border-radius: 6px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--text-secondary) !important;
}

/* =========================================================
   10. TABELAS / GRIDS PADRÃO
========================================================= */

.table thead th,
.datagrid_table thead th {
    background: #F1F5F9 !important;
    border-bottom: 1px solid var(--border) !important;
    color: #475569 !important;
    font-weight: 700 !important;
}

.table tbody tr:hover,
.datagrid_table tbody tr:hover {
    background: var(--primary-light) !important;
    padding: 12px;
}

.grid-padrao .datagrid_table,
.grid-padrao table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: var(--surface) !important;
    border-radius: var(--radius-md) !important;
    overflow: hidden !important;
}

.grid-padrao thead th {
    background: #F1F5F9 !important;
    color: var(--text-secondary) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.grid-padrao tbody td {
    border-top: 1px solid var(--border) !important;
    color: var(--text-primary) !important;
    font-size: 14px !important;
}

.grid-padrao tbody tr:hover {
    background: var(--primary-light) !important;
}

/* =========================================================
   11. GRID PADRÃO - LISTAGENS COM CABEÇALHO CUSTOMIZADO
========================================================= */

.chama-grid-panel {
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(15,23,42,.06) !important;
    overflow: hidden !important;
}

.chama-grid-panel > .panel-heading {
    background: var(--primary-light) !important;
    border-bottom: 1px solid var(--border) !important;
    padding: 20px 18px !important;
}

.chama-page-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #42526E !important;
    line-height: 1.2 !important;
}

.chama-page-subtitle {
    margin-top: 6px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #64748B !important;
}

.chama-grid-body {
    padding: 0 !important;
}

.chama-grid-body .datagrid-header-actions {
    padding: 14px 16px !important;
    margin-bottom: 14px !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid var(--border) !important;
}

.chama-grid-body table {
    width: 100% !important;
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.chama-grid-body table thead th {
    background: #F8FAFC !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    padding: 13px 16px !important;
    border-bottom: 1px solid var(--border) !important;
}

.chama-grid-body table tbody td {
    padding: 13px 16px !important;
    color: #334155 !important;
    border-top: 1px solid var(--border) !important;
    vertical-align: middle !important;
    font-size: 13px !important;
}

.chama-grid-body table tbody tr:hover td {
    background: #F8FAFC !important;
}

.chama-grid-panel .panel-footer {
    background: #FFFFFF !important;
    border-top: 1px solid var(--border) !important;
    padding: 12px 16px !important;
}

/* =========================================================
   12. CABEÇALHO PADRÃO DAS TELAS
========================================================= */

.ncall-page-header {
    background: var(--primary-light);
    border: 1px solid #D6E4F3;
    border-radius: 10px 10px 0 0;
    padding: 20px;
    margin: 0;
}

.ncall-page-header h1 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #334E78;
}

.ncall-page-header p {
    margin: 6px 0 0 0;
    font-size: 13px;
    color: #526B91;
}

.ncall-paciente-panel {
    border-radius: 0 0 10px 10px !important;
    border-top: 0 !important;
}

.ncall-paciente-panel > .panel-heading {
    display: none !important;
}

.ncall-paciente-panel table thead tr th {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #334E78 !important;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.ncall-escala-enfermeiro-panel {
    border-radius: 0 0 10px 10px !important;
    border-top: 0 !important;
}

.ncall-escala-enfermeiro-panel > .panel-heading {
    display: none !important;
}

/* =========================================================
   13. STATUS / BADGES PADRÃO
========================================================= */

.chama-status-badge,
.ncall-status-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.chama-status-badge::before {
    content: "" !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: currentColor !important;
}

.ncall-status-badge span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
}

.chama-status-chamando,
.badge-calling {
    background: #F3E8FF !important;
    color: #7C3AED !important;
}

.chama-status-triado,
.badge-aguardando,
.chama-status-emergencia,
.chama-status-inativo,
.ncall-status-badge.inactive {
    background: #FEF2F2 !important;
    color: #DC2626 !important;
}

.chama-status-andamento,
.badge-atendimento,
.chama-status-urgencia {
    background: #FEF3C7 !important;
    color: #D97706 !important;
}

.chama-status-finalizado,
.badge-finalizado,
.chama-status-ativo,
.chama-status-suave,
.ncall-status-badge.active {
    background: #ECFDF5 !important;
    color: #10B981 !important;
}

.chama-status-neutro,
.badge-cancelado {
    background: #F1F5F9 !important;
    color: #64748B !important;
}

.chama-status-incidente {
    background: #EFF6FF !important;
    color: #2563EB !important;
}

.ncall-status-badge.active span {
    background: #10B981;
}

.ncall-status-badge.inactive span {
    background: #DC2626;
}

.badge-status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    border: none !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.badge-status::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

/* =========================================================
   14. TRIAGEM - GRID EM CARDS
========================================================= */

#AtendimentoTriagemList_datagrid thead {
    display: none !important;
}

#AtendimentoTriagemList_datagrid,
#AtendimentoTriagemList_datagrid tbody,
#AtendimentoTriagemList_datagrid tr,
#AtendimentoTriagemList_datagrid td {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
}

#AtendimentoTriagemList_datagrid tr {
    margin-bottom: 12px !important;
}

#AtendimentoTriagemList_datagrid tbody tr:not(:has(.ce-triagem-card)) {
    display: none !important;
}

.ce-triagem-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: var(--shadow-sm);
}

.ce-triagem-main {
    flex: 1;
}

.ce-triagem-title {
    font-size: 16px;
    font-weight: 800;
    color: #111827;
    margin-bottom: 8px;
}

.ce-triagem-meta {
    display: flex;
    gap: 16px;
    color: #526174;
    font-size: 13px;
}

.ce-triagem-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
    min-width: 150px;
}

.ce-triagem-side small {
    color: #64748B;
    font-size: 12px;
}

.ce-triagem-actions {
    display: flex;
    gap: 8px;
}

.ce-triagem-actions a {
    height: 32px;
    padding: 0 12px;
    border-radius: 8px;
    background: #F8FAFC;
    border: 1px solid var(--border);
    color: #526174;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.ce-triagem-actions a:hover {
    background: var(--primary-light);
    border-color: var(--primary);
    color: var(--primary);
}

/* =========================================================
   15. ATENDIMENTO ENFERMAGEM - CARD REAL
========================================================= */

#AtendimentoEnfermagemHeaderList_datagrid {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

#AtendimentoEnfermagemHeaderList_datagrid thead {
    display: none !important;
}

#AtendimentoEnfermagemHeaderList_datagrid tbody tr:not(:has(.ce-card-real)) {
    display: none !important;
}

#AtendimentoEnfermagemHeaderList_datagrid tbody tr,
#AtendimentoEnfermagemHeaderList_datagrid tbody td {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#AtendimentoEnfermagemHeaderList_datagrid tbody td {
    padding: 0 !important;
}

.ce-card-real {
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-height: 90px !important;
    padding: 14px 20px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.05) !important;
    position: relative !important;
    overflow: hidden !important;
}

.ce-card-real::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 999px;
    background: var(--urgent);
}

.ce-card-actions {
    width: 145px !important;
    min-width: 145px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    align-items: stretch !important;
    justify-content: center !important;
    z-index: 2 !important;
}

.ce-card-actions a,
.ce-check-wrap {
    width: 125px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    background: #F8FAFC !important;
    border: 1px solid var(--border) !important;
    color: #526174 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.ce-card-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding-left: 8px !important;
}

.ce-card-title {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #111827 !important;
    line-height: 1.1 !important;
}

.ce-card-meta {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex-wrap: wrap !important;
    font-size: 15px !important;
    color: #64748B !important;
}

.ce-card-meta span:nth-child(2) {
    color: #334155 !important;
    font-weight: 700 !important;
}

.ce-card-side {
    width: 205px !important;
    min-width: 205px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.ce-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    border-radius: 999px !important;
    padding: 9px 13px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.ce-status-pill::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.ce-status-triado {
    background: #FEF2F2 !important;
    color: #DC2626 !important;
}

.ce-status-atendimento {
    background: #FFFBEB !important;
    color: #B45309 !important;
}

/* SLA */

.ce-sla-row {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
}

.ce-sla-label {
    flex: 0 0 48px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #64748B !important;
    white-space: nowrap !important;
}

.ce-sla-content {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.ce-sla-bar {
    flex: 0 0 220px !important;
    width: 220px !important;
    max-width: 220px !important;
    height: 7px !important;
    background: var(--border) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.ce-sla-fill {
    height: 100% !important;
    min-width: 4px !important;
    border-radius: 999px !important;
}

.ce-sla-info {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    font-size: 10.5px !important;
    font-weight: 600 !important;
    color: #64748B !important;
}

.ce-sla-ok .ce-sla-fill {
    background: #10B981 !important;
}

.ce-sla-warning .ce-sla-fill {
    background: #F59E0B !important;
}

.ce-sla-danger .ce-sla-fill {
    background: #DC2626 !important;
}

.ce-sla-atrasado {
    color: #DC2626 !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
}

/* =========================================================
   18. CLASSES LEGADAS USADAS EM TRANSFORMERS
========================================================= */

.ce-paciente {
    background: #F8F1F1 !important;
    border: 1px solid #F0E3E3 !important;
    color: #5B4A4A !important;
    border-radius: 999px !important;
    padding: 8px 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 110px !important;
    max-width: 135px !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.ce-procedimento {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #111827 !important;
    line-height: 1.35 !important;
    display: inline-block !important;
    max-width: 170px !important;
}

.ce-datahora {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #111827 !important;
    line-height: 1.35 !important;
    min-width: 130px !important;
}

.col-datahora {
    font-size: 12px !important;
    color: #6B7280 !important;
    line-height: 1.5 !important;
}

.ce-sla {
    font-size: 18px !important;
    font-weight: 800 !important;
}

.ce-sla-ok {
    color: #111827 !important;
}

.ce-sla-atrasado {
    color: var(--emergency) !important;
}

/* =========================================================
   19. COMPATIBILIDADE COM :has()
   Mantido porque o layout atual usa linhas antigas do Builder.
========================================================= */

.grid-assistencia tbody tr:first-child td:empty,
.grid-assistencia tbody tr:first-child td:has(:empty) {
    display: none !important;
}

.grid-assistencia tbody tr:first-child {
    display: none !important;
}

.grid-assistencia tbody tr[id^="row_"]:first-child,
.grid-assistencia tbody tr[id^="row_"] {
    display: table-row !important;
}

/* =========================================================
   GRID - AÇÕES MAIS COMPACTAS
========================================================= */

.datagrid-row-actions {
    white-space: nowrap !important;
    width: 90px !important;
}

.datagrid-row-actions a {
    margin-right: 0px !important;
    padding: 2px 4px !important;
}

.datagrid-row-actions i {
    font-size: 14px !important;
}

/* =========================================================
   GRID - COLUNAS DE AÇÃO COMPACTAS
========================================================= */

.chama-grid-body table tbody td:nth-child(1),
.chama-grid-body table tbody td:nth-child(2),
.chama-grid-body table tbody td:nth-child(3),
.chama-grid-body table thead th:nth-child(1),
.chama-grid-body table thead th:nth-child(2),
.chama-grid-body table thead th:nth-child(3) {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    text-align: center !important;
}

.chama-grid-body table tbody td:nth-child(1) a,
.chama-grid-body table tbody td:nth-child(2) a,
.chama-grid-body table tbody td:nth-child(3) a {
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
   SYSTEM PROGRAM GRID
========================================================= */

.SystemProgramList table tbody td:nth-child(1),
.SystemProgramList table tbody td:nth-child(2),
.SystemProgramList table tbody td:nth-child(3) {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
    text-align: center !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
}

.chama-grid-panel > .panel-heading {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* =========================================================
   LOGIN - PADRÃO n.Call
========================================================= */

body.builder-template-login {
    background: var(--primary-light) !important;
}

body.builder-template-login .container-login {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
}

body.builder-template-login .panel-login {
    width: 980px !important;
    max-width: 100% !important;
    min-height: 540px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: 18px !important;
    box-shadow: var(--shadow-lg) !important;
    overflow: hidden !important;
    display: flex !important;
}

body.builder-template-login .info-login {
    width: 46% !important;
    background: linear-gradient(135deg, #E8F1FB 0%, #FFFFFF 100%) !important;
    border-right: 1px solid var(--border) !important;
    padding: 48px 36px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

body.builder-template-login .login-content {
    width: 54% !important;
    padding: 48px 42px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

body.builder-template-login .login-medium-logo {
    background: none !important;
    background-image: none !important;
    min-height: auto !important;
    height: auto !important;
    margin-bottom: 28px !important;
    text-align: center !important;
}

body.builder-template-login .login-medium-logo img {
    width: 260px !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}
body.builder-template-login #login-wrapper {
    margin: 0 auto !important;
    max-width: 360px !important;
}

body.builder-template-login .panel {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.builder-template-login .panel-heading {
    display: none !important;
}

body.builder-template-login .login-avatar {
    height: 42px !important;
    width: 44px !important;
    background: var(--primary-light) !important;
    border: 1px solid var(--border) !important;
    color: var(--primary) !important;
    border-radius: 10px 0 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.builder-template-login input {
    height: 42px !important;
    border-radius: 0 10px 10px 0 !important;
    border-left: 0 !important;
}

body.builder-template-login .btn {
    height: 44px !important;
    width: 100% !important;
    border-radius: 10px !important;
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
}

body.builder-template-login .btn:hover {
    background: var(--primary-dark) !important;
}

/* =========================================================
   LOGIN - CORREÇÃO VISUAL n.Call
========================================================= */

body.builder-template-login .info-login,
body.builder-template-login .login-info,
body.builder-template-login .login-left,
body.builder-template-login .left-panel {
    background: linear-gradient(135deg, #E8F1FB 0%, #FFFFFF 100%) !important;
}

body.builder-template-login .login-medium-logo,
body.builder-template-login .login-image {
    background: none !important;
    background-image: none !important;
    min-height: auto !important;
    height: auto !important;
    margin-bottom: 28px !important;
    text-align: center !important;
}

body.builder-template-login .login-medium-logo img {
    width: 260px !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* =========================================================
   LOGIN - FORM DIREITO
========================================================= */

.ncall-login-form-title {
    margin: 0 0 6px 0 !important;
    text-align: center !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    color: #134E8A !important;
    line-height: 1 !important;
}

.ncall-login-form-subtitle {
    margin-bottom: 28px !important;
    text-align: center !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #64748B !important;
}

.ncall-login-form-title {
    color: #134E8A !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    text-align: center !important;
    margin: 0 0 6px 0 !important;
}

.ncall-login-form-subtitle {
    color: #64748B !important;
    font-size: 12px !important;
    letter-spacing: 1.8px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    margin-bottom: 22px !important;
}

.ncall-login-enter-title {
    color: #334155 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-align: center !important;
    margin-bottom: 18px !important;
}

/* =========================================================
   LOGIN - CAMPOS
========================================================= */

body.builder-template-login .display-flex {
    display: flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin-bottom: 14px !important;
}

body.builder-template-login .login-avatar {
    width: 48px !important;
    min-width: 48px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #E8F1FB !important;
    border: 1px solid #CFE0F5 !important;
    border-right: 0 !important;

    border-radius: 12px 0 0 12px !important;

    color: #1B6EC2 !important;
    font-size: 16px !important;
}

body.builder-template-login input {
    height: 46px !important;

    border: 1px solid #CFE0F5 !important;
    border-left: 0 !important;

    border-radius: 0 12px 12px 0 !important;

    box-shadow: none !important;

    padding-left: 14px !important;

    font-size: 15px !important;
}

body.builder-template-login input:focus {
    border-color: #1B6EC2 !important;
    box-shadow: 0 0 0 3px rgba(27,110,194,.10) !important;
}

/* LOGIN - alinhamento definitivo dos campos */

body.builder-template-login #form_login .form-group {
    margin-bottom: 14px !important;
}

body.builder-template-login #form_login .fb-field-container {
    padding: 0 !important;
}

body.builder-template-login #form_login .display-flex {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: 100% !important;
}

body.builder-template-login #form_login .display-flex > div {
    padding: 0 !important;
}

body.builder-template-login #form_login .login-avatar {
    width: 48px !important;
    min-width: 48px !important;
    height: 46px !important;
    margin: 0 !important;
    position: static !important;
    transform: none !important;
}

body.builder-template-login #form_login input {
    width: 290px !important;
    height: 46px !important;
    margin: 0 !important;
}

/* LOGIN - acabamento dos campos e botão */

body.builder-template-login #form_login .display-flex {
    gap: 0 !important;
}

body.builder-template-login #form_login .login-avatar {
    border-radius: 12px 0 0 12px !important;
    border-right: 0 !important;
    background: #E8F1FB !important;
    color: #1B6EC2 !important;
}

body.builder-template-login #form_login input {
    border-left: 0 !important;
    border-radius: 0 12px 12px 0 !important;
    background: #EAF3FF !important;
}

body.builder-template-login #form_login input:focus {
    background: #EAF3FF !important;
}

body.builder-template-login #form_login .btn,
body.builder-template-login #form_login button {
    background: #1B6EC2 !important;
    border-color: #1B6EC2 !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

body.builder-template-login #form_login .btn:hover,
body.builder-template-login #form_login button:hover {
    background: #134E8A !important;
    border-color: #134E8A !important;
    color: #FFFFFF !important;
}
/* Corrige alinhamento dos campos */
body.builder-template-login .input-group {
    width: 100% !important;
    max-width: 340px !important;
    margin-bottom: 10px !important;
}

body.builder-template-login .input-group-addon {
    width: 44px !important;
    min-width: 44px !important;
    height: 42px !important;
    border-radius: 10px 0 0 10px !important;
    background: #E8F1FB !important;
    border: 1px solid #D6E4F3 !important;
    color: #1B6EC2 !important;
}

body.builder-template-login .input-group input {
    height: 42px !important;
    border-radius: 0 10px 10px 0 !important;
    border: 1px solid #D6E4F3 !important;
    border-left: 0 !important;
}

/* Botão */
body.builder-template-login button,
body.builder-template-login .btn {
    color: #FFFFFF !important;
}

.ncall-login-info {
    background: linear-gradient(135deg, #E8F1FB 0%, #FFFFFF 100%) !important;
    border-right: 1px solid #E5E7EB !important;
}

.ncall-login-brand {
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
}

.ncall-login-brand img {
    max-width: 210px;
    margin-bottom: 28px;
}

.ncall-login-brand h2 {
    font-size: 42px;
    font-weight: 800;
    color: #134E8A;
    margin: 0 0 8px 0;
}

.ncall-login-brand p {
    font-size: 11px;
    color: #64748B;
    letter-spacing: 2px;
    text-transform: uppercase;
    max-width: 340px;
}

.ncall-login-logo {
    margin-bottom: 28px;
}

.ncall-login-logo img {
    width: 220px;
    max-width: 100%;
    height: auto;
}

/* =========================================================
   LOGIN - IDENTIDADE VISUAL
========================================================= */

.login-logo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    padding: 70px;
}

.login-brand-logo {
    width: 220px;
    margin-bottom: 28px;
}

.login-brand-title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    color: #134E8A;
    margin: 0 0 12px 0;
}

.login-brand-subtitle {
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #64748B;
}

/* LOGIN - força texto do botão */

body.builder-template-login #form_login .btn,
body.builder-template-login #form_login .btn *,
body.builder-template-login #form_login button,
body.builder-template-login #form_login button *,
body.builder-template-login #form_login a.btn,
body.builder-template-login #form_login a.btn * {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

body.builder-template-login #form_login .btn {
    background: #1B6EC2 !important;
    border-color: #1B6EC2 !important;
}

/* LOGIN - focus completo */

body.builder-template-login #form_login .display-flex:focus-within .login-avatar {
    border-color: #1B6EC2 !important;
    background: #DCEBFA !important;

    box-shadow: 0 0 0 3px rgba(27,110,194,.10) !important;
}

body.builder-template-login #form_login .display-flex:focus-within input {
    border-color: #1B6EC2 !important;

    box-shadow: 0 0 0 3px rgba(27,110,194,.10) !important;
}

.input-group-addon:last-child,
.password-toggle {
    border-radius: 0 12px 12px 0 !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
}

/* =========================================================
   BADGES MENU ATENDIMENTO
========================================================= */

.menu-pending-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 20px;
    width: 20px;
    height: 20px;

    padding: 0;
    margin-left: 4px;

    border-radius: 999px;

    background: #DC2626;
    color: #FFFFFF !important;

    border: 1px solid #FECACA;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

/* Ajuste submenu Atendimento - evita quebrar Assistência */
.master-menu-content li > ul > li > a,
.container-submenu li.treeview > ul > li > a,
.container-submenu li.treeview > .treeview-menu > li > a {
    margin-left: 18px !important;
    margin-right: 8px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 8px !important;
    white-space: nowrap !important;
}

.master-menu-content li > ul > li > a i,
.master-menu-content li > ul > li > a .fa,
.master-menu-content li > ul > li > a .fas {
    width: 16px !important;
    min-width: 16px !important;
    font-size: 14px !important;
}

.menu-pending-badge {
    min-width: 18px !important;
    width: 18px !important;
    height: 18px !important;
    padding: 0 !important;
    margin-left: auto !important;
    font-size: 10px !important;
}

/* =========================================================
   REGISTRO DE ATENDIMENTOS - GRID AUTO RESPONSIVO
========================================================= */

#RegistroChamadaList_datagrid {
    width: 100% !important;
    table-layout: fixed !important;
}

#RegistroChamadaList_datagrid th,
#RegistroChamadaList_datagrid td {
    padding: 12px 10px !important;
    font-size: 12px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#RegistroChamadaList_datagrid th {
    font-size: 11px !important;
    letter-spacing: .03em !important;
}

/* evita o status ficar espremido */
#RegistroChamadaList_datagrid td .badge,
#RegistroChamadaList_datagrid td span[class*="status"],
#RegistroChamadaList_datagrid td div[class*="status"] {
    max-width: 100% !important;
    white-space: nowrap !important;
}

/* Paciente e Procedimento com quebra de linha */
#RegistroChamadaList_datagrid td:nth-child(2),
#RegistroChamadaList_datagrid td:nth-child(4) {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: initial !important;
    overflow-wrap: break-word !important;
    line-height: 1.35 !important;
}


.ce-triagem-location {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--text-secondary) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    white-space: nowrap !important;
}

.ce-triagem-location i,
.ce-triagem-location .material-symbols-outlined {
    font-size: 13px !important;
    line-height: 1 !important;
    color: var(--text-secondary) !important;
    opacity: .8 !important;
}

.ce-triagem-card {
    min-height: 80px !important;
}

.ce-triagem-main {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

.ce-triagem-location {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--text-secondary) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
}

.ce-triagem-location i {
    font-size: 12px !important;
    color: var(--text-secondary) !important;
}

.ce-triagem-side {
    align-items: flex-end !important;
    min-width: 120px !important;
}


/* =========================================================
   FIX GLOBAL - BOTÃO CADASTRAR / ÍCONE
========================================================= */

button[name="button_button_cadastrar"],
button[id*="button_button_cadastrar"],
.btn-primary[name*="cadastrar"],
.btn-primary[id*="cadastrar"] {
    background: var(--primary) !important;
    border: 1px solid var(--primary) !important;
    color: #FFFFFF !important;
}

button[name="button_button_cadastrar"] *,
button[id*="button_button_cadastrar"] *,
.btn-primary[name*="cadastrar"] *,
.btn-primary[id*="cadastrar"] * {
    color: #FFFFFF !important;
}

/* =========================================================
   FIX DEFINITIVO - TOOLBAR AÇÕES DAS LISTAGENS
========================================================= */

.chama-grid-body .datagrid-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 16px !important;
    margin-bottom: 0 !important;
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-sm) !important;
}

.chama-grid-body .datagrid-header-actions-left-actions,
.chama-grid-body .datagrid-header-actions-right-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Cadastrar */
.chama-grid-body .datagrid-header-actions button.btn-primary,
.chama-grid-body .datagrid-header-actions .btn.btn-primary {
    background: var(--primary) !important;
    border: 1px solid var(--primary) !important;
    color: #FFFFFF !important;
}

.chama-grid-body .datagrid-header-actions button.btn-primary *,
.chama-grid-body .datagrid-header-actions .btn.btn-primary * {
    color: #FFFFFF !important;
}

/* Ghost padrão */
.chama-grid-body .datagrid-header-actions .btn-default,
.chama-grid-body .datagrid-header-actions .btn.btn-default,
.chama-grid-body .datagrid-header-actions .dropdown-toggle {
    background: #FFFFFF !important;
    border: 1px solid var(--primary) !important;
    color: var(--primary) !important;
}

.chama-grid-body .datagrid-header-actions .btn-default *,
.chama-grid-body .datagrid-header-actions .btn.btn-default *,
.chama-grid-body .datagrid-header-actions .dropdown-toggle * {
    color: currentColor !important;
}

/* Botões pequenos só com ícone */
.chama-grid-body .datagrid-header-actions button:not(.btn-primary):not(.dropdown-toggle):not(.btn-default),
.chama-grid-body .datagrid-header-actions a.btn:not(.btn-primary):not(.dropdown-toggle):not(.btn-default) {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    justify-content: center !important;
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    color: var(--text-secondary) !important;
}

/* =========================================================
   TOOLTIPS DOS BOTÕES DA TOOLBAR
========================================================= */

.datagrid-header-actions .btn[title] {
    position: relative;
}

.datagrid-header-actions .btn[title]:hover::after {
    content: attr(title);

    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;

    transform: translateX(-50%);

    background: #1E293B;
    color: #FFFFFF;

    padding: 6px 10px;
    border-radius: 6px;

    font-size: 11px;
    font-weight: 600;

    white-space: nowrap;

    z-index: 9999;
}

.tcombo,
select.form-control {
    min-height: 48px !important;
    font-size: 16px !important;
}

/* =========================================================
   INPUTS E SELECTS - PADRÃO DESIGN SYSTEM
========================================================= */

input,
select,
textarea,
.form-control,
.tfield,
.tentry,
.tdate,
.ttime,
.tspinner,
.chosen-single,
.select2-selection,
.select2-selection--single {
    background: #FFFFFF !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-sm) !important;
    color: var(--text-primary) !important;
}

/* foco */

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.tfield:focus,
.tentry:focus,
.tdate:focus,
.ttime:focus,
.tspinner:focus,
.select2-container--focus .select2-selection,
.select2-container--open .select2-selection,
.chosen-container-active .chosen-single {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(27,110,194,0.15) !important;
    outline: none !important;
}

/* remove azul herdado do bootstrap */

.form-control,
.select2-selection,
.chosen-single {
    background-image: none !important;
}

/* =========================================================
   FORM LABELS E CAMPOS DESABILITADOS
========================================================= */

label,
.control-label,
.tformlabel,
.fb-field-container label {
    color: var(--text-secondary) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

/* remove vermelho padrão do Adianti em campos obrigatórios */
label[style*="red"],
.control-label[style*="red"],
.tformlabel[style*="red"] {
    color: var(--text-secondary) !important;
}

/* =========================================================
   REFINO - CAMPOS READONLY / DISABLED
========================================================= */

input[readonly],
input:disabled,
select:disabled,
textarea[readonly],
textarea:disabled,
.form-control[readonly],
.form-control:disabled,
.tfield[readonly],
.tfield:disabled,
.tentry[readonly],
.tentry:disabled,
.tdate[readonly],
.tdate:disabled,
.ttime[readonly],
.ttime:disabled,
.tcombo[readonly],
.tcombo:disabled {
    background-color: #F8FAFC !important;
    color: #64748B !important;
    border: 1px solid var(--border) !important;
    opacity: 1 !important;
    box-shadow: none !important;
}

/* =========================================================
   FORÇA LABELS DOS FORMULÁRIOS - ADIANTI/BUILDER
========================================================= */

.tform label,
.tform .control-label,
.tform .tformlabel,
.form-horizontal label,
.panel-body label,
.card-body label,
.fb-field-container label,
label {
    color: var(--text-secondary) !important;
}

/* labels com vermelho inline */
label[style],
span[style]:not(.menu-pending-badge),
.tformlabel[style],
.control-label[style] {
    color: var(--text-secondary) !important;
}

/* =========================================================
   INPUTS / SELECT / TEXTAREA - DESIGN SYSTEM
========================================================= */

.form-group {
    margin-bottom: 16px !important;
}

.form-label,
label {
    display: block;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.form-input,
input,
select,
textarea,
.form-control,
.tfield,
.tentry,
.tcombo,
.tdate,
.ttime,
.tspinner {
    width: 100%;
    font-family: var(--font-family);
    font-size: 14px !important;
    padding: 10px 14px !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-sm) !important;
    background: var(--surface) !important;
    color: var(--text-primary) !important;
    outline: none !important;
    box-shadow: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-input:focus,
input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.tfield:focus,
.tentry:focus,
.tcombo:focus,
.tdate:focus,
.ttime:focus,
.tspinner:focus {
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(27,110,194,0.12) !important;
    outline: none !important;
}

/* corrige cálculo de largura dos campos */
input,
select,
textarea,
.form-control,
.tfield,
.tentry,
.tcombo,
.tdate,
.ttime,
.tspinner {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

/* campo cor / color picker Adianti */
input[type="color"],
.tcolor,
.tcolor input {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.tcolor,
.tcolor-picker,
.colorpicker-element {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* =========================================================
   ATENDIMENTO ENFERMAGEM - MOBILE
========================================================= */

@media (max-width: 768px) {

    .table-responsive {
        overflow-x: hidden !important;
    }

    #AtendimentoEnfermagemHeaderList_datagrid,
    #AtendimentoEnfermagemHeaderList_datagrid tbody,
    #AtendimentoEnfermagemHeaderList_datagrid tr,
    #AtendimentoEnfermagemHeaderList_datagrid td {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ce-card-real {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        width: calc(100vw - 34px) !important;
        max-width: calc(100vw - 34px) !important;

        margin: 12px auto !important;
        padding: 18px !important;

        gap: 18px !important;
    }

    /* ===============================
       AÇÕES
    =============================== */

    .ce-card-actions {
        width: 100% !important;
        min-width: 0 !important;

        display: flex !important;
        flex-direction: column !important;

        gap: 8px !important;
    }

    .ce-card-actions a,
    .ce-check-wrap {
        width: 100% !important;
        height: 28px !important;
        font-size: 11px !important;

        justify-content: flex-start !important;

        padding-left: 16px !important;

        font-size: 14px !important;
        font-weight: 700 !important;
    }

    /* ===============================
       CONTEÚDO
    =============================== */

    .ce-card-main {
        width: 100% !important;
        padding-left: 0 !important;
    }

    .ce-card-top {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 14px !important;
    }

    .ce-card-title {
        font-size: 28px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
    }

    .ce-card-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    /* ===============================
       METADADOS
    =============================== */

    .ce-card-meta {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;

        gap: 12px !important;

        font-size: 16px !important;
    }

    .ce-card-meta span {
        white-space: normal !important;
    }

    /* ===============================
       SLA
    =============================== */

    .ce-sla-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 10px !important;
    }

    .ce-sla-label {
        width: auto !important;
        font-size: 14px !important;
    }

    .ce-sla-content {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 10px !important;

        width: 100% !important;
    }

    .ce-sla-bar {
        flex: none !important;

        width: 100% !important;
        max-width: 100% !important;

        height: 8px !important;
        min-height: 8px !important;
        max-height: 8px !important;

        border-radius: 999px !important;
        overflow: hidden !important;
    }

    .ce-sla-fill {
        display: block !important;

        height: 8px !important;
        min-height: 8px !important;
        max-height: 8px !important;

        border-radius: 999px !important;
    }

    .ce-sla-info {
        display: flex !important;
        flex-wrap: wrap !important;

        gap: 8px 12px !important;

        font-size: 13px !important;
        line-height: 1.3 !important;

        white-space: normal !important;
    }

    .ce-sla-content .ce-sla-bar,
    .ce-sla-content .ce-sla-fill {
        aspect-ratio: auto !important;
    }

    /* ===============================
       TOOLBAR SUPERIOR
    =============================== */

    .datagrid-header-actions {
        flex-wrap: wrap !important;
        gap: 10px !important;
    }

    .datagrid-header-actions-left-actions,
    .datagrid-header-actions-right-actions {
        width: 100% !important;
        justify-content: flex-start !important;
    }
}

/* =========================================================
   REFINO - LOGIN CAMPO SENHA / OLHO
========================================================= */

body.builder-template-login .password-toggle,
body.builder-template-login .input-group-addon:last-child {
    height: 46px !important;
    min-height: 46px !important;
    width: 46px !important;
    min-width: 46px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    border-radius: 0 12px 12px 0 !important;
    border: 1px solid #CFE0F5 !important;
    border-left: 0 !important;

    background: #E8F1FB !important;
    color: var(--primary) !important;
}

body.builder-template-login .password-toggle i,
body.builder-template-login .input-group-addon:last-child i {
    color: var(--primary) !important;
    font-size: 15px !important;
}

.ce-wait-timer {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.ce-wait-routine {
    color: var(--routine);
    background: var(--routine-bg);
}

.ce-wait-urgent {
    color: var(--urgent);
    background: var(--urgent-bg);
}

.ce-wait-emergency {
    color: var(--emergency);
    background: var(--emergency-bg);
}

.ce-triagem-card {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    align-items: center;
}

.ce-triagem-actions {
    display: flex;
    gap: 8px;
    align-items: center;
}

.ce-triagem-info {
    min-width: 0;
}

.ce-triagem-side {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.badge-calling {
    animation: badgePulse 1.5s ease-in-out infinite;
}

@keyframes badgePulse {

    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}

.ce-urgency-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 110px !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    white-space: normal !important;
    text-align: center !important;
    color: #FFFFFF !important;
}

.ce-urgency-emergency {
    background: var(--emergency) !important;
}

.ce-urgency-urgent {
    background: var(--urgent) !important;
}

.ce-urgency-moderate {
    background: var(--moderate) !important;
}

.ce-urgency-routine {
    background: var(--routine) !important;
}

/* =========================================================
   AJUSTES MOBILE / RESPONSIVO - RODADA 12/06
========================================================= */

/* LOGIN - impede campos de estourarem o card */
body.builder-template-login #login-wrapper,
body.builder-template-login #form_login {
    width: 100% !important;
    max-width: 340px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.builder-template-login #form_login .display-flex {
    width: 100% !important;
    max-width: 340px !important;
    justify-content: flex-start !important;
}

body.builder-template-login #form_login input {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body.builder-template-login #form_login .display-flex > div:not(.login-avatar) {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

body.builder-template-login .password-toggle,
body.builder-template-login .input-group-addon:last-child {
    flex: 0 0 46px !important;
}


/* GRIDS MOBILE - padrão com rolagem horizontal */
@media (max-width: 768px) {
    .table-responsive {
        overflow-x: auto !important;
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .table-responsive table {
        min-width: 720px !important;
    }

    /* exceções: Triagem e Enfermagem continuam em card */
    #AtendimentoTriagemList_datagrid,
    #AtendimentoEnfermagemHeaderList_datagrid {
        min-width: 100% !important;
    }

    #AtendimentoTriagemList_datagrid,
    #AtendimentoTriagemList_datagrid tbody,
    #AtendimentoTriagemList_datagrid tr,
    #AtendimentoTriagemList_datagrid td,
    #AtendimentoEnfermagemHeaderList_datagrid,
    #AtendimentoEnfermagemHeaderList_datagrid tbody,
    #AtendimentoEnfermagemHeaderList_datagrid tr,
    #AtendimentoEnfermagemHeaderList_datagrid td {
        width: 100% !important;
        max-width: 100% !important;
    }
}


/* TRIAGEM MOBILE */
@media (max-width: 768px) {
    .ce-triagem-card {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 14px !important;
        padding: 16px !important;
    }

    .ce-triagem-actions {
        width: 100% !important;
        order: 3 !important;
    }

    .ce-triagem-actions a {
        flex: 1 !important;
        justify-content: center !important;
    }

    .ce-triagem-info,
    .ce-triagem-side {
        width: 100% !important;
        align-items: flex-start !important;
    }

    .ce-triagem-paciente {
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
}

@media (max-width: 768px) {
    .mobile-toggle-menu {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        color: #1B6EC2;
        font-size: 20px;
        cursor: pointer;
        z-index: 10002;
    }

    .mobile-menu-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(15, 23, 42, .35);
        z-index: 9998;
    }

    .mobile-menu-content {
        position: fixed !important;
        top: 0;
        left: -280px;
        width: 260px !important;
        height: 100vh !important;
        background: #FFFFFF;
        z-index: 9999;
        padding-top: 80px;
        box-shadow: 8px 0 24px rgba(15,23,42,.18);
        transition: left .25s ease;
        overflow-y: auto;
    }

    body.mobile-menu-open .mobile-menu-overlay {
        display: block;
    }

    body.mobile-menu-open .mobile-menu-content {
        left: 0;
    }
}

/* =========================================================
   MENU MOBILE - n.Call
========================================================= */

@media (max-width: 768px) {
    .toggle-menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        color: #1B6EC2 !important;
        font-size: 20px !important;
        cursor: pointer !important;
        z-index: 10005 !important;
    }

    .master-menu-content {
        display: block !important;
        position: fixed !important;
        top: 700 !important;
        left: -270px !important;
        width: 252px !important;
        height: calc(100vh - 70px) !important;
        z-index: 10000 !important;
        background: #FFFFFF !important;
        box-shadow: 8px 0 24px rgba(15,23,42,.18) !important;
        transition: left .25s ease !important;
        overflow-y: auto !important;
    }

    body.sidebar-open .master-menu-content,
    body.menu-open .master-menu-content,
    body.menu-visible .master-menu-content,
    body.show-menu .master-menu-content {
        left: 0 !important;
    }

    .master-container {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

@media (max-width: 768px) {
    body.sidebar-open .master-menu-content {
        left: 0 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .menu-overlay{
        display:none;
        position:fixed;
        inset:0;
        background:rgba(0,0,0,.25);
        z-index:9999;
    }

    body.sidebar-open .menu-overlay{
        display:block;
    }
}

@media (max-width:768px) {
    body.sidebar-open .toggle-menu {
        position: fixed !important;
        top: 12px !important;
        left: 12px !important;
        z-index: 10050 !important;
        background: #FFFFFF !important;
        border: 1px solid #E5E7EB !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(15,23,42,.12) !important;
    }

    body.sidebar-open .toggle-menu i:before {
        content: "\f00d" !important; /* troca hambúrguer por X */
    }
}

@media (max-width:768px){

    .header-logo{
        z-index:10050 !important;
    }

    .toggle-menu{
        position:relative !important;
        z-index:10060 !important;
    }
}

@media (max-width:768px) {
    .header-logo {
        justify-content: flex-start !important;
        padding-left: 8px !important;
        gap: 8px !important;
    }

    .toggle-menu {
        flex: 0 0 36px !important;
        width: 36px !important;
        min-width: 36px !important;
        height: 36px !important;
        margin-left: 0 !important;
    }

    .company-logo {
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 auto !important;
        justify-content: flex-start !important;
    }
}

.ncall-grid-body {
    padding: 0 !important;
}

.ncall-grid-body .datagrid-header-actions {
    padding: 12px 16px !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--border) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.ncall-grid-body table {
    width: 100% !important;
    margin-bottom: 0 !important;
    border-collapse: collapse !important;
}

.ncall-grid-body table thead th {
    background: #F1F5F9 !important;
    color: #334E78 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    padding: 11px 16px !important;
    border-bottom: 1px solid var(--border) !important;
}

.ncall-grid-body table tbody td {
    padding: 11px 16px !important;
    color: #7183A6 !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    border-top: 1px solid var(--border) !important;
    vertical-align: middle !important;
}

.ncall-escala-panel {
    border-radius: 0 0 10px 10px !important;
    border-top: 0 !important;
}

.ncall-escala-panel > .panel-heading {
    display: none !important;
}

/* ESCALAS - ações compactas */
#EscalaHeaderList_datagrid tbody td:nth-child(1),
#EscalaHeaderList_datagrid tbody td:nth-child(2),
#EscalaHeaderList_datagrid thead th:nth-child(1),
#EscalaHeaderList_datagrid thead th:nth-child(2) {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    text-align: center !important;
}

#EscalaHeaderList_datagrid tbody td:nth-child(1) a,
#EscalaHeaderList_datagrid tbody td:nth-child(2) a {
    margin: 0 !important;
    padding: 0 !important;
}

.ncall-ai-button {
    color: var(--primary) !important;
}

.ncall-ai-button:hover {
    background: var(--primary-light) !important;
    color: var(--primary-dark) !important;
}

.ncall-ai-panel {
    position: fixed;
    top: 76px;
    right: -420px;
    width: 400px;
    height: calc(100vh - 76px);
    background: var(--surface);
    border-left: 1px solid var(--border);
    box-shadow: var(--shadow-lg);
    z-index: 999;
    display: flex;
    flex-direction: column;
    transition: right .25s ease;
}

.ncall-ai-panel.open {
    right: 0;
}

.ncall-ai-header {
    padding: 16px;
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ncall-ai-header strong {
    display: block;
    font-size: 16px;
    color: var(--text-primary);
}

.ncall-ai-header span {
    display: block;
    font-size: 12px;
    color: var(--text-secondary);
    margin-top: 2px;
}

.ncall-ai-header button {
    border: none;
    background: transparent;
    font-size: 26px;
    line-height: 1;
    color: var(--text-secondary);
    cursor: pointer;
}

.ncall-ai-body {
    flex: 1;
    padding: 16px;
    overflow-y: auto;
    background: var(--background);
}

.ncall-ai-message {
    padding: 12px 14px;
    border-radius: var(--radius-md);
    font-size: 13px;
    line-height: 1.4;
    margin-bottom: 12px;
}

.ncall-ai-message.ai {
    background: var(--surface);
    border: 1px solid var(--border);
    color: var(--text-primary);
}

.ncall-ai-footer {
    padding: 12px;
    border-top: 1px solid var(--border);
    display: flex;
    gap: 8px;
    background: var(--surface);
}

.ncall-ai-footer input {
    flex: 1;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 10px 12px;
    font-size: 13px;
    background: #F8FAFC;
}

.ncall-ai-footer button {
    width: 40px;
    border: none;
    border-radius: var(--radius-sm);
    background: var(--primary);
    color: #fff;
    opacity: .5;
}

@media (max-width: 768px) {
    .ncall-ai-panel {
        top: 64px;
        right: -100%;
        width: 100%;
        height: calc(100vh - 64px);
    }

    .ncall-ai-panel.open {
        right: 0;
    }
}

.ncall-ai-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-radius: var(--radius-sm);
    background: #25D366;
    color: #fff !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
}

.ncall-ai-suggestions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ncall-ai-suggestions button {
    width: 100%;
    text-align: left;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 12px 14px;
    cursor: pointer;
    transition: all .15s;
}

.ncall-ai-suggestions button:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.ncall-ai-suggestions strong {
    display: block;
    color: var(--text-primary);
    font-size: 14px;
    margin-bottom: 4px;
}

.ncall-ai-suggestions span {
    display: block;
    color: var(--text-secondary);
    font-size: 12px;
}

.ncall-ai-footer.disabled {
    opacity: .6;
}

/* =========================================================
   ASSISTENTE IA - PRIORIDADE 1
   Histórico, sugestões rápidas, digitação e scroll automático
========================================================= */

.ncall-ai-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ncall-ai-message {
    width: fit-content;
    max-width: 82%;
    margin-bottom: 0;
    word-break: break-word;
}

.ncall-ai-message.user {
    align-self: flex-end;
    background: var(--primary) !important;
    color: #fff !important;
    border: 1px solid var(--primary) !important;
    border-radius: 14px 14px 4px 14px;
    margin-left: auto !important;
    margin-right: 0 !important;
    text-align: left;
}

.ncall-ai-message.ai {
    align-self: flex-start;
    background: var(--surface) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-primary) !important;
    border-radius: 14px 14px 14px 4px;
    margin-left: 0 !important;
    margin-right: auto !important;
}

.ncall-ai-message.error {
    background: var(--emergency-bg) !important;
    color: var(--emergency) !important;
    border-color: var(--emergency) !important;
}

.ncall-ai-message.typing {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--text-secondary) !important;
    font-style: italic;
}

.ncall-ai-message.typing span {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: var(--primary);
    opacity: .35;
    animation: ncall-ai-typing 1.2s infinite ease-in-out;
}

.ncall-ai-message.typing span:nth-child(2) {
    animation-delay: .15s;
}

.ncall-ai-message.typing span:nth-child(3) {
    animation-delay: .3s;
}

@keyframes ncall-ai-typing {
    0%, 80%, 100% {
        transform: translateY(0);
        opacity: .35;
    }
    40% {
        transform: translateY(-3px);
        opacity: 1;
    }
}

.ncall-ai-footer input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(27,110,194,.12);
    background: var(--surface);
}

.ncall-ai-footer button:not(:disabled) {
    opacity: 1;
    cursor: pointer;
}

.ncall-ai-footer button:disabled {
    cursor: not-allowed;
}

.ncall-ai-suggestions {
    width: 100%;
    align-self: stretch;
}

.ncall-ai-suggestions button strong,
.ncall-ai-suggestions button span {
    pointer-events: none;
}

@media (max-width: 768px) {
    .ncall-ai-message {
        max-width: 88%;
    }
}

/* Correção checkbox/radio - n.Call */
input[type="checkbox"],
input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    margin-right: 6px !important;
    accent-color: var(--primary, #1B6EC2) !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    cursor: pointer;
}

input[type="checkbox"]::before,
input[type="radio"]::before {
    content: none !important;
}

.password-wrapper {
    position: relative;
    overflow: hidden;
}

.password-wrapper input {
    padding-right: 42px !important;
}

.password-wrapper .toggle-password {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

/* Edge antigo */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}

/* Chrome / Safari */
input::-webkit-credentials-auto-fill-button {
    visibility: hidden;
    display: none !important;
    pointer-events: none;
}

/* Alguns browsers Chromium */
input[type="password"]::-webkit-textfield-decoration-container {
    display: none;
}

/* =========================================================
   LOGIN - CORREÇÃO CAMPO SENHA
========================================================= */

body.builder-template-login .input-group {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 340px !important;
}

body.builder-template-login .input-group .form-control,
body.builder-template-login .input-group input[type="password"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

body.builder-template-login .input-group-addon:last-child,
body.builder-template-login .password-toggle {
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;

    margin-left: -1px !important;

    border-radius: 0 12px 12px 0 !important;
}

body.builder-template-login .input-group-addon:first-child {
    flex: 0 0 46px !important;
}

/* =========================================================
   LOGIN - TPassword Builder
========================================================= */

body.builder-template-login .tpassword {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
}

body.builder-template-login .tpassword input {
    width: 100% !important;
    padding-right: 46px !important;
}

body.builder-template-login .tpassword button {
    position: absolute !important;

    top: 0 !important;
    right: 0 !important;

    width: 46px !important;
    height: 46px !important;

    border: 0 !important;
    border-left: 1px solid #CFE0F5 !important;

    border-radius: 0 12px 12px 0 !important;

    background: #E8F1FB !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    z-index: 10 !important;
}

/* LOGIN - REDEFINIR SENHA */

body.builder-template-login .login-content > div:last-child {
    text-align: center !important;
    margin-top: 14px !important;
}

body.builder-template-login .login-content > div:last-child a {
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--primary) !important;
    text-decoration: none !important;
    display: inline-block !important;
}

body.builder-template-login .login-content > div:last-child a:hover {
    text-decoration: underline !important;
}

body.builder-template-login .login-content > div:last-child a i {
    display: none !important;
}

.ncall-reset-password-container {
    text-align: center;
    margin-top: 14px;
}

.ncall-reset-password {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: var(--primary);
    text-decoration: none;
}

.ncall-reset-password:hover {
    text-decoration: underline;
}

/* Sidebar - evita estouro de texto */
.master-menu-content a,
.container-submenu a {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.master-menu-content a span,
.container-submenu a span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}

.ncall-page-switch {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid var(--primary) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--primary) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.ncall-page-switch:hover {
    background: var(--primary-light) !important;
    color: var(--primary-dark) !important;
}

.ncall-turno {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
}

.ncall-turno-icone {
    font-size: 15px !important;
    line-height: 1 !important;
}

.ncall-turno-dia .ncall-turno-icone {
    color: var(--urgent) !important;
}

.ncall-turno-noite .ncall-turno-icone {
    color: var(--moderate) !important;
}

.ncall-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
}

.ncall-status-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    display: inline-block !important;
}

.ncall-status-ativa {
    background: var(--routine-bg) !important;
    color: var(--routine) !important;
}

.ncall-status-ativa .ncall-status-dot {
    background: var(--routine) !important;
}

.ncall-status-inativa {
    background: #F3F4F6 !important;
    color: #6B7280 !important;
}

.ncall-status-inativa .ncall-status-dot {
    background: #9CA3AF !important;
}

.ncall-escala-panel .panel-body {
    padding: 0 !important;
}

.ncall-escala-panel table td,
.ncall-escala-panel table th {
    vertical-align: middle !important;
}

.ncall-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.ncall-status-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    display: inline-block !important;
}

.ncall-status-ativa {
    background: #ECFDF5 !important;
    color: #10B981 !important;
}

.ncall-status-ativa .ncall-status-dot {
    background: #10B981 !important;
}

#EscalaHeaderList_datagrid #datagrid-header-filter-row input,
#EscalaHeaderList_datagrid #datagrid-header-filter-row select,
#EscalaHeaderList_datagrid #datagrid-header-filter-row .form-control,
#EscalaHeaderList_datagrid #datagrid-header-filter-row .select2-selection {
    min-height: 32px !important;
    height: 32px !important;
    padding: 4px 10px !important;
    font-size: 12px !important;
}

#EscalaHeaderList_datagrid #datagrid-header-filter-row td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.ncall-page-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.ncall-page-actions {
    display: flex;
    gap: 6px;
}

.ncall-agenda-title {
    font-size: 18px;
    font-weight: 700;
    color: var(--text-primary);
    padding: 0 10px;
}

.ncall-agenda-box {
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
}

.ncall-agenda-table {
    width: 100%;
    border-collapse: collapse;
}

.ncall-agenda-table th {
    background: #F1F5F9;
    color: #334E78;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    padding: 10px;
    border-bottom: 1px solid var(--border);
}

.ncall-agenda-table td {
    width: 14.28%;
    height: 130px;
    vertical-align: top;
    border: 1px solid var(--border);
    padding: 8px;
    background: #fff;
}

.ncall-agenda-day-number {
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.ncall-agenda-event {
    border-radius: 8px;
    padding: 6px 8px;
    margin-bottom: 6px;
    font-size: 12px;
    line-height: 1.3;
}

.ncall-agenda-event strong,
.ncall-agenda-event span,
.ncall-agenda-event small {
    display: block;
}

.ncall-agenda-event.dia {
    background: var(--urgent-bg);
    color: #B45309;
}

.ncall-agenda-event.noite {
    background: var(--moderate-bg);
    color: #2563EB;
}

.ncall-agenda-empty {
    font-size: 11px;
    color: #94A3B8;
    background: #F8FAFC;
    border-radius: 8px;
    padding: 6px 8px;
}

.escala-agenda-page {
    font-family: var(--font-family, 'Inter', sans-serif);
    color: var(--text-primary);
}

.escala-agenda-header,
.escala-agenda-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.escala-agenda-header-actions,
.escala-agenda-toolbar-left,
.escala-agenda-toolbar-right {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.escala-agenda-grid {
    display: grid;
    width: 100%;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.escala-agenda-month-grid {
    grid-template-columns: repeat(7, 1fr);
}

.escala-agenda-week-grid {
    grid-template-columns: repeat(7, 1fr);
}

.escala-agenda-weekday {
    padding: 10px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    color: var(--primary);
    background: var(--background);
    border-bottom: 1px solid var(--border);
}

.escala-agenda-cell {
    min-height: 104px;
    padding: 8px;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.escala-agenda-cell.today {
    background: var(--primary-light);
}

.escala-agenda-day-number {
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.escala-card {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px;
    margin-top: 6px;
    border-radius: var(--radius-sm);
    background: var(--surface);
    border: 1px solid var(--border);
    cursor: pointer;
    color: var(--text-primary);
}

.escala-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.escala-card-main {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
}

.escala-card-main strong {
    color: var(--primary);
}

.escala-card-main span,
.escala-card-main small {
    color: var(--text-primary);
}

.escala-card-actions {
    display: flex;
    gap: 4px;
}

.escala-card-actions .icon-btn {
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: 12px !important;
}

.escala-agenda-filter {
    width: 170px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
    line-height: 34px !important;
    color: var(--text-primary) !important;
    background: var(--surface) !important;
    border: 1px solid var(--primary) !important;
    border-radius: var(--radius-sm) !important;
    box-sizing: border-box !important;
}

.escala-agenda-unidade-filter {
    width: 220px !important;
}

.agenda-card.sem-profissional {
    border-left-color:#DC2626 !important;
    background:#FEF2F2 !important;
}

.agenda-card.sem-profissional .agenda-card-top strong {
    color:#991B1B !important;
}