@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";.nav{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;margin-bottom:1rem;padding:1rem 0}.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:16px 0;flex-wrap:wrap;gap:16px}.nav nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}@media (max-width: 640px){.nav-inner{flex-direction:column;padding:20px 0}.nav nav{width:100%;justify-content:center;gap:12px}.logo{margin-bottom:4px}}.nav a{font-weight:600;color:var(--text-main);transition:var(--transition);position:relative}.nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--primary);transition:var(--transition);border-radius:2px}.nav a:hover{color:var(--primary)}.nav a:hover:after{width:100%}.nav a.logo:after,.nav a.cart-link:after{display:none}.auth-links,.user-nav{display:flex;gap:16px;align-items:center}.signup-link{background:var(--primary);color:#fff!important;padding:8px 16px;border-radius:var(--radius-sm);font-weight:700!important}[data-theme=dark] .signup-link{color:#000!important}.user-name{font-weight:700;color:var(--primary)}.btn-text{background:none;border:none;padding:6px;color:var(--text-muted);font-weight:600;cursor:pointer;font-size:.95rem}.btn-text:hover{color:#dc2626;background:none;transform:none}.cart-link{background:var(--secondary);padding:8px 16px;border-radius:var(--radius);color:var(--primary)!important;font-weight:600!important}.cart-link:hover{background:var(--primary);color:#fff!important}.hero{text-align:center;padding:80px 20px;background:linear-gradient(180deg,var(--secondary) 0%,rgba(230,238,230,0) 100%);border-radius:var(--radius);margin-bottom:60px}.hero h1{font-size:4rem;margin-bottom:16px;color:var(--primary);line-height:1.1}.hero p{font-size:1.25rem;max-width:600px;margin:0 auto}.product-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px;min-height:800px}.catalog h2{font-size:2rem;margin-bottom:32px}.card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid transparent;display:flex;flex-direction:column}.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover);border-color:var(--border)}.card img{width:100%;height:280px;object-fit:cover;transition:var(--transition)}.card:hover img{transform:scale(1.03)}.card .placeholder{width:100%;height:280px;display:flex;align-items:center;justify-content:center;background:var(--secondary);color:var(--primary);font-weight:600}.card h3{margin:20px 20px 8px;font-size:1.25rem}.card a{display:block}.card h3 a{transition:var(--transition)}.card h3 a:hover{color:var(--primary)}.card .price{margin:0 20px 12px;font-size:1.125rem;font-weight:700;color:var(--primary)}.card .desc{margin:0 20px 24px;font-size:.95rem;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.card button{margin:0 20px 20px;width:calc(100% - 40px)}.search-bar-container{max-width:600px;margin:0 auto 48px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:30px;padding:4px 16px;box-shadow:var(--shadow-sm);transition:var(--transition)}.search-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #2b53291a;transform:translateY(-2px)}.search-icon{font-size:1.25rem;margin-right:12px;color:var(--text-muted)}.search-input{width:100%;border:none;background:transparent;padding:12px 0;font-family:inherit;font-size:1.125rem;color:var(--text-main);outline:none}.search-input::placeholder{color:var(--text-muted)}.clear-search{background:var(--secondary);color:var(--primary);border:none;width:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;margin-left:8px;transition:var(--transition)}.clear-search:hover{background:var(--primary);color:#fff}.no-results{text-align:center;padding:60px;background:var(--surface);border-radius:var(--radius);border:1px dashed var(--border)}.no-results p{font-size:1.25rem;margin-bottom:24px}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:60px}.pagination button{background:var(--surface);color:var(--text-main);border:1px solid var(--border)}.pagination button:hover:not(:disabled){background:var(--secondary);color:var(--primary);border-color:var(--primary);transform:translateY(-2px)}.pagination span{font-weight:600;color:var(--primary)}main{flex:1;padding:40px 0;width:100%;min-height:60vh}.card img,.product-details img{background:var(--secondary);content-visibility:auto}.product-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:20px;background:var(--surface);padding:48px;border-radius:var(--radius);box-shadow:var(--shadow-sm);min-height:500px}.product-details img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.product-details .info h2{font-size:3rem;margin-bottom:16px;line-height:1.2}.product-details .price{font-size:2.25rem;font-weight:700;color:var(--primary);margin-bottom:24px}.product-details .stock,.product-details .category{display:inline-block;background:var(--secondary);color:var(--primary);padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:700;margin-right:12px;margin-bottom:32px;letter-spacing:.05em;text-transform:uppercase}.product-details .desc{font-size:1.125rem;line-height:1.8;margin-bottom:40px}.add-to-cart-btn{width:100%;padding:20px;font-size:1.25rem;border-radius:12px}.back-btn{background:transparent;color:var(--text-muted);padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:24px;font-size:1rem}.back-btn:hover{background:transparent;color:var(--text-main);transform:translate(-4px)}.cart-page{background:var(--surface);padding:48px;border-radius:var(--radius);box-shadow:var(--shadow-sm);max-width:800px;margin:0 auto}.cart-item{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid var(--border)}.cart-item h3{margin-bottom:8px;font-size:1.25rem}.cart-item .item-info p{font-weight:600;color:var(--primary);margin:0;font-size:1.125rem}.item-actions{display:flex;gap:20px;align-items:center}.item-actions input{width:80px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;font-weight:600;text-align:center}.remove-btn{background:#fee2e2;color:#dc2626}.remove-btn:hover{background:#fecaca}.cart-summary{margin-top:40px;display:flex;justify-content:space-between;align-items:center;padding-top:32px;border-top:2px solid var(--border)}.cart-summary h3{font-size:1.75rem;margin:0}.checkout-btn{font-size:1.125rem;padding:16px 32px}.cart-page.empty{text-align:center;padding:80px 40px}.checkout-page{display:grid;grid-template-columns:1fr 1.5fr;gap:48px}.order-summary{background:var(--secondary);padding:40px;border-radius:var(--radius);height:fit-content}.order-summary h3{font-size:1.5rem;margin-bottom:24px}.order-summary p{font-size:1.125rem;margin-bottom:12px;color:var(--text-main);display:flex;justify-content:space-between}.order-summary p:last-child{font-weight:700;font-size:1.25rem;margin-top:24px;padding-top:24px;border-top:1px solid var(--border)}.checkout-form{background:var(--surface);padding:48px;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.checkout-page>h2{grid-column:1 / -1;font-size:2.5rem;margin-bottom:0}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;transition:var(--transition);background:var(--bg);color:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 4px #2b53291a}.place-order-btn{width:100%;padding:18px;font-size:1.125rem;margin-top:24px}.error-msg{grid-column:1 / -1;background:#fee2e2;color:#dc2626;padding:16px;border-radius:var(--radius-sm);margin-bottom:24px;font-weight:600}@media (max-width: 900px){.product-details,.checkout-page{grid-template-columns:1fr}.hero h1{font-size:2.75rem}}@media (max-width: 600px){.cart-item{flex-direction:column;align-items:flex-start;gap:16px}.item-actions{width:100%;justify-content:space-between}.cart-summary{flex-direction:column;gap:24px;align-items:stretch}.cart-summary h3{text-align:center}}.my-orders-page{max-width:800px;margin:0 auto}.page-header{margin-bottom:40px}.order-row-card{background:var(--surface);border-radius:var(--radius);padding:24px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border)}.order-row-card:hover{transform:translate(8px);border-color:var(--primary)}.order-info{display:flex;flex-direction:column}.order-date{font-weight:700;font-size:1.1rem}.order-id-short{color:var(--text-muted);font-size:.85rem}.order-summary-inline{display:flex;gap:24px}.total-price{font-weight:700;color:var(--primary)}.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);padding:8px 16px;border-radius:var(--radius-sm);font-weight:700;transition:var(--transition)}.btn-outline:hover{background:var(--primary);color:var(--bg)}.order-track-page{max-width:1000px;margin:0 auto}.track-header{text-align:center;margin-bottom:60px}.order-id span{font-family:monospace;background:var(--secondary);padding:4px 8px;border-radius:4px;color:var(--primary)}.track-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.status-card{grid-column:1 / -1;background:var(--surface);padding:40px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm)}.status-badge{display:inline-block;padding:8px 20px;border-radius:30px;font-weight:800;margin-bottom:24px;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;box-shadow:var(--shadow-sm)}.status-pending{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.status-confirmed{background:#dcfce7;color:#166534;border:1px solid #86efac}.status-processing{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.status-shipped{background:#f3e8ff;color:#6b21a8;border:1px solid #d8b4fe}.status-delivered{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7}.status-cancelled{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}[data-theme=dark] .status-pending{background:#451a03;color:#fbbf24;border-color:#92400e}[data-theme=dark] .status-confirmed{background:#064e3b;color:#4ade80;border-color:#059669}[data-theme=dark] .status-processing{background:#1e3a8a;color:#60a5fa;border-color:#2563eb}[data-theme=dark] .status-shipped{background:#4c1d95;color:#c084fc;border-color:#7c3aed}[data-theme=dark] .status-delivered{background:#064e3b;color:#34d399;border-color:#059669}[data-theme=dark] .status-cancelled{background:#7f1d1d;color:#f87171;border-color:#b91c1c}.progress-bar{background:var(--bg);height:12px;border-radius:6px;margin:40px 0 12px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width 1s ease-in-out}.progress-labels{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;color:var(--text-muted)}.progress-labels .active{color:var(--primary)}.order-details-card,.customer-card{background:var(--surface);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.track-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.item-meta{display:flex;gap:12px}.item-qty{color:var(--text-muted)}.track-total{margin-top:24px;display:flex;justify-content:space-between;font-weight:700;font-size:1.2rem;color:var(--primary)}.cust-name{font-weight:700;margin-bottom:8px}.track-actions{margin-top:40px;text-align:center}.btn-secondary{background:var(--secondary);color:var(--primary);padding:12px 24px;border-radius:var(--radius-sm);font-weight:700}.loading-state{text-align:center;padding:100px;font-size:1.5rem;color:var(--primary);font-weight:700}.error-page{text-align:center;padding:80px 40px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);max-width:600px;margin:40px auto}.error-page h2{color:#dc2626;font-size:2rem;margin-bottom:16px}.error-page p{margin-bottom:32px;font-size:1.1rem}.status-badge-mini{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:700;text-transform:uppercase;border:1px solid transparent}.status-badge-mini.status-confirmed{background:#dcfce7;color:#166534}.status-badge-mini.status-shipped{background:#f3e8ff;color:#6b21a8}.status-badge-mini.status-delivered{background:#ecfdf5;color:#065f46}.auth-card-mini{background:var(--surface);padding:48px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.auth-actions{display:flex;justify-content:center;gap:16px;margin-top:24px}@media (max-width: 768px){.track-grid{grid-template-columns:1fr}.order-row-card{flex-direction:column;gap:16px;align-items:flex-start}}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:var(--bg)}.admin-sidebar{background:var(--surface);border-right:1px solid var(--border);padding:32px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-header{margin-bottom:40px;padding:0 12px}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1}.sidebar-nav a{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);font-weight:600;color:var(--text-muted);transition:var(--transition)}.sidebar-nav a span{font-size:1.25rem}.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--secondary);color:var(--primary)}.admin-user-name{font-size:.8rem;color:var(--text-muted);margin-top:8px;font-weight:600}.sidebar-spacer{flex:1}.logout-link{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--radius-sm);font-weight:600;color:#dc2626;background:none;border:none;cursor:pointer;transition:var(--transition);text-align:left;width:100%}.logout-link:hover{background:#fee2e2}.exit-link{border-top:1px solid var(--border);padding-top:24px!important}.admin-content{padding:40px;overflow-y:auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin-bottom:48px}.stat-card{background:var(--surface);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:24px;border:1px solid var(--border)}.stat-icon{font-size:2.5rem;background:var(--secondary);width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm)}.stat-info h3{font-size:.9rem;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:2rem;font-weight:700;color:var(--primary);margin:0}.quick-actions{display:flex;gap:1rem}.admin-form{background:var(--surface);padding:32px;border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:40px;border:1px solid var(--border)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.full-width{grid-column:1 / -1}.form-actions{margin-top:32px;display:flex;gap:16px}.admin-table-container{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:20px;text-align:left;border-bottom:1px solid var(--border)}.admin-table th{background:var(--bg);font-weight:700;color:var(--text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.table-img{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm)}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:var(--transition)}.btn-icon:hover{background:var(--secondary)}.btn-delete:hover{background:#fee2e2}.status-label{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:700;text-transform:uppercase}.status-pending{background:#fef3c7;color:#92400e}.status-confirmed{background:#dcfce7;color:#166534}.status-processing{background:#dbeafe;color:#1e40af}.status-shipped{background:#f3e8ff;color:#6b21a8}.status-delivered{background:#dcfce7;color:#166534}.status-cancelled{background:#fee2e2;color:#991b1b}.admin-select{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);font-family:inherit;margin-right:12px;background:var(--bg);color:var(--text-main)}@media (max-width: 1024px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{display:none}}.policy-page{max-width:800px;margin:0 auto;background:var(--surface);padding:60px;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.policy-page h1{font-size:2.5rem;margin-bottom:8px;color:var(--primary)}.last-updated{font-size:.9rem;color:var(--text-muted);margin-bottom:40px}.policy-page section{margin-bottom:32px}.policy-page h2{font-size:1.5rem;margin-bottom:16px}.policy-page p{font-size:1.1rem;line-height:1.8}.policy-actions{margin-top:60px;text-align:center}.footer{background:var(--surface);border-top:1px solid var(--border);padding:80px 0 0;margin-top:100px}.footer-inner{display:grid;grid-template-columns:1.5fr 2fr;gap:80px;padding-bottom:60px}.footer-brand .logo{font-size:1.75rem;margin-bottom:16px;display:inline-block;color:var(--primary)}.footer-brand p{max-width:300px}.footer-links{display:flex;justify-content:space-between;gap:40px}.footer-column h3{font-size:1rem;margin-bottom:24px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-main)}.footer-column{display:flex;flex-direction:column;gap:12px}.footer-column a{color:var(--text-muted);transition:var(--transition)}.footer-column a:hover{color:var(--primary)}.footer-bottom{border-top:1px solid var(--border);padding:40px 0;text-align:center}.footer-bottom p{font-size:.9rem;color:var(--text-muted);margin:0}@media (max-width: 900px){.footer-inner{grid-template-columns:1fr;gap:40px}}@media (max-width: 600px){.footer-links{flex-direction:column;gap:40px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:20px}.auth-card{background:var(--surface);width:100%;max-width:450px;padding:48px;border-radius:24px;box-shadow:var(--shadow-hover);border:1px solid var(--border)}.auth-header{text-align:center;margin-bottom:40px}.auth-header h1{font-size:2rem;margin-bottom:8px;color:var(--primary)}.auth-header p{color:var(--text-muted)}.auth-form .form-group{margin-bottom:24px}.auth-form label{display:block;margin-bottom:8px;font-weight:600;font-size:.9rem}.auth-form input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;font-family:inherit;font-size:1rem;background:var(--bg);transition:var(--transition)}.auth-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #2b53291a;background:var(--surface)}.btn-auth{width:100%;padding:16px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:var(--transition);margin-top:8px}[data-theme=dark] .btn-auth{color:#000}.btn-auth:hover{background:var(--primary-hover);transform:translateY(-2px)}.auth-error{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:12px;margin-bottom:24px;font-size:.9rem;font-weight:600;text-align:center}.auth-footer{margin-top:32px;text-align:center;display:flex;flex-direction:column;gap:16px}.auth-footer p{font-size:.95rem}.auth-footer a{color:var(--primary);font-weight:700}.back-link{color:var(--text-muted)!important;font-size:.9rem;font-weight:500}.auth-prompt-banner{background:var(--secondary);padding:16px 24px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;border:1px solid var(--primary)}.auth-prompt-banner p{margin:0;font-weight:600;color:var(--primary)}.btn-text-link{background:none;border:none;color:var(--primary);font-weight:700;text-decoration:underline;cursor:pointer;padding:0}.btn-text-link:hover{color:var(--primary-hover)}:root[data-theme=light]{--primary: #2b5329;--primary-hover: #3b6d39;--secondary: #e6eee6;--bg: #fafaf9;--surface: #ffffff;--text-main: #1c1917;--text-muted: #57534e;--border: #e7e5e4;--shadow-sm: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-hover: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}:root[data-theme=dark]{--primary: #4ade80;--primary-hover: #22c55e;--secondary: #14532d;--bg: #0c0a09;--surface: #1c1917;--text-main: #fafaf9;--text-muted: #a8a29e;--border: #292524;--shadow-sm: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-hover: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5)}:root{--radius: 16px;--radius-sm: 8px;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background-color:var(--bg);color:var(--text-main);margin:0;padding:0;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}*{box-sizing:border-box}h1,h2,h3,h4,h5,h6{margin-top:0;color:var(--text-main);font-weight:700;letter-spacing:-.02em}p{color:var(--text-muted)}a{text-decoration:none;color:inherit}button{font-family:inherit;transition:var(--transition)}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}main{flex:1;padding:40px 0;width:100%}button,.btn{background:var(--primary);color:var(--bg);border:none;padding:12px 24px;border-radius:var(--radius-sm);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}button:hover:not(:disabled),.btn:hover{background:var(--primary-hover);transform:translateY(-1px)}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed;background:var(--text-muted);transform:none}button.theme-toggle{background:var(--secondary);color:var(--primary);border:1px solid var(--border);padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;width:42px;height:42px;font-size:1.2rem;transition:var(--transition);box-shadow:var(--shadow-sm)}button.theme-toggle:hover{background:var(--primary);color:var(--surface);transform:rotate(15deg) scale(1.1)}
