:root{--clr-bg:#0f0f1a;--clr-bg-elevated:#1a1a2e;--clr-surface:#16213e;--clr-surface-2:#1e2d50;--clr-border:#ffffff14;--clr-primary:#6c63ff;--clr-primary-dim:#6c63ff26;--clr-accent:#ff6584;--clr-success:#43e97b;--clr-warning:#f6d365;--clr-danger:#ff6b6b;--clr-text:#f0f0f8;--clr-text-muted:#88a;--clr-text-dim:#557;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--text-xs:.7rem;--text-sm:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.1875rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--sp-1:.2rem;--sp-2:.4rem;--sp-3:.6rem;--sp-4:.875rem;--sp-5:1rem;--sp-6:1.25rem;--sp-8:1.625rem;--sp-10:2rem;--sp-12:2.5rem;--radius-sm:.4rem;--radius-md:.625rem;--radius-lg:.875rem;--radius-xl:1.25rem;--radius-full:9999px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 20px #6c63ff40;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--max-width:480px;--nav-height:54px}[data-theme=esmeralda]{--clr-bg:#080e0b;--clr-bg-elevated:#0d1a13;--clr-surface:#0f1f18;--clr-surface-2:#162b20;--clr-border:#00d4aa1a;--clr-primary:#00d4aa;--clr-primary-dim:#00d4aa1f;--clr-accent:#00f5c4;--clr-text-dim:#2a4a3e}[data-theme=ambar]{--clr-bg:#0f0d0a;--clr-bg-elevated:#1a1710;--clr-surface:#1c1a14;--clr-surface-2:#252118;--clr-border:#f59e0b1a;--clr-primary:#f59e0b;--clr-primary-dim:#f59e0b1f;--clr-accent:#fbbf24;--clr-text-dim:#4a3a18}[data-theme=indigo]{--clr-bg:#08090f;--clr-bg-elevated:#0e1120;--clr-surface:#111827;--clr-surface-2:#1a2235;--clr-border:#38bdf81a;--clr-primary:#38bdf8;--clr-primary-dim:#38bdf81f;--clr-accent:#7dd3fc;--clr-text-dim:#1e3a4a}[data-theme=coral]{--clr-bg:#0f0808;--clr-bg-elevated:#1e1212;--clr-surface:#1e1515;--clr-surface-2:#2a1c1c;--clr-border:#ff6b6b1a;--clr-primary:#ff6b6b;--clr-primary-dim:#ff6b6b1f;--clr-accent:#ff8e8e;--clr-text-dim:#4a1e1e}[data-theme=aesthetic]{--clr-bg:#0c0810;--clr-bg-elevated:#160d1e;--clr-surface:#1c1128;--clr-surface-2:#251633;--clr-border:#e8a0bf1f;--clr-primary:#e8a0bf;--clr-primary-dim:#e8a0bf1f;--clr-accent:#f4c2d8;--clr-text-dim:#3d1f35}[data-theme=flutter]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--clr-bg:#0d0f14;--clr-bg-elevated:#161b25;--clr-surface:#161b25;--clr-surface-2:#1e2533;--clr-border:#2a3347;--clr-primary:#7c3aed;--clr-primary-dim:#3d1e6e;--clr-accent:#a78bfa;--clr-success:#10b981;--clr-warning:#f59e0b;--clr-danger:#ef4444;--clr-text:#eef2ff;--clr-text-muted:#8892a4;--clr-text-dim:#4a5568;--text-xs:.6875rem;--text-sm:.875rem;--text-base:1rem;--text-xl:1.25rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--shadow-glow:none}[data-theme=flutter] .btn{border-radius:.875rem}[data-theme=flutter] .btn-primary{background:var(--clr-primary);box-shadow:none}[data-theme=flutter] .btn-primary:hover{box-shadow:none;background:#6d28d9}[data-theme=flutter] .nav-badge{box-shadow:none}[data-theme=flutter] .form-input{padding:.875rem 1rem}[data-theme=flutter] .form-input:focus{box-shadow:0 0 0 1px var(--clr-primary)}[data-theme=flutter] .badge-pending{color:var(--clr-danger);background:#3d1010}[data-theme=flutter] .badge-partial{color:var(--clr-warning);background:#3d2a00}[data-theme=flutter] .badge-paid{color:var(--clr-success);background:#0d3b2a}[data-theme=flutter] .badge-open{background:var(--clr-primary-dim)}[data-theme=flutter] .btn-success{color:var(--clr-success);border-color:var(--clr-success);background:#0d3b2a}[data-theme=flutter] .btn-success:hover{background:#104d37}[data-theme=flutter] .btn-danger{border-color:var(--clr-danger);background:#3d1010}[data-theme=flutter] .btn-danger:hover{background:#501515}.nav-progress{z-index:9999;background:#ffffff0d;height:3px;position:fixed;top:0;left:0;right:0;overflow:hidden}.nav-progress-bar{background:linear-gradient(90deg, transparent 0%, var(--clr-primary) 40%, var(--clr-accent) 60%, transparent 100%);height:100%;box-shadow:0 0 8px var(--clr-primary);background-size:200% 100%;animation:1.2s ease-in-out infinite nav-sweep}@keyframes nav-sweep{0%{background-position:200%}to{background-position:-200%}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--clr-text);background:var(--clr-bg);-webkit-font-smoothing:antialiased;overscroll-behavior:none;min-height:100%}img,video{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit}dialog{color:inherit;background:0 0;border:none;width:100%;max-width:100%;margin:0;padding:0}dialog::backdrop{display:none}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;padding:var(--sp-4);background:#000000b8;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:var(--sp-6);width:100%;max-width:var(--max-width);box-shadow:var(--shadow-lg)}.modal-actions{gap:var(--sp-3);margin-top:var(--sp-5);display:flex}.modal-actions .btn{flex:1}.app-shell{min-height:100dvh;max-width:var(--max-width);flex-direction:column;margin:0 auto;display:flex;position:relative}.app-main{padding:var(--sp-3) var(--sp-4);padding-bottom:calc(var(--nav-height) + var(--sp-3));flex:1;overflow-y:auto}.bottom-nav{width:100%;max-width:var(--max-width);height:var(--nav-height);background:var(--clr-bg-elevated);border-top:1px solid var(--clr-border);padding:0 var(--sp-2);z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-md);color:var(--clr-text-muted);transition:color var(--transition-fast), background var(--transition-fast);flex-direction:column;align-items:center;gap:2px;min-width:48px;font-size:.65rem;font-weight:500;display:flex}.nav-item.active{color:var(--clr-primary);background:var(--clr-primary-dim)}.nav-item svg{stroke-width:1.75px;width:20px;height:20px}.nav-item-icon-wrap{justify-content:center;align-items:center;display:inline-flex;position:relative}.nav-badge{background:var(--clr-primary);color:#fff;border-radius:var(--radius-full);border:1.5px solid var(--clr-bg-elevated);pointer-events:none;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.6rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-5px;right:-9px;box-shadow:0 0 6px #6c63ff66}.nav-action-sale{padding:0 var(--sp-2) 2px;touch-action:manipulation;flex-direction:column;justify-content:flex-end;align-items:center;min-width:54px;margin-top:-16px;text-decoration:none;display:flex;position:relative}.nav-action-sale-circle{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--clr-primary), #8b5cf6);color:#fff;border:2px solid var(--clr-bg-elevated);width:44px;height:44px;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);justify-content:center;align-items:center;display:flex;box-shadow:0 4px 14px #6c63ff73}.nav-action-sale-circle svg{stroke-width:2.75px;width:22px;height:22px}.nav-action-sale-label{color:var(--clr-primary);transition:color var(--transition-fast);letter-spacing:.02em;margin-top:1px;font-size:.65rem;font-weight:700}.nav-action-sale:hover .nav-action-sale-circle{filter:brightness(1.1);transform:translateY(-2px)scale(1.05);box-shadow:0 6px 18px #6c63ff8c}.nav-action-sale:active .nav-action-sale-circle{transform:translateY(0)scale(.96)}.nav-action-sale.active .nav-action-sale-label{color:var(--clr-text)}[data-theme=esmeralda] .nav-action-sale-circle{background:linear-gradient(135deg, var(--clr-primary), var(--clr-accent));color:#080e0b;box-shadow:0 4px 14px #00d4aa73}[data-theme=ambar] .nav-action-sale-circle{background:linear-gradient(135deg, var(--clr-primary), var(--clr-accent));color:#0f0d0a;box-shadow:0 4px 14px #f59e0b73}[data-theme=indigo] .nav-action-sale-circle{background:linear-gradient(135deg, var(--clr-primary), #0284c7);color:#08090f;box-shadow:0 4px 14px #38bdf873}[data-theme=coral] .nav-action-sale-circle{background:linear-gradient(135deg, var(--clr-primary), var(--clr-accent));color:#fff;box-shadow:0 4px 14px #ff6b6b73}[data-theme=aesthetic] .nav-action-sale-circle{background:linear-gradient(135deg, var(--clr-primary), var(--clr-accent));color:#160d1e;box-shadow:0 4px 14px #e8a0bf73}[data-theme=flutter] .nav-action-sale-circle{background:var(--clr-primary);color:#fff;box-shadow:0 3px 10px #00000059}[data-theme=flutter] .nav-action-sale:hover .nav-action-sale-circle{box-shadow:0 5px 14px #00000073}.card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);transition:border-color var(--transition-base)}.card:hover{border-color:#ffffff26}.card-elevated{background:var(--clr-surface-2);box-shadow:var(--shadow-md)}.btn{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast);white-space:nowrap;font-weight:600;display:inline-flex}.btn-primary{background:var(--clr-primary);color:#fff;box-shadow:0 4px 12px #6c63ff66}.btn-primary:hover{background:#7c74ff;transform:translateY(-1px);box-shadow:0 6px 16px #6c63ff80}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--clr-surface-2);color:var(--clr-text);border:1px solid var(--clr-border)}.btn-secondary:hover{border-color:var(--clr-primary);color:var(--clr-primary)}.btn-danger{color:var(--clr-danger);background:#ff6b6b26;border:1px solid #ff6b6b4d}.btn-danger:hover{background:#ff6b6b40}.btn-success{color:#22c55e;background:#22c55e2e;border:1px solid #22c55e59;font-weight:600}.btn-success:hover{background:#22c55e47}.btn-ghost{color:var(--clr-text-muted);padding:var(--sp-2);border-radius:var(--radius-sm)}.btn-ghost:hover{background:var(--clr-surface-2);color:var(--clr-text)}.btn-lg{padding:var(--sp-3) var(--sp-5);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-full{width:100%}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.form-group{gap:var(--sp-2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--clr-text-muted);font-weight:500}.form-input{background:var(--clr-surface-2);border:1px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--sp-2) var(--sp-3);color:var(--clr-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;width:100%}.form-input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-dim)}.form-input::placeholder{color:var(--clr-text-dim)}.badge{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;display:inline-flex}.badge-pending{color:var(--clr-text-muted);background:#8888aa26}.badge-partial{color:var(--clr-warning);background:#f6d36526}.badge-paid{color:var(--clr-success);background:#43e97b26}.badge-open{color:var(--clr-primary);background:#6c63ff26}.badge-closed{color:var(--clr-text-muted);background:#8888aa1a}.page-header{padding:var(--sp-3) 0 var(--sp-3);justify-content:space-between;align-items:center;display:flex}.page-title{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700}.list-item{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:pointer;display:flex}.list-item:hover{background:var(--clr-surface-2)}.section-title{font-size:var(--text-xs);color:var(--clr-text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--sp-2);font-weight:600}.empty-state{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--clr-text-muted);flex-direction:column;display:flex}.empty-state svg{opacity:.4;width:40px;height:40px}.empty-state p{font-size:var(--text-sm)}.divider{border:none;border-top:1px solid var(--clr-border);margin:var(--sp-3) 0}.text-muted{color:var(--clr-text-muted)}.text-success{color:var(--clr-success)}.text-warning{color:var(--clr-warning)}.text-danger{color:var(--clr-danger)}.text-primary,.amount-total{color:var(--clr-primary)}.amount-cobrado{color:var(--clr-success)}.amount-pendiente{color:var(--clr-danger)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-lg{font-size:var(--text-lg)}.font-bold{font-weight:700}.font-medium{font-weight:500}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.w-full{width:100%}.mt-auto{margin-top:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-in{animation:fadeInUp var(--transition-base) ease forwards}.animate-pulse{animation:2s infinite pulse}.skeleton{background:linear-gradient(90deg, var(--clr-surface) 25%, var(--clr-surface-2) 50%, var(--clr-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.global-loading-indicator.svelte-1uq3z7u{top:calc(env(safe-area-inset-top,0px) + 12px);pointer-events:none;z-index:10000;justify-content:center;animation:.2s cubic-bezier(.16,1,.3,1) forwards svelte-1uq3z7u-dropIn;display:flex;position:fixed;left:0;right:0}.loading-badge.svelte-1uq3z7u{-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-full,9999px);box-shadow:0 4px 16px #0006, 0 0 12px var(--clr-primary-dim,#6c63ff40);color:var(--clr-text,#f0f0f8);font-size:var(--text-xs,.75rem);letter-spacing:.02em;background:#16213eeb;border:1px solid #ffffff1f;align-items:center;gap:8px;padding:6px 14px;font-weight:500;display:inline-flex}.global-spinner.svelte-1uq3z7u{border:2px solid #fff3;border-top-color:var(--clr-primary,#6c63ff);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite svelte-1uq3z7u-spin}.loading-text.svelte-1uq3z7u{white-space:nowrap}@keyframes svelte-1uq3z7u-spin{to{transform:rotate(360deg)}}@keyframes svelte-1uq3z7u-dropIn{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}
