@import"https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;500;600;700&family=Rubik:wght@300;400;500;600;700&display=swap";/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}.unified-layout{background:#f5f5f5;min-height:100vh;display:flex}.main-content{flex:1;min-height:100vh;margin-left:60px;padding:20px;transition:margin-left .3s;position:relative}.main-content>*{z-index:1;position:relative}@media (max-width:1024px){.main-content{margin-left:0;padding:16px}}@media (max-width:768px){.main-content{margin-left:0;padding:12px 12px 80px}}.coupon-stats-table-container{background-color:#fff;overflow:hidden;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important}.coupon-stats-thead{background-color:#f9fafb!important;border-bottom:2px solid #e5e7eb!important}.coupon-stats-expanded-grid{grid-template-columns:repeat(4,1fr)!important;gap:16px!important;display:grid!important}.coupon-stats-card{background-color:#fff;border:1px solid #f3f4f6;border-radius:8px;padding:16px;transition:box-shadow .2s;box-shadow:0 1px 2px #0000000d}.coupon-stats-card:hover{box-shadow:0 4px 6px -1px #0000001a}.rounded-xl{border-radius:.75rem!important}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f!important}.bg-gray-50{background-color:#f9fafb!important}.border-gray-200{border-color:#e5e7eb!important}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)!important}.promotion-card{border:1px solid var(--color-secondary-200);padding:var(--spacing-6);box-shadow:var(--shadow-sm);transition:all var(--duration-normal)var(--ease-out);background:#fff;border-radius:8px;position:relative;overflow:hidden}.promotion-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-300);transform:translateY(-2px)}.promotion-card.paused{opacity:.7;background:var(--color-secondary-50)}.promotion-card.expired{opacity:.6;background:var(--color-error-50);border-color:var(--color-error-200)}.promotion-card-header{margin-bottom:var(--spacing-4);justify-content:space-between;align-items:flex-start;display:flex}.promotion-card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-secondary-800);margin:0 0 var(--spacing-1)0;line-height:var(--line-height-tight)}.promotion-card-code{font-size:var(--font-size-sm);color:var(--color-secondary-600);font-family:var(--font-family-mono);margin:0}.promotion-status{align-items:center;gap:var(--spacing-1);padding:var(--spacing-1)var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:.025em;border-radius:12px;line-height:1;display:inline-flex}.promotion-status.active{background:var(--color-promotion-active-bg);color:var(--color-promotion-active)}.promotion-status.paused{background:var(--color-promotion-paused-bg);color:var(--color-promotion-paused)}.promotion-status.draft{background:var(--color-promotion-draft-bg);color:var(--color-promotion-draft)}.promotion-status.expired{background:var(--color-promotion-expired-bg);color:var(--color-promotion-expired)}.promotion-status.scheduled{background:var(--color-promotion-scheduled-bg);color:var(--color-promotion-scheduled)}.promotion-type-tag{align-items:center;gap:var(--spacing-2);padding:var(--spacing-2)var(--spacing-3);background:var(--color-secondary-100);color:var(--color-secondary-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-3);border-radius:6px;display:inline-flex}.promotion-details{margin-bottom:var(--spacing-4)}.promotion-condition{font-size:var(--font-size-sm);color:var(--color-secondary-600);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-2)}.promotion-meta{gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-secondary-500);flex-direction:column;display:flex}.promotion-meta-item{align-items:center;gap:var(--spacing-2);display:flex}.promotion-card-actions{gap:var(--spacing-2);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-secondary-200);display:flex}.promotion-action-btn{padding:var(--spacing-2)var(--spacing-3);border:1px solid var(--color-secondary-300);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal)var(--ease-out);align-items:center;gap:var(--spacing-1);color:var(--color-secondary-700);background:#fff;border-radius:6px;display:inline-flex}.promotion-action-btn:hover{background:var(--color-secondary-50);border-color:var(--color-secondary-400)}.promotion-action-btn.primary{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff}.promotion-action-btn.primary:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}.promotion-action-btn.danger{color:var(--color-error-600);border-color:var(--color-error-300)}.promotion-action-btn.danger:hover{background:var(--color-error-50);border-color:var(--color-error-400);color:var(--color-error-700)}.promotion-action-btn.warning{color:var(--color-warning-600);border-color:var(--color-warning-300)}.promotion-action-btn.warning:hover{background:var(--color-warning-50);border-color:var(--color-warning-400);color:var(--color-warning-700)}.promotion-action-btn.success{color:var(--color-success-600);border-color:var(--color-success-300)}.promotion-action-btn.success:hover{background:var(--color-success-50);border-color:var(--color-success-400);color:var(--color-success-700)}.stats-card{border:1px solid var(--color-secondary-200);padding:var(--spacing-6);text-align:center;transition:all var(--duration-normal)var(--ease-out);cursor:pointer;background:#fff;border-radius:8px}.stats-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-300);transform:translateY(-1px)}.stats-card-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary-600);margin-bottom:var(--spacing-2);line-height:var(--line-height-tight)}.stats-card-label{font-size:var(--font-size-sm);color:var(--color-secondary-600);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.stats-card-change{font-size:var(--font-size-xs);margin-top:var(--spacing-1);font-weight:var(--font-weight-medium)}.stats-card-change.positive{color:var(--color-success-600)}.stats-card-change.negative{color:var(--color-error-600)}.promotion-form-modal{width:90vw;max-width:800px;max-height:90vh;box-shadow:var(--shadow-xl);background:#fff;border-radius:12px;overflow-y:auto}.promotion-form-header{padding:var(--spacing-6);border-bottom:1px solid var(--color-secondary-200);justify-content:space-between;align-items:center;display:flex}.promotion-form-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-secondary-800);margin:0}.promotion-form-close-btn{padding:var(--spacing-2);cursor:pointer;color:var(--color-secondary-500);transition:all var(--duration-normal)var(--ease-out);background:0 0;border:none;border-radius:6px}.promotion-form-close-btn:hover{background:var(--color-secondary-100);color:var(--color-secondary-700)}.promotion-form-body{padding:var(--spacing-6)}.form-section{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-6);border-bottom:1px solid var(--color-secondary-200)}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);color:var(--color-secondary-800);align-items:center;gap:var(--spacing-2);display:flex}.form-section-description{font-size:var(--font-size-sm);color:var(--color-secondary-600);margin-bottom:var(--spacing-4);line-height:var(--line-height-relaxed)}.form-row{gap:var(--spacing-4);margin-bottom:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.form-group{gap:var(--spacing-2);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-secondary-700);align-items:center;gap:var(--spacing-1);display:flex}.form-label.required:after{content:"*";color:var(--color-error-500);margin-left:var(--spacing-1)}.form-help-text{font-size:var(--font-size-xs);color:var(--color-secondary-500);line-height:var(--line-height-relaxed)}.form-error{font-size:var(--font-size-xs);color:var(--color-error-600);margin-top:var(--spacing-1);align-items:center;gap:var(--spacing-1);display:flex}.condition-builder{background:var(--color-secondary-50);border:1px solid var(--color-secondary-200);padding:var(--spacing-4);margin-top:var(--spacing-3);border-radius:8px}.condition-builder-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-secondary-700);margin-bottom:var(--spacing-3);align-items:center;gap:var(--spacing-2);display:flex}.condition-row{align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-3);flex-wrap:wrap;display:flex}.condition-connector{color:var(--color-secondary-500);font-weight:var(--font-weight-medium);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:.05em;padding:var(--spacing-1)var(--spacing-2);background:var(--color-secondary-100);border-radius:4px}.promotion-preview{background:var(--color-primary-50);border:1px solid var(--color-primary-200);padding:var(--spacing-4);margin-top:var(--spacing-4);border-radius:8px}.promotion-preview-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-700);margin-bottom:var(--spacing-2);align-items:center;gap:var(--spacing-2);display:flex}.promotion-preview-content{font-size:var(--font-size-sm);color:var(--color-primary-600);line-height:var(--line-height-relaxed)}.promotion-form-actions{justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-6);border-top:1px solid var(--color-secondary-200);background:var(--color-secondary-50);display:flex}.promotion-empty-state{text-align:center;padding:var(--spacing-16)var(--spacing-8)}.promotion-empty-icon{width:64px;height:64px;margin:0 auto var(--spacing-4);color:var(--color-secondary-300)}.promotion-empty-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-secondary-600);margin-bottom:var(--spacing-2)}.promotion-empty-description{font-size:var(--font-size-sm);color:var(--color-secondary-500);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6);max-width:400px;margin-left:auto;margin-right:auto}.promotion-toolbar{gap:var(--spacing-4);margin-bottom:var(--spacing-6);flex-wrap:wrap;align-items:center;display:flex}.promotion-search-box{flex:1;min-width:300px;position:relative}.promotion-search-input{width:100%;padding:var(--spacing-3)var(--spacing-4)var(--spacing-3)var(--spacing-10);border:1px solid var(--color-secondary-300);font-size:var(--font-size-sm);transition:all var(--duration-normal)var(--ease-out);background:#fff;border-radius:8px}.promotion-search-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50);outline:none}.promotion-search-icon{left:var(--spacing-3);color:var(--color-secondary-400);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.promotion-filter-group{gap:var(--spacing-3);align-items:center;display:flex}.promotion-filter-select{padding:var(--spacing-3)var(--spacing-4);border:1px solid var(--color-secondary-300);font-size:var(--font-size-sm);cursor:pointer;min-width:120px;transition:all var(--duration-normal)var(--ease-out);background:#fff;border-radius:8px}.promotion-filter-select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-50);outline:none}@media (max-width:768px){.promotion-form-modal{width:95vw;max-height:95vh}.form-row{grid-template-columns:1fr}.promotion-toolbar{flex-direction:column;align-items:stretch}.promotion-search-box{min-width:100%}.promotion-filter-group{justify-content:space-between}.promotion-filter-select{flex:1}.promotion-card-actions{flex-wrap:wrap}.promotion-action-btn{flex:1;justify-content:center}.condition-row{flex-direction:column;align-items:stretch}.condition-connector{text-align:center}.promotion-form-actions{flex-direction:column-reverse}.promotion-form-actions .btn{justify-content:center;width:100%}}@media (max-width:480px){.promotion-form-header,.promotion-form-body,.promotion-form-actions{padding:var(--spacing-4)}.form-section{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4)}.stats-card{padding:var(--spacing-4)}.stats-card-value{font-size:var(--font-size-2xl)}}:root{--pos-primary:#6f61d6;--pos-primary-light:#8b7fe8;--pos-primary-dark:#5647c8;--pos-success:#4caf50;--pos-warning:#ff9800;--pos-error:#f44336;--pos-info:#2196f3;--pos-text-primary:#212121;--pos-text-secondary:#757575;--pos-text-disabled:#9e9e9e;--pos-bg-primary:#fff;--pos-bg-secondary:#f5f5f5;--pos-border:#e0e0e0;--pos-space-xs:4px;--pos-space-sm:8px;--pos-space-md:16px;--pos-space-lg:24px;--pos-space-xl:32px;--pos-space-2xl:48px;--pos-touch-min:44px;--pos-button-height-sm:36px;--pos-button-height-md:44px;--pos-button-height-lg:52px;--pos-radius-sm:4px;--pos-radius-md:8px;--pos-radius-lg:12px;--pos-radius-xl:16px;--pos-shadow-sm:0 1px 3px #0000001f,0 1px 2px #0000003d;--pos-shadow-md:0 3px 6px #00000029,0 3px 6px #0000003b;--pos-shadow-lg:0 10px 20px #00000030,0 6px 6px #0000003b;--pos-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif;--pos-font-xs:12px;--pos-font-sm:14px;--pos-font-base:16px;--pos-font-lg:18px;--pos-font-xl:20px;--pos-font-2xl:24px;--pos-font-3xl:28px;--pos-transition-fast:.15s ease;--pos-transition-base:.2s ease;--pos-transition-slow:.3s ease}.pos-component{box-sizing:border-box;font-family:var(--pos-font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pos-component *,.pos-component :before,.pos-component :after{box-sizing:border-box}.pos-btn{justify-content:center;align-items:center;gap:var(--pos-space-sm);min-height:var(--pos-button-height-md);padding:0 var(--pos-space-lg);border-radius:var(--pos-radius-md);font-family:var(--pos-font-family);font-size:var(--pos-font-base);cursor:pointer;transition:all var(--pos-transition-base);-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;outline:none;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.pos-btn--primary{background:var(--pos-primary);color:#fff;box-shadow:var(--pos-shadow-sm)}.pos-btn--primary:hover:not(:disabled){background:var(--pos-primary-dark);box-shadow:var(--pos-shadow-md);transform:translateY(-1px)}.pos-btn--primary:active:not(:disabled){box-shadow:var(--pos-shadow-sm);transform:translateY(0)}.pos-btn--secondary{color:var(--pos-primary);border:2px solid var(--pos-primary);background:0 0}.pos-btn--secondary:hover:not(:disabled){background:var(--pos-primary);color:#fff}.pos-btn--success{background:var(--pos-success);color:#fff}.pos-btn--success:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.pos-btn--danger{background:var(--pos-error);color:#fff}.pos-btn--danger:hover:not(:disabled){background:#e53935;transform:translateY(-1px)}.pos-btn--small{min-height:var(--pos-button-height-sm);padding:0 var(--pos-space-md);font-size:var(--pos-font-sm)}.pos-btn--large{min-height:var(--pos-button-height-lg);padding:0 var(--pos-space-xl);font-size:var(--pos-font-lg)}.pos-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.pos-btn:focus-visible{box-shadow:0 0 0 3px #6f61d64d}.pos-card{background:var(--pos-bg-primary);border-radius:var(--pos-radius-lg);box-shadow:var(--pos-shadow-md);padding:var(--pos-space-lg);margin-bottom:var(--pos-space-md);transition:all var(--pos-transition-base)}.pos-card:hover{box-shadow:var(--pos-shadow-lg);transform:translateY(-2px)}.pos-card__header{margin-bottom:var(--pos-space-md);padding-bottom:var(--pos-space-md);border-bottom:1px solid var(--pos-border);justify-content:space-between;align-items:center;display:flex}.pos-card__title{font-size:var(--pos-font-lg);color:var(--pos-text-primary);margin:0;font-weight:600}.pos-card__content{color:var(--pos-text-secondary);line-height:1.5}.pos-input{width:100%;min-height:var(--pos-touch-min);padding:var(--pos-space-sm)var(--pos-space-md);border:2px solid var(--pos-border);border-radius:var(--pos-radius-md);font-family:var(--pos-font-family);font-size:var(--pos-font-base);color:var(--pos-text-primary);background:var(--pos-bg-primary);transition:all var(--pos-transition-base);outline:none}.pos-input:focus{border-color:var(--pos-primary);box-shadow:0 0 0 3px #6f61d61a}.pos-input:disabled{background:var(--pos-bg-secondary);cursor:not-allowed;opacity:.7}.pos-input--error{border-color:var(--pos-error)}.pos-input--error:focus{box-shadow:0 0 0 3px #f443361a}.pos-label{margin-bottom:var(--pos-space-xs);font-size:var(--pos-font-sm);color:var(--pos-text-primary);font-weight:500;display:block}.pos-label--required:after{content:" *";color:var(--pos-error)}.pos-table{border-collapse:collapse;background:var(--pos-bg-primary);border-radius:var(--pos-radius-lg);width:100%;box-shadow:var(--pos-shadow-sm);overflow:hidden}.pos-table__header{background:var(--pos-bg-secondary)}.pos-table th{padding:var(--pos-space-md);text-align:left;font-weight:600;font-size:var(--pos-font-sm);color:var(--pos-text-primary);border-bottom:1px solid var(--pos-border)}.pos-table td{padding:var(--pos-space-md);color:var(--pos-text-secondary);border-bottom:1px solid var(--pos-border)}.pos-table tr:hover{background:#6f61d60d}.pos-badge{align-items:center;gap:var(--pos-space-xs);padding:var(--pos-space-xs)var(--pos-space-sm);border-radius:var(--pos-radius-sm);font-size:var(--pos-font-xs);text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:inline-flex}.pos-badge--success{color:var(--pos-success);background:#4caf501a}.pos-badge--warning{color:var(--pos-warning);background:#ff98001a}.pos-badge--error{color:var(--pos-error);background:#f443361a}.pos-badge--info{color:var(--pos-info);background:#2196f31a}.pos-loading{align-items:center;gap:var(--pos-space-sm);display:inline-flex}.pos-spinner{border:2px solid var(--pos-border);border-top-color:var(--pos-primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite pos-spin}@keyframes pos-spin{to{transform:rotate(360deg)}}.pos-empty{text-align:center;padding:var(--pos-space-2xl)var(--pos-space-lg);background:var(--pos-bg-primary);border-radius:var(--pos-radius-lg);border:2px dashed var(--pos-border)}.pos-empty__icon{width:80px;height:80px;margin:0 auto var(--pos-space-lg);background:var(--pos-bg-secondary);color:var(--pos-text-disabled);border-radius:50%;justify-content:center;align-items:center;display:flex}.pos-empty__title{font-size:var(--pos-font-lg);color:var(--pos-text-primary);margin-bottom:var(--pos-space-sm);font-weight:600}.pos-empty__description{color:var(--pos-text-secondary);margin-bottom:var(--pos-space-lg)}@media (max-width:768px){.pos-btn{min-height:48px}.pos-card{padding:var(--pos-space-md)}.pos-table{font-size:var(--pos-font-sm)}.pos-table th,.pos-table td{padding:var(--pos-space-sm)}}@media (prefers-contrast:high){.pos-btn--primary{background:#000;border:2px solid #000}.pos-card{border:2px solid var(--pos-border)}.pos-input{border-width:3px}}@media (prefers-reduced-motion:reduce){.pos-component *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pos-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pos-text-center{text-align:center}.pos-text-left{text-align:left}.pos-text-right{text-align:right}.pos-flex{display:flex}.pos-flex-center{justify-content:center;align-items:center;display:flex}.pos-flex-between{justify-content:space-between;align-items:center;display:flex}.pos-grid{display:grid}.pos-grid-2{grid-template-columns:repeat(2,1fr)}.pos-grid-3{grid-template-columns:repeat(3,1fr)}.pos-grid-4{grid-template-columns:repeat(4,1fr)}.pos-grid-5{grid-template-columns:repeat(5,1fr)}.pos-gap-sm{gap:var(--pos-space-sm)}.pos-gap-md{gap:var(--pos-space-md)}.pos-gap-lg{gap:var(--pos-space-lg)}.pos-mb-sm{margin-bottom:var(--pos-space-sm)}.pos-mb-md{margin-bottom:var(--pos-space-md)}.pos-mb-lg{margin-bottom:var(--pos-space-lg)}.pos-p-sm{padding:var(--pos-space-sm)}.pos-p-md{padding:var(--pos-space-md)}.pos-p-lg{padding:var(--pos-space-lg)}:root{--product-primary:#3b82f6;--product-primary-hover:#2563eb;--product-primary-light:#eff6ff;--product-primary-dark:#1e40af;--product-secondary:#10b981;--product-secondary-hover:#059669;--product-secondary-light:#ecfdf5;--product-danger:#ef4444;--product-danger-hover:#dc2626;--product-danger-light:#fee2e2;--product-warning:#f59e0b;--product-warning-hover:#d97706;--product-warning-light:#fef3c7;--product-info:#6b7280;--product-info-hover:#4b5563;--product-info-light:#f3f4f6;--product-white:#fff;--product-gray-50:#f9fafb;--product-gray-100:#f3f4f6;--product-gray-200:#e5e7eb;--product-gray-300:#d1d5db;--product-gray-400:#9ca3af;--product-gray-500:#6b7280;--product-gray-600:#4b5563;--product-gray-700:#374151;--product-gray-800:#1f2937;--product-gray-900:#111827;--product-bg-base:#fff;--product-bg-secondary:#f9fafb;--product-bg-hover:#f3f4f6;--product-bg-active:#eff6ff;--product-text-primary:#111827;--product-text-secondary:#6b7280;--product-text-muted:#9ca3af;--product-text-inverse:#fff;--product-border-base:#e5e7eb;--product-border-light:#f3f4f6;--product-border-focus:#3b82f6;--product-border-error:#ef4444;--product-space-0:0;--product-space-1:.25rem;--product-space-2:.5rem;--product-space-3:.75rem;--product-space-4:1rem;--product-space-5:1.25rem;--product-space-6:1.5rem;--product-space-8:2rem;--product-space-10:2.5rem;--product-space-12:3rem;--product-space-16:4rem;--product-radius-none:0;--product-radius-sm:.25rem;--product-radius-base:.5rem;--product-radius-md:.75rem;--product-radius-lg:1rem;--product-radius-xl:1.25rem;--product-radius-2xl:1.5rem;--product-radius-full:9999px;--product-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;--product-font-mono:"SF Mono","Monaco","Consolas","Courier New",monospace;--product-text-xs:.75rem;--product-text-sm:.875rem;--product-text-base:1rem;--product-text-lg:1.125rem;--product-text-xl:1.25rem;--product-text-2xl:1.5rem;--product-text-3xl:1.875rem;--product-text-4xl:2.25rem;--product-font-normal:400;--product-font-medium:500;--product-font-semibold:600;--product-font-bold:700;--product-leading-none:1;--product-leading-tight:1.25;--product-leading-snug:1.375;--product-leading-normal:1.5;--product-leading-relaxed:1.625;--product-leading-loose:2;--product-shadow-xs:0 1px 2px 0 #0000000d;--product-shadow-sm:0 2px 4px 0 #00000014;--product-shadow-base:0 4px 6px -1px #0000001a;--product-shadow-md:0 10px 15px -3px #0000001a;--product-shadow-lg:0 20px 25px -5px #0000001a;--product-shadow-xl:0 25px 50px -12px #00000040;--product-shadow-primary:0 4px 12px #3b82f666;--product-shadow-success:0 4px 12px #10b98166;--product-shadow-danger:0 4px 12px #ef444466;--product-shadow-warning:0 4px 12px #f59e0b66;--product-duration-fast:.15s;--product-duration-base:.2s;--product-duration-slow:.3s;--product-duration-slower:.5s;--product-ease-linear:linear;--product-ease-in:cubic-bezier(.4,0,1,1);--product-ease-out:cubic-bezier(0,0,.2,1);--product-ease-in-out:cubic-bezier(.4,0,.2,1);--product-ease-bounce:cubic-bezier(.68,-.55,.265,1.55);--product-transition-fast:all var(--product-duration-fast)var(--product-ease-out);--product-transition-base:all var(--product-duration-base)var(--product-ease-out);--product-transition-slow:all var(--product-duration-slow)var(--product-ease-in-out);--product-z-base:0;--product-z-dropdown:100;--product-z-sticky:200;--product-z-fixed:300;--product-z-modal-backdrop:400;--product-z-modal:500;--product-z-popover:600;--product-z-tooltip:700;--product-container-xs:480px;--product-container-sm:640px;--product-container-md:768px;--product-container-lg:1024px;--product-container-xl:1280px;--product-container-2xl:1536px;--product-grid-gap:var(--product-space-4);--product-grid-gap-lg:var(--product-space-6);--product-grid-cols-auto:repeat(auto-fill,minmax(280px,1fr));--product-btn-height-sm:32px;--product-btn-height-base:40px;--product-btn-height-lg:48px;--product-btn-height-xl:56px;--product-btn-padding-x-sm:var(--product-space-3);--product-btn-padding-x-base:var(--product-space-4);--product-btn-padding-x-lg:var(--product-space-6);--product-icon-btn-sm:36px;--product-icon-btn-base:42px;--product-icon-btn-lg:48px;--product-card-padding:var(--product-space-5);--product-card-radius:var(--product-radius-lg);--product-card-border:2px solid var(--product-border-base);--product-card-shadow:var(--product-shadow-base);--product-card-hover-shadow:var(--product-shadow-lg);--product-input-height:42px;--product-input-padding-x:var(--product-space-3);--product-input-border:2px solid var(--product-border-base);--product-input-radius:var(--product-radius-base);--product-input-focus-border:var(--product-border-focus);--product-breakpoint-sm:640px;--product-breakpoint-md:768px;--product-breakpoint-lg:1024px;--product-breakpoint-xl:1280px;--product-breakpoint-2xl:1536px}.product-container{width:100%;max-width:var(--product-container-2xl);padding-left:var(--product-space-4);padding-right:var(--product-space-4);margin-left:auto;margin-right:auto}.product-card{background:var(--product-bg-base);border:var(--product-card-border);border-radius:var(--product-card-radius);padding:var(--product-card-padding);box-shadow:var(--product-card-shadow);transition:var(--product-transition-base)}.product-card:hover{box-shadow:var(--product-card-hover-shadow);border-color:var(--product-primary-light);transform:translateY(-4px)}.product-grid{grid-template-columns:var(--product-grid-cols-auto);gap:var(--product-grid-gap);display:grid}.product-grid-lg{gap:var(--product-grid-gap-lg)}.product-flex{display:flex}.product-flex-center{justify-content:center;align-items:center;display:flex}.product-flex-between{justify-content:space-between;align-items:center;display:flex}@keyframes productFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes productScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-contrast:high){:root{--product-border-base:#000;--product-text-secondary:#000}}@media (prefers-reduced-motion:reduce){:root{--product-duration-fast:0s;--product-duration-base:0s;--product-duration-slow:0s;--product-duration-slower:0s}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.product-focus-visible:focus-visible{outline:3px solid var(--product-primary);outline-offset:2px}@media (max-width:1024px){.product-container{padding-left:var(--product-space-3);padding-right:var(--product-space-3)}.product-card{padding:var(--product-space-4)}.product-grid{gap:var(--product-space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media (max-width:768px){.product-container{padding-left:var(--product-space-2);padding-right:var(--product-space-2)}.product-card{padding:var(--product-space-3)}.product-grid{gap:var(--product-space-2);grid-template-columns:1fr}}@media print{.product-card{box-shadow:none;border:1px solid var(--product-border-base)}*{transition:none!important;animation:none!important}}.product-btn{justify-content:center;align-items:center;gap:var(--product-space-2);font-family:var(--product-font-family);font-weight:var(--product-font-semibold);white-space:nowrap;border-radius:var(--product-radius-base);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:var(--product-transition-base);-webkit-tap-highlight-color:transparent;border:2px solid #0000;outline:none;line-height:1;text-decoration:none;display:inline-flex}.product-btn:focus-visible{outline:3px solid var(--product-primary);outline-offset:2px}.product-btn:disabled,.product-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.product-btn--loading{pointer-events:none;position:relative;color:#0000!important}.product-btn--loading:after{content:"";border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;margin:auto;animation:.6s linear infinite btnSpinner;position:absolute;inset:0}@keyframes btnSpinner{to{transform:rotate(360deg)}}.product-btn--sm{height:var(--product-btn-height-sm);padding:0 var(--product-btn-padding-x-sm);font-size:var(--product-text-sm)}.product-btn--base{height:var(--product-btn-height-base);padding:0 var(--product-btn-padding-x-base);font-size:var(--product-text-base)}.product-btn--lg{height:var(--product-btn-height-lg);padding:0 var(--product-btn-padding-x-lg);font-size:var(--product-text-lg)}.product-btn--xl{height:var(--product-btn-height-xl);padding:0 var(--product-space-8);font-size:var(--product-text-xl)}.product-btn--full{width:100%}.product-btn--primary{background:linear-gradient(135deg,var(--product-primary)0%,var(--product-primary-hover)100%);color:var(--product-white);border-color:var(--product-primary);box-shadow:var(--product-shadow-sm)}.product-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--product-primary-hover)0%,var(--product-primary-dark)100%);border-color:var(--product-primary-dark);box-shadow:var(--product-shadow-primary);transform:translateY(-2px)}.product-btn--primary:active:not(:disabled){box-shadow:var(--product-shadow-xs);transform:translateY(0)}.product-btn--secondary{background:var(--product-white);color:var(--product-primary);border-color:var(--product-primary);box-shadow:var(--product-shadow-xs)}.product-btn--secondary:hover:not(:disabled){background:var(--product-primary-light);border-color:var(--product-primary-hover);box-shadow:var(--product-shadow-sm);transform:translateY(-2px)}.product-btn--secondary:active:not(:disabled){transform:translateY(0)}.product-btn--success{background:linear-gradient(135deg,var(--product-secondary)0%,var(--product-secondary-hover)100%);color:var(--product-white);border-color:var(--product-secondary);box-shadow:var(--product-shadow-sm)}.product-btn--success:hover:not(:disabled){background:linear-gradient(135deg,var(--product-secondary-hover)0%,#047857 100%);box-shadow:var(--product-shadow-success);transform:translateY(-2px)}.product-btn--success:active:not(:disabled){transform:translateY(0)}.product-btn--danger{background:linear-gradient(135deg,var(--product-danger)0%,var(--product-danger-hover)100%);color:var(--product-white);border-color:var(--product-danger);box-shadow:var(--product-shadow-sm)}.product-btn--danger:hover:not(:disabled){background:linear-gradient(135deg,var(--product-danger-hover)0%,#b91c1c 100%);box-shadow:var(--product-shadow-danger);transform:translateY(-2px)scale(1.02)}.product-btn--danger:active:not(:disabled){transform:translateY(0)scale(1)}.product-btn--warning{background:linear-gradient(135deg,var(--product-warning)0%,var(--product-warning-hover)100%);color:var(--product-white);border-color:var(--product-warning);box-shadow:var(--product-shadow-sm)}.product-btn--warning:hover:not(:disabled){background:linear-gradient(135deg,var(--product-warning-hover)0%,#b45309 100%);box-shadow:var(--product-shadow-warning);transform:translateY(-2px)}.product-btn--warning:active:not(:disabled){transform:translateY(0)}.product-btn--ghost{color:var(--product-text-primary);background:0 0;border-color:#0000}.product-btn--ghost:hover:not(:disabled){background:var(--product-bg-hover);border-color:var(--product-border-base)}.product-btn--ghost:active:not(:disabled){background:var(--product-bg-active)}.product-btn--text{color:var(--product-primary);box-shadow:none;padding-left:var(--product-space-2);padding-right:var(--product-space-2);background:0 0;border-color:#0000}.product-btn--text:hover:not(:disabled){background:var(--product-primary-light);color:var(--product-primary-hover)}.product-btn--text:active:not(:disabled){background:var(--product-bg-active)}.product-icon-btn{border:2px solid var(--product-border-base);border-radius:var(--product-radius-full);background:var(--product-white);cursor:pointer;transition:var(--product-transition-base);box-shadow:var(--product-shadow-sm);justify-content:center;align-items:center;display:inline-flex;position:relative}.product-icon-btn--sm{width:var(--product-icon-btn-sm);height:var(--product-icon-btn-sm)}.product-icon-btn--base{width:var(--product-icon-btn-base);height:var(--product-icon-btn-base)}.product-icon-btn--lg{width:var(--product-icon-btn-lg);height:var(--product-icon-btn-lg)}.product-icon-btn--primary{color:var(--product-primary);border-color:var(--product-primary);background:linear-gradient(135deg,#dbeafe,#eff6ff)}.product-icon-btn--primary:hover{background:var(--product-primary);color:var(--product-white);box-shadow:var(--product-shadow-primary);transform:scale(1.15)rotate(5deg)}.product-icon-btn--success{color:var(--product-secondary);border-color:var(--product-secondary);background:linear-gradient(135deg,#d1fae5,#ecfdf5)}.product-icon-btn--success:hover{background:var(--product-secondary);color:var(--product-white);box-shadow:var(--product-shadow-success);transform:scale(1.15)}.product-icon-btn--danger{color:var(--product-danger);border-color:var(--product-danger);background:linear-gradient(135deg,#fee2e2,#fef2f2)}.product-icon-btn--danger:hover{background:var(--product-danger);color:var(--product-white);box-shadow:var(--product-shadow-danger);transform:scale(1.15)rotate(-5deg)}.product-icon-btn--info{color:var(--product-info);border-color:var(--product-info);background:linear-gradient(135deg,#f3f4f6,#f9fafb)}.product-icon-btn--info:hover{background:var(--product-info);color:var(--product-white);transform:scale(1.15);box-shadow:0 4px 12px #6b728066}.product-icon-btn:disabled,.product-icon-btn--disabled{opacity:.5;cursor:not-allowed;transform:none!important}.product-icon-btn svg{stroke-width:2.5px;flex-shrink:0;width:20px;height:20px}.product-icon-btn--sm svg{width:16px;height:16px}.product-icon-btn--lg svg{width:24px;height:24px}.product-btn-group{gap:var(--product-space-2);display:inline-flex}.product-btn-group--vertical{flex-direction:column}.product-btn-group--attached{gap:0}.product-btn-group--attached>.product-btn:not(:first-child){border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.product-btn-group--attached>.product-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.product-icon-btn[aria-label]:after{content:attr(aria-label);padding:var(--product-space-1)var(--product-space-3);background:var(--product-gray-900);color:var(--product-white);font-size:var(--product-text-xs);font-weight:var(--product-font-medium);border-radius:var(--product-radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--product-duration-fast)var(--product-ease-out),transform var(--product-duration-fast)var(--product-ease-out);z-index:var(--product-z-tooltip);box-shadow:var(--product-shadow-md);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.product-icon-btn[aria-label]:hover:after{opacity:1;transform:translate(-50%)translateY(-4px)}.product-icon-btn[aria-label]:before{content:"";border:4px solid #0000;border-top-color:var(--product-gray-900);opacity:0;pointer-events:none;transition:opacity var(--product-duration-fast)var(--product-ease-out);z-index:var(--product-z-tooltip);position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.product-icon-btn[aria-label]:hover:before{opacity:1}@media (max-width:1024px){.product-btn--lg{height:var(--product-btn-height-base);padding:0 var(--product-btn-padding-x-base);font-size:var(--product-text-base)}.product-icon-btn--lg{width:var(--product-icon-btn-base);height:var(--product-icon-btn-base)}}@media (max-width:768px){.product-btn{font-size:var(--product-text-sm)}.product-btn--base{height:var(--product-btn-height-sm);padding:0 var(--product-btn-padding-x-sm)}.product-icon-btn--base{width:var(--product-icon-btn-sm);height:var(--product-icon-btn-sm)}.product-btn-group{gap:var(--product-space-1)}.product-btn-group--mobile-stack{flex-direction:column;width:100%}.product-btn-group--mobile-stack>.product-btn{width:100%}}@media (prefers-contrast:high){.product-btn,.product-icon-btn{border-width:3px}}@media (prefers-reduced-motion:reduce){.product-btn,.product-icon-btn{transition:none}.product-btn:hover,.product-icon-btn:hover{transform:none!important}}@media print{.product-btn,.product-icon-btn{box-shadow:none;border:1px solid var(--product-border-base)}.product-btn:hover,.product-icon-btn:hover{transform:none}.product-btn--danger,.product-icon-btn--danger,[aria-label*=刪除],[aria-label*=Delete]{display:none}}.product-fade-in{animation:fadeIn var(--product-duration-base)var(--product-ease-out)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.product-slide-up{animation:slideUp var(--product-duration-base)var(--product-ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.product-slide-down{animation:slideDown var(--product-duration-base)var(--product-ease-out)}@keyframes slideLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.product-slide-left{animation:slideLeft var(--product-duration-base)var(--product-ease-out)}@keyframes slideRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.product-slide-right{animation:slideRight var(--product-duration-base)var(--product-ease-out)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.product-scale-in{animation:scaleIn var(--product-duration-base)var(--product-ease-out)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.product-bounce-in{animation:bounceIn var(--product-duration-slow)var(--product-ease-bounce)}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg)scale(.5)}to{opacity:1;transform:rotate(0)scale(1)}}.product-rotate-in{animation:rotateIn var(--product-duration-slow)var(--product-ease-out)}.product-spinner{border:3px solid var(--product-gray-200);border-top-color:var(--product-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin;display:inline-block}.product-spinner--sm{border-width:2px;width:16px;height:16px}.product-spinner--lg{border-width:4px;width:40px;height:40px}.product-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.product-dots{gap:var(--product-space-2);display:inline-flex}.product-dots__dot{background:var(--product-primary);border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both dotBounce}.product-dots__dot:first-child{animation-delay:-.32s}.product-dots__dot:nth-child(2){animation-delay:-.16s}@keyframes shimmer{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.product-skeleton{background:linear-gradient(90deg,var(--product-gray-100)0%,var(--product-gray-200)20%,var(--product-gray-100)40%,var(--product-gray-100)100%);border-radius:var(--product-radius-base);background-size:800px 104px;animation:1.5s linear infinite shimmer}.product-skeleton--text{height:16px;margin-bottom:var(--product-space-2)}.product-skeleton--title{width:60%;height:24px;margin-bottom:var(--product-space-3)}.product-skeleton--circle{border-radius:50%}.product-skeleton--card{border-radius:var(--product-radius-lg);height:200px}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(100%)}}.product-progress{background:var(--product-gray-100);border-radius:var(--product-radius-full);width:100%;height:4px;position:relative;overflow:hidden}.product-progress__bar{background:linear-gradient(90deg,var(--product-primary),var(--product-primary-hover));border-radius:var(--product-radius-full);height:100%;animation:1.5s ease-in-out infinite progress;position:absolute}.product-hover-grow{transition:transform var(--product-duration-base)var(--product-ease-out)}.product-hover-grow:hover{transform:scale(1.05)}.product-hover-lift{transition:transform var(--product-duration-base)var(--product-ease-out),box-shadow var(--product-duration-base)var(--product-ease-out)}.product-hover-lift:hover{box-shadow:var(--product-shadow-lg);transform:translateY(-4px)}.product-hover-glow{transition:box-shadow var(--product-duration-base)var(--product-ease-out)}.product-hover-glow:hover{box-shadow:0 0 20px var(--product-primary-light)}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.product-ripple{position:relative;overflow:hidden}.product-ripple:after{content:"";pointer-events:none;background:#ffffff80;border-radius:50%;width:100px;height:100px;position:absolute;transform:scale(0)}.product-ripple:active:after{animation:.6s ease-out ripple}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}.product-shake{animation:.5s ease-in-out shake}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-15px)}60%{transform:translateY(-7px)}}.product-bounce{animation:1s ease-in-out bounce}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%,60%,80%{transform:scale(1.1)}50%,70%{transform:scale(1.05)}}.product-heartbeat{animation:1.3s ease-in-out infinite heartbeat}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.product-flash{animation:1s ease-in-out flash}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.product-notification-enter{animation:slideInRight var(--product-duration-base)var(--product-ease-out)}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.product-notification-exit{animation:slideOutRight var(--product-duration-base)var(--product-ease-in)}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.product-modal-backdrop{animation:backdropFadeIn var(--product-duration-base)var(--product-ease-out)}@keyframes modalScaleIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.product-modal-content{animation:modalScaleIn var(--product-duration-slow)var(--product-ease-out)}.product-stagger-item{opacity:0;animation:fadeUp var(--product-duration-base)var(--product-ease-out)forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.product-stagger-item:first-child{animation-delay:0s}.product-stagger-item:nth-child(2){animation-delay:50ms}.product-stagger-item:nth-child(3){animation-delay:.1s}.product-stagger-item:nth-child(4){animation-delay:.15s}.product-stagger-item:nth-child(5){animation-delay:.2s}.product-stagger-item:nth-child(6){animation-delay:.25s}.product-stagger-item:nth-child(7){animation-delay:.3s}.product-stagger-item:nth-child(8){animation-delay:.35s}.product-stagger-item:nth-child(9){animation-delay:.4s}.product-stagger-item:nth-child(10){animation-delay:.45s}@keyframes badgePop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.product-badge-pop{animation:badgePop var(--product-duration-base)var(--product-ease-bounce)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.product-fade-in,.product-slide-up,.product-slide-down,.product-scale-in,.product-bounce-in,.product-pulse,.product-heartbeat,.product-stagger-item{animation:none!important}.product-hover-grow:hover,.product-hover-lift:hover{transform:none!important}}.product-animated{will-change:transform,opacity}.product-animated-done{will-change:auto}.product-gpu-accelerated{backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.product-delay-100{animation-delay:.1s}.product-delay-200{animation-delay:.2s}.product-delay-300{animation-delay:.3s}.product-delay-400{animation-delay:.4s}.product-delay-500{animation-delay:.5s}.product-duration-fast{animation-duration:var(--product-duration-fast)}.product-duration-base{animation-duration:var(--product-duration-base)}.product-duration-slow{animation-duration:var(--product-duration-slow)}.product-duration-slower{animation-duration:var(--product-duration-slower)}.product-ease-linear{animation-timing-function:var(--product-ease-linear)}.product-ease-in{animation-timing-function:var(--product-ease-in)}.product-ease-out{animation-timing-function:var(--product-ease-out)}.product-ease-in-out{animation-timing-function:var(--product-ease-in-out)}.product-ease-bounce{animation-timing-function:var(--product-ease-bounce)}.product-infinite{animation-iteration-count:infinite}.product-card-loading{animation:fadeIn var(--product-duration-base)var(--product-ease-out),slideUp var(--product-duration-base)var(--product-ease-out)}.product-success-indicator{animation:scaleIn var(--product-duration-base)var(--product-ease-out),pulse 2s ease-in-out infinite .5s}.product-error-indicator{animation:.5s ease-in-out shake,.5s ease-in-out 2 flash}.product-card-v3{background:var(--product-bg-base);border-radius:var(--product-card-radius);transition:var(--product-transition-base);cursor:pointer;will-change:transform,box-shadow;min-height:340px;box-shadow:var(--product-shadow-base);border:2px solid #0000;flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card-v3:hover{box-shadow:var(--product-shadow-lg);border-color:var(--product-primary-light);transform:translateY(-6px)scale(1.02)}.product-card-v3:focus-visible{outline:3px solid var(--product-primary);outline-offset:3px;border-color:var(--product-primary)}.product-card-v3:active{transform:translateY(-3px)scale(1.01)}.product-card-v3__image-wrapper{background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);flex-shrink:0;width:100%;height:200px;position:relative;overflow:hidden}.product-card-v3__image{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform var(--product-duration-slow)var(--product-ease-out)}.product-card-v3:hover .product-card-v3__image{transform:scale(1.1)rotate(2deg)}.product-card-v3__placeholder{justify-content:center;align-items:center;gap:var(--product-space-3);flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.product-card-v3__placeholder:before{content:"";background-image:repeating-linear-gradient(45deg,#0000,#0000 15px,#ffffff0d 15px 30px);animation:25s linear infinite shimmer;position:absolute;inset:0}.product-card-v3__placeholder-text{font-size:64px;font-weight:var(--product-font-bold);color:#fffffff2;text-shadow:0 4px 12px #0000004d;z-index:2;-webkit-text-fill-color:transparent;letter-spacing:-.02em;background:linear-gradient(#fff,#ffffffd9);-webkit-background-clip:text;background-clip:text}.product-card-v3__placeholder-icon{color:#ffffffbf;z-index:2;filter:drop-shadow(0 2px 6px #0000004d)}.product-card-v3__badge{top:var(--product-space-3);right:var(--product-space-3);padding:var(--product-space-2)var(--product-space-3);border-radius:var(--product-radius-full);font-size:var(--product-text-xs);font-weight:var(--product-font-semibold);box-shadow:var(--product-shadow-md);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.03em;text-transform:uppercase;transition:var(--product-transition-base);position:absolute}.product-card-v3__badge:hover{transform:scale(1.1)}.product-card-v3__badge--active{color:var(--product-white);background:linear-gradient(135deg,#10b981,#059669)}.product-card-v3__badge--low{color:var(--product-white);background:linear-gradient(135deg,#f59e0b,#d97706)}.product-card-v3__badge--out{color:var(--product-white);background:linear-gradient(135deg,#ef4444,#dc2626)}.product-card-v3__badge--inactive{color:var(--product-white);background:linear-gradient(135deg,#9ca3af,#6b7280)}.product-card-v3__content{padding:var(--product-space-5);gap:var(--product-space-3);flex-direction:column;flex:1;display:flex}.product-card-v3__title{font-size:var(--product-text-xl);font-weight:var(--product-font-bold);color:var(--product-text-primary);line-height:var(--product-leading-tight);-webkit-line-clamp:2;text-overflow:ellipsis;text-shadow:0 1px 2px #00000008;letter-spacing:-.01em;min-height:2.5rem;transition:var(--product-transition-base);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.product-card-v3:hover .product-card-v3__title{color:var(--product-primary)}.product-card-v3__category{align-items:center;gap:var(--product-space-1);padding:var(--product-space-1)var(--product-space-3);background:linear-gradient(135deg,var(--product-gray-100)0%,var(--product-gray-50)100%);color:var(--product-gray-700);border-radius:var(--product-radius-base);font-size:var(--product-text-xs);font-weight:var(--product-font-semibold);border:1px solid var(--product-gray-200);box-shadow:var(--product-shadow-xs);transition:var(--product-transition-base);align-self:flex-start;display:inline-flex}.product-card-v3__category:hover{background:linear-gradient(135deg,var(--product-gray-200)0%,var(--product-gray-100)100%);border-color:var(--product-gray-300);transform:scale(1.05)}.product-card-v3__price-container{margin:var(--product-space-2)0}.product-card-v3__price{font-size:32px;font-weight:var(--product-font-bold);color:var(--product-primary-dark);background:linear-gradient(135deg,var(--product-primary-light)0%,#dbeafe 100%);padding:var(--product-space-3)var(--product-space-4);border-radius:var(--product-radius-md);align-items:center;gap:var(--product-space-1);border-left:4px solid var(--product-primary);box-shadow:var(--product-shadow-sm);letter-spacing:-.03em;transition:var(--product-transition-base);line-height:1;display:inline-flex}.product-card-v3:hover .product-card-v3__price{box-shadow:var(--product-shadow-md);background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-left-width:6px;transform:scale(1.05)}.product-card-v3__price-currency{opacity:.85;font-size:20px}.product-card-v3__stock{padding:var(--product-space-3);background:linear-gradient(135deg,var(--product-gray-50)0%,var(--product-white)100%);border-radius:var(--product-radius-base);border:1px solid var(--product-gray-200);transition:var(--product-transition-base);justify-content:space-between;align-items:center;display:flex;box-shadow:inset 0 1px 3px #0000000d}.product-card-v3:hover .product-card-v3__stock{border-color:var(--product-gray-300);background:linear-gradient(135deg,var(--product-gray-100)0%,var(--product-gray-50)100%)}.product-card-v3__stock-label{align-items:center;gap:var(--product-space-2);color:var(--product-text-secondary);font-size:var(--product-text-sm);font-weight:var(--product-font-semibold);display:flex}.product-card-v3__stock-value{font-size:var(--product-text-lg);font-weight:var(--product-font-bold);color:var(--product-text-primary);padding:var(--product-space-1)var(--product-space-3);background:var(--product-white);border-radius:var(--product-radius-base);border:1px solid var(--product-gray-200);text-align:center;min-width:48px;box-shadow:var(--product-shadow-xs)}.product-card-v3__code{font-size:var(--product-text-xs);color:var(--product-text-muted);font-family:var(--product-font-mono);padding:var(--product-space-1)var(--product-space-2);background:var(--product-gray-50);border-radius:var(--product-radius-sm);border:1px solid var(--product-gray-100);letter-spacing:.5px;align-self:flex-start}.product-card-v3__actions{bottom:var(--product-space-5);right:var(--product-space-5);gap:var(--product-space-2);z-index:15;display:flex;position:absolute}.product-card-v3__action-btn{width:var(--product-icon-btn-base);height:var(--product-icon-btn-base);background:var(--product-white);border:2px solid var(--product-gray-200);border-radius:var(--product-radius-full);cursor:pointer;transition:var(--product-transition-base);box-shadow:var(--product-shadow-sm);justify-content:center;align-items:center;display:flex;position:relative;overflow:visible}.product-card-v3__action-btn--edit{color:var(--product-primary);border-color:var(--product-primary);background:linear-gradient(135deg,#dbeafe,#eff6ff)}.product-card-v3__action-btn--edit:hover{background:var(--product-primary);border-color:var(--product-primary-hover);color:var(--product-white);box-shadow:var(--product-shadow-primary);transform:scale(1.2)rotate(10deg)}.product-card-v3__action-btn--delete{color:var(--product-danger);border-color:var(--product-danger);background:linear-gradient(135deg,#fee2e2,#fef2f2)}.product-card-v3__action-btn--delete:hover{background:var(--product-danger);border-color:var(--product-danger-hover);color:var(--product-white);box-shadow:var(--product-shadow-danger);transform:scale(1.2)rotate(-10deg)}.product-card-v3__action-btn--view{color:var(--product-info);border-color:var(--product-info);background:linear-gradient(135deg,#f3f4f6,#f9fafb)}.product-card-v3__action-btn--view:hover{background:var(--product-info);border-color:var(--product-info-hover);color:var(--product-white);transform:scale(1.2);box-shadow:0 4px 12px #6b728066}.product-card-v3__action-btn:active{transform:scale(1.05)}.product-card-v3__action-btn svg{stroke-width:2.5px;flex-shrink:0;width:20px;height:20px}.product-card-v3__action-btn:after{content:attr(aria-label);padding:var(--product-space-1)var(--product-space-2);background:var(--product-gray-900);color:var(--product-white);font-size:var(--product-text-xs);font-weight:var(--product-font-medium);border-radius:var(--product-radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--product-duration-fast)var(--product-ease-out),transform var(--product-duration-fast)var(--product-ease-out);z-index:var(--product-z-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-8px)}.product-card-v3__action-btn:hover:after{opacity:1;transform:translate(-50%)translateY(-12px)}.product-card-v3--loading{pointer-events:none;opacity:.6}.product-card-v3--loading:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);animation:1.5s infinite loading;position:absolute;inset:0}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (min-width:1536px){.product-card-v3{min-height:360px}.product-card-v3__image-wrapper{height:220px}.product-card-v3__price{padding:var(--product-space-4)var(--product-space-5);font-size:36px}}@media (min-width:768px) and (max-width:1023px){.product-card-v3{min-height:320px}.product-card-v3__image-wrapper{height:180px}.product-card-v3__content{padding:var(--product-space-4)}.product-card-v3__price{padding:var(--product-space-2)var(--product-space-3);font-size:28px}.product-card-v3__title{font-size:var(--product-text-lg)}}@media (max-width:767px){.product-card-v3{min-height:300px}.product-card-v3__image-wrapper{height:160px}.product-card-v3__content{padding:var(--product-space-3);gap:var(--product-space-2)}.product-card-v3__price{padding:var(--product-space-2)var(--product-space-3);font-size:24px}.product-card-v3__title{font-size:var(--product-text-base)}.product-card-v3__actions{bottom:var(--product-space-3);right:var(--product-space-3);gap:var(--product-space-1)}.product-card-v3__action-btn{width:var(--product-icon-btn-sm);height:var(--product-icon-btn-sm)}.product-card-v3__action-btn svg{width:16px;height:16px}}.product-card-v3{animation:productCardFadeIn var(--product-duration-slow)var(--product-ease-out)}@keyframes productCardFadeIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.product-card-v3:first-child{animation-delay:0s}.product-card-v3:nth-child(2){animation-delay:50ms}.product-card-v3:nth-child(3){animation-delay:.1s}.product-card-v3:nth-child(4){animation-delay:.15s}.product-card-v3:nth-child(5){animation-delay:.2s}.product-card-v3:nth-child(6){animation-delay:.25s}@media print{.product-card-v3{box-shadow:none;border:1px solid var(--product-border-base);page-break-inside:avoid}.product-card-v3__actions{display:none}.product-card-v3:hover{transform:none}}:root{--status-success:#10b981;--status-success-light:#d1fae5;--status-warning:#f59e0b;--status-warning-light:#fef3c7;--status-danger:#ef4444;--status-danger-light:#fee2e2;--status-info:#6b7280;--status-info-light:#f3f4f6;--shadow-sm:0 1px 2px #0000000d;--shadow-base:0 2px 4px #0000000d;--shadow-floating:0 4px 12px #00000026;--shadow-hover:0 8px 16px #0000001a;--spacing-xs:4px;--spacing-sm:8px;--spacing-base:12px;--spacing-md:16px;--spacing-lg:24px}.product-detail-modal-backdrop-v2{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;-webkit-overflow-scrolling:touch;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.product-detail-modal-v2{background:#fff;border-radius:16px;flex-direction:column;width:100%;max-width:1200px;max-height:85vh;margin:auto;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.modal-header-v2{padding:var(--spacing-md)var(--spacing-lg);border-bottom:1px solid #f3f4f6;flex-shrink:0;justify-content:space-between;align-items:center;min-height:72px;display:flex}.modal-header-v2.gradient-header{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-bottom:none;border-radius:16px 16px 0 0}.modal-header-v2.gradient-header .header-title-group{align-items:center;gap:12px;display:flex}.modal-header-v2.gradient-header .modal-title-v2{color:#fff;margin:0;font-size:20px;font-weight:600}.modal-header-v2.gradient-header .status-badge-v2{border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500}.modal-header-v2.gradient-header .status-badge-v2.active{color:#a7f3d0;background:#10b9814d}.modal-header-v2.gradient-header .status-badge-v2.inactive{color:#fecaca;background:#ef44444d}.header-actions-v2{align-items:center;gap:8px;display:flex}.header-action-btn-v2{cursor:pointer;color:#fff;background:#ffffff26;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.header-action-btn-v2:hover{background:#ffffff40;transform:scale(1.05)}.header-action-btn-v2.edit:hover{background:#3b82f680}.header-action-btn-v2.toggle:hover{background:#f59e0b80}.header-action-btn-v2.toggle.inactive{background:#10b9814d}.header-action-btn-v2.delete:hover{background:#ef444480}.header-action-btn-v2.close{width:44px;height:44px;margin-left:8px}.header-action-btn-v2.close:hover{background:#ffffff4d}.modal-footer-v2{background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.footer-left-v2,.footer-right-v2{align-items:center;gap:12px;display:flex}.keyboard-hints-v2{color:#6b7280;gap:16px;font-size:12px;display:flex}.keyboard-hints-v2 kbd{color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;min-width:24px;height:24px;margin-right:4px;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.btn-edit-v2{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.btn-edit-v2:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.btn-close-v2{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-close-v2:hover{background:#f9fafb;border-color:#d1d5db}.product-detail-close-btn-v2{cursor:pointer;color:#6b7280;background:#fff;border:2px solid #e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.product-detail-close-btn-v2:hover{color:#374151;background:#f3f4f6;border-color:#d1d5db;transform:scale(1.1)}.floating-actions-v2{gap:var(--spacing-sm);display:flex}.floating-btn-v2{cursor:pointer;background:#fff;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex;position:relative}.floating-btn-v2.edit{color:#3b82f6;border-color:#bfdbfe}.floating-btn-v2.edit:hover{color:#fff;background:#3b82f6;transform:scale(1.1)rotate(5deg);box-shadow:0 4px 12px #3b82f666}.floating-btn-v2.toggle{color:#f59e0b;border-color:#fde68a}.floating-btn-v2.toggle:hover{color:#fff;background:#f59e0b;transform:scale(1.1);box-shadow:0 4px 12px #f59e0b66}.floating-btn-v2.delete{color:#ef4444;border-color:#fecaca}.floating-btn-v2.delete:hover{color:#fff;background:#ef4444;transform:scale(1.1)rotate(-5deg);box-shadow:0 4px 12px #ef444466}.floating-btn-v2:after{content:attr(aria-label);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#1f2937;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .2s;position:absolute;bottom:-36px;left:50%;transform:translate(-50%)scale(0);box-shadow:0 4px 6px #0000001a}.floating-btn-v2:hover:after{opacity:1;transform:translate(-50%)scale(1)}.product-detail-modal-v2 .product-detail-tabs{background:#f9fafb;border-bottom:2px solid #e5e7eb;flex-shrink:0;gap:0;padding:0 32px;display:flex}.product-detail-modal-v2 .product-detail-tabs .tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:16px 24px;font-size:15px;font-weight:600;transition:all .2s;display:flex;position:relative}.product-detail-modal-v2 .product-detail-tabs .tab-btn:hover{color:#374151;background:#6366f10d}.product-detail-modal-v2 .product-detail-tabs .tab-btn.active{color:#6366f1;background:#fff;border-bottom-color:#6366f1}.product-detail-content-v2{gap:var(--spacing-lg);padding:var(--spacing-lg);-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;grid-template-columns:1fr 2fr 1fr;min-height:0;display:grid;overflow:hidden auto}.product-detail-content-v2::-webkit-scrollbar{width:8px}.product-detail-content-v2::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.product-detail-content-v2::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.product-detail-content-v2::-webkit-scrollbar-thumb:hover{background:#9ca3af}.product-image-section-v2{gap:var(--spacing-base);flex-direction:column;display:flex}.product-image-wrapper-v2{width:100%;max-width:240px;position:relative}.product-image-v2{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;width:100%;box-shadow:var(--shadow-base);border-radius:12px}.product-image-placeholder-v2{aspect-ratio:1;color:#fff;justify-content:center;align-items:center;gap:var(--spacing-base);background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;flex-direction:column;width:100%;display:flex}.product-image-placeholder-v2 p{opacity:.9;font-size:14px;font-weight:500}.product-status-badge-v2{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:9999px;padding:6px 14px;font-size:12px;font-weight:600;position:absolute;top:10px;right:10px;box-shadow:0 2px 4px #00000026}.product-status-badge-v2.normal{background:var(--status-success-light);color:var(--status-success)}.product-status-badge-v2.low{background:var(--status-warning-light);color:var(--status-warning)}.product-status-badge-v2.out{background:var(--status-danger-light);color:var(--status-danger)}.product-status-badge-v2.inactive{background:var(--status-info-light);color:var(--status-info)}.upload-image-btn-v2{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-base);color:#6b7280;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.upload-image-btn-v2:hover{color:#374151;background:#f9fafb;border-color:#d1d5db}.product-info-section-v2{gap:var(--spacing-md);flex-direction:column;min-height:0;display:flex}.product-title-row-v2{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.product-title-v2{color:#1f2937;margin:0;font-size:24px;font-weight:700;line-height:1.3}.product-category-badge-v2{color:#6b7280;white-space:nowrap;background:#f3f4f6;border-radius:6px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:500;display:inline-flex}.price-cards-row-v2{gap:var(--spacing-base);grid-template-columns:2fr 1fr 1fr;display:grid}.price-card-v2{padding:var(--spacing-base)var(--spacing-md);box-shadow:var(--shadow-sm);border-radius:10px;transition:all .2s}.price-card-v2:hover{box-shadow:var(--shadow-base);transform:translateY(-2px)}.price-card-v2.primary{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:4px solid #3b82f6}.price-card-v2.secondary{background:#f9fafb}.price-card-v2.success{background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.price-label-v2{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:500}.price-value-v2{color:#1f2937;align-items:center;gap:6px;font-size:20px;font-weight:700;line-height:1;display:flex}.price-value-v2.success-color{color:#10b981}.price-value-v2.secondary-color{color:#6b7280;font-size:18px}.inventory-progress-section-v2{padding:var(--spacing-md);background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px}.inventory-header-v2{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.inventory-label-v2{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:500}.inventory-value-v2{color:#1f2937;font-size:18px;font-weight:700}.progress-bar-container-v2{height:10px;margin-bottom:var(--spacing-base);background:#e5e7eb;border-radius:9999px;position:relative;overflow:visible}.progress-fill-v2{border-radius:9999px;height:100%;transition:width .3s,background-color .3s;position:relative}.progress-fill-v2.success{background:linear-gradient(90deg,#10b981,#34d399)}.progress-fill-v2.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.progress-fill-v2.danger{background:linear-gradient(90deg,#ef4444,#f87171)}.min-stock-marker-v2{background:#f59e0b;border-radius:1px;width:2px;height:16px;transition:left .3s;position:absolute;top:-3px}.min-stock-marker-v2:before{content:"⚠";color:#f59e0b;font-size:10px;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.inventory-meta-v2{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.inventory-meta-item-v2{color:#6b7280;align-items:center;gap:4px;font-size:12px;display:flex}.meta-grid-v2{gap:var(--spacing-sm);padding:var(--spacing-base);background:#f9fafb;border-radius:10px;grid-template-columns:repeat(2,1fr);display:grid}.meta-item-v2{color:#6b7280;align-items:center;gap:6px;font-size:12px;display:flex}.meta-label-v2{font-weight:500}.meta-value-v2{color:#1f2937;font-family:Courier New,monospace;font-size:11px;font-weight:600}.description-section-v2{background:#fffbeb;border-left:4px solid #f59e0b;border-radius:8px;overflow:hidden}.description-toggle-v2{width:100%;padding:var(--spacing-base)var(--spacing-md);cursor:pointer;color:#92400e;background:0 0;border:none;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;transition:background .2s;display:flex}.description-toggle-v2:hover{background:#fbbf241a}.description-toggle-v2 svg{transition:transform .2s}.description-toggle-v2.expanded svg{transform:rotate(180deg)}.description-content-v2{max-height:0;transition:max-height .3s;overflow:hidden}.description-content-v2.expanded{max-height:300px;padding:0 var(--spacing-md)var(--spacing-base)}.description-content-v2 p{color:#78350f;margin:0;font-size:13px;line-height:1.6}.financial-summary-card-v2{padding:var(--spacing-md);box-shadow:var(--shadow-base);gap:var(--spacing-sm);background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;height:-moz-fit-content;height:fit-content;display:flex}.financial-card-title-v2{color:#6b7280;margin:0 0 var(--spacing-sm)0;text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.financial-item-v2{padding:var(--spacing-base);background:#f9fafb;border-radius:8px;transition:all .2s}.financial-item-v2:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.financial-item-v2.primary{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-left:3px solid #3b82f6}.financial-item-label-v2{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:500}.financial-item-value-v2{color:#1f2937;align-items:center;gap:6px;font-size:20px;font-weight:700;display:flex}.financial-item-value-v2.success{color:#10b981}.financial-item-value-v2.primary{color:#3b82f6}.financial-item-trend-v2{align-items:center;gap:2px;margin-left:auto;font-size:12px;font-weight:600;display:inline-flex}.financial-item-trend-v2.positive{color:#10b981}.financial-item-trend-v2.negative{color:#ef4444}.quick-action-btn-v2{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-base);color:#6b7280;cursor:pointer;margin-top:var(--spacing-xs);background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.quick-action-btn-v2:hover{color:#3b82f6;background:#f9fafb;border-color:#3b82f6}@media (min-width:768px) and (max-width:1023px){.product-detail-content-v2{gap:var(--spacing-md);grid-template-columns:1fr 1fr}.financial-summary-card-v2{grid-column:1/-1;max-width:400px;margin:0 auto}.price-cards-row-v2{grid-template-columns:1fr 1fr}.price-card-v2.primary{grid-column:1/-1}}@media (max-width:767px){.product-detail-modal-v2{max-height:95vh}.modal-header-v2{padding:var(--spacing-base)var(--spacing-md)}.product-detail-content-v2{gap:var(--spacing-md);padding:var(--spacing-md);grid-template-columns:1fr}.product-image-wrapper-v2{max-width:200px;margin:0 auto}.floating-actions-v2{margin-bottom:var(--spacing-base);order:-1;justify-content:center;position:static}.price-cards-row-v2,.meta-grid-v2{grid-template-columns:1fr}.financial-summary-card-v2{margin-top:var(--spacing-md)}.product-title-v2{font-size:20px}.price-value-v2,.financial-item-value-v2{font-size:18px}}@media (prefers-reduced-motion:reduce){.product-detail-modal-backdrop-v2,.product-detail-modal-v2,.floating-btn-v2,.price-card-v2,.financial-item-v2{transition:none;animation:none}}.product-type-badge-v2{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .2s;display:inline-flex}.product-type-badge-v2.finished{color:#15803d;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:1px solid #86efac}.product-type-badge-v2.semi{color:#c2410c!important;background:linear-gradient(135deg,#ffedd5,#fed7aa)!important;border:1px solid #fdba74!important}.product-title-row-v2 .product-type-badge-v2.semi{color:#c2410c;background:linear-gradient(135deg,#ffedd5,#fed7aa);border:1px solid #fdba74}.product-type-badge-v2.raw{color:#4b5563;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:1px solid #d1d5db}.product-type-badge-v2.packaging{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:1px solid #93c5fd}.price-cards-row-v2.finished-theme .price-card-v2.primary.finished{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-left:4px solid #22c55e}.price-value-v2.primary-color{color:#22c55e}.price-cards-row-v2.semi-theme .price-card-v2.primary.semi{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-left:4px solid #64748b}.price-value-v2.semi-color{color:#64748b}.price-note-v2{color:#94a3b8;margin-top:4px;font-size:10px;font-style:italic}.cost-source-badge{border-radius:4px;margin-left:4px;padding:2px 6px;font-size:10px}.cost-source-badge.bom{color:#1976d2;background-color:#e3f2fd}.cost-source-badge.manufacturing{color:#e65100;background-color:#fff3e0}.cost-breakdown-detail{color:#666;margin-top:4px;font-size:10px;line-height:1.4}.price-card-v2.cost-ratio{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.price-value-v2.ratio-color{color:#64748b}.financial-summary-card-v2.finished-theme{border:2px solid #bbf7d0;border-top:4px solid #22c55e}.financial-summary-card-v2.semi-theme{border:2px solid #cbd5e1;border-top:4px solid #64748b}.financial-item-v2.primary.semi{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-left:3px solid #64748b}.financial-item-value-v2.semi{color:#64748b}.semi-usage-info{color:#3b82f6;cursor:pointer;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.semi-usage-info:hover{color:#2563eb}.suggested-price-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.suggested-tag{cursor:default;border-radius:16px;padding:4px 10px;font-size:12px;font-weight:500;transition:transform .2s}.suggested-tag:hover{transform:scale(1.05)}.suggested-tag.finished-30{color:#1d4ed8;background-color:#dbeafe}.suggested-tag.finished-40{color:#047857;background-color:#d1fae5}.suggested-tag.finished-50{color:#b45309;background-color:#fef3c7}.suggested-tag.semi-10{color:#475569;background-color:#f1f5f9}.suggested-tag.semi-15{color:#334155;background-color:#e2e8f0}.suggested-tag.semi-20{color:#1e293b;background-color:#cbd5e1}.floating-btn-v2.edit.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.tab-btn.has-changes{position:relative}.tab-btn .dirty-indicator{color:#f59e0b;margin-left:4px;font-size:10px;animation:1.5s infinite pulse}.product-edit-tab{flex:1;padding:0;overflow-y:auto}.product-edit-form-container{flex-direction:column;height:100%;max-height:calc(85vh - 140px);display:flex}.edit-form-sub-tabs{background:linear-gradient(#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;flex-shrink:0;gap:0;padding:0 24px;display:flex}.edit-sub-tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 16px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.edit-sub-tab-btn:hover{color:#475569;background:#6366f10d}.edit-sub-tab-btn.active{color:#6366f1;background:#fff;border-bottom-color:#6366f1}.edit-form-content{flex:1;padding:20px 24px;overflow-y:auto}.edit-form-error-banner{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;display:flex}.edit-form-section{margin-bottom:24px}.edit-form-section .section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.edit-form-section .section-header h4{color:#1f2937;margin:0;font-size:15px;font-weight:600}.edit-form-section .stock-status{align-items:center;gap:4px;font-size:13px;font-weight:500;display:flex}.edit-form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.edit-form-field{flex-direction:column;gap:6px;display:flex}.edit-form-field.full-width{grid-column:1/-1}.edit-form-field label{color:#374151;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.edit-form-field label .required{color:#ef4444}.edit-form-input{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font-size:14px;transition:all .2s}.edit-form-input:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.edit-form-input.error{border-color:#ef4444}.edit-form-input.warning{border-color:#f59e0b}textarea.edit-form-input{resize:vertical;min-height:80px}select.edit-form-input{cursor:pointer}.edit-form-error{color:#ef4444;align-items:center;gap:4px;font-size:12px;display:flex}.edit-form-warning{color:#f59e0b;align-items:center;gap:4px;font-size:12px;display:flex}.edit-form-toggle{align-items:center;gap:10px;display:flex}.toggle-switch{width:44px;height:24px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#e5e7eb;border-radius:24px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle-switch input:checked+.toggle-slider{background-color:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.status-text{font-size:13px;font-weight:500}.status-text.active{color:#10b981}.status-text.inactive{color:#6b7280}.edit-form-image-upload{width:100%}.image-upload-area{cursor:pointer;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:32px;transition:all .2s;display:flex}.image-upload-area:hover{background:#f5f3ff;border-color:#6366f1}.image-upload-area p{color:#374151;margin:8px 0 4px;font-size:14px;font-weight:500}.image-upload-area span{color:#9ca3af;font-size:12px}.image-preview{width:200px;position:relative}.image-preview img{border:1px solid #e5e7eb;border-radius:8px;width:100%}.image-remove-btn{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:6px;margin-top:8px;padding:6px 12px;font-size:12px;transition:background .2s}.image-remove-btn:hover{background:#fecaca}.profit-display{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #d1fae5;border-radius:12px;gap:24px;padding:16px;display:flex}.profit-item{flex-direction:column;gap:4px;display:flex}.profit-label{color:#6b7280;font-size:12px}.profit-value{color:#374151;font-size:18px;font-weight:600}.profit-value.highlight{color:#10b981}.edit-form-alert{border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.edit-form-alert.warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.edit-form-alert.info{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd}.edit-form-actions{background:#f8fafc;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.actions-info{align-items:center;display:flex}.unsaved-indicator{color:#f59e0b;align-items:center;gap:6px;font-size:13px;display:flex}.actions-buttons{gap:12px;display:flex}.btn-cancel{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel:hover{background:#f9fafb;border-color:#d1d5db}.btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-save .spin{animation:1s linear infinite spin}@media (max-width:768px){.edit-form-grid{grid-template-columns:1fr}.edit-form-sub-tabs{padding:0 16px;overflow-x:auto}.edit-sub-tab-btn{white-space:nowrap;padding:10px 12px;font-size:12px}.edit-form-content{padding:16px}.edit-form-actions{flex-direction:column;gap:12px}.actions-buttons{width:100%}.btn-cancel,.btn-save{flex:1;justify-content:center}}.financial-item-hint{color:#94a3b8;margin-top:2px;font-size:10px;font-weight:400;display:block}.portion-badge{color:#0369a1;background-color:#e0f2fe;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:9px;font-weight:500}.price-value-v2.portion-value{color:#15803d;align-items:baseline;gap:4px;display:flex}.portion-unit{color:#86efac;font-size:14px;font-weight:400}.portion-detail-v2{color:#64748b;border-top:1px dashed #e5e7eb;margin-top:8px;padding-top:8px;font-size:11px}.portion-spec{justify-content:space-between;margin-bottom:4px;display:flex}.portion-spec-label{color:#94a3b8}.portion-spec-value{color:#475569;font-weight:500}.portion-breakdown{align-items:center;gap:4px;margin-bottom:6px;display:flex}.portion-breakdown-item{background:#f1f5f9;border-radius:4px;padding:2px 6px;font-size:10px}.portion-breakdown-sep{color:#cbd5e1}.portion-note{color:#94a3b8;font-size:10px;font-style:italic;line-height:1.4}.price-card-v2.semi-profit{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-left:4px solid #22c55e}.price-value-v2.danger-color,.financial-item-value-v2.danger{color:#dc2626}.price-card-v2.portion-cost-v3{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-left-width:4px;padding:14px}.portion-header-v3{align-items:center;gap:8px;margin-bottom:10px;display:flex}.portion-title-v3{color:#92400e;font-size:12px;font-weight:600}.portion-badge-v3{color:#b45309;background:#fef3c7;border:1px solid #f59e0b;border-radius:10px;padding:2px 6px;font-size:9px;font-weight:500}.portion-main-v3{margin-bottom:12px}.portion-cost-display-v3{align-items:baseline;gap:4px;display:flex}.portion-cost-value-v3{color:#b45309;font-size:22px;font-weight:700}.portion-cost-unit-v3{color:#d97706;font-size:14px;font-weight:500}.portion-calculation-v3{background:#fff9;border-radius:8px;padding:10px}.portion-calc-title-v3{color:#92400e;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:10px;font-weight:600}.portion-calc-formula-v3{flex-direction:column;gap:4px;display:flex}.portion-calc-row-v3{justify-content:space-between;font-size:11px;display:flex}.calc-label-v3{color:#78716c}.calc-value-v3{color:#44403c;font-family:Monaco,Menlo,monospace;font-weight:500}.portion-calc-divider-v3{background:#d6d3d1;height:1px;margin:6px 0}.portion-calc-source-v3{color:#78716c;text-align:center;border-top:1px dashed #d6d3d1;margin-top:10px;padding-top:8px;font-size:10px;font-style:italic}.price-card-v2.batch-production-v3{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid #6366f1;border-left-width:4px;padding:14px}.batch-header-v3{align-items:center;gap:8px;margin-bottom:10px;display:flex}.batch-title-v3{color:#4338ca;font-size:12px;font-weight:600}.batch-badge-v3{color:#4f46e5;background:#eef2ff;border:1px solid #6366f1;border-radius:10px;padding:2px 6px;font-size:9px;font-weight:500}.batch-info-v3{flex-direction:column;gap:6px;display:flex}.batch-row-v3{justify-content:space-between;align-items:center;font-size:12px;display:flex}.batch-row-v3.highlight{background:#ffffff80;border-radius:6px;margin:4px -10px 0;padding:8px 10px}.batch-label-v3{color:#64748b}.batch-value-v3{color:#334155;font-family:Monaco,Menlo,monospace;font-weight:600}.batch-value-v3.positive{color:#16a34a}.batch-value-v3.negative{color:#dc2626}.batch-note-v3{color:#6366f1;text-align:center;border-top:1px dashed #a5b4fc;margin-top:10px;padding-top:8px;font-size:10px;font-style:italic}.unified-info-container-v4{flex-direction:column;gap:16px;margin-top:16px;display:flex}.info-block-v4{border:1px solid;border-radius:12px;padding:16px}.block-header-v4{align-items:center;gap:8px;margin-bottom:4px;display:flex}.block-icon-v4{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.block-title-v4{font-size:14px;font-weight:600}.block-subtitle-v4{color:#64748b;margin-bottom:12px;padding-left:36px;font-size:11px}.block-badge-v4{border-radius:10px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:500}.block-content-v4{background:#ffffff80;border-radius:8px;padding:12px}.data-flow-v4{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.data-item-v4{text-align:center;flex:1;min-width:80px}.data-label-v4{color:#64748b;margin-bottom:4px;font-size:11px}.data-value-v4{color:#1e293b;font-size:16px;font-weight:700}.data-value-v4.highlight{color:#059669}.data-value-v4.positive{color:#16a34a}.data-value-v4.negative{color:#dc2626}.data-value-v4.muted{color:#94a3b8;font-size:14px;font-style:italic}.data-detail-v4{color:#64748b;margin-top:2px;font-size:10px}.data-detail-v4.positive{color:#16a34a;justify-content:center;align-items:center;gap:2px;display:flex}.data-detail-v4.negative{color:#dc2626;justify-content:center;align-items:center;gap:2px;display:flex}.data-arrow-v4{color:#cbd5e1;flex-shrink:0;font-size:18px;font-weight:300}.block-footer-v4{border-top:1px dashed #e2e8f0;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding-top:12px;display:flex}.footer-icon-v4{font-size:14px}.footer-label-v4{color:#64748b;font-size:11px}.footer-tag-v4{color:#475569;background:#f1f5f9;border-radius:12px;padding:3px 8px;font-size:11px}.info-block-v4.recipe-summary{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.info-block-v4.recipe-summary .block-icon-v4{color:#fff;background:#3b82f6}.info-block-v4.recipe-summary .block-title-v4{color:#1e40af}.info-block-v4.recipe-summary .block-badge-v4{color:#1d4ed8;background:#dbeafe;border:1px solid #3b82f6}.info-block-v4.cost-pricing{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#86efac}.info-block-v4.cost-pricing .block-icon-v4{color:#fff;background:#22c55e}.info-block-v4.cost-pricing .block-title-v4{color:#166534}.info-block-v4.batch-production{background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-color:#a78bfa}.info-block-v4.batch-production .block-icon-v4{color:#fff;background:#7c3aed}.info-block-v4.batch-production .block-title-v4{color:#5b21b6}.info-block-v4.portion-sales{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d}.info-block-v4.portion-sales .block-icon-v4{color:#fff;background:#f59e0b}.info-block-v4.portion-sales .block-title-v4{color:#92400e}.info-block-v4.portion-sales .block-badge-v4{color:#b45309;background:#fef3c7;border:1px solid #f59e0b}.info-block-v4.inventory-status{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-color:#cbd5e1}.info-block-v4.inventory-status .block-icon-v4{color:#fff;background:#64748b}.info-block-v4.inventory-status .block-title-v4{color:#334155}.inventory-bar-v4{background:#e2e8f0;border-radius:4px;height:8px;margin-top:12px;position:relative;overflow:hidden}.inventory-fill-v4{border-radius:4px;height:100%;transition:width .3s}.inventory-fill-v4.success{background:linear-gradient(90deg,#22c55e,#4ade80)}.inventory-fill-v4.warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.inventory-fill-v4.danger{background:linear-gradient(90deg,#ef4444,#f87171)}.inventory-marker-v4{background:#ef4444;border-radius:1px;width:2px;height:12px;position:absolute;top:-2px}.inventory-percentage-v4{text-align:center;color:#64748b;margin-top:4px;font-size:11px}.info-block-v4.related-info{background:linear-gradient(135deg,#ffedd5,#fed7aa);border-color:#fdba74}.info-block-v4.related-info .block-icon-v4{color:#fff;background:#ea580c}.info-block-v4.related-info .block-title-v4{color:#9a3412}.related-link-v4{align-items:center;gap:8px;display:flex}.related-label-v4{color:#78350f;font-size:12px}.related-value-v4.link{color:#2563eb;cursor:pointer;font-size:12px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.related-value-v4.link:hover{color:#1d4ed8}@media (max-width:600px){.data-flow-v4{flex-direction:column;gap:12px}.data-arrow-v4{transform:rotate(90deg)}.data-item-v4{width:100%}}.progress-badge-v2.editing{color:#fef3c7;background:#f59e0b4d}.progress-badge-v2.active{color:#a7f3d0;background:#10b9814d}.progress-badge-v2.inactive{color:#fecaca;background:#ef44444d}.product-modal-v2 .product-detail-tabs .tab-btn .tab-badge{color:#6b7280;background:#e5e7eb;border-radius:10px;margin-left:4px;padding:2px 8px;font-size:11px;font-weight:600}.product-modal-v2 .product-detail-tabs .tab-btn.completed .tab-badge{color:#059669;background:#d1fae5}.bom-embed-container,.manufacturing-embed-container,.packaging-embed-container{margin-top:16px}.dirty-indicator{color:#f59e0b;align-items:center;gap:4px;font-size:12px;animation:1.5s ease-in-out infinite pulse;display:inline-flex}.save-status-message{border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.save-status-message.success{color:#059669;background:#10b9811a;border:1px solid #10b9814d}.save-status-message.error{color:#dc2626;background:#ef44441a;border:1px solid #ef44444d}.save-status-message.saving{color:#6366f1;background:#6366f11a;border:1px solid #6366f14d}.readonly-notice{color:#1d4ed8;background:linear-gradient(135deg,#e8f4fd,#dbeafe);border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;font-size:13px;display:flex}.readonly-notice svg{flex-shrink:0}.readonly-badge{color:#6b7280;background:#6b72801a;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:4px;margin-left:12px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.readonly-badge svg{width:12px;height:12px}.readonly-form-container{max-height:calc(100vh - 220px);padding:20px 24px;overflow-y:auto}.readonly-input,input.readonly-input,textarea.readonly-input,select.readonly-input{color:#475569!important;cursor:not-allowed!important;pointer-events:none!important;background-color:#f8fafc!important;border-color:#e2e8f0!important}.readonly-input:focus,input.readonly-input:focus,textarea.readonly-input:focus{box-shadow:none!important;border-color:#e2e8f0!important;outline:none!important}.modal-header-v2 .readonly-badge{color:#fff;background:#fff3;border:1px solid #fff6;animation:2s ease-in-out infinite readonlyPulse}@keyframes readonlyPulse{0%,to{opacity:1}50%{opacity:.7}}.readonly-form-container .form-group-opt{margin-bottom:16px}.readonly-form-container .form-label-opt{color:#475569;align-items:center;gap:6px;margin-bottom:6px;font-size:13px;font-weight:500;display:flex}.readonly-form-container .form-label-opt svg{color:#64748b}.readonly-form-container .form-input-opt{border:1px solid #e0e0e0;border-radius:8px;width:100%;padding:10px 14px;font-size:14px;transition:all .2s}.readonly-form-container .tab-content-v2{grid-template-columns:1fr 1fr;gap:24px;display:grid}.readonly-form-container .column-left-opt,.readonly-form-container .column-right-opt{flex-direction:column;display:flex}@media (max-width:768px){.readonly-form-container .tab-content-v2{grid-template-columns:1fr;gap:16px}.readonly-form-container{padding:16px}.readonly-notice{flex-wrap:wrap;padding:10px 12px}}.product-modal-content-v2.readonly-form-container{background:#fafbfc;border-top:1px solid #e5e7eb}.readonly-input[style*="color: #059669"],.readonly-input[style*="color:#059669"],.readonly-input[style*="color: #dc2626"],.readonly-input[style*="color:#dc2626"]{font-weight:600}.product-detail-modal-backdrop-v2 .phoenix-modal-backdrop{z-index:1050}.product-detail-modal-backdrop-v2 .phoenix-modal{z-index:1051}.bom-tab-container{padding:20px 24px}.bom-tab-content,.bom-details-sections{flex-direction:column;gap:24px;display:flex}.bom-section,.manufacturing-section,.packaging-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.bom-section .section-header,.manufacturing-section .section-header,.packaging-section .section-header{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e5e7eb;padding:16px 20px}.bom-section .section-header h3,.manufacturing-section .section-header h3,.packaging-section .section-header h3{color:#1e293b;align-items:center;gap:10px;margin:0;font-size:15px;font-weight:600;display:flex}.bom-section .section-header .section-desc,.manufacturing-section .section-header .section-desc,.packaging-section .section-header .section-desc{color:#64748b;margin:6px 0 0 28px;font-size:13px}.bom-embed-container,.manufacturing-embed-container,.packaging-embed-container{padding:0}.bom-section .section-header h3 svg{color:#3b82f6}.manufacturing-section .section-header h3 svg{color:#f59e0b}.packaging-section .section-header h3 svg{color:#8b5cf6}@media (max-width:768px){.bom-tab-container{padding:16px}.bom-tab-content,.bom-details-sections{gap:16px}.bom-section .section-header,.manufacturing-section .section-header,.packaging-section .section-header{padding:12px 16px}.bom-section .section-header h3,.manufacturing-section .section-header h3,.packaging-section .section-header h3{font-size:14px}.bom-section .section-header .section-desc,.manufacturing-section .section-header .section-desc,.packaging-section .section-header .section-desc{margin-left:24px;font-size:12px}}.pos-column-left,.pos-column.pos-column-left,.pos-three-column-content .pos-column-left{background:#f1f5f9!important}.product-card,.pos-product-card,[class*=product-card],.product-grid>div{background:#fff!important;border:1px solid #e2e8f0!important;transition:all .2s!important;box-shadow:0 1px 3px #00000014!important}.product-card:hover,.pos-product-card:hover,[class*=product-card]:hover,.product-grid>div:hover{border-color:#e5e7eb!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000001f!important}.pos-column-center,.pos-column.pos-column-center,.pos-three-column-content .pos-column-center{background:#fff!important;border:none!important;border-radius:16px 16px 0 0!important;margin:0 8px!important;box-shadow:-4px 0 15px #00000014,4px 0 15px #00000014!important}.pos-column-center .cart-content,.pos-column-center .cart-items,.pos-column-center [class*=cart]{background:#fff!important}.pos-column-right,.pos-column.pos-column-right,.pos-three-column-content .pos-column-right{background:#f8fafc!important;border:1px solid #e2e8f0!important}.unified-search-input-container,.search-input-wrapper,.barcode-scanner-section{position:relative!important}.unified-search-input-container input,.search-input-wrapper input,.barcode-scanner-section input,.scanner-search-input,input[placeholder*=掃描],input[placeholder*=搜尋],input[placeholder*=條碼]{color:#78350f!important;background:#fffbeb!important;border:2px solid #f59e0b!important;border-radius:12px!important;padding:16px 20px 16px 48px!important;font-size:18px!important;font-weight:500!important;transition:all .2s!important;box-shadow:0 0 0 4px #f59e0b26!important}.unified-search-input-container input:focus,.search-input-wrapper input:focus,.barcode-scanner-section input:focus,.scanner-search-input:focus,input[placeholder*=掃描]:focus,input[placeholder*=搜尋]:focus,input[placeholder*=條碼]:focus{background:#fff!important;border-color:#d97706!important;outline:none!important;box-shadow:0 0 0 6px #f59e0b40!important}.unified-search-input-container input::-moz-placeholder,.search-input-wrapper input::-moz-placeholder,.barcode-scanner-section input::-moz-placeholder,.scanner-search-input::-moz-placeholder{color:#b45309!important;opacity:.8!important;font-weight:400!important}.unified-search-input-container input::placeholder,.search-input-wrapper input::placeholder,.barcode-scanner-section input::placeholder,.scanner-search-input::placeholder{color:#b45309!important;opacity:.8!important;font-weight:400!important}.unified-search-input-container .search-icon,.search-input-wrapper .search-icon,.barcode-scanner-section svg,[class*=search] svg{color:#d97706!important}.barcode-scanner-section{background:linear-gradient(135deg,#fffbeb,#fef3c7)!important;border:2px solid #f59e0b!important;border-radius:16px!important;box-shadow:0 4px 12px #f59e0b26!important}#main-pos-stats.compact-stats-bar,.compact-stats-bar#main-pos-stats,.compact-stats-bar[style*=purple],.compact-stats-bar[style*=violet]{display:none!important}.pos-three-column-layout,.page-content.pos-layout,.redesigned-pos-layout{background:#f1f5f9!important}@media (min-width:768px) and (max-width:1023px){.pos-two-column-content .pos-column-left{background:#f1f5f9!important}.pos-two-column-content .pos-column-center{background:#fff!important;border-left:none!important;box-shadow:-2px 0 10px #00000014!important}.pos-two-column-content .pos-column-right{background:#f8fafc!important;border-top:2px solid #e2e8f0!important}}@media (max-width:767px){.pos-single-column-content .pos-column-left{background:#f1f5f9!important}.pos-single-column-content .pos-column-center{background:#fff!important}.pos-single-column-content .pos-column-right{background:#f8fafc!important}.unified-search-input-container input,.search-input-wrapper input{padding:14px 16px 14px 44px!important;font-size:16px!important}}.pos-column-center .cart-header,.pos-column-center [class*=header]:not(.uio-header):not(.usp-header){background:#f9fafb!important;border-bottom:1px solid #0000000f!important;padding:12px 16px!important}.cart-item,.pos-cart-item,[class*=cart-item]{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:8px!important;margin-bottom:8px!important;transition:all .15s!important}.cart-item:hover,.pos-cart-item:hover,[class*=cart-item]:hover{border-color:#e5e7eb!important;box-shadow:0 2px 8px #00000014!important}.cart-total,.cart-summary{background:#fff!important;border:none!important;border-top:1px solid #0000000f!important;border-radius:12px!important;padding:16px!important;box-shadow:0 2px 8px #00000014!important}.checkout-btn,.pos-btn-primary,[class*=checkout][class*=btn],button[class*=結帳]{color:#fff!important;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border-radius:10px!important;padding:14px 24px!important;font-weight:600!important;transition:all .2s!important;box-shadow:0 4px 12px #3b82f64d!important}.checkout-btn:hover,.pos-btn-primary:hover,[class*=checkout][class*=btn]:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px #3b82f666!important}.pos-column,.product-card,.cart-item,.unified-search-input-container input{will-change:transform,box-shadow;transform:translateZ(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.pos-layout~.top-navbar-v3 .navbar-center,.pos-three-column-layout~.top-navbar-v3 .navbar-center,.redesigned-pos-layout~.top-navbar-v3 .navbar-center,body:has(.pos-layout) .top-navbar-v3 .navbar-center,body:has(.pos-three-column-layout) .top-navbar-v3 .navbar-center,body:has(.redesigned-pos-layout) .top-navbar-v3 .navbar-center,body:has(.page-content.pos-layout) .top-navbar-v3 .navbar-center,body.pos-page .top-navbar-v3 .navbar-center,body[data-page=pos] .top-navbar-v3 .navbar-center,body:has(.pos-layout) .top-navbar-v3 .search-form,body:has(.pos-three-column-layout) .top-navbar-v3 .search-form,body:has(.redesigned-pos-layout) .top-navbar-v3 .search-form{display:none!important}body:has(.pos-layout) .top-navbar-v3 .navbar-right,body:has(.pos-three-column-layout) .top-navbar-v3 .navbar-right,body:has(.redesigned-pos-layout) .top-navbar-v3 .navbar-right{margin-left:auto!important}.unified-store-performance,.unified-store-performance *,.unified-inventory-overview,.unified-inventory-overview *,.boss-kpi-card,.boss-kpi-card *,.inventory-alert-card,.inventory-alert-card *,[class*=summary-card],[class*=summary-item],[class*=summary-content],[class*=usp-summary],[class*=uio-summary]{border:none!important}.unified-store-performance .summary-item,.unified-inventory-overview .summary-card,.boss-kpi-card .stat-item,.inventory-alert-card .summary-item{background:#fff!important;border:none!important;border-radius:12px!important;box-shadow:0 2px 8px #00000014!important}.unified-store-performance [class*=summary],.unified-inventory-overview [class*=summary],.boss-dashboard-section [class*=summary]{background:0 0!important;border:none!important;padding:0!important}.usp-summary .summary-item,.uio-summary-cards .summary-card{background:#fff!important;border:none!important;border-radius:12px!important;padding:12px!important;box-shadow:0 2px 8px #00000014!important}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.top-full{top:100%}.left-1\/2{left:50%}.left-full{left:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-500,.z-\[500\]{z-index:500}.z-\[9999\]{z-index:9999}.z-\[var\(--ds-z-modal\,500\)\]{z-index:var(--ds-z-modal,500)}.z-\[var\(--ds-z-toast\,800\)\]{z-index:var(--ds-z-toast,800)}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-first{order:-9999}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.container{width:100%}.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.aspect-square{aspect-ratio:1}.h-5\/6{height:83.3333%}.h-\[400px\]{height:400px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[500px\]{max-height:500px}.max-h-\[calc\(90vh-100px\)\]{max-height:calc(90vh - 100px)}.max-h-\[calc\(100vh-200px\)\]{max-height:calc(100vh - 200px)}.max-h-\[calc\(100vh-400px\)\]{max-height:calc(100vh - 400px)}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-\[48px\]{min-height:48px}.min-h-\[56px\]{min-height:56px}.min-h-\[60px\]{min-height:60px}.min-h-\[64px\]{min-height:64px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-1\/4{width:25%}.w-full{width:100%}.w-px{width:1px}.max-w-\[85vw\]{max-width:85vw}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-\[180px\]{min-width:180px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-0{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[loading_1\.5s_infinite\]{animation:1.5s infinite loading}.animate-\[logoFadeIn_0\.6s_ease-out\]{animation:.6s ease-out logoFadeIn}.animate-\[textSlideUp_0\.8s_ease-out_0\.2s_both\]{animation:.8s ease-out .2s both textSlideUp}.animate-\[textSlideUp_0\.8s_ease-out_0\.4s_both\]{animation:.8s ease-out .4s both textSlideUp}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[16px\]{border-radius:16px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-r-2{border-right-style:var(--tw-border-style);border-right-width:2px}.border-r-4{border-right-style:var(--tw-border-style);border-right-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-3{border-bottom-style:var(--tw-border-style);border-bottom-width:3px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.border-\[var\(--ds-border-default\,\#E5E7EB\)\]{border-color:var(--ds-border-default,#e5e7eb)}.border-\[var\(--ds-primary\,\#2563EB\)\]{border-color:var(--ds-primary,#2563eb)}.border-\[var\(--ds-text-muted\,\#4B5563\)\]{border-color:var(--ds-text-muted,#4b5563)}.border-transparent{border-color:#0000}.border-t-\[\#F5B041\]{border-top-color:#f5b041}.border-t-transparent{border-top-color:#0000}.border-l-\[\#00D084\]{border-left-color:#00d084}.border-l-\[\#5D5FEF\]{border-left-color:#5d5fef}.border-l-\[\#FF6B9D\]{border-left-color:#ff6b9d}.border-l-\[\#FFC107\]{border-left-color:#ffc107}.bg-\[\#3B82F6\]{background-color:#3b82f6}.bg-\[\#059669\]{background-color:#059669}.bg-\[\#DC2626\]{background-color:#dc2626}.bg-\[\#F5B041\]{background-color:#f5b041}.bg-\[\#FCD34D\]{background-color:#fcd34d}.bg-\[\#f8fafc\]{background-color:#f8fafc}.bg-\[var\(--color-bg-primary\)\]{background-color:var(--color-bg-primary)}.bg-\[var\(--color-bg-tertiary\)\]{background-color:var(--color-bg-tertiary)}.bg-\[var\(--color-primary-100\)\]{background-color:var(--color-primary-100)}.bg-\[var\(--ds-bg-hover\,\#E5E7EB\)\]{background-color:var(--ds-bg-hover,#e5e7eb)}.bg-\[var\(--ds-bg-muted\,\#F3F4F6\)\]{background-color:var(--ds-bg-muted,#f3f4f6)}.bg-\[var\(--ds-bg-overlay\,rgba\(0\,0\,0\,0\.5\)\)\]{background-color:var(--ds-bg-overlay,#00000080)}.bg-\[var\(--ds-bg-surface\,\#FFFFFF\)\]{background-color:var(--ds-bg-surface,#fff)}.bg-\[var\(--ds-danger\,\#DC2626\)\]{background-color:var(--ds-danger,#dc2626)}.bg-\[var\(--ds-info\,\#0284C7\)\]{background-color:var(--ds-info,#0284c7)}.bg-\[var\(--ds-primary\,\#2563EB\)\]{background-color:var(--ds-primary,#2563eb)}.bg-\[var\(--ds-success\,\#16A34A\)\]{background-color:var(--ds-success,#16a34a)}.bg-\[var\(--ds-warning\,\#F59E0B\)\]{background-color:var(--ds-warning,#f59e0b)}.bg-\[var\(--phoenix-cta\)\]{background-color:var(--phoenix-cta)}.bg-\[var\(--phoenix-error\)\]{background-color:var(--phoenix-error)}.bg-\[var\(--phoenix-primary\)\]{background-color:var(--phoenix-primary)}.bg-\[var\(--phoenix-success\)\]{background-color:var(--phoenix-success)}.bg-\[var\(--phoenix-surface-card\)\]{background-color:var(--phoenix-surface-card)}.bg-\[var\(--phoenix-surface-secondary\)\]{background-color:var(--phoenix-surface-secondary)}.bg-transparent{background-color:#0000}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#5D5FEF\]{--tw-gradient-from:#5d5fef;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[var\(--brand-primary\)\]{--tw-gradient-from:var(--brand-primary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#00B5DC\]{--tw-gradient-to:#00b5dc;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[var\(--brand-secondary\)\]{--tw-gradient-to:var(--brand-secondary);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-\[length\:200\%_100\%\]{background-size:200% 100%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#6B7280\]{color:#6b7280}.text-\[\#137fec\]{color:#137fec}.text-\[\#111827\]{color:#111827}.text-\[\#DC2626\]{color:#dc2626}.text-\[\#F5B041\]{color:#f5b041}.text-\[var\(--brand-accent\)\]{color:var(--brand-accent)}.text-\[var\(--brand-muted\)\]{color:var(--brand-muted)}.text-\[var\(--color-gray-300\)\]{color:var(--color-gray-300)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--ds-danger\,\#DC2626\)\]{color:var(--ds-danger,#dc2626)}.text-\[var\(--ds-text-muted\,\#4B5563\)\]{color:var(--ds-text-muted,#4b5563)}.text-\[var\(--ds-text-placeholder\,\#6B7280\)\]{color:var(--ds-text-placeholder,#6b7280)}.text-\[var\(--ds-text-primary\,\#111827\)\]{color:var(--ds-text-primary,#111827)}.text-\[var\(--ds-text-tertiary\,\#374151\)\]{color:var(--ds-text-tertiary,#374151)}.text-\[var\(--phoenix-text-primary\)\]{color:var(--phoenix-text-primary)}.text-\[var\(--phoenix-text-secondary\)\]{color:var(--phoenix-text-secondary)}.text-transparent{color:#0000}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-\[var\(--ds-card-shadow\,_0_1px_3px_rgba\(0\,0\,0\,0\.1\)\,_0_1px_2px_rgba\(0\,0\,0\,0\.06\)\)\]{--tw-shadow:var(--ds-card-shadow,0 1px 3px #0000001a,0 1px 2px #0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\[var\(--color-primary-500\)\]{--tw-ring-color:var(--color-primary-500)}.ring-\[var\(--phoenix-primary\,var\(--color-primary-500\)\)\]{--tw-ring-color:var(--phoenix-primary,var(--color-primary-500))}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-600{--tw-duration:.6s;transition-duration:.6s}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:transform:hover{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.hover\:bg-\[\#2563EB\]:hover{background-color:#2563eb}.hover\:bg-\[\#047857\]:hover{background-color:#047857}.hover\:bg-\[\#B91C1C\]:hover{background-color:#b91c1c}.hover\:bg-\[\#F59E0B\]:hover{background-color:#f59e0b}.hover\:bg-\[\#e69e31\]:hover{background-color:#e69e31}.hover\:bg-\[var\(--color-bg-secondary\)\]:hover{background-color:var(--color-bg-secondary)}.hover\:bg-\[var\(--ds-bg-muted\,\#F3F4F6\)\]:hover{background-color:var(--ds-bg-muted,#f3f4f6)}.hover\:bg-\[var\(--ds-primary-hover\,\#1D4ED8\)\]:hover{background-color:var(--ds-primary-hover,#1d4ed8)}.hover\:text-\[var\(--ds-text-tertiary\,\#374151\)\]:hover{color:var(--ds-text-tertiary,#374151)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:opacity-100:hover{opacity:1}.hover\:transition-transform:hover{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.hover\:duration-300:hover{--tw-duration:.3s;transition-duration:.3s}}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--brand-accent\)\]:focus{--tw-ring-color:var(--brand-accent)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:ring-offset-4:focus{--tw-ring-offset-width:4px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:scale-\[0\.98\]:active{scale:.98}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.main-content-with-sidebar{margin-left:var(--sidebar-width-expanded,240px);z-index:var(--ds-z-content,1);isolation:isolate;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1);position:relative}body.sidebar-collapsed .main-content-with-sidebar{margin-left:var(--sidebar-width-collapsed,60px)}[data-sidebar-collapsed=true] .main-content-with-sidebar,[data-sidebar-collapsed=true] .main-content{margin-left:var(--sidebar-width-collapsed,60px)!important}[data-sidebar-collapsed=false] .main-content-with-sidebar,[data-sidebar-collapsed=false] .main-content{margin-left:var(--sidebar-width-expanded,240px)!important}@media (min-width:769px) and (max-width:1024px){.main-content-with-sidebar{margin-left:var(--sidebar-width-expanded,240px)}body.sidebar-collapsed .main-content-with-sidebar{margin-left:var(--sidebar-width-collapsed,60px)}}@media (max-width:768px){.main-content-with-sidebar{padding-bottom:var(--ds-space-20,80px);margin-left:0}}@media print{.barcode-container,.barcode-container *,.receipt-barcode,.receipt-barcode-print-friendly,img[alt*=Barcode],img[alt*=barcode],[class*=barcode],[class*=Barcode]{visibility:visible!important;opacity:1!important;page-break-inside:avoid!important;display:block!important;position:relative!important}.barcode-container img,.receipt-barcode-print-friendly,img[alt*=Barcode],img[alt*=barcode]{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important;background:#fff!important;border:none!important;width:auto!important;max-width:100%!important;height:auto!important;margin:10px auto!important;padding:0!important}div:has(>.receipt-barcode-print-friendly),div:has(>img[alt*=Barcode]){visibility:visible!important;opacity:1!important;display:block!important;overflow:visible!important}*{overflow:visible!important}canvas{display:none!important}.receipt-preview-content,.receipt-body,[class*=receipt]{visibility:visible!important;display:block!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.animate-fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-box-scanning{animation:scanningPulse 1.5s ease-in-out infinite}@keyframes scanningPulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 8px #3b82f600}}.search-box-success{animation:successFlash .6s ease-in-out}@keyframes successFlash{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 8px #22c55e00}}.search-box-error{animation:errorShake .5s ease-in-out}@keyframes errorShake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}body.barcode-scan-success{background-color:#22c55e0d;transition:background-color .15s ease}.product-added-flash{animation:productFlash .3s ease-in-out;position:relative;z-index:10}@keyframes productFlash{0%{background-color:transparent;transform:scale(1)}50%{background-color:#22c55e26;transform:scale(1.02);box-shadow:0 0 10px #22c55e4d}to{background-color:transparent;transform:scale(1)}}.scanning-indicator{position:relative}.scanning-indicator:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent);animation:scanLine 2s linear infinite;pointer-events:none}@keyframes scanLine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scanner-status{display:flex;align-items:center;padding:8px 12px;border-radius:6px;font-size:14px;font-weight:500}.scanner-status.connected{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0}.scanner-status.disconnected{background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca}.scanner-status.error{background-color:#fef3c7;color:#92400e;border:1px solid #fde68a}.scan-result-notification{animation:slideInRight .3s ease-out}.cart-item-new{animation:slideInDown .2s ease-out}.animate-pulse-once{animation:pulseOnce .4s ease-in-out}@keyframes pulseOnce{0%{transform:scale(1)}50%{transform:scale(1.1);background-color:#3b82f633}to{transform:scale(1)}}@keyframes slideInDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.quantity-increase{animation:bounceIn .3s ease-out}@keyframes bounceIn{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.barcode-input.scanning{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.barcode-input.success{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.barcode-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.scanner-indicator{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.scanner-indicator.green{background-color:#10b981;animation:pulse 2s infinite}.scanner-indicator.red{background-color:#ef4444}.scanner-indicator.yellow{background-color:#f59e0b;animation:blink 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.barcode-format-hint{font-size:12px;color:#6b7280;font-style:italic;margin-top:4px}.shortcut-hint{position:fixed;bottom:20px;right:20px;background:#000c;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;z-index:1000;transition:opacity .3s ease}.shortcut-hint.hidden{opacity:0;pointer-events:none}@media (max-width: 768px){.product-added-flash{animation-duration:.4s}.scanner-status{padding:6px 10px;font-size:12px}.shortcut-hint{display:none}}@media print{.receipt-barcode-print-friendly{display:block!important;visibility:visible!important;max-width:100%!important;height:auto!important;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.receipt-barcode-print-friendly+div,.receipt-barcode-print-friendly:parent{display:block!important;visibility:visible!important}canvas{display:none!important}.receipt-barcode-print-friendly{margin:10px 0;padding:5px 0}}.login-container{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:20px 0;background:linear-gradient(135deg,#3b82f6,#357abd);position:relative;overflow:auto}.login-container.animating .brand-section{opacity:0;transform:translateY(-20px)}.login-container.animating .login-card{opacity:0;transform:translateY(20px)}.login-decoration{position:absolute;inset:0;pointer-events:none;overflow:auto}.decoration-circle{position:absolute;border-radius:50%;background:#ffffff1a;animation:float 20s infinite ease-in-out}.circle-1{width:300px;height:300px;top:-150px;left:-150px;animation-delay:0s}.circle-2{width:200px;height:200px;bottom:-100px;right:-100px;animation-delay:5s}.circle-3{width:150px;height:150px;top:50%;left:10%;animation-delay:10s}@keyframes float{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-20px) translate(10px)}50%{transform:translateY(10px) translate(-10px)}75%{transform:translateY(-10px) translate(20px)}}.language-switch{position:absolute;top:20px;right:20px;z-index:10}.language-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-full);color:#fff;font-size:14px;cursor:pointer;transition:all var(--transition-base);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.language-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.login-content{width:100%;max-width:520px;padding:20px;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.brand-section{text-align:center;margin-bottom:20px;opacity:1;transform:translateY(0);transition:all .6s ease-out .3s}.logo-container{width:80px;height:80px;margin:0 auto 16px;position:relative}.store-logo{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000001a;background:#fff;padding:16px}.default-logo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000001a}.default-logo.hidden{display:none}.logo-svg{width:80%;height:80%;color:var(--primary-color)}.store-name{font-size:28px;font-weight:700;color:#fff;margin:0 0 4px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.store-tagline{font-size:14px;color:#ffffffe6;margin:0}.login-card{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:0 20px 60px #00000026;border:1px solid rgba(74,144,226,.1);opacity:1;transform:translateY(0);transition:all .6s ease-out .6s}.card-header{text-align:center;margin-bottom:24px}.card-header h2{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.card-header p{font-size:14px;color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:16px}.form-group{position:relative}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--text-muted);pointer-events:none;z-index:1;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.form-input{width:100%;height:44px;padding:0 16px 0 44px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:16px;transition:all var(--transition-fast);background:var(--bg-primary)}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-alpha-20)}.form-input:disabled{background:var(--bg-secondary);cursor:not-allowed}.password-toggle{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;transition:color var(--transition-fast)}.input-wrapper:has(.password-toggle) .form-input{padding-right:44px}.password-toggle:hover{color:var(--primary-color)}.form-options{display:flex;justify-content:space-between;align-items:center}.remember-me{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox{position:absolute;opacity:0}.checkbox-custom{width:20px;height:20px;border:2px solid var(--border-color);border-radius:4px;margin-right:8px;position:relative;transition:all var(--transition-fast)}.checkbox:checked+.checkbox-custom{background:var(--primary-color);border-color:var(--primary-color)}.checkbox:checked+.checkbox-custom:after{content:"";position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label{font-size:14px;color:var(--text-secondary)}.error-message{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-md);animation:shake .5s ease-out}.error-icon{width:20px;height:20px;color:var(--danger-color);flex-shrink:0}.error-text{font-size:14px;color:var(--danger-dark);margin:0}.error-hint{font-size:12px;color:var(--danger-color);margin:4px 0 0}.login-button{width:100%;height:44px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:var(--font-semibold);cursor:pointer;position:relative;overflow:hidden;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #4a90e24d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#ffffff4d;border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.login-button:active:before{width:300px;height:300px}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.quick-login{margin-top:24px}.divider{text-align:center;position:relative;margin:16px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color)}.divider span{background:#fff;padding:0 16px;position:relative;font-size:12px;color:var(--text-muted)}.quick-login-buttons{display:flex;flex-direction:column;gap:8px}.quick-login-btn{width:100%;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left}.quick-login-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);transform:translate(4px)}.quick-login-btn:disabled{opacity:.6;cursor:not-allowed}.user-type{display:flex;align-items:center;gap:12px}.user-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:14px}.user-icon.admin{background:linear-gradient(135deg,#fa8c16,#f76b1c)}.user-icon.cashier{background:linear-gradient(135deg,#52c41a,#389e0d)}.user-info{flex:1}.user-role{font-size:14px;font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:2px}.user-creds{font-size:12px;color:var(--text-secondary)}.system-status{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12px;color:#fffc}.status-dot{width:8px;height:8px;background:#52c41a;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #52c41ab3}70%{box-shadow:0 0 0 10px #52c41a00}to{box-shadow:0 0 #52c41a00}}@media (max-width: 640px){.login-content{padding:16px}.logo-container{width:64px;height:64px}.store-name{font-size:24px}.store-tagline{font-size:13px}.login-card{padding:20px}.card-header h2{font-size:18px}.form-input{font-size:16px}}@media (max-height: 768px){.logo-container{width:64px;height:64px}.store-name{font-size:24px}.brand-section{margin-bottom:16px}.login-card{padding:20px}.card-header{margin-bottom:16px}.quick-login{margin-top:20px}}@media (max-height: 600px){.brand-section{margin-bottom:12px}.system-status{display:none}.login-card{padding:16px}.card-header{margin-bottom:12px}.login-form{gap:12px}}@media (max-width: 1024px){.decoration-circle{opacity:.05}}@media (prefers-color-scheme: dark){.login-container{background:linear-gradient(135deg,#2c5282,#1a365d)}}.points-summary{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;padding:20px;margin-top:20px;margin-bottom:20px;box-shadow:0 2px 8px #3b82f61a}.points-title{font-size:16px;font-weight:600;color:#0369a1;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #7dd3fc}.points-details{display:flex;flex-direction:column;gap:12px}.points-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#000}.points-row span:first-child{color:#000}.points-value{font-family:Courier New,monospace;font-weight:600;font-size:15px;color:#000}.points-row.used .points-value.negative{color:#dc2626;font-weight:700}.points-row.earned .points-value.positive{color:#16a34a;font-weight:700}.points-row.total{padding-top:12px;margin-top:4px;border-top:2px solid #bae6fd;font-weight:600}.points-row.total span:first-child{color:#000;font-weight:600}.points-value.final{font-size:18px;color:#000;font-weight:700;background:#fff;padding:4px 12px;border-radius:6px;border:1px solid #7dd3fc}.points-summary .divider{height:1px;background:#cbd5e1;margin:8px 0}@media (max-width: 640px){.points-summary{padding:16px;margin-top:16px;margin-bottom:16px}.points-title{font-size:15px}.points-row{font-size:13px}.points-value{font-size:14px}.points-value.final{font-size:16px;padding:2px 8px}}@media (prefers-color-scheme: dark){.points-summary{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#3730a3}.points-title{color:#dbeafe;border-bottom-color:#60a5fa}.points-row{color:#e0e7ff}.points-row span:first-child{color:#a5b4fc}.points-value{color:#dbeafe}.points-value.final{background:#1e293b;border-color:#60a5fa;color:#000}.points-summary .divider{background:#475569}}.points-step-container{width:100%;max-width:900px;margin:0 auto}.main-content{display:flex;gap:24px;padding:24px}.left-panel{flex:1;display:flex;flex-direction:column;gap:20px}.right-panel{width:320px}.member-points-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:20px;color:#fff;position:relative;overflow:hidden;box-shadow:0 4px 12px #667eea4d}.card-decoration{position:absolute;top:-50%;right:-10%;width:200px;height:200px;background:#ffffff1a;border-radius:50%}.member-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;position:relative;z-index:1}.member-name{font-size:18px;font-weight:600;margin:0 0 4px}.member-tier{font-size:12px;background:#fff3;padding:2px 8px;border-radius:12px;display:inline-block}.points-display{position:relative;z-index:1}.points-label{font-size:12px;opacity:.9;margin-bottom:4px}.points-value{font-size:32px;font-weight:700}.points-unit{font-size:16px;margin-left:4px;opacity:.9}.toggle-container{display:flex;align-items:center;gap:12px}.toggle-label{font-size:14px}.toggle-switch{width:48px;height:26px;background:#ffffff4d;border-radius:13px;position:relative;cursor:pointer;transition:background .3s;border:none;outline:none}.toggle-switch:hover{background:#fff6}.toggle-switch.active{background:#ffffff80}.toggle-slider{width:22px;height:22px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.toggle-switch.active .toggle-slider{transform:translate(22px)}.input-section{background:#f8f9fa;border-radius:12px;padding:20px;transition:opacity .3s}.input-section.disabled{opacity:.5;pointer-events:none}.input-label{font-size:14px;color:#495057;margin-bottom:12px;display:block;font-weight:500}.points-input-group{display:flex;align-items:center;gap:0;margin-bottom:16px}.stepper-btn{width:48px;height:48px;border:2px solid #dee2e6;background:#fff;font-size:24px;font-weight:600;cursor:pointer;transition:all .2s;color:#495057;display:flex;align-items:center;justify-content:center;outline:none}.stepper-btn.decrease{border-radius:8px 0 0 8px}.stepper-btn.increase{border-radius:0 8px 8px 0}.stepper-btn:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea}.stepper-btn:active:not(:disabled){transform:scale(.95)}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.points-input{flex:1;height:48px;border:2px solid #dee2e6;border-left:none;border-right:none;text-align:center;font-size:20px;font-weight:600;color:#333;min-width:120px;outline:none;background:#fff}.points-input:focus{border-color:#667eea}.quick-buttons{display:flex;gap:8px}.quick-btn{flex:1;padding:10px;border:1px solid #dee2e6;background:#fff;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;color:#495057;outline:none}.quick-btn:hover{background:#f8f9fa;border-color:#667eea;color:#667eea}.quick-btn:active{transform:scale(.98)}.quick-btn.max{background:#667eea;color:#fff;border-color:#667eea}.quick-btn.max:hover{background:#5a67d8;border-color:#5a67d8}.calculation-panel{display:flex;flex-direction:column;gap:20px}.calculation-card{background:#f8f9fa;border-radius:12px;padding:20px;flex:1}.calc-title{font-size:14px;color:#868e96;margin:0 0 16px;font-weight:500}.calc-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e9ecef}.calc-row.last{border-bottom:none;border-top:2px solid #dee2e6;margin-top:8px;padding-top:16px}.calc-value{font-size:16px;font-weight:600;color:#333}.calc-value.total{font-size:24px;color:#333}.remaining-points{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;padding:12px;text-align:center}.remaining-label{font-size:12px;color:#06c;margin-bottom:4px}.remaining-value{font-size:20px;font-weight:700;color:#06c}.actions-bar{padding:16px 24px;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.action-left{display:flex;gap:12px}.btn{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;border:none;cursor:pointer;transition:all .2s;outline:none}.btn-secondary{background:#fff;color:#495057;border:1px solid #dee2e6}.btn-secondary:hover{background:#f8f9fa;border-color:#adb5bd}.btn-text{background:transparent;color:#868e96;padding:12px 16px}.btn-text:hover{color:#495057}.btn-primary{background:#667eea;color:#fff;padding:12px 32px}.btn-primary:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 6px #667eea4d}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media (max-width: 1023px){.main-content{flex-direction:column}.right-panel{width:100%}}@media (max-width: 767px){.main-content{padding:16px}.quick-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-btn.max{grid-column:1 / -1}.stepper-btn{width:40px;height:40px;font-size:20px}.points-input{font-size:18px;height:40px}.actions-bar{flex-direction:column;gap:12px;padding:16px}.action-left{width:100%;justify-content:space-between}.btn-primary{width:100%}.points-value{font-size:28px}.calc-value.total{font-size:20px}}@keyframes countUp{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.changing-number{animation:countUp .3s ease-out}.btn-primary:disabled:after{content:"";display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.quick-btn.numpad{background:#6366f1;color:#fff;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px}.quick-btn.numpad:hover{background:#5b21b6;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.numpad-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.numpad-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:320px;width:90%;overflow:hidden;animation:slideUp .3s ease-out}.numpad-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #E5E7EB;background:#f9fafb}.numpad-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.numpad-close{background:none;border:none;font-size:18px;cursor:pointer;color:#6b7280;width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.numpad-close:hover{background:#e5e7eb;color:#374151}.numpad-display{padding:24px;text-align:center;font-size:32px;font-weight:700;font-family:SF Mono,Consolas,monospace;color:#111827;background:#fff;border-bottom:1px solid #E5E7EB;min-height:60px;display:flex;align-items:center;justify-content:center}.numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#e5e7eb;padding:1px}.numpad-key{height:60px;background:#fff;border:none;font-size:18px;font-weight:600;cursor:pointer;transition:all .1s ease;color:#374151;display:flex;align-items:center;justify-content:center}.numpad-key:hover{background:#f3f4f6}.numpad-key:active{background:#e5e7eb;transform:scale(.95)}.numpad-key.action{background:#6366f1;color:#fff;font-weight:600}.numpad-key.action:hover{background:#5b21b6}.numpad-key.confirm{background:#10b981;color:#fff}.numpad-key.confirm:hover{background:#059669}@media (max-width: 768px){.numpad-modal{width:95%;max-width:none}.numpad-header{padding:16px 20px}.numpad-display{padding:20px;font-size:28px}.numpad-key{height:50px;font-size:16px}}@media (max-width: 480px){.numpad-display{font-size:24px}.numpad-key{height:45px;font-size:14px}}@media (prefers-contrast: high){.numpad-key{border:1px solid #374151}.numpad-key.action{border-color:#1f2937}}@media (prefers-reduced-motion: reduce){.numpad-overlay,.numpad-modal{animation:none}.numpad-key{transition:none}}.points-step-container-compact{width:100%;max-height:500px;overflow:hidden}.main-content-compact{display:flex;gap:16px;padding:16px;height:100%}.left-panel-compact{flex:1;display:flex;flex-direction:column;gap:12px;min-width:350px}.right-panel-integrated{display:flex;flex-direction:column;min-width:320px;background:#f8f9fa;border-radius:12px;overflow:hidden}.member-points-card-compact{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:16px;color:#fff;display:flex;align-items:center;gap:16px;height:100px;box-shadow:0 2px 8px #667eea4d}.member-avatar{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-icon{font-size:24px}.member-info-compact{flex:1}.member-header-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.member-name-compact{font-size:16px;font-weight:600}.member-tier-compact{font-size:11px;background:#fff3;padding:2px 6px;border-radius:10px}.points-info-row{display:flex;align-items:baseline;gap:4px}.points-label-compact{font-size:12px;opacity:.9}.points-value-compact{font-size:24px;font-weight:700}.points-unit-compact{font-size:14px;opacity:.9}.toggle-container-compact{flex-shrink:0}.toggle-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px}.toggle-label-compact{font-size:11px;opacity:.9}.toggle-switch-compact{width:44px;height:24px;background:#ffffff4d;border-radius:12px;position:relative;cursor:pointer;transition:background .3s;border:none;outline:none}.toggle-switch-compact.active{background:#ffffff80}.toggle-slider-compact{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s;box-shadow:0 1px 3px #0003}.toggle-switch-compact.active .toggle-slider-compact{transform:translate(20px)}.points-input-horizontal{background:#f8f9fa;border-radius:12px;padding:12px;transition:opacity .3s}.points-input-horizontal.disabled{opacity:.5;pointer-events:none}.input-row{display:flex;align-items:center;gap:12px}.input-label-inline{font-size:14px;color:#495057;font-weight:500;white-space:nowrap}.points-input-group-compact{display:flex;align-items:center}.stepper-btn-compact{width:36px;height:36px;border:2px solid #dee2e6;background:#fff;font-size:20px;font-weight:600;cursor:pointer;transition:all .2s;color:#495057;display:flex;align-items:center;justify-content:center;outline:none}.stepper-btn-compact.decrease{border-radius:6px 0 0 6px}.stepper-btn-compact.increase{border-radius:0 6px 6px 0}.stepper-btn-compact:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea}.stepper-btn-compact:active:not(:disabled){transform:scale(.95)}.stepper-btn-compact:disabled{opacity:.4;cursor:not-allowed}.points-input-compact{width:80px;height:36px;border:2px solid #dee2e6;border-left:none;border-right:none;text-align:center;font-size:16px;font-weight:600;color:#333;outline:none}.points-input-compact:focus{border-color:#667eea}.quick-buttons-inline{display:flex;gap:6px;margin-left:auto}.quick-btn-small{padding:6px 12px;border:1px solid #dee2e6;background:#fff;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;color:#495057;white-space:nowrap;outline:none}.quick-btn-small:hover{background:#f8f9fa;border-color:#667eea;color:#667eea}.quick-btn-small.max{background:#667eea;color:#fff;border-color:#667eea}.quick-btn-small.max:hover{background:#5a67d8}.calculation-panel-integrated{display:flex;flex-direction:column;height:100%}.calc-content{flex:1;padding:20px}.calc-title-compact{font-size:13px;color:#868e96;margin:0 0 12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.calc-rows-compact{display:flex;flex-direction:column;gap:8px}.calc-row-compact{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.calc-row-compact.total{border-top:2px solid #dee2e6;margin-top:8px;padding-top:12px}.calc-label{font-size:14px;color:#495057}.calc-value{font-size:15px;font-weight:600;color:#333}.calc-value.discount{color:#dc3545}.calc-value.total{font-size:20px;font-weight:700}.remaining-points-compact{margin-top:16px;padding:10px;background:#e7f3ff;border-radius:8px;text-align:center;font-size:14px}.remaining-label{color:#06c}.remaining-value{font-weight:700;color:#06c}.actions-integrated{padding:16px;background:#fff;border-top:1px solid #e9ecef;display:flex;flex-direction:column;gap:12px}.btn-primary-full{width:100%;padding:14px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;outline:none}.btn-primary-full:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.btn-primary-full:active{transform:translateY(0)}.btn-primary-full:disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.secondary-actions{display:flex;justify-content:center;align-items:center;gap:8px}.btn-text-small{background:none;border:none;color:#868e96;font-size:13px;cursor:pointer;padding:4px 8px;transition:color .2s;outline:none}.btn-text-small:hover{color:#495057}.action-divider{color:#dee2e6;font-size:12px}@media (max-width: 767px){.main-content-compact{flex-direction:column;padding:12px}.left-panel-compact,.right-panel-integrated{min-width:unset;width:100%}.member-points-card-compact{height:80px;padding:12px}.member-avatar{width:40px;height:40px}.avatar-icon,.points-value-compact{font-size:20px}.input-row{flex-wrap:wrap}.quick-buttons-inline{width:100%;margin-top:8px;margin-left:0}.quick-btn-small{flex:1}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.btn-primary-full:disabled:after{content:" ⟳";display:inline-block;animation:spin 1s linear infinite}.step-content.points-step-ultra{padding-top:0!important;overflow:visible!important;min-height:0}.step-content.points-step-ultra h3{display:none}.points-ultra-compact{display:flex;gap:20px;background:#fff;border-radius:8px;padding:20px;max-height:none;position:relative;z-index:1;width:100%;box-sizing:border-box}.left-section{flex:1;display:flex;flex-direction:column;gap:16px;min-width:380px}.member-row{display:flex;align-items:center;gap:16px;padding:14px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff}.member-basic{display:flex;align-items:center;gap:6px;flex:1}.member-icon{font-size:18px;opacity:.9}.member-name{font-size:14px;font-weight:600}.member-badge{font-size:10px;background:#fff3;padding:2px 6px;border-radius:10px}.points-balance{display:flex;align-items:baseline;gap:3px}.balance-label{font-size:11px;opacity:.8}.balance-value{font-size:18px;font-weight:700}.balance-unit{font-size:11px;opacity:.8}.toggle-mini{position:relative;display:inline-block;width:36px;height:20px}.toggle-mini input{opacity:0;width:0;height:0}.toggle-slider-mini{position:absolute;cursor:pointer;inset:0;background:#ffffff4d;transition:.3s;border-radius:20px}.toggle-slider-mini:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:#fff;transition:.3s;border-radius:50%}.toggle-mini input:checked+.toggle-slider-mini{background:#ffffff80}.toggle-mini input:checked+.toggle-slider-mini:before{transform:translate(16px)}.input-row-ultra{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:#f8f9fa;border-radius:8px;min-width:0}.use-label{font-size:13px;color:#495057;font-weight:500;line-height:32px}.stepper-group{display:flex;align-items:center;flex-shrink:0}.stepper-mini{width:32px;height:32px;border:1px solid #dee2e6;background:#fff;font-size:18px;cursor:pointer;transition:all .2s;outline:none}.stepper-mini:first-child{border-radius:6px 0 0 6px}.stepper-mini:last-child{border-radius:0 6px 6px 0}.stepper-mini:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea}.stepper-mini:disabled{opacity:.4;cursor:not-allowed}.input-mini{width:70px;height:32px;border:1px solid #dee2e6;border-left:none;border-right:none;text-align:center;font-size:15px;font-weight:600;outline:none}.input-mini:disabled{background:#e9ecef;color:#868e96}.quick-group{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;max-width:280px;align-content:flex-start}.quick-mini{padding:6px 12px;border:1px solid #dee2e6;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s;outline:none}.quick-mini:hover{background:#f8f9fa;border-color:#667eea;color:#667eea}.quick-mini.max{background:#667eea;color:#fff;border-color:#667eea}.quick-mini:disabled{opacity:.4;cursor:not-allowed}.quick-mini.numpad{background:#6366f1;color:#fff;border-color:#6366f1;font-weight:500}.quick-mini.numpad:hover{background:#5b21b6;border-color:#5b21b6}.right-section{width:300px;flex-shrink:0;background:#f8f9fa;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:16px}.calc-rows{display:grid;gap:10px}.calc-item{display:flex;justify-content:space-between;padding:8px 0;font-size:14px}.calc-item.discount{color:#dc3545}.calc-item.total{border-top:2px solid #dee2e6;padding-top:10px;margin-top:6px;font-weight:700;font-size:16px}.calc-item.remain{font-size:13px;color:#06c;background:#e7f3ff;padding:10px 12px;border-radius:6px;margin-top:6px;font-weight:500}.calc-key{color:#6b7280}.calc-val{font-weight:500}.actions-ultra{display:flex;flex-direction:column;gap:12px;margin-top:auto;padding-top:8px}.btn-next{width:100%;padding:14px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;outline:none}.btn-next:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.btn-next:disabled{opacity:.6;cursor:not-allowed;transform:none}.sub-actions{display:flex;justify-content:center;gap:16px}.sub-actions button{background:none;border:none;color:#868e96;font-size:12px;cursor:pointer;padding:2px 4px;outline:none}.sub-actions button:hover{color:#495057}@media (max-width: 640px){.points-ultra-compact{flex-direction:column;max-height:none}.left-section{min-width:unset}.right-section{width:100%}.quick-group{flex-wrap:wrap}}.numpad-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn .2s ease-in-out}.numpad-modal{background:#fff;border-radius:12px;padding:20px;width:320px;max-width:90vw;box-shadow:0 10px 25px #0003;animation:slideUp .3s ease-out}.numpad-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.numpad-header h3{margin:0;font-size:18px;color:#333}.numpad-close{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.numpad-close:hover{color:#666}.numpad-display{margin-bottom:16px}.numpad-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:24px;font-weight:600;text-align:center;color:#333;background:#f8f9fa}.numpad-limit{text-align:center;font-size:12px;color:#666;margin-top:4px}.numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.numpad-btn{height:60px;border:1px solid #e0e0e0;background:#fff;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s;color:#333}.numpad-btn:hover{background:#f8f9fa;border-color:#6366f1;color:#6366f1}.numpad-btn:active{transform:scale(.95)}.numpad-btn.clear{background:#f1f3f4;color:#666}.numpad-btn.clear:hover{background:#e8eaed;color:#333}.numpad-btn.confirm{background:#6366f1;color:#fff;border-color:#6366f1}.numpad-btn.confirm:hover{background:#5b21b6;border-color:#5b21b6}.points-ultra-compact.enhanced{display:flex;gap:14px;background:#fff;border-radius:8px;padding:12px;max-height:none;position:relative;z-index:1;width:100%;max-width:100%;box-sizing:border-box;min-height:auto}.points-ultra-compact.enhanced .left-section{flex:1 1 auto;display:flex;flex-direction:column;gap:8px;min-width:400px;max-width:650px}.points-ultra-compact.enhanced .member-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;transition:all .3s ease;position:relative;min-height:60px}.points-ultra-compact.enhanced .member-row.active{box-shadow:0 0 0 3px #667eea4d,0 4px 12px #667eea66;transform:translateY(-2px)}.points-ultra-compact.enhanced .member-basic{display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:-moz-fit-content;min-width:fit-content}.points-ultra-compact.enhanced .member-icon{font-size:20px;opacity:.95;flex-shrink:0}.points-ultra-compact.enhanced .member-name{font-size:15px;font-weight:700;white-space:nowrap;overflow:visible;max-width:none;letter-spacing:.3px}.points-ultra-compact.enhanced .member-badge{font-size:11px;background:#ffffff40;padding:3px 8px;border-radius:12px;font-weight:600;flex-shrink:0}.points-ultra-compact.enhanced .points-balance{display:flex;align-items:baseline;gap:3px}.points-ultra-compact.enhanced .balance-label{font-size:11px;opacity:.8}.points-ultra-compact.enhanced .balance-value{font-size:18px;font-weight:700}.points-ultra-compact.enhanced .balance-unit{font-size:11px;opacity:.8}.points-ultra-compact.enhanced .toggle-container{display:flex;align-items:center;gap:8px}.points-ultra-compact.enhanced .toggle-label{font-size:13px;font-weight:600;white-space:nowrap;opacity:.95;transition:all .3s ease}.points-ultra-compact.enhanced .toggle-mini{position:relative;display:inline-block;width:36px;height:20px;cursor:pointer}.points-ultra-compact.enhanced .toggle-mini input{opacity:0;width:0;height:0}.points-ultra-compact.enhanced .toggle-slider-mini{position:absolute;cursor:pointer;inset:0;background:#ffffff4d;transition:.3s;border-radius:20px}.points-ultra-compact.enhanced .toggle-slider-mini:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background:#fff;transition:.3s;border-radius:50%}.points-ultra-compact.enhanced .toggle-mini input:checked+.toggle-slider-mini{background:#ffffff80}.points-ultra-compact.enhanced .toggle-mini input:checked+.toggle-slider-mini:before{transform:translate(16px)}.points-ultra-compact.enhanced .tooltip{position:absolute;top:-35px;right:0;background:#000c;color:#fff;padding:6px 10px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;animation:fadeInTooltip .2s ease-out}.points-ultra-compact.enhanced .tooltip:after{content:"";position:absolute;bottom:-4px;right:10px;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.8)}@keyframes fadeInTooltip{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.points-ultra-compact.enhanced .points-usage-guide{display:none;padding:6px 10px;background:linear-gradient(135deg,#fff8e1,#ffecb3);border-left:3px solid #ffa726;border-radius:6px;animation:fadeIn .3s ease-out}.points-ultra-compact.enhanced .points-usage-guide.show{display:block}.points-ultra-compact.enhanced .guide-title{font-size:12px;font-weight:700;color:#e65100;margin-bottom:2px}.points-ultra-compact.enhanced .enable-hint{font-size:13px;color:#d84315;background:#ffa72626;padding:8px 12px;border-radius:4px;margin:8px 0;font-weight:600;text-align:center;animation:pulseGlow 2s ease-in-out infinite}.points-ultra-compact.enhanced .guide-list{margin:0;padding-left:20px;list-style:none}.points-ultra-compact.enhanced .guide-list li{font-size:12px;color:#6d4c41;line-height:1.4;margin:2px 0;position:relative}.points-ultra-compact.enhanced .guide-list li:before{content:"";position:absolute;left:-18px;top:50%;transform:translateY(-50%);width:4px;height:4px;background:#ffa726;border-radius:50%}.points-ultra-compact.enhanced .points-conversion-hint{display:none;align-items:center;justify-content:center;gap:8px;padding:8px 14px;margin-top:6px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #60a5fa;border-radius:6px;font-size:12px;font-weight:600;color:#1e40af;animation:fadeIn .3s ease-out;box-shadow:0 2px 8px #60a5fa33}.points-ultra-compact.enhanced .points-conversion-hint.show{display:flex}.points-ultra-compact.enhanced .hint-icon{font-size:16px}.points-ultra-compact.enhanced .hint-text strong{color:#00838f;font-weight:700}.points-ultra-compact.enhanced .validation-error{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,#ffebee,#ffcdd2);border-left:3px solid #e53935;border-radius:6px;font-size:13px;color:#b71c1c;animation:shake .4s ease-out}.points-ultra-compact.enhanced .error-icon{font-size:16px}.points-ultra-compact.enhanced .error-text{font-weight:500}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.points-ultra-compact.enhanced .input-row-ultra{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#f8f9fa;border-radius:8px;min-width:0;flex-wrap:nowrap}.points-ultra-compact.enhanced .use-label{font-size:13px;color:#495057;font-weight:500;line-height:32px}.points-ultra-compact.enhanced .stepper-group{display:flex;align-items:center;flex-shrink:0}.points-ultra-compact.enhanced .stepper-mini{width:44px;height:44px;border:1px solid #dee2e6;background:#fff;font-size:22px;cursor:pointer;transition:all .2s;outline:none;flex-shrink:0}.points-ultra-compact.enhanced .stepper-mini:first-child{border-radius:6px 0 0 6px}.points-ultra-compact.enhanced .stepper-mini:last-child{border-radius:0 6px 6px 0}.points-ultra-compact.enhanced .stepper-mini:hover:not(:disabled){background:#667eea;color:#fff;border-color:#667eea;transform:scale(1.05)}.points-ultra-compact.enhanced .stepper-mini:active:not(:disabled){transform:scale(.95)}.points-ultra-compact.enhanced .stepper-mini:disabled{opacity:.4;cursor:not-allowed}.points-ultra-compact.enhanced .input-mini{width:100px;height:44px;border:1px solid #dee2e6;border-left:none;border-right:none;text-align:center;font-size:28px;font-weight:700;color:#2c3e50;outline:none;transition:all .2s;line-height:1}.points-ultra-compact.enhanced .input-mini:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.points-ultra-compact.enhanced .input-mini.error{border-color:#e53935;background:#ffebee}.points-ultra-compact.enhanced .input-mini:disabled{background:#e9ecef;color:#868e96}.points-ultra-compact.enhanced .quick-group{display:flex;gap:8px;margin-left:auto;flex-wrap:nowrap;justify-content:flex-end;align-items:center}.points-ultra-compact.enhanced .quick-mini{padding:10px 16px;border:2px solid #e0e7ff;background:#fff;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);outline:none;min-width:52px;min-height:40px;color:#4f46e5;flex-shrink:0}.points-ultra-compact.enhanced .quick-mini:hover:not(:disabled){background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#667eea;color:#667eea;transform:translateY(-3px);box-shadow:0 4px 12px #667eea40}.points-ultra-compact.enhanced .quick-mini:active:not(:disabled){transform:translateY(0)}.points-ultra-compact.enhanced .quick-mini.selected{background:#e8eaf6;border-color:#667eea;color:#667eea;font-weight:700}.points-ultra-compact.enhanced .quick-mini.max{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:#667eea;font-weight:600;box-shadow:0 2px 6px #667eea4d}.points-ultra-compact.enhanced .quick-mini.max:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6a42a0);border-color:#5a67d8;box-shadow:0 4px 12px #667eea66;transform:translateY(-3px)}.points-ultra-compact.enhanced .quick-mini.max.selected{background:linear-gradient(135deg,#5a67d8,#6a42a0);box-shadow:0 0 0 3px #667eea66}.points-ultra-compact.enhanced .quick-mini:disabled{opacity:.4;cursor:not-allowed}.points-ultra-compact.enhanced .quick-mini.numpad{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:#6366f1;font-weight:600;font-size:16px;box-shadow:0 2px 6px #6366f14d;position:relative}.points-ultra-compact.enhanced .quick-mini.numpad:hover:not(:disabled){background:linear-gradient(135deg,#5b21b6,#7c3aed);border-color:#5b21b6;box-shadow:0 4px 12px #5b21b666;transform:translateY(-3px)}.points-ultra-compact.enhanced .right-section{flex:0 0 340px;min-width:320px;background:#f8f9fa;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:6px}.points-ultra-compact.enhanced .points-benefit-hint{display:flex;align-items:center;gap:6px;padding:10px 12px;background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:3px solid #ff9800;border-radius:6px;font-size:12px;color:#e65100;animation:pulseGlow 2s ease-in-out infinite}.points-ultra-compact.enhanced .benefit-icon{font-size:14px;flex-shrink:0}.points-ultra-compact.enhanced .benefit-text{line-height:1.4}.points-ultra-compact.enhanced .benefit-text strong{color:#bf360c;font-weight:700}@keyframes pulseGlow{0%,to{box-shadow:0 0 #ff980066}50%{box-shadow:0 0 0 4px #ff98001a}}.points-ultra-compact.enhanced .calc-rows{display:grid;gap:6px}.points-ultra-compact.enhanced .calc-item{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;line-height:1.3}.points-ultra-compact.enhanced .calc-item.discount{color:#dc3545}.points-ultra-compact.enhanced .calc-item.total{border-top:2px solid #dee2e6;padding-top:8px;margin-top:4px;font-weight:700;font-size:15px;line-height:1.3}.points-ultra-compact.enhanced .calc-item.remain{font-size:12px;color:#06c;background:#e7f3ff;padding:8px 10px;border-radius:6px;margin-top:4px;font-weight:500;line-height:1.3}.points-ultra-compact.enhanced .calc-key{color:#6b7280}.points-ultra-compact.enhanced .calc-val{font-weight:500}.points-ultra-compact.enhanced .actions-ultra{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:4px;width:100%;flex-shrink:0}.points-ultra-compact.enhanced .btn-next{width:100%;padding:16px 20px;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;outline:none;min-height:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.points-ultra-compact.enhanced .btn-next:hover:not(:disabled){background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.points-ultra-compact.enhanced .btn-next:active:not(:disabled){transform:translateY(0)}.points-ultra-compact.enhanced .btn-next:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#9ca3af}.points-ultra-compact.enhanced .sub-actions{display:flex;justify-content:center;gap:16px}.points-ultra-compact.enhanced .sub-actions button{background:none;border:none;color:#868e96;font-size:13px;cursor:pointer;padding:4px 8px;outline:none;transition:all .2s;min-height:32px}.points-ultra-compact.enhanced .sub-actions button:hover{color:#495057;text-decoration:underline}.points-ultra-compact.enhanced .numpad-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn .2s ease-in-out}.points-ultra-compact.enhanced .numpad-modal{background:#fff;border-radius:12px;padding:20px;width:340px;max-width:90vw;box-shadow:0 10px 25px #0003;animation:slideUp .3s ease-out}.points-ultra-compact.enhanced .numpad-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.points-ultra-compact.enhanced .numpad-header h3{margin:0;font-size:18px;color:#333}.points-ultra-compact.enhanced .numpad-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s}.points-ultra-compact.enhanced .numpad-close:hover{color:#666;transform:scale(1.1)}.points-ultra-compact.enhanced .numpad-display{margin-bottom:16px}.points-ultra-compact.enhanced .numpad-input{width:100%;padding:14px;border:2px solid #e0e0e0;border-radius:8px;font-size:26px;font-weight:600;text-align:center;color:#333;background:#f8f9fa;transition:all .2s}.points-ultra-compact.enhanced .numpad-input.error{border-color:#e53935;background:#ffebee;color:#b71c1c}.points-ultra-compact.enhanced .numpad-limit{text-align:center;font-size:12px;color:#666;margin-top:6px}.points-ultra-compact.enhanced .numpad-error{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:8px;padding:8px;background:#ffebee;border-radius:6px;font-size:12px;color:#b71c1c}.points-ultra-compact.enhanced .numpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.points-ultra-compact.enhanced .numpad-btn{height:64px;border:1px solid #e0e0e0;background:#fff;border-radius:8px;font-size:20px;font-weight:600;cursor:pointer;transition:all .2s;color:#333}.points-ultra-compact.enhanced .numpad-btn:hover:not(:disabled){background:#f8f9fa;border-color:#6366f1;color:#6366f1;transform:scale(1.05)}.points-ultra-compact.enhanced .numpad-btn:active:not(:disabled){transform:scale(.95)}.points-ultra-compact.enhanced .numpad-btn.clear{background:#f1f3f4;color:#666}.points-ultra-compact.enhanced .numpad-btn.clear:hover{background:#e8eaed;color:#333}.points-ultra-compact.enhanced .numpad-btn.confirm{background:#6366f1;color:#fff;border-color:#6366f1}.points-ultra-compact.enhanced .numpad-btn.confirm:hover:not(:disabled){background:#5b21b6;border-color:#5b21b6}.points-ultra-compact.enhanced .numpad-btn.confirm:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af}@media (max-width: 768px){.points-ultra-compact.enhanced{flex-direction:column;gap:20px;padding:20px}.points-ultra-compact.enhanced .left-section{min-width:unset;max-width:100%;width:100%}.points-ultra-compact.enhanced .right-section{width:100%;flex:1}.points-ultra-compact.enhanced .quick-group{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.points-ultra-compact.enhanced .input-row-ultra{flex-wrap:wrap}}@media (max-width: 640px){.points-ultra-compact.enhanced{flex-direction:column;max-height:none;padding:16px}.points-ultra-compact.enhanced .left-section{min-width:unset}.points-ultra-compact.enhanced .right-section{width:100%}.points-ultra-compact.enhanced .quick-mini{min-width:54px;min-height:44px;padding:10px 16px}.points-ultra-compact.enhanced .stepper-mini{width:44px;height:44px;font-size:22px}.points-ultra-compact.enhanced .input-mini{width:90px;height:44px;font-size:18px}}.step-content.points-step-ultra{width:100%;max-width:100%;padding:0;margin:0;overflow:visible;min-height:0;display:flex;flex-direction:column}@media (min-width: 1280px){.step-content.points-step-ultra{min-height:0}.points-ultra-compact.enhanced{min-height:auto}}.step-content.payment-step-compact-wrapper{padding-top:0!important}.step-content.payment-step-compact-wrapper h3{display:none}.payment-step-compact{background:var(--ds-bg-surface, #FFFFFF);border-radius:8px;overflow:hidden;max-height:400px}.promotion-bar-compact{background:linear-gradient(135deg,var(--ds-warning-bg, #FEF3C7) 0%,var(--ds-warning-100, #FDE68A) 100%);padding:8px 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--ds-warning, #FBBF24)}.promotion-icon{font-size:14px}.promotion-text{font-size:12px;color:var(--ds-warning-800, #92400E);font-weight:500}.payment-content-compact{display:flex;gap:16px;padding:12px;height:100%}.payment-methods-compact{flex:1;display:flex;flex-direction:column;gap:10px;min-width:280px}.section-title-mini{font-size:13px;font-weight:600;color:var(--ds-text-secondary, #374151);margin:0 0 8px;text-transform:uppercase;letter-spacing:.5px}.methods-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.method-card{background:var(--ds-bg-secondary, #F9FAFB);border:2px solid var(--ds-border-default, #E5E7EB);border-radius:8px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .2s;outline:none;position:relative}.method-card:hover{background:var(--ds-bg-surface, #FFFFFF);border-color:var(--ds-primary, #667EEA);transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.method-card:active{transform:translateY(0);border-color:var(--ds-primary-600, #5A67D8);background:var(--ds-primary-bg, #F0F4FF)}.method-card:after{content:"點擊確認";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:10px;color:var(--ds-primary, #667EEA);opacity:0;transition:opacity .2s}.method-card:hover:after{opacity:1}.method-icon{font-size:24px}.method-label{font-size:12px;font-weight:500;color:var(--ds-text-secondary, #374151)}.method-card.cash:hover{border-color:var(--ds-success, #10B981)}.method-card.card:hover{border-color:var(--ds-primary, #3B82F6)}.method-card.mobile:hover{border-color:var(--ds-purple, #8B5CF6)}.threshold-hint{background:var(--ds-warning-bg, #FEF3C7);padding:8px;border-radius:6px;font-size:11px;color:var(--ds-warning-800, #92400E);margin-top:8px}.points-summary-mini{background:var(--ds-bg-tertiary, #F3F4F6);border-radius:6px;padding:10px;margin-top:auto}.summary-row-mini{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0}.points-badge{font-size:10px;background:var(--ds-primary, #667EEA);color:var(--ds-text-inverse, #FFFFFF);padding:2px 6px;border-radius:10px}.points-used{color:var(--ds-danger, #DC3545);font-weight:600}.amount-calculation-compact{width:260px;background:var(--ds-bg-secondary, #F8F9FA);border-radius:8px;padding:12px;display:flex;flex-direction:column}.calc-table{flex:1;display:flex;flex-direction:column;gap:4px;margin-bottom:8px;opacity:.8}.calc-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:3px 0;color:var(--ds-text-muted, #6B7280)}.calc-row.discount .calc-value{color:var(--ds-danger, #DC3545);font-size:11px}.calc-row.total{display:none}.calc-label{color:var(--ds-text-disabled, #9CA3AF);font-weight:400;font-size:11px}.calc-value{font-weight:500;color:var(--ds-text-secondary, #4B5563);font-size:11px}.calc-value.total{font-size:18px;font-weight:700;color:var(--ds-text-primary, #1F2937)}.final-amount-highlight{background:linear-gradient(135deg,var(--ds-primary, #667EEA) 0%,var(--ds-purple-600, #764BA2) 100%);border-radius:8px;padding:20px 16px;margin-top:auto;text-align:center;box-shadow:0 4px 12px #667eea4d}.final-amount-highlight .amount-label{display:block;font-size:12px;color:#ffffffe6;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.final-amount-highlight .amount-value{display:block;font-size:32px;font-weight:700;color:var(--ds-text-inverse, #FFFFFF);text-shadow:0 2px 4px rgba(0,0,0,.1);margin-bottom:8px}.final-amount-highlight .amount-hint{display:block;font-size:13px;color:#fffc;font-weight:400}@media (max-width: 768px){.payment-content-compact{flex-direction:column}.payment-methods-compact,.amount-calculation-compact{width:100%;min-width:unset}.methods-grid{grid-template-columns:repeat(3,1fr)}.payment-step-compact{max-height:none}}@media (max-width: 480px){.payment-content-compact{padding:8px}.methods-grid{gap:6px}.method-card{padding:12px 6px}.method-icon{font-size:20px}.method-label{font-size:11px}}.member-binding-area{margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;border:2px dashed #cbd5e1}.member-status-mini{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-icon-mini{font-size:24px;opacity:.7}.member-text-mini{font-size:15px;color:#64748b;font-weight:500}.member-bind-btn-mini{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #3b82f64d}.member-bind-btn-mini:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.member-bind-btn-mini:active{transform:translateY(0)}.receipt-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:modalFadeIn .3s cubic-bezier(0,0,.2,1)}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.receipt-modal-container{background:#fff;border-radius:16px;box-shadow:0 25px 50px #00000040,0 10px 20px #0000001a;width:480px;max-width:95%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(0,0,.2,1);overflow:hidden}@keyframes slideUp{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.receipt-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border-bottom:none}.receipt-modal-title{margin:0;font-size:14px;font-weight:600;line-height:1.2}.receipt-modal-close-button{background:#fff3;border:none;color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(0,0,.2,1);padding:0}.receipt-modal-close-button:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.receipt-modal-close-button:active:not(:disabled){background:#fff6}.receipt-modal-close-button:disabled{opacity:.5;cursor:not-allowed}.receipt-modal-body{flex:1;overflow-y:auto;padding:24px;background:#fafafa}.receipt-paper{background:#fff;padding:16px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.receipt-modal-body::-webkit-scrollbar{width:8px}.receipt-modal-body::-webkit-scrollbar-track{background:#f5f5f5;border-radius:4px}.receipt-modal-body::-webkit-scrollbar-thumb{background:#bdbdbd;border-radius:4px;-webkit-transition:background .2s;transition:background .2s}.receipt-modal-body::-webkit-scrollbar-thumb:hover{background:#9e9e9e}.receipt-modal-footer{background:#fff;border-top:1px solid #E0E0E0;padding:24px}.receipt-modal-error{display:flex;align-items:center;gap:12px;background:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;line-height:1.2}.error-icon{font-size:14px;flex-shrink:0}.error-text{flex:1}.receipt-modal-actions{display:flex;gap:12px}.receipt-button{flex:1;height:48px;padding:0 24px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s cubic-bezier(0,0,.2,1);outline:none}.receipt-button:focus-visible{outline:2px solid #2196F3;outline-offset:2px}.receipt-button-primary{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 2px 8px #2196f34d}.receipt-button-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2196f366}.receipt-button-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2196f34d}.receipt-button-primary:disabled{background:#bdbdbd;color:#fff;box-shadow:none;cursor:not-allowed;opacity:.6}.receipt-button-secondary{background:#f5f5f5;color:#616161;border:1px solid #E0E0E0}.receipt-button-secondary:hover:not(:disabled){background:#eee;border-color:#bdbdbd}.receipt-button-secondary:active:not(:disabled){background:#e0e0e0}.receipt-button-secondary:disabled{opacity:.5;cursor:not-allowed}.button-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.receipt-data-store-info{text-align:center;margin-bottom:8px}.receipt-data-store-info h3{margin:0 0 4px;font-size:18px;font-weight:700;color:#1a1a1a}.receipt-data-store-info p{margin:2px 0;font-size:12px;color:#6b7280}.receipt-data-divider{text-align:center;font-size:10px;letter-spacing:-1px;color:#d1d5db;margin:8px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.receipt-data-row{display:flex;justify-content:space-between;align-items:center;margin:4px 0;font-size:13px;color:#374151}.receipt-data-transaction,.receipt-data-items{margin:4px 0}.receipt-data-items-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.3px}.receipt-data-items-header span:not(:first-child){text-align:right}.receipt-data-item{margin:6px 0}.receipt-data-item-name{font-size:13px;font-weight:500;color:#1f2937}.receipt-data-item-details{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;font-size:12px;color:#6b7280;padding-left:0}.receipt-data-item-details span{text-align:right}.receipt-data-item-details span:first-child{grid-column:2}.receipt-data-summary{margin:4px 0}.receipt-data-discount{color:#ef4444}.receipt-data-total{margin-top:6px;padding-top:6px;border-top:1px solid #e5e7eb;font-weight:700;font-size:15px;color:#111827}.receipt-data-tax{margin:6px 0}.receipt-data-tax-reference{text-align:center;font-size:11px;color:#6b7280;padding:4px 0}.receipt-data-tax-row{font-size:12px;color:#6b7280}.receipt-data-payment{margin:4px 0}.receipt-data-footer{text-align:center;margin-top:8px}.receipt-data-footer p{margin:4px 0;font-size:14px;font-weight:600;color:#374151}.receipt-data-notice{font-size:11px!important;font-weight:400!important;color:#9ca3af!important}.receipt-modal-order-action{margin-top:12px;padding-top:12px;border-top:1px solid #E0E0E0}.receipt-button-outline{width:100%;background:transparent;color:#2196f3;border:1px solid #2196F3}.receipt-button-outline:hover:not(:disabled){background:#2196f314}.receipt-button-outline:active:not(:disabled){background:#2196f326}.receipt-print-iframe{display:none;visibility:hidden;position:absolute;width:0;height:0;border:none}@media (max-width: 768px){.receipt-modal-container{width:90%}.receipt-modal-header{padding:20px}.receipt-modal-title{font-size:18px}.receipt-modal-body,.receipt-modal-footer{padding:20px}.receipt-button{height:52px}}@media (max-width: 480px){.receipt-modal-container{width:95%;max-height:95vh}.receipt-modal-header{padding:16px}.receipt-modal-title{font-size:16px}.receipt-modal-close-button{width:36px;height:36px;font-size:14px}.receipt-modal-body{padding:16px}.receipt-paper{padding:12px}.receipt-modal-footer{padding:16px}.receipt-modal-actions{flex-direction:column;gap:10px}.receipt-button{height:56px;font-size:15px}}.receipt-modal-container:focus{outline:2px solid #2196F3;outline-offset:2px}@media (prefers-contrast: high){.receipt-modal-header{border-bottom:2px solid #000}.receipt-button-primary{border:2px solid #000}.receipt-button-secondary{border:2px solid #616161}.receipt-modal-error{border:2px solid #C62828}}@media (prefers-reduced-motion: reduce){.receipt-modal-overlay,.receipt-modal-container{animation:none}.receipt-modal-close-button:hover:not(:disabled){transform:none}.receipt-button-primary:hover:not(:disabled){transform:none}.button-spinner{animation:none}.button-spinner{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}}.member-discount-step{display:flex;flex-direction:column;gap:16px;padding:16px;background:#fff;border-radius:12px;max-height:70vh;overflow-y:auto}.member-discount-step.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px}.loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.member-discount-step.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:12px;text-align:center}.error-icon{font-size:48px}.member-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:10px;color:#fff}.member-info{display:flex;align-items:center;gap:12px}.member-icon{font-size:28px;background:#fff3;padding:8px;border-radius:50%}.member-details{display:flex;flex-direction:column}.member-name{font-size:18px;font-weight:600}.member-level{font-size:13px;opacity:.9}.points-info{text-align:right}.points-value{font-size:28px;font-weight:700;display:block}.points-label{font-size:12px;opacity:.8}.auto-apply-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:10px;font-size:14px;font-weight:500;animation:slideIn .3s ease-out;box-shadow:0 4px 12px #10b98140}.auto-apply-icon{font-size:20px}.auto-apply-text{flex:1}.auto-apply-dismiss{background:#fff3;border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background .2s ease}.auto-apply-dismiss:hover{background:#ffffff4d}.promotion-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b}.promotion-section h4{color:#92400e}.promotion-item{background:#fff;border:2px solid #f59e0b!important}.promotion-item.selected{background:#fffbeb;border-color:#d97706!important}.promotion-item:hover:not(.disabled){background:#fffbeb}.promotion-value{color:#d97706!important;font-weight:700}.promotion-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.best-choice{color:#d97706;font-weight:600;font-size:11px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.expiry-warning{background:#fef3c7;color:#92400e;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500}.discount-content{display:grid;grid-template-columns:1fr 280px;gap:20px}@media (max-width: 768px){.discount-content{grid-template-columns:1fr}}.discount-options{display:flex;flex-direction:column;gap:16px}.option-section{background:#f9fafb;border-radius:10px;padding:14px}.option-section h4{margin:0 0 12px;font-size:15px;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.limit-info{font-size:12px;font-weight:400;color:#6b7280}.coupon-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.coupon-item{padding:10px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s ease}.coupon-item:hover:not(.disabled){border-color:#3b82f6;background:#eff6ff}.coupon-item.selected{border-color:#3b82f6;background:#dbeafe}.coupon-item.disabled{opacity:.5;cursor:not-allowed}.coupon-main{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.coupon-name{font-size:14px;font-weight:500;color:#1f2937}.coupon-value{font-size:14px;font-weight:700;color:#059669}.coupon-meta{display:flex;gap:8px;font-size:11px;color:#6b7280}.min-order.not-met{color:#dc2626}.no-coupons{text-align:center;padding:16px;color:#9ca3af;font-size:13px}.points-unavailable{padding:12px;background:#fef3c7;color:#92400e;border-radius:8px;font-size:13px;text-align:center}.points-input-area{display:flex;flex-direction:column;gap:8px}.points-input-row{display:flex;align-items:center;gap:8px}.points-input{flex:1;padding:10px 12px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;text-align:right;transition:border-color .2s ease}.points-input:focus{outline:none;border-color:#3b82f6}.points-unit{font-size:14px;color:#6b7280}.btn-max{padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-max:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.points-hint{font-size:12px;color:#6b7280;text-align:right}.discount-summary{background:#f9fafb;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px}.warnings{display:flex;flex-direction:column;gap:6px}.warning-item{padding:8px 10px;background:#fef3c7;color:#92400e;border-radius:6px;font-size:12px}.summary-rows{display:flex;flex-direction:column;gap:8px}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}.summary-row .label{color:#6b7280}.summary-row .value{font-weight:600;color:#1f2937}.summary-row.discount .value{color:#059669}.summary-row.total{padding-top:12px;margin-top:4px;border-top:2px solid #e5e7eb}.summary-row.total .label{font-size:16px;font-weight:600;color:#1f2937}.summary-row.total .value{font-size:24px;font-weight:700;color:#3b82f6}.summary-row.earn{padding-top:8px}.summary-row.earn .value{color:#f59e0b;font-weight:600}.limit-notice{text-align:center;font-size:11px;color:#9ca3af;padding:8px;background:#f3f4f6;border-radius:6px}.actions{display:flex;justify-content:flex-end;gap:10px;padding-top:12px;border-top:1px solid #e5e7eb}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:12px 20px;background:#fff;color:#6b7280;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.calculating-overlay{position:absolute;inset:0;background:#ffffffb3;display:flex;align-items:center;justify-content:center;border-radius:12px}.calculating-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin .8s linear infinite}.ucm-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:ucm-fade-in .2s ease-out}@keyframes ucm-fade-in{0%{opacity:0}to{opacity:1}}.ucm-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:95%;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:ucm-slide-up .25s ease-out}@keyframes ucm-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ucm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:linear-gradient(135deg,#1e3a5f,#2563eb);color:#fff;position:relative;overflow:hidden}.ucm-header:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);pointer-events:none}.ucm-header-left{display:flex;align-items:center;gap:12px}.ucm-header-icon{font-size:24px}.ucm-header-title{font-size:20px;font-weight:600}.ucm-header-total{font-size:18px;font-weight:700;background:#1e3a5f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:8px 20px;border-radius:24px;margin-left:16px;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 8px #0003;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ucm-close-btn{background:#ffffff26;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.1);color:#fff;width:36px;height:36px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease-out;position:relative;z-index:1}.ucm-close-btn:hover{background:#ffffff40;transform:scale(1.05)}.ucm-close-btn:active{transform:scale(.95)}.ucm-content{display:flex;flex:1;overflow:hidden;min-height:0}.ucm-left-panel{flex:0 0 60%;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto;border-right:1px solid #e5e7eb;background:#fff}.ucm-right-panel{flex:0 0 40%;background:#fff;padding:24px;overflow-y:auto}.ucm-section{background:#fff;border-radius:12px;border:1px solid #E2E8F0;overflow:hidden;box-shadow:0 1px 3px #0000000a;transition:box-shadow .2s ease-out}.ucm-section:hover{box-shadow:0 2px 8px #0000000f}.ucm-section-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e5e7eb;font-weight:600;color:#374151}.ucm-section-icon{font-size:18px}.ucm-section-title{font-size:15px}.ucm-section-hint{font-size:13px;color:#9ca3af;font-weight:400;margin-left:auto}.ucm-member-section{min-height:80px}.ucm-member-empty{padding:16px}.ucm-member-placeholder{display:flex;align-items:center;gap:12px;color:#6b7280;margin-bottom:12px}.ucm-member-icon{font-size:32px;opacity:.6}.ucm-member-text{font-size:15px}.ucm-member-actions{display:flex;align-items:center;gap:12px}.ucm-btn-member-search{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease-out;box-shadow:0 2px 8px #3b82f64d;position:relative;overflow:hidden}.ucm-btn-member-search:before{content:"🔍";margin-right:8px}.ucm-btn-member-search:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #3b82f666;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.ucm-btn-member-search:active{transform:translateY(0) scale(.98)}.ucm-member-skip-hint{font-size:13px;color:#9ca3af}.ucm-member-card{display:flex;align-items:center;justify-content:space-between;padding:16px;gap:16px}.ucm-member-info{display:flex;align-items:center;gap:12px}.ucm-member-avatar{width:48px;height:48px;background:linear-gradient(135deg,#818cf8,#6366f1);border-radius:50%;display:flex;align-items:center;justify-content:center}.ucm-member-avatar .ucm-member-icon{font-size:24px;opacity:1;filter:brightness(0) invert(1)}.ucm-member-details{display:flex;flex-direction:column;gap:4px}.ucm-member-name{font-size:16px;font-weight:600;color:#1f2937;display:flex;align-items:center;gap:8px}.ucm-member-level{font-size:12px;font-weight:500;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;padding:2px 8px;border-radius:10px}.ucm-member-phone{font-size:13px;color:#6b7280}.ucm-member-points{text-align:right}.ucm-member-points-value{font-size:20px;font-weight:700;color:#6366f1}.ucm-member-points-label{font-size:12px;color:#9ca3af}.ucm-member-points-earn{font-size:12px;color:#10b981;margin-top:4px}.ucm-member-section .ucm-member-actions{padding:12px 16px 16px;border-top:1px solid #f3f4f6;margin-top:-4px}.ucm-btn-member-change{background:#f3f4f6;color:#4b5563;border:none;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s}.ucm-btn-member-change:hover{background:#e5e7eb}.ucm-btn-member-remove{background:transparent;color:#ef4444;border:1px solid #fecaca;padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:background .15s}.ucm-btn-member-remove:hover{background:#fef2f2}.ucm-member-expiry-warning{padding:8px 16px;background:#fffbeb;color:#b45309;font-size:13px;border-top:1px solid #fef3c7}.ucm-discount-section{min-height:200px}.ucm-discount-content{padding:16px;display:flex;flex-direction:column;gap:12px}.ucm-auto-apply-notice{display:flex;align-items:center;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:8px;color:#065f46;font-size:14px}.ucm-auto-apply-icon{font-size:18px}.ucm-auto-apply-text{flex:1}.ucm-auto-apply-dismiss{background:transparent;border:none;color:#065f46;cursor:pointer;opacity:.6;font-size:16px}.ucm-auto-apply-dismiss:hover{opacity:1}.ucm-no-member-hint{padding:20px 24px;text-align:center;color:#1e40af;font-size:14px;background:#3b82f614;border-radius:12px;border:1px solid rgba(59,130,246,.2);display:flex;align-items:center;justify-content:center;gap:12px}.ucm-no-member-hint:before{content:"💡";font-size:20px}.ucm-discount-panel{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.ucm-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;font-size:14px;font-weight:600;color:#374151}.ucm-panel-count,.ucm-panel-hint{font-size:12px;font-weight:400;color:#9ca3af}.ucm-panel-content{padding:12px}.ucm-promotion-panel{border-color:#fde68a}.ucm-promotion-panel .ucm-panel-header{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.ucm-discount-item{display:flex;flex-direction:column;gap:6px;padding:12px;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .15s;background:#f9fafb}.ucm-discount-item:hover{background:#f3f4f6}.ucm-discount-item.selected{border-color:#3b82f6;background:#eff6ff}.ucm-item-main{display:flex;align-items:center;justify-content:space-between}.ucm-item-name{font-size:14px;font-weight:500;color:#374151}.ucm-item-value{font-size:16px;font-weight:700;color:#ef4444}.ucm-promotion-value{color:#f59e0b}.ucm-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ucm-promotion-badge,.ucm-coupon-type,.ucm-min-order{font-size:11px;padding:2px 8px;border-radius:4px;background:#f3f4f6;color:#6b7280}.ucm-promotion-badge{background:#fef3c7;color:#92400e}.ucm-best-choice{font-size:11px;color:#f59e0b;font-weight:600}.ucm-selected-badge{font-size:11px;color:#3b82f6;font-weight:600}.ucm-coupon-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.ucm-no-coupons{padding:16px;text-align:center;color:#9ca3af;font-size:13px}.ucm-points-panel .ucm-panel-header{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca}.ucm-points-unavailable{padding:16px;text-align:center;color:#9ca3af;font-size:13px;background:#f9fafb;border-radius:8px}.ucm-points-input-area{display:flex;flex-direction:column;gap:12px}.ucm-points-balance{font-size:13px;color:#6b7280}.ucm-points-input-row{display:flex;align-items:center;gap:16px}.ucm-points-slider{flex:1;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e5e7eb;border-radius:4px;outline:none}.ucm-points-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:#6366f1;border-radius:50%;cursor:pointer;-webkit-transition:transform .15s;transition:transform .15s}.ucm-points-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.ucm-points-display{display:flex;align-items:baseline;gap:4px;min-width:120px}.ucm-points-value{font-size:20px;font-weight:700;color:#6366f1}.ucm-points-unit{font-size:13px;color:#9ca3af}.ucm-points-discount{font-size:14px;color:#ef4444;margin-left:8px}.ucm-points-actions{display:flex;gap:8px}.ucm-btn-points-clear,.ucm-btn-points-max{padding:8px 16px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.ucm-btn-points-clear{background:#f3f4f6;color:#6b7280;border:none}.ucm-btn-points-clear:hover:not(:disabled){background:#e5e7eb}.ucm-btn-points-max{background:#6366f1;color:#fff;border:none}.ucm-btn-points-max:hover:not(:disabled){background:#4f46e5}.ucm-btn-points-clear:disabled,.ucm-btn-points-max:disabled{opacity:.5;cursor:not-allowed}.ucm-loading-indicator{font-size:12px;color:#9ca3af;margin-left:auto}.ucm-payment-section{min-height:140px;border:2px solid #3B82F6;box-shadow:0 4px 16px #3b82f626,0 0 0 4px #3b82f60d;background:#fff}.ucm-payment-section .ucm-section-header{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #93C5FD;padding:14px 18px}.ucm-payment-section .ucm-section-icon{font-size:20px}.ucm-payment-section .ucm-section-title{font-size:17px;font-weight:700;color:#1e40af}.ucm-payment-section .ucm-section-hint{color:#3b82f6;font-weight:500}.ucm-payment-buttons{display:flex;gap:12px;padding:16px}.ucm-payment-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;background:#fff;border:2px solid transparent;border-radius:16px;cursor:pointer;transition:all .15s ease-out;box-shadow:0 2px 8px #0000000a;position:relative;overflow:hidden}.ucm-payment-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(59,130,246,.05) 0%,transparent 100%);opacity:0;transition:opacity .15s ease-out}.ucm-payment-btn:hover:before{opacity:1}.ucm-payment-btn:hover{border-color:#3b82f6;transform:scale(1.02);box-shadow:0 4px 16px #3b82f626}.ucm-payment-btn:active{transform:scale(.98)}.ucm-payment-btn.selected{background:linear-gradient(135deg,rgba(var(--payment-color-rgb, 59, 130, 246),.08),rgba(var(--payment-color-rgb, 59, 130, 246),.04));border-color:var(--payment-color, #3B82F6);box-shadow:0 4px 16px rgba(var(--payment-color-rgb, 59, 130, 246),.2)}.ucm-payment-btn.selected:after{content:"✓";position:absolute;top:8px;right:8px;width:20px;height:20px;background:var(--payment-color, #3B82F6);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.ucm-payment-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.ucm-payment-icon{font-size:32px;margin-bottom:4px;transition:transform .15s ease-out}.ucm-payment-btn:hover .ucm-payment-icon{transform:scale(1.1)}.ucm-payment-label{font-size:15px;font-weight:600;color:#1e293b;position:relative;z-index:1}.ucm-payment-shortcut{font-size:11px;color:#64748b;background:#64748b1a;padding:2px 8px;border-radius:4px;position:relative;z-index:1}.ucm-payment-selected-hint{padding:12px 16px;background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d;font-size:14px;font-weight:500;text-align:center;border-top:1px solid #BBF7D0;display:flex;align-items:center;justify-content:center;gap:8px}.ucm-payment-selected-hint:before{content:"";width:8px;height:8px;background:#22c55e;border-radius:50%;animation:ucm-pulse 1.5s ease-in-out infinite}@keyframes ucm-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.ucm-order-summary{background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a;height:100%;display:flex;flex-direction:column;overflow:hidden}.ucm-summary-header{background:#1e40af!important;padding:16px 20px;display:flex;align-items:center;gap:12px;position:relative}.ucm-summary-header:before{display:none}.ucm-summary-icon{font-size:20px;background-color:#fff!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;flex-shrink:0}.ucm-order-summary .ucm-summary-header .ucm-summary-title,.ucm-summary-title{font-size:18px!important;font-weight:700!important;color:#fff!important;letter-spacing:.5px!important;text-shadow:0 2px 4px rgba(0,0,0,.4)!important}.ucm-summary-items{flex:1;overflow-y:auto;padding:0;max-height:180px;background:#fff}.ucm-summary-item{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin:0;background:#fff;border-bottom:1px solid #f3f4f6;transition:background .15s ease}.ucm-summary-item:hover{background:#f9fafb}.ucm-summary-item:last-child{border-bottom:none}.ucm-item-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.ucm-item-name{font-size:14px;font-weight:500;color:#111827;line-height:1.4;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ucm-item-qty{font-size:11px;font-weight:600;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:12px;flex-shrink:0}.ucm-item-price{font-size:14px;font-weight:600;color:#111827;font-variant-numeric:tabular-nums;flex-shrink:0}.ucm-summary-item-count{font-size:12px;color:#6b7280;text-align:center;padding:10px 20px;background:#f9fafb;border-top:1px dashed #e5e7eb}.ucm-summary-empty{padding:32px 20px;text-align:center;color:#9ca3af;font-size:14px}.ucm-summary-breakdown{padding:12px 20px;background:#f9fafb;border-top:1px solid #e5e7eb}.ucm-breakdown-row,.ucm-subtotal-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.ucm-breakdown-label,.ucm-subtotal-label{font-size:13px;color:#6b7280;font-weight:500}.ucm-breakdown-value,.ucm-subtotal-value{font-size:14px;font-weight:600;color:#374151;font-variant-numeric:tabular-nums}.ucm-discount-row .ucm-discount-value{color:#ef4444}.ucm-total-discount-row{padding-top:8px;margin-top:6px;border-top:1px dashed #e5e7eb}.ucm-discount-total{font-weight:700;color:#ef4444}.ucm-order-summary .ucm-summary-total{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 24px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border:2px solid #22c55e;border-radius:16px;margin:16px 20px 20px;position:relative;overflow:hidden;box-shadow:0 4px 14px #22c55e33}.ucm-order-summary .ucm-summary-total:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#22c55e,#16a34a);border-radius:16px 0 0 16px}.ucm-order-summary .ucm-summary-total .ucm-total-label{font-size:14px;font-weight:600;color:#166534;background-color:#fffffff2;padding:6px 14px;border-radius:8px;letter-spacing:.3px;position:relative;z-index:1}.ucm-order-summary .ucm-summary-total .ucm-total-value{font-size:36px;font-weight:700;color:#166534;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;position:relative;z-index:1}.ucm-order-summary .ucm-summary-total .ucm-total-value .currency,.ucm-order-summary .ucm-summary-total .ucm-total-value span:first-child{font-size:24px;font-weight:700;color:#166534;vertical-align:top;margin-right:2px}.ucm-summary-points{display:flex;align-items:center;gap:8px;padding:12px 20px;margin:0;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:13px;font-weight:500}.ucm-points-icon{font-size:16px}.ucm-member-level-hint{font-size:11px;color:#b45309;margin-left:4px}.ucm-summary-notice{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fef3c7;border-top:1px solid #fcd34d;font-size:12px;color:#92400e;margin:0;border-radius:0}.ucm-summary-notice:before{content:"💡";font-size:14px;flex-shrink:0}.ucm-notice-text{font-size:12px;color:#92400e;line-height:1.5}.ucm-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#f8fafc;border-top:1px solid #E2E8F0}.ucm-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .15s ease-out}.ucm-btn-key{font-size:11px;padding:3px 8px;background:#00000014;border-radius:6px;font-family:Inter,monospace}.ucm-btn-cancel{background:#fff;color:#64748b;border:1px solid #d1d5db;box-shadow:0 1px 2px #0000000d}.ucm-btn-cancel:hover{background:#f8fafc;border-color:#9ca3af;transform:translateY(-1px)}.ucm-btn-cancel:active{transform:translateY(0)}.ucm-btn-checkout{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;font-size:18px;font-weight:700;padding:16px 36px;min-width:200px;box-shadow:0 4px 14px #22c55e4d;position:relative;overflow:hidden}.ucm-btn-checkout:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease-out}.ucm-btn-checkout:hover:not(.disabled):before{left:100%}.ucm-btn-checkout .ucm-btn-key{opacity:.8;font-size:11px;padding:3px 8px;background:#fff3;margin-left:4px}.ucm-btn-checkout:hover:not(.disabled){background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 8px 24px #22c55e66}.ucm-btn-checkout:active:not(.disabled){transform:translateY(0);box-shadow:0 4px 12px #22c55e4d}.ucm-btn-checkout.disabled{background:linear-gradient(135deg,#cbd5e1,#94a3b8);box-shadow:none;cursor:not-allowed}.ucm-processing-overlay{position:absolute;inset:0;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:10;animation:ucm-fade-in .2s ease-out}.ucm-processing-spinner{width:56px;height:56px;border:4px solid #E5E7EB;border-top-color:#3b82f6;border-radius:50%;animation:ucm-spin .8s linear infinite;box-shadow:0 4px 16px #3b82f633}@keyframes ucm-spin{to{transform:rotate(360deg)}}.ucm-processing-overlay span{font-size:16px;font-weight:500;color:#475569;animation:ucm-text-pulse 1.5s ease-in-out infinite}@keyframes ucm-text-pulse{0%,to{opacity:1}50%{opacity:.6}}@media (max-width: 1024px){.ucm-modal{max-height:95vh}.ucm-content{flex-direction:column}.ucm-left-panel{flex:none;border-right:none;border-bottom:1px solid #e5e7eb;max-height:50vh}.ucm-right-panel{flex:none;max-height:35vh}}@media (max-width: 768px){.ucm-modal{width:100%;max-width:none;height:100vh;max-height:100vh;border-radius:0}.ucm-header{padding:12px 16px}.ucm-header-total{display:none}.ucm-left-panel,.ucm-right-panel{padding:12px}.ucm-payment-buttons{flex-wrap:wrap}.ucm-payment-btn{flex:0 0 calc(50% - 6px)}.ucm-footer{flex-direction:column;gap:12px;padding:12px 16px}.ucm-btn{width:100%;justify-content:center}}.test-print-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.test-print-modal{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;overflow:hidden}.test-print-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.test-print-header h2{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;color:#0c4a6e;margin:0}.test-print-header .close-btn{background:none;border:none;font-size:1.25rem;color:#64748b;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s}.test-print-header .close-btn:hover{background:#f1f5f9;color:#1e293b}.test-print-header .close-btn:disabled{opacity:.5;cursor:not-allowed}.test-print-warning{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.5rem;background:#fef3c7;border-bottom:1px solid #fcd34d}.test-print-warning span{font-size:1.25rem;flex-shrink:0}.test-print-warning strong{display:block;color:#92400e;font-size:.875rem;margin-bottom:.25rem}.test-print-warning p{color:#a16207;font-size:.8rem;margin:0;line-height:1.4}.test-print-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.5rem;overflow-y:auto;flex:1}.test-print-products{display:flex;flex-direction:column;gap:1.25rem}.search-section{position:relative}.search-section label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:#3b82f6}.search-input:disabled{background:#f9fafb;cursor:not-allowed}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;z-index:10;max-height:250px;overflow-y:auto;margin-top:4px}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;transition:background .15s}.search-result-item:hover{background:#f0f9ff}.search-result-item:not(:last-child){border-bottom:1px solid #f3f4f6}.product-name{font-size:.9rem;color:#1f2937}.product-price{font-size:.9rem;font-weight:600;color:#059669}.search-no-results{padding:1rem;text-align:center;color:#6b7280;font-size:.875rem}.payment-section label,.received-section label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.payment-options{display:flex;gap:.5rem}.payment-btn{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;font-size:.875rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.payment-btn:hover{border-color:#3b82f6;background:#f0f9ff}.payment-btn.active{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.received-input{width:100%;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1.125rem;font-weight:600;text-align:right}.received-input:focus{outline:none;border-color:#3b82f6}.test-print-cart{display:flex;flex-direction:column;background:#f9fafb;border-radius:12px;padding:1rem;min-height:300px}.cart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.cart-header h3{font-size:1rem;font-weight:600;color:#374151;margin:0}.clear-cart-btn{background:none;border:none;color:#ef4444;font-size:.8rem;font-weight:500;cursor:pointer;padding:.25rem .5rem;border-radius:4px}.clear-cart-btn:hover{background:#fef2f2}.cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af}.cart-empty span{font-size:2.5rem;margin-bottom:.5rem}.cart-empty p{margin:0;font-size:.9rem}.cart-empty .hint{font-size:.8rem;margin-top:.25rem}.cart-items{flex:1;overflow-y:auto;margin-bottom:1rem}.cart-item{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;padding:.75rem;background:#fff;border-radius:8px;margin-bottom:.5rem}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-name{font-size:.875rem;font-weight:500;color:#1f2937}.item-price{font-size:.75rem;color:#6b7280}.item-controls{display:flex;align-items:center;gap:.5rem}.qty-btn{width:28px;height:28px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;font-size:1rem;font-weight:600;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.qty-btn:hover{background:#f3f4f6}.qty-value{min-width:24px;text-align:center;font-weight:600;color:#1f2937}.remove-btn{background:none;border:none;font-size:.875rem;cursor:pointer;padding:.25rem;opacity:.5;transition:opacity .15s}.remove-btn:hover{opacity:1}.item-subtotal{font-weight:600;color:#059669;font-size:.9rem;text-align:right;min-width:60px}.cart-summary{border-top:2px dashed #e5e7eb;padding-top:1rem}.summary-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem;color:#4b5563}.summary-row.total{font-size:1.125rem;font-weight:700;color:#1f2937;border-top:1px solid #e5e7eb;padding-top:.75rem;margin-top:.5rem}.summary-row.change{color:#059669;font-weight:600}.test-print-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;background:#f9fafb}.cancel-btn{padding:.75rem 1.5rem;border:2px solid #e5e7eb;border-radius:8px;background:#fff;font-size:.9rem;font-weight:600;color:#374151;cursor:pointer;transition:all .2s}.cancel-btn:hover{background:#f3f4f6}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.print-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:8px;background:linear-gradient(135deg,#3b82f6,#2563eb);font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.print-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.print-btn:disabled{background:#94a3b8;cursor:not-allowed}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media (max-width: 768px){.test-print-content{grid-template-columns:1fr}.test-print-modal{max-height:95vh}.payment-options{flex-direction:column}.cart-item{grid-template-columns:1fr;gap:.75rem}.item-controls{justify-content:flex-start}.item-subtotal{text-align:left}}.page-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.pos-container{position:relative;width:100%;height:100vh;overflow:hidden}.version-toggle-btn{position:fixed;top:80px;right:20px;z-index:1000;display:flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s;box-shadow:0 2px 8px #0000001a}.version-toggle-btn:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.version-badge{background:#3b82f6;color:#fff;padding:2px 8px;border-radius:20px;font-size:12px;font-weight:600}.version-selector-overlay{position:fixed;inset:0;background:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s}.version-selector{background:#fff;border-radius:20px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;animation:slideUp .3s;box-shadow:0 20px 60px #0000004d}.selector-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.selector-header h3{margin:0;font-size:24px;font-weight:600}.close-btn{width:36px;height:36px;border:none;background:#fff3;color:#fff;border-radius:50%;cursor:pointer;font-size:20px;transition:all .3s}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.version-options{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:24px}.version-option{position:relative;padding:24px;border:2px solid #e2e8f0;border-radius:16px;cursor:pointer;transition:all .3s;background:#fff}.version-option:hover{border-color:#3b82f6;transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.version-option.active{border-color:#3b82f6;background:#eff6ff}.option-icon{display:flex;justify-content:center;margin-bottom:16px;color:#3b82f6}.version-option h4{margin:0 0 8px;font-size:20px;font-weight:600;color:#1e293b}.version-option p{margin:0 0 16px;color:#64748b;font-size:14px}.version-option ul{list-style:none;padding:0;margin:0}.version-option li{padding:4px 0;color:#475569;font-size:14px}.version-tag{position:absolute;top:16px;right:16px;background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.selector-footer{padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;text-align:center}.selector-footer p{margin:0;color:#64748b;font-size:14px}.page-content.pos-layout{display:flex;gap:0;padding:0!important;background:var(--phoenix-bg-primary, var(--pos-products-bg, #F8FAFC));height:calc(100vh - 64px);overflow:hidden;width:100%!important;max-width:none!important;margin:0!important}.pos-left-section{flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;padding-left:8px;padding-right:0;margin-right:0}.pos-right-section{width:450px;max-width:500px;min-width:400px;flex-shrink:0;display:flex;flex-direction:column;padding-left:0;padding-right:0;margin-left:0;background:var(--phoenix-primary-50, var(--pos-cart-bg, #DBEAFE));border-left:3px solid var(--phoenix-primary-400, var(--pos-cart-border, #60A5FA));box-shadow:var(--pos-cart-shadow, -4px 0 8px -2px rgba(59, 130, 246, .1))}.pos-products{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;display:flex;flex-direction:column;flex:1;width:100%}.pos-transaction{background:transparent!important;border-radius:12px;box-shadow:none;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%;box-sizing:border-box}.pos-loading{display:flex;align-items:center;justify-content:center;height:calc(100vh - 64px);background:var(--pos-products-bg, #F8FAFC)}.loading-container{text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #e0e0e0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@media (min-width: 1920px){.page-content.pos-layout{gap:0;padding:0}.pos-left-section{padding-left:12px;padding-right:0}.pos-right-section{width:500px;max-width:550px;padding-left:0;padding-right:12px}}@media (min-width: 1440px) and (max-width: 1919px){.page-content.pos-layout{gap:0}.pos-right-section{width:450px;max-width:480px;padding-left:0;padding-right:8px}.pos-left-section{padding-right:0}}@media (max-width: 1024px){.page-content.pos-layout{flex-direction:column}.pos-left-section{margin-bottom:16px;padding-left:8px;padding-right:8px}.pos-right-section{width:100%;height:400px;padding-left:8px;padding-right:8px}}@media (max-width: 768px){.page-content.pos-layout{gap:12px;padding:8px}.pos-products,.pos-transaction{border-radius:8px}.pos-right-section{position:fixed;bottom:0;left:0;right:0;height:auto;max-height:50vh;z-index:100}.pos-left-section{padding-bottom:60px}}.product-added{animation:productAddedPulse .3s ease-out}@keyframes productAddedPulse{0%{transform:scale(1)}50%{transform:scale(.95);background-color:#f0f9ff}to{transform:scale(1)}}.added-indicator{opacity:0;transform:translateY(-10px);transition:all .3s ease-out}.added-indicator.show{opacity:1;transform:translateY(0)}.product-added-flash{animation:flashSuccess .6s ease-out}@keyframes flashSuccess{0%{background-color:#fff;border-color:#e5e7eb}25%{background-color:#dcfce7;border-color:#10b981;transform:scale(.98)}50%{background-color:#bbf7d0;border-color:#10b981}to{background-color:#fff;border-color:#e5e7eb;transform:scale(1)}}.pos-page-container{min-height:100vh;display:flex;flex-direction:column}.pos-page-with-sidebar{margin-left:240px;transition:margin-left var(--transition-base)}body.sidebar-collapsed .pos-page-with-sidebar{margin-left:60px}.pos-main-content{flex:1;display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:100%;overflow-x:hidden}.pos-products-section{flex:1;min-width:0}.pos-cart-section{width:380px;flex-shrink:0;position:sticky;top:var(--spacing-lg);height:calc(100vh - var(--spacing-lg) * 2);overflow-y:auto}@media (min-width: 1280px){.pos-main-content{padding:var(--spacing-xl)}.pos-cart-section{width:400px}}@media (min-width: 1024px) and (max-width: 1279px){.pos-main-content{padding:var(--spacing-md)}.pos-cart-section{width:340px}}.pos-header{background:#fff;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-color)}.pos-btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-sm);border:1px solid transparent;cursor:pointer}.pos-btn-primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pos-btn-primary:hover:not(:disabled){background:var(--primary-dark);border-color:var(--primary-dark);box-shadow:var(--shadow-md)}.pos-btn-secondary{background:#fff;color:var(--text-primary);border-color:var(--border-color)}.pos-btn-secondary:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary-color);color:var(--primary-color)}.pos-btn-success{background:var(--success-color);color:#fff;border-color:var(--success-color)}.pos-btn-success:hover:not(:disabled){background:var(--success-dark);border-color:var(--success-dark);box-shadow:var(--shadow-md)}.pos-btn-danger{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.pos-btn-danger:hover:not(:disabled){background:var(--danger-dark);border-color:var(--danger-dark);box-shadow:var(--shadow-md)}.pos-btn:disabled{opacity:.6;cursor:not-allowed}.pos-icon-btn{padding:var(--spacing-sm);border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-secondary);transition:all var(--transition-fast);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.pos-icon-btn:hover{background:var(--bg-secondary);color:var(--primary-color)}.pos-stat-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.pos-stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.pos-product-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-base);border:1px solid var(--border-color)}.pos-product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--primary-color)}.pos-cart-item{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--spacing-md);transition:all var(--transition-fast)}.pos-cart-item:hover{background:var(--bg-tertiary)}.pos-category-tag{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-sm);font-weight:var(--font-medium);transition:all var(--transition-fast);cursor:pointer;border:2px solid transparent}.pos-category-tag.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pos-category-tag:not(.active){background:var(--bg-secondary);color:var(--text-secondary)}.pos-category-tag:not(.active):hover{background:var(--primary-alpha-10);color:var(--primary-color);border-color:var(--primary-color)}.pos-search-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);padding-left:48px;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:var(--font-base);transition:all var(--transition-fast)}.pos-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-alpha-20)}.pos-checkout-section{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);margin-top:var(--spacing-md)}.pos-payment-method{flex:1;padding:var(--spacing-md);border:2px solid var(--border-color);border-radius:var(--radius-md);background:#fff;transition:all var(--transition-fast);cursor:pointer;text-align:center}.pos-payment-method.active{border-color:var(--primary-color);background:var(--primary-alpha-10);color:var(--primary-color)}.pos-payment-method:hover:not(.active){border-color:var(--primary-light);background:var(--bg-secondary)}.fade-in{animation:fadeIn .3s ease-out}@media (min-width: 769px) and (max-width: 1023px){.pos-page-with-sidebar{margin-left:0;padding-top:56px}.pos-main-content{flex-direction:column;padding:var(--spacing-md)}.pos-cart-section{width:100%;position:relative;height:auto;max-height:400px}}@media (max-width: 768px){.pos-page-with-sidebar{margin-left:0;padding-top:56px}.pos-main-content{flex-direction:column;padding:var(--spacing-sm);gap:var(--spacing-md)}.pos-products-section{order:2}.pos-cart-section{width:100%;position:fixed;bottom:0;left:0;right:0;height:auto;max-height:50vh;background:#fff;box-shadow:0 -4px 6px -1px #0000001a;border-radius:var(--radius-lg) var(--radius-lg) 0 0;z-index:100;transform:translateY(calc(100% - 80px));transition:transform var(--transition-base)}.pos-cart-section.expanded{transform:translateY(0)}.pos-btn{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-xs)}.pos-stat-card{padding:var(--spacing-md)}.pos-product-card{border-radius:var(--radius-md)}.cart-expand-handle{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:var(--border-color);border-radius:var(--radius-full);cursor:pointer}}:root{--pds-primary: #3b82f6;--pds-success: #059669;--pds-warning: #f59e0b;--pds-error: #ef4444;--pds-neutral: #64748b;--pds-bg-main: #f5f7fa;--pds-bg-card: white;--pds-bg-secondary: #f8fafc;--pds-border: #e2e8f0;--pds-text-primary: #1e293b;--pds-text-secondary: #64748b;--pds-text-disabled: #9ca3af;--pds-gradient-header: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--pds-gradient-checkout: linear-gradient(135deg, #059669 0%, #047857 100%);--pds-gradient-primary: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--pds-height-stats: 50px;--pds-height-toolbar: 68px;--pds-height-category: 56px;--pds-height-checkout: 56px;--pds-height-cart-header: 64px;--pds-width-sidebar: 380px;--pds-width-sidebar-sm: 320px;--pds-spacing-xs: 4px;--pds-spacing-sm: 8px;--pds-spacing-md: 12px;--pds-spacing-lg: 16px;--pds-spacing-xl: 24px;--pds-spacing-2xl: 32px;--pds-radius-sm: 8px;--pds-radius-md: 12px;--pds-radius-lg: 16px;--pds-radius-xl: 20px;--pds-radius-pill: 22px;--pds-shadow-sm: 0 1px 3px rgba(0,0,0,.05);--pds-shadow-md: 0 4px 6px rgba(0,0,0,.07);--pds-shadow-lg: 0 10px 15px rgba(0,0,0,.1);--pds-shadow-xl: 0 20px 25px rgba(0,0,0,.15);--pds-font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;--pds-font-mono: "SF Mono", "Monaco", "Inconsolata", monospace}.pds-layout{display:grid;grid-template-columns:60% 40%;height:100vh;background:var(--pds-bg-main);overflow:hidden}.pds-main{display:flex;flex-direction:column;overflow:hidden}.pds-sidebar{display:flex;flex-direction:column;background:transparent!important;border-left:none!important;overflow:hidden}.pds-stats-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--pds-spacing-sm) var(--pds-spacing-lg);background:var(--pds-gradient-header);color:#fff;min-height:var(--pds-height-stats)}.pds-stat-item{text-align:center;min-width:80px}.pds-stat-value{font-size:18px;font-weight:700;line-height:1;font-family:var(--pds-font-mono)}.pds-stat-label{font-size:11px;opacity:.9;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.pds-toolbar{display:flex;align-items:center;padding:var(--pds-spacing-md) var(--pds-spacing-lg);background:var(--pds-bg-card);border-bottom:1px solid var(--pds-border);gap:var(--pds-spacing-md);height:var(--pds-height-toolbar)}.pds-search-wrapper{flex:1;position:relative}.pds-search-icon{position:absolute;left:var(--pds-spacing-lg);top:50%;transform:translateY(-50%);color:var(--pds-neutral);pointer-events:none}.pds-search-input{width:100%;height:44px;padding:0 var(--pds-spacing-lg) 0 44px;border:2px solid var(--pds-border);border-radius:var(--pds-radius-pill);font-size:16px;background:var(--pds-bg-secondary);transition:all .2s ease;font-family:var(--pds-font-sans)}.pds-search-input:focus{outline:none;border-color:var(--pds-primary);background:var(--pds-bg-card);box-shadow:0 0 0 3px #3b82f61a}.pds-search-input::-moz-placeholder{color:var(--pds-text-disabled)}.pds-search-input::placeholder{color:var(--pds-text-disabled)}.pds-toolbar-btn{width:44px;height:44px;border:1px solid var(--pds-border);background:var(--pds-bg-card);border-radius:var(--pds-radius-md);cursor:pointer;transition:all .2s ease;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--pds-text-secondary)}.pds-toolbar-btn:hover{border-color:var(--pds-primary);background:#f0f9ff;color:var(--pds-primary);transform:translateY(-1px)}.pds-toolbar-btn:active{transform:translateY(0)}.pds-categories{background:var(--pds-bg-card);border-bottom:1px solid var(--pds-border);padding:var(--pds-spacing-sm) 0;height:var(--pds-height-category)}.pds-categories-list{display:flex;gap:var(--pds-spacing-sm);padding:0 var(--pds-spacing-lg);overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--pds-border) transparent}.pds-categories-list::-webkit-scrollbar{height:4px}.pds-categories-list::-webkit-scrollbar-track{background:transparent}.pds-categories-list::-webkit-scrollbar-thumb{background:var(--pds-border);border-radius:2px}.pds-category-btn{display:flex;align-items:center;gap:6px;padding:var(--pds-spacing-sm) var(--pds-spacing-lg);background:var(--pds-bg-secondary);border:1px solid var(--pds-border);border-radius:var(--pds-radius-xl);cursor:pointer;transition:all .2s ease;white-space:nowrap;font-size:14px;color:var(--pds-text-secondary);font-weight:500}.pds-category-btn:hover{border-color:var(--pds-primary);background:#f0f9ff;color:var(--pds-primary)}.pds-category-btn.active{background:var(--pds-primary);color:#fff;border-color:var(--pds-primary)}.pds-category-icon{font-size:16px}.pds-category-count{font-size:12px;padding:2px 6px;background:#fff3;border-radius:var(--pds-radius-sm)}.pds-products-area{flex:1;overflow:hidden;background:var(--pds-bg-secondary)}.pds-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--pds-spacing-md);padding:var(--pds-spacing-lg);height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--pds-border) transparent}.pds-products-grid::-webkit-scrollbar{width:6px}.pds-products-grid::-webkit-scrollbar-track{background:transparent}.pds-products-grid::-webkit-scrollbar-thumb{background:var(--pds-border);border-radius:3px}.pds-product-card{background:var(--pds-bg-card);border:1px solid var(--pds-border);border-radius:var(--pds-radius-md);padding:var(--pds-spacing-md);cursor:pointer;transition:all .2s ease;height:160px;display:flex;flex-direction:column;position:relative}.pds-product-card:hover{border-color:var(--pds-primary);transform:translateY(-2px);box-shadow:var(--pds-shadow-lg)}.pds-product-card:active{transform:translateY(0)}.pds-product-stock-badge{position:absolute;top:var(--pds-spacing-sm);right:var(--pds-spacing-sm);padding:2px 6px;background:var(--pds-success);color:#fff;font-size:10px;font-weight:600;border-radius:var(--pds-radius-sm)}.pds-product-stock-badge.low{background:var(--pds-warning)}.pds-product-stock-badge.out{background:var(--pds-error)}.pds-product-name{font-size:13px;font-weight:600;color:var(--pds-text-primary);margin-bottom:var(--pds-spacing-sm);height:32px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.2}.pds-product-price{margin-top:auto;font-size:16px;font-weight:700;color:var(--pds-primary);font-family:var(--pds-font-mono)}.pds-product-unit{font-size:11px;color:var(--pds-text-secondary);margin-top:2px}.pds-cart-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.pds-cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--pds-spacing-lg);border-bottom:1px solid var(--pds-border);background:var(--pds-bg-secondary);height:var(--pds-height-cart-header)}.pds-cart-title{font-size:18px;font-weight:700;color:var(--pds-text-primary);display:flex;align-items:center;gap:var(--pds-spacing-sm)}.pds-cart-badge{background:var(--pds-primary);color:#fff;font-size:12px;font-weight:600;padding:2px var(--pds-spacing-sm);border-radius:var(--pds-radius-md);min-width:20px;text-align:center}.pds-cart-clear{font-size:12px;color:var(--pds-error);cursor:pointer;padding:var(--pds-spacing-xs) var(--pds-spacing-sm);border-radius:var(--pds-radius-sm);transition:all .2s ease}.pds-cart-clear:hover{background:#ef44441a}.pds-cart-items{flex:1;overflow-y:auto;padding:var(--pds-spacing-md);scrollbar-width:thin;scrollbar-color:var(--pds-border) transparent}.pds-cart-item{display:flex;gap:var(--pds-spacing-md);padding:var(--pds-spacing-md);background:var(--pds-bg-secondary);border-radius:var(--pds-radius-md);margin-bottom:var(--pds-spacing-sm)}.pds-cart-item:hover{box-shadow:var(--pds-shadow-sm)}.pds-cart-summary{padding:var(--pds-spacing-lg);border-top:1px solid var(--pds-border);background:var(--pds-bg-secondary)}.pds-summary-row{display:flex;justify-content:space-between;margin-bottom:var(--pds-spacing-sm);font-size:14px;color:var(--pds-text-secondary)}.pds-summary-row.total{font-size:18px;font-weight:700;color:var(--pds-text-primary);padding-top:var(--pds-spacing-sm);border-top:1px solid var(--pds-border)}.pds-checkout-section{padding:var(--pds-spacing-lg);border-top:1px solid var(--pds-border)}.pds-checkout-btn{width:100%;height:var(--pds-height-checkout);background:var(--pds-gradient-checkout);color:#fff;border:none;border-radius:var(--pds-radius-lg);font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:var(--pds-spacing-sm);font-family:var(--pds-font-sans)}.pds-checkout-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #05966966}.pds-checkout-btn:active:not(:disabled){transform:translateY(0)}.pds-checkout-btn:disabled{background:var(--pds-text-disabled);cursor:not-allowed;opacity:.6}.pds-checkout-icon{font-size:20px}.pds-quick-actions{background:var(--pds-bg-card);border-top:1px solid var(--pds-border);max-height:200px;overflow-y:auto}.pds-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--pds-border)}.pds-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--pds-spacing-lg) var(--pds-spacing-sm);background:var(--pds-bg-card);border:none;cursor:pointer;transition:all .2s ease;gap:var(--pds-spacing-xs);min-height:64px;color:var(--pds-text-secondary)}.pds-action-btn:hover{background:#f0f9ff;color:var(--pds-primary)}.pds-action-btn:active{background:#dbeafe}.pds-action-icon{font-size:20px}.pds-action-label{font-size:11px;font-weight:500}@media (max-width: 1200px){.pds-layout{grid-template-columns:1fr var(--pds-width-sidebar-sm)}.pds-products-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.pds-actions-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.pds-layout{grid-template-columns:1fr;grid-template-rows:1fr auto}.pds-sidebar{max-height:50vh;border-left:none;border-top:2px solid var(--pds-border)}.pds-products-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--pds-spacing-sm);padding:var(--pds-spacing-md)}.pds-product-card{height:140px;padding:var(--pds-spacing-sm)}.pds-toolbar{padding:var(--pds-spacing-sm) var(--pds-spacing-md)}.pds-categories-list{padding:0 var(--pds-spacing-md)}}@keyframes pds-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pds-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.pds-animate-pulse{animation:pds-pulse 2s infinite}.pds-animate-slide-up{animation:pds-slide-up .3s ease-out}.pds-text-center{text-align:center}.pds-text-right{text-align:right}.pds-font-mono{font-family:var(--pds-font-mono)}.pds-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pds-hidden{display:none}.pds-invisible{visibility:hidden}.pds-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}.pds-toolbar-btn:focus-visible,.pds-category-btn:focus-visible,.pds-product-card:focus-visible,.pds-action-btn:focus-visible,.pds-checkout-btn:focus-visible{outline:2px solid var(--pds-primary);outline-offset:2px}@media print{.pds-toolbar,.pds-categories,.pds-quick-actions{display:none}.pds-layout{grid-template-columns:1fr}.pds-sidebar{border:none;max-height:none}}:root{--phoenix-primary-50: #eff6ff;--phoenix-primary-100: #dbeafe;--phoenix-primary-200: #bfdbfe;--phoenix-primary-300: #93c5fd;--phoenix-primary-400: #60a5fa;--phoenix-primary-500: #3b82f6;--phoenix-primary-600: #2563eb;--phoenix-primary-700: #1d4ed8;--phoenix-primary-800: #1e40af;--phoenix-primary-900: #1e3a8a;--pds-primary: var(--phoenix-primary-500);--pds-primary-hover: var(--phoenix-primary-600);--pds-primary-light: var(--phoenix-primary-100);--pos-primary: var(--phoenix-primary-500);--phoenix-success-50: #ecfdf5;--phoenix-success-100: #d1fae5;--phoenix-success-200: #a7f3d0;--phoenix-success-300: #6ee7b7;--phoenix-success-400: #34d399;--phoenix-success-500: #10b981;--phoenix-success-600: #059669;--phoenix-success-700: #047857;--pds-success: var(--phoenix-success-500);--pds-success-hover: var(--phoenix-success-600);--pos-checkout-bg: var(--phoenix-success-600);--phoenix-warning-50: #fffbeb;--phoenix-warning-100: #fef3c7;--phoenix-warning-200: #fde68a;--phoenix-warning-300: #fcd34d;--phoenix-warning-400: #fbbf24;--phoenix-warning-500: #f59e0b;--phoenix-warning-600: #d97706;--pds-warning: var(--phoenix-warning-500);--pds-warning-light: var(--phoenix-warning-100);--phoenix-error-50: #fef2f2;--phoenix-error-100: #fee2e2;--phoenix-error-200: #fecaca;--phoenix-error-400: #f87171;--phoenix-error-500: #ef4444;--phoenix-error-600: #dc2626;--pds-error: var(--phoenix-error-500);--pds-error-light: var(--phoenix-error-100);--phoenix-slate-50: #f8fafc;--phoenix-slate-100: #f1f5f9;--phoenix-slate-200: #e2e8f0;--phoenix-slate-300: #cbd5e1;--phoenix-slate-400: #94a3b8;--phoenix-slate-500: #64748b;--phoenix-slate-600: #475569;--phoenix-slate-700: #334155;--phoenix-slate-800: #1e293b;--phoenix-slate-900: #0f172a;--pds-bg-primary: var(--phoenix-slate-50);--pds-bg-secondary: #ffffff;--pds-bg-tertiary: var(--phoenix-slate-100);--pds-text-primary: var(--phoenix-slate-900);--pds-text-secondary: var(--phoenix-slate-600);--pds-text-muted: var(--phoenix-slate-400);--pds-border: var(--phoenix-slate-200);--pds-border-hover: var(--phoenix-slate-300);--pos-products-bg: var(--phoenix-slate-50);--pos-cart-bg: var(--phoenix-primary-50);--pos-cart-border: var(--phoenix-primary-400);--pos-checkout-panel-bg: #F5F3FF;--phoenix-bg-primary: #f8fafc;--phoenix-bg-secondary: #ffffff;--phoenix-bg-tertiary: #f1f5f9;--phoenix-bg-elevated: #ffffff;--phoenix-bg-overlay: rgba(15, 23, 42, .5);--phoenix-text-primary: #0f172a;--phoenix-text-secondary: #475569;--phoenix-text-tertiary: #64748b;--phoenix-text-disabled: #94a3b8;--phoenix-text-inverse: #ffffff;--phoenix-border-light: #e2e8f0;--phoenix-border-default: #cbd5e1;--phoenix-border-focus: #3b82f6;--phoenix-gradient-header: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #60a5fa 100%);--phoenix-gradient-checkout: linear-gradient(135deg, #047857 0%, #10b981 50%, #34d399 100%);--phoenix-gradient-primary: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%);--phoenix-gradient-accent: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);--phoenix-gradient-glass: linear-gradient(135deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.7) 100%);--phoenix-font-display: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--phoenix-font-body: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--phoenix-font-sans: var(--phoenix-font-body);--phoenix-font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--phoenix-text-xs: .75rem;--phoenix-text-sm: .875rem;--phoenix-text-base: 1rem;--phoenix-text-lg: 1.125rem;--phoenix-text-xl: 1.25rem;--phoenix-text-2xl: 1.5rem;--phoenix-text-3xl: 1.875rem;--phoenix-text-4xl: 2.25rem;--phoenix-font-light: 300;--phoenix-font-normal: 400;--phoenix-font-medium: 500;--phoenix-font-semibold: 600;--phoenix-font-bold: 700;--phoenix-space-0: 0;--phoenix-space-1: .25rem;--phoenix-space-2: .5rem;--phoenix-space-3: .75rem;--phoenix-space-4: 1rem;--phoenix-space-5: 1.25rem;--phoenix-space-6: 1.5rem;--phoenix-space-8: 2rem;--phoenix-space-10: 2.5rem;--phoenix-space-12: 3rem;--phoenix-space-16: 4rem;--phoenix-radius-none: 0;--phoenix-radius-sm: .375rem;--phoenix-radius-md: .5rem;--phoenix-radius-lg: .75rem;--phoenix-radius-xl: 1rem;--phoenix-radius-2xl: 1.25rem;--phoenix-radius-3xl: 1.5rem;--phoenix-radius-full: 9999px;--phoenix-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--phoenix-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .05), 0 1px 2px -1px rgb(0 0 0 / .05);--phoenix-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--phoenix-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .05);--phoenix-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .05);--phoenix-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .2);--phoenix-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--phoenix-shadow-primary: 0 4px 14px 0 rgba(59, 130, 246, .25);--phoenix-shadow-success: 0 4px 14px 0 rgba(16, 185, 129, .25);--phoenix-shadow-checkout: 0 8px 24px -4px rgba(16, 185, 129, .35);--phoenix-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--phoenix-transition-normal: .2s cubic-bezier(.4, 0, .2, 1);--phoenix-transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--phoenix-transition-bounce: .3s cubic-bezier(.34, 1.56, .64, 1);--phoenix-height-button: 40px;--phoenix-height-button-sm: 32px;--phoenix-height-input-lg: 52px;--phoenix-height-input-sm: 36px;--phoenix-touch-target-min: 44px;--phoenix-border: var(--phoenix-border-light);--phoenix-border-hover: var(--phoenix-border-default);--phoenix-z-base: 0;--phoenix-z-dropdown: 100;--phoenix-z-sticky: 200;--phoenix-z-overlay: 300;--phoenix-z-modal: 400;--phoenix-z-popover: 500;--phoenix-z-tooltip: 600;--phoenix-z-toast: 700;--phoenix-height-input: 44px;--phoenix-height-button: 44px;--phoenix-height-button-lg: 52px;--phoenix-height-stats-bar: 56px;--phoenix-height-toolbar: 72px;--phoenix-height-category: 52px}.phoenix-pos-page{font-family:var(--phoenix-font-body);color:var(--phoenix-text-primary);background:var(--phoenix-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pds-stats-bar,.phoenix-stats-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--phoenix-space-3) var(--phoenix-space-5);background:var(--phoenix-gradient-header);color:var(--phoenix-text-inverse);min-height:var(--phoenix-height-stats-bar);position:relative;overflow:hidden}.pds-stats-bar:before,.phoenix-stats-bar:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%);pointer-events:none}.pds-stat-item,.phoenix-stat-item{text-align:center;min-width:90px;padding:var(--phoenix-space-2) var(--phoenix-space-3);border-radius:var(--phoenix-radius-md);transition:all var(--phoenix-transition-fast)}.pds-stat-item:hover,.phoenix-stat-item:hover{background:#ffffff1a}.pds-stat-value,.phoenix-stat-value{font-family:var(--phoenix-font-display);font-size:var(--phoenix-text-xl);font-weight:var(--phoenix-font-bold);line-height:1.2;letter-spacing:-.02em}.pds-stat-label,.phoenix-stat-label{font-size:var(--phoenix-text-xs);font-weight:var(--phoenix-font-medium);opacity:.85;margin-top:var(--phoenix-space-1);text-transform:uppercase;letter-spacing:.05em}.pds-toolbar,.phoenix-toolbar{display:flex;align-items:center;gap:var(--phoenix-space-3);padding:var(--phoenix-space-3) var(--phoenix-space-5);background:var(--phoenix-bg-secondary);border-bottom:1px solid var(--phoenix-border-light);min-height:var(--phoenix-height-toolbar)}.pds-search-input,.phoenix-search-input{width:100%;height:var(--phoenix-height-input);padding:0 var(--phoenix-space-4) 0 var(--phoenix-space-12);border:2px solid var(--phoenix-border-light);border-radius:var(--phoenix-radius-full);font-family:var(--phoenix-font-body);font-size:var(--phoenix-text-base);color:var(--phoenix-text-primary);background:var(--phoenix-bg-tertiary);transition:all var(--phoenix-transition-fast)}.pds-search-input:hover,.phoenix-search-input:hover{border-color:var(--phoenix-border-default);background:var(--phoenix-bg-secondary)}.pds-search-input:focus,.phoenix-search-input:focus{outline:none;border-color:var(--phoenix-primary-500);background:var(--phoenix-bg-secondary);box-shadow:0 0 0 4px var(--phoenix-primary-100)}.pds-search-input::-moz-placeholder,.phoenix-search-input::-moz-placeholder{color:var(--phoenix-text-disabled)}.pds-search-input::placeholder,.phoenix-search-input::placeholder{color:var(--phoenix-text-disabled)}.pds-toolbar-btn,.phoenix-toolbar-btn{display:flex;align-items:center;justify-content:center;width:var(--phoenix-height-input);height:var(--phoenix-height-input);border:1px solid var(--phoenix-border-light);border-radius:var(--phoenix-radius-lg);background:var(--phoenix-bg-secondary);color:var(--phoenix-text-secondary);font-size:var(--phoenix-text-lg);cursor:pointer;transition:all var(--phoenix-transition-fast)}.pds-toolbar-btn:hover,.phoenix-toolbar-btn:hover{border-color:var(--phoenix-primary-300);background:var(--phoenix-primary-50);color:var(--phoenix-primary-600);transform:translateY(-1px);box-shadow:var(--phoenix-shadow-sm)}.pds-toolbar-btn:active,.phoenix-toolbar-btn:active{transform:translateY(0);box-shadow:none}.pds-category-btn,.phoenix-category-btn{display:inline-flex;align-items:center;gap:var(--phoenix-space-2);padding:var(--phoenix-space-2) var(--phoenix-space-4);background:var(--phoenix-bg-secondary);border:1px solid var(--phoenix-border-light);border-radius:var(--phoenix-radius-full);font-family:var(--phoenix-font-body);font-size:var(--phoenix-text-sm);font-weight:var(--phoenix-font-medium);color:var(--phoenix-text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--phoenix-transition-fast)}.pds-category-btn:hover,.phoenix-category-btn:hover{border-color:var(--phoenix-primary-300);background:var(--phoenix-primary-50);color:var(--phoenix-primary-600)}.pds-category-btn.active,.phoenix-category-btn.active,.pds-category-btn[data-active=true],.phoenix-category-btn[data-active=true]{background:var(--phoenix-primary-500);border-color:var(--phoenix-primary-500);color:var(--phoenix-text-inverse);box-shadow:var(--phoenix-shadow-primary)}.pds-category-count,.phoenix-category-count{padding:var(--phoenix-space-1) var(--phoenix-space-2);background:#00000014;border-radius:var(--phoenix-radius-sm);font-size:var(--phoenix-text-xs);font-weight:var(--phoenix-font-semibold)}.pds-category-btn.active .pds-category-count,.phoenix-category-btn.active .phoenix-category-count{background:#ffffff40}.pds-product-card,.phoenix-product-card{position:relative;display:flex;flex-direction:column;padding:var(--phoenix-space-3);background:var(--phoenix-bg-secondary);border:1px solid var(--phoenix-border-light);border-radius:var(--phoenix-radius-lg);cursor:pointer;transition:all var(--phoenix-transition-normal);overflow:hidden}.pds-product-card:before,.phoenix-product-card:before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:0;background:var(--phoenix-gradient-primary);transition:opacity var(--phoenix-transition-normal);pointer-events:none}.pds-product-card:hover,.phoenix-product-card:hover{border-color:var(--phoenix-primary-300);transform:translateY(-3px);box-shadow:var(--phoenix-shadow-lg)}.pds-product-card:hover:before,.phoenix-product-card:hover:before{opacity:.03}.pds-product-card:active,.phoenix-product-card:active{transform:translateY(-1px)}.pds-product-card.selected,.phoenix-product-card.selected,.pds-product-card[data-selected=true],.phoenix-product-card[data-selected=true]{border-color:var(--phoenix-primary-500);box-shadow:0 0 0 3px var(--phoenix-primary-100),var(--phoenix-shadow-lg)}.pds-product-card.selected:before,.phoenix-product-card.selected:before{opacity:.05}.pds-product-stock-badge,.phoenix-stock-badge{position:absolute;top:var(--phoenix-space-2);right:var(--phoenix-space-2);padding:var(--phoenix-space-1) var(--phoenix-space-2);font-size:var(--phoenix-text-xs);font-weight:var(--phoenix-font-semibold);border-radius:var(--phoenix-radius-sm);background:var(--phoenix-success-500);color:var(--phoenix-text-inverse)}.pds-product-stock-badge.low,.phoenix-stock-badge.low{background:var(--phoenix-warning-500)}.pds-product-stock-badge.out,.phoenix-stock-badge.out{background:var(--phoenix-error-500)}.pds-product-name,.phoenix-product-name{font-family:var(--phoenix-font-display);font-size:var(--phoenix-text-sm);font-weight:var(--phoenix-font-semibold);color:var(--phoenix-text-primary);line-height:1.3;margin-bottom:var(--phoenix-space-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pds-product-price,.phoenix-product-price{font-family:var(--phoenix-font-display);font-size:var(--phoenix-text-lg);font-weight:var(--phoenix-font-bold);color:var(--phoenix-primary-600);letter-spacing:-.02em;margin-top:auto}.pds-cart-header,.phoenix-cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--phoenix-space-4) var(--phoenix-space-5);background:var(--phoenix-bg-tertiary);border-bottom:1px solid var(--phoenix-border-light)}.pds-cart-title,.phoenix-cart-title{display:flex;align-items:center;gap:var(--phoenix-space-3);font-family:var(--phoenix-font-display);font-size:var(--phoenix-text-lg);font-weight:var(--phoenix-font-bold);color:var(--phoenix-text-primary)}.pds-cart-badge,.phoenix-cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--phoenix-space-2);background:var(--phoenix-primary-500);color:var(--phoenix-text-inverse);font-size:var(--phoenix-text-xs);font-weight:var(--phoenix-font-bold);border-radius:var(--phoenix-radius-full)}.pds-cart-item,.phoenix-cart-item{display:flex;gap:var(--phoenix-space-3);padding:var(--phoenix-space-3);background:var(--phoenix-bg-secondary);border-radius:var(--phoenix-radius-md);margin-bottom:var(--phoenix-space-2);border:1px solid transparent;transition:all var(--phoenix-transition-fast)}.pds-cart-item:hover,.phoenix-cart-item:hover{background:var(--phoenix-bg-tertiary);border-color:var(--phoenix-border-light)}.pds-cart-summary,.phoenix-cart-summary{padding:var(--phoenix-space-4) var(--phoenix-space-5);background:var(--phoenix-bg-tertiary);border-top:1px solid var(--phoenix-border-light)}.pds-summary-row,.phoenix-summary-row{display:flex;justify-content:space-between;align-items:center;padding:var(--phoenix-space-2) 0;font-size:var(--phoenix-text-sm);color:var(--phoenix-text-secondary)}.pds-summary-row.total,.phoenix-summary-row.total{padding-top:var(--phoenix-space-3);margin-top:var(--phoenix-space-2);border-top:2px solid var(--phoenix-border-light);font-family:var(--phoenix-font-display);font-size:var(--phoenix-text-xl);font-weight:var(--phoenix-font-bold);color:var(--phoenix-text-primary)}.pds-checkout-btn,.phoenix-checkout-btn{display:flex;align-items:center;justify-content:center;gap:var(--phoenix-space-2);width:100%;height:var(--phoenix-height-button-lg);padding:0 var(--phoenix-space-6);background:var(--phoenix-gradient-checkout);color:var(--phoenix-text-inverse);border:none;border-radius:var(--phoenix-radius-xl);font-family:var(--phoenix-font-display);font-size:var(--phoenix-text-lg);font-weight:var(--phoenix-font-bold);cursor:pointer;transition:all var(--phoenix-transition-normal);position:relative;overflow:hidden}.pds-checkout-btn:before,.phoenix-checkout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.pds-checkout-btn:hover:not(:disabled),.phoenix-checkout-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--phoenix-shadow-checkout)}.pds-checkout-btn:hover:not(:disabled):before,.phoenix-checkout-btn:hover:not(:disabled):before{left:100%}.pds-checkout-btn:active:not(:disabled),.phoenix-checkout-btn:active:not(:disabled){transform:translateY(0)}.pds-checkout-btn:disabled,.phoenix-checkout-btn:disabled{background:var(--phoenix-slate-300);cursor:not-allowed;opacity:.7}.pds-action-btn,.phoenix-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--phoenix-space-1);padding:var(--phoenix-space-3) var(--phoenix-space-2);background:var(--phoenix-bg-secondary);border:none;border-radius:var(--phoenix-radius-md);color:var(--phoenix-text-secondary);font-size:var(--phoenix-text-xs);font-weight:var(--phoenix-font-medium);cursor:pointer;transition:all var(--phoenix-transition-fast);min-height:60px}.pds-action-btn:hover,.phoenix-action-btn:hover{background:var(--phoenix-primary-50);color:var(--phoenix-primary-600);transform:translateY(-1px)}.pds-action-btn:active,.phoenix-action-btn:active{transform:translateY(0);background:var(--phoenix-primary-100)}.pds-action-btn.active,.phoenix-action-btn.active{background:var(--phoenix-primary-100);color:var(--phoenix-primary-700)}.pds-action-icon,.phoenix-action-icon{font-size:var(--phoenix-text-xl)}@keyframes phoenix-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes phoenix-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes phoenix-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes phoenix-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.phoenix-fade-in{animation:phoenix-fade-in .2s ease-out}.phoenix-scale-in{animation:phoenix-scale-in .2s ease-out}.phoenix-slide-up{animation:phoenix-slide-up .3s ease-out}.phoenix-skeleton{background:linear-gradient(90deg,var(--phoenix-slate-100) 0%,var(--phoenix-slate-200) 50%,var(--phoenix-slate-100) 100%);background-size:200% 100%;animation:phoenix-shimmer 1.5s infinite;border-radius:var(--phoenix-radius-md)}.pds-toolbar-btn:focus-visible,.pds-category-btn:focus-visible,.pds-product-card:focus-visible,.pds-action-btn:focus-visible,.pds-checkout-btn:focus-visible,.phoenix-toolbar-btn:focus-visible,.phoenix-category-btn:focus-visible,.phoenix-product-card:focus-visible,.phoenix-action-btn:focus-visible,.phoenix-checkout-btn:focus-visible{outline:2px solid var(--phoenix-primary-500);outline-offset:2px}@media (max-width: 1400px){:root{--phoenix-height-stats-bar: 52px;--phoenix-height-toolbar: 64px}}@media (max-width: 1200px){:root{--phoenix-text-xl: 1.125rem;--phoenix-text-2xl: 1.25rem}.pds-stat-value,.phoenix-stat-value{font-size:var(--phoenix-text-lg)}}@media (max-width: 768px){:root{--phoenix-height-input: 40px;--phoenix-height-button: 40px;--phoenix-height-button-lg: 48px}.pds-stats-bar,.phoenix-stats-bar{flex-wrap:wrap;gap:var(--phoenix-space-2)}.pds-stat-item,.phoenix-stat-item{min-width:auto;flex:1}}@media print{.pds-stats-bar,.phoenix-stats-bar,.pds-toolbar,.phoenix-toolbar,.pds-action-btn,.phoenix-action-btn{display:none!important}}@media (prefers-color-scheme: dark){:root{--phoenix-bg-primary: #0f172a;--phoenix-bg-secondary: #1e293b;--phoenix-bg-tertiary: #334155;--phoenix-bg-elevated: #1e293b;--phoenix-text-primary: #f8fafc;--phoenix-text-secondary: #cbd5e1;--phoenix-text-tertiary: #94a3b8;--phoenix-text-disabled: #64748b;--phoenix-border-light: #334155;--phoenix-border-default: #475569}.pds-product-card,.phoenix-product-card{background:var(--phoenix-bg-secondary);border-color:var(--phoenix-border-light)}.pds-search-input,.phoenix-search-input{background:var(--phoenix-bg-secondary);border-color:var(--phoenix-border-light);color:var(--phoenix-text-primary)}}.minimal-product-card{position:relative;display:flex;flex-direction:column;background:var(--phoenix-bg-secondary, #ffffff);border:1px solid var(--phoenix-border-light, #e2e8f0);border-radius:var(--phoenix-radius-lg, 12px);padding:var(--phoenix-space-2, 8px);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);overflow:hidden}.minimal-product-card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,var(--phoenix-primary-500, #3b82f6) 0%,var(--phoenix-primary-600, #2563eb) 100%);opacity:0;transition:opacity .2s ease;pointer-events:none}.minimal-product-card:hover{border-color:var(--phoenix-primary-300, #93c5fd);transform:translateY(-2px);box-shadow:0 4px 6px -1px #3b82f61a,0 2px 4px -2px #3b82f61a}.minimal-product-card:hover:after{opacity:.03}.minimal-product-card:active{transform:translateY(0);box-shadow:0 1px 2px #0000000d}.minimal-product-card.selected{border-color:var(--phoenix-primary-500, #3b82f6);box-shadow:0 0 0 3px var(--phoenix-primary-100, #dbeafe),0 4px 6px -1px #3b82f626}.minimal-product-card.out-of-stock{opacity:.6;cursor:not-allowed}.minimal-product-card.out-of-stock:hover{transform:none;box-shadow:none}.compact-product-card{position:relative;display:flex;flex-direction:column;background:var(--phoenix-bg-secondary, #ffffff);border:1px solid var(--phoenix-border-light, #e2e8f0);border-radius:var(--phoenix-radius-lg, 12px);overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.compact-product-card:hover{border-color:var(--phoenix-primary-300, #93c5fd);transform:translateY(-3px);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d}.compact-product-card.selected{border-color:var(--phoenix-primary-500, #3b82f6);box-shadow:0 0 0 3px var(--phoenix-primary-100, #dbeafe),0 10px 15px -3px #3b82f626}.compact-image-container,.detailed-image-container{position:relative;aspect-ratio:1;background:var(--phoenix-slate-100, #f1f5f9);overflow:hidden}.compact-image,.detailed-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.compact-product-card:hover .compact-image,.detailed-product-card:hover .detailed-image{transform:scale(1.05)}.compact-placeholder,.detailed-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--phoenix-slate-100, #f1f5f9) 0%,var(--phoenix-slate-200, #e2e8f0) 100%)}.placeholder-icon{font-size:2rem;opacity:.5}.compact-stock-badge,.detailed-stock-badge{position:absolute;top:var(--phoenix-space-2, 8px);right:var(--phoenix-space-2, 8px);display:flex;align-items:center;gap:var(--phoenix-space-1, 4px);padding:var(--phoenix-space-1, 4px) var(--phoenix-space-2, 8px);border-radius:var(--phoenix-radius-md, 8px);font-size:var(--phoenix-text-xs, 12px);font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.compact-stock-badge.stock-success,.detailed-stock-badge.stock-success{background:#10b981e6;color:#fff}.compact-stock-badge.stock-medium,.detailed-stock-badge.stock-medium{background:#3b82f6e6;color:#fff}.compact-stock-badge.stock-warning,.detailed-stock-badge.stock-warning{background:#f59e0be6;color:#fff}.compact-stock-badge.stock-error,.detailed-stock-badge.stock-error{background:#ef4444e6;color:#fff}.stock-icon{font-size:.75rem}.selection-indicator,.selection-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#3b82f626;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.selection-check,.selection-checkmark{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--phoenix-primary-500, #3b82f6);color:#fff;border-radius:50%;font-size:1.25rem;font-weight:700;box-shadow:0 4px 14px #3b82f666;animation:phoenix-scale-in .2s ease-out}.compact-info,.detailed-info{padding:var(--phoenix-space-3, 12px)}.compact-name,.detailed-name{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-sm, 14px);font-weight:600;color:var(--phoenix-text-primary, #0f172a);line-height:1.3;margin:0 0 var(--phoenix-space-2, 8px) 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.compact-details{display:flex;align-items:center;justify-content:space-between;gap:var(--phoenix-space-2, 8px)}.compact-price,.detailed-price{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-lg, 18px);font-weight:700;color:var(--phoenix-primary-600, #2563eb);letter-spacing:-.02em}.compact-barcode{font-family:var(--phoenix-font-mono, monospace);font-size:var(--phoenix-text-xs, 12px);color:var(--phoenix-text-tertiary, #64748b);background:var(--phoenix-slate-100, #f1f5f9);padding:2px 6px;border-radius:var(--phoenix-radius-sm, 6px)}.product-category{display:inline-flex;align-items:center;gap:var(--phoenix-space-1, 4px);padding:var(--phoenix-space-1, 4px) var(--phoenix-space-2, 8px);background:var(--phoenix-slate-100, #f1f5f9);border-radius:var(--phoenix-radius-full, 9999px);font-size:var(--phoenix-text-xs, 12px);color:var(--phoenix-text-secondary, #475569);margin-bottom:var(--phoenix-space-2, 8px)}.category-icon{font-size:.75rem}.category-name{font-weight:500}.phoenix-shopping-cart{display:flex;flex-direction:column;height:100%;background:var(--phoenix-bg-secondary, #ffffff)}.phoenix-cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--phoenix-space-4, 16px) var(--phoenix-space-5, 20px);background:linear-gradient(180deg,var(--phoenix-slate-50, #f8fafc) 0%,var(--phoenix-bg-secondary, #ffffff) 100%);border-bottom:1px solid var(--phoenix-border-light, #e2e8f0)}.phoenix-cart-title{display:flex;align-items:center;gap:var(--phoenix-space-3, 12px);font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-lg, 18px);font-weight:700;color:var(--phoenix-text-primary, #0f172a)}.phoenix-cart-title-icon{font-size:1.25rem}.phoenix-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 var(--phoenix-space-2, 8px);background:var(--phoenix-primary-500, #3b82f6);color:#fff;font-size:var(--phoenix-text-xs, 12px);font-weight:700;border-radius:var(--phoenix-radius-full, 9999px);box-shadow:0 2px 4px #3b82f64d}.phoenix-cart-clear-btn{display:flex;align-items:center;gap:var(--phoenix-space-1, 4px);padding:var(--phoenix-space-2, 8px) var(--phoenix-space-3, 12px);background:transparent;border:1px solid var(--phoenix-error-200, #fecaca);border-radius:var(--phoenix-radius-md, 8px);color:var(--phoenix-error-600, #dc2626);font-size:var(--phoenix-text-sm, 14px);font-weight:500;cursor:pointer;transition:all .15s ease}.phoenix-cart-clear-btn:hover{background:var(--phoenix-error-50, #fef2f2);border-color:var(--phoenix-error-300, #fca5a5)}.phoenix-cart-clear-btn:active{background:var(--phoenix-error-100, #fee2e2)}.phoenix-cart-items{flex:1;overflow-y:auto;padding:var(--phoenix-space-3, 12px);scrollbar-width:thin;scrollbar-color:var(--phoenix-slate-300, #cbd5e1) transparent}.phoenix-cart-items::-webkit-scrollbar{width:6px}.phoenix-cart-items::-webkit-scrollbar-track{background:transparent}.phoenix-cart-items::-webkit-scrollbar-thumb{background:var(--phoenix-slate-300, #cbd5e1);border-radius:3px}.phoenix-cart-items::-webkit-scrollbar-thumb:hover{background:var(--phoenix-slate-400, #94a3b8)}.phoenix-cart-item{display:flex;gap:var(--phoenix-space-3, 12px);padding:var(--phoenix-space-3, 12px);background:var(--phoenix-bg-secondary, #ffffff);border:1px solid var(--phoenix-border-light, #e2e8f0);border-radius:var(--phoenix-radius-lg, 12px);margin-bottom:var(--phoenix-space-2, 8px);transition:all .2s ease}.phoenix-cart-item:hover{background:var(--phoenix-slate-50, #f8fafc);border-color:var(--phoenix-border-default, #cbd5e1);box-shadow:var(--phoenix-shadow-sm, 0 1px 3px rgba(0,0,0,.05))}.phoenix-cart-item-image{width:56px;height:56px;border-radius:var(--phoenix-radius-md, 8px);-o-object-fit:cover;object-fit:cover;background:var(--phoenix-slate-100, #f1f5f9)}.phoenix-cart-item-info{flex:1;min-width:0}.phoenix-cart-item-name{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-sm, 14px);font-weight:600;color:var(--phoenix-text-primary, #0f172a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:var(--phoenix-space-1, 4px)}.phoenix-cart-item-price{font-size:var(--phoenix-text-sm, 14px);color:var(--phoenix-text-secondary, #475569)}.phoenix-quantity-control{display:flex;align-items:center;gap:var(--phoenix-space-2, 8px)}.phoenix-quantity-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--phoenix-slate-100, #f1f5f9);border:1px solid var(--phoenix-border-light, #e2e8f0);border-radius:var(--phoenix-radius-md, 8px);color:var(--phoenix-text-secondary, #475569);font-size:var(--phoenix-text-lg, 18px);font-weight:600;cursor:pointer;transition:all .15s ease}.phoenix-quantity-btn:hover{background:var(--phoenix-primary-50, #eff6ff);border-color:var(--phoenix-primary-300, #93c5fd);color:var(--phoenix-primary-600, #2563eb)}.phoenix-quantity-btn:active{transform:scale(.95)}.phoenix-quantity-btn.decrease:hover{background:var(--phoenix-error-50, #fef2f2);border-color:var(--phoenix-error-300, #fca5a5);color:var(--phoenix-error-600, #dc2626)}.phoenix-quantity-value{min-width:40px;text-align:center;font-family:var(--phoenix-font-mono, monospace);font-size:var(--phoenix-text-base, 16px);font-weight:600;color:var(--phoenix-text-primary, #0f172a)}.phoenix-cart-item-total{text-align:right;min-width:80px}.phoenix-cart-item-total-value{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-base, 16px);font-weight:700;color:var(--phoenix-primary-600, #2563eb)}.phoenix-cart-summary{padding:var(--phoenix-space-4, 16px) var(--phoenix-space-5, 20px);background:linear-gradient(180deg,var(--phoenix-bg-secondary, #ffffff) 0%,var(--phoenix-slate-50, #f8fafc) 100%);border-top:1px solid var(--phoenix-border-light, #e2e8f0)}.phoenix-summary-row{display:flex;justify-content:space-between;align-items:center;padding:var(--phoenix-space-2, 8px) 0}.phoenix-summary-label{font-size:var(--phoenix-text-sm, 14px);color:var(--phoenix-text-secondary, #475569)}.phoenix-summary-value{font-family:var(--phoenix-font-mono, monospace);font-size:var(--phoenix-text-sm, 14px);font-weight:600;color:var(--phoenix-text-primary, #0f172a)}.phoenix-summary-row.discount .phoenix-summary-value{color:var(--phoenix-error-500, #ef4444)}.phoenix-summary-row.total{padding-top:var(--phoenix-space-3, 12px);margin-top:var(--phoenix-space-2, 8px);border-top:2px solid var(--phoenix-border-light, #e2e8f0)}.phoenix-summary-row.total .phoenix-summary-label{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-lg, 18px);font-weight:700;color:var(--phoenix-text-primary, #0f172a)}.phoenix-summary-row.total .phoenix-summary-value{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-2xl, 24px);font-weight:700;color:var(--phoenix-primary-600, #2563eb)}.phoenix-checkout-section{padding:var(--phoenix-space-4, 16px) var(--phoenix-space-5, 20px);background:var(--phoenix-bg-secondary, #ffffff);border-top:1px solid var(--phoenix-border-light, #e2e8f0)}.phoenix-checkout-btn{display:flex;align-items:center;justify-content:center;gap:var(--phoenix-space-3, 12px);width:100%;height:56px;padding:0 var(--phoenix-space-6, 24px);background:linear-gradient(135deg,#047857,#10b981,#34d399);color:#fff;border:none;border-radius:var(--phoenix-radius-xl, 16px);font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-lg, 18px);font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.phoenix-checkout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}.phoenix-checkout-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px -4px #10b98166,0 4px 12px -2px #10b98133}.phoenix-checkout-btn:hover:not(:disabled):before{left:100%}.phoenix-checkout-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 12px -2px #10b9814d}.phoenix-checkout-btn:disabled{background:var(--phoenix-slate-300, #cbd5e1);cursor:not-allowed;opacity:.7}.phoenix-checkout-icon{font-size:1.5rem}.phoenix-checkout-text{display:flex;flex-direction:column;align-items:flex-start}.phoenix-checkout-label{font-size:var(--phoenix-text-sm, 14px);font-weight:500;opacity:.9}.phoenix-checkout-amount{font-size:var(--phoenix-text-xl, 20px);font-weight:700;letter-spacing:-.02em}.phoenix-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:1px;background:var(--phoenix-border-light, #e2e8f0);border-radius:var(--phoenix-radius-lg, 12px);overflow:hidden}.phoenix-quick-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--phoenix-space-1, 4px);padding:var(--phoenix-space-3, 12px) var(--phoenix-space-2, 8px);background:var(--phoenix-bg-secondary, #ffffff);border:none;color:var(--phoenix-text-secondary, #475569);font-size:var(--phoenix-text-xs, 12px);font-weight:500;cursor:pointer;transition:all .15s ease;min-height:64px}.phoenix-quick-action-btn:hover{background:var(--phoenix-primary-50, #eff6ff);color:var(--phoenix-primary-600, #2563eb)}.phoenix-quick-action-btn:active{background:var(--phoenix-primary-100, #dbeafe)}.phoenix-quick-action-btn.active{background:var(--phoenix-primary-100, #dbeafe);color:var(--phoenix-primary-700, #1d4ed8)}.phoenix-quick-action-icon{font-size:1.25rem}.phoenix-quick-action-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;background:var(--phoenix-primary-500, #3b82f6);color:#fff;font-size:10px;font-weight:700;border-radius:9px}.phoenix-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--phoenix-space-12, 48px) var(--phoenix-space-6, 24px);text-align:center}.phoenix-empty-icon{font-size:4rem;margin-bottom:var(--phoenix-space-4, 16px);opacity:.5}.phoenix-empty-title{font-family:var(--phoenix-font-display, "Rubik", sans-serif);font-size:var(--phoenix-text-lg, 18px);font-weight:600;color:var(--phoenix-text-primary, #0f172a);margin-bottom:var(--phoenix-space-2, 8px)}.phoenix-empty-description{font-size:var(--phoenix-text-sm, 14px);color:var(--phoenix-text-tertiary, #64748b);max-width:280px}@keyframes phoenix-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes phoenix-slide-in-right{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes phoenix-bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.phoenix-cart-item{animation:phoenix-slide-in-right .2s ease-out}.phoenix-cart-count{animation:phoenix-bounce-in .3s ease-out}@media (max-width: 1200px){.phoenix-cart-item{padding:var(--phoenix-space-2, 8px)}.phoenix-cart-item-image{width:48px;height:48px}}@media (max-width: 768px){.phoenix-checkout-btn{height:52px}.phoenix-checkout-amount{font-size:var(--phoenix-text-lg, 18px)}.phoenix-quick-actions{grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){.phoenix-cart-item,.phoenix-cart-count,.selection-check,.selection-checkmark{animation:none}}:root{--phoenix-primary: #1565C0;--phoenix-primary-light: #42A5F5;--phoenix-primary-dark: #0D47A1;--phoenix-surface-bg: #FFFFFF;--phoenix-surface-elevated: #F8FAFC;--phoenix-surface-muted: #F1F5F9;--phoenix-surface-highlight: #FFFBEB;--phoenix-text-primary: #1E293B;--phoenix-text-secondary: #475569;--phoenix-text-muted: #64748B;--phoenix-border-default: #E2E8F0;--phoenix-border-emphasis: #CBD5E1;--phoenix-border-accent: #1565C0;--phoenix-success: #059669;--phoenix-warning: #D97706;--phoenix-amber-bg: #FFFBEB;--phoenix-blue-bg: #EFF6FF;--phoenix-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--phoenix-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--phoenix-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}.summary-label,.summary-value,.cart-summary .summary-label,.cart-summary .summary-value,#optimized-pos-sidebar .summary-label,#optimized-pos-sidebar .summary-value,.optimized-shopping-cart .summary-label,.optimized-shopping-cart .summary-value{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important}.cart-summary,#optimized-pos-sidebar .cart-summary,.optimized-shopping-cart .cart-summary{padding:16px!important;margin:8px!important;background:var(--phoenix-amber-bg)!important;border:1px solid #FCD34D!important;border-left:4px solid var(--phoenix-primary)!important;border-radius:8px!important;box-shadow:var(--phoenix-shadow-sm)!important}.summary-row,#optimized-pos-sidebar .summary-row,.optimized-shopping-cart .summary-row{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:8px 0!important;margin:0!important;border:none!important}.summary-label,#optimized-pos-sidebar .summary-label,.optimized-shopping-cart .summary-label{font-size:14px!important;font-weight:500!important;color:var(--phoenix-text-secondary)!important;background:transparent!important;padding:0!important;margin:0!important}.summary-value,#optimized-pos-sidebar .summary-value,.optimized-shopping-cart .summary-value{font-size:16px!important;font-weight:600!important;color:var(--phoenix-text-primary)!important;-webkit-text-fill-color:var(--phoenix-text-primary)!important;background:transparent!important;font-variant-numeric:tabular-nums!important;padding:0!important;margin:0!important}.subtotal-row,.summary-row.subtotal-row,#optimized-pos-sidebar .subtotal-row,.optimized-shopping-cart .subtotal-row{padding:10px 12px!important;margin:4px -8px!important;background:#fff9!important;border-radius:6px!important;border:none!important;border-left:3px solid #93C5FD!important}.subtotal-row .summary-label,#optimized-pos-sidebar .subtotal-row .summary-label{font-size:14px!important;font-weight:600!important;color:var(--phoenix-text-secondary)!important}.subtotal-row .summary-value,#optimized-pos-sidebar .subtotal-row .summary-value{font-size:17px!important;font-weight:700!important;color:var(--phoenix-text-primary)!important;-webkit-text-fill-color:var(--phoenix-text-primary)!important}.total-row,.summary-row.total-row,#optimized-pos-sidebar .total-row,.optimized-shopping-cart .total-row{margin:12px -8px -8px!important;padding:16px!important;background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;border:none!important;border-top:2px solid var(--phoenix-primary)!important;border-radius:0 0 6px 6px!important}.total-row .summary-label,#optimized-pos-sidebar .total-row .summary-label{font-size:18px!important;font-weight:700!important;color:var(--phoenix-text-primary)!important;display:flex!important;align-items:center!important;gap:8px!important}.total-row .summary-label:before{content:none!important}.total-row .summary-value,#optimized-pos-sidebar .total-row .summary-value{font-size:28px!important;font-weight:800!important;color:var(--phoenix-primary)!important;-webkit-text-fill-color:var(--phoenix-primary)!important;line-height:1.2!important;text-shadow:0 1px 2px rgba(21,101,192,.1)!important}.discount-row,.summary-row.discount-row,#optimized-pos-sidebar .discount-row{padding:8px 0!important;border:none!important}.discount-row .summary-label{color:var(--phoenix-warning)!important;font-weight:500!important}.discount-row .summary-value{color:#dc2626!important;-webkit-text-fill-color:#DC2626!important;font-weight:600!important}.tax-row,.summary-row.tax-row,#optimized-pos-sidebar .tax-row{padding:8px 0!important;border:none!important}.tax-row .summary-label,.tax-row .summary-value{color:var(--phoenix-text-muted)!important;-webkit-text-fill-color:var(--phoenix-text-muted)!important;font-size:13px!important}.cart-table-row{margin:6px 8px!important;padding:12px 16px!important;background:var(--phoenix-surface-bg)!important;border:1px solid var(--phoenix-border-default)!important;border-radius:8px!important;box-shadow:var(--phoenix-shadow-sm)!important;transition:all .2s ease!important}.cart-table-row:hover{background:var(--phoenix-blue-bg)!important;border-color:#93c5fd!important;transform:translateY(-1px)!important;box-shadow:var(--phoenix-shadow-md)!important}.cart-table-row:nth-child(2n){background:var(--phoenix-surface-elevated)!important}.cart-table-row:nth-child(odd){background:var(--phoenix-surface-bg)!important}.checkout-section,#optimized-pos-sidebar .checkout-section{padding:12px!important;background:var(--phoenix-surface-bg)!important;border-top:1px solid var(--phoenix-border-default)!important}.primary-checkout-btn,#optimized-pos-sidebar .primary-checkout-btn{width:100%!important;height:52px!important;background:linear-gradient(135deg,#047857,#10b981,#34d399)!important;border:none!important;border-radius:16px!important;color:#fff!important;font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-size:18px!important;font-weight:700!important;cursor:pointer!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;box-shadow:0 4px 14px #10b98140!important}.primary-checkout-btn:hover:not(:disabled),#optimized-pos-sidebar .primary-checkout-btn:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 8px 24px -4px #10b98159!important}.primary-checkout-btn:active:not(:disabled){transform:translateY(0)!important}.primary-checkout-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280)!important;cursor:not-allowed!important;box-shadow:none!important}.cart-header,#optimized-pos-sidebar .cart-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:12px 16px!important;background:var(--phoenix-surface-elevated)!important;border-bottom:1px solid var(--phoenix-border-default)!important}.cart-title h3{font-size:16px!important;font-weight:700!important;color:var(--phoenix-text-primary)!important;margin:0!important}.badge-count{background:var(--phoenix-primary)!important;color:#fff!important;font-size:12px!important;font-weight:600!important;padding:2px 8px!important;border-radius:12px!important}.btn-quantity,.qty-btn{width:44px!important;height:44px!important;min-width:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid var(--phoenix-border-emphasis)!important;border-radius:8px!important;background:var(--phoenix-surface-bg)!important;color:var(--phoenix-text-primary)!important;font-size:18px!important;font-weight:600!important;cursor:pointer!important;transition:all .15s ease!important}.btn-quantity:hover:not(.disabled),.qty-btn:hover:not(.disabled){background:var(--phoenix-primary)!important;color:#fff!important;border-color:var(--phoenix-primary)!important}.btn-remove{width:44px!important;height:44px!important;min-width:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #FCA5A5!important;border-radius:8px!important;background:#fef2f2!important;color:#dc2626!important;font-size:16px!important;cursor:pointer!important;transition:all .15s ease!important}.btn-remove:hover{background:#dc2626!important;color:#fff!important;border-color:#dc2626!important}@media (prefers-contrast: high){.cart-summary{border:2px solid #000!important}.summary-value,.total-row .summary-value{color:#000!important;-webkit-text-fill-color:#000!important}}.btn-quantity:focus,.btn-remove:focus,.primary-checkout-btn:focus{outline:2px solid var(--phoenix-primary)!important;outline-offset:2px!important}@media (max-width: 768px){.cart-summary{padding:12px!important;margin:6px!important}.total-row .summary-value{font-size:24px!important}.primary-checkout-btn{height:48px!important;font-size:18px!important}}.checkout-button,.checkout-btn,.checkout-btn-a,.btn-checkout,.btn-primary-cta--checkout,.btn-primary-cta.btn-primary-cta--checkout,[class*=btn][class*=checkout],[class*=checkout][class*=btn],.pay-btn.checkout,.pds-checkout-btn,.pos-checkout__checkout-btn,.phoenix-checkout-btn,.primary-checkout-btn,#optimized-pos-sidebar .checkout-button,#optimized-pos-sidebar .checkout-btn,#optimized-pos-sidebar .btn-checkout,.checkout-area .checkout-button,.checkout-area .btn-checkout,.checkout-buttons .checkout-button,.checkout-buttons .btn-checkout{background:linear-gradient(135deg,#047857,#10b981,#34d399)!important;border-radius:16px!important;border:none!important;color:#fff!important;font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif!important;font-weight:700!important;box-shadow:0 4px 14px #10b98140!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important}.checkout-button:hover:not(:disabled),.checkout-btn:hover:not(:disabled),.checkout-btn-a:hover:not(:disabled),.btn-checkout:hover:not(:disabled),.btn-primary-cta--checkout:hover:not(:disabled),[class*=btn][class*=checkout]:hover:not(:disabled),[class*=checkout][class*=btn]:hover:not(:disabled),.pay-btn.checkout:hover:not(:disabled),.pds-checkout-btn:hover:not(:disabled),.pos-checkout__checkout-btn:hover:not(.disabled),.phoenix-checkout-btn:hover:not(:disabled),.primary-checkout-btn:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 8px 24px -4px #10b98159!important}.checkout-button:disabled,.checkout-btn:disabled,.checkout-btn-a:disabled,.btn-checkout:disabled,.btn-primary-cta--checkout:disabled,[class*=btn][class*=checkout]:disabled,[class*=checkout][class*=btn]:disabled,.pay-btn.checkout:disabled,.pds-checkout-btn:disabled,.pos-checkout__checkout-btn.disabled,.phoenix-checkout-btn:disabled,.primary-checkout-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280)!important;cursor:not-allowed!important;box-shadow:none!important;transform:none!important}.ds-page-header,.ds-page-header[class*=bg-gradient],[class*=ds-page][class*=header]{background:linear-gradient(135deg,#1e40af,#3b82f6,#60a5fa)!important;background-image:linear-gradient(135deg,#1e40af,#3b82f6,#60a5fa)!important}.mem-scale-header,.members-page-header,.member-levels-header{background:linear-gradient(135deg,#1e40af,#3b82f6,#60a5fa)!important}.hold-order-modal-header,.hold-orders-modal-header,.hold-order-header,.bom-modal-header,.transaction-history-header,.member-transaction-header,.boss-kpi-card-header,.dashboard-card-header,.report-header{background:linear-gradient(135deg,#1e40af,#3b82f6)!important}.wholesale-header,.batch-detail-modal-header{background:linear-gradient(to right,#1e40af,#3b82f6)!important}[class*=bg-gradient-to-r][class*=from-indigo],[class*=bg-gradient][class*=indigo],.from-indigo-600,.from-indigo-700{background:linear-gradient(to right,#1e40af,#3b82f6)!important;background-image:linear-gradient(to right,#1e40af,#3b82f6)!important}.sales-report-header,.categories-header{background:linear-gradient(135deg,#1e40af,#3b82f6)!important}[class*=-header][style*="#4F46E5"],[class*=-header][style*="#4f46e5"],[class*=-header][style*="#4338CA"],[class*=-header][style*="#4338ca"]{background:linear-gradient(135deg,#1e40af,#3b82f6)!important;background-image:linear-gradient(135deg,#1e40af,#3b82f6)!important}h1,h2,h3,h4,h5,h6,.page-title,.section-title,.card-title,.modal-title,[class*=-title],[class*=-header] h1,[class*=-header] h2,[class*=-header] h3{font-family:Rubik,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,sans-serif!important}html,body,#root,.App,p,span,label,input,textarea,select,button,div,a,li,td,th,.text-body,.text-content{font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,Microsoft JhengHei,sans-serif!important}#optimized-pos-sidebar{display:flex;flex-direction:column;background:var(--phoenix-bg-secondary, white);overflow:hidden;height:100%}#optimized-pos-sidebar .cart-section{display:flex!important;flex-direction:column!important;flex:1!important;background:var(--phoenix-primary-50, #EFF6FF)!important;border-radius:var(--phoenix-radius-lg, 12px)!important;box-shadow:var(--phoenix-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))!important;overflow:hidden!important;margin-bottom:var(--phoenix-space-4, 16px)!important;border-left:3px solid var(--phoenix-primary-500, #3B82F6)!important}#optimized-pos-sidebar .member-info-bar{padding:6px 12px!important;min-height:32px!important;max-height:32px!important;background:linear-gradient(90deg,#f0f9ff,#e0f2fe)!important;border-bottom:1px solid #bae6fd!important}#optimized-pos-sidebar .optimized-shopping-cart{display:flex!important;flex-direction:column!important;flex:1!important;width:100%!important;min-height:300px!important;max-height:calc(100vh - 150px)!important;background:#fff!important;border-radius:12px!important;box-shadow:0 1px 3px #0000001a!important;overflow:hidden!important;justify-content:flex-start!important;box-sizing:border-box!important}#optimized-pos-sidebar .checkout-section{flex-shrink:0!important;padding:4px 8px!important;background:#fff!important;border-top:1px solid #e2e8f0!important;margin-bottom:0!important}#optimized-pos-sidebar .primary-checkout-btn,#optimized-pos-sidebar .checkout-btn{width:100%!important;height:var(--phoenix-height-button-lg, 52px)!important;border:none!important;background:var(--phoenix-gradient-checkout, linear-gradient(135deg, #047857 0%, #10b981 50%, #34d399 100%))!important;color:var(--phoenix-text-inverse, white)!important;border-radius:var(--phoenix-radius-xl, 16px)!important;cursor:pointer!important;transition:all var(--phoenix-transition-normal, .2s) cubic-bezier(.4,0,.2,1)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:var(--phoenix-space-2, 8px)!important;font-family:var(--phoenix-font-display, "Rubik", sans-serif)!important;font-size:var(--phoenix-text-lg, 18px)!important;font-weight:var(--phoenix-font-bold, 700)!important;box-shadow:var(--phoenix-shadow-success, 0 4px 14px rgba(16, 185, 129, .25))!important;position:relative!important;overflow:hidden!important}#optimized-pos-sidebar .primary-checkout-btn:before,#optimized-pos-sidebar .checkout-btn:before{content:""!important;position:absolute!important;top:0!important;left:-100%!important;width:100%!important;height:100%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)!important;transition:left .5s ease!important}#optimized-pos-sidebar .primary-checkout-btn:hover:not(.disabled),#optimized-pos-sidebar .checkout-btn:hover:not(.disabled){transform:translateY(-2px)!important;box-shadow:var(--phoenix-shadow-checkout, 0 8px 24px -4px rgba(16, 185, 129, .35))!important}#optimized-pos-sidebar .primary-checkout-btn:hover:not(.disabled):before,#optimized-pos-sidebar .checkout-btn:hover:not(.disabled):before{left:100%!important}#optimized-pos-sidebar .primary-checkout-btn.disabled,#optimized-pos-sidebar .checkout-btn.disabled{background:var(--phoenix-slate-300, #9ca3af)!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important;opacity:.7!important}#optimized-pos-sidebar .cart-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:var(--phoenix-space-2, 8px) var(--phoenix-space-3, 12px)!important;border-bottom:1px solid var(--phoenix-border-light, #e2e8f0)!important;background:var(--phoenix-bg-tertiary, #f8fafc)!important;flex-shrink:0!important;min-height:var(--phoenix-height-input, 44px)!important}#optimized-pos-sidebar .cart-title h3{margin:0!important;font-family:var(--phoenix-font-display, "Rubik", sans-serif)!important;font-size:var(--phoenix-text-lg, 18px)!important;font-weight:var(--phoenix-font-bold, 700)!important;color:var(--phoenix-text-primary, #1e293b)!important;display:flex!important;align-items:center!important;gap:var(--phoenix-space-2, 8px)!important}#optimized-pos-sidebar .cart-badge .badge-count{background:var(--phoenix-primary-500, #3b82f6)!important;color:var(--phoenix-text-inverse, white)!important;font-size:var(--phoenix-text-xs, 12px)!important;font-weight:var(--phoenix-font-semibold, 600)!important;padding:2px 8px!important;border-radius:var(--phoenix-radius-full, 12px)!important;min-width:20px!important;text-align:center!important}#optimized-pos-sidebar .hold-orders-btn{width:36px!important;height:36px!important;border:1px solid #3b82f6!important;background:#fff!important;color:#3b82f6!important;border-radius:8px!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;transition:all .2s ease!important}#optimized-pos-sidebar .hold-orders-btn:hover{border-color:#3b82f6!important;background:#f0f9ff!important}#optimized-pos-sidebar .cart-content{flex:1!important;overflow-y:auto!important;padding:6px!important}#optimized-pos-sidebar .cart-empty{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;height:200px!important;color:#64748b!important;text-align:center!important}#optimized-pos-sidebar .empty-icon{font-size:48px!important;margin-bottom:16px!important;opacity:.5!important}#optimized-pos-sidebar .cart-empty h4{margin:0 0 8px!important;font-size:16px!important;color:#374151!important}#optimized-pos-sidebar .cart-empty p{margin:0!important;font-size:14px!important}#optimized-pos-sidebar .cart-item{display:flex!important;align-items:center!important;gap:12px!important;padding:12px 0!important;border-bottom:1px solid #f1f5f9!important}#optimized-pos-sidebar .item-info{flex:1!important;min-width:0!important}#optimized-pos-sidebar .item-name{font-size:14px!important;font-weight:600!important;color:#1e293b!important;margin-bottom:4px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}#optimized-pos-sidebar .item-price{font-size:12px!important;color:#64748b!important}#optimized-pos-sidebar .item-controls{display:flex!important;align-items:center!important;gap:8px!important;background:#f8fafc!important;border-radius:20px!important;padding:4px!important}#optimized-pos-sidebar .qty-btn{width:28px!important;height:28px!important;border:none!important;background:transparent!important;border-radius:50%!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:16px!important;color:#64748b!important;transition:all .2s ease!important}#optimized-pos-sidebar .qty-btn:hover{background:#e2e8f0!important;color:#1e293b!important}#optimized-pos-sidebar .qty-input{width:32px!important;text-align:center!important;font-weight:600!important;font-size:14px!important;border:none!important;background:transparent!important;outline:none!important}#optimized-pos-sidebar .item-total{font-size:14px!important;font-weight:700!important;color:#059669!important;min-width:60px!important;text-align:right!important}#optimized-pos-sidebar .cart-summary{padding:4px 12px!important;border-top:1px solid #e2e8f0!important;background:#f8fafc!important;flex-shrink:0!important}#optimized-pos-sidebar .summary-row{display:flex!important;justify-content:space-between!important;align-items:center!important;margin-bottom:2px!important;line-height:1.2!important}#optimized-pos-sidebar .summary-label{font-size:14px!important;color:#64748b!important}#optimized-pos-sidebar .summary-value{font-size:14px!important;font-weight:600!important;color:#1e293b!important}#optimized-pos-sidebar .total-row{border-top:1px solid #e2e8f0!important;padding-top:3px!important;margin-top:3px!important}#optimized-pos-sidebar .total-row .summary-label,#optimized-pos-sidebar .total-row .summary-value{font-size:15px!important;font-weight:700!important}#optimized-pos-sidebar .quick-actions{background:#fff!important;border-top:none!important;flex-shrink:0!important;margin-top:-1px!important}#optimized-pos-sidebar .quick-actions-panel{background:#fff!important;border-top:none!important;flex-shrink:0!important;padding:0!important;max-height:100px!important;overflow-y:hidden!important;margin-top:0!important}#optimized-pos-sidebar .actions-grid{display:flex!important;flex-direction:row!important;justify-content:space-evenly!important;align-items:center!important;gap:4px!important;background:transparent!important;border-top:1px solid #e2e8f0!important;width:100%!important;padding:8px 4px!important}#optimized-pos-sidebar .quick-action-btn{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:16px 8px!important;background:#fff!important;border:none!important;cursor:pointer!important;transition:all .2s ease!important;gap:4px!important;min-height:64px!important}#optimized-pos-sidebar .quick-action-btn:hover{background:#f0f9ff!important}#optimized-pos-sidebar .action-btn{display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;padding:var(--phoenix-space-2, 10px) var(--phoenix-space-3, 12px)!important;background:var(--phoenix-bg-secondary, white)!important;border:1px solid var(--phoenix-border, #e2e8f0)!important;cursor:pointer!important;transition:all var(--phoenix-transition-fast, .15s) ease!important;gap:var(--phoenix-space-1, 6px)!important;height:var(--phoenix-height-input, 44px)!important;border-radius:var(--phoenix-radius-md, 8px)!important;flex:1!important;white-space:nowrap!important;vertical-align:middle!important;font-family:var(--phoenix-font-sans, "Nunito Sans", sans-serif)!important}#optimized-pos-sidebar .action-btn:hover{background:var(--phoenix-primary-50, #f0f9ff)!important;border-color:var(--phoenix-primary-300, #93c5fd)!important;transform:translateY(-1px)!important}#optimized-pos-sidebar .action-icon{font-size:18px!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}#optimized-pos-sidebar .action-label{font-size:13px!important;color:#475569!important;font-weight:500!important;line-height:1.2!important;display:inline-flex!important;align-items:center!important;vertical-align:middle!important}#optimized-pos-sidebar .action-value{font-size:11px!important;color:#94a3b8!important;font-weight:400!important;text-align:center!important}@media (max-width: 1200px){#optimized-pos-sidebar .optimized-shopping-cart{min-height:350px!important;max-height:calc(100vh - 220px)!important}#optimized-pos-sidebar .actions-grid{flex-wrap:wrap!important;justify-content:center!important}}@media (max-width: 768px){#optimized-pos-sidebar .optimized-shopping-cart{max-height:50vh!important;min-height:300px!important}#optimized-pos-sidebar .cart-header,#optimized-pos-sidebar .cart-content,#optimized-pos-sidebar .checkout-section{padding:12px!important}#optimized-pos-sidebar .primary-checkout-btn{height:48px!important;font-size:16px!important}#optimized-pos-sidebar .quick-action-btn{min-height:56px!important;padding:12px 6px!important}}#optimized-pos-sidebar .cart-item{animation:slideUp .3s ease!important}#optimized-pos-sidebar .cart-content::-webkit-scrollbar{width:6px}#optimized-pos-sidebar .cart-content::-webkit-scrollbar-track{background:#f1f5f9}#optimized-pos-sidebar .cart-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}#optimized-pos-sidebar .cart-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}#pos-cart-header-v2 .cart-header,.cart-header-optimized{display:flex!important;align-items:center!important;justify-content:space-between!important;height:56px!important;padding:0 20px!important;background:#fff!important;border-bottom:2px solid #e5e7eb!important}#pos-cart-header-v2 .cart-title,.cart-header-optimized .cart-title{display:flex!important;align-items:center!important;gap:12px!important;height:100%!important}#pos-cart-header-v2 .cart-icon,.cart-header-optimized .cart-icon{width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:20px!important;line-height:1!important;transform:translateY(-1px)!important}#pos-cart-header-v2 .cart-label,.cart-header-optimized .cart-label{font-size:16px!important;font-weight:600!important;color:#1f2937!important;line-height:24px!important;margin:0!important;padding:0!important}#pos-cart-header-v2 .cart-badge,.cart-header-optimized .cart-badge{min-width:22px!important;height:22px!important;padding:0 7px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#3b82f6!important;color:#fff!important;border-radius:11px!important;font-size:12px!important;font-weight:700!important;line-height:1!important}#pos-cart-header-v2 .cart-actions,.cart-header-optimized .cart-actions{display:flex!important;align-items:center!important;gap:8px!important;height:100%!important}#pos-cart-header-v2 .cart-actions button,.cart-header-optimized .cart-actions button{height:36px!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;border:1px solid #e5e7eb!important;border-radius:8px!important;background:#fff!important;font-size:14px!important;font-weight:500!important;color:#6b7280!important;cursor:pointer!important;transition:all .2s ease!important;white-space:nowrap!important;font-family:inherit!important;vertical-align:middle!important}#pos-cart-header-v2 .hold-orders-btn,.cart-header-optimized .hold-orders-btn{width:36px!important;padding:0!important;font-size:18px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important}#pos-cart-header-v2 .hold-btn,.cart-header-optimized .hold-btn{display:flex!important;align-items:center!important;gap:6px!important}#pos-cart-header-v2 .hold-btn>*:first-child,.cart-header-optimized .hold-btn>*:first-child{display:inline-flex!important;align-items:center!important;line-height:1!important;vertical-align:middle!important}#pos-cart-header-v2 .clear-cart-btn,.cart-header-optimized .clear-cart-btn{color:#ef4444!important;border-color:#fecaca!important}#pos-cart-header-v2 .cart-actions button:hover,.cart-header-optimized .cart-actions button:hover{background:#f9fafb!important;border-color:#d1d5db!important;transform:translateY(-1px)!important}#pos-cart-header-v2 .cart-actions button:active,.cart-header-optimized .cart-actions button:active{transform:translateY(0)!important}#pos-cart-header-v2 .clear-cart-btn:hover,.cart-header-optimized .clear-cart-btn:hover{background:#fef2f2!important;border-color:#fca5a5!important;color:#dc2626!important}#optimized-pos-sidebar .cart-header.cart-header-optimized,.pds-sidebar .cart-header.cart-header-optimized{display:flex!important;align-items:center!important;justify-content:space-between!important;height:56px!important;padding:0 20px!important}.products-area{flex:1;overflow:hidden;background:var(--pds-bg-secondary, #f8f9fa)}.products-area .products-grid,.products-grid-v21{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))!important;gap:10px!important;padding:12px;height:100%;overflow-y:auto;scroll-behavior:smooth}.products-grid::-webkit-scrollbar{width:6px}.products-grid::-webkit-scrollbar-track{background:transparent}.products-grid::-webkit-scrollbar-thumb{background:var(--pds-border, #e2e8f0);border-radius:3px}.product-card{background:var(--pds-bg-card, white);border:2px solid var(--pds-border, #e5e7eb);border-radius:var(--pds-radius-lg, 12px);padding:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;height:180px;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000001a;overflow:hidden}.product-card:hover{border-color:var(--pds-primary, #3b82f6);transform:translateY(-4px);box-shadow:0 12px 24px #3b82f626;background:#fafbfc}.product-card:active{transform:translateY(-2px);transition:all .1s ease}.product-card.adding-to-cart{animation:cardPulse .4s ease-out;border-color:#22c55e}@keyframes cardPulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.product-image{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;overflow:hidden;box-shadow:0 4px 12px #667eea4d;transition:all .3s ease}.product-image:before{content:"";position:absolute;width:200%;height:200%;background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.05) 10px,rgba(255,255,255,.05) 20px);animation:shimmer 20s linear infinite;opacity:.5}@keyframes shimmer{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.product-image span{color:#fff;font-size:28px;font-weight:800;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.3);z-index:2;position:relative;background:linear-gradient(180deg,#fff,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.product-card:hover .product-image{transform:scale(1.1) rotate(5deg);box-shadow:0 6px 16px #667eea66}.product-card:hover .product-image span{transform:scale(1.05)}.products-grid .product-card .product-name{font-size:14px!important;font-weight:600!important;color:var(--pds-text-primary, #1e293b)!important;margin-bottom:8px;min-height:36px;line-height:1.3;display:block!important;overflow:hidden;text-align:center;visibility:visible!important;opacity:1!important;background:transparent!important;z-index:1}.product-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px solid #f1f1f1}.product-price{font-size:24px;font-weight:700;color:#1e40af;background:linear-gradient(135deg,#eff6ff,#dbeafe);padding:8px 12px;border-radius:8px;border-left:3px solid #3b82f6;box-shadow:0 2px 4px #3b82f61a;font-family:var(--pds-font-mono, "Roboto Mono", "SF Mono", monospace);letter-spacing:-.02em;line-height:1;display:inline-block;transition:all .3s ease}.product-card:hover .product-price{background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:scale(1.05);box-shadow:0 4px 8px #3b82f633}.product-price.highlight{animation:priceFlash .6s ease-out}@keyframes priceFlash{0%,to{transform:scale(1)}50%{transform:scale(1.08);box-shadow:0 6px 12px #3b82f64d}}.product-stock{font-size:12px;font-weight:600;padding:5px 10px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;transition:all .3s ease;border:1px solid transparent;position:relative}.product-stock{background:#dcfce7;color:#166534;border-color:#86efac}.product-stock:before{content:"";width:8px;height:8px;border-radius:50%;display:inline-block;background:#22c55e;box-shadow:0 0 0 3px #22c55e33}.product-stock.medium,.product-stock[data-stock-level=medium]{background:#fed7aa;color:#9a3412;border-color:#fdba74}.product-stock.medium:before,.product-stock[data-stock-level=medium]:before{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.product-stock.low,.product-stock[data-stock-level=low]{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.product-stock.low:before,.product-stock[data-stock-level=low]:before{background:#ef4444;box-shadow:0 0 0 3px #ef444433;animation:stockPulse 2s infinite}.product-stock.out,.product-stock[data-stock-level=out]{background:#f3f4f6;color:#6b7280;border-color:#d1d5db}.product-stock.out:before,.product-stock[data-stock-level=out]:before{background:#9ca3af;box-shadow:none}@keyframes stockPulse{0%,to{opacity:1}50%{opacity:.5}}.product-card:hover .product-stock{transform:scale(1.05);box-shadow:0 2px 4px #0000001a}@media (max-width: 1024px){.products-area .products-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important}}@media (max-width: 768px){.products-area .products-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:10px!important;padding:12px}.product-card{height:160px;padding:10px}.product-image{width:50px;height:50px}.product-image span{font-size:24px}.product-price{font-size:18px;padding:6px 10px}.product-stock{font-size:10px;padding:4px 8px}}@media (max-width: 480px){.products-area .products-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}.product-card{height:150px;padding:8px}}.product-card{-webkit-tap-highlight-color:rgba(59,130,246,.1)}.product-card:focus-visible{outline:3px solid var(--pds-primary, #3b82f6);outline-offset:3px;border-color:var(--pds-primary, #3b82f6);box-shadow:0 0 0 4px #3b82f61a,0 12px 24px #3b82f626}@media (hover: none) and (pointer: coarse){.product-card:active{transform:scale(.98);transition:transform .1s ease}}@media (prefers-reduced-motion: reduce){.product-card,.product-image,.product-price,.product-stock,.product-image:before{transition:none!important;animation:none!important}.product-card:hover{transform:none}}@media (prefers-contrast: high){.product-card{border-width:3px}.product-price{border-width:4px}.product-stock{border-width:2px}}@media print{.product-card{box-shadow:none;border:2px solid #ddd;page-break-inside:avoid}.product-price{background:#fff;border:2px solid #3b82f6}.product-image:before{display:none}}:root{--layout-left-width: 35%;--layout-center-width: 40%;--layout-right-width: 25%;--layout-gap: 16px;--layout-padding: 20px;--layout-padding-sm: 12px;--layout-padding-lg: 24px;--container-max-width: 1920px;--header-height: 64px;--footer-height: 0px;--scroll-area-height: calc(100vh - var(--header-height));--z-header: 1000;--z-modal: 2000;--z-notification: 3000;--z-floating-checkout: 1500;--transition-fast: .15s ease-out;--transition-normal: .3s ease-out;--transition-slow: .5s ease-out;--color-primary: #3B82F6;--color-primary-dark: #2563EB;--color-primary-light: #DBEAFE;--color-success: #059669;--color-warning: #FCD34D;--color-error: #DC2626;--color-info: #3B82F6;--color-bg-primary: #FFFFFF;--color-bg-secondary: #F9FAFB;--color-bg-tertiary: #F1F5F9;--color-text-primary: #1F2937;--color-text-secondary: #6B7280;--color-text-tertiary: #9CA3AF;--color-border: #E5E7EB;--color-divider: #D1D5DB;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--font-family-base: "Noto Sans TC", "Microsoft JhengHei", sans-serif;--font-family-mono: "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--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;--btn-min-height: 48px;--btn-min-width: 48px;--btn-padding-x: 24px;--btn-padding-y: 12px;--btn-touch-padding: 4px;--btn-border-radius: 8px;--btn-font-size: var(--font-size-base);--btn-font-weight: var(--font-weight-semibold);--btn-checkout-height: 60px;--btn-cancel-height: 48px}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-secondary)}.pos-page-container{display:flex;flex-direction:column;min-height:100vh;max-width:var(--container-max-width);margin:0 auto;background:var(--color-bg-secondary)}.pos-header{position:sticky;top:0;z-index:var(--z-header);height:var(--header-height);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.pos-layout{display:grid;grid-template-columns:var(--layout-left-width) var(--layout-center-width) var(--layout-right-width);gap:var(--layout-gap);padding:var(--layout-padding);flex:1;overflow:hidden}.layout-section{display:flex;flex-direction:column;background:var(--color-bg-primary);border-radius:var(--btn-border-radius);padding:var(--layout-padding);box-shadow:var(--shadow-sm);overflow:hidden;contain:layout style paint}.layout-section.layout-left{grid-column:1}.layout-section.layout-center{grid-column:2}.layout-section.layout-right{grid-column:3}@media (min-width: 1280px){:root{--layout-left-width: 35%;--layout-center-width: 40%;--layout-right-width: 25%;--layout-gap: 16px;--layout-padding: 20px}.pos-layout{grid-template-columns:var(--layout-left-width) var(--layout-center-width) var(--layout-right-width)}.tab-navigation{display:none}}@media (min-width: 768px) and (max-width: 1279px){:root{--layout-left-width: 30%;--layout-center-width: 45%;--layout-right-width: 25%;--layout-gap: 12px;--layout-padding: 16px}.pos-layout{grid-template-columns:var(--layout-left-width) var(--layout-center-width) var(--layout-right-width)}.tab-navigation{display:none}}@media (min-width: 600px) and (max-width: 767px){:root{--layout-left-width: 60%;--layout-center-width: 40%;--layout-gap: 12px;--layout-padding: 12px}.pos-layout{grid-template-columns:var(--layout-left-width) var(--layout-center-width);grid-template-rows:auto}.layout-section.layout-left{grid-column:1;grid-row:1}.layout-section.layout-center{grid-column:2;grid-row:1}.layout-section.layout-right{grid-column:1 / -1;grid-row:2;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-floating-checkout);background:var(--color-bg-primary);box-shadow:var(--shadow-lg);border-radius:var(--btn-border-radius) var(--btn-border-radius) 0 0;max-height:40vh;overflow-y:auto}.pos-layout{padding-bottom:calc(40vh + var(--layout-padding))}.tab-navigation{display:none}}@media (max-width: 599px){:root{--layout-gap: 0;--layout-padding: 12px}.pos-layout{display:block;padding:0 0 60px}.layout-section{display:none;width:100%;min-height:calc(100vh - var(--header-height) - 60px);border-radius:0;box-shadow:none}.layout-section.active{display:flex}.tab-navigation{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:var(--z-floating-checkout);background:var(--color-bg-primary);border-top:1px solid var(--color-border);box-shadow:var(--shadow-lg);height:60px}.tab-navigation-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);min-height:var(--btn-min-height)}.tab-navigation-item.active{color:var(--color-primary);background:var(--color-primary-light)}.tab-navigation-item:hover{background:var(--color-bg-secondary)}.tab-navigation-icon{font-size:var(--font-size-xl)}}@media (min-width: 1920px){.pos-page-container{max-width:var(--container-max-width);margin:0 auto}:root{--layout-gap: 20px;--layout-padding: 24px}}.layout-section::-webkit-scrollbar,.pos-layout::-webkit-scrollbar{width:8px;height:8px}.layout-section::-webkit-scrollbar-track,.pos-layout::-webkit-scrollbar-track{background:var(--color-bg-secondary);border-radius:4px}.layout-section::-webkit-scrollbar-thumb,.pos-layout::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px;-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}.layout-section::-webkit-scrollbar-thumb:hover,.pos-layout::-webkit-scrollbar-thumb:hover{background:var(--color-divider)}.layout-section,.pos-layout{scrollbar-width:thin;scrollbar-color:var(--color-border) var(--color-bg-secondary)}*:focus{outline:2px solid var(--color-primary);outline-offset:2px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){:root{--color-border: #000000;--color-divider: #000000}*:focus-visible{outline-width:3px}.layout-section{border:2px solid var(--color-border)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.layout-section{transition:none}}@media print{.pos-header,.tab-navigation{display:none}.pos-layout{display:block}.layout-section{page-break-inside:avoid;box-shadow:none;border:1px solid var(--color-border)}}.hidden{display:none!important}.mobile-only{display:none}@media (max-width: 599px){.mobile-only{display:block}.desktop-only{display:none!important}}.tablet-only{display:none}@media (min-width: 600px) and (max-width: 1279px){.tablet-only{display:block}}.desktop-only{display:none}@media (min-width: 1280px){.desktop-only{display:block}}.loading-overlay{position:fixed;inset:0;z-index:calc(var(--z-modal) + 1);background:#00000080;display:flex;align-items:center;justify-content:center}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-bg-primary);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@media (prefers-reduced-motion: reduce){.loading-spinner{animation:none;border-top-color:var(--color-primary)}}.product-selection-area{display:flex;flex-direction:column;height:100%;gap:16px;background:var(--pos-products-bg, #F8FAFC);padding:16px;border-radius:12px}.search-toolbar{display:flex;gap:8px;padding:var(--layout-padding-sm);background:var(--color-bg-secondary);border-radius:var(--btn-border-radius)}.search-input-wrapper{flex:1;position:relative}.search-input{width:100%;min-height:var(--btn-min-height);padding:0 48px 0 16px;font-size:var(--font-size-base);font-family:var(--font-family-base);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--btn-border-radius);transition:all var(--transition-fast)}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-input::-moz-placeholder{color:var(--color-text-tertiary)}.search-input::placeholder{color:var(--color-text-tertiary)}.search-clear-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:32px;min-height:32px;padding:0;background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;border-radius:4px;transition:all var(--transition-fast)}.search-clear-button:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.barcode-button,.refresh-button{min-width:var(--btn-min-width);min-height:var(--btn-min-height);padding:var(--btn-touch-padding);background:var(--color-primary);color:#fff;border:none;border-radius:var(--btn-border-radius);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.barcode-button:hover,.refresh-button:hover{background:var(--color-primary-dark);transform:scale(1.05)}.barcode-button:active,.refresh-button:active{transform:scale(.95)}.barcode-button:disabled,.refresh-button:disabled{background:var(--color-text-tertiary);cursor:not-allowed;transform:none}.category-navigation{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;min-height:60px!important;height:auto!important;padding:12px 8px;margin:8px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.category-navigation::-webkit-scrollbar{height:4px}.category-navigation::-webkit-scrollbar-track{background:transparent;border-radius:2px}.category-navigation::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.category-navigation::-webkit-scrollbar-thumb:hover{background:#94a3b8}.category-tab{flex-shrink:0;min-width:100px;min-height:42px;padding:10px 18px;background:#fff;border-radius:20px;border:2px solid #e2e8f0;font-size:14px;font-weight:600;color:#64748b;white-space:nowrap;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000000d}.category-tab.active{background:#dbeafe;border-color:#3b82f6;color:#1e40af;font-weight:700;box-shadow:0 2px 8px #3b82f633}.category-tab:hover:not(.active){background:#f1f5f9;border-color:#cbd5e1;color:#1e293b;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.category-tab:active{transform:translateY(0) scale(.98)}.category-tab:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:currentColor;opacity:.6}.category-tab.active:before{opacity:1}.product-grid-container{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:4px}.product-grid{display:grid;gap:12px}@media (min-width: 1280px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (min-width: 768px) and (max-width: 1279px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media (min-width: 600px) and (max-width: 767px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width: 599px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.product-card{display:flex;flex-direction:column;padding:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--btn-border-radius);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-height:140px;will-change:transform,box-shadow}.product-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card:active{transform:scale(.98)}.product-card.out-of-stock{opacity:.5;cursor:not-allowed}.product-card.out-of-stock:hover{transform:none;box-shadow:none;border-color:var(--color-border)}.product-image{width:100%;aspect-ratio:1 / 1;-o-object-fit:cover;object-fit:cover;border-radius:4px;margin-bottom:8px;background:var(--color-bg-secondary)}.product-image.loading{background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.product-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-top:auto}.product-price-original{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-tertiary);text-decoration:line-through;margin-right:4px}.product-price-discount{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-error);background:#fee2e2;padding:2px 6px;border-radius:4px;margin-left:4px}.product-stock{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:4px;display:flex;align-items:center;gap:4px}.product-stock.low{color:var(--color-error);font-weight:var(--font-weight-semibold)}.product-stock.out{color:var(--color-text-tertiary)}.product-stock-icon{font-size:var(--font-size-sm)}.product-badge{position:absolute;top:8px;right:8px;padding:4px 8px;background:var(--color-error);color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:4px;z-index:1}.product-badge.new{background:var(--color-success)}.product-badge.hot{background:var(--color-error)}.product-badge.sale{background:var(--color-warning);color:var(--color-text-primary)}.product-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--color-text-secondary);text-align:center;min-height:300px}.product-grid-empty-icon{font-size:64px;color:var(--color-text-tertiary);margin-bottom:16px}.product-grid-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:8px}.product-grid-empty-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);max-width:300px}.product-grid-loading{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.product-card-skeleton{display:flex;flex-direction:column;padding:12px;background:var(--color-bg-secondary);border-radius:var(--btn-border-radius);min-height:140px}.skeleton-image{width:100%;aspect-ratio:1 / 1;background:var(--color-bg-tertiary);border-radius:4px;margin-bottom:8px;animation:shimmer 1.5s infinite}.skeleton-name{width:80%;height:16px;background:var(--color-bg-tertiary);border-radius:4px;margin-bottom:8px;animation:shimmer 1.5s infinite}.skeleton-price{width:50%;height:20px;background:var(--color-bg-tertiary);border-radius:4px;margin-top:auto;animation:shimmer 1.5s infinite}.product-grid-sentinel{height:20px;margin:20px 0}.product-card:focus-visible,.category-tab:focus-visible,.search-input:focus-visible,.barcode-button:focus-visible,.refresh-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-contrast: high){.product-card{border-width:2px}.category-tab.active{border-width:3px}}@media (prefers-reduced-motion: reduce){.product-card,.category-tab,.barcode-button,.refresh-button{transition:none}.product-image.loading,.skeleton-image,.skeleton-name,.skeleton-price{animation:none}.product-card:hover{transform:none}}@media (max-width: 1024px){.category-navigation{min-height:56px!important;padding:10px 8px;margin:6px}.category-tab{min-width:90px;min-height:38px;padding:8px 14px;font-size:13px}}@media (max-width: 768px){.category-navigation{min-height:52px!important;padding:8px 6px;margin:4px;gap:6px}.category-tab{min-width:80px;min-height:36px;padding:8px 12px;font-size:12px;border-radius:18px}.category-tab:before{width:6px;height:6px;margin-right:6px}}@media (max-width: 480px){.category-navigation{min-height:48px!important;padding:6px 4px;margin:4px 2px}.category-tab{min-width:70px;min-height:34px;padding:6px 10px;font-size:11px;border-width:1px}}@media (prefers-contrast: high){.category-navigation{border-width:2px;border-color:#94a3b8}.category-tab{border-width:3px;font-weight:700}.category-tab.active{border-width:3px}}@media (prefers-reduced-motion: reduce){.category-tab{transition:none}.category-tab:hover:not(.active){transform:none}.category-tab:active{transform:none}}.barcode-scanner-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f6;border-radius:12px;padding:16px;margin:8px;box-shadow:0 2px 8px #3b82f626;transition:box-shadow .3s ease}.barcode-scanner-section:focus-within{box-shadow:0 4px 16px #3b82f640;border-color:#2563eb}.scanner-input-group{display:flex;flex-direction:column;gap:12px}.scanner-search-input{font-size:16px;padding:12px 16px 12px 44px;border-radius:8px;border:2px solid #3b82f6;background:#fff;transition:all .2s ease}.scanner-search-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #3b82f61a}.scanner-search-input::-moz-placeholder{color:#94a3b8}.scanner-search-input::placeholder{color:#94a3b8}.scanner-status-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.scanner-toggle-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid #10b981;border-radius:8px;background:#d1fae5;color:#065f46;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.scanner-toggle-btn:hover{background:#a7f3d0;border-color:#059669;transform:translateY(-1px);box-shadow:0 2px 4px #10b98133}.scanner-toggle-btn.disabled{border-color:#cbd5e1;background:#f1f5f9;color:#64748b}.scanner-time{font-size:14px;color:#475569;font-weight:500;font-variant-numeric:tabular-nums}.scanner-hint-wrapper{max-height:50px;opacity:1;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.scanner-hint-wrapper.hidden{max-height:0;opacity:0;margin:0}.scanner-hint{background:#fef3c7;color:#92400e;padding:8px 12px;border-radius:6px;font-size:13px;display:flex;align-items:center;gap:8px;line-height:1.4;margin-top:12px}.scanner-hint-icon{font-size:16px;flex-shrink:0}.scanner-hint-text{flex:1}.scanner-hint-close{padding:4px 8px;background:#92400e1a;border:none;border-radius:4px;color:#92400e;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s;flex-shrink:0}.scanner-hint-close:hover{background:#92400e33;transform:scale(1.1)}.scanner-hint-close:active{transform:scale(.95)}.category-selector-wrapper{position:relative;margin:8px;z-index:100}.category-dropdown-trigger{width:100%;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;color:#1e293b}.category-dropdown-trigger:hover{border-color:#3b82f6;background:#f8fafc;box-shadow:0 2px 4px #3b82f61a}.category-dropdown-trigger[aria-expanded=true]{border-color:#3b82f6;background:#eff6ff;box-shadow:0 2px 8px #3b82f626}.category-icon{font-size:18px;flex-shrink:0}.category-label{font-size:12px;color:#64748b;flex-shrink:0}.category-current{flex:1;text-align:left;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{font-size:12px;color:#64748b;transition:transform .2s ease;flex-shrink:0}.category-dropdown-trigger[aria-expanded=true] .dropdown-arrow{transform:rotate(180deg)}.category-dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:2px solid #3b82f6;border-radius:8px;box-shadow:0 4px 16px #0000001a;max-height:400px;display:flex;flex-direction:column;z-index:1000}.category-dropdown-menu[hidden]{display:none}.category-search{padding:12px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.category-search-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;transition:all .2s ease}.category-search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.category-search-input::-moz-placeholder{color:#94a3b8}.category-search-input::placeholder{color:#94a3b8}.category-options{overflow-y:auto;overflow-x:hidden;max-height:320px;padding:4px}.category-option{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;background:#fff;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s ease;text-align:left;font-size:14px;color:#334155}.category-option:hover{background:#f1f5f9;border-color:#e2e8f0;transform:translate(2px)}.category-option.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600;border-color:#2563eb}.category-option.active:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translate(2px) scale(1.01)}.option-icon{font-size:16px;flex-shrink:0}.option-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-count{font-size:12px;padding:2px 8px;border-radius:10px;background:#e2e8f0;color:#475569;font-weight:600;min-width:24px;text-align:center;flex-shrink:0}.category-option.active .option-count{background:#ffffff40;color:#fff}.category-no-results{padding:24px 16px;text-align:center;color:#64748b;font-size:14px}.category-no-results p{margin:0}.category-options::-webkit-scrollbar{width:6px}.category-options::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.category-options::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .2s;transition:background .2s}.category-options::-webkit-scrollbar-thumb:hover{background:#94a3b8}.category-options{scrollbar-width:thin;scrollbar-color:#cbd5e1 #f1f5f9}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.category-dropdown-menu:not([hidden]){animation:slideDown .2s ease}.pds-toolbar{display:flex;align-items:center;justify-content:center;padding:8px;background:#fff;border-bottom:1px solid #e2e8f0}.view-toggle-group{display:flex;gap:4px;padding:4px;background:#f1f5f9;border-radius:8px}.view-toggle-btn{padding:8px 12px;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;transition:all .2s ease;color:#64748b;font-size:16px;line-height:1;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center}.view-toggle-btn:hover{background:#e2e8f0;color:#334155;transform:scale(1.05)}.view-toggle-btn.active{background:#3b82f6;color:#fff;border-color:#2563eb;box-shadow:0 2px 4px #3b82f64d}.product-list-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:2px solid #e2e8f0;position:sticky;top:0;z-index:5;box-shadow:0 1px 3px #0000000d}.product-list-title{font-size:16px;font-weight:600;color:#1e293b;margin:0}.product-count{font-size:14px;color:#64748b;font-weight:400;margin-left:auto}.count-number{font-weight:600;color:#3b82f6}.hidden-count-hint{font-size:12px;color:#94a3b8;margin-left:4px}.view-toggle-group-compact{display:flex;gap:2px;padding:2px;background:#f1f5f9;border-radius:6px}.view-toggle-group-compact .view-toggle-btn{width:28px;height:28px;padding:0;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;transition:all .2s ease;color:#64748b;font-size:14px;display:flex;align-items:center;justify-content:center}.view-toggle-group-compact .view-toggle-btn:hover{background:#e2e8f0;color:#334155;transform:scale(1.05)}.view-toggle-group-compact .view-toggle-btn.active{background:#3b82f6;color:#fff;border-color:#2563eb;box-shadow:0 1px 3px #3b82f64d}.stock-toggle-btn{width:32px;height:32px;padding:0;border-radius:6px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:all .2s ease;font-size:16px;display:flex;align-items:center;justify-content:center;position:relative}.stock-toggle-btn:hover{background:#f8fafc;border-color:#3b82f6;transform:scale(1.05)}.stock-toggle-btn.active{background:#dbeafe;border-color:#3b82f6}.stock-toggle-btn:not(.active):after{content:"";position:absolute;top:50%;left:50%;width:24px;height:2px;background:#ef4444;transform:translate(-50%,-50%) rotate(-45deg);pointer-events:none}.stock-toggle-btn:not(.active){filter:grayscale(100%);opacity:.6}.pos-column-left,.pos-column-left .pds-main{display:flex;flex-direction:column;height:100%;overflow:hidden}.compact-stats-bar{flex-shrink:0;min-height:48px;position:relative;z-index:10;margin:0}.barcode-scanner-section{flex-shrink:0;position:relative;z-index:5;margin:0 8px 8px}.category-selector-wrapper,.pds-toolbar,.product-list-header{flex-shrink:0}.optimized-product-grid{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}@media (max-height: 800px){.barcode-scanner-section{padding:12px}.scanner-hint{font-size:12px;padding:6px 10px}.category-dropdown-menu{max-height:350px}.category-options{max-height:270px}}@media (max-height: 700px){.category-dropdown-menu{max-height:300px}.category-options{max-height:220px}}@media (max-height: 600px){.compact-stats-bar{min-height:40px;padding:6px 12px}.barcode-scanner-section{padding:10px}.category-dropdown-menu{max-height:250px}.category-options{max-height:170px}}.category-dropdown-trigger:focus-visible,.category-option:focus-visible,.view-toggle-btn:focus-visible,.scanner-toggle-btn:focus-visible,.category-search-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast: high){.category-option{border:2px solid currentColor}.category-option.active{border-width:3px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-color-scheme: dark){.barcode-scanner-section{background:linear-gradient(135deg,#1e3a8a,#1e40af);border-color:#3b82f6}.category-dropdown-trigger{background:#1e293b;border-color:#334155;color:#e2e8f0}.category-dropdown-menu{background:#1e293b;border-color:#3b82f6}.category-option{background:#334155;color:#e2e8f0}.category-option:hover{background:#475569}.pds-toolbar,.product-list-header{background:#1e293b;border-bottom-color:#334155}}.category-option,.view-toggle-btn,.category-dropdown-trigger{transform:translateZ(0);will-change:transform}.category-options,.optimized-product-grid{contain:layout style paint;-webkit-overflow-scrolling:touch}.category-navigation.pds-categories,button[title=圖表測試],.chart-test-btn,button[title="顯示/隱藏缺貨商品"],.toggle-stock-btn,.product-list-header .view-controls,.product-list-header .stock-toggle,#main-pos-stats.compact-stats-bar,.compact-stats-bar#main-pos-stats{display:none!important}:root{--modal-z-backdrop: 1040;--modal-z-content: 1050;--modal-z-critical: 1060;--modal-bg-primary: #FFFFFF;--modal-bg-secondary: #F8FAFC;--modal-text-primary: #1F2937;--modal-text-secondary: #6B7280;--modal-text-muted: #9CA3AF;--modal-border: #E5E7EB;--modal-border-light: #F3F4F6;--modal-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--modal-padding: 24px;--modal-padding-sm: 16px;--modal-padding-lg: 32px;--modal-gap: 16px;--modal-gap-sm: 8px;--modal-gap-lg: 24px;--modal-font-size-xs: .75rem;--modal-font-size-sm: .875rem;--modal-font-size-base: 1rem;--modal-font-size-lg: 1.125rem;--modal-font-size-xl: 1.25rem;--modal-line-height: 1.5;--modal-primary: #2563EB;--modal-primary-hover: #1D4ED8;--modal-success: #10B981;--modal-warning: #F59E0B;--modal-error: #EF4444}.unified-modal-overlay{position:fixed!important;inset:0!important;z-index:var(--modal-z-backdrop)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:0!important;gap:normal!important;grid-template-columns:none!important;background:#0009!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalBackdropFadeIn .15s ease-out}.unified-modal-container{position:relative!important;z-index:var(--modal-z-content)!important;margin:0!important;padding:0!important;gap:0!important;grid-template-columns:none!important;display:flex!important;flex-direction:column!important;width:min(500px,90vw)!important;max-height:min(850px,90vh)!important;max-width:500px!important;background:var(--modal-bg-primary)!important;border-radius:12px!important;box-shadow:var(--modal-shadow)!important;overflow:hidden!important;animation:modalContentSlideIn .2s cubic-bezier(.16,1,.3,1)}.unified-modal-content{position:relative!important;z-index:var(--modal-z-content)!important;display:flex!important;flex-direction:column!important;width:min(500px,90vw)!important;max-height:min(800px,90vh)!important;margin:0!important;padding:0!important;gap:0!important;background:var(--modal-bg-primary)!important;border-radius:12px!important;box-shadow:var(--modal-shadow)!important;overflow:hidden!important;animation:modalContentSlideIn .2s cubic-bezier(.16,1,.3,1)}.unified-modal-header{position:relative!important;display:flex!important;align-items:center!important;justify-content:space-between!important;padding:var(--modal-padding)!important;margin:0!important;gap:var(--modal-gap-sm)!important;border-bottom:1px solid var(--modal-border)!important;background:var(--modal-bg-secondary)!important;color:var(--modal-text-primary)!important;flex-shrink:0!important;z-index:10!important}.unified-header-content{display:flex!important;align-items:center!important;gap:12px!important;flex:1!important}.unified-header-icon{width:48px!important;height:48px!important;min-width:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:12px!important;box-shadow:0 4px 12px #667eea4d!important}.unified-header-title{font-size:18px!important;font-weight:700!important;color:#1f2937!important;margin:0!important;line-height:1.3!important}.unified-header-subtitle{font-size:12px!important;font-weight:500!important;color:#6b7280!important;margin:0!important;line-height:1.2!important;text-transform:uppercase!important;letter-spacing:.5px!important}.unified-modal-title{font-size:var(--modal-font-size-xl)!important;font-weight:600!important;line-height:var(--modal-line-height)!important;color:var(--modal-text-primary)!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;gap:var(--modal-gap-sm)!important}.unified-modal-body{flex:1!important;display:block!important;padding:var(--modal-padding)!important;margin:0!important;gap:normal!important;overflow-y:auto!important;max-height:none!important;background:var(--modal-bg-primary)!important}.unified-modal-body-scrollable{flex:1!important;display:block!important;padding:var(--modal-padding)!important;margin:0!important;gap:normal!important;overflow-y:auto!important;overflow-x:hidden!important;max-height:calc(90vh - 180px)!important;background:var(--modal-bg-primary)!important;scrollbar-width:thin!important;scrollbar-color:var(--modal-border) transparent!important}.unified-modal-body-scrollable::-webkit-scrollbar{width:8px!important}.unified-modal-body-scrollable::-webkit-scrollbar-track{background:transparent!important}.unified-modal-body-scrollable::-webkit-scrollbar-thumb{background-color:var(--modal-border)!important;border-radius:4px!important}.unified-modal-body-scrollable::-webkit-scrollbar-thumb:hover{background-color:var(--modal-text-muted)!important}.unified-modal-footer{display:flex!important;align-items:center!important;justify-content:flex-end!important;padding:var(--modal-padding)!important;margin:0!important;gap:var(--modal-gap)!important;border-top:1px solid var(--modal-border)!important;background:var(--modal-bg-primary)!important;position:sticky!important;bottom:0!important;z-index:10!important;flex-shrink:0!important;box-shadow:0 -2px 8px #00000014!important}.unified-modal-content input,.unified-modal-content textarea,.unified-modal-content select,.unified-modal-content button{font-size:var(--modal-font-size-base)!important;line-height:var(--modal-line-height)!important;color:var(--modal-text-primary)!important}.unified-form-input,.unified-modal-body input[type=text],.unified-modal-body input[type=number],.unified-modal-body input[type=datetime-local],.unified-modal-body input[type=date],.unified-modal-body input[type=time]{width:100%!important;padding:10px 12px!important;border:1px solid #E5E7EB!important;border-radius:6px!important;font-size:.95rem!important;line-height:1.5!important;min-height:42px!important;background:#fff!important;color:#1f2937!important;transition:border-color .2s,box-shadow .2s!important;box-sizing:border-box!important}.unified-form-input:focus,.unified-modal-body input[type=text]:focus,.unified-modal-body input[type=number]:focus,.unified-modal-body input[type=datetime-local]:focus,.unified-modal-body input[type=date]:focus,.unified-modal-body input[type=time]:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.unified-form-input::-moz-placeholder,.unified-modal-body input::-moz-placeholder{color:#9ca3af!important}.unified-form-input::placeholder,.unified-modal-body input::placeholder{color:#9ca3af!important}.unified-form-input:disabled,.unified-modal-body input:disabled{background:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed!important;opacity:.8!important}.unified-form-input.error,.unified-modal-body input.error{border-color:#ef4444!important;background:#fef2f2!important}.unified-form-input.error:focus,.unified-modal-body input.error:focus{box-shadow:0 0 0 3px #ef44441a!important}.unified-form-select,.unified-modal-body select{width:100%!important;padding:10px 12px!important;border:1px solid #E5E7EB!important;border-radius:6px!important;font-size:.95rem!important;line-height:1.5!important;min-height:42px!important;background:#fff!important;color:#1f2937!important;cursor:pointer!important;transition:border-color .2s,box-shadow .2s!important}.unified-form-select:focus,.unified-modal-body select:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.unified-form-textarea,.unified-modal-body textarea{width:100%!important;padding:10px 12px!important;border:1px solid #E5E7EB!important;border-radius:6px!important;font-size:.95rem!important;line-height:1.5!important;min-height:80px!important;background:#fff!important;color:#1f2937!important;resize:vertical!important;transition:border-color .2s,box-shadow .2s!important}.unified-form-textarea:focus,.unified-modal-body textarea:focus{outline:none!important;border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f61a!important}.unified-form-textarea::-moz-placeholder,.unified-modal-body textarea::-moz-placeholder{color:#9ca3af!important}.unified-form-textarea::placeholder,.unified-modal-body textarea::placeholder{color:#9ca3af!important}.unified-modal-content label{font-size:var(--modal-font-size-sm)!important;font-weight:500!important;color:var(--modal-text-secondary)!important;line-height:var(--modal-line-height)!important;margin-bottom:var(--modal-gap-sm)!important;display:block!important}.unified-modal-content .form-control,.unified-modal-content .search-input{font-size:var(--modal-font-size-base)!important;padding:12px 16px!important;border:1px solid var(--modal-border)!important;border-radius:6px!important;background:var(--modal-bg-primary)!important;color:var(--modal-text-primary)!important;width:100%!important;max-width:none!important;margin:0!important;gap:normal!important}.unified-modal-content .form-control:focus,.unified-modal-content .search-input:focus{outline:2px solid var(--modal-primary)!important;outline-offset:-2px!important;border-color:var(--modal-primary)!important}.unified-modal-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:var(--modal-gap-sm)!important;padding:12px 20px!important;margin:0!important;font-size:var(--modal-font-size-base)!important;font-weight:500!important;line-height:1!important;text-align:center!important;text-decoration:none!important;border:1px solid transparent!important;border-radius:6px!important;cursor:pointer!important;transition:all .15s ease-in-out!important;min-height:44px!important;min-width:80px!important}.unified-modal-btn-primary{background:var(--modal-primary)!important;color:#fff!important;border-color:var(--modal-primary)!important}.unified-modal-btn-primary:hover:not(:disabled){background:var(--modal-primary-hover)!important;border-color:var(--modal-primary-hover)!important;transform:translateY(-1px)!important}.unified-modal-btn-secondary{background:var(--modal-bg-primary)!important;color:var(--modal-text-primary)!important;border-color:var(--modal-border)!important}.unified-modal-btn-secondary:hover:not(:disabled){background:var(--modal-bg-secondary)!important;border-color:var(--modal-primary)!important;color:var(--modal-primary)!important}.unified-modal-btn:disabled{opacity:.5!important;cursor:not-allowed!important;transform:none!important}.unified-modal-close,.unified-close-btn{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#ef4444e6!important;border:2px solid rgba(220,38,38,.8)!important;border-radius:10px!important;color:#fff!important;box-shadow:0 2px 8px #00000040,0 0 0 1px #fff3 inset!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;font-size:22px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;opacity:1!important}.unified-modal-close:hover:not(:disabled),.unified-close-btn:hover:not(:disabled){background:#dc2626!important;border-color:#b91c1c!important;transform:scale(1.1) rotate(90deg)!important;box-shadow:0 4px 16px #dc262680,0 0 0 1px #ffffff4d inset!important}.unified-modal-close:active:not(:disabled),.unified-close-btn:active:not(:disabled){transform:scale(1.05) rotate(90deg)!important}@keyframes modalBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 768px){.unified-modal-content{width:100vw!important;height:100vh!important;max-height:none!important;border-radius:0!important}.unified-modal-header,.unified-modal-body,.unified-modal-footer{padding:var(--modal-padding-sm)!important}.unified-modal-btn{padding:14px 20px!important;font-size:var(--modal-font-size-base)!important}}@media (prefers-contrast: high){:root{--modal-border: #000000;--modal-text-secondary: #000000}}@media (prefers-reduced-motion: reduce){.unified-modal-container,.unified-modal-content,.unified-modal-btn,.unified-modal-close{animation:none!important;transition:none!important}}.member-search-modal-overlay.unified-modal-overlay{z-index:var(--modal-z-critical)!important}.member-search-modal-overlay>.unified-modal-container{z-index:calc(var(--modal-z-critical) + 10)!important}.unified-modal-container.large,.unified-modal-container.large .unified-modal-content{width:min(1200px,95vw)!important;max-width:1200px!important}.unified-modal-container.large .unified-modal-body,.unified-modal-container.large .unified-modal-body-scrollable{width:100%!important;max-width:100%!important}.unified-modal-container.unified-modal-scrollable{max-height:90vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.unified-modal-scrollable .unified-modal-header{position:sticky!important;top:0!important;z-index:20!important;flex-shrink:0!important;background:var(--modal-bg-secondary)!important}.unified-modal-scrollable .unified-modal-tabs{position:sticky!important;top:100px!important;z-index:15!important;flex-shrink:0!important;background:var(--modal-bg-primary)!important;box-shadow:0 2px 4px #0000000d!important}.unified-modal-scrollable .unified-modal-footer{position:sticky!important;bottom:0!important;z-index:20!important;flex-shrink:0!important;background:var(--modal-bg-primary)!important;box-shadow:0 -2px 4px #0000000d!important}.unified-modal-scrollable .unified-modal-body,.unified-modal-scrollable .unified-modal-body-scrollable{flex:1 1 auto!important;overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important}.smart-compression-active .unified-modal-container,.smart-compression-active .unified-modal-content,.smart-compression-active .unified-modal-header,.smart-compression-active .unified-modal-body,.smart-compression-active .unified-modal-footer{gap:var(--modal-gap)!important;padding:var(--modal-padding)!important;margin:0!important;min-height:auto!important;grid-template-columns:none!important;grid-template-rows:none!important}.smart-compression-active .unified-modal-content input,.smart-compression-active .unified-modal-content textarea,.smart-compression-active .unified-modal-content select,.smart-compression-active .unified-modal-content button,.smart-compression-active .unified-modal-content label{font-size:var(--modal-font-size-base)!important;line-height:var(--modal-line-height)!important;padding:revert!important;margin:revert!important}.promo-info-box{background:#eff6ff!important;border:1px solid #3B82F6!important;border-left:4px solid #3B82F6!important;border-radius:8px!important;padding:16px!important;margin-bottom:16px!important}.promo-info-box-title{font-weight:600!important;color:#1e40af!important;margin-bottom:8px!important;display:flex!important;align-items:center!important;gap:8px!important}.promo-info-box-text{font-size:.875rem!important;color:#1e3a8a!important;line-height:1.5!important}.promo-feature-box{background:#fffbeb!important;border:1px solid #F59E0B!important;border-radius:8px!important;padding:16px!important;margin-bottom:16px!important}.promo-feature-box-title{font-weight:600!important;color:#92400e!important;margin-bottom:12px!important;display:flex!important;align-items:center!important;gap:8px!important}.promo-feature-box-content{display:flex!important;flex-direction:column!important;gap:12px!important}.promo-form-card{background:#f9fafb!important;border:1px solid #E5E7EB!important;border-radius:8px!important;padding:16px!important;margin-bottom:16px!important}.promo-form-card-title{font-size:.875rem!important;font-weight:600!important;color:#374151!important;margin-bottom:12px!important;padding-bottom:8px!important;border-bottom:1px solid #E5E7EB!important}.promo-checkbox-card{background:#fff!important;border:1px solid #E5E7EB!important;border-radius:8px!important;padding:12px 16px!important;margin-bottom:8px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;transition:all .2s ease!important;cursor:pointer!important}.promo-checkbox-card:hover{border-color:#3b82f6!important;background:#f0f9ff!important}.promo-checkbox-card.active{border-color:#3b82f6!important;background:#eff6ff!important}.promo-checkbox-card-content{display:flex!important;flex-direction:column!important;gap:4px!important}.promo-checkbox-card-label{font-weight:500!important;color:#1f2937!important}.promo-checkbox-card-hint{font-size:.75rem!important;color:#6b7280!important}.promo-section-title{font-size:.875rem!important;font-weight:600!important;color:#374151!important;margin-bottom:12px!important;display:flex!important;align-items:center!important;gap:8px!important}.unified-info-card{padding:16px!important;margin:12px 0!important;background:#3b82f60d!important;border:1px solid rgba(59,130,246,.2)!important;border-radius:8px!important;display:flex!important;align-items:flex-start!important;gap:12px!important;transition:all .2s ease!important}.unified-info-card-icon{font-size:20px!important;flex-shrink:0!important}.unified-info-card-content{flex:1!important;font-size:14px!important;line-height:1.6!important;color:var(--modal-text-primary)!important}.unified-scanner-input-card{padding:20px!important;margin-bottom:16px!important;background:#f8fafc!important;border:2px solid #E5E7EB!important;border-radius:8px!important;transition:all .2s ease!important}.unified-scanner-input-card:focus-within{border-color:var(--modal-primary)!important;background:#fff!important;box-shadow:0 0 0 3px #2563eb1a!important}.unified-scanner-input{width:100%!important;padding:16px 20px!important;font-size:18px!important;font-weight:500!important;color:var(--modal-text-primary)!important;background:#fff!important;border:2px solid var(--modal-border)!important;border-radius:8px!important;transition:all .2s ease!important;text-align:center!important}.unified-scanner-input:focus{outline:none!important;border-color:var(--modal-primary)!important;box-shadow:0 0 0 4px #2563eb1a!important}.unified-scanner-input::-moz-placeholder{color:var(--modal-text-muted)!important;font-weight:400!important}.unified-scanner-input::placeholder{color:var(--modal-text-muted)!important;font-weight:400!important}.unified-success-card{padding:20px!important;margin-bottom:16px!important;background:#10b9810d!important;border:2px solid var(--modal-success)!important;border-radius:8px!important;text-align:center!important;animation:cardSlideIn .3s ease-out!important}.unified-success-card-icon{font-size:48px!important;margin-bottom:12px!important;display:block!important}.unified-success-card-title{font-size:20px!important;font-weight:700!important;color:var(--modal-success)!important;margin:0 0 12px!important}.unified-success-card-content{font-size:16px!important;color:var(--modal-text-primary)!important;margin:8px 0!important;line-height:1.6!important}.unified-success-card-highlight{font-size:24px!important;font-weight:800!important;color:var(--modal-success)!important;margin:12px 0!important}.unified-error-card{padding:20px!important;margin-bottom:16px!important;background:#ef44440d!important;border:2px solid var(--modal-error)!important;border-radius:8px!important;text-align:center!important;animation:cardShake .4s ease-out!important}.unified-error-card-icon{font-size:48px!important;margin-bottom:12px!important;display:block!important}.unified-error-card-title{font-size:20px!important;font-weight:700!important;color:var(--modal-error)!important;margin:0 0 12px!important}.unified-error-card-content{font-size:16px!important;color:var(--modal-text-primary)!important;margin:8px 0!important;line-height:1.6!important}.unified-loading-card{padding:20px!important;margin-bottom:16px!important;background:#f59e0b0d!important;border:2px solid var(--modal-warning)!important;border-radius:8px!important;text-align:center!important}.unified-loading-card-icon{font-size:48px!important;margin-bottom:12px!important;display:block!important;animation:cardSpin 1s linear infinite!important}.unified-loading-card-text{font-size:16px!important;color:var(--modal-warning)!important;font-weight:600!important}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes cardShake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}@keyframes cardSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.unified-scanner-input{font-size:16px!important;padding:14px 16px!important}.unified-success-card-icon,.unified-error-card-icon,.unified-loading-card-icon{font-size:40px!important}.unified-success-card-title,.unified-error-card-title{font-size:18px!important}}.unified-modal-container.xs,.ds-modal-xs{width:min(320px,90vw)!important;max-width:320px!important}.unified-modal-container.sm,.ds-modal-sm{width:min(400px,90vw)!important;max-width:400px!important}.unified-modal-container.md,.ds-modal-md{width:min(500px,90vw)!important;max-width:500px!important}.unified-modal-container.lg,.ds-modal-lg{width:min(720px,95vw)!important;max-width:720px!important}.unified-modal-container.xl,.ds-modal-xl{width:min(960px,95vw)!important;max-width:960px!important}.unified-modal-container.xxl,.ds-modal-xxl{width:min(1200px,95vw)!important;max-width:1200px!important}.unified-modal-container.fullscreen,.ds-modal-fullscreen{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important;border-radius:0!important;margin:0!important}.ds-modal-overlay{position:fixed!important;inset:0!important;z-index:var(--modal-z-backdrop, 1040)!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#0009!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalBackdropFadeIn .15s ease-out;padding:var(--spacing-4, 16px)}.ds-modal{position:relative!important;z-index:var(--modal-z-content, 1050)!important;display:flex!important;flex-direction:column!important;width:min(500px,90vw);max-height:min(800px,90vh);background:var(--color-bg-primary, #ffffff)!important;border-radius:var(--radius-xl, 12px)!important;box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, .1))!important;overflow:hidden!important;animation:modalContentSlideIn .2s cubic-bezier(.16,1,.3,1)}.ds-modal-header{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:var(--spacing-6, 24px)!important;border-bottom:1px solid var(--color-border-primary, #e5e7eb)!important;background:var(--color-bg-secondary, #f8fafc)!important;flex-shrink:0!important}.ds-modal-title{font-size:var(--font-size-xl, 1.25rem)!important;font-weight:600!important;color:var(--color-text-primary, #1f2937)!important;margin:0!important;line-height:1.4!important}.ds-modal-subtitle{font-size:var(--font-size-sm, .875rem)!important;color:var(--color-text-secondary, #6b7280)!important;margin-top:var(--spacing-1, 4px)!important}.ds-modal-body{flex:1!important;padding:var(--spacing-6, 24px)!important;overflow-y:auto!important;background:var(--color-bg-primary, #ffffff)!important}.ds-modal-body-compact{padding:var(--spacing-4, 16px)!important}.ds-modal-body-flush{padding:0!important}.ds-modal-footer{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:var(--spacing-3, 12px)!important;padding:var(--spacing-4, 16px) var(--spacing-6, 24px)!important;border-top:1px solid var(--color-border-primary, #e5e7eb)!important;background:var(--color-bg-secondary, #f8fafc)!important;flex-shrink:0!important}.ds-modal-footer-split{justify-content:space-between!important}.ds-modal-footer-center{justify-content:center!important}.ds-modal-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;padding:0!important;background:transparent!important;border:none!important;border-radius:var(--radius-md, 6px)!important;color:var(--color-text-secondary, #6b7280)!important;cursor:pointer!important;transition:all .15s ease!important}.ds-modal-close:hover{background:var(--color-bg-tertiary, #f3f4f6)!important;color:var(--color-text-primary, #1f2937)!important}.ds-modal-close:focus{outline:2px solid var(--color-primary, #3b82f6)!important;outline-offset:2px!important}.ds-modal-alert .ds-modal-header{background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-bottom-color:#f59e0b!important}.ds-modal-alert .ds-modal-title{color:#92400e!important}.ds-modal-danger .ds-modal-header{background:linear-gradient(135deg,#fee2e2,#fecaca)!important;border-bottom-color:#ef4444!important}.ds-modal-danger .ds-modal-title{color:#991b1b!important}.ds-modal-success .ds-modal-header{background:linear-gradient(135deg,#d1fae5,#a7f3d0)!important;border-bottom-color:#10b981!important}.ds-modal-success .ds-modal-title{color:#065f46!important}.ds-modal-info .ds-modal-header{background:linear-gradient(135deg,#dbeafe,#bfdbfe)!important;border-bottom-color:#3b82f6!important}.ds-modal-info .ds-modal-title{color:#1e40af!important}.ds-modal-drawer-right{position:fixed!important;top:0!important;right:0!important;bottom:0!important;width:min(480px,90vw)!important;max-width:480px!important;max-height:100vh!important;height:100vh!important;border-radius:var(--radius-xl, 12px) 0 0 var(--radius-xl, 12px)!important;animation:drawerSlideInRight .3s cubic-bezier(.16,1,.3,1)!important}.ds-modal-drawer-left{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(480px,90vw)!important;max-width:480px!important;max-height:100vh!important;height:100vh!important;border-radius:0 var(--radius-xl, 12px) var(--radius-xl, 12px) 0!important;animation:drawerSlideInLeft .3s cubic-bezier(.16,1,.3,1)!important}.ds-modal-drawer-bottom{position:fixed!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;max-width:100vw!important;max-height:80vh!important;border-radius:var(--radius-xl, 12px) var(--radius-xl, 12px) 0 0!important;animation:drawerSlideInBottom .3s cubic-bezier(.16,1,.3,1)!important}@keyframes drawerSlideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes drawerSlideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes drawerSlideInBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.ds-modal-tabs{display:flex!important;gap:var(--spacing-1, 4px)!important;padding:var(--spacing-2, 8px) var(--spacing-6, 24px)!important;background:var(--color-bg-secondary, #f8fafc)!important;border-bottom:1px solid var(--color-border-primary, #e5e7eb)!important;overflow-x:auto!important;flex-shrink:0!important}.ds-modal-tab{display:inline-flex!important;align-items:center!important;gap:var(--spacing-2, 8px)!important;padding:var(--spacing-2, 8px) var(--spacing-4, 16px)!important;background:transparent!important;border:none!important;border-radius:var(--radius-md, 6px)!important;font-size:var(--font-size-sm, .875rem)!important;font-weight:500!important;color:var(--color-text-secondary, #6b7280)!important;cursor:pointer!important;transition:all .15s ease!important;white-space:nowrap!important}.ds-modal-tab:hover{background:var(--color-bg-primary, #ffffff)!important;color:var(--color-text-primary, #1f2937)!important}.ds-modal-tab.active,.ds-modal-tab[aria-selected=true]{background:var(--color-bg-primary, #ffffff)!important;color:var(--color-primary, #3b82f6)!important;box-shadow:var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05))!important}.dark .ds-modal-overlay,[data-theme=dark] .ds-modal-overlay{background:#000000bf!important}.dark .ds-modal,[data-theme=dark] .ds-modal,.dark .unified-modal-container,.dark .unified-modal-content,[data-theme=dark] .unified-modal-container,[data-theme=dark] .unified-modal-content{background:var(--color-bg-primary-dark, #1f2937)!important;border-color:var(--color-border-dark, #374151)!important}.dark .ds-modal-header,[data-theme=dark] .ds-modal-header,.dark .unified-modal-header,[data-theme=dark] .unified-modal-header{background:var(--color-bg-secondary-dark, #111827)!important;border-color:var(--color-border-dark, #374151)!important}.dark .ds-modal-title,[data-theme=dark] .ds-modal-title,.dark .unified-modal-title,[data-theme=dark] .unified-modal-title{color:var(--color-text-primary-dark, #f9fafb)!important}.dark .ds-modal-body,[data-theme=dark] .ds-modal-body,.dark .unified-modal-body,[data-theme=dark] .unified-modal-body{background:var(--color-bg-primary-dark, #1f2937)!important;color:var(--color-text-primary-dark, #f9fafb)!important}.dark .ds-modal-footer,[data-theme=dark] .ds-modal-footer,.dark .unified-modal-footer,[data-theme=dark] .unified-modal-footer{background:var(--color-bg-secondary-dark, #111827)!important;border-color:var(--color-border-dark, #374151)!important}@media (prefers-color-scheme: dark){.ds-modal-overlay{background:#000000bf}}.modal-overlay{position:fixed;inset:0;z-index:1040;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:modalBackdropFadeIn .15s ease-out}.modal-container{position:relative;z-index:1050;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;overflow:hidden;animation:modalContentSlideIn .2s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0}.modal-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.modal-body{flex:1;padding:24px;overflow-y:auto;background:#fff}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f8fafc;flex-shrink:0}.modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border:none;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.modal-close:hover{background:#f3f4f6;color:#1f2937}.dialog-overlay{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:#00000080;animation:modalBackdropFadeIn .15s ease-out}.dialog-container{position:relative;display:flex;flex-direction:column;width:min(450px,90vw);background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;animation:modalContentSlideIn .2s ease-out}.dialog-header{padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.dialog-body{padding:24px;flex:1}.dialog-footer{display:flex;gap:12px;padding:16px 24px 24px;justify-content:flex-end}.ds-modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8, 32px);gap:var(--spacing-4, 16px)}.ds-modal-spinner{width:40px;height:40px;border:3px solid var(--color-border-primary, #e5e7eb);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:spin .8s linear infinite}.ds-modal-loading-text{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280)}.ds-modal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12, 48px) var(--spacing-6, 24px);text-align:center}.ds-modal-empty-icon{width:64px;height:64px;margin-bottom:var(--spacing-4, 16px);color:var(--color-text-muted, #9ca3af)}.ds-modal-empty-title{font-size:var(--font-size-lg, 1.125rem);font-weight:600;color:var(--color-text-primary, #1f2937);margin-bottom:var(--spacing-2, 8px)}.ds-modal-empty-description{font-size:var(--font-size-sm, .875rem);color:var(--color-text-secondary, #6b7280);max-width:320px}@media (max-width: 640px){.ds-modal,.unified-modal-container{width:100vw!important;max-width:100vw!important;max-height:100vh!important;height:100vh!important;border-radius:0!important}.ds-modal-header,.unified-modal-header,.ds-modal-body,.unified-modal-body{padding:16px!important}.ds-modal-footer,.unified-modal-footer{padding:12px 16px!important;flex-direction:column-reverse!important;gap:8px!important}.ds-modal-footer button,.unified-modal-footer button{width:100%!important;justify-content:center!important}.ds-modal-tabs{padding:8px 16px!important}.ds-modal-tab{padding:6px 12px!important;font-size:.8125rem!important}}@media print{.ds-modal-overlay,.unified-modal-overlay,.modal-overlay{position:static!important;background:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.ds-modal,.unified-modal-container,.modal-container{position:static!important;box-shadow:none!important;border:1px solid #000!important;max-height:none!important;overflow:visible!important}.ds-modal-close,.unified-modal-close,.modal-close{display:none!important}}.unified-form-checkbox-group{display:flex!important;flex-direction:column!important;gap:16px!important;padding:8px 0!important}.unified-form-checkbox{display:flex!important;align-items:center!important;gap:12px!important;padding:10px 12px!important;background:var(--modal-bg-secondary, #f8fafc)!important;border:1px solid var(--modal-border, #e5e7eb)!important;border-radius:8px!important;cursor:pointer!important;transition:all .15s ease!important}.unified-form-checkbox:hover{background:var(--modal-bg-primary, #ffffff)!important;border-color:var(--modal-primary, #3b82f6)!important;box-shadow:0 2px 4px #0000000d!important}.unified-form-checkbox input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;cursor:pointer!important;accent-color:var(--modal-primary, #3b82f6)!important}.unified-form-checkbox span{font-size:.9375rem!important;font-weight:500!important;color:var(--modal-text-primary, #1f2937)!important;line-height:1.4!important}.scope-selector{margin-top:8px!important;margin-left:32px!important;padding:12px!important;background:#3b82f60d!important;border:1px dashed rgba(59,130,246,.3)!important;border-radius:8px!important}.category-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:8px!important}.category-chip{padding:6px 12px!important;background:var(--modal-bg-primary, #ffffff)!important;border:1px solid var(--modal-border, #e5e7eb)!important;border-radius:20px!important;font-size:.8125rem!important;font-weight:500!important;color:var(--modal-text-secondary, #6b7280)!important;cursor:pointer!important;transition:all .15s ease!important}.category-chip:hover{border-color:var(--modal-primary, #3b82f6)!important;color:var(--modal-primary, #3b82f6)!important}.category-chip.selected{background:var(--modal-primary, #3b82f6)!important;border-color:var(--modal-primary, #3b82f6)!important;color:#fff!important}.search-highlight{background:linear-gradient(120deg,#fff59d,#ffeb3b);color:#212121;font-weight:600;padding:2px 4px;border-radius:3px;box-shadow:0 1px 2px #0000001a;transition:all .2s ease}@keyframes highlightPulse{0%,to{background:linear-gradient(120deg,#fff59d,#ffeb3b)}50%{background:linear-gradient(120deg,#ffee58,#fdd835)}}.search-highlight.animate{animation:highlightPulse 1.5s ease-in-out infinite}.search-highlight:hover{background:linear-gradient(120deg,#ffee58,#fdd835);box-shadow:0 2px 4px #00000026}@media (prefers-color-scheme: dark){.search-highlight{background:linear-gradient(120deg,#f9a825,#f57f17);color:#fff}.search-highlight:hover{background:linear-gradient(120deg,#ffb300,#ff8f00)}}@media (prefers-contrast: high){.search-highlight{background:#ff0;color:#000;border:2px solid #000000}}.product-name .search-highlight{font-size:inherit;line-height:inherit}.search-suggestion .search-highlight{padding:1px 3px;font-size:.95em}.category-tag .search-highlight{background:linear-gradient(120deg,#c5e1a5,#aed581);color:#33691e}.product-barcode .search-highlight{background:linear-gradient(120deg,#90caf9,#64b5f6);color:#0d47a1;font-family:Courier New,monospace}@media (max-width: 768px){.search-highlight{padding:1px 3px;font-size:.95em}}@media print{.search-highlight{background:none;color:inherit;font-weight:inherit;padding:0;box-shadow:none;text-decoration:underline}}:root{--cart-primary: var(--pos-cart-accent, #1D4ED8);--cart-success: #4CAF50;--cart-warning: #FF9800;--cart-danger: #F44336;--cart-border: var(--pos-cart-border, #93C5FD);--cart-bg: var(--pos-cart-bg, #DBEAFE);--cart-bg-hover: var(--pos-cart-header-bg, #BFDBFE);--cart-gap-xs: 4px;--cart-gap-sm: 8px;--cart-gap-md: 12px;--cart-gap-lg: 16px;--cart-btn-height: 32px;--cart-header-height: 48px;--cart-radius: 6px;--cart-font-sm: 12px;--cart-font-md: 14px;--cart-font-lg: 16px;--cart-font-xl: 32px;--cart-font-xxl: 24px;--cart-shadow: 0 1px 3px rgba(0,0,0,.1);--cart-shadow-hover: 0 2px 6px rgba(0,0,0,.15)}.optimized-shopping-cart{display:flex;flex-direction:column;background:var(--cart-bg);border-radius:var(--cart-radius);box-shadow:var(--cart-shadow);overflow:hidden}.cart-header{display:flex;align-items:center;justify-content:space-between;height:var(--cart-header-height);padding:0 var(--cart-gap-md);border-bottom:1px solid var(--cart-border);background:var(--cart-bg)}.cart-title{display:flex;align-items:center;gap:var(--cart-gap-sm)}.cart-title h3{margin:0;font-size:var(--cart-font-md);font-weight:600;color:#333}.badge-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--cart-gap-xs);background:var(--cart-primary);color:#fff;border-radius:10px;font-size:var(--cart-font-sm);font-weight:600;line-height:1}.cart-actions{display:flex;align-items:center;gap:var(--cart-gap-sm);height:var(--cart-btn-height)}.cart-actions button{display:inline-flex;align-items:center;justify-content:center;height:var(--cart-btn-height);padding:0 var(--cart-gap-md);border:1px solid var(--cart-border);border-radius:var(--cart-radius);background:var(--cart-bg);color:#333;font-size:var(--cart-font-sm);font-weight:500;line-height:1;cursor:pointer;transition:all .2s ease;white-space:nowrap;vertical-align:middle}.cart-actions button:hover{background:var(--cart-bg-hover);transform:translateY(-1px);box-shadow:var(--cart-shadow-hover)}.cart-actions button:active{transform:translateY(0)}.cart-actions .hold-orders-btn{width:var(--cart-btn-height);min-width:var(--cart-btn-height);padding:0;border-color:var(--cart-primary);color:var(--cart-primary);position:relative}.cart-actions .hold-orders-btn:hover{background:#e3f2fd;border-color:#1565c0}.cart-actions .hold-btn{gap:var(--cart-gap-xs);border-color:var(--cart-warning);color:var(--cart-warning)}.cart-actions .hold-btn:hover{background:#fff3e0;border-color:#f57c00}.cart-actions .clear-cart-btn{border-color:var(--cart-danger);color:var(--cart-danger)}.cart-actions .clear-cart-btn:hover{background:#ffebee;border-color:#c62828}.hold-orders-badge{position:absolute;top:-6px;right:-6px;min-width:16px;height:16px;padding:0 4px;background:var(--cart-danger);color:#fff;border-radius:8px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.member-info-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--cart-gap-sm) var(--cart-gap-md);background:#f8f9fa;border-bottom:1px solid var(--cart-border);min-height:32px}.member-identity,.member-tier,.member-points-section,.member-actions{display:flex;align-items:center;gap:var(--cart-gap-xs)}.member-name{font-size:var(--cart-font-sm);font-weight:600;color:#333;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tier-badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;background:var(--cart-primary);color:#fff}.points-value{font-size:var(--cart-font-sm);font-weight:600;color:var(--cart-success)}.action-btn{width:24px;height:24px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:background-color .2s ease}.action-btn:hover{background:#0000001a}.cart-content{flex:1;overflow-y:auto;min-height:200px}.cart-items{padding:var(--cart-gap-sm)}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--cart-gap-lg) var(--cart-gap-md);text-align:center;color:#666;min-height:200px}.empty-icon{font-size:48px;margin-bottom:var(--cart-gap-md);opacity:.5}.cart-table{display:flex;flex-direction:column;width:100%}.cart-table-header{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr .8fr;gap:var(--cart-gap-md);align-items:center;padding:var(--cart-gap-md) var(--cart-gap-lg);background:#f8f9fa;border-bottom:2px solid var(--cart-border);font-size:var(--cart-font-sm);font-weight:600;color:#666;min-height:44px}.cart-table-body{display:flex;flex-direction:column}.cart-table-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 1fr .8fr;gap:var(--cart-gap-md);align-items:center;padding:var(--cart-gap-md) var(--cart-gap-lg);margin:4px 8px;background:#fff;border-radius:8px;border:1px solid #E5E7EB;min-height:64px;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.cart-table-row:hover{background-color:#f0f9ff;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f61f}.cart-table-row:last-child{margin-bottom:8px}.cart-table-row:nth-child(2n){background:#f8fafc}.cart-table-row:nth-child(odd){background:#fff}.cart-table-row.low-stock{background-color:#fffbeb;border-color:#fcd34d}.cart-table-row.low-stock:hover{background-color:#fef3c7;border-color:#f59e0b}.col-name{font-size:var(--cart-font-md);font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--cart-gap-xs)}.item-warning{flex-shrink:0;font-size:14px}.col-price{font-size:var(--cart-font-md);color:#666;text-align:right}.col-quantity{display:flex;align-items:center;justify-content:center;gap:var(--cart-gap-sm)}.btn-quantity{width:50px;height:50px;min-width:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--cart-border);border-radius:var(--cart-radius);background:var(--cart-bg);color:#333;font-size:20px;font-weight:600;cursor:pointer;transition:all .15s ease;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-quantity:hover:not(.disabled){background:var(--cart-primary);color:#fff;border-color:var(--cart-primary);transform:scale(1.05)}.btn-quantity:active:not(.disabled){transform:scale(.95)}.btn-quantity.disabled{opacity:.3;cursor:not-allowed;background:#f5f5f5}.qty-display{min-width:40px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--cart-font-md);font-weight:600;color:#333;cursor:pointer;border-radius:var(--cart-radius);transition:all .1s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qty-display:hover{background:#e3f2fd;color:var(--cart-primary)}.qty-display.quantity-increase{animation:quantityPulseIncrease .1s ease-out}.qty-display.quantity-decrease{animation:quantityPulseDecrease .1s ease-out}@keyframes quantityPulseIncrease{0%{transform:scale(1);color:#333}50%{transform:scale(1.15);color:var(--cart-success)}to{transform:scale(1);color:#333}}@keyframes quantityPulseDecrease{0%{transform:scale(1);color:#333}50%{transform:scale(.85);color:var(--cart-warning)}to{transform:scale(1);color:#333}}.col-subtotal{font-size:var(--cart-font-md);font-weight:600;color:var(--cart-primary);text-align:right;transition:all .2s ease-out}.col-subtotal.price-increase{animation:priceFlashIncrease .2s ease-out}.col-subtotal.price-decrease{animation:priceFlashDecrease .2s ease-out}@keyframes priceFlashIncrease{0%{color:var(--cart-primary)}50%{color:var(--cart-success);transform:scale(1.1)}to{color:var(--cart-primary);transform:scale(1)}}@keyframes priceFlashDecrease{0%{color:var(--cart-primary)}50%{color:var(--cart-warning);transform:scale(.95)}to{color:var(--cart-primary);transform:scale(1)}}.col-actions{display:flex;align-items:center;justify-content:center}.btn-remove{width:50px;height:50px;min-width:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--cart-danger);border-radius:var(--cart-radius);background:var(--cart-bg);color:var(--cart-danger);font-size:18px;cursor:pointer;transition:all .15s ease;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-remove:hover{background:var(--cart-danger);color:#fff;transform:scale(1.1)}.btn-remove:active{transform:scale(.95)}.cart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;min-height:300px}.cart-empty-state .empty-icon{font-size:64px;margin-bottom:16px;opacity:.3}.cart-empty-state .empty-message{font-size:var(--cart-font-lg);font-weight:600;color:#666;margin-bottom:8px}.cart-empty-state .empty-hint{font-size:var(--cart-font-sm);color:#999}.cart-item{display:flex;align-items:center;gap:var(--cart-gap-md);padding:var(--cart-gap-md);border-bottom:1px solid #F0F0F0}.cart-item:last-child{border-bottom:none}.item-image{flex:0 0 50px;height:50px;border-radius:var(--cart-radius);background:#f5f5f5;display:flex;align-items:center;justify-content:center;overflow:hidden}.item-details{flex:1;min-width:0}.item-name{font-size:var(--cart-font-sm);font-weight:600;color:#333;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-price{font-size:var(--cart-font-sm);color:#666}.item-controls{display:flex;align-items:center;gap:var(--cart-gap-md)}.quantity-wrapper{display:flex;align-items:center;border:1px solid var(--cart-border);border-radius:var(--cart-radius);overflow:hidden}.qty-btn{width:44px;height:44px;min-width:44px;border:1px solid var(--cart-border);border-radius:8px;background:var(--cart-bg);color:#333;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;-webkit-user-select:none;-moz-user-select:none;user-select:none}.qty-btn:hover{background:var(--cart-primary);color:#fff;border-color:var(--cart-primary);transform:scale(1.05)}.qty-btn:active{transform:scale(.95)}.qty-input{width:40px;height:28px;border:none;text-align:center;font-size:var(--cart-font-sm);background:var(--cart-bg)}.item-total{font-size:var(--cart-font-md);font-weight:600;color:var(--cart-primary);min-width:60px;text-align:right}.remove-btn{width:28px;height:28px;border:1px solid var(--cart-danger);border-radius:var(--cart-radius);background:var(--cart-bg);color:var(--cart-danger);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#ffebee;transform:scale(1.05)}.cart-summary{padding:16px;margin:8px;background:#fffbeb;border:1px solid #FCD34D;border-left:4px solid #1565C0;border-radius:8px;box-shadow:0 1px 3px #0000000d}.summary-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--cart-gap-sm);padding:8px 0;border:none}.summary-row:last-child{margin-bottom:0}.summary-label{font-size:var(--cart-font-md);color:#475569;font-weight:500;border:none;border-top:none;background:transparent;padding:0;margin:0}.summary-value{font-size:16px;font-weight:600;color:#1e293b;font-variant-numeric:tabular-nums;-webkit-text-fill-color:#1e293b;border:none;border-top:none;background:transparent;padding:0;margin:0}.subtotal-row{padding:10px 12px;margin:4px -8px;background:#fff9;border-radius:6px;border:none;border-left:3px solid #93C5FD}.subtotal-row .summary-label{font-size:14px;font-weight:600;color:#475569;border:none}.subtotal-row .summary-value{font-size:17px;font-weight:700;color:#1e293b;-webkit-text-fill-color:#1e293b;border:none}.item-count-info{font-size:15px;font-weight:700;color:#f57c00;margin-left:8px}.total-row{margin:12px -8px -8px;padding:16px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:none;border-top:2px solid #1565C0;border-radius:0 0 6px 6px}.total-row .summary-label{font-size:18px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:8px;border:none}.total-row .summary-label:before{content:none}.total-row .summary-value{font-size:28px;font-weight:800;color:#1565c0;-webkit-text-fill-color:#1565C0;line-height:1.2;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px rgba(21,101,192,.1);border:none;background:transparent}.checkout-section{padding:var(--cart-gap-md);border-top:1px solid var(--cart-border)}.primary-checkout-btn{width:100%;height:60px;display:flex;align-items:center;justify-content:center;gap:var(--cart-gap-sm);border:none;border-radius:12px;background:linear-gradient(135deg,#27ae60,#219653);color:#fff;font-size:var(--cart-font-xxl);font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #27ae604d,0 2px 4px #0000001a;position:relative;overflow:hidden}.primary-checkout-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.primary-checkout-btn:hover:before{left:100%}.primary-checkout-btn:hover{background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 24px #27ae6073,0 4px 8px #00000026}.primary-checkout-btn:active{transform:translateY(1px) scale(.98);box-shadow:0 2px 8px #27ae604d;transition:all .1s ease}.primary-checkout-btn:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;transform:none;box-shadow:none}.primary-checkout-btn:disabled:before{display:none}.checkout-amount{background:#fff3;padding:4px 8px;border-radius:4px;font-weight:700}@media (max-width: 1023px) and (min-width: 768px){.cart-table-header{display:none}.cart-table-row{grid-template-columns:2fr .8fr 1fr .8fr .6fr;gap:var(--cart-gap-sm);padding:var(--cart-gap-sm) var(--cart-gap-md);min-height:52px}.col-name,.col-price,.col-subtotal{font-size:13px}.btn-quantity,.btn-remove{width:44px;height:44px;min-width:44px;font-size:18px}.qty-display{min-width:32px;height:28px;font-size:13px}}@media (max-width: 767px){:root{--cart-btn-height: 28px;--cart-header-height: 42px;--cart-gap-sm: 6px;--cart-gap-md: 10px;--cart-font-sm: 11px;--cart-font-md: 13px}.cart-header,.cart-actions button{padding:0 var(--cart-gap-sm)}.cart-table-header{display:none}.cart-table-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;grid-template-areas:"name actions" "info info" "quantity subtotal";gap:var(--cart-gap-sm);padding:var(--cart-gap-md);min-height:auto}.col-name{grid-area:name;font-size:var(--cart-font-md);font-weight:600}.col-price{grid-area:info;text-align:left;font-size:var(--cart-font-sm);color:#999}.col-price:before{content:"單價: "}.col-quantity{grid-area:quantity;justify-content:flex-start}.col-subtotal{grid-area:subtotal;text-align:right;font-size:var(--cart-font-lg)}.col-actions{grid-area:actions;justify-content:flex-end}.btn-quantity{width:32px;height:32px}.qty-display{min-width:36px;height:32px}.btn-remove{width:32px;height:32px}.cart-item{flex-wrap:wrap;gap:var(--cart-gap-sm)}.item-controls{width:100%;justify-content:space-between;margin-top:var(--cart-gap-sm)}.primary-checkout-btn{height:44px}.cart-empty-state{padding:40px 16px;min-height:200px}.cart-empty-state .empty-icon{font-size:48px}}@media (max-width: 480px){.member-info-bar{flex-wrap:wrap;min-height:auto;padding:var(--cart-gap-xs) var(--cart-gap-sm)}.cart-actions{flex-wrap:wrap;gap:var(--cart-gap-xs)}.cart-actions button{flex:1;min-width:60px}}.optimized-shopping-cart .cart-actions,.pos-sidebar .cart-actions,.pds-sidebar .cart-actions,#optimized-pos-sidebar .cart-actions{display:flex;align-items:center;gap:var(--cart-gap-sm);height:var(--cart-btn-height)}.optimized-shopping-cart .cart-actions button,.pos-sidebar .cart-actions button,.pds-sidebar .cart-actions button,#optimized-pos-sidebar .cart-actions button{display:inline-flex;align-items:center;justify-content:center;height:var(--cart-btn-height);padding:0 var(--cart-gap-md);border:1px solid var(--cart-border);border-radius:var(--cart-radius);background:var(--cart-bg);color:#333;font-size:var(--cart-font-sm);font-weight:500;line-height:1;cursor:pointer;transition:all .2s ease;white-space:nowrap;vertical-align:middle}.low-stock-warning{color:var(--cart-warning);font-size:10px;font-weight:600}.stock-critical{color:var(--cart-danger)}.promotion-info{padding:var(--cart-gap-sm) var(--cart-gap-md);background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:4px solid var(--cart-warning);margin:var(--cart-gap-sm) 0;border-radius:0 var(--cart-radius) var(--cart-radius) 0}.promotion-title{font-size:var(--cart-font-sm);font-weight:600;color:var(--cart-warning);margin-bottom:var(--cart-gap-xs)}.promotion-details{font-size:11px;color:#8b4513}.cart-loading{display:flex;align-items:center;justify-content:center;padding:var(--cart-gap-lg);color:#666}.loading-spinner{width:20px;height:20px;border:2px solid #E0E0E0;border-top:2px solid var(--cart-primary);border-radius:50%;animation:spin 1s linear infinite}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--cart-border: #000;--cart-bg: #FFF;--cart-bg-hover: #EEE}}.cart-actions button:focus,.qty-btn:focus,.remove-btn:focus,.action-btn:focus{outline:2px solid var(--cart-primary);outline-offset:2px}@keyframes highlightFadeIn{0%{background-color:#fef3c7;transform:translate(-4px);opacity:.8}50%{background-color:#fde68a;transform:translate(0);opacity:1}to{background-color:transparent;transform:translate(0);opacity:1}}@keyframes highlightFadeInFast{0%{background-color:#dbeafe;transform:scale(1.015);opacity:.95;box-shadow:0 0 0 2px #3b82f6,0 4px 6px -1px #0000001a}60%{background-color:#bfdbfe;transform:scale(1.005);opacity:1;box-shadow:0 0 0 1px #3b82f6,0 2px 4px -1px #0000000f}to{background-color:transparent;transform:scale(1);opacity:1;box-shadow:none}}.cart-item-new{animation:highlightFadeIn .3s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards;will-change:background-color,transform,opacity}.cart-item-new-fast{animation:highlightFadeInFast .15s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards;will-change:background-color,transform,box-shadow}.animation-complete{will-change:auto}@keyframes highlightFadeInGreen{0%{background-color:#d1fae5;transform:translate(-4px);opacity:.8;box-shadow:0 0 0 2px #10b981}50%{background-color:#a7f3d0;transform:translate(0);opacity:1;box-shadow:0 0 0 1px #10b981}to{background-color:transparent;transform:translate(0);opacity:1;box-shadow:none}}.cart-item-new-green{animation:highlightFadeInGreen .3s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}@keyframes highlightFadeInBlue{0%{background-color:#dbeafe;transform:scale(1.02);opacity:.9;box-shadow:0 0 0 2px #3b82f6}50%{background-color:#bfdbfe;transform:scale(1.01);opacity:1;box-shadow:0 0 0 1px #3b82f6}to{background-color:transparent;transform:scale(1);opacity:1;box-shadow:none}}.cart-item-new-blue{animation:highlightFadeInBlue .3s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}@keyframes pulse{0%{box-shadow:0 0 #3b82f6b3}70%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}.cart-item-pulse{animation:pulse .6s ease-out}@media (prefers-reduced-motion: reduce){.cart-item-new,.cart-item-new-fast,.cart-item-new-green,.cart-item-new-blue,.cart-item-pulse,.quantity-increase,.quantity-decrease,.price-increase,.price-decrease,.cart-badge-updated{animation:none!important;will-change:auto!important}.cart-item-new,.cart-item-new-fast,.cart-item-new-green,.cart-item-new-blue{background-color:#dbeafe;transition:background-color .3s ease}.quantity-increase,.price-increase{color:#10b981;font-weight:600;transition:color .2s ease,font-weight .2s ease}.quantity-decrease,.price-decrease{color:#ef4444;font-weight:600;transition:color .2s ease,font-weight .2s ease}}.cart-items-container{scroll-behavior:smooth}.cart-items-container::-webkit-scrollbar{width:6px}.cart-items-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.cart-items-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px;-webkit-transition:background .2s ease;transition:background .2s ease}.cart-items-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes quantityIncrease{0%{color:#10b981;transform:scale(1.15)}50%{color:#10b981;transform:scale(1.25)}to{color:inherit;transform:scale(1)}}@keyframes quantityDecrease{0%{color:#ef4444;transform:scale(.85)}50%{color:#ef4444;transform:scale(.75)}to{color:inherit;transform:scale(1)}}.quantity-increase{animation:quantityIncrease .1s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}.quantity-decrease{animation:quantityDecrease .1s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}@keyframes priceIncrease{0%{color:#10b981;transform:translateY(-2px)}50%{color:#10b981;transform:translateY(-4px);font-weight:600}to{color:inherit;transform:translateY(0);font-weight:inherit}}@keyframes priceDecrease{0%{color:#ef4444;transform:translateY(2px)}50%{color:#ef4444;transform:translateY(4px);font-weight:600}to{color:inherit;transform:translateY(0);font-weight:inherit}}.price-increase{animation:priceIncrease .2s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}.price-decrease{animation:priceDecrease .2s cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}@keyframes badgePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.cart-badge-updated{animation:badgePulse .3s ease-out}.amount-highlight-increase{animation:highlightIncrease 1s ease-out}@keyframes highlightIncrease{0%{background-color:transparent;transform:scale(1)}15%{background-color:#22c55e4d;transform:scale(1.05)}30%{background-color:#22c55e33;transform:scale(1.03)}to{background-color:transparent;transform:scale(1)}}.amount-highlight-decrease{animation:highlightDecrease 1s ease-out}@keyframes highlightDecrease{0%{background-color:transparent;transform:scale(1)}15%{background-color:#ef44444d;transform:scale(1.05)}30%{background-color:#ef444433;transform:scale(1.03)}to{background-color:transparent;transform:scale(1)}}.amount-pulse{animation:amountPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes amountPulse{0%,to{opacity:1}50%{opacity:.7}}.amount-pulse-once{animation:amountPulseOnce .8s cubic-bezier(.4,0,.6,1)}@keyframes amountPulseOnce{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.amount-flash-increase{animation:flashIncrease .6s ease-in-out}@keyframes flashIncrease{0%{color:inherit}30%{color:#22c55e;text-shadow:0 0 8px rgba(34,197,94,.5)}to{color:inherit}}.amount-flash-decrease{animation:flashDecrease .6s ease-in-out}@keyframes flashDecrease{0%{color:inherit}30%{color:#ef4444;text-shadow:0 0 8px rgba(239,68,68,.5)}to{color:inherit}}.amount-slide-up{animation:slideUp .5s ease-out}.amount-slide-down{animation:slideDown .5s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.amount-fade-in{animation:fadeIn .4s ease-in}.amount-fade-out{animation:fadeOut .4s ease-out}.amount-change-increase{animation:highlightIncrease 1s ease-out,amountPulseOnce .8s cubic-bezier(.4,0,.6,1)}.amount-change-decrease{animation:highlightDecrease 1s ease-out,amountPulseOnce .8s cubic-bezier(.4,0,.6,1)}.amount-transition{transition:all .3s ease-in-out}.amount-transition-fast{transition:all .15s ease-in-out}.amount-transition-slow{transition:all .6s ease-in-out}@media (prefers-reduced-motion: reduce){.amount-highlight-increase,.amount-highlight-decrease,.amount-pulse,.amount-pulse-once,.amount-flash-increase,.amount-flash-decrease,.amount-slide-up,.amount-slide-down,.amount-fade-in,.amount-fade-out,.amount-change-increase,.amount-change-decrease{animation:none!important}.amount-transition,.amount-transition-fast,.amount-transition-slow{transition:none!important}}@media (prefers-contrast: high){@keyframes highlightIncrease{0%,to{background-color:transparent}15%,30%{background-color:#00800066}}@keyframes highlightDecrease{0%,to{background-color:transparent}15%,30%{background-color:#f006}}@keyframes flashIncrease{0%,to{color:inherit}30%{color:green;text-shadow:none}}@keyframes flashDecrease{0%,to{color:inherit}30%{color:red;text-shadow:none}}}@media (max-width: 640px){@keyframes highlightIncrease{0%,to{background-color:transparent;transform:scale(1)}15%,30%{background-color:#22c55e33;transform:scale(1.02)}}@keyframes highlightDecrease{0%,to{background-color:transparent;transform:scale(1)}15%,30%{background-color:#ef444433;transform:scale(1.02)}}@keyframes amountPulseOnce{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.01)}}}@media (min-width: 1024px){@keyframes highlightIncrease{0%,to{background-color:transparent;transform:scale(1)}15%{background-color:#22c55e4d;transform:scale(1.08)}30%{background-color:#22c55e33;transform:scale(1.05)}}@keyframes highlightDecrease{0%,to{background-color:transparent;transform:scale(1)}15%{background-color:#ef44444d;transform:scale(1.08)}30%{background-color:#ef444433;transform:scale(1.05)}}}.amount-highlight-increase,.amount-highlight-decrease,.amount-pulse,.amount-pulse-once,.amount-flash-increase,.amount-flash-decrease,.amount-slide-up,.amount-slide-down,.amount-change-increase,.amount-change-decrease{will-change:transform,opacity}.amount-highlight-increase.animation-complete,.amount-highlight-decrease.animation-complete,.amount-pulse-once.animation-complete,.amount-flash-increase.animation-complete,.amount-flash-decrease.animation-complete,.amount-slide-up.animation-complete,.amount-slide-down.animation-complete,.amount-change-increase.animation-complete,.amount-change-decrease.animation-complete{will-change:auto}:root{--quick-action-bg: #ffffff;--quick-action-border: #e2e8f0;--quick-action-text: #334155;--quick-action-icon: #64748b;--quick-action-hover-bg: #f1f5f9;--quick-action-hover-border: #cbd5e1;--quick-action-hover-text: #1e293b;--quick-action-hover-icon: #475569;--quick-action-active-bg: #e0f2fe;--quick-action-active-border: #0ea5e9;--quick-action-active-text: #0c4a6e;--quick-action-applied-bg: #dbeafe;--quick-action-applied-border: #3b82f6;--quick-action-applied-badge: #ef4444;--primary-cta-bg: var(--pos-checkout-btn, #059669);--primary-cta-text: #ffffff;--primary-cta-hover-bg: var(--pos-checkout-btn-hover, #047857);--primary-cta-active-bg: var(--pos-checkout-btn-active, #065F46);--badge-bg: #ef4444;--badge-text: #ffffff;--badge-border: #ffffff;--btn-size: 48px;--btn-gap: 8px;--btn-radius: 8px;--icon-size: 20px;--label-font-size: 11px}.quick-actions-horizontal{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:4px 3px;background:#fff;border-top:1px solid #e2e8f0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;transition:height .25s cubic-bezier(.4,0,.2,1)}.quick-actions-horizontal--expanded{height:auto;max-height:120px;flex-wrap:wrap}.quick-actions-horizontal::-webkit-scrollbar{width:6px}.quick-actions-horizontal::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.quick-actions-horizontal::-webkit-scrollbar-track{background:transparent}.quick-actions-group{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%}.quick-actions-group--primary{gap:4px}.btn-quick-action{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;width:100%;min-height:36px;padding:6px 8px;font-size:13px;background:var(--quick-action-bg);border:1px solid var(--quick-action-border);border-radius:var(--btn-radius);cursor:pointer;transition:all .15s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-quick-action:hover{background:var(--quick-action-hover-bg);border-color:var(--quick-action-hover-border);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-quick-action:hover .btn-quick-action__label{color:var(--quick-action-hover-text)}.btn-quick-action:active{background:var(--quick-action-active-bg);border-color:var(--quick-action-active-border);transform:translateY(0);box-shadow:none}.btn-quick-action--applied{background:var(--quick-action-applied-bg);border-color:var(--quick-action-applied-border)}.btn-quick-action--applied:hover{background:#bfdbfe;border-color:var(--quick-action-applied-border)}.btn-quick-action:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-quick-action:disabled:hover{background:var(--quick-action-bg);border-color:var(--quick-action-border);box-shadow:none}.btn-quick-action__icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:16px;line-height:1;color:var(--quick-action-icon);flex-shrink:0}.btn-quick-action:hover .btn-quick-action__icon{color:var(--quick-action-hover-icon)}.btn-quick-action__label{font-size:var(--label-font-size);font-weight:500;line-height:1.2;color:var(--quick-action-text);white-space:nowrap}.btn-quick-action__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;background:var(--badge-bg);color:var(--badge-text);border:2px solid var(--badge-border);border-radius:9px;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}.btn-primary-cta{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:40px;padding:7px 10px;background:var(--primary-cta-bg);color:var(--primary-cta-text);border:none;border-radius:var(--btn-radius);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease-out}.btn-primary-cta:hover{background:var(--primary-cta-hover-bg);box-shadow:0 4px 8px #0596694d;transform:translateY(-1px)}.btn-primary-cta:active{background:var(--primary-cta-active-bg);transform:translateY(0);box-shadow:none}.btn-primary-cta:disabled,.btn-primary-cta--disabled{background:#9ca3af!important;opacity:.7;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary-cta:disabled:hover,.btn-primary-cta--disabled:hover{background:#9ca3af!important;transform:none!important;box-shadow:none!important}@media (max-width: 1279px){:root{--btn-size: 44px;--btn-gap: 6px;--btn-radius: 6px;--icon-size: 18px;--label-font-size: 10px}.quick-actions-horizontal{min-height:52px}.btn-primary-cta{min-width:72px;padding:0 12px;font-size:13px}}@media (max-width: 1023px){.quick-actions-horizontal,.quick-actions-group{gap:8px}.btn-quick-action{padding:6px 10px}.btn-quick-action__label{font-size:12px}}@media (max-width: 767px){.quick-actions-horizontal{padding:4px;gap:4px}.quick-actions-group{gap:4px}.btn-primary-cta{min-width:64px;padding:0 12px;font-size:12px}}@keyframes badgeAppear{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.btn-quick-action__badge{animation:badgeAppear .2s cubic-bezier(.68,-.55,.265,1.55)}@keyframes expandHeight{0%{max-height:56px}to{max-height:120px}}.quick-actions-horizontal--expanded{animation:expandHeight .25s cubic-bezier(.4,0,.2,1)}.btn-quick-action:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.btn-primary-cta:focus-visible{outline:2px solid var(--pos-checkout-btn, #059669);outline-offset:2px}@media (prefers-contrast: high){.btn-quick-action{border-width:2px}.btn-quick-action__label{font-weight:600}}@media (prefers-reduced-motion: reduce){.btn-quick-action,.btn-primary-cta,.quick-actions-horizontal{transition:none}.btn-quick-action__badge{animation:none}}@media print{.quick-actions-horizontal{display:none}}:root{--phoenix-primary-50: #EFF6FF;--phoenix-primary-100: #DBEAFE;--phoenix-primary-200: #BFDBFE;--phoenix-primary-300: #93C5FD;--phoenix-primary-400: #60A5FA;--phoenix-primary-500: #3B82F6;--phoenix-primary-600: #2563EB;--phoenix-primary-700: #1D4ED8;--phoenix-primary-800: #1E40AF;--phoenix-primary-900: #1E3A8A;--phoenix-accent-50: #FFF7ED;--phoenix-accent-100: #FFEDD5;--phoenix-accent-200: #FED7AA;--phoenix-accent-300: #FDBA74;--phoenix-accent-400: #FB923C;--phoenix-accent-500: #F97316;--phoenix-accent-600: #EA580C;--phoenix-accent-700: #C2410C;--phoenix-success-50: #ECFDF5;--phoenix-success-100: #D1FAE5;--phoenix-success-500: #10B981;--phoenix-success-600: #059669;--phoenix-success-700: #047857;--phoenix-warning-50: #FFFBEB;--phoenix-warning-100: #FEF3C7;--phoenix-warning-500: #F59E0B;--phoenix-warning-600: #D97706;--phoenix-caution-50: #FFF7ED;--phoenix-caution-100: #FFEDD5;--phoenix-caution-500: #F97316;--phoenix-caution-600: #EA580C;--phoenix-danger-50: #FEF2F2;--phoenix-danger-100: #FEE2E2;--phoenix-danger-500: #EF4444;--phoenix-danger-600: #DC2626;--phoenix-danger-700: #B91C1C;--phoenix-surface-bg: #F8FAFC;--phoenix-surface-card: #FFFFFF;--phoenix-surface-elevated: #F1F5F9;--phoenix-surface-muted: #E2E8F0;--phoenix-text-primary: #1E293B;--phoenix-text-secondary: #475569;--phoenix-text-muted: #64748B;--phoenix-text-placeholder: #94A3B8;--phoenix-text-inverse: #FFFFFF;--phoenix-border-default: #E2E8F0;--phoenix-border-emphasis: #CBD5E1;--phoenix-border-focus: #3B82F6;--phoenix-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--phoenix-shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--phoenix-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--phoenix-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--phoenix-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--phoenix-touch-min: 44px;--phoenix-touch-comfortable: 48px;--phoenix-touch-large: 56px;--phoenix-touch-gap: 8px;--phoenix-duration-instant: 50ms;--phoenix-duration-fast: .15s;--phoenix-duration-normal: .2s;--phoenix-duration-slow: .3s;--phoenix-easing-default: cubic-bezier(.4, 0, .2, 1);--phoenix-easing-in: cubic-bezier(.4, 0, 1, 1);--phoenix-easing-out: cubic-bezier(0, 0, .2, 1);--phoenix-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--phoenix-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--phoenix-font-mono: "JetBrains Mono", "Fira Code", monospace;--phoenix-text-xs: .75rem;--phoenix-text-sm: .875rem;--phoenix-text-base: 1rem;--phoenix-text-lg: 1.125rem;--phoenix-text-xl: 1.25rem;--phoenix-text-2xl: 1.5rem;--phoenix-text-3xl: 1.875rem;--phoenix-text-4xl: 2.25rem;--phoenix-radius-sm: 4px;--phoenix-radius-md: 6px;--phoenix-radius-lg: 8px;--phoenix-radius-xl: 12px;--phoenix-radius-2xl: 16px;--phoenix-radius-full: 9999px;--phoenix-space-1: 4px;--phoenix-space-2: 8px;--phoenix-space-3: 12px;--phoenix-space-4: 16px;--phoenix-space-5: 20px;--phoenix-space-6: 24px;--phoenix-space-8: 32px;--phoenix-space-10: 40px;--phoenix-space-12: 48px}.phoenix-font-numeric{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" on,"lnum" on}.phoenix-price{font-family:var(--phoenix-font-family);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:-.01em}.phoenix-price-large{font-size:var(--phoenix-text-2xl);font-weight:700;color:var(--phoenix-primary-600)}.phoenix-product-card{position:relative;display:flex;flex-direction:column;background:var(--phoenix-surface-card);border:1px solid var(--phoenix-border-default);border-radius:var(--phoenix-radius-xl);overflow:hidden;cursor:pointer;transition:transform var(--phoenix-duration-normal) var(--phoenix-easing-out),box-shadow var(--phoenix-duration-normal) var(--phoenix-easing-out),border-color var(--phoenix-duration-fast) var(--phoenix-easing-out);touch-action:manipulation}.phoenix-product-card:hover{transform:translateY(-2px);box-shadow:var(--phoenix-shadow-lg);border-color:var(--phoenix-primary-300)}.phoenix-product-card:active{transform:translateY(0) scale(.98);transition-duration:var(--phoenix-duration-instant)}.phoenix-product-image{position:relative;width:100%;aspect-ratio:1;background:var(--phoenix-surface-elevated);overflow:hidden}.phoenix-product-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--phoenix-duration-slow) var(--phoenix-easing-out)}.phoenix-product-card:hover .phoenix-product-image img{transform:scale(1.05)}.phoenix-product-info{padding:var(--phoenix-space-3);display:flex;flex-direction:column;gap:var(--phoenix-space-1)}.phoenix-product-name{font-size:var(--phoenix-text-sm);font-weight:600;color:var(--phoenix-text-primary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.phoenix-product-price{font-size:var(--phoenix-text-lg);font-weight:700;color:var(--phoenix-primary-600);font-variant-numeric:tabular-nums}.phoenix-product-card--small .phoenix-product-info{padding:var(--phoenix-space-2)}.phoenix-product-card--small .phoenix-product-name{font-size:var(--phoenix-text-xs);-webkit-line-clamp:1}.phoenix-product-card--small .phoenix-product-price{font-size:var(--phoenix-text-sm)}.phoenix-product-card--large .phoenix-product-info{padding:var(--phoenix-space-4)}.phoenix-product-card--large .phoenix-product-name{font-size:var(--phoenix-text-base)}.phoenix-product-card--large .phoenix-product-price{font-size:var(--phoenix-text-xl)}.phoenix-stock-badge{display:inline-flex;align-items:center;gap:var(--phoenix-space-1);padding:2px 8px;border-radius:var(--phoenix-radius-full);font-size:var(--phoenix-text-xs);font-weight:600;line-height:1.4}.phoenix-stock-badge--sufficient{background:var(--phoenix-success-100);color:var(--phoenix-success-700)}.phoenix-stock-badge--sufficient:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--phoenix-success-500)}.phoenix-stock-badge--moderate{background:var(--phoenix-warning-100);color:var(--phoenix-warning-600)}.phoenix-stock-badge--moderate:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--phoenix-warning-500)}.phoenix-stock-badge--low{background:var(--phoenix-caution-100);color:var(--phoenix-caution-600)}.phoenix-stock-badge--low:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--phoenix-caution-500);animation:phoenix-pulse 2s ease-in-out infinite}.phoenix-stock-badge--out{background:var(--phoenix-danger-100);color:var(--phoenix-danger-700)}.phoenix-stock-badge--out:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--phoenix-danger-500);animation:phoenix-pulse 1s ease-in-out infinite}.phoenix-stock-corner{position:absolute;top:var(--phoenix-space-2);right:var(--phoenix-space-2);z-index:10}.phoenix-product-card--out-of-stock{opacity:.7;pointer-events:none}.phoenix-product-card--out-of-stock:after{content:"缺貨";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-15deg);padding:var(--phoenix-space-2) var(--phoenix-space-4);background:var(--phoenix-danger-500);color:#fff;font-size:var(--phoenix-text-lg);font-weight:700;border-radius:var(--phoenix-radius-md);z-index:20}.phoenix-category-tabs{display:flex;gap:var(--phoenix-space-2);padding:var(--phoenix-space-2);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.phoenix-category-tabs::-webkit-scrollbar{display:none}.phoenix-category-tab{display:inline-flex;align-items:center;justify-content:center;gap:var(--phoenix-space-2);min-height:var(--phoenix-touch-min);padding:0 var(--phoenix-space-4);background:var(--phoenix-surface-card);border:2px solid var(--phoenix-border-default);border-radius:var(--phoenix-radius-full);font-size:var(--phoenix-text-sm);font-weight:500;color:var(--phoenix-text-secondary);white-space:nowrap;cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out);touch-action:manipulation}.phoenix-category-tab:hover{border-color:var(--phoenix-primary-300);color:var(--phoenix-primary-600);background:var(--phoenix-primary-50)}.phoenix-category-tab--active{background:var(--phoenix-primary-500);border-color:var(--phoenix-primary-500);color:var(--phoenix-text-inverse);font-weight:600}.phoenix-category-tab--active:hover{background:var(--phoenix-primary-600);border-color:var(--phoenix-primary-600);color:var(--phoenix-text-inverse)}.phoenix-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--phoenix-surface-elevated);border-radius:var(--phoenix-radius-full);font-size:var(--phoenix-text-xs);font-weight:600}.phoenix-category-tab--active .phoenix-category-count{background:#fff3;color:var(--phoenix-text-inverse)}.phoenix-category-tab[data-color=blue]{--tab-accent: #3B82F6}.phoenix-category-tab[data-color=green]{--tab-accent: #10B981}.phoenix-category-tab[data-color=purple]{--tab-accent: #8B5CF6}.phoenix-category-tab[data-color=orange]{--tab-accent: #F97316}.phoenix-category-tab[data-color=pink]{--tab-accent: #EC4899}.phoenix-category-tab[data-color=teal]{--tab-accent: #14B8A6}.phoenix-category-tab[data-color=amber]{--tab-accent: #F59E0B}.phoenix-category-tab[data-color=red]{--tab-accent: #EF4444}.phoenix-category-tab[data-color]--active{background:var(--tab-accent);border-color:var(--tab-accent)}.phoenix-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--phoenix-space-2);min-height:var(--phoenix-touch-min);min-width:var(--phoenix-touch-min);padding:0 var(--phoenix-space-4);border:none;border-radius:var(--phoenix-radius-lg);font-family:var(--phoenix-font-family);font-size:var(--phoenix-text-sm);font-weight:600;line-height:1;cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out);touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.phoenix-btn:focus-visible{outline:2px solid var(--phoenix-border-focus);outline-offset:2px}.phoenix-btn:active{transform:scale(.96);transition-duration:var(--phoenix-duration-instant)}.phoenix-btn--primary{background:var(--phoenix-primary-500);color:var(--phoenix-text-inverse)}.phoenix-btn--primary:hover{background:var(--phoenix-primary-600)}.phoenix-btn--secondary{background:var(--phoenix-surface-elevated);color:var(--phoenix-text-primary);border:1px solid var(--phoenix-border-default)}.phoenix-btn--secondary:hover{background:var(--phoenix-surface-muted);border-color:var(--phoenix-border-emphasis)}.phoenix-btn--ghost:hover{background:var(--phoenix-surface-elevated);color:var(--phoenix-text-primary)}.phoenix-btn--cta{background:var(--phoenix-accent-500);color:var(--phoenix-text-inverse)}.phoenix-btn--cta:hover{background:var(--phoenix-accent-600)}.phoenix-btn--success{background:var(--phoenix-success-500);color:var(--phoenix-text-inverse)}.phoenix-btn--success:hover{background:var(--phoenix-success-600)}.phoenix-btn--danger{background:var(--phoenix-danger-500);color:var(--phoenix-text-inverse)}.phoenix-btn--danger:hover{background:var(--phoenix-danger-600)}.phoenix-btn--sm{min-height:36px;padding:0 var(--phoenix-space-3);font-size:var(--phoenix-text-xs)}.phoenix-btn--lg{min-height:var(--phoenix-touch-large);padding:0 var(--phoenix-space-6);font-size:var(--phoenix-text-base)}.phoenix-btn--xl{min-height:64px;padding:0 var(--phoenix-space-8);font-size:var(--phoenix-text-lg)}.phoenix-btn--icon{padding:0;width:var(--phoenix-touch-min)}.phoenix-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.phoenix-qty-stepper{display:inline-flex;align-items:center;gap:var(--phoenix-space-1);background:var(--phoenix-surface-elevated);border-radius:var(--phoenix-radius-lg);padding:var(--phoenix-space-1)}.phoenix-qty-btn{display:flex;align-items:center;justify-content:center;width:var(--phoenix-touch-min);height:var(--phoenix-touch-min);border:none;border-radius:var(--phoenix-radius-md);background:var(--phoenix-surface-card);color:var(--phoenix-text-primary);font-size:var(--phoenix-text-lg);font-weight:600;cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out);touch-action:manipulation}.phoenix-qty-btn:hover:not(:disabled){background:var(--phoenix-primary-500);color:var(--phoenix-text-inverse)}.phoenix-qty-btn:active:not(:disabled){transform:scale(.92)}.phoenix-qty-btn:disabled{opacity:.3;cursor:not-allowed}.phoenix-qty-display{min-width:48px;text-align:center;font-size:var(--phoenix-text-lg);font-weight:700;font-variant-numeric:tabular-nums;color:var(--phoenix-text-primary)}@keyframes phoenix-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes phoenix-bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes phoenix-slide-up{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes phoenix-slide-in-right{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes phoenix-highlight{0%{background-color:transparent}30%{background-color:var(--phoenix-warning-100)}to{background-color:transparent}}@keyframes phoenix-qty-increase{0%{transform:scale(1);color:inherit}50%{transform:scale(1.2);color:var(--phoenix-success-500)}to{transform:scale(1);color:inherit}}@keyframes phoenix-qty-decrease{0%{transform:scale(1);color:inherit}50%{transform:scale(.85);color:var(--phoenix-warning-500)}to{transform:scale(1);color:inherit}}.phoenix-animate-bounce-in{animation:phoenix-bounce-in var(--phoenix-duration-slow) var(--phoenix-easing-bounce)}.phoenix-animate-slide-up{animation:phoenix-slide-up var(--phoenix-duration-normal) var(--phoenix-easing-out)}.phoenix-animate-slide-in-right{animation:phoenix-slide-in-right var(--phoenix-duration-normal) var(--phoenix-easing-out)}.phoenix-animate-highlight{animation:phoenix-highlight .6s var(--phoenix-easing-out)}.phoenix-animate-qty-increase{animation:phoenix-qty-increase .15s var(--phoenix-easing-out)}.phoenix-animate-qty-decrease{animation:phoenix-qty-decrease .15s var(--phoenix-easing-out)}.phoenix-cart-item{display:flex;align-items:center;gap:var(--phoenix-space-3);padding:var(--phoenix-space-3);background:var(--phoenix-surface-card);border:1px solid var(--phoenix-border-default);border-radius:var(--phoenix-radius-lg);transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-cart-item:hover{border-color:var(--phoenix-primary-200);box-shadow:var(--phoenix-shadow-sm)}.phoenix-cart-item--highlight{animation:phoenix-highlight .6s var(--phoenix-easing-out);border-color:var(--phoenix-primary-300)}.phoenix-quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--phoenix-space-1);min-width:72px;min-height:64px;padding:var(--phoenix-space-2);background:var(--phoenix-surface-card);border:1px solid var(--phoenix-border-default);border-radius:var(--phoenix-radius-lg);cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out);touch-action:manipulation}.phoenix-quick-action:hover{background:var(--phoenix-primary-50);border-color:var(--phoenix-primary-300)}.phoenix-quick-action:active{transform:scale(.95)}.phoenix-quick-action__icon{font-size:24px;line-height:1;color:var(--phoenix-primary-500)}.phoenix-quick-action__label{font-size:var(--phoenix-text-xs);font-weight:500;color:var(--phoenix-text-secondary);text-align:center}.phoenix-input{width:100%;min-height:var(--phoenix-touch-min);padding:0 var(--phoenix-space-3);background:var(--phoenix-surface-card);border:1px solid var(--phoenix-border-default);border-radius:var(--phoenix-radius-lg);font-family:var(--phoenix-font-family);font-size:var(--phoenix-text-base);color:var(--phoenix-text-primary);transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-input:focus{outline:none;border-color:var(--phoenix-border-focus);box-shadow:0 0 0 3px #3b82f61a}.phoenix-input::-moz-placeholder{color:var(--phoenix-text-placeholder)}.phoenix-input::placeholder{color:var(--phoenix-text-placeholder)}.phoenix-search{position:relative}.phoenix-search__icon{position:absolute;left:var(--phoenix-space-3);top:50%;transform:translateY(-50%);color:var(--phoenix-text-muted);pointer-events:none}.phoenix-search .phoenix-input{padding-left:40px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){:root{--phoenix-border-default: #000;--phoenix-text-primary: #000;--phoenix-surface-card: #fff}}:focus-visible{outline:2px solid var(--phoenix-border-focus);outline-offset:2px}@media (max-width: 768px){:root{--phoenix-touch-min: 48px;--phoenix-touch-gap: 12px}.phoenix-product-card{border-radius:var(--phoenix-radius-lg)}.phoenix-category-tab{padding:0 var(--phoenix-space-3)}.phoenix-btn{min-height:48px}}.hold-order-simplified-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}.hold-order-simplified-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease}.hos-header{display:flex;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0}.hos-title{font-size:18px;font-weight:600;color:#1f2937;margin:0;flex:1}.hos-count{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:500;margin-right:12px}.hos-close-btn{width:32px;height:32px;border:none;background:transparent;font-size:24px;color:#6b7280;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.hos-close-btn:hover{background:#f3f4f6;color:#1f2937}.hos-body{flex:1;overflow-y:auto;padding:12px;min-height:200px}.hos-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af}.hos-empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.hos-empty p{margin:0;font-size:14px}.hos-list{display:flex;flex-direction:column;gap:8px}.hos-item{display:flex;align-items:center;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s;gap:12px}.hos-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.hos-item-info{flex:1;min-width:0}.hos-item-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.hos-order-id{font-size:14px;font-weight:600;color:#1f2937}.hos-time{font-size:12px;color:#6b7280}.hos-item-details{display:flex;align-items:center;gap:12px;font-size:13px;color:#4b5563}.hos-member{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#fef3c7;border-radius:4px;color:#92400e;font-size:12px}.hos-points{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#e0e7ff;border-radius:4px;color:#3730a3;font-size:12px;font-weight:500}.hos-stats{color:#374151;font-weight:500}.hos-note{margin-top:6px;padding:6px 8px;background:#f3f4f6;border-radius:4px;font-size:12px;color:#6b7280}.hos-item-actions{display:flex;gap:8px}.hos-btn{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.hos-btn-resume{background:#10b981;color:#fff}.hos-btn-resume:hover{background:#059669;transform:translateY(-1px);box-shadow:0 2px 8px #10b9814d}.hos-btn-delete{background:#ef4444;color:#fff}.hos-btn-delete:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 2px 8px #ef44444d}.hos-footer{padding:12px 20px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px;display:flex;justify-content:center}.hos-btn-clear-all{background:#f3f4f6;color:#dc2626;border:1px solid #e5e7eb}.hos-btn-clear-all:hover{background:#fee2e2;border-color:#ef4444;transform:none}.hos-body::-webkit-scrollbar{width:6px}.hos-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.hos-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.hos-body::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 640px){.hold-order-simplified-modal{width:95%;max-height:90vh}.hos-header{padding:12px 16px}.hos-item{flex-direction:column;align-items:stretch}.hos-item-actions{margin-top:8px;justify-content:stretch}.hos-btn{flex:1;padding:10px}.hos-item-details{flex-wrap:wrap}}.ai-rec-panel{background:#fff;border:1px solid #e0e7ff;border-radius:10px;overflow:hidden;margin:8px 0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.ai-rec-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;border:none;background:linear-gradient(135deg,#eef2ff,#e0e7ff);cursor:pointer;transition:background .15s}.ai-rec-header:hover{background:linear-gradient(135deg,#e0e7ff,#c7d2fe)}.ai-rec-title{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#4338ca}.ai-rec-sparkle{color:#f59e0b;animation:ai-sparkle 2s ease-in-out infinite}@keyframes ai-sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}.ai-rec-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;background:#6366f1;color:#fff;border-radius:9px}.ai-rec-body{padding:8px;max-height:280px;overflow-y:auto}.ai-rec-loading{display:flex;align-items:center;gap:8px;padding:12px;color:#6b7280;font-size:13px}.ai-rec-list{display:flex;flex-direction:column;gap:6px}.ai-rec-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#f9fafb;border:1px solid transparent;transition:all .15s}.ai-rec-item:hover{background:#f0f4ff;border-color:#c7d2fe}.ai-rec-item.added{opacity:.5}.ai-rec-info{flex:1;min-width:0}.ai-rec-product-name{font-size:13px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-rec-meta{display:flex;align-items:center;gap:8px;margin-top:2px}.ai-rec-strategy{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:1px 6px;border:1px solid;border-radius:4px;background:#fff}.ai-rec-price{font-size:12px;font-weight:600;color:#4f46e5}.ai-rec-reason{font-size:11px;color:#9ca3af;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-rec-add-btn{flex-shrink:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #c7d2fe;border-radius:8px;background:#fff;color:#6366f1;cursor:pointer;transition:all .15s;font-size:14px}.ai-rec-add-btn:hover:not(:disabled){background:#6366f1;color:#fff;border-color:#6366f1}.ai-rec-add-btn.added{background:#ecfdf5;color:#059669;border-color:#a7f3d0;cursor:default}.ai-rec-add-btn:disabled{opacity:.6;cursor:not-allowed}.ai-rec-refresh{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:6px;margin-top:6px;border:none;background:transparent;color:#9ca3af;font-size:11px;cursor:pointer;transition:color .15s}.ai-rec-refresh:hover{color:#6366f1}.ai-rec-refresh:disabled{cursor:not-allowed}.ai-rec-body::-webkit-scrollbar{width:4px}.ai-rec-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}@media (max-width: 768px){.ai-rec-panel{border-radius:8px}.ai-rec-body{max-height:200px}}.ai-assistant-fab{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px #6366f166;transition:all .2s;z-index:1000}.ai-assistant-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #6366f180}.ai-assistant-fab.active{background:#374151;box-shadow:0 4px 12px #37415166}.ai-assistant-fab.has-new{animation:ai-pulse 2s ease-in-out infinite}@keyframes ai-pulse{0%,to{box-shadow:0 4px 16px #6366f166}50%{box-shadow:0 4px 24px #6366f1b3,0 0 0 8px #6366f11a}}.ai-fab-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;background:#ef4444;border:2px solid white;border-radius:50%}.ai-assistant-panel{position:fixed;bottom:88px;right:24px;width:360px;max-height:480px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001f,0 0 0 1px #0000000d;z-index:999;display:flex;flex-direction:column;overflow:hidden;animation:ai-slide-up .2s ease-out;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes ai-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ai-assistant-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-bottom:1px solid #e0e7ff}.ai-assistant-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#312e81}.ai-sparkle-icon{color:#f59e0b}.ai-assistant-member{font-weight:400;color:#6366f1;font-size:12px}.ai-assistant-refresh{display:inline-flex;align-items:center;padding:4px;border:none;background:transparent;color:#6366f1;cursor:pointer;border-radius:4px;transition:background .15s}.ai-assistant-refresh:hover:not(:disabled){background:#6366f11a}.ai-assistant-refresh:disabled{opacity:.4;cursor:not-allowed}.ai-assistant-body{flex:1;overflow-y:auto;padding:12px}.ai-assistant-loading,.ai-assistant-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;color:#9ca3af;gap:8px}.ai-assistant-empty p{font-size:13px;margin:0}.ai-spin{animation:ai-spin 1s linear infinite}@keyframes ai-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-assistant-list{display:flex;flex-direction:column;gap:10px}.ai-suggestion-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:12px;transition:border-color .15s}.ai-suggestion-card:hover{border-color:#c7d2fe}.ai-suggestion-scenario{font-size:12px;font-weight:600;color:#6366f1;margin-bottom:6px}.ai-suggestion-script{font-size:14px;line-height:1.6;color:#1f2937;white-space:pre-wrap}.ai-copy-btn{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:11px;border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;cursor:pointer;transition:all .15s}.ai-copy-btn:hover{border-color:#6366f1;color:#4f46e5}.ai-copy-btn.copied{border-color:#22c55e;color:#059669;background:#ecfdf5}.ai-assistant-body::-webkit-scrollbar{width:4px}.ai-assistant-body::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}@media (max-width: 480px){.ai-assistant-panel{width:calc(100vw - 32px);right:16px;bottom:80px;max-height:60vh}.ai-assistant-fab{bottom:16px;right:16px;width:48px;height:48px}}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-container{position:relative;width:100%;height:100%;min-height:200px;display:flex;align-items:center;justify-content:center}.loading-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center}.loading-spinner{border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}.spinner-small{width:24px;height:24px}.spinner-medium{width:32px;height:32px}.spinner-large{width:48px;height:48px}.loading-text{font-size:14px;color:#6b7280;font-weight:500;margin:0;white-space:nowrap}@media (max-width: 768px){.loading-content{gap:12px}.loading-text{font-size:13px}}@media (prefers-color-scheme: dark){.loading-overlay{background:#111827e6}.loading-spinner{border:3px solid #374151;border-top:3px solid #60a5fa}.loading-text{color:#d1d5db}}.loading-spinner{speak:none}.transaction-history-modal-enhanced{background:#fff;border-radius:24px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fffc;width:100%;max-width:1200px!important;max-height:90vh;overflow:hidden;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.unified-modal-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:32px;position:relative;overflow:hidden}.unified-modal-header:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:rotate(0)}50%{transform:rotate(180deg)}}.modal-header-content{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.header-icon-wrapper{background:#fff3;padding:16px;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center}.header-icon-wrapper svg{width:32px;height:32px}.modal-title{font-size:28px;font-weight:700;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.member-info-badge{font-size:16px;opacity:.95;font-weight:500;display:flex;align-items:center;gap:12px}.close-button{position:absolute;top:24px;right:24px;background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:12px;padding:12px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-button:hover{background:#ffffff4d;transform:scale(1.05)}.unified-modal-body{padding:32px;max-height:calc(90vh - 200px);overflow-y:auto}.mds-tabs-wrapper{display:flex;gap:8px;margin-bottom:32px;background:#f8fafc;padding:8px;border-radius:16px;border:1px solid #e2e8f0}.mds-tabs{display:flex;gap:8px;width:100%}.mds-tab{display:flex;align-items:center;gap:12px;padding:16px 24px;border:none;background:transparent;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;color:#64748b;transition:all .3s ease;flex:1;justify-content:center}.mds-tab.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.mds-tab:hover:not(.active){background:#e2e8f0;color:#334155;transform:translateY(-1px)}.mds-tab-icon{width:16px;height:16px}.transaction-filters-enhanced{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:20px;border:1px solid #e2e8f0}.filter-row{display:contents}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:14px;font-weight:600;color:#374151;margin-bottom:4px}.filter-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;background:#fff;transition:all .3s ease;outline:none}.filter-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;transform:translateY(-1px)}.filter-input:hover:not(:focus){border-color:#cbd5e1;background:#fafafa}.quick-filters{display:flex;gap:8px}.quick-filter-btn{flex:1;padding:10px 16px;border:2px solid #e2e8f0;background:#fff;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .3s ease}.quick-filter-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-1px);box-shadow:0 2px 4px #667eea33}.quick-filter-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 8px #667eea4d}.stats-summary-grid,.transaction-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:32px}.summary-card{background:linear-gradient(135deg,#fff,#f8fafc);padding:28px;border-radius:20px;text-align:center;border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #0000001a}.summary-card:hover:before{transform:scaleX(1)}.summary-value{font-size:32px;font-weight:700;color:#1e293b;margin-bottom:8px}.summary-label{font-size:14px;color:#64748b;font-weight:500}.transaction-content{display:grid;grid-template-columns:1fr;gap:0;background:transparent;border-radius:0;border:none;overflow:hidden;box-shadow:none;width:100%!important;min-height:400px;padding:0;box-sizing:border-box}.transaction-list-container,.points-history-container,.statistics-container{grid-column:1 / -1;width:100%!important;padding:0;margin:0}.transaction-list-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-bottom:1px solid #e2e8f0}.transaction-list-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#1e293b}.export-buttons{display:flex;gap:12px}.export-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:2px solid #e2e8f0;background:#fff;border-radius:12px;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease}.export-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 8px #667eea33}.transaction-table{width:100%;border-collapse:separate;border-spacing:0;grid-column:1 / -1}.transaction-table thead th{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;padding:20px 24px;font-size:14px;font-weight:600;text-align:left;position:sticky;top:0;z-index:10}.transaction-table thead th:first-child{padding-left:32px}.transaction-table thead th:last-child{padding-right:32px;text-align:center}.transaction-table tbody tr{background:#fff;transition:all .3s ease;cursor:pointer}.transaction-table tbody tr:hover{background:linear-gradient(135deg,#f8fafc,#e2e8f0);transform:scale(1.01);box-shadow:0 2px 8px #0000001a}.transaction-table tbody tr:nth-child(2n){background:#f8fafc}.transaction-table tbody tr:nth-child(2n):hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)}.transaction-table td{padding:20px 24px;border-bottom:1px solid #e2e8f0;font-size:14px;color:#374151}.transaction-table td:first-child{padding-left:32px}.transaction-table td:last-child{padding-right:32px}.points-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.points-badge.earned{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.points-badge.used{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.transaction-status{padding:8px 16px;border-radius:20px;font-size:12px;font-weight:600;display:inline-block}.transaction-status.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 4px #10b9814d}.transaction-status.pending{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 4px #f59e0b4d}.transaction-status.cancelled{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px #ef44444d}.transaction-status.refunded{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 4px #8b5cf64d}.action-btn{padding:8px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#64748b}.action-btn:hover{background:#f8fafc;border-color:#667eea;color:#667eea;transform:scale(1.1)}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:12px;padding:24px 32px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-top:1px solid #e2e8f0}.pagination-button{padding:10px 16px;border:1px solid #e2e8f0;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;color:#64748b;transition:all .3s ease;min-width:44px}.pagination-button:hover:not(:disabled){background:#f1f5f9;border-color:#667eea;color:#667eea;transform:translateY(-1px)}.pagination-button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent;box-shadow:0 2px 4px #667eea4d}.pagination-button:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:#64748b;font-size:14px;margin-left:16px}.unified-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-top:1px solid #e2e8f0}.unified-footer-info{color:#64748b;font-size:14px}.unified-footer-actions{display:flex;gap:16px}.unified-btn-secondary{display:flex;align-items:center;gap:8px;padding:12px 24px;border:2px solid #e2e8f0;background:#fff;border-radius:12px;color:#64748b;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.unified-btn-secondary:hover{border-color:#667eea;color:#667eea;transform:translateY(-2px);box-shadow:0 4px 8px #667eea33}.unified-btn-primary{padding:12px 32px;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea66}.unified-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea80}.points-history-container{padding:32px;display:grid;grid-template-columns:1fr;gap:24px}.points-timeline{position:relative;padding-left:40px}.timeline-item{position:relative;margin-bottom:32px;padding-left:32px}.timeline-dot{position:absolute;left:-8px;top:8px;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid white;box-shadow:0 2px 8px #667eea4d}.timeline-content{background:linear-gradient(135deg,#fff,#f8fafc);padding:20px;border-radius:16px;box-shadow:0 2px 8px #0000000d;border:1px solid #e2e8f0;transition:all .3s ease}.timeline-content:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.statistics-container{padding:32px}.stats-section{background:#fff;border-radius:20px;padding:28px;margin-bottom:24px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #0000000d}.section-title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#1e293b;margin-bottom:24px}.empty-state{text-align:center;padding:60px;grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center}.empty-icon{width:80px;height:80px;margin:0 auto 20px;color:#cbd5e1}.empty-title{font-size:20px;font-weight:600;color:#475569;margin-bottom:8px}.empty-description{font-size:14px;color:#94a3b8}.statistics-container{display:grid;grid-template-columns:1fr;gap:32px;padding:32px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;grid-column:1 / -1}.loading-spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media (max-width: 768px){.transaction-history-modal-enhanced{border-radius:16px;max-width:100%}.unified-modal-header{padding:24px}.unified-modal-body{padding:20px}.transaction-filters-enhanced{grid-template-columns:1fr;padding:20px}.stats-summary-grid,.transaction-summary{grid-template-columns:repeat(2,1fr);gap:16px}.transaction-table{font-size:12px}.transaction-table th,.transaction-table td{padding:12px 8px}.mds-tabs-wrapper{flex-direction:column}.mds-tab{padding:12px 16px}}.unified-modal-body::-webkit-scrollbar{width:8px}.unified-modal-body::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.unified-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}.unified-modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.transaction-history-modal-enhanced{animation:fadeIn .3s ease-out}.transaction-table tbody tr{animation:slideUp .4s ease-out;animation-fill-mode:both}.transaction-table tbody tr:nth-child(1){animation-delay:.05s}.transaction-table tbody tr:nth-child(2){animation-delay:.1s}.transaction-table tbody tr:nth-child(3){animation-delay:.15s}.transaction-table tbody tr:nth-child(4){animation-delay:.2s}.transaction-table tbody tr:nth-child(5){animation-delay:.25s}.transaction-list-container-optimized{width:100%;padding:24px;background:linear-gradient(180deg,#f8fafc,#fff);border-radius:20px;box-sizing:border-box;margin:0}.transaction-list-header-optimized{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid transparent;background:linear-gradient(90deg,#667eea,#764ba2) bottom / 100% 2px no-repeat}.list-title{font-size:24px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:12px}.list-title-icon{width:32px;height:32px;padding:6px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff}.transaction-stats-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000a}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:700;color:#1e293b}.transaction-cards-container{display:flex;flex-direction:column;gap:16px}.transaction-card-optimized{background:#fff;border-radius:16px;padding:0;box-shadow:0 2px 8px #0000000a;border:1px solid #f1f5f9;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.transaction-card-optimized:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014;border-color:#e2e8f0}.transaction-card-main{display:grid;grid-template-columns:1fr;align-items:center;gap:24px;padding:20px 24px;cursor:pointer;position:relative;width:100%;box-sizing:border-box}.transaction-status-indicator{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#10b981,#059669)}.transaction-status-indicator.pending{background:linear-gradient(180deg,#f59e0b,#d97706)}.transaction-status-indicator.cancelled{background:linear-gradient(180deg,#ef4444,#dc2626)}.order-info-section{display:flex;flex-direction:column;gap:8px;min-width:180px}.order-number{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#1e293b}.order-icon{width:20px;height:20px;color:#667eea}.order-date{font-size:13px;color:#64748b;display:flex;align-items:center;gap:6px}.date-icon{width:14px;height:14px;color:#94a3b8}.transaction-details-grid{display:grid;grid-template-columns:1fr;gap:24px;flex:1;width:100%;box-sizing:border-box}.detail-item{display:flex;flex-direction:column;gap:6px}.detail-label{font-size:11px;text-transform:uppercase;color:#94a3b8;letter-spacing:.5px;font-weight:500}.detail-value{font-size:15px;font-weight:600;color:#334155;display:flex;align-items:center;gap:6px}.payment-method-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:20px;font-size:13px;font-weight:500;color:#0369a1}.payment-method-badge.cash{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac;color:#15803d}.payment-method-badge.credit{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fcd34d;color:#92400e}.points-display{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-radius:12px;font-size:14px;font-weight:600;color:#15803d}.points-display.negative{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#b91c1c}.amount-section{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:120px}.amount-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.amount-value-large{font-size:24px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.expand-button-optimized{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;transition:all .3s ease}.expand-button-optimized:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;transform:scale(1.1)}.expand-button-optimized:hover .expand-icon{color:#fff}.expand-icon{width:20px;height:20px;color:#64748b;transition:all .3s ease}.expand-icon.rotated{transform:rotate(180deg)}.transaction-expanded-section{background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;padding:24px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.items-grid{display:grid;gap:16px;margin-bottom:20px}.item-card{display:flex;align-items:center;gap:16px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e2e8f0;width:100%;box-sizing:border-box}.item-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:10px}.item-icon svg{width:24px;height:24px;color:#0ea5e9}.item-details{flex:1}.item-name{font-size:15px;font-weight:600;color:#1e293b;margin-bottom:4px}.item-meta{font-size:13px;color:#64748b}.item-quantity{padding:6px 12px;background:#f1f5f9;border-radius:20px;font-size:14px;font-weight:500;color:#475569}.item-price{font-size:16px;font-weight:600;color:#1e293b}.amount-summary{display:grid;gap:12px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e2e8f0}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.summary-row.total{padding-top:12px;border-top:2px solid #e2e8f0;font-size:16px;font-weight:700}.summary-label{color:#64748b}.summary-value{color:#1e293b;font-weight:500}.summary-value.discount{color:#ef4444}.summary-value.total{font-size:20px;font-weight:700;color:#1565c0}@media (max-width: 768px){.transaction-card-main{grid-template-columns:1fr;gap:16px}.transaction-details-grid{grid-template-columns:1fr;gap:12px}.amount-section{align-items:flex-start}.transaction-stats-bar{grid-template-columns:repeat(2,1fr)}}.empty-state-optimized{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;text-align:center}.empty-illustration{width:200px;height:200px;margin-bottom:24px;opacity:.5}.empty-title{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:8px}.empty-description{font-size:16px;color:#64748b;max-width:400px}.transaction-history-modal-mds{border-radius:24px;overflow:hidden;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #fffc,0 0 100px #667eea1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffffa,#f9fafbfa)}.mds-modal-header{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);padding:32px;position:relative;overflow:hidden}.mds-modal-header:before{content:"";position:absolute;top:-50%;right:-10%;width:50%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);animation:floatGradient 20s ease-in-out infinite}.mds-modal-header:after{content:"";position:absolute;bottom:-50%;left:-10%;width:40%;height:200%;background:radial-gradient(circle at center,rgba(255,255,255,.08) 0%,transparent 60%);animation:floatGradient 25s ease-in-out infinite reverse}@keyframes floatGradient{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.mds-header-content{position:relative;z-index:1;display:flex;align-items:center;gap:20px}.mds-header-icon{width:56px;height:56px;background:linear-gradient(135deg,#fff3,#ffffff1a);border-radius:16px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 16px #0000001a,inset 0 1px #ffffff4d}.mds-header-icon svg{width:32px;height:32px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.mds-header-text h2{font-size:28px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:-.5px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.mds-member-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:12px;color:#fff;font-size:14px;font-weight:500}.mds-close-button{position:absolute;top:24px;right:24px;width:40px;height:40px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.mds-close-button:hover{background:#fff3;transform:scale(1.05);box-shadow:0 4px 12px #00000026}.mds-close-button svg{width:20px;height:20px;color:#fff}.mds-tabs-container{background:linear-gradient(180deg,var(--gray-50) 0%,white 100%);padding:24px 32px 0;border-bottom:1px solid var(--gray-200)}.mds-tabs-list{display:flex;gap:8px;position:relative}.mds-tab-button{position:relative;padding:14px 24px;background:transparent;border:none;border-radius:12px 12px 0 0;font-size:15px;font-weight:500;color:var(--gray-600);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:10px}.mds-tab-button:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,transparent 0%,rgba(102,126,234,.05) 100%);opacity:0;transition:opacity .3s ease}.mds-tab-button:hover:before{opacity:1}.mds-tab-button.active{background:#fff;color:var(--primary-600);box-shadow:0 -2px 8px #667eea1a,0 1px #fff;z-index:1}.mds-tab-button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-600) 0%,var(--primary-700) 100%);animation:slideIn .3s ease}@keyframes slideIn{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mds-tab-icon{width:18px;height:18px;transition:transform .3s ease}.mds-tab-button:hover .mds-tab-icon{transform:translateY(-1px)}.mds-tab-button.active .mds-tab-icon{color:var(--primary-600);filter:drop-shadow(0 2px 4px rgba(102,126,234,.3))}.mds-modal-body{padding:32px;background:#fff;overflow-y:auto;flex:1}.mds-filters-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:24px;background:linear-gradient(135deg,var(--gray-50) 0%,white 100%);border-radius:16px;border:1px solid var(--gray-200);margin-bottom:24px}.mds-filter-group{display:flex;flex-direction:column;gap:8px}.mds-filter-label{font-size:12px;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.mds-filter-input{padding:10px 14px;background:#fff;border:2px solid var(--gray-200);border-radius:10px;font-size:14px;color:var(--gray-800);transition:all .2s ease}.mds-filter-input:hover{border-color:var(--gray-300)}.mds-filter-input:focus{outline:none;border-color:var(--primary-600);box-shadow:0 0 0 3px #667eea1a}.mds-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:24px}.mds-stat-card{padding:20px;background:linear-gradient(135deg,white 0%,var(--gray-50) 100%);border-radius:16px;border:1px solid var(--gray-200);position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.mds-stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-600) 0%,var(--primary-700) 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.mds-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 16px #667eea1a;border-color:var(--primary-200)}.mds-stat-card:hover:before{transform:scaleX(1)}.mds-stat-value{font-size:24px;font-weight:700;background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:4px}.mds-stat-label{font-size:12px;font-weight:500;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.mds-cards-container{display:flex;flex-direction:column;gap:16px}.mds-transaction-card{background:#fff;border-radius:16px;border:1px solid var(--gray-200);overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.mds-transaction-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--success-color) 0%,#059669 100%)}.mds-transaction-card.pending:before{background:linear-gradient(180deg,var(--warning-color) 0%,#D97706 100%)}.mds-transaction-card.cancelled:before{background:linear-gradient(180deg,var(--error-color) 0%,#DC2626 100%)}.mds-transaction-card:hover{transform:translate(4px);box-shadow:0 8px 24px #667eea14;border-color:var(--primary-200)}.mds-card-content{padding:20px 24px;cursor:pointer}.mds-modal-footer{padding:24px 32px;background:linear-gradient(180deg,white 0%,var(--gray-50) 100%);border-top:1px solid var(--gray-200);display:flex;justify-content:flex-end;gap:12px}.mds-footer-button{padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px}.mds-button-secondary{background:#fff;border:2px solid var(--gray-300);color:var(--gray-700)}.mds-button-secondary:hover{background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-2px);box-shadow:0 4px 8px #0000000d}.mds-button-primary{background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 100%);border:none;color:#fff;box-shadow:0 4px 12px #667eea4d}.mds-button-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px #667eea66;filter:brightness(1.05)}@keyframes mdsSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes mdsFadeIn{0%{opacity:0}to{opacity:1}}.mds-animated{animation:mdsSlideUp .3s ease-out}@media (max-width: 768px){.transaction-history-modal-mds{border-radius:16px 16px 0 0;max-width:100%;max-height:100%}.mds-modal-header{padding:24px}.mds-header-text h2{font-size:24px}.mds-modal-body{padding:24px}.mds-filters-section{grid-template-columns:1fr}.mds-stats-grid{grid-template-columns:repeat(2,1fr)}}.mds-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px}.mds-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-600);border-radius:50%;animation:spin 1s linear infinite}.mds-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 32px;text-align:center}.mds-empty-icon{width:80px;height:80px;margin-bottom:24px;color:var(--gray-300)}.mds-empty-title{font-size:20px;font-weight:600;color:var(--gray-700);margin-bottom:8px}.mds-empty-message{font-size:14px;color:var(--gray-500);max-width:400px}.mds-modal-header{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.mds-header-text h2{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);font-weight:700}.mds-member-badge{background:#fff3;border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.15)}.mds-close-button{background:#ffffff26;border:1px solid rgba(255,255,255,.3)}.mds-close-button:hover{background:#ffffff40}.mds-close-button svg{color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.mds-tab-button{color:#4a5568;font-weight:500;background:#f9fafbcc}.mds-tab-button:hover{background:#ffffffe6;color:#2d3748}.mds-tab-button.active{background:#fff;color:#5a67d8;font-weight:600;box-shadow:0 -2px 12px #5a67d826,0 1px #fff}.mds-tab-button.active:after{background:linear-gradient(90deg,#5a67d8,#6b46c1);height:3px}.mds-tab-icon{opacity:.8}.mds-tab-button:hover .mds-tab-icon{opacity:1}.mds-tab-button.active .mds-tab-icon{color:#5a67d8;opacity:1}.mds-filter-label{color:#2d3748;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.mds-filter-input{background:#fff;border:2px solid #cbd5e0;color:#1a202c;font-weight:500}.mds-filter-input:hover{border-color:#a0aec0}.mds-filter-input:focus{border-color:#5a67d8;box-shadow:0 0 0 3px #5a67d826}.mds-filter-input option{color:#1a202c;background:#fff;font-weight:500}.mds-stat-card{background:linear-gradient(135deg,#fff,#f7fafc);border:1px solid #cbd5e0}.mds-stat-value{background:linear-gradient(135deg,#5a67d8,#6b46c1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.mds-stat-label{color:#4a5568;font-weight:600;font-size:12px}.points-summary-card{background:linear-gradient(135deg,#fff,#f7fafc);border:1px solid #cbd5e0;padding:24px;border-radius:16px;margin-bottom:24px}.balance-label{color:#4a5568;font-size:14px;font-weight:600;margin-bottom:8px}.balance-value{font-size:36px;font-weight:700;background:linear-gradient(135deg,#5a67d8,#6b46c1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.points-icon{width:48px;height:48px;color:#5a67d8;opacity:.9}.timeline-content{background:#fff;border:1px solid #cbd5e0;box-shadow:0 2px 8px #0000000f}.timeline-dot{background:linear-gradient(135deg,#5a67d8,#6b46c1);border:3px solid #ffffff;box-shadow:0 2px 8px #5a67d84d}.timeline-header{margin-bottom:8px}.points-type{padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.points-type.earned{background:#c6f6d5;color:#22543d;border:1px solid #9ae6b4}.points-type.used{background:#fed7d7;color:#742a2a;border:1px solid #fc8181}.points-type.adjusted{background:#e9d8fd;color:#44337a;border:1px solid #b794f4}.timeline-date{color:#4a5568;font-size:13px;font-weight:500}.timeline-description{color:#2d3748;font-size:14px;font-weight:500;margin-bottom:12px}.points-change{font-size:16px;font-weight:700;padding:4px 8px;border-radius:6px}.points-change.positive{color:#22543d;background:#f0fff4;border:1px solid #9ae6b4}.points-change.negative{color:#742a2a;background:#fff5f5;border:1px solid #fc8181}.points-balance{color:#4a5568;font-size:13px;font-weight:600;margin-left:12px}.pagination-controls{background:#f7fafc;padding:16px 24px;border-top:1px solid #cbd5e0;border-radius:0 0 16px 16px}.pagination-button{background:#fff;border:2px solid #cbd5e0;color:#2d3748;font-weight:600;padding:8px 16px;border-radius:8px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:#5a67d8;border-color:#5a67d8;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #5a67d833}.pagination-button:disabled{opacity:.5;cursor:not-allowed;color:#a0aec0}.pagination-info{color:#2d3748;font-weight:600;font-size:14px}.mds-modal-footer{background:linear-gradient(180deg,#fff,#f7fafc);border-top:1px solid #cbd5e0}.mds-button-secondary{background:#fff;border:2px solid #cbd5e0;color:#2d3748;font-weight:600}.mds-button-secondary:hover{background:#f7fafc;border-color:#a0aec0;color:#1a202c}.mds-button-secondary svg{color:#4a5568}.mds-button-primary{background:linear-gradient(135deg,#5a67d8,#6b46c1);color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 4px 12px #5a67d84d}.mds-button-primary:hover{filter:brightness(1.1);box-shadow:0 6px 16px #5a67d866}.mds-button-primary svg{color:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.mds-empty-state{background:#f7fafc;border-radius:16px;padding:60px 32px}.mds-empty-icon{color:#a0aec0;opacity:.8}.mds-empty-title{color:#2d3748;font-weight:700}.mds-empty-message{color:#4a5568;font-weight:500}.mds-loading{background:#f7fafccc;border-radius:16px;padding:60px}.mds-loading p{color:#2d3748;font-weight:600;font-size:14px}.mds-spinner{border:4px solid #cbd5e0;border-top-color:#5a67d8}.mds-transaction-card{background:#fff;border:1px solid #cbd5e0}.mds-transaction-card:hover{border-color:#a0aec0;box-shadow:0 8px 24px #00000014}.order-number{color:#1a202c;font-weight:700}.order-date{color:#4a5568;font-weight:500}.detail-label{color:#4a5568;font-weight:600;text-transform:uppercase;font-size:11px}.detail-value{color:#2d3748;font-weight:600}.amount-label{color:#4a5568;font-weight:600;text-transform:uppercase;font-size:11px}.amount-value-large{background:linear-gradient(135deg,#5a67d8,#6b46c1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.3);cursor:pointer}select{cursor:pointer}*:focus-visible{outline:2px solid #5a67d8;outline-offset:2px}.stats-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.summary-card{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:24px;position:relative;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000000a}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#5a67d8,#6b46c1)}.summary-card.gradient-blue:before{background:linear-gradient(90deg,#3182ce,#2c5282)}.summary-card.gradient-purple:before{background:linear-gradient(90deg,#805ad5,#6b46c1)}.summary-card.gradient-green:before{background:linear-gradient(90deg,#38a169,#276749)}.summary-card.gradient-orange:before{background:linear-gradient(90deg,#ed8936,#c05621)}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014;border-color:#cbd5e0}.summary-icon{width:48px;height:48px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.summary-card.gradient-blue .summary-icon{background:#ebf8ff;border-color:#90cdf4;color:#2c5282}.summary-card.gradient-purple .summary-icon{background:#faf5ff;border-color:#d6bcfa;color:#553c9a}.summary-card.gradient-green .summary-icon{background:#f0fff4;border-color:#9ae6b4;color:#276749}.summary-card.gradient-orange .summary-icon{background:#fffdf7;border-color:#fbd38d;color:#c05621}.summary-icon svg{width:24px;height:24px}.summary-content{position:relative;z-index:1}.summary-value{font-size:32px;font-weight:800;color:#1a202c;line-height:1.2;margin-bottom:8px}.summary-label{font-size:14px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.stats-section{background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:28px;margin-bottom:24px;box-shadow:0 2px 8px #0000000a}.section-title{font-size:20px;font-weight:700;color:#1a202c;margin-bottom:24px;display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:2px solid #e2e8f0}.section-title .icon-sm{width:24px;height:24px;color:#5a67d8}.popular-products{display:flex;flex-direction:column;gap:16px}.product-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s ease}.product-item:hover{background:#fff;border-color:#cbd5e0;box-shadow:0 2px 8px #0000000f}.product-rank{width:32px;height:32px;background:#5a67d8;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.product-item:nth-child(1) .product-rank{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 8px #f59e0b4d}.product-item:nth-child(2) .product-rank{background:linear-gradient(135deg,#cbd5e0,#a0aec0)}.product-item:nth-child(3) .product-rank{background:linear-gradient(135deg,#fed7aa,#f6ad55)}.product-name{font-size:16px;font-weight:600;color:#1a202c;margin-bottom:4px}.product-stats{font-size:14px;color:#4a5568;font-weight:500}.product-bar{width:120px;height:8px;background:#e2e8f0;border-radius:4px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,#5a67d8,#6b46c1);border-radius:4px;transition:width .3s ease}.monthly-trend{display:flex;align-items:flex-end;gap:16px;height:200px;padding:20px 0;position:relative}.trend-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.trend-month{font-size:13px;font-weight:600;color:#4a5568;text-transform:uppercase;margin-top:auto}.trend-bar-container{width:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative}.trend-bar{width:80%;background:linear-gradient(180deg,#5a67d8,#6b46c1);border-radius:8px 8px 0 0;position:relative;transition:all .3s ease;cursor:pointer;box-shadow:0 2px 8px #5a67d833}.trend-bar:hover{transform:scaleY(1.05);box-shadow:0 4px 12px #5a67d84d}.trend-value{position:absolute;top:-24px;left:50%;transform:translate(-50%);font-size:13px;font-weight:700;color:#1a202c;background:#fff;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0;white-space:nowrap;opacity:0;transition:opacity .2s ease}.trend-bar:hover .trend-value{opacity:1}.trend-count{font-size:12px;font-weight:600;color:#718096;margin-top:8px;background:#f7fafc;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0}.monthly-trend:before{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#cbd5e0}@media (max-width: 768px){.stats-summary-grid{grid-template-columns:1fr}.monthly-trend{height:150px;gap:8px}.trend-value{font-size:11px;padding:2px 4px}.product-bar{width:80px}}.summary-card:focus-within{outline:2px solid #5a67d8;outline-offset:2px}.product-item:focus-within{outline:2px solid #5a67d8;outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.statistics-container>*{animation:fadeIn .3s ease backwards}.stats-summary-grid>*{animation:fadeIn .3s ease backwards}.stats-summary-grid>*:nth-child(2){animation-delay:.15s}.stats-summary-grid>*:nth-child(3){animation-delay:.2s}.stats-summary-grid>*:nth-child(4){animation-delay:.25s}:root{--stat-primary: #1a1f2e;--stat-secondary: #2d3446;--stat-accent: #4361ee;--stat-accent-dark: #3651d9;--text-primary: #0f1419;--text-secondary: #536471;--text-inverse: #ffffff;--bg-card: #ffffff;--bg-hover: #f7f9fb;--bg-accent-light: #eff3ff;--color-success: #00c853;--color-warning: #ff6f00;--color-danger: #d50000;--color-info: #2962ff;--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 6px rgba(0,0,0,.15);--shadow-lg: 0 10px 20px rgba(0,0,0,.15);--shadow-xl: 0 20px 40px rgba(0,0,0,.2)}.statistics-container{padding:32px;background:linear-gradient(180deg,#f8fafc,#fff);min-height:500px}.stats-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:40px}.summary-card{background:var(--bg-card);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.summary-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-xl);border-color:var(--stat-accent)}.summary-card-header{background:var(--stat-primary);padding:20px;position:relative;overflow:hidden}.summary-card-header:after{content:"";position:absolute;top:-50%;right:-20%;width:120%;height:200%;background:radial-gradient(circle,rgba(67,97,238,.1) 0%,transparent 70%);animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.summary-icon{width:40px;height:40px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.summary-icon svg{width:24px;height:24px;color:var(--text-inverse);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.summary-card-body{padding:24px;background:var(--bg-card)}.summary-value{font-size:36px;font-weight:900;color:var(--text-primary);line-height:1;margin-bottom:8px;letter-spacing:-1px}.summary-label{font-size:13px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.summary-card.card-blue .summary-card-header{background:linear-gradient(135deg,#667eea,#764ba2)}.summary-card.card-green .summary-card-header{background:linear-gradient(135deg,#00c853,#00a047)}.summary-card.card-orange .summary-card-header{background:linear-gradient(135deg,#ff6f00,#ff8f00)}.summary-card.card-purple .summary-card-header{background:linear-gradient(135deg,#7c3aed,#a855f7)}.stats-section{background:var(--bg-card);border-radius:24px;padding:32px;box-shadow:var(--shadow-lg);margin-bottom:32px;border:2px solid #e5e7eb}.section-title{font-size:24px;font-weight:800;color:var(--text-primary);margin-bottom:28px;display:flex;align-items:center;gap:16px;position:relative}.section-title:after{content:"";flex:1;height:2px;background:linear-gradient(90deg,var(--stat-accent) 0%,transparent 100%)}.section-title .icon-sm{width:32px;height:32px;padding:6px;background:var(--bg-accent-light);border-radius:10px;color:var(--stat-accent)}.popular-products{display:grid;gap:16px}.product-item{display:flex;align-items:center;gap:20px;padding:20px;background:var(--bg-hover);border-radius:16px;border:2px solid transparent;transition:all .3s ease;cursor:pointer}.product-item:hover{background:var(--bg-card);border-color:var(--stat-accent);box-shadow:var(--shadow-md);transform:translate(8px)}.product-rank{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;color:var(--text-inverse);position:relative;box-shadow:var(--shadow-md)}.product-item:nth-child(1) .product-rank{background:linear-gradient(135deg,gold,#ffb300);box-shadow:0 4px 12px #ffb70066}.product-item:nth-child(2) .product-rank{background:linear-gradient(135deg,silver,#b8b8b8);box-shadow:0 4px 12px #c0c0c066}.product-item:nth-child(3) .product-rank{background:linear-gradient(135deg,#cd7f32,#b8860b);box-shadow:0 4px 12px #cd7f3266}.product-item:nth-child(n+4) .product-rank{background:var(--stat-primary)}.product-info{flex:1}.product-name{font-size:18px;font-weight:700;color:var(--text-primary);margin-bottom:6px}.product-stats{font-size:14px;font-weight:600;color:var(--text-secondary)}.product-visual{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.product-amount{font-size:20px;font-weight:800;color:var(--stat-accent)}.product-bar{width:150px;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;position:relative}.bar-fill{height:100%;background:linear-gradient(90deg,var(--stat-accent) 0%,var(--stat-accent-dark) 100%);border-radius:6px;position:relative;transition:width .6s ease}.bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.3) 50%,transparent 100%);animation:shimmer 2s infinite}.monthly-trend{display:flex;align-items:flex-end;gap:20px;height:280px;padding:24px;background:var(--bg-hover);border-radius:16px;position:relative}.monthly-trend:before{content:"";position:absolute;inset:24px;background-image:linear-gradient(0deg,#e5e7eb 1px,transparent 1px),linear-gradient(90deg,#e5e7eb 1px,transparent 1px);background-size:50px 50px;opacity:.5;pointer-events:none}.trend-item{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;z-index:1}.trend-bar-container{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-end;position:relative}.trend-bar{width:60%;background:var(--stat-accent);border-radius:8px 8px 0 0;position:relative;cursor:pointer;transition:all .3s ease;box-shadow:0 -4px 12px #4361ee4d}.trend-bar:hover{background:var(--stat-accent-dark);transform:scaleY(1.05);box-shadow:0 -8px 20px #4361ee66}.trend-value{position:absolute;top:-32px;left:50%;transform:translate(-50%);font-size:14px;font-weight:800;color:var(--text-primary);background:var(--bg-card);padding:6px 12px;border-radius:8px;border:2px solid var(--stat-accent);white-space:nowrap;box-shadow:var(--shadow-sm)}.trend-month{font-size:14px;font-weight:700;color:var(--text-primary);margin-top:12px;padding:6px 12px;background:var(--bg-card);border-radius:8px;border:1px solid #e5e7eb}.trend-count{font-size:12px;font-weight:600;color:var(--text-secondary);margin-top:4px}@media (max-width: 768px){.stats-summary-grid{grid-template-columns:1fr}.product-visual{display:none}.monthly-trend{height:200px;gap:12px}}*:focus-visible{outline:3px solid var(--stat-accent);outline-offset:2px;border-radius:4px}.statistics-container[data-loading=true]{opacity:.6;pointer-events:none}.statistics-container>*{animation:slideUp .5s ease backwards}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-summary-grid>*:nth-child(1){animation-delay:.1s}.stats-summary-grid>*:nth-child(2){animation-delay:.2s}.stats-summary-grid>*:nth-child(3){animation-delay:.3s}.stats-summary-grid>*:nth-child(4){animation-delay:.4s}.unified-modal-container .transaction-content,.transaction-history-modal .transaction-content,div.transaction-content,[class*=transaction-content]{width:100%!important;max-width:100%!important;min-width:100%!important;padding:0!important;margin:0!important;box-sizing:border-box!important;display:block!important}.transaction-content .transaction-list-container-optimized,div.transaction-list-container-optimized,[class*=transaction-list-container-optimized]{width:100%!important;max-width:100%!important;min-width:100%!important;padding:24px!important;margin:0!important;box-sizing:border-box!important;display:block!important;background:linear-gradient(180deg,#f8fafc,#fff)!important;border-radius:20px!important}.transaction-list-container-optimized>*,.transaction-list-container-optimized .transaction-list-header-optimized,.transaction-list-container-optimized .transaction-stats-bar,.transaction-list-container-optimized .transaction-cards-container,.transaction-list-container-optimized .mds-cards-container{width:100%!important;max-width:100%!important;box-sizing:border-box!important}.transaction-list-container-optimized .transaction-card-optimized,.transaction-list-container-optimized .mds-transaction-card{width:100%!important;max-width:100%!important;box-sizing:border-box!important;display:block!important}.transaction-card-main,.mds-card-content{width:100%!important;max-width:100%!important;display:block!important;box-sizing:border-box!important}.transaction-details-grid{display:block!important;width:100%!important;grid-template-columns:none!important}.unified-modal-container.transaction-history-modal{max-width:95vw!important;width:95vw!important}body .transaction-content,body .transaction-list-container-optimized{margin-left:0!important;margin-right:0!important;padding-left:24px!important;padding-right:24px!important}.transaction-list-container-optimized{border:2px solid red!important;position:relative!important}.transaction-list-container-optimized:before{content:"DEBUG: 100% WIDTH ACTIVE"!important;position:absolute!important;top:-30px!important;left:0!important;background:red!important;color:#fff!important;padding:5px 10px!important;font-size:12px!important;font-weight:700!important;z-index:10000!important}.transaction-list-container-optimized{border:none!important;padding:16px!important}.transaction-list-header-optimized{margin-bottom:12px!important;padding-bottom:8px!important}.list-title{font-size:18px!important;margin:0!important}.list-title-icon{width:24px!important;height:24px!important;padding:4px!important}.transaction-stats-bar{margin-bottom:16px!important;padding:12px!important;gap:12px!important}.stat-item{gap:2px!important}.stat-value{font-size:16px!important}.transaction-cards-container,.mds-cards-container{gap:8px!important}.transaction-card-optimized,.mds-transaction-card{padding:0!important;margin-bottom:0!important}.transaction-card-main,.mds-card-content{padding:12px 16px!important;gap:12px!important;min-height:auto!important}.order-info-section{gap:4px!important;min-width:140px!important}.order-number{font-size:14px!important;gap:6px!important}.order-icon{width:16px!important;height:16px!important}.order-date{font-size:12px!important;gap:4px!important}.date-icon{width:12px!important;height:12px!important}.transaction-details-grid{gap:16px!important}.detail-item{gap:3px!important}.detail-label{font-size:10px!important}.detail-value{font-size:13px!important;gap:4px!important}.amount-section{gap:4px!important;min-width:100px!important}.amount-label{font-size:10px!important}.amount-value-large{font-size:18px!important}.expand-button-optimized{width:28px!important;height:28px!important}.expand-icon{width:16px!important;height:16px!important}.transaction-expanded-section{padding:16px!important}.items-grid{gap:8px!important;margin-bottom:12px!important}.item-card{padding:10px!important;gap:10px!important}.item-icon{width:32px!important;height:32px!important}.item-icon svg{width:18px!important;height:18px!important}.item-name{font-size:13px!important;margin-bottom:2px!important}.item-meta{font-size:11px!important}.item-quantity{padding:4px 8px!important;font-size:12px!important}.item-price{font-size:14px!important}.amount-summary{gap:8px!important;padding:12px!important}.summary-row{font-size:13px!important}.summary-row.total{padding-top:8px!important;font-size:14px!important}.summary-value.total{font-size:16px!important}.payment-method-badge{padding:4px 8px!important;font-size:11px!important;gap:4px!important}.points-display{padding:3px 8px!important;font-size:12px!important;gap:3px!important}@media (max-width: 768px){.transaction-list-container-optimized{padding:12px!important}.transaction-card-main,.mds-card-content{padding:10px 12px!important;gap:8px!important}.order-info-section{min-width:120px!important}.amount-section{min-width:80px!important}}.transaction-card-optimized,.mds-transaction-card{box-shadow:0 1px 3px #0000001a!important;border-radius:8px!important;overflow:visible!important}.transaction-card-main,.mds-card-content{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;padding:8px 12px!important;gap:8px!important;min-height:48px!important;position:relative!important}.order-info-section{flex:0 0 auto!important;display:flex!important;flex-direction:column!important;gap:2px!important;min-width:120px!important}.order-number{font-size:13px!important;font-weight:600!important;color:#1e293b!important;display:flex!important;align-items:center!important;gap:4px!important}.order-date{font-size:11px!important;color:#64748b!important;display:flex!important;align-items:center!important;gap:3px!important}.transaction-details-grid{flex:1!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important;justify-content:space-around!important}.detail-item{display:flex!important;flex-direction:column!important;align-items:center!important;gap:1px!important;min-width:60px!important}.detail-label{font-size:9px!important;text-transform:uppercase!important;color:#94a3b8!important;letter-spacing:.3px!important;font-weight:500!important;text-align:center!important}.detail-value{font-size:12px!important;font-weight:600!important;color:#334155!important;text-align:center!important;white-space:nowrap!important}.amount-section{flex:0 0 auto!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:2px!important;min-width:80px!important}.amount-label{font-size:9px!important;color:#94a3b8!important;text-transform:uppercase!important;letter-spacing:.3px!important}.amount-value-large{font-size:16px!important;font-weight:700!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}.expand-button-optimized{position:absolute!important;right:-8px!important;top:50%!important;transform:translateY(-50%)!important;width:24px!important;height:24px!important;background:#f8fafc!important;border:1px solid #e2e8f0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;z-index:2!important}.expand-icon{width:12px!important;height:12px!important;color:#64748b!important}.transaction-status-indicator{left:0!important;top:0!important;bottom:0!important;width:3px!important}.payment-method-badge{padding:2px 6px!important;font-size:10px!important;border-radius:10px!important;gap:2px!important}.points-display{padding:2px 6px!important;font-size:10px!important;border-radius:8px!important;gap:2px!important}.transaction-card-optimized:hover,.mds-transaction-card:hover{transform:none!important;box-shadow:0 2px 6px #00000026!important}.transaction-expanded-section{padding:12px!important;background:#f8fafc!important;border-top:1px solid #e2e8f0!important}@media (max-width: 768px){.transaction-details-grid{gap:8px!important}.detail-item{min-width:50px!important}.detail-value{font-size:11px!important}.amount-value-large{font-size:14px!important}}.transaction-list-container-optimized{border:1px solid #e2e8f0!important;box-shadow:0 1px 3px #0000001a!important}.transaction-list-container-optimized:before{display:none!important}.transaction-stats-bar{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;padding:8px 12px!important;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;border-radius:8px!important;margin-bottom:12px!important;border:1px solid #bae6fd!important}.stat-item{text-align:center!important;padding:4px!important}.stat-label{font-size:9px!important;color:#0369a1!important;text-transform:uppercase!important;letter-spacing:.3px!important;font-weight:600!important}.stat-value{font-size:14px!important;color:#0c4a6e!important;font-weight:700!important;margin-top:1px!important}.mds-cards-container,.transaction-cards-container{gap:1px!important;background:#e2e8f0!important;border-radius:8px!important;overflow:hidden!important;padding:1px!important}.transaction-card-optimized,.mds-transaction-card{background:#fff!important;margin:0!important;border-radius:0!important;border:none!important;box-shadow:none!important}.transaction-card-optimized:first-child,.mds-transaction-card:first-child{border-radius:7px 7px 0 0!important}.transaction-card-optimized:last-child,.mds-transaction-card:last-child{border-radius:0 0 7px 7px!important}.transaction-list-header-optimized:after{content:"訂單編號 | 日期時間 | 金額 | 點數 | 付款方式 | 狀態"!important;display:block!important;font-size:10px!important;color:#64748b!important;background:#f1f5f9!important;padding:6px 12px!important;margin:8px 0 0!important;border-radius:4px!important;letter-spacing:.5px!important;text-transform:uppercase!important;font-weight:600!important}.order-info-section{text-align:left!important;width:120px!important}.transaction-details-grid .detail-item:nth-child(1){color:#059669!important}.transaction-details-grid .detail-item:nth-child(2){color:#dc2626!important}.transaction-details-grid .detail-item:nth-child(3){color:#7c3aed!important}.transaction-card-optimized:nth-child(2n),.mds-transaction-card:nth-child(2n){background:#f9fafb!important}.transaction-status-indicator.completed{background:#10b981!important;width:2px!important}.transaction-status-indicator.pending{background:#f59e0b!important;width:2px!important}.transaction-status-indicator.cancelled{background:#ef4444!important;width:2px!important}@media (max-width: 1024px){.transaction-stats-bar{grid-template-columns:repeat(2,1fr)!important;gap:6px!important}}@media (max-width: 768px){.transaction-stats-bar{grid-template-columns:repeat(2,1fr)!important}.transaction-card-main,.mds-card-content{padding:6px 8px!important;min-height:40px!important}.order-info-section{width:100px!important}.transaction-details-grid{gap:6px!important}.amount-section{min-width:60px!important}}.transaction-content::-webkit-scrollbar{width:4px!important}.transaction-content::-webkit-scrollbar-track{background:#f1f5f9!important}.transaction-content::-webkit-scrollbar-thumb{background:#cbd5e1!important;border-radius:2px!important}.transaction-content::-webkit-scrollbar-thumb:hover{background:#94a3b8!important}.transaction-card-main,.mds-card-content{display:grid!important;grid-template-columns:120px 1fr 100px!important;align-items:center!important;padding:10px 12px!important;gap:12px!important;position:relative!important;background:#fff!important;min-height:56px!important}.transaction-details-grid{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:8px!important;flex:1!important;align-items:center!important}.detail-item.original-price .detail-label{color:#6b7280!important}.detail-item.original-price .detail-value{text-decoration:line-through!important;color:#9ca3af!important;font-size:11px!important}.detail-item.discount-amount .detail-label{color:#dc2626!important}.detail-item.discount-amount .detail-value{color:#dc2626!important;font-weight:600!important}.discount-badge{display:inline-flex!important;align-items:center!important;gap:3px!important;padding:2px 6px!important;background:linear-gradient(135deg,#fee2e2,#fecaca)!important;border:1px solid #fca5a5!important;border-radius:8px!important;font-size:11px!important;color:#b91c1c!important;font-weight:600!important}.detail-item.points-change{min-width:80px!important}.points-change-container{display:flex!important;flex-direction:column!important;gap:2px!important;align-items:center!important}.points-earned{display:inline-flex!important;align-items:center!important;gap:2px!important;padding:2px 6px!important;background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;border-radius:6px!important;font-size:10px!important;color:#15803d!important;font-weight:600!important}.points-used{display:inline-flex!important;align-items:center!important;gap:2px!important;padding:2px 6px!important;background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-radius:6px!important;font-size:10px!important;color:#a16207!important;font-weight:600!important}.amount-section{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:3px!important;min-width:100px!important}.amount-original{font-size:11px!important;color:#9ca3af!important;text-decoration:line-through!important}.amount-final{font-size:16px!important;font-weight:700!important;background:linear-gradient(135deg,#059669,#10b981)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}.amount-saved{font-size:10px!important;color:#dc2626!important;font-weight:600!important;padding:1px 4px!important;background:#fee2e2!important;border-radius:4px!important}.transaction-expanded-section{padding:16px!important;background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;border-top:2px solid #e2e8f0!important}.item-card{display:grid!important;grid-template-columns:40px 1fr auto auto auto!important;align-items:center!important;gap:12px!important;padding:8px 12px!important;background:#fff!important;border-radius:6px!important;border:1px solid #e2e8f0!important;margin-bottom:6px!important}.item-original-price{font-size:11px!important;color:#9ca3af!important;text-decoration:line-through!important}.item-discount{font-size:10px!important;color:#dc2626!important;font-weight:600!important}.item-final-price{font-size:13px!important;color:#059669!important;font-weight:700!important}.amount-summary{display:table!important;width:100%!important;background:#fff!important;border-radius:8px!important;padding:12px!important;margin-top:12px!important;border:1px solid #e2e8f0!important}.summary-row{display:table-row!important}.summary-row>span{display:table-cell!important;padding:4px 8px!important;font-size:12px!important}.summary-row.subtotal{color:#6b7280!important}.summary-row.discount{color:#dc2626!important;font-weight:600!important}.summary-row.points-discount{color:#f59e0b!important;font-weight:600!important}.summary-row.tax{color:#7c3aed!important}.summary-row.total{border-top:2px solid #e2e8f0!important;padding-top:8px!important;font-size:14px!important;font-weight:700!important;color:#059669!important}.has-discount:before{content:"🏷️"!important;position:absolute!important;left:-8px!important;top:8px!important;font-size:14px!important}.has-points:before{content:"⭐"!important;position:absolute!important;left:-8px!important;bottom:8px!important;font-size:14px!important}@media (max-width: 768px){.transaction-details-grid{grid-template-columns:repeat(3,1fr)!important;gap:6px!important}.item-card{grid-template-columns:32px 1fr auto!important}.detail-label{font-size:8px!important}.detail-value{font-size:10px!important}}.transaction-table-header{display:grid;grid-template-columns:120px 150px 100px 100px 100px 80px;gap:12px;padding:12px 16px;background:#f8f9fa;border-radius:8px 8px 0 0;border-bottom:2px solid #e9ecef;margin-bottom:8px;font-weight:600;font-size:13px;color:#495057;position:sticky;top:0;z-index:10}.transaction-table-header .header-cell{display:flex;align-items:center;gap:4px}.transaction-table-header .header-cell:first-child{padding-left:4px}@media (max-width: 768px){.transaction-table-header{grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;font-size:12px;padding:10px 12px}.transaction-table-header .header-cell:nth-child(4),.transaction-table-header .header-cell:nth-child(5),.transaction-table-header .header-cell:nth-child(6){grid-row:2}}:root{--th-modal-bg: #ffffff;--th-section-bg: #f8fafc;--th-card-bg: #ffffff;--th-border-light: #e5e7eb;--th-border-medium: #d1d5db;--th-border-dark: #9ca3af;--th-text-primary: #1f2937;--th-text-secondary: #4b5563;--th-text-muted: #6b7280;--th-text-light: #9ca3af;--th-success-bg: #f0fdf4;--th-success-text: #166534;--th-success-border: #86efac;--th-info-bg: #eff6ff;--th-info-text: #1e40af;--th-info-border: #93c5fd;--th-warning-bg: #fef3c7;--th-warning-text: #92400e;--th-warning-border: #fde68a;--th-danger-bg: #fef2f2;--th-danger-text: #991b1b;--th-danger-border: #fca5a5}.points-summary-card{background-color:var(--th-card-bg)!important;border:1px solid var(--th-border-light)!important;box-shadow:0 1px 3px #0000001a!important}.points-balance{background-color:var(--th-section-bg)!important;border:1px solid var(--th-border-light)!important;padding:1.5rem!important;border-radius:.5rem!important}.balance-label{color:var(--th-text-secondary)!important;font-size:.875rem!important;font-weight:600!important}.balance-value{color:var(--th-text-primary)!important;font-size:2rem!important;font-weight:700!important}.points-timeline{background-color:var(--th-card-bg)!important;padding:1.5rem!important}.timeline-item{background-color:var(--th-card-bg)!important;border:1px solid var(--th-border-light)!important;padding:1rem!important;margin-bottom:1rem!important;border-radius:.5rem!important}.timeline-item:hover{background-color:var(--th-section-bg)!important;border-color:var(--th-border-medium)!important}.timeline-content{background-color:transparent!important}.timeline-header{color:var(--th-text-primary)!important;font-weight:600!important}.timeline-date{color:var(--th-text-muted)!important;font-size:.875rem!important}.timeline-description{color:var(--th-text-secondary)!important;font-size:.875rem!important;margin-top:.5rem!important}.points-type.earned{background-color:var(--th-success-bg)!important;color:var(--th-success-text)!important;border:1px solid var(--th-success-border)!important;padding:.25rem .75rem!important;border-radius:999px!important;font-size:.75rem!important;font-weight:600!important}.points-type.used{background-color:var(--th-danger-bg)!important;color:var(--th-danger-text)!important;border:1px solid var(--th-danger-border)!important;padding:.25rem .75rem!important;border-radius:999px!important;font-size:.75rem!important;font-weight:600!important}.points-type.adjusted{background-color:var(--th-info-bg)!important;color:var(--th-info-text)!important;border:1px solid var(--th-info-border)!important;padding:.25rem .75rem!important;border-radius:999px!important;font-size:.75rem!important;font-weight:600!important}.points-change.positive{color:var(--th-success-text)!important;font-weight:600!important}.points-change.negative{color:var(--th-danger-text)!important;font-weight:600!important}.points-balance{color:var(--th-text-muted)!important;font-size:.875rem!important}.stats-summary-grid{background-color:transparent!important;gap:1rem!important}.summary-card{background-color:var(--th-card-bg)!important;border:1px solid var(--th-border-light)!important;box-shadow:0 1px 3px #0000001a!important;padding:1.5rem!important;border-radius:.5rem!important}.summary-card:hover{box-shadow:0 4px 6px -1px #0000001a!important;border-color:var(--th-border-medium)!important}.summary-card.card-blue{background:linear-gradient(135deg,#fff,#eff6ff)!important;border-color:var(--th-info-border)!important}.summary-card.card-purple{background:linear-gradient(135deg,#fff,#f3e8ff)!important;border-color:#c084fc!important}.summary-card.card-green{background:linear-gradient(135deg,#fff,#f0fdf4)!important;border-color:var(--th-success-border)!important}.summary-card.card-amber{background:linear-gradient(135deg,#fff,#fef3c7)!important;border-color:var(--th-warning-border)!important}.summary-card-header{margin-bottom:.75rem!important}.summary-icon{color:var(--th-text-muted)!important;width:1.5rem!important;height:1.5rem!important}.summary-label{color:var(--th-text-secondary)!important;font-size:.875rem!important;font-weight:600!important;text-transform:uppercase!important;letter-spacing:.05em!important}.summary-value{color:var(--th-text-primary)!important;font-size:1.875rem!important;font-weight:700!important;line-height:1!important;margin-top:.5rem!important}.chart-container{background-color:var(--th-card-bg)!important;border:1px solid var(--th-border-light)!important;border-radius:.5rem!important;padding:1.5rem!important;box-shadow:0 1px 3px #0000001a!important}.chart-header{color:var(--th-text-primary)!important;font-size:1.125rem!important;font-weight:600!important;margin-bottom:1rem!important;padding-bottom:.75rem!important;border-bottom:1px solid var(--th-border-light)!important}.product-list-item{background-color:var(--th-card-bg)!important;border:1px solid var(--th-border-light)!important;padding:.75rem!important;margin-bottom:.5rem!important;border-radius:.375rem!important;transition:all .2s ease!important}.product-list-item:hover{background-color:var(--th-section-bg)!important;border-color:var(--th-border-medium)!important}.product-name{color:var(--th-text-primary)!important;font-weight:600!important;font-size:.875rem!important}.product-count{color:var(--th-text-muted)!important;font-size:.75rem!important}.product-amount{color:var(--th-text-secondary)!important;font-weight:600!important;font-size:.875rem!important}.mds-empty-state{background-color:var(--th-section-bg)!important;border:2px dashed var(--th-border-light)!important;padding:3rem!important;border-radius:.5rem!important;text-align:center!important}.mds-empty-icon{color:var(--th-text-light)!important;width:3rem!important;height:3rem!important;margin:0 auto 1rem!important}.mds-empty-title{color:var(--th-text-primary)!important;font-size:1.125rem!important;font-weight:600!important;margin-bottom:.5rem!important}.mds-empty-message{color:var(--th-text-muted)!important;font-size:.875rem!important}.points-history-container,.statistics-container{background-color:var(--th-card-bg)!important}.timeline-dot{background-color:var(--th-border-medium)!important;border:2px solid var(--th-card-bg)!important}.mds-stat-label,.stat-label{color:var(--th-text-secondary)!important;font-weight:600!important}.mds-stat-value,.stat-value{color:var(--th-text-primary)!important;font-weight:700!important}.pos-checkout-panel{width:400px;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow:hidden;display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;max-height:calc(100vh - 200px);overflow-y:auto}.pos-section-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--pos-spacing-card);color:inherit}.pos-payment-section{background:var(--pos-payment-bg);border-bottom:1px solid var(--pos-payment-border);padding:var(--pos-spacing-panel)}.pos-payment-title{font-size:1.125rem;font-weight:600;color:var(--pos-payment-text);margin-bottom:var(--pos-spacing-card)}.pos-payment-options{display:flex;gap:var(--pos-spacing-card)}.pos-payment-option{flex:1;padding:16px var(--pos-spacing-card);border:2px solid var(--pos-payment-border);border-radius:10px;background:#fff;cursor:pointer;text-align:center;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000d}.pos-payment-option:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#3b82f633;transform:translate(-50%,-50%);transition:width .5s,height .5s}.pos-payment-option:active:not(:disabled):after{width:200px;height:200px}.pos-payment-option:hover:not(:disabled){border-color:var(--pos-payment-primary);box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.pos-payment-option.selected{border-color:var(--pos-payment-primary);background:linear-gradient(135deg,var(--pos-payment-primary) 0%,#2563eb 100%);color:#fff;box-shadow:0 6px 16px #3b82f64d;transform:scale(1.05)}.pos-payment-option:disabled{opacity:.5;cursor:not-allowed}.payment-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.payment-name{font-size:.9375rem;font-weight:600}.pos-member-section{background:var(--pos-member-bg);border-bottom:1px solid var(--pos-member-border);padding:var(--pos-spacing-panel);color:var(--pos-member-text)}.pos-member-actions{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.pos-member-action-btn{flex:1;min-width:80px;height:48px;border:1px solid var(--pos-member-border);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease-out;display:flex;align-items:center;justify-content:center;gap:4px}.pos-member-action-btn.search{background:var(--pos-member-primary);color:#fff;border-color:var(--pos-member-primary)}.pos-member-action-btn.search:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.pos-member-action-btn.points{background:var(--pos-amount-primary);color:#fff;border-color:var(--pos-amount-primary)}.pos-member-action-btn.points:hover:not(:disabled){background:#d97706;transform:translateY(-1px)}.pos-member-action-btn.clear{background:var(--pos-error-primary);color:#fff;border-color:var(--pos-error-primary)}.pos-member-action-btn.clear:hover:not(:disabled){background:#dc2626;transform:translateY(-1px)}.pos-member-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pos-member-search{display:flex;gap:var(--pos-spacing-compact);margin-bottom:var(--pos-spacing-card)}.pos-member-input{flex:1;height:48px;padding:0 12px;border:1px solid var(--pos-member-border);border-radius:8px;font-size:1rem;background:#fff}.pos-member-input:focus{outline:none;border-color:var(--pos-member-primary);box-shadow:0 0 0 3px #10b9811a}.pos-member-search-btn{height:48px;padding:0 16px;background:var(--pos-member-primary);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease-out}.pos-member-search-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.pos-member-search-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.pos-member-info{background:#fff;border:1px solid var(--pos-member-border);border-radius:8px;padding:var(--pos-spacing-card)}.pos-member-details{margin-bottom:var(--pos-spacing-card)}.pos-member-name{font-weight:600;color:var(--pos-member-text);margin-bottom:4px}.pos-member-points{font-size:.875rem;color:var(--pos-member-text);opacity:.8}.pos-points-usage{border-top:1px solid var(--pos-member-border);padding-top:var(--pos-spacing-card)}.points-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--pos-member-text)}.points-input-group{display:flex;gap:var(--pos-spacing-compact);align-items:center}.points-input{flex:1;height:48px;padding:0 8px;border:1px solid var(--pos-member-border);border-radius:6px;font-size:.875rem}.use-all-points-btn{height:48px;padding:0 12px;background:var(--pos-member-primary);color:#fff;border:none;border-radius:6px;font-size:.75rem;cursor:pointer;white-space:nowrap}.pos-amount-section{background:var(--pos-amount-bg);border-bottom:1px solid var(--pos-amount-border);padding:var(--pos-spacing-panel);color:var(--pos-amount-text)}.pos-amount-rows{margin-bottom:var(--pos-spacing-card)}.pos-amount-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--pos-spacing-compact)}.pos-amount-row.discount .pos-amount-value{color:var(--pos-member-primary)}.pos-amount-label{font-size:1rem;color:var(--pos-amount-text)}.pos-amount-value{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--pos-amount-text)}.pos-amount-total{border-top:2px solid var(--pos-amount-border);padding-top:var(--pos-spacing-card);margin-top:var(--pos-spacing-card)}.pos-amount-row.total .pos-amount-label{font-size:1.25rem;font-weight:700}.pos-amount-row.total .pos-amount-value{font-size:2rem;font-weight:800;letter-spacing:-.5px}.pos-action-section{background:var(--pos-action-bg);padding:var(--pos-spacing-panel);color:var(--pos-action-text)}.pos-cash-input-section{margin-bottom:var(--pos-spacing-panel)}.pos-cash-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:8px;color:var(--pos-action-text)}.pos-received-input{width:100%;height:64px;padding:0 16px;border:2px solid var(--pos-action-border);border-radius:12px;font-size:1.5rem;font-weight:700;font-family:JetBrains Mono,monospace;text-align:center;margin-bottom:var(--pos-spacing-card);background:#fff;letter-spacing:-.5px}.pos-received-input:focus{outline:none;border-color:var(--pos-action-primary);box-shadow:0 0 0 3px #0596691a}.pos-quick-amounts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--pos-spacing-compact);margin-bottom:var(--pos-spacing-card)}.pos-quick-amount-btn{height:52px;border:2px solid var(--pos-action-border);background:#fff;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);color:var(--pos-action-text);position:relative;overflow:hidden;box-shadow:0 2px 6px #0000000d}.pos-quick-amount-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#0596694d;transform:translate(-50%,-50%);transition:width .5s,height .5s}.pos-quick-amount-btn:active:not(:disabled):after{width:120px;height:120px}.pos-quick-amount-btn:hover:not(:disabled){background:var(--pos-action-primary);color:#fff;border-color:var(--pos-action-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0596694d}.pos-change-display{text-align:center;background:#fff;border:1px solid var(--pos-action-border);border-radius:8px;padding:var(--pos-spacing-card)}.pos-change-label{display:block;font-size:.875rem;color:var(--pos-action-text);margin-bottom:4px}.pos-change-amount{font-size:2rem;font-weight:800;color:var(--pos-action-primary);font-family:JetBrains Mono,monospace;letter-spacing:-.5px}.pos-action-buttons{display:flex;gap:var(--pos-spacing-card)}.pos-action-btn{flex:1;height:60px;border:none;border-radius:12px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.pos-action-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff6;transform:translate(-50%,-50%);transition:width .6s,height .6s}.pos-action-btn:active:not(:disabled):before{width:300px;height:300px}.pos-action-btn.primary{background:linear-gradient(135deg,var(--pos-action-primary) 0%,#047857 100%);color:#fff;box-shadow:0 4px 12px #0596694d}.pos-action-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#047857,#065f46);transform:translateY(-2px);box-shadow:0 6px 16px #05966966}.pos-action-btn.secondary{background:#fff;color:var(--pos-action-text);border:2px solid var(--pos-action-border)}.pos-action-btn.secondary:hover:not(:disabled){background:var(--pos-action-bg);border-color:var(--pos-action-primary)}.pos-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}@media (max-width: 1366px){.pos-checkout-panel{width:380px}.pos-quick-amounts{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1024px){.pos-checkout-panel{width:100%;max-width:400px}.pos-payment-options,.pos-action-buttons{flex-direction:column}}.pos-checkout-panel{animation:slideInFromRight .3s ease-out}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.pos-checkout-panel .loading{position:relative;pointer-events:none;opacity:.7}.pos-checkout-panel .loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #e5e7eb;border-top-color:var(--pos-action-primary);border-radius:50%;animation:spin 1s linear infinite}.pos-discount-section{background:var(--pos-amount-bg);border-bottom:1px solid var(--pos-amount-border);padding:var(--pos-spacing-panel);color:var(--pos-amount-text)}.pos-discount-actions{display:flex;flex-direction:column;gap:12px}.pos-discount-action-btn{width:100%;height:48px;background:var(--pos-amount-primary);color:#fff;border:1px solid var(--pos-amount-primary);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.875rem;font-weight:600;transition:all .2s ease-out;box-shadow:0 2px 4px #f59e0b1a}.pos-discount-action-btn:hover:not(:disabled){background:#d97706;border-color:#d97706;transform:translateY(-1px);box-shadow:0 4px 8px #f59e0b33}.pos-discount-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #f59e0b1a}.current-discount-info{background:#fff;border:1px solid var(--pos-amount-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px}.discount-info-text{font-weight:600;color:var(--pos-amount-text);font-size:.875rem}.discount-reason{font-size:.75rem;color:#6b7280;font-style:italic}.birthday-alert-banner{position:relative;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;margin-bottom:1rem;background:linear-gradient(135deg,#ec4899,#f472b6);border-radius:8px;box-shadow:0 4px 6px #ec489926;animation:slideDown .3s ease-out;color:#fff}.birthday-alert-banner__content{display:flex;align-items:center;gap:1rem;flex:1}.birthday-alert-banner__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff3;border-radius:50%}.birthday-alert-banner__text{flex:1}.birthday-alert-banner__title{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;line-height:1.4}.birthday-alert-banner__message{margin:0 0 .25rem;font-size:.875rem;line-height:1.4;opacity:.95}.birthday-alert-banner__info{margin:0;font-size:.875rem;line-height:1.4;opacity:.95}.birthday-alert-banner__info strong{font-weight:700;color:#fff}.birthday-alert-banner__actions{display:flex;gap:.5rem;align-items:center}.birthday-alert-banner__button{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.birthday-alert-banner__button--preview{background:#fffffff2;color:#ec4899}.birthday-alert-banner__button--preview:hover{background:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.birthday-alert-banner__button--preview:active{transform:translateY(0)}.birthday-alert-banner__button--dismiss{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);padding:.5rem;width:36px;height:36px;justify-content:center}.birthday-alert-banner__button--dismiss:hover{background:#ffffff26;border-color:#fff9}@media (max-width: 768px){.birthday-alert-banner{flex-direction:column;align-items:stretch;gap:1rem}.birthday-alert-banner__content{flex-direction:column;align-items:flex-start}.birthday-alert-banner__actions{width:100%}.birthday-alert-banner__button--preview{flex:1;justify-content:center}}.birthday-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease-out}.birthday-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;max-height:90vh;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:1001;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.birthday-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #E5E7EB;background:linear-gradient(135deg,#ec4899,#f472b6);color:#fff;border-radius:12px 12px 0 0}.birthday-modal__header-content{display:flex;align-items:center;gap:.75rem}.birthday-modal__header-icon{flex-shrink:0}.birthday-modal__title{margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}.birthday-modal__close{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.birthday-modal__close:hover{background:#ffffff4d}.birthday-modal__content{padding:1.5rem;overflow-y:auto;flex:1}.birthday-modal__member-info{padding:1rem;background:#fef3c7;border-left:4px solid #F59E0B;border-radius:6px;margin-bottom:1.5rem}.birthday-modal__member-info p{margin:0;line-height:1.6}.birthday-modal__member-birthday{color:#92400e;font-size:.875rem}.birthday-modal__coupons{display:flex;flex-direction:column;gap:1rem}.birthday-coupon-card{background:#fff;border:2px solid #EC4899;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.birthday-coupon-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px dashed #E5E7EB}.birthday-coupon-card__title{margin:0;font-size:1.125rem;font-weight:600;color:#ec4899}.birthday-coupon-card__code{display:inline-block;padding:.25rem .75rem;background:#fdf2f8;color:#be185d;font-size:.75rem;font-weight:600;border-radius:4px;font-family:monospace}.birthday-coupon-card__details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.birthday-coupon-card__detail-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.birthday-coupon-card__icon{color:#ec4899;flex-shrink:0}.birthday-coupon-card__detail-label{color:#6b7280;min-width:80px}.birthday-coupon-card__detail-value{font-weight:600;color:#111827}.birthday-coupon-card__instructions{margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:6px}.birthday-coupon-card__instructions-title{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#374151}.birthday-coupon-card__instructions-list{margin:0;padding-left:1.25rem;color:#6b7280;font-size:.875rem;line-height:1.8}.birthday-coupon-card__barcode{margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:6px;text-align:center}.birthday-coupon-card__barcode-title{font-size:.75rem;color:#6b7280;margin-bottom:.5rem}.birthday-coupon-card__barcode-box{padding:.75rem;background:#fff;border:1px solid #E5E7EB;border-radius:4px;display:inline-block}.birthday-coupon-card__barcode-code{font-family:monospace;font-size:.875rem;font-weight:600;color:#111827;margin-bottom:.5rem}.birthday-coupon-card__barcode-lines{font-family:monospace;font-size:1.5rem;color:#111827;letter-spacing:2px}.birthday-coupon-card__footer{text-align:center;font-size:.875rem;color:#ec4899;font-weight:600;padding:1rem;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-radius:6px}.birthday-modal__print-info{margin-top:1.5rem;padding:1rem;background:#eff6ff;border-left:4px solid #3B82F6;border-radius:6px;font-size:.875rem}.birthday-modal__print-info p{margin:0 0 .5rem;line-height:1.6}.birthday-modal__print-info p:last-child{margin-bottom:0}.birthday-modal__print-note{color:#1e40af}.birthday-modal__footer{padding:1rem 1.5rem;border-top:1px solid #E5E7EB;display:flex;justify-content:flex-end;gap:.75rem}.birthday-modal__button{padding:.625rem 1.5rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.birthday-modal__button--primary{background:#ec4899;color:#fff}.birthday-modal__button--primary:hover{background:#db2777;transform:translateY(-1px);box-shadow:0 4px 6px #ec489926}.birthday-modal__button--primary:active{transform:translateY(0)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width: 768px){.birthday-modal{width:95%;max-height:95vh}.birthday-modal__header{padding:1rem}.birthday-modal__title{font-size:1rem}.birthday-modal__content,.birthday-coupon-card{padding:1rem}.birthday-coupon-card__header{flex-direction:column;align-items:flex-start;gap:.5rem}.birthday-coupon-card__detail-item{flex-wrap:wrap}.birthday-modal__footer{padding:1rem}.birthday-modal__button{width:100%}}.reprint-panel{display:flex;flex-direction:column;height:100%;background:#fff}.reprint-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px;background:linear-gradient(135deg,#0891b2,#06b6d4);color:#fff}.reprint-panel-title{display:flex;align-items:center;gap:8px;font-size:1.1rem;font-weight:600}.reprint-panel-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:background .2s}.reprint-panel-close:hover{background:#ffffff4d}.reprint-quick-filters{display:flex;gap:8px;padding:12px 16px;background:#f0fdfa;border-bottom:1px solid #e2e8f0}.reprint-filter-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.reprint-filter-btn:hover{background:#f3f4f6;border-color:#9ca3af}.reprint-filter-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.reprint-search-box{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border-bottom:1px solid #e2e8f0}.reprint-search-icon{color:#9ca3af;flex-shrink:0}.reprint-search-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;outline:none;transition:border-color .2s}.reprint-search-input:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.reprint-search-btn{padding:8px 16px;background:#0891b2;border:none;border-radius:6px;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .2s}.reprint-search-btn:hover:not(:disabled){background:#0e7490}.reprint-search-btn:disabled{background:#9ca3af;cursor:not-allowed}.reprint-message{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:500}.reprint-message-error{background:#fef2f2;color:#dc2626;border-bottom:1px solid #fecaca}.reprint-message-success{background:#f0fdf4;color:#16a34a;border-bottom:1px solid #bbf7d0}.reprint-transactions{flex:1;overflow-y:auto;padding:8px}.reprint-loading,.reprint-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:200px;color:#9ca3af;font-size:.9rem}.reprint-empty svg{opacity:.5}.reprint-list{display:flex;flex-direction:column;gap:8px}.reprint-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;transition:all .2s}.reprint-item:hover{background:#f0fdfa;border-color:#99f6e4}.reprint-item-main{flex:1;min-width:0}.reprint-item-number{font-size:.9rem;font-weight:600;color:#111827;font-family:JetBrains Mono,monospace;margin-bottom:4px}.reprint-item-info{display:flex;align-items:center;gap:12px;font-size:.8rem;color:#6b7280}.reprint-item-time{display:flex;align-items:center;gap:4px}.reprint-item-member{display:flex;align-items:center;gap:4px;color:#7c3aed}.reprint-item-count{display:flex;align-items:center;gap:4px;color:#f97316;font-weight:500}.reprint-item-right{display:flex;align-items:center;gap:12px}.reprint-item-amount{font-size:1rem;font-weight:700;color:#111827}.reprint-btn-print{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#0891b2;border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s}.reprint-btn-print:hover:not(:disabled){background:#0e7490;transform:scale(1.05)}.reprint-btn-print:disabled{background:#d1d5db;cursor:not-allowed}.reprint-btn-print:active:not(:disabled){transform:scale(.95)}.reprint-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border-top:1px solid #e2e8f0;font-size:.8rem;color:#6b7280}.reprint-quota{display:flex;align-items:center;gap:4px}.reprint-quota-low{color:#dc2626;font-weight:600}.reprint-hint{display:flex;align-items:center;gap:4px}.reprint-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 6px;background:#e5e7eb;border:1px solid #d1d5db;border-radius:4px;font-family:inherit;font-size:.75rem;font-weight:600}.dark-theme .reprint-panel,:root.dark .reprint-panel{background:#1e293b}.dark-theme .reprint-quick-filters,:root.dark .reprint-quick-filters{background:#0f172a;border-color:#334155}.dark-theme .reprint-filter-btn,:root.dark .reprint-filter-btn{background:#334155;border-color:#475569;color:#e2e8f0}.dark-theme .reprint-filter-btn:hover,:root.dark .reprint-filter-btn:hover{background:#475569}.dark-theme .reprint-search-box,:root.dark .reprint-search-box{background:#1e293b;border-color:#334155}.dark-theme .reprint-search-input,:root.dark .reprint-search-input{background:#334155;border-color:#475569;color:#f1f5f9}.dark-theme .reprint-item,:root.dark .reprint-item{background:#334155;border-color:#475569}.dark-theme .reprint-item:hover,:root.dark .reprint-item:hover{background:#1e3a5f;border-color:#0891b2}.dark-theme .reprint-item-number,:root.dark .reprint-item-number{color:#f1f5f9}.dark-theme .reprint-item-info,:root.dark .reprint-item-info{color:#94a3b8}.dark-theme .reprint-item-count,:root.dark .reprint-item-count{color:#fb923c}.dark-theme .reprint-item-amount,:root.dark .reprint-item-amount{color:#f1f5f9}.dark-theme .reprint-footer,:root.dark .reprint-footer{background:#0f172a;border-color:#334155}.dark-theme .reprint-hint kbd,:root.dark .reprint-hint kbd{background:#334155;border-color:#475569;color:#e2e8f0}.reprint-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.reprint-modal-content{background:#fff;border-radius:12px;width:90%;max-width:450px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.reprint-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.reprint-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:#111827}.reprint-modal-close{background:none;border:none;color:#6b7280;cursor:pointer;padding:4px;border-radius:6px;transition:all .2s}.reprint-modal-close:hover{background:#f3f4f6;color:#111827}.reprint-modal-body{flex:1;overflow:auto;padding:16px;background:#f9fafb}.reprint-modal-footer{display:flex;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;justify-content:flex-end}.reprint-modal-btn-print{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#0891b2;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.reprint-modal-btn-print:hover{background:#0e7490}.reprint-modal-btn-close{padding:10px 20px;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.reprint-modal-btn-close:hover{background:#e5e7eb}.dark-theme .reprint-modal-content,:root.dark .reprint-modal-content{background:#1e293b}.dark-theme .reprint-modal-header,:root.dark .reprint-modal-header{border-color:#334155}.dark-theme .reprint-modal-header h3,:root.dark .reprint-modal-header h3{color:#f1f5f9}.dark-theme .reprint-modal-close,:root.dark .reprint-modal-close{color:#94a3b8}.dark-theme .reprint-modal-close:hover,:root.dark .reprint-modal-close:hover{background:#334155;color:#f1f5f9}.dark-theme .reprint-modal-body,:root.dark .reprint-modal-body{background:#0f172a}.dark-theme .reprint-modal-footer,:root.dark .reprint-modal-footer{border-color:#334155}.dark-theme .reprint-modal-btn-close,:root.dark .reprint-modal-btn-close{background:#334155;color:#e2e8f0;border-color:#475569}.dark-theme .reprint-modal-btn-close:hover,:root.dark .reprint-modal-btn-close:hover{background:#475569}.reprint-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:reprintModalFadeIn .2s ease}@keyframes reprintModalFadeIn{0%{opacity:0}to{opacity:1}}.reprint-modal-container{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;overflow:hidden;animation:reprintModalSlideIn .3s ease}@keyframes reprintModalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dark-theme .reprint-modal-container,:root.dark .reprint-modal-container{background:#1e293b;box-shadow:0 20px 40px #00000080}@media (max-width: 540px){.reprint-modal-overlay{padding:0;align-items:flex-end}.reprint-modal-container{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;animation:reprintModalSlideUp .3s ease}@keyframes reprintModalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}}:root{--breakpoint-mobile: 600px;--breakpoint-tablet-portrait: 768px;--breakpoint-tablet-landscape: 1024px;--breakpoint-desktop: 1280px;--layout-desktop-left: 35%;--layout-desktop-center: 40%;--layout-desktop-right-min: 140px;--layout-desktop-right-max: 180px;--layout-desktop-gap: 16px;--layout-tablet-landscape-left: 30%;--layout-tablet-landscape-center: 45%;--layout-tablet-landscape-right-min: 130px;--layout-tablet-landscape-right-max: 160px;--layout-tablet-landscape-gap: 12px;--layout-tablet-portrait-left: 50%;--layout-tablet-portrait-right: 50%;--layout-tablet-portrait-gap: 12px;--layout-floating-checkout-height: 40vh;--layout-floating-checkout-shadow: 0 -4px 12px rgba(0, 0, 0, .15);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-xxl: 32px;--z-index-base: 0;--z-index-floating-checkout: 100;--z-index-dropdown: 200;--z-index-toast: 300;--z-index-modal-overlay: 900;--z-index-modal: 1000;--z-index-loading: 2000;--header-height: 64px;--content-height: calc(100vh - var(--header-height));--content-height-tablet-portrait: calc(100vh - var(--header-height) - var(--layout-floating-checkout-height));--layout-transition-duration: .3s;--layout-transition-timing: cubic-bezier(.4, 0, .2, 1);--layout-transition: all var(--layout-transition-duration) var(--layout-transition-timing);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--scrollbar-width: 8px;--scrollbar-thumb-color: rgba(0, 0, 0, .2);--scrollbar-track-color: rgba(0, 0, 0, .05)}@media (max-width: 600px){:root{--current-breakpoint: "mobile"}}@media (min-width: 601px) and (max-width: 1023px){:root{--current-breakpoint: "tablet-portrait"}}@media (min-width: 1024px) and (max-width: 1279px){:root{--current-breakpoint: "tablet-landscape"}}@media (min-width: 1280px){:root{--current-breakpoint: "desktop"}}.pos-column::-webkit-scrollbar{width:var(--scrollbar-width)}.pos-column::-webkit-scrollbar-track{background:var(--scrollbar-track-color);border-radius:var(--border-radius-sm)}.pos-column::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-color);border-radius:var(--border-radius-sm)}.pos-column::-webkit-scrollbar-thumb:hover{background:#0000004d}.pos-column{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color)}.low-stock-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.low-stock-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90vw;max-width:1200px;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #e5e7eb}.header-left{display:flex;align-items:center;gap:16px}.header-icon{color:#f59e0b;flex-shrink:0}.modal-title{font-size:20px;font-weight:600;color:#111827;margin:0}.modal-subtitle{font-size:14px;color:#6b7280;margin:4px 0 0}.close-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s}.close-button:hover{background:#f3f4f6;color:#111827}.stats-bar{display:flex;gap:12px;padding:16px 28px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.stat-item{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border-radius:10px;border:1px solid #e5e7eb;flex:1}.stat-item.critical{border-color:#fee2e2;background:#fef2f2}.stat-item.critical svg{color:#dc2626}.stat-item.warning{border-color:#fed7aa;background:#fffbeb}.stat-item.warning svg{color:#f59e0b}.stat-item.attention{border-color:#bfdbfe;background:#eff6ff}.stat-item.attention svg{color:#3b82f6}.stat-label{font-size:13px;color:#6b7280;font-weight:500}.stat-value{font-size:18px;font-weight:600;color:#111827;margin-left:auto}.modal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;border-bottom:1px solid #e5e7eb;background:#fff}.toolbar-left{display:flex;align-items:center;gap:12px;flex:1}.toolbar-right{display:flex;gap:8px}.search-box{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1;max-width:320px;transition:all .2s}.search-box:focus-within{background:#fff;border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.search-box svg{color:#9ca3af;flex-shrink:0}.search-box input{border:none;background:transparent;flex:1;font-size:14px;outline:none;color:#111827}.search-box input::-moz-placeholder{color:#9ca3af}.search-box input::placeholder{color:#9ca3af}.filter-group{position:relative;display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.filter-group:hover{background:#fff;border-color:#d1d5db}.filter-group svg{color:#6b7280;flex-shrink:0}.filter-select{border:none;background:transparent;font-size:14px;color:#111827;font-weight:500;cursor:pointer;padding-right:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none}.select-arrow{position:absolute;right:10px;pointer-events:none}.export-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.export-button:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.modal-content{flex:1;overflow-y:auto;padding:20px 28px}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:16px;color:#6b7280}.spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite}.error-state button{padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:8px;cursor:pointer}.items-list{display:grid;gap:16px}.item-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s}.item-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.item-card.critical{border-left:4px solid #dc2626;background:linear-gradient(to right,#fef2f2,#fff)}.item-card.warning{border-left:4px solid #f59e0b;background:linear-gradient(to right,#fffbeb,#fff)}.item-card.attention{border-left:4px solid #3b82f6;background:linear-gradient(to right,#eff6ff,#fff)}.item-urgency{flex-shrink:0}.urgency-icon.critical{color:#dc2626}.urgency-icon.warning{color:#f59e0b}.urgency-icon.attention{color:#3b82f6}.item-image{width:60px;height:60px;border-radius:8px;overflow:hidden;background:#f3f4f6;flex-shrink:0}.item-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.no-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#9ca3af}.item-info{flex:1;min-width:0}.item-name{font-size:16px;font-weight:600;color:#111827;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}.category-tag,.sku-tag{padding:4px 10px;background:#f3f4f6;border-radius:6px;font-size:12px;color:#6b7280;font-weight:500}.supplier-info{font-size:12px;color:#9ca3af;margin-top:4px}.item-stats{display:flex;flex-direction:column;gap:6px;padding:0 20px;border-left:1px solid #e5e7eb;border-right:1px solid #e5e7eb;min-width:180px}.stat-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.stat-row .stat-label{color:#6b7280}.stat-row .stat-value{font-weight:600;font-size:15px}.stat-value.current{color:#dc2626}.stat-value.safety{color:#10b981}.shortage-row{padding-top:6px;border-top:1px solid #e5e7eb;margin-top:2px}.stat-value.shortage{color:#f59e0b}.item-actions{display:flex;flex-direction:column;gap:8px;min-width:120px}.action-button{padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.action-button.primary{background:#6366f1;color:#fff}.action-button.primary:hover{background:#4f46e5;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.action-button.secondary{background:#f3f4f6;color:#6b7280}.action-button.secondary:hover{background:#e5e7eb;color:#111827}.modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-top:1px solid #e5e7eb;background:#f9fafb}.footer-info{font-size:14px;color:#6b7280;margin:0}.footer-button{padding:10px 24px;background:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.footer-button:hover{background:#f9fafb;border-color:#9ca3af}@media (max-width: 768px){.low-stock-modal{width:95vw;max-height:95vh}.modal-header{padding:20px}.stats-bar{flex-direction:column;padding:12px 20px}.modal-toolbar{flex-direction:column;align-items:stretch;padding:12px 20px}.toolbar-left{flex-direction:column}.search-box{max-width:none}.modal-content{padding:12px 20px}.item-card{flex-direction:column;align-items:flex-start}.item-stats{width:100%;padding:12px 0;border-left:none;border-right:none;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb}.item-actions{width:100%;flex-direction:row}.action-button{flex:1}}.hot-products-section{margin-top:32px;animation:fadeInUp .6s ease-out}.section-header-enhanced{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.section-title-group{display:flex;flex-direction:column;gap:6px}.section-title-enhanced{display:flex;align-items:center;gap:12px;font-size:24px;font-weight:700;color:#1e293b;margin:0}.section-title-enhanced svg{color:#667eea}.title-accent{font-size:14px;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.section-subtitle{font-size:14px;color:#64748b;margin:0;padding-left:36px}.section-action-enhanced{display:flex;align-items:center;gap:6px;padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #667eea33}.section-action-enhanced:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea59}.hot-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.product-card{position:relative;background:#fff;border-radius:20px;padding:24px;box-shadow:0 4px 12px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden;animation:cardFadeIn .6s ease-out backwards}.product-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2);opacity:0;transition:opacity .3s ease}.product-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 32px #667eea26}.product-card:hover:before{opacity:1}.product-card.top-one{background:linear-gradient(135deg,#fff5f0,#fffbf0);border:2px solid #fbbf24;box-shadow:0 8px 24px #fbbf2440}.product-card.top-one:before{height:6px;background:linear-gradient(90deg,#fbbf24,#f59e0b,#d97706);opacity:1}.crown-badge{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.5px;box-shadow:0 4px 12px #fbbf2466;animation:crownPulse 2s ease-in-out infinite}@keyframes crownPulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #fbbf2466}50%{transform:scale(1.05);box-shadow:0 6px 20px #fbbf2499}}.rank-badge{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;margin-bottom:16px;box-shadow:0 4px 12px #667eea40}.rank-badge.medal{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b59}.rank-number{color:#fff;font-size:18px;font-weight:800}.product-info{margin-bottom:20px}.product-name{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.product-category{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed;border-radius:8px;font-size:12px;font-weight:600}.sales-stats{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px}.stat-row{display:flex;justify-content:space-between;align-items:center}.stat-label{font-size:13px;color:#64748b;font-weight:500}.stat-value{font-size:16px;font-weight:700;color:#1e293b}.stat-value.primary{color:#667eea;font-size:20px}.sales-progress{margin-bottom:20px}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{font-size:12px;color:#64748b;font-weight:500}.progress-percentage{font-size:14px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-bar{height:8px;background:#e2e8f0;border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:10px;transition:width 1.2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sparkline-section{margin-bottom:20px}.sparkline-label{font-size:12px;color:#64748b;font-weight:500;margin-bottom:8px;display:block}.sparkline{width:100%;height:40px;display:block}.trend-badge-card{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:700;margin-bottom:12px}.trend-badge-card.up{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.trend-badge-card.down{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.card-action{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:transparent;border:2px solid #e2e8f0;border-radius:12px;color:#667eea;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(10px)}.product-card:hover .card-action{opacity:1;transform:translateY(0)}.card-action:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent;color:#fff;box-shadow:0 4px 12px #667eea4d}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:20px;border:2px dashed #cbd5e1}.empty-state svg{color:#94a3b8;margin-bottom:16px}.empty-state p{font-size:18px;font-weight:600;color:#475569;margin:0 0 8px}.empty-state span{font-size:14px;color:#94a3b8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.hot-products-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.hot-products-grid{grid-template-columns:1fr;gap:16px}.section-header-enhanced{flex-direction:column;align-items:flex-start;gap:16px}.section-title-enhanced{font-size:20px}.section-action-enhanced{align-self:stretch;justify-content:center}.product-card{padding:20px}.crown-badge{top:12px;right:12px;font-size:11px;padding:5px 10px}}@media (max-width: 480px){.section-title-enhanced{font-size:18px}.product-name{font-size:16px}.sales-stats{padding:12px;gap:8px}}:root{--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-light: #e0e7ff;--color-secondary-500: #8b5cf6;--color-secondary-600: #7c3aed;--color-secondary-light: #ede9fe;--color-secondary: #8b5cf6;--color-accent-500: #a78bfa;--color-accent-light: #f3f1ff;--color-success: #10b981;--color-success-light: #d1fae5;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-danger: #f43f5e;--color-danger-light: #ffe4e6;--color-gray-900: #0f172a;--color-gray-800: #1e293b;--color-gray-700: #334155;--color-gray-600: #64748b;--color-gray-500: #94a3b8;--color-gray-400: #cbd5e1;--color-gray-300: #e2e8f0;--color-gray-200: #f1f5f9;--color-gray-100: #f8fafc;--color-white: #ffffff;--gradient-revenue-from: #6366f1;--gradient-revenue-to: #8b5cf6;--gradient-orders-from: #06b6d4;--gradient-orders-to: #0891b2;--gradient-members-from: #10b981;--gradient-members-to: #059669;--gradient-inventory-from: #f43f5e;--gradient-inventory-to: #e11d48;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 40px;--space-3xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-light: 0 1px 2px rgba(0, 0, 0, .04);--shadow-medium: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-heavy: 0 4px 12px rgba(0, 0, 0, .12);--shadow-hover: 0 8px 24px rgba(0, 0, 0, .15);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Microsoft JhengHei", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 36px;--font-size-3xl: 48px;--font-size-4xl: 56px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}.dashboard-professional{min-height:100vh;background:linear-gradient(135deg,#fafbff,#f3f4ff,#f8f9fe);font-family:var(--font-family);color:var(--color-gray-900);animation:fadeIn var(--transition-slow);position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-professional:before{content:"";position:fixed;top:-10%;left:10%;width:600px;height:600px;background:radial-gradient(circle,rgba(99,102,241,.08) 0%,transparent 70%);border-radius:50%;filter:blur(60px);z-index:0;pointer-events:none;animation:float 20s ease-in-out infinite}.dashboard-professional:after{content:"";position:fixed;bottom:-5%;right:15%;width:500px;height:500px;background:radial-gradient(circle,rgba(139,92,246,.06) 0%,transparent 70%);border-radius:50%;filter:blur(50px);z-index:0;pointer-events:none;animation:float 25s ease-in-out infinite reverse}.dashboard-professional>*{position:relative;z-index:1}.dashboard-professional .dashboard-content{padding:var(--space-lg) var(--space-xl);max-width:1440px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-2xl)}.dashboard-professional .kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.dashboard-professional .kpi-card{padding:var(--space-lg);min-height:180px}.dashboard-professional .kpi-body{margin-bottom:var(--space-md)}.dashboard-professional .kpi-label{margin-bottom:var(--space-sm)}.dashboard-professional .kpi-value{margin-bottom:var(--space-md)}.dashboard-professional .charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl)}.dashboard-professional .products-section{margin-top:var(--space-2xl)}.dashboard-professional .kpi-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);line-height:1.2}.dashboard-professional .kpi-label{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-gray-600);letter-spacing:.5px;text-transform:none}.dashboard-professional .trend-text,.dashboard-professional .stat-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-gray-500)}.dashboard-professional .trend-badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:all var(--transition-base)}.dashboard-professional .trend-badge.up{background:var(--color-success);color:var(--color-white)}.dashboard-professional .trend-badge.down{background:var(--color-danger);color:var(--color-white)}.dashboard-professional .trend-badge.neutral{background:var(--color-gray-300);color:var(--color-gray-900)}.dashboard-professional .trend-badge svg{width:12px;height:12px}.dashboard-professional .kpi-card{background:linear-gradient(135deg,#fff,#fffffffa);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0000000a,0 4px 8px #6366f10a,0 8px 16px #00000005,inset 0 1px #fffc;transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--color-gray-200)}.dashboard-professional .kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014,0 12px 32px #6366f11f,0 20px 48px #0000000a,inset 0 1px #ffffffe6}.dashboard-professional .kpi-card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;transition:all var(--transition-base)}.dashboard-professional .kpi-card.revenue:before{background:linear-gradient(180deg,var(--gradient-revenue-from) 0%,var(--gradient-revenue-to) 100%)}.dashboard-professional .kpi-card.orders:before{background:linear-gradient(180deg,var(--gradient-orders-from) 0%,var(--gradient-orders-to) 100%)}.dashboard-professional .kpi-card.members:before{background:linear-gradient(180deg,var(--gradient-members-from) 0%,var(--gradient-members-to) 100%)}.dashboard-professional .kpi-card.inventory:before{background:linear-gradient(180deg,var(--gradient-inventory-from) 0%,var(--gradient-inventory-to) 100%)}.dashboard-professional .kpi-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.dashboard-professional .kpi-card.revenue .kpi-icon{background:linear-gradient(135deg,#6366f11f,#8b5cf614);border:1px solid rgba(99,102,241,.15);color:var(--gradient-revenue-from)}.dashboard-professional .kpi-card.orders .kpi-icon{background:linear-gradient(135deg,#06b6d41f,#0891b214);border:1px solid rgba(6,182,212,.15);color:var(--gradient-orders-from)}.dashboard-professional .kpi-card.members .kpi-icon{background:linear-gradient(135deg,#10b9811f,#05966914);border:1px solid rgba(16,185,129,.15);color:var(--gradient-members-from)}.dashboard-professional .kpi-card.inventory .kpi-icon{background:linear-gradient(135deg,#f43f5e1f,#e11d4814);border:1px solid rgba(244,63,94,.15);color:var(--gradient-inventory-from)}.dashboard-professional .kpi-icon svg{width:24px;height:24px}.dashboard-professional .kpi-card.revenue .kpi-icon{position:relative;box-shadow:0 2px 8px #6366f133,inset 0 1px #fff6}.dashboard-professional .kpi-card.revenue .kpi-icon:after{content:"";position:absolute;inset:-6px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);filter:blur(10px);z-index:-1;opacity:0;transition:opacity var(--transition-base)}.dashboard-professional .kpi-card.revenue:hover .kpi-icon:after{opacity:1}.dashboard-professional .kpi-card.orders .kpi-icon{position:relative;box-shadow:0 2px 8px #06b6d433,inset 0 1px #fff6}.dashboard-professional .kpi-card.orders .kpi-icon:after{content:"";position:absolute;inset:-6px;background:radial-gradient(circle,rgba(6,182,212,.15) 0%,transparent 70%);filter:blur(10px);z-index:-1;opacity:0;transition:opacity var(--transition-base)}.dashboard-professional .kpi-card.orders:hover .kpi-icon:after{opacity:1}.dashboard-professional .kpi-card.members .kpi-icon{position:relative;box-shadow:0 2px 8px #10b98133,inset 0 1px #fff6}.dashboard-professional .kpi-card.members .kpi-icon:after{content:"";position:absolute;inset:-6px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%);filter:blur(10px);z-index:-1;opacity:0;transition:opacity var(--transition-base)}.dashboard-professional .kpi-card.members:hover .kpi-icon:after{opacity:1}.dashboard-professional .kpi-card.inventory .kpi-icon{position:relative;box-shadow:0 2px 8px #f43f5e33,inset 0 1px #fff6}.dashboard-professional .kpi-card.inventory .kpi-icon:after{content:"";position:absolute;inset:-6px;background:radial-gradient(circle,rgba(244,63,94,.15) 0%,transparent 70%);filter:blur(10px);z-index:-1;opacity:0;transition:opacity var(--transition-base)}.dashboard-professional .kpi-card.inventory:hover .kpi-icon:after{opacity:1}.dashboard-professional .kpi-progress{position:absolute;bottom:0;left:0;right:0;height:4px;background:var(--color-gray-200);overflow:hidden}.dashboard-professional .kpi-progress-bar{height:100%;border-radius:2px;transition:width 1s cubic-bezier(.4,0,.2,1)}.dashboard-professional .kpi-card.revenue .kpi-progress-bar{background:linear-gradient(90deg,var(--gradient-revenue-from) 0%,var(--gradient-revenue-to) 100%)}.dashboard-professional .kpi-card.orders .kpi-progress-bar{background:linear-gradient(90deg,var(--gradient-orders-from) 0%,var(--gradient-orders-to) 100%)}.dashboard-professional .kpi-card.members .kpi-progress-bar{background:linear-gradient(90deg,var(--gradient-members-from) 0%,var(--gradient-members-to) 100%)}.dashboard-professional .kpi-card.revenue{background:linear-gradient(135deg,#6366f108,#8b5cf605)}.dashboard-professional .kpi-card.orders{background:linear-gradient(135deg,#06b6d408,#0891b205)}.dashboard-professional .kpi-card.members{background:linear-gradient(135deg,#10b98108,#05966905)}.dashboard-professional .kpi-card.inventory{background:linear-gradient(135deg,#f43f5e0a,#e11d4808);border-color:var(--color-danger-light)}.dashboard-professional .kpi-card.inventory .kpi-value{font-size:var(--font-size-4xl);color:var(--color-danger);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.dashboard-professional .kpi-card.inventory .kpi-action{width:100%;padding:var(--space-sm) var(--space-md);border:none;background:var(--color-danger);color:var(--color-white);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);animation:buttonPulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes buttonPulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 10px #ef444400}}.dashboard-professional .kpi-card.inventory .kpi-action:hover{background:var(--gradient-inventory-to);transform:translateY(-1px)}@media (prefers-color-scheme: dark){.dashboard-professional{background:linear-gradient(135deg,#0f172a,#1e293b);color:var(--color-gray-100)}.dashboard-professional .kpi-card{background:var(--color-gray-800);border-color:var(--color-gray-700)}.dashboard-professional .kpi-value{color:var(--color-gray-100)}.dashboard-professional .kpi-label{color:var(--color-gray-400)}.dashboard-professional .trend-text{color:var(--color-gray-500)}}@media (max-width: 1023px){.dashboard-professional .dashboard-content{padding:var(--space-md)}.dashboard-professional .kpi-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.dashboard-professional .charts-grid{grid-template-columns:1fr;gap:var(--space-lg)}}@media (max-width: 767px){.dashboard-professional .dashboard-content{padding:var(--space-sm)}.dashboard-professional .kpi-grid{grid-template-columns:1fr;gap:var(--space-md)}.dashboard-professional .kpi-value{font-size:var(--font-size-2xl)}.dashboard-professional .kpi-card.inventory .kpi-value{font-size:var(--font-size-3xl)}.dashboard-professional .charts-grid{grid-template-columns:1fr;gap:var(--space-md)}}.dashboard-professional .kpi-card,.dashboard-professional .kpi-icon,.dashboard-professional .trend-badge{will-change:transform}.dashboard-professional .chart-card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);border:1px solid var(--color-gray-200);padding:var(--space-lg);transition:all var(--transition-base)}.dashboard-professional .chart-card:hover{box-shadow:var(--shadow-heavy)}.dashboard-professional .chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-gray-200)}.dashboard-professional .chart-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.dashboard-professional .chart-title svg{width:20px;height:20px;color:var(--color-primary)}.dashboard-professional .recharts-tooltip-wrapper{z-index:10}.dashboard-professional .custom-tooltip{background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-heavy);padding:var(--space-md);min-width:180px}.dashboard-professional .custom-tooltip .tooltip-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-gray-200)}.dashboard-professional .custom-tooltip .tooltip-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-sm)}.dashboard-professional .custom-tooltip .tooltip-item-label{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-gray-600)}.dashboard-professional .custom-tooltip .tooltip-item-value{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.dashboard-professional .custom-tooltip .tooltip-color-dot{width:8px;height:8px;border-radius:50%}.dashboard-professional .chart-card .recharts-line{stroke-width:3px;filter:drop-shadow(0 2px 4px rgba(245,158,11,.2))}.dashboard-professional .chart-card .recharts-line-curve{stroke-linecap:round;stroke-linejoin:round}.dashboard-professional .chart-card .recharts-line-dot{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:all var(--transition-fast)}.dashboard-professional .chart-card .recharts-line-dot:hover{transform:scale(1.3)}.dashboard-professional .chart-card .recharts-cartesian-grid-horizontal line,.dashboard-professional .chart-card .recharts-cartesian-grid-vertical line{stroke:var(--color-gray-300);stroke-dasharray:3 3;stroke-opacity:.5}.dashboard-professional .chart-card .recharts-xAxis .recharts-text,.dashboard-professional .chart-card .recharts-yAxis .recharts-text{fill:var(--color-gray-600);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.dashboard-professional .chart-card .recharts-pie-sector{filter:drop-shadow(0 2px 4px rgba(0,0,0,.08));transition:all var(--transition-base)}.dashboard-professional .chart-card .recharts-pie-sector:hover{filter:drop-shadow(0 4px 8px rgba(0,0,0,.12));transform:scale(1.03)}.dashboard-professional .chart-legend{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-lg)}.dashboard-professional .legend-item{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.dashboard-professional .legend-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 2px #fffc}.dashboard-professional .legend-label{font-weight:var(--font-weight-medium);color:var(--color-gray-700)}.dashboard-professional .legend-value{font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.dashboard-professional .chart-card .recharts-area{filter:drop-shadow(0 2px 4px rgba(245,158,11,.15))}.dashboard-professional .products-section{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-medium);border:1px solid var(--color-gray-200);padding:var(--space-lg)}.dashboard-professional .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-gray-200)}.dashboard-professional .section-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.dashboard-professional .section-title svg{width:20px;height:20px;color:var(--color-primary)}.dashboard-professional .section-action{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);background:transparent;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-base)}.dashboard-professional .section-action:hover{background:var(--color-primary-light)}.dashboard-professional .products-table table{width:100%;border-collapse:separate;border-spacing:0}.dashboard-professional .products-table thead th{text-align:left;padding:var(--space-md) var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-gray-600);background:var(--color-gray-100);border-bottom:2px solid var(--color-gray-300);white-space:nowrap}.dashboard-professional .products-table thead th:first-child{border-radius:var(--radius-md) 0 0 0;padding-left:var(--space-md)}.dashboard-professional .products-table thead th:last-child{border-radius:0 var(--radius-md) 0 0;padding-right:var(--space-md)}.dashboard-professional .products-table tbody tr{transition:all var(--transition-base);cursor:pointer}.dashboard-professional .products-table tbody tr:hover{background:var(--color-gray-100);transform:translate(4px)}.dashboard-professional .products-table tbody td{padding:var(--space-md) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-gray-700);border-bottom:1px solid var(--color-gray-200)}.dashboard-professional .products-table tbody td:first-child{padding-left:var(--space-md)}.dashboard-professional .products-table tbody td:last-child{padding-right:var(--space-md)}.dashboard-professional .products-table tbody tr:last-child td{border-bottom:none}.dashboard-professional .rank-badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);transition:all var(--transition-base)}.dashboard-professional .rank-badge.top:nth-of-type(1){background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;box-shadow:0 4px 12px #ffd7004d}.dashboard-professional tbody tr:nth-child(2) .rank-badge.top{background:linear-gradient(135deg,silver,#e8e8e8);color:#666;box-shadow:0 4px 12px #c0c0c04d}.dashboard-professional tbody tr:nth-child(3) .rank-badge.top{background:linear-gradient(135deg,#cd7f32,#e89b5f);color:#704214;box-shadow:0 4px 12px #cd7f324d}.dashboard-professional .rank-badge:not(.top){background:var(--color-gray-200);color:var(--color-gray-600);font-weight:var(--font-weight-medium)}.dashboard-professional .product-name{font-weight:var(--font-weight-semibold);color:var(--color-gray-900);display:flex;flex-direction:column;gap:var(--space-xs)}.dashboard-professional .product-category{font-size:var(--font-size-xs);color:var(--color-gray-500);font-weight:var(--font-weight-regular)}.dashboard-professional .sales{font-weight:var(--font-weight-semibold);color:var(--color-gray-900)}.dashboard-professional .revenue{font-weight:var(--font-weight-bold);color:var(--gradient-revenue-from)}.dashboard-professional .trend-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.dashboard-professional .trend-indicator.up{background:var(--color-success-light);color:var(--color-success)}.dashboard-professional .trend-indicator.down{background:var(--color-danger-light);color:var(--color-danger)}.dashboard-professional .trend-indicator svg{width:12px;height:12px}.dashboard-professional .update-btn.auto{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-700);cursor:pointer;transition:all var(--transition-base)}.dashboard-professional .update-btn.auto.active{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:var(--color-white);border-color:var(--gradient-revenue-to);box-shadow:0 0 0 3px #fbbf2433;animation:livePulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes livePulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 8px #fbbf2400}}.dashboard-professional .update-btn.auto.active svg{animation:spin 2s linear infinite}.dashboard-professional .connection-indicator{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--color-white);border:1px solid var(--color-gray-300);transition:all var(--transition-base)}.dashboard-professional .connection-indicator.connected{border-color:var(--color-success);background:var(--color-success-light);color:var(--color-success)}.dashboard-professional .connection-indicator.connected:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-success);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.dashboard-professional .connection-indicator.reconnecting{border-color:var(--color-warning);background:var(--color-warning-light);color:var(--color-warning)}.dashboard-professional .connection-indicator.disconnected{border-color:var(--color-danger);background:var(--color-danger-light);color:var(--color-danger)}.dashboard-professional .connection-indicator svg{width:14px;height:14px}.dashboard-professional .period-selector{display:inline-flex;align-items:center;background:var(--color-gray-100);border-radius:var(--radius-md);padding:4px;position:relative;gap:4px}.dashboard-professional .period-btn{position:relative;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-600);background:transparent;border:none;cursor:pointer;transition:all var(--transition-base);z-index:1}.dashboard-professional .period-btn:hover{color:var(--color-gray-900)}.dashboard-professional .period-btn.active{color:var(--color-gray-900);background:var(--color-white);box-shadow:var(--shadow-light);font-weight:var(--font-weight-semibold)}.dashboard-professional .period-selector:before{content:"";position:absolute;left:4px;height:calc(100% - 8px);width:calc(33.333% - 5.33px);background:var(--color-white);border-radius:var(--radius-sm);box-shadow:var(--shadow-light);transition:transform var(--transition-base);z-index:0}.dashboard-professional .period-selector[data-active="1"]:before{transform:translate(calc(100% + 4px))}.dashboard-professional .period-selector[data-active="2"]:before{transform:translate(calc(200% + 8px))}.dashboard-professional .update-btn.manual{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:var(--radius-md);border:1px solid var(--color-gray-300);background:var(--color-white);color:var(--color-gray-700);cursor:pointer;transition:all var(--transition-base)}.dashboard-professional .update-btn.manual:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary);transform:rotate(180deg)}.dashboard-professional .update-btn.manual svg.spinning{animation:spin 1s linear infinite}.dashboard-professional .update-btn.manual:disabled{opacity:.5;cursor:not-allowed}.dashboard-professional .dashboard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background:var(--color-white);border-bottom:1px solid var(--color-gray-200);box-shadow:var(--shadow-light)}.dashboard-professional .header-left{display:flex;flex-direction:column;gap:var(--space-xs)}.dashboard-professional .dashboard-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0;display:flex;align-items:center;gap:var(--space-sm)}.dashboard-professional .title-accent{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);padding:var(--space-xs) var(--space-sm);background:var(--color-primary-light);border-radius:var(--radius-sm)}.dashboard-professional .header-meta{display:flex;align-items:center;gap:var(--space-md);font-size:var(--font-size-sm);color:var(--color-gray-600)}.dashboard-professional .header-meta svg{width:14px;height:14px}.dashboard-professional .header-right{display:flex;align-items:center;gap:var(--space-md)}.dashboard-professional .update-controls{display:flex;align-items:center;gap:var(--space-sm)}@media (max-width: 1023px){.dashboard-professional .dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.dashboard-professional .header-right{width:100%;flex-wrap:wrap}.dashboard-professional .products-table{overflow-x:auto}.dashboard-professional .chart-header{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}}@media (max-width: 767px){.dashboard-professional .dashboard-header{padding:var(--space-md)}.dashboard-professional .header-meta{flex-wrap:wrap}.dashboard-professional .period-selector{width:100%;justify-content:space-between}.dashboard-professional .period-btn{flex:1}.dashboard-professional .products-table tbody td{padding:var(--space-sm);font-size:var(--font-size-xs)}.dashboard-professional .rank-badge{width:28px;height:28px;font-size:var(--font-size-sm)}}.dashboard-professional .breadcrumb{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--color-white);border-bottom:1px solid var(--color-gray-200);font-size:var(--font-size-sm)}.dashboard-professional .breadcrumb-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-gray-600);transition:color var(--transition-base)}.dashboard-professional .breadcrumb-item a{color:var(--color-gray-600);text-decoration:none;transition:color var(--transition-base)}.dashboard-professional .breadcrumb-item a:hover{color:var(--color-primary)}.dashboard-professional .breadcrumb-item.active{color:var(--color-gray-900);font-weight:var(--font-weight-semibold)}.dashboard-professional .breadcrumb-separator{color:var(--color-gray-400);font-size:var(--font-size-xs)}.dashboard-professional .breadcrumb-icon{width:14px;height:14px}.dashboard-professional .skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-300) 50%,var(--color-gray-200) 75%);background-size:200% 100%;animation:skeletonLoading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeletonLoading{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-professional .skeleton-card{width:100%;height:180px;border-radius:var(--radius-lg)}.dashboard-professional .skeleton-chart{width:100%;height:300px;border-radius:var(--radius-lg)}.dashboard-professional .skeleton-text{height:16px;width:100%;margin-bottom:var(--space-sm)}.dashboard-professional .skeleton-title{height:24px;width:60%;margin-bottom:var(--space-md)}.dashboard-professional .fade-in{animation:fadeInUp .3s cubic-bezier(.4,0,.2,1);animation-fill-mode:both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-professional .fade-in:nth-child(1){animation-delay:0ms}.dashboard-professional .fade-in:nth-child(2){animation-delay:50ms}.dashboard-professional .fade-in:nth-child(3){animation-delay:.1s}.dashboard-professional .fade-in:nth-child(4){animation-delay:.15s}.dashboard-professional .fade-in:nth-child(5){animation-delay:.2s}.dashboard-professional .fade-in:nth-child(6){animation-delay:.25s}.dashboard-professional .loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dashboard-professional .loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.dashboard-professional .loading-bar{position:fixed;top:0;left:0;width:100%;height:3px;background:transparent;z-index:9999}.dashboard-professional .loading-bar-progress{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-hover) 100%);box-shadow:0 0 10px var(--color-primary);transition:width .3s ease-out;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.dashboard-professional .count-up{display:inline-block;font-variant-numeric:tabular-nums;transition:all var(--transition-base)}.dashboard-professional .count-up.counting{animation:countPulse .3s ease-in-out}@keyframes countPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.dashboard-professional .value-changed{animation:valueFlash .6s ease-out}@keyframes valueFlash{0%,to{background-color:transparent}50%{background-color:var(--color-primary-light)}}.dashboard-professional .value-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:2px var(--space-xs);border-radius:var(--radius-sm);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.dashboard-professional .value-indicator.increase{color:var(--color-success);background:var(--color-success-light)}.dashboard-professional .value-indicator.decrease{color:var(--color-danger);background:var(--color-danger-light)}.dashboard-professional .value-indicator svg{width:10px;height:10px}.dashboard-professional .chart-animated .recharts-line-curve,.dashboard-professional .chart-animated .recharts-area-curve{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawLine 1.5s ease-out forwards}@keyframes drawLine{to{stroke-dashoffset:0}}.dashboard-professional .chart-animated .recharts-pie{animation:rotatePie 1s ease-out;transform-origin:center}@keyframes rotatePie{0%{transform:rotate(-90deg);opacity:0}to{transform:rotate(0);opacity:1}}.dashboard-professional .chart-animated .recharts-bar-rectangle{animation:growBar .8s ease-out;transform-origin:bottom}@keyframes growBar{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.dashboard-professional .chart-animated .recharts-dot{animation:popIn .4s ease-out backwards}.dashboard-professional .chart-animated .recharts-dot:nth-child(1){animation-delay:.2s}.dashboard-professional .chart-animated .recharts-dot:nth-child(2){animation-delay:.3s}.dashboard-professional .chart-animated .recharts-dot:nth-child(3){animation-delay:.4s}.dashboard-professional .chart-animated .recharts-dot:nth-child(4){animation-delay:.5s}.dashboard-professional .chart-animated .recharts-dot:nth-child(5){animation-delay:.6s}.dashboard-professional .chart-animated .recharts-dot:nth-child(6){animation-delay:.7s}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.dashboard-professional .chart-container{animation:chartFadeIn .5s ease-out}@keyframes chartFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-professional .chart-animated .legend-item{animation:fadeInRight .4s ease-out backwards}.dashboard-professional .chart-animated .legend-item:nth-child(1){animation-delay:.5s}.dashboard-professional .chart-animated .legend-item:nth-child(2){animation-delay:.6s}.dashboard-professional .chart-animated .legend-item:nth-child(3){animation-delay:.7s}.dashboard-professional .chart-animated .legend-item:nth-child(4){animation-delay:.8s}@keyframes fadeInRight{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.dashboard-professional .update-notification{position:fixed;bottom:var(--space-lg);right:var(--space-lg);background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-lg);box-shadow:var(--shadow-heavy);padding:var(--space-md) var(--space-lg);display:flex;align-items:center;gap:var(--space-md);z-index:1000;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard-professional .update-notification .notification-content{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-gray-900)}.dashboard-professional .update-notification .notification-content svg{width:16px;height:16px;color:var(--color-success);animation:spin 1s linear infinite}.dashboard-professional .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);text-align:center}.dashboard-professional .empty-state-icon{width:80px;height:80px;color:var(--color-gray-400);margin-bottom:var(--space-lg);animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.dashboard-professional .empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin-bottom:var(--space-sm)}.dashboard-professional .empty-state-description{font-size:var(--font-size-sm);color:var(--color-gray-600);margin-bottom:var(--space-lg);max-width:400px}.dashboard-professional .empty-state-action{padding:var(--space-sm) var(--space-lg);background:var(--color-primary);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base)}.dashboard-professional .empty-state-action:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.dashboard-professional .alert{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);animation:slideInDown .3s ease-out}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.dashboard-professional .alert-success{background:var(--color-success-light);border-left:4px solid var(--color-success)}.dashboard-professional .alert-warning{background:var(--color-warning-light);border-left:4px solid var(--color-warning)}.dashboard-professional .alert-error{background:var(--color-danger-light);border-left:4px solid var(--color-danger)}.dashboard-professional .alert-info{background:var(--color-primary-light);border-left:4px solid var(--color-primary)}.dashboard-professional .alert-icon{width:20px;height:20px;flex-shrink:0}.dashboard-professional .alert-content{flex:1}.dashboard-professional .alert-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-xs)}.dashboard-professional .alert-message{font-size:var(--font-size-sm);color:var(--color-gray-700)}@media (max-width: 1023px){.dashboard-professional .breadcrumb{padding:var(--space-sm) var(--space-md);overflow-x:auto;white-space:nowrap}.dashboard-professional .update-notification{bottom:var(--space-md);right:var(--space-md);left:var(--space-md)}}@media (max-width: 767px){.dashboard-professional .breadcrumb{padding:var(--space-sm)}.dashboard-professional .breadcrumb-item{font-size:var(--font-size-xs)}.dashboard-professional .loading-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dashboard-professional .update-notification{bottom:var(--space-sm);right:var(--space-sm);left:var(--space-sm);padding:var(--space-sm) var(--space-md)}.dashboard-professional .alert{padding:var(--space-sm) var(--space-md)}.dashboard-professional .empty-state{padding:var(--space-xl)}.dashboard-professional .empty-state-icon{width:60px;height:60px}}.dashboard-professional .chart-animated,.dashboard-professional .fade-in,.dashboard-professional .skeleton,.dashboard-professional .loading-spinner,.dashboard-professional .count-up,.dashboard-professional .value-indicator{will-change:transform,opacity}@media (prefers-reduced-motion: reduce){.dashboard-professional *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.dashboard-professional .boss-dashboard-section{margin-top:var(--space-lg);margin-bottom:var(--space-lg)}.dashboard-professional .boss-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.dashboard-professional .boss-cards-grid .boss-kpi-card,.dashboard-professional .boss-cards-grid .inventory-alert-card{min-height:450px}@media (max-width: 1023px){.dashboard-professional .boss-cards-grid{grid-template-columns:1fr}}@media (max-width: 767px){.dashboard-professional .boss-cards-grid{gap:var(--space-md)}.dashboard-professional .boss-cards-grid .boss-kpi-card,.dashboard-professional .boss-cards-grid .inventory-alert-card{min-height:auto}}.dashboard-professional .inventory-alert-banner{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fca5a5;border-left:4px solid #ef4444;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin:var(--space-md) 0;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dashboard-professional .alert-banner-content{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.dashboard-professional .alert-banner-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ef4444;color:#fff;border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 8px #ef444400}}.dashboard-professional .alert-banner-text{flex:1;font-size:14px;color:#991b1b;line-height:1.5}.dashboard-professional .alert-banner-text strong{color:#7f1d1d}.dashboard-professional .alert-count{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-weight:600;font-size:13px}.dashboard-professional .alert-count.critical{background:#fef2f2;color:#dc2626}.dashboard-professional .alert-count.warning{background:#fffbeb;color:#d97706}.dashboard-professional .alert-banner-action{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;background:#ef4444;color:#fff;border-radius:var(--radius-sm);font-size:13px;font-weight:600;text-decoration:none;transition:all .2s ease;white-space:nowrap}.dashboard-professional .alert-banner-action:hover{background:#dc2626;transform:translate(2px)}.dashboard-professional .alert-banner-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #fca5a5;border-radius:50%;color:#991b1b;font-size:18px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.dashboard-professional .alert-banner-close:hover{background:#fef2f2;border-color:#ef4444}@media (max-width: 767px){.dashboard-professional .inventory-alert-banner{padding:var(--space-sm)}.dashboard-professional .alert-banner-content{gap:var(--space-sm)}.dashboard-professional .alert-banner-icon{width:32px;height:32px}.dashboard-professional .alert-banner-text{font-size:13px;flex-basis:calc(100% - 48px)}.dashboard-professional .alert-banner-action{flex:1;justify-content:center;margin-top:var(--space-xs)}}.unified-inventory-overview{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:16px;display:flex;flex-direction:column;gap:12px;height:100%;overflow:hidden}.uio-header{display:flex;align-items:center;justify-content:space-between}.uio-title{display:flex;align-items:center;gap:8px}.uio-title h2{margin:0;font-size:16px;font-weight:600;color:#1f2937}.uio-title svg{color:#6366f1}.uio-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#6b7280;transition:all .2s}.uio-refresh-btn:hover{background:#e5e7eb;color:#4b5563}.uio-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.uio-refresh-btn.refreshing svg{animation:spin 1s linear infinite}.unified-inventory-overview.loading{min-height:300px}.uio-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#6b7280}.uio-loading svg.spinning{animation:spin 1s linear infinite;color:#6366f1}.uio-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#ef4444}.uio-error button{padding:8px 16px;background:#6366f1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.uio-error button:hover{background:#4f46e5}.uio-tabs{display:flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:8px}.uio-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;color:#6b7280;transition:all .2s;white-space:nowrap}.uio-tab:hover{background:#ffffff80;color:#4b5563}.uio-tab.active{background:#fff;color:#6366f1;font-weight:500;box-shadow:0 1px 3px #0000001a}.uio-tab svg{flex-shrink:0}.tab-badge{font-size:11px;padding:2px 6px;background:#e5e7eb;border-radius:10px;color:#6b7280}.uio-tab.active .tab-badge{background:#eef2ff;color:#6366f1}.uio-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.summary-card{display:flex;align-items:center;gap:8px;padding:12px;border-radius:10px;cursor:pointer;transition:all .2s}.summary-card.critical{background:linear-gradient(135deg,#fee2e2,#fecaca)}.summary-card.critical:hover{background:linear-gradient(135deg,#fecaca,#fca5a5)}.summary-card.warning{background:linear-gradient(135deg,#fef3c7,#fde68a)}.summary-card.warning:hover{background:linear-gradient(135deg,#fde68a,#fcd34d)}.summary-card.normal{background:linear-gradient(135deg,#d1fae5,#a7f3d0)}.summary-card.normal:hover{background:linear-gradient(135deg,#a7f3d0,#6ee7b7)}.status-icon.critical{color:#dc2626}.status-icon.warning{color:#d97706}.status-icon.normal{color:#059669}.card-content{display:flex;flex-direction:column;gap:2px}.card-value{font-size:18px;font-weight:700;color:#1f2937}.card-label{font-size:11px;color:#6b7280}.uio-value-section{padding:12px;background:linear-gradient(135deg,#f0f4ff,#e8f0fe);border-radius:10px}.value-item{display:flex;align-items:center;gap:8px}.value-item svg{color:#6366f1}.value-label{font-size:13px;color:#6b7280}.value-amount{margin-left:auto;font-size:16px;font-weight:600;color:#1f2937}.value-breakdown{display:flex;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(99,102,241,.2)}.breakdown-item{display:flex;flex-direction:column;gap:2px}.breakdown-item span:first-child{font-size:11px;color:#9ca3af}.breakdown-item span:last-child{font-size:13px;font-weight:500;color:#4b5563}.uio-urgent-section{padding:12px;background:#fef2f2;border-radius:10px;border:1px solid #FECACA}.urgent-header{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;color:#dc2626}.urgent-header svg{color:#dc2626}.urgent-list{display:flex;flex-direction:column;gap:8px}.urgent-item{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border-radius:6px}.item-icon{flex-shrink:0}.item-icon.expiry{color:#d97706}.item-icon.stock{color:#dc2626}.item-name{flex:1;font-size:13px;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-status{font-size:12px;font-weight:500;white-space:nowrap}.item-status.critical{color:#dc2626}.item-status.warning,.item-status.expiry{color:#d97706}.uio-expiry-section{padding:12px;background:#fffbeb;border-radius:10px;border:1px solid #FDE68A}.expiry-header{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:13px;font-weight:600;color:#d97706}.expiry-header svg{color:#d97706}.expiry-list{display:flex;flex-direction:column;gap:6px}.expiry-item{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:#fff;border-radius:4px}.batch-name{font-size:12px;color:#4b5563;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.batch-days{font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px}.batch-days.critical{background:#fee2e2;color:#dc2626}.batch-days.warning{background:#fef3c7;color:#d97706}.batch-days.normal{background:#d1fae5;color:#059669}.uio-footer{margin-top:auto;padding-top:12px;border-top:1px solid #E5E7EB}.view-more-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.view-more-btn:hover{background:#4f46e5}.view-more-btn svg{transition:transform .2s}.view-more-btn:hover svg{transform:translate(2px)}@media (max-width: 768px){.uio-summary-cards{grid-template-columns:repeat(3,1fr)}.summary-card{flex-direction:column;text-align:center;padding:10px 8px}.card-value{font-size:16px}.value-breakdown{flex-wrap:wrap;gap:10px}}@media (max-width: 480px){.uio-tabs{flex-wrap:wrap}.uio-tab{flex:1 1 calc(50% - 2px);padding:8px;font-size:12px}.tab-badge{display:none}.summary-card{padding:8px 6px}.card-value{font-size:14px}.card-label{font-size:10px}.value-amount{font-size:14px}}.unified-inventory-overview,.unified-inventory-overview *,.unified-inventory-overview .uio-summary-cards,.unified-inventory-overview .uio-summary-cards *,.unified-inventory-overview .summary-card,.unified-inventory-overview .summary-card *,.unified-inventory-overview .card-content,.unified-inventory-overview .card-content *,.unified-inventory-overview .card-label,.unified-inventory-overview .card-value{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;border-color:transparent!important;outline:none!important}.unified-inventory-overview .summary-card:before,.unified-inventory-overview .summary-card:after,.unified-inventory-overview .card-content:before,.unified-inventory-overview .card-content:after,.unified-inventory-overview .card-label:before,.unified-inventory-overview .card-label:after,.unified-inventory-overview .card-value:before,.unified-inventory-overview .card-value:after,.unified-inventory-overview .uio-summary-cards:before,.unified-inventory-overview .uio-summary-cards:after{display:none!important;content:none!important;border:none!important;background:none!important}.unified-inventory-overview .summary-card{border-radius:12px!important;box-shadow:0 2px 8px #00000014!important}.boss-kpi-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;display:flex;flex-direction:column;height:100%;border:1px solid #e5e7eb;transition:box-shadow .3s ease}.boss-kpi-card:hover{box-shadow:0 4px 16px #0000001f}.boss-kpi-card .card-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#ede9fe,#e0e7ff);border-bottom:1px solid #c7d2fe}.boss-kpi-card .header-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:#4338ca}.boss-kpi-card .refresh-btn{padding:6px;border:none;background:#fff9;border-radius:6px;cursor:pointer;color:#4338ca;transition:all .2s ease}.boss-kpi-card .refresh-btn:hover{background:#ffffffe6;transform:rotate(90deg)}.boss-kpi-card .kpi-tabs{display:flex;padding:8px 12px;gap:4px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.boss-kpi-card .tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .2s ease}.boss-kpi-card .tab-btn:hover{background:#e5e7eb;color:#374151}.boss-kpi-card .tab-btn.active{background:#6366f1;color:#fff}.boss-kpi-card .card-body{flex:1;padding:16px 20px;overflow-y:auto}.boss-kpi-card.loading .card-body,.boss-kpi-card.error .card-body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:12px;color:#6b7280}.boss-kpi-card .loading-spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.kpi-section{display:flex;flex-direction:column;gap:16px}.revenue-section .main-metric{text-align:center;padding:16px;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-radius:10px;border:1px solid #bbf7d0}.revenue-section .metric-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;color:#6b7280;margin-bottom:8px}.revenue-section .metric-value{font-size:32px;font-weight:700;color:#059669;line-height:1.2;letter-spacing:-.02em}.revenue-section .metric-target{font-size:16px;font-weight:600;color:#475569;margin:10px 0}.revenue-section .achievement-rate{font-size:18px;font-weight:700;color:#374151;margin-top:10px}.kpi-progress-bar{width:100%;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.kpi-progress-fill{height:100%;border-radius:4px;transition:width .5s ease}.trends-row{display:flex;justify-content:center;gap:24px}.kpi-trend-item{display:flex;align-items:center;gap:4px;font-size:13px}.kpi-trend-item.positive{color:#059669}.kpi-trend-item.negative{color:#dc2626}.kpi-trend-item .trend-value{font-weight:600}.kpi-trend-item .trend-label{color:#6b7280}.cumulative-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cumulative-stats .stat-item{display:flex;flex-direction:column;padding:12px;background:#f9fafb;border-radius:8px;text-align:center}.cumulative-stats .stat-label{font-size:12px;color:#6b7280}.cumulative-stats .stat-value{font-size:18px;font-weight:700;color:#1f2937;margin-top:4px;letter-spacing:-.01em}.customer-section .customer-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-section .metric-card{display:flex;align-items:center;gap:12px;padding:14px;background:#f0f9ff;border-radius:10px;border:1px solid #bae6fd}.customer-section .metric-card svg{color:#0284c7}.customer-section .metric-info{display:flex;flex-direction:column}.customer-section .metric-info .metric-value{font-size:20px;font-weight:700;color:#0c4a6e;letter-spacing:-.01em}.customer-section .metric-info .metric-label{font-size:11px;color:#6b7280}.customer-breakdown{display:flex;flex-direction:column;gap:8px}.customer-breakdown .breakdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f9fafb;border-radius:8px}.customer-breakdown .breakdown-item svg{color:#6b7280}.customer-breakdown .item-label{flex:1;font-size:13px;color:#374151}.customer-breakdown .item-value{font-size:14px;font-weight:600;color:#1f2937}.membership-stats{padding:14px;background:linear-gradient(135deg,#fef3c7,#fef9c3);border-radius:10px;border:1px solid #fde68a}.membership-stats .stats-header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#92400e;margin-bottom:12px}.membership-stats .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.membership-stats .stat-cell{display:flex;flex-direction:column;align-items:center;padding:8px;background:#fff9;border-radius:6px}.membership-stats .stat-cell .cell-value{font-size:16px;font-weight:700;color:#1f2937}.membership-stats .stat-cell .cell-label{font-size:11px;color:#6b7280}.membership-stats .stat-cell.active .cell-value{color:#059669}.membership-stats .stat-cell.dormant .cell-value{color:#dc2626}.membership-stats .avg-comparison{display:flex;justify-content:space-between;padding-top:10px;border-top:1px dashed #fde68a}.membership-stats .comparison-item{display:flex;flex-direction:column;font-size:12px;color:#6b7280}.membership-stats .comparison-item .value{font-size:14px;font-weight:600;color:#1f2937}.product-section .top-product{padding:14px;background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:10px;border:1px solid #fecaca}.product-section .product-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:#dc2626;margin-bottom:10px}.product-section .product-info{display:flex;justify-content:space-between;align-items:center}.product-section .product-name{font-size:15px;font-weight:600;color:#1f2937}.product-section .product-stats{display:flex;flex-direction:column;align-items:flex-end}.product-section .product-sales{font-size:16px;font-weight:700;color:#dc2626}.product-section .product-qty{font-size:12px;color:#6b7280}.product-section .sales-summary{padding:12px;background:#f9fafb;border-radius:8px}.product-section .summary-item{display:flex;align-items:center;gap:8px}.product-section .summary-item svg{color:#6b7280}.product-section .summary-label{flex:1;font-size:13px;color:#374151}.product-section .summary-value{font-size:16px;font-weight:600;color:#1f2937}.product-section .category-performance{padding:12px;background:#f0fdf4;border-radius:8px;border:1px solid #bbf7d0}.product-section .category-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#059669;margin-bottom:8px}.product-section .category-item{display:flex;justify-content:space-between;align-items:center}.product-section .category-name{font-size:14px;font-weight:500;color:#1f2937}.product-section .category-stats{display:flex;align-items:center;gap:8px}.product-section .category-percent{font-size:16px;font-weight:600;color:#059669}.product-section .category-change{font-size:12px;font-weight:500}.product-section .category-change.positive{color:#059669}.product-section .category-change.negative{color:#dc2626}.product-section .attention-products{padding:12px;background:#fffbeb;border-radius:8px;border:1px solid #fde68a}.product-section .attention-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#d97706;margin-bottom:8px}.product-section .attention-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.product-section .attention-item:not(:last-child){border-bottom:1px dashed #fde68a}.product-section .item-name{font-size:13px;color:#374151}.product-section .item-change{font-size:13px;font-weight:600}.product-section .item-change.negative{color:#dc2626}.boss-kpi-card .card-footer{padding:12px 20px;background:#f9fafb;border-top:1px solid #e5e7eb}.boss-kpi-card .view-all-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.boss-kpi-card .view-all-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}@media (max-width: 640px){.boss-kpi-card .kpi-tabs{padding:6px 8px}.boss-kpi-card .tab-btn{padding:6px 8px;font-size:12px}.revenue-section .metric-value{font-size:36px}.revenue-section .achievement-rate{font-size:16px}.cumulative-stats .stat-value{font-size:18px}.cumulative-stats,.customer-section .customer-metrics{grid-template-columns:1fr}.customer-section .metric-info .metric-value{font-size:20px}.membership-stats .stats-grid{grid-template-columns:repeat(3,1fr)}}@media (prefers-color-scheme: dark){.boss-kpi-card{background:#1f2937;border-color:#374151}.boss-kpi-card .card-header{background:linear-gradient(135deg,#312e81,#3730a3);border-color:#4338ca}.boss-kpi-card .header-title{color:#e0e7ff}.boss-kpi-card .refresh-btn{background:#0003;color:#e0e7ff}.boss-kpi-card .kpi-tabs{background:#111827;border-color:#374151}.boss-kpi-card .tab-btn{color:#9ca3af}.boss-kpi-card .tab-btn:hover{background:#374151;color:#e5e7eb}.boss-kpi-card .tab-btn.active{background:#6366f1}.boss-kpi-card .card-footer{background:#111827;border-color:#374151}.revenue-section .main-metric{background:linear-gradient(135deg,#064e3b,#065f46);border-color:#059669}.revenue-section .metric-value{color:#34d399}.cumulative-stats .stat-item{background:#374151}.cumulative-stats .stat-value{color:#f3f4f6}}.unified-store-performance{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:16px;display:flex;flex-direction:column;gap:12px;height:100%;overflow:hidden}.usp-header{display:flex;align-items:center;justify-content:space-between}.usp-title{display:flex;align-items:center;gap:8px}.usp-title h2{margin:0;font-size:16px;font-weight:600;color:#1f2937}.usp-title svg{color:#6366f1}.usp-refresh-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:8px;cursor:pointer;color:#6b7280;transition:all .2s}.usp-refresh-btn:hover{background:#e5e7eb;color:#4b5563}.usp-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.usp-refresh-btn.refreshing svg{animation:spin 1s linear infinite}.unified-store-performance.loading{min-height:300px}.usp-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;color:#6b7280}.usp-loading svg.spinning{animation:spin 1s linear infinite;color:#6366f1}.unified-store-performance .usp-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;background:#f9fafb;border-radius:12px;border:none!important}.unified-store-performance .usp-summary .summary-item{display:flex;align-items:center;gap:10px;padding:12px;background:#fff;border-radius:12px;border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.unified-store-performance .usp-summary .summary-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.unified-store-performance .usp-summary .summary-item svg{color:#6b7280;flex-shrink:0}.unified-store-performance .usp-summary .summary-item .summary-content{display:flex;flex-direction:column;min-width:0}.unified-store-performance .usp-summary .summary-item .summary-label{font-size:11px;color:#6b7280;white-space:nowrap;border:none!important}.unified-store-performance .usp-summary .summary-item .summary-label:before,.unified-store-performance .usp-summary .summary-item .summary-label:after{display:none!important;content:none!important}.unified-store-performance .usp-summary .summary-item .summary-value{font-size:16px;font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:none!important}.unified-store-performance .usp-summary .summary-item .summary-value:before,.unified-store-performance .usp-summary .summary-item .summary-value:after{display:none!important;content:none!important}.usp-tabs{display:flex;gap:4px;padding:4px;background:#f3f4f6;border-radius:8px}.usp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 4px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:12px;color:#6b7280;transition:all .2s;white-space:nowrap}.usp-tab:hover{background:#ffffff80;color:#4b5563}.usp-tab.active{background:#fff;color:#6366f1;font-weight:500;box-shadow:0 1px 3px #0000001a}.usp-tab svg{flex-shrink:0}.usp-champion{display:flex;align-items:center;gap:12px;padding:14px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;border:none;box-shadow:0 2px 8px #f59e0b33}.champion-badge{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.champion-badge svg{color:#f59e0b}.champion-badge span{font-size:10px;font-weight:600;color:#92400e}.champion-info{flex:1;min-width:0}.champion-name{font-size:15px;font-weight:600;color:#92400e;margin-bottom:4px}.champion-stats{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.champion-value{font-size:16px;font-weight:700;color:#78350f}.champion-change{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:500}.champion-change.positive{color:#059669}.champion-change.negative{color:#dc2626}.champion-achievement{font-size:12px;font-weight:500}.usp-ranking-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;min-height:0}.usp-ranking-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f9fafb;border-radius:8px;cursor:pointer;transition:all .2s}.usp-ranking-item:hover{background:#f3f4f6;transform:translate(2px)}.usp-ranking-item.top-three{background:linear-gradient(135deg,#fef3c7,#fffbeb)}.usp-ranking-item.top-three:hover{background:linear-gradient(135deg,#fde68a,#fef3c7)}.ranking-position{width:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rank-icon{display:flex;align-items:center;justify-content:center}.rank-icon.gold{color:#f59e0b}.rank-icon.silver{color:#9ca3af}.rank-icon.bronze{color:#b45309}.rank-number{width:22px;height:22px;display:flex;align-items:center;justify-content:center;background:#e5e7eb;border-radius:50%;font-size:11px;font-weight:600;color:#6b7280}.ranking-store-info{flex:1;min-width:0}.store-name{font-size:13px;font-weight:500;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.store-code{font-size:11px;color:#9ca3af}.ranking-metrics{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:80px}.metric-value{font-size:13px;font-weight:600;color:#1f2937;white-space:nowrap}.metric-change{display:flex;align-items:center;gap:2px;font-size:11px;font-weight:500}.metric-change.positive{color:#059669}.metric-change.negative{color:#dc2626}.ranking-achievement{width:60px;height:20px;position:relative;background:#e5e7eb;border-radius:10px;overflow:hidden;flex-shrink:0}.achievement-bar{position:absolute;left:0;top:0;height:100%;border-radius:10px;transition:width .3s ease}.achievement-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#1f2937;text-shadow:0 0 2px white}.ranking-arrow{color:#9ca3af;flex-shrink:0}.usp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:#9ca3af}.usp-empty svg{color:#d1d5db}.usp-footer{display:flex;justify-content:space-between;padding:10px 12px;background:#f3f4f6;border-radius:8px;margin-top:auto}.footer-stat{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-label{font-size:11px;color:#6b7280}.stat-value{font-size:14px;font-weight:600;color:#1f2937}@media (max-width: 768px){.unified-store-performance .usp-summary{grid-template-columns:repeat(2,1fr);gap:10px}.unified-store-performance .usp-summary .summary-item{padding:10px}.usp-tabs{flex-wrap:wrap}.usp-tab{flex:0 0 calc(33.333% - 3px)}.champion-stats{flex-direction:column;align-items:flex-start;gap:4px}.ranking-achievement{display:none}}@media (max-width: 480px){.unified-store-performance .usp-summary{grid-template-columns:repeat(2,1fr);gap:8px;padding:12px}.unified-store-performance .usp-summary .summary-item{padding:8px;gap:8px}.unified-store-performance .usp-summary .summary-item .summary-value{font-size:13px}.usp-tab{flex:0 0 calc(50% - 2px);padding:6px 4px;font-size:11px}.usp-champion{padding:10px}.champion-badge{padding:6px}.champion-badge svg{width:20px;height:20px}.ranking-metrics{min-width:60px}}.unified-store-performance,.unified-store-performance *,.unified-store-performance .usp-summary,.unified-store-performance .usp-summary *,.unified-store-performance .summary-item,.unified-store-performance .summary-item *,.unified-store-performance .summary-content,.unified-store-performance .summary-content *,.unified-store-performance .summary-label,.unified-store-performance .summary-value{border:none!important;border-top:none!important;border-bottom:none!important;border-left:none!important;border-right:none!important;border-color:transparent!important;outline:none!important}.unified-store-performance .summary-item:before,.unified-store-performance .summary-item:after,.unified-store-performance .summary-content:before,.unified-store-performance .summary-content:after,.unified-store-performance .summary-label:before,.unified-store-performance .summary-label:after,.unified-store-performance .summary-value:before,.unified-store-performance .summary-value:after,.unified-store-performance .usp-summary:before,.unified-store-performance .usp-summary:after{display:none!important;content:none!important;border:none!important;background:none!important}.unified-store-performance .usp-summary .summary-item{background:#fff!important;border-radius:12px!important;box-shadow:0 2px 8px #00000014!important;padding:12px!important}.store-kpi-tabs{background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:visible}.kpi-tabs-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2)}.kpi-tabs-nav{display:flex;gap:8px}.kpi-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:20px;background:#ffffff26;color:#fffc;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.kpi-tab:hover{background:#ffffff40;color:#fff}.kpi-tab.active{background:#fff;color:#667eea}.kpi-store-label{font-size:12px;font-weight:500;color:#ffffffe6;padding:4px 12px;background:#ffffff26;border-radius:12px}.kpi-tabs-content{padding:20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.kpi-grid{grid-template-columns:1fr}.kpi-tabs-header{flex-direction:column;gap:12px;align-items:stretch}.kpi-tabs-nav{justify-content:center}.kpi-store-label{text-align:center}}.store-kpi-tabs .kpi-card{display:flex;align-items:flex-start;gap:14px;padding:16px;background:var(--bg-secondary, #f8fafc);border-radius:12px;transition:all .2s;min-width:200px;overflow:visible!important}.store-kpi-tabs .kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.kpi-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.store-kpi-tabs .kpi-content{flex:1;min-width:100px;display:flex;flex-direction:column;gap:2px;overflow:visible!important;width:100%}.kpi-title{font-size:12px;font-weight:500;color:var(--text-secondary, #64748b)}.store-kpi-tabs .kpi-value{font-size:18px;font-weight:700;color:var(--text-primary, #1e293b);line-height:1.2;letter-spacing:-.02em;overflow:visible!important;white-space:nowrap}.kpi-change{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;padding:2px 6px;border-radius:4px}.kpi-change.positive{color:#059669;background:#10b9811a}.kpi-change.negative{color:#dc2626;background:#ef44441a}.kpi-subtext{font-size:13px;font-weight:500;color:var(--text-secondary, #64748b)}[data-theme=dark] .store-kpi-tabs{background:#1e293b}[data-theme=dark] .kpi-card{background:#0f172a}[data-theme=dark] .kpi-value{color:#e2e8f0}[data-theme=dark] .kpi-title{color:#94a3b8}[data-theme=dark] .kpi-subtext{color:#64748b}.test-mode-banner{position:fixed;top:0;left:0;right:0;height:36px;background:linear-gradient(90deg,#f59e0b,#d97706,#f59e0b);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;z-index:10000;letter-spacing:.5px;box-shadow:0 2px 8px #f59e0b66;animation:test-banner-pulse 3s ease-in-out infinite}@keyframes test-banner-pulse{0%,to{opacity:1}50%{opacity:.85}}body.test-mode .enhanced-sidebar{border-right:3px solid #f59e0b!important;background:linear-gradient(180deg,#fffbeb,#fff 15%)!important;top:36px!important;height:calc(100vh - 36px)!important}body.test-mode .menu-logo:after{content:"測試模式";display:inline-block;margin-left:8px;padding:2px 8px;background:#f59e0b;color:#fff;border-radius:4px;font-size:11px;font-weight:700;letter-spacing:.5px;vertical-align:middle}body.test-mode .ds-page-title:after{content:"測試模式";display:inline-block;margin-left:12px;padding:2px 10px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:12px;font-size:12px;font-weight:600;vertical-align:middle}body.test-mode .top-bar{top:36px!important}body.test-mode .main-content-with-sidebar{margin-top:36px}body.test-mode .app-layout-v3{padding-top:36px}@media (min-width: 769px) and (max-width: 1024px){button,.clickable,.touchable{min-height:44px;min-width:44px}button:active,.clickable:active,.touchable:active{transform:scale(.97);transition:transform .1s ease}.no-select{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:6px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}}@media (min-width: 769px) and (max-width: 1024px){.main-content{margin-left:64px!important;width:calc(100vw - 64px)!important;max-width:calc(100vw - 64px)!important}.content-container{overflow-x:hidden;width:100%;box-sizing:border-box}.flex-container{display:flex!important;flex-wrap:nowrap;min-width:0}.flex-item{flex-shrink:1;min-width:0}}@media (min-width: 769px) and (max-width: 1024px){.tablet-p-1{padding:.8rem!important}.tablet-p-2{padding:1.2rem!important}.tablet-p-3{padding:1.6rem!important}.tablet-p-4{padding:2rem!important}.tablet-m-1{margin:.8rem!important}.tablet-m-2{margin:1.2rem!important}.tablet-m-3{margin:1.6rem!important}.tablet-m-4{margin:2rem!important}.tablet-text-sm{font-size:.9rem!important}.tablet-text-base{font-size:1rem!important}.tablet-text-lg{font-size:1.1rem!important}.tablet-text-xl{font-size:1.3rem!important}.tablet-text-2xl{font-size:1.5rem!important}.tablet-touch-target{min-height:44px!important;min-width:44px!important;padding:.8rem 1.2rem!important}.tablet-gap-1{gap:.8rem!important}.tablet-gap-2{gap:1.2rem!important}.tablet-gap-3{gap:1.6rem!important}.tablet-gap-4{gap:2rem!important}}@media (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape){.pos-main{margin-left:80px!important}.main-content{margin-left:80px!important;width:calc(100vw - 80px)!important}}@media (min-width: 769px) and (max-width: 1024px) and (orientation: portrait){.sidebar{width:56px!important}.pos-main,.main-content{margin-left:56px!important;width:calc(100vw - 56px)!important}.top-bar{left:56px!important}.pos-left-panel{width:28%!important;min-width:260px!important}.pos-center-panel{width:42%!important;min-width:320px!important}.pos-right-panel{width:30%!important;min-width:280px!important}}@media (min-width: 769px) and (max-width: 1024px){@media (hover: none){.hover\:bg-blue-50:hover{background-color:transparent}.hover\:bg-blue-50:active{background-color:#eff6ff}.hover\:scale-105:hover{transform:none}.hover\:scale-105:active{transform:scale(.98)}}.touch-feedback:active{background-color:#3b82f61a;transform:scale(.98)}.no-zoom{touch-action:manipulation}.tablet-drag-handle{width:24px;padding:12px;cursor:grab}.tablet-drag-handle:active{cursor:grabbing}}@media (min-width: 769px) and (max-width: 1024px){.hardware-accelerated{transform:translateZ(0);backface-visibility:hidden}.will-change-auto{will-change:auto}.will-change-transform{will-change:transform}.tablet-transition{transition-duration:.2s!important}.tablet-transition-fast{transition-duration:.1s!important}}@media (min-width: 769px) and (max-width: 1024px){button:focus,input:focus,select:focus,textarea:focus{outline:3px solid #3b82f6;outline-offset:2px}.high-contrast{filter:contrast(1.2)}.readable-text{line-height:1.6;font-size:1rem;color:#1f2937}}@media (min-width: 769px) and (max-width: 1024px){.ensure-visible{z-index:1;position:relative}.layout-safe{max-width:100%;overflow-x:hidden;box-sizing:border-box}.touch-safe{pointer-events:auto;touch-action:auto}}@media (min-width: 769px) and (max-width: 1024px){.debug-border{border:2px dashed #ef4444!important}.debug-margin{margin:2px solid #f59e0b!important}.debug-padding{background-color:#22c55e1a!important}.breakpoint-indicator:before{content:"Tablet Mode (769px-1024px)";position:fixed;top:10px;right:10px;background:#1f2937;color:#fff;padding:4px 8px;font-size:12px;border-radius:4px;z-index:9999}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.animate-fadeIn{animation:fadeIn .2s ease-out}.animate-slideUp{animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.animate-slideDown{animation:slideDown .3s cubic-bezier(.4,0,.2,1)}.animate-shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:420px;pointer-events:none}@media (max-width: 640px){.toast-container{top:12px;right:12px;left:12px;max-width:none}}.toast-shadow{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #0000000d}.field-with-error input,.field-with-error textarea,.field-with-error select{border-color:#dc2626;border-width:2px;background-color:#fef2f2}.field-with-error input:focus,.field-with-error textarea:focus,.field-with-error select:focus{outline:none;border-color:#b91c1c;box-shadow:0 0 0 3px #dc26261a}.error-icon-bounce{display:inline-block;animation:shake .5s cubic-bezier(.36,.07,.19,.97)}.dialog-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.dialog-button-primary{transition:all .2s cubic-bezier(.4,0,.2,1)}.dialog-button-primary:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a}.dialog-button-primary:active{transform:translateY(0)}@media (prefers-contrast: high){.toast-error,.dialog-error,.toast-warning,.dialog-warning,.toast-success,.dialog-success{border:3px solid #000000}}@media (prefers-reduced-motion: reduce){.animate-fadeIn,.animate-slideUp,.animate-slideDown,.animate-shake,.error-icon-bounce,.dialog-button-primary{animation:none!important;transition:none!important}}@media (prefers-color-scheme: dark){.field-with-error input,.field-with-error textarea,.field-with-error select{background-color:#7f1d1d;color:#fff}}.dialog-button-primary:focus-visible,.dialog-button-secondary:focus-visible{outline:3px solid #2563EB;outline-offset:2px}.error-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;font-weight:700;color:#fff;background-color:#dc2626;border-radius:10px;box-shadow:0 2px 4px #0003}:root{--error-bg: #DC2626;--error-text: #FFFFFF;--warning-bg: #FCD34D;--warning-text: #111827;--success-bg: #059669;--success-text: #FFFFFF;--info-bg: #3B82F6;--info-text: #FFFFFF}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.inventory-editing-row{background:linear-gradient(90deg,#ebf5ff,#f0f9ff)!important;box-shadow:inset 0 0 0 2px #3b82f6!important;transition:all .3s ease}.inventory-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.inventory-modal-container{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:90%;max-width:480px;max-height:90vh;overflow:auto;animation:slideUp .3s ease}.inventory-modal-header{padding:20px 24px;border-bottom:1px solid #E5E7EB;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#fff;border-radius:16px 16px 0 0;z-index:1}.inventory-modal-title{margin:0;font-size:18px;font-weight:600;color:#111827}.inventory-modal-subtitle{margin:4px 0 0;font-size:14px;color:#6b7280}.inventory-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#9ca3af;cursor:pointer;transition:all .2s}.inventory-modal-close:hover{background:#f3f4f6;color:#374151}.inventory-modal-body{padding:24px}.inventory-modal-footer{padding:16px 24px;border-top:1px solid #E5E7EB;display:flex;gap:12px;justify-content:flex-end;background:#f9fafb;border-radius:0 0 16px 16px;position:sticky;bottom:0}.inventory-product-card{display:flex;gap:16px;padding:16px;background:#f9fafb;border-radius:12px;margin-bottom:24px}.inventory-product-image{width:64px;height:64px;border-radius:8px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;flex-shrink:0}.inventory-difference-indicator{margin-top:8px;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.inventory-difference-indicator.increase{background:#dcfce7;color:#166534}.inventory-difference-indicator.decrease{background:#fee2e2;color:#991b1b}.inventory-modal-input{width:100%;padding:14px 16px;font-size:18px;font-weight:600;border:2px solid #E5E7EB;border-radius:10px;outline:none;text-align:center;transition:border-color .2s}.inventory-modal-input:focus{border-color:#3b82f6}.inventory-modal-select{width:100%;padding:12px 16px;font-size:15px;border:2px solid #E5E7EB;border-radius:10px;outline:none;background:#fff;cursor:pointer;transition:border-color .2s}.inventory-modal-select:focus{border-color:#3b82f6}.inventory-modal-textarea{width:100%;padding:12px 16px;font-size:14px;border:2px solid #E5E7EB;border-radius:10px;outline:none;resize:vertical;transition:border-color .2s}.inventory-modal-textarea:focus{border-color:#3b82f6}.inventory-modal-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.inventory-modal-btn-cancel{border:1px solid #D1D5DB;background:#fff;color:#374151}.inventory-modal-btn-cancel:hover{background:#f9fafb;border-color:#9ca3af}.inventory-modal-btn-primary{border:none;background:#3b82f6;color:#fff;font-weight:600;display:flex;align-items:center;gap:6px}.inventory-modal-btn-primary:hover:not(:disabled){background:#2563eb}.inventory-modal-btn-primary:disabled{background:#d1d5db;cursor:not-allowed}.stock-in-stock{color:#10b981}.stock-low-stock{color:#f59e0b}.stock-out-of-stock{color:#ef4444}:root{--btn-min-height: 48px;--btn-min-width: 48px;--btn-height-sm: 48px;--btn-height-md: 52px;--btn-height-lg: 60px;--btn-height-xl: 72px;--btn-touch-padding: 4px;--btn-padding-x: 16px;--btn-padding-y: 12px;--btn-radius: 8px;--btn-transition: all .2s cubic-bezier(.4, 0, .2, 1)}.btn,button:not(.unstyled){min-height:var(--btn-min-height);min-width:var(--btn-min-width);padding:var(--btn-padding-y) var(--btn-padding-x);border-radius:var(--btn-radius);transition:var(--btn-transition);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-size:16px;font-weight:500;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;outline:none;white-space:nowrap}.btn-sm{min-height:var(--btn-height-sm);padding:10px 14px;font-size:14px}.btn-md{min-height:var(--btn-height-md);padding:var(--btn-padding-y) var(--btn-padding-x);font-size:16px}.btn-lg{min-height:var(--btn-height-lg);padding:16px 24px;font-size:18px;font-weight:600}.btn-xl{min-height:var(--btn-height-xl);padding:20px 32px;font-size:20px;font-weight:700}.btn:before,button:not(.unstyled):before{content:"";position:absolute;top:calc(var(--btn-touch-padding) * -1);right:calc(var(--btn-touch-padding) * -1);bottom:calc(var(--btn-touch-padding) * -1);left:calc(var(--btn-touch-padding) * -1);border-radius:calc(var(--btn-radius) + var(--btn-touch-padding));pointer-events:auto}.btn,button:not(.unstyled){position:relative}.btn:hover,button:not(.unstyled):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn:active,button:not(.unstyled):active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0000001a}.btn:focus-visible,button:not(.unstyled):focus-visible{outline:3px solid #3b82f6;outline-offset:2px}.btn:disabled,button:not(.unstyled):disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-success{background-color:#10b981;color:#fff}.btn-success:hover:not(:disabled){background-color:#059669}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-warning{background-color:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.btn-light{background-color:#f3f4f6;color:#1f2937;border:1px solid #d1d5db}.btn-light:hover:not(:disabled){background-color:#e5e7eb}.btn-icon{min-width:var(--btn-min-height);padding:0;border-radius:50%;aspect-ratio:1 / 1}.btn-icon-sm{min-width:var(--btn-height-sm);min-height:var(--btn-height-sm)}.btn-icon-md{min-width:var(--btn-height-md);min-height:var(--btn-height-md)}.btn-icon-lg{min-width:var(--btn-height-lg);min-height:var(--btn-height-lg)}.product-card-btn{min-height:var(--btn-height-md);width:100%;padding:var(--btn-padding-y) var(--btn-padding-x);background-color:#3b82f6;color:#fff;border-radius:var(--btn-radius);transition:var(--btn-transition)}.product-card-btn:hover:not(:disabled){background-color:#2563eb;transform:translateY(-2px);box-shadow:0 6px 16px #3b82f64d}.checkout-btn{min-height:var(--btn-height-xl);width:100%;padding:20px 32px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:20px;font-weight:700;border-radius:var(--btn-radius);box-shadow:0 4px 16px #10b9814d;transition:var(--btn-transition)}.checkout-btn:hover:not(:disabled){box-shadow:0 8px 24px #10b98166;transform:translateY(-2px)}.checkout-btn:active:not(:disabled){transform:translateY(0)}.cart-action-btn{min-height:var(--btn-height-sm);min-width:var(--btn-height-sm);padding:8px;border-radius:var(--btn-radius);transition:var(--btn-transition)}.quantity-btn{min-height:44px;min-width:44px;padding:0;border-radius:6px;background-color:#f3f4f6;color:#1f2937;font-size:18px;font-weight:600;transition:var(--btn-transition)}.quantity-btn:hover:not(:disabled){background-color:#e5e7eb;transform:scale(1.05)}.quantity-btn:active:not(:disabled){transform:scale(.95)}@media (min-width: 768px) and (max-width: 1024px){:root{--btn-min-height: 52px;--btn-height-sm: 52px;--btn-height-md: 56px;--btn-height-lg: 64px;--btn-height-xl: 76px}}@media (min-width: 1024px){:root{--btn-min-height: 48px;--btn-height-sm: 48px;--btn-height-md: 52px;--btn-height-lg: 60px;--btn-height-xl: 72px}.btn:hover,button:not(.unstyled):hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0003}}@media (min-resolution: 192dpi){.btn,button:not(.unstyled){-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@media (prefers-contrast: high){.btn,button:not(.unstyled){border:2px solid currentColor}.btn:focus-visible,button:not(.unstyled):focus-visible{outline-width:4px}}@media (prefers-reduced-motion: reduce){.btn,button:not(.unstyled){transition:none}.btn:hover,button:not(.unstyled):hover:not(:disabled){transform:none}}.btn-loading:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-left:-10px;margin-top:-10px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-block{width:100%;display:flex}.btn-shadow-sm{box-shadow:0 2px 4px #0000001a}.btn-shadow-md{box-shadow:0 4px 8px #0000001a}.btn-shadow-lg{box-shadow:0 8px 16px #00000026}.btn-flat{box-shadow:none!important}.btn-rounded{border-radius:9999px}.btn-square{border-radius:0}[data-debug-buttons=true] .btn:after,[data-debug-buttons=true] button:not(.unstyled):after{content:attr(data-size-info);position:absolute;bottom:-20px;left:0;font-size:10px;color:#ef4444;background-color:#fee2e2;padding:2px 4px;border-radius:2px;white-space:nowrap;pointer-events:none}:root{--error-bg-critical: #DC2626;--error-text-critical: #FFFFFF;--error-bg-high: #EF4444;--error-text-high: #FFFFFF;--error-bg-medium: #FEE2E2;--error-text-medium: #991B1B;--error-border-critical: #B91C1C;--error-border-high: #DC2626;--error-border-medium: #F87171;--warning-bg-high: #F59E0B;--warning-text-high: #FFFFFF;--warning-bg-medium: #FEF3C7;--warning-text-medium: #78350F;--warning-border-high: #D97706;--warning-border-medium: #FCD34D;--success-bg: #059669;--success-text: #FFFFFF;--success-border: #047857;--info-bg: #3B82F6;--info-text: #FFFFFF;--info-border: #2563EB;--error-padding: 12px 16px;--error-margin: 8px 0;--error-border-width: 3px;--error-border-radius: 8px;--error-icon-size: 20px;--error-font-size: 14px;--error-line-height: 1.5;--error-transition: all .2s ease-in-out;--error-shake-duration: .5s}.error-message,.warning-message,.success-message,.info-message{display:flex;align-items:start;gap:12px;padding:var(--error-padding);margin:var(--error-margin);border-radius:var(--error-border-radius);border-left:var(--error-border-width) solid;font-size:var(--error-font-size);line-height:var(--error-line-height);font-weight:500;transition:var(--error-transition);role:alert;aria-live:assertive}.error-message.critical{background-color:var(--error-bg-critical);color:var(--error-text-critical);border-color:var(--error-border-critical);box-shadow:0 4px 12px #dc26264d}.error-message.high,.error-message{background-color:var(--error-bg-high);color:var(--error-text-high);border-color:var(--error-border-high);box-shadow:0 2px 8px #ef444433}.error-message.medium{background-color:var(--error-bg-medium);color:var(--error-text-medium);border-color:var(--error-border-medium);box-shadow:none}.warning-message.high{background-color:var(--warning-bg-high);color:var(--warning-text-high);border-color:var(--warning-border-high);box-shadow:0 2px 8px #f59e0b33}.warning-message,.warning-message.medium{background-color:var(--warning-bg-medium);color:var(--warning-text-medium);border-color:var(--warning-border-medium)}.success-message{background-color:var(--success-bg);color:var(--success-text);border-color:var(--success-border);box-shadow:0 2px 8px #05966933}.info-message{background-color:var(--info-bg);color:var(--info-text);border-color:var(--info-border);box-shadow:0 2px 8px #3b82f633}.error-message-icon,.warning-message-icon,.success-message-icon,.info-message-icon{flex-shrink:0;width:var(--error-icon-size);height:var(--error-icon-size);font-size:var(--error-icon-size);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.error-message-icon:before{content:"❌"}.warning-message-icon:before{content:"⚠️"}.success-message-icon:before{content:"✅"}.info-message-icon:before{content:"ℹ️"}.error-message-content{flex:1;min-width:0}.error-message-title{font-weight:700;margin-bottom:4px;font-size:15px}.error-message-description{font-weight:400;opacity:.95;word-wrap:break-word;overflow-wrap:break-word}.error-message-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.error-message-close{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:currentColor;cursor:pointer;font-size:20px;line-height:1;padding:0;opacity:.7;transition:opacity .2s;border-radius:4px}.error-message-close:hover{opacity:1;background-color:#0000001a}.error-message-close:focus-visible{outline:2px solid currentColor;outline-offset:2px;opacity:1}.field-error{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:500;color:var(--error-text-medium);line-height:1.4}.field-error-icon{flex-shrink:0;font-size:14px}.field-error-icon:before{content:"❌"}input.has-error,textarea.has-error,select.has-error{border-color:var(--error-border-high)!important;border-width:2px!important;background-color:var(--error-bg-medium)!important;color:var(--error-text-medium)!important}input.has-error:focus,textarea.has-error:focus,select.has-error:focus{outline:3px solid var(--error-border-high);outline-offset:2px}.toast-error{min-width:320px;max-width:480px;background-color:var(--error-bg-critical);color:var(--error-text-critical);border-left:4px solid var(--error-border-critical);box-shadow:0 8px 24px #0000004d;animation:slideInRight .3s ease-out,shake var(--error-shake-duration) ease-in-out}.toast-warning{min-width:320px;max-width:480px;background-color:var(--warning-bg-high);color:var(--warning-text-high);border-left:4px solid var(--warning-border-high);box-shadow:0 8px 24px #0003;animation:slideInRight .3s ease-out}.toast-success{min-width:320px;max-width:480px;background-color:var(--success-bg);color:var(--success-text);border-left:4px solid var(--success-border);box-shadow:0 8px 24px #0003;animation:slideInRight .3s ease-out}.toast-info{min-width:320px;max-width:480px;background-color:var(--info-bg);color:var(--info-text);border-left:4px solid var(--info-border);box-shadow:0 8px 24px #0003;animation:slideInRight .3s ease-out}.modal-error-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;min-width:400px;max-width:600px;background:#fff;border-radius:16px;box-shadow:0 24px 48px #0006;animation:fadeInScale .3s ease-out}.modal-error-header{background-color:var(--error-bg-critical);color:var(--error-text-critical);padding:24px;border-radius:16px 16px 0 0;display:flex;align-items:center;gap:16px}.modal-error-icon{width:48px;height:48px;font-size:32px;background-color:var(--error-border-critical);border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-error-title{font-size:20px;font-weight:700;margin:0}.modal-error-body{padding:24px;color:#4b5563;font-size:15px;line-height:1.6}.modal-error-footer{padding:16px 24px;border-top:1px solid #E5E7EB;display:flex;justify-content:flex-end;gap:12px}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}@keyframes fadeInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.error-message.entering{animation:slideInRight .3s ease-out}.error-message.critical{animation:shake var(--error-shake-duration) ease-in-out}.inventory-error{background-color:var(--error-bg-medium);color:var(--error-text-medium);border-color:var(--error-border-high);padding:16px;border-radius:12px;border:2px solid var(--error-border-high)}.inventory-error-title{font-size:16px;font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}.inventory-error-details{font-size:14px;margin-top:8px;padding-left:28px}.member-error{background-color:var(--warning-bg-medium);color:var(--warning-text-medium);border-color:var(--warning-border-high);border-left-width:4px}.payment-error{background-color:var(--error-bg-critical);color:var(--error-text-critical);border-color:var(--error-border-critical);padding:20px;font-size:16px;box-shadow:0 8px 24px #dc262666}.payment-error-icon{font-size:32px;animation:pulse 1s infinite}.coupon-error{background-color:var(--error-bg-medium);color:var(--error-text-medium);border-color:var(--error-border-medium);font-size:13px;padding:10px 14px}@media (min-width: 768px) and (max-width: 1024px){:root{--error-font-size: 15px;--error-icon-size: 22px;--error-padding: 14px 18px}.modal-error-dialog{min-width:450px}}@media (min-width: 1024px){.error-message:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.modal-error-dialog{min-width:500px}}@media (max-width: 480px){:root{--error-padding: 12px 14px;--error-font-size: 13px}.modal-error-dialog{min-width:90vw;max-width:90vw}.toast-error,.toast-warning,.toast-success,.toast-info{min-width:auto;max-width:90vw}}@media (prefers-contrast: high){.error-message,.warning-message{border-width:4px;font-weight:700}input.has-error,textarea.has-error,select.has-error{border-width:3px!important}}@media (prefers-reduced-motion: reduce){.error-message,.warning-message,.success-message,.info-message{animation:none!important;transition:none}.error-message:hover{transform:none}}.error-message:focus-within{outline:3px solid var(--error-border-high);outline-offset:2px}.error-list{list-style:none;padding:0;margin:0}.error-list-item{display:flex;align-items:start;gap:8px;padding:8px 0;color:var(--error-text-medium);font-size:14px;line-height:1.5}.error-list-item:before{content:"•";color:var(--error-border-high);font-weight:700;font-size:18px;line-height:1.2}.form-validation-summary{background-color:var(--error-bg-medium);border:2px solid var(--error-border-high);border-radius:12px;padding:16px;margin-bottom:24px}.form-validation-summary-title{display:flex;align-items:center;gap:10px;color:var(--error-text-medium);font-size:16px;font-weight:700;margin-bottom:12px}.form-validation-summary-title:before{content:"❌";font-size:20px}.form-validation-summary-list{list-style:none;padding:0;margin:0}.form-validation-summary-list li{color:var(--error-text-medium);font-size:14px;padding:6px 0 6px 24px;position:relative}.form-validation-summary-list li:before{content:"→";position:absolute;left:0;color:var(--error-border-high);font-weight:700}.error-hidden{display:none!important}.error-visible{display:flex!important}.error-inline{display:inline-flex!important}.error-block{display:block!important}:root{--cart-anim-add-item: .15s;--cart-anim-quantity: .1s;--cart-anim-price: .2s;--cart-anim-badge: .3s;--cart-anim-total: .2s;--cart-ease-standard: cubic-bezier(.4, 0, .2, 1);--cart-ease-decelerate: cubic-bezier(0, 0, .2, 1);--cart-ease-accelerate: cubic-bezier(.4, 0, 1, 1);--cart-ease-sharp: cubic-bezier(.4, 0, .6, 1);--cart-highlight-blue: #DBEAFE;--cart-highlight-blue-mid: #BFDBFE;--cart-highlight-border: #3B82F6;--cart-success-green: #D1FAE5;--cart-warning-yellow: #FEF3C7;--cart-price-update: #DCFCE7;--cart-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--cart-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--cart-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}@keyframes cartItemAddFast{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes cartItemHighlightFast{0%{background-color:var(--cart-highlight-blue);box-shadow:0 0 0 2px var(--cart-highlight-border)}to{background-color:transparent;box-shadow:0 0 0 0 transparent}}.cart-item-new-fast{animation:cartItemAddFast var(--cart-anim-add-item) var(--cart-ease-decelerate),cartItemHighlightFast var(--cart-anim-add-item) var(--cart-ease-standard);animation-fill-mode:forwards}@keyframes cartItemAddFromTop{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.cart-item-new-from-top{animation:cartItemAddFromTop var(--cart-anim-add-item) var(--cart-ease-decelerate),cartItemHighlightFast var(--cart-anim-add-item) var(--cart-ease-standard)}@keyframes quantityPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.quantity-updated{animation:quantityPulse var(--cart-anim-quantity) var(--cart-ease-sharp);color:var(--cart-highlight-border);font-weight:600}@keyframes quantityIncrease{0%{transform:scale(1) translateY(0);opacity:1}50%{transform:scale(1.2) translateY(-2px);opacity:.8}to{transform:scale(1) translateY(0);opacity:1}}.quantity-increase{animation:quantityIncrease var(--cart-anim-quantity) var(--cart-ease-sharp)}@keyframes quantityDecrease{0%{transform:scale(1) translateY(0);opacity:1}50%{transform:scale(.85) translateY(2px);opacity:.8}to{transform:scale(1) translateY(0);opacity:1}}.quantity-decrease{animation:quantityDecrease var(--cart-anim-quantity) var(--cart-ease-sharp)}.btn-quantity:active:not(:disabled){transform:scale(.9);transition:transform 50ms var(--cart-ease-sharp)}@keyframes priceUpdate{0%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.9}to{transform:scale(1);opacity:1}}.price-updated{animation:priceUpdate var(--cart-anim-price) var(--cart-ease-standard)}@keyframes priceIncrease{0%{background-color:transparent;color:inherit}50%{background-color:var(--cart-highlight-blue);color:var(--cart-highlight-border)}to{background-color:transparent;color:inherit}}.price-increase{animation:priceIncrease var(--cart-anim-price) var(--cart-ease-standard);font-weight:600}@keyframes priceDecrease{0%{background-color:transparent;color:inherit}50%{background-color:var(--cart-price-update);color:#10b981}to{background-color:transparent;color:inherit}}.price-decrease{animation:priceDecrease var(--cart-anim-price) var(--cart-ease-standard);font-weight:600}.item-total-animated{display:inline-block;transition:transform var(--cart-anim-price) var(--cart-ease-standard)}@keyframes badgePulseEnhanced{0%{transform:scale(1);background-color:#ef4444}40%{transform:scale(1.3);background-color:#dc2626}70%{transform:scale(.95)}to{transform:scale(1);background-color:#ef4444}}.cart-badge-pulse{animation:badgePulseEnhanced var(--cart-anim-badge) var(--cart-ease-standard)}@keyframes badgeIncrease{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.4) rotate(10deg)}to{transform:scale(1) rotate(0)}}.cart-badge-increase{animation:badgeIncrease var(--cart-anim-badge) var(--cart-ease-sharp)}@keyframes badgeDecrease{0%{transform:scale(1) rotate(0)}50%{transform:scale(.7) rotate(-10deg)}to{transform:scale(1) rotate(0)}}.cart-badge-decrease{animation:badgeDecrease var(--cart-anim-badge) var(--cart-ease-sharp)}@keyframes totalPriceUpdate{0%{transform:scale(1);color:inherit}50%{transform:scale(1.05);color:var(--cart-highlight-border);font-weight:700}to{transform:scale(1);color:inherit}}.total-price-updated{animation:totalPriceUpdate var(--cart-anim-total) var(--cart-ease-standard);display:inline-block}@keyframes totalBackgroundFlash{0%,to{background-color:transparent}50%{background-color:var(--cart-highlight-blue)}}.total-section-updated{animation:totalBackgroundFlash var(--cart-anim-total) var(--cart-ease-standard);border-radius:8px;padding:2px 8px;transition:padding var(--cart-anim-total) var(--cart-ease-standard)}@keyframes discountAppear{0%{opacity:0;transform:translateY(-4px);max-height:0}to{opacity:1;transform:translateY(0);max-height:50px}}.discount-appear{animation:discountAppear var(--cart-anim-price) var(--cart-ease-decelerate);overflow:hidden}@keyframes cartItemRemove{0%{opacity:1;transform:translate(0);max-height:200px}50%{opacity:.5;transform:translate(-50%)}to{opacity:0;transform:translate(-100%);max-height:0;margin:0;padding:0}}.cart-item-removing{animation:cartItemRemove .25s var(--cart-ease-accelerate) forwards;overflow:hidden}@keyframes emptyCartBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.cart-empty-animated .empty-icon{animation:emptyCartBounce 1s var(--cart-ease-standard) infinite;display:inline-block}@keyframes emptyCartFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cart-empty-animated{animation:emptyCartFadeIn .4s var(--cart-ease-decelerate)}@keyframes skeletonShimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.cart-item-skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9 80px);background-size:200px 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;border-radius:8px;height:80px;margin-bottom:12px}@keyframes cartSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cart-loading-spinner{border:3px solid #F1F5F9;border-top-color:var(--cart-highlight-border);border-radius:50%;width:40px;height:40px;animation:cartSpinner .8s linear infinite}@keyframes cartItemReorder{0%{transform:translateY(0)}50%{transform:translateY(-4px);box-shadow:var(--cart-shadow-md)}to{transform:translateY(0)}}.cart-item-reordering{animation:cartItemReorder .3s var(--cart-ease-standard)}@keyframes memberLevelChange{0%,to{background-color:transparent;border-color:transparent}50%{background-color:#fef3c7;border-color:#f59e0b}}.member-level-changed{animation:memberLevelChange .5s var(--cart-ease-standard);border:2px solid transparent;border-radius:8px;padding:8px}@keyframes promotionAchieved{0%{transform:scale(1) rotate(0);opacity:1}25%{transform:scale(1.1) rotate(5deg)}50%{transform:scale(1.2) rotate(-5deg);opacity:.9}75%{transform:scale(1.1) rotate(3deg)}to{transform:scale(1) rotate(0);opacity:1}}.promotion-achieved{animation:promotionAchieved .6s var(--cart-ease-standard);display:inline-block}@media (min-width: 768px) and (max-width: 1024px){:root{--cart-anim-add-item: .18s;--cart-anim-quantity: .12s;--cart-anim-price: .22s}}@media (min-width: 1024px){:root{--cart-anim-add-item: .15s;--cart-anim-quantity: .1s;--cart-anim-price: .2s}.cart-item:hover{transform:translate(2px);transition:transform .15s var(--cart-ease-standard);box-shadow:var(--cart-shadow-sm)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cart-item-new-fast,.cart-item-new-from-top{background-color:var(--cart-highlight-blue);border-left:4px solid var(--cart-highlight-border);transition:background-color .3s ease}.quantity-updated{color:var(--cart-highlight-border);font-weight:700}.price-increase{background-color:var(--cart-highlight-blue);color:var(--cart-highlight-border);font-weight:700;padding:2px 6px;border-radius:4px}.price-decrease{background-color:var(--cart-price-update);color:#10b981;font-weight:700;padding:2px 6px;border-radius:4px}}@media (prefers-contrast: high){:root{--cart-highlight-blue: #BFDBFE;--cart-highlight-border: #1E40AF;--cart-success-green: #A7F3D0;--cart-price-update: #BBF7D0}.cart-item-new-fast,.cart-item-new-from-top{border:2px solid var(--cart-highlight-border)}}.cart-item-new-fast,.cart-item-new-from-top,.quantity-updated,.price-updated,.total-price-updated{will-change:transform,opacity}.cart-item-new-fast.animation-complete,.cart-item-new-from-top.animation-complete,.quantity-updated.animation-complete,.price-updated.animation-complete,.total-price-updated.animation-complete{will-change:auto}.shopping-cart-view{contain:layout style}.cart-items-container{contain:layout;transform:translateZ(0)}[data-debug-animations=true] .cart-item-new-fast:after,[data-debug-animations=true] .quantity-updated:after,[data-debug-animations=true] .price-updated:after{content:"🎬";position:absolute;top:-20px;right:0;font-size:16px;background-color:#fee2e2;padding:2px 6px;border-radius:4px;pointer-events:none;z-index:9999}[data-debug-animations=true] .cart-item-new-fast:before{content:"150ms";position:absolute;top:-20px;left:0;font-size:10px;color:#dc2626;background-color:#fee2e2;padding:2px 4px;border-radius:2px;pointer-events:none;z-index:9999}.cart-item-new-blue{animation:cartItemHighlightFast var(--cart-anim-add-item) var(--cart-ease-standard)}.cart-badge-updated{animation:badgePulseEnhanced var(--cart-anim-badge) var(--cart-ease-standard)}:root{--kbd-feedback-duration: .6s;--kbd-ripple-duration: .8s;--kbd-toast-duration: .3s;--kbd-primary: #3b82f6;--kbd-success: #10b981;--kbd-warning: #f59e0b;--kbd-info: #6366f1;--kbd-toast-z: 10000;--kbd-hint-z: 9900;--kbd-ripple-z: 9800}.keyboard-indicator{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:12px;box-shadow:0 8px 24px #667eea66;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:16px;font-weight:700;z-index:var(--kbd-toast-z);pointer-events:none;animation:keyboardIndicatorAppear var(--kbd-feedback-duration) cubic-bezier(.34,1.56,.64,1);-moz-user-select:none;user-select:none;-webkit-user-select:none}@keyframes keyboardIndicatorAppear{0%{opacity:0;transform:translateY(20px) scale(.8)}50%{opacity:1;transform:translateY(0) scale(1.1)}70%{transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}.keyboard-ripple{position:fixed;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#3b82f666,#3b82f600 70%);pointer-events:none;z-index:var(--kbd-ripple-z);animation:keyboardRipple var(--kbd-ripple-duration) ease-out}@keyframes keyboardRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(4);opacity:0}}.keyboard-toast-container{position:fixed;top:80px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:var(--kbd-toast-z);pointer-events:none}.keyboard-toast{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;border-left:4px solid var(--kbd-primary);min-width:280px;max-width:400px;animation:toastSlideIn var(--kbd-toast-duration) cubic-bezier(.34,1.56,.64,1);animation-fill-mode:forwards}.keyboard-toast.toast-fadeout{animation:toastFadeOut var(--kbd-toast-duration) ease-out forwards}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(20px) scale(.9)}}.keyboard-toast.toast-success{border-left-color:var(--kbd-success)}.keyboard-toast.toast-warning{border-left-color:var(--kbd-warning)}.keyboard-toast.toast-info{border-left-color:var(--kbd-info)}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px}.toast-content{flex:1;display:flex;flex-direction:column;gap:2px}.toast-title{font-size:14px;font-weight:700;color:#1e293b;line-height:1.4}.toast-description{font-size:13px;color:#64748b;line-height:1.4}.toast-key{padding:2px 8px;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;font-weight:600;color:#475569}.keyboard-hint-overlay{position:fixed;inset:0;background:#000000bf;z-index:var(--kbd-hint-z);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;animation:hintOverlayFadeIn .4s ease-out}@keyframes hintOverlayFadeIn{0%{opacity:0}to{opacity:1}}.keyboard-hint-panel{background:#fff;border-radius:20px;padding:32px;max-width:600px;width:90%;box-shadow:0 20px 60px #0006;animation:hintPanelSlideUp .5s cubic-bezier(.34,1.56,.64,1)}@keyframes hintPanelSlideUp{0%{opacity:0;transform:translateY(40px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.hint-header{text-align:center;margin-bottom:28px}.hint-header h2{font-size:28px;font-weight:800;color:#1e293b;margin:0 0 8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hint-header p{font-size:15px;color:#64748b;margin:0}.hint-keys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:28px}.hint-key-item{display:flex;flex-direction:column;align-items:center;padding:16px 12px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;transition:all .2s}.hint-key-item:hover{background:linear-gradient(135deg,#e0f2fe,#bfdbfe);border-color:#3b82f6;transform:translateY(-2px)}.hint-key-display{padding:8px 16px;background:#fff;border:2px solid #cbd5e1;border-radius:8px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:18px;font-weight:700;color:#475569;margin-bottom:8px;box-shadow:0 2px 4px #0000000d,inset 0 -2px #0000001a}.hint-key-label{font-size:12px;color:#64748b;text-align:center;font-weight:600;line-height:1.4}.hint-actions{display:flex;gap:12px;justify-content:center}.hint-btn{padding:12px 28px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;min-height:48px;min-width:120px}.hint-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.hint-btn-primary:hover{box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.hint-btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #cbd5e1}.hint-btn-secondary:hover{background:#e2e8f0;border-color:#94a3b8}.keyboard-mode-indicator{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:8px;box-shadow:0 4px 12px #667eea4d;font-size:14px;font-weight:700;z-index:var(--kbd-toast-z);pointer-events:none;display:flex;align-items:center;gap:8px;animation:modeIndicatorPulse 2s ease-in-out infinite}@keyframes modeIndicatorPulse{0%,to{opacity:.9;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.05)}}.mode-indicator-icon{font-size:16px;animation:modeIconRotate 3s linear infinite}@keyframes modeIconRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 1024px){.keyboard-indicator{bottom:16px;right:16px;padding:10px 16px;font-size:14px}.keyboard-toast-container{top:70px;right:16px}.keyboard-toast{min-width:240px;max-width:320px;padding:12px 16px}.hint-keys-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}@media (max-width: 640px){.keyboard-indicator{bottom:12px;right:12px;left:12px;padding:8px 12px;font-size:13px}.keyboard-toast-container{top:60px;right:12px;left:12px}.keyboard-toast{min-width:auto;max-width:none}.keyboard-hint-panel{padding:24px 20px;max-width:none;width:95%}.hint-header h2{font-size:24px}.hint-keys-grid{grid-template-columns:repeat(2,1fr);gap:10px}.hint-key-item{padding:12px 8px}.hint-key-display{padding:6px 12px;font-size:16px}.keyboard-mode-indicator{top:60px;padding:8px 16px;font-size:13px}}@media (prefers-reduced-motion: reduce){.keyboard-indicator,.keyboard-ripple,.keyboard-toast,.keyboard-hint-overlay,.keyboard-hint-panel,.keyboard-mode-indicator{animation:none}.keyboard-toast.toast-fadeout{opacity:0}.hint-key-item:hover{transform:none}}@media (prefers-contrast: high){.keyboard-indicator{border:2px solid white}.keyboard-toast{border:2px solid currentColor}.keyboard-hint-panel{border:3px solid #1e293b}}[data-debug-keyboard=true] .keyboard-indicator:after{content:" [DEBUG]";font-size:10px;opacity:.7}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);min-width:var(--touch-target-min);min-height:var(--btn-height-base);height:var(--btn-height-base);padding:0 var(--btn-padding-x-base);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;text-align:center;white-space:nowrap;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-base);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;transition:var(--transition-base);background:transparent;color:inherit}.ds-btn:focus{outline:none}.ds-btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.ds-btn:disabled,.ds-btn[disabled],.ds-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ds-btn-xs{min-height:var(--btn-height-xs);height:var(--btn-height-xs);padding:0 var(--btn-padding-x-xs);font-size:var(--font-size-xs);gap:var(--spacing-1)}.ds-btn-sm{min-height:var(--btn-height-sm);height:var(--btn-height-sm);padding:0 var(--btn-padding-x-sm);font-size:var(--font-size-sm);gap:var(--spacing-1-5)}.ds-btn-md{min-height:var(--btn-height-base);height:var(--btn-height-base);padding:0 var(--btn-padding-x-base);font-size:var(--font-size-sm)}.ds-btn-lg{min-height:var(--btn-height-lg);height:var(--btn-height-lg);padding:0 var(--btn-padding-x-lg);font-size:var(--font-size-base);gap:var(--spacing-3)}.ds-btn-xl{min-height:var(--btn-height-xl);height:var(--btn-height-xl);padding:0 var(--spacing-10);font-size:var(--font-size-lg);gap:var(--spacing-3)}.ds-btn-solid-primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.ds-btn-solid-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.ds-btn-solid-primary:active:not(:disabled){background:var(--color-primary-active);border-color:var(--color-primary-active);box-shadow:none}.ds-btn-primary{background:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}.ds-btn-primary:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-100)}.ds-btn-primary:active:not(:disabled){background:var(--color-gray-200)}.ds-btn-secondary{background:#ffffff26;color:var(--color-white);border-color:#ffffff4d}.ds-btn-secondary:hover:not(:disabled){background:#ffffff40;border-color:#ffffff80}.ds-btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.ds-btn-outline:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.ds-btn-outline:active:not(:disabled){background:var(--color-primary-100)}.ds-btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.ds-btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.ds-btn-ghost:active:not(:disabled){background:var(--color-bg-tertiary)}.ds-btn-text{background:transparent;color:var(--color-primary);border-color:transparent;padding:0 var(--spacing-2);min-width:auto}.ds-btn-text:hover:not(:disabled){color:var(--color-primary-hover);text-decoration:underline}.ds-btn-danger{background:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.ds-btn-danger:hover:not(:disabled){background:var(--color-danger-600);border-color:var(--color-danger-600);box-shadow:var(--shadow-danger)}.ds-btn-danger:active:not(:disabled){background:var(--color-danger-700);border-color:var(--color-danger-700)}.ds-btn-danger-outline{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.ds-btn-danger-outline:hover:not(:disabled){background:var(--color-danger-light);color:var(--color-danger-600)}.ds-btn-success{background:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.ds-btn-success:hover:not(:disabled){background:var(--color-success-600);border-color:var(--color-success-600);box-shadow:var(--shadow-success)}.ds-btn-success:active:not(:disabled){background:var(--color-success-700);border-color:var(--color-success-700)}.ds-btn-warning{background:var(--color-warning);color:var(--color-white);border-color:var(--color-warning)}.ds-btn-warning:hover:not(:disabled){background:var(--color-warning-600);border-color:var(--color-warning-600);box-shadow:var(--shadow-warning)}.ds-btn-neutral{background:var(--color-gray-100);color:var(--color-text-secondary);border-color:var(--color-border-primary)}.ds-btn-neutral:hover:not(:disabled){background:var(--color-gray-200);color:var(--color-text-primary)}.ds-btn-icon{width:var(--icon-btn-base);height:var(--icon-btn-base);min-width:var(--icon-btn-base);min-height:var(--icon-btn-base);padding:0;border-radius:var(--radius-base)}.ds-btn-icon.ds-btn-xs{width:var(--icon-btn-xs);height:var(--icon-btn-xs);min-width:var(--icon-btn-xs);min-height:var(--icon-btn-xs)}.ds-btn-icon.ds-btn-sm{width:var(--icon-btn-sm);height:var(--icon-btn-sm);min-width:var(--icon-btn-sm);min-height:var(--icon-btn-sm)}.ds-btn-icon.ds-btn-lg{width:var(--icon-btn-lg);height:var(--icon-btn-lg);min-width:var(--icon-btn-lg);min-height:var(--icon-btn-lg)}.ds-btn-icon-circle,.ds-btn-rounded{border-radius:var(--radius-full)}.ds-btn-square{border-radius:0}.ds-btn-block{display:flex;width:100%}.ds-btn-loading{position:relative;color:transparent!important;pointer-events:none}.ds-btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin:-8px 0 0 -8px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:ds-btn-spin .6s linear infinite}@keyframes ds-btn-spin{to{transform:rotate(360deg)}}.ds-btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:ds-btn-spin .6s linear infinite}.ds-btn-group{display:inline-flex;gap:var(--spacing-2)}.ds-btn-group-vertical{display:flex;flex-direction:column;gap:var(--spacing-2)}.ds-btn-group-connected{display:inline-flex;gap:0}.ds-btn-group-connected .ds-btn{border-radius:0}.ds-btn-group-connected .ds-btn:first-child{border-top-left-radius:var(--radius-base);border-bottom-left-radius:var(--radius-base)}.ds-btn-group-connected .ds-btn:last-child{border-top-right-radius:var(--radius-base);border-bottom-right-radius:var(--radius-base)}.ds-btn-group-connected .ds-btn:not(:last-child){border-right-width:0}.ds-btn-checkout{width:100%;min-height:var(--btn-height-xl);height:var(--btn-height-xl);background:var(--pos-checkout-btn, #059669);color:var(--color-white);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);border:none;border-radius:var(--radius-md);box-shadow:0 4px 12px #0596694d}.ds-btn-checkout:hover:not(:disabled){background:var(--pos-checkout-btn-hover, #047857);transform:translateY(-2px);box-shadow:0 6px 16px #05966966}.ds-btn-checkout:disabled{background:var(--color-gray-400);box-shadow:none}.ds-btn-quantity{width:var(--touch-target-min);height:var(--touch-target-min);min-width:var(--touch-target-min);padding:0;background:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-full);font-size:20px;font-weight:var(--font-weight-semibold)}.ds-btn-quantity:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.ds-btn-quick-action{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:52px;min-height:52px;padding:var(--spacing-2);gap:var(--spacing-1);background:var(--color-white);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.ds-btn-quick-action:hover:not(:disabled){background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary-200)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);min-width:var(--touch-target-min);min-height:var(--btn-height-base);height:var(--btn-height-base);padding:0 var(--btn-padding-x-base);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;text-align:center;white-space:nowrap;text-decoration:none;border:1px solid transparent;border-radius:var(--radius-base);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;transition:var(--transition-base);background:transparent;color:inherit}.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-sm{min-height:var(--btn-height-sm);height:var(--btn-height-sm);padding:0 var(--btn-padding-x-sm);font-size:var(--font-size-sm)}.btn-md{min-height:var(--btn-height-base);height:var(--btn-height-base)}.btn-lg{min-height:var(--btn-height-lg);height:var(--btn-height-lg);padding:0 var(--btn-padding-x-lg);font-size:var(--font-size-base)}.btn-primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-primary)}.btn-secondary{background:var(--color-white);color:var(--color-primary);border-color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background:var(--color-primary-light)}.btn-danger{background:var(--color-white);color:var(--color-danger);border-color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:var(--color-white);box-shadow:var(--shadow-danger)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);color:var(--color-white);border-color:var(--color-success-600)}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.btn-warning{background:var(--color-white);color:var(--color-warning);border-color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:var(--color-warning-light);color:var(--color-warning-600)}.btn-neutral,.btn-cancel{background:var(--color-gray-100);color:var(--color-text-secondary);border-color:var(--color-border-primary)}.btn-neutral:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--color-gray-200);color:var(--color-text-primary)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-light)}.btn-rounded{border-radius:var(--radius-full)}.btn-circle{border-radius:var(--radius-full);aspect-ratio:1}.btn-block{display:flex;width:100%}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin:-8px 0 0 -8px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:ds-btn-spin .6s linear infinite}.btn-group{display:inline-flex;gap:var(--spacing-2)}.btn-group-vertical{display:flex;flex-direction:column;gap:var(--spacing-2)}@media (max-width: 1024px){.ds-btn,.btn{min-height:var(--btn-height-lg)}.ds-btn-sm,.btn-sm{min-height:var(--btn-height-base)}}@media (max-width: 768px){.ds-btn,.btn{min-height:var(--btn-height-lg);font-size:var(--font-size-base)}.ds-btn-sm,.btn-sm{min-height:var(--btn-height-base);font-size:var(--font-size-sm)}.ds-btn-lg,.btn-lg{min-height:var(--btn-height-xl);font-size:var(--font-size-lg)}}@media (prefers-contrast: high){.ds-btn,.btn{border-width:2px}.ds-btn:focus-visible,.btn:focus-visible{outline-width:4px}}@media (prefers-reduced-motion: reduce){.ds-btn,.btn,.ds-btn:after,.btn:after,.ds-btn-spinner{transition:none;animation:none}}.dark .ds-btn-ghost,.dark .btn-ghost{color:var(--color-gray-300)}.dark .ds-btn-ghost:hover:not(:disabled),.dark .btn-ghost:hover:not(:disabled){background:var(--color-gray-700);color:var(--color-gray-100)}.dark .ds-btn-neutral,.dark .btn-neutral,.dark .btn-cancel{background:var(--color-gray-700);color:var(--color-gray-200);border-color:var(--color-gray-600)}.dark .ds-btn-neutral:hover:not(:disabled),.dark .btn-neutral:hover:not(:disabled),.dark .btn-cancel:hover:not(:disabled){background:var(--color-gray-600);color:var(--color-gray-100)}.dark .ds-btn-outline,.dark .btn-outline{border-color:var(--color-primary-400);color:var(--color-primary-400)}.dark .ds-btn-outline:hover:not(:disabled),.dark .btn-outline:hover:not(:disabled){background:#3b82f633}.ds-card{position:relative;display:flex;flex-direction:column;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition-base)}.ds-card-interactive{cursor:pointer}.ds-card-interactive:hover{border-color:var(--color-primary-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ds-card-interactive:active{transform:translateY(0)}.ds-card-base{box-shadow:none}.ds-card-elevated{box-shadow:var(--shadow-sm);border-color:transparent}.ds-card-elevated:hover{box-shadow:var(--shadow-md)}.ds-card-bordered{border:1px solid var(--color-border-secondary);box-shadow:none}.ds-card-decorated:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-400) 100%);border-radius:var(--radius-md) var(--radius-md) 0 0}.ds-card-full{width:100%}.ds-card-padding-none{padding:0}.ds-card-padding-sm{padding:var(--spacing-3)}.ds-card-padding-md{padding:var(--spacing-4)}.ds-card-padding-lg{padding:var(--spacing-6)}.ds-card-padding-xl{padding:var(--spacing-8)}.ds-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light)}.ds-card-header-compact{padding:var(--spacing-3)}.ds-card-title-wrapper{display:flex;flex-direction:column;gap:var(--spacing-1)}.ds-card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.ds-card-title-sm{font-size:var(--font-size-base)}.ds-card-title-lg{font-size:var(--font-size-xl)}.ds-card-subtitle{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.ds-card-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:var(--line-height-relaxed)}.ds-card-meta{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-muted)}.ds-card-body{flex:1;padding:var(--spacing-4)}.ds-card-body-compact{padding:var(--spacing-3)}.ds-card-body-relaxed{padding:var(--spacing-6)}.ds-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4);border-top:1px solid var(--color-border-light);background:var(--color-bg-secondary)}.ds-card-footer-compact{padding:var(--spacing-3)}.ds-card-footer-space-between{justify-content:space-between}.ds-card-actions{display:flex;align-items:center;gap:var(--spacing-2)}.ds-stats-card{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:var(--transition-base);position:relative;overflow:hidden}.ds-stats-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-primary-400) 100%);opacity:0;transition:var(--transition-fast)}.ds-stats-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.ds-stats-card:hover:before{opacity:1}.ds-stats-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);flex-shrink:0}.ds-stats-card-icon.primary{background:var(--color-primary-100);color:var(--color-primary)}.ds-stats-card-icon.success{background:var(--color-success-100);color:var(--color-success)}.ds-stats-card-icon.warning{background:var(--color-warning-100);color:var(--color-warning)}.ds-stats-card-icon.info{background:var(--color-info-100);color:var(--color-info)}.ds-stats-card-icon.danger,.ds-stats-card-icon.error{background:var(--color-danger-100);color:var(--color-danger)}.ds-stats-card-content{flex:1;min-width:0}.ds-stats-card-value{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.ds-stats-card-value-optimized{margin:0;font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-none)}.ds-stats-card-label{margin:var(--spacing-1) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ds-stats-card-trend{display:inline-flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.ds-stats-card-trend.ds-trend-up,.ds-trend-up{color:var(--color-success)}.ds-stats-card-trend.ds-trend-down,.ds-trend-down{color:var(--color-danger)}.ds-stats-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-4)}.ds-info-card{display:flex;flex-direction:column;padding:var(--spacing-4);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md)}.ds-info-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:var(--spacing-3);border-radius:var(--radius-base);background:var(--color-primary-light);color:var(--color-primary)}.ds-info-card-title{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ds-info-card-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.ds-feature-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-6);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-base)}.ds-feature-card:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translateY(-4px);box-shadow:var(--shadow-md)}.ds-feature-card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--spacing-4);border-radius:var(--radius-full);background:var(--color-primary-100);color:var(--color-primary);font-size:var(--font-size-2xl)}.ds-feature-card:hover .ds-feature-card-icon{background:var(--color-primary);color:var(--color-white)}.ds-feature-card-title{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ds-feature-card-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ds-product-card{display:flex;flex-direction:column;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:var(--transition-base)}.ds-product-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.ds-product-card-image{position:relative;width:100%;aspect-ratio:1;background:var(--color-bg-tertiary);overflow:hidden}.ds-product-card-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ds-product-card-badge{position:absolute;top:var(--spacing-2);right:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-white);background:var(--color-danger);border-radius:var(--radius-sm)}.ds-product-card-content{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3)}.ds-product-card-name{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-snug);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-product-card-price{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.ds-product-card-original-price{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:line-through}.ds-card-grid{display:grid;gap:var(--spacing-4)}.ds-card-grid-2{grid-template-columns:repeat(2,1fr)}.ds-card-grid-3{grid-template-columns:repeat(3,1fr)}.ds-card-grid-4{grid-template-columns:repeat(4,1fr)}.ds-card-grid-auto{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ds-card-grid-auto-sm{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.card{position:relative;display:flex;flex-direction:column;background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);overflow:hidden;transition:var(--transition-base)}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:1px solid var(--color-border-light)}.card-body{flex:1;padding:var(--spacing-4)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-3);padding:var(--spacing-4);border-top:1px solid var(--color-border-light)}.card-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.stats-card{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);transition:var(--transition-base)}.stats-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-sm)}.stats-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);flex-shrink:0}.stats-card-content{flex:1;min-width:0}.stats-card-value{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.stats-card-label{margin:var(--spacing-1) 0 0 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.stats-card-trend{display:inline-flex;align-items:center;gap:var(--spacing-1);margin-top:var(--spacing-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.stats-card-trend.trend-up{color:var(--color-success)}.stats-card-trend.trend-down{color:var(--color-danger)}.info-card,.data-card{display:flex;flex-direction:column;padding:var(--spacing-4);background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md)}@media (max-width: 1024px){.ds-stats-card{padding:var(--spacing-3);gap:var(--spacing-3)}.ds-stats-card-icon{width:48px;height:48px}.ds-stats-card-value{font-size:var(--font-size-xl)}.ds-stats-card-value-optimized{font-size:var(--font-size-2xl)}.ds-card-grid-4,.ds-card-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.ds-stats-container{grid-template-columns:repeat(2,1fr)}.ds-card-grid-4,.ds-card-grid-3,.ds-card-grid-2{grid-template-columns:1fr}.ds-feature-card{padding:var(--spacing-4)}.ds-feature-card-icon{width:48px;height:48px}}@media (max-width: 480px){.ds-stats-container{grid-template-columns:1fr}.ds-stats-card{flex-direction:column;text-align:center}.ds-stats-card-content{align-items:center}}.dark .ds-card,.dark .card{background:var(--color-gray-800);border-color:var(--color-gray-700)}.dark .ds-card-header,.dark .card-header{border-bottom-color:var(--color-gray-700)}.dark .ds-card-footer,.dark .card-footer{background:var(--color-gray-900);border-top-color:var(--color-gray-700)}.dark .ds-card-title,.dark .card-title{color:var(--color-gray-100)}.dark .ds-card-subtitle{color:var(--color-gray-400)}.dark .ds-stats-card,.dark .stats-card{background:var(--color-gray-800);border-color:var(--color-gray-700)}.dark .ds-stats-card:hover,.dark .stats-card:hover{border-color:var(--color-primary-600);background:var(--color-gray-750)}.dark .ds-stats-card-value,.dark .stats-card-value{color:var(--color-gray-100)}.dark .ds-stats-card-label,.dark .stats-card-label{color:var(--color-gray-400)}.dark .ds-product-card{background:var(--color-gray-800);border-color:var(--color-gray-700)}.dark .ds-product-card:hover{border-color:var(--color-primary-600)}.dark .ds-product-card-name{color:var(--color-gray-100)}@media (prefers-contrast: high){.ds-card,.card,.ds-stats-card,.stats-card{border-width:2px}}@media (prefers-reduced-motion: reduce){.ds-card,.card,.ds-stats-card,.stats-card,.ds-feature-card,.ds-product-card{transition:none}.ds-card-interactive:hover,.ds-feature-card:hover,.ds-product-card:hover{transform:none}}:root{--color-primary-50: #E8F4FD;--color-primary-100: #C5E3FA;--color-primary-200: #9DD0F7;--color-primary-300: #6BB8F2;--color-primary-400: #3FA0ED;--color-primary-500: #137fec;--color-primary-600: #106BC9;--color-primary-700: #0D57A6;--color-primary-800: #0A4383;--color-primary-900: #072F60;--color-primary: var(--color-primary-500);--color-primary-hover: var(--color-primary-600);--color-primary-active: var(--color-primary-700);--color-primary-light: var(--color-primary-50);--color-primary-dark: var(--color-primary-800);--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #6B7280;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-gray-950: #030712;--color-white: #FFFFFF;--color-black: #000000;--color-success-50: #ECFDF5;--color-success-100: #D1FAE5;--color-success-200: #A7F3D0;--color-success-300: #6EE7B7;--color-success-400: #34D399;--color-success-500: #10B981;--color-success-600: #059669;--color-success-700: #047857;--color-success-800: #065F46;--color-success-900: #064E3B;--color-success: var(--color-success-500);--color-success-light: var(--color-success-100);--color-success-dark: var(--color-success-700);--color-success-border: var(--color-success-200);--color-warning-50: #FFFBEB;--color-warning-100: #FEF3C7;--color-warning-200: #FDE68A;--color-warning-300: #FCD34D;--color-warning-400: #FBBF24;--color-warning-500: #F59E0B;--color-warning-600: #D97706;--color-warning-700: #B45309;--color-warning-800: #92400E;--color-warning-900: #78350F;--color-warning: var(--color-warning-500);--color-warning-light: var(--color-warning-100);--color-warning-dark: var(--color-warning-700);--color-warning-border: var(--color-warning-200);--color-danger-50: #FEF2F2;--color-danger-100: #FEE2E2;--color-danger-200: #FECACA;--color-danger-300: #FCA5A5;--color-danger-400: #F87171;--color-danger-500: #EF4444;--color-danger-600: #DC2626;--color-danger-700: #B91C1C;--color-danger-800: #991B1B;--color-danger-900: #7F1D1D;--color-danger: var(--color-danger-500);--color-danger-light: var(--color-danger-100);--color-danger-dark: var(--color-danger-700);--color-danger-border: var(--color-danger-200);--color-error: var(--color-danger);--color-error-light: var(--color-danger-light);--color-info-50: #E8F4FD;--color-info-100: #C5E3FA;--color-info-200: #9DD0F7;--color-info-300: #6BB8F2;--color-info-400: #3FA0ED;--color-info-500: #137fec;--color-info-600: #106BC9;--color-info-700: #0D57A6;--color-info-800: #0A4383;--color-info-900: #072F60;--color-info: var(--color-info-500);--color-info-light: var(--color-info-100);--color-info-dark: var(--color-info-700);--color-info-border: var(--color-info-200);--color-module-dashboard: #137fec;--color-module-sales: #F97316;--color-module-products: #22C55E;--color-module-members: #EC4899;--color-module-analytics: #14B8A6;--color-module-marketing: #8B5CF6;--color-module-finance: #EAB308;--color-module-system: #6B7280;--color-module-inventory: #06B6D4;--color-module-reports: #A855F7;--color-bg-primary: var(--color-white);--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-bg-hover: var(--color-gray-100);--color-bg-active: var(--color-primary-50);--color-bg-disabled: var(--color-gray-100);--color-bg-overlay: rgba(0, 0, 0, .5);--color-bg-overlay-light: rgba(0, 0, 0, .25);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-muted: var(--color-gray-400);--color-text-disabled: var(--color-gray-400);--color-text-inverse: var(--color-white);--color-text-link: var(--color-primary-500);--color-text-link-hover: var(--color-primary-600);--color-border-primary: var(--color-gray-200);--color-border-secondary: var(--color-gray-300);--color-border-light: var(--color-gray-100);--color-border-focus: var(--color-primary-500);--color-border-error: var(--color-danger-500);--color-border-success: var(--color-success-500);--font-family-display: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", "PingFang TC", sans-serif;--font-family-sans: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", "Monaco", "Consolas", "Liberation Mono", "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;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-base: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--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-2xl: 0 35px 60px -15px rgba(0, 0, 0, .3);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-none: none;--shadow-primary: 0 4px 14px 0 rgba(19, 127, 236, .4);--shadow-success: 0 4px 14px 0 rgba(16, 185, 129, .4);--shadow-warning: 0 4px 14px 0 rgba(245, 158, 11, .4);--shadow-danger: 0 4px 14px 0 rgba(239, 68, 68, .4);--gradient-header: linear-gradient(135deg, #1e40af 0%, #3b82f6 50%, #60a5fa 100%);--gradient-header-hover: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%);--gradient-primary: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);--gradient-success: linear-gradient(135deg, #047857 0%, #10b981 50%, #34d399 100%);--gradient-danger: linear-gradient(135deg, #b91c1c 0%, #ef4444 100%);--gradient-warning: linear-gradient(135deg, #b45309 0%, #f59e0b 100%);--gradient-decoration: linear-gradient(90deg, #3b82f6 0%, #60a5fa 100%);--ds-gradient-header: var(--gradient-header);--ds-gradient-decoration: var(--gradient-decoration);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--duration-fast: var(--duration-150);--duration-base: var(--duration-200);--duration-slow: var(--duration-300);--duration-slower: var(--duration-500);--ease-linear: linear;--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(.175, .885, .32, 1.275);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-base: all var(--duration-base) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-in-out);--transition-colors: color var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);--transition-transform: transform var(--duration-base) var(--ease-out);--transition-shadow: box-shadow var(--duration-base) var(--ease-out);--transition-opacity: opacity var(--duration-base) var(--ease-out);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-notification: 800;--z-max: 9999;--btn-height-xs: 28px;--btn-height-sm: 36px;--btn-height-base: 44px;--btn-height-lg: 52px;--btn-height-xl: 60px;--btn-padding-x-xs: var(--spacing-2);--btn-padding-x-sm: var(--spacing-3);--btn-padding-x-base: var(--spacing-6);--btn-padding-x-lg: var(--spacing-8);--input-height-sm: 36px;--input-height-base: 44px;--input-height-lg: 52px;--input-padding-x: var(--spacing-4);--input-padding-y: var(--spacing-3);--icon-btn-xs: 28px;--icon-btn-sm: 36px;--icon-btn-base: 44px;--icon-btn-lg: 52px;--avatar-xs: 24px;--avatar-sm: 32px;--avatar-base: 40px;--avatar-lg: 48px;--avatar-xl: 64px;--avatar-2xl: 96px;--touch-target-min: 44px;--container-xs: 480px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--sidebar-width: 240px;--sidebar-width-collapsed: 60px;--sidebar-width-mobile: 280px;--navbar-height: 64px;--navbar-height-mobile: 56px;--grid-gap-sm: var(--spacing-3);--grid-gap-base: var(--spacing-4);--grid-gap-lg: var(--spacing-6);--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--focus-ring-width: 3px;--focus-ring-color: rgba(19, 127, 236, .3);--focus-ring-offset: 2px;--focus-ring: 0 0 0 var(--focus-ring-width) var(--focus-ring-color);--primary-color: var(--color-primary);--primary-light: var(--color-primary-400);--primary-dark: var(--color-primary-700);--primary-alpha-10: rgba(19, 127, 236, .1);--primary-alpha-20: rgba(19, 127, 236, .2);--primary-alpha-30: rgba(19, 127, 236, .3);--success-color: var(--color-success);--warning-color: var(--color-warning);--danger-color: var(--color-danger);--info-color: var(--color-info);--error-color: var(--color-error);--gray-900: var(--color-gray-900);--gray-800: var(--color-gray-800);--gray-700: var(--color-gray-700);--gray-600: var(--color-gray-600);--gray-500: var(--color-gray-500);--gray-400: var(--color-gray-400);--gray-300: var(--color-gray-300);--gray-200: var(--color-gray-200);--gray-100: var(--color-gray-100);--white: var(--color-white);--black: var(--color-black);--bg-primary: var(--color-bg-primary);--bg-secondary: var(--color-bg-secondary);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--border-color: var(--color-border-primary);--shadow-sm: var(--shadow-sm);--shadow-md: var(--shadow-base);--shadow-lg: var(--shadow-md);--shadow-xl: var(--shadow-lg);--radius-sm: var(--radius-sm);--radius-md: var(--radius-base);--radius-lg: var(--radius-md);--radius-xl: var(--radius-lg);--radius-full: var(--radius-full);--font-xs: var(--font-size-xs);--font-sm: var(--font-size-sm);--font-base: var(--font-size-base);--font-lg: var(--font-size-lg);--font-xl: var(--font-size-xl);--font-2xl: var(--font-size-2xl);--font-3xl: var(--font-size-3xl);--font-normal: var(--font-weight-normal);--font-medium: var(--font-weight-medium);--font-semibold: var(--font-weight-semibold);--font-bold: var(--font-weight-bold);--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-4);--spacing-lg: var(--spacing-6);--spacing-xl: var(--spacing-8);--spacing-2xl: var(--spacing-12);--spacing-3xl: var(--spacing-16);--z-dropdown: var(--z-dropdown);--z-sticky: var(--z-sticky);--z-fixed: var(--z-fixed);--z-modal-backdrop: var(--z-modal-backdrop);--z-modal: var(--z-modal);--z-popover: var(--z-popover);--z-tooltip: var(--z-tooltip);--z-notification: var(--z-notification);--transition-fast: var(--transition-fast);--transition-base: var(--transition-base);--transition-slow: var(--transition-slow);--ds-primary-50: var(--color-primary-50);--ds-primary-100: var(--color-primary-100);--ds-primary-200: var(--color-primary-200);--ds-primary-300: var(--color-primary-300);--ds-primary-400: var(--color-primary-400);--ds-primary-500: var(--color-primary-500);--ds-primary-600: var(--color-primary-600);--ds-primary-700: var(--color-primary-700);--ds-primary-800: var(--color-primary-800);--ds-primary-900: var(--color-primary-900);--ds-gray-50: var(--color-gray-50);--ds-gray-100: var(--color-gray-100);--ds-gray-200: var(--color-gray-200);--ds-gray-300: var(--color-gray-300);--ds-gray-400: var(--color-gray-400);--ds-gray-500: var(--color-gray-500);--ds-gray-600: var(--color-gray-600);--ds-gray-700: var(--color-gray-700);--ds-gray-800: var(--color-gray-800);--ds-gray-900: var(--color-gray-900);--ds-success: var(--color-success);--ds-success-light: var(--color-success-light);--ds-warning: var(--color-warning);--ds-warning-light: var(--color-warning-light);--ds-error: var(--color-error);--ds-error-light: var(--color-error-light);--ds-info: var(--color-info);--ds-info-light: var(--color-info-light);--ds-space-1: var(--spacing-1);--ds-space-2: var(--spacing-2);--ds-space-4: var(--spacing-4);--ds-space-6: var(--spacing-6);--ds-space-8: var(--spacing-8);--ds-space-12: var(--spacing-12);--ds-radius-sm: var(--radius-sm);--ds-radius-md: var(--radius-base);--ds-radius-lg: var(--radius-md);--ds-radius-xl: var(--radius-lg);--ds-radius-2xl: var(--radius-xl);--ds-radius-full: var(--radius-full);--ds-shadow-sm: var(--shadow-xs);--ds-shadow-md: var(--shadow-base);--ds-shadow-lg: var(--shadow-md);--ds-shadow-xl: var(--shadow-lg);--ds-shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--ds-font-sans: var(--font-family-base);--ds-font-mono: var(--font-family-mono);--pos-sidebar-bg: #1E293B;--pos-sidebar-bg-hover: #334155;--pos-sidebar-active: #3B82F6;--pos-sidebar-active-bg: rgba(59, 130, 246, .15);--pos-sidebar-text: #F8FAFC;--pos-sidebar-text-muted: #94A3B8;--pos-sidebar-border: #334155;--pos-sidebar-divider: #475569;--pos-products-bg: #F8FAFC;--pos-products-card-bg: #FFFFFF;--pos-products-border: #E2E8F0;--pos-cart-bg: #DBEAFE;--pos-cart-header-bg: #BFDBFE;--pos-cart-border: #60A5FA;--pos-cart-accent: #1D4ED8;--pos-cart-shadow: 0 0 0 1px rgba(59, 130, 246, .1), -4px 0 8px -2px rgba(59, 130, 246, .08);--pos-checkout-bg: #F0FDF4;--pos-checkout-border: #BBF7D0;--pos-checkout-accent: #16A34A;--pos-checkout-btn: #059669;--pos-checkout-btn-hover: #047857;--pos-checkout-btn-active: #065F46;--pos-stock-adequate: #22C55E;--pos-stock-low: #F59E0B;--pos-stock-out: #EF4444}@media (prefers-color-scheme: dark){:root{--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-hover: var(--color-gray-700);--color-bg-active: rgba(19, 127, 236, .2);--color-text-primary: var(--color-gray-50);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-400);--color-text-muted: var(--color-gray-500);--color-border-primary: var(--color-gray-700);--color-border-secondary: var(--color-gray-600);--color-border-light: var(--color-gray-800);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-base: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .5)}}.dark{--color-bg-primary: var(--color-gray-900);--color-bg-secondary: var(--color-gray-800);--color-bg-tertiary: var(--color-gray-700);--color-bg-hover: var(--color-gray-700);--color-bg-active: rgba(19, 127, 236, .2);--color-text-primary: var(--color-gray-50);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-400);--color-text-muted: var(--color-gray-500);--color-border-primary: var(--color-gray-700);--color-border-secondary: var(--color-gray-600);--color-border-light: var(--color-gray-800)}@media (prefers-contrast: high){:root{--color-border-primary: var(--color-black);--color-text-secondary: var(--color-black);--color-bg-hover: var(--color-gray-200);--focus-ring-width: 4px;--focus-ring-color: var(--color-black)}}@media (prefers-reduced-motion: reduce){:root{--duration-75: 0ms;--duration-100: 0ms;--duration-150: 0ms;--duration-200: 0ms;--duration-300: 0ms;--duration-500: 0ms;--duration-700: 0ms;--duration-1000: 0ms;--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{:root{--color-bg-primary: white;--color-text-primary: black;--shadow-xs: none;--shadow-sm: none;--shadow-base: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none}}.ds-form-group{display:flex;flex-direction:column;gap:var(--spacing-1-5);margin-bottom:16px}.ds-form-group:last-child{margin-bottom:0}.ds-form-group-horizontal{flex-direction:row;align-items:center;gap:var(--spacing-3)}.ds-form-group-inline{display:inline-flex;align-items:center;gap:var(--spacing-2)}.ds-form-row{display:grid;gap:var(--spacing-4)}.ds-form-row-2{grid-template-columns:repeat(2,1fr)}.ds-form-row-3{grid-template-columns:repeat(3,1fr)}.ds-form-row-4{grid-template-columns:repeat(4,1fr)}.ds-form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-normal)}.ds-form-label-required:after{content:" *";color:var(--color-danger)}.ds-form-label-optional:after{content:" (選填)";font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--color-text-muted)}.ds-form-label-inline{display:inline-flex;align-items:center;margin-bottom:0}.ds-input{display:block;width:100%;height:var(--input-height-base);padding:0 var(--input-padding-x);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-base);outline:none;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ds-input::-moz-placeholder{color:var(--color-text-muted)}.ds-input::placeholder{color:var(--color-text-muted)}.ds-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.ds-input:hover:not(:focus):not(:disabled){border-color:var(--color-border-secondary)}.ds-input:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.7}.ds-input:-moz-read-only{background-color:var(--color-bg-secondary);cursor:default}.ds-input:read-only{background-color:var(--color-bg-secondary);cursor:default}.ds-input-sm{height:var(--input-height-sm);padding:0 var(--spacing-3);font-size:var(--font-size-sm)}.ds-input-md{height:var(--input-height-base)}.ds-input-lg{height:var(--input-height-lg);padding:0 var(--spacing-5);font-size:var(--font-size-base)}.ds-input-error,.ds-input.error{border-color:var(--color-danger);background-color:var(--color-danger-50)}.ds-input-error:focus,.ds-input.error:focus{border-color:var(--color-danger);box-shadow:0 0 0 3px #ef444433}.ds-input-success,.ds-input.success{border-color:var(--color-success);background-color:var(--color-success-50)}.ds-input-success:focus,.ds-input.success:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #10b98133}.ds-input-warning,.ds-input.warning{border-color:var(--color-warning);background-color:var(--color-warning-50)}.ds-select{display:block;width:100%;height:var(--input-height-base);padding:0 var(--spacing-10) 0 var(--input-padding-x);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center;background-size:16px;border:1px solid var(--color-border-primary);border-radius:var(--radius-base);outline:none;cursor:pointer;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ds-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.ds-select:hover:not(:focus):not(:disabled){border-color:var(--color-border-secondary)}.ds-select:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-disabled);cursor:not-allowed;opacity:.7}.ds-select option{padding:var(--spacing-2);background:var(--color-bg-primary);color:var(--color-text-primary)}.ds-select option:checked{background:var(--color-primary-light)}.ds-select-sm{height:var(--input-height-sm);padding-left:var(--spacing-3);font-size:var(--font-size-sm)}.ds-select-lg{height:var(--input-height-lg);padding-left:var(--spacing-5);font-size:var(--font-size-base)}.ds-textarea{display:block;width:100%;min-height:100px;padding:var(--spacing-3) var(--input-padding-x);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-base);outline:none;resize:vertical;transition:var(--transition-fast)}.ds-textarea::-moz-placeholder{color:var(--color-text-muted)}.ds-textarea::placeholder{color:var(--color-text-muted)}.ds-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.ds-textarea:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-disabled);cursor:not-allowed;resize:none}.ds-textarea-sm{min-height:60px;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm)}.ds-textarea-lg{min-height:150px;padding:var(--spacing-4) var(--spacing-5);font-size:var(--font-size-base)}.ds-checkbox-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.ds-checkbox{width:20px;height:20px;margin:0;padding:0;border:2px solid var(--color-border-secondary);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);cursor:pointer;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ds-checkbox:checked{background-color:var(--color-primary);border-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.ds-checkbox:focus{outline:none;box-shadow:0 0 0 3px var(--focus-ring-color)}.ds-checkbox:disabled{background-color:var(--color-bg-disabled);border-color:var(--color-border-primary);cursor:not-allowed}.ds-checkbox:disabled:checked{background-color:var(--color-gray-400)}.ds-checkbox-label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ds-radio-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.ds-radio{width:20px;height:20px;margin:0;padding:0;border:2px solid var(--color-border-secondary);border-radius:var(--radius-full);background-color:var(--color-bg-primary);cursor:pointer;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ds-radio:checked{border-color:var(--color-primary);background-color:var(--color-bg-primary)}.ds-radio:checked:before{content:"";display:block;width:10px;height:10px;margin:3px;border-radius:var(--radius-full);background-color:var(--color-primary)}.ds-radio:focus{outline:none;box-shadow:0 0 0 3px var(--focus-ring-color)}.ds-radio:disabled{background-color:var(--color-bg-disabled);border-color:var(--color-border-primary);cursor:not-allowed}.ds-radio-label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ds-radio-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.ds-radio-group-horizontal{flex-direction:row;gap:var(--spacing-4)}.ds-switch-wrapper{display:inline-flex;align-items:center;gap:var(--spacing-3);cursor:pointer}.ds-switch{position:relative;width:44px;height:24px;background-color:var(--color-gray-300);border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.ds-switch:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background-color:var(--color-white);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:var(--transition-fast)}.ds-switch:checked{background-color:var(--color-primary)}.ds-switch:checked:before{transform:translate(20px)}.ds-switch:focus{outline:none;box-shadow:0 0 0 3px var(--focus-ring-color)}.ds-switch:disabled{background-color:var(--color-gray-200);cursor:not-allowed}.ds-switch:disabled:before{background-color:var(--color-gray-100)}.ds-switch-label{font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ds-input-wrapper{position:relative;display:flex;align-items:center}.ds-input-icon-left{position:absolute;left:var(--spacing-3);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);pointer-events:none}.ds-input-icon-right{position:absolute;right:var(--spacing-3);display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.ds-input-wrapper .ds-input-with-icon-left{padding-left:var(--spacing-10)}.ds-input-wrapper .ds-input-with-icon-right{padding-right:var(--spacing-10)}.ds-input-icon-right.clickable{cursor:pointer;pointer-events:auto}.ds-input-icon-right.clickable:hover{color:var(--color-text-secondary)}.ds-search-input{padding-left:var(--spacing-10);padding-right:var(--spacing-10);border-radius:var(--radius-full)}.ds-search-wrapper{position:relative}.ds-search-wrapper .ds-search-icon{position:absolute;left:var(--spacing-3);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.ds-search-wrapper .ds-search-clear{position:absolute;right:var(--spacing-3);top:50%;transform:translateY(-50%);padding:var(--spacing-1);color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;opacity:0;transition:var(--transition-fast)}.ds-search-wrapper:hover .ds-search-clear,.ds-search-wrapper .ds-input:focus+.ds-search-clear{opacity:1}.ds-search-wrapper .ds-search-clear:hover{color:var(--color-text-secondary);background:var(--color-bg-hover)}.ds-input-number{text-align:right;font-variant-numeric:tabular-nums}.ds-input-number::-webkit-inner-spin-button,.ds-input-number::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ds-input-number[type=number]{-moz-appearance:textfield}.ds-number-input-wrapper{display:flex;align-items:stretch}.ds-number-input-wrapper .ds-input-number{border-radius:0;text-align:center}.ds-number-btn{display:flex;align-items:center;justify-content:center;width:var(--btn-height-base);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast)}.ds-number-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.ds-number-btn:first-child{border-radius:var(--radius-base) 0 0 var(--radius-base);border-right:none}.ds-number-btn:last-child{border-radius:0 var(--radius-base) var(--radius-base) 0;border-left:none}.ds-input-date{position:relative}.ds-input-date::-webkit-calendar-picker-indicator{position:absolute;right:var(--spacing-3);cursor:pointer;opacity:.6}.ds-input-date::-webkit-calendar-picker-indicator:hover{opacity:1}.ds-form-helper{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-1)}.ds-form-error{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--spacing-1)}.ds-form-error-icon{flex-shrink:0}.ds-form-success{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-success);margin-top:var(--spacing-1)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-1-5)}.form-label,label.form-label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input,.form-control,.text-input,input.form-input,input.form-control{display:block;width:100%;height:var(--input-height-base);padding:0 var(--input-padding-x);font-family:var(--font-family-sans);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-base);outline:none;transition:var(--transition-fast)}.form-input:focus,.form-control:focus,.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.form-input::-moz-placeholder,.form-control::-moz-placeholder{color:var(--color-text-muted)}.form-input::placeholder,.form-control::placeholder{color:var(--color-text-muted)}.form-input:disabled,.form-control:disabled{background-color:var(--color-bg-disabled);cursor:not-allowed}.form-select,select.form-select{display:block;width:100%;height:var(--input-height-base);padding:0 var(--spacing-10) 0 var(--input-padding-x);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-3) center;border:1px solid var(--color-border-primary);border-radius:var(--radius-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.form-textarea,textarea.form-textarea{display:block;width:100%;min-height:100px;padding:var(--spacing-3) var(--input-padding-x);font-size:var(--font-size-sm);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--radius-base);resize:vertical}.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--focus-ring-color)}.search-input{padding-left:var(--spacing-10);border-radius:var(--radius-full)}.form-error,.error-message{font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--spacing-1)}.form-helper,.helper-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--spacing-1)}@media (max-width: 768px){.ds-form-row-2,.ds-form-row-3,.ds-form-row-4{grid-template-columns:1fr}.ds-input,.ds-select,.form-input,.form-control,.form-select{height:var(--input-height-lg);font-size:var(--font-size-base)}.ds-radio-group-horizontal{flex-direction:column;gap:var(--spacing-2)}}.dark .ds-form-label,.dark .form-label{color:var(--color-gray-200)}.dark .ds-input,.dark .ds-select,.dark .ds-textarea,.dark .form-input,.dark .form-control,.dark .form-select,.dark .form-textarea{background-color:var(--color-gray-800);border-color:var(--color-gray-600);color:var(--color-gray-100)}.dark .ds-input::-moz-placeholder,.dark .ds-textarea::-moz-placeholder,.dark .form-input::-moz-placeholder,.dark .form-control::-moz-placeholder{color:var(--color-gray-500)}.dark .ds-input::placeholder,.dark .ds-textarea::placeholder,.dark .form-input::placeholder,.dark .form-control::placeholder{color:var(--color-gray-500)}.dark .ds-input:focus,.dark .ds-select:focus,.dark .ds-textarea:focus,.dark .form-input:focus,.dark .form-control:focus,.dark .form-select:focus{border-color:var(--color-primary-400);box-shadow:0 0 0 3px #3b82f64d}.dark .ds-input:disabled,.dark .ds-select:disabled,.dark .form-input:disabled,.dark .form-control:disabled{background-color:var(--color-gray-900);border-color:var(--color-gray-700)}.dark .ds-select option{background-color:var(--color-gray-800);color:var(--color-gray-100)}.dark .ds-checkbox,.dark .ds-radio{background-color:var(--color-gray-800);border-color:var(--color-gray-600)}.dark .ds-switch{background-color:var(--color-gray-600)}.dark .ds-form-helper,.dark .form-helper,.dark .helper-text{color:var(--color-gray-400)}@media (prefers-contrast: high){.ds-input,.ds-select,.ds-textarea,.form-input,.form-control,.form-select{border-width:2px}.ds-input:focus,.ds-select:focus,.ds-textarea:focus{outline:3px solid var(--color-primary);outline-offset:2px}.ds-checkbox,.ds-radio{border-width:3px}}@media (prefers-reduced-motion: reduce){.ds-input,.ds-select,.ds-textarea,.ds-checkbox,.ds-radio,.ds-switch,.ds-switch:before,.form-input,.form-control,.form-select{transition:none}}:root{--table-bg: var(--color-bg-primary, #ffffff);--table-bg-header: var(--color-bg-secondary, #f8fafc);--table-bg-hover: var(--color-bg-tertiary, #f1f5f9);--table-bg-selected: var(--color-primary-50, #eff6ff);--table-bg-striped: var(--color-bg-subtle, #f9fafb);--table-border: var(--color-border-primary, #e5e7eb);--table-border-light: var(--color-border-secondary, #f3f4f6);--table-text-header: var(--color-text-secondary, #6b7280);--table-text-primary: var(--color-text-primary, #1f2937);--table-text-secondary: var(--color-text-secondary, #6b7280);--table-text-muted: var(--color-text-muted, #9ca3af);--table-padding-x: var(--spacing-4, 16px);--table-padding-y: var(--spacing-3, 12px);--table-padding-x-compact: var(--spacing-3, 12px);--table-padding-y-compact: var(--spacing-2, 8px);--table-padding-x-comfortable: var(--spacing-6, 24px);--table-padding-y-comfortable: var(--spacing-4, 16px);--table-radius: var(--radius-lg, 8px);--table-radius-lg: var(--radius-xl, 12px);--table-shadow: var(--shadow-sm, 0 1px 2px rgba(0, 0, 0, .05));--table-shadow-hover: var(--shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}.ds-table-container{background:var(--table-bg);border-radius:var(--table-radius-lg);box-shadow:var(--table-shadow);border:1px solid var(--table-border);overflow:hidden}.ds-table-container-scrollable{overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-table-container-scrollable::-webkit-scrollbar{height:8px}.ds-table-container-scrollable::-webkit-scrollbar-track{background:var(--table-bg-header);border-radius:4px}.ds-table-container-scrollable::-webkit-scrollbar-thumb{background:var(--table-text-muted);border-radius:4px}.ds-table-container-scrollable::-webkit-scrollbar-thumb:hover{background:var(--table-text-secondary)}.ds-table-container-borderless{border:none;box-shadow:none}.ds-table{width:100%;border-collapse:collapse;border-spacing:0;font-size:var(--font-size-sm, .875rem);line-height:1.5}.ds-table-sm{font-size:var(--font-size-xs, .75rem)}.ds-table-sm th,.ds-table-sm td{padding:var(--table-padding-y-compact) var(--table-padding-x-compact)!important}.ds-table-lg{font-size:var(--font-size-base, 1rem)}.ds-table-lg th,.ds-table-lg td{padding:var(--table-padding-y-comfortable) var(--table-padding-x-comfortable)!important}.ds-table thead{background:var(--table-bg-header)}.ds-table th{padding:var(--table-padding-y) var(--table-padding-x);text-align:left;font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--table-text-header);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--table-border);white-space:nowrap;vertical-align:middle}.ds-table th.text-right,.ds-table th[data-align=right]{text-align:right}.ds-table th.text-center,.ds-table th[data-align=center]{text-align:center}.ds-table th.w-auto{width:auto}.ds-table th.w-12{width:48px}.ds-table th.w-16{width:64px}.ds-table th.w-20{width:80px}.ds-table th.w-24{width:96px}.ds-table th.w-32{width:128px}.ds-table th.w-40{width:160px}.ds-table th.w-48{width:192px}.ds-table tbody tr{transition:background-color .15s ease}.ds-table tbody tr:hover{background:var(--table-bg-hover)}.ds-table-striped tbody tr:nth-child(odd){background:var(--table-bg)}.ds-table-striped tbody tr:nth-child(2n){background:var(--table-bg-striped)}.ds-table-striped tbody tr:hover{background:var(--table-bg-hover)}.ds-table td{padding:var(--table-padding-y) var(--table-padding-x);color:var(--table-text-secondary);border-bottom:1px solid var(--table-border-light);vertical-align:middle}.ds-table td.primary,.ds-table td[data-type=primary]{color:var(--table-text-primary);font-weight:500}.ds-table td.number,.ds-table td[data-type=number]{font-family:var(--font-mono, "JetBrains Mono", monospace);text-align:right;font-variant-numeric:tabular-nums}.ds-table td.currency,.ds-table td[data-type=currency]{font-family:var(--font-mono, "JetBrains Mono", monospace);text-align:right;font-weight:500;color:var(--table-text-primary)}.ds-table td.mono,.ds-table td[data-type=code]{font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:var(--font-size-xs, .75rem);color:var(--color-primary, #3b82f6)}.ds-table td.success{color:var(--color-success, #10b981)}.ds-table td.warning{color:var(--color-warning, #f59e0b)}.ds-table td.danger{color:var(--color-danger, #ef4444)}.ds-table td.info{color:var(--color-info, #3b82f6)}.ds-table tbody tr:last-child td{border-bottom:none}.ds-table th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;position:relative;padding-right:calc(var(--table-padding-x) + 20px)}.ds-table th.sortable:hover{color:var(--color-primary, #3b82f6)}.ds-table th.sortable:after{content:"";position:absolute;right:var(--table-padding-x);top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.3;transition:opacity .15s ease,transform .15s ease}.ds-table th.sortable:hover:after{opacity:.6}.ds-table th.sortable.sorted-asc,.ds-table th.sortable.sorted-desc{color:var(--color-primary, #3b82f6)}.ds-table th.sortable.sorted-asc:after,.ds-table th.sortable.sorted-desc:after{opacity:1}.ds-table th.sortable.sorted-asc:after{transform:translateY(-50%) rotate(180deg)}.ds-table-sort-icon{display:inline-flex;margin-left:4px;opacity:.4;transition:opacity .15s ease}.ds-table th.sortable:hover .ds-table-sort-icon,.ds-table th.sorted .ds-table-sort-icon{opacity:1}.ds-table-selectable tbody tr{cursor:pointer}.ds-table-selectable tbody tr.selected{background:var(--table-bg-selected)!important}.ds-table-selectable tbody tr.selected td{color:var(--color-primary, #3b82f6)}.ds-table th.checkbox-cell,.ds-table td.checkbox-cell{width:48px;text-align:center;padding-left:var(--table-padding-x);padding-right:8px}.ds-table-checkbox{width:18px;height:18px;accent-color:var(--color-primary, #3b82f6);cursor:pointer}.ds-table-expandable tbody tr.expandable{cursor:pointer}.ds-table-expandable tbody tr.expandable td:first-child{position:relative;padding-left:calc(var(--table-padding-x) + 24px)}.ds-table-expand-icon{position:absolute;left:var(--table-padding-x);top:50%;transform:translateY(-50%);width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--table-text-muted);transition:transform .2s ease,color .15s ease}.ds-table-expandable tbody tr.expandable:hover .ds-table-expand-icon{color:var(--color-primary, #3b82f6)}.ds-table-expandable tbody tr.expanded .ds-table-expand-icon{transform:translateY(-50%) rotate(90deg);color:var(--color-primary, #3b82f6)}.ds-table-expand-content{background:var(--table-bg-striped);padding:var(--table-padding-y) var(--table-padding-x);border-bottom:1px solid var(--table-border-light)}.ds-table-expand-content td{padding:var(--table-padding-y) var(--table-padding-x);background:var(--table-bg-striped)}.ds-table-sticky-header thead{position:sticky;top:0;z-index:10;background:var(--table-bg-header)}.ds-table-sticky-header thead:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--table-border)}.ds-table th.sticky-left,.ds-table td.sticky-left{position:sticky;left:0;z-index:5;background:inherit}.ds-table th.sticky-left:after,.ds-table td.sticky-left:after{content:"";position:absolute;top:0;right:0;bottom:0;width:4px;background:linear-gradient(to right,rgba(0,0,0,.05),transparent)}.ds-table th.sticky-right,.ds-table td.sticky-right{position:sticky;right:0;z-index:5;background:inherit}.ds-table th.sticky-right:before,.ds-table td.sticky-right:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(to left,rgba(0,0,0,.05),transparent)}.ds-table-borderless td,.ds-table-borderless th{border:none}.ds-table-bordered th,.ds-table-bordered td{border:1px solid var(--table-border)}.ds-table-hoverable tbody tr:hover{box-shadow:var(--table-shadow-hover);position:relative;z-index:1}.ds-table-clickable tbody tr{cursor:pointer}.ds-table-clickable tbody tr:active{background:var(--table-bg-selected)}.ds-table-compact th,.ds-table-compact td{padding:var(--table-padding-y-compact) var(--table-padding-x-compact)}.ds-table-comfortable th,.ds-table-comfortable td{padding:var(--table-padding-y-comfortable) var(--table-padding-x-comfortable)}.ds-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--table-padding-y) var(--table-padding-x);background:var(--table-bg-header);border-top:1px solid var(--table-border)}.ds-table-pagination-info{font-size:var(--font-size-sm, .875rem);color:var(--table-text-secondary)}.ds-table-pagination-info strong{color:var(--table-text-primary);font-weight:600}.ds-table-pagination-controls{display:flex;align-items:center;gap:8px}.ds-table-pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;background:var(--table-bg);border:1px solid var(--table-border);border-radius:var(--table-radius);color:var(--table-text-secondary);font-size:var(--font-size-sm, .875rem);cursor:pointer;transition:all .15s ease}.ds-table-pagination-btn:hover:not(:disabled){background:var(--table-bg-hover);border-color:var(--color-primary, #3b82f6);color:var(--color-primary, #3b82f6)}.ds-table-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.ds-table-pagination-btn.active{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6);color:#fff}.ds-table-pagination-select{height:36px;padding:0 28px 0 12px;background:var(--table-bg);border:1px solid var(--table-border);border-radius:var(--table-radius);color:var(--table-text-primary);font-size:var(--font-size-sm, .875rem);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236B7280' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.ds-table-loading{position:relative}.ds-table-loading:after{content:"";position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:20}.ds-table-loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:20}.ds-table-spinner{width:32px;height:32px;border:3px solid var(--table-border);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:ds-table-spin .8s linear infinite}@keyframes ds-table-spin{to{transform:rotate(360deg)}}.ds-table-loading-text{font-size:var(--font-size-sm, .875rem);color:var(--table-text-secondary)}.ds-table-skeleton{animation:ds-table-pulse 1.5s ease-in-out infinite}.ds-table-skeleton-row{display:flex;gap:var(--table-padding-x);padding:var(--table-padding-y) var(--table-padding-x);border-bottom:1px solid var(--table-border-light)}.ds-table-skeleton-cell{height:16px;background:var(--table-bg-striped);border-radius:4px;flex:1}.ds-table-skeleton-cell.w-20{flex:0 0 20%}.ds-table-skeleton-cell.w-30{flex:0 0 30%}.ds-table-skeleton-cell.w-40{flex:0 0 40%}.ds-table-skeleton-cell.w-50{flex:0 0 50%}@keyframes ds-table-pulse{0%,to{opacity:1}50%{opacity:.5}}.ds-table-empty{padding:48px 24px;text-align:center}.ds-table-empty-icon{width:64px;height:64px;margin:0 auto 16px;color:var(--table-text-muted);opacity:.5}.ds-table-empty-title{font-size:var(--font-size-lg, 1.125rem);font-weight:600;color:var(--table-text-primary);margin-bottom:8px}.ds-table-empty-description{font-size:var(--font-size-sm, .875rem);color:var(--table-text-secondary);max-width:320px;margin:0 auto}.ds-table-empty-action{margin-top:24px}@media (max-width: 768px){.ds-table-responsive thead{display:none}.ds-table-responsive tbody tr{display:block;margin-bottom:16px;background:var(--table-bg);border:1px solid var(--table-border);border-radius:var(--table-radius);padding:12px}.ds-table-responsive tbody td{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--table-border-light)}.ds-table-responsive tbody td:last-child{border-bottom:none}.ds-table-responsive tbody td:before{content:attr(data-label);font-weight:600;color:var(--table-text-header);font-size:var(--font-size-xs, .75rem);text-transform:uppercase;letter-spacing:.05em}.ds-table-responsive tbody td.actions{justify-content:flex-end;padding-top:12px}.ds-table-responsive tbody td.actions:before{display:none}.ds-table-pagination{flex-direction:column;gap:12px;text-align:center}.ds-table-pagination-info{order:2}.ds-table-pagination-controls{order:1;flex-wrap:wrap;justify-content:center}}.ds-table-scroll-hint{position:relative}.ds-table-scroll-hint:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,transparent,rgba(0,0,0,.05));pointer-events:none;opacity:0;transition:opacity .3s ease}.ds-table-scroll-hint.has-scroll:after{opacity:1}.dark .ds-table-container,[data-theme=dark] .ds-table-container{background:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}.dark .ds-table thead,[data-theme=dark] .ds-table thead{background:var(--color-bg-secondary-dark, #111827)}.dark .ds-table th,[data-theme=dark] .ds-table th{color:var(--color-text-secondary-dark, #9ca3af);border-color:var(--color-border-dark, #374151)}.dark .ds-table td,[data-theme=dark] .ds-table td{color:var(--color-text-primary-dark, #f9fafb);border-color:var(--color-border-dark, #374151)}.dark .ds-table tbody tr:hover,[data-theme=dark] .ds-table tbody tr:hover{background:var(--color-bg-hover-dark, #374151)}.dark .ds-table-striped tbody tr:nth-child(2n),[data-theme=dark] .ds-table-striped tbody tr:nth-child(2n){background:#ffffff05}.dark .ds-table-pagination,[data-theme=dark] .ds-table-pagination{background:var(--color-bg-secondary-dark, #111827);border-color:var(--color-border-dark, #374151)}.dark .ds-table-pagination-btn,[data-theme=dark] .ds-table-pagination-btn{background:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #374151);color:var(--color-text-primary-dark, #f9fafb)}.dark .ds-table-loading-overlay,[data-theme=dark] .ds-table-loading-overlay{background:#111827cc}@media (prefers-color-scheme: dark){.ds-table-container{background:var(--color-bg-primary-dark, #1f2937);border-color:var(--color-border-dark, #374151)}}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .875rem)}.table thead{background:var(--table-bg-header)}.table th{padding:var(--table-padding-y) var(--table-padding-x);text-align:left;font-weight:600;color:var(--table-text-header);border-bottom:1px solid var(--table-border)}.table td{padding:var(--table-padding-y) var(--table-padding-x);color:var(--table-text-secondary);border-bottom:1px solid var(--table-border-light)}.table tbody tr:hover{background:var(--table-bg-hover)}.table-container{background:var(--table-bg);border-radius:var(--table-radius-lg);box-shadow:var(--table-shadow);border:1px solid var(--table-border);overflow:hidden}.table-striped tbody tr:nth-child(2n){background:var(--table-bg-striped)}.table-bordered th,.table-bordered td{border:1px solid var(--table-border)}.table-hover tbody tr:hover{background:var(--table-bg-hover)}.results-table{width:100%;border-collapse:collapse}.results-table th{padding:var(--table-padding-y) var(--table-padding-x);background:var(--table-bg-header);font-weight:600;color:var(--table-text-header);border-bottom:1px solid var(--table-border)}.results-table td{padding:var(--table-padding-y) var(--table-padding-x);border-bottom:1px solid var(--table-border-light)}.results-table-container{overflow-x:auto;background:var(--table-bg);border-radius:var(--table-radius-lg);border:1px solid var(--table-border)}.dsu-table-container{background:var(--table-bg);border-radius:var(--table-radius-lg);box-shadow:var(--table-shadow);border:1px solid var(--table-border);overflow:hidden}.dsu-table{width:100%;border-collapse:collapse}.dsu-table thead{background:var(--table-bg-header)}.dsu-table th{padding:var(--table-padding-y) var(--table-padding-x);text-align:left;font-size:var(--font-size-xs, .75rem);font-weight:600;color:var(--table-text-header);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--table-border)}.dsu-table td{padding:var(--table-padding-y) var(--table-padding-x);color:var(--table-text-secondary);border-bottom:1px solid var(--table-border-light)}.dsu-table tbody tr:hover{background:var(--table-bg-hover)}[class$=-table-container]{overflow-x:auto}.ds-table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--table-padding-y) var(--table-padding-x);background:var(--table-bg-header);border-bottom:1px solid var(--table-border);gap:16px}.ds-table-toolbar-left{display:flex;align-items:center;gap:12px}.ds-table-toolbar-right{display:flex;align-items:center;gap:8px}.ds-table-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--table-bg);border:1px solid var(--table-border);border-radius:var(--table-radius);min-width:240px}.ds-table-search-icon{width:16px;height:16px;color:var(--table-text-muted)}.ds-table-search-input{flex:1;border:none;background:transparent;outline:none;font-size:var(--font-size-sm, .875rem);color:var(--table-text-primary)}.ds-table-search-input::-moz-placeholder{color:var(--table-text-muted)}.ds-table-search-input::placeholder{color:var(--table-text-muted)}.ds-table th.actions,.ds-table td.actions{text-align:right;white-space:nowrap}.ds-table-actions{display:inline-flex;align-items:center;gap:4px}.ds-table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--table-radius);color:var(--table-text-secondary);cursor:pointer;transition:all .15s ease}.ds-table-action-btn:hover{background:var(--table-bg-hover);color:var(--color-primary, #3b82f6)}.ds-table-action-btn.danger:hover{background:#ef44441a;color:var(--color-danger, #ef4444)}.ds-table-action-btn.success:hover{background:#10b9811a;color:var(--color-success, #10b981)}@media print{.ds-table-container{box-shadow:none;border:1px solid #000}.ds-table-toolbar,.ds-table-pagination{display:none}.ds-table th,.ds-table td{border:1px solid #000}.ds-table tbody tr:hover{background:transparent}.ds-table td.actions{display:none}}.ds-table th.sortable:focus-visible,.ds-table-checkbox:focus-visible,.ds-table-pagination-btn:focus-visible{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}@media (prefers-reduced-motion: reduce){.ds-table tbody tr,.ds-table th.sortable,.ds-table-expand-icon,.ds-table-pagination-btn{transition:none}.ds-table-spinner,.ds-table-skeleton{animation:none}}@media (prefers-contrast: high){.ds-table-container,.ds-table th,.ds-table td{border-width:2px}.ds-table th{color:#000}}:root{--ds-sidebar-width-expanded: 240px;--ds-sidebar-width-collapsed: 64px;--ds-sidebar-header-height: 60px;--ds-navbar-height: 64px;--ds-navbar-search-width: 400px;--ds-tab-height: 64px;--ds-tab-indicator-height: 3px;--ds-nav-bg: var(--color-bg-primary, #ffffff);--ds-nav-bg-hover: var(--color-bg-secondary, #f3f4f6);--ds-nav-bg-active: var(--color-primary, #3b82f6);--ds-nav-border: var(--color-border, #e5e7eb);--ds-nav-text: var(--color-text-secondary, #4b5563);--ds-nav-text-muted: var(--color-text-tertiary, #9ca3af);--ds-nav-text-active: #ffffff;--ds-tooltip-bg: #1f2937;--ds-tooltip-text: #ffffff;--ds-nav-transition: .3s cubic-bezier(.25, .46, .45, .94);--ds-nav-transition-fast: .15s cubic-bezier(.4, 0, 1, 1);--ds-badge-bg: var(--color-error, #ef4444);--ds-badge-text: #ffffff}.ds-sidebar{position:fixed;left:0;top:0;height:100vh;width:var(--ds-sidebar-width-expanded);background:var(--ds-nav-bg);border-right:1px solid var(--ds-nav-border);display:flex;flex-direction:column;transition:width var(--ds-nav-transition);z-index:100;will-change:width}.ds-sidebar.collapsed,.ds-sidebar-collapsed{width:var(--ds-sidebar-width-collapsed)}.ds-sidebar-header{height:var(--ds-sidebar-header-height);display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--ds-nav-border);transition:all var(--ds-nav-transition)}.ds-sidebar.collapsed .ds-sidebar-header,.ds-sidebar-collapsed .ds-sidebar-header{justify-content:center;padding:0}.ds-sidebar-logo{display:flex;align-items:center;overflow:hidden;transition:all var(--ds-nav-transition)}.ds-sidebar-logo-text{font-size:18px;font-weight:700;color:var(--color-text-primary, #1f2937);white-space:nowrap;opacity:1;transition:opacity var(--ds-nav-transition-fast)}.ds-sidebar.collapsed .ds-sidebar-logo,.ds-sidebar-collapsed .ds-sidebar-logo{display:none}.ds-sidebar-toggle{width:28px;height:28px;border-radius:6px;border:none;background:transparent;color:var(--ds-nav-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--ds-nav-transition-fast);flex-shrink:0}.ds-sidebar-toggle:hover{background:var(--ds-nav-bg-hover);color:var(--color-text-primary, #1f2937)}.ds-sidebar-toggle:focus-visible{outline:2px solid var(--ds-nav-bg-active);outline-offset:2px}.ds-sidebar.collapsed .ds-sidebar-toggle,.ds-sidebar-collapsed .ds-sidebar-toggle{width:40px;height:40px;margin:0 auto}.ds-sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.ds-sidebar-nav::-webkit-scrollbar{width:4px}.ds-sidebar-nav::-webkit-scrollbar-track{background:transparent}.ds-sidebar-nav::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.ds-sidebar-footer{padding:12px;border-top:1px solid var(--ds-nav-border);background:var(--ds-nav-bg)}.ds-menu-item{display:flex;align-items:center;padding:10px 12px;margin:2px 0;border-radius:8px;color:var(--ds-nav-text);text-decoration:none;cursor:pointer;transition:background-color var(--ds-nav-transition-fast),color var(--ds-nav-transition-fast),transform .1s ease;position:relative;white-space:nowrap;min-height:40px;font-size:14px;border:none;background:transparent;width:100%;text-align:left}.ds-menu-item:hover{background:var(--ds-nav-bg-hover);color:var(--color-text-primary, #1f2937);transform:translate(2px)}.ds-menu-item.active,.ds-menu-item[aria-current=page]{background:var(--ds-nav-bg-active);color:var(--ds-nav-text-active);font-weight:500}.ds-menu-item.active:hover,.ds-menu-item[aria-current=page]:hover{background:#2563eb;transform:translate(2px)}.ds-menu-item:focus-visible{outline:2px solid var(--ds-nav-bg-active);outline-offset:2px}.ds-menu-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;margin-right:12px;transition:margin var(--ds-nav-transition)}.ds-sidebar.collapsed .ds-menu-icon,.ds-sidebar-collapsed .ds-menu-icon{margin-right:0}.ds-menu-text{flex:1;opacity:1;transition:opacity var(--ds-nav-transition-fast),transform var(--ds-nav-transition-fast);transform-origin:left center}.ds-sidebar.collapsed .ds-menu-text,.ds-sidebar-collapsed .ds-menu-text{opacity:0;width:0;overflow:hidden;transform:translate(-10px)}.ds-menu-arrow{margin-left:auto;opacity:.7;transition:transform var(--ds-nav-transition-fast)}.ds-menu-item.expanded .ds-menu-arrow{transform:rotate(90deg)}.ds-sidebar.collapsed .ds-menu-arrow,.ds-sidebar-collapsed .ds-menu-arrow{display:none}.ds-submenu{background:#00000005;border-radius:0 0 8px 8px;margin:0 4px 4px;padding:4px 0;max-height:0;overflow:hidden;transition:max-height var(--ds-nav-transition)}.ds-submenu.expanded{max-height:500px}.ds-menu-child{padding-left:20px;margin-left:20px;font-size:13px;min-height:36px;border-left:2px solid var(--ds-nav-border);border-radius:0 8px 8px 0;position:relative}.ds-menu-child:hover{border-left-color:var(--ds-nav-bg-active);background:var(--ds-nav-bg-hover)}.ds-menu-child.active{border-left-color:var(--ds-nav-bg-active);background:#3b82f61a;color:var(--ds-nav-bg-active);font-weight:500}.ds-menu-child:before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--ds-nav-border);border-radius:50%;transition:all .2s ease}.ds-menu-child:hover:before,.ds-menu-child.active:before{background:var(--ds-nav-bg-active);width:8px;height:8px}.ds-menu-item.logout,.ds-menu-item.danger{color:var(--color-error, #ef4444)}.ds-menu-item.logout:hover,.ds-menu-item.danger:hover{background:#ef44441a;color:#dc2626}.ds-tooltip{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--ds-tooltip-bg);color:var(--ds-tooltip-text);padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:1000;opacity:0;animation:dsTooltipFadeIn .2s ease forwards;box-shadow:0 4px 12px #00000026}.ds-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:4px solid transparent;border-right-color:var(--ds-tooltip-bg)}@keyframes dsTooltipFadeIn{0%{opacity:0;transform:translateY(-50%) translate(4px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.ds-navbar{height:var(--ds-navbar-height);background:var(--ds-nav-bg);border-bottom:1px solid var(--ds-nav-border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.ds-navbar-left{flex:1;max-width:var(--ds-navbar-search-width)}.ds-navbar-center{flex:1;display:flex;justify-content:center}.ds-navbar-right{display:flex;align-items:center;gap:8px}.ds-navbar-search{position:relative;width:100%}.ds-navbar-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ds-nav-text-muted);pointer-events:none}.ds-navbar-search-input{width:100%;height:40px;padding:0 12px 0 40px;background:var(--ds-nav-bg-hover);border:1px solid transparent;border-radius:8px;font-size:14px;color:var(--color-text-primary, #1f2937);transition:all .2s ease}.ds-navbar-search-input:focus{outline:none;background:var(--ds-nav-bg);border-color:var(--ds-nav-bg-active);box-shadow:0 0 0 3px #3b82f61a}.ds-navbar-search-input::-moz-placeholder{color:var(--ds-nav-text-muted)}.ds-navbar-search-input::placeholder{color:var(--ds-nav-text-muted)}.ds-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--ds-nav-text);cursor:pointer;transition:all .2s ease;position:relative}.ds-nav-btn:hover{background:var(--ds-nav-bg-hover);color:var(--color-text-primary, #1f2937)}.ds-nav-btn:focus-visible{outline:2px solid var(--ds-nav-bg-active);outline-offset:2px}.ds-nav-badge{position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 4px;background:var(--ds-badge-bg);color:var(--ds-badge-text);font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center;animation:dsBadgePulse .3s ease-out}@keyframes dsBadgePulse{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.ds-nav-badge-lg{min-width:20px;height:20px;padding:0 6px;font-size:12px;border-radius:10px;box-shadow:0 2px 4px #0003}.ds-dropdown{position:relative}.ds-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--ds-nav-bg);border:1px solid var(--ds-nav-border);border-radius:12px;box-shadow:0 10px 25px #0000001a;min-width:240px;animation:dsDropdownSlide .2s ease-out;z-index:100;overflow:hidden}@keyframes dsDropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.ds-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--ds-nav-border)}.ds-dropdown-header h3{font-size:16px;font-weight:600;color:var(--color-text-primary, #1f2937);margin:0}.ds-dropdown-content{max-height:320px;overflow-y:auto}.ds-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--ds-nav-text);text-decoration:none;font-size:14px;transition:all .2s ease;border:none;background:transparent;width:100%;text-align:left;cursor:pointer}.ds-dropdown-item:hover{background:var(--ds-nav-bg-hover);color:var(--color-text-primary, #1f2937)}.ds-dropdown-item.active{background:#3b82f61a;color:var(--ds-nav-bg-active)}.ds-dropdown-divider{height:1px;background:var(--ds-nav-border);margin:0}.ds-dropdown-footer{padding:12px 16px;border-top:1px solid var(--ds-nav-border);text-align:center}.ds-dropdown-footer a{font-size:13px;color:var(--ds-nav-bg-active);text-decoration:none;font-weight:500}.ds-dropdown-footer a:hover{text-decoration:underline}.ds-user-menu-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.ds-user-menu-btn:hover{background:var(--ds-nav-bg-hover)}.ds-user-avatar{width:32px;height:32px;background:linear-gradient(135deg,var(--ds-nav-bg-active),#2563eb);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.ds-user-avatar.lg{width:48px;height:48px;font-size:18px}.ds-user-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #1f2937)}.ds-user-info{display:flex;gap:12px;padding:16px}.ds-user-details{flex:1}.ds-user-fullname{font-size:14px;font-weight:600;color:var(--color-text-primary, #1f2937);margin:0 0 2px}.ds-user-role{font-size:12px;color:var(--ds-nav-text-muted);margin:0}.ds-notifications-menu{width:360px;max-height:480px;display:flex;flex-direction:column}.ds-notification-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--ds-nav-bg-hover);transition:background .2s ease;cursor:pointer}.ds-notification-item:hover{background:var(--ds-nav-bg-hover)}.ds-notification-item.unread{background:#3b82f60d}.ds-notification-icon{flex-shrink:0}.ds-notification-icon-wrapper{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}.ds-notification-icon-wrapper.info{background:#3b82f61a;color:#3b82f6}.ds-notification-icon-wrapper.success{background:#10b9811a;color:#10b981}.ds-notification-icon-wrapper.warning{background:#f59e0b1a;color:#f59e0b}.ds-notification-icon-wrapper.error{background:#ef44441a;color:#ef4444}.ds-notification-content{flex:1;min-width:0}.ds-notification-title{font-size:14px;font-weight:600;color:var(--color-text-primary, #1f2937);margin:0 0 2px}.ds-notification-text{font-size:13px;color:var(--ds-nav-text);margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ds-notification-time{font-size:12px;color:var(--ds-nav-text-muted)}.ds-tab-nav{position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--ds-nav-bg);border-top:1px solid var(--ds-nav-border);box-shadow:0 -4px 12px #0000000d;display:none}@media (max-width: 599px){.ds-tab-nav{display:block}}.ds-tab-nav-container{display:flex;justify-content:space-around;align-items:stretch;height:var(--ds-tab-height);max-width:600px;margin:0 auto}.ds-tab-btn{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:transparent;border:none;cursor:pointer;transition:all var(--ds-nav-transition-fast);min-width:48px;min-height:48px;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ds-tab-btn:active{transform:scale(.95)}.ds-tab-btn.active{color:var(--ds-nav-bg-active)}.ds-tab-btn:focus-visible{outline:2px solid var(--ds-nav-bg-active);outline-offset:-2px;background:#3b82f61a}.ds-tab-icon{font-size:24px;transition:transform var(--ds-nav-transition-fast);line-height:1;opacity:.6}.ds-tab-btn.active .ds-tab-icon{transform:scale(1.1);opacity:1}.ds-tab-label{font-size:12px;font-weight:500;color:var(--ds-nav-text-muted);transition:color var(--ds-nav-transition-fast);white-space:nowrap}.ds-tab-btn.active .ds-tab-label{color:var(--ds-nav-bg-active);font-weight:600}.ds-tab-badge{position:absolute;top:6px;right:calc(50% - 16px);min-width:20px;height:20px;padding:0 6px;background:var(--ds-badge-bg);color:var(--ds-badge-text);border-radius:10px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px #0003;animation:dsBadgePulse .3s ease-out}.ds-tab-indicator{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:32px;height:var(--ds-tab-indicator-height);background:var(--ds-nav-bg-active);border-radius:2px 2px 0 0;animation:dsIndicatorSlideIn .2s ease-out}@keyframes dsIndicatorSlideIn{0%{width:0;opacity:0}to{width:32px;opacity:1}}.ds-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 0;font-size:14px}.ds-breadcrumb-item{display:flex;align-items:center;gap:8px;color:var(--ds-nav-text)}.ds-breadcrumb-item a{color:var(--ds-nav-text);text-decoration:none;transition:color .15s ease}.ds-breadcrumb-item a:hover{color:var(--ds-nav-bg-active)}.ds-breadcrumb-item.active{color:var(--color-text-primary, #1f2937);font-weight:500}.ds-breadcrumb-separator{color:var(--ds-nav-text-muted)}.ds-mobile-menu-toggle{display:none;position:fixed;top:12px;left:12px;width:40px;height:40px;background:var(--ds-nav-bg);border:1px solid var(--ds-nav-border);border-radius:8px;align-items:center;justify-content:center;cursor:pointer;z-index:101;transition:all var(--ds-nav-transition-fast)}.ds-mobile-menu-toggle:hover{background:var(--ds-nav-bg-hover)}.ds-mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:99;opacity:0;transition:opacity var(--ds-nav-transition)}.ds-mobile-overlay.show{display:block;opacity:1}.ds-sidebar.mobile{transform:translate(-100%);transition:transform var(--ds-nav-transition);box-shadow:4px 0 12px #0000001a}.ds-sidebar.mobile.show{transform:translate(0)}@media (max-width: 1279px) and (min-width: 768px){.ds-sidebar{width:var(--ds-sidebar-width-collapsed)}.ds-sidebar:not(.collapsed){width:var(--ds-sidebar-width-expanded);box-shadow:4px 0 12px #0000001a}}@media (max-width: 767px){.ds-mobile-menu-toggle{display:flex}.ds-sidebar:not(.mobile){display:none}.ds-navbar-left{display:none}.ds-navbar{padding:0 16px}.ds-notifications-menu{width:320px}.ds-user-name{display:none}.ds-dropdown-menu{position:fixed;right:12px}}.dark .ds-sidebar,.dark .ds-navbar,.dark .ds-tab-nav,.dark .ds-dropdown-menu{background:#1a1a1a;border-color:#2d2d2d}.dark .ds-menu-item{color:#9ca3af}.dark .ds-menu-item:hover{background:#ffffff0d;color:#f3f4f6}.dark .ds-menu-item.active{background:var(--ds-nav-bg-active);color:#fff}.dark .ds-navbar-search-input{background:#2d2d2d;color:#f3f4f6}.dark .ds-navbar-search-input:focus{background:#1a1a1a}.dark .ds-nav-btn{color:#9ca3af}.dark .ds-nav-btn:hover{background:#ffffff0d;color:#f3f4f6}.dark .ds-dropdown-item{color:#9ca3af}.dark .ds-dropdown-item:hover{background:#ffffff0d;color:#f3f4f6}.dark .ds-user-name,.dark .ds-user-fullname,.dark .ds-dropdown-header h3,.dark .ds-notification-title,.dark .ds-sidebar-logo-text{color:#f3f4f6}.dark .ds-tab-nav{background:#1f2937;border-top-color:#374151}.dark .ds-tab-label{color:#9ca3af}.dark .ds-tab-btn.active .ds-tab-label{color:#60a5fa}@media (prefers-color-scheme: dark){:root{--ds-nav-bg: #1f2937;--ds-nav-bg-hover: #374151;--ds-nav-border: #374151;--ds-nav-text: #d1d5db;--ds-nav-text-muted: #6b7280}}@media (prefers-contrast: high){.ds-sidebar,.ds-navbar,.ds-tab-nav{border-width:2px}.ds-menu-item.active{outline:2px solid currentColor;outline-offset:-2px}.ds-tab-indicator{height:4px}.ds-nav-badge,.ds-tab-badge{border:2px solid var(--ds-nav-bg)}}@media (prefers-reduced-motion: reduce){.ds-sidebar,.ds-menu-item,.ds-submenu,.ds-nav-btn,.ds-dropdown-menu,.ds-tab-btn,.ds-tab-icon,.ds-tab-indicator,.ds-nav-badge,.ds-tab-badge,.ds-tooltip{animation:none!important;transition:none!important}.ds-tab-btn:active,.ds-tab-btn.active .ds-tab-icon,.ds-menu-item:hover{transform:none}}.ds-nav-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}@media print{.ds-sidebar,.ds-navbar,.ds-tab-nav,.ds-mobile-menu-toggle,.ds-mobile-overlay{display:none!important}}.sidebar:not([class*=custom-]){position:fixed;left:0;top:0;height:100vh;width:var(--ds-sidebar-width-expanded, 240px);background:var(--ds-nav-bg, #ffffff);border-right:1px solid var(--ds-nav-border, #e5e7eb);display:flex;flex-direction:column;transition:width var(--ds-nav-transition, .3s ease);z-index:100}.top-navbar:not([class*=custom-]){height:var(--ds-navbar-height, 64px);background:var(--ds-nav-bg, #ffffff);border-bottom:1px solid var(--ds-nav-border, #e5e7eb);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:50}.tab-navigation:not([class*=custom-]){position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--ds-nav-bg, #ffffff);border-top:1px solid var(--ds-nav-border, #e5e7eb);box-shadow:0 -4px 12px #0000000d}.menu-item:not([class*=custom-]){display:flex;align-items:center;padding:10px 12px;margin:2px 0;border-radius:8px;color:var(--ds-nav-text, #4b5563);text-decoration:none;cursor:pointer;transition:all var(--ds-nav-transition-fast, .15s ease);min-height:40px;font-size:14px}.menu-item:not([class*=custom-]):hover{background:var(--ds-nav-bg-hover, #f3f4f6);color:var(--color-text-primary, #1f2937)}.menu-item:not([class*=custom-]).active{background:var(--ds-nav-bg-active, #3b82f6);color:var(--ds-nav-text-active, #ffffff);font-weight:500}.nav-btn:not([class*=custom-]){width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;color:var(--ds-nav-text, #4b5563);cursor:pointer;transition:all .2s ease;position:relative}.nav-btn:not([class*=custom-]):hover{background:var(--ds-nav-bg-hover, #f3f4f6);color:var(--color-text-primary, #1f2937)}.dropdown-menu:not([class*=custom-]){position:absolute;top:calc(100% + 8px);right:0;background:var(--ds-nav-bg, #ffffff);border:1px solid var(--ds-nav-border, #e5e7eb);border-radius:12px;box-shadow:0 10px 25px #0000001a;min-width:240px;animation:dsDropdownSlide .2s ease-out;z-index:100;overflow:hidden}.notification-badge:not([class*=custom-]){position:absolute;top:6px;right:6px;min-width:18px;height:18px;padding:0 4px;background:var(--ds-badge-bg, #ef4444);color:var(--ds-badge-text, #ffffff);font-size:11px;font-weight:600;border-radius:9px;display:flex;align-items:center;justify-content:center}.user-avatar:not([class*=custom-]){width:32px;height:32px;background:linear-gradient(135deg,var(--ds-nav-bg-active, #3b82f6),#2563eb);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.tab-button:not([class*=custom-]){flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;background:transparent;border:none;cursor:pointer;min-width:48px;min-height:48px}.tab-button:not([class*=custom-]).active{color:var(--ds-nav-bg-active, #3b82f6)}.submenu:not([class*=custom-]){background:#00000005;border-radius:0 0 8px 8px;margin:0 4px 4px;padding:4px 0;max-height:0;overflow:hidden;transition:max-height var(--ds-nav-transition, .3s ease)}.submenu:not([class*=custom-]).expanded{max-height:500px}.menu-tooltip:not([class*=custom-]){position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--ds-tooltip-bg, #1f2937);color:var(--ds-tooltip-text, #ffffff);padding:8px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;pointer-events:none;z-index:1000;box-shadow:0 4px 12px #00000026}.ds-page-header h1,.ds-page-header .page-title,[class*=page-header] h1,[class*=page-header] .title{text-shadow:0 2px 4px rgba(0,0,0,.3),0 1px 2px rgba(0,0,0,.2)!important;position:relative;z-index:2}.ds-page-header p,.ds-page-header .page-subtitle,[class*=page-header] p,[class*=page-header] .subtitle{text-shadow:0 1px 3px rgba(0,0,0,.25)!important;position:relative;z-index:2}.ds-page-header:before,[class*=page-header]:before{opacity:.5!important}.ds-header-content,.ds-page-header>*:not(:before),[class*=page-header]>div{position:relative;z-index:2}select,.ds-select,.ds-input-select,[class*=select],[class*=dropdown] select{color:var(--color-text-primary, #1f2937)!important}.ds-select::-moz-placeholder,[class*=select]::-moz-placeholder{color:var(--color-text-secondary, #4b5563)!important}select:invalid,select option[value=""],select option:disabled,.ds-select::placeholder,[class*=select]::placeholder{color:var(--color-text-secondary, #4b5563)!important}select option{color:var(--color-text-primary, #1f2937);background:var(--color-bg-primary, #ffffff)}select.bg-gray-50,select.bg-slate-50,.bg-gray-50 select,.bg-slate-50 select{border-color:var(--color-border-strong, #9ca3af)!important}.text-gray-400{color:#6b7280!important}.placeholder-gray-400::-moz-placeholder{color:#6b7280!important}.placeholder-gray-400::placeholder{color:#6b7280!important}.ds-btn-add,.ds-btn-create,button[class*=新增],button[class*=add],button[class*=create]{--btn-bg: var(--color-primary, #3b82f6) !important;--btn-hover-bg: var(--color-primary-dark, #2563eb) !important;background:var(--btn-bg)!important;color:#fff!important;border:none!important}.ds-btn-add:hover,.ds-btn-create:hover,button[class*=新增]:hover,button[class*=add]:hover,button[class*=create]:hover{background:var(--btn-hover-bg)!important}.ds-btn-export,.ds-btn-success-action,button[class*=匯出],button[class*=export]{--btn-bg: var(--color-success, #10b981) !important;--btn-hover-bg: #059669 !important;background:var(--btn-bg)!important;color:#fff!important}.ds-btn-export:hover,button[class*=匯出]:hover,button[class*=export]:hover{background:var(--btn-hover-bg)!important}.ds-btn-filter,button[class*=篩選],button[class*=filter]{--btn-bg: var(--color-gray-100, #f3f4f6) !important;--btn-hover-bg: var(--color-gray-200, #e5e7eb) !important;--btn-text: var(--color-text-secondary, #4b5563) !important;background:var(--btn-bg)!important;color:var(--btn-text)!important;border:1px solid var(--color-border, #d1d5db)!important}.ds-btn-filter:hover,button[class*=篩選]:hover,button[class*=filter]:hover{background:var(--btn-hover-bg)!important}.ds-view-toggle,.view-toggle,[class*=view-toggle],[class*=viewToggle]{display:inline-flex;border-radius:var(--radius-lg, 8px);overflow:hidden;border:1px solid var(--color-border, #e5e7eb)}.ds-view-toggle button,.view-toggle button,[class*=view-toggle] button,[class*=viewToggle] button{background:var(--color-bg-primary, #ffffff)!important;color:var(--color-text-secondary, #6b7280)!important;border:none!important;padding:8px 16px;transition:all .15s ease}.ds-view-toggle button.active,.ds-view-toggle button[aria-pressed=true],.view-toggle button.active,[class*=view-toggle] button.active,[class*=viewToggle] button.active,[class*=view-toggle] button[aria-pressed=true]{background:var(--color-primary, #3b82f6)!important;color:#fff!important}.ds-view-toggle button:hover:not(.active),.view-toggle button:hover:not(.active),[class*=view-toggle] button:hover:not(.active){background:var(--color-gray-100, #f3f4f6)!important}.ds-stock-qty,.stock-quantity,[class*=stock-qty],[class*=inventory-qty]{font-weight:600;font-variant-numeric:tabular-nums}.ds-stock-normal,.stock-normal,[data-stock-status=normal]{color:var(--color-text-primary, #1f2937)!important}.ds-stock-low,.stock-low,[data-stock-status=low]{color:var(--color-warning, #f59e0b)!important;font-weight:700}.ds-stock-out,.stock-out,.stock-zero,[data-stock-status=out]{color:var(--color-error, #ef4444)!important;font-weight:700}.ds-stock-over,.stock-over,[data-stock-status=over]{color:var(--color-info, #3b82f6)!important}.ds-table-action-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent!important;color:#9ca3af!important;border:none!important;border-radius:6px;cursor:pointer;transition:all .15s ease}.ds-table-action-btn:hover{background:#f3f4f6!important;color:#1f2937!important}.ds-table-action-btn:active{background:#e5e7eb!important}.ds-table-action-btn.danger,.ds-table-action-btn[data-action=delete],.ds-table-action-btn[data-action=disable]{color:#fca5a5!important}.ds-table-action-btn.danger:hover,.ds-table-action-btn[data-action=delete]:hover,.ds-table-action-btn[data-action=disable]:hover{background:#fef2f2!important;color:#ef4444!important}.ds-table-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end}.ds-action-btn.edit,.ds-action-btn.points,.ds-action-btn.activate,.ds-action-btn.view,.ds-action-btn.history{background:transparent!important;color:#9ca3af!important;border:none!important;padding:8px!important;min-width:36px;height:36px}.ds-action-btn.edit:hover,.ds-action-btn.points:hover,.ds-action-btn.activate:hover,.ds-action-btn.view:hover,.ds-action-btn.history:hover{background:#f3f4f6!important;color:#1f2937!important}.ds-action-btn.delete,.ds-action-btn.disable,.ds-action-btn.deactivate{background:transparent!important;color:#fca5a5!important;border:none!important}.ds-action-btn.delete:hover,.ds-action-btn.disable:hover,.ds-action-btn.deactivate:hover{background:#fef2f2!important;color:#ef4444!important}.icon-button,.icon-button-primary{background:transparent!important;color:#9ca3af!important;border:none!important;width:36px;height:36px;border-radius:6px}.icon-button:hover,.icon-button-primary:hover{background:#f3f4f6!important;color:#1f2937!important}.table-actions button,[class*=table-actions] button,table td:last-child button:not(.ds-btn-danger):not([class*=delete]):not([class*=刪除]){background:transparent!important;color:var(--color-text-tertiary, #9ca3af)!important;border:none!important;padding:6px;border-radius:var(--radius-md, 6px);transition:all .15s ease}.table-actions button:hover,[class*=table-actions] button:hover,table td:last-child button:hover:not(.ds-btn-danger):not([class*=delete]):not([class*=刪除]){background:var(--color-gray-100, #f3f4f6)!important;color:var(--color-text-primary, #1f2937)!important}.table-actions .btn-delete,.table-actions button[class*=delete],.table-actions button[class*=刪除],table td:last-child button[class*=delete],table td:last-child button[class*=刪除]{color:var(--color-error-light, #fca5a5)!important}.table-actions .btn-delete:hover,.table-actions button[class*=delete]:hover,table td:last-child button[class*=delete]:hover{background:var(--color-error-bg, #fef2f2)!important;color:var(--color-error, #ef4444)!important}.ds-status-badge,.status-badge,[class*=status-badge],[class*=status-tag]{font-size:.8125rem!important;font-weight:600!important;padding:4px 10px!important;border-radius:var(--radius-full, 9999px)!important;display:inline-flex;align-items:center;gap:4px}.ds-status-active,.status-active,[class*=status-active],[data-status=active],[data-status=in-progress]{background:var(--color-success-light, #d1fae5)!important;color:var(--color-success-dark, #065f46)!important}.ds-status-active:before,.status-active:before,[data-status=active]:before,[data-status=in-progress]:before{content:"";width:8px;height:8px;background:var(--color-success, #10b981);border-radius:50%;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}button,.btn,[class*=btn-]{transition:all .15s ease}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--color-primary, #3b82f6);outline-offset:2px}@media (prefers-reduced-motion: reduce){.ds-status-active:before,.status-active:before,[data-status=active]:before{animation:none}}.ds-page-header{background:linear-gradient(135deg,#4f46e5,#4338ca)!important;padding:48px 32px!important;min-height:120px!important;border-radius:24px!important;position:relative!important;overflow:hidden!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d!important}.ds-page-header:before{content:""!important;position:absolute!important;top:-50%!important;right:-10%!important;width:500px!important;height:500px!important;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%)!important;border-radius:50%!important;pointer-events:none!important}.ds-page-header .ds-header-content,.ds-page-header>div:first-child{display:flex;flex-direction:column;gap:8px;position:relative;z-index:2}.ds-page-header h1{font-size:2rem!important;font-weight:700!important;line-height:1.2!important;margin:0!important;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1)!important;letter-spacing:-.02em!important}.ds-page-header p{font-size:1rem!important;font-weight:400!important;line-height:1.5!important;margin:0!important;color:#ffffffe6!important;text-shadow:0 1px 2px rgba(0,0,0,.15)!important}.ds-page-header .ds-header-actions{position:relative;z-index:2}.ds-page-header .ds-btn-secondary{background:#fff3!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.ds-page-header .ds-btn-secondary:hover{background:#ffffff4d!important;border-color:#ffffff80!important}.ds-page-header .ds-btn-primary{background:#fff!important;color:#4338ca!important;border:none!important;box-shadow:0 4px 6px -1px #0000001a!important}.ds-page-header .ds-btn-primary:hover{transform:translateY(-2px)!important;box-shadow:0 6px 8px -1px #00000026!important}@media (prefers-contrast: high){select,.ds-select{border-width:2px!important}.ds-page-header h1{text-shadow:0 2px 8px rgba(0,0,0,.5)!important}.ds-status-badge,.status-badge{border:2px solid currentColor!important}}.pds-product-card,.product-card,[class*=product-card]{min-width:120px!important;min-height:140px!important;padding:12px!important}.pds-product-card img,.product-card img,[class*=product-card] img{min-height:80px;-o-object-fit:cover;object-fit:cover;background:#f9fafb;border-radius:8px}.pds-product-card .product-name,.product-card .product-name,[class*=product-card] .product-name{font-size:.875rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pds-product-card .product-price,.product-card .product-price,[class*=product-card] .product-price{font-size:1rem;font-weight:700;color:#1f2937}@media (max-width: 1024px){.pos-menu:not(.user-expanded),.unified-sidebar:not(.user-expanded),[class*=sidebar]:not(.user-expanded):not(.mobile-expanded){width:60px!important}.pos-menu:not(.user-expanded) .menu-text,.pos-menu:not(.user-expanded) .menu-label,.unified-sidebar:not(.user-expanded) .menu-text,[class*=sidebar]:not(.user-expanded) .nav-text{display:none!important}.pos-menu:not(.user-expanded) .menu-link,.pos-menu:not(.user-expanded) .menu-item,.unified-sidebar:not(.user-expanded) .menu-link{justify-content:center!important;padding:12px 8px!important}.pos-menu:not(.user-expanded) .submenu,.unified-sidebar:not(.user-expanded) .submenu{display:none!important}.pos-menu:not(.user-expanded) .menu-logo span,.unified-sidebar:not(.user-expanded) .logo-text{display:none!important}}@media (pointer: coarse){.menu-link,.menu-item,.nav-item{min-height:48px!important;padding:12px 16px!important}.pds-product-card,.product-card{min-height:160px!important}}.ds-level-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 16px;font-size:.75rem;font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.ds-level-badge.normal,.ds-level-badge.basic{background:linear-gradient(135deg,#f3f4f6,#e5e7eb)!important;color:#374151!important;border:none!important}.ds-level-badge.silver{background:linear-gradient(135deg,#e5e7eb,#9ca3af)!important;color:#1f2937!important;border:none!important}.ds-level-badge.gold{background:linear-gradient(135deg,#fef3c7,#f59e0b)!important;color:#78350f!important;border:none!important}.ds-level-badge.platinum{background:linear-gradient(135deg,#e9d5ff,#8b5cf6)!important;color:#4c1d95!important;border:none!important}.ds-level-badge.diamond{background:linear-gradient(135deg,#a5f3fc,#22d3ee)!important;color:#0e7490!important;border:none!important}.ds-level-badge:hover{transform:scale(1.05);transition:transform .2s ease;box-shadow:0 2px 4px #0000001a}.ds-data-card .ds-level-badge{font-size:.8125rem;padding:6px 16px}.ds-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:ds-shimmer 1.5s ease-in-out infinite;border-radius:4px}@keyframes ds-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.ds-skeleton{animation:none;background:#e5e7eb}}.ds-skeleton-text{height:16px;width:60%}.ds-skeleton-text-sm{height:12px;width:40%}.ds-skeleton-text-lg{height:20px;width:80%}.ds-skeleton-title{height:24px;width:40%}.ds-skeleton-title-lg{height:32px;width:50%}.ds-skeleton-paragraph{height:16px;width:100%;margin-bottom:8px}.ds-skeleton-paragraph:last-child{width:75%;margin-bottom:0}.ds-skeleton-card{height:120px;width:100%;border-radius:12px}.ds-skeleton-card-sm{height:80px}.ds-skeleton-card-lg{height:200px}.ds-skeleton-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.ds-skeleton-avatar-sm{width:32px;height:32px}.ds-skeleton-avatar-lg{width:56px;height:56px}.ds-skeleton-button{height:36px;width:100px;border-radius:6px}.ds-skeleton-button-lg{height:44px;width:140px}.ds-skeleton-image{width:100%;height:160px;border-radius:8px}.ds-skeleton-image-square{aspect-ratio:1;height:auto}.ds-skeleton-table{width:100%}.ds-skeleton-table-row{display:flex;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid #F3F4F6}.ds-skeleton-table-cell{height:16px;flex:1}.ds-skeleton-table-cell-sm{flex:0 0 80px}.ds-skeleton-table-cell-lg{flex:2}.ds-skeleton-table-header{background:#f9fafb}.ds-skeleton-table-header .ds-skeleton-table-cell{height:12px;opacity:.7}.ds-skeleton-stats-card{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.ds-skeleton-stats-icon{width:48px;height:48px;border-radius:12px}.ds-skeleton-stats-content{flex:1;display:flex;flex-direction:column;gap:8px}.ds-skeleton-stats-value{height:28px;width:60%}.ds-skeleton-stats-label{height:14px;width:40%}.ds-skeleton-list{display:flex;flex-direction:column;gap:12px}.ds-skeleton-list-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:8px;border:1px solid #F3F4F6}.ds-skeleton-list-item-content{flex:1;display:flex;flex-direction:column;gap:6px}.ds-skeleton-page{padding:24px}.ds-skeleton-page-header{margin-bottom:24px}.ds-skeleton-page-content{display:flex;flex-direction:column;gap:16px}.ds-skeleton-grid{display:grid;gap:16px}.ds-skeleton-grid-2{grid-template-columns:repeat(2,1fr)}.ds-skeleton-grid-3{grid-template-columns:repeat(3,1fr)}.ds-skeleton-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 768px){.ds-skeleton-grid-2,.ds-skeleton-grid-3,.ds-skeleton-grid-4{grid-template-columns:1fr}}.ds-skeleton-product-card{display:flex;flex-direction:column;gap:12px;padding:12px;background:#fff;border-radius:12px;border:1px solid #F3F4F6}.ds-skeleton-product-image{width:100%;aspect-ratio:1;border-radius:8px}.ds-skeleton-product-info{display:flex;flex-direction:column;gap:8px}.ds-skeleton-product-name{height:16px;width:80%}.ds-skeleton-product-price{height:20px;width:50%}.ds-skeleton-pulse{animation:ds-pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes ds-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-color-scheme: dark){.ds-skeleton{background:linear-gradient(90deg,#374151 25%,#4b5563,#374151 75%)}.ds-skeleton-stats-card,.ds-skeleton-list-item,.ds-skeleton-product-card{background:#1f2937;border-color:#374151}.ds-skeleton-table-header{background:#1f2937}.ds-skeleton-table-row{border-color:#374151}}:root{--component-bg: var(--color-bg-primary, #FFFFFF);--component-bg-hover: var(--menu-bg-hover, #F3F4F6);--component-bg-active: var(--menu-bg-active, #EFF6FF);--component-border: var(--menu-border, #E5E7EB);--component-border-focus: var(--menu-border-focus, #3B82F6);--product-card-bg: #FFFFFF;--product-card-hover: #F9FAFB;--product-card-selected: #EFF6FF;--product-card-border: #E5E7EB;--cart-item-bg: #FFFFFF;--cart-item-hover: #F9FAFB;--cart-item-border: #F3F4F6;--member-card-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--member-level-regular: #6B7280;--member-level-silver: #9CA3AF;--member-level-gold: #F59E0B;--member-level-platinum: #8B5CF6;--member-level-vip: #EF4444;--btn-primary-bg: #3B82F6;--btn-primary-hover: #2563EB;--btn-primary-active: #1D4ED8;--btn-secondary-bg: #F3F4F6;--btn-secondary-hover: #E5E7EB;--btn-danger-bg: #EF4444;--btn-danger-hover: #DC2626;--btn-success-bg: #10B981;--btn-success-hover: #059669;--component-gap: var(--menu-space-md, 1rem);--component-padding: var(--menu-space-md, 1rem);--component-padding-sm: var(--menu-space-sm, .5rem);--component-padding-lg: var(--menu-space-lg, 1.5rem);--component-radius: var(--menu-radius-md, 8px);--component-radius-sm: var(--menu-radius-sm, 4px);--component-radius-lg: var(--menu-radius-lg, 12px);--component-shadow: var(--menu-shadow-sm, 0 1px 2px rgba(0, 0, 0, .05));--component-shadow-hover: var(--menu-shadow-md, 0 4px 6px rgba(0, 0, 0, .07));--component-shadow-active: var(--menu-shadow-lg, 0 10px 15px rgba(0, 0, 0, .1));--component-transition: var(--menu-transition-base, .2s cubic-bezier(.4, 0, .2, 1));--component-transition-fast: var(--menu-transition-fast, .15s cubic-bezier(.4, 0, .2, 1))}.search-bar{display:flex;flex-direction:column;gap:var(--component-gap);margin-bottom:var(--component-padding)}.search-input-wrapper{position:relative;display:flex;align-items:center}.search-input{width:100%;min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm) var(--component-padding);padding-left:48px;font-size:var(--font-size-base, 16px);font-family:var(--font-family-base);background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius);transition:all var(--component-transition)}.search-input:hover{border-color:var(--component-border-focus)}.search-input:focus{outline:none;border-color:var(--component-border-focus);box-shadow:0 0 0 3px #3b82f61a}.search-icon{position:absolute;left:var(--component-padding);font-size:20px;color:var(--color-text-secondary);pointer-events:none}.clear-button{position:absolute;right:var(--component-padding-sm);min-width:var(--btn-min-width, 48px);min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);background:transparent;border:none;border-radius:var(--component-radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--component-transition-fast)}.clear-button:hover{background:var(--component-bg-hover);color:var(--color-text-primary)}.clear-button:active{transform:scale(.95)}.category-tabs{display:flex;flex-direction:column;gap:var(--component-gap)}.tabs-container{display:flex;flex-wrap:wrap;gap:var(--component-padding-sm);padding:var(--component-padding-sm);background:var(--color-bg-secondary);border-radius:var(--component-radius)}.category-tab{min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm) var(--component-padding);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition);white-space:nowrap}.category-tab:hover{background:var(--component-bg-hover);border-color:var(--component-border-focus)}.category-tab.active{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:#fff;box-shadow:var(--component-shadow-hover)}.category-tab:active{transform:translateY(1px)}.product-card{display:flex;flex-direction:column;background:var(--product-card-bg);border:2px solid var(--product-card-border);border-radius:var(--component-radius);overflow:hidden;cursor:pointer;transition:all var(--component-transition);min-height:var(--btn-min-height, 48px)}.product-card:hover{background:var(--product-card-hover);border-color:var(--component-border-focus);box-shadow:var(--component-shadow-hover);transform:translateY(-2px)}.product-card:active{transform:translateY(0)}.product-card.selected{background:var(--product-card-selected);border-color:var(--btn-primary-bg);box-shadow:var(--component-shadow-active)}.product-card.out-of-stock{opacity:.6;cursor:not-allowed}.product-image-wrapper{position:relative;width:100%;padding-top:100%;background:var(--color-bg-secondary);overflow:hidden}.product-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.product-image-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:48px;opacity:.3}.product-info{display:flex;flex-direction:column;gap:var(--component-padding-sm);padding:var(--component-padding)}.product-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.product-price{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--btn-primary-bg)}.product-stock{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.product-stock.low-stock{color:var(--color-warning);font-weight:var(--font-weight-medium)}.product-stock.out-of-stock{color:var(--color-error);font-weight:var(--font-weight-semibold)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--component-padding);padding:var(--component-padding-sm)}.product-grid.loading{opacity:.6;pointer-events:none}.product-grid-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--component-padding);padding:var(--component-padding-lg);text-align:center;color:var(--color-text-secondary)}.empty-icon{font-size:64px;opacity:.3}.empty-message{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.empty-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:var(--component-padding);background:var(--component-bg);border-bottom:2px solid var(--component-border)}.cart-title-wrapper{display:flex;align-items:center;gap:var(--component-padding-sm)}.cart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.cart-badge{min-width:24px;height:24px;padding:0 8px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:var(--btn-primary-bg);color:#fff;border-radius:var(--component-radius-full, 9999px)}.cart-clear-button{min-height:var(--btn-min-height, 48px);min-width:var(--btn-min-width, 48px);padding:var(--component-padding-sm) var(--component-padding);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--btn-secondary-bg);border:none;border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition);color:var(--color-text-secondary)}.cart-clear-button:hover{background:var(--btn-secondary-hover);color:var(--color-text-primary)}.cart-clear-button:disabled{opacity:.5;cursor:not-allowed}.quantity-adjuster{display:inline-flex;align-items:center;gap:4px;background:var(--color-bg-secondary);border-radius:var(--component-radius);padding:4px}.quantity-adjuster--small{scale:.9}.quantity-adjuster--large{scale:1.1}.quantity-button{min-width:var(--btn-min-width, 48px);min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);font-size:18px;font-weight:var(--font-weight-bold);background:var(--component-bg);border:1px solid var(--component-border);border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition-fast);color:var(--color-text-primary)}.quantity-button:hover:not(:disabled){background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:#fff}.quantity-button:active:not(:disabled){transform:scale(.95)}.quantity-button:disabled{opacity:.4;cursor:not-allowed}.quantity-display{min-width:60px;padding:var(--component-padding-sm);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);text-align:center;color:var(--color-text-primary)}.quantity-input{min-width:60px;min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:center;background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius-sm);transition:all var(--component-transition)}.quantity-input:focus{outline:none;border-color:var(--component-border-focus)}.stock-warning{position:absolute;bottom:-20px;left:0;right:0;font-size:var(--font-size-xs);color:var(--color-warning);text-align:center}.cart-item-card{display:flex;gap:var(--component-padding);padding:var(--component-padding);background:var(--cart-item-bg);border:1px solid var(--cart-item-border);border-radius:var(--component-radius);transition:all var(--component-transition)}.cart-item-card:hover{background:var(--cart-item-hover);box-shadow:var(--component-shadow)}.cart-item-image-wrapper{flex-shrink:0;width:80px;height:80px;background:var(--color-bg-secondary);border-radius:var(--component-radius-sm);overflow:hidden}.cart-item-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.cart-item-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;opacity:.3}.cart-item-content{flex:1;display:flex;flex-direction:column;gap:var(--component-padding-sm)}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start}.cart-item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.cart-item-remove-button{min-width:var(--btn-min-width, 48px);min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);font-size:16px;background:transparent;border:none;border-radius:var(--component-radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--component-transition-fast)}.cart-item-remove-button:hover{background:#fee2e2;color:var(--btn-danger-bg)}.cart-item-details{display:flex;flex-direction:column;gap:4px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cart-item-promotion{padding:4px 8px;background:#fef3c7;color:#92400e;border-radius:var(--component-radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);display:inline-block;align-self:flex-start}.cart-item-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--component-padding)}.cart-item-price-info{display:flex;flex-direction:column;gap:4px}.cart-item-price{font-size:var(--font-size-base);color:var(--color-text-secondary)}.cart-item-subtotal{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--btn-primary-bg)}.cart-item-discount{font-size:var(--font-size-sm);color:var(--color-success)}.cart-items-list{display:flex;flex-direction:column;gap:var(--component-padding-sm);flex:1;overflow-y:auto;padding:var(--component-padding-sm)}.cart-items-list.compact{gap:4px}.cart-items-stats{padding:var(--component-padding-sm);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:1px solid var(--component-border)}.cart-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--component-padding);padding:var(--component-padding-lg);text-align:center}.cart-empty-icon{font-size:64px;opacity:.3}.cart-empty-message{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.cart-empty-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cart-loading-skeleton{display:flex;flex-direction:column;gap:var(--component-padding-sm);padding:var(--component-padding)}.skeleton-item{height:120px;background:linear-gradient(90deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 50%,var(--color-bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--component-radius)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.total-summary{display:flex;flex-direction:column;gap:var(--component-padding-sm);padding:var(--component-padding);background:var(--color-bg-secondary);border-top:2px solid var(--component-border);border-radius:0 0 var(--component-radius) var(--component-radius)}.summary-section{display:flex;flex-direction:column;gap:var(--component-padding-sm)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-base);color:var(--color-text-secondary)}.summary-row.subtotal{padding-bottom:var(--component-padding-sm)}.summary-row.total{padding-top:var(--component-padding-sm);border-top:2px solid var(--component-border);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.summary-label{display:flex;align-items:center;gap:var(--component-padding-sm)}.summary-value{font-weight:var(--font-weight-semibold)}.summary-value.positive{color:var(--color-success)}.summary-value.negative{color:var(--color-error)}.discount-item{display:flex;justify-content:space-between;align-items:center;padding:var(--component-padding-sm);background:#ecfdf5;border-radius:var(--component-radius-sm);font-size:var(--font-size-sm)}.discount-name{color:var(--color-text-secondary)}.discount-amount{font-weight:var(--font-weight-semibold);color:var(--color-success)}.savings-info{padding:var(--component-padding-sm);background:#fef3c7;border-radius:var(--component-radius-sm);text-align:center;font-size:var(--font-size-sm);color:#92400e;font-weight:var(--font-weight-medium)}.member-card{display:flex;flex-direction:column;background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius);overflow:hidden;transition:all var(--component-transition)}.member-card--compact{padding:var(--component-padding-sm)}.member-card--guest{background:var(--color-bg-secondary)}.member-card-guest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--component-padding);padding:var(--component-padding-lg);text-align:center}.guest-icon{font-size:64px;opacity:.3}.guest-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.guest-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.guest-search-button{min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm) var(--component-padding-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);background:var(--btn-primary-bg);border:none;border-radius:var(--component-radius);cursor:pointer;color:#fff;transition:all var(--component-transition);display:flex;align-items:center;gap:var(--component-padding-sm)}.guest-search-button:hover{background:var(--btn-primary-hover);transform:translateY(-1px);box-shadow:var(--component-shadow-hover)}.member-card-member{display:flex;gap:var(--component-padding);padding:var(--component-padding);background:var(--member-card-bg);color:#fff}.member-avatar-wrapper{position:relative;flex-shrink:0}.member-avatar,.member-avatar-placeholder{width:64px;height:64px;border-radius:50%;border:3px solid rgba(255,255,255,.3)}.member-avatar{-o-object-fit:cover;object-fit:cover}.member-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#fff3;font-size:32px}.member-level-badge{position:absolute;bottom:-4px;right:-4px;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:var(--component-shadow)}.badge-icon{font-size:16px}.member-info{flex:1;display:flex;flex-direction:column;gap:4px}.member-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-number{font-size:var(--font-size-sm);opacity:.9}.member-level-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);opacity:.9}.member-expiry-warning{display:flex;align-items:center;gap:4px;padding:4px 8px;background:#fbbf2433;border-radius:var(--component-radius-sm);font-size:var(--font-size-xs);margin-top:4px}.member-actions{display:flex;gap:var(--component-padding-sm)}.member-action-button{min-width:var(--btn-min-width, 48px);min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);background:#fff3;border:none;border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition-fast);font-size:16px}.member-action-button:hover{background:#ffffff4d;transform:scale(1.05)}.points-display{display:flex;flex-direction:column;background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius);overflow:hidden;transition:all var(--component-transition)}.points-display--compact{padding:var(--component-padding-sm)}.points-display--disabled{opacity:.6}.points-main{display:flex;align-items:center;gap:var(--component-padding);padding:var(--component-padding)}.points-icon{font-size:40px;flex-shrink:0}.points-current{flex:1;display:flex;flex-direction:column}.points-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.points-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--btn-primary-bg)}.points-toggle-button{min-width:var(--btn-min-width, 48px);min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);background:var(--btn-secondary-bg);border:none;border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition-fast);font-size:16px}.points-toggle-button:hover:not(:disabled){background:var(--btn-secondary-hover)}.points-details{display:flex;flex-direction:column;gap:var(--component-padding-sm);padding:var(--component-padding);background:var(--color-bg-secondary);border-top:1px solid var(--component-border)}.points-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.detail-label{display:flex;align-items:center;gap:4px;color:var(--color-text-secondary)}.detail-value{font-weight:var(--font-weight-semibold)}.detail-value.positive{color:var(--color-success)}.detail-value.negative{color:var(--color-error)}.detail-value.total{font-size:var(--font-size-lg);color:var(--btn-primary-bg)}.points-detail-divider{height:1px;background:var(--component-border);margin:var(--component-padding-sm) 0}.points-actions{display:flex;gap:var(--component-padding-sm);padding:var(--component-padding);border-top:1px solid var(--component-border)}.points-action-button{flex:1;min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--btn-secondary-bg);border:none;border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition);display:flex;align-items:center;justify-content:center;gap:4px}.points-action-button:hover{background:var(--btn-primary-bg);color:#fff;transform:translateY(-1px);box-shadow:var(--component-shadow)}.points-disabled-hint{padding:var(--component-padding);background:var(--color-bg-secondary);border-top:1px solid var(--component-border);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;gap:var(--component-padding-sm)}.coupons-list{display:flex;flex-direction:column;background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius);overflow:hidden}.coupons-list--disabled{opacity:.6;pointer-events:none}.coupons-list--empty{padding:var(--component-padding-lg);text-align:center;color:var(--color-text-secondary)}.coupons-header{padding:var(--component-padding);background:var(--color-bg-secondary);border-bottom:1px solid var(--component-border)}.coupons-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.coupons-items{display:flex;flex-direction:column;gap:var(--component-padding-sm);padding:var(--component-padding)}.coupon-item{display:flex;align-items:center;gap:var(--component-padding);padding:var(--component-padding);background:var(--component-bg);border:2px solid var(--component-border);border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition);min-height:var(--btn-min-height, 48px)}.coupon-item:hover{background:var(--component-bg-hover);border-color:var(--btn-primary-bg);box-shadow:var(--component-shadow)}.coupon-item.selected{background:var(--component-bg-active);border-color:var(--btn-primary-bg);box-shadow:var(--component-shadow-hover)}.coupon-icon{font-size:24px;flex-shrink:0}.coupon-info{flex:1;display:flex;flex-direction:column;gap:4px}.coupon-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:var(--line-height-tight)}.coupon-discount{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success)}.view-all-button{min-height:var(--btn-min-height, 48px);padding:var(--component-padding-sm);margin:0 var(--component-padding) var(--component-padding);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);background:var(--btn-secondary-bg);border:none;border-radius:var(--component-radius-sm);cursor:pointer;transition:all var(--component-transition);color:var(--btn-primary-bg)}.view-all-button:hover{background:var(--btn-secondary-hover);transform:translateY(-1px)}.checkout-buttons{display:flex;flex-direction:column;gap:var(--component-padding);padding:var(--component-padding);background:var(--component-bg);border-top:2px solid var(--component-border)}.checkout-buttons--disabled{opacity:.6;pointer-events:none}.checkout-button{min-height:var(--btn-checkout-height, 60px);padding:var(--component-padding);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);border:none;border-radius:var(--component-radius);cursor:pointer;transition:all var(--component-transition);display:flex;align-items:center;justify-content:center;gap:var(--component-padding)}.checkout-button--primary{background:var(--btn-success-bg);color:#fff;box-shadow:var(--component-shadow)}.checkout-button--primary:hover:not(:disabled){background:var(--btn-success-hover);transform:translateY(-2px);box-shadow:var(--component-shadow-hover)}.checkout-button--primary:active:not(:disabled){transform:translateY(0)}.checkout-button:disabled{opacity:.5;cursor:not-allowed}.button-icon{font-size:24px;flex-shrink:0}.button-content{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.button-label{font-size:var(--font-size-base);opacity:.9}.button-amount{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.checkout-secondary-actions{display:flex;gap:var(--component-padding-sm)}.checkout-button--secondary{flex:1;min-height:var(--btn-cancel-height, 48px);background:var(--btn-secondary-bg);color:var(--color-text-primary)}.checkout-button--secondary:hover:not(:disabled){background:var(--btn-secondary-hover)}.checkout-button--secondary.cancel-button:hover:not(:disabled){background:#fee2e2;color:var(--btn-danger-bg)}.button-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.product-selection-area{display:flex;flex-direction:column;height:100%;background:var(--component-bg);border-radius:var(--component-radius);overflow:hidden}.area-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.area-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:var(--component-padding-lg);text-align:center;color:var(--color-text-secondary);gap:var(--component-padding)}.placeholder-icon{font-size:64px;opacity:.3}.placeholder-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.placeholder-description{font-size:var(--font-size-base);color:var(--color-text-secondary)}.placeholder-stats{display:flex;gap:var(--component-padding);font-size:var(--font-size-sm)}.placeholder-hint{padding:var(--component-padding);background:var(--color-bg-secondary);border-radius:var(--component-radius-sm);font-size:var(--font-size-sm)}.shopping-cart-area{display:flex;flex-direction:column;height:100%;background:var(--component-bg);border-radius:var(--component-radius);overflow:hidden}.shopping-cart-area .area-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.checkout-area{display:flex;flex-direction:column;height:100%;background:var(--component-bg);border-radius:var(--component-radius);overflow:hidden}.checkout-area--floating{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-floating-checkout, 1500);height:auto;max-height:50vh;border-radius:var(--component-radius) var(--component-radius) 0 0;box-shadow:var(--component-shadow-active)}.checkout-area .area-content{display:flex;flex-direction:column;gap:var(--component-padding);padding:var(--component-padding);overflow-y:auto}@media (min-width: 1280px){.product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--component-padding)}.cart-item-card,.member-card-member{flex-direction:row}.checkout-buttons{flex-direction:column}}@media (min-width: 768px) and (max-width: 1279px){:root{--component-padding: 12px;--component-gap: 12px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.cart-item-card{flex-direction:row}.cart-item-image-wrapper{width:60px;height:60px}.member-card-member{flex-direction:row}.member-avatar,.member-avatar-placeholder{width:48px;height:48px}.member-level-badge{width:24px;height:24px}.points-icon{font-size:32px}.checkout-button{min-height:56px}}@media (min-width: 600px) and (max-width: 767px){:root{--component-padding: 12px;--component-padding-sm: 8px;--component-gap: 8px}.product-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.cart-item-card{flex-direction:column;align-items:flex-start}.cart-item-image-wrapper{width:100%;height:120px}.member-card-member{flex-direction:column;align-items:center;text-align:center}.checkout-area--floating{padding-bottom:var(--component-padding)}.checkout-buttons{flex-direction:column}.checkout-secondary-actions{flex-direction:row}}@media (max-width: 599px){:root{--component-padding: 12px;--component-padding-sm: 8px;--component-padding-lg: 16px;--component-gap: 8px;--component-radius: 12px}.product-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}.product-card{min-height:auto}.product-image-wrapper{padding-top:100%}.product-info{padding:8px}.product-name{font-size:var(--font-size-sm);-webkit-line-clamp:1}.product-price{font-size:var(--font-size-base)}.cart-item-card{flex-direction:row;padding:12px}.cart-item-image-wrapper{width:60px;height:60px}.cart-item-name{font-size:var(--font-size-sm)}.cart-item-footer{flex-direction:column;align-items:flex-start;gap:8px}.quantity-adjuster{scale:.9}.member-card-member{flex-direction:row;padding:12px}.member-avatar,.member-avatar-placeholder{width:48px;height:48px}.member-name{font-size:var(--font-size-base)}.member-level-badge{width:24px;height:24px}.points-main{padding:12px}.points-icon{font-size:32px}.points-value{font-size:var(--font-size-xl)}.coupon-item{padding:12px}.checkout-button{min-height:56px;padding:12px}.button-amount{font-size:var(--font-size-xl)}.checkout-secondary-actions{flex-direction:column}.search-input{font-size:16px;min-height:48px}.tabs-container{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs-container::-webkit-scrollbar{display:none}.category-tab{flex-shrink:0;min-width:80px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--component-transition) ease-out}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in{animation:slideIn var(--component-transition) ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.scale-in{animation:scaleIn var(--component-transition-fast) ease-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.bounce{animation:bounce .6s ease-out}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.shake{animation:shake .4s ease-out}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.pulse{animation:pulse 1.5s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:.5}}.blink{animation:blink 1s ease-in-out infinite}@keyframes addToCart{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.product-card.adding{animation:addToCart .3s ease-out}@keyframes quantityChange{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.quantity-display.changing{animation:quantityChange .3s ease-out}@keyframes pointsIncrease{0%{transform:translateY(0);color:var(--btn-primary-bg)}50%{transform:translateY(-5px);color:var(--color-success)}to{transform:translateY(0);color:var(--btn-primary-bg)}}.points-value.increasing{animation:pointsIncrease .5s ease-out}@keyframes couponSelect{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.coupon-item.selecting{animation:couponSelect .3s ease-out}@keyframes checkoutReady{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 10px #10b98100}}.checkout-button--primary.ready{animation:checkoutReady 1.5s ease-out infinite}.pressable{transition:transform var(--component-transition-fast)}.pressable:active{transform:scale(.97)}.hoverable{transition:all var(--component-transition)}.hoverable:hover{transform:translateY(-2px);box-shadow:var(--component-shadow-hover)}.focusable:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}.selectable{transition:all var(--component-transition)}.selectable.selected{transform:scale(1.02);box-shadow:0 0 0 3px #3b82f64d}.loading-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-text{margin-top:var(--component-padding-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media (prefers-contrast: high){.product-card,.cart-item-card,.member-card,.coupon-item{border-width:3px}.checkout-button--primary{border:3px solid var(--color-text-primary)}.search-input:focus,.quantity-input:focus{border-width:3px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.loading-spinner{animation:none;border-top-color:var(--btn-primary-bg)}.skeleton-item{animation:none;background:var(--color-bg-secondary)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (hover: none) and (pointer: coarse){.hoverable:hover{transform:none}.hoverable:active{transform:scale(.98);opacity:.9}.search-icon,.clear-button,.cart-clear-button,.quantity-button,.member-action-button,.points-action-button{min-width:48px;min-height:48px}.product-card:hover,.cart-item-card:hover,.coupon-item:hover{box-shadow:none;transform:none}}@media print{.search-bar,.category-tabs,.cart-clear-button,.quantity-adjuster,.cart-item-remove-button,.member-actions,.points-actions,.checkout-buttons{display:none!important}.product-card,.cart-item-card,.member-card,.coupon-item{page-break-inside:avoid;border:1px solid #000;box-shadow:none}.checkout-area{position:static;height:auto;border-radius:0}*{color:#000!important;background:#fff!important}}@media (prefers-color-scheme: dark){:root{--component-bg: #1F2937;--component-bg-hover: #374151;--component-bg-active: #1E3A8A;--component-border: #374151;--product-card-bg: #1F2937;--product-card-hover: #374151;--product-card-selected: #1E3A8A;--product-card-border: #4B5563;--cart-item-bg: #1F2937;--cart-item-hover: #374151;--cart-item-border: #374151;--color-text-primary: #F9FAFB;--color-text-secondary: #D1D5DB;--color-text-tertiary: #9CA3AF;--color-bg-primary: #111827;--color-bg-secondary: #1F2937;--color-bg-tertiary: #374151}.member-card-member{background:linear-gradient(135deg,#4c1d95,#581c87)}.loading-overlay{background:#000c}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}:root{--category-red-bg: #FEF2F2;--category-red-bg-hover: #FEE2E2;--category-red-bg-active: #FECACA;--category-red-border: #FECACA;--category-red-border-active: #EF4444;--category-red-text: #991B1B;--category-red-stripe: #EF4444;--category-orange-bg: #FFF7ED;--category-orange-bg-hover: #FFEDD5;--category-orange-bg-active: #FED7AA;--category-orange-border: #FED7AA;--category-orange-border-active: #F97316;--category-orange-text: #9A3412;--category-orange-stripe: #F97316;--category-amber-bg: #FFFBEB;--category-amber-bg-hover: #FEF3C7;--category-amber-bg-active: #FDE68A;--category-amber-border: #FDE68A;--category-amber-border-active: #F59E0B;--category-amber-text: #92400E;--category-amber-stripe: #F59E0B;--category-emerald-bg: #ECFDF5;--category-emerald-bg-hover: #D1FAE5;--category-emerald-bg-active: #A7F3D0;--category-emerald-border: #A7F3D0;--category-emerald-border-active: #10B981;--category-emerald-text: #065F46;--category-emerald-stripe: #10B981;--category-teal-bg: #F0FDFA;--category-teal-bg-hover: #CCFBF1;--category-teal-bg-active: #99F6E4;--category-teal-border: #99F6E4;--category-teal-border-active: #14B8A6;--category-teal-text: #115E59;--category-teal-stripe: #14B8A6;--category-sky-bg: #F0F9FF;--category-sky-bg-hover: #E0F2FE;--category-sky-bg-active: #BAE6FD;--category-sky-border: #BAE6FD;--category-sky-border-active: #0EA5E9;--category-sky-text: #075985;--category-sky-stripe: #0EA5E9;--category-blue-bg: #EFF6FF;--category-blue-bg-hover: #DBEAFE;--category-blue-bg-active: #BFDBFE;--category-blue-border: #BFDBFE;--category-blue-border-active: #3B82F6;--category-blue-text: #1E40AF;--category-blue-stripe: #3B82F6;--category-indigo-bg: #EEF2FF;--category-indigo-bg-hover: #E0E7FF;--category-indigo-bg-active: #C7D2FE;--category-indigo-border: #C7D2FE;--category-indigo-border-active: #6366F1;--category-indigo-text: #3730A3;--category-indigo-stripe: #6366F1;--category-purple-bg: #FAF5FF;--category-purple-bg-hover: #F3E8FF;--category-purple-bg-active: #E9D5FF;--category-purple-border: #E9D5FF;--category-purple-border-active: #A855F7;--category-purple-text: #6B21A8;--category-purple-stripe: #A855F7;--category-pink-bg: #FDF2F8;--category-pink-bg-hover: #FCE7F3;--category-pink-bg-active: #FBCFE8;--category-pink-border: #FBCFE8;--category-pink-border-active: #EC4899;--category-pink-text: #9D174D;--category-pink-stripe: #EC4899;--category-rose-bg: #FFF1F2;--category-rose-bg-hover: #FFE4E6;--category-rose-bg-active: #FECDD3;--category-rose-border: #FECDD3;--category-rose-border-active: #F43F5E;--category-rose-text: #9F1239;--category-rose-stripe: #F43F5E;--category-gray-bg: #F9FAFB;--category-gray-bg-hover: #F3F4F6;--category-gray-bg-active: #E5E7EB;--category-gray-border: #E5E7EB;--category-gray-border-active: #6B7280;--category-gray-text: #374151;--category-gray-stripe: #6B7280;--category-default-bg: #F8FAFC;--category-default-border: #E2E8F0;--category-default-text: #475569;--category-default-stripe: #3B82F6;--action-checkout: #10B981;--action-checkout-hover: #059669;--action-checkout-active: #047857;--action-member: #8B5CF6;--action-member-hover: #7C3AED;--action-member-active: #6D28D9;--action-discount: #F97316;--action-discount-hover: #EA580C;--action-discount-active: #C2410C;--action-coupon: #EC4899;--action-coupon-hover: #DB2777;--action-coupon-active: #BE185D;--action-hold: #3B82F6;--action-hold-hover: #2563EB;--action-hold-active: #1D4ED8;--action-cancel: #EF4444;--action-cancel-hover: #DC2626;--action-cancel-active: #B91C1C;--action-scan: #14B8A6;--action-scan-hover: #0D9488;--action-scan-active: #0F766E;--action-print: #6366F1;--action-print-hover: #4F46E5;--action-print-active: #4338CA;--action-refund: #F59E0B;--action-refund-hover: #D97706;--action-refund-active: #B45309;--action-points: #EAB308;--action-points-hover: #CA8A04;--action-points-active: #A16207;--stock-high-bg: #ECFDF5;--stock-high-text: #059669;--stock-high-border: #A7F3D0;--stock-medium-bg: #FFFBEB;--stock-medium-text: #D97706;--stock-medium-border: #FDE68A;--stock-low-bg: #FEF2F2;--stock-low-text: #DC2626;--stock-low-border: #FECACA;--stock-out-bg: #F3F4F6;--stock-out-text: #6B7280;--stock-out-border: #D1D5DB;--status-success: #10B981;--status-pending: #F59E0B;--status-failed: #EF4444;--status-refunded: #8B5CF6;--status-voided: #6B7280;--cart-header-bg: #3B82F6;--cart-item-bg: #FFFFFF;--cart-item-hover: #F8FAFC;--cart-total-bg: #F8FAFC;--cart-total-text: #1E40AF;--checkout-gradient: linear-gradient(135deg, #10B981 0%, #059669 100%);--checkout-gradient-hover: linear-gradient(135deg, #059669 0%, #047857 100%);--checkout-shadow: 0 4px 14px rgba(16, 185, 129, .4)}@media (prefers-color-scheme: dark){:root{--category-default-bg: #1E293B;--category-default-border: #334155;--category-default-text: #CBD5E1;--cart-item-bg: #1E293B;--cart-item-hover: #334155;--cart-total-bg: #0F172A}}.category-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;border:2px solid;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.category-btn:hover{transform:translateY(-1px)}.category-btn:active{transform:translateY(0)}.category-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.product-category-stripe{border-left-width:4px;border-left-style:solid}.action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px;border-radius:12px;border:2px solid;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.action-btn:active{transform:translateY(0)}.action-btn--checkout{background:var(--action-checkout);border-color:var(--action-checkout)}.action-btn--checkout:hover{background:var(--action-checkout-hover)}.action-btn--member{background:var(--action-member);border-color:var(--action-member)}.action-btn--member:hover{background:var(--action-member-hover)}.action-btn--discount{background:var(--action-discount);border-color:var(--action-discount)}.action-btn--discount:hover{background:var(--action-discount-hover)}.action-btn--coupon{background:var(--action-coupon);border-color:var(--action-coupon)}.action-btn--coupon:hover{background:var(--action-coupon-hover)}.action-btn--hold{background:var(--action-hold);border-color:var(--action-hold)}.action-btn--hold:hover{background:var(--action-hold-hover)}.action-btn--cancel{background:var(--action-cancel);border-color:var(--action-cancel)}.action-btn--cancel:hover{background:var(--action-cancel-hover)}.action-btn--scan{background:var(--action-scan);border-color:var(--action-scan)}.action-btn--scan:hover{background:var(--action-scan-hover)}.stock-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.stock-badge--high{background:var(--stock-high-bg);color:var(--stock-high-text);border:1px solid var(--stock-high-border)}.stock-badge--medium{background:var(--stock-medium-bg);color:var(--stock-medium-text);border:1px solid var(--stock-medium-border)}.stock-badge--low{background:var(--stock-low-bg);color:var(--stock-low-text);border:1px solid var(--stock-low-border)}.stock-badge--out{background:var(--stock-out-bg);color:var(--stock-out-text);border:1px solid var(--stock-out-border)}.btn-checkout-primary{background:var(--checkout-gradient);color:#fff;border:none;border-radius:12px;padding:16px 32px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:var(--checkout-shadow)}.btn-checkout-primary:hover{background:var(--checkout-gradient-hover);transform:translateY(-2px);box-shadow:0 6px 20px #10b98180}.btn-checkout-primary:active{transform:translateY(0)}.btn-checkout-primary:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed}:root{--phoenix-primary-50: #EFF6FF;--phoenix-primary-100: #DBEAFE;--phoenix-primary-200: #BFDBFE;--phoenix-primary-300: #93C5FD;--phoenix-primary-400: #60A5FA;--phoenix-primary-500: #3B82F6;--phoenix-primary-600: #2563EB;--phoenix-primary-700: #1D4ED8;--phoenix-primary-800: #1E40AF;--phoenix-primary-900: #1E3A8A;--phoenix-primary: var(--phoenix-primary-500);--phoenix-cta: #F97316;--phoenix-cta-hover: #EA580C;--phoenix-cta-active: #C2410C;--phoenix-success: #22C55E;--phoenix-success-light: #DCFCE7;--phoenix-success-dark: #16A34A;--phoenix-warning: #F59E0B;--phoenix-warning-light: #FEF3C7;--phoenix-warning-dark: #D97706;--phoenix-error: #EF4444;--phoenix-error-light: #FEE2E2;--phoenix-error-dark: #DC2626;--phoenix-info: #3B82F6;--phoenix-info-light: #DBEAFE;--phoenix-info-dark: #2563EB;--phoenix-neutral-50: #F8FAFC;--phoenix-neutral-100: #F1F5F9;--phoenix-neutral-200: #E2E8F0;--phoenix-neutral-300: #CBD5E1;--phoenix-neutral-400: #94A3B8;--phoenix-neutral-500: #64748B;--phoenix-neutral-600: #475569;--phoenix-neutral-700: #334155;--phoenix-neutral-800: #1E293B;--phoenix-neutral-900: #0F172A;--phoenix-text-primary: #0F172A;--phoenix-text-secondary: #475569;--phoenix-text-muted: #94A3B8;--phoenix-text-inverse: #FFFFFF;--phoenix-surface-primary: #FFFFFF;--phoenix-surface-secondary: #F8FAFC;--phoenix-surface-card: #FFFFFF;--phoenix-surface-elevated: #FFFFFF;--phoenix-surface-overlay: rgba(15, 23, 42, .5);--phoenix-border: #E2E8F0;--phoenix-border-light: #F1F5F9;--phoenix-border-dark: #CBD5E1;--phoenix-border-focus: var(--phoenix-primary-500);--phoenix-space-0: 0;--phoenix-space-1: 4px;--phoenix-space-2: 8px;--phoenix-space-3: 12px;--phoenix-space-4: 16px;--phoenix-space-5: 20px;--phoenix-space-6: 24px;--phoenix-space-8: 32px;--phoenix-space-10: 40px;--phoenix-space-12: 48px;--phoenix-space-16: 64px;--phoenix-radius-none: 0;--phoenix-radius-sm: 4px;--phoenix-radius-md: 6px;--phoenix-radius-lg: 8px;--phoenix-radius-xl: 12px;--phoenix-radius-2xl: 16px;--phoenix-radius-3xl: 24px;--phoenix-radius-full: 9999px;--phoenix-shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--phoenix-shadow-sm: 0 2px 4px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--phoenix-shadow-md: 0 4px 8px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04);--phoenix-shadow-lg: 0 8px 16px rgba(0, 0, 0, .1), 0 4px 8px rgba(0, 0, 0, .06);--phoenix-shadow-xl: 0 16px 32px rgba(0, 0, 0, .12), 0 8px 16px rgba(0, 0, 0, .08);--phoenix-shadow-2xl: 0 24px 48px rgba(0, 0, 0, .16), 0 12px 24px rgba(0, 0, 0, .1);--phoenix-shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06);--phoenix-shadow-modal: 0 20px 40px rgba(0, 0, 0, .15), 0 8px 16px rgba(0, 0, 0, .1);--phoenix-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans TC", sans-serif;--phoenix-font-mono: "SF Mono", "JetBrains Mono", "Fira Code", "Consolas", monospace;--phoenix-text-xs: 11px;--phoenix-text-sm: 13px;--phoenix-text-base: 14px;--phoenix-text-md: 15px;--phoenix-text-lg: 16px;--phoenix-text-xl: 18px;--phoenix-text-2xl: 20px;--phoenix-text-3xl: 24px;--phoenix-text-4xl: 30px;--phoenix-font-normal: 400;--phoenix-font-medium: 500;--phoenix-font-semibold: 600;--phoenix-font-bold: 700;--phoenix-leading-tight: 1.25;--phoenix-leading-normal: 1.5;--phoenix-leading-relaxed: 1.75;--phoenix-duration-instant: 50ms;--phoenix-duration-fast: .15s;--phoenix-duration-normal: .2s;--phoenix-duration-slow: .3s;--phoenix-duration-slower: .5s;--phoenix-easing-linear: linear;--phoenix-easing-in: cubic-bezier(.4, 0, 1, 1);--phoenix-easing-out: cubic-bezier(0, 0, .2, 1);--phoenix-easing-in-out: cubic-bezier(.4, 0, .2, 1);--phoenix-easing-bounce: cubic-bezier(.68, -.55, .265, 1.55);--phoenix-touch-target-min: 44px;--phoenix-touch-target-comfortable: 48px;--phoenix-touch-target-large: 56px;--phoenix-z-base: 0;--phoenix-z-dropdown: 100;--phoenix-z-sticky: 200;--phoenix-z-fixed: 300;--phoenix-z-modal-backdrop: 400;--phoenix-z-modal: 500;--phoenix-z-popover: 600;--phoenix-z-tooltip: 700;--phoenix-z-toast: 800;--phoenix-z-max: 9999}.phoenix-modal-backdrop,.phoenix-overlay{position:fixed;inset:0;background:var(--phoenix-surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--phoenix-z-modal-backdrop);animation:phoenixFadeIn var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--phoenix-z-modal);width:90%;max-width:560px;max-height:90vh;background:var(--phoenix-surface-card);border-radius:var(--phoenix-radius-2xl);box-shadow:var(--phoenix-shadow-modal);overflow:hidden;display:flex;flex-direction:column;animation:phoenixModalIn var(--phoenix-duration-normal) var(--phoenix-easing-out)}.phoenix-modal--sm{max-width:400px}.phoenix-modal--md{max-width:560px}.phoenix-modal--lg{max-width:720px}.phoenix-modal--xl{max-width:900px}.phoenix-modal--full{max-width:calc(100vw - 48px);max-height:calc(100vh - 48px)}.phoenix-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--phoenix-space-4) var(--phoenix-space-6);border-bottom:1px solid var(--phoenix-border);background:var(--phoenix-surface-secondary);flex-shrink:0}.phoenix-modal__title{font-size:var(--phoenix-text-xl);font-weight:var(--phoenix-font-semibold);color:var(--phoenix-text-primary);margin:0;font-family:var(--phoenix-font-sans)}.phoenix-modal__subtitle{font-size:var(--phoenix-text-sm);color:var(--phoenix-text-muted);margin-top:var(--phoenix-space-1)}.phoenix-modal__close{display:flex;align-items:center;justify-content:center;width:var(--phoenix-touch-target-min);height:var(--phoenix-touch-target-min);border:none;background:transparent;color:var(--phoenix-text-muted);border-radius:var(--phoenix-radius-lg);cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-modal__close:hover{background:var(--phoenix-neutral-100);color:var(--phoenix-text-primary)}.phoenix-modal__close:focus-visible{outline:2px solid var(--phoenix-primary);outline-offset:2px}.phoenix-modal__body{flex:1;overflow-y:auto;padding:var(--phoenix-space-6);overscroll-behavior:contain}.phoenix-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--phoenix-space-3);padding:var(--phoenix-space-4) var(--phoenix-space-6);border-top:1px solid var(--phoenix-border);background:var(--phoenix-surface-secondary);flex-shrink:0}.phoenix-modal__footer--spread{justify-content:space-between}.phoenix-dialog{max-width:420px;text-align:center}.phoenix-dialog .phoenix-modal__body{padding:var(--phoenix-space-8) var(--phoenix-space-6)}.phoenix-dialog__icon{width:64px;height:64px;margin:0 auto var(--phoenix-space-4);border-radius:var(--phoenix-radius-full);display:flex;align-items:center;justify-content:center;font-size:28px}.phoenix-dialog__icon--success{background:var(--phoenix-success-light);color:var(--phoenix-success)}.phoenix-dialog__icon--warning{background:var(--phoenix-warning-light);color:var(--phoenix-warning)}.phoenix-dialog__icon--error{background:var(--phoenix-error-light);color:var(--phoenix-error)}.phoenix-dialog__icon--info{background:var(--phoenix-info-light);color:var(--phoenix-info)}.phoenix-dialog__title{font-size:var(--phoenix-text-xl);font-weight:var(--phoenix-font-semibold);color:var(--phoenix-text-primary);margin:0 0 var(--phoenix-space-2)}.phoenix-dialog__message{font-size:var(--phoenix-text-base);color:var(--phoenix-text-secondary);line-height:var(--phoenix-leading-relaxed);margin:0}.phoenix-dialog .phoenix-modal__footer{justify-content:center}.phoenix-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--phoenix-space-2);min-height:var(--phoenix-touch-target-min);padding:var(--phoenix-space-2) var(--phoenix-space-4);font-size:var(--phoenix-text-base);font-weight:var(--phoenix-font-medium);font-family:var(--phoenix-font-sans);border-radius:var(--phoenix-radius-lg);border:none;cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out);white-space:nowrap}.phoenix-btn:focus-visible{outline:2px solid var(--phoenix-primary);outline-offset:2px}.phoenix-btn:disabled{opacity:.5;cursor:not-allowed}.phoenix-btn--primary{background:linear-gradient(135deg,var(--phoenix-cta) 0%,var(--phoenix-cta-hover) 100%);color:var(--phoenix-text-inverse);box-shadow:0 4px 12px #f973164d}.phoenix-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--phoenix-cta-hover) 0%,var(--phoenix-cta-active) 100%);box-shadow:0 6px 16px #f9731666;transform:translateY(-1px)}.phoenix-btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #f973164d}.phoenix-btn--secondary{background:var(--phoenix-neutral-100);color:var(--phoenix-text-secondary);border:1px solid var(--phoenix-border)}.phoenix-btn--secondary:hover:not(:disabled){background:var(--phoenix-neutral-200);color:var(--phoenix-text-primary);border-color:var(--phoenix-border-dark)}.phoenix-btn--ghost{background:transparent;color:var(--phoenix-text-secondary)}.phoenix-btn--ghost:hover:not(:disabled){background:var(--phoenix-neutral-100);color:var(--phoenix-text-primary)}.phoenix-btn--danger{background:linear-gradient(135deg,var(--phoenix-error) 0%,var(--phoenix-error-dark) 100%);color:var(--phoenix-text-inverse);box-shadow:0 4px 12px #ef44444d}.phoenix-btn--danger:hover:not(:disabled){box-shadow:0 6px 16px #ef444466;transform:translateY(-1px)}.phoenix-btn--success{background:linear-gradient(135deg,var(--phoenix-success) 0%,var(--phoenix-success-dark) 100%);color:var(--phoenix-text-inverse);box-shadow:0 4px 12px #22c55e4d}.phoenix-btn--success:hover:not(:disabled){box-shadow:0 6px 16px #22c55e66;transform:translateY(-1px)}.phoenix-btn--sm{min-height:36px;padding:var(--phoenix-space-1) var(--phoenix-space-3);font-size:var(--phoenix-text-sm)}.phoenix-btn--lg{min-height:var(--phoenix-touch-target-comfortable);padding:var(--phoenix-space-3) var(--phoenix-space-6);font-size:var(--phoenix-text-lg)}.phoenix-btn--xl{min-height:var(--phoenix-touch-target-large);padding:var(--phoenix-space-4) var(--phoenix-space-8);font-size:var(--phoenix-text-xl)}.phoenix-btn--full{width:100%}.phoenix-checkout{display:flex;flex-direction:column;height:100%;background:var(--phoenix-surface-secondary)}.phoenix-checkout__header{padding:var(--phoenix-space-4);background:var(--phoenix-surface-card);border-bottom:1px solid var(--phoenix-border)}.phoenix-checkout__title{font-size:var(--phoenix-text-lg);font-weight:var(--phoenix-font-semibold);color:var(--phoenix-text-primary);margin:0}.phoenix-checkout__content{flex:1;overflow-y:auto;padding:var(--phoenix-space-4)}.phoenix-checkout__footer{padding:var(--phoenix-space-4);background:var(--phoenix-surface-card);border-top:1px solid var(--phoenix-border)}.phoenix-checkout__summary{background:var(--phoenix-surface-card);border-radius:var(--phoenix-radius-xl);padding:var(--phoenix-space-4);margin-bottom:var(--phoenix-space-4);border:1px solid var(--phoenix-border)}.phoenix-checkout__summary-row{display:flex;justify-content:space-between;align-items:center;padding:var(--phoenix-space-2) 0}.phoenix-checkout__summary-row--total{padding-top:var(--phoenix-space-3);margin-top:var(--phoenix-space-2);border-top:2px solid var(--phoenix-border)}.phoenix-checkout__summary-label{font-size:var(--phoenix-text-base);color:var(--phoenix-text-secondary)}.phoenix-checkout__summary-value{font-size:var(--phoenix-text-base);font-weight:var(--phoenix-font-medium);color:var(--phoenix-text-primary);font-family:var(--phoenix-font-mono);font-variant-numeric:tabular-nums}.phoenix-checkout__summary-row--total .phoenix-checkout__summary-label{font-size:var(--phoenix-text-lg);font-weight:var(--phoenix-font-semibold);color:var(--phoenix-text-primary)}.phoenix-checkout__summary-row--total .phoenix-checkout__summary-value{font-size:var(--phoenix-text-2xl);font-weight:var(--phoenix-font-bold);color:var(--phoenix-primary-700)}.phoenix-checkout__discount{color:var(--phoenix-error)}.phoenix-payment-methods{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--phoenix-space-3)}.phoenix-payment-method{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--phoenix-space-2);min-height:80px;padding:var(--phoenix-space-3);background:var(--phoenix-surface-card);border:2px solid var(--phoenix-border);border-radius:var(--phoenix-radius-xl);cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-payment-method:hover{border-color:var(--phoenix-primary-300);background:var(--phoenix-primary-50)}.phoenix-payment-method--selected{border-color:var(--phoenix-primary);background:var(--phoenix-primary-50);box-shadow:0 0 0 3px var(--phoenix-primary-100)}.phoenix-payment-method__icon{font-size:28px}.phoenix-payment-method__label{font-size:var(--phoenix-text-sm);font-weight:var(--phoenix-font-medium);color:var(--phoenix-text-primary)}.phoenix-input{width:100%;min-height:var(--phoenix-touch-target-min);padding:var(--phoenix-space-2) var(--phoenix-space-3);font-size:var(--phoenix-text-base);font-family:var(--phoenix-font-sans);color:var(--phoenix-text-primary);background:var(--phoenix-surface-card);border:2px solid var(--phoenix-border);border-radius:var(--phoenix-radius-lg);transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-input:hover{border-color:var(--phoenix-border-dark)}.phoenix-input:focus{outline:none;border-color:var(--phoenix-primary);box-shadow:0 0 0 3px var(--phoenix-primary-100)}.phoenix-input::-moz-placeholder{color:var(--phoenix-text-muted)}.phoenix-input::placeholder{color:var(--phoenix-text-muted)}.phoenix-input:disabled{background:var(--phoenix-neutral-100);color:var(--phoenix-text-muted);cursor:not-allowed}.phoenix-input--numeric{font-family:var(--phoenix-font-mono);font-variant-numeric:tabular-nums;text-align:right}.phoenix-input--large{min-height:var(--phoenix-touch-target-large);font-size:var(--phoenix-text-2xl);font-weight:var(--phoenix-font-semibold);padding:var(--phoenix-space-3) var(--phoenix-space-4)}.phoenix-form-group{margin-bottom:var(--phoenix-space-4)}.phoenix-form-label{display:block;margin-bottom:var(--phoenix-space-1);font-size:var(--phoenix-text-sm);font-weight:var(--phoenix-font-medium);color:var(--phoenix-text-secondary)}.phoenix-form-helper{margin-top:var(--phoenix-space-1);font-size:var(--phoenix-text-xs);color:var(--phoenix-text-muted)}.phoenix-form-error{margin-top:var(--phoenix-space-1);font-size:var(--phoenix-text-xs);color:var(--phoenix-error)}.phoenix-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--phoenix-space-2);padding:var(--phoenix-space-3);background:var(--phoenix-surface-secondary);border-radius:var(--phoenix-radius-xl)}.phoenix-numpad__key{display:flex;align-items:center;justify-content:center;min-height:var(--phoenix-touch-target-comfortable);font-size:var(--phoenix-text-xl);font-weight:var(--phoenix-font-semibold);font-family:var(--phoenix-font-mono);color:var(--phoenix-text-primary);background:var(--phoenix-surface-card);border:1px solid var(--phoenix-border);border-radius:var(--phoenix-radius-lg);cursor:pointer;transition:all var(--phoenix-duration-fast) var(--phoenix-easing-out)}.phoenix-numpad__key:hover{background:var(--phoenix-neutral-100)}.phoenix-numpad__key:active{background:var(--phoenix-neutral-200);transform:scale(.98)}.phoenix-numpad__key--action{background:var(--phoenix-primary-100);color:var(--phoenix-primary-700);border-color:var(--phoenix-primary-200)}.phoenix-numpad__key--action:hover{background:var(--phoenix-primary-200)}.phoenix-numpad__key--clear{background:var(--phoenix-error-light);color:var(--phoenix-error);border-color:var(--phoenix-error)}.phoenix-numpad__key--clear:hover{background:var(--phoenix-error);color:var(--phoenix-text-inverse)}@keyframes phoenixFadeIn{0%{opacity:0}to{opacity:1}}@keyframes phoenixFadeOut{0%{opacity:1}to{opacity:0}}@keyframes phoenixModalIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes phoenixModalOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.95)}}@keyframes phoenixSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes phoenixSlideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes phoenixPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes phoenixSpin{to{transform:rotate(360deg)}}@keyframes phoenixSkeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.phoenix-animate-fade-in{animation:phoenixFadeIn var(--phoenix-duration-normal) var(--phoenix-easing-out)}.phoenix-animate-slide-up{animation:phoenixSlideUp var(--phoenix-duration-normal) var(--phoenix-easing-out)}.phoenix-animate-pulse{animation:phoenixPulse 2s var(--phoenix-easing-in-out) infinite}.phoenix-animate-spin{animation:phoenixSpin 1s linear infinite}.phoenix-spinner{width:24px;height:24px;border:3px solid var(--phoenix-border);border-top-color:var(--phoenix-primary);border-radius:var(--phoenix-radius-full);animation:phoenixSpin .8s linear infinite}.phoenix-spinner--sm{width:16px;height:16px;border-width:2px}.phoenix-spinner--lg{width:32px;height:32px;border-width:4px}.phoenix-skeleton{background:linear-gradient(90deg,var(--phoenix-neutral-200) 25%,var(--phoenix-neutral-100) 50%,var(--phoenix-neutral-200) 75%);background-size:200% 100%;animation:phoenixSkeleton 1.5s ease-in-out infinite;border-radius:var(--phoenix-radius-md)}.phoenix-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--phoenix-space-1) var(--phoenix-space-2);font-size:var(--phoenix-text-xs);font-weight:var(--phoenix-font-semibold);border-radius:var(--phoenix-radius-full)}.phoenix-badge--primary{background:var(--phoenix-primary-100);color:var(--phoenix-primary-700)}.phoenix-badge--success{background:var(--phoenix-success-light);color:var(--phoenix-success-dark)}.phoenix-badge--warning{background:var(--phoenix-warning-light);color:var(--phoenix-warning-dark)}.phoenix-badge--error{background:var(--phoenix-error-light);color:var(--phoenix-error-dark)}.phoenix-badge--neutral{background:var(--phoenix-neutral-200);color:var(--phoenix-text-secondary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.phoenix-modal,.phoenix-modal-backdrop{animation:none}}@media (prefers-contrast: high){.phoenix-modal{border:3px solid var(--phoenix-text-primary)}.phoenix-btn{border:2px solid currentColor}.phoenix-input{border-width:3px}}:focus-visible{outline:2px solid var(--phoenix-primary);outline-offset:2px}.phoenix-skip-link{position:absolute;top:-100px;left:var(--phoenix-space-4);padding:var(--phoenix-space-2) var(--phoenix-space-4);background:var(--phoenix-primary);color:var(--phoenix-text-inverse);border-radius:var(--phoenix-radius-lg);z-index:var(--phoenix-z-max);transition:top var(--phoenix-duration-fast)}.phoenix-skip-link:focus{top:var(--phoenix-space-4)}@media (max-width: 768px){.phoenix-modal{width:100%;max-width:none;max-height:100%;border-radius:var(--phoenix-radius-2xl) var(--phoenix-radius-2xl) 0 0;inset:auto 0 0;transform:none;animation:phoenixSlideUp var(--phoenix-duration-normal) var(--phoenix-easing-out)}.phoenix-modal--full{border-radius:0}.phoenix-payment-methods{grid-template-columns:repeat(2,1fr)}.phoenix-btn--lg,.phoenix-btn--xl{width:100%}.phoenix-input{font-size:16px}}@media (prefers-color-scheme: dark){:root{--phoenix-surface-primary: #0F172A;--phoenix-surface-secondary: #1E293B;--phoenix-surface-card: #1E293B;--phoenix-surface-elevated: #334155;--phoenix-surface-overlay: rgba(0, 0, 0, .7);--phoenix-text-primary: #F1F5F9;--phoenix-text-secondary: #94A3B8;--phoenix-text-muted: #64748B;--phoenix-border: #334155;--phoenix-border-light: #1E293B;--phoenix-border-dark: #475569}}.phoenix-dark{--phoenix-surface-primary: #0F172A;--phoenix-surface-secondary: #1E293B;--phoenix-surface-card: #1E293B;--phoenix-surface-elevated: #334155;--phoenix-surface-overlay: rgba(0, 0, 0, .7);--phoenix-text-primary: #F1F5F9;--phoenix-text-secondary: #94A3B8;--phoenix-text-muted: #64748B;--phoenix-border: #334155;--phoenix-border-light: #1E293B;--phoenix-border-dark: #475569}@media (max-width: 1024px){.pos-page,.pos-main{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important;height:auto!important;min-height:calc(100vh - 56px)!important}.product-card,.phoenix-product-card{min-height:80px!important}.pos-right-section{max-height:none!important;height:auto!important}.pos-transaction{max-height:none!important}}@media (max-width: 768px){.product-grid,.phoenix-product-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.stats-bar,.pos-stats-bar,.compact-stats-bar{font-size:13px!important;padding:8px!important;gap:8px!important;overflow-x:auto!important;flex-wrap:nowrap!important;-webkit-overflow-scrolling:touch}.search-bar,.phoenix-search-bar,.pos-search-bar{font-size:16px!important}}@media (max-width: 480px){.product-grid,.phoenix-product-grid{grid-template-columns:repeat(2,1fr)!important;gap:6px!important;padding:0 4px!important}.product-card,.phoenix-product-card{padding:8px!important;border-radius:10px!important}.product-card .product-name,.phoenix-product-card .product-name{font-size:13px!important;line-height:1.3!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.product-card .product-price,.phoenix-product-card .product-price{font-size:15px!important;font-weight:700!important}}@media (max-width: 1024px){.dashboard-enhanced,.dashboard-container{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}@media (max-width: 1024px){.members-page,.member-list-container{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}@media (max-width: 1024px){.page-content,.standard-page-template{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))!important}}@media (max-width: 1024px){.navbar-left .logo-wrapper{display:none!important}}:root{--m-primary: #6366f1;--m-primary-light: #818cf8;--m-primary-bg: #eef2ff;--m-success: #22c55e;--m-success-bg: #f0fdf4;--m-warning: #f59e0b;--m-warning-bg: #fffbeb;--m-danger: #ef4444;--m-danger-bg: #fef2f2;--m-bg: #f8fafc;--m-card: #ffffff;--m-text: #1e293b;--m-text-secondary: #64748b;--m-text-muted: #94a3b8;--m-border: #e2e8f0;--m-radius: 12px;--m-radius-sm: 8px;--m-radius-lg: 16px;--m-shadow: 0 1px 3px rgba(0,0,0,.08);--m-shadow-md: 0 4px 12px rgba(0,0,0,.1);--m-font-xs: 12px;--m-font-sm: 14px;--m-font-base: 16px;--m-font-lg: 18px;--m-font-xl: 24px;--m-font-hero: 36px;--m-space-xs: 4px;--m-space-sm: 8px;--m-space-md: 16px;--m-space-lg: 24px;--m-space-xl: 32px;--m-touch: 44px;--m-header-h: 48px;--m-nav-h: 64px;--m-safe-bottom: env(safe-area-inset-bottom, 0px)}
