:root{--fondo: #0a2620;--fondo-2: #0c2d26;--fondo-3: #10362e;--oro: #c8a96a;--oro-claro: #dcc28c;--oro-tenue: rgba(200, 169, 106, .45);--oro-linea: rgba(200, 169, 106, .28);--crema: #f1e8d2;--texto: #d9d4c4;--apagado: #93a197;--rojo: #e09a86;--serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;--sans: "Montserrat", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 50% -10%,rgba(200,169,106,.07),transparent 60%),var(--fondo);color:var(--texto);font-family:var(--serif);font-size:16px;line-height:1.5}[hidden]{display:none!important}button{font:inherit;cursor:pointer}a{color:var(--oro)}.marco{position:relative;background:var(--fondo-2);border:1px solid var(--oro-tenue);box-shadow:inset 0 0 0 7px var(--fondo-2),inset 0 0 0 8px var(--oro-linea),0 20px 50px #00000059;padding:40px 36px 56px;margin-bottom:28px}.esquina{position:absolute;width:46px;height:46px;pointer-events:none}.esquina:before{content:"";position:absolute;inset:0;border:0 solid var(--oro-tenue)}.esquina:after{content:"\2726";position:absolute;font-size:10px;color:var(--oro);line-height:1}.esquina.tl{top:16px;left:16px}.esquina.tl:before{border-top-width:1px;border-left-width:1px}.esquina.tl:after{top:7px;left:7px}.esquina.tr{top:16px;right:16px}.esquina.tr:before{border-top-width:1px;border-right-width:1px}.esquina.tr:after{top:7px;right:7px}.esquina.bl{bottom:16px;left:16px}.esquina.bl:before{border-bottom-width:1px;border-left-width:1px}.esquina.bl:after{bottom:7px;left:7px}.esquina.br{bottom:16px;right:16px}.esquina.br:before{border-bottom-width:1px;border-right-width:1px}.esquina.br:after{bottom:7px;right:7px}.separador{display:flex;align-items:center;justify-content:center;gap:14px;margin:18px auto;max-width:320px;color:var(--oro)}.separador:before,.separador:after{content:"";flex:1;height:1px;background:var(--oro-tenue)}.separador span{font-size:15px}.etiqueta{font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);text-align:center;margin:0 0 6px}.titulo{font-family:var(--serif);font-weight:400;color:var(--crema);text-align:center;margin:0;font-size:clamp(30px,5vw,46px);line-height:1.15}.titulo-dlg{font-weight:400;color:var(--crema);text-align:center;margin:0;font-size:28px;line-height:1.2}.nota{font-style:italic;color:var(--apagado);text-align:center;font-size:14px;margin:22px 0 0}.btn{font-family:var(--sans);font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding:13px 22px;border-radius:2px;transition:.15s}.btn-oro{background:var(--oro);color:#10241e;border:1px solid var(--oro)}.btn-oro:hover{background:var(--oro-claro)}.btn-oro:disabled{opacity:.55;cursor:default}.btn-linea{background:transparent;color:var(--oro);border:1px solid var(--oro-tenue)}.btn-linea:hover{border-color:var(--oro)}.btn-peligro{background:transparent;color:var(--rojo);border:1px solid rgba(224,154,134,.45)}.btn-peligro:hover{border-color:var(--rojo)}.btn-mini{padding:8px 12px;font-size:11px}.enlace{background:none;border:0;padding:0;color:var(--texto)}.enlace.oro{color:var(--oro);text-decoration:underline;text-underline-offset:3px}form label{display:block;margin:0 0 16px;font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--oro)}.opcional{text-transform:none;letter-spacing:0;color:var(--apagado);font-weight:500}input,select,textarea{display:block;width:100%;margin-top:7px;background:var(--fondo);color:var(--crema);border:1px solid var(--oro-linea);border-radius:2px;padding:12px 13px;font-family:var(--serif);font-size:16px;letter-spacing:0;text-transform:none}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--oro)}textarea{resize:vertical}.con-boton{display:flex;gap:8px;align-items:stretch}.con-boton input,.con-boton .btn{margin-top:7px}.error{color:var(--rojo);min-height:1.2em;margin:0 0 12px;font-size:15px}.error:empty{min-height:0;margin:0}.nota-form{font-style:italic;color:var(--apagado);font-size:14px;margin:-4px 0 14px}.botones{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}#vista-login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.marco-login{width:100%;max-width:480px;padding:56px 44px 44px;text-align:center}.marco-login form{text-align:left;margin-top:26px}.marco-login .btn{width:100%;margin-top:4px}.logo{display:block;width:100%;max-width:340px;height:auto;margin:0 auto}.subtitulo-logo{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--oro);margin:12px 0 0}.cabecera{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1080px;margin:0 auto;padding:22px 20px;border-bottom:1px solid var(--oro-linea)}.cabecera-logo img{height:34px;width:auto;display:block}.menu{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.menu a,.menu .enlace{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--texto);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent}.menu a:hover,.menu .enlace:hover{color:var(--oro)}.menu a.activo{color:var(--oro);border-bottom-color:var(--oro)}.aviso{max-width:1080px;margin:16px auto 0;padding:12px 18px;text-align:center;border:1px solid var(--oro-tenue);background:#c8a96a14;color:var(--crema)}main{max-width:1080px;margin:0 auto;padding:28px 20px 10px}.mes-nav{display:flex;align-items:center;justify-content:center;gap:22px;margin:4px 0 6px}.mes-nav .titulo{min-width:0;text-transform:capitalize}.flecha{background:none;border:1px solid var(--oro-tenue);color:var(--oro);width:42px;height:42px;border-radius:50%;font-size:24px;line-height:1;padding-bottom:3px;flex:none}.flecha:hover{border-color:var(--oro)}.leyenda{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;align-items:center;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--apagado);margin:14px 0 24px}.leyenda span{display:inline-flex;align-items:center;gap:7px}.leyenda .enlace{font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.pt{display:inline-block;width:12px;height:12px;border-radius:2px}.pt.libre{border:1px solid var(--oro-tenue)}.pt.ocupada{background:#6f857a;border:1px solid #6f857a}.pt.mia{background:var(--oro)}.calendario{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.dia-semana{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--oro);text-align:center;padding:4px 0 8px}.celda{background:var(--fondo);border:1px solid var(--oro-linea);min-height:108px;padding:8px;text-align:left;color:var(--texto);display:flex;flex-direction:column;gap:5px;border-radius:2px;transition:.15s}.celda:hover:not(:disabled){border-color:var(--oro);background:#0b2a23}.celda.vacia{background:transparent;border-color:transparent}.celda.pasada{opacity:.42}.celda.hoy{border-color:var(--oro);box-shadow:inset 0 0 0 1px var(--oro)}.num{font-size:18px;color:var(--crema);line-height:1;margin-bottom:2px}.celda.hoy .num{color:var(--oro)}.franja{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.02em;border-radius:2px;padding:4px 6px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.franja.libre{border:1px dashed var(--oro-linea);color:var(--apagado);font-weight:500}.franja.ocupada{background:#2b4a40;color:var(--crema);border:1px solid #6f857a}.franja.mia{background:var(--oro);color:#10241e;border:1px solid var(--oro)}.franja b{font-weight:700}.marco-lista{padding:34px 36px 52px}.lista-reservas{list-style:none;margin:18px 0 0;padding:0}.lista-reservas li{display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--oro-linea)}.lista-reservas li:last-child{border-bottom:1px solid var(--oro-linea)}.lista-reservas .fecha{flex:none;width:64px;text-align:center;line-height:1.1}.lista-reservas .fecha b{display:block;font-size:26px;font-weight:400;color:var(--crema)}.lista-reservas .fecha small{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--oro)}.lista-reservas .info{flex:1;min-width:0}.lista-reservas .info strong{display:block;color:var(--crema);font-weight:400;font-size:17px}.lista-reservas .info span{font-style:italic;color:var(--apagado);font-size:14px}.vacio{font-style:italic;color:var(--apagado);text-align:center;border:0!important;display:block!important}.acciones-socios{display:flex;justify-content:center;margin-bottom:22px}.tabla-socios{display:grid;gap:0}.fila-socio{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 4px;border-top:1px solid var(--oro-linea)}.fila-socio:last-child{border-bottom:1px solid var(--oro-linea)}.fila-socio strong{color:var(--crema);font-weight:400;font-size:17px}.fila-socio .meta{font-family:var(--sans);font-size:11px;letter-spacing:.08em;color:var(--apagado)}.fila-socio .meta .rol{color:var(--oro);text-transform:uppercase;font-weight:700;margin-left:8px}.fila-socio.inactivo strong{text-decoration:line-through;color:var(--apagado)}.fila-socio .acciones{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dialogo{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;background:var(--fondo-2);color:var(--texto);border:1px solid var(--oro-tenue);box-shadow:inset 0 0 0 7px var(--fondo-2),inset 0 0 0 8px var(--oro-linea),0 30px 80px #0009;padding:38px 34px 30px}.dialogo::backdrop{background:#030e0bb8;backdrop-filter:blur(2px)}.cerrar{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--oro);font-size:28px;line-height:1;padding:4px 8px}#form-reserva,#form-password,#form-socio{margin-top:22px}.bloque-franja{border:1px solid var(--oro-linea);padding:16px 18px;margin-bottom:12px}.bloque-franja .cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.bloque-franja h3{margin:0;font-weight:400;color:var(--crema);font-size:20px}.bloque-franja .horario{font-style:italic;color:var(--apagado);font-size:14px}.bloque-franja .detalle{margin:10px 0 0;font-size:15px}.bloque-franja .detalle .quien{color:var(--oro)}.bloque-franja .detalle p{margin:4px 0}.bloque-franja .detalle .notas{font-style:italic;color:var(--apagado);white-space:pre-wrap}.bloque-franja .btn{margin-top:12px}.bloque-franja.mia{border-color:var(--oro)}.pie{text-align:center;padding:10px 20px 40px}.pie p{margin:0;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--apagado)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:var(--crema);color:#10241e;padding:12px 20px;border-radius:2px;font-family:var(--sans);font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100vw - 32px);text-align:center;z-index:10}.toast.ver{opacity:1;transform:translate(-50%)}.toast.mal{background:var(--rojo)}@media(max-width:720px){.marco{padding:34px 16px 44px;box-shadow:inset 0 0 0 5px var(--fondo-2),inset 0 0 0 6px var(--oro-linea),0 14px 30px #00000059}.esquina{width:28px;height:28px}.esquina.tl,.esquina.tr{top:11px}.esquina.bl,.esquina.br{bottom:11px}.esquina.tl,.esquina.bl{left:11px}.esquina.tr,.esquina.br{right:11px}.esquina:after{font-size:8px}.marco-login{padding:50px 24px 34px}.mes-nav{gap:10px}.flecha{width:36px;height:36px;font-size:20px}.calendario{gap:3px}.dia-semana{font-size:9px;letter-spacing:.04em}.celda{min-height:62px;padding:5px 4px;gap:3px;align-items:center}.num{font-size:15px}.franja{font-size:0;padding:0;height:6px;width:100%;border-radius:3px}.franja.libre{border-style:solid}.cabecera{justify-content:center;padding:18px 14px}.cabecera-logo img{height:28px}.menu{gap:16px;justify-content:center}main{padding:20px 10px 6px}.marco-lista{padding:32px 18px 44px}.franja.ocupada{background:#7d9387;border-color:#7d9387}.franja.libre{border-color:var(--oro-linea);opacity:.7}.dialogo{padding:34px 20px 24px}.fila-socio{grid-template-columns:1fr}.fila-socio .acciones{justify-content:flex-start}}.nota-inicial{text-align:center;margin:0 0 18px}.nota-cred{margin:18px 0 12px}.credenciales{white-space:pre-wrap;background:var(--fondo);border:1px solid var(--oro-linea);padding:14px;color:var(--crema);font-size:15px;margin:0 0 16px}
