:root {
  --vg-radius-lg:    10px;
  --vg-radius-md:     8px;
  --vg-radius-pill:  20px;
  --vg-spacing-xs:    4px;
  --vg-spacing-sm:    8px;
  --vg-spacing-md:   12px;
  --vg-spacing-lg:   16px;
  --vg-spacing-xl:   24px;

  --vg-drawer-width-lg:  700px;
  --vg-drawer-width-md:  480px;
  --vg-drawer-width-sm:  420px;

  --mud-drawer-width-mini-left: 65px !important;

  /* ── Status colors ── */
  --vg-status-scheduled-bg:        #F5F5F5;
  --vg-status-scheduled-text:      #757575;
  --vg-status-scheduled-border:    #E0E0E0;
  --vg-status-open-bg:             #E3F2FD;
  --vg-status-open-text:           #1565C0;
  --vg-status-open-border:         #90CAF9;
  --vg-status-pending-plan-bg:     #FFF8E1;
  --vg-status-pending-plan-text:   #F57F17;
  --vg-status-pending-plan-border: #FFE082;
  --vg-status-pending-review-bg:     #FFF3E0;
  --vg-status-pending-review-text:   #E65100;
  --vg-status-pending-review-border: #FFCC80;
  --vg-status-hospitalized-bg:     #1565C0;
  --vg-status-hospitalized-text:   #FFFFFF;
  --vg-status-hospitalized-border: transparent;
  --vg-status-closed-bg:           #2E7D32;
  --vg-status-closed-text:         #FFFFFF;
  --vg-status-closed-border:       transparent;
  --vg-status-cancelled-bg:        #757575;
  --vg-status-cancelled-text:      #FFFFFF;
  --vg-status-cancelled-border:    transparent;

  --mud-palette-action-hover: rgba(155, 176, 179, 0.2);

  --vg-card-border:    #E0E7E9;
  --vg-card-accent-ai: #0097A7;
}

.vg-card {
  border-radius: var(--vg-radius-lg);
  padding: var(--vg-spacing-lg);
  background: var(--mud-palette-surface);
  border: 1px solid var(--vg-card-border);
  margin-bottom: 12px;
}

.vg-card-muted {
  border-radius: var(--vg-radius-md);
  padding: var(--vg-spacing-md);
  background: var(--mud-palette-background-gray);
}

.vg-card-removed {
  background: var(--mud-palette-background-gray);
  opacity: 0.65;
}

.vg-card-accent-primary { border-left: 4px solid var(--mud-palette-primary); }
.vg-card-accent-ai      { border-left: 4px solid var(--vg-card-accent-ai); }
.vg-card-accent-warning { border-left: 4px solid var(--mud-palette-warning); }
.vg-card-accent-success { border-left: 4px solid var(--mud-palette-success); }
.vg-card-accent-error     { border-left: 4px solid var(--mud-palette-error); }
.vg-card-accent-info      { border-left: 4px solid var(--mud-palette-info); }
.vg-card-accent-secondary { border-left: 4px solid var(--mud-palette-text-secondary); }
.vg-card-accent-default   { border-left: 4px solid var(--mud-palette-lines-default); }

.vg-card-accent-priority-high   { border-left: 4px solid var(--mud-palette-error); }
.vg-card-accent-priority-medium { border-left: 4px solid var(--mud-palette-warning); }
.vg-card-accent-priority-low    { border-left: 4px solid var(--mud-palette-lines-default); }

.vg-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mud-palette-primary);
}

.vg-guidance-deliver-option {
  transition: background 0.15s ease, border-color 0.15s ease;
}

.vg-guidance-deliver-option:hover {
  background: var(--mud-palette-action-default-hover);
  border-color: var(--mud-palette-primary);
}

.vg-divider {
  border-top: 1px solid var(--mud-palette-divider);
  margin: var(--vg-spacing-lg) 0;
}

/* ── Auth Layout ──────────────────────────────── */
.auth-left-content {
    max-width: 360px;
}

.badge-online-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4CAF50;
    animation: pulse-dot 2s infinite;
    display: inline-block;
}

@keyframes pulse-dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

/* ── Password strength bar ───────────────────── */
.strength-bar {
    display: flex;
    gap: 4px;
    margin-top: 6px;
}

.strength-segment {
    height: 4px;
    flex: 1;
    border-radius: 2px;
    background: var(--mud-palette-lines-default);
    transition: background 0.3s;
}

.strength-segment.active-0 { background: var(--mud-palette-error); }
.strength-segment.active-1 { background: #FF6F00; }
.strength-segment.active-2 { background: #F9A825; }
.strength-segment.active-3 { background: #7CB342; }
.strength-segment.active-4 { background: var(--mud-palette-success); }

/* ── Stepper ─────────────────────────────────── */
.register-stepper {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 32px;
}

.step-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.step-circle {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.3s;
}

.step-circle.active {
    background: var(--mud-palette-primary);
    color: white;
}

.step-circle.completed {
    background: var(--mud-palette-primary);
    color: white;
}

.step-circle.pending {
    background: transparent;
    border: 2px solid var(--mud-palette-lines-default);
    color: var(--mud-palette-text-secondary);
}

.step-label {
    font-size: 0.7rem;
    font-weight: 500;
}

.step-label.active { color: var(--mud-palette-primary); font-weight: 700; }
.step-label.completed { color: var(--mud-palette-primary); }
.step-label.pending { color: var(--mud-palette-text-secondary); }

.step-connector {
    width: 48px;
    height: 2px;
    background: var(--mud-palette-lines-default);
    margin: 0 4px;
    margin-bottom: 20px;
}

.step-connector.completed { background: var(--mud-palette-primary); }

/* ── Auth container flutuante ─────────────────── */
html, body {
    height: 100%;
    background: #F0F2F5;
    margin: 0;
    padding: 0;
}

.auth-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: #F0F2F5;
}

.auth-card {
    display: flex;
    width: 100%;
    max-width: 980px;
    min-height: 560px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 40px rgba(0,0,0,0.13);
}

.auth-left {
    width: 42%;
    background: linear-gradient(155deg, #316568 0%, #285356 60%, #1e3f42 100%);
    flex-direction: column;
    justify-content: space-between;
    padding: 40px;
    position: relative;
    flex-shrink: 0;
}

.auth-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    background: var(--mud-palette-surface);
    overflow-y: auto;
}

.auth-right-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 48px;
    max-width: 480px;
    margin: 0 auto;
    width: 100%;
}

.auth-footer {
    text-align: center;
    padding: 12px 16px;
    border-top: 1px solid var(--mud-palette-lines-default);
}

@media (max-width: 767px) {
    .auth-card { flex-direction: column; max-width: 440px; }
    .auth-left { width: 100%; min-height: 180px; padding: 28px; }
    .auth-right-content { padding: 28px 24px; }
}

/* ── Utilitários de texto — VetGuide DS ── */
.text-muted     { color: var(--mud-palette-text-secondary) !important; }

/* ── Texto muted (mais suave que secondary) ── */
.vg-text-muted {
    color: #9BB0B3;
}
.text-primary   { color: var(--mud-palette-primary) !important; }
.text-success   { color: var(--mud-palette-success) !important; }
.text-error     { color: var(--mud-palette-error) !important; }
.text-dark      { color: var(--mud-palette-text-primary) !important; }

/* Bolinha color picker */
.color-picker-wrapper {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--mud-palette-lines-default) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.color-picker-wrapper * {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: unset !important;
}

.color-picker-wrapper .mud-input-adornment {
    height: 36px !important;
    max-height: 36px !important;
    display: flex !important;
    align-items: center !important;
}

.color-picker-wrapper button {
    width: 30px !important;
    height: 30px !important;
}

.color-picker-wrapper .mud-input-slot,
.color-picker-wrapper .mud-input-label,
.color-picker-wrapper label,
.color-picker-wrapper fieldset {
    display: none !important;
}
/* ── VetGuide Design System v1.1 — CSS Global Overrides ── */

/* Botões sem ALL CAPS */
.mud-button-label {
    text-transform: none !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
}

/* Nav item ativo */
.mud-nav-link.active {
    background-color: var(--mud-palette-secondary) !important;
    color: var(--mud-palette-primary) !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
}
.mud-nav-link.active .mud-icon-root {
    color: var(--mud-palette-primary) !important;
}

/* Chip pill + sem text-transform */
.mud-chip { border-radius: 9999px !important; }
.mud-chip .mud-chip-content {
    text-transform: none !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Table header */
.mud-table-head .mud-table-cell {
    background-color: var(--mud-palette-background) !important;
    color: var(--mud-palette-text-secondary) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    border-bottom: 1px solid var(--mud-palette-lines-default) !important;
}
.mud-table-row:hover { background-color: var(--mud-palette-action-hover) !important; }

/* Input focus */
.mud-input-outlined:focus-within .mud-input-outlined-border {
    border-color: var(--mud-palette-primary) !important;
    border-width: 2px !important;
}

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--mud-palette-background); }
::-webkit-scrollbar-thumb { background: var(--mud-palette-primary-lighten); border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: var(--mud-palette-primary); }

/* Fix alinhamento vertical do ícone no nav */
.mud-tooltip-root.mud-tooltip-inline {
    display: flex !important;
    align-items: center !important;
}

/* Drawer mini — largura correta quando fechado */
/* .mud-drawer-mini:not(.mud-drawer--open) .mud-drawer-content {
    width: var(--mud-drawer-width-mini-left) !important;
    min-width: var(--mud-drawer-width-mini-left) !important;
} */

/* Drawer aberto */
/* .mud-drawer-mini.mud-drawer--open .mud-drawer-content {
    width: 256px !important;
    min-width: 256px !important;
} */


/* Remove padding lateral do ExpansionPanel de Identificação */
.mud-expand-panel-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Título do ExpansionPanel de Identificação — mesmo estilo das seções */
.mud-expand-panel-header {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.mud-expand-panel-header .mud-expand-panel-text {
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.08333em !important;
    text-transform: uppercase !important;
    color: var(--mud-palette-primary) !important;
}

/* MudMask Outlined — corrigir legend */
.mud-input-outlined-with-label fieldset.mud-input-outlined-border legend {
    font-size: 0.75em;
    padding: 0 4px;
    visibility: visible;
}

/* ── Breadcrumb global ───────────────────────── */

/* Separador com menos padding */
.mud-breadcrumb-separator {
    padding: 0 8px !important;
}

/* Fonte menor (body2) */
.mud-breadcrumbs {
    font-size: 0.875rem !important;
}

/* Último item (disabled) — cor primary + negrito */
.mud-breadcrumb-item.mud-disabled a,
.mud-breadcrumb-item.mud-disabled span {
    color: var(--mud-palette-primary) !important;
    font-weight: 500 !important;
    opacity: 1 !important;
    pointer-events: none;
}

/* ── Texto secundário — aponta para TextSecondary do tema (#9BB0B3) ── */
.mud-text-secondary {
    color: var(--mud-palette-text-secondary) !important;
}

.text-center { text-align: center; }

/* ── Anamnese — cards de grupo ── */
.vg-group-card {
  border: 1px solid var(--mud-palette-lines-default);
  border-radius: var(--vg-radius-lg);
  margin-bottom: 16px;
  overflow: hidden;
}

.vg-group-card-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--mud-palette-secondary-lighten);
  border-bottom: 1px solid var(--mud-palette-lines-default);
}

.vg-group-card-body {
  padding: 16px;
}

.vg-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: var(--mud-palette-secondary-lighten);
  border: 1px solid var(--mud-palette-lines-default);
  border-radius: var(--vg-radius-lg);
  cursor: pointer;
  transition: background 0.15s;
}
.vg-accordion-header:hover {
  background: var(--mud-palette-lines-default);
}
.vg-accordion-header.open {
  border-radius: var(--vg-radius-lg) var(--vg-radius-lg) 0 0;
  border-bottom: none;
}
.vg-accordion-body {
  border: 1px solid var(--mud-palette-lines-default);
  border-top: none;
  border-radius: 0 0 var(--vg-radius-lg) var(--vg-radius-lg);
  padding: 16px;
}

.vg-sub-accordion-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  background: var(--mud-palette-secondary-lighten, #F0F9F4);
  border: 1px solid var(--mud-palette-primary-lighten);
  border-radius: var(--vg-radius-md);
  cursor: pointer;
  transition: background 0.15s;
}
.vg-sub-accordion-header:hover {
  background: var(--mud-palette-primary-lighten);
}
.vg-sub-accordion-header.open {
  border-radius: var(--vg-radius-md) var(--vg-radius-md) 0 0;
  border-bottom: none;
}
.vg-sub-accordion-body {
  border: 1px solid var(--mud-palette-primary-lighten);
  border-top: none;
  border-radius: 0 0 var(--vg-radius-md) var(--vg-radius-md);
  padding: 14px;
  margin-bottom: 4px;
}

.vg-sub-card {
  border: 1px solid var(--mud-palette-primary-lighten);
  border-radius: var(--vg-radius-md);
  padding: 12px;
  background: var(--mud-palette-secondary-lighten);
  margin-top: 8px;
  margin-bottom: 8px;
}

/* ── Management — submenu ─────────────────────────────── */
.vg-gestao-menu-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s;
}
.vg-gestao-menu-item:hover {
    background: var(--mud-palette-action-hover);
}
.vg-gestao-menu-item--active {
    border-left: 3px solid var(--mud-palette-primary);
    background: var(--mud-palette-secondary-lighten) !important;
}
.vg-gestao-menu-item-text {
    flex: 1;
    min-width: 0;
}

/* ── Preferences — attendance mode cards ──────────────── */
.vg-attendance-card {
    border: 1px solid var(--mud-palette-divider);
    border-radius: 8px;
    padding: 12px 16px;
    cursor: pointer;
    transition: border-color 0.15s, background 0.15s;
}
.vg-attendance-card:hover {
    border-color: var(--mud-palette-primary);
    background: var(--mud-palette-action-hover);
}
.vg-attendance-card--active {
    border-color: var(--mud-palette-primary) !important;
    background: var(--mud-palette-secondary-lighten) !important;
}

/* ── Team — member cards ──────────────────────────────── */
.vg-member-inactive {
    opacity: 0.55;
}

/* ── Team — avatar cores determinísticas ─────────────── */
.vg-avatar-teal {
    background-color: var(--mud-palette-primary) !important;
    color: #fff !important;
}
.vg-avatar-green {
    background-color: var(--mud-palette-success) !important;
    color: #fff !important;
}
.vg-avatar-orange {
    background-color: var(--mud-palette-warning) !important;
    color: #fff !important;
}
.vg-avatar-grey {
    background-color: var(--mud-palette-action-disabled) !important;
    color: #fff !important;
}

/* ── ClinicData — color picker dots ──────────────────── */
.vg-color-dot {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    transition: transform 0.15s;
    flex-shrink: 0;
}
.vg-color-dot:hover {
    transform: scale(1.1);
}
.vg-color-dot--selected {
    transform: scale(1.15);
    box-shadow: white 0 0 0 2px, var(--vg-dot-color, #316568) 0 0 0 4px;
}

/* ── ClinicData — logo upload area ───────────────────── */
.vg-logo-upload {
    border: 2px dashed var(--mud-palette-divider);
    border-radius: 8px;
    padding: 32px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s;
}
.vg-logo-upload:hover {
    border-color: var(--mud-palette-primary);
}

/* ── ClinicData — bold field values ──────────────────── */
.fw-bold {
    font-weight: 600;
}

.fw-medium {
    font-weight: 500;
}

/* ── Schedule — grade visual ─────────────────────────── */
.vg-schedule-grid {
    overflow-x: auto;
    overflow-y: auto;
    max-height: 500px;
    border: 1px solid var(--mud-palette-divider);
    border-radius: 8px;
    background: var(--mud-palette-surface);
}
.vg-schedule-table {
    border-collapse: separate;
    border-spacing: 0;
    height: 1px;
}
.vg-schedule-table tr {
    height: 50px;
}
.vg-schedule-table td {
    height: 50px;
}
.vg-schedule-table tbody td {
    border-bottom: 1px solid var(--mud-palette-lines-default);
}
.vg-schedule-time-col {
    width: 80px;
    min-width: 80px;
    padding: 4px 8px;
    text-align: right;
    color: var(--mud-palette-text-secondary);
    font-size: 0.75rem;
    border-right: 1px solid var(--mud-palette-divider);
    vertical-align: top;
    background: var(--mud-palette-surface);
}
.vg-schedule-vet-col {
    min-width: 200px;
    width: 200px;
    max-width: 200px;
    padding: 0;
    border-right: 1px solid var(--mud-palette-divider);
    vertical-align: top;
    background: var(--mud-palette-surface);
    height: 100%;
}
.vg-schedule-vet-header {
    text-align: center;
    padding: 8px 4px;
}
.vg-schedule-table thead tr th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--mud-palette-surface);
    border-bottom: 2px solid var(--mud-palette-divider);
}
.vg-schedule-table thead tr th:first-child {
    z-index: 3;
}
.vg-schedule-time-full {
    color: var(--mud-palette-text-primary) !important;
    font-weight: 600;
}
.vg-schedule-cell-empty {
    padding: 4px 8px;
    text-align: center;
    color: var(--mud-palette-text-secondary);
    cursor: pointer;
    height: 100%;
    box-sizing: border-box;
}
.vg-schedule-cell-empty:hover {
    background: var(--mud-palette-action-hover);
}
.vg-schedule-cell-busy {
    background: var(--mud-palette-background-grey);
}
.vg-schedule-appointment {
    border-left: 3px solid var(--mud-palette-primary);
    border-radius: 4px;
    padding: 10px 8px;
    cursor: pointer;
    background: var(--mud-palette-surface);
    transition: box-shadow 0.15s;
    height: 100%;
    box-sizing: border-box;
}
.vg-schedule-appointment:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
.vg-schedule-appointment--scheduled {
    border-left-color: var(--vg-status-scheduled-border) !important;
    background: var(--vg-status-scheduled-bg) !important;
}
.vg-schedule-appointment--arrived {
    border-left-color: var(--mud-palette-success-darken) !important;
    background: rgba(76, 175, 80, 0.12) !important;
}
.vg-schedule-appointment--in-progress {
    border-left-color: #FFE082 !important;
    background: #FFF8E1 !important;
}
.vg-schedule-appointment--hospitalized {
    border-left-color: #90CAF9 !important;
    background: #E3F2FD !important;
}
.vg-schedule-appointment--closed {
    border-left-color: #A5D6A7 !important;
    background: #E8F5E9 !important;
}
.vg-schedule-appointment--cancelled {
    border-left-color: #E0E0E0 !important;
    background: #F5F5F5 !important;
}
.vg-schedule-appointment--pending-schedule {
    border-left-color: #BDBDBD !important;
    background: #F5F5F5 !important;
}

/* ── Schedule — faixa "Aguardando horário" ───────────── */
.vg-schedule-pending-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    padding: .75rem;
    background: var(--mud-palette-background-grey);
    border-radius: 8px;
    margin-bottom: .75rem;
}
.vg-schedule-pending-bar__title {
    font-size: .8rem;
    font-weight: 600;
    color: var(--mud-palette-text-secondary);
    margin-right: .5rem;
}
.vg-schedule-pending-card {
    cursor: pointer;
    padding: .5rem .75rem;
    background: var(--mud-palette-surface);
    border: 1px dashed var(--mud-palette-text-disabled);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    gap: .15rem;
    min-width: 180px;
    transition: background .15s ease, border-color .15s ease;
}
.vg-schedule-pending-card:hover {
    background: var(--mud-palette-action-default-hover);
    border-color: var(--mud-palette-primary);
}
.vg-schedule-pending-card small {
    color: var(--mud-palette-text-secondary);
    font-size: .7rem;
}

/* ── Status chip ─────────────────────────────────────── */
.vg-chip-status {
    display: inline-flex;
    align-items: center;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
    height: 24px;
    padding: 0 10px;
    border: 1px solid transparent;
    white-space: nowrap;
}
.vg-chip-status--scheduled {
    background: var(--vg-status-scheduled-bg);
    color:      var(--vg-status-scheduled-text);
    border-color: var(--vg-status-scheduled-border);
}
.vg-chip-status--open {
    background: var(--vg-status-open-bg);
    color:      var(--vg-status-open-text);
    border-color: var(--vg-status-open-border);
}
.vg-chip-status--pending-plan {
    background: var(--vg-status-pending-plan-bg);
    color:      var(--vg-status-pending-plan-text);
    border-color: var(--vg-status-pending-plan-border);
}
.vg-chip-status--pending-review {
    background: var(--vg-status-pending-review-bg);
    color:      var(--vg-status-pending-review-text);
    border-color: var(--vg-status-pending-review-border);
}
.vg-chip-status--hospitalized {
    background: var(--vg-status-hospitalized-bg);
    color:      var(--vg-status-hospitalized-text);
    border-color: var(--vg-status-hospitalized-border);
}
.vg-chip-status--closed {
    background: var(--vg-status-closed-bg);
    color:      var(--vg-status-closed-text);
    border-color: var(--vg-status-closed-border);
}
.vg-chip-status--cancelled {
    background: var(--vg-status-cancelled-bg);
    color:      var(--vg-status-cancelled-text);
    border-color: var(--vg-status-cancelled-border);
}
.vg-chip-status--pending-schedule {
    background: #EEEEEE;
    color:      #616161;
    border-color: #BDBDBD;
}

/* ── Schedule — fila ─────────────────────────────────── */
.vg-queue-emergency {
    background: var(--mud-palette-error-lighten) !important;
}

/* ── Button subtitle ────────────────────────────────── */
.vg-btn-subtitle {
    font-size: 0.7rem;
    font-weight: 400;
    opacity: 0.85;
}

/* ── Home — tabelas de atendimentos ─────────────────── */
.vg-home-apt-table {
    table-layout: fixed;
    width: 100%;
}
.vg-home-apt-table .vg-col-time    { width: 12%; }
.vg-home-apt-table .vg-col-patient { width: 18%; }
.vg-home-apt-table .vg-col-client  { width: 18%; }
.vg-home-apt-table .vg-col-type    { width: 16%; }
.vg-home-apt-table .vg-col-vet     { width: 16%; }
.vg-home-apt-table .vg-col-status  { width: 20%; }

/* ── Segmented Button ── */
.vg-segmented-track {
    display: flex;
    gap: 4px;
    padding: 4px;
    background: var(--mud-palette-background-gray);
    border-radius: 8px;
    width: 100%;
}

.vg-segmented-btn {
    flex: 1;
    padding: 8px 0;
    border: none;
    background: transparent;
    color: var(--mud-palette-primary);
    font-weight: 500;
    border-radius: 6px;
    box-shadow: none;
    cursor: pointer;
    font-size: 0.875rem;
    transition: background 0.15s, box-shadow 0.15s;
}

.vg-segmented-btn.selected {
    background: var(--mud-palette-surface);
    box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}

.vg-segmented-btn--stacked {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 0;
}

.vg-segmented-btn--stacked .vg-segmented-icon {
    font-size: 1.4rem;
    line-height: 1;
}

.clinical-summary h2 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin: 12px 0 4px;
}
.clinical-summary ul {
    margin: 0;
    padding-left: 16px;
}
.clinical-summary li {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    line-height: 1.6;
    margin-bottom: 2px;
}
.clinical-summary strong { font-weight: 600; }
.clinical-summary em {
    font-style: italic;
    color: var(--mud-palette-text-secondary);
}
.clinical-summary h1 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin: 12px 0 4px;
}
.clinical-summary h3 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--mud-palette-text-primary);
    margin: 8px 0 4px;
}
.clinical-summary p {
    font-size: 0.875rem;
    color: var(--mud-palette-text-primary);
    line-height: 1.6;
    margin: 4px 0;
}

/* ── Grouped chip rows (Odontologia intrabucal) ── */
.vg-chip-row {
  border: 1px solid var(--vg-card-border);
  border-radius: var(--vg-radius-md);
  padding: 10px var(--vg-spacing-md);
  margin-bottom: var(--vg-spacing-sm);
}
.vg-chip-row:nth-child(odd) {
  background: var(--mud-palette-surface);
}
.vg-chip-row:nth-child(even) {
  background: var(--mud-palette-background);
}

/* ── Faixa de contexto Retorno ── */
.vg-return-context {
    background: #F0FAF6;
    border-bottom: 0.5px solid #9FE1CB;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-shrink: 0;
}
.vg-return-context-left {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.vg-return-context-label {
    font-size: 11px;
    color: #0F6E56;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.vg-return-context-diag {
    font-size: 13px;
    font-weight: 500;
    color: var(--color-text-primary, #192422);
}
.vg-return-context-plan,
.vg-return-context-date {
    font-size: 12px;
    color: var(--mud-palette-text-secondary);
}

.vg-trend-card {
    background: var(--mud-palette-surface);
    border: 0.5px solid var(--vg-card-border);
    border-radius: 12px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.vg-trend-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--mud-palette-text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vg-trend-value {
    font-size: 18px;
    font-weight: 500;
    color: var(--mud-palette-text-primary);
    line-height: 1.1;
}

/* ── Protocols ── */
.vg-protocol-card {
    background: var(--mud-palette-surface);
    border: 0.5px solid var(--vg-card-border);
    border-radius: 12px;
    padding: 16px;
    cursor: default;
    transition: border-color 0.15s;
    display: flex;
    flex-direction: column;
}
.vg-protocol-card:hover {
    border-color: var(--mud-palette-lines-inputs);
}
.vg-protocol-card--global {
    border-left: 3px solid #9FE1CB;
}
.vg-protocol-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.vg-protocol-icon--vaccine {
    background: #E1F5EE;
}
.vg-protocol-icon--clinical {
    background: #E6F1FB;
}
.vg-protocol-dose-chip {
    font-size: 10px;
    padding: 2px 7px;
    border-radius: 100px;
    background: var(--mud-palette-background-grey);
    color: var(--mud-palette-text-secondary);
    border: 0.5px solid var(--vg-card-border);
    white-space: nowrap;
}

/* ── MudAlert — override para fundo suave + texto colorido (padrão VetGuide) ── */

.mud-alert {
    border-radius: var(--vg-radius-md) !important;
}

/* Success */
.mud-alert-filled-success,
.mud-alert-outlined-success,
.mud-alert-text-success {
    background-color: #E8F5E9 !important;
    color: #2E7D32 !important;
    border-color: transparent !important;
}
.mud-alert-filled-success .mud-alert-icon,
.mud-alert-outlined-success .mud-alert-icon,
.mud-alert-text-success .mud-alert-icon,
.mud-alert-filled-success .mud-alert-message,
.mud-alert-outlined-success .mud-alert-message,
.mud-alert-text-success .mud-alert-message {
    color: #2E7D32 !important;
}

/* Warning */
.mud-alert-filled-warning,
.mud-alert-outlined-warning,
.mud-alert-text-warning {
    background-color: #FFF8E1 !important;
    color: #E65100 !important;
    border-color: transparent !important;
}
.mud-alert-filled-warning .mud-alert-icon,
.mud-alert-outlined-warning .mud-alert-icon,
.mud-alert-text-warning .mud-alert-icon,
.mud-alert-filled-warning .mud-alert-message,
.mud-alert-outlined-warning .mud-alert-message,
.mud-alert-text-warning .mud-alert-message {
    color: #E65100 !important;
}

/* Error */
.mud-alert-filled-error,
.mud-alert-outlined-error,
.mud-alert-text-error {
    background-color: #FFEBEE !important;
    color: #C62828 !important;
    border-color: transparent !important;
}
.mud-alert-filled-error .mud-alert-icon,
.mud-alert-outlined-error .mud-alert-icon,
.mud-alert-text-error .mud-alert-icon,
.mud-alert-filled-error .mud-alert-message,
.mud-alert-outlined-error .mud-alert-message,
.mud-alert-text-error .mud-alert-message {
    color: #C62828 !important;
}

/* Info */
.mud-alert-filled-info,
.mud-alert-outlined-info,
.mud-alert-text-info {
    background-color: #E3F2F3 !important;
    color: #1565C0 !important;
    border-color: transparent !important;
}
.mud-alert-filled-info .mud-alert-icon,
.mud-alert-outlined-info .mud-alert-icon,
.mud-alert-text-info .mud-alert-icon,
.mud-alert-filled-info .mud-alert-message,
.mud-alert-outlined-info .mud-alert-message,
.mud-alert-text-info .mud-alert-message {
    color: #1565C0 !important;
}

/* Dark mode overrides */
.dark-mode .mud-alert-filled-success,
.dark-mode .mud-alert-outlined-success,
.dark-mode .mud-alert-text-success {
    background-color: rgba(67, 160, 71, 0.15) !important;
    color: #43A047 !important;
}
.dark-mode .mud-alert-filled-success .mud-alert-icon,
.dark-mode .mud-alert-outlined-success .mud-alert-icon,
.dark-mode .mud-alert-text-success .mud-alert-icon,
.dark-mode .mud-alert-filled-success .mud-alert-message,
.dark-mode .mud-alert-outlined-success .mud-alert-message,
.dark-mode .mud-alert-text-success .mud-alert-message {
    color: #43A047 !important;
}

.dark-mode .mud-alert-filled-warning,
.dark-mode .mud-alert-outlined-warning,
.dark-mode .mud-alert-text-warning {
    background-color: rgba(251, 140, 0, 0.15) !important;
    color: #FB8C00 !important;
}
.dark-mode .mud-alert-filled-warning .mud-alert-icon,
.dark-mode .mud-alert-outlined-warning .mud-alert-icon,
.dark-mode .mud-alert-text-warning .mud-alert-icon,
.dark-mode .mud-alert-filled-warning .mud-alert-message,
.dark-mode .mud-alert-outlined-warning .mud-alert-message,
.dark-mode .mud-alert-text-warning .mud-alert-message {
    color: #FB8C00 !important;
}

.dark-mode .mud-alert-filled-error,
.dark-mode .mud-alert-outlined-error,
.dark-mode .mud-alert-text-error {
    background-color: rgba(229, 57, 53, 0.15) !important;
    color: #E53935 !important;
}
.dark-mode .mud-alert-filled-error .mud-alert-icon,
.dark-mode .mud-alert-outlined-error .mud-alert-icon,
.dark-mode .mud-alert-text-error .mud-alert-icon,
.dark-mode .mud-alert-filled-error .mud-alert-message,
.dark-mode .mud-alert-outlined-error .mud-alert-message,
.dark-mode .mud-alert-text-error .mud-alert-message {
    color: #E53935 !important;
}

.dark-mode .mud-alert-filled-info,
.dark-mode .mud-alert-outlined-info,
.dark-mode .mud-alert-text-info {
    background-color: rgba(30, 136, 229, 0.15) !important;
    color: #1E88E5 !important;
}
.dark-mode .mud-alert-filled-info .mud-alert-icon,
.dark-mode .mud-alert-outlined-info .mud-alert-icon,
.dark-mode .mud-alert-text-info .mud-alert-icon,
.dark-mode .mud-alert-filled-info .mud-alert-message,
.dark-mode .mud-alert-outlined-info .mud-alert-message,
.dark-mode .mud-alert-text-info .mud-alert-message {
    color: #1E88E5 !important;
}
