:root{--fondo:#f7f5fc;--superficie:#fff;--texto:#1e1b2e;--texto-suave:#5b5670;--borde:#ddd8ea;--primario:#6d28d9;--primario-hover:#5b21b6;--primario-suave:#ede9fe;--rosa:#db2777;--celeste:#0ea5e9;--peligro:#b91c1c;--exito:#15803d;--radio:10px;color:var(--texto);background:var(--fondo);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}h1{margin:0 0 1rem;font-size:1.6rem}h2{margin:0 0 .75rem;font-size:1.2rem}a{color:var(--primario)}.suave{color:var(--texto-suave)}input,select,textarea,button,.boton{font:inherit;border-radius:var(--radio);min-height:44px}input,select,textarea{border:1px solid var(--borde);background:var(--superficie);width:100%;color:var(--texto);padding:.5rem .75rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--celeste);outline-offset:1px;border-color:var(--celeste)}button,.boton{border:1px solid var(--primario);background:var(--primario);color:#fff;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;padding:.5rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}button:hover:not(:disabled),.boton:hover{background:var(--primario-hover)}button:disabled{opacity:.5;cursor:not-allowed}button.secundario,.boton.secundario{background:var(--superficie);color:var(--texto);border-color:var(--borde)}button.secundario:hover:not(:disabled),.boton.secundario:hover{background:var(--fondo)}label{flex-direction:column;gap:.25rem;font-weight:500;display:flex}.acciones{flex-wrap:wrap;gap:.75rem;display:flex}.layout{flex-direction:column;min-height:100vh;display:flex}.barra{background:var(--superficie);border-bottom:3px solid #0000;border-image:linear-gradient(90deg, var(--primario), var(--rosa), var(--celeste)) 1;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;padding:.5rem 1rem;display:flex}.marca{color:var(--primario);font-size:1.2rem;font-weight:800;text-decoration:none}.marca-zona{color:var(--rosa);font-weight:600}.menu{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.menu a,.menu .deshabilitado{border-radius:var(--radio);color:var(--texto-suave);padding:.5rem .75rem;text-decoration:none}.menu a.active{background:var(--primario-suave);color:var(--primario-hover);font-weight:600}.menu .deshabilitado{opacity:.55;cursor:not-allowed}.menu .deshabilitado small{color:var(--rosa);font-size:.7rem}.usuario{color:var(--texto-suave);align-items:center;gap:.75rem;display:flex}.rol{color:#0369a1;background:#e0f2fe;border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:600}.contenido{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem}.pie{text-align:center;color:var(--texto-suave);padding:1rem;font-size:.85rem}.tarjeta{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);margin-bottom:1rem;padding:1.25rem}.aviso{border-radius:var(--radio);margin:0 0 1rem;padding:.75rem 1rem}.aviso-error{color:var(--peligro);background:#fef2f2;border:1px solid #fecaca}.aviso-exito{color:var(--exito);background:#f0fdf4;border:1px solid #bbf7d0}.cargando{text-align:center;color:var(--texto-suave);padding:2rem}.etiqueta{color:var(--rosa);background:#fce7f3;border-radius:999px;margin:0 0 .5rem;padding:.15rem .6rem;font-size:.8rem;font-weight:700;display:inline-block}.portada{max-width:640px;padding:2rem 0}.portada h1{background:linear-gradient(90deg, var(--primario), var(--rosa));color:#0000;-webkit-background-clip:text;background-clip:text;font-size:2rem}.login{background:linear-gradient(135deg, var(--primario-suave), #fce7f3 55%, #e0f2fe);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login .tarjeta{flex-direction:column;gap:1rem;width:100%;max-width:380px;display:flex}.login h1{margin:0}.marca-login{color:var(--rosa);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.85rem;font-weight:800}.pie-login{text-align:center;color:var(--texto-suave);margin:0;font-size:.9rem}.cabecera{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.cabecera h1,.cabecera h2,.cabecera h3{margin:0}.separado{margin-top:1.5rem}.bloque{display:block}.aviso-info{color:#075985;background:#e0f2fe;border:1px solid #bae6fd}button.peligro{background:var(--peligro);border-color:var(--peligro)}button.peligro:hover:not(:disabled){background:#991b1b}fieldset{border:0;min-width:0;margin:0;padding:0}fieldset.tarjeta{border:1px solid var(--borde);padding:1.25rem}fieldset:disabled input,fieldset:disabled select,fieldset:disabled textarea{background:var(--fondo);color:var(--texto)}.grilla{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem 1rem;margin-bottom:.75rem;display:grid}.campo-ancho{grid-column:1/-1}.campo+.campo{margin-top:.75rem}.grilla .campo+.campo{margin-top:0}.campo-con-error input,.campo-con-error select,.campo-con-error textarea{border-color:var(--peligro)}.error-campo{color:var(--peligro);font-size:.85rem;font-weight:500;display:block}.casilla{flex-direction:row;align-items:center;gap:.5rem;margin:.5rem 0 1rem}.casilla input{width:auto;min-height:auto}.filtros{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.filtros label{flex:180px}.fila-formulario{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.fila-formulario .campo{flex:220px}.formulario-angosto{flex-direction:column;gap:.75rem;max-width:420px;display:flex}.formulario-angosto .campo+.campo{margin-top:0}.subformulario{border-top:1px dashed var(--borde);margin-top:1rem;padding-top:1rem}.precio-calculado{color:var(--texto-suave);margin:0}.tabla-scroll{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);margin-bottom:1rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}caption{text-align:left;padding:.75rem .75rem 0;font-weight:600}th,td{text-align:left;border-bottom:1px solid var(--borde);vertical-align:top;padding:.6rem .75rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--texto-suave);white-space:nowrap;font-size:.8rem}tbody tr:last-child td{border-bottom:0}.numero{text-align:right;white-space:nowrap}tr.inactivo,li.inactivo{opacity:.6}tr.fila-con-error td{background:#fef2f2}.input-corto{text-align:right;max-width:7rem}.acciones-fila{flex-wrap:nowrap;gap:.4rem}.acciones-fila button{padding:.4rem .7rem}.estado{white-space:nowrap;color:#334155;background:#f1f5f9;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.estado-publicado,.estado-activo{color:var(--exito);background:#dcfce7}.estado-borrador{background:var(--primario-suave);color:var(--primario-hover)}.estado-cerrado,.estado-agotado{color:#92400e;background:#fef3c7}.estado-suspendido{color:var(--peligro);background:#fee2e2}.ocupacion{font-variant-numeric:tabular-nums;flex-direction:column;gap:.2rem;min-width:5rem;display:inline-flex}.barra-ocupacion{background:var(--borde);border-radius:999px;height:6px;display:block;overflow:hidden}.barra-ocupacion span{background:linear-gradient(90deg, var(--primario), var(--rosa));height:100%;display:block}.lista-eventos,.lista-ordenada,.lista-fechas{margin:0;padding:0;list-style:none}.tarjeta-evento{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.tarjeta-evento p{margin:.25rem 0 0}.titulo-evento{font-size:1.05rem;font-weight:700}.lado-evento{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.fila-rubro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.6rem 1rem;display:flex}.dos-columnas{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.calendario{max-width:420px}.calendario-cabecera{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.calendario-mes:first-letter{text-transform:uppercase}.calendario-grilla{grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendario-dia-semana{text-align:center;color:var(--texto-suave);text-transform:uppercase;font-size:.75rem}button.calendario-dia{background:var(--superficie);min-height:42px;color:var(--texto);border-color:var(--borde);padding:0;font-weight:500}button.calendario-dia.fin-de-semana{color:var(--primario);font-weight:700}button.calendario-dia:hover:not(:disabled){background:var(--primario-suave)}button.calendario-dia.marcada,button.calendario-dia.marcada:hover:not(:disabled){background:var(--primario);border-color:var(--primario);color:#fff}.lista-fechas li{border-bottom:1px solid var(--borde);grid-template-columns:7.5rem 1fr auto;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.lista-fechas .error-campo{grid-column:1/-1}.fondo-dialogo{z-index:10;background:#1e1b2e73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.dialogo{width:100%;max-width:460px;margin:0}@media (width<=600px){.contenido{padding:1rem .75rem 2rem}.tarjeta{padding:1rem}.lista-fechas li{grid-template-columns:1fr auto}.lista-fechas li select{grid-area:2/1/auto/-1}}.aviso-con-accion{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}
