:root{--text:#7a6a5d;--text-h:#241a10;--bg:#fdf6ef;--surface:#fff;--surface-2:#fff1e2;--border:#f0e1d1;--accent:#ff6a3d;--accent-2:#ffb648;--accent-h:#e8531f;--accent-bg:#ff6a3d1a;--gradient:linear-gradient(135deg, var(--accent) 0%, var(--accent-2) 100%);--success:#1fa971;--success-bg:#1fa9711f;--danger:#e5484d;--danger-bg:#e5484d1a;--shadow-sm:0 2px 8px #78481e0f;--shadow:0 12px 28px -8px #78481e29;--shadow-lg:0 24px 48px -12px #78481e47;--glow:0 0 0 4px var(--accent-bg);--sans:"Plus Jakarta Sans", system-ui, "Segoe UI", Roboto, sans-serif;--radius-sm:10px;--radius:18px;--radius-lg:28px}@media (prefers-color-scheme:dark){:root{--text:#b8a99b;--text-h:#fbf0e4;--bg:#17110c;--surface:#221a13;--surface-2:#2a2018;--border:#392c20;--accent:#ff8a5c;--accent-2:#ffc978;--accent-h:#ffa374;--accent-bg:#ff8a5c24;--success:#3ecf8e;--success-bg:#3ecf8e24;--danger:#ff6b6f;--danger-bg:#ff6b6f24;--shadow-sm:0 2px 8px #00000040;--shadow:0 12px 28px -8px #00000073;--shadow-lg:0 24px 48px -12px #0009;--glow:0 0 0 4px var(--accent-bg)}}.top-nav{z-index:10;background:color-mix(in srgb, var(--surface) 85%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);position:sticky;top:0}.top-nav-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1240px;margin:0 auto;padding:14px 24px;display:flex}.brand{letter-spacing:-.02em;color:var(--text-h);align-items:center;gap:8px;font-size:16px;font-weight:800;display:inline-flex}.nav-tabs{background:var(--surface-2);border-radius:999px;gap:4px;padding:4px;display:flex}.nav-tab{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;padding:8px 16px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.nav-tab:hover{color:var(--text-h)}.nav-tab-active{background:var(--gradient);color:#fff;box-shadow:0 4px 12px -4px #ff6a3d80}.nav-tab-active:hover{color:#fff}.page{flex-direction:column;gap:22px;max-width:1240px;margin:0 auto;padding:48px 24px 72px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-heading{flex-direction:column;gap:6px;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.page-header h1{font-size:42px;line-height:1.1}@media (width<=640px){.page-header h1{font-size:32px}}.highlight{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.subtitle{color:var(--text);font-size:14px}.subtitle strong{color:var(--text-h)}.add-button{background:var(--gradient);color:#fff;border:none;border-radius:999px;align-items:center;gap:8px;padding:13px 22px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 24px -8px #ff6a3d8c}.add-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px -8px #ff6a3da6}.add-button:active{transform:translateY(0)}.add-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.add-icon{justify-content:center;align-items:center;width:18px;height:18px;font-size:16px;line-height:1;display:inline-flex}.form-wrap{animation:.24s cubic-bezier(.2,.8,.3,1) drop-in}@keyframes drop-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.skeleton-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.skeleton-card{aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(100deg, var(--surface) 30%, var(--surface-2) 45%, var(--surface) 60%);border:1px solid var(--border);background-size:200% 100%;animation:1.4s ease-in-out infinite shimmer}@keyframes shimmer{0%{background-position:120% 0}to{background-position:-20% 0}}.error-state{border-radius:var(--radius);background:var(--danger-bg);color:var(--danger);text-align:center;justify-content:center;align-items:center;gap:10px;padding:22px;font-weight:600;display:flex}.error-icon{font-size:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,border-color .22s;display:flex;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-bg);transform:translateY(-6px)}.card:hover .card-image img{transform:scale(1.08)}.card-image{aspect-ratio:4/3;background:var(--surface-2);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.card-image img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.price-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;letter-spacing:-.01em;background:#140e08b8;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;position:absolute;top:10px;right:10px}.marketplace-badge{letter-spacing:.02em;color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:5px 11px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.marketplace-wb{background:#a01d94e0}.marketplace-oz{background:#0057ffe0}.marketplace-amz{color:#1a1300;background:#ff9900eb}.marketplace-ebay{background:#e53238e0}.marketplace-ym{color:#1a1300;background:#ffcc00eb}.placeholder{color:var(--text);opacity:.6;font-size:13px}.card-body{flex-direction:column;gap:9px;padding:16px;display:flex}.card-header{flex-direction:column;gap:2px;display:flex}.card-header h3{font-size:16px;line-height:1.3}.brend{color:var(--text);font-size:13px}.meta{align-items:center;gap:8px;font-size:13px;display:flex}.stars{letter-spacing:-1px;gap:1px;font-size:13px;display:inline-flex}.star-filled{color:var(--accent)}.star-empty{color:var(--border)}.rating-value{color:var(--text-h);font-weight:700}.feedbacks{color:var(--text);opacity:.75;margin-left:auto}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--accent-bg);color:var(--accent-h);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.in-stock{background:var(--success-bg);color:var(--success)}.out-of-stock{background:var(--danger-bg);color:var(--danger)}.description{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.link{color:var(--accent);align-items:center;gap:6px;margin-top:auto;padding-top:6px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.link span{transition:transform .18s}.link:hover span{transform:translate(3px)}.filters{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);z-index:5;flex-direction:column;gap:12px;padding:16px 18px;display:flex;position:sticky;top:78px}.filters input,.filters select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-h);padding:9px 12px;transition:border-color .15s,box-shadow .15s}.filters input:focus-visible,.filters select:focus-visible{border-color:var(--accent);box-shadow:var(--glow);outline:none}.filters-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search-wrap{flex:220px;min-width:160px;position:relative}.search-icon{color:var(--text);opacity:.6;pointer-events:none;font-size:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search{width:100%;padding-left:32px!important}.price-range{align-items:center;gap:6px;display:flex}.price-range input{width:108px}.price-sep{color:var(--text);opacity:.5}.rating-filter{align-items:center;gap:8px;display:flex}.rating-label{color:var(--text);white-space:nowrap;font-size:13px}.rating-stars{gap:2px;display:inline-flex}.star-on,.star-off{background:0 0;border:none;padding:2px;font-size:18px;line-height:1;transition:transform .12s}.star-on:hover,.star-off:hover{transform:scale(1.15)}.star-on{color:var(--accent)}.star-off{color:var(--border)}.toggle{color:var(--text);white-space:nowrap;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:inline-flex}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:var(--border);border-radius:999px;flex-shrink:0;width:36px;height:20px;transition:background .18s;position:relative}.toggle-thumb{background:var(--surface);border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000040}.toggle input:checked+.toggle-track{background:var(--gradient)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.reset{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:0 0;padding:9px 16px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.reset:hover{border-color:var(--accent);color:var(--accent)}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.form:before{content:"";background:var(--gradient);height:4px;position:absolute;inset:0 0 auto}.form h3{padding-top:2px;font-size:18px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.form-grid label{letter-spacing:.03em;text-transform:uppercase;color:var(--text);opacity:.85;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-h);text-transform:none;letter-spacing:normal;padding:10px 12px;font-size:14px;font-weight:400;transition:border-color .15s,box-shadow .15s}.form-grid input:focus-visible,.form-grid select:focus-visible,.form-grid textarea:focus-visible{border-color:var(--accent);box-shadow:var(--glow);outline:none}.form-grid textarea{resize:vertical}.wide{grid-column:1/-1}.errors{border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);margin:0;padding:12px 16px;font-size:13px;font-weight:500;list-style:inside}.actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.cancel,.submit{border:1px solid var(--border);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}.cancel{color:var(--text);background:0 0}.cancel:hover{border-color:var(--text);color:var(--text-h)}.submit{background:var(--gradient);color:#fff;border-color:#0000;box-shadow:0 8px 20px -8px #ff6a3d99}.submit:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px #ff6a3db3}.cancel:disabled,.submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.card-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px;display:grid}.empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:64px 20px;display:flex}.empty-icon{font-size:32px}.empty-title{color:var(--text-h);font-size:15px;font-weight:700}.empty-hint{color:var(--text);opacity:.8;font-size:13px}.supplier-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:18px;transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,border-color .22s;display:flex}.supplier-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-bg);transform:translateY(-4px)}.supplier-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.supplier-card-header h3{font-size:16px;line-height:1.3}.supplier-type{color:var(--text);font-size:13px}.reliability-badge{background:var(--gradient);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:34px;height:34px;padding:0 8px;font-size:13px;font-weight:700;display:inline-flex}.supplier-meta{color:var(--text);flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.supplier-country{color:var(--text-h);font-weight:600}.supplier-website{color:var(--accent);text-decoration:none}.supplier-website:hover{text-decoration:underline}.supplier-contacts{color:var(--text);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.verified-badge,.unverified-badge{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.verified-badge{background:var(--success-bg);color:var(--success)}.unverified-badge{background:var(--surface-2);color:var(--text)}.supplier-note{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;display:-webkit-box;overflow:hidden}.edit-button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;align-self:flex-start;margin-top:auto;padding:8px 16px;font-size:13px;font-weight:600;transition:border-color .15s,color .15s}.edit-button:hover{border-color:var(--accent);color:var(--accent)}.reliability-filter{color:var(--text);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:flex}.reliability-filter input{width:80px}.form-grid .checkbox-inline{text-transform:none;color:var(--text-h);flex-direction:row;align-items:center;gap:8px;font-size:14px;font-weight:500}.form-grid .checkbox-inline input{width:auto}.material-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:18px;transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,border-color .22s;display:flex}.material-card:hover{box-shadow:var(--shadow-lg);border-color:var(--accent-bg);transform:translateY(-4px)}.material-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.material-card-header h3{font-size:16px;line-height:1.3}.material-spec{color:var(--text);font-size:13px}.price-tag{background:var(--gradient);color:#fff;border-radius:999px;flex-shrink:0;align-items:center;padding:5px 12px;font-size:13px;font-weight:700;display:inline-flex}.supplier-chip{background:var(--accent-bg);color:var(--accent-h);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:12px;font-weight:600}.material-stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 0;display:grid}.stat{flex-direction:column;gap:2px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.7;font-size:11px}.stat-value{color:var(--text-h);font-size:14px;font-weight:700}.material-actions{gap:8px;margin-top:auto;display:flex}.delete-button{border:1px solid var(--border);color:var(--danger);background:0 0;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}.delete-button:hover{border-color:var(--danger);background:var(--danger-bg)}.scroll-sentinel{height:1px}.load-more-status{color:var(--text);opacity:.75;justify-content:center;align-items:center;gap:8px;padding:20px 0;font-size:13px;display:flex}.load-more-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font:15px/1.5 var(--sans);color:var(--text);background:radial-gradient(560px 320px at 12% -8%, var(--accent-bg), transparent 65%), radial-gradient(480px 320px at 100% 0%, #ffb64824, transparent 60%), var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed}@media (prefers-color-scheme:dark){body{--lightningcss-light: ;--lightningcss-dark:initial}}#root{min-height:100svh}h1,h2,h3{color:var(--text-h);letter-spacing:-.02em;margin:0;font-weight:700}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{accent-color:var(--accent)}::selection{background:var(--accent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}
