:root{--color-black: #000000;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--bottom-nav-h: 56px;--bottom-nav-total: calc(var(--bottom-nav-h) + var(--safe-bottom));--color-purple-dark: #472973;--color-purple-vibrant: #8839FF;--color-purple-light: #B483FF;--color-gray-light: #E6E6E6;--primary-color: var(--color-purple-dark);--primary-hover: var(--color-purple-vibrant);--secondary-color: var(--color-purple-light);--accent-color: var(--color-purple-vibrant);--background-color: var(--color-gray-light);--surface-color: #ffffff;--text-primary: var(--color-black);--text-secondary: var(--color-purple-dark);--border-color: #d1d1d1;--success-color: #00c853;--warning-color: #ffd600;--error-color: #ff1744;--font-main: "Poppins", sans-serif;--font-sans: "Inter", system-ui, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--shadow: 0 4px 12px rgba(0, 0, 0, .08);--color-lila: #f5f3ff;--color-purple-deeper: #351b5e;--glow-primary: rgba(136, 57, 255, .5);--focus-ring: rgba(136, 57, 255, .35);--success-soft: #dcfce7;--success-ink: #166534;--p05: #30a46c;--p02: #f76b15;--p03: #ffc53d;--p04: #0090ff;--p01: #e5484d}@layer theme,base,components,utilities;@layer base{*{box-sizing:border-box;margin:0;padding:0}html{background-color:#fff}body{font-family:var(--font-sans);background-color:var(--background-color);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,.serif{font-family:var(--font-main);font-weight:700}button{cursor:pointer;font-family:var(--font-main);transition:all .2s ease;border:0;background:transparent;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}input,select,textarea{font-family:var(--font-sans);font-size:1rem}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--surface-color)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:10px}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.2rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all .2s;white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-outline{background:#fff;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-outline:hover:not(:disabled){background:#f5f5f5;border-color:var(--text-secondary)}.btn-secondary{background:#f5f5f5;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:#eee}.btn-danger{background:var(--error-color);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-danger-outline{background:#fff;color:var(--error-color);border:1px solid var(--error-color)}.btn-danger-outline:hover:not(:disabled){background:#fff5f5}.btn-success,.btn-cobrar{background:var(--success-soft);color:var(--success-ink)}.btn-cobrar:hover:not(:disabled){border:1px solid #bbf7d0;transform:translateY(-1px)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;transition:background .2s}.btn-icon:hover:not(:disabled){background:#f5f5f5}.btn-icon.btn-icon-danger{color:var(--error-color)}.btn-icon.btn-icon-danger:hover:not(:disabled){background:#fff5f5}.chip-action{display:inline-flex;align-items:center;gap:6px;border:none;cursor:pointer;font-family:var(--font-main);font-weight:600;font-size:12px;border-radius:999px;padding:6px 13px;flex-shrink:0;background:#8839ff1f;color:var(--primary-color);transition:background .18s}.chip-action:hover:not(:disabled){background:#8839ff38}.chip-action svg{width:14px;height:14px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--primary-color);transition:background .18s;flex-shrink:0}.icon-btn:hover:not(:disabled){background:var(--color-lila)}.icon-btn svg{width:19px;height:19px}.chip-mut{display:inline-flex;align-items:center;gap:5px;cursor:pointer;flex-shrink:0;font-family:var(--font-main);font-weight:600;font-size:12px;border-radius:999px;padding:6px 13px;background:transparent;color:#777;border:1px solid var(--border-color);transition:color .18s,border-color .18s,background .18s}.chip-mut:hover:not(:disabled){color:var(--primary-color);border-color:var(--primary-color)}.chip-mut.is-done{background:var(--success-soft);color:var(--success-ink);border-color:transparent;animation:chip-pop .25s ease-out}.check{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.check input{position:absolute;opacity:0;width:0;height:0}.check-box{width:22px;height:22px;border:2px solid var(--border-color);border-radius:6px;background:var(--surface-color);display:inline-flex;align-items:center;justify-content:center;transition:background .18s,border-color .18s;flex-shrink:0}.check-box svg{width:14px;height:14px;stroke:#fff;opacity:0;transform:scale(.6);transition:opacity .15s,transform .2s ease-out}.check input:checked+.check-box{background:var(--primary-color);border-color:var(--primary-color)}.check input:checked+.check-box svg{opacity:1;transform:scale(1)}.check input:indeterminate+.check-box{background:var(--primary-color);border-color:var(--primary-color)}.check input:disabled+.check-box{opacity:.5;cursor:not-allowed}.switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .track{width:36px;height:20px;border-radius:999px;background:#c9c9c9;position:relative;transition:background .2s;flex-shrink:0}.switch .track:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.switch:hover input:not(:disabled)+.track{background:#b2b2b2}.switch input:checked+.track{background:var(--primary-color)}.switch input:checked+.track:after{transform:translate(16px)}.switch input:disabled+.track{opacity:.5;cursor:not-allowed}.radio{display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.radio input{position:absolute;opacity:0;width:0;height:0}.radio-dot{width:20px;height:20px;border:2px solid var(--border-color);border-radius:50%;background:var(--surface-color);display:inline-flex;align-items:center;justify-content:center;transition:border-color .18s;flex-shrink:0}.radio-dot:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary-color);transform:scale(0);transition:transform .18s ease-out}.radio input:checked+.radio-dot{border-color:var(--primary-color)}.radio input:checked+.radio-dot:after{transform:scale(1)}}@keyframes chip-pop{0%{transform:scale(.85)}60%{transform:scale(1.06)}to{transform:scale(1)}}@layer base{:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}}@media (max-width: 768px){body{line-height:1.55;-webkit-text-size-adjust:100%;text-size-adjust:100%}h2{line-height:1.2}}@media (max-width: 768px){.toast{bottom:calc(var(--bottom-nav-total) + .75rem)!important}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear;display:block}@media (prefers-reduced-motion: reduce){.skeleton{animation:none}}
