:root{--glass-bg: rgba(255, 255, 255, .85);--glass-bg-light: rgba(255, 255, 255, .6);--glass-bg-dark: rgba(255, 255, 255, .15);--glass-border: rgba(255, 255, 255, .3);--glass-border-strong: rgba(255, 255, 255, .5);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .12);--glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, .18);--glass-blur: 20px;--glass-blur-sm: 12px;--bg-gradient: linear-gradient(135deg, #f97316 0%, #a855f7 40%, #3b82f6 100%);--color-primary: #f97316;--color-primary-light: #fb923c;--color-primary-dark: #ea580c;--color-primary-alpha: rgba(249, 115, 22, .15);--color-primary-alpha-strong: rgba(249, 115, 22, .3);--color-success: #22c55e;--color-success-light: rgba(34, 197, 94, .15);--color-warning: #f59e0b;--color-warning-light: rgba(245, 158, 11, .15);--color-danger: #ef4444;--color-danger-light: rgba(239, 68, 68, .15);--color-info: #3b82f6;--color-info-light: rgba(59, 130, 246, .15);--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--text-inverse: #ffffff;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--topbar-height: 56px;--icon-nav-width: 56px;--slide-panel-width: 320px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-base: 1;--z-panel: 100;--z-topbar: 200;--z-fab: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}[data-theme=white]{--bg-gradient: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);--glass-bg: rgba(255, 255, 255, .98);--glass-bg-light: rgba(255, 255, 255, .95);--glass-border: rgba(0, 0, 0, .06);--glass-border-strong: rgba(0, 0, 0, .1);--glass-shadow: 0 1px 3px rgba(0, 0, 0, .06);--glass-shadow-lg: 0 4px 12px rgba(0, 0, 0, .08);--color-primary: #374151;--color-primary-light: #6b7280;--color-primary-dark: #1f2937;--color-primary-alpha: rgba(55, 65, 81, .08);--color-primary-alpha-strong: rgba(55, 65, 81, .15);--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--group-header-bg: rgba(0, 0, 0, .03);--row-even-bg: rgba(0, 0, 0, .015);--row-hover-bg: rgba(0, 0, 0, .04)}[data-theme=dark]{--bg-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);--glass-bg: rgba(30, 41, 59, .9);--glass-bg-light: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .08);--glass-border-strong: rgba(255, 255, 255, .12);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--glass-shadow-lg: 0 16px 48px rgba(0, 0, 0, .5);--color-primary: #f97316;--color-primary-light: #fb923c;--color-primary-dark: #ea580c;--color-primary-alpha: rgba(249, 115, 22, .2);--color-primary-alpha-strong: rgba(249, 115, 22, .35);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--text-inverse: #1e293b;--color-success: #4ade80;--color-danger: #f87171;--color-warning: #fbbf24;--color-info: #60a5fa;--group-header-bg: rgba(249, 115, 22, .08);--row-even-bg: rgba(255, 255, 255, .03);--row-hover-bg: rgba(249, 115, 22, .08)}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:#ffffff14;color:#f1f5f9;border-color:#ffffff1f}[data-theme=dark] .qt-price,[data-theme=dark] .qt-title{color:#f1f5f9}[data-theme=dark] .qt-subtotal{color:#fb923c}[data-theme=dark] .quote-table__head th{color:#94a3b8;border-bottom-color:#ffffff14}[data-theme=dark] .quote-table__body td{border-bottom-color:#ffffff0a}[data-theme=dark] .quote-table__body tr:nth-child(odd){background:#ffffff08}[data-theme=green]{--bg-gradient: linear-gradient(135deg, #059669 0%, #10b981 30%, #34d399 60%, #6ee7b7 100%);--glass-bg: rgba(255, 255, 255, .88);--glass-bg-light: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .35);--glass-border-strong: rgba(255, 255, 255, .5);--color-primary: #059669;--color-primary-light: #10b981;--color-primary-dark: #047857;--color-primary-alpha: rgba(5, 150, 105, .12);--color-primary-alpha-strong: rgba(5, 150, 105, .25);--group-header-bg: rgba(5, 150, 105, .06);--row-even-bg: rgba(5, 150, 105, .02);--row-hover-bg: rgba(5, 150, 105, .06)}[data-theme=blue]{--bg-gradient: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 40%, #60a5fa 80%, #93c5fd 100%);--glass-bg: rgba(255, 255, 255, .88);--glass-bg-light: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .3);--glass-border-strong: rgba(255, 255, 255, .5);--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-dark: #1d4ed8;--color-primary-alpha: rgba(37, 99, 235, .12);--color-primary-alpha-strong: rgba(37, 99, 235, .25);--group-header-bg: rgba(37, 99, 235, .06);--row-even-bg: rgba(37, 99, 235, .02);--row-hover-bg: rgba(37, 99, 235, .06)}[data-theme=purple]{--bg-gradient: linear-gradient(135deg, #7c3aed 0%, #a855f7 40%, #c084fc 80%, #e9d5ff 100%);--glass-bg: rgba(255, 255, 255, .88);--glass-bg-light: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .3);--color-primary: #7c3aed;--color-primary-light: #a855f7;--color-primary-dark: #6d28d9;--color-primary-alpha: rgba(124, 58, 237, .12);--color-primary-alpha-strong: rgba(124, 58, 237, .25);--group-header-bg: rgba(124, 58, 237, .06);--row-even-bg: rgba(124, 58, 237, .02);--row-hover-bg: rgba(124, 58, 237, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:var(--font-size-md);line-height:1.5;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit}input,textarea,select{font-family:inherit;font-size:inherit;outline:none}img,svg{display:block;max-width:100%}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}p{line-height:1.6}table{border-collapse:collapse;border-spacing:0;width:100%}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-lg)}.glass-light{background:var(--glass-bg-light);backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm));border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-dark{background:var(--glass-bg-dark);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid rgba(255,255,255,.15);box-shadow:var(--glass-shadow)}.glass-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);padding:var(--space-lg)}.glass-nav{background:#ffffffbf;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--glass-border);box-shadow:4px 0 24px #00000014}.glass-topbar{background:#fffc;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--glass-border);box-shadow:0 2px 16px #00000014}.glass-hover{transition:background var(--transition-normal),transform var(--transition-normal)}.glass-hover:hover{background:#fffffff2;transform:translateY(-1px)}.app-background{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-gradient);z-index:-1}.app-background:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 50%,rgba(249,115,22,.3) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(168,85,247,.25) 0%,transparent 50%),radial-gradient(ellipse at 60% 80%,rgba(59,130,246,.2) 0%,transparent 50%)}.app-background:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:256px 256px;pointer-events:none}.page-wrapper{position:relative;min-height:100vh;width:100%}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes scale-up{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.08)}80%{transform:scale(.95)}to{transform:scale(1);opacity:1}}.animate-slide-in-left{animation:slide-in-left var(--transition-normal) both}.animate-slide-in-right{animation:slide-in-right var(--transition-normal) both}.animate-slide-in-up{animation:slide-in-up var(--transition-normal) both}.animate-fade-in{animation:fade-in var(--transition-normal) both}.animate-scale-in{animation:scale-in var(--transition-normal) both}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.fade-enter-active,.fade-leave-active{transition:opacity var(--transition-normal)}.fade-enter-from,.fade-leave-to{opacity:0}.slide-left-enter-active,.slide-left-leave-active{transition:all var(--transition-normal)}.slide-left-enter-from,.slide-left-leave-to{opacity:0;transform:translate(-20px)}.slide-up-enter-active,.slide-up-leave-active{transition:all var(--transition-normal)}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(12px)}.scale-enter-active,.scale-leave-active{transition:all var(--transition-fast)}.scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:#00000040}::-webkit-scrollbar-corner{background:transparent}*{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.scroll-y{overflow-y:auto;overflow-x:hidden}.scroll-x{overflow-x:auto;overflow-y:hidden}.scroll-smooth{scroll-behavior:smooth}.quote-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-sm);color:var(--text-primary)}.quote-table__head{position:sticky;top:0;z-index:10;background:#ffffffe6;backdrop-filter:blur(var(--glass-blur-sm));-webkit-backdrop-filter:blur(var(--glass-blur-sm))}.quote-table__head th{padding:10px 12px;font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid rgba(0,0,0,.06);text-align:left}.quote-table__head th:first-child{border-radius:var(--radius-md) 0 0 0;padding-left:16px}.quote-table__head th:last-child{border-radius:0 var(--radius-md) 0 0;padding-right:16px}.quote-table__body tr{transition:background var(--transition-fast)}.quote-table__body tr:nth-child(odd){background:#fff9}.quote-table__body tr:nth-child(2n){background:var(--row-even-bg, rgba(249, 115, 22, .03))}.quote-table__body tr:hover{background:var(--row-hover-bg, rgba(249, 115, 22, .07))}.quote-table__body td{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:middle}.quote-table__body td:first-child{padding-left:16px}.quote-table__body td:last-child{padding-right:16px}.quote-table__row--selected td{background:var(--color-primary-alpha)!important}.qt-thumb{width:40px;height:40px;object-fit:cover;border-radius:var(--radius-sm);background:#f1f5f9;display:block}.qt-thumb--placeholder{width:40px;height:40px;border-radius:var(--radius-sm);background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:18px}.qt-title{font-weight:500;color:var(--text-primary);line-height:1.3;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qt-subtitle{font-size:11px;color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.qty-control{display:inline-flex;align-items:center;gap:4px;background:#ffffffb3;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-full);padding:2px}.qty-btn{width:26px;height:26px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;line-height:1;transition:background var(--transition-fast),color var(--transition-fast);flex-shrink:0}.qty-btn:hover{background:var(--color-primary-alpha);color:var(--color-primary)}.qty-btn:active{background:var(--color-primary-alpha-strong)}.qty-input{width:36px;text-align:center;border:none;background:transparent;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);outline:none;-moz-appearance:textfield}.qty-input::-webkit-outer-spin-button,.qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.discount-wrap{display:flex;align-items:center;gap:2px}.discount-input{width:48px;padding:4px 6px;border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-sm);background:#ffffffb3;font-size:var(--font-size-sm);color:var(--text-primary);text-align:right;outline:none;transition:border-color var(--transition-fast)}.discount-input:focus{border-color:var(--color-primary)}.discount-unit{font-size:var(--font-size-xs);color:var(--text-muted)}.qt-price{font-weight:500;color:var(--text-primary);white-space:nowrap}.qt-subtotal{font-weight:700;color:var(--color-primary);white-space:nowrap}.stock-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;white-space:nowrap}.qt-actions{display:flex;align-items:center;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.quote-table__body tr:hover .qt-actions{opacity:1}.qt-action-btn{width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:15px;transition:background var(--transition-fast),color var(--transition-fast)}.qt-action-btn:hover{background:var(--color-primary-alpha);color:var(--color-primary)}.qt-action-btn--danger:hover{background:var(--color-danger-light);color:var(--color-danger)}.qt-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;opacity:0;transition:opacity var(--transition-fast)}.qt-checkbox:checked{opacity:1}.quote-table__body tr:hover .qt-checkbox,.quote-table__row--selected .qt-checkbox{opacity:1}.quote-table__empty{padding:64px 24px;text-align:center;color:var(--text-muted)}.quote-table__empty-icon{font-size:48px;margin-bottom:12px;opacity:.4}.quote-table__empty-text{font-size:var(--font-size-md);font-weight:500;color:var(--text-secondary);margin-bottom:4px}.quote-table__empty-hint{font-size:var(--font-size-sm);color:var(--text-muted)}.quote-summary{display:flex;align-items:center;gap:var(--space-lg);padding:12px 20px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--glass-border);border-radius:0 0 var(--radius-lg) var(--radius-lg);flex-wrap:wrap}.quote-summary__stat{display:flex;flex-direction:column;gap:2px}.quote-summary__label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.quote-summary__value{font-size:var(--font-size-md);font-weight:700;color:var(--text-primary)}.quote-summary__value--primary{color:var(--color-primary);font-size:var(--font-size-lg)}.quote-summary__sep{width:1px;height:32px;background:#0000001a}.quote-summary__deposit{display:flex;align-items:center;gap:8px;margin-left:auto}.deposit-label{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.deposit-input{width:120px;padding:6px 10px;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-sm);background:#ffffffb3;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);outline:none;text-align:right;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.deposit-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.text-sm{font-size:var(--font-size-sm)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-primary-color{color:var(--color-primary)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider{height:1px;background:var(--glass-border);margin:var(--space-md) 0}
