.login-container{display:flex;height:100vh;overflow:hidden;width:100%}.login-left{flex:1 1;overflow:hidden;position:relative}.side-image{height:100%;object-fit:cover;width:100%}.login-right{align-items:center;background-color:#f8f9fa;display:flex;flex:1 1;justify-content:center;padding:2rem}.login-form-container{background:#fff;border-radius:10px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:3rem 2rem;width:100%}.hospital-logo{margin-bottom:1.5rem;text-align:center}.logo-image{height:100px;object-fit:contain;width:100px}.hospital-title{color:#005187;font-size:1.5rem;font-weight:600;margin-bottom:2rem;text-align:center}.login-form{width:100%}.login-form .form-group:first-child,.login-form .form-group:nth-child(2){margin-bottom:1.5rem}.form-group label{color:#333;font-size:.875rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.login-input{background-color:#fff;border:2px solid #e0e0e0;border-radius:5px;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.login-input:focus{border-color:#005187;box-shadow:0 0 0 3px #0051871a;outline:none}.login-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-button{align-items:center;background-color:#005187;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.5px;padding:.875rem;text-transform:uppercase;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background-color:#004069;box-shadow:0 4px 12px #0051874d;transform:translateY(-1px)}.login-button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.spinner{animation:spin .8s linear infinite;border:2px solid #fff;border-top-color:#0000}.login-footer{margin-top:2rem;text-align:center}.login-info{color:#666;font-size:.875rem;line-height:1.4}.modal-overlay{animation:fadeIn .2s ease-out;background-color:#00000080}.modal-content{animation:slideIn .3s ease-out;border-radius:10px;box-shadow:0 10px 40px #0003;max-width:400px;padding:2rem;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-icon{align-items:center;background-color:#ff9800;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:60px;justify-content:center;margin:0 auto 1rem;width:60px}.modal-message{color:#333;font-size:1rem;line-height:1.4;margin-bottom:1.5rem}.modal-button{background-color:#005187;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;min-width:100px;padding:.75rem 2rem;transition:all .3s ease}.modal-button:hover{background-color:#004069;box-shadow:0 4px 12px #0051874d;transform:translateY(-1px)}@media (max-width:768px){.login-container{flex-direction:column}.login-left{display:none}.login-right{flex:1 1;width:100%}.login-form-container{box-shadow:none;padding:2rem 1rem}.hospital-title{font-size:1.25rem}}.dashboard-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.dashboard-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 30px}.header-left p{color:#2c3e50}.user-role{background:#2c3e50;font-size:1rem;font-weight:600;padding:6px 14px}.user-cargo{color:#2c3e50;font-size:1rem;font-weight:500}.logout-button{background:#e74c3c;font-size:1rem}.logout-button:hover{background:#c0392b}.error-banner{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;display:flex;font-size:1rem;margin-bottom:20px;padding:12px 20px}.stat-card{border:2px solid #e8eaed}.stat-card:hover{border-color:#667eea}.stat-content h3{font-size:1.1rem}.stat-number{color:#27ae60;font-size:2.8rem}.menu-card,.menu-container{background:#fff;border:2px solid #e8eaed}.menu-card p{color:#2c3e50;font-size:1rem}.charts-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));margin-bottom:40px}.chart-section{background:#fff;border:2px solid #e8eaed;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:25px}.chart-section h3{color:#2c3e50;font-size:1.3rem;font-weight:700;margin:0 0 20px;text-align:center}.chart-box{align-items:center;display:flex;height:320px;justify-content:center;position:relative}.dashboard-details{margin-bottom:40px}.detail-section{background:#fff;border:2px solid #e8eaed;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:20px;padding:25px}.detail-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:700;gap:10px;margin:0 0 20px}.citas-list{display:flex;flex-direction:column;gap:12px}.cita-item{align-items:center;background:#f8f9fa;border-left:5px solid #27ae60;border-radius:10px;display:flex;gap:15px;padding:15px;transition:all .3s ease}.cita-item:hover{background:#f0f2f5;box-shadow:0 4px 12px #27ae6026;transform:translateX(5px)}.cita-time{font-weight:600;min-width:100px}.cita-paciente,.cita-time{color:#2c3e50;font-size:1.1rem}.cita-paciente{font-weight:700;margin-bottom:4px}.cita-medico{color:#2c3e50;font-size:1rem;font-weight:500}.cita-status{font-weight:700;white-space:nowrap}.badge,.cita-status{border-radius:20px;font-size:1rem;padding:8px 16px}.badge-programada{background:#d1ecf1;border:2px solid #0c5460;color:#0c5460}.badge-en-curso{background:#fff3cd;border:2px solid #856404;color:#856404}.badge-completada{background:#d4edda;border:2px solid #155724;color:#155724}.badge-cancelada{background:#f8d7da;border:2px solid #721c24;color:#721c24}.badge-no-asistio{background:#e2e3e5;border:2px solid #383d41;color:#383d41}.badge-default{background:#e9ecef;color:#383d41}.medicos-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.medico-card{background:#fff;border:2px solid #e8eaed;border-radius:10px;box-shadow:0 2px 8px #0000000d;padding:22px;transition:all .3s ease}.medico-card:hover{border-color:#667eea;box-shadow:0 6px 16px #667eea26;transform:translateY(-4px)}.medico-nombre{color:#2c3e50;font-size:1.6rem;margin-bottom:8px}.medico-especialidad{color:#27ae60;font-size:1.15rem;font-weight:600;margin-bottom:8px}.medico-colegiado{color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:6px}.medico-citas{color:#27ae60;font-size:1.2rem;font-weight:700}.info-section{background:#fff;border:2px solid #e8eaed;border-left:5px solid #27ae60;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:20px;padding:25px}.info-section h3{align-items:center;color:#2c3e50;display:flex;font-size:1.5rem;font-weight:700;gap:10px;margin:0 0 20px}.stats-summary{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.summary-item{background:#f8f9fa;border-left:5px solid #27ae60;border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:20px;transition:all .3s ease}.summary-item:hover{background:#f0f7f0;box-shadow:0 4px 12px #27ae6026;transform:translateX(5px)}.summary-item span{color:#2c3e50;font-size:1.15rem;font-weight:600}.summary-item strong{color:#27ae60;font-size:2.4rem;font-weight:700}.loading-state{color:#fff;font-size:1.3rem;font-weight:600;min-height:400px}.dashboard-container>*{animation:fadeIn .6s ease-out}.dashboard-header{animation-delay:.1s}.charts-container{animation-delay:.4s}.dashboard-details{animation-delay:.5s}.info-section{animation-delay:.6s}@media (max-width:1024px){.charts-container{grid-template-columns:1fr}.chart-box{height:280px}}@media (max-width:768px){.dashboard-container{padding:15px}.dashboard-header{flex-direction:column;gap:20px;padding:20px;text-align:center}.header-left h1{font-size:1.5rem}.header-right{justify-content:space-between;width:100%}.user-info{align-items:flex-start}.stats-container{gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{flex-direction:column;gap:15px;padding:20px;text-align:center}.stat-icon{font-size:2.5rem}.stat-number{font-size:2rem}.menu-container{padding:20px}.menu-container h2{font-size:1.5rem}.menu-grid{gap:15px;grid-template-columns:1fr}.menu-card{padding:20px}.menu-icon{font-size:2.5rem}.menu-card h3{font-size:1.1rem}.charts-container{gap:15px;grid-template-columns:1fr}.chart-box{height:250px}.chart-section h3{font-size:1.2rem}.detail-section h3{font-size:1.3rem}.cita-item{align-items:flex-start;flex-direction:column}.medicos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.stats-summary{grid-template-columns:1fr}.medico-nombre{font-size:1.4rem}}@media (max-width:480px){.dashboard-container{padding:10px}.dashboard-header{padding:15px}.header-left h1{font-size:1.3rem}.header-left p,.logout-button{font-size:.9rem}.logout-button{padding:10px 20px}.stats-container{grid-template-columns:1fr}.menu-card,.menu-container{padding:15px}.charts-container{gap:12px;grid-template-columns:1fr}.chart-box{height:220px}.chart-section{padding:15px}.chart-section h3{font-size:1.1rem;margin-bottom:15px}.info-section{padding:20px}.detail-section{padding:15px}.cita-item{padding:12px}.medico-card{padding:15px}.cita-time{min-width:80px}.cita-paciente,.cita-time{font-size:1rem}.summary-item{padding:15px}.summary-item strong{font-size:1.8rem}.medico-nombre{font-size:1.3rem;margin-bottom:6px}.detail-section h3{font-size:1.2rem}}.dashboard-medico-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.dashboard-medico-container,.loading-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.loading-container{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center}.spinner{border:4px solid #ffffff4d;height:50px;width:50px}.loading-container p{font-size:1.2rem;margin-top:20px}.dashboard-medico-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 30px}.header-left h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 5px}.header-left p{color:#7f8c8d;font-size:1rem;margin:0}.header-right{align-items:center;display:flex;gap:20px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.user-name{color:#2c3e50;font-size:1.1rem;font-weight:600}.user-role{background:linear-gradient(45deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:.8rem;font-weight:500;padding:4px 12px}.logout-button{background:linear-gradient(45deg,#e74c3c,#c0392b);border:none;border-radius:25px;box-shadow:0 4px 15px #e74c3c4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.logout-button:hover{box-shadow:0 8px 25px #e74c3c66;transform:translateY(-2px)}.stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stat-card{border:1px solid #fff3}.stat-card:active{transform:translateY(-3px) scale(.98)}.stat-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:3rem}.stat-content h3{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 8px}.stat-number{color:#667eea;font-size:2.5rem;margin:0}.menu-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;margin-bottom:30px;padding:30px}.menu-container h2{color:#2c3e50;font-size:1.8rem;font-weight:700;margin:0 0 30px;text-align:center}.menu-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.menu-card{background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #00000014;cursor:pointer;overflow:hidden;padding:25px;position:relative;text-align:center;transition:all .3s ease}.menu-card:before{background:linear-gradient(90deg,#0000,#667eea1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.menu-card:hover:before{left:100%}.menu-card:hover{border-color:#667eea;box-shadow:0 15px 35px #667eea33;transform:translateY(-8px)}.menu-card:active{transform:translateY(-5px) scale(.98)}.menu-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));font-size:3rem;margin-bottom:15px}.menu-card h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 10px}.menu-card p{color:#7f8c8d;font-size:.95rem;line-height:1.4;margin:0}.citas-section,.proximas-citas-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 8px 32px #0000001a;margin-bottom:30px;padding:30px}.citas-section h3,.proximas-citas-section h3{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0 0 20px}.citas-table-container{overflow-x:auto}.citas-table{border-radius:12px;box-shadow:0 2px 15px #0000000d;overflow:hidden}.citas-table thead{background:linear-gradient(45deg,#667eea,#764ba2);color:#fff}.citas-table th{font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:15px;text-align:left;text-transform:uppercase}.citas-table td{border-bottom:1px solid #f0f0f0;color:#2c3e50;padding:15px}.citas-table tbody tr{transition:all .2s ease}.citas-table tbody tr:hover{background:#f8f9fa;transform:scale(1.01)}.estado-badge{box-shadow:0 2px 8px #00000026;color:#fff;display:inline-block;font-size:.85rem;padding:6px 12px}.btn-action{border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .3s ease}.btn-primary{background:linear-gradient(45deg,#667eea,#764ba2)}.btn-primary:hover{box-shadow:0 4px 15px #667eea66;transform:translateY(-2px)}.proximas-citas-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.proxima-cita-card{background:linear-gradient(145deg,#fff,#f8f9fa);border:2px solid #0000;border-radius:12px;box-shadow:0 4px 15px #00000014;display:flex;gap:20px;padding:20px;position:relative;transition:all .3s ease}.proxima-cita-card:hover{border-color:#667eea;box-shadow:0 10px 25px #667eea26;transform:translateY(-5px)}.cita-fecha{align-items:center;background:linear-gradient(45deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #667eea4d;color:#fff;display:flex;flex-direction:column;justify-content:center;min-width:70px;padding:15px}.cita-dia{font-size:2rem;font-weight:700;line-height:1}.cita-mes{font-size:.9rem;font-weight:500;text-transform:uppercase}.cita-info{flex:1 1}.cita-info h4{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 8px}.cita-info p{color:#7f8c8d;font-size:.95rem;margin:0 0 10px}.cita-hora{background:#f8f9fa;border-radius:8px;color:#667eea;display:inline-block;font-size:.85rem;font-weight:600;padding:4px 10px}.cita-estado{border-radius:20px;box-shadow:0 2px 8px #00000026;color:#fff;font-size:.8rem;font-weight:600;padding:6px 12px;position:absolute;right:15px;top:15px}@media (max-width:768px){.dashboard-medico-container{padding:15px}.dashboard-medico-header{flex-direction:column;gap:20px;padding:20px;text-align:center}.header-left h1{font-size:1.5rem}.header-right{justify-content:space-between;width:100%}.user-info{align-items:flex-start}.stats-container{gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{flex-direction:column;gap:15px;padding:20px;text-align:center}.stat-icon{font-size:2.5rem}.stat-number{font-size:2rem}.menu-container{padding:20px}.menu-container h2{font-size:1.5rem}.menu-grid{gap:15px;grid-template-columns:1fr}.menu-card{padding:20px}.menu-icon{font-size:2.5rem}.menu-card h3{font-size:1.1rem}.citas-section,.proximas-citas-section{padding:20px}.citas-table{font-size:.9rem}.citas-table td,.citas-table th{padding:10px}.proximas-citas-grid{grid-template-columns:1fr}}@media (max-width:480px){.dashboard-medico-container{padding:10px}.dashboard-medico-header{padding:15px}.header-left h1{font-size:1.3rem}.header-left p,.logout-button{font-size:.9rem}.logout-button{padding:10px 20px}.stats-container{grid-template-columns:1fr}.menu-card,.menu-container{padding:15px}.citas-table-container{overflow-x:scroll}.citas-table{font-size:.85rem}.proxima-cita-card{flex-direction:column}.cita-fecha{flex-direction:row;gap:10px;justify-content:center;width:100%}.cita-estado{margin-top:10px;position:relative;right:auto;top:auto}}.dashboard-medico-container>*{animation:fadeIn .6s ease-out}.dashboard-medico-header{animation-delay:.1s}.stats-container{animation-delay:.2s}.menu-container{animation-delay:.3s}.citas-section{animation-delay:.4s}.proximas-citas-section{animation-delay:.5s}:root{--indigo:#4338ca;--ring-strong:0 0 0 3px #0e749047}.gestion-pacientes-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.page-header{margin-bottom:18px}.back-button{border-radius:6px;border-radius:var(--radius-xs)}.back-button,.header-title h1{letter-spacing:.2px}.error-message{border-radius:6px;border-radius:var(--radius-xs)}.filter-select{cursor:pointer}.table-scroll-container{max-height:calc(100vh - 320px)}.table-scroll-container::-webkit-scrollbar-track{background:#eef2f7;border-radius:6px}.table-scroll-container::-webkit-scrollbar-thumb{border-radius:6px}.table-scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.patients-table{background:#fff;border-collapse:collapse;font-size:.94rem;min-width:1100px;width:100%}.patients-table thead th{background:#0e7490;background:var(--table-head);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;font-weight:800;letter-spacing:.6px;padding:12px 8px;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:5}.patients-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.patients-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.patients-table td{color:#334155;padding:10px;vertical-align:middle}.apellidos{color:#64748b;font-size:.88rem}.apellido-casada{color:#94a3b8;font-size:.84rem;font-style:italic}.id-cell{color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem}.id-cell div{margin-bottom:2px}.hcop-status{text-align:center}.hcop-badge{border-radius:999px;display:inline-block;font-size:.74rem;font-weight:800;padding:5px 10px}.hcop-badge.active{background:#dbeafe;color:#1e40af}.hcop-badge.inactive{background:#e5e7eb;color:#6b7280}.action-button{font-size:1rem;transition:transform .06s,box-shadow .12s,border-color .18s}.action-button:active{transform:scale(.98)}.action-button.view{color:#0e7490;color:var(--primary)}.action-button.view:hover{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e749047;box-shadow:var(--ring-strong)}.action-button.edit{color:var(--warn)}.action-button.edit:hover{border-color:#b45309;border-color:var(--warn)}.action-button.hcop{color:#4338ca;color:var(--indigo)}.action-button.hcop:hover{border-color:#4338ca;border-color:var(--indigo)}.action-button.problems{color:#0f766e;color:var(--success)}.action-button.problems:hover{border-color:#0f766e;border-color:var(--success)}.action-button.delete{color:var(--danger)}.action-button.delete:hover{border-color:#b91c1c;border-color:var(--danger)}.action-button:disabled{opacity:.45}.loading-state{color:#6b7280;padding:40px 16px}.spinner{height:38px;margin:0 auto 14px;width:38px}.empty-state{padding:40px 16px}.modal-overlay,.modal-overlay-hcop{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:10px;position:fixed;z-index:1000}.modal-content.large{max-width:1100px}.form-row{grid-gap:18px 16px;gap:18px 16px;grid-template-columns:repeat(3,1fr)}.cancel-button,.hcop-button,.submit-button{border:none;border-radius:12px;cursor:pointer;font-weight:800;padding:10px 16px}.submit-button:hover{box-shadow:0 0 0 3px #0e749047;box-shadow:var(--ring-strong)}.hcop-button{background:#0e7490;background:var(--primary);color:#fff}.hcop-button:hover{box-shadow:0 0 0 3px #0e749047;box-shadow:var(--ring-strong)}.cancel-button:disabled,.hcop-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay-hcop{z-index:1001}.hcop-modal-container{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:14px;box-shadow:0 28px 64px #02172a47;display:flex;flex-direction:column;max-height:92vh;max-width:1320px;width:100%}.hcop-header{align-items:flex-start;background:linear-gradient(135deg,#0e7490,#0c5f75);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;display:flex;justify-content:space-between;padding:14px 18px}.hcop-title-section h2{font-size:1.02rem;font-weight:900;letter-spacing:.4px;margin:0 0 6px}.hcop-patient-data{display:flex;flex-direction:column;gap:4px}.patient-name-hcop{font-weight:900}.patient-metadata{display:flex;font-size:.9rem;gap:12px;opacity:.95}.hcop-close-btn{background:#ffffff38;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:24px;padding:6px 10px;transition:background .18s}.hcop-close-btn:hover{background:#ffffff57}.hcop-navigation{background:#f1f5f9;border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);display:flex}.hcop-nav-btn{background:#0000;border:none;border-bottom:3px solid #0000;color:#64748b;cursor:pointer;flex:1 1;font-size:.88rem;font-weight:900;letter-spacing:.4px;padding:12px;text-transform:uppercase;transition:.18s}.hcop-nav-btn:hover{background:#e2e8f0;color:#0e7490;color:var(--primary)}.hcop-nav-btn.active{background:#fff;border-bottom-color:#0e7490;border-bottom-color:var(--primary);color:#0e7490;color:var(--primary)}.hcop-content-area{background:#f8fafc;flex:1 1;overflow:auto;padding:16px}.hcop-form-content{display:flex;flex-direction:column;gap:14px}.hcop-data-section{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);overflow:hidden}.section-title-bar{background:#0e7490;background:var(--primary);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--primary-700);color:#fff;padding:10px 14px}.section-title-bar h3{font-size:.98rem;font-weight:900;letter-spacing:.4px;margin:0}.hcop-data-table{border-collapse:collapse;width:100%}.hcop-data-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border)}.hcop-data-table td{padding:10px 12px;vertical-align:middle}.field-label{background:#f8fafc;border-right:2px solid #d7dde6;border-right:2px solid var(--border);color:#0f172a;font-size:.9rem;font-weight:800;width:25%}.field-input{color:#475569;width:25%}.hcop-checkbox{align-items:center;cursor:pointer;display:flex;gap:6px}.hcop-checkbox input[type=checkbox]{accent-color:#0e7490;accent-color:var(--primary);cursor:pointer;height:18px;width:18px}.hcop-checkbox span{color:#0f172a;font-weight:700}.hcop-text-input{border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;font-size:.94rem;padding:8px 10px;transition:border-color .18s,box-shadow .18s;width:100%}.hcop-text-input.small{margin-left:6px;max-width:150px}.hcop-text-input:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.hcop-select{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;cursor:pointer;font-size:.94rem;padding:8px 10px;transition:border-color .18s,box-shadow .18s;width:100%}.hcop-select:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.hcop-textarea{border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.94rem;min-height:72px;padding:9px 10px;resize:vertical;transition:border-color .18s,box-shadow .18s;width:100%}.hcop-textarea:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.hcop-footer-actions{background:#fff;border-top:1px solid #d7dde6;border-top:1px solid var(--border);display:flex;gap:10px;justify-content:flex-end;padding:14px 18px}.hcop-btn-cancel{background:#334155;border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;padding:10px 18px}.hcop-btn-cancel:hover{filter:brightness(.95)}.hcop-btn-save{background:#0e7490;background:var(--primary);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;padding:10px 18px}.hcop-btn-save:hover{box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring)}.hcop-btn-cancel:disabled,.hcop-btn-save:disabled{cursor:not-allowed;opacity:.6}@media (max-width:1200px){.patients-table{min-width:1000px}.form-row{gap:16px 14px;grid-template-columns:1fr 1fr}.modal-content.large{max-width:880px}.hcop-modal-container{max-width:95%}.field-label{width:30%}.field-input{width:20%}}@media (max-width:768px){.gestion-pacientes-container{padding:16px}.controls-section{align-items:stretch;flex-direction:column}.search-controls{flex-direction:column;gap:10px;width:100%}.search-box{max-width:100%}.add-button,.filter-select{width:100%}.form-row{gap:16px;grid-template-columns:1fr}.patients-table{min-width:760px}.patients-table td,.patients-table th{padding:10px 6px}.modal-content{margin:8px;max-width:95%}.form-section,.modal-body{padding:12px}.detail-section{padding:10px}.actions-cell{flex-direction:column;gap:6px}.action-button{height:32px;width:32px}.pagination-button{font-size:.85rem;padding:6px 12px}.pagination-number{font-size:.85rem;height:32px;min-width:32px}}@media (prefers-contrast:high){.form-group input,.form-group select,.form-group textarea,.modal-content{border:2px solid #000}}@media print{.gestion-pacientes-container{background:#fff!important;padding:0!important}.actions-cell,.add-button,.back-button,.close-button,.controls-section,.hcop-close-btn,.hcop-footer-actions,.hcop-navigation{display:none!important}.page-header,.table-section{background:#fff!important;box-shadow:none!important}.patients-table,.patients-table th{border:1px solid #000}.patients-table th{background:#eceff3!important;color:#000!important}.patients-table td{border:1px solid #000}.hcop-modal-container{box-shadow:none;max-height:none}.hcop-header{background:#eceff3!important;border:2px solid #000;color:#000!important}.hcop-content-area{background:#fff;padding:0}.hcop-data-section{border:1px solid #000;page-break-inside:avoid}.section-title-bar{background:#f1f5f9!important;color:#000!important}.hcop-data-table td,.section-title-bar{border:1px solid #000}}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a;--table-head:#155e75;--table-head-border:#0b4455}.page-header{background:linear-gradient(135deg,#0f172a,#0b1220)}.controls-section,.detail-section,.patient-form .form-section,.table-section{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-select,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.patients-table{background:#fff;background:var(--panel)}.patients-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border)}.patients-table tbody tr:hover{background:#0b44551a}.hcop-modal-container,.modal-content{background:#fff;background:var(--panel);color:#e5e7eb}.form-group input,.form-group select,.form-group textarea,.hcop-select,.hcop-text-input,.hcop-textarea{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.detail-group{background:#0b1220;border-color:#d7dde6;border-color:var(--border)}.pagination-button,.pagination-number{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.pagination-button:disabled{background:#1a1f2e}.pagination-number.active{background:#0e7490;background:var(--primary);color:#fff}}.patients-table td,.patients-table th{text-align:center;vertical-align:middle}.name-cell{gap:3px;justify-content:center}.id-cell{text-align:center}.hcop-badge,.status-badge{display:inline-block;margin:0 auto}body,html{height:100%}body{color:#1f2937;color:var(--text)}.gestion-citas-container,body{background:#f6f8fb;background:var(--bg)}.gestion-citas-container{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.search-input{font-size:.96rem}.filter-date,.filter-select{border-radius:10px;min-width:160px;padding:8px 12px;transition:border-color .18s,box-shadow .18s}.add-button{font-weight:700}.table-container,.table-scroll-container{max-height:calc(100vh - 320px);overflow:auto;width:100%}.table-container::-webkit-scrollbar,.table-scroll-container::-webkit-scrollbar{height:10px;width:10px}.table-container::-webkit-scrollbar-thumb,.table-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}.table-container::-webkit-scrollbar-thumb:hover,.table-scroll-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.citas-table{background:#fff;border-collapse:collapse;font-size:.94rem;min-width:980px;width:100%}.citas-table thead th{background:#0e7490;background:var(--table-head);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;font-weight:800;letter-spacing:.6px;padding:12px 8px;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:5}.citas-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.citas-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.citas-table td{color:#334155;padding:10px;vertical-align:middle}.status-badge{font-size:.7rem;padding:5px 10px}.status-badge.Programada{background:#dbeafe;color:#1e40af}.status-badge.Atendida{background:#dcfce7;color:#065f46}.status-badge.Cancelada{background:#fee2e2;color:#991b1b}.form-section h3{font-weight:800}@media (max-width:992px){.form-row{grid-template-columns:1fr}.citas-table{min-width:900px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a;--table-head:#155e75;--table-head-border:#0b4455}.controls-section,.form-section,.modal-content,.table-section{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-date,.filter-select,.form-group input,.form-group select,.form-group textarea,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.citas-table,.pagination-button,.pagination-number{background:#fff;background:var(--panel)}.pagination-button,.pagination-number{border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.pagination-button:disabled{background:#1a1f2e}.pagination-number.active{background:#0e7490;background:var(--primary);color:#fff}}.form-section h3{margin:0 0 8px}.table-container,.table-scroll-container{padding:0}.citas-table td,.citas-table th{text-align:center;vertical-align:middle}.status-badge{margin:0 auto}.medico-search-input,.patient-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease}.medico-search-input:focus,.patient-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.medico-search-input:disabled,.patient-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.medico-dropdown,.patient-dropdown{background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px #00000026;margin-top:4px;max-height:320px;top:100%}.medico-dropdown::-webkit-scrollbar-track,.patient-dropdown::-webkit-scrollbar-track{border-radius:4px}.medico-dropdown::-webkit-scrollbar-thumb,.patient-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.medico-dropdown::-webkit-scrollbar-thumb:hover,.patient-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.medico-item,.patient-item{border-bottom:1px solid #f0f0f0;padding:12px 16px;transition:all .15s ease}.medico-item:hover,.patient-item:hover{background-color:#f8f9fa;padding-left:20px}.medico-item.selected,.patient-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.medico-name,.patient-name{color:#333;font-size:14px;font-weight:500}.medico-info,.patient-info{color:#666;flex-wrap:wrap;font-size:12px;gap:16px}.medico-info span,.patient-info span{display:inline-flex}.status-badge.en-curso{background-color:#3b82f6;color:#fff}.status-badge.completada{background-color:#10b981;color:#fff}.status-badge.no_asistio{background-color:#f59e0b;color:#fff}.sistema-turnos-container{background:linear-gradient(135deg,#e8f4f8,#f0f8ff 50%,#fff);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.page-header{border:1px solid #87ceeb33;box-shadow:0 4px 20px #0000001a;padding:20px}.header-content{width:100%}.back-button{background:linear-gradient(45deg,#87ceeb,#add8e6);border-radius:20px;box-shadow:0 4px 15px #87ceeb4d}.back-button:hover{box-shadow:0 8px 25px #87ceeb66}.header-title{flex:1 1;text-align:center}.header-title h1{background:linear-gradient(45deg,#87ceeb,#add8e6)}.header-title p{color:#78909c;margin:5px 0 0}.display-button{background:linear-gradient(45deg,#667eea,#764ba2);border:none;border-radius:25px;box-shadow:0 4px 15px #667eea66;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 25px;transition:all .3s ease}.display-button:hover{box-shadow:0 8px 25px #667eea80;transform:translateY(-2px)}.error-message{background:#ff6b9d1a;border-left:4px solid #ff6b9d;color:#ff6b9d;margin-bottom:20px;padding:15px}.error-message button{background:none;border-radius:50%;color:#ff6b9d;font-size:1.2rem;height:25px;padding:0;width:25px}.error-message button:hover{background:#ff6b9d1a}.turnos-dashboard{grid-gap:25px;display:grid;gap:25px;grid-template-columns:1fr 2fr;margin-bottom:30px}.turno-actual-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #87ceeb4d;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:30px;position:relative;text-align:center}.turno-actual-card:before{background:linear-gradient(90deg,#87ceeb,#add8e6);content:"";height:5px;left:0;position:absolute;right:0;top:0}.card-header h2{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 20px}.turno-display{margin:20px 0}.numero-grande{align-items:center;animation:pulse 2s infinite;border-radius:20px;display:flex;font-size:4rem;font-weight:800;justify-content:center;margin-bottom:10px;min-width:150px;padding:30px;text-shadow:2px 2px 4px #0000001a}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.estado-actual{color:#4a90e2;font-size:1.2rem}.especialidad-actual,.estado-actual{font-weight:600;letter-spacing:1px;text-transform:uppercase}.especialidad-actual{font-size:1.5rem;margin-top:10px}.no-turno{padding:40px;text-align:center}.no-turno p{color:#7f8c8d;font-size:1.3rem;margin-bottom:20px}.llamar-siguiente-btn{background:linear-gradient(45deg,#87ceeb,#add8e6);border:none;border-radius:25px;box-shadow:0 6px 20px #87ceeb66;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:20px;padding:15px 30px;transition:all .3s ease;width:100%}.llamar-siguiente-btn:hover:not(:disabled){box-shadow:0 10px 30px #87ceeb80;transform:translateY(-3px)}.llamar-siguiente-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.stats-turnos{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #87ceeb33;border-radius:15px;box-shadow:0 4px 20px #0000001a;gap:15px;padding:25px;transition:all .3s ease}.stat-card:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.stat-card.esperando{border-left:5px solid #ffa726}.stat-card.atendiendo{border-left:5px solid #2196f3}.stat-card.completados{border-left:5px solid #66bb6a}.stat-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:2.5rem}.stat-info h3{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 5px}.stat-number{color:#ff6b9d;font-weight:700}.controls-section{border:1px solid #87ceeb33;padding:20px}.turnos-actions{display:flex;gap:15px;justify-content:center}.nuevo-turno-btn{background:linear-gradient(45deg,#66bb6a,#81c784);border:none;border-radius:25px;box-shadow:0 4px 15px #66bb6a4d;color:#fff;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s ease}.nuevo-turno-btn:hover{box-shadow:0 8px 25px #66bb6a66;transform:translateY(-2px)}.refresh-btn{background:linear-gradient(45deg,#42a5f5,#64b5f6);border:none;border-radius:25px;box-shadow:0 4px 15px #42a5f54d;color:#fff;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s ease}.refresh-btn:hover{box-shadow:0 8px 25px #42a5f566;transform:translateY(-2px)}.turnos-lista-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #87ceeb33;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:25px}.turnos-lista-section h2{color:#2c3e50;font-size:1.5rem;font-weight:700;margin:0 0 25px;text-align:center}.turnos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.turno-card{border-left:5px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.turno-card:hover{box-shadow:0 10px 25px #00000026;transform:translateY(-5px)}.turno-card.warning{border-left-color:#ffa726}.turno-card.success{animation:attending 2s infinite;border-left-color:#66bb6a}.turno-card.completed{border-left-color:#bdbdbd;opacity:.8}.turno-card.cancelled{border-left-color:#9e9e9e;opacity:.6}.turno-card.high{border-left-color:#ff6b9d}.turno-card.default{border-left-color:#e0e0e0}@keyframes attending{0%{box-shadow:0 4px 15px #0000001a}50%{box-shadow:0 8px 25px #66bb6a4d}to{box-shadow:0 4px 15px #0000001a}}.turno-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.turno-card .numero-turno{border-radius:10px;box-shadow:0 2px 8px #0000001a;display:inline-block;font-size:2rem;font-weight:800;padding:10px 20px;text-shadow:1px 1px 2px #0000001a}.estado-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.estado-badge.warning{background:linear-gradient(45deg,#ffa726,#ffb74d);color:#fff}.estado-badge.success{background:linear-gradient(45deg,#66bb6a,#81c784);color:#fff}.estado-badge.completed{background:linear-gradient(45deg,#bdbdbd,#e0e0e0);color:#fff}.estado-badge.cancelled{background:linear-gradient(45deg,#9e9e9e,#bdbdbd);color:#fff}.estado-badge.default{background:linear-gradient(45deg,#e0e0e0,#f5f5f5);color:#666}.turno-info{grid-gap:8px;display:grid;gap:8px}.paciente-info strong{color:#2c3e50;font-size:1rem;font-weight:600}.especialidad-info{font-size:.9rem;font-weight:600}.especialidad-info,.medico-info{align-items:center;display:flex;gap:5px}.medico-info{color:#5a6c7d;font-size:.85rem}.consultorio-info,.hora-info{align-items:center;color:#78909c;display:flex;font-size:.9rem;gap:5px}.color-badge{border-radius:12px;box-shadow:0 2px 6px #0000001a;font-size:.75rem;letter-spacing:.5px;margin-top:8px;padding:4px 12px;text-transform:uppercase}.color-badge,.prioridad-badge{display:inline-block;font-weight:600}.prioridad-badge{border-radius:10px;font-size:.7rem;margin-top:5px;padding:2px 8px}.prioridad-badge.high{background:#ff6b9d1a;border:1px solid #ff6b9d4d;color:#ff6b9d}.prioridad-badge.medium{background:#ffa7261a;border:1px solid #ffa7264d;color:#ffa726}.prioridad-badge.normal{background:#42a5f51a;border:1px solid #42a5f54d;color:#42a5f5}.empty-state{border-radius:16px;box-shadow:0 4px 12px #00000014;padding:80px 20px}.empty-state p{font-size:20px;font-weight:700;margin:0 0 8px}.empty-state span{font-size:14px}.loading-state{color:#78909c}.spinner{border-top-color:#87ceeb}.modal-overlay{background:#00000080}.modal-content{border:1px solid #87ceeb33;box-shadow:0 20px 60px #0000004d;padding:0;width:90%}.modal-header{background:linear-gradient(135deg,#f8fafc,#fff);border-bottom:1px solid #87ceeb33;border-radius:20px 20px 0 0;padding:25px}.close-button{color:#78909c;font-size:1.5rem;height:35px;width:35px}.close-button:hover{background:#87ceeb1a;color:#2c3e50}.modal-body{padding:25px}.turno-form{grid-gap:20px;display:grid;gap:20px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#87ceeb;box-shadow:0 0 0 3px #87ceeb1a}.form-group small{color:#64748b;font-size:12px}.preview-turno{background:#f8fafc;border-left:4px solid #87ceeb;border-radius:10px;margin-top:20px;padding:20px}.preview-turno h3{color:#2c3e50;font-size:1.1rem;margin:0 0 15px}.preview-card{background:#fff;border:3px solid;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:20px}.preview-color{border-radius:10px;box-shadow:0 4px 12px #00000026;font-size:1.2rem;font-weight:700;letter-spacing:1px;margin-bottom:15px;padding:15px;text-align:center;text-transform:uppercase}.preview-info{text-align:left}.preview-info p{color:#5a6c7d;font-size:.9rem;margin:5px 0}.preview-info strong{color:#2c3e50}.form-actions{border-top:1px solid #87ceeb33;margin-top:20px}.cancel-button{background:#f8f9fa;border:2px solid #e1e8ed;border-radius:20px;color:#78909c}.cancel-button:hover{background:#e9ecef;border-color:#78909c;color:#5a6c7d}.submit-button{background:linear-gradient(45deg,#66bb6a,#81c784);border-radius:20px;box-shadow:0 4px 15px #66bb6a4d}.submit-button:hover:not(:disabled){box-shadow:0 8px 25px #66bb6a66}.cancel-button:disabled,.submit-button:disabled{transform:none}.medico-search-container,.patient-search-container{position:relative;width:100%}.search-input-wrapper{align-items:center;display:flex}.medico-search-input,.patient-search-input{background:#fff;border:2px solid #e1e8ed;border-radius:10px;font-size:1rem;padding:12px 40px 12px 15px;transition:all .3s ease;width:100%}.medico-search-input:focus,.patient-search-input:focus{border-color:#87ceeb;box-shadow:0 0 0 3px #87ceeb1a;outline:none}.clear-search-btn{border-radius:50%;color:#78909c;font-size:1.5rem;height:30px;right:10px;transition:all .3s ease;width:30px}.clear-search-btn:hover{background:#87ceeb1a;color:#2c3e50}.medico-dropdown,.patient-dropdown{animation:slideDown .2s ease;background:#fff;border:2px solid #e1e8ed;border-radius:10px;box-shadow:0 10px 30px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 5px);z-index:1000}.medico-item,.patient-item{border-bottom:1px solid #f5f5f5;cursor:pointer;padding:12px 15px;transition:all .2s ease}.medico-item:last-child,.patient-item:last-child{border-bottom:none}.medico-item:hover,.patient-item:hover{background:linear-gradient(135deg,#e8f4f8,#f0f8ff)}.medico-item.selected,.patient-item.selected{background:linear-gradient(135deg,#87ceeb,#add8e6);color:#fff}.medico-name,.patient-name{color:#2c3e50;font-size:.95rem;font-weight:600;margin-bottom:4px}.medico-item.selected .medico-name,.patient-item.selected .patient-name{color:#fff}.medico-info,.patient-info{color:#78909c;display:flex;font-size:.85rem;gap:12px}.medico-item.selected .medico-info,.patient-item.selected .patient-info{color:#ffffffe6}.medico-info span,.patient-info span{align-items:center;display:flex;gap:4px}.dropdown-hint{background:#f8f9fa;border-top:1px solid #e1e8ed;color:#78909c;font-size:.85rem;padding:10px 15px}.no-results{color:#bdc3c7;font-size:.95rem;padding:30px 15px}.medico-dropdown::-webkit-scrollbar,.patient-dropdown::-webkit-scrollbar{width:8px}.medico-dropdown::-webkit-scrollbar-track,.patient-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.medico-dropdown::-webkit-scrollbar-thumb,.patient-dropdown::-webkit-scrollbar-thumb{background:#87ceeb;border-radius:10px}.medico-dropdown::-webkit-scrollbar-thumb:hover,.patient-dropdown::-webkit-scrollbar-thumb:hover{background:#4682b4}@media (max-width:1024px){.turnos-dashboard{gap:20px;grid-template-columns:1fr}.stats-turnos{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.sistema-turnos-container{padding:15px}.page-header .header-content{align-items:flex-start;flex-direction:column;gap:15px}.display-button{margin-top:10px;width:100%}.header-title{text-align:left}.header-title h1{font-size:1.5rem}.stats-turnos,.turnos-dashboard{grid-template-columns:1fr}.stats-turnos{gap:15px}.stat-card{flex-direction:column;gap:10px;padding:20px;text-align:center}.numero-grande{font-size:3rem;min-width:120px;padding:20px}.especialidad-actual{font-size:1.2rem}.turnos-actions{align-items:center;flex-direction:column}.nuevo-turno-btn,.refresh-btn{max-width:300px;width:100%}.turnos-grid{gap:15px;grid-template-columns:1fr}.turno-card{padding:15px}.turno-card .numero-turno{font-size:1.5rem}.turno-actual-card{padding:20px}.form-actions{flex-direction:column}.medico-dropdown,.patient-dropdown{max-height:250px}.medico-item,.patient-item{padding:10px 12px}.medico-name,.patient-name{font-size:.9rem}.medico-info,.patient-info{flex-direction:column;font-size:.8rem;gap:4px}.especialidad-info,.medico-info{font-size:.85rem}}@media (max-width:480px){.sistema-turnos-container{padding:10px}.turno-actual-card{padding:15px}.numero-grande{font-size:2.5rem;padding:15px}.card-header h2{font-size:1.1rem}.estado-actual{font-size:1rem}.llamar-siguiente-btn{font-size:1rem;padding:12px 20px}.stat-icon{font-size:2rem}.stat-number{font-size:1.5rem}.turnos-lista-section{padding:15px}.turnos-lista-section h2{font-size:1.3rem}.turno-header{flex-direction:column;gap:10px;text-align:center}.turno-card .numero-turno{font-size:1.3rem}.modal-content{width:95%}.modal-body,.modal-header{padding:20px}.color-badge{font-size:.7rem;padding:3px 10px}}@media (min-width:1200px){.turnos-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.stats-turnos{grid-template-columns:repeat(3,1fr)}.numero-grande{font-size:5rem}}@keyframes newTurnoSlide{0%{opacity:0;transform:translateX(-20px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}.turno-card.new{animation:newTurnoSlide .5s ease-out}.turno-card.urgente{animation:urgentPulse 1.5s infinite;border-left-color:#ff6b9d}@keyframes urgentPulse{0%{box-shadow:0 4px 15px #0000001a}50%{box-shadow:0 8px 25px #ff6b9d66}to{box-shadow:0 4px 15px #0000001a}}.llamar-siguiente-btn.clicked{animation:buttonPress .3s ease}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.tiempo-espera{background:#42a5f51a;border-radius:10px;color:#42a5f5;display:inline-block;font-size:.7rem;margin-top:5px;padding:2px 8px}.tiempo-espera.largo{background:#ff6b9d1a;color:#ff6b9d}.notification-badge{align-items:center;animation:bounce 1s infinite;background:#ff6b9d;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:600;height:20px;justify-content:center;position:absolute;right:-5px;top:-5px;width:20px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.sistema-turnos-container button:focus,.sistema-turnos-container input:focus,.sistema-turnos-container select:focus{outline:2px solid #87ceeb;outline-offset:2px}.spinner-inline{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;display:inline-block;height:16px;margin-right:8px;width:16px}@media print{.sistema-turnos-container{background:#fff!important;padding:0!important}.controls-section,.display-button,.llamar-siguiente-btn,.turnos-actions{display:none!important}.page-header,.turnos-dashboard,.turnos-lista-section{background:#fff!important;box-shadow:none!important}.turno-card{border:1px solid #ddd;break-inside:avoid;page-break-inside:avoid}}.estadisticas-globales{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card-global{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s}.stat-card-global:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.stat-card-global.total{border-left:4px solid #2196f3}.stat-card-global.esperando{border-left:4px solid #ff9800}.stat-card-global.atendiendo{border-left:4px solid #4caf50}.stat-card-global.completados{border-left:4px solid #9c27b0}.especialidades-grid{grid-gap:1.25rem;gap:1.25rem;margin-bottom:2rem;max-width:100%;overflow:hidden}.especialidad-card{box-shadow:0 3px 10px #00000014;max-width:100%;min-height:380px;padding:1.25rem;transition:all .3s}.especialidad-card:hover{box-shadow:0 6px 16px #0000001f;transform:translateY(-3px)}.especialidad-header{align-items:center;display:flex;flex-shrink:0;gap:.65rem;margin-bottom:1rem}.especialidad-color-badge{border-radius:16px;box-shadow:0 2px 4px #0000001a;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.35rem .75rem;text-transform:uppercase;white-space:nowrap}.especialidad-nombre{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;flex:1 1;font-size:.95rem;font-weight:700;line-height:1.2;margin:0;overflow:hidden;text-overflow:ellipsis}.turno-actual-especialidad{align-items:center;background:#ffffffb3;border-radius:10px;display:flex;flex-direction:column;flex-grow:1;justify-content:center;margin-bottom:.85rem;min-height:160px;padding:1rem;text-align:center}.numero-turno-grande{border-radius:10px;box-shadow:0 3px 6px #0000001f;font-size:2.25rem;font-weight:800;line-height:1;margin-bottom:.65rem;max-width:100%;overflow:hidden;padding:.6rem 1.25rem;text-overflow:ellipsis;white-space:nowrap}.info-turno-actual{max-width:100%;padding:0 .5rem;width:100%}.info-turno-actual p{font-size:.8rem;margin:.35rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paciente-nombre{color:#2c3e50;font-size:.85rem;font-weight:700}.medico-nombre{color:#546e7a;font-size:.75rem}.consultorio-nombre{color:#78909c;font-size:.7rem}.sin-turno-actual{align-items:center;color:#bdbdbd;display:flex;flex-direction:column;font-style:italic;gap:.5rem;padding:1.25rem 0}.sin-turno-actual p{font-size:.9rem;font-weight:500;margin:0}.prefijo-especialidad{font-size:2.5rem;font-weight:900;letter-spacing:2px;margin-bottom:.5rem;opacity:.18}.estadisticas-especialidad{grid-gap:.65rem;background:#f5f7facc;border-radius:8px;display:grid;flex-shrink:0;gap:.65rem;grid-template-columns:1fr 1fr;margin-bottom:.85rem;padding:.85rem}.stat-mini{align-items:center;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:.2rem;justify-content:center;padding:.45rem .25rem}.stat-label{color:#78909c;font-size:.65rem;font-weight:600;letter-spacing:.3px;line-height:1.2;text-align:center}.stat-value{color:#2c3e50;font-size:1.6rem;font-weight:800;line-height:1}.llamar-siguiente-esp-btn{border:none;border-radius:8px;box-shadow:0 2px 4px #0000001f;cursor:pointer;flex-shrink:0;font-size:.85rem;font-weight:700;letter-spacing:.3px;padding:.8rem;text-transform:uppercase;transition:all .2s;width:100%}.llamar-siguiente-esp-btn:hover:not(:disabled){box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.llamar-siguiente-esp-btn:active:not(:disabled){transform:translateY(0)}.llamar-siguiente-esp-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}@media (min-width:1600px){.especialidades-grid{grid-template-columns:repeat(7,1fr)}}@media (min-width:1400px) and (max-width:1599px){.especialidades-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width:1200px) and (max-width:1399px){.especialidades-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px) and (max-width:1199px){.especialidades-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:899px){.especialidades-grid{grid-template-columns:1fr;margin-left:auto;margin-right:auto;max-width:500px}.especialidad-card{min-height:360px}}@media (max-width:768px){.estadisticas-globales{grid-template-columns:repeat(2,1fr)}.numero-turno-grande{font-size:2rem;padding:.55rem 1.1rem}.turno-actual-especialidad{min-height:150px}}@media (max-width:480px){.estadisticas-globales{grid-template-columns:1fr}.especialidad-header{align-items:center;flex-direction:row;flex-wrap:wrap}.especialidad-color-badge{font-size:.65rem;padding:.3rem .65rem}.especialidad-nombre{font-size:.9rem}.numero-turno-grande{font-size:1.85rem}.stat-value{font-size:1.4rem}.stat-label{font-size:.6rem}.llamar-siguiente-esp-btn{font-size:.8rem;padding:.75rem}}.admin-medicos-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.admin-medicos-container .page-header{background:linear-gradient(135deg,#fff,#f3f7fb 60%,#eef7fa);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);margin-bottom:16px;padding:20px 22px}.table-container{background:#fff;overflow-y:visible}.medicos-table{background:#fff;border-collapse:collapse;font-size:.95rem;min-width:1000px;width:100%}.medicos-table thead th{background:#0e7490;background:var(--table-head);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.6px;padding:14px 10px;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:5}.medicos-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.medicos-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.medicos-table td{color:#334155;padding:12px 10px;text-align:center;vertical-align:middle}.modal-content{animation:slideUp .2s ease;max-width:900px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{background:linear-gradient(135deg,#fff,#f3f7fb);border-bottom:2px solid #d7dde6;border-bottom:2px solid var(--border);padding:16px 20px}.modal-header h2{font-size:1.3rem}.close-button{font-size:28px;opacity:.6;padding:4px;transition:.2s}.modal-body{display:flex;flex:1 1;flex-direction:column;gap:0;padding:20px}.especialidades-header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:6px 0 10px}.especialidades-busqueda{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.especialidades-busqueda .search-box{max-width:340px}.especialidades-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.especialidad-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;padding:14px;transition:transform .12s,box-shadow .18s,border-color .18s}.especialidad-card:hover{border-color:#c8d3df;box-shadow:0 12px 24px #02172a1a;transform:translateY(-2px)}.especialidad-titulo{align-items:center;display:flex;gap:8px;justify-content:space-between}.especialidad-nombre{color:#0f172a;font-size:1.02rem;font-weight:900;letter-spacing:.2px}.especialidad-badge{align-items:center;background:#e6f4f8;background:var(--primary-50);border-radius:999px;color:#0c5f75;color:var(--primary-700);display:inline-flex;font-size:.74rem;font-weight:800;gap:6px;padding:5px 9px;text-transform:uppercase}.especialidad-meta{color:#475569;display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px}.especialidad-meta span{align-items:center;background:#f1f5f9;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:999px;display:inline-flex;gap:6px;padding:6px 9px}.especialidad-descripcion{background:#f8fafc;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;color:#334155;font-size:.94rem;line-height:1.45;padding:10px}.especialidad-acciones{display:flex;gap:8px;justify-content:flex-end}.especialidad-btn{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;cursor:pointer;font-weight:800;padding:9px 11px;transition:transform .06s,box-shadow .12s,border-color .18s}.especialidad-btn:hover{box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.especialidad-btn:active{transform:scale(.98)}.especialidad-btn.editar{color:#b45309;color:var(--warn)}.especialidad-btn.eliminar{color:#b91c1c;color:var(--danger)}.especialidad-btn.ver{color:#0e7490;color:var(--primary)}.especialidades-empty{background:#fff;border:1px dashed #d7dde6;border:1px dashed var(--border);border-radius:14px;color:#64748b;padding:22px;text-align:center}.especialidades-loading{color:#6b7280;padding:30px 10px;text-align:center}.especialidades-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#0e7490;border-top:4px solid var(--primary);height:34px;margin:0 auto 8px;width:34px}@media (max-width:1280px){.especialidades-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:920px){.form-row{grid-template-columns:1fr}.medicos-table{min-width:900px}.especialidades-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.especialidades-grid{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a;--table-head:#155e75;--table-head-border:#0b4455}.controls-section,.form-section,.modal-content,.table-section,.tabs-container{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-select,.form-group input,.form-group select,.form-group textarea,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#fff}.medicos-table{background:#fff;background:var(--panel)}.especialidad-card{background:#0f172a;border-color:#d7dde6;border-color:var(--border)}.especialidad-descripcion,.especialidad-meta span{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}}.modal-content{max-width:clamp(680px,70vw,960px)}.especialidades-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.medicos-table td,.medicos-table th{text-align:center;vertical-align:middle}.historial-medico-container{display:flex;flex-direction:column;max-width:1800px;width:95%}.page-header,.search-section{flex-shrink:0}.pacientes-grid{align-content:start;flex:1 1;padding-bottom:40px}.paciente-card{height:fit-content}.paciente-icon{flex-shrink:0}.empty-state{align-self:center;grid-column:1/-1;justify-self:center;margin:auto}.loading-state{flex:1 1;justify-content:center}.error-message{flex-shrink:0}@media (max-width:560px){.historial-medico-container{padding:16px}.pacientes-grid{gap:16px}.paciente-detalles,.pacientes-grid{grid-template-columns:1fr}.paciente-icon{height:44px;width:44px}}@media (min-height:800px){.pacientes-grid{min-height:60vh}}@media (min-height:1000px){.pacientes-grid{min-height:70vh}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a}.empty-state,.medico-info,.paciente-card,.page-header{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.detalle-item span,.empty-state span,.medico-detalles,.paciente-dpi,.paciente-telefono{color:#9aa7bd}}.historial-medico-container{color:#1f2937;margin:0 auto;max-width:1400px}.back-button{margin-bottom:10px}.medico-info{background:#fff;border:1px solid #d7dde6;border-left:4px solid #0e7490;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:12px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);margin-bottom:16px;padding:18px}.medico-info h1{color:#0f172a;font-size:1.4rem;font-weight:900;margin:0 0 6px}.medico-nombre{color:#334155;font-weight:700;margin:0}.medico-detalles{color:#64748b;font-size:.92rem;margin:6px 0 0}.search-section{margin:12px 0 18px}.search-input{padding:10px 14px}.pacientes-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.paciente-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);cursor:pointer;padding:16px;transition:transform .12s,box-shadow .18s,border-color .18s}.paciente-card:hover{border-color:#c8d3df;box-shadow:0 12px 24px #02172a1a;transform:translateY(-4px)}.paciente-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.paciente-info h3{color:#0f172a;font-size:1.06rem;font-weight:900;margin:0 0 4px}.paciente-dpi{color:#7f8c8d;font-size:.9rem;margin:0}.paciente-icon{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:900;height:50px;justify-content:center;width:50px}.paciente-icon.masculino{background:#3498db}.paciente-icon.femenino{background:#e74c3c}.paciente-detalles{grid-gap:10px;border-top:1px solid #ecf0f1;display:grid;font-size:.92rem;gap:10px;grid-template-columns:1fr 1fr;padding-top:12px}.detalle-item{display:flex;flex-direction:column}.detalle-item strong{color:#334155;margin-bottom:2px}.detalle-item span{color:#64748b}.total-citas{color:#0c5f75!important;color:var(--primary-700)!important;font-weight:800}.paciente-telefono{color:#64748b;font-size:.86rem;margin-top:8px}.ver-historial{border-top:1px solid #ecf0f1;color:#0e7490;color:var(--primary);font-size:.94rem;font-weight:800;margin-top:12px;padding-top:12px;text-align:right}.empty-state{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);padding:48px 20px}.empty-state p{color:#334155;font-size:1.05rem;font-weight:800;margin-bottom:8px}.empty-state span{color:#64748b}.loading-state{padding:48px 20px}.spinner{margin:0 auto 16px}.error-message{margin-bottom:16px}.error-message button{font-size:20px;padding:2px 6px}.historial-completo-container{margin:0 auto;max-width:1800px;padding:20px;width:95%}.paciente-info-header{background:linear-gradient(135deg,#0ea5b7,#0c5f75);border-radius:14px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);color:#fff;margin-bottom:18px;padding:26px}.paciente-info-header h2{font-size:1.6rem;margin:0 0 8px}.paciente-datos{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:16px}.dato-item{background:#ffffff26;border-radius:10px;padding:10px 12px}.dato-item strong{display:block;font-size:.78rem;margin-bottom:4px;opacity:.95}.dato-item span{font-size:.98rem;font-weight:700}.tabs-container{margin-bottom:16px}.tabs{gap:0;overflow-x:auto}.tab{padding:12px 16px;white-space:nowrap}.tab-content{animation:fadeIn .25s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.historial-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;margin-bottom:12px;padding:16px;transition:transform .12s,box-shadow .18s}.historial-card:hover{box-shadow:0 12px 24px #02172a1a;transform:translateY(-2px)}.historial-card-header{align-items:flex-start;border-bottom:1px solid #eef2f7;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:12px}.historial-card-title{color:#0f172a;font-size:1rem;font-weight:900;margin:0}.historial-card-date{color:#64748b;font-size:.9rem}.historial-card-body{color:#334155;line-height:1.6}.historial-card-body p{margin:8px 0}.historial-card-body strong{color:#0f172a}.badge{font-size:.78rem;padding:5px 12px}.badge.completada,.badge.verde{background:#dcfce7;color:#065f46}.badge.amarillo{background:#fff3cd;color:#854d0e}.badge.cancelada,.badge.rojo{background:#fee2e2;color:#991b1b}.badge.programada{background:#dbeafe;color:#1e40af}.medicamentos-list{list-style:none;margin:10px 0;padding:0}.medicamentos-list li{border-bottom:1px solid #eef2f7;padding:8px 0}.medicamentos-list li:last-child{border-bottom:none}.action-buttons{display:flex;gap:10px;margin-top:12px}.btn-editar{background:#0e7490;background:var(--primary);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:900;padding:8px 14px;transition:.18s}.btn-editar:hover{box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring)}.resumen-estadisticas{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:14px}.stat-number{color:#0e7490;color:var(--primary);font-size:1.8rem;margin:8px 0}.stat-label{color:#64748b;font-size:.9rem}@media (max-width:560px){.paciente-detalles,.pacientes-grid{grid-template-columns:1fr}.historial-card-header{flex-direction:column;gap:6px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a}.empty-state,.historial-card,.medico-info,.page-header,.stat-card,.tabs-container{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.btn-editar,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.paciente-card{background:#fff;background:var(--panel);border-color:#1f2a3a;color:#e5e7eb}.detalle-item span,.historial-card-date,.medico-detalles,.paciente-dpi,.paciente-telefono,.stat-label{color:#9aa7bd}.paciente-info-header{background:linear-gradient(135deg,#0b7285,#0a3d4e)}}.historial-medico-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.historial-medico-container .page-header{background:linear-gradient(135deg,#fff,#f3f7fb 60%,#eef7fa);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);margin-bottom:16px;padding:20px 22px}.historial-medico-container .header-content{align-items:center;display:flex;gap:12px}.historial-medico-container .back-button{background:#0e7490;background:var(--primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:8px 14px;transition:.18s}.historial-medico-container .back-button:hover{background:#0c5f75;background:var(--primary-700)}.historial-medico-container .header-title h1{color:#0f172a;font-size:1.7rem;font-weight:800;margin:0}.historial-medico-container .header-title p{color:#64748b;color:var(--muted);margin:4px 0 0}.historial-medico-container .error-message{align-items:center;background:#fff1f2;border:1px solid #f8b4b4;border-radius:10px;color:#9f1239;display:flex;justify-content:space-between;margin-bottom:12px;padding:10px 12px}.historial-medico-container .mensaje-error,.historial-medico-container .mensaje-exito{align-items:center;border-radius:10px;display:flex;font-size:.95em;gap:10px;margin-bottom:12px;padding:10px 12px}.historial-medico-container .mensaje-exito{background:#dcfce7;border:1px solid #86efac;color:#065f46}.historial-medico-container .mensaje-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.historial-medico-container .mensaje-error span,.historial-medico-container .mensaje-exito span{font-size:1.2em;font-weight:800}.historial-medico-container .estadisticas-panel{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:14px}.historial-medico-container .stat-card{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);padding:16px;text-align:center}.historial-medico-container .stat-numero{color:#1f2937;font-size:2rem;font-weight:900;margin-bottom:6px}.historial-medico-container .stat-card.activo .stat-numero{color:#0f766e}.historial-medico-container .stat-card.resuelto .stat-numero{color:#0e7490}.historial-medico-container .stat-card.prioridad .stat-numero{color:#b91c1c}.historial-medico-container .stat-label{color:#334155;font-size:.85rem;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.historial-medico-container .buscador-historial{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px;padding:14px}.historial-medico-container .buscador-historial input{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;flex:1 1;min-width:200px;padding:10px 12px}.historial-medico-container .buscador-historial input:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.historial-medico-container .btn-buscar,.historial-medico-container .btn-limpiar{border:none;border-radius:10px;cursor:pointer;font-weight:800;padding:10px 16px}.historial-medico-container .btn-buscar{background:#0e7490;background:var(--primary);color:#fff}.historial-medico-container .btn-buscar:hover{background:#0c5f75;background:var(--primary-700)}.historial-medico-container .btn-limpiar{background:#6c757d;color:#fff}.historial-medico-container .btn-limpiar:hover{background:#5a6268}.historial-medico-container .filtros-section{align-items:center;background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px;padding:14px}.historial-medico-container .filtros-container{display:flex;flex:1 1;flex-wrap:wrap;gap:10px}.historial-medico-container .filtros-container input,.historial-medico-container .filtros-container select{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;min-width:170px;padding:10px 14px}.historial-medico-container .filtros-container input:focus,.historial-medico-container .filtros-container select:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.historial-medico-container .btn-aplicar-filtros,.historial-medico-container .btn-limpiar-filtros{border:none;border-radius:10px;cursor:pointer;font-weight:800;padding:10px 16px}.historial-medico-container .btn-aplicar-filtros{background:#0e7490;background:var(--primary);color:#fff}.historial-medico-container .btn-aplicar-filtros:hover{background:#0c5f75;background:var(--primary-700)}.historial-medico-container .btn-limpiar-filtros{background:#6c757d;color:#fff}.historial-medico-container .btn-limpiar-filtros:hover{background:#5a6268}.historial-medico-container .loading-historial{color:#64748b;color:var(--muted);font-size:1.1em;padding:40px}.historial-medico-container .loading-historial,.historial-medico-container .sin-datos{background:#fff;background:var(--panel);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);text-align:center}.historial-medico-container .sin-datos{padding:60px 20px}.historial-medico-container .sin-datos p{color:#64748b;color:var(--muted);font-size:1.1em;margin-bottom:20px}.historial-medico-container .btn-crear-primero{background:#0f766e;background:var(--success);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;padding:12px 30px}.historial-medico-container .btn-crear-primero:hover{filter:brightness(.95)}.historial-medico-container .lista-pacientes-historial{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.historial-medico-container .card-paciente-historial{align-items:center;background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);cursor:pointer;display:flex;justify-content:space-between;padding:20px;transition:all .15s}.historial-medico-container .card-paciente-historial:hover{box-shadow:0 12px 30px #02172a1f;transform:translateY(-3px)}.historial-medico-container .paciente-info h3{color:#0f172a;font-size:1.2em;font-weight:900;margin:0 0 10px}.historial-medico-container .paciente-detalles{color:#334155;display:flex;flex-direction:column;font-size:.9em;gap:5px;margin-bottom:10px}.historial-medico-container .paciente-problemas{margin-top:10px}.historial-medico-container .badge-problemas{background:#e6f4f8;border-radius:20px;color:#0e7490;font-size:.85em;font-weight:800;padding:6px 12px}.historial-medico-container .card-accion{color:#0e7490;font-weight:800}.historial-medico-container .btn-nueva-nota,.historial-medico-container .btn-nuevo-problema{background:#0f766e;background:var(--success);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:.95em;font-weight:800;padding:12px 25px}.historial-medico-container .btn-nueva-nota:hover,.historial-medico-container .btn-nuevo-problema:hover{filter:brightness(.95)}.historial-medico-container .lista-problemas{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:20px}.historial-medico-container .card-problema{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);overflow:hidden;padding:18px;position:relative;transition:all .2s}.historial-medico-container .card-problema:before{background:linear-gradient(90deg,#0e7490,#0f766e);background:linear-gradient(90deg,var(--primary),var(--success));content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s}.historial-medico-container .card-problema:hover{box-shadow:0 12px 30px #02172a1f;transform:translateY(-4px)}.historial-medico-container .card-problema:hover:before{transform:scaleX(1)}.historial-medico-container .problema-numero{align-items:center;background:#0e7490;background:var(--primary);border-radius:50%;color:#fff;display:inline-flex;font-size:.85rem;font-weight:900;height:28px;justify-content:center;margin-bottom:10px;width:28px}.historial-medico-container .problema-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:14px}.historial-medico-container .problema-header h3{color:#0f172a;flex:1 1;font-size:1.15rem;font-weight:900;margin:0}.historial-medico-container .problema-badges{display:flex;flex-wrap:wrap;gap:8px}.historial-medico-container .badge-estado,.historial-medico-container .badge-prioridad{border-radius:999px;color:#fff;display:inline-block;font-size:.7rem;font-weight:800;padding:5px 10px;text-transform:uppercase}.historial-medico-container .problema-contenido{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:14px}.historial-medico-container .problema-contenido h3{color:#0f172a;font-size:1.1rem;font-weight:900;line-height:1.4;margin:0 0 10px}.historial-medico-container .problema-tipo{color:#334155;font-size:.9em;margin-bottom:8px}.historial-medico-container .problema-tipo strong{color:#0f172a;font-weight:800}.historial-medico-container .problema-fechas{color:#334155;display:flex;flex-wrap:wrap;font-size:.9em;gap:16px;margin-bottom:10px}.historial-medico-container .problema-fechas strong{color:#0f172a;font-weight:800}.historial-medico-container .problema-plan{background:#f8f9fa;border-radius:8px;font-size:.9em;margin-bottom:10px;padding:10px}.historial-medico-container .problema-plan strong{color:#0f172a;display:block;font-weight:800;margin-bottom:6px}.historial-medico-container .problema-plan p{color:#334155;font-size:.85em;line-height:1.5;margin:0}.historial-medico-container .problema-notas-count{color:#64748b;color:var(--muted);font-size:.85em;font-weight:600;margin-bottom:12px}.historial-medico-container .problema-acciones{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.historial-medico-container .btn-editar,.historial-medico-container .btn-eliminar,.historial-medico-container .btn-ver-detalle{border:none;border-radius:8px;cursor:pointer;font-size:.85em;font-weight:700;padding:8px 14px;transition:all .2s;white-space:nowrap}.historial-medico-container .btn-ver-detalle{background:#0e7490;background:var(--primary);color:#fff}.historial-medico-container .btn-ver-detalle:hover{background:#0c5f75;background:var(--primary-700);transform:translateY(-1px)}.historial-medico-container .btn-editar{background:#3b82f6;color:#fff}.historial-medico-container .btn-editar:hover{background:#1e40af;transform:translateY(-1px)}.historial-medico-container .btn-eliminar{background:#ef4444;color:#fff}.historial-medico-container .btn-eliminar:hover{background:#dc2626;transform:translateY(-1px)}.historial-medico-container .header-historial{align-items:center;background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;padding:16px}.historial-medico-container .btn-volver{background:#0e7490;background:var(--primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;padding:10px 16px;white-space:nowrap}.historial-medico-container .btn-volver:hover{background:#0c5f75;background:var(--primary-700)}.historial-medico-container .problema-detalle-header{flex:1 1}.historial-medico-container .problema-detalle-header h1{color:#0f172a;font-size:1.4rem;font-weight:900;margin:0}.historial-medico-container .modal-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:10px;position:fixed;z-index:1000}.historial-medico-container .modal-contenido,.historial-medico-container .modal-content{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px #02172a40;display:flex;flex-direction:column;max-height:90vh;max-width:940px;width:100%}.historial-medico-container .modal-header{align-items:center;border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:18px 20px}.historial-medico-container .modal-header h2{color:#0f172a;font-size:1.08rem;font-weight:800;margin:0}.historial-medico-container .btn-cerrar-modal,.historial-medico-container .close-button{background:#0000;border:none;color:#0f172a;cursor:pointer;font-size:24px;line-height:1;opacity:.7}.historial-medico-container .btn-cerrar-modal:hover,.historial-medico-container .close-button:hover{opacity:1}.historial-medico-container .modal-body{overflow:auto;padding:28px}.historial-medico-container .form-section{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;margin-bottom:18px;padding:20px}.historial-medico-container .form-section h3{color:#0f172a;font-weight:800;margin:0 0 8px}.historial-medico-container .form-row{grid-gap:16px;display:grid;gap:16px;grid-auto-flow:row dense;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.historial-medico-container .form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.historial-medico-container .form-group label{color:#0f172a;font-weight:700}.historial-medico-container .form-group input,.historial-medico-container .form-group select,.historial-medico-container .form-group textarea{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;color:#0f172a;font-size:.95rem;padding:12px 14px;transition:border-color .18s,box-shadow .18s;width:100%}.historial-medico-container .form-group textarea{min-height:78px;resize:vertical}.historial-medico-container .form-group input:focus,.historial-medico-container .form-group select:focus,.historial-medico-container .form-group textarea:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.historial-medico-container .form-actions,.historial-medico-container .modal-footer{border-top:1px solid #d7dde6;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;margin-top:8px;padding:18px 20px}.historial-medico-container .btn-cancelar,.historial-medico-container .cancel-button{background:#e2e8f0;border:none;border-radius:12px;color:#0f172a;cursor:pointer;font-weight:800;padding:10px 16px}.historial-medico-container .btn-cancelar:hover,.historial-medico-container .cancel-button:hover{background:#cbd5e1}.historial-medico-container .btn-guardar,.historial-medico-container .submit-button{background:#0e7490;background:var(--primary);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;padding:10px 16px}.historial-medico-container .btn-guardar:hover,.historial-medico-container .submit-button:hover{box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring)}.historial-medico-container .btn-guardar:disabled{background:#94d3a2;cursor:not-allowed;opacity:.6}.historial-medico-container .pagination-container{align-items:center;border-top:1px solid #d7dde6;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px}.historial-medico-container .pagination-info{color:#64748b;color:var(--muted);font-size:.9rem;font-weight:500;text-align:center}.historial-medico-container .pagination-controls{align-items:center;display:flex;gap:8px}.historial-medico-container .pagination-button{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;color:#1f2937;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.historial-medico-container .pagination-button:hover:not(:disabled){background:#e6f4f8;background:var(--primary-50);border-color:#0e7490;border-color:var(--primary);color:#0e7490;color:var(--primary);transform:translateY(-1px)}.historial-medico-container .pagination-button:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.4}.historial-medico-container .pagination-numbers{align-items:center;display:flex;gap:4px}.historial-medico-container .pagination-number{align-items:center;background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;color:#1f2937;color:var(--text);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;height:36px;justify-content:center;min-width:36px;padding:0 8px;transition:all .2s ease}.historial-medico-container .pagination-number:hover{background:#e6f4f8;background:var(--primary-50);border-color:#0e7490;border-color:var(--primary);color:#0e7490;color:var(--primary);transform:translateY(-1px)}.historial-medico-container .pagination-number.active{background:#0e7490;background:var(--primary);border-color:#0e7490;border-color:var(--primary);color:#fff;font-weight:800}.historial-medico-container .pagination-ellipsis{color:#64748b;color:var(--muted);font-weight:600;padding:0 8px}.historial-medico-container .problema-detalle-info{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);margin-bottom:16px;padding:16px}.historial-medico-container .problema-detalle-info h2{color:#0f172a;font-size:1.4rem;font-weight:800;margin:0 0 12px}.historial-medico-container .problema-metadata{color:#334155;display:flex;flex-wrap:wrap;font-size:.95em;gap:20px;margin-bottom:12px}.historial-medico-container .plan-tratamiento-detalle{border-top:1px solid #d7dde6;border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.historial-medico-container .plan-tratamiento-detalle strong{color:#0f172a;display:block;font-weight:800;margin-bottom:8px}.historial-medico-container .plan-tratamiento-detalle p{color:#334155;line-height:1.6;margin:0}.historial-medico-container .notas-evolucion-section{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:16px}.historial-medico-container .section-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.historial-medico-container .section-header h2{color:#0f172a;font-size:1.3rem;font-weight:800;margin:0}.historial-medico-container .lista-notas-soap{display:flex;flex-direction:column;gap:16px}.historial-medico-container .card-nota-soap{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);padding:14px;transition:all .2s}.historial-medico-container .card-nota-soap:hover{box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.historial-medico-container .nota-header{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding-bottom:12px}.historial-medico-container .nota-fecha{color:#0e7490;color:var(--primary);font-size:.95em;font-weight:700}.historial-medico-container .nota-medico{color:#334155;font-size:.9em;font-weight:600}.historial-medico-container .nota-medico .especialidad{color:#64748b;color:var(--muted);font-size:.85em;font-weight:500}.historial-medico-container .nota-soap{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.historial-medico-container .soap-section{background:#f6f8fb;background:var(--bg);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;padding:12px}.historial-medico-container .soap-section h4{color:#1f2937;color:var(--text);font-size:.9em;font-weight:800;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.historial-medico-container .soap-section.subjetivo h4{color:#3b82f6}.historial-medico-container .soap-section.objetivo h4{color:#10b981}.historial-medico-container .soap-section.evaluacion h4{color:#f59e0b}.historial-medico-container .soap-section.plan h4{color:#8b5cf6}.historial-medico-container .soap-section p{color:#334155;font-size:.85em;line-height:1.5;margin:0;white-space:pre-wrap}.historial-medico-container .nota-extras{background:#f6f8fb;background:var(--bg);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;padding:12px}.historial-medico-container .nota-extras strong{color:#1f2937;color:var(--text);display:block;font-size:.9em;font-weight:800;margin-bottom:8px}.historial-medico-container .nota-extras p{color:#334155;font-size:.85em;line-height:1.5;margin:0;white-space:pre-wrap}.historial-medico-container .tabs-container{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-bottom:none;border-radius:12px 12px 0 0;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;gap:5px;margin-bottom:0;padding:10px 10px 0}.historial-medico-container .tab-button{background:#f8f9fa;border:none;border-bottom:3px solid #0000;border-radius:10px 10px 0 0;color:#64748b;color:var(--muted);cursor:pointer;flex:1 1;font-size:.95em;font-weight:800;padding:15px 20px;transition:all .15s}.historial-medico-container .tab-button:hover{background:#e9ecef;color:#495057}.historial-medico-container .tab-button.activa{background:#fff;background:var(--panel);border-bottom-color:#0e7490;border-bottom-color:var(--primary);color:#0e7490;color:var(--primary)}.historial-medico-container .tab-contenido{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:0 0 12px 12px;border-radius:0 0 var(--radius) var(--radius);border-top:none;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);min-height:400px;padding:25px}.historial-medico-container .base-datos-contenido,.historial-medico-container .familigrama-contenido{display:flex;flex-direction:column;gap:25px}.historial-medico-container .seccion-hcop{background:#f8f9fa;border-left:4px solid #0e7490;border-left:4px solid var(--primary);border-radius:10px;padding:20px}.historial-medico-container .seccion-hcop h3{border-bottom:2px solid #d7dde6;border-bottom:2px solid var(--border);color:#0f172a;font-size:1.2em;font-weight:900;margin:0 0 20px;padding-bottom:10px}.historial-medico-container .grid-datos{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:15px}.historial-medico-container .dato-item{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;font-size:.9em;padding:12px 15px}.historial-medico-container .dato-item strong{color:#0f172a;display:block;font-size:.85em;font-weight:900;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.historial-medico-container .texto-completo{display:flex;flex-direction:column;gap:15px}.historial-medico-container .dato-texto{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;padding:15px}.historial-medico-container .dato-texto strong{color:#0f172a;display:block;font-size:.95em;font-weight:900;margin-bottom:8px}.historial-medico-container .dato-texto p{color:#334155;line-height:1.6;margin:0;white-space:pre-wrap}.historial-medico-container .enfermedades-familiares{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.historial-medico-container .enfermedad-card{align-items:center;background:#fff;background:var(--panel);border:2px solid #d7dde6;border:2px solid var(--border);border-radius:10px;display:flex;gap:12px;padding:15px;transition:all .15s}.historial-medico-container .enfermedad-card.presente{background:#fff3e0;border-color:#ff9800}.historial-medico-container .enfermedad-card .icono{font-size:1.8em}.historial-medico-container .enfermedad-card .texto{display:flex;flex:1 1;flex-direction:column;gap:3px}.historial-medico-container .enfermedad-card strong{color:#0f172a;font-size:.9em;font-weight:900}.historial-medico-container .enfermedad-card .estado{color:#64748b;color:var(--muted);font-size:.85em}.historial-medico-container .enfermedad-card.presente .estado{color:#e65100;font-weight:800}.historial-medico-container .medico-search-container,.historial-medico-container .patient-search-container,.historial-medico-container .search-input-wrapper{position:relative;width:100%}.historial-medico-container .medico-search-input,.historial-medico-container .patient-search-input{background-color:#fff;background-color:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease;width:100%}.historial-medico-container .medico-search-input:focus,.historial-medico-container .patient-search-input:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #4caf501a}.historial-medico-container .medico-search-input:disabled,.historial-medico-container .patient-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.historial-medico-container .clear-search-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:20px;justify-content:center;line-height:1;padding:4px 8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease}.historial-medico-container .clear-search-btn:hover{color:#666;transform:translateY(-50%) scale(1.1)}.historial-medico-container .medico-dropdown,.historial-medico-container .patient-dropdown{animation:slideDown .2s ease;background-color:#fff;background-color:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #00000026;left:0;margin-top:4px;max-height:320px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.historial-medico-container .medico-dropdown::-webkit-scrollbar,.historial-medico-container .patient-dropdown::-webkit-scrollbar{width:8px}.historial-medico-container .medico-dropdown::-webkit-scrollbar-track,.historial-medico-container .patient-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.historial-medico-container .medico-dropdown::-webkit-scrollbar-thumb,.historial-medico-container .patient-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.historial-medico-container .medico-dropdown::-webkit-scrollbar-thumb:hover,.historial-medico-container .patient-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.historial-medico-container .medico-item,.historial-medico-container .patient-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:all .15s ease}.historial-medico-container .medico-item:hover,.historial-medico-container .patient-item:hover{background-color:#f8f9fa;padding-left:20px}.historial-medico-container .medico-item.selected,.historial-medico-container .patient-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.historial-medico-container .medico-item:last-child,.historial-medico-container .patient-item:last-child{border-bottom:none}.historial-medico-container .medico-name,.historial-medico-container .patient-name{color:#333;font-size:14px;font-weight:500;margin-bottom:4px}.historial-medico-container .medico-info,.historial-medico-container .patient-info{color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:16px}.historial-medico-container .medico-info span,.historial-medico-container .patient-info span{align-items:center;display:inline-flex;gap:4px}.historial-medico-container .no-results{color:#999;font-size:14px;padding:24px 20px;text-align:center}.historial-medico-container .dropdown-hint{background-color:#fafafa;border-top:1px solid #f0f0f0;color:#999;font-size:12px;font-style:italic;padding:10px 16px;text-align:center}@media (max-width:992px){.historial-medico-container .form-row{grid-template-columns:1fr}}@media (max-width:768px){.historial-medico-container .lista-pacientes-historial{grid-template-columns:1fr}.historial-medico-container .estadisticas-panel{grid-template-columns:repeat(2,1fr)}.historial-medico-container .filtros-section{align-items:stretch;flex-direction:column}.historial-medico-container .filtros-container{flex-direction:column}.historial-medico-container .modal-contenido{max-height:95vh;max-width:100%}.historial-medico-container .tabs-container{flex-direction:column;gap:5px}.historial-medico-container .tab-button{border-bottom:none;border-left:3px solid #0000;border-radius:10px}.historial-medico-container .tab-button.activa{border-bottom:none;border-left-color:#0e7490;border-left-color:var(--primary)}.historial-medico-container .enfermedades-familiares,.historial-medico-container .form-row,.historial-medico-container .grid-datos,.historial-medico-container .nota-soap{grid-template-columns:1fr}.historial-medico-container .section-header{align-items:flex-start;flex-direction:column}}@media (max-width:640px){.historial-medico-container .pagination-button{font-size:.85rem;padding:6px 12px}.historial-medico-container .pagination-number{font-size:.85rem;height:32px;min-width:32px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a;--table-head:#155e75;--table-head-border:#0b4455}.historial-medico-container .buscador-historial,.historial-medico-container .filtros-section,.historial-medico-container .form-section,.historial-medico-container .modal-contenido,.historial-medico-container .modal-content,.historial-medico-container .tabs-container{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .buscador-historial input,.historial-medico-container .filtros-container input,.historial-medico-container .filtros-container select,.historial-medico-container .form-group input,.historial-medico-container .form-group select,.historial-medico-container .form-group textarea{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.historial-medico-container .pagination-button,.historial-medico-container .pagination-number{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.historial-medico-container .pagination-button:disabled{background:#1a1f2e}.historial-medico-container .pagination-number.active{background:#0e7490;background:var(--primary);color:#fff}.historial-medico-container .medico-search-input,.historial-medico-container .patient-search-input{background-color:#fff;background-color:var(--panel)}.historial-medico-container .medico-dropdown,.historial-medico-container .patient-dropdown{background-color:#fff;background-color:var(--panel);border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .medico-item:hover,.historial-medico-container .patient-item:hover{background-color:#1a1f2e}.historial-medico-container .medico-item.selected,.historial-medico-container .patient-item.selected{background-color:#1a3a4a}.historial-medico-container .medico-name,.historial-medico-container .patient-name{color:#e5e7eb}.historial-medico-container .medico-info,.historial-medico-container .patient-info{color:#b0b8c5}.historial-medico-container .card-nota-soap,.historial-medico-container .card-paciente-historial,.historial-medico-container .notas-evolucion-section,.historial-medico-container .problema-detalle-info,.historial-medico-container .stat-card{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .plan-tratamiento-detalle{border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .problema-metadata{color:#b0b8c5}.historial-medico-container .nota-header{border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .nota-fecha,.historial-medico-container .nota-medico{color:#a0d8ff}.historial-medico-container .nota-extras,.historial-medico-container .soap-section{background:#1a1f2e;border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .nota-extras p,.historial-medico-container .soap-section p{color:#b0b8c5}.historial-medico-container .dato-item,.historial-medico-container .dato-texto,.historial-medico-container .enfermedad-card,.historial-medico-container .grid-datos{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.historial-medico-container .seccion-hcop{background:#1a1f2e;border-color:#0e7490;border-color:var(--primary)}.historial-medico-container .seccion-hcop h3{border-color:#d7dde6;border-color:var(--border)}}.signos-vitales-container{background:#f6f8fb;background:var(--bg);color:#1f2937;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.stats-triaje{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:14px}.stat-card{border-radius:14px;padding:16px;text-align:center}.stat-number{font-size:2rem;font-weight:900;margin-bottom:6px}.stat-card.rojo .stat-number{color:#b91c1c}.stat-card.amarillo .stat-number{color:#b45309}.stat-card.verde .stat-number{color:#0f766e}.stat-label{color:#334155;font-weight:800;letter-spacing:.4px;text-transform:uppercase}.filter-date,.filter-select{min-width:170px}.signos-table{background:#fff;border-collapse:collapse;font-size:.95rem;min-width:1200px;width:100%}.signos-table thead th{background:#0e7490;background:var(--primary);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--primary-700);color:#fff;font-weight:900;letter-spacing:.5px;padding:12px 10px;position:sticky;text-align:center;text-transform:uppercase;top:0}.signos-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.signos-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.signos-table td{color:#334155;padding:12px 10px;text-align:center;vertical-align:middle}.name-cell{align-items:center;display:flex;flex-direction:column;gap:2px;text-align:center}.triaje-badge{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:800;padding:6px 12px}.triaje-badge.verde{background:#dcfce7;color:#065f46}.triaje-badge.amarillo{background:#fef3c7;color:#92400e}.triaje-badge.rojo{background:#fee2e2;color:#991b1b}.form-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width:768px){.signos-table{min-width:900px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a}.controls-section,.form-section,.modal-content,.page-header,.table-section{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-date,.filter-select,.form-group input,.form-group select,.form-group textarea,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}}.cita-search-container{position:relative;width:100%}.cita-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease;width:100%}.cita-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.cita-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.cita-dropdown{animation:slideDown .2s ease;background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px #00000026;left:0;margin-top:4px;max-height:320px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.cita-dropdown::-webkit-scrollbar{width:8px}.cita-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cita-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.cita-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.cita-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:all .15s ease}.cita-item:hover{background-color:#f8f9fa;padding-left:20px}.cita-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.cita-item:last-child{border-bottom:none}.cita-name{color:#333;font-size:14px;font-weight:500;margin-bottom:6px}.cita-info{color:#666;font-size:12px;margin-bottom:4px}.cita-info,.cita-info-secondary{display:flex;flex-wrap:wrap;gap:12px}.cita-info-secondary{color:#888;font-size:11px}.cita-info span,.cita-info-secondary span{align-items:center;display:inline-flex;gap:4px}.gestion-recetas-container{background:#f6f8fb;background:var(--bg);color:#1f2937;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.filter-date,.filter-select{border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;padding:10px 14px}.filter-date:focus,.filter-select:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.recetas-table{background:#fff;border-collapse:collapse;font-size:.95rem;min-width:1200px;width:100%}.recetas-table thead th{background:#0e7490;background:var(--primary);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--primary-700);color:#fff;font-weight:900;letter-spacing:.5px;padding:12px 10px;position:sticky;text-align:center;text-transform:uppercase;top:0}.recetas-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.recetas-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.recetas-table td{color:#334155;padding:12px 10px;text-align:center;vertical-align:middle}.medicamento-cell,.medico-cell,.observacion-cell,.patient-cell{text-align:center}.medicamento-info{color:#667;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-bottom:4px}.medicamento-info strong{color:#0f172a;font-weight:800}.observacion-cell{margin:0 auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge.activa{background:#dcfce7;color:#065f46}.status-badge.inactiva{background:#fee2e2;color:#991b1b}.modal-content{max-width:1200px}.medicamento-row{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:2.2fr 1fr 1fr 1fr .9fr}.medicamento-row .form-group{margin:0}.medicamento-row input,.medicamento-row select{height:42px}.medicamento-row .add-button,.medicamento-row .add-med-btn{background:#0f766e;background:var(--success);border:1px solid #0000;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;height:42px}.medicamento-row .add-button:hover,.medicamento-row .add-med-btn:hover{filter:brightness(.97)}.medicamento-inline{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:2.2fr 1fr 1fr 1fr .9fr}.medicamento-inline .form-group{margin:0}.medicamento-inline input,.medicamento-inline select{height:42px}.nueva-receta-medicamento{grid-gap:10px;align-items:end;display:grid;gap:10px;grid-template-columns:2.2fr 1fr 1fr 1fr .9fr}.nueva-receta-medicamento .form-group{margin:0}.nueva-receta-medicamento input,.nueva-receta-medicamento select{height:42px}@media (max-width:980px){.medicamento-inline,.medicamento-row,.nueva-receta-medicamento{grid-auto-rows:auto;grid-template-columns:1fr 1fr}.medicamento-inline .add-button,.medicamento-inline .add-med-btn,.medicamento-row .add-button,.medicamento-row .add-med-btn,.nueva-receta-medicamento .add-button,.nueva-receta-medicamento .add-med-btn{grid-column:1/-1;height:44px}}.items-receta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.item-receta{align-items:center;background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;display:flex;justify-content:space-between;padding:10px}.item-receta strong{color:#0f172a}.item-actions{display:flex;gap:8px}.item-actions button{align-items:center;background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;cursor:pointer;display:inline-flex;height:34px;justify-content:center;width:34px}.item-actions button:hover{box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}@media (max-width:768px){.recetas-table{min-width:980px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a}.controls-section,.form-section,.modal-content,.page-header,.table-section{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-date,.filter-select,.form-group input,.form-group select,.form-group textarea,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.item-receta{background:#0f172a;border-color:#1f2a3a}}.cita-receta-search-container{position:relative;width:100%}.cita-receta-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease;width:100%}.cita-receta-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.cita-receta-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.cita-receta-dropdown{animation:slideDown .2s ease;background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px #00000026;left:0;margin-top:4px;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.cita-receta-dropdown::-webkit-scrollbar{width:8px}.cita-receta-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cita-receta-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.cita-receta-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:all .15s ease}.cita-receta-item:hover{background-color:#f8f9fa;padding-left:20px}.cita-receta-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.cita-receta-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cita-receta-id-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px}.cita-receta-fecha{color:#666;font-size:11px;font-weight:500}.cita-receta-name{color:#333;font-size:14px;font-weight:500;margin-bottom:6px}.cita-receta-info{color:#666;font-size:12px}.cita-receta-info,.cita-receta-info-secondary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.cita-receta-info-secondary{color:#888;font-size:11px}.cita-receta-motivo{border-top:1px dashed #e0e0e0;color:#999;font-size:11px;font-style:italic;margin-top:4px;padding-top:4px}.medicamentos-section{background:linear-gradient(135deg,#f5f7fa,#e8ecf1);border-radius:12px;margin-top:20px;padding:20px}.medicamentos-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));margin-top:16px}.medicamento-card-modern{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s ease}.medicamento-card-modern:hover{border-color:#4caf50;box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.medicamento-card-header{align-items:center;background:linear-gradient(135deg,#06b6d4,#0891b2);display:flex;justify-content:space-between;padding:12px 16px}.medicamento-number{align-items:center;color:#fff;display:flex;font-size:14px;font-weight:600;gap:8px}.pill-icon{font-size:18px}.remove-medicamento-button-modern{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:6px 10px;transition:all .2s ease}.remove-medicamento-button-modern:hover{background:#ff3b30e6;border-color:#ff3b30;transform:scale(1.05)}.medicamento-card-body{display:flex;flex-direction:column;gap:12px;padding:16px}.form-group-compact{display:flex;flex-direction:column;gap:6px}.form-group-compact label{color:#555;font-size:12px;font-weight:600;margin:0}.form-group-compact input,.form-group-compact select,.form-group-compact textarea{border:1px solid #ddd;border-radius:6px;font-size:13px;padding:8px 12px;transition:all .2s ease}.form-group-compact input:focus,.form-group-compact select:focus,.form-group-compact textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.form-row-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.select-medicamento{font-weight:500}.add-medicamento-button{align-items:center;background:linear-gradient(135deg,#06b6d4,#0891b2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s ease}@media (max-width:1200px){.medicamentos-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.form-row-compact,.medicamentos-grid{grid-template-columns:1fr}}.medicamento-search-container{position:relative;width:100%}.medicamento-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease;width:100%}.medicamento-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.medicamento-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.medicamento-dropdown{animation:slideDown .2s ease;background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px #00000026;left:0;margin-top:4px;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.medicamento-dropdown::-webkit-scrollbar{width:8px}.medicamento-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.medicamento-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.medicamento-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:all .15s ease}.medicamento-item:last-child{border-bottom:none}.medicamento-item:hover{background-color:#f8f9fa;padding-left:20px}.medicamento-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.medicamento-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.medicamento-name{color:#333;font-size:15px;font-weight:600}.medicamento-inactive-badge{background:#fee2e2;border-radius:12px;color:#991b1b;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 8px}.medicamento-descripcion{border-top:1px dashed #e0e0e0;color:#999;font-size:11px;font-style:italic;margin-top:4px;padding-top:4px}.add-medicamento-button:hover{box-shadow:0 4px 12px #4caf504d;transform:translateY(-2px)}@media (max-width:768px){.pagination-button{font-size:.85rem;padding:6px 12px}.pagination-number{font-size:.85rem;height:32px;min-width:32px}}@media (prefers-color-scheme:dark){.pagination-button,.pagination-number{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.pagination-button:disabled{background:#1a1f2e}.pagination-number.active{background:#0e7490;background:var(--primary);color:#fff}}.gestion-comprobantes-container{background:linear-gradient(135deg,#667db6,#0082c8);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.page-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-left:5px solid #667db6;border-radius:15px;box-shadow:0 8px 32px #0000001a;margin-bottom:25px;padding:20px 30px}.back-button{background:linear-gradient(45deg,#667db6,#0082c8);border-radius:25px;box-shadow:0 4px 15px #667db64d;font-weight:600;padding:10px 20px;transition:all .3s ease}.back-button:hover{box-shadow:0 8px 25px #667db666;transform:translateY(-2px)}.header-title h1{-webkit-text-fill-color:#0000;background:linear-gradient(45deg,#667db6,#0082c8);-webkit-background-clip:text;background-clip:text;color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 5px}.header-title p{color:#7f8c8d}.controls-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 4px 20px #0000001a;gap:20px;margin-bottom:25px;padding:25px}.search-controls{gap:15px}.search-box{max-width:400px}.search-input{border:2px solid #e1e8ed;border-radius:25px;font-size:1rem;padding:12px 45px 12px 20px;transition:all .3s ease}.search-input:focus{border-color:#667db6;box-shadow:0 0 0 3px #667db61a;outline:none}.search-icon{color:#7f8c8d;font-size:1.2rem;pointer-events:none;right:15px}.filter-date,.filter-select{background:#fff;border:2px solid #e1e8ed;border-radius:25px;cursor:pointer;font-size:1rem;min-width:180px;padding:12px 20px;transition:all .3s ease}.filter-date:focus,.filter-select:focus{border-color:#667db6;box-shadow:0 0 0 3px #667db61a;outline:none}.add-button{background:linear-gradient(45deg,#667db6,#0082c8);border-radius:25px;box-shadow:0 4px 15px #667db64d;font-size:1rem;font-weight:600;padding:12px 25px;transition:all .3s ease;white-space:nowrap}.add-button:hover:not(:disabled){box-shadow:0 8px 25px #667db666;transform:translateY(-2px)}.table-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:20px}.table-wrapper{box-shadow:0 2px 10px #0000000d}.table-scroll-container{-webkit-overflow-scrolling:touch;border-radius:10px;max-height:calc(100vh - 350px);overflow-x:auto;overflow-y:auto}.table-scroll-container::-webkit-scrollbar{height:12px;width:12px}.table-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.table-scroll-container::-webkit-scrollbar-thumb{background:#c7cbe3;border:2px solid #f1f1f1;border-radius:10px}.table-scroll-container::-webkit-scrollbar-thumb:hover{background:#a5addb}.comprobantes-table{background:#fff;border-collapse:initial;border-spacing:0;font-size:.95rem;min-width:1100px;width:100%}.comprobantes-table thead th{background:linear-gradient(45deg,#667db6,#0082c8);color:#fff;font-weight:600;letter-spacing:.5px;padding:15px 12px;position:sticky;text-align:center;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.comprobantes-table thead th:first-child{border-top-left-radius:10px}.comprobantes-table thead th:last-child{border-top-right-radius:10px}.comprobantes-table tbody tr{border-bottom:1px solid #f0f0f0;transition:all .2s ease}.comprobantes-table tbody tr:hover{background:#667db60d}.comprobantes-table tbody tr:last-child{border-bottom:none}.comprobantes-table tbody td{color:#2c3e50;padding:14px 12px;vertical-align:middle}.comprobantes-table td:first-child,.comprobantes-table th:first-child{min-width:120px;text-align:center;width:12%}.comprobantes-table td:nth-child(2),.comprobantes-table th:nth-child(2){min-width:100px;text-align:center;width:10%}.comprobantes-table td:nth-child(3),.comprobantes-table th:nth-child(3){min-width:140px;text-align:center;width:15%}.comprobantes-table td:nth-child(4),.comprobantes-table th:nth-child(4){min-width:200px;text-align:left;width:25%}.comprobantes-table td:nth-child(5),.comprobantes-table th:nth-child(5){min-width:180px;text-align:left;width:22%}.comprobantes-table td:nth-child(6),.comprobantes-table th:nth-child(6){min-width:90px;text-align:center;width:10%}.comprobantes-table td:nth-child(7),.comprobantes-table th:nth-child(7){min-width:200px;text-align:center;width:18%}.numero-cell{text-align:center}.numero-cell strong{color:#667db6;font-family:Courier New,monospace;font-size:1.1rem;font-weight:700}.tipo-cell{text-align:center}.tipo-badge{align-items:center;background:#667db61a;border-radius:15px;color:#667db6;display:inline-flex;font-size:.85rem;font-weight:600;gap:5px;padding:5px 12px;white-space:nowrap}.patient-cell{color:#2c3e50;font-weight:600;text-align:left}.empleado-cell{color:#7f8c8d;font-size:.9rem;text-align:left}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:5px 14px}.status-badge.activo{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff}.status-badge.completado{background:linear-gradient(45deg,#27ae60,#2ecc71);color:#fff}.status-badge.anulado{background:linear-gradient(45deg,#e74c3c,#c0392b);color:#fff}.status-badge.large{font-size:1rem;padding:8px 16px}.actions-cell{gap:3px}.action-button{background:none;border-radius:50%;font-size:1.1rem;padding:6px;transition:all .2s ease}.action-button.view{background:#3498db1a;color:#3498db}.action-button.view:hover{background:#3498db33;transform:scale(1.1)}.action-button.detail{background:#667db61a;color:#667db6}.action-button.detail:hover{background:#667db633;transform:scale(1.1)}.action-button.edit{background:#f1c40f1a;color:#f1c40f}.action-button.edit:hover{background:#f1c40f33;transform:scale(1.1)}.action-button.status{background:#9b59b61a;color:#9b59b6}.action-button.status:hover{background:#9b59b633;transform:scale(1.1)}.action-button.print{background:#8e44ad1a;color:#8e44ad}.action-button.print:hover{background:#8e44ad33;transform:scale(1.1)}.action-button.delete{background:#e74c3c1a;color:#e74c3c}.action-button.delete:hover{background:#e74c3c33;transform:scale(1.1)}.dropdown{display:inline-block;position:relative}.dropdown-content{animation:dropdownSlideIn .2s ease-out;background-color:#fff;border:1px solid #e1e8ed;border-radius:8px;box-shadow:0 8px 16px #0003;display:none;min-width:140px;position:absolute;right:0;top:100%;z-index:100}.dropdown:hover .dropdown-content{display:block}.dropdown-content button{background:none;border:none;color:#2c3e50;cursor:pointer;display:block;font-size:.9rem;padding:8px 16px;text-align:left;text-decoration:none;transition:all .3s ease;width:100%}.dropdown-content button:hover{background-color:#f8f9fa}.dropdown-content button.active{background-color:#667db6;color:#fff;font-weight:600}.dropdown-content button:first-child{border-radius:8px 8px 0 0}.dropdown-content button:last-child{border-radius:0 0 8px 8px}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.empty-state{color:#7f8c8d;padding:60px 20px}.empty-state p{font-size:1.2rem;font-weight:600;margin:0 0 10px}.empty-state span{font-size:1rem}.loading-state{color:#7f8c8d;padding:60px 20px}.spinner{border:4px solid #f3f3f3;border-top-color:#667db6;margin:0 auto 20px}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000b3;bottom:0;left:0;padding:20px;right:0;top:0}.modal-content{animation:modalSlideIn .3s ease-out;border-radius:20px;box-shadow:0 20px 40px #0003;max-width:600px}.modal-content.large{max-width:900px}.modal-header{border-bottom:1px solid #e1e8ed;margin-bottom:25px;padding:25px 30px 20px}.modal-header h2{color:#2c3e50;font-size:1.5rem;font-weight:700}.close-button{background:none;border-radius:50%;color:#7f8c8d;font-size:1.8rem;height:40px;padding:5px;transition:all .3s ease;width:40px}.close-button:hover{background:#e74c3c1a;color:#e74c3c}.modal-body{padding:0 30px 30px}.comprobante-details{grid-gap:20px;display:grid;gap:20px}.comprobante-header{align-items:center;background:linear-gradient(45deg,#667db6,#0082c8);border-radius:10px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;padding:20px}.comprobante-info h3{font-size:1.3rem;margin:0 0 5px}.comprobante-info p{margin:0 0 5px;opacity:.9}.detail-group{background:#f8f9fa;border-left:4px solid #667db6;border-radius:10px;justify-content:space-between;padding:15px}.detail-group label{color:#2c3e50;font-weight:600}.detail-group span{color:#7f8c8d}.comprobante-actions,.detalle-actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.detail-button,.edit-button,.print-button{background:linear-gradient(45deg,#667db6,#0082c8);border:none;border-radius:25px;box-shadow:0 4px 15px #667db64d;color:#fff;cursor:pointer;font-weight:600;padding:12px 25px;transition:all .3s ease}.detail-button:hover,.edit-button:hover,.print-button:hover{box-shadow:0 8px 25px #667db666;transform:translateY(-2px)}.comprobante-form{grid-gap:25px;display:grid;gap:25px}.form-row{grid-gap:20px;gap:20px;grid-template-columns:1fr 1fr}.form-group.full-width{grid-column:1/-1}.form-group label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e1e8ed;font-size:1rem;padding:12px 15px;resize:vertical;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667db6;box-shadow:0 0 0 3px #667db61a;outline:none}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.6}.form-group textarea{font-family:inherit;min-height:80px}.servicios-section{border-top:2px solid #e1e8ed;margin-top:25px;padding-top:25px}.servicios-section h3{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 20px}.add-service-form{background:#f8f9fa;border:2px dashed #e1e8ed;border-radius:10px;margin-bottom:20px;padding:20px}.service-inputs{grid-gap:15px;align-items:end;display:grid;gap:15px;grid-template-columns:2fr .5fr 1fr 1.5fr auto}.cantidad-input,.fecha-input,.observaciones-input,.service-select{background:#fff;border:2px solid #e1e8ed;border-radius:10px;font-size:1rem;padding:12px 15px;transition:all .3s ease}.cantidad-input:focus,.fecha-input:focus,.observaciones-input:focus,.service-select:focus{border-color:#667db6;box-shadow:0 0 0 3px #667db61a;outline:none}.cantidad-input{min-width:80px;text-align:center}.add-service-btn{background:linear-gradient(45deg,#27ae60,#2ecc71);border:none;border-radius:10px;box-shadow:0 4px 15px #27ae604d;color:#fff;cursor:pointer;font-size:1.2rem;padding:12px 15px;transition:all .3s ease}.add-service-btn:hover:not(:disabled){box-shadow:0 8px 25px #27ae6066;transform:translateY(-2px)}.add-service-btn:disabled{cursor:not-allowed;opacity:.6}.services-list{background:#fff;border-radius:10px;box-shadow:0 4px 15px #0000000d;overflow:hidden}.services-table{border-collapse:collapse;width:100%}.services-table th{background:linear-gradient(45deg,#667db6,#0082c8);color:#fff;font-size:.9rem;font-weight:600;padding:12px;text-align:left}.services-table td{border-bottom:1px solid #f1f3f4;padding:12px}.services-table tr:last-child td{border-bottom:none}.services-table tr:hover{background:#667db60d}.cantidad-cell{color:#667db6;font-family:Courier New,monospace;font-weight:600;text-align:center}.observaciones-cell{color:#7f8c8d;font-style:italic;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remove-btn{background:#e74c3c1a;border:none;border-radius:50%;color:#e74c3c;cursor:pointer;font-size:1rem;padding:6px 8px;transition:all .3s ease}.remove-btn:hover{background:#e74c3c33;transform:scale(1.1)}.servicios-summary{background:linear-gradient(45deg,#f8f9fa,#e9ecef);border-left:4px solid #667db6;border-top:2px solid #e1e8ed;color:#667db6;font-size:1.1rem;font-weight:600;padding:15px 20px;text-align:right}.form-actions{border-top:1px solid #e1e8ed;gap:15px;margin-top:30px;padding-top:20px}.cancel-button{background:#6c757d;border:none;border-radius:25px;color:#fff;font-weight:600;padding:12px 25px;transition:all .3s ease}.cancel-button:hover:not(:disabled){background:#5a6268;transform:translateY(-2px)}.cancel-button:disabled{cursor:not-allowed;opacity:.6}.submit-button{background:linear-gradient(45deg,#667db6,#0082c8);border-radius:25px;box-shadow:0 4px 15px #667db64d;font-weight:600;padding:12px 25px;transition:all .3s ease}.submit-button:hover:not(:disabled){box-shadow:0 8px 25px #667db666;transform:translateY(-2px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.detalle-header{background:#f8f9fa;border-left:5px solid #667db6;border-radius:10px;margin-bottom:20px;padding:20px}.detalle-info p{color:#2c3e50;margin:5px 0}.detalles-table-container{background:#fff;border-radius:10px;box-shadow:0 4px 15px #0000000d;margin-bottom:20px;overflow:hidden}.detalles-table{border-collapse:collapse;width:100%}.detalles-table th{background:linear-gradient(45deg,#667db6,#0082c8);color:#fff;font-weight:600;padding:15px;text-align:left}.detalles-table td{border-bottom:1px solid #f1f3f4;padding:15px}.detalles-table tr:last-child td{border-bottom:none}.detalles-table tr:hover{background:#667db60d}.detalle-resumen{background:#f8f9fa;border-top:2px solid #e1e8ed;padding:20px}.resumen-item{color:#667db6;font-size:1.1rem;margin-bottom:10px}.resumen-item:last-child{margin-bottom:0}@media (max-width:1200px){.comprobantes-table{min-width:1000px}.action-button{font-size:1rem;height:30px;width:30px}}@media (max-width:768px){.gestion-comprobantes-container{padding:15px}.page-header{padding:15px 20px}.header-content{align-items:flex-start;flex-direction:column;gap:15px}.header-title h1{font-size:1.5rem}.controls-section{flex-direction:column;gap:15px;padding:20px}.search-controls{flex-direction:column;width:100%}.search-box{max-width:none}.filter-date,.filter-select{min-width:auto;width:100%}.comprobantes-table{font-size:.85rem;min-width:800px}.comprobantes-table td,.comprobantes-table th{padding:10px 8px}.comprobantes-table td:nth-child(5),.comprobantes-table th:nth-child(5){display:none}.action-button{font-size:.9rem;height:28px;margin:1px;width:28px}.actions-cell{gap:2px}.form-row{gap:15px;grid-template-columns:1fr}.service-inputs{gap:10px;grid-template-columns:1fr}.modal-content{margin:10px;max-height:95vh}.modal-content.large{max-width:none}.modal-body,.modal-header{padding-left:20px;padding-right:20px}.comprobante-actions,.comprobante-header,.detalle-actions,.form-actions{flex-direction:column}.comprobante-header{gap:15px;text-align:center}}@media (max-width:480px){.gestion-comprobantes-container{padding:10px}.page-header{padding:12px 15px}.header-title h1{font-size:1.3rem}.controls-section{padding:15px}.comprobantes-table{font-size:.8rem;min-width:600px}.comprobantes-table td,.comprobantes-table th{padding:8px 6px}.comprobantes-table td:nth-child(2),.comprobantes-table th:nth-child(2){display:none}.tipo-badge{font-size:.75rem;padding:3px 8px}.action-button{font-size:.8rem;height:26px;width:26px}.status-badge{font-size:.7rem;padding:3px 8px}.modal-header h2{font-size:1.3rem}}.gestion-comprobantes-container button:focus,.gestion-comprobantes-container input:focus,.gestion-comprobantes-container select:focus,.gestion-comprobantes-container textarea:focus{outline:2px solid #667db6;outline-offset:2px}@media print{.gestion-comprobantes-container{background:#fff!important;padding:0!important}.actions-cell,.back-button,.controls-section{display:none!important}.page-header,.table-section{background:#fff!important;box-shadow:none!important}.comprobantes-table{border:1px solid #ddd}.comprobantes-table th{background:#f5f5f5!important;color:#000!important}.status-badge{background:#fff!important;border:1px solid #ddd!important;color:#000!important}}.gestion-empleados-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.tabs-container{margin-bottom:12px}.tabs{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);gap:8px;padding:6px}.tab{background:#fff;border:1px solid #0000;border-radius:10px;color:#1f2937;color:var(--text);flex:0 0 auto;font-weight:700;padding:10px 14px}.tab:hover{background:#e6f4f8;background:var(--primary-50)}.tab.active,.tab:hover{border-color:#0e7490;border-color:var(--primary)}.tab.active{background:#0e7490;background:var(--primary);color:#fff}.controls-section{flex-wrap:wrap}.search-box{max-width:480px;min-width:240px}.add-button{transition:.18s}.empleados-table,.usuarios-table{background:#fff;border-collapse:collapse;font-size:.94rem;min-width:980px;width:100%}.empleados-table thead th,.usuarios-table thead th{background:#0e7490;background:var(--primary);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--primary-700);color:#fff;font-weight:800;letter-spacing:.6px;padding:12px 8px;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:5}.empleados-table tbody tr,.usuarios-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.empleados-table tbody tr:hover,.usuarios-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.empleados-table td,.usuarios-table td{color:#334155;padding:10px;text-align:center;vertical-align:middle}.status-badge{padding:4px 10px}.status-badge.activo{border:1px solid #a7f3d0}.status-badge.inactivo{border:1px solid #fecaca}.status-badge.disponible{background:#e0f2fe;border:1px solid #bae6fd;color:#075985}.status-badge.asignado{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.empty-state{padding:22px}.spinner{border:3px solid #e5e7eb}.modal-overlay{background:#02061773;padding:16px}.modal-content{border-radius:12px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);overflow:auto;width:clamp(320px,90vw,760px)}.modal-content.large{width:clamp(640px,92vw,980px)}.modal-header h2{font-size:1.2rem}.close-button{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;padding:6px 10px}.close-button:hover{background:#f9fafb}.modal-body{grid-gap:14px;display:grid;gap:14px}.form-group input,.form-group select,.form-group textarea{border-radius:8px;outline:none}.input-error{border-color:#ef4444!important}.field-help{color:#64748b;color:var(--muted)}.error-text,.field-help{font-size:.78rem}.cancel-button{background:#f1f5f9;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;color:#334155;font-weight:700;padding:8px 12px}.submit-button{border:1px solid #0e7490;border:1px solid var(--primary);border-radius:8px;padding:8px 14px}.submit-button:hover{background:#0c5f75;background:var(--primary-700);border-color:#0c5f75;border-color:var(--primary-700)}.name-cell{min-width:220px}.dpi-cell{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:150px}.cargo-cell,.usuario-cell{text-align:center}.cargo-badge{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;display:inline-block;font-size:.8rem;font-weight:700;padding:4px 10px}.cargos-section{grid-gap:14px;display:grid;gap:14px}.cargos-header{align-items:center;display:flex;justify-content:space-between}.cargos-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.cargo-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);padding:12px}.cargo-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cargo-stats{grid-gap:6px;display:grid;gap:6px;margin-top:8px}.stat-item{color:#64748b;color:var(--muted);font-size:.9rem}.usuarios-header{justify-content:space-between;margin-bottom:10px}.usuario-info,.usuarios-header{align-items:center;display:flex}.usuario-info{gap:8px}.usuario-icon{font-size:1rem}.rol-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:800;padding:4px 10px;text-transform:uppercase}.rol-administrador{background:#fee2e2;border-color:#fecaca;color:#991b1b}.rol-enfermero{background:#e0f2fe;border-color:#bae6fd;color:#075985}.rol-personal{background:#dcfce7;border-color:#a7f3d0;color:#065f46}.rol-default{background:#f1f5f9;border-color:#e2e8f0;color:#334155}.estadisticas-section{grid-gap:16px;display:grid;gap:16px}.stats-grid{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);gap:10px;padding:12px}.stat-icon{font-size:1.4rem}.stat-info h3{font-size:1.3rem}.stat-info p{color:#64748b;color:var(--muted);font-size:.9rem}.cargo-distribution,.roles-distribution{grid-gap:10px;display:grid;gap:10px}.cargo-stat,.rol-stat{grid-gap:8px;background:#fff;border:1px dashed #d7dde6;border:1px dashed var(--border);border-radius:10px;display:grid;gap:8px;padding:10px}.cargo-stat-header,.rol-stat-header{align-items:center;color:#1f2937;color:var(--text);display:flex;justify-content:space-between}.progress-bar{background:#eef2f7;border:1px solid #d7dde6;border:1px solid var(--border);height:10px}.progress-fill{background:#0e7490;background:var(--primary)}@media (max-width:640px){.add-button{width:100%}.pagination-button{font-size:.85rem;padding:6px 12px}.pagination-number{font-size:.85rem;height:32px;min-width:32px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa3b2;--border:#1f2937;--primary:#22a0c4;--primary-700:#1b7f9a;--primary-50:#0b2230}.cargo-card,.modal-content,.stat-card,.table-section{background:#fff;background:var(--panel)}.empleados-table th,.usuarios-table th{background:#0e7490;background:var(--primary);border-color:#0c5f75;border-color:var(--primary-700)}.action-button{background:#fff;background:var(--panel);color:#1f2937;color:var(--text)}.cancel-button{background:#111827;color:#e5e7eb}.pagination-button,.pagination-number{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.pagination-button:disabled{background:#101827}}.roles-info{margin-top:12px}.roles-info h4{color:#0f172a;font-size:.95rem;font-weight:800;margin:0 0 10px}.roles-cards-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.rol-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #0000000a;padding:12px;transition:all .2s ease}.rol-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.rol-card-header{align-items:center;display:flex;margin-bottom:8px}.rol-card-description{color:#555;font-size:.85rem;line-height:1.4;margin:0}:root{--shadow:0 8px 20px #02172a;--ring:0 0 0 3px #0e7490}.gestion-examenes-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.controls-section,.page-header{box-shadow:0 8px 20px #02172a}.search-input:focus{box-shadow:0 0 0 3px #0e7490}.filter-select,filter-date{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;min-width:170px;padding:8px 12px;transition:border-color .18s,box-shadow .18s}.filter-date{min-width:150px}.filter-select:focus,filter-date:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e7490;box-shadow:var(--ring);outline:0}.table-section{box-shadow:0 8px 20px #02172a}.examenes-table{background:#fff;border-collapse:collapse;font-size:.94rem;min-width:980px;width:100%}.examenes-table thead th{background:#0e7490;background:var(--table-head);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;font-weight:800;letter-spacing:.6px;padding:12px 8px;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:5}.examenes-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.examenes-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.examenes-table td{color:#334155;padding:10px;text-align:center;vertical-align:middle}.badge{border-radius:999px;font-size:.7rem;font-weight:800;padding:5px 10px}.badge.Pendiente{background:#fef3c7;color:#92400e}.badge.Realizado{background:#dcfce7;color:#065f46}.badge.Anulado{background:#fee2e2;color:#991b1b}.action-button:hover{box-shadow:0 8px 20px #02172a}.modal-content{max-width:clamp(680px,70vw,920px)}.modal-header{padding:10px 14px}.modal-body{padding:12px 14px}.form-row{grid-auto-flow:row dense}.form-group input,form-group select,form-group textarea{padding:8px 10px}.modal-body>.form-section:last-child{margin-bottom:0}.table-container{padding:0}.examenes-table td,.examenes-table th{text-align:center;vertical-align:middle}.badge{margin:0 auto}.cita-examen-search-container{position:relative;width:100%}.cita-examen-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease;width:100%}.cita-examen-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.cita-examen-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.cita-examen-dropdown{animation:slideDown .2s ease;background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px #00000026;left:0;margin-top:4px;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.cita-examen-dropdown::-webkit-scrollbar{width:8px}.cita-examen-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cita-examen-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.cita-examen-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.cita-examen-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:all .15s ease}.cita-examen-item:hover{background-color:#f8f9fa;padding-left:20px}.cita-examen-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.cita-examen-item:last-child{border-bottom:none}.cita-examen-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cita-examen-id-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px}.cita-examen-fecha{color:#666;font-size:11px;font-weight:500}.cita-examen-name{color:#333;font-size:14px;font-weight:500;margin-bottom:6px}.cita-examen-info{color:#666;font-size:12px}.cita-examen-info,.cita-examen-info-secondary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.cita-examen-info-secondary{color:#888;font-size:11px}.cita-examen-motivo{border-top:1px dashed #e0e0e0;color:#999;font-size:11px;font-style:italic;margin-top:4px;padding-top:4px}.cita-examen-info span,.cita-examen-info-secondary span{align-items:center;display:inline-flex;gap:4px}.gestion-servicios-container{background:#f6f8fb;background:var(--bg);color:#1f2937;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.header-title h1{margin:0 0 4px}.header-title p{margin:0}.tab{font-weight:900}.search-controls{gap:12px}.add-button:hover{filter:brightness(.97)}.table-wrapper{border-radius:10px}.table-scroll-container{max-height:calc(100vh - 360px);overflow:auto;width:100%}.table-scroll-container::-webkit-scrollbar{height:10px;width:10px}.table-scroll-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.servicios-table{background:#fff;border-collapse:collapse;font-size:.95rem;min-width:900px;width:100%}.servicios-table thead th{background:#0e7490;background:var(--primary);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--primary-700);color:#fff;font-weight:900;letter-spacing:.5px;padding:12px 10px;position:sticky;text-align:center;text-transform:uppercase;top:0}.servicios-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.servicios-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.servicios-table td{color:#334155;padding:12px 10px;text-align:center;vertical-align:middle}.servicios-table td:first-child,.servicios-table th:first-child{text-align:left;width:42%}.servicio-cell{gap:2px}.servicio-cell,.servicio-info{display:flex;flex-direction:column}.servicio-info{gap:3px}.servicio-info strong{color:#0f172a;font-weight:800}.tipo-badge{background:#e6f4f8;color:#0c5f75;font-size:.78rem;letter-spacing:.4px;padding:6px 12px}.status-badge.activo{background:#dcfce7;color:#065f46}.status-badge.inactivo{background:#fee2e2;color:#991b1b}.modal-content{max-width:960px}.modal-header h2{font-size:1.08rem}.form-section{border-radius:10px;margin-bottom:10px;padding:12px}.form-row{grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-group textarea{min-height:72px}.tipos-section{background:#0000}.tipos-header{align-items:center;display:flex;justify-content:space-between;margin:6px 0 12px}.tipos-header h2{color:#0f172a;font-size:1.12rem;font-weight:900;margin:0}.tipos-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.tipo-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;padding:16px;transition:transform .12s,box-shadow .18s,border-color .18s}.tipo-card:hover{border-color:#c8d3df;box-shadow:0 12px 24px #02172a1a;transform:translateY(-2px)}.tipo-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.tipo-title{color:#0f172a;font-size:1.04rem;font-weight:900;letter-spacing:.2px;margin:0}.tipo-badges{display:flex;flex-wrap:wrap;gap:8px}.tipo-desc{color:#334155;line-height:1.5;margin:0}.tipo-meta{gap:10px;justify-content:space-between}.tipo-meta,.tipo-meta-left{align-items:center;display:flex}.tipo-meta-left{flex-wrap:wrap;gap:8px}.tipo-select{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;color:#0f172a;min-width:160px;padding:8px 10px}.tipo-select:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.tipo-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.tipo-button{align-items:center;background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:.18s;width:34px}.tipo-button:hover{box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.tipo-button.view{background:#e0ecff;border-color:#c7d2fe;color:#1e40af}.tipo-button.edit{background:#fff7ed;border-color:#fed7aa;color:#b45309}.tipo-button.delete{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.tipo-card.activo{border-color:#bbf7d0}.tipo-card.inactivo{border-color:#fecaca}@media (max-width:768px){.servicios-table{min-width:820px}}@media (max-width:560px){.tipos-grid{grid-template-columns:1fr}.tipo-button{height:32px;width:32px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a}.controls-section,.form-section,.modal-content,.page-header,.table-section,.tabs-container{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-select,.form-group input,.form-group select,.form-group textarea,.search-input,.tipo-select{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.tipo-card{background:#fff;background:var(--panel);border-color:#1f2a3a;color:#e5e7eb}}.estadisticas-section{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:18px;display:flex;flex-direction:column;gap:26px;padding:22px}.estadisticas-section>h2{align-items:center;color:#0f172a;display:flex;font-size:1.6rem;font-weight:900;gap:14px;margin:0 0 10px}.stats-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:20px;box-shadow:0 6px 16px #00000012;display:flex;gap:20px;overflow:hidden;padding:26px;position:relative;transition:all .4s ease}.stat-card:hover{border-color:#0e7490;border-color:var(--primary);box-shadow:0 20px 40px #0e749033;transform:translateY(-8px) scale(1.03)}.stat-icon{align-items:center;border-radius:18px;box-shadow:0 6px 16px #0000001f;display:flex;flex-shrink:0;font-size:36px;height:80px;justify-content:center;position:relative;transition:transform .3s ease;width:80px;z-index:1}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg)}.stat-card:first-child .stat-icon{background:#e0e7ff}.stat-card:nth-child(2) .stat-icon{background:#fee2e2}.stat-card:nth-child(3) .stat-icon{background:#d1fae5}.stat-card:nth-child(4) .stat-icon{background:#fed7aa}.stat-info{display:flex;flex:1 1;flex-direction:column;gap:8px;position:relative;z-index:1}.stat-info h3{color:#0e7490;color:var(--primary);font-size:2.5rem;font-weight:900;line-height:1;margin:0}.stat-info p{color:#475569;font-size:1rem;font-weight:700;letter-spacing:.8px;margin:0;text-transform:uppercase}.ocupacion-chart{background:#fff;border:2px solid #e2e8f0;border-radius:20px;box-shadow:0 8px 24px #00000017;overflow:hidden;padding:30px;position:relative}.ocupacion-chart h3{align-items:center;color:#0f172a;display:flex;font-size:1.4rem;font-weight:900;gap:14px;margin:0 0 28px;position:relative}.chart-container{gap:24px}.chart-container,.chart-item{display:flex;flex-direction:column}.chart-item{background:#fafafa;border:1px solid #e2e8f0;border-radius:16px;gap:12px;padding:18px;transition:all .3s ease}.chart-item:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0000001a;transform:translateX(8px)}.chart-label{align-items:center;color:#334155;display:flex;font-size:1.05rem;font-weight:700;justify-content:space-between}.chart-label span:first-child{align-items:center;color:#0f172a;display:flex;font-weight:800;gap:12px}.status-dot{border-radius:50%;flex-shrink:0;height:18px;position:relative;width:18px}.status-dot.disponible{background:#10b981}.status-dot.ocupado{background:#ef4444}.status-dot.mantenimiento{background:#f59e0b}.progress-bar{background:#e2e8f0;height:16px;overflow:hidden}.progress-bar,.progress-fill{border-radius:999px;position:relative}.progress-fill{height:100%;transition:width 1.2s ease}.progress-fill.disponible{background:#10b981}.progress-fill.ocupado{background:#ef4444}.progress-fill.mantenimiento{background:#f59e0b}@media (max-width:768px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{padding:22px}.stat-icon{font-size:32px;height:70px;width:70px}.stat-info h3{font-size:2.2rem}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.chart-label{align-items:flex-start;flex-direction:column;gap:8px}}@media (prefers-color-scheme:dark){.estadisticas-section{background:#0f172a}.ocupacion-chart,.stat-card{background:#0f172a;border-color:#1f2a3a}.chart-item{background:#1a2332;border-color:#1f2a3a}.ocupacion-chart h3,.stat-info h3{color:#e5e7eb}.progress-bar{background:#1f2a3a}}:root{--text:#0f172a}.gestion-consultorios-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.tabs-container{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}.tabs{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);display:flex}.tab{background:#0000;border:none;color:#64748b;cursor:pointer;flex:1 1;font-weight:800;letter-spacing:.3px;padding:12px 14px;text-transform:uppercase;transition:.18s}.tab:hover{background:#e2e8f0}.tab.active,.tab:hover{color:#0e7490;color:var(--primary)}.tab.active{background:#fff;position:relative}.tab.active:after{background:linear-gradient(90deg,#0e7490,#0c5f75);background:linear-gradient(90deg,var(--primary),var(--primary-700));bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.add-button{box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.add-button:hover{filter:brightness(.98)}.espacios-section{background:#0000}.espacios-header{align-items:center;display:flex;justify-content:space-between;margin:4px 0 12px}.espacios-header h2{color:#0f172a;font-size:1.1rem;font-weight:900;margin:0}.espacios-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.espacio-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;padding:16px;transition:transform .12s,box-shadow .18s,border-color .18s}.espacio-card:hover{border-color:#c8d3df;box-shadow:0 12px 24px #02172a1a;transform:translateY(-2px)}.espacio-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.espacio-header h3{color:#0f172a;font-size:1.05rem;font-weight:900;letter-spacing:.2px;margin:0}.status-badge{align-items:center;border:1px solid #0000;display:inline-flex;font-size:.75rem;gap:6px;padding:6px 10px}.status-badge.disponible{background:#dcfce7;border-color:#bbf7d0;color:#065f46}.status-badge.ocupado{background:#dbeafe;border-color:#bfdbfe;color:#1e40af}.status-badge.mantenimiento{background:#fee2e2;border-color:#fecaca;color:#991b1b}.espacio-card>p{color:#1f2937;line-height:1.5;margin:0}.espacio-info{gap:10px;justify-content:space-between}.espacio-info,.status-dropdown{align-items:center;display:flex}.status-dropdown{gap:8px}.status-select{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;color:#0f172a;min-width:170px;padding:8px 10px;transition:border-color .18s,box-shadow .18s}.status-select:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.actions-cell{gap:8px;justify-content:flex-end}.action-button{height:34px;width:34px}.action-button.view{border-color:#c7d2fe}.action-button.edit{border-color:#fed7aa}.action-button.delete{background:#fee2e2;border-color:#fecaca}.espacio-card.disponible{border-color:#bbf7d0}.espacio-card.ocupado{border-color:#bfdbfe}.espacio-card.mantenimiento{border-color:#fecaca}.loading-state{align-items:center;color:#475569;display:flex;flex-direction:column;gap:10px;padding:28px}.spinner{border:3px solid #e2e8f0;border-radius:999px;border-top:3px solid var(--primary);height:28px;width:28px}.empty-state{padding:28px}.table-wrapper{border-radius:12px;border-radius:var(--radius);overflow:hidden;width:100%}.table-container{overflow:auto;width:100%}.consultorios-table{background:#fff;border-collapse:collapse;min-width:980px;width:100%}.consultorios-table th{background:#0e7490;background:var(--table-head);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;font-weight:800;letter-spacing:.5px;padding:12px 8px;position:sticky;text-align:left;text-transform:uppercase;top:0}.consultorios-table td{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);color:#334155;padding:10px}.consultorios-table tr:hover{background:#e6f4f8;background:var(--primary-50)}.consultorios-table td,.consultorios-table th{text-align:center;vertical-align:middle}.badge.disponible,.status-badge.libre{background:#dcfce7;color:#065f46}.badge.ocupado{background:#dbeafe;color:#1e40af}.badge.mantenimiento{background:#fee2e2;color:#991b1b}.modal-overlay{padding:14px}.modal-content{border-radius:16px;box-shadow:0 24px 64px #02172a40;max-height:92vh;max-width:clamp(720px,72vw,980px)}.modal-header{gap:12px;padding:16px 18px;position:sticky;top:0;z-index:1}.modal-title{align-items:flex-start;display:flex;gap:10px}.modal-title .icon{background:#e6f4f8;background:var(--primary-50);border-radius:10px;color:#0e7490;color:var(--primary);display:grid;font-weight:900;height:34px;place-items:center;width:34px}.modal-title h2{color:#0f172a;font-size:1.08rem;font-weight:900;letter-spacing:.2px;margin:0}.modal-subtitle{color:#64748b;font-size:.86rem;font-weight:600;margin:2px 0 0}.close-button{font-size:22px;opacity:.75;padding:6px}.close-button:hover{background:#f1f5f9}.modal-body{background:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);padding:22px 26px}.form-section{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:14px;margin-bottom:14px;margin-left:auto;margin-right:auto;max-width:1080px;padding:14px}.form-section .section-title{align-items:center;color:#0f172a;display:flex;font-weight:900;gap:8px;margin:0 0 10px}.section-title .dot{background:#0e7490;background:var(--primary);border-radius:999px;height:9px;width:9px}.form-row{grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.form-row .span-12{grid-column:1/-1}.form-row .span-3,.form-row .span-4,.form-row .span-6,.form-row .span-8{grid-column:auto}.form-group{gap:6px;min-width:280px}.form-group .label-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.form-group label{font-weight:800;line-height:1.2;white-space:normal}.form-group .hint{color:#94a3b8;font-size:.82rem;max-width:none;white-space:normal}.form-group .required:after{color:#e11d48;content:" *"}.form-group input,.form-group select,.form-group textarea{border-radius:12px;padding:10px 12px;word-break:normal}.form-group input,.form-group select{height:42px}.form-group textarea{min-height:120px}.is-invalid{border-color:#fecaca!important}.error-text{color:#b91c1c;font-size:.82rem}.segmented{background:#f1f5f9;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;display:inline-flex;flex-wrap:wrap;overflow:hidden}.segmented input{display:none}.segmented label{color:#475569;cursor:pointer;flex:1 1 auto;font-weight:800;padding:8px 12px;text-align:center;-webkit-user-select:none;user-select:none}.segmented label+label{border-left:1px solid #d7dde6;border-left:1px solid var(--border)}.segmented input:checked+label{background:#fff;box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);color:#0e7490;color:var(--primary);z-index:1}.input-with-unit{align-items:center;display:flex;gap:8px}.input-with-unit .unit{background:#f8fafc;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;color:#475569;font-weight:800;padding:8px 10px;white-space:nowrap}.inline-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #d7dde6;border:1px solid var(--border);border-radius:999px;color:#0f172a;font-size:.82rem;font-weight:700;padding:6px 10px}.chip,.dropzone{background:#f8fafc}.dropzone{border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;padding:16px;text-align:center}.dropzone:hover{background:#eef2f7}.modal-footer{align-items:center;background:#fff;border-top:1px solid #d7dde6;border-top:1px solid var(--border);bottom:0;display:flex;gap:10px;justify-content:space-between;padding:12px 16px;position:sticky}.modal-tips{color:#64748b;font-size:.86rem}.footer-actions{display:flex;gap:10px}.btn{font-weight:900;padding:10px 16px}.btn-ghost{background:#e2e8f0;color:#0f172a}.btn-primary{background:#0e7490;background:var(--primary)}.btn-danger{background:#fee2e2;color:#b91c1c}.btn-primary:hover{box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring)}.help{align-items:center;display:inline-flex;gap:6px;position:relative}.help[data-tip]:hover:after{background:#0f172a;border-radius:8px;bottom:125%;box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);color:#fff;content:attr(data-tip);font-size:.78rem;left:50%;padding:6px 8px;position:absolute;transform:translateX(-50%);white-space:nowrap}@media (max-width:992px){.espacios-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.consultorios-table{min-width:900px}}@media (max-width:560px){.espacios-grid{grid-template-columns:1fr}.actions-cell{gap:6px}.action-button{height:32px;width:32px}.modal-content{max-width:95vw}.modal-body{padding:18px}.form-row{grid-template-columns:1fr}.form-group{min-width:0}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a;--table-head:#155e75;--table-head-border:#0b4455}.controls-section,.form-section,.modal-content,.tabs-container{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-select,.form-group input,.form-group select,.form-group textarea,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.espacio-card,.table-section{color:#e5e7eb}.espacio-card,.modal-footer,.modal-header,.table-section{background:#fff;background:var(--panel);border-color:#1f2a3a}.form-group label,.modal-tips,.modal-title h2{color:#e5e7eb}.dropzone{background:#0b1220;border-color:#273449;color:#9aa7bd}.btn-ghost{background:#1f2a3a;color:#e5e7eb}}.modal-overlay{padding:10px}.modal-content{background:#fff;border-radius:14px;box-shadow:0 24px 60px #02172a40;display:flex;flex-direction:column;max-width:940px;overflow:hidden}.modal-header{padding:12px 16px}.modal-header h2{font-size:1.1rem;font-weight:800}.close-button{color:#0f172a;line-height:1;opacity:.7}.close-button:hover{opacity:1}.modal-body{background:#fff;overflow:auto;padding:14px 16px}.patient-details .details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.detail-section{background:#f8fafc;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;padding:12px}.detail-section h3{color:#0f172a;font-size:.98rem;font-weight:800;margin:0 0 8px}.detail-group{align-items:center;border:1px dashed #e5e7eb;border-radius:8px;gap:8px;margin:6px 0;padding:8px}.detail-group label{color:#475569;font-weight:700;min-width:160px}.detail-group span{color:#0f172a}.patient-form .form-section{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;margin-bottom:16px;padding:18px}.patient-form .form-section h3{color:#0f172a;font-weight:800;margin:0 0 8px}.form-row{grid-gap:16px;gap:16px}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;color:#0f172a;font-size:.95rem;padding:8px 10px;transition:border-color .18s,box-shadow .18s;width:100%}.form-group textarea{min-height:78px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.form-actions{gap:10px;margin-top:6px}.cancel-button,.submit-button{border:none;border-radius:12px;cursor:pointer;font-weight:800;padding:10px 16px;transition:filter .18s,box-shadow .18s}.cancel-button:hover{filter:brightness(.98)}.submit-button:hover{box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring)}.error-message{margin-bottom:12px;padding:10px 12px}.form-group option,.form-group select{background-color:#fff!important;color:#0f172a!important}.form-group select:disabled{opacity:.7}.form-group select option[value=""]{color:#64748b}.pagination-button,.pagination-number{color:#0f172a}:root{--radius-sm:10px;--radius-xs:8px}.admin-medicamentos-container{background:#f6f8fb;background:var(--bg);color:#1f2937;color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.back-button{border:1px solid #0000;font-weight:800;padding:10px 16px}.header-title h1{font-weight:900}.header-title p{font-size:1rem}.error-message{background:#fff1f2;border:1px solid #f8b4b4;border-radius:10px;justify-content:space-between;margin-bottom:14px;padding:12px 14px}.error-message,.error-message button{align-items:center;color:#9f1239;display:flex}.error-message button{background:#0000;border:none;cursor:pointer;font-size:18px;height:28px;justify-content:center;width:28px}.search-controls{align-items:center}.search-input{border-radius:12px;font-size:.95rem;padding:10px 38px 10px 12px}.search-icon{font-size:16px;right:12px}.filter-select{border-radius:12px;font-size:.95rem;min-width:180px;padding:10px 14px}.add-button{border-radius:12px;padding:10px 16px;transition:filter .18s}.add-button:hover:not(:disabled){filter:brightness(.97)}.add-button:disabled{cursor:not-allowed;opacity:.6}.table-section{overflow:hidden}.loading-state{color:#6c757d;padding:48px 18px}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-top-color:#0e7490;border-top:4px solid var(--primary);height:40px;margin:0 auto 12px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.table-container{border-radius:12px;max-height:calc(100vh - 320px);position:relative}.table-container::-webkit-scrollbar{width:10px}.table-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.medicamentos-table{background:#fff;border-collapse:collapse;min-width:980px;width:100%}.medicamentos-table thead th{background:#0e7490;background:var(--primary);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--primary-700);color:#fff;font-size:.9rem;font-weight:900;letter-spacing:.6px;padding:14px 10px;position:sticky;text-align:center;text-transform:uppercase;top:0;z-index:5}.medicamentos-table tbody tr{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);transition:background .15s}.medicamentos-table tbody tr:hover{background:#e6f4f8;background:var(--primary-50)}.medicamentos-table td{color:#334155;font-size:.95rem;padding:12px 10px;text-align:center;vertical-align:middle}.name-cell strong{color:#0f172a;font-weight:800}.presentacion-cell{color:#64748b;font-style:italic}.concentracion-cell{color:#0f766e;font-weight:800}.descripcion-cell{color:#64748b;margin:0 auto;max-width:260px}.status-badge{border-radius:999px;display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.4px;padding:6px 12px;text-transform:uppercase}.status-badge.active{background:#dcfce7;color:#065f46}.status-badge.inactive{background:#fee2e2;color:#991b1b}.actions-cell{align-items:center;white-space:nowrap}.action-button{border:none;border-radius:10px;font-size:14px;height:36px;min-width:36px;padding:8px 12px;transition:box-shadow .18s,filter .18s}.action-button:disabled{cursor:not-allowed;opacity:.5}.action-button.view{background:#e0ecff;color:#1e40af}.action-button.view:hover:not(:disabled){box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.action-button.edit{background:#fff7ed;color:#b45309}.action-button.edit:hover:not(:disabled){box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.action-button.activate{background:#eaf7f2;color:#0f766e}.action-button.activate:hover:not(:disabled){box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.action-button.deactivate{background:#fff3e0;color:#b45309}.action-button.deactivate:hover:not(:disabled){box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.action-button.delete{background:#ffebee;color:#b91c1c}.action-button.delete:hover:not(:disabled){box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.table-scroll-hint{background:#f8fafc;border-top:1px solid #d7dde6;border-top:1px solid var(--border);color:#64748b;font-size:.9rem;padding:12px 16px;text-align:center}.empty-state{padding:48px 18px}.empty-state p{font-size:18px;margin:0 0 6px}.empty-state span{color:#94a3b8;font-size:.9rem}.modal-overlay{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:1000}.modal-content{background:linear-gradient(180deg,#f7fbfd,#fff 28%);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:18px;box-shadow:0 28px 64px #02172a40;max-height:90vh;max-width:820px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content{animation:modalSlideIn .25s ease-out}.modal-header{align-items:center;background:#fff;border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);border-radius:18px 18px 0 0;display:flex;justify-content:space-between;padding:20px 32px}.modal-header h2{color:#0f172a;font-size:1.18rem;font-weight:900;margin:0}.close-button{align-items:center;background:#0000;border:none;border-radius:10px;color:#475569;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:background .18s;width:36px}.close-button:hover{background:#e2e8f0}.modal-body{padding:28px 32px}.medicamento-details{display:flex;flex-direction:column;gap:16px}.detail-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.detail-group{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:14px;display:flex;flex-direction:column;gap:6px;padding:12px}.detail-group label{color:#0f172a;font-size:.95rem;font-weight:900}.detail-group span{color:#475569;padding:4px 0}.medicamento-form{display:flex;flex-direction:column;gap:16px}.form-section{background:#0000;border:none;border-radius:0;box-shadow:none;margin-bottom:24px;padding:0}.form-section h3{border-bottom:none;color:#0f172a;font-size:1.15rem;font-weight:900;margin:0 0 24px;padding-bottom:0}.form-row{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.form-group{gap:10px;margin-bottom:4px}.form-group.full-width{grid-column:span 2}.form-group.checkbox-group{justify-content:center}.form-group label{font-size:.95rem;font-weight:900;letter-spacing:.2px}.form-group input,.form-group textarea{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;color:#0f172a;font-size:1rem;height:44px;padding:14px 16px;transition:border-color .18s,box-shadow .18s}.form-group textarea{height:auto;min-height:110px;resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.field-help{color:#94a3b8;font-size:.8rem}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:10px;padding:6px 0}.checkbox-label input[type=checkbox]{height:18px;margin:0;width:18px}.checkmark{font-weight:800}.medicamento-layout{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1.8fr 1fr 1fr 1fr}.medicamento-layout .form-group{margin:0}.medicamento-layout input,.medicamento-layout select{height:44px}.medicamento-layout .add-button{border-radius:12px;height:44px}.form-actions{border-top:1px solid #d7dde6;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;margin-top:28px;padding-top:28px}.cancel-button{background:#e2e8f0;border:1px solid #cbd5e1;border-radius:12px;color:#0f172a;cursor:pointer;font-weight:800;padding:12px 16px}.cancel-button:hover:not(:disabled){filter:brightness(.98)}.submit-button{background:#0e7490;background:var(--primary);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;padding:12px 18px}.submit-button:hover:not(:disabled){box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring)}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:900px){.detail-row,.form-row{grid-template-columns:1fr}.form-group.full-width{grid-column:span 1}.medicamento-layout{grid-auto-rows:auto;grid-template-columns:1fr 1fr}.medicamento-layout .add-button{grid-column:1/-1}}@media (max-width:768px){.admin-medicamentos-container{padding:16px}.controls-section{align-items:stretch;flex-direction:column;gap:12px}.search-controls{flex-direction:column;gap:10px}.search-box{max-width:none}.medicamentos-table{font-size:.95rem;min-width:820px}.medicamentos-table td,.medicamentos-table th{padding:10px 8px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a}.controls-section,.detail-group,.form-section,.modal-content,.page-header,.table-section{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.modal-content{background:linear-gradient(180deg,#0f172a,#0f172a 28%)}.filter-select,.form-group input,.form-group textarea,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.table-row:hover{background:#0b44551a}}:root{--table-head:#0e7490;--table-head-border:#0c5f75}.gestion-diagnosticos-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.page-header{background:linear-gradient(135deg,#fff,#f3f7fb 60%,#eef7fa);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);margin-bottom:16px;padding:20px 22px}.header-content{gap:12px}.back-button{background:#0e7490;background:var(--primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:700;padding:8px 14px;transition:.18s}.back-button:hover{background:#0c5f75;background:var(--primary-700)}.header-title h1{color:#0f172a;font-size:1.7rem;font-weight:800;margin:0}.header-title p{color:#64748b;color:var(--muted);margin:4px 0 0}.controls-section{align-items:center;background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);display:flex;gap:12px;justify-content:space-between;margin-bottom:14px;padding:14px}.search-controls{display:flex;flex:1 1;flex-wrap:wrap;gap:10px}.search-box{flex:1 1;max-width:420px;position:relative}.search-input{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;padding:8px 36px 8px 10px;transition:border-color .18s,box-shadow .18s;width:100%}.search-input:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.search-icon{color:#94a3b8;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.filter-select{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;min-width:170px;padding:8px 12px;transition:border-color .18s,box-shadow .18s}.filter-select:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:0}.add-button{background:#0f766e;background:var(--success);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;padding:8px 14px}.add-button:hover{filter:brightness(.95)}.table-section{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);padding:14px}.table-container{border-radius:10px;box-shadow:0 4px 15px #0000000d;overflow-x:auto}.table-container::-webkit-scrollbar{height:10px}.table-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}.diagnosticos-table{background:#fff;border-collapse:collapse;border-radius:10px;min-width:800px;overflow:hidden;width:100%}.diagnosticos-table th{background:#0e7490;background:var(--table-head);border-bottom:2px solid #0c5f75;border-bottom:2px solid var(--table-head-border);color:#fff;font-size:.94rem;font-weight:800;letter-spacing:.5px;padding:12px 10px;position:sticky;text-align:left;text-transform:uppercase;top:0}.diagnosticos-table td{border-bottom:1px solid #d7dde6;border-bottom:1px solid var(--border);color:#334155;padding:10px}.table-row{transition:background .15s}.table-row:hover{background:#e6f4f8;background:var(--primary-50)}.codigo-cell strong{color:#0c5f75;color:var(--primary-700);font-weight:800}.descripcion-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tipo-badge{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:800;padding:5px 10px;text-transform:uppercase}.tipo-badge.emergencia{background:#fee2e2;color:#991b1b}.tipo-badge.consulta-externa{background:#dbeafe;color:#1e40af}.tipo-badge.control{background:#fef3c7;color:#92400e}.tipo-badge.primera-vez{background:#dcfce7;color:#065f46}.semana-cell{text-align:center}.actions-cell{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.action-button{align-items:center;background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:9px;cursor:pointer;display:inline-flex;height:32px;justify-content:center;transition:.18s;width:32px}.action-button:hover{box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow)}.empty-state,.loading-state{color:#64748b;color:var(--muted);padding:40px 20px}.loading-state{text-align:center}.pagination-container{align-items:center;border-top:1px solid #d7dde6;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:12px;margin-top:16px;padding-top:16px}.pagination-info{color:#64748b;color:var(--muted);font-size:.9rem;font-weight:500;text-align:center}.pagination-controls{align-items:center;display:flex;gap:8px}.pagination-button{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;color:#1f2937;color:var(--text);cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#e6f4f8;background:var(--primary-50);border-color:#0e7490;border-color:var(--primary);color:#0e7490;color:var(--primary);transform:translateY(-1px)}.pagination-button:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.4}.pagination-numbers{align-items:center;display:flex;gap:4px}.pagination-number{align-items:center;background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;color:#1f2937;color:var(--text);cursor:pointer;display:flex;font-size:.9rem;font-weight:600;height:36px;justify-content:center;min-width:36px;padding:0 8px;transition:all .2s ease}.pagination-number:hover{background:#e6f4f8;background:var(--primary-50);border-color:#0e7490;border-color:var(--primary);color:#0e7490;color:var(--primary);transform:translateY(-1px)}.pagination-number.active{background:#0e7490;background:var(--primary);border-color:#0e7490;border-color:var(--primary);color:#fff;font-weight:800}.pagination-ellipsis{color:#64748b;color:var(--muted);font-weight:600;padding:0 8px}@media (max-width:992px){.diagnosticos-table{min-width:900px}}@media (max-width:640px){.pagination-button{font-size:.85rem;padding:6px 12px}.pagination-number{font-size:.85rem;height:32px;min-width:32px}}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--panel:#0f172a;--text:#e5e7eb;--muted:#9aa7bd;--border:#1f2a3a;--table-head:#155e75;--table-head-border:#0b4455}.controls-section,.table-section{background:#fff;background:var(--panel);border-color:#d7dde6;border-color:var(--border)}.filter-select,.search-input{background:#0b1220;border-color:#d7dde6;border-color:var(--border);color:#e5e7eb}.diagnosticos-table,.pagination-button,.pagination-number{background:#fff;background:var(--panel)}.pagination-button,.pagination-number{border-color:#d7dde6;border-color:var(--border);color:#1f2937;color:var(--text)}.pagination-button:disabled{background:#1a1f2e}.pagination-number.active{background:#0e7490;background:var(--primary);color:#fff}}.cita-diagnostico-search-container{position:relative;width:100%}.cita-diagnostico-search-input{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;padding:10px 35px 10px 12px;transition:all .2s ease;width:100%}.cita-diagnostico-search-input:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.cita-diagnostico-search-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.6}.cita-diagnostico-dropdown{animation:slideDown .2s ease;background-color:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 16px #00000026;left:0;margin-top:4px;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.cita-diagnostico-dropdown::-webkit-scrollbar{width:8px}.cita-diagnostico-dropdown::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cita-diagnostico-dropdown::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.cita-diagnostico-dropdown::-webkit-scrollbar-thumb:hover{background:#555}.cita-diagnostico-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:12px 16px;transition:all .15s ease}.cita-diagnostico-item:hover{background-color:#f8f9fa;padding-left:20px}.cita-diagnostico-item.selected{background-color:#e3f2fd;border-left:3px solid #4caf50;padding-left:17px}.cita-diagnostico-item:last-child{border-bottom:none}.cita-diagnostico-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cita-diagnostico-id-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:2px 8px}.cita-diagnostico-fecha{color:#666;font-size:11px;font-weight:500}.cita-diagnostico-name{color:#333;font-size:14px;font-weight:500;margin-bottom:6px}.cita-diagnostico-info{color:#666;display:flex;flex-wrap:wrap;font-size:12px;gap:12px;margin-bottom:4px}.cita-diagnostico-info-secondary{color:#888;display:flex;flex-wrap:wrap;font-size:11px;gap:12px;margin-bottom:4px}.cita-diagnostico-info span,.cita-diagnostico-info-secondary span{align-items:center;display:inline-flex;gap:4px}.no-results{font-size:14px;padding:24px 20px}.dropdown-hint,.no-results{color:#999;text-align:center}.dropdown-hint{background-color:#fafafa;border-top:1px solid #f0f0f0;font-size:12px;font-style:italic;padding:10px 16px}.clear-search-btn{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;font-size:20px;justify-content:center;line-height:1;padding:4px 8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease}.clear-search-btn:hover{color:#666;transform:translateY(-50%) scale(1.1)}.search-input-wrapper{position:relative;width:100%}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.display-turnos-container{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.display-header{align-items:center;background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;display:flex;justify-content:space-between;margin-bottom:20px;padding:25px 40px}.hospital-info h1{color:#2c3e50;font-size:2rem;font-weight:700;margin:0 0 5px}.hospital-info p{color:#7f8c8d;font-size:1rem;margin:0}.fecha-hora{text-align:right}.hora{color:#2c3e50;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;line-height:1}.fecha{color:#7f8c8d;font-size:.9rem;margin-top:5px;text-transform:capitalize}.especialidades-display-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:20px}.especialidad-display-card{background:#fff;border-radius:15px;border-top:6px solid;box-shadow:0 4px 6px #0000001a;padding:20px;transition:transform .3s ease,box-shadow .3s ease}.especialidad-display-card:hover{box-shadow:0 8px 15px #0003;transform:translateY(-5px)}.especialidad-display-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;gap:12px;margin-bottom:20px;padding-bottom:15px}.color-badge-display{border-radius:8px;font-size:.9rem;font-weight:700;padding:8px 16px;white-space:nowrap}.especialidad-display-header h2{color:#2c3e50;flex:1 1;font-size:1.3rem;margin:0}.turno-actual-display-section{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:15px}.turno-actual-display-section h3{color:#7f8c8d;font-size:.9rem;font-weight:600;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.turno-actual-content{align-items:center;display:flex;gap:15px}.numero-turno-display-grande{animation:pulsoSuave 3s infinite;border-radius:12px;font-size:2.5rem;font-weight:700;min-width:140px;padding:20px;text-align:center}@keyframes pulsoSuave{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.consultorio-display{color:#2c3e50;flex:1 1;font-size:1rem;font-weight:500}.sin-turno-display{color:#95a5a6;padding:30px 20px;text-align:center}.prefijo-display{font-size:3rem;font-weight:700;margin-bottom:10px;opacity:.3}.sin-turno-display p{font-size:.9rem;margin:0}.siguientes-turnos-section h3{color:#7f8c8d;font-size:.9rem;font-weight:600;letter-spacing:1px;margin:0 0 12px;text-transform:uppercase}.lista-siguientes{display:flex;flex-direction:column;gap:8px}.turno-siguiente-item{align-items:center;background:#f8f9fa;border-left:4px solid;border-radius:8px;display:flex;gap:12px;padding:12px;transition:transform .2s ease}.turno-siguiente-item:hover{background:#e9ecef;transform:translateX(5px)}.numero-turno-siguiente{border-radius:6px;font-size:1rem;font-weight:700;min-width:90px;padding:8px 12px;text-align:center}.consultorio-siguiente{color:#7f8c8d;flex:1 1;font-size:.9rem}.sin-turnos-espera{color:#95a5a6;font-size:.9rem;padding:20px;text-align:center}.display-footer{background:#fff;border-radius:15px;box-shadow:0 4px 6px #0000001a;padding:20px}.leyenda-colores h4{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 15px}.colores-grid{display:flex;flex-wrap:wrap;gap:15px}.color-item{align-items:center;display:flex;gap:8px}.color-box{border-radius:6px;box-shadow:0 2px 4px #0000001a;height:30px;width:30px}.color-item span{color:#2c3e50;font-size:.9rem}@media (max-width:1400px){.especialidades-display-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.especialidades-display-grid{gap:15px;grid-template-columns:1fr}.display-header{padding:20px 30px}.hospital-info h1{font-size:1.5rem}.hora{font-size:2rem}}@media (max-width:768px){.display-turnos-container{padding:15px}.display-header{flex-direction:column;gap:15px;padding:15px 20px;text-align:center}.hospital-info h1{font-size:1.3rem}.hospital-info p{font-size:.9rem}.fecha-hora{text-align:center}.hora{font-size:1.8rem}.fecha{font-size:.8rem}.especialidades-display-grid{grid-template-columns:1fr}.especialidad-display-card{padding:15px}.especialidad-display-header{align-items:flex-start;flex-direction:column;gap:8px}.especialidad-display-header h2{font-size:1.1rem}.numero-turno-display-grande{font-size:2rem;min-width:100px;padding:15px}.turno-actual-content{flex-direction:column;text-align:center}.colores-grid{flex-direction:column;gap:10px}}@media (max-width:480px){.hospital-info h1{font-size:1.1rem}.hora{font-size:1.5rem}.especialidad-display-header h2{font-size:1rem}.numero-turno-display-grande{font-size:1.5rem}.prefijo-display{font-size:2rem}}@keyframes aparecer{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.especialidad-display-card{animation:aparecer .5s ease-out}.especialidad-display-card:first-child{animation-delay:.1s}.especialidad-display-card:nth-child(2){animation-delay:.2s}.especialidad-display-card:nth-child(3){animation-delay:.3s}.especialidad-display-card:nth-child(4){animation-delay:.4s}.especialidad-display-card:nth-child(5){animation-delay:.5s}.especialidad-display-card:nth-child(6){animation-delay:.6s}.especialidad-display-card:nth-child(7){animation-delay:.7s}:root{--text:#1f2937;--muted:#64748b;--primary:#0e7490;--primary-700:#0c5f75;--primary-50:#e6f4f8;--success:#0f766e;--danger:#b91c1c;--warn:#b45309;--shadow:0 8px 20px #02172a0f;--radius:12px;--radius-sm:8px;--radius-xs:6px;--ring:0 0 0 3px #0e74902e}*{box-sizing:border-box}.reportes-container{background:#f6f8fb;background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Ubuntu,Helvetica Neue,Arial,Noto Sans,sans-serif;min-height:100vh;padding:24px}.reportes-header{background:linear-gradient(135deg,#fff,#f3f7fb 60%,#eef7fa);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);margin-bottom:24px;padding:20px 22px}.reportes-header .header-content{align-items:center;display:flex;gap:12px}.reportes-header .back-button{background:#0e7490;background:var(--primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-weight:800;padding:10px 16px;transition:all .2s}.reportes-header .back-button:hover{background:#0c5f75;background:var(--primary-700)}.reportes-header .header-title h1{color:#0f172a;font-size:1.7rem;font-weight:900;margin:0 0 4px}.reportes-header .header-title p{color:#64748b;color:var(--muted);font-size:.95rem;margin:0}.reportes-content{grid-gap:20px;display:grid;gap:20px;grid-template-columns:340px 1fr;min-height:calc(100vh - 220px)}.reportes-sidebar{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);height:fit-content;padding:20px}.sidebar-section h3{color:#0f172a;font-size:1rem;font-weight:800;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.reportes-list{display:flex;flex-direction:column;gap:12px}.reporte-item{align-items:center;background:#fff;border:1px solid #d7dde6;border-left:4px solid #0e7490;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:10px;cursor:pointer;display:flex;gap:14px;padding:16px 14px;transition:all .2s ease}.reporte-item.active,.reporte-item:hover{border-color:#0e7490;border-color:var(--primary);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);transform:translateX(4px)}.reporte-item.active{background:#e6f4f8;background:var(--primary-50)}.reporte-icon{flex-shrink:0;font-size:28px;line-height:1}.reporte-info{flex:1 1}.reporte-info strong{color:#0f172a;display:block;font-size:.95rem;font-weight:700;margin-bottom:4px}.reporte-info small{color:#64748b;color:var(--muted);display:block;font-size:.85rem;line-height:1.4}.reportes-main{background:#fff;background:var(--panel);border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 20px #02172a0f;box-shadow:var(--shadow);padding:24px}.empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:450px;padding:40px;text-align:center}.empty-icon{font-size:90px;margin-bottom:24px;opacity:.5}.empty-state h3{color:#0f172a;font-size:1.5rem;font-weight:800;margin:0 0 12px}.empty-state p{color:#64748b;color:var(--muted);font-size:1rem;margin:0;max-width:500px}.actions-section,.filters-section,.info-section{background:#fafbfc;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #02172a0a;margin-bottom:16px;padding:20px 22px}.actions-section h2,.filters-section h2,.info-section h2{color:#0f172a;font-size:1.15rem;font-weight:800;letter-spacing:.3px;margin:0 0 18px;text-transform:uppercase}.period-selector{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.period-selector button{background:#fff;border:2px solid #d7dde6;border:2px solid var(--border);border-radius:8px;color:#334155;cursor:pointer;flex:1 1;font-size:.95rem;font-weight:700;min-width:120px;padding:12px 20px;transition:all .2s ease}.period-selector button:hover{background:#e6f4f8;background:var(--primary-50);border-color:#0e7490;border-color:var(--primary);color:#0e7490;color:var(--primary);transform:translateY(-1px)}.period-selector button.active{background:#0e7490;background:var(--primary);border-color:#0e7490;border-color:var(--primary);box-shadow:0 4px 12px #0e74904d;color:#fff}.date-range{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#0f172a;font-size:.9rem;font-weight:700}.form-group input{background:#fff;border:2px solid #d7dde6;border:2px solid var(--border);border-radius:8px;color:#0f172a;font-size:.95rem;font-weight:500;padding:11px 14px;transition:all .2s ease;width:100%}.form-group input:focus{border-color:#0e7490;border-color:var(--primary);box-shadow:0 0 0 3px #0e74902e;box-shadow:var(--ring);outline:none}.action-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:8px;justify-content:center;letter-spacing:.3px;padding:14px 24px;text-transform:uppercase;transition:all .2s ease}.action-btn.pdf{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-btn.pdf:hover:not(:disabled){background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 20px #ef444459;transform:translateY(-2px)}.action-btn.xlsx{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-btn.xlsx:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 20px #10b98159;transform:translateY(-2px)}.action-btn.print{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.action-btn.print:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#4338ca);box-shadow:0 8px 20px #6366f159;transform:translateY(-2px)}.action-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.action-btn:active:not(:disabled){transform:translateY(0)!important}.error-msg{background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:.9rem;font-weight:600;margin-top:12px;padding:12px 16px}.info-card{background:#fff;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:8px;padding:18px}.info-card p{color:#334155;font-size:.95rem;line-height:1.7;margin:12px 0}.info-card p:first-child{margin-top:0}.info-card p:last-child{margin-bottom:0}.info-card strong{color:#0f172a;font-weight:700}@media (max-width:1024px){.reportes-content{grid-template-columns:1fr}.reportes-sidebar{order:-1}}@media (max-width:768px){.reportes-container{padding:16px}.reportes-header{padding:24px 20px}.reportes-header h1{font-size:1.5rem}.action-buttons,.date-range{grid-template-columns:1fr}.period-selector{flex-direction:column}.period-selector button{min-width:100%}}@media (max-width:480px){.reporte-item{align-items:center;flex-direction:row;gap:12px}.reporte-icon{font-size:32px}.empty-state{padding:20px}.empty-icon{font-size:70px}}.prediccion-personal-container{background:linear-gradient(135deg,#667eea,#764ba2);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;min-height:100vh;padding:20px;width:100%}.header-section{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 20px 60px #00000026;margin-bottom:24px;padding:32px}.header-content{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between}.titulo-section{gap:16px}.btn-regresar,.titulo-section{align-items:center;display:flex}.btn-regresar{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;height:44px;justify-content:center;transition:all .3s ease;width:44px}.btn-regresar:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.btn-regresar:active{transform:translateY(0)}.btn-regresar svg{height:24px;width:24px}.icono-titulo{color:#667eea;filter:drop-shadow(0 4px 8px rgba(102,126,234,.3));height:48px;width:48px}.titulo-principal{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:800;letter-spacing:-.5px;margin:0}.estado-servicio{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:2px solid #667eea33;border-radius:50px;display:flex;font-size:14px;font-weight:600;gap:12px;padding:12px 24px;transition:all .3s ease}.estado-servicio.activo{background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 4px 12px #10b9814d;color:#fff}.estado-servicio.inactivo{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#ef4444;box-shadow:0 4px 12px #ef44444d;color:#fff}.indicador-estado{animation:pulseIndicatorPrediccion 2s ease-in-out infinite;background:currentColor;border-radius:50%;box-shadow:0 0 0 0 currentColor;height:12px;width:12px}@keyframes pulseIndicatorPrediccion{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 8px #0000;opacity:.8}}.mensaje{align-items:center;animation:slideDownPrediccion .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;display:flex;font-weight:500;gap:12px;margin-bottom:20px;padding:16px 24px}@keyframes slideDownPrediccion{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.mensaje-error{background:#fee2e2f2;border-left:4px solid #ef4444;box-shadow:0 4px 12px #ef444433;color:#991b1b}.mensaje-exito{background:#dcfce7f2;border-left:4px solid #22c55e;box-shadow:0 4px 12px #22c55e33;color:#14532d}.icono-mensaje{flex-shrink:0;height:24px;width:24px}.btn-cerrar{background:none;border:none;color:inherit;cursor:pointer;font-size:24px;margin-left:auto;opacity:.6;padding:0 8px;transition:opacity .2s}.btn-cerrar:hover{opacity:1}.tabs-navegacion{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border-radius:16px;box-shadow:0 10px 30px #0000001a;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:8px}.tab-boton{align-items:center;background:#0000;border:none;border-radius:12px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-size:15px;font-weight:600;gap:8px;justify-content:center;min-width:140px;overflow:hidden;padding:14px 20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.tab-boton:before{background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;z-index:-1}.tab-boton:hover:not(.activo){background:#667eea1a;transform:translateY(-2px)}.tab-boton.activo{box-shadow:0 8px 16px #667eea4d;color:#fff;transform:translateY(-2px)}.tab-boton.activo:before{opacity:1}.tab-icono{height:20px;transition:transform .3s;width:20px}.tab-boton.activo .tab-icono{transform:scale(1.1)}.contenido-principal{animation:fadeInPrediccion .5s ease;max-width:100%;width:100%}@keyframes fadeInPrediccion{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:100%}.card-estadistica{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 10px 30px #0000001a;height:100%;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.card-estadistica:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-8px)}.card-prediccion{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:24px;max-width:100%;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.card-prediccion:hover{box-shadow:0 15px 40px #00000026}.card-header{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-bottom:1px solid #0000000d;gap:16px;justify-content:space-between;padding:24px 28px}.card-header,.header-actions{align-items:center;display:flex;flex-wrap:wrap}.header-actions{gap:12px}.card-header h2{color:#1f2937;font-size:20px;font-weight:700;margin:0}.card-header h3{color:#1f2937;font-size:16px;font-weight:600;margin:0}.card-descripcion{color:#6b7280;font-size:14px;margin-top:4px}.card-icono{color:#667eea;height:28px;width:28px}.card-body{box-sizing:border-box;padding:32px;width:100%}.stat-item{align-items:center;border-bottom:1px solid #0000000d;display:flex;justify-content:space-between;padding:16px 0;transition:all .2s}.stat-item:hover{background:#667eea05;border-radius:8px;padding-left:8px}.stat-item:last-child{border-bottom:none}.stat-label{color:#6b7280;font-size:14px;font-weight:500}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700}.metrica-item{background:linear-gradient(135deg,#667eea14,#764ba214);border-radius:16px;margin-bottom:16px;padding:20px;text-align:center;transition:all .3s}.metrica-item:hover{box-shadow:0 8px 16px #667eea26;transform:scale(1.05)}.metrica-item:last-child{margin-bottom:0}.metrica-valor{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:40px;font-weight:800;line-height:1;margin-bottom:8px}.metrica-label{color:#6b7280;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.prediccion-resultado{padding:20px}.nivel-alerta{align-items:center;border-radius:12px;box-shadow:0 4px 12px #0000001a;display:inline-flex;font-size:16px;font-weight:700;gap:8px;margin-bottom:24px;padding:12px 20px}.nivel-alerta.bajo{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.nivel-alerta.moderado{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.nivel-alerta.alto{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.nivel-alerta.critico{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.icono-alerta{height:24px;width:24px}.prediccion-detalle{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:24px}.detalle-item{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-left:4px solid #667eea;border-radius:12px;padding:20px;transition:all .3s}.detalle-item:hover{box-shadow:0 4px 12px #667eea26;transform:translateX(8px)}.detalle-label{color:#6b7280;display:block;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.detalle-valor{align-items:center;color:#1f2937;display:flex;font-size:28px;font-weight:800;gap:8px}.card-formulario{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:24px;max-width:100%;overflow:hidden;width:100%}.columnas-3,.formulario-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px}.form-group-prediccion{display:flex;flex-direction:column;gap:8px;width:100%}.form-label-prediccion{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.5px;text-transform:uppercase}.form-label-prediccion svg{color:#667eea;display:none;height:0;width:0}.label-icono{color:#667eea;height:16px!important;width:16px!important}.label-descripcion-prediccion{color:#9ca3af;font-size:11px;font-weight:400;letter-spacing:0;margin-left:26px;text-transform:none}.form-input-prediccion,.form-select-prediccion{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#1f2937;font-family:inherit;font-size:15px;font-weight:500;outline:none;padding:14px 18px;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.form-input-prediccion:hover,.form-select-prediccion:hover{background:#667eea05;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-2px)}.form-input-prediccion:focus,.form-select-prediccion:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26;transform:translateY(-2px)}.form-input-prediccion:active,.form-select-prediccion:active{transform:translateY(0)}.form-select-prediccion{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23667eea'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19 9-7 7-7-7'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:20px;cursor:pointer;padding-right:44px}.form-input-prediccion[type=number]::-webkit-inner-spin-button,.form-input-prediccion[type=number]::-webkit-outer-spin-button{height:32px;opacity:1}.form-input-prediccion[type=date]{cursor:pointer}.form-seccion-titulo{align-items:center;border-bottom:2px solid #667eea1a;color:#1f2937;display:flex;font-size:16px;font-weight:700;gap:8px;margin:32px 0 16px;padding-bottom:8px}.form-seccion-titulo svg{color:#667eea;height:20px;width:20px}.btn{align-items:center;border:none;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;display:inline-flex;font-family:inherit;font-size:15px;font-weight:600;gap:10px;justify-content:center;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.btn:not(:disabled):hover{box-shadow:0 8px 20px #00000026;transform:translateY(-3px)}.btn:not(:disabled):active{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{box-shadow:0 8px 20px #667eea66}.btn-secondary{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-secondary:hover{box-shadow:0 8px 20px #6b728066}.btn-icono{height:20px;width:20px}.spinner{animation:spinPrediccion .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spinPrediccion{to{transform:rotate(1turn)}}.card-historial{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:20px;box-shadow:0 10px 30px #0000001a;max-width:100%;overflow:hidden;width:100%}.tabla-historial-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:visible}.tabla-historial{border-collapse:collapse;font-size:14px;width:100%}.tabla-historial thead{background:linear-gradient(135deg,#667eea14,#764ba214);position:sticky;top:0;z-index:10}.tabla-historial th{color:#1f2937;font-size:12px;font-weight:700;letter-spacing:.5px;padding:18px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.tabla-historial td{border-bottom:1px solid #0000000d;color:#4b5563;padding:18px 16px}.tabla-historial tbody tr{transition:all .2s}.tabla-historial tbody tr:hover{background:#667eea08}.celda-numero{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.badge{border-radius:8px;display:inline-block;font-size:12px;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.badge.bajo{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.badge.moderado{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.badge.alto{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.badge.critico{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.badge-success{background:linear-gradient(135deg,#10b981,#059669)}.badge-danger,.badge-success{align-items:center;border-radius:50%;color:#fff;display:inline-flex;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.badge-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.historial-vacio{color:#9ca3af;padding:60px 20px!important;text-align:center}.historial-vacio-icono{color:#d1d5db;height:64px;margin:0 auto 16px;width:64px}.historial-vacio p{font-size:16px;font-weight:600;margin:0}.config-section{display:flex;flex-direction:column;gap:24px}.config-item{align-items:center;background:linear-gradient(135deg,#667eea08,#764ba208);border-radius:16px;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:24px;transition:all .3s}.config-item:hover{background:linear-gradient(135deg,#667eea14,#764ba214);transform:translateX(8px)}.config-info{flex:1 1;min-width:200px}.config-info h3{color:#1f2937;font-size:16px;font-weight:700;margin:0 0 8px}.config-info p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.config-status{border-radius:50px;font-size:14px;font-weight:700;letter-spacing:.5px;padding:10px 24px;text-transform:uppercase}.status-activo{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d;color:#fff}.status-inactivo{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d;color:#fff}.separador{background:linear-gradient(90deg,#0000,#667eea33,#0000);height:1px}.loader-overlay{align-items:center;animation:fadeInPrediccion .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.loader-container{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:40px;text-align:center}.loader-spinner{animation:spinPrediccion .8s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:50px;margin:0 auto 20px;width:50px}.loader-container p{color:#6b7280;font-size:16px;font-weight:600;margin:0}.loading-placeholder{color:#9ca3af;font-size:14px;padding:40px;text-align:center}.resultados-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.vista-toggle{background:#667eea0d;border-radius:12px;display:flex;gap:8px;padding:4px}.toggle-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:600;gap:6px;padding:10px 16px;transition:all .3s}.toggle-btn:hover{background:#667eea1a}.toggle-btn.activo{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 8px #667eea4d;color:#fff}.toggle-icono{height:16px;width:16px}.tabla-mensual th{font-size:12px;padding:16px 12px}.tabla-mensual td{padding:16px 12px}.celda-mes{color:#1f2937;font-size:15px;font-weight:700}.celda-alto,.celda-critico,.celda-deficit{text-align:center}.badge-count{border-radius:6px;display:inline-block;font-size:13px;font-weight:700;padding:4px 10px}.badge-count.critico{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.badge-count.alto{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}.badge-count.deficit{background:#fee2e2;color:#991b1b}.tabla-rangos{border-collapse:collapse;font-size:14px;width:100%}.tabla-rangos thead{background:linear-gradient(135deg,#667eea14,#764ba214);position:sticky;top:0;z-index:10}.tabla-rangos th{color:#1f2937;font-size:12px;font-weight:700;letter-spacing:.5px;padding:18px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.tabla-rangos td{border-bottom:1px solid #0000000d;color:#4b5563;padding:18px 16px}.tabla-rangos tbody tr{transition:all .2s}.tabla-rangos tbody tr:hover{background:#667eea08}.tabla-rangos .celda-prediccion{font-weight:700;min-width:150px}.tabla-rangos .celda-prediccion strong{color:#667eea;display:block;font-size:15px;margin-bottom:4px}.tabla-rangos .fecha-creacion{color:#9ca3af;display:block;font-size:11px;font-weight:400}.tabla-rangos .celda-rango{color:#4b5563;font-family:Courier New,monospace;font-size:13px;white-space:nowrap}.tabla-rangos .celda-personal{min-width:120px}.personal-info{display:flex;flex-direction:column;font-size:13px;gap:4px}.personal-info span{align-items:center;display:flex;gap:4px}.btn-icono-tabla{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:inline-flex;justify-content:center;padding:8px 12px;transition:all .3s}.btn-icono-tabla:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-icono-tabla:active{transform:translateY(0)}@media (min-width:1920px){.prediccion-personal-container{padding:32px}.card-body{padding:40px}.columnas-3,.formulario-grid{gap:32px}.dashboard-grid{gap:32px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (max-width:1400px){.prediccion-personal-container{padding:16px}.header-section{padding:24px}.titulo-principal{font-size:28px}.columnas-3,.dashboard-grid,.formulario-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.prediccion-detalle{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:1024px){.columnas-3,.dashboard-grid,.formulario-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.prediccion-detalle{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tabs-navegacion{-webkit-overflow-scrolling:touch;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tab-boton{flex-shrink:0;min-width:140px}.titulo-principal{font-size:24px}.btn-regresar,.icono-titulo{height:40px;width:40px}}@media (max-width:768px){.prediccion-personal-container{padding:12px}.header-section{padding:20px}.header-content{align-items:flex-start;flex-direction:column}.titulo-section{gap:12px}.titulo-principal{font-size:20px}.icono-titulo{height:32px;width:32px}.btn-regresar{height:36px;width:36px}.btn-regresar svg{height:20px;width:20px}.tabs-navegacion{gap:8px;padding:0 4px}.tab-boton{font-size:13px;min-width:120px;padding:10px 16px}.tab-icono{height:18px;width:18px}.card-estadistica,.card-historial,.card-prediccion{padding:20px}.columnas-3,.dashboard-grid,.formulario-grid,.prediccion-detalle{grid-template-columns:1fr}.card-header,.config-item{flex-direction:column;text-align:center}.card-header{gap:12px}.resultados-header{flex-direction:column;gap:12px}.vista-toggle{width:100%}.tabla-historial-scroll{overflow-x:auto}.tabla-historial{min-width:800px}.tabla-rangos{min-width:1000px}}@media (max-width:480px){.prediccion-personal-container{padding:8px}.header-section{border-radius:12px;padding:16px}.titulo-principal{font-size:18px}.tab-boton{font-size:12px;min-width:100px;padding:8px 12px}.estado-servicio{font-size:13px;padding:8px 14px}.btn{padding:10px 18px}.btn,.mensaje{font-size:13px}.mensaje{padding:12px}.columnas-3,.formulario-grid{gap:16px;grid-template-columns:1fr}}@media (hover:hover){.tabs-navegacion::-webkit-scrollbar{height:6px}.tabs-navegacion::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.tabs-navegacion::-webkit-scrollbar-thumb{background:#667eea80;border-radius:3px}.tabs-navegacion::-webkit-scrollbar-thumb:hover{background:#667eeab3}.tabla-historial-scroll::-webkit-scrollbar{height:8px}.tabla-historial-scroll::-webkit-scrollbar-track{background:#667eea0d;border-radius:4px}.tabla-historial-scroll::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}.tabla-historial-scroll::-webkit-scrollbar-thumb:hover{background:#667eea80}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#f6f8fb;--panel:#fff;--border:#d7dde6;--header-gradient:linear-gradient(135deg,#fff,#f3f7fb 60%,#eef7fa)}.admin-medicos-container,.gestion-citas-container,.gestion-consultorios-container,.gestion-empleados-container,.gestion-examenes-container,.gestion-pacientes-container,.historial-medico-container{background:#f6f8fb!important;background:var(--bg)!important}.historial-medico-container{display:flex!important;flex-direction:column!important;margin:0 auto!important;max-width:1800px!important;min-height:100vh!important;padding:24px!important;width:95%!important}.admin-medicos-container .page-header,.gestion-citas-container .page-header,.gestion-consultorios-container .page-header,.gestion-empleados-container .page-header,.gestion-examenes-container .page-header,.gestion-pacientes-container .page-header,.historial-medico-container .page-header{background:linear-gradient(135deg,#fff,#f3f7fb 60%,#eef7fa)!important;background:var(--header-gradient)!important;border:1px solid #d7dde6;border:1px solid var(--border);border-radius:12px;flex-shrink:0!important}.historial-medico-container .pacientes-grid{grid-gap:18px!important;align-content:start!important;display:grid!important;flex:1 1!important;gap:18px!important;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;min-height:60vh!important;padding-bottom:40px!important}.historial-medico-container .search-section{flex-shrink:0!important}.historial-medico-container .loading-state{align-items:center!important;display:flex!important;flex:1 1!important;flex-direction:column!important;justify-content:center!important}.page-header p{color:#64748b!important}.page-header .back-button{background:#0e7490!important;color:#fff!important}.page-header .back-button:hover{background:#0c5f75!important}
/*# sourceMappingURL=main.06c7dda0.css.map*/