.main-layout{display:flex;min-height:100vh;background:var(--bg-page);transition:background-color var(--transition-fast)}.main-content{position:relative;display:flex;flex-direction:column;min-height:100vh;background:var(--bg-page);transition:all .3s ease;padding:0 var(--space-6) var(--space-6);flex:1;max-width:100%}.main-content .welcome-section{margin-bottom:var(--space-6);padding:var(--space-6) var(--space-6) var(--space-4)}.main-content .welcome-section h1{margin:0 0 var(--space-1) 0;font-size:var(--font-size-3xl);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.main-content .welcome-section p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500}.page-title{margin:0 0 var(--space-6) 0;font-size:var(--font-size-3xl);font-weight:600;color:var(--text-primary);letter-spacing:-.02em}.section-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-6) 0}.card-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-4) 0}.subtitle{margin:0;font-size:var(--font-size-lg);font-weight:500;color:var(--text-secondary)}.text-secondary{color:var(--text-secondary);font-size:var(--font-size-sm)}.glass-card,.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:none;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.glass-card:hover,.stat-card:hover{box-shadow:var(--shadow-card-hover)}.stat-card{display:flex;align-items:center;padding:var(--space-5)}.stat-card .stat-icon{margin-right:var(--space-4);display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity var(--transition-fast)}.stat-card .stat-content .stat-value{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);line-height:1.2;margin-bottom:var(--space-1);letter-spacing:-.02em}.stat-card .stat-content .stat-label{color:var(--text-secondary);font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.stat-card:hover .stat-icon{opacity:1}.stat-card.teal .stat-icon{color:var(--primary)}.stat-card.teal-light .stat-icon{color:var(--primary-light)}.stat-card.gold .stat-icon{color:var(--secondary)}.stat-card.accent-teal .stat-icon{color:var(--accent-teal)}.stat-card.gold-light .stat-icon{color:var(--secondary-light)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin:0 auto;max-width:100%}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);margin:0 auto;max-width:100%}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin:0 auto;max-width:100%}.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6);margin:0 auto;max-width:100%}.glass-table-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);overflow:hidden;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.glass-table-container table{width:100%;border-collapse:collapse}.glass-table-container table thead{background:var(--table-header-bg)}.glass-table-container table thead th{padding:var(--space-4);text-align:left;font-weight:600;color:var(--primary);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--table-header-border)}.glass-table-container table tbody tr{transition:background-color var(--transition-fast)}.glass-table-container table tbody tr:hover{background:var(--table-row-hover)}.glass-table-container table tbody tr:nth-child(2n){background:var(--table-row-even)}.glass-table-container table tbody tr:nth-child(2n):hover{background:var(--table-row-hover)}.glass-table-container table tbody tr td{padding:var(--space-4);border-bottom:1px solid var(--table-cell-border);color:var(--text-primary);font-size:var(--font-size-sm)}.btn-primary{background:var(--primary);color:var(--text-on-primary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);border:none;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover,.btn-primary:active{background:var(--primary-dark)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);border:1px solid var(--border-medium);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-hover-light);border-color:var(--border-dark)}.btn-secondary:active{background:var(--bg-hover-subtle)}.btn-glass{background:var(--bg-card);color:var(--primary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-sm);border:1px solid var(--border-medium);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.btn-glass:hover{background:var(--bg-hover-light);border-color:var(--primary-light)}.btn-glass:active{background:var(--bg-hover-subtle)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-3);border:1px solid var(--border-medium);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--bg-input);color:var(--text-primary);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}.form-group input:hover:not(:focus),.form-group textarea:hover:not(:focus),.form-group select:hover:not(:focus){border-color:var(--border-dark)}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder,.form-group select::-moz-placeholder{color:var(--text-placeholder)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:var(--text-placeholder)}.form-group textarea{resize:vertical;min-height:100px}.loading-state,.empty-state,.error-state{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-10);text-align:center;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.loading-state{color:var(--primary)}.empty-state{color:var(--text-secondary)}.error-state{color:var(--error);background:var(--error-bg)}@media(max-width:1440px){.main-content{padding:var(--space-4) var(--space-5)}}@media(max-width:1024px){.main-content{padding:var(--space-4)}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.main-content{padding:var(--space-3) var(--space-4)}.main-content .welcome-section{padding:var(--space-4)}.main-content .welcome-section h1{font-size:var(--font-size-2xl)}.main-content .welcome-section p{font-size:var(--font-size-xs)}.page-title{font-size:var(--font-size-2xl)}.section-title{font-size:var(--font-size-xl)}.grid-4,.grid-3,.grid-2,.grid-auto{grid-template-columns:1fr;gap:var(--space-4)}}.app-version--global{position:fixed;bottom:var(--space-2);right:var(--space-3);font-size:var(--font-size-xs);color:var(--text-tertiary);opacity:.6;pointer-events:none;z-index:1;transition:opacity var(--transition-fast)}.app-version--global:hover{opacity:1}.glass,.glass-subtle,.glass-strong,.glass-card,.stat-card{background:var(--bg-card);border:1px solid var(--border);box-shadow:none;border-radius:var(--radius);transition:var(--transition-theme)}.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}.molecular-allergy-content{flex:1;max-width:1440px;margin:0 auto;width:100%;padding:var(--space-4) var(--space-6)}.molecular-allergy-content .welcome-section{margin-bottom:var(--space-6);padding-top:var(--space-2)}.molecular-allergy-content .welcome-section 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}.molecular-allergy-content .welcome-section p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.wizard-step-content__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0 0 var(--space-1) 0}.wizard-step-content__desc{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--space-4) 0}.wizard-step-content__selected{padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:var(--radius);margin-top:var(--space-4);font-size:var(--font-size-sm);color:var(--text-primary)}.molecular-allergy-patient-selector{display:flex;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-4)}.molecular-allergy-patient-selector__field{flex:1;min-width:0}.molecular-allergy-patient-selector__label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-1)}.molecular-allergy-empty{background:var(--bg-card);border:1px dashed var(--border);color:var(--text-secondary);margin-bottom:var(--space-4)}.molecular-allergy-empty h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.wizard-patient-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:var(--font-size-sm);color:var(--text-primary)}.wizard-patient-banner__clear{margin-left:auto;background:transparent;border:none;color:var(--primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.wizard-patient-banner__clear:hover{text-decoration:underline}.molecular-catalog .catalog-filters{display:flex;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.molecular-catalog .catalog-filters input,.molecular-catalog .catalog-filters select{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input, var(--bg-card));color:var(--text-primary);font-size:var(--font-size-sm);min-width:180px}.molecular-catalog .catalog-filters input[type=text]{flex:1;min-width:240px}.molecular-catalog .catalog-table{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}.molecular-catalog .catalog-table table{width:100%;border-collapse:collapse}.molecular-catalog .catalog-table th{background:var(--bg-hover);padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-xs);text-transform:uppercase;color:var(--text-secondary);font-weight:var(--font-weight-semibold);letter-spacing:.05em;border-bottom:1px solid var(--border)}.molecular-catalog .catalog-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-primary);font-size:var(--font-size-sm)}.molecular-catalog .catalog-table tr{cursor:pointer;transition:background var(--transition-fast)}.molecular-catalog .catalog-table tr:hover{background:var(--bg-hover)}.molecular-catalog .catalog-table .badge-major{display:inline-block;padding:var(--space-0-5) var(--space-2);background:var(--primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.molecular-catalog .catalog-table .family-tag{display:inline-block;padding:var(--space-0-5) var(--space-2);background:var(--bg-hover);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.component-drawer{position:fixed;top:0;right:0;width:420px;max-width:90vw;height:100vh;background:var(--bg-card);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);overflow-y:auto;z-index:1000;padding:var(--space-6)}.component-drawer .drawer-close{position:absolute;top:var(--space-4);right:var(--space-4);background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-size-2xl);cursor:pointer}.component-drawer .drawer-close:hover{color:var(--text-primary)}.component-drawer h2{margin:0 0 var(--space-2) 0;font-size:var(--font-size-2xl);color:var(--text-primary)}.component-drawer .drawer-section{margin-top:var(--space-5)}.component-drawer .drawer-section h3{font-size:var(--font-size-md);color:var(--text-primary);margin:0 0 var(--space-3) 0;padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.component-drawer .drawer-section .field-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--font-size-sm)}.component-drawer .drawer-section .field-row .field-label{color:var(--text-secondary)}.component-drawer .drawer-section .field-row .field-value{color:var(--text-primary);font-weight:var(--font-weight-medium)}.component-drawer .drawer-section .cross-reaction-item{padding:var(--space-3);background:var(--bg-hover);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.component-drawer .drawer-section .cross-reaction-item .cr-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-sm)}.component-drawer .drawer-section .cross-reaction-item .cr-meta{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-1)}.sensitization-input{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6);box-shadow:var(--shadow-card)}.sensitization-input .input-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.sensitization-input label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:var(--space-1);font-weight:var(--font-weight-medium)}.sensitization-input input,.sensitization-input select,.sensitization-input textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input, var(--bg-card));color:var(--text-primary);font-size:var(--font-size-sm);font-family:inherit}.sensitization-input .form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.sensitization-input .patient-search-result{padding:var(--space-3);background:var(--bg-hover);border-radius:var(--radius-md);margin-top:var(--space-2);cursor:pointer}.sensitization-input .patient-search-result:hover,.sensitization-input .patient-search-result.selected{background:var(--primary);color:#fff}.cross-reaction-analysis .analysis-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4);margin-bottom:var(--space-6)}.cross-reaction-analysis .analysis-summary .summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-card)}.cross-reaction-analysis .analysis-summary .summary-card .summary-label{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.cross-reaction-analysis .analysis-summary .summary-card .summary-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);margin-top:var(--space-1)}.cross-reaction-analysis .analysis-summary .summary-card.high-risk .summary-value{color:var(--error)}.cross-reaction-analysis .analysis-summary .summary-card.moderate-risk .summary-value{color:var(--warning)}.cross-reaction-analysis .analysis-summary .summary-card.low-risk .summary-value{color:var(--success)}.cross-reaction-analysis .cluster-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin-bottom:var(--space-4);box-shadow:var(--shadow-card);border-left:4px solid var(--border)}.cross-reaction-analysis .cluster-card.risk-high{border-left-color:var(--error)}.cross-reaction-analysis .cluster-card.risk-moderate{border-left-color:var(--warning)}.cross-reaction-analysis .cluster-card.risk-low{border-left-color:var(--success)}.cross-reaction-analysis .cluster-card .cluster-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-4)}.cross-reaction-analysis .cluster-card .cluster-header h3{margin:0;font-size:var(--font-size-xl);color:var(--text-primary)}.cross-reaction-analysis .cluster-card .cluster-header .risk-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase}.cross-reaction-analysis .cluster-card .cluster-header .risk-badge.high{background:var(--error);color:#fff}.cross-reaction-analysis .cluster-card .cluster-header .risk-badge.moderate{background:var(--warning);color:#fff}.cross-reaction-analysis .cluster-card .cluster-header .risk-badge.low{background:var(--success);color:#fff}.cross-reaction-analysis .cluster-card .cluster-section{margin-top:var(--space-4)}.cross-reaction-analysis .cluster-card .cluster-section h4{font-size:var(--font-size-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-3) 0}.cross-reaction-analysis .cluster-card .chip-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.cross-reaction-analysis .cluster-card .chip-list .chip{padding:var(--space-1) var(--space-2-5);background:var(--bg-hover);border-radius:var(--radius-full, 9999px);font-size:var(--font-size-xs);color:var(--text-primary);border:1px solid var(--border)}.cross-reaction-analysis .cluster-card .chip-list .chip.sensitized{background:var(--primary);color:#fff;border-color:var(--primary)}.cross-reaction-analysis .cluster-card .reactive-list .reactive-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--bg-hover);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.cross-reaction-analysis .cluster-card .reactive-list .reactive-item .reactive-info .reactive-name{font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:var(--font-size-sm)}.cross-reaction-analysis .cluster-card .reactive-list .reactive-item .reactive-info .reactive-meta{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--space-0-5)}.cross-reaction-analysis .cluster-card .reactive-list .reactive-item .risk-score{display:inline-block;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--bg-card);border:1px solid var(--border)}.cross-reaction-analysis .empty-state{text-align:center;padding:var(--space-8) var(--space-6);color:var(--text-secondary);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--radius)}.allergy-network-graph{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-card)}.allergy-network-graph svg{width:100%;height:600px;display:block}.allergy-network-graph .graph-legend{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--font-size-xs);color:var(--text-secondary)}.allergy-network-graph .graph-legend .legend-item{display:flex;align-items:center;gap:var(--space-2)}.allergy-network-graph .graph-legend .legend-dot{width:12px;height:12px;border-radius:50%}.allergy-network-graph .graph-tooltip{position:absolute;padding:var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-xs);color:var(--text-primary);pointer-events:none;z-index:100}.sensitization-history .history-table{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card)}.sensitization-history .history-table table{width:100%;border-collapse:collapse}.sensitization-history .history-table th,.sensitization-history .history-table td{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-size-sm);border-bottom:1px solid var(--border)}.sensitization-history .history-table th{background:var(--bg-hover);font-size:var(--font-size-xs);text-transform:uppercase;color:var(--text-secondary);font-weight:var(--font-weight-semibold)}.sensitization-history .history-table .delete-btn{color:var(--error);background:transparent;border:none;cursor:pointer;font-size:var(--font-size-sm)}.sensitization-history .history-table .delete-btn:hover{text-decoration:underline}.molecular-audit-badge{display:inline-block;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;color:#fff}.molecular-audit-badge--create{background:var(--success)}.molecular-audit-badge--update{background:var(--warning)}.molecular-audit-badge--delete{background:var(--error)}.btn-primary,.btn-secondary{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);border:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}: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)}.wizard-stepper{display:flex;align-items:center;gap:0;padding:var(--space-4) var(--space-5);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-5)}@media(max-width:640px){.wizard-stepper{padding:var(--space-3)}}.wizard-stepper__connector{flex:1;height:2px;background:var(--border);transition:background var(--transition-normal)}.wizard-stepper__connector--done{background:var(--primary)}.wizard-stepper__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex-shrink:0;opacity:.4;transition:opacity var(--transition-normal)}.wizard-stepper__step--active,.wizard-stepper__step--done{opacity:1}.wizard-stepper__dot{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);background:var(--border);color:var(--text-secondary);transition:all var(--transition-normal)}.wizard-stepper__step--active .wizard-stepper__dot{background:var(--primary);color:var(--text-on-primary)}.wizard-stepper__step--done .wizard-stepper__dot{background:var(--success, #16a34a);color:#fff}.wizard-stepper__label{font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:color var(--transition-normal)}.wizard-stepper__step--active .wizard-stepper__label{color:var(--primary);font-weight:var(--font-weight-semibold)}@media(max-width:640px){.wizard-stepper__label{font-size:10px}}.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border-light)}.wizard-nav__info{font-size:var(--font-size-sm);color:var(--text-tertiary)}.wizard-nav__btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--border);background:var(--bg-card);color:var(--text-primary)}.wizard-nav__btn:hover{background:var(--bg-card-hover)}.wizard-nav__btn--primary{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.wizard-nav__btn--primary:hover{opacity:.9}.wizard-nav__btn:disabled{opacity:.4;cursor:not-allowed}
