*,: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{background:#fff;border-radius:16px;max-width:800px;margin:0 auto;padding:2rem;box-shadow:0 2px 16px #0000000f}.product-form h2{color:#3d2b1f;margin:0 0 1.5rem;font-size:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row-3{grid-template-columns:1fr 1fr 1fr}.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}.field-error{color:#c0392b;margin-top:.25rem;font-size:.82rem}.form-actions{border-top:1px solid #e8ddd0;justify-content:flex-end;gap:.75rem;margin-top:1rem;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){.form-row,.form-row-3{grid-template-columns:1fr}.product-form{padding:1.25rem}}.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}}.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}
