body{background-color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}.app-container{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;background:#fdfdfd;border-bottom:1px solid #fff;padding:1rem 0;position:sticky;top:0}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem;display:flex}.header-left{align-items:center;gap:1rem;display:flex}.header-logo{object-fit:contain;width:40px;height:40px}.header-title{color:#fff;font-size:1.5rem;font-weight:600}.header-user{color:#fff;font-size:.9rem}.logout-button{color:#fff;cursor:pointer;background:#1a73e8;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.9rem}.logout-button:hover{background:#1669d6}.app-layout{flex:1;display:flex}.app-main{background:#f3f3f3;flex:1;padding:1rem}.app-sidebar{background:#f3f1f1;border-right:1px solid #e1e5e9;width:250px}.sidebar-nav{padding:1rem 0}.sidebar-link{color:#666;border-left:3px solid #0000;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;display:block}.sidebar-link:hover{color:#000;background:#f8f9fa}.sidebar-link.active{color:#1a73e8;background:#e8f0fe;border-left-color:#1a73e8;font-weight:500}@media (max-width:768px){.app-layout{flex-direction:column}.app-sidebar{border-bottom:1px solid #e1e5e9;border-right:none;width:100%}.sidebar-nav{padding:.5rem;display:flex;overflow-x:auto}.sidebar-link{white-space:nowrap;border-bottom:2px solid #0000;border-left:none;padding:.5rem 1rem}.sidebar-link.active{border-bottom-color:#83b7fa;border-left:none}.header-content{flex-direction:column;align-items:flex-start;gap:1rem}.header-left{flex-direction:column;align-items:flex-start;gap:.5rem}}.dashboard-container{max-width:1200px;margin:0 auto;padding:1rem}.dashboard-header{margin-bottom:2rem}.dashboard-title{color:#1a1a1a;margin-bottom:.5rem;font-size:2rem;font-weight:600}.dashboard-subtitle{color:#666;font-size:1.25rem;font-weight:400}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.stat-card{background:#fff;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.stat-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.stat-card-title{color:#1a1a1a;margin:0;font-size:1rem;font-weight:600}.stat-card-icon{border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.stat-card-icon svg{width:24px;height:24px}.icon-users{color:#1a73e8}.icon-calendar{color:#34a853}.icon-clock{color:#f9ab00}.stat-card-value{color:#1a1a1a;margin:0 0 .5rem;font-size:2rem;font-weight:700}.stat-card-description{color:#666;margin:0;font-size:.875rem;line-height:1.4}.skeleton{background:#f5f5f5;border-radius:8px;padding:1.5rem}.skeleton-text{background:#e0e0e0;border-radius:4px;height:1.5rem;margin-bottom:.5rem;animation:1.5s ease-in-out infinite pulse}.skeleton-text-sm{background:#e0e0e0;border-radius:4px;width:70%;height:1rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.dashboard-container{padding:.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1rem}.stat-card-value{font-size:1.75rem}}.login-container{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:440px;padding:48px 40px;position:relative;overflow:hidden;box-shadow:0 20px 40px #00000026}.login-card:before{content:"";background:#fff;height:4px;position:absolute;top:0;left:0;right:0}.login-header{text-align:center;margin-bottom:40px}.logo-container{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.logo-icon{color:#fff;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;font-weight:700;display:flex;box-shadow:0 4px 12px #667eea4d}.login-title{color:#1a202c;letter-spacing:-.5px;margin:0 0 8px;font-size:2.5rem;font-weight:700}.login-subtitle{color:#718096;margin:0;font-size:1.1rem;font-weight:400}.login-form{flex-direction:column;gap:24px;display:flex}.input-container{position:relative}.form-input{box-sizing:border-box;color:#2d3748;background-color:#fff;border:2px solid #e2e8f0;border-radius:12px;width:100%;padding:16px 20px 16px 48px;font-size:1rem;font-weight:500;transition:all .3s}.form-input::placeholder{color:#a0aec0;font-weight:400}.form-input:disabled{cursor:not-allowed;opacity:.7;background-color:#f7fafc}.input-icon{color:#a0aec0;transition:color .3s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.form-input:focus+.input-icon{color:#667eea}.form-input.error+.input-icon{color:#e53e3e}.validation-error{color:#e53e3e;margin-top:6px;font-size:.85rem;font-weight:500}.login-error{color:#742a2a;background:#fed7d7;border:1px solid #feb2b2;border-left:4px solid #e53e3e;border-radius:12px;margin-bottom:16px;padding:16px 20px;font-weight:500;animation:.4s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-button{color:#fff;cursor:pointer;background:#211897;border:none;border-radius:12px;margin-top:8px;padding:18px 24px;font-size:1.1rem;font-weight:600;transition:all .3s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea59}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button-loading{justify-content:center;align-items:center;gap:12px;display:flex}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer{text-align:center;color:#718096;border-top:1px solid #e2e8f0;margin-top:32px;padding-top:24px;font-size:.9rem}.security-notice{justify-content:center;align-items:center;gap:8px;display:flex}@media (max-width:480px){.login-container{padding:16px}.login-card{border-radius:12px;padding:32px 24px}.login-title{font-size:2rem}.login-subtitle{font-size:1rem}.form-input{padding:14px 16px 14px 44px}.login-button{padding:16px 20px;font-size:1rem}}:root{--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--primary-300:#93c5fd;--primary-400:#60a5fa;--primary-500:#3b82f6;--primary-600:#2563eb;--primary-700:#1d4ed8;--primary-800:#1e40af;--primary-900:#1e3a8a;--white:#fff;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--success-50:#f0fdf4;--success-500:#22c55e;--success-700:#15803d;--error-50:#fef2f2;--error-500:#ef4444;--error-700:#b91c1c;--warning-50:#fffbeb;--warning-500:#f59e0b;--warning-700:#b45309;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem}*{box-sizing:border-box}.pacientes-container{background:linear-gradient(135deg,var(--gray-50)0%,var(--primary-50)100%);min-height:100vh;font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.5}.pacientes-header{background:linear-gradient(135deg,var(--white)0%,var(--primary-50)100%);border-bottom:1px solid var(--primary-200);padding:var(--space-6)var(--space-8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pacientes-header-content{max-width:100%;margin:0 auto}.pacientes-title-section{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.pacientes-title{color:var(--primary-900);margin:0 0 var(--space-1)0;background:linear-gradient(135deg,var(--primary-700),var(--primary-500));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.875rem;font-weight:700}.pacientes-subtitle{color:var(--gray-600);margin:0;font-size:1rem;font-weight:500}.pacientes-count{align-items:center;gap:var(--space-2);color:var(--primary-700);background:var(--primary-100);padding:var(--space-3)var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--primary-200);font-size:.875rem;font-weight:600;display:flex}.count-dot{background:var(--primary-500);border-radius:50%;width:.5rem;height:.5rem;animation:2s infinite pulse}.pacientes-main{padding:var(--space-8);max-width:100%;margin:0 auto}.alert-container{margin-bottom:var(--space-6)}.pacientes-grid{gap:var(--space-8);grid-template-columns:340px 1fr;align-items:start;max-width:1400px;margin:0 auto;display:grid}.sidebar-column{top:var(--space-8);position:sticky}.sidebar-panel{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--primary-200);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.sidebar-panel:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.sidebar-content{padding:var(--space-6)}.action-section{margin-bottom:var(--space-8)}.btn-new-patient{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-4)var(--space-5);background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:var(--white);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);border:none;font-size:.95rem;font-weight:600;transition:all .3s;display:flex}.btn-new-patient:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-700),var(--primary-600));box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-new-patient:active:not(:disabled){transform:translateY(0)}.btn-new-patient:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-icon{width:1.25rem;height:1.25rem;transition:transform .2s}.btn-new-patient:hover .btn-icon{transform:scale(1.1)}.search-section{border-top:1px solid var(--primary-100);padding-top:var(--space-6)}.section-title{color:var(--primary-900);margin:0 0 var(--space-4)0;align-items:center;gap:var(--space-2);font-size:1.125rem;font-weight:600;display:flex}.section-title:before{content:"";background:linear-gradient(135deg,var(--primary-500),var(--primary-400));border-radius:var(--radius-sm);width:4px;height:1.25rem}.main-column{min-height:600px}.main-panel{background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--primary-200);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.main-panel:hover{box-shadow:var(--shadow-lg)}.panel-content{padding:0}.panel-header{padding:var(--space-6)var(--space-8);border-bottom:1px solid var(--primary-100);background:linear-gradient(135deg,var(--white)0%,var(--primary-50)100%);border-radius:var(--radius-lg)var(--radius-lg)0 0;justify-content:space-between;align-items:center;display:flex}.panel-title-section{flex:1}.panel-title{color:var(--primary-900);margin:0 0 var(--space-1)0;font-size:1.5rem;font-weight:600}.panel-subtitle{color:var(--gray-600);margin:0;font-size:.875rem;font-weight:500}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3)var(--space-5);border-radius:var(--radius-md);cursor:pointer;border:1px solid;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:var(--white);border-color:var(--primary-600);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-700),var(--primary-600));border-color:var(--primary-700);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background:var(--white);color:var(--gray-700);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-outline:hover:not(:disabled){background:var(--primary-50);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-flex{justify-content:center;align-items:center;display:flex}.btn-close{color:var(--gray-500);cursor:pointer;padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:none;transition:all .2s}.btn-close:hover{background:var(--gray-100);color:var(--gray-700);transform:rotate(90deg)}.details-button{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:var(--white);padding:var(--space-3)var(--space-5);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);border:none;font-size:.875rem;font-weight:600;transition:all .3s}.details-button:hover{background:linear-gradient(135deg,var(--primary-700),var(--primary-600));box-shadow:var(--shadow-md);transform:translateY(-2px)}.paciente-form{padding:var(--space-8);background:var(--white)}.form-header{margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--primary-100)}.form-subtitle{color:var(--gray-600);margin:0;font-weight:500}.form-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.form-section{margin:var(--space-4)0 var(--space-2)0;padding:var(--space-4);background:var(--primary-50);border-radius:var(--radius-md);border-left:4px solid var(--primary-500);grid-column:1/-1}.form-section-title{color:var(--primary-900);margin:0;font-size:1.1rem;font-weight:600}.form-group{flex-direction:column;display:flex}.md-col-span-2{grid-column:span 2}.form-label{color:var(--gray-700);margin-bottom:var(--space-2);align-items:center;gap:var(--space-1);font-size:.875rem;font-weight:600;display:flex}.form-label:after{content:"*";color:var(--error-500);font-size:.75rem}.form-label.optional:after{content:"(opcional)";color:var(--gray-500);font-size:.75rem;font-weight:400}.form-input,.form-textarea,.form-select{padding:var(--space-4);border:2px solid var(--gray-300);border-radius:var(--radius-md);background:var(--white);font-family:inherit;font-size:.875rem;transition:all .3s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100);outline:none;transform:translateY(-1px)}.form-input-error{border-color:var(--error-500);box-shadow:0 0 0 3px var(--error-50)}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed;border-color:var(--gray-300)}.form-textarea{resize:vertical;min-height:120px;line-height:1.5}.form-actions{justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--primary-100);grid-column:1/-1;display:flex}.paciente-search{background:var(--white)}.search-form{gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.search-form .form-group{flex:1}.search-actions{gap:var(--space-2);display:flex}.search-tips{background:var(--primary-50);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--primary-200)}.search-tips-title{color:var(--primary-900);margin:0 0 var(--space-2)0;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:600;display:flex}.search-tips-list{color:var(--primary-700);margin:0;padding:0;font-size:.75rem;list-style:none}.search-tips-list li{margin-bottom:var(--space-1);padding-left:var(--space-4);position:relative}.search-tips-list li:before{content:"💡";position:absolute;left:0}.paciente-table{background:var(--white)}.table-container{border-radius:0 0 var(--radius-lg)var(--radius-lg);overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:800px}.table th{background:linear-gradient(135deg,var(--primary-50),var(--primary-100));padding:var(--space-4)var(--space-5);text-align:left;color:var(--primary-900);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--primary-200);font-size:.75rem;font-weight:600;position:sticky;top:0}.table td{padding:var(--space-5);border-bottom:1px solid var(--primary-100);font-size:.875rem;transition:all .2s}.table-row{cursor:pointer;transition:all .3s}.table-row:hover{background:var(--primary-50);transform:translate(4px)}.table-row:last-child td{border-bottom:none}.patient-info{align-items:center;gap:var(--space-4);display:flex}.patient-avatar{background:linear-gradient(135deg,var(--primary-600),var(--primary-400));width:2.5rem;height:2.5rem;color:var(--white);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}.patient-email{color:var(--gray-500);font-size:.75rem}.patient-dni,.patient-age,.patient-phone{color:var(--gray-700);font-weight:500}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1)var(--space-3);text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-male{background:var(--primary-100);color:var(--primary-800);border:1px solid var(--primary-300)}.badge-female{color:#be185d;background:#fdf2f8;border:1px solid #fbcfe8}.badge-unknown{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.badge-primary{background:var(--primary-100);color:var(--primary-800);border:1px solid var(--primary-300)}.detail-tabs{border-bottom:1px solid var(--primary-100);background:var(--white)}.tab-nav{padding:0 var(--space-8);gap:var(--space-2);display:flex}.tab-button{padding:var(--space-4)var(--space-6);color:var(--gray-600);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;font-weight:500;transition:all .3s;position:relative;overflow:hidden}.tab-content{padding:var(--space-8);background:var(--white);border-radius:0 0 var(--radius-lg)var(--radius-lg)}.info-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.info-section{background:var(--white);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all .3s}.info-item{padding:var(--space-2)0;border-bottom:1px solid var(--primary-50);justify-content:space-between;align-items:flex-start;display:flex}.info-label{color:var(--gray-700);min-width:160px;font-size:.875rem;font-weight:600}.info-value{color:var(--gray-900);text-align:right;flex:1;font-weight:500}.info-grid-inner .info-item{align-items:flex-start;gap:var(--space-1);padding:var(--space-3);background:var(--primary-50);border-radius:var(--radius-md);border:1px solid var(--primary-100);flex-direction:column}.info-grid-inner .info-label{min-width:auto;color:var(--primary-700);font-size:.75rem}.info-grid-inner .info-value{text-align:left;color:var(--primary-900);font-size:.875rem}.consultas-section{min-height:400px}.consulta-doctor{color:var(--primary-600);font-size:.875rem;font-weight:600}.consulta-subfield{gap:var(--space-1);flex-direction:column;display:flex}.consulta-label{color:var(--primary-700);font-size:.875rem;font-weight:700}.consulta-sublabel{color:var(--primary-600);font-size:.75rem;font-weight:600}.consulta-value{color:var(--gray-800);font-size:.875rem;line-height:1.6}.table-empty,.consultas-placeholder{text-align:center;padding:var(--space-10)var(--space-8);color:var(--gray-500);background:var(--white);border-radius:0 0 var(--radius-lg)var(--radius-lg)}.empty-icon{margin-bottom:var(--space-4);opacity:.5;font-size:4rem}.empty-title{margin:0 0 var(--space-2)0;color:var(--gray-600);font-size:1.5rem;font-weight:600}.empty-description,.placeholder-subtext{color:var(--gray-500);max-width:400px;margin:0 auto;font-size:.875rem}.loading-state{padding:var(--space-10)var(--space-8);color:var(--gray-500);background:var(--white);border-radius:0 0 var(--radius-lg)var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--primary-200);border-top:3px solid var(--primary-500);width:3rem;height:3rem;margin-bottom:var(--space-4);border-radius:50%;animation:1s linear infinite spin}.skeleton-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.skeleton-header{background:var(--primary-200);border-radius:var(--radius-md);height:1.5rem;margin-bottom:var(--space-4)}.skeleton-row{background:var(--primary-200);border-radius:var(--radius-md);height:1rem;margin-bottom:var(--space-3)}.skeleton-row:last-child{margin-bottom:0}.table-loading{padding:var(--space-8);background:var(--white);border-radius:0 0 var(--radius-lg)var(--radius-lg)}.alert{padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);align-items:flex-start;gap:var(--space-3);box-shadow:var(--shadow-sm);border:1px solid;display:flex}.alert-error{background:var(--error-50);border-color:var(--error-500);color:var(--error-700)}.alert-success{background:var(--success-50);border-color:var(--success-500);color:var(--success-700)}.alert-content{align-items:center;gap:var(--space-2);flex:1;display:flex}.alert-message{margin:0;font-size:.875rem;font-weight:600}.error-state{text-align:center;padding:var(--space-10)var(--space-8);color:var(--gray-500);background:var(--white);border-radius:var(--radius-lg)}.error-icon{margin-bottom:var(--space-4);color:var(--error-500);font-size:4rem}.error-message{color:var(--error-600);margin:var(--space-4)0;font-weight:600}.modal-overlay{z-index:1000;padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:90vw;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow:auto}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.consulta-detalle-panel{width:100%;min-height:100%}.consulta-content{padding:var(--space-8);gap:var(--space-6);flex-direction:column;display:flex}.text-content{background:var(--primary-50);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--primary-200);font-size:.875rem;line-height:1.6}.estado-badge{padding:var(--space-1)var(--space-3);margin-left:var(--space-2);border-radius:9999px;font-size:.75rem;font-weight:600}.estado-badge.completada{background:var(--success-50);color:var(--success-700);border:1px solid var(--success-500)}.diagnostico-section{margin-bottom:var(--space-6);padding:var(--space-4);background:var(--primary-50);border-radius:var(--radius-md);border:1px solid var(--primary-200)}.diagnostico-section h5{color:var(--primary-900);margin:0 0 var(--space-3)0;align-items:center;gap:var(--space-2);font-size:1rem;font-weight:700;display:flex}.diagnostico-section h5:before{content:"📋";font-size:1.2rem}.diagnostico-item{align-items:center;gap:var(--space-4);padding:var(--space-3);background:var(--white);border-radius:var(--radius-md);margin-bottom:var(--space-2);border:1px solid var(--primary-200);transition:all .2s;display:flex}.diagnostico-item:hover{box-shadow:var(--shadow-sm);transform:translate(4px)}.diagnostico-item.principal{background:var(--primary-100);border:2px solid var(--primary-300);position:relative}.diagnostico-item.principal:before{content:"PRINCIPAL";background:var(--primary-500);color:var(--white);border-radius:0 var(--radius-md)0 var(--radius-md);padding:2px 8px;font-size:.6rem;font-weight:700;position:absolute;top:-1px;right:-1px}.diagnostico-codigo{color:var(--primary-700);min-width:80px;font-family:Monaco,Consolas,monospace;font-size:.75rem;font-weight:700}.diagnostico-descripcion{color:var(--gray-800);flex:1;font-size:.875rem;font-weight:500}.diagnosticos-list{gap:var(--space-2);flex-direction:column;display:flex}@media (max-width:1200px){.pacientes-grid{gap:var(--space-6);grid-template-columns:300px 1fr}}@media (max-width:1024px){.pacientes-grid{gap:var(--space-6);grid-template-columns:1fr}.sidebar-column{position:static}.sidebar-panel{margin-bottom:var(--space-4)}}@media (max-width:768px){.pacientes-main,.pacientes-header{padding:var(--space-4)}.pacientes-title-section,.panel-header{align-items:flex-start;gap:var(--space-4);flex-direction:column}.form-grid{grid-template-columns:1fr}.md-col-span-2{grid-column:span 1}.search-form{flex-direction:column}.info-item{align-items:flex-start;gap:var(--space-1);flex-direction:column}.info-label{min-width:auto;font-size:.8rem}.info-value{text-align:left;font-size:.9rem}.consulta-header,.diagnostico-item{align-items:flex-start;gap:var(--space-2);flex-direction:column}.tab-nav{gap:var(--space-1);flex-direction:column}.tab-button{text-align:left;border-bottom:none;border-left:3px solid #0000}.tab-button.active{border-left-color:var(--primary-500);border-bottom:none}.tab-button:before{display:none}}@media (max-width:480px){.pacientes-main{padding:var(--space-2)}.pacientes-header{padding:var(--space-3)}.pacientes-title{font-size:1.5rem}.form-actions{flex-direction:column}.btn{justify-content:center;width:100%}.modal-content{max-width:95vw;margin:var(--space-2)}.info-grid{grid-template-columns:1fr}}.text-primary{color:var(--primary-600)}.bg-primary{background:var(--primary-50)}.border-primary{border-color:var(--primary-200)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.rounded-lg{border-radius:var(--radius-lg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--primary-100);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn:focus-visible,.form-input:focus-visible,.form-select:focus-visible,.tab-button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media (prefers-contrast:high){:root{--primary-500:#00f;--primary-700:navy;--gray-500:#000;--gray-700:#000}.btn{border-width:2px}}.paciente-detail{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.detail-header{background:linear-gradient(135deg,var(--primary-600),var(--primary-500));color:var(--white);padding:var(--space-6)var(--space-8);position:relative;overflow:hidden}.detail-header:before{content:"";background:linear-gradient(135deg,#ffffff1a 0%,#0000 50%);border-radius:50%;width:200px;height:200px;position:absolute;top:0;right:0;transform:translate(30%,-30%)}.detail-header-content{justify-content:space-between;align-items:flex-start;gap:var(--space-6);z-index:2;display:flex;position:relative}.detail-back{align-items:center;gap:var(--space-2);color:var(--white);padding:var(--space-3)var(--space-4);border-radius:var(--radius-md);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.detail-back:hover{background:#ffffff4d;transform:translate(-4px);box-shadow:0 4px 12px #00000026}.detail-patient-info{flex:1}.detail-name{margin:0 0 var(--space-2)0;color:var(--white);text-shadow:0 2px 4px #0000001a;font-size:1.75rem;font-weight:700}.detail-dni{opacity:.9;color:var(--primary-100);margin:0;font-size:1.125rem;font-weight:500}.detail-header-actions{align-items:center;gap:var(--space-4);display:flex}.detail-header-actions .badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--white);padding:var(--space-2)var(--space-4);background:#fff3;border:1px solid #ffffff4d;font-weight:600}.edit-form-container{padding:var(--space-8);background:var(--white)}.edit-form-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:2px solid var(--primary-100)}.edit-form-title{color:var(--primary-900);margin:0 0 var(--space-2)0;font-size:1.5rem;font-weight:700}.edit-form-subtitle{color:var(--gray-600);margin:0;font-size:.875rem;font-weight:500}.detail-tabs{background:var(--white);border-bottom:1px solid var(--primary-200);padding:0 var(--space-8)}.tab-nav{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.tab-button{padding:var(--space-4)var(--space-6);color:var(--gray-600);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;font-size:.875rem;font-weight:500;transition:all .3s;position:relative}.tab-button:before{content:"";background:var(--primary-500);width:0;height:3px;transition:all .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.tab-button.active{color:var(--primary-700);font-weight:600}.tab-button.active:before{width:100%}.tab-button:hover:not(.active){color:var(--primary-600);background:var(--primary-50)}.tab-content{min-height:400px}.info-grid{gap:var(--space-6);padding:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.info-section{background:var(--white);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all .3s;position:relative;overflow:hidden}.info-section:before{content:"";background:linear-gradient(135deg,var(--primary-500),var(--primary-400));width:4px;height:100%;position:absolute;top:0;left:0}.info-section:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.info-full{grid-column:1/-1}.section-header{color:var(--primary-900);margin:0 0 var(--space-4)0;padding-bottom:var(--space-3);border-bottom:1px solid var(--primary-100);align-items:center;gap:var(--space-2);font-size:1.125rem;font-weight:600;display:flex}.section-header:before{content:"";background:var(--primary-500);border-radius:50%;width:6px;height:6px}.info-list{gap:var(--space-4);flex-direction:column;display:flex}.info-item{padding:var(--space-3)0;border-bottom:1px solid var(--primary-50);justify-content:space-between;align-items:flex-start;transition:all .2s;display:flex}.info-item:hover{background:var(--primary-50);margin:0 calc(-1*var(--space-3));padding:var(--space-3);border-radius:var(--radius-md)}.info-item:last-child{border-bottom:none}.info-label{color:var(--gray-700);align-items:center;gap:var(--space-2);min-width:160px;font-size:.875rem;font-weight:600;display:flex}.info-label:after{content:":";color:var(--primary-500)}.info-value{color:var(--gray-900);text-align:right;flex:1;font-size:.875rem;font-weight:500}.info-grid-inner{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.info-grid-inner .info-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-4);background:var(--primary-50);border-radius:var(--radius-md);border:1px solid var(--primary-100);flex-direction:column;margin:0;transition:all .3s}.info-grid-inner .info-item:hover{background:var(--primary-100);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.info-grid-inner .info-label{min-width:auto;color:var(--primary-700);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.info-grid-inner .info-label:after{content:""}.info-grid-inner .info-value{text-align:left;color:var(--primary-900);font-size:.875rem;font-weight:600}.consultas-section{padding:var(--space-6)}.consultas-list{gap:var(--space-6);flex-direction:column;display:flex}.consulta-item{background:var(--white);border:1px solid var(--primary-200);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all .3s;position:relative;overflow:hidden}.consulta-item:before{content:"";background:linear-gradient(135deg,var(--primary-500),var(--primary-400));border-radius:var(--radius-sm)0 0 var(--radius-sm);width:4px;height:100%;position:absolute;top:0;left:0}.consulta-item:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.consulta-header{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--primary-100);justify-content:space-between;align-items:center;display:flex}.consulta-fecha{color:var(--primary-900);font-size:1.1rem;font-weight:700}.consulta-doctor{color:var(--primary-600);background:var(--primary-100);padding:var(--space-2)var(--space-3);border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.consulta-content{gap:var(--space-4);margin-bottom:var(--space-4);flex-direction:column;display:flex}.consulta-field{gap:var(--space-2);flex-direction:column;display:flex}.consulta-field-group{gap:var(--space-3);flex-direction:column;display:flex}.consulta-group-content{gap:var(--space-3);margin-left:var(--space-4);padding-left:var(--space-4);border-left:2px solid var(--primary-200);flex-direction:column;display:flex}.consulta-subfield{gap:var(--space-1);padding:var(--space-3);background:var(--primary-50);border-radius:var(--radius-md);border:1px solid var(--primary-100);flex-direction:column;display:flex}.consulta-label{color:var(--primary-700);align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:700;display:flex}.consulta-label:before{content:"📌";font-size:.75rem}.consulta-sublabel{color:var(--primary-600);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.consulta-value{color:var(--gray-800);background:var(--white);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--primary-100);font-size:.875rem;line-height:1.6}.consulta-actions{padding-top:var(--space-4);border-top:1px solid var(--primary-100);justify-content:flex-end;display:flex}.consultas-placeholder{text-align:center;padding:var(--space-10)var(--space-8);color:var(--gray-500);background:var(--white);border-radius:var(--radius-lg)}.placeholder-subtext{color:var(--gray-500);max-width:400px;margin:0 auto;font-size:.875rem;line-height:1.6}@media (max-width:768px){.detail-header{padding:var(--space-4)}.detail-header-content{align-items:flex-start;gap:var(--space-4);flex-direction:column}.detail-header-actions{justify-content:space-between;width:100%}.detail-name{font-size:1.5rem}.detail-dni{font-size:1rem}.info-grid{padding:var(--space-4);gap:var(--space-4);grid-template-columns:1fr}.info-item{align-items:flex-start;gap:var(--space-2);flex-direction:column}.info-label{min-width:auto;font-size:.8rem}.info-value{text-align:left;font-size:.9rem}.consulta-header{align-items:flex-start;gap:var(--space-2);flex-direction:column}.tab-nav{gap:var(--space-1);flex-direction:column}.tab-button{text-align:left;border-bottom:none;border-left:3px solid #0000}.tab-button.active{border-left-color:var(--primary-500);border-bottom:none}.tab-button:before{display:none}}@media (max-width:480px){.edit-form-container,.consultas-section,.consulta-item{padding:var(--space-4)}.consulta-actions{gap:var(--space-2);flex-direction:column}.consulta-actions .btn{justify-content:center;width:100%}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.paciente-detail{animation:.5s ease-out slideInFromTop}.paciente-detail .skeleton-pulse{padding:var(--space-8)}.paciente-detail .skeleton-header{height:2rem;margin-bottom:var(--space-6)}.paciente-detail .skeleton-row{height:1.25rem;margin-bottom:var(--space-4)}.detail-back:focus-visible{outline:2px solid var(--white);outline-offset:2px}.tab-button:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media (prefers-contrast:high){.detail-header{background:var(--primary-700);border:2px solid var(--primary-900)}.info-section{border:2px solid var(--primary-700)}.info-section:before{background:var(--primary-900)}}:root{--primary-blue:#1e40af;--primary-blue-light:#3b82f6;--primary-blue-dark:#1e3a8a;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--white:#fff;--success:#059669;--success-light:#d1fae5;--warning:#d97706;--warning-light:#fef3c7;--error:#dc2626;--error-light:#fee2e2;--border-radius:8px;--border-radius-lg:10x;--shadow:0 1px 3px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000000d;--shadow-lg:0 10px 15px -3px #0000000d;--transition:all .2s ease-in-out}.citas-container{background:var(--gray-50);min-height:100vh;color:var(--gray-800);padding:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif;line-height:1.5}.citas-header{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200);margin-bottom:1.5rem;padding:2rem;position:relative;overflow:hidden}.citas-header:before{content:"";background:linear-gradient(90deg,var(--primary-blue)0%,var(--primary-blue-light)100%);height:3px;position:absolute;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;gap:1.5rem;max-width:1200px;margin:0 auto;display:flex}.header-text{flex:1}.header-title{color:var(--gray-800);margin:0 0 .5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.header-subtitle{color:var(--gray-600);margin:0;font-size:1rem;font-weight:400;line-height:1.4}.new-cita-btn{white-space:nowrap;background:var(--primary-blue);color:var(--white);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow);border:none;align-items:center;gap:.25rem;height:fit-content;padding:.37rem .7rem;font-size:.7rem;font-weight:600;display:flex}.new-cita-btn:hover:not(:disabled){background:var(--primary-blue-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.new-cita-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.citas-filtros{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200);max-width:1200px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto;padding:1.5rem}.filtros-content{flex-direction:column;gap:1.25rem;display:flex}.filtros-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.filtros-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.filtros-select{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.filtros-label{color:var(--gray-700);white-space:nowrap;margin:0;font-size:.875rem;font-weight:600}.filtros-dropdown{border:1px solid var(--gray-300);border-radius:var(--border-radius);background:var(--white);color:var(--gray-700);cursor:pointer;min-width:160px;transition:var(--transition);padding:.625rem .875rem;font-size:.875rem;font-weight:500}.filtros-dropdown:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--blue-100);outline:none}.filtro-btn{border:1px solid var(--gray-300);border-radius:var(--border-radius);background:var(--white);color:var(--gray-700);cursor:pointer;transition:var(--transition);align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;display:flex}.filtro-btn:hover:not(:disabled){background:var(--blue-50);border-color:var(--blue-200);color:var(--primary-blue)}.filtro-btn.active{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue)}.filtro-btn:disabled{opacity:.5;cursor:not-allowed}.citas-lista{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow);border:1px solid var(--gray-200);max-width:1200px;margin-left:auto;margin-right:auto;overflow:hidden}.lista-header{border-bottom:1px solid var(--gray-200);background:var(--gray-50);padding:1.5rem}.lista-title{color:var(--gray-800);align-items:center;gap:.75rem;margin:0;font-size:1.125rem;font-weight:600;display:flex}.lista-count{background:var(--primary-blue);color:var(--white);border-radius:20px;padding:.25rem .625rem;font-size:.75rem;font-weight:600}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}.citas-table{border-collapse:collapse;background:var(--white);width:100%;min-width:900px}.citas-table th{background:var(--gray-50);text-align:left;color:var(--gray-700);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--gray-200);white-space:nowrap;padding:1rem;font-size:.75rem;font-weight:600}.citas-table td{border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:1rem;font-size:.875rem}.citas-table tr:last-child td{border-bottom:none}.citas-table tr:hover{background:var(--gray-50)}.cita-pasada{background:var(--gray-50);opacity:.8}.cita-pasada:hover{background:var(--gray-100)}.paciente-info{flex-direction:column;gap:.375rem;display:flex}.paciente-nombre{color:var(--gray-800);font-size:.875rem;font-weight:600}.paciente-dni{color:var(--gray-600);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.75rem;font-weight:500}.badge-hoy{background:var(--success);color:var(--white);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;align-self:flex-start;padding:.25rem .5rem;font-size:.625rem;font-weight:600}.dni-cell{color:var(--gray-700);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875rem;font-weight:600}.hora-cell{color:var(--gray-800);font-size:.875rem;font-weight:600}.servicio-cell{color:var(--gray-600);font-size:.875rem;font-weight:500}.badge{text-transform:uppercase;letter-spacing:.05em;border:1px solid;border-radius:6px;padding:.5rem .75rem;font-size:.75rem;font-weight:600}.estado-programada{background:var(--blue-50);color:var(--primary-blue);border-color:var(--blue-200)}.estado-atendida{background:var(--success-light);color:var(--success);border-color:#a7f3d0}.estado-cancelada{background:var(--error-light);color:var(--error);border-color:#fecaca}.estado-desconocido{background:var(--gray-100);color:var(--gray-600);border-color:var(--gray-300)}.acciones{flex-wrap:wrap;gap:.5rem;display:flex}.atendida-actions{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);white-space:nowrap;border:1px solid;justify-content:center;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary:hover:not(:disabled){background:var(--primary-blue-dark);border-color:var(--primary-blue-dark);transform:translateY(-1px)}.btn-success{background:var(--success);color:var(--white);border-color:var(--success)}.btn-success:hover:not(:disabled){background:#047857;border-color:#047857}.btn-danger:hover:not(:disabled){background:var(--error);color:var(--white)}.citas-empty{background:var(--white);border-radius:var(--border-radius-lg);text-align:center;box-shadow:var(--shadow);border:1px solid var(--gray-200);max-width:1200px;margin:0 auto;padding:3rem 2rem}.empty-state{max-width:400px;margin:0 auto}.empty-icon{opacity:.4;color:var(--gray-400);margin-bottom:1.5rem;font-size:3rem}.empty-title{color:var(--gray-700);margin:0 0 .75rem;font-size:1.25rem;font-weight:600}.empty-description{color:var(--gray-500);margin:0;font-size:.875rem;line-height:1.5}.citas-loading{background:var(--white);border-radius:var(--border-radius-lg);max-width:1200px;min-height:400px;box-shadow:var(--shadow);border:1px solid var(--gray-200);justify-content:center;align-items:center;margin:0 auto;display:flex}.loading-text{color:var(--gray-500);align-items:center;gap:.75rem;font-size:1rem;font-weight:500;display:flex}.loading-text:before{content:"";border:2px solid var(--gray-300);border-top:2px solid var(--primary-blue);border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cita-modal{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid var(--gray-200);background:var(--gray-50);justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-title{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:600}.modal-close{cursor:pointer;color:var(--gray-500);transition:var(--transition);background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1.5rem}.modal-close:hover{background:var(--gray-200);color:var(--gray-700)}.modal-body{padding:1.5rem}.form-grid{flex-direction:column;gap:1rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-input{border:1px solid var(--gray-300);border-radius:var(--border-radius);transition:var(--transition);background:var(--white);padding:.75rem;font-size:.875rem}.form-input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--blue-100);outline:none}.form-input.error{border-color:var(--error);box-shadow:0 0 0 3px var(--error-light)}.form-error{color:var(--error);font-size:.75rem;font-weight:500}.modal-footer{border-top:1px solid var(--gray-200);background:var(--gray-50);justify-content:flex-end;gap:.75rem;padding:1.5rem;display:flex}@media (max-width:768px){.citas-container{padding:1rem}.citas-header{padding:1.5rem}.header-content{flex-direction:column;align-items:stretch;gap:1rem}.header-title{text-align:center;font-size:1.5rem}.header-subtitle{text-align:center;font-size:.875rem}.new-cita-btn{justify-content:center;width:100%}.filtros-content{gap:1rem}.filtros-row{flex-direction:column;align-items:stretch;gap:1rem}.filtros-buttons,.filtros-select{justify-content:center}.citas-table{min-width:800px;font-size:.75rem}.citas-table th,.citas-table td{padding:.75rem .5rem}.acciones{flex-direction:column;gap:.375rem}.btn{justify-content:center;width:100%}.modal-overlay{padding:.5rem}.cita-modal{max-height:95vh}}@media (max-width:480px){.citas-container{padding:.75rem}.citas-header,.citas-filtros,.citas-lista,.lista-header{padding:1.25rem}.header-title{font-size:1.375rem}.empty-icon{font-size:2.5rem}.empty-title{font-size:1.125rem}.modal-header,.modal-body,.modal-footer{padding:1.25rem}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.citas-main-content{max-width:1200px;margin:0 auto}.btn:hover:not(:disabled),.filtro-btn:hover:not(:disabled),.filtros-dropdown:hover{box-shadow:var(--shadow-md)}.estado-completado{color:var(--success);background:var(--success-light);border:1px solid #a7f3d0;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}:root{--primary-color:#132f6b;--primary-dark:#2549ac;--primary-light:#3b82f6;--primary-50:#eff6ff;--primary-100:#dbeafe;--primary-200:#bfdbfe;--secondary-color:#64748b;--secondary-dark:#475569;--secondary-light:#94a3b8;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--info-color:#253c41;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--white:#fff;--black:#000;--border-radius:8px;--border-radius-lg:12px;--border-radius-xl:16px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--transition:all .2s ease-in-out}.consulta-container *{box-sizing:border-box;margin:0;padding:0}.consulta-container{color:var(--gray-800);background-color:var(--gray-50);min-height:100vh;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.consulta-header{background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:var(--white);text-align:center;padding:2rem 1.5rem}.consulta-title{letter-spacing:-.025em;margin-bottom:.5rem;font-size:2.25rem;font-weight:700}.consulta-subtitle{opacity:.9;max-width:600px;margin:0 auto;font-size:1.125rem;font-weight:400}.alert{border-radius:var(--border-radius);max-width:1200px;box-shadow:var(--shadow);border-left:4px solid;margin:1rem auto;padding:1rem 1.5rem;position:relative}.alert-success{border-left-color:var(--success-color);color:#166534;background-color:#f0fdf4}.alert-error{border-left-color:var(--error-color);color:#991b1b;background-color:#fef2f2}.alert-warning{border-left-color:var(--warning-color);color:#92400e;background-color:#fffbeb}.alert-info{border-left-color:var(--info-color);color:#0c4a6e;background-color:#f0f9ff}.patient-selection-section{max-width:800px;margin:2rem auto;padding:0 1.5rem}.selection-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);padding:2rem}.card-title{color:var(--gray-800);text-align:center;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.patient-selector{width:100%}.selector-header{text-align:center;margin-bottom:2rem}.selector-title{color:var(--gray-800);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.selector-description{color:var(--gray-600);font-size:1rem}.search-section{margin-bottom:2rem}.search-input-group{align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.input-container{flex:1}.search-input{border:2px solid var(--gray-300);border-radius:var(--border-radius);width:100%;transition:var(--transition);background:var(--white);padding:.875rem 1rem;font-size:1rem}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-100);outline:none}.input-hint{color:var(--gray-500);margin-top:.5rem;font-size:.875rem}.search-btn{white-space:nowrap;padding:.875rem 1.5rem}.patient-selected-card{background:var(--white);border:2px solid var(--primary-200);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:1.5rem}.selected-patient-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.patient-avatar{background:linear-gradient(135deg,var(--primary-color),var(--primary-light));width:60px;height:60px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;font-weight:600;display:flex}.patient-details{flex:1}.patient-info{flex-wrap:wrap;gap:1.5rem;display:flex}.info-item{color:var(--gray-600);font-size:.875rem}.selection-actions{justify-content:flex-end;gap:1rem;display:flex}.selector-info{margin-top:2rem}.info-card{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--border-radius);padding:1.5rem}.info-card h4{color:var(--primary-dark);margin-bottom:1rem;font-size:1.125rem}.info-card ul{color:var(--gray-700);list-style:none}.info-card li{margin-bottom:.5rem;padding-left:1.5rem;position:relative}.info-card li:before{content:"•";color:var(--primary-color);position:absolute;left:.5rem}.consulta-workflow{max-width:1200px;margin:0 auto;padding:1.5rem}.patient-header-card{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.patient-info{flex:1}.patient-main-info{margin-bottom:1rem}.patient-name{color:var(--gray-800);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.patient-details{flex-wrap:wrap;gap:1.5rem;display:flex}.detail-item{color:var(--gray-600);font-size:.875rem}.patient-status{flex-wrap:wrap;gap:.5rem;display:flex}.status-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.status-badge.primary{background-color:var(--primary-100);color:var(--primary-dark)}.status-badge.success{color:#166534;background-color:#dcfce7}.consulta-tabs{background:var(--white);border-radius:var(--border-radius);box-shadow:var(--shadow);gap:.25rem;margin-bottom:1.5rem;padding:.5rem;display:flex;overflow-x:auto}.tab-button{border-radius:var(--border-radius);color:var(--gray-600);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.tab-button:hover:not(:disabled){background:var(--gray-100);color:var(--gray-700)}.tab-button.active{background:var(--primary-color);color:var(--white)}.tab-button:disabled{opacity:.5;cursor:not-allowed}.tab-content{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.tab-panel{padding:2rem}.form-header{text-align:center;margin-bottom:2rem}.form-title{color:var(--gray-800);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.form-subtitle{color:var(--gray-600);font-size:1rem}.patient-info-card{background:var(--primary-50);border:1px solid var(--primary-200);border-radius:var(--border-radius);margin-bottom:1.5rem;overflow:hidden}.patient-info-header{background:var(--primary-color);color:var(--white);padding:1rem 1.5rem}.patient-info-header h4{margin:0;font-size:1rem;font-weight:600}.patient-info-content{padding:1.5rem}.form-section{margin-bottom:2rem}.form-group{margin-bottom:1rem}.form-label{color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.form-label.required:after{content:" *";color:var(--error-color)}.form-input,.form-select,.form-textarea{border:2px solid var(--gray-300);border-radius:var(--border-radius);width:100%;transition:var(--transition);background:var(--white);padding:.75rem 1rem;font-family:inherit;font-size:1rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-100);outline:none}.form-textarea{resize:vertical;min-height:100px}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.form-grid{gap:1rem;display:grid}.form-grid-2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.checkbox-group{align-items:center;gap:.5rem;display:flex}.checkbox-input{border:2px solid var(--gray-300);cursor:pointer;border-radius:4px;width:1.25rem;height:1.25rem}.checkbox-label{color:var(--gray-700);cursor:pointer;font-size:.875rem}.btn{border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);white-space:nowrap;border:2px solid #0000;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary-color);color:var(--white);border-color:var(--primary-color)}.btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark)}.btn-outline{color:var(--primary-color);border-color:var(--primary-color);background:0 0}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:var(--white)}.btn-secondary{background:var(--gray-200);color:var(--gray-700);border-color:var(--gray-200)}.btn-secondary:hover:not(:disabled){background:var(--gray-300);border-color:var(--gray-300)}.btn-danger{background:var(--error-color);color:var(--white);border-color:var(--error-color)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.form-actions{border-top:1px solid var(--gray-200);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.search-container{position:relative}.clear-search-btn{color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.clear-search-btn:hover{background:var(--gray-200);color:var(--gray-700)}.search-results{border:1px solid var(--gray-200);border-radius:var(--border-radius);max-height:200px;box-shadow:var(--shadow);margin-top:.5rem;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--gray-100);cursor:pointer;transition:var(--transition);padding:1rem}.search-result-item:hover{background:var(--primary-50)}.search-result-item:last-child{border-bottom:none}.diagnostico-codigo{color:var(--primary-color);margin-bottom:.25rem;font-size:.875rem;font-weight:600}.diagnostico-descripcion{color:var(--gray-700);font-size:.875rem}.diagnostico-categoria{color:var(--gray-500);margin-top:.25rem;font-size:.75rem}.loading-spinner{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:1rem;height:1rem;animation:1s linear infinite spin}.search-loading,.loading{color:var(--gray-600);align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;display:flex}.no-results{text-align:center;color:var(--gray-500);padding:1rem;font-size:.875rem;font-style:italic}.imc-display{background:var(--gray-100);border-radius:var(--border-radius);text-align:center;padding:1rem}.imc-value{color:var(--gray-800);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.imc-clasification{border-radius:9999px;padding:.25rem .75rem;font-size:.875rem;font-weight:500;display:inline-block}.imc-clasification.underweight{color:#92400e;background:#fef3c7}.imc-clasification.normal{color:#166534;background:#dcfce7}.imc-clasification.overweight{color:#92400e;background:#fef3c7}.imc-clasification.obese{color:#991b1b;background:#fecaca}.card-header{border-bottom:1px solid var(--gray-200);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.card-title{color:var(--gray-800);margin:0;font-size:1.25rem;font-weight:600}.section-title{color:var(--gray-800);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-count{color:var(--gray-500);font-size:.875rem}.diagnosticos-list{display:1.5rem}.diagnostico-section{margin-bottom:2rem}.diagnostico-item{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius);transition:var(--transition);margin-bottom:1rem;padding:1.5rem}.diagnostico-item.principal{border-left:4px solid var(--primary-color);background:var(--primary-50)}.diagnostico-item.secundario{border-left:4px solid var(--success-color)}.diagnostico-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.diagnostico-content{flex:1}.diagnostico-actions{margin-left:1rem}.diagnosticos-grid{gap:1rem;display:grid}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-primary{background:var(--primary-100);color:var(--primary-dark)}.empty-state{text-align:center;color:var(--gray-500);padding:3rem 2rem}.empty-state-subtitle{opacity:.7;margin-top:.5rem;font-size:.875rem}.examenes-grid{gap:1rem;display:grid}.examen-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius);transition:var(--transition);padding:1.5rem}.examen-card:hover{box-shadow:var(--shadow-md)}.examen-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.examen-info{flex:1}.examen-tipo{color:var(--gray-800);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.examen-meta{color:var(--gray-500);gap:1rem;font-size:.875rem;display:flex}.examen-content{display:.75rem}.examen-descripcion,.examen-resultados,.examen-archivo{color:var(--gray-700);font-size:.875rem}.archivo-link{color:var(--primary-color);text-decoration:none}.archivo-link:hover{text-decoration:underline}.medicamentos-list{display:1.5rem}.medicamento-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--border-radius);padding:1.5rem}.medicamento-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.medicamento-header h5{color:var(--gray-800);margin:0;font-size:1rem;font-weight:600}.receta-card{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.receta-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.receta-info{flex:1}.receta-title{color:var(--gray-800);margin-bottom:.5rem;font-size:1.125rem;font-weight:600}.receta-meta{color:var(--gray-500);gap:1rem;font-size:.875rem;display:flex}.medicamentos-receta{display:1rem}.medicamento-item{background:var(--gray-50);border-radius:var(--border-radius);border-left:3px solid var(--primary-color);padding:1rem}.medicamento-descripcion{color:var(--gray-800);margin-bottom:.5rem;font-weight:500}.medicamento-detalles{color:var(--gray-600);flex-wrap:wrap;gap:1rem;font-size:.875rem;display:flex}.examen-fisico-view{appearance:1.5rem}.examen-section{background:var(--white);border:1px solid var(--gray-200);border-radius:var(--border-radius);padding:1.5rem}.examen-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.examen-item{background:var(--gray-50);border-radius:var(--border-radius);padding:.75rem}.examen-observaciones{background:var(--gray-50);border-radius:var(--border-radius);padding:1rem;line-height:1.6}.status-panel{background:var(--white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);margin-top:1.5rem;padding:1.5rem}.status-title{color:var(--gray-800);text-align:center;margin-bottom:1rem;font-size:1.125rem;font-weight:600}.status-steps{appearance:1rem}.status-step{border-radius:var(--border-radius);transition:var(--transition);align-items:center;gap:1rem;padding:1rem;display:flex}.status-step.completed{border-left:4px solid var(--success-color);background:#f0fdf4}.status-step.pending{background:var(--gray-100);border-left:4px solid var(--gray-400)}.status-step.required{border-left:4px solid var(--warning-color);background:#fef3c7}.status-step.optional{background:var(--primary-50);border-left:4px solid var(--primary-color)}.step-icon{text-align:center;width:2rem;font-size:1.25rem}.step-info{flex:1}.step-title{color:var(--gray-800);margin-bottom:.25rem;font-weight:500;display:block}.step-status{color:var(--gray-600);font-size:.875rem;display:block}.auth-error{text-align:center;color:var(--gray-600);padding:4rem 2rem}.auth-error h2{color:var(--error-color);margin-bottom:1rem}@media (max-width:768px){.consulta-header{padding:1.5rem 1rem}.consulta-title{font-size:1.75rem}.consulta-workflow{padding:1rem}.patient-header-card{flex-direction:column;align-items:stretch}.consulta-tabs{flex-wrap:wrap}.tab-panel{padding:1.5rem}.form-grid-2,.form-grid-3{grid-template-columns:1fr}.search-input-group,.selection-actions,.form-actions{flex-direction:column}.card-header{flex-direction:column;align-items:stretch;gap:1rem}.patient-details,.info-grid{grid-template-columns:1fr}}@media (max-width:480px){.tab-panel{padding:1rem}.selection-card{padding:1.5rem}.patient-selected-card{padding:1rem}.selected-patient-header{text-align:center;flex-direction:column}.patient-avatar{align-self:center}}.space-y>*+*{margin-top:1rem}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}.reporte-container{background-color:#f8fafc;max-width:1400px;min-height:100vh;margin:0 auto;padding:16px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.reporte-header{text-align:center;margin-bottom:24px;padding:0 8px}.reporte-title{color:#1e293b;margin:0 0 8px;font-size:1.75rem;font-weight:700;line-height:1.2}.reporte-subtitle{color:#64748b;margin:0;font-size:1rem;line-height:1.4}.reporte-grid{grid-template-columns:1fr;align-items:start;gap:20px;display:grid}.filters-panel{background:#fff;border-radius:12px;order:2;padding:20px;position:relative;box-shadow:0 2px 4px -1px #0000001a,0 1px 2px -1px #0000000f}.filters-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;display:flex}.filters-header h2{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.clear-button{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:.875rem;transition:all .2s}.clear-button:hover{color:#475569;background-color:#f1f5f9}.filters-form{flex-direction:column;gap:16px;display:flex}.form-label{color:#374151;font-size:.875rem;font-weight:500}.form-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;min-height:44px;padding:12px;font-size:1rem;transition:all .2s}.primary-button{color:#fff;cursor:pointer;text-align:center;background-color:#3b82f6;border:none;border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:14px 20px;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.primary-button:hover:not(:disabled){background-color:#2563eb}.primary-button:disabled{cursor:not-allowed;opacity:.6;background-color:#9ca3af}.secondary-button{color:#374151;cursor:pointer;text-align:center;background-color:#f8fafc;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;min-height:52px;padding:14px 20px;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.secondary-button:hover{background-color:#f1f5f9;border-color:#9ca3af}.relative{position:relative}.dropdown-menu{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 10px 15px -3px #0000001a}.dropdown-item{cursor:pointer;border-bottom:1px solid #f1f5f9;flex-direction:column;justify-content:center;min-height:44px;padding:12px;transition:background-color .2s;display:flex}.dropdown-item:hover{background-color:#f8fafc}.dropdown-item:last-child{border-bottom:none}.dropdown-code{color:#1e293b;font-size:.875rem;font-weight:600}.dropdown-description{color:#64748b;margin-top:2px;font-size:.75rem;line-height:1.3}.search-indicator{position:absolute;top:38px;right:12px}.spinner{border:2px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin}.spinner-large{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;margin:0 auto 16px;animation:1s linear infinite spin}.instructions{border-top:1px solid #e2e8f0;padding-top:16px}.instructions h4{color:#374151;margin:0 0 10px;font-size:.875rem;font-weight:600}.instructions ul{color:#64748b;margin:0;padding-left:16px;font-size:.75rem;line-height:1.4}.instructions li{margin-bottom:4px}.results-panel{order:1;min-height:400px}.loading-state{text-align:center;background:#fff;border-radius:12px;padding:32px 20px;box-shadow:0 2px 4px -1px #0000001a}.loading-state p{color:#374151;margin:0 0 8px;font-size:1rem}.loading-subtext{color:#64748b;font-size:.875rem}.report-content{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px -1px #0000001a}.report-header{color:#fff;background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:12px 12px 0 0;padding:24px 20px}.report-header h2{margin:0 0 12px;font-size:1.5rem;font-weight:700;line-height:1.2}.report-subtitle{opacity:.95;margin:0 0 6px;font-size:1rem;font-weight:500;line-height:1.4}.report-period{opacity:.85;margin:0;font-size:.875rem;line-height:1.3}.report-body{padding:0}.stats-grid{background:#f8fafc;grid-template-columns:1fr;gap:16px;padding:24px 20px;display:grid}.stat-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 4px #0000000d}.stat-number{color:#1e293b;margin-bottom:8px;font-size:2rem;font-weight:700;line-height:1}.stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.distribution-section{background:#fff;border-bottom:1px solid #e2e8f0;padding:24px 20px}.distribution-section h3{color:#1e293b;margin:0 0 20px;font-size:1.25rem;font-weight:600}.distribution-grid{grid-template-columns:1fr;gap:20px;display:grid}.distribution-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:18px}.distribution-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.distribution-label{color:#374151;font-size:.9rem;font-weight:600}.distribution-count{color:#fff;background:#3b82f6;border-radius:20px;padding:4px 10px;font-size:.875rem;font-weight:700}.progress-bar{background-color:#e2e8f0;border-radius:4px;width:100%;height:8px;margin-bottom:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;height:100%;transition:width .5s}.distribution-percentage{color:#64748b;text-align:right;font-size:.875rem;font-weight:600}.patients-section{background:#fff;border-radius:0 0 12px 12px;padding:24px 20px}.patients-header{border-bottom:2px solid #e2e8f0;flex-direction:column;gap:8px;margin-bottom:20px;padding-bottom:16px;display:flex}.patients-header h3{color:#1e293b;margin:0;font-size:1.25rem;font-weight:600}.patients-count{color:#64748b;background:#f1f5f9;border-radius:6px;padding:6px 12px;font-size:.875rem;font-weight:500}.table-container{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.patients-table{border-collapse:collapse;background:#fff;width:100%;min-width:600px}.patients-table thead{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.patients-table th{text-align:left;color:#374151;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:2px solid #e2e8f0;padding:14px 16px;font-size:.75rem;font-weight:700}.patients-table td{color:#374151;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:.875rem;line-height:1.4}.patients-table tbody tr:hover{background-color:#f8fafc}.patients-table tbody tr:last-child td{border-bottom:none}.patient-dni{color:#1e293b;font-weight:600}.patient-name{color:#1e293b;font-weight:500}.patient-age,.patient-gender,.patient-date,.patient-doctor{color:#64748b;font-weight:500}.empty-state,.empty-report{text-align:center;background:#fff;border-radius:12px;padding:32px 20px;box-shadow:0 2px 4px -1px #0000001a}.empty-icon{margin-bottom:16px;font-size:3rem}.empty-state h3,.empty-report h3{color:#1e293b;margin:0 0 8px;font-size:1.125rem;font-weight:600}.empty-state p,.empty-report p{color:#64748b;margin:0 0 16px;font-size:.875rem;line-height:1.4}.empty-instructions{color:#94a3b8;font-size:.75rem;line-height:1.3}.empty-instructions p{font-size:inherit;color:inherit;margin:0}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:14px;display:flex}.error-icon{flex-shrink:0;margin-top:1px;font-size:1.125rem}.error-content{flex:1;font-size:.875rem}.error-content strong{color:#dc2626}@media (min-width:768px){.reporte-grid{grid-template-columns:350px 1fr;gap:24px}.filters-panel{order:1;position:sticky;top:20px}.results-panel{order:2}.stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;padding:24px}.distribution-grid{grid-template-columns:repeat(2,1fr);gap:16px}.patients-header{flex-direction:row;justify-content:space-between;align-items:center}}@media (min-width:1024px){.reporte-grid{grid-template-columns:400px 1fr;gap:28px}}.filters-panel{padding:24px;top:24px}.stats-grid{gap:24px;padding:32px}.distribution-section,.patients-section{padding:0 32px 32px}.report-header{padding:32px}.report-header h2{font-size:1.875rem}@media (min-width:1200px){.reporte-title{font-size:2.5rem}}@media (max-width:360px){.reporte-container{padding:12px}.reporte-title{font-size:1.5rem}.filters-panel{padding:16px}.report-header{padding:20px 16px}.stats-grid{padding:16px}.distribution-section,.patients-section{padding:0 16px 16px}.form-input,.primary-button,.secondary-button{min-height:48px}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.primary-button,.secondary-button,.form-input{border-width:.5px}}@media (hover:none) and (pointer:coarse){.primary-button:hover:not(:disabled),.secondary-button:hover{background-color:inherit}.primary-button:active:not(:disabled){background-color:#2563eb}.secondary-button:active{background-color:#f1f5f9}.dropdown-item:hover{background-color:inherit}.dropdown-item:active{background-color:#f8fafc}}@media print{.filters-panel,.clear-button,.error-message{display:none}.reporte-grid{grid-template-columns:1fr}.report-content{box-shadow:none;border:1px solid #000}}.usuarios-container{max-width:1200px;margin:0 auto;padding:20px}.loading-container{justify-content:center;align-items:center;height:400px;display:flex}.loading-text{color:#6b7280;font-size:16px}.usuarios-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:20px 0;display:flex}.usuarios-title{color:#1f2937;margin-bottom:4px;font-size:24px;font-weight:600}.usuarios-subtitle{color:#6b7280;font-size:14px}.register-form-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:24px;padding:24px;box-shadow:0 1px 3px #0000001a}.register-form-title{color:#1f2937;border-bottom:1px solid #f3f4f6;margin-bottom:20px;padding-bottom:12px;font-size:18px;font-weight:600}.register-form{flex-direction:column;gap:20px;display:flex}.form-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.form-input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-actions{border-top:1px solid #f3f4f6;gap:12px;margin-top:8px;padding-top:16px;display:flex}.btn-flex{flex:1}.table-container{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.table-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:20px 24px}.table-title{color:#1f2937;align-items:center;gap:8px;margin:0;font-size:18px;font-weight:600;display:flex}.table-count{color:#6b7280;font-size:14px;font-weight:400}.table-responsive{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:#374151;text-transform:uppercase;letter-spacing:.05em;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid #f3f4f6;padding:16px;font-size:14px}.table tr:last-child td{border-bottom:none}.table tr:hover{background-color:#f9fafb}.badge{text-transform:capitalize;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.badge-cargo{color:#1d4ed8;background-color:#eff6ff;border:1px solid #dbeafe}.badge-administrador{color:#d97706;background-color:#fef3c7;border:1px solid #fde68a}.badge-doctor{color:#1e40af;background-color:#dbeafe;border:1px solid #93c5fd}.badge-asistente{color:#166534;background-color:#dcfce7;border:1px solid #86efac}.btn-success{color:#fff;background-color:#10b981}.btn-success:hover:not(:disabled){background-color:#059669}.btn-warning{color:#fff;background-color:#f59e0b}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-sm{padding:6px 12px;font-size:12px}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{opacity:.6;margin-bottom:16px;font-size:48px}.empty-state-title{color:#374151;margin-bottom:8px;font-size:18px;font-weight:600}.empty-state-description{color:#6b7280;margin-bottom:20px;font-size:14px;line-height:1.5}.user-dni{color:#1f2937;font-weight:600}.text-muted{color:#9ca3af}.card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:0 24px;box-shadow:0 1px 3px #0000001a}@media (max-width:768px){.usuarios-container{padding:16px}.usuarios-header{flex-direction:column;align-items:flex-start;gap:16px}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.table-header{padding:16px}.table th,.table td{padding:12px}}@media (max-width:480px){.usuarios-container{padding:12px}.register-form-container{padding:16px}.table-container{border-radius:6px}.usuarios-title{font-size:20px}.register-form-title,.table-title{font-size:16px}}.perfil-container{max-width:1200px;margin:0 auto;padding:20px}.profile-loading{justify-content:center;align-items:center;height:400px;display:flex}.profile-loading-text{color:#6b7280;font-size:16px}.perfil-header{border-bottom:1px solid #e5e7eb;padding:20px 0}.perfil-title{color:#1f2937;margin-bottom:4px;font-size:24px;font-weight:600}.perfil-subtitle{color:#6b7280;font-size:14px}.alert{border:1px solid;border-radius:6px;margin-bottom:20px;padding:16px}.alert-error{color:#dc2626;background-color:#fef2f2;border-color:#fecaca}.alert-success{color:#16a34a;background-color:#f0fdf4;border-color:#bbf7d0}.alert-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.alert-title{margin:0;font-size:14px;font-weight:600}.alert-message{margin:0;font-size:14px}.perfil-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}@media (max-width:968px){.perfil-grid{grid-template-columns:1fr}}.profile-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000001a}.profile-card-title{color:#1f2937;border-bottom:1px solid #f3f4f6;margin-bottom:20px;padding-bottom:12px;font-size:18px;font-weight:600}.user-info{flex-direction:column;gap:24px;display:flex}.user-avatar{align-items:center;gap:16px;display:flex}.avatar-circle{background-color:#f3f4f6;border:2px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.avatar-icon{font-size:24px}.user-details{flex:1}.user-name{color:#1f2937;margin:0 0 4px;font-size:18px;font-weight:600}.user-role{color:#6b7280;margin:0;font-size:14px}.info-grid{grid-template-columns:1fr;gap:16px;display:grid}.info-item{flex-direction:column;gap:4px;display:flex}.info-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:500}.info-value{color:#1f2937;margin:0;font-size:14px;font-weight:500}.info-badge{text-transform:capitalize;border-radius:20px;width:fit-content;padding:4px 12px;font-size:12px;font-weight:500;display:inline-block}.badge-primary{color:#1d4ed8;background-color:#eff6ff;border:1px solid #dbeafe}.badge-activo{color:#16a34a;background-color:#f0fdf4;border:1px solid #dcfce7}.badge-inactivo{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca}.security-section{flex-direction:column;gap:20px;display:flex}.security-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.security-title{color:#1f2937;margin:0;font-size:18px;font-weight:600}.password-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:#374151;margin-bottom:2px;font-size:14px;font-weight:500}.form-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.password-actions{gap:12px;margin-top:8px;display:flex}.btn-flex-1{flex:1}.security-empty{text-align:center;background-color:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;padding:40px 20px}.security-icon{opacity:.6;margin-bottom:16px;font-size:48px}.security-empty-title{color:#374151;margin-bottom:8px;font-size:16px;font-weight:600}.security-empty-description{color:#6b7280;margin-bottom:20px;font-size:14px;line-height:1.5}.btn{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:#fff;background-color:#3b82f6}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-secondary{color:#fff;background-color:#6b7280}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.mt-4{margin-top:16px}.profile-error{text-align:center;color:#6b7280;padding:40px 20px}.profile-error p{margin-bottom:16px}@media (max-width:768px){.perfil-container{padding:16px}.profile-card{padding:20px}.security-header{flex-direction:column;align-items:flex-start;gap:12px}.password-actions{flex-direction:column}.user-avatar{text-align:center;flex-direction:column;gap:12px}.user-details{text-align:center}}@media (max-width:480px){.perfil-container{padding:12px}.profile-card{padding:16px}.perfil-title{font-size:20px}.profile-card-title,.security-title{font-size:16px}}
