:root{--fondo:#0f2a4a;--texto:#f4f6f9;--acento:#f2b134;color:var(--texto);background:var(--fondo);-webkit-font-smoothing:antialiased;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--fondo);margin:0}.inicio{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;min-height:100dvh;padding:1rem;display:flex}.inicio h1{margin:.75rem 0 0;font-size:2rem}.inicio p{margin:0}.inicio .conexion{background:#ffffff1a;border-radius:999px;margin-top:1rem;padding:.25rem .75rem;font-size:.875rem}.inicio .conexion.conectado{color:#7ee2a8}.inicio .conexion.sin-conexion{color:#ff9b9b}.inicio .nota{opacity:.7;margin-top:1.5rem;font-size:.875rem}.inicio .acciones{flex-direction:column;gap:.5rem;margin-top:2rem;display:flex}.auth{justify-content:center;align-items:center;min-height:100dvh;padding:1rem;display:flex}.auth-caja{text-align:center;background:#ffffff0f;border-radius:16px;width:100%;max-width:380px;padding:2rem 1.5rem}.auth-caja h1{margin:.5rem 0 0;font-size:1.5rem}.auth-caja h2{opacity:.8;margin:.25rem 0 1.25rem;font-size:1rem;font-weight:500}.auth-caja form{text-align:left;flex-direction:column;gap:.875rem;display:flex}.auth-caja label{flex-direction:column;gap:.35rem;font-size:.875rem;display:flex}.auth-caja input{font:inherit;color:var(--texto);background:#0003;border:1px solid #ffffff40;border-radius:10px;padding:.7rem .8rem;font-size:1rem}.auth-caja input:focus{outline:2px solid var(--acento);outline-offset:1px}.auth-caja input.codigo{letter-spacing:.4em;text-align:center;font-size:1.6rem}button{font:inherit;background:var(--acento);color:#1a1a1a;cursor:pointer;border:0;border-radius:10px;padding:.75rem 1rem;font-weight:600}button:disabled{opacity:.5;cursor:default}button.enlace{color:var(--texto);opacity:.8;background:0 0;font-weight:400;text-decoration:underline}.auth-caja .error{color:#ff9b9b;margin:0;font-size:.875rem}.auth-caja .aviso{color:#7ee2a8;margin:0;font-size:.875rem}.auth-caja .pasos{text-align:left;padding-left:1.25rem;font-size:.9rem;line-height:1.5}.auth-caja .qr{background:#fff;border-radius:8px;width:200px;height:200px;margin:.5rem auto 1rem;padding:8px;display:block}.auth-caja details{margin-bottom:1rem;font-size:.875rem}.auth-caja .secreto{word-break:break-all;-webkit-user-select:all;user-select:all}.app{--papel:#f4f6f9;--tinta:#1b2533;--tinta-suave:#5b6676;--borde:#dde3ea;--tarjeta:#fff;background:var(--papel);min-height:100dvh;color:var(--tinta)}.barra-superior{display:none}.menu{background:var(--fondo);width:240px;color:var(--texto);z-index:20;flex-direction:column;padding:1rem .75rem;display:flex;position:fixed;inset:0 auto 0 0}.menu-marca{align-items:center;gap:.6rem;padding:0 .5rem 1rem;font-weight:700;display:flex}.menu ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.menu a{color:var(--texto);opacity:.85;border-radius:8px;align-items:center;gap:.6rem;padding:.6rem .75rem;text-decoration:none;display:flex}.menu a:hover{opacity:1;background:#ffffff14}.menu a.activo{color:var(--acento);opacity:1;background:#f2b1342e;font-weight:600}.menu .icono{text-align:center;width:1.25rem}.menu .pronto{background:#ffffff1f;border-radius:999px;margin-left:auto;padding:.05rem .4rem;font-size:.7rem}.menu-pie{flex-direction:column;gap:.4rem;margin-top:auto;padding:0 .25rem;display:flex}.menu-pie .correo{opacity:.7;text-overflow:ellipsis;white-space:nowrap;margin:0 0 .25rem;font-size:.8rem;overflow:hidden}.menu-pie button.enlace{padding:.25rem;font-size:.8rem}button.secundario{color:inherit;background:0 0;border:1px solid;padding:.5rem .9rem;font-weight:500}.contenido{margin-left:240px;padding:1.5rem 2rem 3rem}.pagina{max-width:920px}.pagina h1{margin:0 0 1.25rem;font-size:1.6rem}.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:12px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.tarjeta h2{margin:0 0 .25rem;font-size:1.1rem}.formulario h2:not(:first-child){border-top:1px solid var(--borde);margin-top:1.5rem;padding-top:1.25rem}.ayuda{color:var(--tinta-suave);margin:0 0 1rem;font-size:.875rem}.pagina a{color:#1f5fa8}.rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.25rem;margin-top:.75rem;display:grid}.rejilla .ancho{grid-column:1/-1}.pagina label{color:var(--tinta-suave);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.pagina label.casilla{color:var(--tinta);flex-direction:row;align-items:center;gap:.5rem;font-size:.9rem}.pagina input:not([type=checkbox]),.pagina textarea{font:inherit;border:1px solid var(--borde);color:var(--tinta);background:#fff;border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.pagina input:focus,.pagina textarea:focus{outline:2px solid var(--acento);outline-offset:0;border-color:#0000}.pagina input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--fondo)}.pagina input.corto{width:7rem}.pie-formulario{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1.5rem;display:flex}.aviso-ok,.aviso-error{margin:.75rem 0 0;font-size:.875rem}.pie-formulario .aviso-ok,.pie-formulario .aviso-error{margin:0}.aviso-ok{color:#18794e}.aviso-error{color:#c0392b}.pagina button.enlace{color:#1f5fa8;padding:.25rem .4rem;font-size:.875rem}.tabla{border-collapse:collapse;width:100%;font-size:.9rem}.tabla th{text-align:left;color:var(--tinta-suave);border-bottom:1px solid var(--borde);padding:.5rem;font-size:.8rem;font-weight:600}.tabla code{white-space:nowrap}.tabla td{border-bottom:1px solid var(--borde);vertical-align:middle;padding:.5rem}.lista-categorias{margin:0 0 1rem;padding:0;list-style:none}.lista-categorias li{border-bottom:1px solid var(--borde);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.lista-categorias li.inactiva .nombre{color:var(--tinta-suave);text-decoration:line-through}.acciones-fila{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.15rem;display:flex}button.icono-boton{color:var(--tinta);border:1px solid var(--borde);background:0 0;padding:.15rem .55rem;font-weight:400}.fila-agregar{gap:.5rem;display:flex}.fila-agregar input{flex:1;min-width:0}.fondo-menu{display:none}@media (width<=800px){.barra-superior{z-index:10;background:var(--fondo);color:var(--texto);align-items:center;gap:.6rem;padding:.6rem 1rem;font-weight:700;display:flex;position:sticky;top:0}.boton-menu{color:var(--texto);background:0 0;padding:.2rem .5rem;font-size:1.3rem}.menu{transition:transform .2s;transform:translate(-100%)}.menu.abierto{transform:none}.fondo-menu{z-index:15;background:#0006;display:block;position:fixed;inset:0}.contenido{margin-left:0;padding:1rem 1rem 3rem}.tarjeta{padding:1rem}.rejilla{grid-template-columns:1fr}.tabla thead{display:none}.tabla tr{border-bottom:1px solid var(--borde);padding:.5rem 0;display:block}.tabla td{border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.tabla td[data-titulo]:before{content:attr(data-titulo);color:var(--tinta-suave);font-size:.8rem}.lista-categorias li{flex-direction:column;align-items:flex-start}}.pagina-ancha{max-width:1200px}.titulo-con-accion{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.titulo-con-accion h1,.titulo-con-accion h2{margin:0}.pagina select{font:inherit;border:1px solid var(--borde);color:var(--tinta);background:#fff;border-radius:8px;padding:.5rem .6rem;font-size:.95rem}.filtros{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.9rem 1rem;display:flex}.filtros .buscador{flex:280px;font-size:1rem}.tabla .numero{text-align:right;white-space:nowrap}.tabla .sub,.sub{color:var(--tinta-suave);font-size:.78rem;font-weight:400}.tabla tr.inactiva,.tarjeta.inactiva{opacity:.55}.etiqueta{color:#8a5a00;vertical-align:middle;background:#fff3d6;border-radius:999px;margin-left:.4rem;padding:.05rem .45rem;font-size:.7rem;display:inline-block}.vencido{color:#c0392b}.paginacion{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.9rem;display:flex}.nota-pie{margin:1rem 0 0}.pestanas{border-bottom:1px solid var(--borde);gap:.25rem;margin-bottom:1rem;display:flex}.pestanas button{color:var(--tinta-suave);background:0 0;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;padding:.6rem 1rem}.pestanas button.activa{color:var(--tinta);border-bottom-color:var(--acento)}.calendario{grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;display:grid}.calendario .dia{border:1px solid var(--borde);border-radius:10px;min-height:5rem;padding:.5rem;font-size:.85rem}.calendario .dia.hoy{border-color:var(--acento);background:#fffaf0}.calendario .dia-nombre{margin-bottom:.35rem;font-weight:600}.calendario .dia-vacio{color:var(--tinta-suave)}.calendario .dia-ruta{border-top:1px dashed var(--borde);padding:.2rem 0}.dias-semana{gap:2px;display:inline-flex}.dias-semana span{color:#aab3bf;background:#f1f3f6;border-radius:4px;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.72rem;display:inline-flex}.dias-semana span.marcado{color:#fff;background:var(--fondo)}.dialogo{width:min(640px,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--tinta,#1b2533);border:0;border-radius:14px;padding:0;box-shadow:0 20px 60px #0000004d}.dialogo::backdrop{background:#0a142380}.dialogo form{flex-direction:column;padding:1.25rem 1.5rem;display:flex}.dialogo h2{margin:0 0 1rem;font-size:1.2rem}.dialogo-cuerpo{flex-direction:column;gap:.85rem;display:flex}.dialogo label{color:#5b6676;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.dialogo label.casilla{color:#1b2533;flex-direction:row;align-items:center;gap:.5rem;font-size:.9rem}.dialogo input:not([type=checkbox]),.dialogo select,.dialogo textarea{font:inherit;color:#1b2533;background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.dialogo input[type=checkbox]{accent-color:#0f2a4a;width:1.1rem;height:1.1rem}.dialogo .rejilla{margin-top:0}.dialogo-pie{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.dialogo .secundario{color:#1b2533}.selector-dias{border:1px solid #dde3ea;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.35rem;padding:.5rem .75rem;display:grid}.selector-dias legend{color:#5b6676;padding:0 .25rem;font-size:.85rem}@media (width<=800px){.calendario{grid-template-columns:1fr}.calendario .dia{min-height:0}.tabla td.numero{text-align:right}.dialogo form{padding:1rem}}
