*,:before,:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root{isolation:isolate;min-height:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{color:#0f172a;background:#f3f6fb;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{color:#0f172a;background:radial-gradient(circle at top,#eff6ff,#f8fafc 40%,#f1f5f9)}.app{width:min(1200px,100% - 2rem);margin:0 auto;padding:1rem 0 2rem}.page-title{margin-bottom:1rem;font-size:1.75rem;line-height:1.2}.form-section{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:1rem;box-shadow:0 10px 24px #0f172a0f}.product-form{gap:.6rem;display:grid}.input{background:#fff;border:1px solid #cbd5e1;border-radius:10px;width:100%;padding:.65rem .8rem}.textarea{resize:vertical;min-height:90px}.checkbox-row{align-items:center;gap:.5rem;margin:.2rem 0;display:flex}.form-error{color:#b91c1c;font-size:.85rem}.rating-control{gap:.35rem;display:grid}.rating-control__label{color:#334155;align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.rating-slider{padding:0}.feature-control{gap:.45rem;display:grid}.feature-control__label{color:#334155;font-size:.9rem}.feature-control__row{grid-template-columns:1fr auto;gap:.45rem;display:grid}.feature-control__add-btn{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.65rem .9rem}.feature-control__add-btn:hover{border-color:#94a3b8}.feature-tags{flex-wrap:wrap;gap:.4rem;display:flex}.feature-tag{color:#1e3a8a;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;padding:.3rem .55rem;font-size:.85rem}.feature-tag:hover{background:#dbeafe}.image-upload{gap:.45rem;display:grid}.image-upload__label{color:#334155;font-size:.9rem}.image-upload__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.image-upload__field{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:.65rem .8rem;transition:border-color .15s,box-shadow .15s}.image-upload__field:hover{border-color:#94a3b8}.image-upload__input:focus-visible+.image-upload__field{outline-offset:2px;outline:2px solid #2563eb}.image-upload__preview{aspect-ratio:1;object-fit:cover;border:1px solid #cbd5e1;border-radius:10px;width:100%;max-width:180px}.rating-stars{vertical-align:middle;align-items:center;gap:1px;line-height:1;display:inline-flex}.rating-stars__item{width:1em;height:1em;display:inline-block;position:relative}.rating-stars__base{color:#cbd5e1}.rating-stars__fill{color:#f59e0b;white-space:nowrap;position:absolute;inset:0 auto 0 0;overflow:hidden}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;padding:.75rem 1rem;font-weight:600;transition:transform .12s,opacity .2s}.submit-btn:hover:not(:disabled){transform:translateY(-1px)}.submit-btn:disabled{opacity:.65;cursor:wait}.catalog-section{margin-top:1rem}.catalog-toolbar{flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:.85rem;display:flex}.counter{font-weight:600}.sort-controls label{align-items:center;gap:.5rem;display:flex}.sort-controls input[type=checkbox]{margin:0}.sort-controls__search{flex:100%;width:100%}.sort-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sort-controls select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.4rem .6rem}.sort-controls input[type=search]{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;padding:.4rem .6rem}.sort-order-btn{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.4rem .65rem}.sort-order-btn:hover{border-color:#94a3b8}.export-json-btn{color:#166534;cursor:pointer;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.4rem .75rem;font-weight:600}.export-json-btn:hover{background:#dcfce7;border-color:#4ade80}.notification{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:10px;margin-bottom:.85rem;padding:.6rem .8rem;font-weight:600}.product-grid{grid-template-columns:1fr;gap:.9rem;display:grid}.product-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 10px 22px #0f172a14}.product-card__media{padding:.7rem;position:relative}.favorite-btn{z-index:2;color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;width:2rem;height:2rem;font-size:1.1rem;line-height:1;position:absolute;top:1rem;right:1rem}.favorite-btn:hover{color:#e11d48;border-color:#fda4af}.favorite-btn--active{color:#e11d48;background:#fff1f2;border-color:#fb7185}.product-card__placeholder{color:#64748b;background:linear-gradient(135deg,#e2e8f0,#f1f5f9);border-radius:12px;place-items:center;height:160px;font-weight:600;display:grid}.product-card__image{object-fit:cover;border-radius:12px;width:100%;height:160px;display:block}.product-card__badges{z-index:1;flex-wrap:wrap;gap:.4rem;display:flex;position:absolute;top:1rem;left:1rem}.badge{border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:700}.badge--new{color:#1d4ed8;background:#dbeafe}.badge--discount{color:#92400e;background:#fef3c7}.badge--out{color:#b91c1c;background:#fee2e2}.product-card__body{padding:0 .9rem .9rem}.product-card__title{min-height:2.7em;font-size:1rem;line-height:1.35}.product-card__price{flex-wrap:wrap;align-items:baseline;gap:.35rem .6rem;margin-top:.55rem;display:flex}.product-card__current-price{color:#0f172a;font-weight:800}.product-card__old-price{color:#64748b;font-size:.92rem;text-decoration:line-through}.product-card__discount{color:#b91c1c;font-weight:700}.product-card__meta{justify-content:space-between;gap:.5rem;margin-top:.5rem;font-size:.9rem;display:flex}.product-card__rating{color:#b45309;align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.status--in{color:#166534}.status--out{color:#b91c1c}.empty-state{color:#475569;background:#e2e8f0;border-radius:12px;padding:.9rem}@media (width>=640px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.app{width:min(1240px,100% - 3rem)}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=1180px){.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
