:root{--fondo:#f5f4f1;--tarjeta:#ffffff;--tinta:#1d2129;--suave:#6b7280;--linea:#e8e6e1;--acento:#1f2430;--acento-texto:#ffffff;--marca:#ff5a47;--peligro:#b3261e;--ok:#1b7a3d;--aviso:#8a5a00;--radio:16px;--alto-menu:64px;--sombra:0 1px 2px rgba(20,24,36,.05),0 6px 20px rgba(20,24,36,.05)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--fondo);color:var(--tinta);font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}a{color:inherit}h1{font-size:1.5rem;margin:0 0 6px;letter-spacing:-.01em}h2{font-size:1.05rem;margin:22px 0 8px}p{margin:0 0 8px}.suave{color:var(--suave);font-size:.9rem}.cabeza-pagina{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.cabeza-pagina h1{margin:0}.panel{min-height:100dvh;padding-bottom:calc(var(--alto-menu) + env(safe-area-inset-bottom))}.contenido{max-width:1100px;margin:0 auto;padding:16px 14px 24px}.cabecera{display:none;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--linea);position:-webkit-sticky;position:sticky;top:0;z-index:30}.cabecera .dentro{max-width:1180px;margin:0 auto;padding:10px 18px;display:flex;gap:4px;align-items:center}.cabecera .nav-item{padding:8px 10px}.cabecera .suave,.logo,.nav-item{white-space:nowrap}.logo{display:flex;align-items:center;gap:10px;font-weight:700;margin-right:14px;text-decoration:none}.logo-marca{width:32px;height:32px;border-radius:10px;background:var(--marca);color:#fff;display:grid;place-items:center;font-weight:800;font-size:1.05rem;flex:none}.cabecera .espacio{flex:1 1}.nav-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;text-decoration:none;color:var(--suave);font-weight:600;font-size:.95rem}.nav-item svg{width:20px;height:20px;flex:none}.nav-item:hover{background:#f0eeea;color:var(--tinta)}.nav-item.activo{background:#fff0ed;color:#d93a27}.menu-inferior{position:fixed;left:0;right:0;bottom:0;z-index:20;height:calc(var(--alto-menu) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--linea);display:flex}.menu-inferior .nav-item{flex:1 1;flex-direction:column;justify-content:center;gap:3px;border-radius:0;font-size:.72rem;padding:6px 2px}.menu-inferior .nav-item:hover{background:none}.menu-inferior .nav-item.activo{background:none;color:#d93a27}.menu-inferior .nav-item svg{width:24px;height:24px}@media (min-width:760px){.cabecera{display:block}.menu-inferior{display:none}.panel{padding-bottom:0}.contenido{padding:24px 18px 40px}}.tarjeta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);padding:16px;margin-bottom:14px;box-shadow:var(--sombra)}label{display:block;font-size:.85rem;color:var(--suave);margin:12px 0 4px;font-weight:500}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],select,textarea{width:100%;font:inherit;padding:11px 13px;border:1px solid #dcd9d2;border-radius:12px;background:#fff;color:var(--tinta)}input:focus,select:focus,textarea:focus{outline:2px solid rgba(255,90,71,.35);outline-offset:1px;border-color:var(--marca)}textarea{min-height:76px}.fila{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.fila>*{flex:1 1 140px}.fila>.auto{flex:0 0 auto}.boton,button{font:inherit;font-weight:600;cursor:pointer;border:1px solid var(--acento);background:var(--acento);color:var(--acento-texto);padding:11px 18px;border-radius:12px;text-decoration:none;display:inline-block;text-align:center;min-height:44px}.boton:hover,button:hover{filter:brightness(1.12)}.boton.claro,button.claro{background:#fff;color:var(--tinta);border-color:#dcd9d2}.boton.claro:hover,button.claro:hover{background:#f7f6f3;filter:none}.boton.peligro,button.peligro{background:#fff;color:var(--peligro);border-color:var(--peligro)}.boton.principal,button.principal{background:var(--marca);border-color:var(--marca);color:#fff}.marca{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.75rem;background:#eeece7;color:var(--suave);font-weight:600}.marca.aviso{background:#fff3d6;color:var(--aviso)}.marca.ok{background:#e1f4e8;color:var(--ok)}.marca.rojo{background:#fde7e5;color:var(--peligro)}.aviso-caja{background:#fff3d6;color:var(--aviso)}.aviso-caja,.error-caja{padding:11px 14px;border-radius:12px;margin-bottom:12px}.error-caja{background:#fde7e5;color:var(--peligro)}.ok-caja{padding:11px 14px;border-radius:12px;margin-bottom:12px;background:#e1f4e8;color:var(--ok)}.lista-checks label{display:flex;gap:10px;align-items:center;color:var(--tinta);font-size:1rem;margin:0;padding:10px 4px;border-bottom:1px solid var(--linea)}.lista-checks input{width:20px;height:20px;flex:none}details>summary{cursor:pointer}.huecos{display:flex;flex-wrap:wrap;gap:8px}.hueco{padding:10px 14px;border:1px solid #dcd9d2;border-radius:12px;background:#fff;text-decoration:none;min-width:74px;text-align:center;font-weight:600}.hueco:hover{border-color:var(--tinta)}.navdia{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.navdia .titulo{flex:1 1 100%;font-weight:700;font-size:1.25rem;letter-spacing:-.01em}.navdia .boton{min-height:40px;padding:8px 14px}.navdia .principal{margin-left:auto;order:3}.navdia .filtro{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px;order:4}.navdia .filtro>input{flex:1 1 100%;min-width:0}.navdia .filtro>select{flex:1 1;min-width:0}.navdia .filtro>button{flex:0 0 auto}@media (min-width:760px){.navdia .filtro{flex:0 1 460px;flex-wrap:nowrap;order:3}.navdia .filtro>input,.navdia .filtro>select{flex:1 1}.navdia .principal{margin-left:0;order:5}}@media (max-width:1279px){.cabecera .suave{display:none}}.agenda{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);overflow-x:auto;box-shadow:var(--sombra)}.agenda-cuerpo{display:flex;min-width:min-content}.agenda-horas{flex:0 0 48px;position:-webkit-sticky;position:sticky;left:0;background:var(--tarjeta);z-index:3;border-right:1px solid var(--linea)}.agenda-horas .h{position:absolute;right:6px;font-size:.72rem;color:var(--suave);transform:translateY(-50%)}.agenda-col{flex:1 0 150px;position:relative;border-right:1px solid var(--linea);background:var(--c-fondo,transparent)}.agenda-col:last-child{border-right:none}.agenda-cab{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--tarjeta);padding:9px 8px 8px;font-weight:700;font-size:.9rem;border-bottom:3px solid var(--c,var(--linea));text-align:center;white-space:nowrap}.agenda-cab .punto{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c,#999);margin-right:6px;vertical-align:baseline}.agenda-linea{position:absolute;left:0;right:0;border-top:1px solid rgba(0,0,0,.05)}.agenda-linea.hora{border-top-color:rgba(0,0,0,.1)}.cita{position:absolute;left:3px;right:3px;border-radius:10px;padding:0;font-size:.78rem;overflow:hidden;background:var(--c-cita,#e9eefb);border-left:4px solid var(--c,#3b5bdb);color:var(--tinta);box-shadow:0 1px 2px rgba(0,0,0,.08)}.cita-enlace{height:100%;padding:4px 28px 4px 7px;text-decoration:none;color:inherit}.cita b,.cita-enlace{display:block}.cita.completada{opacity:.72}.cita.completada b:after{content:" ✓";color:var(--ok)}.cita.no_presentado{background:repeating-linear-gradient(45deg,#fde7e5,#fde7e5 6px,#fbd5d1 0,#fbd5d1 12px);border-left-color:var(--peligro);opacity:.85}.bloqueo{background:repeating-linear-gradient(45deg,#f1f1f3,#f1f1f3 6px,#e7e7ea 0,#e7e7ea 12px);font-size:.72rem;color:var(--suave);padding:3px 6px;overflow:hidden}.bloqueo,.fuera-horario{position:absolute;left:0;right:0}.fuera-horario{background:rgba(0,0,0,.045)}.leyenda{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 10px;font-size:.85rem;color:var(--suave)}.leyenda .punto{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}table.tabla{width:100%;border-collapse:collapse}table.tabla td,table.tabla th{padding:8px 6px;border-bottom:1px solid var(--linea);text-align:left;vertical-align:top}details.cat{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);margin-bottom:10px;box-shadow:var(--sombra)}details.cat>summary{padding:14px 16px;cursor:pointer;font-weight:700}.servicio{border-top:1px solid var(--linea);padding:12px 16px}.servicio .checks{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0}.servicio .checks label{display:flex;align-items:center;gap:6px;color:var(--tinta);margin:0;font-size:.95rem}.servicio .checks input{width:18px;height:18px}.buscador{display:flex;gap:8px;margin-bottom:12px}.buscador input{flex:1 1}.lista-cl{background:var(--tarjeta);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra)}.fila-cl{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--linea);text-decoration:none}.fila-cl:last-child{border-bottom:none}.fila-cl:hover{background:#faf9f7}.avatar{width:42px;height:42px;border-radius:50%;background:#f0eeea;color:#5a5f6b;display:grid;place-items:center;font-weight:700;flex:none}.fila-cl .datos{flex:1 1;min-width:0}.fila-cl .datos b,.fila-cl .datos span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fila-cl .lado{text-align:right;font-size:.8rem;color:var(--suave);flex:none}.rejilla-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin:10px 0}.dato{background:#f8f7f4;border-radius:12px;padding:10px 12px}.dato b{display:block;font-size:1.25rem}.dato span{font-size:.8rem;color:var(--suave)}.enlaces-contacto{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.historial{list-style:none;margin:0;padding:0}.historial li{padding:10px 0;border-bottom:1px solid var(--linea);display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.historial li:last-child{border-bottom:none}.lista-mas{display:grid;grid-gap:10px;gap:10px}.lista-mas a,.lista-mas button{display:flex;align-items:center;gap:14px;text-align:left;width:100%;padding:16px;background:var(--tarjeta);color:var(--tinta);border:1px solid var(--linea);border-radius:var(--radio);text-decoration:none;box-shadow:var(--sombra);font-weight:600}.lista-mas svg{width:24px;height:24px;flex:none;color:var(--marca)}.lista-mas small{display:block;color:var(--suave);font-weight:400;font-size:.85rem}.colores{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.colores label{margin:0;cursor:pointer}.colores input{position:absolute;opacity:0;pointer-events:none}.colores span{display:block;width:34px;height:34px;border-radius:50%;border:3px solid transparent;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}.colores input:checked+span{border-color:var(--tinta)}.colores input:focus-visible+span{outline:2px solid var(--marca);outline-offset:2px}.cita .asa{position:absolute;top:0;right:0;width:28px;height:28px;min-height:0;padding:0;border:none;background:rgba(255,255,255,.6);color:var(--suave);font-size:18px;line-height:1;cursor:-webkit-grab;cursor:grab;touch-action:none;border-radius:0 0 0 10px}.cita .asa:active{cursor:-webkit-grabbing;cursor:grabbing}.cita.arrastrando{opacity:.3}.cita.fantasma{background:#fff7d6;border:2px dashed #b58900;border-left-width:4px;opacity:.95;pointer-events:none;z-index:6;padding:4px 6px}.cita.fantasma b,.cita.fantasma span{display:block}.velo{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:50;display:flex;align-items:center;justify-content:center;padding:14px}.dialogo{background:#fff;border-radius:var(--radio);padding:18px;width:min(100%,420px);max-height:90dvh;overflow:auto}.pub{min-height:100dvh;background:var(--fondo)}.pub.embed{background:transparent;min-height:0}.pub-cab{background:var(--acento);color:var(--acento-texto)}.pub-cab-dentro{max-width:680px;margin:0 auto;padding:14px 16px;display:flex;align-items:center;gap:12px;font-size:1.1rem}.pub-logo{height:36px;width:auto;border-radius:6px}.pub-cuerpo{max-width:680px;margin:0 auto;padding:16px}.pub.embed .pub-cuerpo{padding:8px}.pub h1{font-size:1.3rem}.pub .hueco:hover{border-color:var(--acento)}.pub a.enlace-acento{color:var(--acento)}.pub .resumen{border-left:4px solid var(--acento)}.pub .consentimiento{display:flex;gap:10px;align-items:flex-start;color:var(--tinta);font-size:.92rem;margin:10px 0 0;line-height:1.35}.pub .consentimiento input{width:22px;height:22px;flex:none;margin-top:1px}.pub .trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.pub .pie-pub{text-align:center;margin:18px 0 6px;font-size:.8rem;color:var(--suave)}body:has(.pub.embed){background:transparent}