:root{color-scheme:light;--bg-0:#f6f1ea;--bg-1:#fff;--bg-2:#f1e9df;--bg-3:#e7ddd0;--border:#e1d6c8;--border-strong:#c9bba9;--text-0:#2a221c;--text-1:#6b5f54;--text-2:#9a8d80;--accent:#b5654a;--accent-ink:#fff5ec;--accent-soft:rgba(181,101,74,.12);--ok:#3d8b5f;--ok-soft:rgba(61,139,95,.14);--warn:#b7791f;--warn-soft:rgba(183,121,31,.14);--bad:#c0392b;--bad-soft:rgba(192,57,43,.12);--shadow:0 6px 20px rgba(60,40,20,.12);--radius:14px}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg-0:#171310;--bg-1:#211b17;--bg-2:#2a221d;--bg-3:#352b25;--border:#3b312a;--border-strong:#55473d;--text-0:#f1e8df;--text-1:#bfb1a3;--text-2:#8b7d70;--accent:#d98263;--accent-ink:#1e120c;--accent-soft:rgba(217,130,99,.16);--shadow:0 6px 20px rgba(0,0,0,.45)}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg-0);color:var(--text-0);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.6}input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.input,.select,.textarea{width:100%;background:var(--bg-1);border:1px solid var(--border);color:var(--text-0);border-radius:10px;padding:11px 12px;font-size:16px;outline:none;transition:border-color .12s,box-shadow .12s}.textarea{min-height:88px;resize:vertical}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input.input-error{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}label.field{display:flex;flex-direction:column;gap:6px;min-width:0}label.field>span{font-size:13px;font-weight:600;color:var(--text-1)}.field-err{display:flex;align-items:flex-start;gap:6px;color:var(--bad);font-size:12.5px;line-height:1.4;margin-top:2px}.field-err svg{flex:0 0 auto;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);color:var(--text-0);border-radius:10px;padding:10px 14px;font-weight:600;font-size:14px;min-height:44px;text-decoration:none}.btn:hover{border-color:var(--border-strong)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);border:1px solid transparent;color:var(--accent-ink);border-radius:10px;padding:11px 16px;font-weight:700;font-size:15px;min-height:46px}.btn-primary:hover{filter:brightness(1.05)}.btn-danger{color:var(--bad);border-color:var(--bad);background:transparent}.btn-danger:hover{background:var(--bad-soft)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-1)}.btn-ghost:hover{background:var(--bg-2);border-color:transparent}.btn-block{width:100%}.btn-spinner{display:inline-block;width:14px;height:14px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:res-spin .7s linear infinite;flex:0 0 auto}@keyframes res-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.btn-spinner{animation-duration:1.6s}}.feedback{font-size:13.5px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);line-height:1.45}.feedback.success{border-color:var(--ok);color:var(--ok);background:var(--ok-soft)}.feedback.error{border-color:var(--bad);color:var(--bad);background:var(--bad-soft)}.feedback.warn{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}.auth-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:20px 16px;background:radial-gradient(900px 500px at 50% -10%,var(--accent-soft) 0,var(--bg-0) 60%)}.auth-splash{color:var(--text-2);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:14px}.auth-card{width:100%;max-width:380px;background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;box-shadow:var(--shadow)}.auth-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;margin-bottom:18px}.auth-brand small{display:block;font-weight:500;color:var(--text-2);font-size:12.5px}.logo{width:34px;height:34px;border-radius:9px;flex:0 0 auto;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center}.logo svg{width:22px;height:22px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;padding:4px;margin-bottom:16px}.auth-tabs button{background:transparent;border:none;color:var(--text-1);padding:9px;border-radius:7px;font-weight:600;font-size:14px;min-height:40px}.auth-tabs button.active{background:var(--bg-1);color:var(--text-0);box-shadow:0 1px 3px rgba(0,0,0,.08)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-submit{margin-top:4px;width:100%}.auth-link{display:block;width:100%;text-align:center;margin-top:12px;background:none;border:none;color:var(--accent);font-size:13.5px;padding:6px}.auth-link:hover{text-decoration:underline}.auth-note{color:var(--text-2);font-size:12.5px;text-align:center;margin:10px 0 0;line-height:1.5}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:5;background:var(--bg-1);border-bottom:1px solid var(--border);padding:calc(10px + env(safe-area-inset-top)) 16px 10px}.topbar,.topbar .brand{display:flex;align-items:center;gap:10px}.topbar .brand{font-weight:700;min-width:0;flex:1 1}.topbar .brand span,.topbar .who{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .who{color:var(--text-2);font-size:12px;max-width:38vw}.tabs{display:flex;gap:6px;padding:10px 16px 0;background:var(--bg-1);border-bottom:1px solid var(--border)}.tabs button{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-1);padding:8px 10px 10px;font-weight:600;font-size:14px}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent)}.main{flex:1 1;padding:14px 16px 96px;max-width:900px;width:100%;margin:0 auto}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.toolbar .input{flex:1 1 180px}.toolbar .select{flex:0 1 190px;width:auto}.resumen{color:var(--text-2);font-size:13px;margin:0 0 10px}.lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.tarjeta{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;text-align:left;padding:0;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.05)}.tarjeta:hover{border-color:var(--border-strong)}.tarjeta .foto{aspect-ratio:1/1;width:100%;background:var(--bg-2);display:grid;place-items:center;color:var(--text-2);overflow:hidden}.tarjeta .foto img{width:100%;height:100%;object-fit:cover}.tarjeta .cuerpo{padding:9px 10px 10px;display:flex;flex-direction:column;gap:3px}.tarjeta .nombre{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tarjeta .fecha{color:var(--text-2);font-size:12px}.badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:var(--ok-soft);color:var(--ok);align-self:flex-start}.badge.devuelta{background:var(--warn-soft);color:var(--warn)}.badge.perdida{background:var(--bad-soft);color:var(--bad)}.vacio{text-align:center;color:var(--text-2);padding:48px 16px;border:1px dashed var(--border-strong);border-radius:var(--radius);font-size:14px}.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:6;background:var(--accent);color:var(--accent-ink);border:none;border-radius:999px;padding:14px 20px;font-weight:700;font-size:15px;box-shadow:var(--shadow);display:inline-flex;align-items:center;gap:8px;min-height:52px}.hoja-fondo{position:fixed;inset:0;z-index:20;background:rgba(20,12,6,.55);display:flex;align-items:flex-end;justify-content:center}.hoja{background:var(--bg-1);width:100%;max-width:560px;max-height:94vh;max-height:94dvh;overflow:auto;border-radius:18px 18px 0 0;padding:14px 16px calc(20px + env(safe-area-inset-bottom))}@media (min-width:700px){.hoja-fondo{align-items:center;padding:20px}.hoja{border-radius:18px;max-height:90vh}}.hoja-cab{display:flex;align-items:center;gap:10px;margin-bottom:12px}.hoja-cab h2{margin:0;font-size:18px;flex:1 1}.hoja .cerrar{background:var(--bg-2);border:1px solid var(--border);border-radius:999px;width:38px;height:38px;display:grid;place-items:center;color:var(--text-1);font-size:18px}.form{display:flex;flex-direction:column;gap:14px}.form .fila{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.acciones{display:flex;gap:10px;margin-top:4px;flex-wrap:wrap}.acciones .btn-primary{flex:1 1 160px}.foto-zona{border:1px dashed var(--border-strong);border-radius:12px;background:var(--bg-2);min-height:160px;display:grid;place-items:center;overflow:hidden;position:relative}.foto-zona img{width:100%;max-height:46vh;object-fit:contain;background:#000}.foto-zona .sin{color:var(--text-2);font-size:14px;text-align:center;padding:20px}.foto-botones{display:flex;gap:8px;flex-wrap:wrap}.foto-botones .btn{flex:1 1 140px}.foto-botones input[type=file]{display:none}.ficha-foto{border-radius:12px;overflow:hidden;background:#000;margin-bottom:12px}.ficha-foto img{width:100%;max-height:55vh;object-fit:contain}.ficha dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:6px 14px;gap:6px 14px;margin:0 0 14px;font-size:14.5px}.ficha dt{color:var(--text-2)}.ficha dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.miembros{display:flex;flex-direction:column;gap:10px}.miembro{background:var(--bg-1);border:1px solid var(--border);border-radius:12px;padding:12px 14px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.miembro .correo{flex:1 1 200px;min-width:0;overflow-wrap:anywhere;font-weight:600}.miembro .rol{font-size:12px;color:var(--text-2)}.miembro .btns{display:flex;gap:6px;flex-wrap:wrap}.miembro .btn{min-height:38px;padding:6px 12px;font-size:13px}.miembro.pendiente{border-color:var(--warn)}.pendiente-pantalla{text-align:center;padding:40px 16px;max-width:420px;margin:0 auto}.pendiente-pantalla h2{margin:12px 0 8px}.pendiente-pantalla p{color:var(--text-1)}.pasos{margin:0 0 12px;padding-left:22px;display:grid;grid-gap:8px;gap:8px;font-size:14.5px}.pasos li{padding-left:2px}.auth-card .btn-block{margin-top:14px}