*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg-secondary);color:var(--color-text-primary)}#app{min-height:100vh}.el-card{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--color-border-secondary)!important;transition:var(--transition-base);overflow:hidden}.el-card:hover{box-shadow:var(--shadow-card-hover)!important}.el-card__header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--color-border-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-lg)}.el-card__body{padding:var(--space-6)}.el-table{border-radius:var(--radius-lg);overflow:hidden;--el-table-border-color: var(--color-border-secondary)}.el-table th.el-table__cell{background:var(--color-gray-50)!important;color:var(--color-text-primary);font-weight:var(--font-weight-semibold);height:48px;font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);border-bottom:2px solid var(--color-border-primary)}.el-table td.el-table__cell{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-secondary)}.el-table__row:hover>td{background-color:var(--color-bg-hover)!important}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:var(--color-gray-50)}.el-table .price-text{color:var(--color-brand-600);font-weight:var(--font-weight-semibold)}.el-button{font-weight:var(--font-weight-medium);transition:var(--transition-base);border-radius:var(--radius-md)}.el-button--primary{background:var(--gradient-primary);border:none;box-shadow:0 2px 8px #667eea40}.el-button--primary:hover{background:var(--gradient-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px #667eea59}.el-button--primary:active{background:var(--gradient-primary-active);transform:translateY(0)}.el-button--success{background:var(--color-success-gradient);border:none;box-shadow:0 2px 8px #22c55e40}.el-button--success:hover{transform:translateY(-1px);box-shadow:0 4px 16px #22c55e59}.el-button--danger{background:var(--color-danger-gradient);border:none;box-shadow:0 2px 8px #ef444440}.el-button--danger:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ef444459}.el-button--warning{background:var(--color-warning-gradient);border:none;box-shadow:0 2px 8px #f59e0b40}.el-button--warning:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f59e0b59}.el-button--info{background:var(--color-info-gradient);border:none;color:var(--color-text-inverse);box-shadow:0 2px 8px #3b82f640}.el-button--info:hover{transform:translateY(-1px);box-shadow:0 4px 16px #3b82f659}.el-button.is-plain{background:transparent;border-width:2px}.el-button--primary.is-plain{color:#667eea;border-color:#667eea;background:#667eea0d}.el-button--primary.is-plain:hover{color:var(--color-text-inverse);background:var(--gradient-primary);border-color:transparent}.el-button.is-link{font-weight:var(--font-weight-medium)}.el-button.is-link:hover{transform:none}.el-tag{border-radius:var(--radius-full);padding:0 var(--space-3);height:26px;line-height:24px;font-weight:var(--font-weight-medium);border:none;font-size:var(--font-size-xs)}.el-tag--success{background:var(--color-success-gradient);color:var(--color-text-inverse)}.el-tag--danger{background:var(--color-danger-gradient);color:var(--color-text-inverse)}.el-tag--warning{background:var(--color-warning-gradient);color:var(--color-text-inverse)}.el-tag--info{background:var(--color-gray-300);color:var(--color-text-primary)}.el-tag--primary{background:var(--gradient-primary);color:var(--color-text-inverse)}.el-tag.el-tag--plain{background:transparent;border-width:1px}.el-tag--success.el-tag--plain{color:var(--color-success-600);border-color:var(--color-success-500);background:var(--color-success-50)}.el-tag--danger.el-tag--plain{color:var(--color-danger-600);border-color:var(--color-danger-500);background:var(--color-danger-50)}.el-tag--warning.el-tag--plain{color:var(--color-warning-600);border-color:var(--color-warning-500);background:var(--color-warning-50)}.el-tag--info.el-tag--plain{color:var(--color-gray-600);border-color:var(--color-gray-300);background:var(--color-gray-50)}.el-tag--primary.el-tag--plain{color:#667eea;border-color:#667eea;background:#667eea0d}.el-pagination{padding:var(--space-4) var(--space-6);gap:var(--space-2)}.el-pagination .el-pagination__total{color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.el-pagination .el-pager li{border-radius:var(--radius-base);transition:var(--transition-base);font-weight:var(--font-weight-medium);min-width:32px;height:32px;line-height:32px}.el-pagination .el-pager li:hover{background:var(--gradient-primary);color:var(--color-text-inverse)}.el-pagination .el-pager li.is-active{background:var(--gradient-primary);color:var(--color-text-inverse);box-shadow:0 2px 8px #667eea4d}.el-input__wrapper{border-radius:var(--radius-lg);transition:var(--transition-base);box-shadow:none!important;border:1px solid var(--color-border-primary);padding:var(--space-2) var(--space-3)}.el-input__wrapper:hover{border-color:#667eea}.el-input__wrapper.is-focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a!important}.el-dialog{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-modal)}.el-dialog__header{padding:var(--space-5) var(--space-6);margin:0;border-bottom:1px solid var(--color-border-secondary)}.el-dialog__title{font-weight:var(--font-weight-semibold);font-size:var(--font-size-xl)}.el-dialog__headerbtn{top:var(--space-5);right:var(--space-5)}.el-dialog__headerbtn .el-dialog__close{font-size:var(--font-size-xl);transition:var(--transition-base)}.el-dialog__headerbtn .el-dialog__close:hover{transform:rotate(90deg);color:var(--color-primary-500)}.el-dialog__body{padding:var(--space-6)}.el-dialog__footer{padding:var(--space-4) var(--space-6) var(--space-6);border-top:1px solid var(--color-border-secondary)}.el-form-item__label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.el-form-item{margin-bottom:var(--space-5)}.el-switch.is-checked .el-switch__core{background:var(--gradient-primary);border-color:transparent}.el-radio__input.is-checked .el-radio__inner{background:var(--gradient-primary);border-color:#667eea}.el-radio__input.is-checked+.el-radio__label{color:#667eea}.el-checkbox__input.is-checked .el-checkbox__inner{background:var(--gradient-primary);border-color:#667eea}.el-checkbox__input.is-checked+.el-checkbox__label{color:#667eea}.el-select-dropdown{border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);border:1px solid var(--color-border-secondary);margin-top:var(--space-1)}.el-select-dropdown__item{transition:var(--transition-base);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.el-select-dropdown__item:hover{background-color:var(--color-bg-hover)}.el-select-dropdown__item.selected{background:var(--gradient-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-medium)}.el-message{border-radius:var(--radius-lg);border:none;box-shadow:var(--shadow-lg)}.el-message--success{background:var(--color-success-gradient);color:var(--color-text-inverse)}.el-message--warning{background:var(--color-warning-gradient);color:var(--color-text-inverse)}.el-message--error{background:var(--color-danger-gradient);color:var(--color-text-inverse)}.el-message--info{background:var(--color-info-gradient);color:var(--color-text-inverse)}.el-upload-dragger{border-radius:var(--radius-lg);border:2px dashed var(--color-border-primary);transition:var(--transition-base)}.el-upload-dragger:hover{border-color:#667eea;background:#667eea05}.el-step__title{font-weight:var(--font-weight-medium)}.el-step.is-success .el-step__title{color:var(--color-success-500)}.el-step.is-finish .el-step__title{color:#667eea}.el-empty__description{color:var(--color-text-secondary)}.el-loading-mask{background-color:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.el-loading-spinner .circular{stroke:#667eea}.el-menu{border-right:none!important}.el-menu-item{transition:var(--transition-base)}.el-menu-item:hover{background-color:var(--color-bg-hover)!important}.el-menu-item.is-active{font-weight:var(--font-weight-semibold)}@media (max-width: 768px){.el-card__header{padding:var(--space-3) var(--space-4);font-size:var(--font-size-base)}.el-card__body{padding:var(--space-4)}.el-dialog{width:90%!important;margin:var(--space-4) auto!important}}:root{--color-brand-50: #fff7ed;--color-brand-100: #ffedd5;--color-brand-200: #fed7aa;--color-brand-300: #fdba74;--color-brand-400: #fb923c;--color-brand-500: #f97316;--color-brand-600: #ea580c;--color-brand-700: #c2410c;--color-brand-800: #9a3412;--color-brand-900: #7c2d12;--gradient-brand: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);--gradient-brand-soft: linear-gradient(135deg, #ff8a65 0%, #ffb74d 100%);--gradient-brand-strong: linear-gradient(135deg, #e64a19 0%, #f57c00 100%);--color-merchant-50: #fff0f3;--color-merchant-100: #ffe0e6;--color-merchant-200: #ffc2cd;--color-merchant-300: #ffa3b4;--color-merchant-400: #ff859b;--color-merchant-500: #fa709a;--color-merchant-600: #e55d85;--color-merchant-700: #cc4f73;--color-merchant-800: #b33f62;--color-merchant-900: #993052;--gradient-merchant: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--gradient-merchant-soft: linear-gradient(135deg, #ff85a0 0%, #fee860 100%);--gradient-merchant-strong: linear-gradient(135deg, #e55d85 0%, #f5d530 100%);--color-primary-50: #f5f3ff;--color-primary-100: #ede9fe;--color-primary-200: #ddd6fe;--color-primary-300: #c4b5fd;--color-primary-400: #a78bfa;--color-primary-500: #8b5cf6;--color-primary-600: #7c3aed;--color-primary-700: #6d28d9;--color-primary-800: #5b21b6;--color-primary-900: #4c1d95;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-primary-hover: linear-gradient(135deg, #7c8ff0 0%, #8b5cb6 100%);--gradient-primary-active: linear-gradient(135deg, #5a6fd6 0%, #6a4190 100%);--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-gradient: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);--color-warning-50: #fffbeb;--color-warning-100: #fef3c7;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-gradient: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);--color-danger-50: #fef2f2;--color-danger-100: #fee2e2;--color-danger-500: #ef4444;--color-danger-600: #dc2626;--color-danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--color-info-50: #eff6ff;--color-info-100: #dbeafe;--color-info-500: #3b82f6;--color-info-600: #2563eb;--color-info-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e5e5e5;--color-gray-300: #d4d4d4;--color-gray-400: #a3a3a3;--color-gray-500: #737373;--color-gray-600: #525252;--color-gray-700: #404040;--color-gray-800: #262626;--color-gray-900: #171717;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-disabled: #d1d5db;--color-text-inverse: #ffffff;--color-text-brand: #ea580c;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f3f4f6;--color-bg-hover: #f0f7ff;--color-bg-brand: #fff7ed;--color-bg-overlay: rgba(0, 0, 0, .5);--color-border-primary: #e5e7eb;--color-border-secondary: #f3f4f6;--color-border-focus: #8b5cf6;--color-border-brand: #fed7aa;--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-base: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-card: 0 1px 3px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .06);--shadow-card-hover: 0 4px 6px rgba(0, 0, 0, .04), 0 10px 20px rgba(0, 0, 0, .08);--shadow-dropdown: 0 4px 16px rgba(0, 0, 0, .12);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .16);--shadow-float: 0 8px 24px rgba(0, 0, 0, .12);--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: all var(--duration-fast) var(--ease-in-out);--transition-base: all var(--duration-base) var(--ease-in-out);--transition-slow: all var(--duration-slow) var(--ease-in-out);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--header-height: 64px;--footer-height: 36px;--container-max-width: 1280px;--bottom-bar-height: 64px}[data-theme=dark]{--color-text-primary: #f9fafb;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-text-disabled: #6b7280;--color-bg-primary: #1f2937;--color-bg-secondary: #111827;--color-bg-tertiary: #0f172a;--color-bg-hover: #374151;--color-border-primary: #374151;--color-border-secondary: #1f2937;--shadow-card: 0 1px 3px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .4);--shadow-card-hover: 0 4px 6px rgba(0, 0, 0, .3), 0 10px 20px rgba(0, 0, 0, .5)}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-brand{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.btn-gradient{background:var(--gradient-primary);border:none;color:var(--color-text-inverse);font-weight:var(--font-weight-medium);transition:var(--transition-base);cursor:pointer}.btn-gradient:hover{background:var(--gradient-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-gradient:active{background:var(--gradient-primary-active);transform:translateY(0)}.btn-gradient-brand{background:var(--gradient-brand);border:none;color:var(--color-text-inverse);font-weight:var(--font-weight-medium);transition:var(--transition-base);cursor:pointer}.btn-gradient-brand:hover{background:var(--gradient-brand-soft);transform:translateY(-1px);box-shadow:0 4px 12px #ff6b3566}.btn-gradient-brand:active{background:var(--gradient-brand-strong);transform:translateY(0)}.glass{background:#ffffffb3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.glass-dark{background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--duration-slow) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.animate-slide-in-right{animation:slideInRight var(--duration-slow) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-slow) var(--ease-out)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}.animate-float{animation:float 3s var(--ease-in-out) infinite}.animate-bounce-in{animation:bounceIn .6s var(--ease-spring)}.skeleton{background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.status-pending{color:#f59e0b;background:#fffbeb}.status-confirmed{color:#3b82f6;background:#eff6ff}.status-cooking{color:#8b5cf6;background:#f5f3ff}.status-serving{color:#06b6d4;background:#ecfeff}.status-completed{color:#22c55e;background:#f0fdf4}.status-cancelled{color:#ef4444;background:#fef2f2}.status-pay-ready{color:#f97316;background:#fff7ed}
