:root{--coral:#2563a8;--coral-dark:#1d4f88;--teal:#1b3a5c;--teal-light:#2a5582;--cream:#f3f6fa;--cream-alt:#e3eaf3;--ink:#1c2733;--muted:#5a6778;--white:#ffffff;--danger:#c0392b;--radius:16px;--shadow:0 10px 30px rgba(27,58,92,0.12)}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.5;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none;margin:0;padding:0}button{font-family:inherit}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--teal);box-shadow:0 4px 16px rgba(0,0,0,.1)}.navbar{position:relative;padding:10px 28px 0}.navbar-fila{display:flex;align-items:center;justify-content:space-between;gap:16px}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px}.nav-toggle span{width:22px;height:2px;background:var(--white);display:block}.brand{display:flex;align-items:center;gap:10px;color:var(--white);font-weight:700}.brand-mark{background:var(--coral);color:var(--white);font-size:.9rem;padding:6px 10px;border-radius:10px;letter-spacing:.5px}.brand-text{font-size:1.05rem}.navbar .brand-text{text-transform:uppercase;letter-spacing:.6px}.nav-links{display:flex;align-items:flex-end;gap:4px;margin-top:8px;overflow-x:auto;scrollbar-width:none}.nav-links a{display:block;padding:9px 14px 11px;border-radius:10px 10px 0 0;color:var(--white);font-weight:500;white-space:nowrap;opacity:.85;transition:background .15s ease,opacity .15s ease}.nav-links a:hover{opacity:1;background:rgba(255,255,255,.1)}.nav-links a.nav-activo{opacity:1;background:var(--cream);color:var(--teal);font-weight:700}.nav-user{display:flex;align-items:center;gap:14px;margin-left:auto}.nav-user-name{color:var(--white);font-size:.9rem;opacity:.9}@media (max-width:860px){.nav-toggle{display:flex}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--teal);flex-direction:column;align-items:flex-start;gap:2px;padding:6px 24px 18px;box-shadow:0 12px 20px rgba(0,0,0,.15);max-height:calc(100vh - 64px);overflow-y:auto}.nav-links-abierto{display:flex}.nav-links li{width:100%}.nav-links a{padding:12px 14px;width:100%;border-radius:10px}.navbar{padding:10px 16px}.nav-user-name{display:none}.nav-user .btn{white-space:nowrap}.navbar .brand-text{font-size:.9rem;letter-spacing:.3px}}.btn{display:inline-block;padding:11px 22px;border-radius:999px;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,background .15s ease;font-size:.95rem}.btn-primary{background:var(--coral);color:var(--white)}.btn-primary:hover{background:var(--coral-dark)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-ghost{background:transparent;border:2px solid var(--white);color:var(--white);padding:9px 20px}.btn-ghost:hover{background:var(--white);color:var(--teal)}.page .btn-ghost{border-color:var(--teal);color:var(--teal)}.page .btn-ghost:hover{background:var(--teal);color:var(--white)}.btn-small{padding:7px 16px;font-size:.85rem}.btn-block{width:100%}.btn-remove{background:var(--cream-alt);color:var(--coral-dark);border:none;border-radius:8px;width:34px;height:34px;font-size:1.2rem;cursor:pointer;line-height:1}.btn-remove:hover{background:var(--coral);color:var(--white)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,var(--teal) 0,var(--teal-light) 45%,var(--cream) 45%)}.auth-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px 36px;width:100%;max-width:380px}.auth-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.auth-brand .brand-text,.auth-card h1{color:var(--teal)}.auth-card h1{font-size:1.5rem;margin:0 0 6px}.auth-sub{color:var(--muted);font-size:.9rem;margin:0 0 24px}.auth-form{display:flex;flex-direction:column;gap:6px}.auth-form label{font-size:.85rem;font-weight:600;color:var(--ink);margin-top:10px}.auth-form input{padding:11px 14px;border:1px solid #dde4e2;border-radius:10px;font-size:.95rem}.auth-form input:focus{outline:2px solid var(--teal-light)}.auth-form .btn{margin-top:20px}.auth-error{color:var(--danger)}.auth-error,.auth-success{font-size:.85rem;margin:8px 0 0}.auth-success{color:var(--teal);font-weight:600}.info-box{background:var(--cream-alt);color:var(--teal);border-radius:10px;padding:12px 16px;font-size:.85rem;margin-top:18px}.app-shell{min-height:100vh}.app-main{max-width:1100px;margin:0 auto;padding:32px 24px 60px}.app-main:has(.agenda-layout),.app-main:has(.pagina-ancha){max-width:1400px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-header h1{color:var(--teal);font-size:1.6rem;margin:0}.page-actions{display:flex;gap:12px;flex-wrap:wrap}.section-subtitle{color:var(--teal);font-size:1.2rem;margin:32px 0 16px}.search-form{display:flex;gap:10px;margin-bottom:20px}.search-form input{flex:1 1;padding:11px 14px;border:1px solid #dde4e2;border-radius:10px;font-size:.95rem;max-width:400px}.table-wrap{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto;-webkit-overflow-scrolling:touch}.table{min-width:100%;width:max-content;border-collapse:collapse}.table td,.table th{text-align:left;padding:14px 18px;font-size:.92rem;border-bottom:1px solid var(--cream-alt)}.table th{background:var(--cream-alt);color:var(--teal);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.4px}.table tr:last-child td{border-bottom:none}.link{color:var(--coral-dark);font-weight:600}.link:hover{text-decoration:underline}button.link{background:none;border:none;padding:0;font:inherit;font-weight:600;cursor:pointer;text-align:left}.selector-doctor{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.selector-doctor-item{padding:8px 16px;border-radius:999px;background:var(--white);color:var(--teal);border:1px solid #d3dce7;font-weight:600;font-size:.9rem}.selector-doctor-item:hover{background:var(--cream-alt)}.selector-doctor-item.activo{background:var(--teal);border-color:var(--teal);color:var(--white)}.estado-usuario{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:600}.estado-usuario.activo{background:#e3f1e8;color:#1f6b3a}.estado-usuario.inactivo{background:#eceff3;color:var(--muted)}.fila-inactiva td{color:var(--muted)}.acciones-fila{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.horario-subtitulo{color:var(--teal);font-size:1.05rem;margin:0 0 14px}.horario-dias{display:flex;flex-wrap:wrap;gap:6px}.horario-dia-chip{padding:6px 12px;border-radius:999px;border:1px solid #d3dce7;background:var(--white);color:var(--ink);font-family:inherit;font-size:.85rem;cursor:pointer}.horario-dia-chip.activo{background:var(--teal);border-color:var(--teal);color:var(--white)}.empty-state{color:var(--muted);padding:32px;text-align:center}.empty-state,.form-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}.form-card{padding:28px;display:flex;flex-direction:column;gap:18px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:18px;gap:18px}.form-row-motivo{display:grid;grid-template-columns:120px 1fr;grid-gap:18px;gap:18px}@media (max-width:640px){.form-row-motivo{grid-template-columns:1fr}}.form-field{display:flex;flex-direction:column;gap:6px}.form-field-wide{grid-column:1/-1}.form-field label{font-size:.85rem;font-weight:600;color:var(--ink)}.form-field input,.form-field select,.form-field textarea{padding:10px 12px;border:1px solid #dde4e2;border-radius:10px;font-size:.95rem;font-family:inherit}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--teal-light)}.form-actions{display:flex;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--cream-alt)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:18px;gap:18px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 28px}.info-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);font-weight:700}.info-grid p{margin:4px 0 0;font-size:.95rem}.consulta-list{display:flex;flex-direction:column;gap:10px}.consulta-item{background:var(--white);border-radius:12px;box-shadow:var(--shadow);padding:16px 20px;display:flex;align-items:center;gap:16px;border-left:4px solid var(--coral)}.consulta-fecha{font-weight:700;color:var(--teal);min-width:90px}.consulta-diagnostico{color:var(--ink)}.detail-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 28px;display:flex;flex-direction:column;gap:10px}.detail-card p{margin:0}.medicamentos-editor{display:flex;flex-direction:column;gap:12px}.medicamento-card{display:grid;grid-template-columns:1.6fr 1.3fr 1.1fr 1.1fr .7fr 1.3fr .8fr .7fr auto;grid-gap:12px;gap:12px;align-items:end;background:var(--cream-alt);border-radius:12px;padding:14px 16px}.medicamento-campo{display:flex;flex-direction:column;gap:4px;min-width:0}.medicamento-campo label{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.2px}.medicamento-campo input,.medicamento-campo select{padding:9px 10px;border:1px solid #dde4e2;border-radius:8px;font-size:.88rem;background:var(--white);width:100%}.medicamento-quitar{align-self:end}@media (max-width:1000px){.medicamento-card{grid-template-columns:1fr 1fr 1fr}.medicamento-campo-nombre{grid-column:1/-1}}.inicio-tarjetas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px}.inicio-tarjeta{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;display:flex;flex-direction:column;gap:6px}.inicio-tarjeta-icono{font-size:1.6rem}.inicio-tarjeta strong{font-size:1.8rem;color:var(--teal)}.inicio-tarjeta-etiqueta{color:var(--muted);font-size:.88rem}.estado-pill{display:inline-block;color:var(--white);font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:999px}.badge-you{color:var(--muted);font-size:.85rem;font-style:italic}.field-hint{font-size:.78rem;color:var(--muted)}.password-reveal{border-left:4px solid var(--coral)}.password-box{font-family:Consolas,Courier New,monospace;font-size:1.4rem;font-weight:700;letter-spacing:1px;background:var(--cream-alt);color:var(--teal);padding:14px 18px;border-radius:12px;display:inline-block;margin:8px 0}.reset-password-block{margin-top:14px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.modal-overlay{position:fixed;inset:0;background:rgba(20,30,28,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 20px;overflow-y:auto;z-index:200}.modal-overlay-encima{z-index:300;align-items:center}.modal-overlay-encima .btn-ghost{border-color:var(--teal);color:var(--teal)}.modal-card.modal-card-peligro{border-top-color:var(--danger)}.modal-card.modal-card-peligro h2{color:var(--danger)}.aviso-peligro{background:#fbe4e1;color:#7a2318;border-radius:10px;padding:12px 14px;font-size:.88rem;margin:12px 0 16px}.btn-peligro{background:var(--danger);color:var(--white)}.btn-peligro:hover:not(:disabled){background:#a93226}.btn-peligro:disabled{opacity:.45;cursor:not-allowed}.modal-overlay-encima .modal-actions{justify-content:flex-end}.modal-overlay-encima .btn-ghost:hover{background:var(--teal);color:var(--white)}.btn-con-icono{display:inline-flex;align-items:center;gap:7px}.modal-card{position:relative;background:var(--white);border-radius:var(--radius);box-shadow:0 20px 50px rgba(0,0,0,.25);padding:32px;width:100%;max-width:440px;border-top:4px solid var(--coral)}.modal-card h2{color:var(--teal);margin:0 0 12px;font-size:1.3rem}.modal-close{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;padding:4px 8px;border-radius:8px}.modal-close:hover{background:var(--cream-alt);color:var(--ink)}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.modal-card-wide{max-width:480px}.modal-card-lg,.modal-card-triaje{max-width:640px}.examenes-editor{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.examenes-chips{display:flex;flex-wrap:wrap;gap:8px}.examen-chip{display:inline-flex;align-items:center;gap:6px;background:var(--cream-alt);color:var(--teal);font-size:.82rem;font-weight:600;padding:5px 8px 5px 12px;border-radius:999px}.examen-chip button{background:none;border:none;color:var(--coral-dark);font-size:1rem;line-height:1;cursor:pointer;padding:0 2px}.modal-card-examenes{max-width:1080px;width:100%;max-height:88vh;display:flex;flex-direction:column}.examenes-scroll{flex:1 1;overflow-y:auto;margin:16px -8px 0;padding:0 8px}.examenes-columnas{column-count:3;column-gap:24px;column-fill:balance}@media (max-width:900px){.examenes-columnas{column-count:2}}@media (max-width:600px){.examenes-columnas{column-count:1}}.examenes-categoria{min-width:0;margin-bottom:14px}.examenes-categoria .examen-pill,.examenes-categoria-otros{page-break-inside:avoid;break-inside:avoid}.examenes-categoria-otros{margin-bottom:0}.examenes-categoria h3{font-size:.78rem;font-weight:700;color:var(--teal);text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px;page-break-after:avoid;break-after:avoid}.examen-pill{display:block;width:100%;text-align:left;background:var(--cream-alt);color:var(--ink);border:none;border-radius:8px;padding:7px 10px;font-size:.82rem;margin-bottom:5px;cursor:pointer;font-family:inherit}.examen-pill:hover{background:#dbe4ef}.examen-pill-activo,.examen-pill-activo:hover{background:var(--teal);color:var(--white)}.examenes-otro-input{display:flex;gap:6px;margin-bottom:8px}.examenes-otro-input input{flex:1 1;min-width:0;padding:7px 10px;border:1px solid #dde4e2;border-radius:8px;font-size:.82rem}.examenes-otro-input button{background:var(--teal);color:var(--white);border:none;border-radius:8px;width:32px;font-size:1.1rem;cursor:pointer;flex-shrink:0}.examenes-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--cream-alt);padding-top:16px;margin-top:16px;font-size:.88rem;color:var(--muted);font-weight:600}.triaje-datos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.triaje-datos-grid .form-field{min-width:0}@media (max-width:640px){.triaje-datos-grid{grid-template-columns:1fr}}.triaje-row-acciones{display:flex;gap:14px;flex-wrap:wrap}.icon-link-danger{color:var(--danger)}.icon-link-danger:disabled{opacity:.6;cursor:not-allowed}.cita-paciente-card{display:flex;align-items:flex-start;gap:12px;background:var(--cream-alt);border-radius:12px;padding:14px 18px;margin:6px 0 18px}.cita-paciente-icono{font-size:1.3rem}.cita-paciente-card strong{color:var(--ink);font-size:.95rem}.cita-paciente-card p{margin:4px 0 0;font-size:.85rem;color:var(--muted)}.triaje-paciente-card{display:flex;align-items:center;gap:14px;background:var(--cream-alt);border-radius:12px;padding:14px 18px;margin:6px 0 18px;flex-wrap:wrap}.ficha-avatar-small{width:40px;height:40px;font-size:1.3rem}.triaje-paciente-info{display:flex;flex-direction:column;gap:2px;flex:1 1}.triaje-paciente-info span{font-size:.82rem;color:var(--muted)}.triaje-seccion-titulo{font-size:.78rem;font-weight:700;letter-spacing:.4px;color:var(--muted);text-transform:uppercase;margin:0 0 10px}.input-icon{display:flex;align-items:center;gap:6px;border:1px solid #dde4e2;border-radius:10px;padding:0 8px;overflow:hidden;max-width:100%}.input-icon span{font-size:.85rem;flex-shrink:0}.input-icon input{border:none;padding:8px 0;flex:1 1;width:100%;min-width:0;max-width:100%;font-size:.88rem;background:transparent}.input-icon input:focus{outline:none}.input-icon:focus-within{box-shadow:inset 0 0 0 2px var(--teal-light)}.input-icon input[type=number]::-webkit-inner-spin-button,.input-icon input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-icon input[type=number]{-moz-appearance:textfield}.modal-actions-split{justify-content:space-between;align-items:center}.triaje-guardar-wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.agenda-layout{display:flex;gap:20px;align-items:flex-start}.agenda-secciones{display:flex;flex-direction:column;gap:32px;flex:1 1;min-width:0}.agenda-seccion-titulo{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.agenda-seccion-titulo h2{color:var(--teal);font-size:1.05rem;margin:0}.agenda-seccion-titulo span{color:var(--muted);font-size:.85rem}.agenda-wrap{padding:12px;overflow-x:auto}.agenda-leyenda,.agenda-wrap{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}.agenda-leyenda{padding:18px 20px;width:180px;flex-shrink:0;display:flex;flex-direction:column;gap:18px}.agenda-leyenda-titulo{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin:0 0 8px}.agenda-leyenda-item{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--ink);margin-bottom:6px}.agenda-leyenda-cuadro{width:14px;height:14px;border-radius:4px;flex-shrink:0}.agenda-leyenda-punto{width:10px;height:10px;border-radius:50%;flex-shrink:0}@media (max-width:900px){.agenda-layout{flex-direction:column}.agenda-leyenda{width:100%;flex-direction:row;flex-wrap:wrap;gap:24px}}.agenda-grid{display:grid;min-width:760px}.agenda-cell{border-bottom:1px solid var(--cream-alt);border-right:1px solid var(--cream-alt);display:flex;align-items:center;justify-content:center;padding:4px;font-size:.78rem;text-align:center}.agenda-corner{background:var(--white);border-top:none}.agenda-dia-header{flex-direction:column;gap:2px;background:var(--cream-alt);color:var(--teal);font-weight:700;padding:10px 4px;text-transform:uppercase;letter-spacing:.3px}.agenda-fecha{font-size:.72rem;font-weight:500;color:var(--muted);text-transform:none}.agenda-hora{color:var(--muted);font-weight:600;background:var(--cream-alt)}.agenda-slot{border:none;border-bottom:1px solid var(--cream-alt);border-right:1px solid var(--cream-alt);background:var(--white);min-height:34px;cursor:pointer;font-size:.75rem;padding:2px 4px;font-family:inherit}.agenda-slot-libre:hover{background:var(--cream-alt)}.agenda-slot-ocupado{color:var(--white);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:5px}.agenda-slot-ocupado:hover{filter:brightness(.9)}.agenda-slot-cerrado{cursor:default;background:repeating-linear-gradient(45deg,#eef1f5,#eef1f5 4px,#e4e8ee 0,#e4e8ee 8px)}.agenda-fuera-lista{margin-top:6px;display:flex;flex-direction:column;gap:4px}.agenda-slot-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 1px rgba(255,255,255,.7)}.agenda-resultados{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow-y:auto;margin-top:10px}.agenda-resultado-item{text-align:left;background:var(--cream-alt);border:none;border-radius:10px;padding:10px 14px;cursor:pointer;font-size:.9rem;font-family:inherit;color:var(--ink)}.agenda-resultado-item:hover{background:var(--coral);color:var(--white)}.consulta-paciente-card{background:var(--cream-alt);border-radius:12px;padding:14px 18px;margin-bottom:6px}.consulta-paciente-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.consulta-paciente-top strong{font-size:.95rem;color:var(--ink)}.consulta-paciente-top p{margin:4px 0 0;font-size:.82rem;color:var(--muted)}.consulta-triaje-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:10px;padding-top:10px;border-top:1px solid rgba(27,58,92,.15);font-size:.85rem;color:var(--ink)}.consulta-triaje-icono{margin-right:2px}.consulta-triaje-fecha{margin-left:auto;color:var(--muted);font-size:.8rem}.form-field-corto{max-width:140px}.constancia-checkbox{display:flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem;color:var(--ink);margin:4px 0 18px}.constancia-checkbox input{width:18px;height:18px;accent-color:var(--teal)}.ficha-header{margin-bottom:24px}.ficha-header-top{justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.ficha-header-top,.ficha-identidad{display:flex;align-items:center;gap:16px}.ficha-avatar{width:56px;height:56px;border-radius:50%;background:var(--cream-alt);display:flex;align-items:center;justify-content:center;font-size:1.8rem;flex-shrink:0}.ficha-identidad h1{color:var(--teal);font-size:1.4rem;margin:0 0 8px}.ficha-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{background:var(--cream-alt);color:var(--teal);font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:999px}.btn-triaje{background:#e08c1f;color:var(--white);border:none;border-radius:999px;padding:11px 22px;font-weight:600;font-size:.95rem;cursor:pointer}.btn-triaje:hover{background:#c67815}.btn-reevaluacion{background:#7c4dcc;color:var(--white);cursor:pointer}.btn-reevaluacion:hover{background:#6a3db8}.tabs-nav{display:flex;gap:4px;border-bottom:2px solid var(--cream-alt)}.tab-item{padding:10px 18px;font-weight:600;font-size:.92rem;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px}.tab-activo,.tab-item:hover{color:var(--teal)}.tab-activo{border-bottom-color:var(--coral)}.tab-panel{margin-top:22px}.tab-panel-actions{margin-bottom:18px;justify-content:flex-end}.consulta-cards{gap:18px}.consulta-card,.consulta-cards{display:flex;flex-direction:column}.consulta-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 26px;gap:6px}.consulta-card>p{margin:0;line-height:1.45}.consulta-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:6px}.consulta-card-fecha{font-weight:700;color:var(--teal)}.consulta-card-doctor{display:block;font-size:.8rem;color:var(--muted)}.consulta-card-acciones{display:flex;gap:14px;flex-wrap:wrap}.icon-link{font-size:.82rem;color:var(--teal);font-weight:600;white-space:nowrap;background:none;border:none;padding:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:5px}.icono{flex-shrink:0}.icon-link:hover{text-decoration:underline}.consulta-card-diagnosticos{display:flex;flex-direction:column;gap:2px;margin:6px 0}.diagnostico-linea{display:flex;align-items:baseline;gap:8px}.diagnostico-nombre{font-weight:700;color:var(--ink)}.diagnostico-cie10{font-size:.78rem;color:var(--muted)}.consulta-card-tabla{margin-top:8px;box-shadow:none;border:1px solid var(--cream-alt)}.text-muted{color:var(--muted);font-size:.85rem}.diagnosticos-editor{display:flex;flex-direction:column;gap:8px}.diagnostico-row{display:grid;grid-template-columns:2fr 1fr auto;grid-gap:8px;gap:8px;align-items:center}.diagnostico-row-header{font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.3px}.diagnostico-row input{padding:9px 10px;border:1px solid #dde4e2;border-radius:8px;font-size:.9rem}.imprimir-page{--doc-linea:#e2e7ee;--doc-texto:#1f2a37;--doc-tenue:#5f6b7a;--doc-acento:#2563a8;background:#f2f2f2;min-height:100vh;padding:32px 16px;display:flex;justify-content:center;align-items:flex-start;font-family:var(--font-doc-texto),"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--doc-texto)}.doc-serif{font-family:var(--font-doc-titulo),Georgia,"Times New Roman",serif}.doc-tenue{color:var(--doc-tenue)}.doc-imprimible{background:var(--white);width:100%;max-width:740px;padding:34px 34px 30px;border:1px solid var(--doc-linea);border-radius:18px;font-size:.88rem;line-height:1.45}.doc-imprimible p{margin:0}.doc-header{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:14px;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--doc-linea)}.doc-header-doctor h1{color:var(--teal);font-size:1.12rem;font-weight:700;line-height:1.2;margin:0 0 4px}.doc-header-centro p,.doc-header-doctor p{font-size:.8rem;color:var(--doc-tenue);line-height:1.55}.doc-logo{width:88px;height:88px;object-fit:contain;justify-self:center}.doc-header-centro{text-align:right}.doc-header-centro .doc-titulo-documento{color:var(--doc-acento);font-size:1.1rem;font-weight:700;line-height:1.2;margin-bottom:4px}.doc-header-centro .doc-centro-nombre,.doc-header-centro .doc-titulo-documento{white-space:nowrap}.doc-header-centro .doc-centro-nombre{color:var(--teal);font-size:1.05rem;font-weight:700;line-height:1.2;margin-bottom:4px}.doc-header-centro .doc-centro-chico{color:var(--teal);font-weight:600}.doc-pac-fecha{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;font-size:.86rem}.doc-fecha-hora{text-align:right;white-space:nowrap}.doc-stats-row{display:flex;gap:12px;margin-bottom:16px}.doc-stat{flex:1 1;min-width:0;background:var(--cream-alt);border-radius:8px;padding:8px 10px;text-align:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-stat span{display:block;font-size:.72rem;font-weight:600;color:var(--teal);letter-spacing:.3px}.doc-stat strong{font-size:1.05rem;color:var(--doc-texto)}.doc-dx-lista{margin:4px 0 14px}.doc-dx-linea{font-size:.86rem}.doc-tabla-marco{border:1px solid var(--doc-linea);border-radius:12px;overflow:hidden;margin:6px 0 12px;page-break-inside:avoid;break-inside:avoid}.doc-tabla{width:100%;border-collapse:collapse}.doc-tabla th{background:var(--cream-alt);color:var(--teal);font-size:.78rem;font-weight:600;text-align:left;padding:10px;line-height:1.25;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc-tabla td{padding:12px 10px;font-size:.84rem;vertical-align:middle;border-top:1px solid var(--doc-linea)}.doc-tabla tbody tr:first-child td{border-top:none}.doc-generico{display:block;text-transform:uppercase}.doc-generico,.doc-nota-dosis{font-size:.72rem;color:var(--doc-tenue)}.doc-nota-dosis{text-align:center;margin-top:4px!important}.doc-nota-barra{display:inline-block;width:1px;height:.9em;background:var(--doc-linea);margin:0 8px;vertical-align:middle}.doc-examenes{border:1px solid var(--doc-linea);border-radius:12px;padding:16px 20px;margin:6px 0 12px;page-break-inside:avoid;break-inside:avoid}.doc-examenes-titulo{color:var(--teal);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px!important}.doc-examenes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 28px;gap:12px 28px}.doc-examenes-grupo{page-break-inside:avoid;break-inside:avoid}.doc-examenes-categoria{font-weight:700;font-size:.76rem;text-transform:uppercase;color:var(--teal);margin-bottom:2px!important}.doc-examenes ul{list-style:disc;margin:0 0 0 16px;padding:0;font-size:.82rem}.doc-examenes li{margin:1px 0}.doc-cuerpo p{margin:5px 0}.doc-seccion{color:var(--teal);font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin:12px 0 4px!important}.doc-constancia-texto p{line-height:1.8;margin:16px 0;font-size:.95rem}.doc-firma{margin-top:8px;page-break-inside:avoid;break-inside:avoid}.doc-separador{border:none;border-top:1px solid var(--doc-linea);margin:0 0 64px}.doc-pie{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.doc-pie-notas p{font-size:.78rem;color:var(--doc-tenue);line-height:1.7}.doc-linea-escribir{display:inline-block;width:170px;border-bottom:1px solid var(--doc-tenue);vertical-align:bottom}.doc-firma-caja{min-width:220px;border:1px solid var(--doc-texto,var(--ink));border-radius:4px;padding:8px 18px;text-align:center}.doc-firma-caja p{margin:0;font-size:.78rem;line-height:1.45;color:var(--doc-tenue,var(--muted))}.doc-firma-caja .doc-firma-nombre{font-weight:700;font-size:.8rem;color:var(--doc-texto,var(--ink))}.no-imprimir{margin-bottom:24px}.doc-compacto .doc-header{padding-bottom:12px;margin-bottom:12px}.doc-compacto .doc-cuerpo p{margin:3px 0}.doc-compacto .doc-stats-row{margin-bottom:10px}.doc-compacto .doc-tabla td{padding-top:8px;padding-bottom:8px}.doc-compacto .doc-separador{margin-bottom:28px}.doc-compacto .doc-stat{padding:5px 10px}.doc-compacto .doc-logo{width:76px;height:76px}.doc-compacto .doc-examenes{padding:10px 16px;margin:4px 0 8px}.doc-compacto .doc-examenes-titulo{font-size:.95rem;margin-bottom:4px!important}.doc-compacto .doc-examenes-grid{gap:6px 28px}.doc-compacto .doc-seccion{margin:8px 0 2px!important}.doc-compacto .doc-tabla-marco{margin:4px 0 6px}.doc-imprimible .empty-state{background:none;box-shadow:none;padding:8px 0;text-align:left}@media (max-width:640px){.imprimir-page{padding:16px 10px}.doc-imprimible{padding:22px 18px}.doc-header{grid-template-columns:1fr;gap:10px}.doc-header-centro{text-align:left}.doc-logo{justify-self:start}.doc-pac-fecha,.doc-pie{flex-direction:column;align-items:flex-start;gap:4px}.doc-fecha-hora{text-align:left}.doc-stats-row{flex-wrap:wrap}.doc-stat{min-width:42%}.doc-examenes-grid{grid-template-columns:1fr}}@media print{body{background:var(--white)}.no-imprimir{display:none}.imprimir-page{background:var(--white);padding:0}.doc-imprimible{max-width:none}}.lab-doc{position:relative;overflow:hidden;font-size:.82rem}.doc-imprimible.lab-doc{border:none;border-radius:0;padding:8px 4px;line-height:1.5}.lab-doc>:not(.lab-marca-agua):not(.lab-marca-borrador){position:relative;z-index:1}.lab-marca-agua{top:50%;transform:translate(-50%,-50%);width:62%;opacity:.07;z-index:0}.lab-marca-agua,.lab-marca-borrador{position:absolute;left:50%;pointer-events:none}.lab-marca-borrador{top:45%;transform:translate(-50%,-50%) rotate(-30deg);font-size:3rem;font-weight:800;color:rgba(192,57,43,.18);white-space:nowrap;z-index:2}@media print{.lab-marca-agua,.lab-marca-borrador{position:fixed}}.lab-header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;border-bottom:2px solid var(--teal)}.lab-logo{width:110px;height:110px;object-fit:contain}.lab-header-derecha{text-align:right}.lab-header-derecha p{margin:2px 0}.lab-servicio{font-size:.9rem;color:var(--teal);border-bottom:2px solid var(--teal);padding-bottom:4px}.lab-codigo{font-family:Courier New,monospace;font-size:1.35rem;font-weight:700;letter-spacing:4px;color:var(--ink)}.lab-datos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px 16px;gap:4px 16px;padding:12px 0;border-bottom:2px solid var(--teal)}.lab-datos span{font-weight:700;display:inline-block;min-width:70px}.lab-datos-ancho{grid-column:span 2}.lab-bloque{margin-top:10px}.lab-franja{background:var(--teal);color:var(--white);text-align:center;font-weight:700;font-size:.75rem;letter-spacing:1px;padding:3px 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.lab-tabla{width:100%;border-collapse:collapse}.lab-tabla th{font-weight:500;text-align:left;padding:5px 6px;border-bottom:2px solid var(--teal)}.lab-tabla td{padding:4px 6px;vertical-align:top}.lab-tabla td:first-child,.lab-tabla th:first-child{width:42%}.lab-examen{page-break-inside:avoid;break-inside:avoid}.lab-examen-nombre{font-weight:700;padding-top:12px!important}.lab-subtitulo{font-weight:700;padding-top:8px!important}.lab-observaciones{margin-top:16px}.lab-firma{margin-top:48px;page-break-inside:avoid;break-inside:avoid;display:flex;justify-content:flex-end}.lab-firma .doc-firma-caja{text-align:center}.lab-firma-fecha{font-size:.72rem!important;color:var(--muted)}.lab-pie{margin-top:40px;padding-top:8px;border-top:2px solid var(--teal);font-size:.7rem;color:var(--muted)}.lab-pie p{margin:2px 0}.tabla-editor-lab input,.tabla-editor-lab select{width:100%;min-width:90px;padding:6px 8px;border:1px solid #d3dce7;border-radius:8px;font-family:inherit}.fila-titulo-lab td{background:var(--cream)}.examen-lab-card{margin-top:16px}.lab-resumen{margin-top:10px}.input-filtro-lab{width:100%;max-width:320px;padding:7px 10px;border:1px solid #d3dce7;border-radius:8px;margin-bottom:10px}.tab-contador{display:inline-block;margin-left:6px;background:#e08c1f;color:var(--white);border-radius:999px;font-size:.7rem;padding:0 7px}@media (max-width:640px){.lab-datos{grid-template-columns:1fr}.lab-datos-ancho{grid-column:auto}}.farmacia-nav{margin-bottom:22px}.farmacia-alertas{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}.farmacia-alerta{padding:8px 14px;border-radius:10px;font-size:.85rem;font-weight:600}.farmacia-alerta-roja{background:#fbe4e1;color:#9b2c1f}.farmacia-alerta-amarilla{background:#fdf0d8;color:#8a5a00}.farmacia-filtros{margin:-8px 0 16px;font-size:.85rem}.farmacia-badges{display:flex;flex-wrap:wrap;gap:4px}.estado-pill-mini{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.estado-pill-mini.amarillo{background:#fdf0d8;color:#8a5a00}.estado-pill-mini.rojo{background:#fbe4e1;color:#9b2c1f}.estado-pill-mini.verde{background:#e3f1e8;color:#1f6b3a}.estado-pill-mini.gris{background:#eceff3;color:var(--muted)}.venc-por-vencer{color:#8a5a00;font-weight:600}.cantidad-negativa{color:var(--danger);font-weight:600}.cantidad-positiva{color:#1f6b3a;font-weight:600}.recetas-lista{display:flex;flex-direction:column;gap:10px}.receta-opcion{border:1px solid #d3dce7;border-radius:10px;padding:12px 14px}.receta-opcion.activa{border-color:var(--teal);background:var(--cream)}.receta-opcion-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.receta-opcion ul{list-style:disc;padding-left:20px;margin-top:6px;font-size:.88rem}.input-cantidad{width:70px;padding:6px 8px;border:1px solid #d3dce7;border-radius:8px}.despacho-pie{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--cream-alt);padding-top:16px}.despacho-total-grande{font-size:1.4rem;color:var(--teal)}.despacho-listo h2{color:var(--teal);margin:0}.agenda-resultado-item:disabled{opacity:.55;cursor:not-allowed}.reporte-mes-form{display:flex;gap:8px;align-items:center}.reporte-mes-form input{padding:7px 10px;border:1px solid #d3dce7;border-radius:8px;font-family:inherit}.form-field-full{grid-column:1/-1}.check-receta{margin:0}.pill-rx{display:inline-block;padding:1px 7px;border-radius:999px;font-size:.7rem;font-weight:700;background:#e6edf7;color:var(--teal);white-space:nowrap}.toggle-receta{display:inline-flex;align-items:center;gap:6px;cursor:pointer}.toggle-receta input{width:17px;height:17px;accent-color:var(--teal)}.venta-subtitulo{margin:0 0 10px;font-size:1rem;color:var(--teal)}.venta-receta-externa{border-left:4px solid #e08c1f}.venta-opciones{display:flex;flex-wrap:wrap;gap:8px}.venta-opcion{padding:8px 16px;border:1px solid #d3dce7;border-radius:999px;background:var(--white);font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.venta-opcion.activa{background:var(--teal);border-color:var(--teal);color:var(--white)}.venta-opcion:disabled{opacity:.45;cursor:not-allowed}.venta-doc{display:flex;gap:8px}.venta-doc select{flex:0 0 auto;width:auto}.venta-doc input{flex:1 1;min-width:0}.venta-efectivo{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-top:12px}.venta-efectivo .form-field{max-width:260px}.venta-descuento{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:14px}.venta-descuento .form-field{max-width:160px;margin:0}.venta-descuento input.input-alerta{border-color:var(--danger)}.venta-descuento-resumen{display:grid;grid-template-columns:auto auto;grid-gap:2px 18px;gap:2px 18px;margin:0;font-size:.9rem}.venta-descuento-resumen dd{margin:0;text-align:right}.venta-vuelto{font-size:1.15rem;font-weight:700;color:#1f6b3a;margin:0 0 10px}.caja-resumen{margin-bottom:18px}.caja-tarjetas{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.caja-tarjeta{display:flex;flex-direction:column;gap:2px;min-width:130px;padding:10px 14px;border:1px solid #d3dce7;border-radius:10px;background:var(--white);font-size:.85rem}.caja-tarjeta strong{font-size:1.15rem;color:var(--teal)}.caja-tarjeta-total{background:var(--cream);border-color:var(--teal)}.caja-tarjeta-etiqueta{font-weight:600}.registro-ventas{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:18px}.registro-ventas input{padding:6px 10px;border:1px solid #d3dce7;border-radius:8px;font-family:inherit}.datos-facturacion{display:grid;grid-template-columns:max-content minmax(0,1fr);grid-gap:6px 18px;gap:6px 18px;margin:0}.datos-facturacion dt{font-weight:600}.datos-facturacion dd{margin:0}.tabla-compra input{width:100%;min-width:96px;padding:6px 8px;border:1px solid #d3dce7;border-radius:8px;font-family:inherit;font-size:.85rem}.tabla-compra input.input-num{min-width:70px;max-width:90px}.tabla-compra input[type=date]{min-width:130px}.tabla-compra input.input-alerta{border-color:var(--danger)}.tabla-compra-producto{min-width:180px}.tabla-compra-nota{display:block;font-size:.72rem}.compra-totales{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:24px;gap:24px;align-items:start}.compra-resumen{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:6px 16px;gap:6px 16px;margin:0;padding:14px 16px;border:1px solid #d3dce7;border-radius:10px;background:var(--cream)}.compra-resumen dd{margin:0;text-align:right}.compra-resumen-total{font-weight:700;font-size:1.1rem;color:var(--teal);border-top:1px solid #d3dce7;padding-top:6px}.compra-resumen-detalle{max-width:340px;margin:18px 0 0 auto}.compra-datos p{margin:4px 0}@media (max-width:760px){.compra-totales{grid-template-columns:1fr}}.completar-barra{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px}.completar-buscar{flex:1 1;min-width:220px;max-width:420px;padding:8px 12px;border:1px solid #d3dce7;border-radius:10px;font-family:inherit}.tabla-compra input.input-falta{border-color:#e0a84a;background:#fffaf0}.fila-cambiada td{background:#eef5ff}.completar-copiar{display:block;margin-top:4px;font-size:.75rem}.completar-guardar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-top:14px;padding:12px 0;background:var(--cream)}.reportes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:18px;gap:18px}.reporte-tarjeta .venta-subtitulo{font-size:1.05rem}.reporte-cifra{font-size:1.3rem;font-weight:700;color:var(--teal);margin:0 0 12px}.reporte-cifra .text-muted{font-size:.85rem;font-weight:400}.reporte-acciones{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-top:1px solid #e2e7ee}.reporte-acciones .info-label{flex:1 1 100%;margin:0}.sunat-conexion{margin-top:22px;padding-top:18px;border-top:1px solid #d3dce7}.sunat-resumen p{margin:4px 0}.sunat-form{margin-top:12px}.sunat-ruc{display:inline-flex;align-items:center;padding:0 10px;border:1px solid #d3dce7;border-radius:10px;background:var(--cream);font-weight:600;white-space:nowrap}.ticket{width:302px;box-sizing:border-box;padding:12px 12px 14px;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:11px;font-weight:500;line-height:1.35}.ticket p{margin:1px 0}.ticket .btn{margin-bottom:10px;font-size:.8rem}.ticket-logo{width:190px;height:auto;margin:0 auto 4px;display:block}.ticket-centro{font-weight:700;font-size:15px;margin:4px 0!important}.ticket-linea{border-top:1px solid #000;margin:6px 0}.ticket-ruc{font-weight:700;font-size:14px}.ticket-tipo{text-transform:uppercase}.ticket-numero,.ticket-tipo{font-weight:700;font-size:12px}.ticket-anulado{font-weight:700;font-size:15px;letter-spacing:2px;border:2px solid #000;margin:4px 30px!important}.ticket-centrado{text-align:center}.ticket-fila{display:flex;justify-content:space-between;margin-top:6px}.ticket-cliente{font-weight:700}.ticket-derecha{text-align:right;font-weight:600}.ticket-cabecera,.ticket-item-numeros{display:grid;grid-template-columns:minmax(0,1fr) 34px 52px 52px 52px;grid-gap:2px;gap:2px}.ticket-cabecera{border-top:1px solid #000;border-bottom:1px solid #000;margin-top:4px;padding:3px 0}.ticket-cabecera span:nth-child(n+4),.ticket-item-numeros span:nth-child(n+4){text-align:right}.ticket-item{border-bottom:1px solid #000;padding:3px 0}.ticket-item-nombre{font-weight:600}.ticket-item-numeros span:nth-child(2){text-align:center}.ticket-totales{margin:3px 0 0 70px}.ticket-monto{display:grid;grid-template-columns:minmax(0,1fr) 24px 64px}.ticket-monto span:last-child{text-align:right}.ticket-total{font-weight:700}.ticket-letras{border-top:1px solid #000;border-bottom:1px solid #000;padding:4px 0;margin-top:4px!important;font-weight:600}.ticket-pago{margin:6px 0 0 110px}.ticket-pago-caja{border:1px solid #000;padding:2px 4px;margin-top:3px}.ticket-vendedor{margin:6px 0 0 110px}.ticket-vendedor span{display:inline-block;width:62px}.ticket-leyenda{margin-top:6px!important}.ticket-nota{font-size:10px;margin-top:4px!important}.ticket-url{word-break:break-all}.ticket-soft{text-align:right;font-style:italic;font-weight:700;margin-top:4px!important}.autocompletar{position:relative}.autocompletar input{width:100%}.autocompletar-lista{position:absolute;top:calc(100% + 4px);left:0;z-index:30;min-width:420px;max-width:90vw;background:var(--white);border-radius:10px;box-shadow:0 10px 30px rgba(27,58,92,.22);padding:4px;display:flex;flex-direction:column;max-height:320px;overflow-y:auto}.autocompletar-titulo{margin:4px 8px 6px;font-size:.75rem;color:var(--muted)}.autocompletar-item{text-align:left;background:none;border:none;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.85rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.autocompletar-principal{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:baseline;min-width:0}.autocompletar-venc{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0;font-size:.75rem;color:var(--muted);line-height:1.3;text-align:right}.autocompletar-venc strong{color:var(--ink);font-size:.8rem}.autocompletar-venc.por-vencer{background:#fdf0d8;color:#8a5a00;border-radius:8px;padding:3px 8px}.autocompletar-venc.por-vencer strong{color:#8a5a00}.autocompletar-venc-dias{font-size:.7rem}.autocompletar-item.resaltado,.autocompletar-item:hover{background:var(--cream-alt)}.autocompletar-stock{width:100%;font-size:.75rem;color:#1f6b3a}.autocompletar-stock.sin-stock{color:var(--muted)}