*,:before,:after{box-sizing:border-box}:root{color:#1a1a2e;background-color:#f0ebe3;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}body{min-width:320px;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{line-height:1.2}input,select,textarea,button{font-family:inherit;font-size:inherit}.login-page{background:linear-gradient(135deg,#1e140a 0%,#3d2b1f 100%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:#fff;border-radius:16px;width:100%;max-width:400px;padding:2.5rem;box-shadow:0 20px 60px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.login-icon{margin-bottom:.5rem;font-size:3rem;display:block}.login-header h1{color:#3d2b1f;margin:0 0 .3rem;font-size:1.5rem}.login-header p{color:#8a7a6a;margin:0;font-size:.9rem}.login-form .form-group{margin-bottom:1rem}.login-form label{color:#3d2b1f;margin-bottom:.35rem;font-size:.9rem;font-weight:600;display:block}.login-form input{color:#3d2b1f;background:#faf6f1;border:1.5px solid #d4c4b0;border-radius:8px;outline:none;width:100%;padding:.7rem .85rem;font-size:.95rem;transition:border-color .2s}.login-form input:focus{border-color:#b8733a;box-shadow:0 0 0 3px #b8733a1a}.login-error{color:#c0392b;text-align:center;background:#fde8e8;border-radius:8px;margin-bottom:1rem;padding:.6rem .85rem;font-size:.85rem}.btn-login{color:#fff;cursor:pointer;background:#b8733a;border:none;border-radius:8px;width:100%;padding:.75rem;font-size:1rem;font-weight:600;transition:background .2s}.btn-login:hover:not(:disabled){background:#9a5f2e}.btn-login:disabled{opacity:.6;cursor:not-allowed}.login-footer{text-align:center;border-top:1px solid #e8ddd0;margin-top:1.25rem;padding-top:1.25rem}.btn-toggle{color:#b8733a;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.btn-toggle:hover{color:#9a5f2e}.image-upload{margin-bottom:1.5rem}.upload-label{color:#3d2b1f;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.image-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem;display:grid}.image-preview{aspect-ratio:1;border:2px solid #e0d5c8;border-radius:10px;position:relative;overflow:hidden}.image-preview img{object-fit:cover;width:100%;height:100%}.remove-btn{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.75rem;transition:background .2s;display:flex;position:absolute;top:4px;right:4px}.remove-btn:hover{background:#c83232d9}.add-image-btn{aspect-ratio:1;cursor:pointer;color:#8a7a6a;background:0 0;border:2px dashed #c4b5a5;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:0;font-size:.85rem;transition:all .2s;display:flex}.add-image-btn:hover{color:#b8733a;background:#b8733a0d;border-color:#b8733a}.add-icon{font-size:1.5rem}.product-form.wizard{background:#fff;border-radius:16px;max-width:800px;margin:0 auto;padding:2rem;box-shadow:0 2px 16px #0000000f}.product-form h2{color:#3d2b1f;text-align:center;margin:0 0 1.5rem;font-size:1.5rem}.stepper{justify-content:center;gap:.5rem;margin-bottom:2rem;display:flex;position:relative}.step-item{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.step-item:not(:last-child):after{content:"";background:#e0d5c8;width:calc(100% - 40px);height:2px;position:absolute;top:16px;left:calc(50% + 20px)}.step-item.done:not(:last-child):after{background:#b8733a}.step-circle{color:#9a8a7a;z-index:1;background:#f0e8df;border:2px solid #e0d5c8;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:700;transition:all .3s;display:flex;position:relative}.step-item.active .step-circle{color:#fff;background:#b8733a;border-color:#b8733a;box-shadow:0 0 0 4px #b8733a26}.step-item.done .step-circle{color:#fff;background:#27ae60;border-color:#27ae60}.step-label{color:#9a8a7a;margin-top:.4rem;font-size:.78rem;font-weight:500}.step-item.active .step-label{color:#b8733a;font-weight:700}.step-item.done .step-label{color:#27ae60}.step-content{min-height:280px;animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.step-title{color:#3d2b1f;margin-bottom:.75rem;font-size:1rem;font-weight:700;display:block}.card-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.select-card{color:#5a4a3a;cursor:pointer;text-align:center;background:#faf6f1;border:2px solid #e8ddd0;border-radius:10px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s}.select-card:hover{background:#f5ede3;border-color:#c9a87c}.select-card.selected{color:#b8733a;background:#fdf0e2;border-color:#b8733a;font-weight:700;box-shadow:0 0 0 3px #b8733a1f}.location-grid{grid-template-columns:repeat(2,1fr)}.location-card{text-align:left;flex-direction:column;align-items:flex-start;padding:.85rem 1rem;display:flex}.loc-name{font-size:.92rem;font-weight:600}.loc-addr{color:#8a7a6a;margin-top:.2rem;font-size:.78rem}.select-card.selected .loc-addr{color:#b8733a}.form-group{flex-direction:column;margin-bottom:1rem;display:flex}.form-group label{color:#3d2b1f;margin-bottom:.35rem;font-size:.95rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{color:#3d2b1f;background:#faf6f1;border:1.5px solid #d4c4b0;border-radius:8px;outline:none;padding:.65rem .85rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#b8733a;box-shadow:0 0 0 3px #b8733a1a}.form-group textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr}.field-error{color:#c0392b;margin-top:.25rem;font-size:.82rem}.review-section{background:#faf6f1;border-radius:12px;padding:1.25rem}.review-row{border-bottom:1px solid #e8ddd0;justify-content:space-between;align-items:flex-start;padding:.6rem 0;display:flex}.review-row:last-child{border-bottom:none}.review-label{color:#8a7a6a;min-width:100px;font-size:.88rem;font-weight:600}.review-value{color:#3d2b1f;text-align:right;word-break:break-word;max-width:60%;font-size:.92rem}.review-images{flex-wrap:wrap;gap:.5rem;padding:.5rem 0;display:flex}.review-thumb{object-fit:cover;border:2px solid #e8ddd0;border-radius:8px;width:64px;height:64px}.status-toggle{gap:.5rem;display:flex}.toggle-btn{cursor:pointer;background:#fff;border:2px solid #e0d5c8;border-radius:8px;padding:.45rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.toggle-btn.active{color:#b8733a;background:#fdf0e2;border-color:#b8733a;font-weight:700}.form-actions{border-top:1px solid #e8ddd0;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.btn-cancel,.btn-submit{cursor:pointer;border:none;border-radius:8px;padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-cancel{color:#5a4a3a;background:#e8ddd0}.btn-cancel:hover{background:#d4c4b0}.btn-submit{color:#fff;background:#b8733a}.btn-submit:hover{background:#9a5f2e}@media (width<=640px){.card-grid,.location-grid{grid-template-columns:1fr 1fr}.form-row,.form-row-3{grid-template-columns:1fr}.product-form.wizard{padding:1.25rem}.stepper{gap:.25rem}.step-label{font-size:.7rem}}.empty-state{text-align:center;color:#8a7a6a;padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:4rem;display:block}.empty-state h3{color:#3d2b1f;margin:0 0 .5rem}.empty-state p{margin:0}.product-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.product-card{background:#fff;border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 12px #0000000f}.product-card:hover{box-shadow:0 4px 20px #0000001a}.product-images{background:#f0ebe3;height:200px;position:relative}.product-images img{object-fit:cover;width:100%;height:100%}.no-image{justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.image-count{color:#fff;background:#0009;border-radius:12px;padding:.2rem .5rem;font-size:.8rem;position:absolute;bottom:8px;right:8px}.status-badge{border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;position:absolute;top:8px;left:8px}.status-badge.published{color:#fff;background:#27ae60}.status-badge.draft{color:#fff;background:#f39c12}.product-info{padding:1rem 1.25rem}.product-info h3{color:#3d2b1f;margin:0 0 .25rem;font-size:1.1rem}.product-category{color:#b8733a;margin:0 0 .5rem;font-size:.85rem;font-weight:600}.product-desc{color:#6a5a4a;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .75rem;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.product-meta{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.product-price{color:#c0392b;font-size:1.05rem;font-weight:700}.product-location{color:#8a7a6a;font-size:.82rem}.product-specs{color:#7a6a5a;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;font-size:.82rem;display:flex}.product-actions{border-top:1px solid #f0ebe3;gap:.5rem;padding-top:.75rem;display:flex}.btn-edit,.btn-delete{cursor:pointer;border:none;border-radius:6px;flex:1;padding:.5rem;font-size:.85rem;font-weight:500;transition:background .2s}.btn-edit{color:#3d2b1f;background:#e8ddd0}.btn-edit:hover{background:#d4c4b0}.btn-delete{color:#c0392b;background:#fde8e8}.btn-delete:hover{background:#f5c6c6}@media (width<=640px){.product-grid{grid-template-columns:1fr}}.account-manager{background:#fff;border-radius:16px;max-width:700px;margin:0 auto;padding:2rem;box-shadow:0 2px 16px #0000000f}.account-manager h2{color:#3d2b1f;margin:0 0 1rem;font-size:1.4rem}.role-legend{background:#faf6f1;border-radius:10px;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;padding:.75rem;display:flex}.legend-item{color:#5a4a3a;font-size:.82rem}.account-list{flex-direction:column;gap:.5rem;display:flex}.account-row{border:1.5px solid #e8ddd0;border-radius:10px;justify-content:space-between;align-items:center;padding:.85rem 1rem;transition:border-color .2s;display:flex}.account-row:hover{border-color:#c9a87c}.account-info{flex-direction:column;display:flex}.account-name{color:#3d2b1f;font-size:.95rem;font-weight:600}.account-username{color:#8a7a6a;font-size:.82rem}.account-actions{align-items:center;gap:.5rem;display:flex}.role-select{cursor:pointer;background:#faf6f1;border:1.5px solid #d4c4b0;border-radius:8px;outline:none;padding:.4rem .6rem;font-size:.85rem}.role-select:focus{border-color:#b8733a}.role-select.role-admin{border-color:#e74c3c}.role-select.role-editor{border-color:#f39c12}.role-select.role-viewer{border-color:#95a5a6}.btn-delete-account{cursor:pointer;background:0 0;border:1.5px solid #e8ddd0;border-radius:8px;padding:.35rem .5rem;font-size:1rem;transition:all .2s}.btn-delete-account:hover{background:#fde8e8;border-color:#e74c3c}@media (width<=640px){.account-manager{padding:1.25rem}.account-row{flex-direction:column;align-items:flex-start;gap:.5rem}.account-actions{justify-content:flex-end;width:100%}}.admin-app{background:#f0ebe3;min-height:100vh}.admin-header{color:#fff;z-index:50;background:#1e140a;padding:0 1.5rem;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1100px;height:64px;margin:0 auto;display:flex}.header-inner h1{color:#d4a574;margin:0;font-size:1.25rem}.btn-add{color:#fff;cursor:pointer;background:#b8733a;border:none;border-radius:8px;padding:.55rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-add:hover{background:#9a5f2e}.header-actions{align-items:center;gap:.75rem;display:flex}.btn-back{color:#d4a574;border:1px solid #d4a5744d;border-radius:8px;padding:.55rem 1.2rem;font-size:.9rem;text-decoration:none;transition:all .2s}.btn-back:hover{background:#d4a57426}.admin-main{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.user-info{color:#a09080;font-size:.85rem}.btn-logout{color:#a09080;cursor:pointer;background:0 0;border:1px solid #a090804d;border-radius:6px;padding:.45rem .9rem;font-size:.82rem;transition:all .2s}.btn-logout:hover{color:#e74c3c;background:#e74c3c1a;border-color:#e74c3c66}.api-error{color:#c0392b;background:#fde8e8;border-radius:10px;margin-bottom:1.5rem;padding:.85rem 1.2rem;font-size:.9rem}.loading{text-align:center;color:#8a7a6a;padding:4rem;font-size:1.1rem}.loading-screen{color:#8a7a6a;background:#f0ebe3;justify-content:center;align-items:center;min-height:100vh;font-size:1.3rem;display:flex}.role-badge{color:#d4a574;background:#b8733a26;border-radius:4px;margin-left:.4rem;padding:.15rem .5rem;font-size:.75rem;display:inline-block}.btn-nav{color:#d4a574;cursor:pointer;background:0 0;border:1px solid #d4a5744d;border-radius:6px;padding:.45rem .9rem;font-size:.85rem;transition:all .2s}.btn-nav:hover{background:#d4a57426}
