:root{--bg:#f9f7f4;--card:#fff;--ink:#1e1510;--ink2:#6b5d52;--muted:#9a8878;--brand:#b85c15;--brand-d:#8b4210;--brand-light:#fdece0;--espresso:#1c1208;--espresso-2:#2a1a0d;--line:#ece6db;--green:#16a34a;--green-bg:#dcfce7;--amber:#d97706;--amber-bg:#fef3c7;--blue:#2563eb;--blue-bg:#eff6ff;--red:#dc2626;--red-bg:#fee2e2;--shadow-sm:0 1px 2px rgba(43,26,10,.05),0 1px 1px rgba(43,26,10,.04);--shadow-md:0 2px 6px rgba(43,26,10,.06),0 8px 20px -6px rgba(43,26,10,.12);--shadow-lg:0 6px 16px rgba(43,26,10,.1),0 16px 36px -12px rgba(43,26,10,.18);--shadow-brand:0 6px 18px -4px rgba(184,92,21,.38);--radius:16px;--radius-sm:10px;--radius-lg:20px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px}*{box-sizing:border-box}body,html{overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.wrap{max-width:1000px;margin:0 auto;padding:0 var(--sp-4)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-5);box-shadow:var(--shadow-sm)}h1,h2,h3{margin:0;font-weight:800;letter-spacing:-.02em}p{line-height:1.45}button{font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.97)}input,select{font-family:inherit;font-size:16px;padding:11px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:#fff;color:var(--ink);outline:none;width:100%;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.btn{background:var(--brand);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px 16px;font-size:15px;font-weight:700;letter-spacing:-.01em;transition:background-color .18s ease,transform .12s ease,box-shadow .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{background:var(--brand-d)}.btn:disabled{opacity:.5}.btn:disabled,.btn:disabled:active{transform:none}.btn.exito{background:var(--green)}.btn-ghost{background:#fff;color:var(--ink2);border:1px solid var(--line);border-radius:9px;padding:8px 12px;font-size:14px;font-weight:600;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-d);background:var(--brand-light)}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.top{background:linear-gradient(160deg,var(--espresso-2) 0,var(--espresso) 55%,#150d05 100%);color:#f3e7d8;padding:14px 0;box-shadow:inset 0 2px 0 rgba(184,92,21,.25);position:relative}.top:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(184,92,21,.5),transparent)}.top .wrap{display:flex;justify-content:space-between;align-items:center;gap:10px}.top .logo{height:32px;width:auto;display:block;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25)}.tag{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-d);background:var(--brand-light);padding:4px 10px;border-radius:7px;display:inline-block}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid var(--line);font-size:14px}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}tbody tr{transition:background-color .12s ease}tbody tr:hover{background:#fbf8f3}.seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;flex-wrap:wrap}.seg button{background:#fff;border:none;padding:9px 13px;font-size:14px;color:var(--ink2);font-weight:600;transition:background-color .15s ease,color .15s ease}.seg button.on{background:var(--brand);color:#fff}.muted{color:var(--muted)}.small{font-size:12.5px}.rojo{color:var(--red)}.rojo,.verde{font-weight:700}.verde{color:var(--green)}.seccion-titulo{font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:22px 2px 10px}.grilla-tipos{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px}.tile-wrap{position:relative}.tile{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:88px;padding:10px 8px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);font-weight:700;font-size:13px;text-align:center;color:var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:var(--shadow-sm);transition:transform .1s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.tile:active{transform:scale(.95);background:var(--brand-light);border-color:var(--brand)}.tile.flash{animation:tileFlash .45s ease}.tile .emoji{font-size:27px;line-height:1}.badge{position:absolute;top:-9px;right:-9px;background:var(--brand);color:#fff;border-radius:999px;min-width:27px;height:27px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;padding:0 6px;box-shadow:0 2px 6px rgba(184,92,21,.5);pointer-events:none;border:2px solid #fff}.badge.pop{animation:badgePop .32s cubic-bezier(.34,1.56,.64,1)}.menos{position:absolute;bottom:-9px;left:-9px;width:27px;height:27px;border-radius:999px;background:#fff;border:1.5px solid var(--line);color:var(--ink2);font-size:15px;font-weight:800;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:var(--shadow-sm);transition:border-color .15s ease,color .15s ease}.menos:active{border-color:var(--brand);color:var(--brand-d)}@keyframes tileFlash{0%{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-light)}to{border-color:var(--line);box-shadow:var(--shadow-sm)}}@keyframes badgePop{0%{transform:scale(1)}40%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}@keyframes popIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes checkDraw{0%{transform:scale(.5) rotate(-10deg);opacity:0}60%{transform:scale(1.15) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.navbar{position:fixed;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:flex;box-shadow:0 -4px 16px rgba(43,26,10,.06);z-index:20;padding:6px 8px calc(6px + env(safe-area-inset-bottom));gap:4px}.navbar a{flex:1 1;flex-direction:column;gap:3px;padding:6px 4px;text-decoration:none;color:var(--muted);font-size:10.5px;font-weight:700;border-radius:14px;transition:background-color .2s ease,color .2s ease}.navbar a,.navbar a .ic{display:flex;align-items:center}.navbar a .ic{font-size:18px;width:34px;height:34px;justify-content:center;border-radius:999px;transition:background-color .2s ease,transform .2s ease}.navbar a.on{color:var(--brand-d)}.navbar a.on .ic{background:var(--brand-light);transform:translateY(-1px)}.navbar a:active .ic{transform:scale(.92)}.contenido{padding:var(--sp-5) var(--sp-4) 96px}.listo-bar{position:fixed;left:0;right:16px;bottom:74px;display:flex;justify-content:flex-end;pointer-events:none;z-index:19}.listo-bar .btn{pointer-events:auto;box-shadow:var(--shadow-brand);padding:15px 24px;border-radius:999px;font-size:15.5px;min-width:150px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:9px 15px;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink2);font-size:13px;font-weight:700;transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .1s ease;min-height:40px}.chip.on{background:var(--espresso);color:#fff;border-color:var(--espresso)}.chip:active{transform:scale(.96)}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:11px 20px;border-radius:999px;font-weight:800;font-size:14px;box-shadow:var(--shadow-lg);z-index:40;animation:popIn .25s cubic-bezier(.34,1.56,.64,1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-8) var(--sp-4);gap:6px}.empty-state .ic{font-size:40px;line-height:1;margin-bottom:4px}.empty-state .titulo{font-weight:800;font-size:15px;color:var(--ink)}.empty-state .sub{font-size:13px;color:var(--muted)}.diff-ok{color:var(--green)}.diff-off,.diff-ok{font-weight:800;font-size:12.5px;transition:color .15s ease}.diff-off{color:var(--brand-d)}.login-logo{animation:logoEnter .6s cubic-bezier(.22,1,.36,1) both}@keyframes logoEnter{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}.search{position:relative}.search input{padding-left:38px}.search .ic{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px;pointer-events:none}.autocomplete-list{max-height:0;opacity:0;overflow-y:auto;margin-top:0;display:flex;flex-direction:column;gap:6px;transition:max-height .28s ease,opacity .2s ease,margin-top .28s ease}.autocomplete-list.open{max-height:318px;opacity:1;margin-top:8px}.nombre-row{display:flex;align-items:center;width:100%;min-height:48px;flex-shrink:0;padding:12px 14px;background:#fff;border:1.5px solid var(--line);border-radius:var(--radius-sm);font-weight:700;font-size:14px;text-align:left;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .15s ease,background-color .15s ease}.nombre-row:active{background:var(--brand-light);border-color:var(--brand)}.nombre-chip{justify-content:space-between;gap:10px;padding:13px 14px;border:2px solid var(--brand);border-radius:var(--radius-sm);background:var(--brand-light);color:var(--brand-d);font-weight:800;font-size:14.5px;box-shadow:0 4px 12px -3px rgba(184,92,21,.35);animation:popIn .2s ease}.login-err,.nombre-chip{display:flex;align-items:center}.login-err{color:var(--red);font-size:13px;margin-top:10px;font-weight:700;gap:5px}.shake{animation:shake .4s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}@media(max-width:600px){.hide-sm{display:none}}