@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Inter:wght@400;500;600;700&display=swap";:root{--bg:#F3F5F8;--card:#FFFFFF;--border:#E6E9EE;--border-strong:#C4CBD3;--ink:#16232B;--muted:#6C7A84;--retablo-terracota:#8B3A2E;--retablo-oro:#C9A227;--retablo-turquesa:#1F7A78;--navy:#152A34;--navy-soft:#1E3E4C;--navy-2:#0F1F27;--coral:#E2694F;--coral-soft:#FBE2DA;--coral-dark:#C9563E;--sage:#4F9074;--sage-soft:#DFF0E7;--amber:#CC9A34;--amber-soft:#FBF0D6;--danger:#C4453A;--danger-soft:#FBE1DE;--shadow-sm: 0 1px 2px rgba(16,32,40,.06);--shadow-md: 0 6px 20px rgba(16,32,40,.08);--shadow-lg: 0 16px 40px rgba(16,32,40,.14);--radius: 14px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Inter,sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}h1,h2,h3,h4{font-family:Sora,sans-serif;margin:0;letter-spacing:-.01em;color:var(--ink)}h1{font-size:24px;font-weight:800}h2{font-size:20px;font-weight:800}h3{font-size:15px;font-weight:700}h4{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}p{margin:0 0 8px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d3d9e0;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#b9c2cb}.app{display:flex;min-height:100vh}.sb{width:222px;background:linear-gradient(185deg,var(--navy) 0%,var(--navy-2) 100%);color:#eaf1f2;padding:24px 14px;flex-shrink:0;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.sb-logo{font-family:Sora,sans-serif;font-weight:800;font-size:18px;margin-bottom:30px;display:flex;align-items:center;gap:9px;padding-left:6px;letter-spacing:-.02em}.sb-nav{display:flex;flex-direction:column;gap:2px}.sb-nav a{display:flex;align-items:center;gap:10px;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:13.5px;font-weight:600;color:#aec0c7;transition:background .15s ease,color .15s ease,transform .1s ease}.sb-nav a:hover{background:#ffffff0f;color:#fff}.sb-nav a.active{background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;box-shadow:var(--shadow-sm)}.sb-nav a:before{content:attr(data-icon);font-size:15px;line-height:1;width:18px;text-align:center}.logo-lockup{display:flex;align-items:center;gap:9px;font-family:Sora;font-weight:700;line-height:1}.logo-word{font-size:inherit}.logo-word-accent{color:var(--retablo-terracota)}.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 28px;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--retablo-terracota),var(--retablo-oro),var(--retablo-turquesa)) 1;background:#fff url(/topbar-greca-tile.svg) repeat left center;background-size:72px 64px;position:sticky;top:0;z-index:50}.topbar-brand{display:flex;align-items:center;gap:8px;color:#34505a;font-size:14px;font-weight:700;background:#fffffff0;padding:7px 16px;border-radius:999px;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.topbar-brand b{color:var(--ink);font-family:Sora;font-weight:800}.topbar-brand svg{flex-shrink:0}.topbar-user-chip{padding:0}.main{flex:1;padding:28px 32px 48px;max-width:1400px}.top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px;gap:16px;flex-wrap:wrap}.top h2{font-size:23px;font-weight:800}.top p{margin:5px 0 0;color:var(--muted);font-size:13px}.tab-link{display:flex;align-items:center;gap:6px;text-decoration:none;padding:8px 14px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--muted);transition:background .15s ease,color .15s ease}.tab-link:hover{background:var(--bg);color:var(--ink)}.tab-link.active{background:var(--coral-soft);color:var(--coral-dark)}.btn{all:unset;box-sizing:border-box;background:linear-gradient(135deg,var(--coral),var(--coral-dark));color:#fff;font-weight:700;font-size:13px;padding:10px 18px;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #e2694f59;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #e2694f66}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-ghost{all:unset;box-sizing:border-box;border:1px solid var(--border);background:#fff;color:var(--ink);font-weight:600;font-size:13px;padding:9px 15px;border-radius:10px;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .1s ease}.btn-ghost:hover{border-color:#c9d1d8;background:#fafbfc;transform:translateY(-1px)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-danger{all:unset;box-sizing:border-box;background:linear-gradient(135deg,var(--danger),#A23A31);color:#fff;font-weight:700;font-size:13px;padding:10px 18px;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #c4453a4d;transition:transform .12s ease,box-shadow .12s ease}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 16px #c4453a61}.btn-danger:active{transform:translateY(0) scale(.98)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-success{all:unset;box-sizing:border-box;background:linear-gradient(135deg,#16a34a,#15803d);color:#fff;font-weight:700;font-size:13px;padding:10px 18px;border-radius:10px;cursor:pointer;box-shadow:0 2px 8px #16a34a4d;transition:transform .12s ease,box-shadow .12s ease}.btn-success:hover{transform:translateY(-1px);box-shadow:0 6px 16px #16a34a61}.btn-success:active{transform:translateY(0) scale(.98)}.btn-success:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}.btn-icon{all:unset;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;cursor:pointer;color:var(--muted);transition:background .12s ease,color .12s ease}.btn-icon:hover{background:var(--bg);color:var(--ink)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:16px}.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}.stat:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--coral),var(--sage));opacity:0;transition:opacity .15s ease}a .stat:hover,.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}a .stat:hover:before{opacity:1}.stat .n{font-family:Sora;font-size:26px;font-weight:800;letter-spacing:-.02em}.stat .l{font-size:12.5px;color:var(--muted);margin-top:3px;font-weight:500}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;border-bottom:2px solid var(--border)}td{padding:11px 12px;border-bottom:1px solid var(--border)}tbody tr{transition:background .1s ease}tbody tr:hover{background:#fafbfd}tbody tr:nth-child(2n){background:#f3f5f866}tbody tr:nth-child(2n):hover{background:#fafbfd}.pill{padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.01em}.pill.Confirmada,.pill.Atendida,.pill.Completado{background:var(--sage-soft);color:var(--sage)}.pill.Pendiente{background:var(--amber-soft);color:var(--amber)}.pill.Cancelada,.pill.NoAsistio,.pill.Cancelado{background:var(--danger-soft);color:var(--danger)}.pill-rol{padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.02em;display:inline-block}.pill-rol.Admin{background:var(--navy-soft);color:#eaf1f2}.pill-rol.Dentista{background:var(--sage-soft);color:var(--sage)}.pill-rol.Recepcion{background:var(--amber-soft);color:var(--amber)}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--coral-soft)}.empty-state{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px;border:1.5px dashed var(--border);border-radius:var(--radius)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a141980;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .15s ease}.overlay-confirm{z-index:200}.modal{background:#fff;border-radius:18px;width:520px;max-height:86vh;overflow:auto;padding:26px 28px;box-shadow:var(--shadow-lg);animation:slideUp .18s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.field{margin-bottom:13px}.field label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:5px}input:not([type=checkbox]):not([type=radio]),select,textarea{padding:10px 12px;border:1.5px solid var(--border-strong);border-radius:10px;font-size:13px;font-family:Inter;background:#fcfdfd;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}.field input,.field select,textarea{width:100%}.field input:focus,.field select:focus,textarea:focus,input:focus,select:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px #e2694f1f}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:6px}::selection{background:var(--coral-soft);color:var(--coral-dark)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.error{color:var(--danger);font-size:12.5px;margin-top:8px;font-weight:500}.toast-stack{position:fixed;left:50%;bottom:22px;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:9px;padding:12px 20px;border-radius:12px;font-size:13.5px;font-weight:600;color:#fff;box-shadow:var(--shadow-lg);animation:toastIn .22s ease;white-space:nowrap}.toast-exito{background:linear-gradient(135deg,var(--sage),#3D7860)}.toast-error{background:linear-gradient(135deg,var(--danger),#A23A31)}.toast-info{background:linear-gradient(135deg,var(--navy-soft),var(--navy-2))}.toast-icono{font-size:13px}@keyframes toastIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#1E3E4C 0%,var(--navy-2) 55%,#0A161C 100%);position:relative;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.login-bg-slide{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;transition:opacity 1.4s ease}.login-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a161c73}.login-card{position:relative;z-index:1;background:#fff;border-radius:20px;padding:38px 34px;width:360px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.08)}.agenda-scroll{max-height:min(620px,70vh);overflow-y:auto;overflow-x:auto;border-radius:12px}.agenda-thead-sticky th{position:sticky;top:0;z-index:2;background:#fff}.agenda-thead-sticky .agenda-head-horario{background:#fff}.agenda-row-actual .agenda-hora{color:var(--coral-dark)}.agenda-row-actual .agenda-cell.empty{border-color:var(--coral)}.agenda-table{border-collapse:separate;border-spacing:6px;width:100%}.agenda-table th,.agenda-table td{border:none;padding:0}.agenda-head{text-align:left;padding:8px 10px!important;border-radius:10px;background:#f7f8fa;color:var(--muted)}.agenda-head-horario{background:transparent}.agenda-head.today{background:linear-gradient(135deg,var(--coral-soft),#FCEBE5)}.agenda-head-dia{display:block;font-family:Sora;font-weight:700;font-size:12.5px;color:var(--ink);letter-spacing:-.01em}.agenda-head.today .agenda-head-dia{color:var(--coral-dark)}.agenda-head-fecha{display:block;font-size:11px;color:var(--muted);font-weight:500;margin-top:1px}.agenda-head-tag{display:inline-block;margin-top:4px;font-size:9.5px;font-weight:700;letter-spacing:.03em;background:var(--coral);color:#fff;padding:1px 7px;border-radius:20px}.agenda-hora{font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap;vertical-align:top;padding:8px 10px 0 2px!important}.agenda-cell{min-width:118px;vertical-align:top;border-radius:12px;transition:background .12s ease,border-color .12s ease}.agenda-cell.empty{border:1.5px dashed var(--border);cursor:pointer}.agenda-cell.empty:hover{border-color:var(--coral);background:var(--coral-soft)}.agenda-cell.empty.today{border-color:#e3b3a6}.agenda-cell.busy{background:transparent}.agenda-cell-add{display:flex;align-items:center;justify-content:center;height:42px;font-size:16px;color:var(--border);font-weight:700}.agenda-cell.empty:hover .agenda-cell-add{color:var(--coral)}.agenda-appt{border-radius:12px;padding:9px 10px;height:100%;box-shadow:var(--shadow-sm);border-left:4px solid var(--muted);background:#fff;display:flex;flex-direction:column;gap:2px}.agenda-appt-nombre{font-family:Sora;font-weight:700;font-size:12px;color:var(--ink);line-height:1.25}.agenda-appt-dentista{font-size:10.5px;color:var(--muted);font-weight:500}.agenda-appt-celular{display:block;font-size:10px;color:var(--coral-dark);font-weight:600;text-decoration:none;margin-top:2px}.agenda-appt-celular:hover{text-decoration:underline}.agenda-appt-footer{display:flex;align-items:center;gap:5px;margin-top:6px}.agenda-appt-select{flex:1;font-size:10.5px;font-weight:700;padding:3px 5px;border-radius:7px;border:1.5px solid var(--border-strong);background:#fff;color:var(--ink);cursor:pointer}.agenda-appt-reprogramar{all:unset;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:1.5px solid var(--border-strong);color:var(--muted);cursor:pointer;font-size:11px;transition:background .12s ease,color .12s ease,border-color .12s ease}.agenda-appt-reprogramar:hover{background:var(--navy-soft);color:#fff;border-color:var(--navy-soft)}.agenda-appt.estado-Pendiente{background:var(--amber-soft);border-left-color:var(--amber)}.agenda-appt-select.estado-Pendiente{border-color:var(--amber)}.agenda-appt.estado-Confirmada{background:var(--sage-soft);border-left-color:var(--sage)}.agenda-appt-select.estado-Confirmada{border-color:var(--sage)}.agenda-appt.estado-Atendida{background:var(--sage-soft);border-left-color:var(--navy-soft)}.agenda-appt-select.estado-Atendida{border-color:var(--navy-soft)}.agenda-appt.estado-Cancelada{background:var(--danger-soft);border-left-color:var(--danger);opacity:.75}.agenda-appt-select.estado-Cancelada{border-color:var(--danger)}.agenda-appt.estado-NoAsistio{background:var(--danger-soft);border-left-color:var(--danger)}.agenda-appt-select.estado-NoAsistio{border-color:var(--danger)}.agenda-appt.estado-Vencida{background:#eef0f2;border-left-color:#9aa5ac}.agenda-appt-select.estado-Vencida{border-color:#9aa5ac}.agenda-appt.dim{opacity:.32;filter:grayscale(.5)}.agenda-appt.resaltada{box-shadow:0 0 0 2.5px var(--coral),var(--shadow-sm)}.suggest-list{margin-top:6px;border:1.5px solid var(--border-strong);border-radius:8px;overflow:hidden}.suggest-item{all:unset;display:block;width:100%;box-sizing:border-box;padding:8px 12px;font-size:13px;cursor:pointer;border-top:1px solid var(--border);transition:background .1s ease}.suggest-item:first-child{border-top:none}.suggest-item:hover{background:var(--coral-soft)}.suggest-item:disabled{cursor:default;opacity:.6}.option-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid var(--border)}.option-row:first-child{border-top:none}.confirm-danger-box{margin-top:10px;padding:12px;background:var(--danger-soft);border-radius:8px}.confirm-danger-box p{font-size:12.5px;margin-bottom:8px}.confirm-danger-box .actions{display:flex;gap:8px}.avatar-circle{border-radius:50%;background:var(--coral-soft);color:var(--coral);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.dropdown-menu{position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #16232b24;min-width:230px;z-index:20;overflow:hidden}.dropdown-menu-header{padding:14px 16px;background:var(--bg);display:flex;align-items:center;gap:10px}.dropdown-menu-divider{border-top:1px solid var(--border);margin:4px 0}.tooth{width:32px;height:40px;border-radius:8px;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;background:#fff;transition:transform .1s ease,box-shadow .1s ease}.tooth:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.arch{display:flex;justify-content:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-hamburguesa{all:unset;box-sizing:border-box;width:40px;height:40px;flex-shrink:0;cursor:pointer;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid var(--border);border-radius:10px;background:#fff;transition:background .12s ease,border-color .12s ease}.topbar-hamburguesa span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink)}.topbar-hamburguesa:hover{background:var(--bg);border-color:var(--border-strong)}.sb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a141980;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:fadeIn .15s ease}.sb-cerrar{all:unset;box-sizing:border-box;margin-left:auto;width:32px;height:32px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;color:#aec0c7;font-size:16px;transition:background .12s ease,color .12s ease}.sb-cerrar:hover{background:#ffffff14;color:#fff}.app.compacto .sb{position:fixed;left:0;top:0;bottom:0;z-index:100;width:min(260px,82vw);height:100vh;height:100dvh;box-shadow:var(--shadow-lg);transform:translate(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.app.compacto .sb.abierto{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}.app.compacto .topbar{padding:10px 14px}.app.compacto .main{padding:16px 12px 40px}.app.compacto .card{padding:14px}.modal{max-width:calc(100vw - 24px)}@media (max-width:560px){.topbar-user-texto{display:none}.toast{white-space:normal;max-width:calc(100vw - 32px)}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.card{max-width:100%}.solo-compacto{display:none}.app.compacto .solo-compacto{display:inline-flex}.app.compacto .oculta-movil{display:none}.app.compacto table.tabla-tarjetas,.app.compacto table.tabla-tarjetas tbody{display:block;width:100%}.app.compacto table.tabla-tarjetas thead{display:none}.app.compacto table.tabla-tarjetas tr{display:block;width:100%;box-sizing:border-box;margin-bottom:12px;padding:12px 14px;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow-sm)}.app.compacto table.tabla-tarjetas tbody tr:last-child{margin-bottom:0}.app.compacto table.tabla-tarjetas td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:5px 0;border:none;text-align:right;word-break:break-word}.app.compacto table.tabla-tarjetas td:before{content:attr(data-label);flex-shrink:0;text-align:left;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.app.compacto table.tabla-tarjetas td:not([data-label]):before{display:none}.app.compacto table.tabla-tarjetas td.celda-titulo{justify-content:flex-start;text-align:left;font-family:Sora,sans-serif;font-weight:700;font-size:15px;padding:0 0 8px;margin-bottom:6px;border-bottom:1px solid var(--border)}.app.compacto table.tabla-tarjetas td.celda-acciones{justify-content:flex-start;flex-wrap:wrap;gap:8px;padding:10px 0 0;margin-top:6px;border-top:1px solid var(--border)}.app.compacto table.tabla-tarjetas td[colspan]{justify-content:center;text-align:center}.barra-filtros{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.barra-filtros>input{flex:1 1 240px;min-width:0}.barra-filtros>select{flex:0 1 200px;min-width:0;max-width:100%}.app.compacto .barra-filtros>input,.app.compacto .barra-filtros>select{flex:1 1 100%;width:100%}.nota-evolucion{border-left:3px solid var(--border-strong);padding:4px 0 4px 12px;transition:border-color .15s ease,background .15s ease;border-radius:0 8px 8px 0}.nota-evolucion:hover{border-left-color:var(--coral);background:#fbfcfd}.nota-evolucion-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:3px;flex-wrap:wrap}.nota-evolucion-acciones{display:flex;gap:6px;flex-shrink:0}.nota-evolucion-acciones .btn-sm{padding:3px 9px;font-size:11.5px}.nota-evolucion-acciones .nota-eliminar:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.sb-logo-tile{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:11px;padding:3px;background:linear-gradient(135deg,#fbf8f2,#f1eadc);box-shadow:0 2px 8px #00000047}.historia-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.historia-filtros{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.historia-filtros select{min-width:180px}.historia-pendientes{background:var(--amber-soft);border:none}.historia-pendiente-fila{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px;border-radius:8px;background:#ffffffa6;font-size:13px;flex-wrap:wrap}.historia-pendiente-fila+.historia-pendiente-fila{margin-top:6px}.historia-timeline{display:flex;flex-direction:column;gap:12px;position:relative}.historia-nota{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--coral);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm)}.historia-nota.tipo-Historica{border-left-color:var(--retablo-oro);background:#fffdf6}.historia-nota.tipo-Referencia{border-left-color:var(--retablo-turquesa)}.historia-nota.tipo-Evolucion{border-left-color:var(--border-strong)}.historia-nota.anulada{opacity:.7;border-left-color:var(--danger)}.historia-nota.anulada .historia-nota-cuerpo{text-decoration:line-through;color:var(--muted)}.historia-nota-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:8px}.historia-nota-fecha{font-family:Sora;font-weight:700;font-size:13.5px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.historia-nota-meta{font-size:12px;color:var(--muted);margin-top:2px}.historia-tipo{font-family:Inter;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--coral-soft);color:var(--coral-dark)}.historia-tipo.tipo-Historica{background:var(--amber-soft);color:#8a6416}.historia-tipo.tipo-Referencia{background:#ddf0ef;color:var(--retablo-turquesa)}.historia-tipo.tipo-Evolucion{background:var(--bg);color:var(--muted)}.historia-tipo.anulada{background:var(--danger-soft);color:var(--danger)}.historia-nota-acciones{display:flex;gap:6px;flex-wrap:wrap}.historia-nota-acciones .btn-sm{padding:3px 9px;font-size:11.5px}.historia-anular:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.historia-nota-cuerpo p{margin:0 0 6px;font-size:13.5px}.historia-texto{white-space:pre-wrap;word-break:break-word;font-size:13.5px;margin:0 0 6px}.historia-nota-pie{font-size:11.5px;color:var(--muted);margin-top:8px}.historia-anulada-motivo{font-size:12px;color:var(--danger);font-weight:600;margin:6px 0 0}.historia-adendas{margin-top:10px;padding-left:12px;border-left:2px dashed var(--border-strong);display:flex;flex-direction:column;gap:8px}.historia-adenda .historia-texto{font-size:13px}.historia-form{margin-top:10px;padding:12px;border-radius:10px;background:var(--bg)}.historia-form.peligro{background:var(--danger-soft)}.nota-evolucion.anulada{opacity:.65}.agenda-appt-nota{display:block;font-size:10px;font-weight:700;color:var(--sage);margin-top:3px}button.agenda-appt-nota.pendiente{all:unset;display:block;font-size:10px;font-weight:700;color:var(--coral-dark);margin-top:3px;cursor:pointer}button.agenda-appt-nota.pendiente:hover{text-decoration:underline}.historia-deldia{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:10px}.historia-deldia section{background:var(--bg);border-radius:10px;padding:9px 12px}.historia-deldia-titulo{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.historia-deldia ul{margin:0;padding-left:16px;font-size:12.5px}.historia-deldia li{margin:2px 0}.historia-deldia-tag{font-size:10px;font-weight:700;margin-left:6px;padding:1px 6px;border-radius:10px;background:var(--amber-soft);color:#8a6416}.historia-deldia-extra{color:var(--muted)}.historia-adjuntos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.historia-adjunto{width:96px;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff}.historia-adjunto-pie{display:flex;justify-content:space-between;align-items:center;padding:3px 6px;font-size:10px;font-weight:600;color:var(--muted)}.historia-adjunto-pie button{all:unset;cursor:pointer;color:var(--muted);font-size:11px;padding:0 2px}.historia-adjunto-pie button:hover{color:var(--danger)}.historia-segmento{display:flex;gap:4px;background:var(--bg);padding:4px;border-radius:10px;margin-bottom:14px}.historia-segmento button{flex:1;border:none;background:transparent;padding:8px 10px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;font-family:inherit}.historia-segmento button.activo{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}.historia-elegir{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:320px;overflow:auto}.historia-elegir-item{position:relative;border:1.5px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;font-size:11px;display:flex;flex-direction:column}.historia-elegir-item input{position:absolute;top:6px;left:6px;z-index:1}.historia-elegir-item span{padding:4px 6px 0;word-break:break-all}.historia-elegir-item small{padding:0 6px 5px;color:var(--muted)}.historia-elegir-item.elegido{border-color:var(--coral);box-shadow:0 0 0 3px #e2694f1f}.historia-adjuntar-opcional{margin:2px 0 12px;font-size:12.5px}.historia-adjuntar-opcional summary{cursor:pointer;font-weight:600;color:var(--coral-dark)}.tabla-scroll{max-height:460px;overflow:auto;border:1px solid var(--border);border-radius:10px}.tabla-scroll table{margin:0}.tabla-scroll thead th{position:sticky;top:0;background:#fff;z-index:1}.historia-barra{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 2px 8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.historia-scroll{max-height:max(460px,calc(100vh - 300px));overflow-y:auto;padding:2px 6px 8px 2px;scroll-behavior:smooth}.historia-anio{position:sticky;top:0;z-index:2;align-self:flex-start;font-family:Sora;font-weight:800;font-size:12px;letter-spacing:.06em;color:var(--muted);background:var(--bg);padding:4px 10px;border-radius:20px;box-shadow:var(--shadow-sm)}.historia-nota.compacta{padding:0}.historia-fila{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;border-radius:var(--radius)}.historia-fila:hover{background:#fafbfd}.historia-fila:focus-visible{outline:2px solid var(--coral);outline-offset:-2px}.historia-fila-fecha{font-family:Sora;font-weight:700;font-size:12.5px;white-space:nowrap}.historia-fila-resumen{flex:1;min-width:0;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.historia-nota.anulada .historia-fila-resumen{text-decoration:line-through;color:var(--muted)}.historia-fila-badges{display:flex;gap:8px;font-size:11.5px;color:var(--muted);white-space:nowrap}.historia-fila-flecha{color:var(--muted);font-size:12px}.historia-fila-flecha.abierta{margin-right:2px}.historia-nota-titulo{cursor:pointer}@media (max-width:640px){.historia-fila{flex-wrap:wrap;gap:4px 8px}.historia-fila-resumen{flex-basis:100%;order:3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.historia-fila-badges{order:4}.historia-fila-flecha{margin-left:auto}}.pieza-chip{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:700;padding:1px 7px;border-radius:10px;background:var(--bg);color:var(--muted);vertical-align:middle}.barra-avance{height:4px;border-radius:4px;background:var(--border);margin-top:4px;overflow:hidden;max-width:110px}.barra-avance span{display:block;height:100%;background:var(--sage)}.acciones-plan{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.acciones-plan .btn-sm{white-space:nowrap}.boton-peligro:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.tabla-planes tr.plan-anulado td{color:var(--muted)}.tabla-planes tr.plan-anulado td:first-child div:first-child{text-decoration:line-through}.fila-abonos td{background:var(--bg);padding:6px 14px 10px}.abono{display:grid;grid-template-columns:110px 110px 120px 1fr;gap:8px;font-size:12.5px;padding:3px 0}.resumen-plan{font-size:12.5px;color:var(--muted);margin-top:6px}.cobrar-ahora{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:10px 12px;border-radius:10px;background:var(--sage-soft);cursor:pointer}@media (max-width:640px){.abono{grid-template-columns:1fr 1fr}}@media (max-width:640px){.historia-scroll{max-height:none;overflow:visible;padding:0}}.agenda-cell-lista{display:flex;flex-direction:column;gap:6px}.agenda-cell-mas{background:transparent;border:1.5px dashed var(--border);border-radius:10px;color:var(--muted);font-size:10.5px;font-weight:600;padding:4px 6px;cursor:pointer}.agenda-cell-mas:hover{border-color:var(--coral);color:var(--coral);background:var(--coral-soft)}a.agenda-appt-nombre:hover{text-decoration:underline!important}.agenda-appt-aviso{font-size:10.5px;font-weight:700;color:var(--danger);margin-top:2px}
