:root{--primary: #2563eb;--primary-dark: #1d4ed8;--secondary: #059669;--accent: #f59e0b;--dark: #1f2937;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--white: #ffffff;--green: #10b981;--red: #ef4444;--red-500: #ef4444;--red-600: #dc2626;--yellow: #f59e0b;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}*{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;background:var(--gray-50);color:var(--gray-900);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.site-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white);padding:24px 0;box-shadow:var(--shadow-lg);position:relative}.site-header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 20"><defs><pattern id="grid" width="10" height="10" patternUnits="userSpaceOnUse"><path d="M 10 0 L 0 0 0 10" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100" height="20" fill="url(%23grid)"/></svg>') repeat;opacity:.1}.site-header .brand{max-width:1200px;margin:0 auto;padding:0 24px;position:relative;z-index:1}.brand-logo-container{display:flex;align-items:center;gap:20px}.brand-logo{height:60px;width:auto;max-width:120px;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2));transition:transform .3s ease}.brand-logo:hover{transform:scale(1.05)}.brand-text{flex:1}.site-header h1{margin:0;font-size:2.5rem;font-weight:800;letter-spacing:-.025em;background:linear-gradient(45deg,var(--white),#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{margin:8px 0 0;font-size:1.125rem;opacity:.9;font-weight:400}.nav{display:flex;align-items:center;gap:32px;margin-top:16px}.nav-link{color:var(--white);text-decoration:none;font-weight:500;transition:opacity .2s}.nav-link:hover{opacity:.8}.shop{display:grid;grid-template-columns:1fr 400px;gap:32px;max-width:1200px;margin:40px auto;padding:0 24px}.product-panel,.cart-panel{background:var(--white);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;transition:transform .2s,box-shadow .2s}.product-panel:hover,.cart-panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.panel-header{background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);padding:24px;border-bottom:1px solid var(--gray-200)}.panel-content{padding:24px}.product-panel h2,.cart-panel h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--gray-900)}.file-uploader{display:flex;flex-direction:column;gap:24px}.upload-area{border:2px dashed var(--gray-300);border-radius:12px;padding:32px;text-align:center;background:var(--gray-50);transition:all .2s ease;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;box-shadow:0 1px 3px #0000001a}.upload-area:hover{border-color:var(--primary);background:#eff6ff;box-shadow:0 2px 8px #3b82f626;transform:translateY(-1px)}.upload-area:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.upload-area.dragover{border-color:var(--primary);background:#dbeafe;transform:scale(1.02);box-shadow:0 4px 16px #3b82f633}.file-uploader input[type=file]{width:100%;padding:12px;border:2px solid var(--gray-200);border-radius:8px;background:var(--white);font-size:14px;transition:border-color .2s}.file-uploader input[type=file]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.form-group{margin-bottom:20px}.form-label{display:block;font-weight:600;margin-bottom:8px;color:var(--gray-700)}.form-select,.form-input{width:100%;padding:12px 16px;border:2px solid var(--gray-200);border-radius:8px;background:var(--white);font-size:14px;transition:all .2s}.form-select:focus,.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.range-input{width:100%;margin-top:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:3px;background:var(--gray-200);outline:none}.range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:var(--shadow)}.range-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--primary);cursor:pointer;border:none;box-shadow:var(--shadow)}.checkbox-group{display:flex;align-items:center;gap:12px;padding:16px;background:var(--gray-50);border-radius:8px;border:1px solid var(--gray-200)}.checkbox-input{width:18px;height:18px;accent-color:var(--primary)}.price{font-size:2rem;font-weight:800;color:var(--secondary);margin:16px 0}.price-breakdown{background:var(--gray-50);border-radius:8px;padding:16px;margin:16px 0;border-left:4px solid var(--primary)}.price-item{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px}.price-item:last-child{margin-bottom:0;font-weight:600;font-size:16px;border-top:1px solid var(--gray-200);padding-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border:none;border-radius:8px;font-weight:600;font-size:16px;text-decoration:none;cursor:pointer;transition:all .2s;box-shadow:var(--shadow);min-height:48px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--white)}.btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.btn-success{background:linear-gradient(135deg,var(--secondary) 0%,#047857 100%);color:var(--white)}.btn-large{width:100%;padding:18px 32px;font-size:18px;font-weight:700}.order-summary{background:linear-gradient(135deg,var(--gray-50) 0%,var(--white) 100%);border:1px solid var(--gray-200);border-radius:12px;padding:24px;margin:20px 0}.order-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--gray-200)}.order-item:last-child{border-bottom:none;font-weight:600;font-size:18px}.order-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.meta-item{background:var(--white);padding:12px;border-radius:8px;border:1px solid var(--gray-200)}.meta-label{font-size:12px;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.meta-value{font-size:14px;font-weight:600;color:var(--gray-900);margin-top:4px}.alert{padding:16px;border-radius:8px;margin:16px 0;font-weight:500}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.alert-warning{background:#fffbeb;color:#92400e;border:1px solid #fed7aa}.loading{display:inline-flex;align-items:center;gap:8px}.spinner{width:16px;height:16px;border:2px solid var(--gray-300);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.muted{color:var(--gray-500);font-size:14px}.small{font-size:12px}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.mx-auto{margin-left:auto;margin-right:auto}.w-4{width:16px}.w-5{width:20px}.w-8{width:32px}.w-12{width:48px}.w-16{width:64px}.h-4{height:16px}.h-5{height:20px}.h-8{height:32px}.h-12{height:48px}.h-16{height:64px}.mr-1{margin-right:4px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.inline{display:inline}.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}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mt-0{margin-top:0}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.footer{background:var(--gray-800);color:var(--gray-300);padding:40px 0;margin-top:80px}.footer-content{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.footer-section h3{color:var(--white);margin-bottom:16px;font-size:18px;font-weight:600}.footer-section p,.footer-section a{color:var(--gray-400);text-decoration:none;line-height:1.6}.footer-section a:hover{color:var(--white)}@media (max-width: 1024px){.shop{grid-template-columns:1fr;gap:24px;padding:0 16px}.order-meta{grid-template-columns:1fr}}@media (max-width: 768px){.site-header{padding:16px 0}.site-header .brand{padding:0 16px}.brand-logo-container{flex-direction:column;gap:12px;text-align:center}.brand-logo{height:50px;max-width:100px}.site-header h1{font-size:2rem}.tagline{font-size:1rem}.shop{margin:24px auto;padding:0 12px}.panel-header,.panel-content{padding:16px}.upload-area{padding:24px 16px}.footer-content{grid-template-columns:1fr;text-align:center}}@media (max-width: 480px){.site-header h1{font-size:1.75rem}.btn{padding:12px 20px;font-size:14px}.btn-large{padding:16px 24px;font-size:16px}}.payment-choice{background:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--border-color);margin:1.5rem 0}.payment-summary{text-align:center;margin-bottom:2rem}.payment-summary h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.price-display{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.price-display .price{font-size:2rem;font-weight:700;color:var(--primary-600)}.price-display .currency{font-size:1rem;color:var(--text-secondary);text-transform:uppercase}.payment-methods{display:grid;gap:1rem;margin-bottom:1.5rem}.payment-method{display:flex;align-items:center;gap:1rem;padding:1.5rem;border:2px solid var(--border-color);border-radius:8px;background:var(--bg-primary);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.payment-method:hover{border-color:var(--primary-400);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.payment-method.selected{border-color:var(--primary-600);background:var(--primary-50)}.payment-method:disabled{opacity:.5;cursor:not-allowed;transform:none}.payment-method-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-100);border-radius:8px;color:var(--primary-600)}.payment-method-icon svg{width:24px;height:24px}.payment-method-content{flex:1}.payment-method-content h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.payment-method-content p{margin:0 0 .75rem;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.payment-badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;background:var(--gray-100);color:var(--gray-700);font-weight:500}.badge.secure{background:var(--green-100);color:var(--green-700)}.badge.instant{background:var(--blue-100);color:var(--blue-700)}.badge.ideal{background:var(--orange-100);color:var(--orange-700)}.badge.bank{background:var(--indigo-100);color:var(--indigo-700)}.badge.email{background:var(--purple-100);color:var(--purple-700)}.payment-selected{text-align:center;padding:1rem;background:var(--green-50);border:1px solid var(--green-200);border-radius:8px}.selected-method{color:var(--green-700);font-weight:600}@media (max-width: 768px){.payment-choice{padding:1.5rem}.payment-method{padding:1rem}.payment-method-icon{width:40px;height:40px}.payment-method-icon svg{width:20px;height:20px}.payment-badges{flex-direction:column}}.order-confirmation{background:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--border-color);margin:1.5rem 0}.payment-instructions{margin-top:1.5rem}.payment-instructions h4{color:var(--text-primary);margin:1.5rem 0 1rem;font-size:1.1rem;font-weight:600}.instruction-list{background:var(--gray-50);padding:1rem;border-radius:8px;margin-bottom:1rem}.instruction-list p{margin:.5rem 0;color:var(--text-primary)}.contact-info{background:var(--blue-50);padding:1rem;border-radius:8px;margin-top:1.5rem;text-align:center}.cart-content{display:flex;flex-direction:column;gap:1.5rem}.cart-items{display:flex;flex-direction:column;gap:1rem}.cart-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--white);overflow:hidden}.cart-item-info{flex:1;min-width:0;margin-right:1rem}.cart-item-controls{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;flex-shrink:0;min-width:120px}.quantity-controls{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.quantity-controls button{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center}.quantity{min-width:2rem;text-align:center;font-weight:600}.cart-item-price{font-weight:600;color:var(--primary)}.cart-summary{border-top:1px solid var(--gray-200);padding-top:1.5rem}.shipping-option{margin-bottom:1rem}.btn-full{width:100%}.btn-danger{background:var(--red-500);color:#fff;border:1px solid var(--red-500);white-space:nowrap}.btn-danger:hover{background:var(--red-600);border-color:var(--red-600)}@media (max-width: 768px){.cart-item{flex-direction:column;gap:1rem}.cart-item-info{margin-right:0}.cart-item-controls{flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-width:auto}.quantity-controls{order:1}.cart-item-price{order:2}.btn-danger{order:3;padding:.25rem .5rem;font-size:.75rem}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-50) 0%,var(--blue-100) 100%);padding:2rem}.login-container{background:#fff;padding:3rem;border-radius:16px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:400px;text-align:center}.login-container h1{margin-bottom:2rem;color:var(--text-primary);font-size:2rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.admin-dashboard{padding:2rem;max-width:1400px;margin:0 auto}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--gray-200)}.admin-header h1{color:var(--text-primary);margin:0}.admin-actions{display:flex;gap:1rem}.orders-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;text-align:center;border:1px solid var(--gray-200)}.summary-card h3{margin:0 0 1rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.summary-number{font-size:2rem;font-weight:700;color:var(--text-primary)}.summary-number.paid{color:var(--success)}.summary-number.unpaid{color:var(--warning)}.orders-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;overflow-x:auto}.orders-table{width:100%;border-collapse:collapse;min-width:1200px}.orders-table th{background:var(--gray-50);padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--gray-200);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.orders-table td{padding:1rem;border-bottom:1px solid var(--gray-100);vertical-align:top}.orders-table tbody tr:hover{background:var(--gray-25)}.paid-row{background:#22c55e0d}.unpaid-row{background:#fbbf240d}.order-ref strong{color:var(--primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem}.customer-info{min-width:200px}.customer-details{font-size:.85rem;color:var(--text-secondary);margin:.25rem 0}.item-info strong{color:var(--text-primary);font-size:.9rem}.metadata-display{font-size:.8rem;line-height:1.4}.metadata-display div{margin:.2rem 0}.amount{text-align:right}.amount strong{font-size:1.1rem;color:var(--text-primary)}.currency{font-size:.8rem;color:var(--text-secondary)}.payment-method{font-size:.9rem;color:var(--text-secondary);white-space:nowrap}.status-btn{padding:.5rem 1rem;border:none;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.status-btn.paid{background:var(--success-light);color:var(--success)}.status-btn.unpaid{background:var(--warning-light);color:var(--warning)}.status-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.date{font-size:.9rem;color:var(--text-primary);min-width:100px}.time{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.action-buttons{display:flex;gap:.5rem;flex-wrap:wrap;min-width:80px}.btn-sm{padding:.4rem .8rem;font-size:.8rem;white-space:nowrap}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state h3{margin-bottom:1rem;color:var(--text-primary)}.loading-container{display:flex;align-items:center;justify-content:center;gap:1rem;padding:2rem;color:var(--text-secondary)}.alert-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:inherit;padding:0;margin-left:1rem}@media (max-width: 768px){.admin-header{flex-direction:column;gap:1rem;align-items:stretch}.admin-actions{justify-content:center}.orders-table-container{overflow-x:auto}.orders-table{min-width:800px}.orders-summary{grid-template-columns:repeat(2,1fr)}}.contact-info p{margin:.25rem 0;color:var(--blue-700)}@media (max-width: 768px){.order-confirmation{padding:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--white);border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;margin:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid var(--border)}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--gray-900)}.checkout-result{padding:2rem 1.5rem;text-align:center}.success-message h4{color:var(--success);margin-bottom:1rem}.error-message h4{color:var(--red-600);margin-bottom:1rem}.checkout-result p{margin-bottom:1rem;color:var(--gray-700)}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal-content{max-height:95vh}.modal-header{padding:1rem}.checkout-result{padding:1.5rem 1rem}}.status-controls{display:flex;flex-direction:column;gap:.3rem}.status-select{padding:.3rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background:#fff;color:var(--text-primary);min-width:120px}.status-select:focus{outline:none;border-color:var(--primary)}.status-btn-small{padding:.2rem .5rem;font-size:.75rem;border:none;border-radius:3px;cursor:pointer;white-space:nowrap}.status-btn-small.paid{background:var(--success);color:#fff}.status-btn-small.unpaid{background:var(--warning);color:#fff}.printer-assignment input.printer-input{padding:.3rem .5rem;border:1px solid var(--border-color);border-radius:4px;font-size:.85rem;background:#fff}.printer-input:focus{outline:none;border-color:var(--primary)}.summary-number.quote{color:var(--info)}.summary-number.progress{color:var(--warning)}.summary-number.delivered{color:var(--success)}
