:root{--color-primary: #1a6bff;--color-primary-hover: #1558d6;--color-primary-light: #eff4ff;--color-sidebar-bg: #0f172a;--color-sidebar-text: #94a3b8;--color-sidebar-hover: #1e2d45;--color-sidebar-active: #1a6bff;--color-bg: #f1f5f9;--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-border: #e2e8f0;--color-border-focus: #1a6bff;--color-text: #1e293b;--color-text-muted: #64748b;--color-text-faint: #94a3b8;--color-success: #22c55e;--color-success-bg: #f0fdf4;--color-error: #ef4444;--color-error-bg: #fef2f2;--color-warning: #f59e0b;--color-warning-bg: #fffbeb;--color-info: #3b82f6;--color-info-bg: #eff6ff;--radius-sm: 4px;--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0,0,0,.08);--shadow: 0 1px 4px rgba(0,0,0,.12);--shadow-md: 0 4px 12px rgba(0,0,0,.12);--shadow-lg: 0 8px 24px rgba(0,0,0,.14);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--transition: .15s ease}html.dark{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-2: #162032;--color-border: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-text-faint: #64748b;--color-primary-light: #1e3a6e;--color-success-bg: #052e16;--color-error-bg: #2d0a0a;--color-warning-bg: #2d1b00;--color-info-bg: #0c1a3a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-faint)}@media print{.no-print{display:none!important}body{background:#fff;color:#000;font-size:12px}}.sidebar{width:180px;height:100vh;background:var(--color-sidebar-bg);display:flex;flex-direction:column;padding:0;flex-shrink:0;overflow:hidden}.sidebar__logo{display:flex;align-items:center;gap:10px;padding:20px 16px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar__logo-img{width:100%;height:auto;max-height:48px;object-fit:contain}.sidebar__shift-indicator{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.shift-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.shift-dot--open{background:var(--color-success);box-shadow:0 0 0 2px #22c55e4d}.shift-dot--closed{background:var(--color-error)}.sidebar__shift-label{font-size:11px;color:var(--color-sidebar-text);font-weight:500}.sidebar__nav{flex:1;padding:8px 0;overflow-y:auto}.sidebar__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;color:var(--color-sidebar-text);border-radius:0;transition:background var(--transition),color var(--transition);text-align:left}.sidebar__item:hover{background:var(--color-sidebar-hover);color:#fff}.sidebar__item--active{background:var(--color-sidebar-active);color:#fff}.sidebar__bottom{padding:8px 0;border-top:1px solid rgba(255,255,255,.06)}.sidebar__item--logout{color:#f87171}.sidebar__item--logout:hover{background:#ef44441a;color:#f87171}.header{height:56px;display:flex;align-items:center;gap:16px;padding:0 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.header__title{font-size:16px;font-weight:600;color:var(--color-text);white-space:nowrap;min-width:80px}.header__search{flex:1;max-width:480px;position:relative}.header__search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.header__search-input{width:100%;height:36px;padding:0 12px 0 34px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:13px;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.header__search-input:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px #1a6bff1f}.header__search-input::placeholder{color:var(--color-text-faint)}.header__right{display:flex;align-items:center;gap:10px;margin-left:auto}.header__tenant{font-size:12px;color:var(--color-text-muted);font-weight:500}.header__avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;min-width:260px;max-width:380px;pointer-events:all;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast--success{background:var(--color-success-bg);color:#166534;border-left:3px solid var(--color-success)}.toast--error{background:var(--color-error-bg);color:#991b1b;border-left:3px solid var(--color-error)}.toast--warning{background:var(--color-warning-bg);color:#92400e;border-left:3px solid var(--color-warning)}.toast--info{background:var(--color-info-bg);color:#1e40af;border-left:3px solid var(--color-info)}html.dark .toast--success{color:#86efac}html.dark .toast--error{color:#fca5a5}html.dark .toast--warning{color:#fcd34d}html.dark .toast--info{color:#93c5fd}.toast__icon{flex-shrink:0}.toast__message{flex:1;line-height:1.4}.toast__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);opacity:.6;transition:opacity var(--transition);color:inherit}.toast__close:hover{opacity:1}.login-page{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:url(/fondo_login.webp) center center / cover no-repeat;padding:20px}.login-card{background:var(--color-surface);border-radius:var(--radius-xl);padding:40px;width:100%;max-width:380px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:28px;justify-content:center}.login-logo__img{height:64px;width:auto;object-fit:contain}.login-card__title{font-size:20px;font-weight:700;color:var(--color-text);margin-bottom:4px;text-align:center}.login-card__subtitle{font-size:13px;color:var(--color-text-muted);text-align:center;margin-bottom:28px}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:var(--color-text)}.form-input{height:40px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:14px;outline:none;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1a6bff1f}.form-input--padded{padding-right:40px}.form-input-wrapper{position:relative}.form-input-action{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);display:flex;align-items:center;padding:4px}.form-input-action:hover{color:var(--color-text)}.btn-primary{height:44px;padding:0 20px;background:var(--color-primary);color:#fff;border-radius:var(--radius);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--transition),opacity var(--transition);cursor:pointer;border:none;width:100%}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.login-btn{margin-top:8px}.login-btn__spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.category-selector{display:flex;gap:8px;padding:12px 20px;overflow-x:auto;flex-shrink:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);scrollbar-width:none}.category-selector::-webkit-scrollbar{display:none}.category-pill{white-space:nowrap;padding:6px 16px;border-radius:999px;font-size:13px;font-weight:500;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);transition:all var(--transition);flex-shrink:0}.category-pill:hover{border-color:var(--color-primary);color:var(--color-primary)}.category-pill--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.product-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);text-align:left;width:100%}.product-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.product-card:active,.product-card--flash{transform:scale(.97);background:var(--color-primary-light)}.product-card--no-stock{opacity:.55}.product-card__img-wrap{position:relative;width:100%;aspect-ratio:1;background:var(--color-bg);overflow:hidden}.product-card__img{width:100%;height:100%;object-fit:cover}.product-card__img-skeleton{width:100%;height:100%;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.product-card__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-faint)}.product-card__badge{position:absolute;top:6px;right:6px;background:var(--color-error);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-sm)}.product-card__info{padding:8px 10px 10px;display:flex;flex-direction:column;gap:2px}.product-card__name{font-size:12px;font-weight:500;color:var(--color-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:2.6em}.product-card__price{font-size:13px;font-weight:700;color:var(--color-primary)}.product-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:16px;overflow-y:auto;align-content:start}.product-card-skeleton{border-radius:var(--radius-lg);aspect-ratio:.85;background:linear-gradient(90deg,var(--color-border) 25%,var(--color-bg) 50%,var(--color-border) 75%);background-size:200% 100%;animation:shimmer 1.2s infinite}.product-grid__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-muted);gap:8px;font-size:14px}.product-grid__empty-hint{font-size:12px;color:var(--color-text-faint)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.customer-search{display:flex;flex-direction:column;gap:10px}.customer-search__input-wrap{position:relative}.cs-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.customer-search__input{width:100%;height:40px;padding:0 12px 0 34px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:14px;outline:none}.customer-search__input:focus{border-color:var(--color-primary)}.cs-spinner{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}.customer-results{list-style:none;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.customer-result-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text)}.customer-result-item:hover{background:var(--color-primary-light)}.customer-result-item:last-child{border-bottom:none}.cr-name{font-weight:600}.cr-doc{font-size:11px;color:var(--color-text-muted)}.cs-no-results{font-size:13px;color:var(--color-text-muted);text-align:center;padding:8px 0}.cs-create-btn{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--color-primary);padding:6px 0}.cs-create-btn:hover{text-decoration:underline}.cs-form{display:flex;flex-direction:column;gap:8px;background:var(--color-bg);padding:12px;border-radius:var(--radius);border:1px solid var(--color-border)}.cs-input{height:36px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.cs-input:focus{border-color:var(--color-primary)}.cs-submit-btn{height:36px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:13px;font-weight:600}.cs-submit-btn:disabled{opacity:.6;cursor:not-allowed}.dian-confirm{display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0}.dian-confirm__icon{animation:pop .3s ease}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.dian-confirm__title{font-size:22px;font-weight:800;color:var(--color-text)}.dian-confirm__ref{font-size:14px;color:var(--color-text-muted)}.dian-confirm__amounts{width:100%;background:var(--color-bg);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column;gap:6px}.dca-row{display:flex;justify-content:space-between;font-size:14px;color:var(--color-text-muted)}.dca-row--change{font-size:18px;font-weight:800;color:var(--color-success)}.dian-confirm__cufe{width:100%;background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.dian-confirm__cufe--pending{background:var(--color-warning-bg);border-color:var(--color-warning);flex-direction:row;align-items:center;gap:8px;font-size:13px;color:#92400e}.dian-confirm__cufe-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#166534}.dian-confirm__cufe-code{font-family:var(--font-mono);font-size:10px;word-break:break-all;color:#166534;line-height:1.5}.dian-confirm__copy-btn{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:#166534;width:fit-content}.dian-confirm__copy-btn:hover{text-decoration:underline}.dian-confirm__actions{width:100%;display:flex;gap:10px}.dian-btn{flex:1;height:48px;border-radius:var(--radius);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}.dian-btn--secondary{border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.dian-btn--secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.dian-btn--primary{background:var(--color-primary);color:#fff;flex:1.5}.dian-btn--primary:hover{background:var(--color-primary-hover)}.payment-total-display{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--color-bg);border-radius:var(--radius);padding:16px}.payment-total-display span{font-size:13px;color:var(--color-text-muted)}.payment-total-display strong{font-size:32px;font-weight:800;color:var(--color-text)}.pm-section{display:flex;flex-direction:column;gap:8px}.pm-section__label{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.pm-customer-row{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 12px}.pm-customer-name{font-size:14px;font-weight:600;color:var(--color-text)}.pm-customer-actions{display:flex;gap:6px;align-items:center}.pm-customer-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:12px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface)}.pm-customer-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.pm-customer-btn--clear{padding:5px 7px;color:var(--color-error)}.pm-customer-btn--clear:hover{border-color:var(--color-error);color:var(--color-error)}.pm-search-panel{display:flex;flex-direction:column;gap:8px}.pm-cancel-search{font-size:12px;color:var(--color-text-muted);text-align:center;padding:4px;text-decoration:underline;background:none;border:none;cursor:pointer}.payment-methods{display:flex;gap:10px}.payment-method-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:2px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:13px;font-weight:600;transition:all var(--transition)}.payment-method-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.payment-method-btn--active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.cash-input{width:100%;height:56px;font-size:28px;font-weight:700;text-align:center;border:2px solid var(--color-border);border-radius:var(--radius);outline:none;color:var(--color-text);background:var(--color-surface);box-sizing:border-box}.cash-input:focus{border-color:var(--color-primary)}.bill-shortcuts{display:flex;gap:6px;flex-wrap:wrap}.bill-btn{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;font-weight:700;color:var(--color-text);background:var(--color-bg)}.bill-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.change-display{font-size:15px;color:var(--color-text-muted);background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius);padding:10px 14px}.change-display strong{color:var(--color-success);font-size:22px;margin-left:4px}.cash-shortage{font-size:13px;font-weight:600;color:var(--color-error);background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius);padding:8px 14px}.pm-pay-btn{height:50px;width:100%;background:var(--color-primary);color:#fff;border-radius:var(--radius);font-size:16px;font-weight:800;transition:background var(--transition);margin-top:4px}.pm-pay-btn:hover:not(:disabled){background:var(--color-primary-hover)}.pm-pay-btn:disabled{opacity:.45;cursor:not-allowed}.processing-state{display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px 0;color:var(--color-text-muted);font-size:14px}.processing-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.consumer-final-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:44px;width:100%;border-radius:var(--radius);border:2px solid var(--color-border);font-size:14px;font-weight:700;color:var(--color-text)}.consumer-final-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.customer-divider{display:flex;align-items:center;gap:12px;color:var(--color-text-faint);font-size:12px}.customer-divider:before,.customer-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;flex-shrink:0}.modal__title{font-size:18px;font-weight:700;color:var(--color-text)}.modal__close{color:var(--color-text-muted);padding:4px;border-radius:var(--radius-sm)}.modal__close:hover{background:var(--color-bg);color:var(--color-text)}.modal__body{padding:20px 24px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.eo-section{display:flex;flex-direction:column;gap:6px}.eo-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:2px}.eo-empty{font-size:13px;color:var(--color-text-faint);text-align:center;padding:8px 0}.eo-line{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.eo-line--added{border-color:var(--color-primary);background:var(--color-primary-light)}.eo-line__qty{font-size:13px;font-weight:700;color:var(--color-text-muted);min-width:24px}.eo-line__name{flex:1;font-size:13px;font-weight:600;color:var(--color-text)}.eo-line__price{font-size:13px;font-weight:700;color:var(--color-primary)}.eo-line__remove{color:var(--color-text-faint);padding:3px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.eo-line__remove:hover{color:var(--color-error);background:var(--color-error-bg, #fef2f2)}.eo-qty-ctrl{display:flex;align-items:center;gap:4px}.eo-qty-ctrl button{width:22px;height:22px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-text)}.eo-qty-ctrl button:hover{border-color:var(--color-primary);color:var(--color-primary)}.eo-qty-ctrl span{font-size:13px;font-weight:700;min-width:18px;text-align:center}.eo-note{width:100%;resize:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:13px;font-family:inherit;padding:8px 10px;outline:none;line-height:1.4;box-sizing:border-box}.eo-note:focus{border-color:var(--color-primary)}.eo-note::placeholder{color:var(--color-text-faint)}.eo-search-wrap{position:relative}.eo-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.eo-search{width:100%;height:38px;padding:0 12px 0 32px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:13px;outline:none;box-sizing:border-box}.eo-search:focus{border-color:var(--color-primary)}.eo-product-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-align:left;transition:all var(--transition)}.eo-product-row:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.eo-product-row__name{flex:1;font-size:13px;font-weight:600;color:var(--color-text)}.eo-product-row__price{font-size:12px;color:var(--color-text-muted)}.eo-product-row__icon{color:var(--color-primary);flex-shrink:0}.eo-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid var(--color-border)}.eo-total{font-size:14px;color:var(--color-text-muted)}.eo-total strong{font-size:20px;font-weight:800;color:var(--color-text);margin-left:4px}.eo-save-btn{height:44px;padding:0 24px;background:var(--color-primary);color:#fff;border-radius:var(--radius);font-size:14px;font-weight:700;transition:background var(--transition)}.eo-save-btn:hover:not(:disabled){background:var(--color-primary-hover)}.eo-save-btn:disabled{opacity:.45;cursor:not-allowed}.modifier-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:300}.modifier-modal{background:var(--color-surface);border-radius:var(--radius-lg);width:420px;max-width:calc(100vw - 32px);max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000040}.modifier-modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border);flex-shrink:0}.modifier-modal__title{font-size:15px;font-weight:700;color:var(--color-text)}.modifier-modal__close{color:var(--color-text-muted);padding:4px;border-radius:var(--radius-sm)}.modifier-modal__close:hover{color:var(--color-text);background:var(--color-bg)}.modifier-modal__body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:18px}.modifier-group__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:8px}.modifier-group__options{display:flex;flex-wrap:wrap;gap:6px}.modifier-chip{height:32px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:500;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);transition:all var(--transition);cursor:pointer}.modifier-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.modifier-chip--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;font-weight:600}.modifier-chip--paid{border-color:var(--color-success, #22c55e);color:var(--color-success, #22c55e)}.modifier-chip--paid.modifier-chip--active{background:var(--color-success, #22c55e);border-color:var(--color-success, #22c55e);color:#fff}.modifier-chip__price{font-size:11px;font-weight:700;margin-left:4px;opacity:.9}.modifier-modal__footer{padding:12px 20px 16px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:10px;flex-shrink:0}.modifier-modal__preview{font-size:12px;color:var(--color-text-muted);font-style:italic;line-height:1.4}.modifier-modal__actions{display:flex;gap:8px}.modifier-modal__clear{height:40px;padding:0 16px;border-radius:var(--radius);font-size:13px;font-weight:600;border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg)}.modifier-modal__clear:hover:not(:disabled){border-color:var(--color-error);color:var(--color-error)}.modifier-modal__clear:disabled{opacity:.4;cursor:not-allowed}.modifier-modal__confirm{flex:1;height:40px;border-radius:var(--radius);font-size:14px;font-weight:700;background:var(--color-primary);color:#fff}.modifier-modal__confirm:hover{background:var(--color-primary-hover)}.modifier-modal__empty{font-size:13px;color:var(--color-text-muted);text-align:center;padding:20px 0}.cart-panel{width:300px;flex-shrink:0;background:var(--color-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.cart-tabs{display:flex;border-bottom:1px solid var(--color-border);flex-shrink:0}.cart-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;height:40px;font-size:13px;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;transition:all var(--transition)}.cart-tab:hover{color:var(--color-text)}.cart-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.cart-tab__badge{background:var(--color-primary);color:#fff;font-size:10px;font-weight:800;border-radius:10px;padding:1px 6px;min-width:18px;text-align:center}.cart-order-type{display:flex;padding:10px;gap:6px;border-bottom:1px solid var(--color-border)}.order-type-btn{flex:1;height:32px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;color:var(--color-text-muted);border:1px solid var(--color-border);background:transparent;transition:all var(--transition)}.order-type-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.order-type-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.cart-table-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border)}.cart-table-label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.cart-table-select{height:28px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:13px;outline:none}.cart-note-wrap{padding:6px 10px;border-bottom:1px solid var(--color-border);flex-shrink:0}.cart-note{width:100%;resize:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);font-size:12px;font-family:inherit;padding:6px 8px;outline:none;line-height:1.4;box-sizing:border-box}.cart-note:focus{border-color:var(--color-primary)}.cart-note::placeholder{color:var(--color-text-faint)}.cart-items{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);gap:6px;font-size:13px}.cart-empty-hint{font-size:11px;color:var(--color-text-faint)}.cart-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.cart-item__top{display:flex;align-items:center;gap:6px}.cart-item__name{flex:1;font-size:12px;font-weight:600;color:var(--color-text)}.cart-item__remove{color:var(--color-text-faint);padding:2px;border-radius:var(--radius-sm)}.cart-item__remove:hover{color:var(--color-error);background:var(--color-error-bg)}.cart-item__modifiers-btn{color:var(--color-text-faint);padding:2px;border-radius:var(--radius-sm);transition:all var(--transition)}.cart-item__modifiers-btn:hover{color:var(--color-primary);background:var(--color-bg)}.cart-item__modifiers-btn--active{color:var(--color-primary)}.cart-item__mods{font-size:11px;color:var(--color-text-muted);font-style:italic;padding:0 2px;line-height:1.3}.cart-item__extras{display:flex;flex-direction:column;gap:2px;padding:2px 0}.cart-item__extra{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:1px 6px;background:var(--color-surface);border-radius:var(--radius-sm);border-left:2px solid var(--color-primary)}.cart-item__extra-label{color:var(--color-text-muted)}.cart-item__extra-price{color:var(--color-primary);font-weight:600}.cart-item__bottom{display:flex;align-items:center;gap:8px}.cart-item__qty{display:flex;align-items:center;gap:6px}.cart-item__qty button{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:flex;align-items:center;justify-content:center;font-size:13px}.cart-item__qty button:hover{border-color:var(--color-primary);color:var(--color-primary)}.cart-item__qty span{font-size:14px;font-weight:700;min-width:20px;text-align:center}.cart-item__discount{display:flex;align-items:center;gap:2px}.cart-item__discount-input{width:38px;height:24px;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0 4px;font-size:11px;text-align:center;color:var(--color-text);background:var(--color-surface);outline:none}.cart-item__discount-input:focus{border-color:var(--color-primary)}.cart-item__discount-sign{font-size:10px;color:var(--color-text-muted)}.cart-item__subtotal{margin-left:auto;font-size:13px;font-weight:700;color:var(--color-primary)}.cart-totals{padding:10px 12px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px}.cart-totals__row{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-muted)}.cart-totals__row--total{font-size:18px;font-weight:800;color:var(--color-text);margin-top:4px;padding-top:8px;border-top:2px solid var(--color-border)}.cart-actions{display:flex;gap:8px;padding:10px;border-top:1px solid var(--color-border)}.cart-action-btn{flex:1;height:48px;border-radius:var(--radius);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--transition)}.cart-action-btn:disabled{opacity:.5;cursor:not-allowed}.cart-action-btn--secondary{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.cart-action-btn--secondary:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.cart-action-btn--primary{background:var(--color-primary);color:#fff;flex:1.5}.cart-action-btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.open-orders{flex:1;display:flex;flex-direction:column;overflow:hidden}.open-orders__toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.open-orders__count{font-size:12px;font-weight:600;color:var(--color-text-muted)}.open-orders__refresh{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted);padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.open-orders__refresh:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.open-orders__loading,.open-orders__empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--color-text-muted)}.open-orders__list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.ooc{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;display:flex;flex-direction:column;gap:6px}.ooc__header{display:flex;align-items:center;justify-content:space-between}.ooc__left{display:flex;align-items:center;gap:6px}.ooc__ref{font-size:13px;font-weight:700;color:var(--color-text)}.ooc__status{font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px}.ooc__status--kitchen{background:#fef9c3;color:#854d0e}.ooc__status--ready{background:#dcfce7;color:#166534}.ooc__time{font-size:11px;color:var(--color-text-muted)}.ooc__meta{font-size:11px;color:var(--color-text-muted);display:flex;flex-direction:column;gap:1px}.ooc__customer{font-weight:600;color:var(--color-text)}.ooc__lines{display:flex;flex-direction:column;gap:1px;font-size:11px;color:var(--color-text-muted)}.ooc__more{font-style:italic}.ooc__footer{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.ooc__total{font-size:14px;font-weight:800;color:var(--color-text)}.ooc__actions{display:flex;gap:4px;align-items:center}.ooc__btn{display:flex;align-items:center;gap:4px;padding:5px 9px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--color-border);transition:all var(--transition)}.ooc__btn--edit{color:var(--color-text-muted);background:var(--color-surface)}.ooc__btn--edit:hover{border-color:var(--color-primary);color:var(--color-primary)}.ooc__btn--pay{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.ooc__btn--pay:hover{background:var(--color-primary-hover)}.ooc__btn--cancel{color:var(--color-error, #dc2626);background:var(--color-surface);padding:5px 7px}.ooc__btn--cancel:hover{border-color:var(--color-error, #dc2626);background:#fef2f2}.ooc__confirm{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-muted)}.ooc__confirm-yes{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:700;background:var(--color-error, #dc2626);color:#fff;border:none}.ooc__confirm-no{padding:4px 10px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;border:1px solid var(--color-border);color:var(--color-text-muted)}.pos-view{display:flex;height:100%;overflow:hidden}.pos-view__left{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--color-bg)}.kitchen-card{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:14px;display:flex;flex-direction:column;gap:6px;transition:all var(--transition);min-height:420px}.kitchen-card--late{border-color:var(--color-error)}.kitchen-card--done{opacity:0;transform:scale(.95)}.kitchen-card__header{display:flex;justify-content:space-between;align-items:center;gap:8px}.kitchen-card__ref{font-size:18px;font-weight:800;color:var(--color-text)}.kitchen-card__customer{font-size:12px;font-weight:600;color:var(--color-text-muted)}.kitchen-card__note{font-size:12px;font-weight:600;background:var(--color-primary-light, #eff6ff);color:var(--color-primary);border:1px solid var(--color-primary);padding:5px 10px;border-radius:var(--radius-sm);word-break:break-word;line-height:1.4}.kitchen-card__header-right{display:flex;align-items:center;gap:8px}.kitchen-card__time{font-size:11px;color:var(--color-text-muted);white-space:nowrap;display:flex;align-items:center;gap:3px}.kitchen-card__time--late{color:var(--color-error);font-weight:700}.kitchen-card__print-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;transition:background var(--transition),color var(--transition);flex-shrink:0}.kitchen-card__print-btn:hover{background:var(--color-bg);color:var(--color-text)}.kitchen-card__lines{list-style:none;display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--color-border);padding-top:10px;flex:1}.kitchen-card__line{display:flex;gap:8px;align-items:center;cursor:pointer;padding:3px 4px;border-radius:var(--radius-sm);transition:background .15s}.kitchen-card__line:hover{background:var(--color-bg)}.kitchen-card__line--checked .kitchen-card__line-qty,.kitchen-card__line--checked .kitchen-card__line-label,.kitchen-card__line--checked .kitchen-card__line-mods{opacity:.4;text-decoration:line-through}.kitchen-card__line-check{display:flex;align-items:center;color:var(--color-border);flex-shrink:0}.kitchen-card__line--checked .kitchen-card__line-check{color:var(--color-success)}.kitchen-card__line-qty{font-size:16px;font-weight:800;color:var(--color-primary);min-width:28px}.kitchen-card__line-text{display:flex;flex-direction:column;gap:1px}.kitchen-card__line-label{font-size:14px;font-weight:500;color:var(--color-text)}.kitchen-card__line-mods{font-size:11px;color:var(--color-text-muted);font-style:italic}.kitchen-card__done-btn{height:40px;border-radius:var(--radius);background:var(--color-success);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:background var(--transition),opacity var(--transition)}.kitchen-card__done-btn:hover:not(:disabled){background:#16a34a}.kitchen-card__done-btn:disabled{opacity:.6;cursor:not-allowed}.kitchen-view{padding:20px;height:100%;display:flex;flex-direction:column;gap:16px}.kitchen-view__toolbar{display:flex;align-items:center;justify-content:space-between}.kitchen-view__count{font-size:14px;font-weight:600;color:var(--color-text-muted)}.kitchen-refresh-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--color-text-muted);background:var(--color-surface)}.kitchen-refresh-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.kitchen-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;overflow-y:auto;align-content:start;align-items:stretch}.kitchen-view__loading,.kitchen-view__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted);gap:8px;font-size:15px}.kitchen-view__empty-hint{font-size:12px;color:var(--color-text-faint)}.split-modal{width:480px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.split-mode-tabs{display:flex;gap:8px;margin-bottom:16px}.split-mode-tab{flex:1;height:40px;border-radius:var(--radius);border:2px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--transition)}.split-mode-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.split-mode-tab--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.split-people-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.split-people-label{font-size:14px;font-weight:600;color:var(--color-text)}.split-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.split-stepper button{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text);transition:background var(--transition)}.split-stepper button:hover:not(:disabled){background:var(--color-primary-light, #eff6ff);color:var(--color-primary)}.split-stepper button:disabled{opacity:.35;cursor:not-allowed}.split-stepper span{min-width:42px;text-align:center;font-size:18px;font-weight:800;color:var(--color-text);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);padding:0 4px}.split-portions-list{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--color-bg);border-radius:var(--radius);margin-bottom:16px}.split-portions-list--compact{margin-top:8px}.split-portion-row{display:flex;align-items:center;gap:8px;font-size:13px}.split-portion-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.split-portion-label{flex:1;color:var(--color-text);font-weight:500}.split-portion-amount{font-weight:700;color:var(--color-primary);font-size:14px}.split-total-row{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:var(--color-text-muted);padding-top:6px;margin-top:2px;border-top:1px dashed var(--color-border)}.split-byitem-hint{font-size:12px;color:var(--color-text-muted);margin-bottom:8px}.split-items-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;margin-bottom:4px}.split-item-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color var(--transition);width:100%}.split-item-row:hover{border-color:var(--color-primary)}.split-item-badge{width:26px;height:26px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s}.split-item-name{flex:1;font-size:13px;font-weight:500;color:var(--color-text)}.split-item-amt{font-size:12px;font-weight:600;color:var(--color-text-muted)}.split-start-btn{width:100%;height:52px;background:var(--color-primary);color:#fff;font-size:16px;font-weight:700;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;gap:8px;transition:background var(--transition);margin-top:8px}.split-start-btn:hover:not(:disabled){background:var(--color-primary-hover)}.split-start-btn:disabled{opacity:.5;cursor:not-allowed}.split-billing-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 0;color:var(--color-text-muted);font-size:14px}.split-progress{display:flex;align-items:center;gap:8px;margin-bottom:16px}.split-progress-dot{width:28px;height:28px;border-radius:50%;background:var(--color-border);transition:background .2s}.split-progress-dot--paid{background:var(--color-success)}.split-progress-dot--current{ring:3px solid white;box-shadow:0 0 0 3px #fff,0 0 0 5px currentColor}.split-progress-label{margin-left:auto;font-size:13px;color:var(--color-text-muted);font-weight:600}.split-portion-items{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;padding:10px;background:var(--color-bg);border-radius:var(--radius)}.split-portion-item-chip{font-size:12px;font-weight:500;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:3px 8px}.split-portion-paid{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0}.spp-ref{font-size:13px;color:var(--color-text-muted);margin:0}.spp-amounts{width:100%;display:flex;flex-direction:column;gap:4px;background:var(--color-bg);border-radius:var(--radius);padding:12px}.spp-row{display:flex;justify-content:space-between;font-size:14px;font-weight:600}.spp-row--change{color:var(--color-success)}.spp-actions{width:100%;display:flex;gap:10px}.spp-print-btn{flex:1;height:48px;border-radius:var(--radius);border:2px solid var(--color-primary);color:var(--color-primary);background:transparent;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:all var(--transition)}.spp-print-btn:hover{background:var(--color-primary-light, #eff6ff)}.spp-continue-btn{flex:1.5;height:48px;border-radius:var(--radius);background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:background var(--transition)}.spp-continue-btn:hover{background:var(--color-primary-hover)}.split-done{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0}.split-done h3{font-size:18px;font-weight:800;color:var(--color-text);margin:0}.split-done__ref{font-size:13px;color:var(--color-text-muted);margin:0}.split-done__summary{width:100%;display:flex;flex-direction:column;gap:6px;background:var(--color-bg);border-radius:var(--radius);padding:12px}.split-done__row{display:flex;align-items:center;gap:8px;font-size:13px}.split-done__dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.split-done__method{flex:1;color:var(--color-text-muted);font-size:12px}.split-done__amount{font-weight:700;color:var(--color-primary)}.split-done__total{display:flex;justify-content:space-between;font-size:14px;font-weight:800;color:var(--color-text);padding-top:8px;margin-top:4px;border-top:2px solid var(--color-border)}.split-done__reprint{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--color-text-muted);background:transparent;transition:all var(--transition);flex-shrink:0}.split-done__reprint:hover{color:var(--color-primary);background:var(--color-bg)}.orders-view{padding:20px;height:100%;display:flex;flex-direction:column;gap:16px}.orders-view__toolbar{display:flex;align-items:center;justify-content:space-between}.orders-count{font-size:14px;font-weight:600;color:var(--color-text-muted)}.orders-refresh-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--color-text-muted);background:var(--color-surface)}.orders-refresh-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.orders-loading,.orders-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;color:var(--color-text-muted);gap:12px;font-size:14px}.orders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;overflow-y:auto;align-content:start}.order-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.order-card__header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.order-card__title{display:flex;flex-direction:column;gap:2px}.order-card__ref{font-size:16px;font-weight:800;color:var(--color-text)}.order-card__customer{font-size:12px;font-weight:600;color:var(--color-text-muted)}.order-card__time{font-size:12px;color:var(--color-text-muted)}.order-card__note{padding:6px 14px;font-size:12px;font-weight:600;background:var(--color-primary-light);color:var(--color-primary);border-bottom:1px solid var(--color-border)}.order-card__lines{list-style:none;padding:10px 14px;display:flex;flex-direction:column;gap:5px;flex:1}.order-card__line{display:flex;align-items:baseline;gap:6px;font-size:13px}.ocl-qty{font-weight:800;color:var(--color-primary);min-width:24px}.ocl-name{flex:1;color:var(--color-text)}.ocl-price{color:var(--color-text-muted);font-size:12px}.order-card__footer{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-top:1px solid var(--color-border)}.order-card__total{font-size:18px;font-weight:800;color:var(--color-text)}.order-card__actions{display:flex;align-items:center;gap:8px}.order-card__pay-btn{height:36px;padding:0 20px;background:var(--color-primary);color:#fff;border-radius:var(--radius);font-size:13px;font-weight:700}.order-card__pay-btn:hover{background:var(--color-primary-hover)}.order-card__split-btn{height:36px;width:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);background:var(--color-surface);transition:all var(--transition)}.order-card__split-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light, #eff6ff)}.reservations-view{padding:20px;display:flex;flex-direction:column;gap:16px;height:100%;box-sizing:border-box}.reservations-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.res-nav{display:flex;align-items:center;gap:6px}.res-nav-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border);color:var(--color-text);background:var(--color-surface)}.res-nav-btn:hover{background:var(--color-bg)}.res-today-btn{height:32px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:13px;font-weight:600;color:var(--color-text);background:var(--color-surface)}.res-today-btn:hover{background:var(--color-bg)}.res-date-label{font-size:15px;font-weight:700;color:var(--color-text);margin-left:6px}.res-right{display:flex;align-items:center;gap:10px}.res-mode-toggle{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.res-mode-toggle button{display:flex;align-items:center;gap:5px;height:32px;padding:0 14px;font-size:13px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);border-right:1px solid var(--color-border)}.res-mode-toggle button:last-child{border-right:none}.res-mode-toggle button.active{background:var(--color-primary);color:#fff}.res-mode-toggle button:not(.active):hover{background:var(--color-bg)}.reservations-add-btn{display:flex;align-items:center;gap:6px;height:36px;padding:0 16px;background:#f97316;color:#fff;border-radius:var(--radius);font-size:13px;font-weight:700}.reservations-add-btn:hover{background:#ea6c0a}.reservation-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px}.rfc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.rfc-header h3{font-size:15px;font-weight:700;color:var(--color-text)}.rfc-header button{color:var(--color-text-muted)}.reservation-form{display:flex;flex-direction:column;gap:12px}.rf-row{display:flex;gap:10px;flex-wrap:wrap}.rf-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.rf-group--sm{flex:0 0 80px;min-width:80px}.rf-group label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.rf-input{height:36px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none}.rf-input:focus{border-color:var(--color-primary)}.rf-submit{height:40px;background:var(--color-primary);color:#fff;border-radius:var(--radius);font-size:14px;font-weight:700}.rf-submit:disabled{opacity:.6;cursor:not-allowed}.reservations-loading,.reservations-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-muted);gap:12px;flex:1}.reservations-empty p{font-size:14px}.reservations-list{display:flex;flex-direction:column;gap:8px}.reservation-card{display:flex;gap:16px;align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;transition:box-shadow .15s}.reservation-card:hover{box-shadow:var(--shadow)}.rc-time{font-size:16px;font-weight:800;color:var(--color-primary);min-width:52px;padding-top:1px}.rc-body{display:flex;flex-direction:column;gap:5px}.rc-name{font-size:14px;font-weight:600;color:var(--color-text)}.rc-meta{display:flex;flex-wrap:wrap;gap:10px}.rc-meta span{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted)}.rc-extra{font-style:italic}.reservations-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;flex:1;min-height:0}.week-col{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:box-shadow .15s}.week-col:hover{box-shadow:var(--shadow);border-color:var(--color-primary)}.week-col--today{border-color:var(--color-primary)}.week-col-header{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;border-bottom:1px solid var(--color-border)}.week-col-weekday{font-size:11px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.week-col-num{font-size:18px;font-weight:700;color:var(--color-text)}.week-col-num--today{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;border-radius:50%;font-size:14px}.week-col-events{display:flex;flex-direction:column;gap:4px;padding:8px 6px;flex:1;overflow-y:auto}.week-empty{font-size:12px;color:var(--color-text-muted);text-align:center;padding:8px 0}.week-event{display:flex;flex-direction:column;gap:1px;background:#eff6ff;border-left:3px solid var(--color-primary);border-radius:3px;padding:4px 6px}.week-event-time{font-size:10px;font-weight:700;color:var(--color-primary)}.week-event-label{font-size:11px;color:var(--color-text);line-height:1.3;word-break:break-word}.week-event-meta{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--color-text-muted)}html.dark .week-event{background:#1a6bff26}.sales-view{padding:20px;height:100%;display:flex;flex-direction:column;gap:16px;overflow:hidden}.sales-toolbar{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap}.sales-periods{display:flex;gap:6px}.sales-period-btn{padding:6px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;font-weight:600;color:var(--color-text-muted);background:var(--color-surface);transition:all var(--transition)}.sales-period-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.sales-period-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sales-daterange{display:flex;align-items:center;gap:6px;margin-left:auto}.sales-date-sep{font-size:13px;color:var(--color-text-muted)}.sales-date-input{height:34px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:13px;outline:none}.sales-date-input:focus{border-color:var(--color-primary)}.sales-refresh-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-surface)}.sales-refresh-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.sales-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;flex-shrink:0}.sales-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px;display:flex;flex-direction:column;gap:4px}.sales-stat__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.sales-stat__value{font-size:22px;font-weight:800;color:var(--color-primary)}.sales-stat__value--plain{color:var(--color-text)}.sales-stat__value--muted{color:var(--color-text-muted);font-size:20px}.sales-top-products{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px;flex-shrink:0}.sales-top-products__header{display:flex;align-items:center;justify-content:space-between}.sales-stats-btn{padding:5px 14px;border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-size:12px;font-weight:700;color:var(--color-primary);background:var(--color-primary-light);transition:all var(--transition)}.sales-stats-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.sales-stats-btn:disabled{opacity:.4;cursor:not-allowed}.sales-top-empty{font-size:12px;color:var(--color-text-faint);margin-top:8px;text-align:center}.sales-stats-loading{font-size:11px;font-weight:400;color:var(--color-text-faint);text-transform:none;letter-spacing:0}.sales-top-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.sales-top-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-bg);border-radius:var(--radius)}.sales-top-item__rank{font-size:12px;font-weight:800;color:var(--color-primary);min-width:24px}.sales-top-item__name{flex:1;font-size:13px;font-weight:600;color:var(--color-text)}.sales-top-item__qty{font-size:12px;color:var(--color-text-muted);min-width:50px;text-align:right}.sales-top-item__total{font-size:13px;font-weight:700;color:var(--color-primary);min-width:100px;text-align:right}.sales-chart{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 20px 10px;flex-shrink:0}.sales-chart__title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:12px}.sales-loading,.sales-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--color-text-muted);font-size:15px}.sales-list{flex:1;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.sales-list__header{display:grid;grid-template-columns:140px 1fr 1fr 120px 32px;padding:10px 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.sales-row{border-bottom:1px solid var(--color-border)}.sales-row:last-child{border-bottom:none}.sales-row--open{background:var(--color-primary-light, #eff6ff)}.sales-row__main{display:grid;grid-template-columns:140px 1fr 1fr 120px 32px;padding:12px 16px;cursor:pointer;align-items:center;transition:background var(--transition)}.sales-row__main:hover{background:var(--color-bg)}.sales-row__ref{font-size:13px;font-weight:700;color:var(--color-text)}.sales-row__date{font-size:13px;color:var(--color-text-muted)}.sales-row__customer{font-size:13px;color:var(--color-text)}.sales-row__total{font-size:14px;font-weight:800;color:var(--color-text);text-align:right}.sales-row__caret{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.text-right{text-align:right}.sales-detail{padding:0 16px 14px;border-top:1px solid var(--color-border)}.sales-detail__loading{padding:12px 0;font-size:13px;color:var(--color-text-muted);text-align:center}.sales-detail__table{width:100%;border-collapse:collapse;font-size:13px;margin-top:10px}.sales-detail__table th{text-align:left;padding:6px 10px;background:var(--color-bg);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.sales-detail__table th:last-child,.sales-detail__table td:last-child{text-align:right}.sales-detail__table th:nth-child(2),.sales-detail__table td:nth-child(2){text-align:center}.sales-detail__table td{padding:7px 10px;color:var(--color-text);border-top:1px solid var(--color-border)}.sales-detail__table tfoot td{font-size:12px;color:var(--color-text-muted);padding:5px 10px;border-top:1px solid var(--color-border)}.sales-detail__total-row td{font-size:14px;color:var(--color-text)!important;border-top:2px solid var(--color-border)!important;padding-top:8px!important}.shifts-view{padding:20px;display:flex;justify-content:center;min-height:100%}.shifts-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:32px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:20px;align-self:flex-start;box-shadow:var(--shadow)}.shifts-card h2{font-size:20px;font-weight:700;color:var(--color-text)}.shifts-card>p{font-size:13px;color:var(--color-text-muted)}.shifts-form{display:flex;flex-direction:column;gap:12px}.shifts-select,.shifts-input{height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:14px;color:var(--color-text);background:var(--color-surface);outline:none;width:100%}.shifts-select:focus,.shifts-input:focus{border-color:var(--color-primary)}.shifts-btn{height:44px;border-radius:var(--radius);font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;transition:all var(--transition)}.shifts-btn:disabled{opacity:.6;cursor:not-allowed}.shifts-btn--open{background:var(--color-primary);color:#fff}.shifts-btn--open:hover:not(:disabled){background:var(--color-primary-hover)}.shifts-btn--close{background:var(--color-error);color:#fff;flex:1}.shifts-btn--close:hover:not(:disabled){background:#dc2626}.shifts-btn--print{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text)}.shifts-btn--print:hover{border-color:var(--color-primary);color:var(--color-primary)}.shift-header{display:flex;align-items:center;gap:14px}.shift-since{font-size:12px;color:var(--color-text-muted);margin-top:2px}.shift-summary{display:flex;flex-direction:column;gap:8px;background:var(--color-bg);border-radius:var(--radius);padding:14px 16px}.shift-row{display:flex;justify-content:space-between;font-size:13px;color:var(--color-text-muted)}.shift-row--total{font-size:15px;font-weight:800;color:var(--color-text);border-top:1px solid var(--color-border);padding-top:8px;margin-top:4px}.shift-arqueo{display:flex;flex-direction:column;gap:8px}.shift-arqueo-label{font-size:13px;font-weight:600;color:var(--color-text)}.shift-diff{font-size:13px;color:var(--color-text-muted)}.shift-diff--ok strong{color:var(--color-success)}.shift-diff--error strong{color:var(--color-error)}.shifts-actions{display:flex;gap:10px}.dashboard-view{padding:24px;display:flex;flex-direction:column;gap:20px}.dashboard-title{font-size:18px;font-weight:700;color:var(--color-text)}.dashboard-no-shift{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:var(--color-text-muted);gap:12px;font-size:14px;text-align:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:4px}.stat-card--primary{background:var(--color-primary);border-color:var(--color-primary)}.stat-card--primary .stat-label,.stat-card--primary .stat-value,.stat-card--primary .stat-sub{color:#fff}.stat-label{font-size:12px;font-weight:600;color:var(--color-text-muted)}.stat-value{font-size:22px;font-weight:800;color:var(--color-text)}.stat-sub{font-size:11px;color:var(--color-text-faint)}.dian-status-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:18px 20px}.dian-status-title{font-size:14px;font-weight:700;color:var(--color-text);margin-bottom:12px}.dian-status-items{display:flex;flex-direction:column;gap:8px}.dian-status-item{display:flex;align-items:center;gap:8px;font-size:13px;padding:8px 12px;border-radius:var(--radius)}.dian-status-item--ok{background:var(--color-success-bg);color:#166534}.dian-status-item--warn{background:var(--color-warning-bg);color:#92400e}.dian-status-item--error{background:var(--color-error-bg);color:#991b1b}.settings-view{padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.settings-section--full{grid-column:1 / -1}.settings-reset{grid-column:1 / -1;text-align:right}.settings-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.settings-section__header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.settings-section__header h3{font-size:14px;font-weight:700;color:var(--color-text)}.settings-section__subtitle{font-size:11px;font-weight:400;color:var(--color-text-faint);margin-top:2px;display:block}.settings-loading{font-size:13px;color:var(--color-text-muted);padding:4px 0}.settings-company-error{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.settings-company-error p{font-size:13px;color:var(--color-error)}.settings-retry-btn{font-size:12px;font-weight:700;color:var(--color-primary);padding:4px 0}.settings-retry-btn:hover{text-decoration:underline}.settings-save-btn{height:32px;padding:0 16px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:12px;font-weight:700}.settings-save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-save-btn:hover:not(:disabled){background:var(--color-primary-hover)}.settings-section__body{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-field__label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--color-text)}.settings-field__hint{font-size:11px;font-weight:400;color:var(--color-text-faint)}.settings-input,.settings-select{height:38px;padding:0 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;color:var(--color-text);background:var(--color-surface);outline:none;width:100%}.settings-input:focus,.settings-select:focus{border-color:var(--color-primary)}.settings-input--readonly{background:var(--color-bg);color:var(--color-text-muted);cursor:default}.settings-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;width:fit-content}.settings-toggle input{display:none}.settings-toggle__track{width:42px;height:24px;border-radius:999px;background:var(--color-border);transition:background var(--transition);position:relative}.settings-toggle__track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform var(--transition)}.settings-toggle input:checked~.settings-toggle__track{background:var(--color-primary)}.settings-toggle input:checked~.settings-toggle__track:after{transform:translate(18px)}.settings-toggle__label{font-size:13px;color:var(--color-text-muted)}.settings-reset-btn{font-size:12px;color:var(--color-error);font-weight:600;padding:4px 8px}.settings-reset-btn:hover{text-decoration:underline}.modgroups{display:flex;flex-direction:column;gap:12px}.modgroup{border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--color-bg)}.modgroup__header{display:flex;align-items:center;gap:8px}.modgroup__name{flex:1;height:34px;font-size:13px}.modgroup__type-toggle{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.modgroup__type-btn{height:34px;padding:0 12px;font-size:12px;font-weight:600;color:var(--color-text-muted);background:transparent}.modgroup__type-btn--active{background:var(--color-primary);color:#fff}.modgroup__delete{color:var(--color-text-faint);padding:6px;border-radius:var(--radius-sm);flex-shrink:0}.modgroup__delete:hover{color:var(--color-error);background:#fef2f2}.modgroup__options,.modgroup__option-row{display:flex;flex-direction:column;gap:4px}.modgroup__option-main{display:flex;align-items:center;gap:6px}.modgroup__option-label{flex:1;height:32px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text);background:var(--color-surface);outline:none}.modgroup__option-label:focus{border-color:var(--color-primary)}.modgroup__link-btn{display:flex;align-items:center;gap:4px;height:32px;padding:0 10px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:11px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.modgroup__link-btn:hover,.modgroup__link-btn--open{border-color:var(--color-primary);color:var(--color-primary)}.modgroup__linked{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;background:#f0fdf4;border:1px solid var(--color-success, #22c55e);border-radius:var(--radius-sm);flex-shrink:0}.modgroup__linked-price{font-size:12px;font-weight:700;color:var(--color-success, #22c55e)}.modgroup__linked-name{font-size:11px;color:var(--color-text-muted);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modgroup__unlink{color:var(--color-text-faint);padding:2px}.modgroup__unlink:hover{color:var(--color-error)}.modgroup__delete--sm{padding:6px 5px;flex-shrink:0}.modgroup__linker{margin-left:0;border:1px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}.modgroup__linker-search{width:100%;height:34px;padding:0 12px;border:none;border-bottom:1px solid var(--color-border);font-size:13px;color:var(--color-text);background:var(--color-bg);outline:none}.modgroup__linker-status{padding:8px 12px;font-size:12px;color:var(--color-text-muted)}.modgroup__linker-result{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border-top:1px solid var(--color-border);font-size:12px;text-align:left}.modgroup__linker-result:hover{background:var(--color-bg)}.modgroup__linker-result-name{color:var(--color-text);font-weight:500}.modgroup__linker-result-price{color:var(--color-primary);font-weight:700}.modgroup__add-row{margin-top:4px}.modgroup__add-input{width:100%;height:30px;padding:0 10px;border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text);background:transparent;outline:none}.modgroup__add-input:focus{border-color:var(--color-primary)}.modgroup__add-input::placeholder{color:var(--color-text-faint)}.modgroup__add-group{display:flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1.5px dashed var(--color-border);border-radius:var(--radius);font-size:13px;font-weight:600;color:var(--color-text-muted);width:fit-content}.modgroup__add-group:hover{border-color:var(--color-primary);color:var(--color-primary)}.app-layout{display:flex;height:100vh;overflow:hidden;background:var(--color-bg)}.app-sidebar{width:180px;flex-shrink:0}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-header{flex-shrink:0}.app-view{flex:1;overflow-y:auto;overflow-x:hidden}.app-login{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}
