:root{color-scheme:light;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-active: #1d4ed8;--color-secondary: #6b7280;--color-secondary-hover: #4b5563;--color-danger: #ef4444;--color-danger-hover: #dc2626;--color-danger-bg: rgba(239, 68, 68, .1);--color-success: #10b981;--color-success-bg: rgba(16, 185, 129, .1);--color-warning: #f59e0b;--color-warning-bg: rgba(245, 158, 11, .1);--color-bg: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #f3f4f6;--color-bg-hover: #e5e7eb;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--color-border-focus: var(--color-primary);--color-text: #111827;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-text-inverse: #ffffff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--admin-header-bg: var(--color-bg);--admin-header-border: var(--color-border);--admin-nav-bg: var(--color-bg-secondary)}[data-theme=dark]{color-scheme:dark;--color-primary: #60a5fa;--color-primary-hover: #3b82f6;--color-primary-active: #2563eb;--color-secondary: #9ca3af;--color-secondary-hover: #d1d5db;--color-danger: #f87171;--color-danger-hover: #ef4444;--color-danger-bg: rgba(248, 113, 113, .15);--color-success: #34d399;--color-success-bg: rgba(52, 211, 153, .15);--color-warning: #fbbf24;--color-warning-bg: rgba(251, 191, 36, .15);--color-bg: #111827;--color-bg-secondary: #1f2937;--color-bg-tertiary: #374151;--color-bg-hover: #4b5563;--color-border: #374151;--color-border-hover: #4b5563;--color-text: #f9fafb;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-inverse: #111827;--admin-header-bg: var(--color-bg-secondary);--admin-header-border: var(--color-border);--admin-nav-bg: var(--color-bg-tertiary)}:root{--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", "Fira Code", "Fira Mono", Menlo, Consolas, 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-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-lg)}p{line-height:var(--line-height-relaxed)}code,pre{font-family:var(--font-family-mono)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;background-color:var(--color-bg);transition:background-color var(--transition-normal),color var(--transition-normal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;line-height:var(--line-height-tight);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast),color var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;text-decoration:none}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-danger{background-color:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-hover);box-shadow:var(--shadow-md)}.btn-sm{padding:.375rem .75rem;font-size:var(--font-size-xs)}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem;transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-fast)}.card:hover{box-shadow:var(--shadow-sm)}.form-group{display:flex;flex-direction:column;gap:.375rem;flex:1;min-width:0}.form-group label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-group input,.form-group textarea,.form-group select{padding:.625rem .875rem;font-size:var(--font-size-base);font-family:inherit;color:var(--color-text);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px #3b82f626}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:1rem}.error-msg{padding:.75rem 1rem;background-color:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:1rem;border:1px solid var(--color-danger)}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary);font-size:var(--font-size-base)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;gap:1rem;color:var(--color-text-secondary)}.empty-state .icon{font-size:3rem}.empty-state p{font-size:var(--font-size-lg)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}.admin-layout{display:flex;flex-direction:column;min-height:100vh}.admin-header{background-color:var(--admin-header-bg);border-bottom:1px solid var(--admin-header-border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.admin-header-top{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;gap:1rem}.admin-header-top h1{font-size:var(--font-size-xl);margin:0}.admin-header-actions{display:flex;align-items:center;gap:.5rem}.theme-toggle{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.theme-toggle:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-hover)}.admin-nav{display:flex;gap:.5rem;padding:.5rem 1.5rem .75rem;background-color:var(--admin-nav-bg);transition:background-color var(--transition-normal);flex-wrap:wrap}.admin-nav .btn,.admin-nav .btn:hover{text-decoration:none}.location-status{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);transition:background-color var(--transition-fast),color var(--transition-fast)}.location-text{color:var(--color-text-secondary)}.location-dot{position:relative;width:8px;height:8px;border-radius:50%;flex-shrink:0}.location-dot-online{background-color:var(--color-success)}.location-dot-idle{background-color:#f59e0b}.location-dot-offline{background-color:var(--color-danger)}.location-dot-none{background-color:var(--color-text-muted)}.location-pulse{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--color-success);animation:location-pulse 2s ease-out infinite}@keyframes location-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2)}}.location-status-online{background-color:var(--color-success-bg)}.location-status-idle{background-color:#f59e0b1a}.location-status-offline{background-color:var(--color-danger-bg)}.location-status-none{background-color:var(--color-bg-tertiary)}.admin-body{flex:1;padding:1.5rem;max-width:72rem;width:100%;margin:0 auto}@media (max-width: 640px){.admin-header-top{padding:.75rem 1rem}.admin-nav{padding:.5rem 1rem .75rem}.admin-body{padding:1rem}.admin-header-top h1{font-size:var(--font-size-lg)}}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--color-bg-secondary);padding:1rem}.login-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 2rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center;max-width:24rem;width:100%;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.login-card .logo{font-size:3.5rem;line-height:1}.login-card h2{font-size:var(--font-size-2xl);margin:0}.login-card p{color:var(--color-text-secondary);margin:0;font-size:var(--font-size-base)}.login-card button{width:100%;padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;background-color:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),box-shadow var(--transition-fast)}.login-card button:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:background-color var(--transition-normal),border-color var(--transition-normal),box-shadow var(--transition-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-icon{font-size:2rem;line-height:1}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text);line-height:1.2}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}@media (max-width: 640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{padding:1rem .75rem}.stat-icon{font-size:1.5rem}.stat-value{font-size:var(--font-size-xl)}}.product-list-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.product-list-header h2{margin:0}.product-item{display:flex;align-items:center;gap:1rem;padding:1rem}.product-thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0;border:1px solid var(--color-border)}.product-thumb-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0;text-align:center;border:1px solid var(--color-border)}.product-info{flex:1;min-width:0}.product-info h3{font-size:var(--font-size-base);margin-bottom:.25rem}.product-info h3 a{color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.product-info h3 a:hover{color:var(--color-primary)}.product-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.product-actions{display:flex;gap:.375rem;flex-shrink:0}@media (max-width: 640px){.product-item{flex-wrap:wrap}.product-info{flex:1 1 calc(100% - 80px)}.product-actions{align-self:flex-end}}.form-card{max-width:42rem;margin:0 auto;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:background-color var(--transition-normal),border-color var(--transition-normal)}.form-card h2{margin-bottom:1.25rem}.form-card form{display:flex;flex-direction:column;gap:1.25rem}.form-card .form-group{flex:1}.form-card .form-row{display:flex;gap:1rem}.image-preview{width:120px;height:120px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--color-border)}@media (max-width: 640px){.form-card{padding:1rem}.form-card .form-row{flex-direction:column;gap:1.25rem}}.order-list{display:flex;flex-direction:column;gap:1rem}.order-card{padding:1.25rem}.order-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.order-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.order-status{display:inline-block;padding:.25rem .75rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:.25rem}.order-status-created{background-color:var(--color-bg-tertiary);color:var(--color-text-secondary)}.order-status-paid{background-color:var(--color-success-bg);color:var(--color-success)}.order-status-accepted{background-color:var(--color-pending-bg, rgba(59, 130, 246, .1));color:var(--color-pending, #3b82f6)}.order-status-completed{background-color:var(--color-success-bg);color:var(--color-success)}.order-status-cancelled{background-color:var(--color-danger-bg);color:var(--color-danger)}.order-meta{text-align:right;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.order-courier-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;margin-bottom:.5rem;font-size:var(--font-size-sm)}.order-courier-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.courier-conn{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);color:var(--color-text-secondary)}.courier-conn-dot{position:relative;width:7px;height:7px;border-radius:50%;flex-shrink:0}.courier-conn-dot-active{background-color:var(--color-success)}.courier-conn-dot-delay{background-color:#f59e0b}.courier-conn-dot-lost{background-color:var(--color-danger)}.courier-conn-dot-none{background-color:var(--color-text-muted)}.courier-conn-pulse{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--color-success);animation:courier-conn-pulse 2s ease-out infinite}@keyframes courier-conn-pulse{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2)}}.courier-conn-active{background-color:var(--color-success-bg)}.courier-conn-delay{background-color:#f59e0b1a}.courier-conn-lost{background-color:var(--color-danger-bg)}.courier-conn-none{background-color:var(--color-bg-tertiary)}.order-details{padding:.75rem;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:1rem;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text);transition:background-color var(--transition-normal);display:flex;flex-direction:column;gap:.35rem}.order-detail-row{display:flex;gap:.5rem;align-items:baseline}.order-detail-label{flex-shrink:0;color:var(--color-text-secondary);font-weight:var(--font-weight-medium);min-width:100px}.order-detail-value{flex:1;color:var(--color-text);word-break:break-word}.order-detail-value-important{font-weight:var(--font-weight-semibold);color:var(--color-text)}.order-items{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.order-item-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);gap:1rem}.order-item-info{display:flex;align-items:baseline;gap:.5rem;min-width:0}.order-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-item-qty{color:var(--color-text-muted);flex-shrink:0}.order-item-price{flex-shrink:0;font-weight:var(--font-weight-medium)}.order-actions{display:flex;gap:.5rem;flex-wrap:wrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{max-width:400px;width:100%;padding:1.5rem}.modal h3{margin-top:0}.modal-hint{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.error-msg{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:.25rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-secondary)}.empty-state .icon{font-size:3rem;margin-bottom:.5rem}.loading{text-align:center;padding:2rem;color:var(--color-text-secondary)}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;max-width:400px;width:100%}.toast{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;transition:opacity .3s ease,transform .3s ease;animation:toast-slide-in .3s ease forwards}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-icon{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.toast-message{flex:1;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text)}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-sm);padding:0;line-height:1;transition:color var(--transition-fast)}.toast-close:hover{color:var(--color-text)}.toast-error{border-color:var(--color-danger-border, rgba(239, 68, 68, .3));background-color:var(--color-danger-bg, rgba(239, 68, 68, .05))}.toast-error .toast-icon{background-color:var(--color-danger-bg, rgba(239, 68, 68, .1));color:var(--color-danger, #ef4444)}.toast-success{border-color:var(--color-success-border, rgba(34, 197, 94, .3));background-color:var(--color-success-bg, rgba(34, 197, 94, .05))}.toast-success .toast-icon{background-color:var(--color-success-bg, rgba(34, 197, 94, .1));color:var(--color-success, #22c55e)}.toast-info{border-color:var(--color-info-border, rgba(59, 130, 246, .3));background-color:var(--color-info-bg, rgba(59, 130, 246, .05))}.toast-info .toast-icon{background-color:var(--color-info-bg, rgba(59, 130, 246, .1));color:var(--color-info, #3b82f6)}@media (max-width: 480px){.toast-container{top:.5rem;right:.5rem;left:.5rem;max-width:none}}
