@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--bg:#F5F3FB;--card:#FFFFFF;--border:#E7E3F3;--border-strong:#CEC6E6;--ink:#1B1433;--muted:#6E6889;--marca:#6F00FF;--marca-2:#8B3DFF;--menta:#02C9A3;--menta-clara:#2DE3BF;--retablo-terracota:#6F00FF;--retablo-oro:#8B3DFF;--retablo-turquesa:#02C9A3;--navy:#24105A;--navy-soft:#3A1F82;--navy-2:#150839;--coral:#6F00FF;--coral-soft:#EFE6FF;--coral-dark:#5600CC;--sage:#079C7F;--sage-soft:#DDF7F0;--amber:#C68A12;--amber-soft:#FFF3D6;--danger:#D33B54;--danger-soft:#FDE4E8;--shadow-sm: 0 1px 2px rgba(36,16,90,.06), 0 1px 3px rgba(36,16,90,.04);--shadow-md: 0 8px 24px rgba(36,16,90,.1);--shadow-lg: 0 18px 48px rgba(36,16,90,.18);--radius: 16px}*{box-sizing:border-box}html{font-size:16px}body{margin:0;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,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:Outfit,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:#d6cdee;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#b7a8e3}.app{display:flex;min-height:100vh}.sb{width:228px;background:radial-gradient(120% 60% at 0% 0%,#3B1690 0%,transparent 60%),linear-gradient(185deg,var(--navy) 0%,var(--navy-2) 100%);color:#f1ecff;padding:24px 14px;flex-shrink:0;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.sb-logo{font-family:Outfit,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:#c9beea;transition:background .15s ease,color .15s ease,transform .1s ease}.sb-nav a:hover{background:#ffffff14;color:#fff}.sb-nav a.active{background:linear-gradient(135deg,var(--marca-2),var(--marca));color:#fff;box-shadow:0 6px 18px #6f00ff73}.sb-nav a.active:after{content:"";margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--menta-clara);box-shadow:0 0 0 3px #2de3bf40}.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:Outfit,system-ui,sans-serif;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(--marca),var(--marca-2) 45%,var(--menta)) 1;background:#ffffffe6;-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);position:sticky;top:0;z-index:50}.topbar-brand{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13.5px;font-weight:600;background:var(--coral-soft);padding:7px 16px;border-radius:999px}.topbar-brand b{color:var(--marca);font-family:Outfit,system-ui,sans-serif;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(--marca-2),var(--marca));color:#fff;font-weight:700;font-size:13px;padding:10px 18px;border-radius:12px;cursor:pointer;box-shadow:0 4px 12px #6f00ff47;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #6f00ff66}.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:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .1s ease}.btn-ghost:hover{border-color:var(--marca-2);color:var(--marca);background:#fbf8ff;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(--marca),var(--menta));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:Outfit,system-ui,sans-serif;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:#faf7ff}tbody tr:nth-child(2n){background:#f5f3fb8c}tbody tr:nth-child(2n):hover{background:#faf7ff}.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(--coral-soft);color:var(--marca)}.pill-rol.Dentista{background:var(--sage-soft);color:var(--sage)}.pill-rol.Asistente{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:#1b0c4073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);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:Plus Jakarta Sans,system-ui,sans-serif;background:#fdfcff;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 #6f00ff1f}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,#0BB592,var(--sage))}.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:linear-gradient(135deg,#1d0a4f,#4a0fc2 45%,#6f00ff 70%,#2a0d7a);position:relative;overflow:hidden;padding:24px}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}.login-blob.b1{width:520px;height:520px;background:#02deb2;left:-140px;bottom:-180px;opacity:.35}.login-blob.b2{width:460px;height:460px;background:#b26bff;right:-120px;top:-140px}.login-blob.b3{width:300px;height:300px;background:#2de3bf;right:28%;bottom:-120px;opacity:.25}.login-marca-agua{position:absolute;left:-1vw;bottom:-6vw;font-family:Outfit,sans-serif;font-weight:800;font-size:min(26vw,380px);line-height:1;letter-spacing:-.05em;color:#fff;opacity:.06;white-space:nowrap}.login-escena{position:absolute;left:5vw;top:50%;transform:translateY(-50%);width:min(46vw,640px);display:flex;flex-direction:column;align-items:flex-start;gap:6px}.login-escena img{width:100%;height:auto;filter:drop-shadow(0 30px 40px rgba(20,4,60,.35))}.login-lema{color:#fff;padding-left:3vw}.login-lema b{display:block;font-family:Outfit,sans-serif;font-size:clamp(22px,2.4vw,34px);font-weight:800;letter-spacing:-.02em}.login-lema span{display:block;color:#cff8ee;font-size:14px;font-weight:600;margin-top:2px}.login-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.login-chips span{display:inline-block;margin:0;color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.login-card{position:relative;z-index:1;background:#fffffff7;border-radius:24px;padding:38px 34px;width:380px;max-width:100%;box-shadow:0 30px 80px #14043c73;border:1px solid rgba(255,255,255,.6)}.login-card .btn{width:100%;text-align:center;padding:12px 18px}@media (min-width: 1000px){.login-wrap{justify-content:flex-end;padding-right:max(6vw,40px)}}@media (max-width: 999px){.login-escena{display:none}}.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),#E3FBF4)}.agenda-head-dia{display:block;font-family:Outfit,system-ui,sans-serif;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:#c9b3f5}.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:Outfit,system-ui,sans-serif;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:#1b0c4073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);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:Outfit,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-marco{display:flex;align-items:center;justify-content:center;width:100%;padding:2px 0}.sb-logo-marco img{box-shadow:0 2px 10px #0000004d}.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:Outfit,system-ui,sans-serif;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:Plus Jakarta Sans;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 #6f00ff1f}.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:Outfit,system-ui,sans-serif;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:Outfit,system-ui,sans-serif;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}.aviso-pendiente{background:var(--amber-soft);color:#7a4b00;border-radius:10px;padding:10px 12px;font-size:12.5px;line-height:1.45}.aviso-pendiente .btn,.aviso-pendiente .btn-ghost{margin-left:8px}.config-grid{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:start}.config-logo{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.config-logo img{width:180px;height:auto;max-height:180px;object-fit:contain;border-radius:14px;border:1px solid var(--border);background:var(--bg)}.config-ayuda{font-size:11.5px;color:var(--muted);line-height:1.45;margin:0}.grid-campos{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.config-cuenta{display:grid;grid-template-columns:1fr 1.4fr 1.2fr auto;gap:8px;margin-bottom:8px;align-items:center}@media (max-width: 760px){.config-grid,.grid-campos{grid-template-columns:1fr}.config-cuenta{grid-template-columns:1fr 1fr auto}.config-cuenta input:nth-child(3){grid-column:1 / span 2}}.ingresos-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ingreso-tile{border-radius:14px;padding:14px 16px;background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.ingreso-tile .t-etiqueta{font-size:12px;font-weight:700;color:var(--muted);display:flex;align-items:center;gap:6px}.ingreso-tile .t-monto{font-family:Outfit,sans-serif;font-size:22px;font-weight:800;margin-top:6px;letter-spacing:-.02em}.ingreso-tile .t-detalle{font-size:11.5px;color:var(--muted);margin-top:2px}.ingreso-tile.total{background:linear-gradient(135deg,#6f00ff,#4b00b0);color:#fff;border:0}.ingreso-tile.total .t-etiqueta,.ingreso-tile.total .t-detalle{color:#fffc}.ingreso-tile.efectivo{border-top:4px solid #16a34a}.ingreso-tile.yapePlin{border-top:4px solid #7c3aed}.ingreso-tile.banco{border-top:4px solid #0284c7}.ingresos-rango{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ingresos-rango input[type=date]{padding:6px 8px}@media (max-width: 900px){.ingresos-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.dash-head{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}.dash-head h2{font-size:24px;font-weight:800}.dash-head p{margin:3px 0 0;color:var(--muted);font-size:13px}.checkin{position:relative;flex:1;max-width:620px;min-width:300px}.checkin-form{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:6px 6px 6px 14px;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease}.checkin-form:focus-within{border-color:var(--marca-2);box-shadow:0 0 0 4px #6f00ff1a}.checkin-etiqueta{font-size:12.5px;font-weight:800;color:var(--marca);white-space:nowrap}.checkin-form input{flex:1;border:0!important;box-shadow:none!important;background:transparent!important;padding:8px 6px!important;min-width:0}.checkin-flotante{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;box-shadow:var(--shadow-lg)}.checkin-mensaje{position:absolute;right:6px;top:calc(100% + 4px);font-size:12px;font-weight:700;margin:0}.dash-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:16px;margin-bottom:22px;align-items:start}.dash-grid.solo{grid-template-columns:minmax(0,1fr)}.dash-lateral{display:flex;flex-direction:column;gap:16px}.citas-hoy-lista{display:flex;flex-direction:column;gap:6px;max-height:min(460px,58vh);overflow-y:auto;padding-right:4px}.cita-hoy-fila{text-decoration:none;color:inherit;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;border:1px solid var(--border);background:#fff;transition:border-color .12s ease,background .12s ease,transform .1s ease}.cita-hoy-fila:hover{border-color:var(--marca-2);background:#fbf8ff;transform:translate(2px)}.cita-hoy-fila.terminada{opacity:.62}.cita-hoy-hora{font-family:Outfit,sans-serif;font-size:13px;font-weight:700;color:var(--marca);min-width:72px}.stats-compactas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stats-compactas .stat{padding:12px 14px}.stats-compactas .stat .n{font-size:22px}.ingresos-tiles.compacto{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ingresos-tiles.compacto .ingreso-tile{padding:11px 12px}.ingresos-tiles.compacto .t-monto{font-size:18px}@media (max-width: 1100px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.barra-fija{position:sticky;top:76px;z-index:20;box-shadow:var(--shadow-md)}.lista-fin{text-align:center;color:var(--muted);font-size:12.5px;padding:14px 0 4px;min-height:24px}.celda-acciones .btn-ghost,.celda-acciones a.btn-ghost{padding:5px 12px;font-size:12px;border-radius:10px}button,input,select,textarea{font-family:inherit}.cita-hoy-dentista{color:var(--muted);font-weight:400}@media (max-width: 640px){.topbar-eslogan,.checkin-etiqueta,.cita-hoy-dentista{display:none}.checkin{min-width:0;flex:1 1 100%;width:100%;max-width:none}.checkin-form button{padding:8px 12px;font-size:12.5px;white-space:nowrap}.dash-head h2{font-size:21px}.barra-fija{top:68px}}
