.toast-stack[data-v-b85e5e7a]{position:fixed;top:1rem;right:1rem;z-index:9999;pointer-events:none;width:340px;max-width:calc(100vw - 2rem)}.toast-inner[data-v-b85e5e7a]{display:flex;flex-direction:column;gap:.5rem}.toast-item[data-v-b85e5e7a]{pointer-events:all;display:flex;align-items:flex-start;gap:.65rem;padding:.7rem .85rem;border-radius:8px;border:1px solid transparent;cursor:pointer;font-family:Barlow,sans-serif;font-size:.82rem;line-height:1.4;box-shadow:0 8px 32px #00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:opacity .15s,transform .15s}.toast-item[data-v-b85e5e7a]:hover{filter:brightness(1.1)}.toast-success[data-v-b85e5e7a]{background:#00c86424;border-color:#00c86459;color:#00c964}.toast-error[data-v-b85e5e7a]{background:#f0323c24;border-color:#f0323c59;color:#e63946}.toast-warn[data-v-b85e5e7a]{background:#e6b40024;border-color:#e6b40059;color:#d4a000}.toast-info[data-v-b85e5e7a]{background:#28a0e624;border-color:#28a0e659;color:#2196f3}html.light-mode .toast-success[data-v-b85e5e7a]{background:#00a0501f;border-color:#00a05066;color:#00864a}html.light-mode .toast-error[data-v-b85e5e7a]{background:#dc1e321f;border-color:#dc1e3266;color:#c41828}html.light-mode .toast-warn[data-v-b85e5e7a]{background:#c896001f;border-color:#c8960066;color:#9a7200}html.light-mode .toast-info[data-v-b85e5e7a]{background:#1478c81f;border-color:#1478c866;color:#0d6ebd}.toast-icon[data-v-b85e5e7a]{flex-shrink:0;margin-top:1px}.toast-icon svg[data-v-b85e5e7a]{width:15px;height:15px;display:block}.toast-msg[data-v-b85e5e7a]{flex:1;color:var(--text, #ebebf0);font-weight:500}.toast-close[data-v-b85e5e7a]{flex-shrink:0;background:none;border:none;cursor:pointer;color:inherit;opacity:.5;padding:0;display:flex;align-items:center;transition:opacity .15s;margin-top:1px}.toast-close svg[data-v-b85e5e7a]{width:13px;height:13px}.toast-close[data-v-b85e5e7a]:hover{opacity:1}.toast-enter-active[data-v-b85e5e7a]{transition:all .22s cubic-bezier(.2,0,0,1)}.toast-leave-active[data-v-b85e5e7a]{transition:all .18s ease}.toast-enter-from[data-v-b85e5e7a],.toast-leave-to[data-v-b85e5e7a]{opacity:0;transform:translate(40px)}.toast-move[data-v-b85e5e7a]{transition:transform .22s ease}.confirm-overlay[data-v-f66c75c6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.confirm-box[data-v-f66c75c6]{background:var(--surface, #1a1d2e);border:1px solid var(--border, #2a2d40);border-radius:14px;padding:1.8rem 2rem 1.4rem;max-width:380px;width:calc(100vw - 2rem);text-align:center;box-shadow:0 20px 60px #00000080}.confirm-icon-wrap[data-v-f66c75c6]{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;margin:0 auto 1rem}.confirm-danger .confirm-icon-wrap[data-v-f66c75c6]{background:#ff3d521f;color:#ff3d52}.confirm-warn .confirm-icon-wrap[data-v-f66c75c6]{background:#ffd7401f;color:#ffd740}.confirm-title[data-v-f66c75c6]{font-family:Barlow,sans-serif;font-size:1.05rem;font-weight:700;color:var(--text, #ebebf0);margin:0 0 .4rem}.confirm-msg[data-v-f66c75c6]{font-size:.82rem;color:var(--muted, #6868a0);line-height:1.5;margin:0 0 1.3rem}.confirm-btns[data-v-f66c75c6]{display:flex;gap:.6rem;justify-content:center}.confirm-btn-cancel[data-v-f66c75c6],.confirm-btn-action[data-v-f66c75c6]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1.2rem;border-radius:8px;font-family:Barlow,sans-serif;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s;border:none}.confirm-btn-cancel[data-v-f66c75c6]{background:var(--s2, #1e2130);border:1px solid var(--border, #2a2d40);color:var(--text2, #c8c8d4)}.confirm-btn-cancel[data-v-f66c75c6]:hover{border-color:var(--accent, #6c5ce7);color:var(--accent, #6c5ce7)}.confirm-btn-action.btn-danger[data-v-f66c75c6]{background:#ff3d5226;color:#ff3d52}.confirm-btn-action.btn-danger[data-v-f66c75c6]:hover{background:#ff3d524d}.confirm-btn-action.btn-warn[data-v-f66c75c6]{background:#ffd74026;color:#e6b800}.confirm-btn-action.btn-warn[data-v-f66c75c6]:hover{background:#ffd7404d}.confirm-fade-enter-active[data-v-f66c75c6]{transition:all .2s ease}.confirm-fade-leave-active[data-v-f66c75c6]{transition:all .15s ease}.confirm-fade-enter-from[data-v-f66c75c6],.confirm-fade-leave-to[data-v-f66c75c6]{opacity:0}.confirm-fade-enter-from .confirm-box[data-v-f66c75c6]{transform:scale(.92)}.confirm-fade-leave-to .confirm-box[data-v-f66c75c6]{transform:scale(.95)}@media(max-width:480px){.confirm-box[data-v-f66c75c6]{padding:1.4rem 1.2rem 1.2rem}.confirm-btns[data-v-f66c75c6]{flex-direction:column-reverse}.confirm-btn-cancel[data-v-f66c75c6],.confirm-btn-action[data-v-f66c75c6]{width:100%;justify-content:center}}.auth-overlay[data-v-59be70ae]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.auth-modal[data-v-59be70ae]{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:340px;max-width:95vw;box-shadow:0 24px 60px #00000080;overflow:hidden}.auth-hdr[data-v-59be70ae]{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 0}.auth-tabs[data-v-59be70ae]{display:flex;gap:2px}.auth-tab[data-v-59be70ae]{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);font-size:.8rem;font-weight:600;font-family:inherit;padding:6px 12px;cursor:pointer;transition:all .15s}.auth-tab.active[data-v-59be70ae]{color:var(--accent);border-bottom-color:var(--accent)}.auth-close[data-v-59be70ae]{background:none;border:none;color:var(--muted2);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center}.auth-close[data-v-59be70ae]:hover{color:var(--text)}.auth-form[data-v-59be70ae]{padding:16px 20px 20px;display:flex;flex-direction:column;gap:8px}.auth-brand[data-v-59be70ae]{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:var(--text);margin-bottom:2px}.auth-logo[data-v-59be70ae]{width:18px;height:18px;color:var(--accent)}.auth-brand strong[data-v-59be70ae]{color:var(--accent)}.auth-sub[data-v-59be70ae]{font-size:.72rem;color:var(--muted);line-height:1.4;margin:0 0 4px}.auth-label[data-v-59be70ae]{font-size:.72rem;font-weight:600;color:var(--text2)}.auth-input[data-v-59be70ae]{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-size:.82rem;padding:7px 10px;outline:none;transition:var(--t);font-family:inherit}.auth-input[data-v-59be70ae]:focus{border-color:var(--accent)}.auth-input[data-v-59be70ae]::placeholder{color:var(--muted2)}.auth-btn[data-v-59be70ae]{background:var(--accent);color:#0d0f14;border:none;border-radius:var(--r);font-size:.82rem;font-weight:700;font-family:inherit;padding:9px;cursor:pointer;transition:var(--t);display:flex;align-items:center;justify-content:center;gap:6px;margin-top:4px}.auth-btn[data-v-59be70ae]:hover:not(:disabled){filter:brightness(1.1)}.auth-btn[data-v-59be70ae]:disabled{opacity:.5;cursor:not-allowed}.auth-error[data-v-59be70ae]{font-size:.72rem;color:#ff3d52;background:#ff3d5214;border:1px solid rgba(255,61,82,.25);border-radius:var(--r);padding:6px 10px;margin:0}.auth-ok[data-v-59be70ae]{font-size:.72rem;color:var(--accent);background:#00d4aa14;border:1px solid rgba(0,212,170,.25);border-radius:var(--r);padding:6px 10px;margin:0}.auth-code[data-v-59be70ae]{letter-spacing:.5em;text-align:center;font-size:1.05rem;font-weight:700}.auth-via[data-v-59be70ae]{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .2rem}.auth-via-op[data-v-59be70ae]{flex:1 1 8rem;padding:.5rem .6rem;border-radius:8px;cursor:pointer;border:1px solid var(--border);background:var(--bg2);color:var(--text2);font-size:.76rem;font-weight:600;line-height:1.2;text-align:center;transition:border-color .15s,color .15s,background .15s}.auth-via-op[data-v-59be70ae]:hover{border-color:var(--accent)}.auth-via-op.is-on[data-v-59be70ae]{border-color:var(--accent);color:var(--accent);background:var(--bg3)}.auth-fila[data-v-59be70ae]{display:flex;gap:.5rem;flex-wrap:wrap}.auth-col[data-v-59be70ae]{flex:1 1 130px;display:flex;flex-direction:column;gap:4px;min-width:0}.auth-opt[data-v-59be70ae]{opacity:.6;font-weight:400}select.auth-input[data-v-59be70ae]{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 9px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select.auth-input option[data-v-59be70ae],select.auth-input optgroup[data-v-59be70ae]{background:var(--s2);color:var(--text)}.auth-usuario[data-v-59be70ae]{font-size:.74rem;color:var(--text2);margin:0 0 2px;background:#00d4aa12;border:1px solid rgba(0,212,170,.22);border-radius:var(--r);padding:6px 10px;line-height:1.45}.auth-usuario strong[data-v-59be70ae]{color:var(--accent);word-break:break-all}.auth-usuario-nota[data-v-59be70ae]{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}.auth-caja-usuario[data-v-59be70ae]{background:#00d4aa1f;border:1px solid var(--accent);border-radius:8px;padding:.6rem .8rem;margin-bottom:.7rem}.auth-caja-tit[data-v-59be70ae]{font-size:.72rem;color:var(--text2)}.auth-caja-valor[data-v-59be70ae]{font-size:1.05rem;font-weight:700;color:var(--accent);word-break:break-all;margin:2px 0}.auth-caja-nota[data-v-59be70ae]{font-size:.68rem;color:var(--muted);line-height:1.4}.auth-switch[data-v-59be70ae]{font-size:.72rem;color:var(--muted);text-align:center;margin:0}.auth-switch a[data-v-59be70ae]{color:var(--accent);cursor:pointer;font-weight:600}.auth-switch a[data-v-59be70ae]:hover{text-decoration:underline}.auth-muted[data-v-59be70ae]{color:var(--muted2)}.spin[data-v-59be70ae]{animation:spin-59be70ae .7s linear infinite}@keyframes spin-59be70ae{to{transform:rotate(360deg)}}.com-overlay[data-v-0a04e503]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.com-caja[data-v-0a04e503]{background:var(--surface, #1a1d2e);border:1px solid var(--border, #2a2d40);border-radius:14px;width:100%;max-width:440px;max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:0 20px 60px #00000080}.com-hdr[data-v-0a04e503]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;border-bottom:1px solid var(--border, #2a2d40)}.com-titulo[data-v-0a04e503]{display:flex;align-items:center;gap:.45rem;font-family:Barlow,sans-serif;font-size:.92rem;font-weight:700;color:var(--text, #ebebf0)}.com-titulo svg[data-v-0a04e503]{color:var(--accent, #00d4aa);flex-shrink:0}.com-cerrar[data-v-0a04e503]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:none;border-radius:var(--r, 6px);color:var(--muted, #6a6f88);cursor:pointer;flex-shrink:0}.com-cerrar[data-v-0a04e503]:hover{background:var(--s2, #1e2130);color:var(--text2, #c8c8d4)}.com-form[data-v-0a04e503],.com-ok[data-v-0a04e503]{padding:1rem}.com-intro[data-v-0a04e503]{font-size:.76rem;color:var(--muted, #6a6f88);line-height:1.5;margin:0 0 .85rem}.com-label[data-v-0a04e503]{display:block;font-size:.72rem;font-weight:700;color:var(--text2, #c8c8d4);margin:0 0 .3rem}.com-opt[data-v-0a04e503]{font-weight:600;color:var(--muted, #6a6f88);font-size:.68rem}.com-textarea[data-v-0a04e503],.com-input[data-v-0a04e503]{width:100%;background:var(--s2, #1e2130);border:1px solid var(--border, #2a2d40);border-radius:8px;padding:.55rem .65rem;color:var(--text, #ebebf0);font-family:Barlow,sans-serif;font-size:16px;line-height:1.45;outline:none;transition:border-color .12s}.com-textarea[data-v-0a04e503]{resize:vertical;min-height:96px}.com-textarea[data-v-0a04e503]:focus,.com-input[data-v-0a04e503]:focus{border-color:var(--accent, #00d4aa)}.com-contador[data-v-0a04e503]{font-size:.68rem;color:var(--muted, #6a6f88);text-align:right;margin:.25rem 0 .8rem}.com-contador-tope[data-v-0a04e503]{color:#e0a021;font-weight:700}.com-trampa[data-v-0a04e503]{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.com-error[data-v-0a04e503]{font-size:.74rem;color:#ff3d52;line-height:1.45;margin:.75rem 0 0}.com-descartar[data-v-0a04e503]{margin-top:1rem;padding:.75rem .85rem;border:1px solid rgba(224,160,33,.45);border-radius:8px;background:#e0a0211a}.com-descartar strong[data-v-0a04e503]{display:block;font-size:.8rem;color:var(--text, #ebebf0)}.com-descartar p[data-v-0a04e503]{font-size:.74rem;color:var(--text2, #c8c8d4);line-height:1.45;margin:.3rem 0 0}.com-descartar-btns[data-v-0a04e503]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.7rem}.com-btn-descartar[data-v-0a04e503]{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;font-family:Barlow,sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;background:#ff3d521f;border:1px solid rgba(255,61,82,.4);color:#ff3d52}.com-btn-descartar[data-v-0a04e503]:hover{background:#ff3d52;color:#fff}.com-btns[data-v-0a04e503]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.com-btn-cancel[data-v-0a04e503],.com-btn-enviar[data-v-0a04e503]{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem 1.1rem;border-radius:8px;font-family:Barlow,sans-serif;font-size:.8rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .12s}.com-btn-cancel[data-v-0a04e503]{background:var(--s2, #1e2130);border-color:var(--border, #2a2d40);color:var(--text2, #c8c8d4)}.com-btn-cancel[data-v-0a04e503]:hover{border-color:var(--accent, #00d4aa);color:var(--accent, #00d4aa)}.com-btn-enviar[data-v-0a04e503]{background:var(--accent-dim, rgba(0, 212, 170, .12));border-color:var(--accent-border, rgba(0, 212, 170, .35));color:var(--accent, #00d4aa)}.com-btn-enviar[data-v-0a04e503]:hover:not(:disabled){background:var(--accent, #00d4aa);color:#06121a}.com-btn-enviar[data-v-0a04e503]:disabled{opacity:.45;cursor:not-allowed}.com-ok[data-v-0a04e503]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:1.6rem 1.2rem;color:var(--accent, #00d4aa)}.com-ok strong[data-v-0a04e503]{font-size:.95rem;color:var(--text, #ebebf0)}.com-ok p[data-v-0a04e503]{font-size:.78rem;color:var(--muted, #6a6f88);line-height:1.5;margin:0}.com-spin[data-v-0a04e503]{animation:com-girar-0a04e503 .9s linear infinite}@keyframes com-girar-0a04e503{to{transform:rotate(360deg)}}@media(max-width:480px){.com-btns[data-v-0a04e503],.com-descartar-btns[data-v-0a04e503]{flex-direction:column-reverse}.com-btn-cancel[data-v-0a04e503],.com-btn-enviar[data-v-0a04e503],.com-btn-descartar[data-v-0a04e503]{width:100%}}.splash-root[data-v-937770d0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#0d0f14;display:flex;align-items:center;justify-content:center;overflow:hidden}.bg-circ[data-v-937770d0]{position:absolute;top:10%;width:60px;height:300px;pointer-events:none}.bg-circ--l[data-v-937770d0]{left:0}.bg-circ--r[data-v-937770d0]{right:0}.splash-center[data-v-937770d0]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.splash-letters[data-v-937770d0]{display:flex;gap:2px}.splash-letter[data-v-937770d0]{display:inline-block;font-family:Barlow Condensed,Barlow,sans-serif;font-size:clamp(48px,15vw,80px);font-weight:900;color:#00d4aa;letter-spacing:.04em;text-shadow:0 0 30px rgba(0,212,170,.5),0 0 60px rgba(0,212,170,.2);opacity:0;transform:translateY(30px) scale(.5)}.show .splash-letter[data-v-937770d0]{animation:letterPop-937770d0 .45s cubic-bezier(.34,1.7,.64,1) forwards}@keyframes letterPop-937770d0{to{opacity:1;transform:translateY(0) scale(1)}}.splash-sub[data-v-937770d0]{font-family:Barlow,sans-serif;font-size:clamp(11px,3vw,15px);font-weight:600;color:#4a5568;letter-spacing:.25em;text-transform:uppercase;opacity:0}.show .splash-sub[data-v-937770d0]{animation:fadeUp-937770d0 .4s .55s ease forwards}@keyframes fadeUp-937770d0{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.splash-fade-leave-active[data-v-937770d0]{transition:opacity .45s ease}.splash-fade-leave-to[data-v-937770d0]{opacity:0}.notif-bell-wrap[data-v-55de5465]{position:relative;display:flex;align-items:center}.notif-bell-btn[data-v-55de5465]{position:relative;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--s2);color:var(--muted);cursor:pointer;transition:all .15s;flex-shrink:0}.notif-bell-btn[data-v-55de5465]:hover{background:var(--s3);color:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #00d4aa33}.notif-badge[data-v-55de5465]{position:absolute;top:-4px;right:-4px;background:#ff3d52;color:#fff;font-size:.55rem;font-weight:800;min-width:14px;height:14px;border-radius:7px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;box-shadow:0 0 0 2px var(--bg)}.notif-overlay[data-v-55de5465]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:998}.notif-panel[data-v-55de5465]{position:absolute;top:calc(100% + 10px);right:0;width:320px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #0000008c,0 0 0 1px #ffffff0a;z-index:999;overflow:hidden}.notif-panel-header[data-v-55de5465]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--s2)}.notif-panel-title[data-v-55de5465]{font-size:.75rem;font-weight:800;color:var(--text);letter-spacing:.03em;text-transform:uppercase}.notif-mark-all[data-v-55de5465]{background:none;border:none;color:var(--accent);font-size:.68rem;font-weight:700;font-family:inherit;cursor:pointer;padding:2px 0;transition:opacity .15s}.notif-mark-all[data-v-55de5465]:hover{opacity:.75}.notif-loading[data-v-55de5465],.notif-empty[data-v-55de5465]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--muted);font-size:.8rem;flex-direction:column}.notif-list[data-v-55de5465]{list-style:none;max-height:380px;overflow-y:auto;padding:4px;margin:0}.notif-item[data-v-55de5465]{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;transition:background .12s;position:relative}.notif-item[data-v-55de5465]:hover{background:var(--s2)}.notif-item-unread[data-v-55de5465]{background:#00d4aa0d}.notif-item-unread[data-v-55de5465]:hover{background:#00d4aa17}.notif-icon[data-v-55de5465]{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--s2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-top:1px}.notif-content[data-v-55de5465]{flex:1;min-width:0}.notif-msg[data-v-55de5465]{font-size:.77rem;color:var(--text2);line-height:1.45;margin:0 0 3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-time[data-v-55de5465]{font-size:.65rem;color:var(--muted)}.notif-dot[data-v-55de5465]{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:6px;box-shadow:0 0 6px #00d4aa80}.notif-drop-enter-active[data-v-55de5465],.notif-drop-leave-active[data-v-55de5465]{transition:opacity .15s ease,transform .15s ease}.notif-drop-enter-from[data-v-55de5465],.notif-drop-leave-to[data-v-55de5465]{opacity:0;transform:translateY(-6px)}@keyframes spin-55de5465{to{transform:rotate(360deg)}}.spin[data-v-55de5465]{animation:spin-55de5465 .8s linear infinite;transform-origin:center}@media(max-width:768px){.notif-panel[data-v-55de5465]{position:fixed;top:50px;right:50%;transform:translate(50%);width:calc(100vw - 24px);max-width:340px}}.fatal-error-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg, #0d0f14);color:var(--text, #e8eaf0);text-align:center;padding:2rem}.fatal-error-screen h2{font-size:1.3rem;font-weight:700;color:#ff3d52}.fatal-error-screen p{font-size:.85rem;color:var(--muted, #7a8099);max-width:400px}.fatal-error-screen button{margin-top:.5rem;padding:8px 22px;border-radius:6px;border:1px solid #ff3d52;background:#ff3d521a;color:#ff3d52;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;transition:all .15s}.fatal-error-screen button:hover{background:#ff3d5233}:root{--bg: #0d0f14;--surface: #13161d;--s2: #1a1e28;--s3: #22283a;--border: #2a2f42;--border2: #1d1d28;--text: #e8eaf0;--text2: #c4c8d8;--muted: #7a8099;--muted2: #555c75;--accent: #00d4aa;--accent-dim: rgba(0,212,170,.08);--accent-border: rgba(0,212,170,.3);--green: #00d4aa;--red: #ff3d52;--t: all .15s ease;--r: 6px;font-family:Barlow,sans-serif}html,body{background:var(--bg);color:var(--text);height:100%}#sim-layout{display:flex;flex-direction:column;min-height:100vh}.sim-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 1.1rem;height:var(--topbar-h);background:linear-gradient(180deg,var(--s2) 0%,var(--surface) 100%);border-bottom:1px solid var(--border);flex-shrink:0;position:sticky;top:0;z-index:100}.sim-brand{display:flex;align-items:center;gap:.6rem;color:var(--text);padding-right:1rem;border-right:1px solid var(--border);margin-right:.25rem}.sim-logo-icon{width:18px;height:18px;color:var(--accent)}.sim-brand-name{font-size:.86rem;font-weight:600;letter-spacing:.01em}.sim-brand-name strong{color:var(--accent);font-weight:800}.sim-nav{display:flex;gap:0;flex-wrap:wrap}.sim-nav-link{position:relative;padding:.25rem .45rem;border-radius:var(--r);color:var(--muted);text-decoration:none;font-size:.68rem;font-weight:600;letter-spacing:0;white-space:nowrap;transition:var(--t)}.sim-nav-link:hover{background:var(--s2);color:var(--text2)}.nav-premium-locked{opacity:.6}.nav-lock{margin-left:3px;vertical-align:baseline}.sim-nav-link.router-link-exact-active{color:var(--accent);background:var(--accent-dim)}.sim-nav-link.router-link-exact-active:after{content:"";position:absolute;bottom:2px;left:20%;right:20%;height:2px;background:var(--accent);border-radius:2px;opacity:.7}.sim-nav-fb{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;font-family:inherit;cursor:pointer;font-size:.68rem;font-weight:600;line-height:1}.sim-nav-fb svg{flex-shrink:0}@media(max-width:1023px){.sim-nav-fb-txt{display:none}.sim-nav-fb{padding-left:.35rem;padding-right:.35rem}}.sim-mobile-fb{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border2);font-family:inherit;cursor:pointer}.sim-nav-tut-btn{padding:.35rem .85rem;border-radius:var(--r);background:#00d4aa1a;border:1px solid rgba(0,212,170,.25);color:var(--accent);font-size:.8rem;font-weight:700;font-family:inherit;cursor:pointer;transition:var(--t)}.sim-nav-tut-btn:hover{background:#00d4aa33;border-color:var(--accent)}.verify-banner{display:flex;align-items:center;gap:.6rem;background:#ffb02017;border-bottom:1px solid rgba(255,176,32,.28);color:#e0a021;font-size:.78rem;font-weight:600;padding:.45rem 1rem;width:100%;box-sizing:border-box;flex-shrink:0}.verify-banner span{flex:1}.verify-banner button{padding:.3rem .85rem;border-radius:6px;background:#e0a021;border:none;color:#1a1205;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit}.verify-banner button:hover{filter:brightness(1.08)}.pwa-update-banner{display:flex;align-items:center;gap:.6rem;background:#00d4aa14;border-bottom:1px solid rgba(0,212,170,.25);color:var(--accent);font-size:.78rem;font-weight:600;padding:.45rem 1rem}.pwa-update-banner span{flex:1}.pwa-update-banner button:first-of-type{padding:.3rem .85rem;border-radius:6px;background:var(--accent);border:none;color:#0d0f14;font-size:.75rem;font-weight:800;font-family:inherit;cursor:pointer;transition:var(--t);white-space:nowrap}.pwa-update-banner button:first-of-type:hover{filter:brightness(1.1)}.pwa-update-dismiss{background:none;border:none;color:var(--muted);font-size:.9rem;cursor:pointer;padding:2px 4px;transition:var(--t)}.pwa-update-dismiss:hover{color:var(--text)}.offline-banner{display:flex;align-items:center;gap:.6rem;background:#ff3d5214;border-bottom:1px solid rgba(255,61,82,.3);color:#ff3d52;font-size:.78rem;padding:.5rem 1.5rem}.offline-banner svg{width:14px;height:14px;flex-shrink:0}.offline-banner code{font-family:IBM Plex Mono,monospace;background:#ff3d521f;border-radius:3px;padding:.1rem .35rem;font-size:.72rem}.offline-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:var(--bg, #0d0f18);background-image:radial-gradient(ellipse 600px 400px at 50% 40%,rgba(0,212,170,.06) 0%,transparent 70%),radial-gradient(ellipse 400px 300px at 30% 70%,rgba(80,120,255,.05) 0%,transparent 70%)}.offline-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 2rem;max-width:360px}.offline-icon-wrap{position:relative;margin-bottom:1.8rem}.offline-icon{color:#ff8c00;filter:drop-shadow(0 0 18px rgba(255,140,0,.25));animation:offline-float 3s ease-in-out infinite}.offline-pulse{position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:50%;border:2px solid rgba(255,140,0,.15);animation:offline-ring 2.5s ease-out infinite}@keyframes offline-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes offline-ring{0%{transform:scale(.8);opacity:.6}to{transform:scale(1.6);opacity:0}}.offline-title{font-size:1.3rem;font-weight:800;color:var(--text, #e8eaed);margin:0 0 .6rem;letter-spacing:-.02em}.offline-desc{font-size:.78rem;color:var(--muted, #6b7280);line-height:1.6;margin:0 0 1.6rem}.offline-dots{display:flex;gap:6px;margin-bottom:.8rem}.offline-dots span{width:6px;height:6px;border-radius:50%;background:#ff8c00;opacity:.4;animation:offline-dot 1.4s ease-in-out infinite}.offline-dots span:nth-child(2){animation-delay:.2s}.offline-dots span:nth-child(3){animation-delay:.4s}@keyframes offline-dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.offline-hint{font-size:.68rem;color:var(--muted2, #4b5563);margin:0;font-style:italic}@media(max-width:400px){.offline-card{padding:2rem 1.2rem}.offline-title{font-size:1.1rem}.offline-desc{font-size:.72rem}}.offline-fade-enter-active{transition:opacity .4s ease}.offline-fade-leave-active{transition:opacity .6s ease}.offline-fade-enter-from,.offline-fade-leave-to{opacity:0}.sim-main{flex:1;overflow:auto}.user-area{position:relative;display:flex;align-items:center;gap:6px}.btn-login{display:flex;align-items:center;gap:.35rem;background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);font-size:.72rem;font-weight:700;font-family:inherit;padding:5px 12px;border-radius:20px;cursor:pointer;transition:var(--t);letter-spacing:.02em}.btn-login:hover{background:var(--accent-dim);border-color:var(--accent)}.user-chip{display:flex;align-items:center;gap:6px;background:var(--s2);border:1px solid var(--border);border-radius:20px;padding:3px 10px 3px 4px;cursor:pointer;transition:var(--t);-webkit-user-select:none;user-select:none}.user-chip:hover{border-color:var(--accent);background:var(--s3)}.user-avatar{width:22px;height:22px;border-radius:50%;background:var(--accent);color:#0d0f14;font-size:.65rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 8px #00d4aa59}.user-name{font-size:.72rem;font-weight:600;color:var(--text2);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:220px;box-shadow:0 8px 32px #0006;z-index:9999;padding:6px;overflow:hidden}.more-link-logout{color:var(--red)!important;width:100%;background:none;border:none;cursor:pointer;font-family:inherit}.more-link-logout:hover{background:#dc26261a!important}.more-link-logout svg{stroke:var(--red)!important}.more-section-logout{border-top:1px solid var(--border)}.user-dropdown-name{font-size:.7rem;font-weight:700;color:var(--muted);padding:8px 12px 5px;border-bottom:1px solid var(--border);margin-bottom:2px}.user-dropdown button{width:100%;text-align:left;background:none;border:none;color:var(--text2);font-size:.78rem;font-family:inherit;padding:7px 12px;cursor:pointer;border-radius:4px;transition:var(--t)}.user-dropdown button:hover{background:#ff3d5214;color:#ff3d52}.user-dropdown-link{display:block;text-align:left;background:none;border:none;color:var(--text2);font-size:.78rem;font-family:inherit;padding:7px 12px;cursor:pointer;border-radius:4px;transition:var(--t);text-decoration:none}.user-dropdown-link:hover{background:var(--accent-dim);color:var(--accent)}.sim-nav-admin{color:var(--accent)!important}.more-section{padding:4px 0}.more-section+.more-section{border-top:1px solid var(--border)}.more-section-label{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);padding:6px 10px 3px}.more-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;color:var(--text2);text-decoration:none;font-size:.75rem;font-weight:600;transition:all .12s}.more-link:hover{background:var(--accent-dim);color:var(--accent)}.more-link svg{flex-shrink:0;opacity:.6}.more-link:hover svg{opacity:1;stroke:var(--accent)}.more-badge{margin-left:auto;min-width:18px;padding:0 5px;border-radius:999px;background:var(--gold-bg);border:1px solid var(--gold-bdr);color:var(--gold);font-size:.66rem;font-weight:700;line-height:16px;text-align:center;font-family:IBM Plex Mono,monospace}.dropdown-fade-enter-active{transition:all .15s ease}.dropdown-fade-leave-active{transition:all .1s ease}.dropdown-fade-enter-from{opacity:0;transform:translateY(-6px) scale(.96)}.dropdown-fade-leave-to{opacity:0;transform:translateY(-4px) scale(.98)}.theme-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border);background:var(--s2);color:var(--muted);cursor:pointer;transition:var(--t);flex-shrink:0}.theme-toggle:hover{background:var(--s3);color:var(--accent);border-color:var(--accent);box-shadow:0 0 10px #00d4aa33}.lang-select{position:relative;flex-shrink:0}.lang-btn{display:flex;align-items:center;gap:6px;height:28px;padding:0 7px;border-radius:14px;border:1px solid var(--border);background:var(--s2);color:var(--text2);cursor:pointer;transition:var(--t)}.lang-btn:hover{background:var(--s3);color:var(--accent);border-color:var(--accent)}.flag-wrap{display:inline-flex;width:18px;height:13px;border-radius:2px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000002e;flex-shrink:0}.flag-svg{display:block;width:100%;height:100%}.lang-code{font-size:11px;font-weight:700;letter-spacing:.5px}.lang-caret{opacity:.65;transition:transform .15s ease}.lang-caret-open{transform:rotate(180deg)}.lang-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:152px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #0006;padding:4px;z-index:9999}.lang-option{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:none;color:var(--text2);font-size:.78rem;font-weight:600;font-family:inherit;text-align:left;border-radius:6px;cursor:pointer;transition:var(--t)}.lang-option:hover,.lang-option-active{background:var(--accent-dim);color:var(--accent)}.sim-hamburger{display:none;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;background:none;border:none;cursor:pointer;padding:4px;border-radius:var(--r);flex-shrink:0}.sim-hamburger span{display:block;width:18px;height:2px;background:var(--text2);border-radius:2px;transition:var(--t)}.sim-hamburger:hover span{background:var(--accent)}.sim-mobile-nav{display:none;position:absolute;top:44px;left:0;right:0;background:var(--s2);border-bottom:1px solid var(--border);flex-direction:column;z-index:200}.sim-mobile-link{display:block;padding:.75rem 1.25rem;color:var(--text2);text-decoration:none;font-size:.88rem;font-weight:600;border-bottom:1px solid var(--border2);transition:var(--t)}.sim-mobile-link:hover,.sim-mobile-link.router-link-exact-active{background:var(--accent-dim);color:var(--accent)}.sim-mobile-link .more-badge{display:inline-block;margin-left:.4rem}@media(max-width:768px){.sim-topbar{padding:0 .75rem;position:sticky;top:0}.sim-nav{display:none}.sim-hamburger,.sim-mobile-nav{display:flex}.sim-brand-name{font-size:.78rem}.user-name{display:none}}html.light-mode{--bg: #f0f2f8;--surface: #ffffff;--s2: #e8eaf4;--s3: #dfe2ef;--s4: #d4d8e8;--border: #c8cde0;--border2: #dde0ec;--text: #1a1d2e;--text2: #3a3f58;--muted: #6a6f88;--muted2: #9099b8;--accent: #00a882;--accent-dim: rgba(0,168,130,.1);--accent-border: rgba(0,168,130,.35);--accent-light: rgba(0,168,130,.08);--accent-glow: 0 0 20px rgba(0,168,130,.25);--green: #00a882;--red: #e0253b}html.light-mode body{background:var(--bg);color:var(--text)}html.light-mode .sim-topbar{background:var(--surface);border-bottom-color:var(--border)}html.light-mode .man-sidebar-title{background:var(--s3)}html.light-mode .offline-banner{background:#e0253b0f;border-bottom-color:#e0253b40}.lesson-immersive .sim-topbar,.lesson-immersive .sim-mobile-nav{display:none!important}.lesson-immersive *{cursor:grab!important}.lesson-immersive *:active{cursor:grabbing!important}.lesson-immersive .pin-dot{cursor:crosshair!important}.lesson-immersive button,.lesson-immersive a,.lesson-immersive input,.lesson-immersive select{cursor:pointer!important}html:has(body.lesson-immersive){--topbar-h: 0px}.pwa-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9000;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0)}.pwa-modal{background:var(--surface);border:1px solid var(--border);border-radius:20px 20px 0 0;padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom,0));width:100%;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.pwa-modal-icon{width:64px;height:64px;border-radius:14px;box-shadow:0 4px 16px #0006}.pwa-modal h3{font-size:1.1rem;font-weight:800;color:var(--text)}.pwa-modal p{font-size:.82rem;color:var(--muted);line-height:1.5;max-width:300px}.pwa-modal-btns{display:flex;gap:.6rem;margin-top:.25rem;width:100%}.pwa-btn-install{flex:1;padding:11px;border-radius:10px;background:var(--accent);color:#0d0f14;border:none;font-size:.88rem;font-weight:800;font-family:inherit;cursor:pointer;transition:var(--t)}.pwa-btn-install:hover{filter:brightness(1.1)}.pwa-btn-cancel{flex:1;padding:11px;border-radius:10px;background:var(--s2);color:var(--muted);border:1px solid var(--border);font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--t)}.pwa-btn-cancel:hover{background:var(--s3);color:var(--text2)}.pwa-ios-banner{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0));left:12px;right:12px;z-index:9000;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 32px #00000080;animation:slideUp .3s ease}.pwa-ios-icon{width:40px;height:40px;border-radius:8px;flex-shrink:0}.pwa-ios-text{flex:1;display:flex;flex-direction:column;gap:2px}.pwa-ios-text strong{font-size:.82rem;font-weight:800;color:var(--text)}.pwa-ios-text span{font-size:.74rem;color:var(--muted);line-height:1.4}.pwa-ios-text b{color:var(--accent)}.pwa-ios-close{background:none;border:none;color:var(--muted);font-size:1rem;cursor:pointer;padding:4px;flex-shrink:0;transition:var(--t)}.pwa-ios-close:hover{color:var(--text)}.sim-colegio-logo{position:fixed;top:0;left:0;width:var(--logo-caja);height:var(--logo-caja);object-fit:contain;padding:5px;background:var(--s2);border-right:1px solid var(--border);border-bottom:1px solid var(--border);z-index:40}.sim-topbar:has(.sim-colegio-logo){padding-left:calc(var(--logo-caja) + 14px)}.sim-topbar:has(.sim-colegio-logo) .sim-brand{padding:0;margin:0;border-right:0;min-width:0}@media(max-width:900px){.sim-brand{padding-right:.6rem;margin-right:0}}@media(max-width:420px){.sim-brand{border-right:none;padding-right:0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0f14;--surface: #13161d;--s2: #1a1e28;--s3: #22283a;--s4: #26262f;--border: #2a2f42;--border2: #1d1d28;--border3: rgba(255,255,255,.04);--accent: #00d4aa;--accent-2: #00b894;--accent-dim: rgba(0,212,170,.12);--accent-border: rgba(0,212,170,.35);--accent-glow: 0 0 20px rgba(0,212,170,.25);--accent-light: rgba(0,212,170,.08);--green: #00e676;--green-bg: rgba(0,230,118,.09);--green-bdr: rgba(0,230,118,.25);--red: #ff3d52;--red-bg: rgba(255,61,82,.09);--red-bdr: rgba(255,61,82,.25);--blue: #40c4ff;--blue-bg: rgba(64,196,255,.09);--blue-bdr: rgba(64,196,255,.25);--purple: #c97aff;--purple-bg: rgba(201,122,255,.09);--purple-bdr: rgba(201,122,255,.25);--teal: #1de9b6;--teal-bg: rgba(29,233,182,.09);--teal-bdr: rgba(29,233,182,.25);--gold: #ffd740;--gold-bg: rgba(255,215,64,.09);--gold-bdr: rgba(255,215,64,.25);--text: #e8eaf0;--text2: #c4c8d8;--muted: #7a8099;--muted2: #555c75;--sidebar-w: 0px;--topbar-h: 50px;--r: 6px;--r-lg: 10px;--r-xl: 14px;--shadow: 0 4px 24px rgba(0,0,0,.5);--shadow-lg: 0 8px 48px rgba(0,0,0,.65);--shadow-xl: 0 16px 64px rgba(0,0,0,.75);--t: all .15s ease;--t-slow: all .3s ease}@media(max-width:900px){:root{--topbar-h: 46px}}@media(max-width:420px){:root{--topbar-h: 42px}}:root{--logo-caja: var(--topbar-h)}html:has(.cir-view){--logo-caja: calc(var(--topbar-h) + 38px)}html{scroll-behavior:smooth;background:var(--bg)}body{font-family:Barlow,system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}html,body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}input,textarea,select,[contenteditable]:not([contenteditable=false]),pre,code,.allow-select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.mono,td.mono,.data-num{font-family:IBM Plex Mono,monospace}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--s4);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border)}#layout{display:flex;min-height:100vh}.main-area{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0;transition:margin-left .25s ease;background-image:radial-gradient(circle at 20% 50%,rgba(232,162,0,.015) 0%,transparent 60%),radial-gradient(circle at 80% 20%,rgba(64,196,255,.012) 0%,transparent 50%)}main{flex:1;padding:1.75rem 2rem 2.5rem;max-width:1700px;width:100%}.pg-header{margin-bottom:1.75rem;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.pg-title{font-family:Barlow Condensed,sans-serif;font-size:1.75rem;font-weight:800;letter-spacing:-.5px;color:var(--text);line-height:1.1}.pg-sub{color:var(--muted);font-size:.8rem;margin-top:.2rem;font-weight:500}.page-hero{background:var(--bg);border-bottom:1px solid var(--border);padding:1.3rem 1.75rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0;flex-wrap:wrap}.page-hero-info{display:flex;flex-direction:column;gap:0}.page-hero-tag{font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:.25rem;display:flex;align-items:center;gap:.45rem}.page-hero-tag:before{content:"";display:inline-block;width:16px;height:2px;background:var(--accent);border-radius:1px;flex-shrink:0}.page-hero-title{font-family:Barlow Condensed,sans-serif;font-size:2.1rem;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:0;line-height:1.05}.page-hero-sub{font-size:.78rem;color:var(--muted);margin-top:.35rem;line-height:1.45;max-width:520px}.page-hero-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}@media(max-width:600px){.page-hero{padding:.9rem 1rem .8rem}.page-hero-title{font-size:1.55rem}}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-bottom:1.75rem}.mc{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.2rem 1.25rem 1.1rem;display:flex;gap:1rem;align-items:flex-start;transition:var(--t);position:relative;overflow:hidden}.mc:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.02) 0%,transparent 60%);pointer-events:none}.mc:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.mc-icon{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}.mc-icon svg{width:18px;height:18px}.mc-icon.blue{background:var(--blue-bg);color:var(--blue)}.mc-icon.green{background:var(--green-bg);color:var(--green)}.mc-icon.gold{background:var(--gold-bg);color:var(--gold)}.mc-icon.red{background:var(--red-bg);color:var(--red)}.mc-icon.purple{background:var(--purple-bg);color:var(--purple)}.mc-icon.teal{background:var(--teal-bg);color:var(--teal)}.mc-icon.accent{background:var(--accent-dim);color:var(--accent)}.mc-body{flex:1;min-width:0}.mc-label{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-weight:700;margin-bottom:.35rem;font-family:Barlow Condensed,sans-serif}.mc-val{font-family:IBM Plex Mono,monospace;font-size:1.7rem;font-weight:600;line-height:1;color:var(--text)}.mc-sub{font-size:.7rem;color:var(--muted);margin-top:.25rem}.mc-val.blue{color:var(--blue)}.mc-val.green{color:var(--green)}.mc-val.gold{color:var(--gold)}.mc-val.red{color:var(--red)}.mc-val.purple{color:var(--purple)}.mc-val.teal{color:var(--teal)}.mc-val.accent{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem;margin-bottom:1.25rem}.card-title{font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.card-title svg{width:13px;height:13px;opacity:.6}.toolbar{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}.search-wrap{position:relative;display:flex;align-items:center}.search-wrap svg{position:absolute;left:.65rem;width:13px;height:13px;color:var(--muted);pointer-events:none}.search-wrap input{padding-left:2.1rem!important}.toolbar input[type=text],.toolbar input[type=search],.toolbar select{background:var(--s2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);padding:.4rem .75rem;font-size:.82rem;font-family:Barlow,sans-serif;transition:var(--t);height:34px}.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--accent);background:var(--s3);box-shadow:0 0 0 3px var(--accent-light)}.toolbar-right{margin-left:auto;display:flex;align-items:center;gap:.5rem}.count-badge{font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--muted);background:var(--s2);border:1px solid var(--border);border-radius:20px;padding:.18rem .65rem}.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .7rem;border:none;border-radius:var(--r);font-family:Barlow Condensed,sans-serif;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;cursor:pointer;transition:var(--t);white-space:nowrap;height:28px}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn svg{width:13px;height:13px;flex-shrink:0}.btn-primary{background:var(--accent);color:#0b0b0d;font-weight:800}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-success{background:var(--green);color:#0b0b0d;font-weight:800}.btn-danger{background:var(--red);color:#fff}.btn-ghost{background:transparent;color:var(--text2);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--s2);border-color:var(--muted2);color:var(--text)}.btn-sm{padding:.18rem .5rem;font-size:.72rem;height:24px}.btn-xs{padding:.12rem .4rem;font-size:.68rem;height:20px}.btn-icon{padding:0;width:28px;height:28px;justify-content:center;border-radius:var(--r)}.btn-icon.btn-sm{width:22px;height:22px}.tbl-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface)}table{width:100%;border-collapse:collapse;font-size:.82rem}thead{background:var(--s2)}th{padding:.6rem .9rem;text-align:left;font-family:Barlow Condensed,sans-serif;font-weight:700;color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--border);font-size:.7rem;text-transform:uppercase;letter-spacing:.7px}th.c,td.c{text-align:center}th.r,td.r{text-align:right}td{padding:.6rem .9rem;border-bottom:1px solid var(--border2);vertical-align:middle;color:var(--text)}td.r,td.num{font-family:IBM Plex Mono,monospace;font-size:.8rem}tr:last-child td{border-bottom:none}tbody tr{transition:background .1s}tbody tr:hover td{background:#00d4aa09}tfoot td{background:var(--s2);font-weight:700;border-top:1px solid var(--border)}tfoot td.r{font-family:IBM Plex Mono,monospace}.badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:4px;font-size:.68rem;font-weight:700;font-family:Barlow Condensed,sans-serif;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.b-blue{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bdr)}.b-green{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bdr)}.b-red{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bdr)}.b-gold{background:var(--gold-bg);color:var(--gold);border:1px solid var(--gold-bdr)}.b-purple{background:var(--purple-bg);color:var(--purple);border:1px solid var(--purple-bdr)}.b-teal{background:var(--teal-bg);color:var(--teal);border:1px solid var(--teal-bdr)}.b-gray{background:var(--s2);color:var(--muted);border:1px solid var(--border)}.b-accent{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent-border)}.status-activo{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bdr)}.status-inactivo{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bdr)}.status-pendiente{background:var(--gold-bg);color:var(--gold);border:1px solid var(--gold-bdr)}.status-preparando{background:var(--blue-bg);color:var(--blue);border:1px solid var(--blue-bdr)}.status-entregada{background:var(--green-bg);color:var(--green);border:1px solid var(--green-bdr)}.status-cancelada{background:var(--red-bg);color:var(--red);border:1px solid var(--red-bdr)}.status-recibida{background:var(--teal-bg);color:var(--teal);border:1px solid var(--teal-bdr)}.pos{color:var(--green);font-weight:700;font-family:IBM Plex Mono,monospace}.neg{color:var(--red);font-weight:700;font-family:IBM Plex Mono,monospace}.zero{color:var(--muted);font-family:IBM Plex Mono,monospace}.v-green{color:var(--green)}.v-red{color:var(--red)}.v-gold{color:var(--gold)}.v-teal{color:var(--teal)}.v-blue{color:var(--blue)}.v-purple{color:var(--purple)}.v-accent{color:var(--accent)}.pct{display:inline-flex;align-items:center;padding:.1rem .42rem;border-radius:3px;font-size:.7rem;font-weight:700;font-family:IBM Plex Mono,monospace}.pct-pos{background:var(--green-bg);color:var(--green)}.pct-neg{background:var(--red-bg);color:var(--red)}.pct-0{background:var(--s2);color:var(--muted)}.bar-wrap{height:4px;background:var(--s4);border-radius:2px;overflow:hidden;margin-top:.35rem}.bar-fill{height:100%;border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:300;animation:fadeIn .15s ease;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:1.5rem;width:520px;max-width:100%;max-height:92vh;overflow-y:auto;animation:slideUp .2s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow-xl);position:relative}.modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:var(--r-xl) var(--r-xl) 0 0}@keyframes slideUp{0%{transform:translateY(20px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;padding-bottom:.85rem;border-bottom:1px solid var(--border)}.modal-header h3{font-family:Barlow Condensed,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:.2px;flex:1}.modal-header svg{width:16px;height:16px;color:var(--accent)}.modal-close{background:none;border:none;cursor:pointer;color:var(--muted);padding:.3rem;border-radius:var(--r);display:flex;transition:var(--t);line-height:1}.modal-close:hover{color:var(--text);background:var(--s2)}.modal-close svg{width:16px;height:16px}.field{margin-bottom:.9rem}.field label{display:block;font-family:Barlow Condensed,sans-serif;font-size:.7rem;color:var(--muted);margin-bottom:.3rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.field input,.field select,.field textarea{width:100%;background:var(--s2);border:1px solid var(--border);border-radius:var(--r);color:var(--text);padding:.5rem .75rem;font-size:.85rem;font-family:Barlow,sans-serif;transition:var(--t)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:var(--s3);box-shadow:0 0 0 3px var(--accent-light)}.field textarea{resize:vertical;min-height:72px;line-height:1.5}.field-note{font-size:.72rem;color:var(--muted);margin-top:.28rem}.field-note.pos{color:var(--green)}.frow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.frow3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.toggle-wrap{display:flex;align-items:center;gap:.6rem;padding:.4rem 0}.toggle-label{font-size:.82rem;color:var(--text2);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle{position:relative;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--s4);border-radius:20px;border:1px solid var(--border);cursor:pointer;transition:var(--t)}.toggle-slider:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:var(--muted2);border-radius:50%;transition:var(--t)}.toggle input:checked+.toggle-slider{background:var(--accent-dim);border-color:var(--accent)}.toggle input:checked+.toggle-slider:after{left:18px;background:var(--accent)}.sec-div{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 .85rem;font-family:Barlow Condensed,sans-serif;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.sec-div:after{content:"";flex:1;height:1px;background:var(--border)}.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty svg{width:44px;height:44px;margin:0 auto .85rem;display:block;opacity:.2}.empty p{font-size:.82rem}.pi-wrap{display:flex;align-items:center;gap:2px;justify-content:center}.pi-sym{color:var(--muted);font-size:.7rem;font-family:IBM Plex Mono,monospace}.pi{background:var(--s3);border:1px solid transparent;border-radius:4px;color:var(--text);padding:.26rem .42rem;width:80px;font-family:IBM Plex Mono,monospace;font-size:.78rem;text-align:right;transition:border-color .15s}.pi:focus{outline:none;border-color:var(--accent);background:var(--s2);box-shadow:0 0 0 2px var(--accent-light)}.chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:1.25rem}.chart-card h4{font-family:Barlow Condensed,sans-serif;font-size:.7rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:1rem}.hbar{display:flex;align-items:center;gap:.65rem;margin-bottom:.55rem}.hbar-label{width:130px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text2);font-size:.78rem}.hbar-track{flex:1;height:5px;background:var(--s4);border-radius:2px;overflow:hidden}.hbar-fill{height:100%;border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1)}.hbar-val{width:68px;text-align:right;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-weight:600;font-size:.74rem;color:var(--text)}.tabs{display:flex;gap:0;margin-bottom:1.25rem;border-bottom:1px solid var(--border)}.tab-btn{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);cursor:pointer;padding:.6rem 1.1rem;font-family:Barlow Condensed,sans-serif;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:var(--t);margin-bottom:-1px}.tab-btn:hover{color:var(--text2)}.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:98}.app-footer{padding:.9rem 2rem;border-top:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:var(--muted2);font-family:IBM Plex Mono,monospace}@media(max-width:900px){:root{--sidebar-w: 0px}.main-area{margin-left:0}.sidebar-overlay{display:block}.chart-grid,.frow,.frow3{grid-template-columns:1fr}main{padding:1.25rem 1rem 2rem}.pg-title{font-size:1.4rem}}@media(max-width:600px){.metrics{grid-template-columns:1fr 1fr}.toolbar{gap:.4rem}.modal{padding:1.25rem}.pg-header{flex-direction:column;align-items:flex-start}}.ng-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.ng-head-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ng-lbl{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.ng-select{background:var(--s2);border:1.5px solid var(--border);border-radius:7px;color:var(--text);padding:7px 10px;font-size:.84rem;max-width:320px}.ng-select:hover:not(:disabled){border-color:var(--muted)}.ng-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ng-input{width:100%;box-sizing:border-box;background:var(--bg);border:1.5px solid var(--border);border-radius:7px;color:var(--text);padding:7px 10px;font-size:.84rem;transition:border-color var(--t),box-shadow var(--t)}.ng-input:hover:not(:disabled){border-color:var(--muted)}.ng-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ng-input:disabled{background:var(--s2);color:var(--muted2);cursor:not-allowed}.ng-input::placeholder{color:var(--muted);opacity:1}.ng-hint{font-size:.74rem;color:var(--muted);margin:0}.ng-hint--dato{border-left:2px solid var(--border);padding-left:8px}.ng-hint--ojo{border-left:2px solid var(--accent);padding-left:8px}.notas-empty{text-align:center;padding:40px 20px;color:var(--muted);font-size:.86rem}.jp{display:flex;flex-direction:column;gap:14px;width:100%;height:100%;padding:16px 18px 20px;overflow-y:auto;color:var(--text);font-family:inherit}.jp>*{flex-shrink:0}.jp-head{text-align:center;flex-shrink:0}.jp-badge{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.jp-title{margin-top:8px;font-size:1.35rem;font-weight:800;line-height:1.2}.jp-intro{margin:5px auto 0;max-width:46ch;font-size:.9rem;color:var(--text2);line-height:1.4}.jp-cols{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:22px;flex:1}.jp-tablero-wrap{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:100%}.jp-mando{display:flex;flex-direction:column;gap:12px;width:min(92vw,340px)}.jp-aviso{min-height:1.3em;font-size:.92rem;font-weight:700;text-align:center;color:var(--text2)}.jp-aviso--bien{color:var(--green)}.jp-aviso--para{color:var(--red)}.jp-ficha{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:96px;min-height:62px;padding:8px 7px;flex-shrink:0;background:var(--s3);color:var(--text);border:2px solid var(--border);border-radius:var(--r-lg);cursor:pointer;font-family:inherit;transition:var(--t)}.jp-ficha:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-light);transform:translateY(-2px)}.jp-ficha:disabled{opacity:.35;cursor:not-allowed}.jp-ficha--elegida{border-color:var(--accent);background:var(--accent-dim);box-shadow:var(--accent-glow);transform:translateY(-2px)}.jp-ficha--bien{border-color:var(--green-bdr);background:var(--green-bg)}.jp-ficha--mal{border-color:var(--red-bdr);background:var(--red-bg)}.jp-ficha-icono{display:block;width:32px;height:32px;color:var(--accent)}.jp-ficha-icono svg{width:100%;height:100%;display:block}.jp-ficha-txt{font-size:.6rem;font-weight:800;line-height:1.1;text-align:center;text-transform:uppercase;letter-spacing:.02em;max-width:100%;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}.jp-quitar{position:absolute;top:-8px;right:-8px;width:20px;height:20px;line-height:1;border:none;border-radius:50%;background:var(--red);color:#fff;cursor:pointer;font-size:.85rem;font-weight:800;font-family:inherit}.jp-quitar:disabled{opacity:.3;cursor:not-allowed}.jp-botones{display:flex;gap:10px}.jp-btn{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:46px;padding:13px 12px;border:none;border-radius:var(--r-lg);font-family:inherit;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:var(--t)}.jp-btn:disabled{opacity:.35;cursor:not-allowed}.jp-btn--hacer{background:var(--accent);color:#07130f}.jp-btn--hacer:hover:not(:disabled){background:var(--accent-2)}.jp-btn--otra{background:var(--s3);color:var(--text2);border:1px solid var(--border)}.jp-btn--otra:hover:not(:disabled){color:var(--text);border-color:var(--accent-border)}.jp-avance{display:flex;align-items:center;gap:8px;font-size:.7rem;font-weight:700;color:var(--muted)}.jp-avance-barra{flex:1;height:6px;border-radius:999px;background:var(--s2);overflow:hidden}.jp-avance-relleno{height:100%;border-radius:999px;background:var(--accent);transition:width .25s ease}.jp-victoria{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#06080cdb}.jp-victoria-card{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(94vw,400px);padding:26px 22px;background:var(--surface);border:1px solid var(--accent-border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);text-align:center}.jp-victoria-icono{width:72px;height:72px;color:var(--accent);animation:jp-flota 2s ease-in-out infinite}.jp-victoria-icono svg{width:100%;height:100%}.jp-victoria-titulo{font-size:1.3rem;font-weight:800;color:var(--accent)}.jp-victoria-txt{font-size:.9rem;color:var(--text2);line-height:1.5}.jp-victoria-acciones{display:flex;flex-wrap:wrap;gap:10px;width:100%}.jp-victoria-acciones .jp-btn{flex:1 1 130px;min-width:130px;justify-content:center}.jp-btn--salir{background:transparent;border:1px solid var(--border);color:var(--text2)}.jp-btn--salir:hover{border-color:var(--accent-border);color:var(--text)}@keyframes jp-encaja{0%{transform:scale(.7);opacity:0}55%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.cla-caja-cuerpo .jp-ficha,.sec-hueco .jp-ficha,.arm-hueco-puesta{animation:jp-encaja .26s cubic-bezier(.34,1.4,.64,1) both}.jp-avance-relleno{transition:width .42s cubic-bezier(.34,1.25,.64,1)}@keyframes jp-respira{0%,to{box-shadow:0 0 #00d4aa00}50%{box-shadow:0 0 0 5px #00d4aa29}}.cla-caja--destino{animation:jp-respira 1.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.cla-caja-cuerpo .jp-ficha,.sec-hueco .jp-ficha,.arm-hueco-puesta,.cla-caja--destino{animation:none}}@keyframes jp-flota{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.jp-fade-enter-active,.jp-fade-leave-active{transition:opacity .25s ease}.jp-fade-enter-from,.jp-fade-leave-to{opacity:0}@media(max-width:900px){.jp{padding:12px 12px 18px;gap:10px}.jp-cols{gap:14px}.jp-title{font-size:1.1rem}.jp-intro{font-size:.82rem}.jp-mando{width:min(96vw,360px)}.jp-ficha{min-width:96px;min-height:62px}.jp-ficha-icono{width:28px;height:28px}}@media(prefers-reduced-motion:reduce){.jp-victoria-icono{animation:none}.jp-avance-relleno,.jp-ficha{transition:none}.jp-ficha:hover:not(:disabled){transform:none}}
