@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@600&display=swap";:root{color-scheme:light;--bg: #f4f0e8;--surface: rgba(255, 255, 255, .88);--surface-strong: #ffffff;--surface-dark: #191611;--text: #1d1a16;--muted: #6f675e;--line: rgba(37, 31, 24, .12);--line-strong: rgba(37, 31, 24, .22);--accent: #5c3b24;--accent-soft: #ead9c4;--danger: #8c2f27;--success: #1f6f46;--shadow: 0 24px 70px rgba(35, 28, 21, .08);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(255,255,255,.9),transparent 35%),linear-gradient(160deg,#efe7da,#f5f1ea 45%,#ece4d8);color:var(--text);font-family:Manrope,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}#root{min-height:100vh}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;margin-bottom:.5rem;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.primary-button,.ghost-button,.danger-button,.icon-button,.sidebar-link{border:0;border-radius:999px;transition:transform .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}.primary-button,.ghost-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.2rem;font-weight:700}.primary-button{background:var(--surface-dark);color:#fff;box-shadow:0 12px 28px #19161133}.ghost-button{background:#ffffffc2;color:var(--text);border:1px solid var(--line)}.danger-button{background:#8c2f2714;color:var(--danger);border:1px solid rgba(140,47,39,.16)}.icon-button{width:40px;height:40px;background:#ffffffb8;border:1px solid var(--line);color:var(--text)}.primary-button:hover,.ghost-button:hover,.danger-button:hover,.icon-button:hover,.sidebar-link:hover{transform:translateY(-1px)}.primary-button:disabled,.ghost-button:disabled,.danger-button:disabled{opacity:.6;cursor:not-allowed}.field{display:grid;gap:.55rem}.field span{color:var(--muted);font-size:.88rem;font-weight:700}.field input,.field textarea{width:100%;padding:.92rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffffd6;color:var(--text);outline:none}.field input:focus,.field textarea:focus{border-color:#5c3b2457;box-shadow:0 0 0 4px #5c3b2414}.field--compact input{min-width:130px}.button-row{display:flex;flex-wrap:wrap;gap:.75rem}.button-row--tight{gap:.55rem}.loader-shell{display:flex;align-items:center;gap:.9rem;padding:1.5rem 0;color:var(--muted)}.loader-shell--fullscreen{justify-content:center;min-height:100vh}.loader{width:18px;height:18px;border:2px solid rgba(92,59,36,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}.empty-state{padding:2rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffb8;color:var(--muted)}.empty-state strong{display:block;margin-bottom:.5rem;color:var(--text)}.toast-stack{position:fixed;top:1rem;right:1rem;z-index:60;display:grid;gap:.75rem}.toast{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;width:min(360px,calc(100vw - 2rem));padding:1rem 1rem 1rem 1.1rem;border-radius:20px;border:1px solid var(--line);background:#ffffffeb;box-shadow:var(--shadow)}.toast p{margin:.35rem 0 0;color:var(--muted)}.toast--success{border-color:#1f6f4629}.toast--danger{border-color:#8c2f272e}.progress-card{display:grid;gap:.7rem;padding:1rem 1.1rem;border-radius:var(--radius-md);background:#ffffffad;border:1px solid var(--line)}.progress-card p{margin:0;color:var(--muted)}.progress-bar{height:8px;border-radius:999px;overflow:hidden;background:#19161114}.progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8f694a,#3f2b1e)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1rem;background:#110e0b6b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-card{width:min(620px,100%);padding:1.4rem;border-radius:26px;border:1px solid var(--line);background:#faf7f2f5;box-shadow:var(--shadow)}.editor-preview{overflow:hidden;border-radius:20px;border:1px solid var(--line)}.editor-image{width:100%;aspect-ratio:4 / 3;object-fit:cover}.error-copy{color:var(--danger)}.muted-copy{color:var(--muted)}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{width:min(1280px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 2rem}.app-shell--public{width:min(1440px,calc(100% - 1rem));padding-top:.5rem}.public-main{display:grid;gap:1rem}.dashboard-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.dashboard-sidebar{position:sticky;top:0;display:grid;align-content:start;gap:1rem;min-height:100vh;padding:1.4rem;border-right:1px solid var(--line);background:#f7f2eac7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dashboard-main{padding:1.6rem}.sidebar-card,.panel-card{padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow)}.sidebar-card h1,.page-header h1,.section-header h2,.auth-card h1{margin:0}.sidebar-card p,.page-header p{color:var(--muted)}.role-pill{display:inline-flex;align-items:center;width:fit-content;min-height:34px;padding:0 .85rem;border-radius:999px;background:#5c3b2414;color:var(--accent);font-size:.82rem;font-weight:800;text-transform:uppercase}.sidebar-nav,.sidebar-actions{display:grid;gap:.75rem}.sidebar-link{display:flex;align-items:center;min-height:48px;padding:0 1rem;border:1px solid var(--line);background:#ffffffa3;color:var(--text);font-weight:700}.sidebar-link.active{background:var(--surface-dark);color:#fff;box-shadow:0 12px 28px #19161133}.dashboard-page{display:grid;gap:1.25rem}.page-header,.section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.8fr);gap:1.25rem}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.form-grid{display:grid;gap:1rem}.auth-wrapper{display:grid;place-items:center;min-height:calc(100vh - 9rem)}.auth-card{width:min(520px,100%);display:grid;gap:1.35rem;padding:1.5rem;border-radius:30px;border:1px solid var(--line);background:#ffffffd6;box-shadow:var(--shadow)}@media (max-width: 1080px){.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar{position:static;min-height:auto;border-right:0;border-bottom:1px solid var(--line)}.dashboard-grid,.stat-grid{grid-template-columns:1fr}}@media (max-width: 720px){.app-shell{width:min(100%,calc(100% - 1rem))}.page-header,.section-header{flex-direction:column;align-items:stretch}.dashboard-main,.dashboard-sidebar{padding:1rem}}.catalog-page{display:grid;gap:1rem;min-height:calc(100vh - 1rem)}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.product-card{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:24px;background:#ffffffd1;box-shadow:var(--shadow);text-align:inherit;transition:transform .18s ease,box-shadow .18s ease}.product-card:hover{transform:translateY(-3px);box-shadow:0 28px 62px #231c1524}.product-card:focus-visible{outline:0;box-shadow:0 0 0 4px #5c3b2429,0 24px 56px #231c152e}.product-image-frame{position:relative;overflow:hidden;aspect-ratio:4 / 5}.product-image{width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.product-card:hover .product-image,.product-card:focus-visible .product-image{transform:scale(1.03)}.product-code-chip{position:absolute;right:.7rem;bottom:.7rem;display:inline-flex;align-items:center;min-height:30px;padding:0 .72rem;border-radius:999px;background:#13100dad;color:#f8f2ea;font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.catalog-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:1rem;background:linear-gradient(180deg,#0c0b09e0,#0c0b09f5),#0c0b09eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.catalog-lightbox-dialog{position:relative;display:grid;gap:.9rem;width:min(1120px,100%)}.catalog-lightbox-media{overflow:hidden;border-radius:30px;background:#ffffff0d}.catalog-lightbox-image{width:100%;max-height:calc(100vh - 11rem);object-fit:contain}.catalog-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.95rem 1rem .2rem;color:#f6eee4}.catalog-lightbox-code,.catalog-lightbox-stock{display:inline-flex;align-items:center;min-height:38px;padding:0 .9rem;border-radius:999px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.catalog-lightbox-code{font-weight:800;letter-spacing:.08em;text-transform:uppercase}.catalog-lightbox-stock{color:#f6eee4db}.catalog-lightbox-close,.catalog-lightbox-nav{position:fixed;z-index:81;border:0;color:#fff8f0;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.catalog-lightbox-close{top:1rem;right:1rem;min-height:44px;padding:0 1rem;border-radius:999px;font-weight:700}.catalog-lightbox-nav{top:50%;width:52px;height:52px;border-radius:999px;transform:translateY(-50%);font-size:2rem;line-height:1}.catalog-lightbox-nav--prev{left:1rem}.catalog-lightbox-nav--next{right:1rem}.catalog-lightbox-close:hover,.catalog-lightbox-nav:hover{background:#fff3}@media (min-width: 640px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1080px){.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}@media (max-width: 720px){.catalog-page{min-height:calc(100vh - .5rem)}.catalog-grid{gap:.65rem}.product-card{border-radius:20px}.product-code-chip{right:.55rem;bottom:.55rem;min-height:28px;padding:0 .6rem;font-size:.68rem}.catalog-lightbox{padding:.75rem}.catalog-lightbox-dialog{gap:.7rem}.catalog-lightbox-media{border-radius:24px}.catalog-lightbox-image{max-height:calc(100vh - 9.5rem)}.catalog-lightbox-footer{flex-direction:column;align-items:stretch;padding:0 .1rem}.catalog-lightbox-code,.catalog-lightbox-stock{justify-content:center}.catalog-lightbox-nav{top:auto;bottom:1rem;width:44px;height:44px;transform:none;font-size:1.7rem}.catalog-lightbox-nav--prev{left:.75rem}.catalog-lightbox-nav--next{right:.75rem}}.stat-card--dashboard{min-height:128px;align-content:space-between}.table-shell{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.admin-table th{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.table-thumb{width:74px;height:74px;border-radius:18px;object-fit:cover}.upload-dropzone{display:grid;place-items:center;gap:.45rem;min-height:170px;padding:1.4rem;border:1.5px dashed rgba(92,59,36,.22);border-radius:24px;background:#ffffff85;text-align:center}.upload-dropzone p{max-width:40ch;margin:0;color:var(--muted)}.batch-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.upload-card{position:relative;display:grid;gap:.8rem;padding:.8rem;border-radius:22px;border:1px solid var(--line);background:#ffffffbd}.upload-card--error{border-color:#8c2f2738}.upload-preview{display:grid;place-items:center;overflow:hidden;min-height:180px;border-radius:18px;background:#1916110a;color:var(--muted)}.upload-image{width:100%;height:100%;min-height:180px;object-fit:cover}.upload-card-body{display:grid;gap:.55rem}.user-list{display:grid;gap:.75rem;margin-top:1rem}.user-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-radius:18px;border:1px solid var(--line);background:#ffffff8f}.user-row p{margin:.2rem 0 0;color:var(--muted)}@media (max-width: 820px){.admin-table,.admin-table thead,.admin-table tbody,.admin-table tr,.admin-table th,.admin-table td{display:block}.admin-table thead{display:none}.admin-table tr{margin-bottom:1rem;padding:1rem;border:1px solid var(--line);border-radius:20px;background:#ffffffad}.admin-table td{display:grid;gap:.35rem;padding:.65rem 0;border-bottom:1px solid rgba(37,31,24,.08)}.admin-table td:last-child{border-bottom:0}.admin-table td:before{content:attr(data-label);color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}}
