/* ============================================================
   Intranet Martins de Quadros Advogados Associados
   CSS principal — premium, minimalista, responsivo
   ============================================================ */

:root {
  --color-primary:  #C8102E;   /* Vermelho */
  --color-primary-dark: #9E0C24;
  --color-accent:   #D4A24C;   /* Dourado */
  --color-accent-dark: #B0863A;
  --color-menu:     #1F2328;   /* Grafite */
  --color-menu-2:   #2A2F36;
  --color-bg:       #F5F6F8;   /* Cinza claro */
  --color-card:     #FFFFFF;
  --color-text:     #1F2328;
  --color-text-muted: #6B7280;
  --color-border:   #E5E7EB;
  --color-success:  #16A34A;
  --color-danger:   #DC2626;
  --color-info:     #2563EB;
  --color-info-dark: #1D4ED8;
  --color-surface-2:     #FAFAFB;
  --color-surface-hover: #FBFBFC;

  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-md: 0 6px 18px rgba(15, 23, 42, 0.06);
  --shadow-lg: 0 18px 40px rgba(15, 23, 42, 0.10);

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;

  --sidebar-w: 268px;
  --sidebar-w-collapsed: 78px;

  --font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ===== MODO ESCURO ===== */
:root[data-theme="escuro"] {
  --color-bg:       #0B0B0D;
  --color-card:     #151517;
  --color-text:     #FFFFFF;
  --color-text-muted: #B3B3B3;
  --color-border:   #2A2A2A;
  --color-menu:     #000000;
  --color-menu-2:   #000000;
  --color-surface-2:     #1C1C1F;
  --color-surface-hover: #202023;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 6px 18px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.55);
}

:root[data-theme="escuro"] body {
  background: var(--color-bg);
}

:root[data-theme="escuro"] .badge-success { background: rgba(22,163,74,.18); }
:root[data-theme="escuro"] .badge-muted   { background: rgba(154,161,172,.16); }
:root[data-theme="escuro"] .badge-info    { background: rgba(37,99,235,.2); }
:root[data-theme="escuro"] .badge-danger  { background: rgba(220,38,38,.2); }
:root[data-theme="escuro"] .badge-accent  { background: rgba(212,162,76,.24); }

:root[data-theme="escuro"] .alert.error   { background: rgba(220,38,38,.12); }
:root[data-theme="escuro"] .alert.success { background: rgba(22,163,74,.12); }
:root[data-theme="escuro"] .alert.info    { background: rgba(37,99,235,.12); }

.sidebar.is-collapsed .sidebar__brand-text,
.sidebar.is-collapsed .sidebar__nav a span,
.sidebar.is-collapsed .sidebar__dropdown-left span,
.sidebar.is-collapsed .sidebar__dropdown-arrow,
.sidebar.is-collapsed .sidebar__submenu,
.sidebar.is-collapsed .sidebar__footer {
    display: none;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  max-width: 100vw;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-primary); }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 0 0 .35em;
  color: var(--color-text);
}
h1 { font-size: clamp(1.7rem, 2.2vw, 2.25rem); }
h2 { font-size: 1.35rem; }
h3 { font-size: 1.1rem; }

p { margin: 0 0 .6em; color: var(--color-text-muted); }

button, input, select, textarea { font-family: inherit; font-size: inherit; }

/* ===== LAYOUT ===== */
.app {
  display: flex;
  min-height: 100vh;
}

/* ===== SIDEBAR ===== */
.sidebar {
  width: var(--sidebar-w);
  background: var(--color-menu);
  color: #E5E7EB;
  display: flex;
  flex-direction: column;
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 40;
  transition: width .3s cubic-bezier(.2,.8,.2,1);
  border-right: 1px solid rgba(255,255,255,.04);
}
.sidebar.collapsed { width: var(--sidebar-w-collapsed); }

.sidebar__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 24px 22px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.sidebar__brand img {
  width: 40px; height: 40px;
  border-radius: 10px;
  flex-shrink: 0;
}
.sidebar__brand-text {
  display: flex; flex-direction: column;
  font-family: var(--font-display);
  line-height: 1.15;
}
.sidebar__brand-text strong { color: #fff; font-size: 1rem; }
.sidebar__brand-text span { color: var(--color-accent); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.sidebar.collapsed .sidebar__brand-text { display: none; }

.sidebar__toggle {
  margin-left: auto;
  background: none; border: none;
  color: #C7CDD6; cursor: pointer;
  padding: 6px;
  border-radius: 6px;
}
.sidebar__toggle:hover { background: rgba(255,255,255,.06); color: var(--color-accent); }

.sidebar__nav {
  flex: 1;
  padding: 18px 12px;
  overflow-y: auto;
}
.sidebar__nav a {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  color: #C7CDD6;
  margin-bottom: 2px;
  font-size: .92rem;
  transition: background .2s, color .2s, transform .2s;
  white-space: nowrap;
}
.sidebar__nav a:hover {
  background: rgba(255,255,255,.05);
  color: #fff;
  transform: translateX(2px);
}
.sidebar__nav a.active {
  background: linear-gradient(90deg, rgba(200,16,46,.22), rgba(200,16,46,0));
  color: #fff;
  border-left: 3px solid var(--color-primary);
  padding-left: 11px;
}
.sidebar__nav a i { width: 18px; text-align: center; color: var(--color-accent); }
.sidebar.collapsed .sidebar__nav a span { display: none; }
.sidebar.collapsed .sidebar__nav a { justify-content: center; padding: 12px; }

.sidebar__footer {
  padding: 14px 18px 20px;
  border-top: 1px solid rgba(255,255,255,.05);
  font-size: .78rem;
  color: #8A909B;
}
.sidebar__dropdown-btn{
    width: 100%;
    border: none;
    background: none;
    color: #C7CDD6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 10px;
    cursor: pointer;
    transition: .2s;
    font-size: .92rem;
}

.sidebar__dropdown-btn:hover{
    background: rgba(255,255,255,.05);
    color: #fff;
}

.sidebar__dropdown-left{
    display:flex;
    align-items:center;
    gap:12px;
}

.sidebar__dropdown-left i{
    width:18px;
    text-align:center;
    color: var(--color-accent);
}

.sidebar__submenu{
    display:none;
    margin-left:18px;
    padding-top:4px;
}

.sidebar__dropdown.open .sidebar__submenu{
    display:block;
}

.sidebar__submenu a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 14px;
    border-radius:10px;
    font-size:.88rem;
}

.sidebar__submenu a.active {
    background: linear-gradient(90deg, rgba(200,16,46,.22), rgba(200,16,46,0));
    color: #fff;
    border-left: 3px solid var(--color-primary);
    padding-left: 11px;
}

.sidebar__dropdown.open .fa-chevron-down{
    transform: rotate(180deg);
}

.fa-chevron-down{
    transition: .3s;
}

.sidebar.collapsed .sidebar__footer { display: none; }

.sidebar__submenu {
    display: none;
    margin-left: 18px;
    padding-top: 4px;
}

.sidebar__dropdown.open .sidebar__submenu {
    display: block;
}

.sidebar__dropdown.open .fa-chevron-down {
    transform: rotate(180deg);
}
/* ===== MAIN ===== */
.main {
  flex: 1;
  min-width: 0;
  margin-left: var(--sidebar-w);
  padding: 32px 40px 60px;
  transition: margin-left .3s cubic-bezier(.2,.8,.2,1);
}
.sidebar.collapsed ~ .main { margin-left: var(--sidebar-w-collapsed); }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 28px;
  gap: 18px;
}
.topbar__title h1 { margin: 0 0 4px; }
.topbar__title p  { margin: 0; color: var(--color-text-muted); font-size: .9rem; }

.topbar__user {
  display: flex; align-items: center; gap: 14px;
  background: var(--color-card);
  padding: 8px 14px;
  border-radius: 999px;
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border);
}
.topbar__profile-link {
  display: flex; align-items: center; gap: 10px;
  color: inherit;
  text-decoration: none;
}
.topbar__profile-link:hover strong {
  color: var(--color-info);
}
.topbar__user .avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  color: #fff; font-weight: 700;
  display: grid; place-items: center;
  font-size: .9rem;
}
.topbar__user .avatar--img {
  object-fit: cover;
  border: 1px solid var(--color-border);
}
.topbar__user small { color: var(--color-text-muted); font-size: .75rem; display: block; }

/* ===== CARDS ===== */
.card {
  background: var(--color-card);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border);
  padding: 22px;
  transition: box-shadow .25s, transform .25s;
}
.card:hover { box-shadow: var(--shadow-md); }

.card--accent { border-top: 3px solid var(--color-primary); }

.grid { display: grid; gap: 22px; }
.grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }

@media (max-width: 1100px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .grid-4, .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .main { padding: 22px 18px 60px; margin-left: 0; }
  .sidebar { transform: translateX(-100%); }
  .sidebar.open { transform: translateX(0); }
  .sidebar.collapsed ~ .main { margin-left: 0; }
}

/* ===== KPI cards ===== */
.kpi {
  display: flex; align-items: center; gap: 16px;
  padding: 20px 22px;
}
.kpi__icon {
  width: 48px; height: 48px;
  border-radius: 12px;
  background: rgba(200,16,46,.08);
  color: var(--color-primary);
  display: grid; place-items: center;
  font-size: 1.2rem;
}
.kpi__icon.gold  { background: rgba(212,162,76,.14); color: var(--color-accent-dark); }
.kpi__icon.dark  { background: rgba(31,35,40,.08);   color: var(--color-menu); }
.kpi__icon.green { background: rgba(22,163,74,.10);  color: var(--color-success); }
.kpi__icon.red   { background: rgba(220,38,38,.10);  color: var(--color-danger); }
.kpi__label { color: var(--color-text-muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .1em; }
.kpi__value { font-family: var(--font-display); font-size: 1.6rem; font-weight: 700; }

/* ===== BUTTONS ===== */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .88rem;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform .15s, box-shadow .2s, background .2s, color .2s;
  text-decoration: none;
  background: var(--color-card);
  color: var(--color-text);
  border-color: var(--color-border);
}
.btn:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.btn:active { transform: translateY(0); }
.btn--primary {
  background: var(--color-info);
  color: #fff;
  border-color: var(--color-info);
  box-shadow: 0 2px 8px rgba(37,99,235,.28);
}
.btn--primary:hover {
  background: var(--color-info-dark);
  border-color: var(--color-info-dark);
  color: #fff;
  box-shadow: 0 6px 16px rgba(37,99,235,.34);
}
.btn--accent  { background: var(--color-accent); color: #1F2328; border-color: var(--color-accent); }
.btn--accent:hover  { background: var(--color-accent-dark); color: #fff; }
.btn--dark    { background: var(--color-menu); color: #fff; border-color: var(--color-menu); }
.btn--ghost   { background: transparent; }
.btn--ghost:hover { border-color: var(--color-info); color: var(--color-info); }
.btn--danger  { background: transparent; color: var(--color-danger); border-color: rgba(220,38,38,.25); }
.btn--danger:hover { background: var(--color-danger); border-color: var(--color-danger); color: #fff; }
.btn--sm { padding: 6px 12px; font-size: .8rem; }
.btn--block { width: 100%; justify-content: center; }

/* ===== FORM ===== */
.form-group { margin-bottom: 16px; }
.form-group label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 6px;
  letter-spacing: .02em;
}
.input, .textarea, .select {
  width: 100%;
  padding: 11px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--color-border);
  background: var(--color-card);
  color: var(--color-text);
  transition: border-color .2s, box-shadow .2s;
}
.input:focus, .textarea:focus, .select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(200,16,46,.12);
}
.textarea { min-height: 110px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .form-row { grid-template-columns: 1fr; } }

/* ===== FILE INPUT ===== */
input[type="file"] {
  color: var(--color-text-muted);
  font-size: .85rem;
}
input[type="file"]::file-selector-button {
  background: var(--color-info);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  margin-right: 12px;
  transition: background .2s;
}
input[type="file"]::file-selector-button:hover {
  background: var(--color-info-dark);
}
input[type="file"]::-webkit-file-upload-button {
  background: var(--color-info);
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 8px 16px;
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  margin-right: 12px;
  transition: background .2s;
}
input[type="file"]::-webkit-file-upload-button:hover {
  background: var(--color-info-dark);
}

/* ===== PASSWORD FIELD COM OLHINHO ===== */
.password-field {
  position: relative;
}
.password-field input {
  padding-right: 42px;
}
.password-field__toggle {
  position: absolute;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--color-text-muted);
  cursor: pointer;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .2s;
}
.password-field__toggle:hover {
  color: var(--color-info);
}

/* ===== TABLE ===== */
.table-wrap {
  background: var(--color-card);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-border);
  overflow-x: auto;
  overflow-y: hidden;
}
.table {
  width: 100%;
  border-collapse: collapse;
}
.table th, .table td {
  padding: 14px 18px;
  text-align: left;
  font-size: .9rem;
  border-bottom: 1px solid var(--color-border);
}
.table th {
  background: var(--color-surface-2);
  color: var(--color-text-muted);
  text-transform: uppercase;
  font-size: .72rem;
  letter-spacing: .1em;
  font-weight: 600;
}
.table tr:last-child td { border-bottom: none; }
.table tr:hover td { background: var(--color-surface-hover); }

.table-actions { display: flex; gap: 6px; justify-content: flex-end; align-items: center; }

/* Mantém a coluna de ações sempre visível mesmo quando a tabela precisa rolar pros lados. */
.table-actions-col {
  position: sticky;
  right: 0;
  background: var(--color-card);
  box-shadow: -6px 0 8px -6px rgba(0,0,0,.18);
}
.table th.table-actions-col {
  background: var(--color-surface-2);
}
.table tr:hover td.table-actions-col {
  background: var(--color-surface-hover);
}

/* ===== FOTO DE USUÁRIO ===== */
.user-avatar-thumb {
  width: 38px; height: 38px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--color-border);
  display: block;
}
.user-avatar-thumb--initials {
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--color-primary), var(--color-accent));
  color: #fff; font-weight: 700; font-size: .95rem;
}
.user-photo-field {
  display: flex; align-items: center; gap: 14px;
}
.user-photo-field__preview {
  width: 56px; height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--color-border);
  flex-shrink: 0;
}
.user-photo-field input[type="file"] { flex: 1; }

/* ===== BADGE ===== */
.badge {
  display: inline-flex; align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.badge-success { background: rgba(22,163,74,.12); color: var(--color-success); }
.badge-muted   { background: rgba(107,114,128,.12); color: var(--color-text-muted); }
.badge-info    { background: rgba(37,99,235,.12); color: var(--color-info); }
.badge-danger  { background: rgba(220,38,38,.12); color: var(--color-danger); }
.badge-accent  { background: rgba(212,162,76,.18); color: var(--color-accent-dark); }

/* ===== MODAL ===== */
.modal-backdrop {
  position: fixed; inset: 0;
  background: rgba(15,23,42,.55);
  backdrop-filter: blur(4px);
  display: none;
  align-items: center; justify-content: center;
  padding: 20px;
  z-index: 100;
  animation: fadeIn .2s;
}
.modal-backdrop.open { display: flex; }
.modal {
  background: var(--color-card);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-lg);
  width: min(980px, 95vw);
  max-height: 90vh;
  overflow-y: auto;
  animation: scaleIn .25s;
}
.modal__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 26px;
  border-bottom: 1px solid var(--color-border);
}
.modal__header h2 { margin: 0; font-size: 1.25rem; }
.modal__close {
  background: none; border: none; font-size: 1.3rem;
  cursor: pointer; color: var(--color-text-muted);
  width: 32px; height: 32px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  transition: background .2s, color .2s;
}
.modal__close:hover { background: var(--color-bg); color: var(--color-primary); }
.modal__body { padding: 22px 26px 26px; }

@keyframes fadeIn { from { opacity:0 } to { opacity:1 } }
@keyframes scaleIn { from { opacity:0; transform: translateY(8px) scale(.98) } to { opacity:1; transform:none } }

/* ===== TOAST ===== */
.toast-container {
  position: fixed; top: 24px; right: 24px;
  z-index: 200;
  display: flex; flex-direction: column; gap: 10px;
}
.toast {
  background: var(--color-card);
  color: var(--color-text);
  border-left: 4px solid var(--color-primary);
  padding: 14px 18px;
  border-radius: 10px;
  box-shadow: var(--shadow-md);
  min-width: 260px;
  font-size: .9rem;
  animation: slideIn .25s;
}
.toast.success { border-left-color: var(--color-success); }
.toast.error   { border-left-color: var(--color-danger); }
@keyframes slideIn { from { transform: translateX(20px); opacity:0 } to { transform:none; opacity:1 } }

/* ===== LOGIN ===== */
.login-page {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  background: var(--color-bg);
}
.login-page__brand {
  background: var(--color-menu);
  color: #fff;
  padding: 64px;
  display: flex; flex-direction: column; justify-content: space-between;
  position: relative; overflow: hidden;
}
.login-page__brand::after {
  content: ''; position: absolute; inset: auto -20% -20% auto;
  width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(200,16,46,.35), transparent 65%);
}
.login-page__brand::before {
  content: ''; position: absolute; inset: -30% auto auto -10%;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(212,162,76,.25), transparent 65%);
}
.login-page__brand h1 {
  color: #fff; font-size: clamp(2rem, 3vw, 2.6rem);
  max-width: 460px; position: relative; z-index: 1;
}
.login-page__brand p { color: #C7CDD6; max-width: 420px; position: relative; z-index: 1; }
.login-page__logo {
  display: flex; align-items: center; gap: 14px; position: relative; z-index: 1;
}
.login-page__logo img { width: 56px; height: 56px; border-radius: 14px; }
.login-page__logo strong { font-family: var(--font-display); font-size: 1.15rem; }
.login-page__logo small { color: var(--color-accent); letter-spacing: .15em; font-size: .7rem; text-transform: uppercase; }

.login-page__form {
  padding: 64px; display: flex; align-items: center; justify-content: center;
}
.login-card {
  width: 100%; max-width: 380px;
}
.login-card h2 { font-size: 1.7rem; margin-bottom: 4px; }
.login-card p  { margin-bottom: 28px; }

@media (max-width: 900px) {
  .login-page { grid-template-columns: 1fr; }
  .login-page__brand { padding: 40px 28px; }
  .login-page__form  { padding: 36px 24px; }
}

/* ===== UTILS ===== */
.mt-0 { margin-top: 0 } .mt-1 { margin-top: 8px } .mt-2 { margin-top: 16px } .mt-3 { margin-top: 24px } .mt-4 { margin-top: 32px }
.mb-0 { margin-bottom: 0 } .mb-1 { margin-bottom: 8px } .mb-2 { margin-bottom: 16px } .mb-3 { margin-bottom: 24px } .mb-4 { margin-bottom: 32px }
.flex { display: flex } .flex-between { display: flex; align-items: center; justify-content: space-between }
.gap-1 { gap: 8px } .gap-2 { gap: 14px } .gap-3 { gap: 22px }
.text-muted { color: var(--color-text-muted) }
.text-center { text-align: center }
.text-right  { text-align: right }
.empty-state { padding: 36px; text-align: center; color: var(--color-text-muted); font-size: .9rem; }
.divider { height:1px; background: var(--color-border); margin: 22px 0; border:0; }
.section-title { display:flex; align-items:center; justify-content:space-between; margin-bottom: 18px; }
.section-title h2 { margin: 0; }
.tabs { display: flex; gap: 6px; border-bottom: 1px solid var(--color-border); margin-bottom: 22px; flex-wrap: wrap; }
.tab {
  padding: 10px 16px;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
  color: var(--color-text-muted);
  font-weight: 600; font-size: .9rem;
  border: none; background: none;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}
.tab:hover { color: var(--color-primary); }
.tab.active { color: var(--color-primary); border-bottom-color: var(--color-primary); }

.alert {
  padding: 12px 16px;
  border-radius: 10px;
  margin-bottom: 18px;
  font-size: .9rem;
  border: 1px solid;
}
.alert.error   { background: rgba(220,38,38,.06);  border-color: rgba(220,38,38,.25);  color: var(--color-danger); }
.alert.success { background: rgba(22,163,74,.06);  border-color: rgba(22,163,74,.25);  color: var(--color-success); }
.alert.info    { background: rgba(37,99,235,.06);  border-color: rgba(37,99,235,.25);  color: var(--color-info); }


.sidebar.collapsed .sidebar__dropdown-left span,
.sidebar.collapsed .sidebar__dropdown-arrow,
.sidebar.collapsed .sidebar__submenu {
    display: none !important;
}
.vaga-tipo.ambas {
    background: #f3e8ff;
    color: #7c3aed;
}
.vaga-img {
    width: 100%;
    height: 220px;
    object-fit: contain;
    background: #f8fafc;
    padding: 16px;
    border-bottom: 1px solid var(--color-border);
}