:root{--color-emerald-50: #ecfdf5;--color-emerald-100: #d1fae5;--color-emerald-200: #a7f3d0;--color-emerald-300: #6ee7b7;--color-emerald-400: #34d399;--color-emerald-500: #10b981;--color-emerald-600: #059669;--color-emerald-700: #047857;--color-emerald-800: #065f46;--color-emerald-900: #064e3b;--color-emerald-950: #022c22;--color-indigo-50: #eef2ff;--color-indigo-100: #e0e7ff;--color-indigo-200: #c7d2fe;--color-indigo-300: #a5b4fc;--color-indigo-400: #818cf8;--color-indigo-500: #6366f1;--color-indigo-600: #4f46e5;--color-indigo-700: #4338ca;--color-indigo-800: #3730a3;--color-indigo-900: #312e81;--color-indigo-950: #1e1b4b;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-slate-950: #020617;--color-white: #ffffff;--color-success-50: #ecfdf5;--color-success-100: #dcfce7;--color-success-400: #34d399;--color-success-500: #10b981;--color-success-600: #059669;--color-success-700: #16a34a;--color-success-800: #065f46;--color-success-subtle: rgba(16, 185, 129, .12);--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-300: #fca5a5;--color-danger-400: #f87171;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-800: #991b1b;--color-danger-subtle: rgba(239, 68, 68, .12);--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-300: #fcd34d;--color-warning-400: #fbbf24;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-800: #92400e;--color-warning-subtle: rgba(245, 158, 11, .12);--color-yellow-400: #facc15;--color-yellow-300: #ffd54f;--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-400: #60a5fa;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-info-700: #1d4ed8;--color-info-800: #1e40af;--color-info-subtle: rgba(59, 130, 246, .12);--color-sky-50: #f0f9ff;--color-sky-100: #e0f2fe;--color-sky-400: #38bdf8;--color-sky-500: #0ea5e9;--color-sky-600: #0284c7;--color-sky-800: #075985;--color-nequi: #ffd54f;--color-daviplata: #d81b60;--color-bancolombia: #f59e0b;--brand-info: var(--color-sky-400);--scanner-laser: #ff0055;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-space-6: 24px;--ds-space-8: 32px;--ds-space-12: 48px;--ds-space-16: 64px;--ds-touch-min: 48px;--ds-touch-lg: 54px;--ds-touch-numpad: 60px;--ds-radius-xs: 4px;--ds-radius-sm: 6px;--ds-radius-md: 10px;--ds-radius-lg: 14px;--ds-radius-xl: 20px;--ds-radius-full: 9999px;--ds-font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ds-font-mono: "JetBrains Mono", "SFMono-Regular", Menlo, Monaco, Consolas, monospace;--ds-font-xs: .75rem;--ds-font-sm: .875rem;--ds-font-base: 1rem;--ds-font-lg: 1.125rem;--ds-font-xl: 1.35rem;--ds-font-display: 2rem;--ds-leading-tight: 1.2;--ds-leading-normal: 1.5;--ds-leading-relaxed: 1.65;--ds-weight-normal: 400;--ds-weight-medium: 500;--ds-weight-semibold: 600;--ds-weight-bold: 700;--ds-weight-black: 800;--ds-tabular-nums: tabular-nums;--ds-icon-xs: 14px;--ds-icon-sm: 18px;--ds-icon-md: 24px;--ds-icon-lg: 32px;--ds-state-active: scale(.97);--state-disabled-opacity: .45;--state-disabled-cursor: not-allowed;--ds-transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--ds-transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--ds-card-min-width: 140px;--ds-cart-width-tablet: 340px;--ds-cart-width-desktop: 380px;--ds-viewport-height: 100dvh;--ds-safe-top: env(safe-area-inset-top, 0px);--ds-safe-bottom: env(safe-area-inset-bottom, 0px);--ds-safe-left: env(safe-area-inset-left, 0px);--ds-safe-right: env(safe-area-inset-right, 0px);--z-base: 1;--z-elevated: 2;--z-table-header: 10;--z-scanner-laser: 15;--z-sidebar-desktop: 100;--z-dropdown: 150;--z-nav: 1000;--z-cart-toggle: 1050;--z-backdrop: 1990;--z-cart-panel: 2000;--z-modal: 10000;--z-modal-nested: 10100;--z-toast: 11000}:root,[data-theme=dark],body.dark-theme{--surface-app: var(--color-slate-950);--surface-card: var(--color-slate-900);--surface-elevated: var(--color-slate-800);--surface-table-header: var(--color-slate-900);--surface-hover: rgba(255, 255, 255, .04);--surface-active: rgba(255, 255, 255, .08);--border-subtle: var(--color-slate-800);--border-strong: var(--color-slate-700);--border-focus: #38bdf8;--text-primary: var(--color-slate-50);--text-secondary: var(--color-slate-400);--text-muted: var(--color-slate-500);--text-inverse: var(--color-slate-900);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px -4px rgba(0, 0, 0, .65), 0 4px 8px -4px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 36px -6px rgba(0, 0, 0, .75), 0 8px 16px -6px rgba(0, 0, 0, .6);--bg-app: var(--surface-app);--bg-card: var(--surface-card);--bg-panel: var(--surface-card);--bg-main: var(--surface-app);--bg-secondary: var(--surface-card);--bg-hover: var(--surface-hover);--border-color: var(--border-strong);--border-ui: var(--border-strong);--success: var(--color-success-500);--danger: var(--color-danger-500);--warning: var(--color-warning-500)}[data-theme=light],body.light-theme{--surface-app: var(--color-slate-50);--surface-card: #ffffff;--surface-elevated: #ffffff;--surface-table-header: var(--color-slate-100);--surface-hover: rgba(0, 0, 0, .03);--surface-active: rgba(0, 0, 0, .06);--border-subtle: var(--color-slate-200);--border-strong: var(--color-slate-300);--border-focus: #0284c7;--text-primary: var(--color-slate-900);--text-secondary: var(--color-slate-600);--text-muted: var(--color-slate-400);--text-inverse: var(--color-slate-50);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .04);--shadow-md: 0 4px 14px -2px rgba(0, 0, 0, .08), 0 2px 6px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 16px 32px -4px rgba(0, 0, 0, .12), 0 6px 12px -4px rgba(0, 0, 0, .06);--shadow-xl: 0 24px 44px -8px rgba(0, 0, 0, .16), 0 10px 20px -8px rgba(0, 0, 0, .08);--bg-app: var(--surface-app);--bg-card: var(--surface-card);--bg-panel: var(--surface-card);--bg-main: var(--surface-app);--bg-secondary: var(--surface-card);--bg-hover: var(--surface-hover);--border-color: var(--border-strong);--border-ui: var(--border-strong);--success: var(--color-success-500);--danger: var(--color-danger-500);--warning: var(--color-warning-500)}:root,[data-palette=emerald],.theme-emerald{--brand-primary: var(--color-emerald-500);--brand-primary-hover: var(--color-emerald-600);--brand-accent: var(--color-emerald-400);--brand-glow: rgba(16, 185, 129, .25);--brand-surface-subtle: rgba(16, 185, 129, .12);--brand-border-subtle: rgba(16, 185, 129, .35);--brand-gradient: linear-gradient(135deg, var(--color-emerald-500) 0%, var(--color-emerald-600) 100%);--brand-nav-active-gradient: linear-gradient(90deg, var(--color-emerald-500) 0%, var(--color-emerald-400) 100%);--text-on-brand: #ffffff;--color-primary-rgb: 16, 185, 129;--primary: var(--brand-primary);--primary-hover: var(--brand-primary-hover);--primary-glow: var(--brand-glow);--color-primary: var(--brand-primary);--color-primary-hover: var(--brand-primary-hover)}[data-palette=indigo],.theme-indigo{--brand-primary: var(--color-indigo-600);--brand-primary-hover: var(--color-indigo-700);--brand-accent: var(--color-indigo-400);--brand-glow: rgba(79, 70, 229, .25);--brand-surface-subtle: rgba(79, 70, 229, .12);--brand-border-subtle: rgba(79, 70, 229, .35);--brand-gradient: linear-gradient(135deg, var(--color-indigo-500) 0%, var(--color-indigo-600) 100%);--brand-nav-active-gradient: linear-gradient(90deg, var(--color-indigo-500) 0%, var(--color-indigo-400) 100%);--text-on-brand: #ffffff;--color-primary-rgb: 79, 70, 229;--primary: var(--brand-primary);--primary-hover: var(--brand-primary-hover);--primary-glow: var(--brand-glow);--color-primary: var(--brand-primary);--color-primary-hover: var(--brand-primary-hover)}:root{--btn-primary-bg: var(--brand-primary);--btn-primary-text: var(--text-on-brand);--btn-primary-hover-bg: var(--brand-primary-hover);--btn-primary-glow: var(--brand-glow);--btn-secondary-bg: var(--surface-elevated);--btn-secondary-text: var(--text-primary);--btn-secondary-border: var(--border-strong);--btn-secondary-hover-bg: var(--surface-hover);--btn-danger-bg: var(--color-danger-500);--btn-danger-text: #ffffff;--btn-danger-hover-bg: var(--color-danger-600);--btn-ghost-bg: transparent;--btn-ghost-text: var(--text-secondary);--btn-ghost-hover-bg: var(--surface-hover);--stepper-btn-size: var(--ds-touch-min);--stepper-btn-bg: var(--surface-hover);--stepper-btn-text: var(--text-primary);--stepper-btn-border: var(--border-strong);--stepper-btn-hover-bg: var(--brand-surface-subtle);--stepper-btn-hover-text: var(--brand-primary);--stepper-btn-radius: var(--ds-radius-md);--input-bg: var(--surface-card);--input-text: var(--text-primary);--input-border: var(--border-strong);--input-focus-border: var(--brand-primary);--input-focus-ring: var(--brand-glow);--input-placeholder: var(--text-muted);--input-radius: var(--ds-radius-md);--input-min-height: var(--ds-touch-min);--input-border-color: var(--input-border);--bg-input: var(--input-bg);--bg-input-focus: var(--surface-elevated);--text-input: var(--input-text);--table-header-bg: var(--surface-table-header);--table-header-text: var(--text-secondary);--table-row-border: var(--border-subtle);--table-row-hover: var(--surface-hover);--table-row-selected: var(--brand-surface-subtle);--badge-success-bg: var(--color-success-subtle);--badge-success-text: var(--color-success-500);--badge-danger-bg: var(--color-danger-subtle);--badge-danger-text: var(--color-danger-500);--badge-warning-bg: var(--color-warning-subtle);--badge-warning-text: var(--color-warning-500);--badge-neutral-bg: var(--surface-hover);--badge-neutral-text: var(--text-secondary);--chip-active-bg: var(--brand-glow);--chip-active-border: var(--brand-primary);--chip-active-text: var(--brand-accent);--checkout-hero-amount-color: var(--brand-primary);--color-background: var(--surface-app);--color-surface: var(--surface-card);--color-surface-subtle: var(--surface-hover);--surface-subtle: var(--surface-hover);--surface-base: var(--surface-card);--ds-bg-surface: var(--surface-card);--ds-bg-hover: var(--surface-hover);--ds-bg-subtle: var(--brand-surface-subtle);--ds-bg-input: var(--input-bg);--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--text-tertiary: var(--text-muted);--ds-text-primary: var(--text-primary);--ds-text-secondary: var(--text-secondary);--ds-text-muted: var(--text-muted);--font-mono: var(--ds-font-mono);--font-size-xs: var(--ds-font-xs);--font-size-sm: var(--ds-font-sm);--font-size-base: var(--ds-font-base);--font-size-lg: var(--ds-font-lg);--font-size-xl: var(--ds-font-xl);--font-size-2xl: 1.5rem;--font-size-3xl: var(--ds-font-display);--font-weight-normal: var(--ds-weight-normal);--font-weight-medium: var(--ds-weight-medium);--font-weight-semibold: var(--ds-weight-semibold);--font-weight-bold: var(--ds-weight-bold);--ds-weight-extrabold: 800;--color-border: var(--border-subtle);--color-border-subtle: var(--border-subtle);--ds-border: var(--border-subtle);--border-hover: var(--border-strong);--ds-focus-ring: var(--brand-glow);--color-primary-subtle: var(--brand-surface-subtle);--color-primary-400: var(--brand-accent);--color-success: var(--color-success-500);--color-danger: var(--color-danger-500);--color-warning: var(--color-warning-500);--color-warning-700: var(--color-warning-600);--color-info-200: var(--color-info-100);--color-warning-200: var(--color-warning-100);--color-orange-500: var(--color-warning-500);--spacing-1: var(--ds-space-1);--spacing-2: var(--ds-space-2);--spacing-3: var(--ds-space-3);--spacing-4: var(--ds-space-4);--spacing-5: var(--ds-space-5);--spacing-6: var(--ds-space-6);--spacing-8: var(--ds-space-8);--spacing-9: 36px;--spacing-10: 40px;--spacing-11: 44px;--spacing-12: var(--ds-space-12);--spacing-16: var(--ds-space-16);--radius-xs: var(--ds-radius-xs);--radius-sm: var(--ds-radius-sm);--radius-md: var(--ds-radius-md);--radius-lg: var(--ds-radius-lg);--radius-xl: var(--ds-radius-xl);--radius-full: var(--ds-radius-full);--ds-radius-2xl: 24px;--transition-fast: var(--ds-transition-fast);--transition-normal: var(--ds-transition-normal);--shadow-2xl: var(--shadow-xl);--modal-backdrop: rgba(0, 0, 0, .65);--modal-overlay: rgba(0, 0, 0, .65);--backdrop-dark: rgba(0, 0, 0, .75);--z-modal-bg: var(--z-backdrop);--btn-primary-border: transparent;--btn-primary-hover: var(--brand-primary-hover);--btn-danger-border: transparent;--btn-danger-hover: var(--color-danger-600)}*,*:before,*:after{box-sizing:border-box;margin:0}:root{font-family:var(--ds-font-family);line-height:var(--ds-leading-normal);font-weight:var(--ds-weight-normal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-width:320px;min-height:100vh;min-height:var(--ds-viewport-height);width:100%;height:100vh;height:var(--ds-viewport-height);background-color:var(--bg-app);color:var(--text-primary);font-family:var(--ds-font-family);transition:background-color var(--ds-transition-normal),color var(--ds-transition-normal)}a{font-weight:500;color:var(--brand-primary);text-decoration:inherit;transition:color var(--ds-transition-fast)}a:hover{color:var(--brand-primary-hover)}:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--border-focus)}:focus:not(:focus-visible){outline:none}input,select,textarea{background-color:var(--input-bg);color:var(--input-text);border:1px solid var(--input-border);border-radius:var(--input-radius);font-family:inherit;font-size:var(--ds-font-base);min-height:var(--input-min-height);padding:0 var(--ds-space-3);transition:border-color var(--ds-transition-fast),box-shadow var(--ds-transition-fast)}input:focus,select:focus,textarea:focus{background-color:var(--bg-input-focus);color:var(--input-text);border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-ring);outline:none}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--input-text);-webkit-box-shadow:0 0 0px 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;caret-color:var(--input-text);transition:background-color 5000s ease-in-out 0s}.btn:disabled,button:disabled{opacity:var(--state-disabled-opacity);cursor:var(--state-disabled-cursor);pointer-events:none}.table-view-desktop{display:block}.cards-view-mobile{display:none}@media(max-width:768px){.table-view-desktop{display:none}.cards-view-mobile{display:flex;flex-direction:column;gap:var(--ds-space-3);padding-bottom:calc(72px + var(--ds-safe-bottom));width:100%}}@media(min-width:769px){.table-view-desktop{display:block}.cards-view-mobile{display:none}}.route-loading-skeleton{display:flex;flex-direction:column;width:100%;min-height:100%;padding:1.5rem 2rem;box-sizing:border-box;gap:var(--ds-space-4, 16px);animation:ds-fade-in .15s ease-out}.route-loading-skeleton--pos{display:flex;flex-direction:row;height:100%;padding:0;gap:var(--ds-space-4, 16px)}.route-loading-skeleton--pos .pos-skeleton-catalog{flex:1;display:flex;flex-direction:column;padding:var(--ds-space-4, 16px);gap:var(--ds-space-4, 16px);overflow:hidden}.route-loading-skeleton--pos .pos-skeleton-cart{width:var(--ds-cart-width-desktop, 380px);background:var(--surface-card);border-left:1px solid var(--border-subtle, rgba(255, 255, 255, .08));display:flex;flex-direction:column;padding:var(--ds-space-4, 16px);gap:var(--ds-space-4, 16px)}@keyframes ds-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton-shimmer{background:var(--surface-elevated);border-radius:var(--ds-radius-md, 8px);animation:ds-skeleton-pulse 1.6s ease-in-out infinite}.skeleton-table-header{display:flex;justify-content:space-between;align-items:center;height:48px;gap:var(--ds-space-4, 16px)}.skeleton-table-toolbar{display:flex;gap:var(--ds-space-3, 12px);height:44px}.skeleton-table-card{flex:1;background:var(--surface-card);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:var(--ds-radius-lg, 12px);padding:var(--ds-space-4, 16px);display:flex;flex-direction:column;gap:var(--ds-space-3, 12px)}.skeleton-table-row{height:48px;border-bottom:1px solid var(--border-subtle, rgba(255, 255, 255, .08));display:flex;align-items:center;gap:var(--ds-space-4, 16px)}.skeleton-grid-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--ds-card-min-width, 140px),1fr));gap:var(--ds-space-3, 12px);flex:1}.skeleton-product-card{height:180px;background:var(--surface-card);border-radius:var(--ds-radius-lg, 12px);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));padding:var(--ds-space-2, 8px);display:flex;flex-direction:column;gap:var(--ds-space-2, 8px)}.pos-skeleton-omnibox{height:48px;width:100%}.pos-skeleton-categories{display:flex;gap:var(--ds-space-2, 8px);height:36px}.pos-skeleton-chip{height:100%}.pos-skeleton-chip--0{width:80px}.pos-skeleton-chip--1{width:100px}.pos-skeleton-chip--2{width:90px}.pos-skeleton-chip--3{width:110px}.pos-skeleton-chip--4{width:75px}.skeleton-card-img{height:75px;width:100%}.skeleton-card-title{height:18px;width:85%}.skeleton-card-price{height:22px;width:50%;margin-top:auto}.pos-skeleton-cart-title{height:36px;width:60%}.pos-skeleton-cart-list{flex:1;display:flex;flex-direction:column;gap:var(--ds-space-3, 12px)}.pos-skeleton-cart-item{height:56px;width:100%}.pos-skeleton-cart-total{height:70px;width:100%;margin-top:auto}.pos-skeleton-cart-btn{height:52px;width:100%}.skeleton-table-title{height:32px;width:220px}.skeleton-table-btn{height:40px;width:140px}.skeleton-toolbar-search{height:100%;flex:1}.skeleton-toolbar-filter{height:100%;width:120px}.skeleton-table-header-row{height:40px;width:100%}.skeleton-cell-col-1{height:20px;width:25%}.skeleton-cell-col-2{height:20px;width:20%}.skeleton-cell-col-3,.skeleton-cell-col-4{height:20px;width:15%}.skeleton-cell-col-5{height:20px;width:15%;margin-left:auto}.app-layout{display:flex;height:100vh;height:100dvh;width:100vw;overflow:hidden;background-color:var(--color-slate-950);color:#fff;transition:background-color .25s ease,color .25s ease;flex-direction:column}.layout-body{display:flex;flex:1;height:100%;width:100%;overflow:hidden;position:relative;flex-direction:row}.staging-banner{flex-shrink:0;width:100%;background:var(--color-warning-600);color:#fff;padding:6px 14px;font-size:.84rem;font-weight:700;text-align:center;letter-spacing:.3px;display:flex;align-items:center;justify-content:center;gap:12px;z-index:9999;box-shadow:0 2px 6px #0000004d;border-bottom:2px solid var(--color-warning-600);box-sizing:border-box}.staging-banner-content{display:flex;align-items:center;gap:8px}.staging-banner-icon{font-size:1rem}.staging-banner-text{font-size:.84rem}.staging-banner-btn{color:#fff;background:var(--color-warning-700);padding:3px 10px;border-radius:4px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.25);font-size:.8rem;transition:background .2s;white-space:nowrap}.staging-banner-btn:hover{background:var(--color-warning-800)}.app-layout.light-theme,[data-theme=light] .app-layout{background-color:var(--color-slate-50);color:var(--color-slate-900)}.sidebar{height:100%;background:linear-gradient(180deg,var(--color-slate-900) 0%,var(--color-slate-800) 100%);border-right:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;flex-shrink:0;box-shadow:4px 0 15px #0000004d;z-index:var(--z-sidebar-desktop, 100);transition:width .3s ease,background .25s ease}.app-layout.light-theme .sidebar,[data-theme=light] .sidebar{background:linear-gradient(180deg,white 0%,var(--color-slate-100) 100%);border-right:1px solid var(--color-slate-200);box-shadow:2px 0 8px #0000000d}.sidebar.expanded{width:260px}.sidebar.collapsed{width:80px}.sidebar-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.05)}.app-layout.light-theme .sidebar-header,[data-theme=light] .sidebar-header{border-bottom:1px solid var(--color-slate-200)}.sidebar-logo{font-size:1.25rem;font-weight:700;background:linear-gradient(90deg,white,var(--color-indigo-300));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:10px;white-space:nowrap;overflow:hidden}.app-layout.light-theme .sidebar-logo,[data-theme=light] .sidebar-logo{background:linear-gradient(90deg,var(--color-slate-900),var(--color-info-500));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.toggle-btn{background:#ffffff1a;color:#fff;border:none;border-radius:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:background-color .2s ease;flex-shrink:0}.app-layout.light-theme .toggle-btn,[data-theme=light] .toggle-btn{background:var(--color-slate-200);color:var(--color-slate-700)}.toggle-btn:hover{background:#fff3}.app-layout.light-theme .toggle-btn:hover,[data-theme=light] .toggle-btn:hover{background:var(--color-slate-300)}.sidebar-content{flex:1;padding:24px 16px;overflow-y:auto;display:flex;flex-direction:column;justify-content:space-between}.nav-menu{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;color:var(--color-slate-400);text-decoration:none;border-radius:12px;font-weight:500;transition:all .2s ease;white-space:nowrap;overflow:hidden}.app-layout.light-theme .nav-item,[data-theme=light] .nav-item{color:var(--color-slate-600)}.sidebar.collapsed .nav-item{justify-content:center;padding:14px 0}.nav-item:hover{background-color:#ffffff0d;color:#fff;transform:translate(4px)}.app-layout.light-theme .nav-item:hover,[data-theme=light] .nav-item:hover{background-color:var(--color-slate-100);color:var(--color-slate-900)}.nav-item.active,.theme-emerald .nav-item.active,.theme-indigo .nav-item.active{background:linear-gradient(90deg,var(--brand-primary) 0%,var(--brand-accent) 100%);color:#fff;box-shadow:0 4px 15px var(--brand-glow)}.nav-icon{font-size:1.2rem}.nav-divider{height:1px;background:#ffffff14;margin:12px 0}.app-layout.light-theme .nav-divider,[data-theme=light] .nav-divider{background:var(--color-slate-200)}.theme-toggle-container{margin-top:auto;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}.app-layout.light-theme .theme-toggle-container,[data-theme=light] .theme-toggle-container{border-top:1px solid var(--color-slate-200)}.theme-toggle-btn{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--color-slate-200);border-radius:10px;cursor:pointer;font-size:.85rem;font-weight:600;transition:all .2s ease;width:100%}.app-layout.light-theme .theme-toggle-btn,[data-theme=light] .theme-toggle-btn{background:var(--color-slate-100);border-color:var(--color-slate-300);color:var(--color-slate-800)}.theme-toggle-btn:hover{background:#ffffff1f;border-color:#ffffff40}.app-layout.light-theme .theme-toggle-btn:hover,[data-theme=light] .theme-toggle-btn:hover{background:var(--color-slate-200)}.palette-selector{display:flex;gap:6px}.palette-btn{flex:1;padding:6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0d;color:var(--color-slate-300);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s}.app-layout.light-theme .palette-btn,[data-theme=light] .palette-btn{background:var(--color-slate-100);border-color:var(--color-slate-300);color:var(--color-slate-700)}.palette-btn.active{border-color:var(--brand-primary);background:var(--brand-glow);color:var(--brand-primary)}.palette-btn.emerald.active{border-color:var(--color-emerald-500);background:#10b98126;color:var(--color-emerald-400)}.palette-btn.indigo.active{border-color:var(--color-indigo-500);background:#6366f126;color:var(--color-indigo-400)}.sidebar-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.05);font-size:.8rem;color:var(--color-slate-500);text-align:center}.main-content{flex:1;overflow-y:auto;padding:2px;background-color:var(--color-slate-950);position:relative;transition:background-color .25s ease}.app-layout.light-theme .main-content,[data-theme=light] .main-content{background-color:var(--color-slate-50);color:var(--color-slate-900)}.pos-app-layout .layout-body,.pos-layout-body{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.pos-app-layout .main-content,.pos-main-content{flex:1;width:100%;height:100%;min-height:0;padding:0;overflow-y:auto}.pos-app-layout .sidebar{display:none}.container{max-width:1400px;margin:0 auto;padding:24px}@media(max-width:768px){.layout-body{flex-direction:column;height:100%;overflow:hidden}.staging-banner{padding:2px 8px;height:28px;min-height:28px;font-size:.72rem;justify-content:space-between;gap:6px}.staging-banner-content{gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.staging-banner-text{font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staging-banner-btn{padding:2px 6px;font-size:.68rem;height:22px;display:inline-flex;align-items:center}.layout-body{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:100%;overflow:hidden}.main-content{order:1;flex:1;min-height:0;width:100%;overflow-y:auto;padding:0;box-sizing:border-box}.sidebar,.sidebar.collapsed,.sidebar.expanded{order:2;flex-shrink:0;position:relative;width:100%;max-width:100%;height:calc(56px + env(safe-area-inset-bottom,0px));min-height:calc(56px + env(safe-area-inset-bottom,0px));max-height:calc(56px + env(safe-area-inset-bottom,0px));border-right:none;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -3px 12px #00000040;z-index:var(--z-nav, 1000);padding:0;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--color-slate-900)}.app-layout.light-theme .sidebar,[data-theme=light] .sidebar{background:#fff;border-top:1px solid var(--color-slate-200);box-shadow:0 -2px 8px #00000014}.pos-app-layout .sidebar,.sidebar-header,.sidebar-footer,.nav-divider,.theme-toggle-container{display:none}.sidebar-content{padding:0;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.nav-menu{flex-direction:row;width:100%;height:100%;justify-content:space-around;align-items:center;gap:0}.nav-item{flex:1;height:100%;min-height:48px;flex-direction:column;gap:2px;padding:4px 2px;border-radius:0;font-size:.7rem;text-align:center;justify-content:center;color:var(--text-secondary)}.nav-item:hover{transform:none;background-color:transparent}.nav-item.active,.theme-emerald .nav-item.active,.theme-indigo .nav-item.active{background:transparent;box-shadow:none;color:var(--brand-primary)}.nav-item.active .nav-icon{color:inherit;background:none;-webkit-text-fill-color:initial}}.toast-viewport{position:fixed;top:calc(var(--ds-safe-top, 0px) + var(--ds-space-4, 16px));right:calc(var(--ds-safe-right, 0px) + var(--ds-space-4, 16px));z-index:var(--z-toast, 11000);display:flex;flex-direction:column;gap:var(--ds-space-2, 8px);width:calc(100vw - 32px);max-width:440px;pointer-events:none}@media(max-width:640px){.toast-viewport{left:var(--ds-space-4, 16px);right:var(--ds-space-4, 16px);width:auto}}.toast-item{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--ds-space-3, 12px);padding:var(--ds-space-3, 12px) var(--ds-space-4, 16px);border-radius:var(--ds-radius-lg, 14px);box-shadow:0 10px 25px -5px #00000073,0 8px 10px -6px #00000059;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-width:1px;border-style:solid;color:var(--text-primary);animation:toast-slide-in .22s cubic-bezier(.16,1,.3,1) forwards;transition:transform .15s ease,opacity .15s ease;touch-action:manipulation}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-item.toast-success{background:#064e3be0;border-color:#10b981b3;box-shadow:0 10px 25px -5px #10b98140}.toast-item.toast-warning{background:#78350fe6;border-color:#f59e0bcc;box-shadow:0 10px 25px -5px #f59e0b40}.toast-item.toast-error{background:#7f1d1de6;border-color:#ef4444cc;box-shadow:0 10px 25px -5px #ef444440}.toast-item.toast-info{background:#1e3a8ae6;border-color:#38bdf8b3;box-shadow:0 10px 25px -5px #38bdf840}[data-theme=light] .toast-item,body.light-theme .toast-item{color:var(--color-slate-900)}[data-theme=light] .toast-item.toast-success,body.light-theme .toast-item.toast-success{background:var(--color-success-50);border-color:var(--color-success-500);color:var(--color-success-800)}[data-theme=light] .toast-item.toast-warning,body.light-theme .toast-item.toast-warning{background:var(--color-warning-50);border-color:var(--color-warning-500);color:var(--color-warning-800)}[data-theme=light] .toast-item.toast-error,body.light-theme .toast-item.toast-error{background:var(--color-danger-50);border-color:var(--color-danger-500);color:var(--color-danger-800)}[data-theme=light] .toast-item.toast-info,body.light-theme .toast-item.toast-info{background:var(--color-sky-50);border-color:var(--color-sky-600);color:var(--color-sky-800)}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}.toast-content{flex:1;font-size:var(--ds-font-sm, .875rem);line-height:1.45;word-break:break-word;font-weight:500}.toast-close-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ds-radius-sm, 6px);border:none;background:transparent;color:currentColor;opacity:.65;cursor:pointer;transition:opacity .12s ease,background-color .12s ease;margin:-2px -4px -2px 0;touch-action:manipulation}.toast-close-btn:hover,.toast-close-btn:focus-visible{opacity:1;background:#ffffff26;outline:none}.session-recovery-backdrop{position:fixed;inset:0;background-color:#0f172abf;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--ds-space-4, 1rem);animation:sessionRecoveryFadeIn .2s ease-out}.session-recovery-card{background:var(--surface-elevated, var(--color-slate-800));color:var(--text-primary, var(--color-slate-50));border:1px solid var(--border-strong, var(--color-slate-700));border-radius:var(--ds-radius-xl, 20px);padding:2rem;max-width:440px;width:100%;box-shadow:var(--shadow-xl);text-align:center;position:relative;animation:sessionRecoveryScaleUp .25s cubic-bezier(.16,1,.3,1)}.session-recovery-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--color-warning-subtle);border:1px solid var(--color-warning-500);font-size:1.8rem;margin-bottom:1.25rem}.session-recovery-title{font-size:1.35rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary, var(--color-slate-50))}.session-recovery-desc{font-size:.925rem;line-height:1.5;color:var(--text-secondary, var(--color-slate-400));margin-bottom:1.5rem}.session-recovery-desc strong{color:var(--color-success-400)}.session-recovery-error{background:var(--color-danger-subtle);border:1px solid var(--color-danger-500);color:var(--color-danger-400);padding:.75rem 1rem;border-radius:var(--ds-radius-md, 8px);font-size:.875rem;margin-bottom:1.25rem;text-align:center}.session-recovery-oauth{display:flex;justify-content:center;align-items:center;margin-bottom:1.25rem;min-height:48px}.session-recovery-loading{color:var(--color-primary-400, var(--color-sky-400));font-size:var(--ds-font-sm, .85rem);margin-bottom:var(--ds-space-3, .75rem)}.session-recovery-actions{display:flex;justify-content:center;margin-top:1rem;border-top:1px solid var(--border-strong, var(--color-slate-700));padding-top:1rem}.session-recovery-cancel-btn{background:transparent;border:none;color:var(--text-muted, var(--color-slate-500));font-size:.875rem;cursor:pointer;padding:.5rem 1rem;border-radius:var(--ds-radius-md, 8px);transition:color .15s ease,background-color .15s ease}.session-recovery-cancel-btn:hover{color:var(--text-primary, var(--color-slate-50));background:var(--surface-hover)}@keyframes sessionRecoveryFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sessionRecoveryScaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-nav{background:linear-gradient(135deg,var(--color-indigo-500) 0%,var(--color-indigo-700) 100%);color:#fff;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.nav-logo h2{margin:0;font-size:1.25rem;font-weight:700}.nav-links{display:flex;gap:.5rem}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:6px;transition:all .2s;font-weight:600;font-size:.9rem}.nav-link:hover{background:#fff3;transform:translateY(-1px)}.app-content{flex:1;overflow:hidden}
