:root{--bg:#f8fafc;--superficie:#fff;--texto:#0f172a;--texto-suave:#64748b;--borde:#e2e8f0;--primario:#0f766e;--primario-suave:#ccfbf1;--peligro:#dc2626;--sombra:0 1px 3px #0f172a14, 0 1px 2px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--texto);background:var(--bg);-webkit-font-smoothing:antialiased;font:15px/1.45 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b1220;--superficie:#111827;--texto:#f1f5f9;--texto-suave:#94a3b8;--borde:#1f2937;--primario:#2dd4bf;--primario-suave:#134e4a;--sombra:0 1px 3px #0006, 0 1px 2px #0000004d}}*{box-sizing:border-box}body,h1,h2,h3{margin:0}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}.app{background:var(--bg);max-width:480px;min-height:100svh;padding-bottom:env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex;position:relative}.app-header{z-index:10;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--primario);color:#fff;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-header h1{letter-spacing:.3px;font-size:18px;font-weight:700}.app-main{flex:1;padding:12px 16px 96px;overflow-y:auto}.menu-backup{position:relative}.btn-icono{color:#fff;background:0 0;border:none;border-radius:8px;padding:4px 8px;font-size:22px;line-height:1}.menu-desplegable{background:var(--superficie);border:1px solid var(--borde);box-shadow:var(--sombra);border-radius:10px;min-width:190px;position:absolute;top:36px;right:0;overflow:hidden}.menu-desplegable button{text-align:left;width:100%;color:var(--texto);background:0 0;border:none;padding:12px 14px;font-size:14px;display:block}.menu-desplegable button:hover{background:var(--bg)}.banner-vencidas{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:13px;font-weight:600}@media (prefers-color-scheme:dark){.banner-vencidas{color:#fca5a5;background:#3f1414;border-color:#7f1d1d}}.filtros-estado{gap:6px;margin-bottom:10px;display:flex}.filtro-tab{border:1px solid var(--borde);background:var(--superficie);color:var(--texto-suave);border-radius:999px;flex:1;padding:8px 4px;font-size:12.5px;font-weight:600}.filtro-tab-activo{background:var(--primario);border-color:var(--primario);color:#fff}.filtros-categoria{scrollbar-width:none;gap:6px;margin-bottom:4px;padding-bottom:10px;display:flex;overflow-x:auto}.filtros-categoria::-webkit-scrollbar{display:none}.chip{border:1px solid var(--borde);background:var(--superficie);color:var(--texto);white-space:nowrap;border-radius:999px;flex:none;padding:7px 12px;font-size:13px}.chip-activo{color:#fff}.tarjetas{flex-direction:column;gap:8px;display:flex}.tarjeta-tarea{text-align:left;background:var(--superficie);border:1px solid var(--borde);width:100%;box-shadow:var(--sombra);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.tarjeta-tarea.estado-hecho{opacity:.55}.tarjeta-icono{border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;display:flex}.tarjeta-icono.grande{border-radius:12px;width:48px;height:48px;font-size:22px}.tarjeta-contenido{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tarjeta-titulo{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.tarjeta-meta{color:var(--texto-suave);align-items:center;gap:8px;font-size:11.5px;display:flex}.etiqueta{text-transform:capitalize}.prioridad-alta,.etiqueta-fecha.vencida{color:var(--peligro);font-weight:700}.punto-estado{background:#cbd5e1;border-radius:999px;flex:none;width:8px;height:8px}.punto-en_curso{background:#f59e0b}.punto-hecho{background:#22c55e}.lista-vacia{color:var(--texto-suave);text-align:center;padding:24px 0;font-size:13.5px}.fab{bottom:calc(24px + env(safe-area-inset-bottom));background:var(--primario);color:#fff;border:none;border-radius:999px;width:56px;height:56px;font-size:28px;position:fixed;left:50%;transform:translate(calc(200px - 50%));box-shadow:0 6px 16px #0f766e66}@media (width<=480px){.fab{left:auto;right:20px;transform:none}}.formulario{flex-direction:column;gap:14px;display:flex}.campo{color:var(--texto-suave);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.campo input,.campo textarea,.campo select{border:1px solid var(--borde);background:var(--superficie);color:var(--texto);border-radius:10px;padding:10px 12px;font-size:15px;font-weight:400}.campo-checkbox{flex-direction:row;align-items:center;gap:8px}.fila-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.chips-categoria{flex-wrap:wrap;gap:6px;display:flex}.acciones-formulario{gap:10px;margin-top:8px;display:flex}.btn{border:none;border-radius:10px;flex:1;padding:12px;font-size:15px;font-weight:600}.btn-primario{background:var(--primario);color:#fff}.btn-secundario{background:var(--superficie);color:var(--texto);border:1px solid var(--borde)}.btn-peligro{color:var(--peligro);border:1px solid var(--peligro);background:0 0}.btn-volver{color:var(--primario);background:0 0;border:none;padding:6px 0 12px;font-size:14px;font-weight:600}.detalle-encabezado{align-items:center;gap:12px;margin-bottom:10px;display:flex}.detalle-encabezado h2{font-size:17px}.detalle-descripcion{color:var(--texto-suave);white-space:pre-wrap;margin-bottom:10px;font-size:14px}.detalle-campos p{margin:4px 0;font-size:13.5px}.selector-estado{gap:6px;margin:14px 0;display:flex}.btn-estado{border:1px solid var(--borde);background:var(--superficie);color:var(--texto-suave);border-radius:999px;flex:1;padding:8px 4px;font-size:12.5px;font-weight:600}.btn-estado-activo{background:var(--primario-suave);border-color:var(--primario);color:var(--primario)}.bitacora{border-top:1px solid var(--borde);margin-top:18px;padding-top:12px}.bitacora h3{margin-bottom:8px;font-size:14px}.bitacora ul{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.bitacora li{background:var(--superficie);border:1px solid var(--borde);border-radius:8px;padding:8px 10px;font-size:13px}.fila-nota{gap:8px;display:flex}.fila-nota input{border:1px solid var(--borde);background:var(--superficie);color:var(--texto);border-radius:10px;flex:1;padding:9px 12px}
