/**
 * modern.css - Eliane Matos | Gestao Terapeutica
 * UI/UX Redesign completo - SaaS Healthcare - v20260314e
 * Carregado APOS layout.css; usa !important para sobrescrever tudo.
 */

/* ══════════════════════════════════════════
   0. GOOGLE FONTS + VARIAVEIS
══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
  --c-primary:      #1565C0;
  --c-primary-h:    #0D47A1;
  --c-accent:       #00ACC1;
  --c-accent-light: #E0F7FA;
  --c-success:      #2E7D32;
  --c-warning:      #F57C00;
  --c-danger:       #C62828;
  --c-danger-bg:    #FFEBEE;
  --c-bg:           #F0F2F5;
  --c-white:        #FFFFFF;
  --c-border:       #DDE3ED;
  --c-gray-50:      #F8FAFC;
  --c-gray-100:     #EEF2F7;
  --c-gray-200:     #E2E8F0;
  --c-gray-500:     #64748B;
  --c-gray-700:     #334155;
  --c-gray-900:     #0F172A;
  --c-text:         #1E293B;
  --c-text-muted:   #64748B;
  --c-link:         #1565C0;
  --shadow-xs:  0 1px 2px rgba(15,23,42,.06);
  --shadow-sm:  0 1px 4px rgba(15,23,42,.08), 0 2px 8px rgba(15,23,42,.04);
  --shadow-md:  0 4px 16px rgba(15,23,42,.10), 0 2px 6px rgba(15,23,42,.06);
  --shadow-lg:  0 8px 32px rgba(15,23,42,.12), 0 4px 12px rgba(15,23,42,.08);
  --r-sm:  6px;
  --r-md:  10px;
  --r-lg:  14px;
  --r-xl:  20px;
  --h-topbar:  60px;
  --h-infobar: 34px;
  --h-navbar:  52px;
}

/* ══════════════════════════════════════════
   1. RESET GLOBAL
══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box !important; }

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--c-text) !important;
  background: var(--c-bg) !important;
  min-width: 960px !important;
  margin: 0 !important;
  padding: 0 !important;
  -webkit-font-smoothing: antialiased !important;
}

a, a:visited {
  color: var(--c-link) !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
a:hover { text-decoration: none !important; color: var(--c-primary-h) !important; }
img { border: 0 !important; max-width: 100% !important; }

/* ══════════════════════════════════════════
   2. TOPBAR (#bar) - GRADIENTE HERO
══════════════════════════════════════════ */
#bar {
  background: linear-gradient(135deg, #0D47A1 0%, #1565C0 55%, #00ACC1 100%) !important;
  height: var(--h-topbar) !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 28px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 2px 12px rgba(13,71,161,.35) !important;
}

.bar-logo {
  height: 38px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: brightness(0) invert(1) !important;
  opacity: .92 !important;
}

#bar h1 { display: none !important; }

#bar ul {
  margin-left: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  float: none !important;
}
#bar ul li {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
}
#bar ul li a, #bar ul li a:visited {
  color: rgba(255,255,255,.88) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  padding: 5px 13px !important;
  border-radius: 20px !important;
  transition: background .15s, color .15s !important;
  background: transparent !important;
  text-decoration: none !important;
}
#bar ul li a:hover {
  background: rgba(255,255,255,.18) !important;
  color: #fff !important;
}

/* ══════════════════════════════════════════
   3. INFOBAR (#menu_log)
══════════════════════════════════════════ */
#menu_log {
  background: rgba(21,101,192,.92) !important;
  height: var(--h-infobar) !important;
  padding: 0 28px !important;
  display: flex !important;
  align-items: center !important;
  float: none !important;
  position: static !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
#menu_log ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#menu_log ul li { display: inline !important; }
#menu_log ul li#logged {
  font-size: 12px !important;
  color: rgba(255,255,255,.85) !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
#menu_log ul li#logged b { color: #fff !important; font-weight: 600 !important; }
#menu_log ul li#logged a, #menu_log ul li#logged a:visited {
  color: rgba(255,255,255,.85) !important;
  font-size: 11.5px !important;
  text-decoration: underline !important;
  font-weight: 400 !important;
}

/* ══════════════════════════════════════════
   4. LOGOTYPE - CARD DE ORGANIZACAO
══════════════════════════════════════════ */
#logotype {
  background: var(--c-white) !important;
  border-bottom: 1px solid var(--c-border) !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 12px 28px !important;
  box-shadow: var(--shadow-xs) !important;
  float: none !important;
  width: auto !important;
  overflow: visible !important;
  margin: 0 !important;
  min-height: 0 !important;
}
#logotype img {
  width: 52px !important;
  height: 52px !important;
  border-radius: var(--r-md) !important;
  object-fit: contain !important;
  border: 2px solid var(--c-border) !important;
  background: var(--c-gray-50) !important;
  padding: 4px !important;
}
#logotype span {
  font-size: 13px !important;
  color: var(--c-text-muted) !important;
  line-height: 1.55 !important;
}
#logotype span b {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--c-primary) !important;
  display: block !important;
  margin-bottom: 1px !important;
}

/* ══════════════════════════════════════════
   5. NAVBAR PRINCIPAL (#menus)
══════════════════════════════════════════ */
#menus {
  background: var(--c-white) !important;
  border-bottom: 1px solid var(--c-border) !important;
  box-shadow: var(--shadow-xs) !important;
  position: sticky !important;
  top: calc(var(--h-topbar) + var(--h-infobar)) !important;
  z-index: 900 !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
}

#main_menu {
  padding: 0 20px !important;
  margin: 0 !important;
  height: auto !important;
  min-width: 0 !important;
  position: static !important;
}

/* Apenas o ul de primeiro nivel usa flex — submenus/dropdowns NÃO */
#main_menu > ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  height: auto !important;
}
/* Resets para uls internos (garantir que nao herdem flex indesejado) */
#main_menu ul ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: none;        /* sem !important: jQuery .show()/.hide() controla */
  height: auto !important;
}

#main_menu a, #main_menu > ul > li > a {
  display: flex !important;
  align-items: center !important;
  float: none !important;
  height: var(--h-navbar) !important;
  padding: 0 18px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--c-gray-700) !important;
  text-decoration: none !important;
  border-bottom: 3px solid transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  background-color: transparent !important;
  transition: color .15s, border-color .15s, background-color .15s !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  margin: 0 !important;
  cursor: pointer !important;
}
#main_menu a:hover, #main_menu > ul > li > a:hover, #main_menu a.hover {
  color: var(--c-primary) !important;
  background-color: rgba(21,101,192,.05) !important;
  background-image: none !important;
  border-bottom-color: rgba(21,101,192,.3) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  padding: 0 18px !important;
  height: var(--h-navbar) !important;
}
#main_menu a.active, #main_menu a.active:hover {
  color: var(--c-primary) !important;
  font-weight: 600 !important;
  background-color: rgba(21,101,192,.07) !important;
  background-image: none !important;
  border-bottom: 3px solid var(--c-primary) !important;
  border-top: none !important;
  padding: 0 18px !important;
  height: var(--h-navbar) !important;
}

.border_menu_active { display: none !important; height: 0 !important; }

/* Dropdown myoffice — display controlado pelo jQuery (.show/.hide), sem !important */
#main_menu ul.myoffice {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  background: var(--c-white) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-lg) !important;
  min-width: 220px !important;
  z-index: 1100 !important;
  padding: 6px 0 !important;
}
#main_menu ul.myoffice li { display: block !important; }
#main_menu ul.myoffice li a, #main_menu ul.myoffice li a:hover {
  height: auto !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  color: var(--c-text) !important;
  border-bottom: none !important;
  font-weight: 400 !important;
  display: block !important;
  background-image: none !important;
  border-radius: 0 !important;
}
#main_menu ul.myoffice li a:hover {
  background-color: rgba(21,101,192,.07) !important;
  color: var(--c-primary) !important;
}

/* Sub-menu */
#sub_menu {
  background: var(--c-gray-50) !important;
  border-top: 1px solid var(--c-border) !important;
  padding: 6px 24px !important;
  min-height: 38px !important;
  display: flex !important;
  align-items: center !important;
}
#sub_menu ul {
  list-style: none !important;
  display: flex !important;
  gap: 4px !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
}
#sub_menu ul li { display: inline !important; }
#sub_menu ul li a, #sub_menu ul li a:visited {
  font-size: 12.5px !important;
  color: var(--c-text-muted) !important;
  padding: 4px 12px !important;
  border-radius: 20px !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  float: none !important;
  background-image: none !important;
  border: none !important;
  font-weight: 400 !important;
  transition: background .12s, color .12s !important;
}
#sub_menu ul li a:hover, #sub_menu ul li a.active {
  background: rgba(21,101,192,.1) !important;
  color: var(--c-primary) !important;
  font-weight: 500 !important;
}

/* ══════════════════════════════════════════
   6. AREA DE CONTEUDO
══════════════════════════════════════════ */
#content {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 32px 32px 64px !important;
  float: none !important;
  width: auto !important;
  clear: both !important;
}
#core { width: 100% !important; float: none !important; }

#content h1 {
  font-size: 24px !important;
  font-weight: 800 !important;
  color: var(--c-primary-h) !important;
  border-bottom: 2px solid var(--c-primary) !important;
  padding: 0 0 12px !important;
  margin: 0 0 24px !important;
  letter-spacing: -.2px !important;
  background: none !important;
}
#content h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--c-gray-900) !important;
  border-bottom: 1px solid var(--c-border) !important;
  padding: 0 0 10px !important;
  margin: 0 0 20px !important;
  background: none !important;
  background-image: none !important;
  padding-left: 0 !important;
}
#content h3 {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--c-gray-700) !important;
  margin: 16px 0 8px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}

/* Sidebar */
.sidebar {
  background: var(--c-white) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-sm) !important;
  padding: 16px !important;
  float: right !important;
  width: 220px !important;
  margin: 0 0 20px 24px !important;
}
.sidebar h2 {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--c-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  padding: 0 0 8px !important;
  margin: 0 0 8px !important;
  border-bottom: 1px solid var(--c-border) !important;
  background: none !important;
  background-image: none !important;
}
.sidebar ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.sidebar ul li { border-bottom: 1px solid var(--c-gray-100) !important; margin: 0 !important; }
.sidebar ul li:last-child { border-bottom: none !important; }
.sidebar ul li a {
  display: block !important;
  padding: 8px 4px !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--c-text) !important;
  background: transparent !important;
  background-image: none !important;
  transition: color .12s !important;
}
.sidebar ul li a:hover { color: var(--c-primary) !important; background: transparent !important; }

/* ══════════════════════════════════════════
   7. FORMULARIOS
══════════════════════════════════════════ */
input[type=text], input[type=email], input[type=password],
input[type=tel], input[type=number], input[type=date],
input[type=time], input[type=search], select, textarea {
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  color: var(--c-text) !important;
  background: var(--c-white) !important;
  border: 1.5px solid var(--c-border) !important;
  border-radius: var(--r-sm) !important;
  padding: 8px 12px !important;
  line-height: 1.5 !important;
  outline: none !important;
  transition: border-color .15s, box-shadow .15s !important;
  width: 100% !important;
}
input[type=text]:focus, input[type=email]:focus, input[type=password]:focus,
input[type=tel]:focus, input[type=number]:focus, input[type=date]:focus,
input[type=time]:focus, input[type=search]:focus, select:focus, textarea:focus {
  border-color: var(--c-primary) !important;
  box-shadow: 0 0 0 3px rgba(21,101,192,.14) !important;
}
input[type=checkbox], input[type=radio] {
  width: auto !important;
  margin-right: 6px !important;
  accent-color: var(--c-primary) !important;
}
label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--c-text-muted) !important;
  margin-bottom: 5px !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  float: none !important;
}
label.inline { display: inline !important; text-transform: none !important; font-weight: 400 !important; }

fieldset, form fieldset {
  background: var(--c-white) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--r-lg) !important;
  padding: 20px 24px 16px !important;
  margin: 0 0 20px !important;
  box-shadow: var(--shadow-xs) !important;
}
fieldset legend {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--c-primary) !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: 0 10px !important;
  margin: 0 !important;
  background: none !important;
}

/* ══════════════════════════════════════════
   8. BOTOES
══════════════════════════════════════════ */
input[type=submit], input[type=button], button,
a.button, .btn, .save_button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  padding: 9px 22px !important;
  border-radius: var(--r-sm) !important;
  border: none !important;
  background: var(--c-primary) !important;
  color: #fff !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background .15s, box-shadow .15s, transform .1s !important;
  letter-spacing: .02em !important;
  box-shadow: 0 2px 6px rgba(21,101,192,.25) !important;
}
input[type=submit]:hover, input[type=button]:hover, button:hover, a.button:hover, .btn:hover {
  background: var(--c-primary-h) !important;
  box-shadow: 0 4px 14px rgba(21,101,192,.35) !important;
  transform: translateY(-1px) !important;
}
input[type=submit]:active, button:active { transform: translateY(0) !important; }

a.delete_link, a.del, .btn-danger, input.delete_button {
  background: var(--c-danger) !important;
  box-shadow: 0 2px 6px rgba(198,40,40,.2) !important;
}
a.delete_link:hover, a.del:hover {
  background: #b71c1c !important;
  box-shadow: 0 4px 14px rgba(198,40,40,.3) !important;
}
a.cancel_link, a.back, .btn-secondary {
  background: var(--c-gray-200) !important;
  color: var(--c-gray-700) !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════════
   9. TABELAS
══════════════════════════════════════════ */
table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 13.5px !important;
  background: var(--c-white) !important;
  border-radius: var(--r-lg) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
  margin-bottom: 20px !important;
}
thead th {
  background: linear-gradient(135deg, var(--c-primary-h), var(--c-primary)) !important;
  color: #fff !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .07em !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border: none !important;
  white-space: nowrap !important;
}
tbody tr { transition: background .1s !important; }
tbody tr:nth-child(even), .zebra_0 { background: var(--c-gray-50) !important; }
tbody tr:nth-child(odd), .zebra_1  { background: var(--c-white) !important; }
tbody tr:hover { background: rgba(21,101,192,.06) !important; }
td, th {
  padding: 11px 16px !important;
  vertical-align: middle !important;
  border-bottom: 1px solid var(--c-border) !important;
  border-top: none !important;
  color: var(--c-text) !important;
  font-size: 13.5px !important;
}
tbody tr:last-child td { border-bottom: none !important; }
#search_results { width: 100% !important; }
#search_results td { font-size: 13px !important; border-top: none !important; padding: 11px 16px !important; }
#search_results tr:hover { background: rgba(21,101,192,.06) !important; }

/* ══════════════════════════════════════════
   10. MENSAGENS
══════════════════════════════════════════ */
ul.messagelist, .messagelist { list-style: none !important; padding: 0 !important; margin: 0 0 16px !important; }
.successlist li, .success, .success-msg {
  background: #E8F5E9 !important; border-left: 4px solid var(--c-success) !important;
  color: #1B5E20 !important; padding: 12px 16px !important;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  margin-bottom: 8px !important; font-size: 13.5px !important; list-style: none !important;
}
.errorlist, .errorlist li, .error {
  background: var(--c-danger-bg) !important; border-left: 4px solid var(--c-danger) !important;
  color: #7F1D1D !important; padding: 12px 16px !important;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  margin-bottom: 8px !important; font-size: 13.5px !important; list-style: none !important;
}
.info, .info-msg, .message {
  background: #E3F2FD !important; border-left: 4px solid var(--c-accent) !important;
  color: #0C3347 !important; padding: 12px 16px !important;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  margin-bottom: 12px !important; font-size: 13.5px !important;
}
.warninglist li {
  background: #FFF8E1 !important; border-left: 4px solid var(--c-warning) !important;
  color: #4E2400 !important; padding: 12px 16px !important;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  margin-bottom: 8px !important; font-size: 13.5px !important; list-style: none !important;
}
#content .empty { color: var(--c-gray-500) !important; font-style: italic !important; font-size: 13px !important; }

/* ══════════════════════════════════════════
   11. CARDS / PAINEIS
══════════════════════════════════════════ */
#indicator_description {
  background: var(--c-white) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-lg) !important; padding: 20px 24px !important;
  margin-bottom: 20px !important; box-shadow: var(--shadow-sm) !important;
  width: auto !important; height: auto !important;
  margin-left: 0 !important; margin-right: 0 !important;
}
#indicator_description h3 {
  font-size: 15px !important; font-weight: 700 !important; color: var(--c-primary-h) !important;
  border: none !important; padding: 0 0 6px !important; margin: 0 0 6px !important; background: none !important;
}
#content #indicator_description p {
  font-size: 13px !important; color: var(--c-text-muted) !important;
  padding: 0 !important; margin: 0 !important; border: none !important;
}

/* ══════════════════════════════════════════
   12. BUSCA
══════════════════════════════════════════ */
#search_header { height: auto !important; width: 100% !important; margin-bottom: 20px !important; }
.search_header_aditional { padding-left: 0 !important; margin-bottom: 16px !important; }
.contact #search_header input {
  float: left !important; width: 240px !important; margin-top: 0 !important;
}
#letter_menu { padding-top: 8px !important; font-size: 13px !important; }
#letter_menu td a, #letter_menu td a:visited { font-weight: 600 !important; color: var(--c-gray-500) !important; }
#letter_menu td a:hover { color: var(--c-primary) !important; }
#letter_menu td a.active { color: var(--c-primary-h) !important; }

/* ══════════════════════════════════════════
   13. OVERFLOW / LISTAS SCROLLAVEIS
══════════════════════════════════════════ */
.overflow {
  clear: both !important; width: 100% !important; max-width: 100% !important;
  margin: 0 0 16px !important; height: auto !important; max-height: 220px !important;
  overflow-y: auto !important; background: var(--c-white) !important;
  border: 1.5px solid var(--c-border) !important; border-radius: var(--r-sm) !important;
  box-shadow: var(--shadow-xs) !important;
}
.overflow table { width: 100% !important; font-size: 12.5px !important; box-shadow: none !important; border-radius: 0 !important; margin-bottom: 0 !important; }
.overflow table td { padding: 8px 12px !important; border-bottom: 1px solid var(--c-gray-100) !important; }

/* ══════════════════════════════════════════
   14. FLOAT MENU / DROPDOWNS
══════════════════════════════════════════ */
.float_menu {
  background: var(--c-white) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; box-shadow: var(--shadow-lg) !important;
  padding: 6px 0 !important; font-size: 13px !important; position: absolute !important;
  min-width: 200px !important; z-index: 1200 !important;
}
.float_menu li { list-style: none !important; }
.float_menu li a { display: block !important; padding: 9px 16px !important; color: var(--c-text) !important; background: transparent !important; font-weight: 400 !important; transition: background .1s !important; }
.float_menu li a:hover { background: rgba(21,101,192,.06) !important; color: var(--c-primary) !important; }

/* ══════════════════════════════════════════
   15. LOADING / OVERLAY
══════════════════════════════════════════ */
#loading {
  background-color: rgba(255,255,255,.95) !important;
  background-image: url(/media/img/ajax-loader-bigger.gif) !important;
  background-repeat: no-repeat !important; background-position: center center !important;
  background-size: 40px 40px !important; border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-lg) !important; width: 80px !important; height: 80px !important;
  padding: 0 !important; z-index: 2000 !important;
  position: fixed !important; left: 50% !important; top: 50% !important;
  transform: translate(-50%, -50%) !important;
}
#over { background-color: rgba(15,23,42,.55) !important; opacity: 1 !important; filter: none !important; }
#disable_menu { background: transparent !important; }

/* ══════════════════════════════════════════
   16. LOGIN
══════════════════════════════════════════ */
#login, .login_form, #register {
  max-width: 440px !important; margin: 64px auto !important;
  background: var(--c-white) !important; padding: 44px 48px !important;
  border-radius: var(--r-xl) !important; box-shadow: var(--shadow-lg) !important;
  border: 1px solid var(--c-border) !important;
}
#login h1, .login_form h1 {
  font-size: 22px !important; font-weight: 800 !important; color: var(--c-primary-h) !important;
  margin: 0 0 28px !important; text-align: center !important; letter-spacing: -.3px !important;
}

/* ══════════════════════════════════════════
   17. RODAPE
══════════════════════════════════════════ */
#footer {
  background: var(--c-primary-h) !important; color: rgba(255,255,255,.6) !important;
  font-size: 12px !important; text-align: center !important;
  padding: 18px 24px !important; margin-top: 48px !important;
  letter-spacing: .03em !important; border: none !important; clear: both !important;
}
#footer a { color: rgba(255,255,255,.75) !important; }

/* ══════════════════════════════════════════
   18. OUTROS ELEMENTOS
══════════════════════════════════════════ */
hr {
  border: none !important; border-top: 1px solid var(--c-border) !important;
  margin: 20px 0 !important; height: 1px !important;
}

.ac_results {
  background: var(--c-white) !important; border: 1px solid var(--c-border) !important;
  border-radius: var(--r-md) !important; box-shadow: var(--shadow-lg) !important; font-size: 13.5px !important;
}
.ac_results li { padding: 9px 14px !important; border-bottom: 1px solid var(--c-gray-100) !important; }
.ac_results li:last-child { border-bottom: none !important; }
.ac_odd  { background: var(--c-gray-50) !important; }
.ac_over { background: rgba(21,101,192,.1) !important; color: var(--c-primary) !important; }

.ui-widget { font-family: 'Inter', sans-serif !important; font-size: 13.5px !important; }
.ui-datepicker { border: 1px solid var(--c-border) !important; border-radius: var(--r-md) !important; box-shadow: var(--shadow-lg) !important; }
.ui-datepicker-header { background: linear-gradient(135deg, var(--c-primary-h), var(--c-primary)) !important; color: #fff !important; border: none !important; }
.ui-datepicker td a.ui-state-active, .ui-datepicker td a.ui-state-highlight { background: var(--c-primary) !important; color: #fff !important; border-radius: 4px !important; border: none !important; }

.capital_letter { font-family: Georgia, serif !important; font-size: 48px !important; color: var(--c-gray-200) !important; float: left !important; margin-right: 8px !important; }
.btn_right { text-align: right !important; padding-right: 16px !important; padding-bottom: 10px !important; }

/* Scrollbar webkit */
::-webkit-scrollbar { width: 7px; height: 7px; }
::-webkit-scrollbar-track { background: var(--c-gray-50); }
::-webkit-scrollbar-thumb { background: var(--c-gray-200); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--c-gray-500); }

@media (max-width: 1200px) {
  #content { padding: 24px 20px 48px !important; }
  #main_menu a, #main_menu > ul > li > a { padding: 0 12px !important; font-size: 13px !important; }
}