:root{--primary: var(--color-brand);--primary-rgb: 53, 120, 115;--primary-foreground: var(--color-on-brand);--primary-light: var(--color-brand);--primary-dark: var(--color-brand-strong);--primary-hover: var(--color-brand-strong);--secondary: var(--color-accent);--secondary-foreground: var(--color-on-accent);--secondary-light: var(--color-accent);--secondary-dark: var(--color-accent-strong);--secondary-hover: var(--color-accent-strong);--muted: var(--color-tag);--muted-foreground: var(--color-text-muted);--accent: var(--color-accent);--accent-foreground: var(--color-on-accent);--destructive: var(--color-alert);--destructive-foreground:var(--color-text-inverted);--ring: var(--color-brand);--success: var(--color-success);--success-light: var(--color-success-soft);--success-bg: var(--color-success-soft);--warning: var(--color-warn);--warning-light: var(--color-warn-soft);--warning-bg: var(--color-warn-soft);--error: var(--color-alert);--error-light: var(--color-alert-soft);--error-bg: var(--color-alert-soft);--info: var(--color-info);--info-light: var(--color-info-soft);--info-bg: var(--color-info-soft);--bg-page: var(--color-bg);--bg-card: var(--color-surface);--bg-card-hover: var(--color-surface-strong);--bg-sidebar: var(--color-surface-sunken);--bg-sidebar-hover: var(--color-surface-strong);--bg-input: var(--color-surface);--bg-input-disabled: var(--color-surface-strong);--bg-modal-overlay: var(--color-overlay);--bg-tooltip: var(--color-text);--bg-badge: var(--color-tag);--bg-highlight: var(--color-brand-soft);--text-primary: var(--color-text);--text-secondary: var(--color-text-muted);--text-tertiary: var(--color-text-dim);--text-inverse: var(--color-text-inverted);--text-link: var(--color-brand);--text-on-primary: var(--color-on-brand);--text-on-sidebar: var(--color-text-muted);--text-on-sidebar-muted: color-mix(in srgb, var(--color-text-muted) 70%, transparent);--sidebar-icon-filter: brightness(0) saturate(100%) invert(33%) sepia(15%) saturate(420%) hue-rotate(110deg) brightness(92%) contrast(88%);--sidebar-icon-filter-hover: brightness(0) saturate(100%) invert(20%) sepia(20%) saturate(500%) hue-rotate(110deg) brightness(85%) contrast(92%);--sidebar-icon-filter-active: brightness(0) saturate(100%) invert(54%) sepia(40%) saturate(500%) hue-rotate(126deg) brightness(95%) contrast(88%);--sidebar-border: var(--color-border);--sidebar-tooltip-bg: var(--color-text);--sidebar-tooltip-text: color-mix(in srgb, var(--color-text-inverted) 90%, transparent);--sidebar-submenu-border: color-mix(in srgb, var(--color-text) 8%, transparent);--sidebar-submenu-text: var(--color-text-muted);--border: var(--color-border);--border-light: var(--color-border-faint);--border-dark: var(--color-border-strong);--border-input: var(--color-border);--border-input-focus: var(--color-brand);--shadow-xs: 0 1px 2px color-mix(in srgb, var(--core-black) 3%, transparent);--shadow-sm: 0 1px 2px color-mix(in srgb, var(--core-black) 3%, transparent);--shadow: 0 2px 4px color-mix(in srgb, var(--core-black) 5%, transparent), 0 1px 2px color-mix(in srgb, var(--core-black) 3%, transparent);--shadow-md: 0 4px 8px color-mix(in srgb, var(--core-black) 6%, transparent), 0 2px 4px color-mix(in srgb, var(--core-black) 4%, transparent);--shadow-lg: 0 8px 16px color-mix(in srgb, var(--core-black) 7%, transparent), 0 4px 8px color-mix(in srgb, var(--core-black) 4%, transparent);--shadow-xl: 0 25px 50px -12px color-mix(in srgb, var(--core-black) 15%, transparent);--shadow-modal: 0 20px 60px color-mix(in srgb, var(--core-black) 20%, transparent);--shadow-card: 0 1px 2px color-mix(in srgb, var(--core-black) 4%, transparent);--shadow-card-hover: 0 2px 4px color-mix(in srgb, var(--core-black) 6%, transparent);--gradient-primary: linear-gradient(135deg, var(--color-brand-strong) 0%, var(--color-brand) 100%);--gradient-secondary: linear-gradient(135deg, var(--color-accent-strong) 0%, var(--color-accent) 100%);--gradient-sidebar: linear-gradient(180deg, var(--color-brand-strong) 0%, var(--core-brand-dark) 100%);--accent-teal: var(--color-brand);--accent-gold: var(--color-accent);--accent-pink: var(--color-alert-soft);--accent-blue: var(--color-info-soft);--accent-purple: color-mix(in srgb, var(--color-categorical-3) 14%, transparent);--overlay-dark: var(--core-overlay);--overlay-light: color-mix(in srgb, var(--color-text-inverted) 70%, transparent);--success-dark: var(--color-success-strong);--warning-dark: var(--color-warn-strong);--error-dark: var(--color-alert-strong);--info-dark: var(--color-info-strong);--toast-success-bg: color-mix(in srgb, var(--color-success) 10%, transparent);--toast-success-border: color-mix(in srgb, var(--color-success) 30%, transparent);--toast-success-icon-bg: color-mix(in srgb, var(--color-success) 20%, transparent);--toast-error-bg: color-mix(in srgb, var(--color-alert) 10%, transparent);--toast-error-border: color-mix(in srgb, var(--color-alert) 30%, transparent);--toast-error-icon-bg: color-mix(in srgb, var(--color-alert) 20%, transparent);--toast-warning-bg: color-mix(in srgb, var(--color-warn) 10%, transparent);--toast-warning-border: color-mix(in srgb, var(--color-warn) 30%, transparent);--toast-warning-icon-bg: color-mix(in srgb, var(--color-warn) 20%, transparent);--toast-info-bg: color-mix(in srgb, var(--color-info) 10%, transparent);--toast-info-border: color-mix(in srgb, var(--color-info) 30%, transparent);--toast-info-icon-bg: color-mix(in srgb, var(--color-info) 20%, transparent);--badge-success-bg: var(--color-success-soft);--badge-warning-bg: var(--color-warn-soft);--badge-danger-bg: var(--color-alert-soft);--badge-info-bg: var(--color-info-soft);--badge-neutral-bg: color-mix(in srgb, var(--color-text) 6%, transparent);--primary-bg-subtle: color-mix(in srgb, var(--color-brand) 3%, transparent);--primary-bg-light: color-mix(in srgb, var(--color-brand) 5%, transparent);--primary-bg-medium: color-mix(in srgb, var(--color-brand) 8%, transparent);--primary-bg-strong: color-mix(in srgb, var(--color-brand) 12%, transparent);--primary-bg-hover: color-mix(in srgb, var(--color-brand) 14%, transparent);--primary-border-light: color-mix(in srgb, var(--color-brand) 10%, transparent);--primary-border-medium: color-mix(in srgb, var(--color-brand) 20%, transparent);--primary-border-strong: color-mix(in srgb, var(--color-brand) 30%, transparent);--neutral-bg-subtle: color-mix(in srgb, var(--color-text) 2%, transparent);--neutral-bg-light: color-mix(in srgb, var(--color-text) 4%, transparent);--neutral-bg-medium: color-mix(in srgb, var(--color-text) 6%, transparent);--neutral-bg-hover: color-mix(in srgb, var(--color-text) 8%, transparent);--neutral-border-light: color-mix(in srgb, var(--color-text) 8%, transparent);--neutral-border-medium: color-mix(in srgb, var(--color-text) 10%, transparent);--bg-header: var(--color-surface);--bg-slots: var(--color-surface);--bg-hover-light: var(--color-surface-strong);--bg-hover-subtle: var(--color-surface-strong);--bg-disabled: var(--color-surface-strong);--border-medium: var(--color-border);--border-heavy: var(--color-border-strong);--scrollbar-track: var(--color-surface-strong);--scrollbar-thumb: var(--color-border-strong);--scrollbar-thumb-hover: var(--color-text-faint);--text-placeholder: var(--color-text-faint);--table-row-hover: var(--color-brand-soft);--table-header-bg: color-mix(in srgb, var(--color-brand) 8%, transparent);--table-header-border: color-mix(in srgb, var(--color-brand) 20%, transparent);--table-row-even: color-mix(in srgb, var(--color-brand) 3%, transparent);--table-cell-border: color-mix(in srgb, var(--color-text) 8%, transparent);--focus-ring: var(--ds-shadow-focus);--focus-ring-error: 0 0 0 3px var(--color-alert-soft);--shadow-btn-primary: 0 4px 12px color-mix(in srgb, var(--color-brand) 20%, transparent);--shadow-btn-primary-hover: 0 6px 16px color-mix(in srgb, var(--color-brand) 30%, transparent);--shadow-btn-danger: 0 4px 12px color-mix(in srgb, var(--color-alert) 20%, transparent);--shadow-btn-danger-hover: 0 6px 16px color-mix(in srgb, var(--color-alert) 30%, transparent);--shadow-btn-success: 0 4px 12px color-mix(in srgb, var(--color-success) 20%, transparent);--shadow-btn-success-hover: 0 6px 16px color-mix(in srgb, var(--color-success) 30%, transparent);--shadow-btn-warning: 0 4px 12px color-mix(in srgb, var(--color-warn) 20%, transparent);--shadow-btn-warning-hover: 0 6px 16px color-mix(in srgb, var(--color-warn) 30%, transparent);--shadow-btn-info: 0 4px 12px color-mix(in srgb, var(--color-info) 20%, transparent);--shadow-btn-info-hover: 0 6px 16px color-mix(in srgb, var(--color-info) 30%, transparent);--error-hover: var(--color-alert-strong);--event-consulta: var(--color-brand);--event-consulta-bg: var(--color-brand-soft);--event-primeira-consulta: var(--color-categorical-5);--event-primeira-consulta-bg: color-mix(in srgb, var(--color-categorical-5) 15%, transparent);--event-retorno: var(--color-brand);--event-retorno-bg: var(--color-brand-soft);--event-procedimento: var(--color-categorical-3);--event-procedimento-bg: color-mix(in srgb, var(--color-categorical-3) 15%, transparent);--event-imunoterapia: var(--color-categorical-7);--event-imunoterapia-bg: color-mix(in srgb, var(--color-categorical-7) 15%, transparent);--event-exame: var(--color-categorical-8);--event-exame-bg: color-mix(in srgb, var(--color-categorical-8) 15%, transparent);--event-avaliacao: var(--color-text-dim);--event-avaliacao-bg: color-mix(in srgb, var(--color-text-dim) 15%, transparent);--event-encaixe: var(--color-warn);--event-encaixe-bg: var(--color-warn-soft);--event-bloqueio: var(--color-text-muted);--event-bloqueio-bg: color-mix(in srgb, var(--color-text-muted) 15%, transparent);--event-tarefa: var(--color-accent-strong);--event-tarefa-bg: var(--color-accent-soft);--event-lembrete: var(--color-categorical-4);--event-lembrete-bg: color-mix(in srgb, var(--color-categorical-4) 15%, transparent);--event-teleconsulta: var(--color-success);--event-teleconsulta-bg: var(--color-success-soft);--calendar-unimed: var(--color-categorical-3);--calendar-unimed-bg: color-mix(in srgb, var(--color-categorical-3) 12%, transparent);--calendar-particular: var(--color-brand);--calendar-particular-bg: var(--color-brand-soft);--calendar-intercambio: var(--color-warn);--calendar-intercambio-bg: var(--color-warn-soft);--calendar-convenio: var(--color-categorical-5);--calendar-convenio-bg: color-mix(in srgb, var(--color-categorical-5) 12%, transparent);--calendar-isento: var(--color-text-muted);--calendar-isento-bg: color-mix(in srgb, var(--color-text-muted) 12%, transparent);--calendar-outro: var(--color-text-faint);--calendar-outro-bg: color-mix(in srgb, var(--color-text-faint) 12%, transparent);--font-family-sans: var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);--font-size-2xs: .625rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2rem;--font-size-5xl: 4rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-0: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-xs: 3px;--radius-sm: 4px;--radius: 6px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 12px;--radius-3xl: 16px;--radius-4xl: 20px;--radius-full: 9999px;--transition-fast: var(--duration-fast) ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--transition-theme: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease;--transform-lift-xs: translateY(-1px);--transform-lift-sm: translateY(-2px);--transform-lift-md: translateY(-4px);--transform-lift-lg: translateY(-6px);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1050;--z-tooltip: 1060;--size-button-xs: 28px;--size-button-sm: 32px;--size-button-md: 36px;--size-button-lg: 40px;--size-sidebar-width: 64px;--size-sidebar-expanded: 240px;--audit-action-view: var(--color-categorical-3);--audit-action-create: var(--color-success);--audit-action-update: var(--color-categorical-4);--audit-action-delete: var(--color-alert);--audit-action-login: var(--color-categorical-3);--audit-action-logout: var(--color-categorical-7);--audit-action-export: var(--color-categorical-8);--audit-action-default: var(--color-categorical-3);--allergen-controles: var(--color-text-muted);--allergen-acaros: var(--color-categorical-3);--allergen-gramineas: var(--color-success);--allergen-animais: var(--color-warn);--allergen-insetos: var(--color-alert);--allergen-fungos: var(--color-categorical-5);--allergen-latex: var(--color-categorical-6);--allergen-alimentares: var(--color-categorical-8);--allergen-polens: var(--color-categorical-4);--allergen-custom: var(--color-text-faint);--event-patch-test: var(--color-categorical-8);--event-patch-test-border: color-mix(in srgb, var(--color-categorical-8) 85%, var(--core-black));--event-status-realizado: var(--color-success);--event-status-faltou: var(--color-alert);--event-status-cancelado: var(--color-text-dim);--event-whatsapp: #25D366;--panel-type-default-bg: color-mix(in srgb, var(--color-categorical-3) 15%, transparent);--panel-type-default-color: var(--color-categorical-3);--panel-type-custom-bg: color-mix(in srgb, var(--color-categorical-5) 15%, transparent);--panel-type-custom-color: var(--color-categorical-5);--panel-item-control-bg: color-mix(in srgb, var(--color-accent) 10%, transparent);--panel-item-control-hover-bg: var(--color-accent-soft);--panel-item-draggable-hover-bg: color-mix(in srgb, var(--color-categorical-3) 8%, transparent);--panel-add-custom-hover-bg: color-mix(in srgb, var(--color-categorical-3) 8%, transparent);--surface: var(--bg-card);--surface-secondary: var(--bg-card-hover);--white: var(--color-on-brand);--background: var(--bg-page);--background-overlay: var(--bg-page);--dark-surface: var(--bg-sidebar);--glass-background: var(--bg-card);--glass-card-bg: var(--bg-card);--glass-card-bg-strong: var(--bg-card);--glass-card-border: 1px solid var(--border);--glass-card-shadow: var(--shadow-card);--glass-border-strong: 1px solid var(--border-dark);--glass-shadow: var(--shadow-sm);--glass-blur: none;--glass-blur-strong: none;--glass-blur-medium: none;--glass-blur-light: none;--glass-background-dark: var(--bg-sidebar);--glass-card-dark-bg: var(--bg-sidebar);--glass-card-dark-border: 1px solid color-mix(in srgb, var(--core-white) 10%, transparent);--glass-card-dark-shadow: var(--shadow-md);--text-shadow: none;--text-shadow-sm: none;--text-shadow-strong: none;--text-shadow-on-image: 0 2px 4px color-mix(in srgb, var(--core-black) 60%, transparent);--spinner-border: 4px;--error-background: var(--error-light);--error-text: var(--error);--error-border: color-mix(in srgb, var(--color-alert) 30%, transparent);--error-light: color-mix(in srgb, var(--color-alert) 45%, transparent);--success-light: color-mix(in srgb, var(--color-success) 60%, transparent);--success-background: var(--success-bg);--message-user-max-width: 70%;--message-ai-max-width: 80%;--message-error-max-width: 60%;--message-mobile-max-width: 85%;--score-mild: var(--color-success);--score-mild-bg: color-mix(in srgb, var(--color-success) 12%, transparent);--score-moderate: var(--color-warn);--score-moderate-bg: color-mix(in srgb, var(--color-warn) 12%, transparent);--score-severe: var(--color-categorical-8);--score-severe-bg: color-mix(in srgb, var(--color-categorical-8) 12%, transparent);--score-critical: var(--color-alert);--score-critical-bg: color-mix(in srgb, var(--color-alert) 12%, transparent);--score-controlled: var(--color-success);--score-controlled-bg: color-mix(in srgb, var(--color-success) 12%, transparent);--score-info: var(--color-info);--score-info-bg: color-mix(in srgb, var(--color-info) 12%, transparent);--appt-consulta-bg: color-mix(in srgb, var(--color-categorical-5) 14%, transparent);--appt-consulta-color: var(--color-categorical-5);--appt-consulta-border: color-mix(in srgb, var(--color-categorical-5) 30%, transparent);--appt-retorno-bg: color-mix(in srgb, var(--color-categorical-3) 14%, transparent);--appt-retorno-color: var(--color-categorical-3);--appt-retorno-border: color-mix(in srgb, var(--color-categorical-3) 30%, transparent);--appt-procedimento-bg: color-mix(in srgb, var(--color-categorical-8) 14%, transparent);--appt-procedimento-color: var(--color-categorical-8);--appt-procedimento-border: color-mix(in srgb, var(--color-categorical-8) 30%, transparent);--appt-primeira-bg: color-mix(in srgb, var(--color-categorical-7) 14%, transparent);--appt-primeira-color: var(--color-categorical-7);--appt-primeira-border: color-mix(in srgb, var(--color-categorical-7) 30%, transparent);--appt-imunoterapia-bg: var(--color-brand-soft);--appt-imunoterapia-color: var(--color-brand-strong);--appt-imunoterapia-border: color-mix(in srgb, var(--color-brand) 30%, transparent);--appt-exame-bg: color-mix(in srgb, var(--color-categorical-4) 14%, transparent);--appt-exame-color: var(--color-categorical-4);--appt-exame-border: color-mix(in srgb, var(--color-categorical-4) 30%, transparent);--appt-teleconsulta-bg: color-mix(in srgb, var(--color-categorical-1) 14%, transparent);--appt-teleconsulta-color: var(--color-categorical-1);--appt-teleconsulta-border: color-mix(in srgb, var(--color-categorical-1) 30%, transparent);--appt-encaixe-bg: var(--color-warn-soft);--appt-encaixe-color: var(--color-warn);--appt-encaixe-border: color-mix(in srgb, var(--color-warn) 30%, transparent);--appt-avaliacao-bg: color-mix(in srgb, var(--color-categorical-2) 14%, transparent);--appt-avaliacao-color: var(--color-categorical-2);--appt-avaliacao-border: color-mix(in srgb, var(--color-categorical-2) 30%, transparent);--appt-default-bg: var(--color-tag);--appt-default-color: var(--color-text-muted);--appt-default-border: var(--color-border);--chart-primary: var(--color-brand);--chart-primary-light: color-mix(in srgb, var(--color-brand) 75%, var(--color-surface));--chart-primary-dark: var(--color-brand-strong);--chart-secondary: var(--color-accent-strong);--chart-secondary-light: var(--color-accent);--chart-accent-teal: var(--chart-primary-light);--chart-accent-teal-light: color-mix(in srgb, var(--color-brand) 50%, var(--color-surface));--chart-accent-gold: var(--color-accent);--chart-accent-gold-dark: color-mix(in srgb, var(--color-accent-strong) 85%, var(--core-black));--chart-hover-teal: var(--color-categorical-5);--chart-hover-gold: var(--color-accent-strong);--chart-hover-cyan: var(--color-categorical-2);--chart-text: var(--color-text);--chart-tooltip-bg: color-mix(in srgb, var(--color-brand) 90%, transparent);--chart-tooltip-border: var(--color-brand);--chart-grid: color-mix(in srgb, var(--color-text) 5%, transparent);--stat-blue: var(--color-categorical-3);--stat-orange: var(--color-categorical-8);--stat-red: var(--color-alert)}.dark{--primary: var(--color-brand-strong);--primary-rgb: 98, 165, 159;--primary-foreground: var(--color-bg);--primary-hover: color-mix(in srgb, var(--color-brand-strong) 85%, white);--primary-light: var(--color-brand-strong);--primary-dark: var(--color-brand);--bg-input-disabled: var(--color-surface-sunken);--text-link: var(--color-brand-strong);--border-input-focus: var(--color-brand-strong);--shadow-xs: 0 1px 2px color-mix(in srgb, var(--core-black) 15%, transparent);--shadow-sm: 0 1px 2px color-mix(in srgb, var(--core-black) 15%, transparent);--shadow: 0 2px 4px color-mix(in srgb, var(--core-black) 20%, transparent), 0 1px 2px color-mix(in srgb, var(--core-black) 15%, transparent);--shadow-md: 0 4px 8px color-mix(in srgb, var(--core-black) 25%, transparent), 0 2px 4px color-mix(in srgb, var(--core-black) 15%, transparent);--shadow-lg: 0 8px 16px color-mix(in srgb, var(--core-black) 30%, transparent), 0 4px 8px color-mix(in srgb, var(--core-black) 20%, transparent);--shadow-xl: 0 25px 50px -12px color-mix(in srgb, var(--core-black) 50%, transparent);--shadow-modal: 0 20px 60px color-mix(in srgb, var(--core-black) 50%, transparent);--shadow-card: 0 1px 2px color-mix(in srgb, var(--core-black) 20%, transparent);--shadow-card-hover: 0 2px 6px color-mix(in srgb, var(--core-black) 30%, transparent);--gradient-primary: linear-gradient(135deg, var(--color-brand) 0%, var(--color-brand-strong) 100%);--gradient-sidebar: linear-gradient(180deg, var(--color-bg) 0%, var(--color-surface-sunken) 100%);--success-light: color-mix(in srgb, var(--color-success) 35%, transparent);--warning-light: color-mix(in srgb, var(--color-warn) 35%, transparent);--error-light: color-mix(in srgb, var(--color-alert) 35%, transparent);--info-light: color-mix(in srgb, var(--color-info) 35%, transparent);--overlay-light: color-mix(in srgb, var(--color-text) 10%, transparent);--toast-success-bg: color-mix(in srgb, var(--color-success) 15%, transparent);--toast-success-border: color-mix(in srgb, var(--color-success) 35%, transparent);--toast-success-icon-bg: color-mix(in srgb, var(--color-success) 25%, transparent);--toast-error-bg: color-mix(in srgb, var(--color-alert) 15%, transparent);--toast-error-border: color-mix(in srgb, var(--color-alert) 35%, transparent);--toast-error-icon-bg: color-mix(in srgb, var(--color-alert) 25%, transparent);--toast-warning-bg: color-mix(in srgb, var(--color-warn) 15%, transparent);--toast-warning-border: color-mix(in srgb, var(--color-warn) 35%, transparent);--toast-warning-icon-bg: color-mix(in srgb, var(--color-warn) 25%, transparent);--toast-info-bg: color-mix(in srgb, var(--color-info) 15%, transparent);--toast-info-border: color-mix(in srgb, var(--color-info) 35%, transparent);--toast-info-icon-bg: color-mix(in srgb, var(--color-info) 25%, transparent);--primary-bg-subtle: color-mix(in srgb, var(--color-brand-strong) 5%, transparent);--primary-bg-light: color-mix(in srgb, var(--color-brand-strong) 8%, transparent);--primary-bg-medium: color-mix(in srgb, var(--color-brand-strong) 12%, transparent);--primary-bg-strong: color-mix(in srgb, var(--color-brand-strong) 18%, transparent);--primary-bg-hover: color-mix(in srgb, var(--color-brand-strong) 22%, transparent);--primary-border-light: color-mix(in srgb, var(--color-brand-strong) 15%, transparent);--primary-border-medium: color-mix(in srgb, var(--color-brand-strong) 25%, transparent);--primary-border-strong: color-mix(in srgb, var(--color-brand-strong) 40%, transparent);--bg-disabled: var(--color-surface-sunken);--scrollbar-track: var(--color-surface);--scrollbar-thumb: var(--color-brand);--scrollbar-thumb-hover: var(--color-brand-strong);--table-header-bg: color-mix(in srgb, var(--color-brand-strong) 12%, transparent);--table-header-border: color-mix(in srgb, var(--color-brand-strong) 25%, transparent);--table-row-even: color-mix(in srgb, var(--color-brand-strong) 5%, transparent);--table-cell-border: color-mix(in srgb, var(--color-text) 6%, transparent);--shadow-btn-primary: 0 4px 12px color-mix(in srgb, var(--color-brand) 30%, transparent);--shadow-btn-primary-hover: 0 6px 16px color-mix(in srgb, var(--color-brand) 40%, transparent);--shadow-btn-danger: 0 4px 12px color-mix(in srgb, var(--color-alert) 30%, transparent);--shadow-btn-danger-hover: 0 6px 16px color-mix(in srgb, var(--color-alert) 40%, transparent);--shadow-btn-success: 0 4px 12px color-mix(in srgb, var(--color-success) 30%, transparent);--shadow-btn-success-hover: 0 6px 16px color-mix(in srgb, var(--color-success) 40%, transparent);--shadow-btn-warning: 0 4px 12px color-mix(in srgb, var(--color-warn) 30%, transparent);--shadow-btn-warning-hover: 0 6px 16px color-mix(in srgb, var(--color-warn) 40%, transparent);--shadow-btn-info: 0 4px 12px color-mix(in srgb, var(--color-info) 30%, transparent);--shadow-btn-info-hover: 0 6px 16px color-mix(in srgb, var(--color-info) 40%, transparent);--event-consulta: var(--color-brand-strong);--event-retorno: var(--color-brand-strong);--calendar-particular: var(--color-brand-strong);--accent-teal: var(--color-brand-strong);--text-on-sidebar: var(--color-brand-strong);--text-on-sidebar-muted: color-mix(in srgb, var(--color-text) 75%, transparent);--sidebar-icon-filter: brightness(0) saturate(100%) invert(65%) sepia(50%) saturate(400%) hue-rotate(126deg) brightness(100%) contrast(88%);--sidebar-icon-filter-hover: brightness(0) saturate(100%) invert(80%) sepia(40%) saturate(500%) hue-rotate(126deg) brightness(110%) contrast(90%);--sidebar-icon-filter-active: brightness(0) saturate(100%) invert(80%) sepia(40%) saturate(500%) hue-rotate(126deg) brightness(115%) contrast(92%);--sidebar-border: color-mix(in srgb, var(--color-brand-strong) 25%, transparent);--sidebar-tooltip-bg: var(--color-bg);--sidebar-tooltip-text: color-mix(in srgb, var(--color-text) 90%, transparent);--event-whatsapp: #4ADE80;--white: var(--bg-card);--error-text: var(--color-alert-strong);--appt-imunoterapia-color: var(--color-brand-strong);--chart-primary: var(--color-brand-strong);--chart-primary-light: color-mix(in srgb, var(--color-brand-strong) 70%, var(--color-text));--chart-primary-dark: var(--color-brand);--chart-accent-teal-light: color-mix(in srgb, var(--color-brand-strong) 50%, var(--color-text));--chart-tooltip-border: var(--color-brand-strong)}.glass,.glass-subtle,.glass-strong,.glass-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius);transition:var(--transition-theme)}.glass-dark,.glass-dark-medium,.glass-card-dark{background:var(--bg-sidebar);border:1px solid color-mix(in srgb,var(--core-white) 10%,transparent);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);color:var(--text-on-sidebar);transition:var(--transition-theme)}.glass-teal{background:var(--bg-highlight);border:1px solid color-mix(in srgb,var(--color-brand) 20%,transparent);box-shadow:var(--shadow-sm)}.glass-gold{background:color-mix(in srgb,var(--color-accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-accent) 20%,transparent);box-shadow:var(--shadow-sm)}.page-container{flex:1;max-width:1440px;margin:0 auto;width:100%;padding:var(--space-4) var(--space-6)}@media(max-width:1024px){.page-container{padding:var(--space-4) var(--space-5)}}@media(max-width:768px){.page-container{padding:var(--space-3) var(--space-4)}}.page-header-section{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);padding-top:var(--space-2)}.page-header-section .page-header-info{flex:1;min-width:0}.page-header-section .page-title{margin:0 0 var(--space-1) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.02em;line-height:var(--line-height-tight)}@media(max-width:768px){.page-header-section .page-title{font-size:var(--font-size-2xl)}}.page-header-section .page-subtitle{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.page-header-section .page-header-actions{display:flex;gap:var(--space-3);align-items:center;flex-shrink:0}@media(max-width:768px){.page-header-section .page-header-actions{width:100%}.page-header-section{flex-direction:column;gap:var(--space-3)}}.page-toolbar{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;transition:background-color var(--transition-fast),border-color var(--transition-fast)}@media(max-width:768px){.page-toolbar{flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-3)}}.page-tabs{display:flex;gap:var(--space-1);background:var(--neutral-bg-light);border-radius:var(--radius);padding:3px}@media(max-width:768px){.page-tabs{width:100%;overflow-x:auto}}.page-tab{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.page-tab svg{flex-shrink:0;opacity:.6;width:16px;height:16px}.page-tab:hover{background:var(--primary-bg-medium);color:var(--primary)}.page-tab:hover svg{opacity:1}.page-tab.active,.page-tab--active{background:var(--primary);color:var(--text-on-primary)}.page-tab.active svg,.page-tab--active svg{opacity:1}.page-search{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:200px;max-width:360px}@media(max-width:768px){.page-search{max-width:100%}}.page-search-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-input);transition:all var(--transition-fast)}.page-search-input::-moz-placeholder{color:var(--text-tertiary)}.page-search-input::placeholder{color:var(--text-tertiary)}.page-search-input:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.page-toolbar-spacer{flex:1}@media(max-width:768px){.page-toolbar-spacer{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-sm);font-family:var(--font-family-sans);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none;line-height:1}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn--sm{padding:6px var(--space-3);font-size:var(--font-size-xs)}.btn--md{padding:var(--space-2) var(--space-5);font-size:var(--font-size-sm)}.btn--lg{padding:var(--space-3) var(--space-8);font-size:var(--font-size-sm)}.btn--primary{background:var(--primary);color:var(--text-on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-dark)}.btn--primary:active:not(:disabled){background:var(--primary-dark)}.btn--secondary{background:var(--primary-bg-medium);color:var(--primary);border:1px solid var(--primary-border-medium)}.btn--secondary:hover:not(:disabled){background:var(--primary-bg-hover);border-color:var(--primary-border-strong)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--neutral-bg-medium);color:var(--text-primary)}.btn--danger{background:var(--error);color:var(--text-on-primary)}.btn--danger:hover:not(:disabled){background:var(--error-hover)}.btn--outline{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn--outline:hover:not(:disabled){background:var(--primary-bg-medium)}.btn--icon{padding:var(--space-2);border-radius:var(--radius-sm)}.btn--icon.btn--sm{padding:var(--space-1)}.btn--icon.btn--lg{padding:var(--space-3)}.page-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}@media(max-width:768px){.page-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}}.page-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);display:flex;align-items:center;gap:var(--space-3);transition:box-shadow var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.page-stat-card:hover{box-shadow:var(--shadow-card-hover)}.page-stat-card .stat-icon{width:44px;height:44px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:var(--font-size-xl)}.page-stat-card .stat-content{display:flex;flex-direction:column;gap:2px;min-width:0}.page-stat-card .stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-weight-medium)}.page-stat-card .stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.2}.page-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);transition:background-color var(--transition-fast),border-color var(--transition-fast)}@media(max-width:768px){.page-card{padding:var(--space-3) var(--space-4)}}.page-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.page-card-header h2,.page-card-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.page-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}@media(max-width:768px){.page-grid{grid-template-columns:1fr;gap:var(--space-4)}}.page-empty{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-16) var(--space-8);min-height:300px;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.page-empty .empty-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.page-empty h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-2)}.page-empty p{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-6);max-width:400px}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-4)}.page-loading .page-spinner{width:40px;height:40px;border:3px solid var(--primary-border-medium);border-top-color:var(--primary);border-radius:50%;animation:page-spin .8s linear infinite}.page-loading p{color:var(--text-secondary);font-size:var(--font-size-sm)}@keyframes page-spin{to{transform:rotate(360deg)}}.page-filters{display:flex;gap:var(--space-2);flex-wrap:wrap}.page-filter-chip{padding:4px var(--space-3);border:1px solid var(--border);border-radius:var(--radius-full);background:transparent;color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-fast)}.page-filter-chip:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg-light)}.page-filter-chip.active,.page-filter-chip--active{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.page-table{width:100%;border-collapse:separate;border-spacing:0}.page-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);background:var(--neutral-bg-subtle)}.page-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:1px solid var(--border-light)}.page-table tbody tr{transition:background var(--transition-fast)}.page-table tbody tr:hover{background:var(--primary-bg-subtle)}.page-table tbody tr:last-child td{border-bottom:none}.page-badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;transition:background-color var(--transition-fast),color var(--transition-fast)}.page-badge--success{background:var(--badge-success-bg);color:var(--primary)}.page-badge--warning{background:var(--badge-warning-bg);color:var(--secondary-dark)}.page-badge--danger{background:var(--badge-danger-bg);color:var(--error)}.page-badge--info{background:var(--badge-info-bg);color:var(--primary-dark)}.page-badge--neutral{background:var(--badge-neutral-bg);color:var(--text-secondary)}.page-form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.page-form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.page-form-group label .required{color:var(--error);margin-left:var(--space-0-5)}.page-form-group input,.page-form-group textarea,.page-form-group select{padding:var(--space-2) var(--space-3);border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-input);color:var(--text-primary);font-family:var(--font-family-sans);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}.page-form-group input::-moz-placeholder,.page-form-group textarea::-moz-placeholder,.page-form-group select::-moz-placeholder{color:var(--text-placeholder)}.page-form-group input::placeholder,.page-form-group textarea::placeholder,.page-form-group select::placeholder{color:var(--text-placeholder)}.page-form-group input:hover:not(:focus),.page-form-group textarea:hover:not(:focus),.page-form-group select:hover:not(:focus){border-color:var(--border-dark)}.page-form-group input:focus,.page-form-group textarea:focus,.page-form-group select:focus{outline:none;border-color:var(--border-input-focus);box-shadow:var(--focus-ring)}.page-form-group input:disabled,.page-form-group textarea:disabled,.page-form-group select:disabled{background:var(--bg-input-disabled);color:var(--text-tertiary);cursor:not-allowed}.page-form-group input option,.page-form-group textarea option,.page-form-group select option{background:var(--bg-card);color:var(--text-primary)}.page-form-group textarea{resize:vertical;min-height:80px}.page-form-group .field-error{font-size:var(--font-size-xs);color:var(--error);margin-top:var(--space-0-5)}.page-form-group .field-hint{font-size:var(--font-size-xs);color:var(--text-tertiary)}.page-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:768px){.page-form-row{grid-template-columns:1fr}}.page-divider{height:1px;background:var(--border);border:none;margin:var(--space-6) 0;transition:background-color var(--transition-fast)}.page-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-5);border-top:1px solid var(--border);transition:border-color var(--transition-fast)}@media(max-width:768px){.page-action-bar{flex-direction:column-reverse;align-items:stretch}.page-action-bar .btn{width:100%;justify-content:center}}.page-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.page-section-header h2,.page-section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}.page-section-header p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.exams-page{padding:var(--space-4) var(--space-6);max-width:1440px;margin:0 auto}@media(max-width:1024px){.exams-page{padding:var(--space-4) var(--space-5)}}@media(max-width:768px){.exams-page{padding:var(--space-4)}}.exams-header{margin-bottom:var(--space-6)}.exams-header .header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.exams-header .header-left h1{margin:0 0 var(--space-1) 0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--text-primary);letter-spacing:-.02em}.exams-header .header-left .subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.exams-header .header-right{display:flex;gap:var(--space-3)}.stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.stats-container .stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;transition:var(--transition-theme);padding:var(--space-4)}.stats-container .stat-card .stat-value{font-size:var(--font-size-2xl-plus);font-weight:var(--font-weight-semibold);color:var(--primary);margin-bottom:var(--space-2)}.stats-container .stat-card .stat-label{color:var(--text-secondary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em}.secretary-info .info-card{background:var(--info-bg);border-radius:var(--radius);padding:var(--space-5);border:1px solid var(--info);text-align:center}.secretary-info .info-card h3{font-size:var(--font-size-2xl);margin-bottom:1rem;color:var(--text-primary)}.secretary-info .info-card p{color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.secretary-info .info-card p:last-child{margin-bottom:0}.secretary-info .info-card p strong{color:var(--text-primary)}.filters-container{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters-container .filter-group{flex:1;min-width:200px}.filters-container .filter-input,.filters-container .filter-select{width:100%;padding:.75rem 1rem;background:var(--primary-bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);transition:all .3s ease}.filters-container .filter-input:focus,.filters-container .filter-select:focus{outline:none;border-color:var(--primary);background:var(--primary-bg-medium)}.filters-container .filter-input::-moz-placeholder,.filters-container .filter-select::-moz-placeholder{color:var(--text-tertiary)}.filters-container .filter-input::placeholder,.filters-container .filter-select::placeholder{color:var(--text-tertiary)}.filters-container .filter-select{cursor:pointer}.filters-container .filter-select option{background:var(--bg-card);color:var(--text-primary)}.exams-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}@media(max-width:768px){.exams-list{grid-template-columns:1fr}}.exam-card{background:var(--primary-bg-subtle);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;transition:all var(--duration-normal) ease;cursor:pointer}.exam-card:hover{background:var(--primary-bg-medium);border-color:var(--primary)}.exam-card .exam-header{padding:1rem;background:var(--neutral-bg-subtle);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.exam-card .exam-header .exam-type{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--primary);background:var(--primary-bg-strong);padding:.25rem .75rem;border-radius:var(--radius-2xl)}.exam-card .exam-header .ocr-badge{font-size:var(--font-size-xs);font-weight:600;color:var(--success);background:var(--success-bg);padding:.25rem .5rem;border-radius:var(--radius-2xl)}.exam-card .exam-body{padding:1.25rem}.exam-card .exam-body h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exam-card .exam-body .exam-meta{display:flex;flex-direction:column;gap:.4rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.exam-card .exam-body .exam-meta span{display:flex;align-items:center;gap:.5rem}.exam-card .exam-footer{padding:1rem 1.25rem;background:var(--neutral-bg-subtle);border-top:1px solid var(--border)}.exam-card .exam-footer .btn-link{background:none;border:none;color:var(--primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .3s ease}.exam-card .exam-footer .btn-link:hover{color:var(--primary-dark);text-decoration:underline}.empty-state{grid-column:1/-1;text-align:center;padding:4rem 2rem;background:var(--neutral-bg-subtle);border-radius:var(--radius-3xl);border:1px dashed var(--border)}.empty-state p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:.5rem}.empty-state p.subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-modal-overlay);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-modal);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}.modal.modal-large{max-width:900px}@media(max-width:768px){.modal{max-width:100%;max-height:100vh;border-radius:0}}@keyframes modalSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0}.modal-header .btn-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-4xl);line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-header .btn-close:hover{background:var(--neutral-bg-hover);color:var(--text-primary)}.modal-actions{padding:1.5rem 2rem;border-top:1px solid var(--border);display:flex;gap:1rem;justify-content:flex-end}@media(max-width:768px){.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.upload-form{padding:2rem}.upload-form .form-group{margin-bottom:1.5rem}.upload-form .form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:var(--font-size-sm)}.upload-form .form-group input[type=text],.upload-form .form-group input[type=date],.upload-form .form-group input[type=file],.upload-form .form-group select,.upload-form .form-group textarea{width:100%;padding:.75rem 1rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit;transition:all .3s ease}.upload-form .form-group input[type=text]:focus,.upload-form .form-group input[type=date]:focus,.upload-form .form-group input[type=file]:focus,.upload-form .form-group select:focus,.upload-form .form-group textarea:focus{outline:none;border-color:var(--primary);background:var(--bg-card)}.upload-form .form-group input[type=text]:disabled,.upload-form .form-group input[type=date]:disabled,.upload-form .form-group input[type=file]:disabled,.upload-form .form-group select:disabled,.upload-form .form-group textarea:disabled{opacity:.5;cursor:not-allowed}.upload-form .form-group input[type=file]{cursor:pointer;padding:.5rem}.upload-form .form-group input[type=file]::file-selector-button{padding:.5rem 1rem;background:var(--primary-bg-strong);border:1px solid var(--primary-border-medium);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .3s ease}.upload-form .form-group input[type=file]::file-selector-button:hover{background:var(--primary-bg-hover)}.upload-form .form-group select{cursor:pointer}.upload-form .form-group select option{background:var(--bg-card);color:var(--text-primary)}.upload-form .form-group textarea{resize:vertical;min-height:80px}.upload-form .form-group .form-hint{display:block;font-size:var(--font-size-xs);color:var(--text-tertiary);margin-top:.4rem}.progress-bar{position:relative;width:100%;height:32px;background:var(--neutral-bg-light);border-radius:var(--radius-3xl);overflow:hidden;margin-bottom:1rem;border:1px solid var(--border)}.progress-bar .progress-fill{height:100%;background:var(--gradient-primary);transition:width .3s ease;border-radius:var(--radius-3xl)}.progress-bar .progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-primary);font-weight:600;font-size:var(--font-size-sm);text-shadow:var(--text-shadow-on-image)}.exam-detail{padding:2rem;max-height:60vh;overflow-y:auto}.exam-detail .detail-section{margin-bottom:2rem}.exam-detail .detail-section:last-child{margin-bottom:0}.exam-detail .detail-section h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.exam-detail .detail-section p{color:var(--text-secondary);line-height:1.6}.exam-detail .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.exam-detail .detail-item{display:flex;flex-direction:column;gap:.25rem}.exam-detail .detail-item label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.exam-detail .detail-item span{font-size:var(--font-size-sm);color:var(--text-primary)}.exam-detail .ocr-text{background:var(--neutral-bg-subtle);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem;color:var(--text-secondary);font-family:Courier New,monospace;font-size:var(--font-size-sm);line-height:1.6;white-space:pre-wrap;max-height:400px;overflow-y:auto}.exam-detail .ocr-text::-webkit-scrollbar{width:6px}.exam-detail .ocr-text::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-xs)}.exam-detail .ocr-text::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-xs)}.exam-detail .ocr-text::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.alert{padding:1rem;border-radius:var(--radius-lg);margin-bottom:1rem;font-size:var(--font-size-sm);display:flex;align-items:center;gap:.75rem}.alert.alert-error{background:var(--toast-error-bg);border:1px solid var(--toast-error-border);color:var(--error)}.alert.alert-warning{background:var(--toast-warning-bg);border:1px solid var(--toast-warning-border);color:var(--warning)}.alert.alert-success{background:var(--toast-success-bg);border:1px solid var(--toast-success-border);color:var(--success)}.btn{padding:.75rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .3s ease;border:none;display:inline-flex;align-items:center;gap:.5rem;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn .icon{font-size:1.1rem}.btn-primary{background:var(--primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--neutral-bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--neutral-bg-medium);border-color:var(--border-dark)}.btn-danger{background:var(--toast-error-bg);color:var(--error);border:1px solid var(--toast-error-border)}.btn-danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.loading-container .spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.loading-container p{color:var(--text-secondary);font-size:var(--font-size-sm)}@keyframes spin{to{transform:rotate(360deg)}}.modal::-webkit-scrollbar,.exam-detail::-webkit-scrollbar{width:8px}.modal::-webkit-scrollbar-track,.exam-detail::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-sm)}.modal::-webkit-scrollbar-thumb,.exam-detail::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.modal::-webkit-scrollbar-thumb:hover,.exam-detail::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
