@font-face{font-family:Norsal;src:url(/assets/Norsal-Regular-CIRHQ22v.ttf)format("truetype");font-weight:400}@font-face{font-family:Norsal;src:url(/assets/Norsal-Medium-tBBs6J38.ttf)format("truetype");font-weight:500}@font-face{font-family:Norsal;src:url(/assets/Norsal-SemiBold-BauGROuR.ttf)format("truetype");font-weight:600}@font-face{font-family:Norsal;src:url(/assets/Norsal-Bold-BtT0EIEE.ttf)format("truetype");font-weight:700}:root{--ground:#f6f4ef;--surface:#fff;--ink:#1d1b18;--muted:#615c53;--line:#e6e1d6;--accent:#e8731a;--accent-tint:#fdebd8;--accent-ink:#b4560f;--success:#2e7a4e;--info:#2f5d8a;--danger:#9b2c1f;--danger-tint:#f7e4e1;--radius-card:18px;--radius-pill:999px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-xxl:32px}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);margin:0;font-family:Norsal,system-ui,sans-serif;font-size:15px;line-height:1.6}button,input{font:inherit;color:inherit}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{padding:var(--space-xl) var(--space-lg);border-inline-end:1px solid var(--line);background:var(--surface);gap:var(--space-xs);flex-direction:column;display:flex}.brand{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);font-size:17px;font-weight:700;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:10px;place-items:center;width:32px;height:32px;display:grid}.nav-item{text-align:start;padding:var(--space-sm) var(--space-md);cursor:pointer;background:0 0;border:0;border-radius:12px;font-weight:500}.nav-item:hover{background:var(--ground)}.nav-item.active{background:var(--accent-tint);color:var(--accent-ink);font-weight:700}.sidebar-footer{margin-top:auto}.main{padding:var(--space-xxl);width:100%;min-width:0;max-width:1200px}.page-head{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}h1{margin:0;font-size:28px}h2{margin:0 0 var(--space-md);font-size:17px}.muted{color:var(--muted)}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-xl)}.stats{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.stat{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-lg) var(--space-xl)}.stat-value{font-size:28px;font-weight:700;line-height:1.2}.stat-value.accent{color:var(--accent)}.stat-label{color:var(--muted);font-size:13px}.two-col{gap:var(--space-md);grid-template-columns:2fr 1fr;display:grid}.bars{direction:ltr;align-items:flex-end;gap:6px;height:160px;display:flex}.bar-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.bar{background:var(--accent);border-radius:6px 6px 2px 2px;width:100%;min-height:3px}.bar.zero{background:var(--line)}.bar-label{color:var(--muted);font-size:11px}.bar-count{font-size:11px;font-weight:600}.top-list{margin:0;padding:0;list-style:none}.top-list li{padding:var(--space-sm) 0;border-bottom:1px solid var(--line);justify-content:space-between;display:flex}.top-list li:last-child{border-bottom:0}.btn{white-space:nowrap;border-radius:var(--radius-pill);padding:var(--space-sm) var(--space-lg);cursor:pointer;background:var(--ink);color:#fff;border:0;font-weight:600}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn.danger{background:var(--danger-tint);color:var(--danger)}.btn.small{padding:4px var(--space-md);font-size:13px}.btn.wide{width:100%;padding:var(--space-md)}.input{width:100%;padding:var(--space-md) var(--space-lg);border:1px solid var(--line);background:var(--surface);border-radius:14px;outline:none}.input:focus{border-color:var(--ink)}.ltr{text-align:left;direction:ltr}td.ltr{white-space:nowrap}.toolbar{gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.toolbar .input{max-width:320px}.chip{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-pill);padding:6px var(--space-lg);cursor:pointer}.chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}.table-card{background:var(--surface);border-radius:var(--radius-card);overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:start;color:var(--muted);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--line);white-space:nowrap;font-size:13px;font-weight:600}td{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}tr.is-blocked td{background:#fcf8f7}.badge{padding:0 var(--space-sm);border-radius:8px;margin-inline-start:var(--space-xs);font-size:12px;font-weight:600;display:inline-block}.badge.new{background:var(--accent-tint);color:var(--accent-ink)}.badge.blocked{background:var(--danger-tint);color:var(--danger)}.badge.admin{color:var(--info);background:#e3ebf3}.list-pill{background:var(--ground);border-radius:var(--radius-pill);padding:0 var(--space-sm);margin:2px;font-size:13px;display:inline-block}.actions{gap:var(--space-xs);white-space:nowrap;justify-content:flex-end;display:flex}.select{appearance:auto;width:auto;min-width:140px}.small-text{font-size:12px}.empty-note{padding:var(--space-lg)}.modal-backdrop{padding:var(--space-lg);z-index:10;background:#1d1b1873;place-items:center;display:grid;position:fixed;inset:0}.modal{width:100%;max-width:640px;max-height:calc(100vh - 2 * var(--space-lg));overflow-y:auto}.form-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-grid label{gap:var(--space-xs);flex-direction:column;display:flex}.form-grid .select{width:100%}.span-2{grid-column:span 2}.form-actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.divider{border:0;border-top:1px solid var(--line);margin:var(--space-xl) 0}.words{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.word{align-items:center;gap:var(--space-xs);padding:2px var(--space-sm);display:inline-flex}.word-remove{cursor:pointer;color:var(--danger);background:0 0;border:0;padding:0 2px;font-size:16px;line-height:1}.center-page{min-height:100vh;padding:var(--space-lg);place-items:center;display:grid}.login{gap:var(--space-lg);flex-direction:column;width:100%;max-width:400px;display:flex}.error{color:var(--danger);font-weight:600}.toast{bottom:var(--space-xl);background:var(--ink);color:#fff;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-pill);position:fixed;left:50%;transform:translate(-50%)}.product-thumb{object-fit:cover;background:var(--ground);border-radius:8px;width:40px;height:40px;display:block}.product-thumb.empty{border:1px dashed var(--line)}.product-image{object-fit:cover;background:var(--ground);border-radius:12px;width:160px;height:120px}.image-row{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.file-input{display:none}.suggestions{gap:var(--space-md);flex-wrap:wrap;display:flex}.suggestion{gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.badge.suggested{background:var(--accent-tint);color:var(--accent-ink)}.modal-wide{max-width:880px}h3{margin:var(--space-lg) 0 var(--space-xs);font-size:15px}.drop-zone{width:100%;min-height:96px;margin:var(--space-md) 0;border:2px dashed var(--line);border-radius:var(--radius-card);background:var(--ground);color:var(--muted);font:inherit;cursor:pointer;display:block}.drop-zone.active,.drop-zone:hover{border-color:var(--accent);color:var(--accent-ink)}.check{align-items:center;gap:var(--space-xs);cursor:pointer;margin-inline-start:auto;display:inline-flex}.bulk-table{max-height:360px;margin-bottom:var(--space-md);overflow-y:auto}.status{white-space:nowrap;font-size:13px;font-weight:600}.status.ready,.status.uploading{color:var(--info)}.status.done{color:var(--success)}.status.failed{color:var(--danger)}.status.keep,.status.unmatched,.status.duplicate{color:var(--muted)}@media (width<=800px){.shell{grid-template-columns:1fr}.sidebar{padding:var(--space-md) var(--space-lg);border-inline-end:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center}.brand{width:100%;margin-bottom:var(--space-xs)}.sidebar-footer{margin-top:0;margin-inline-start:auto}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-wrap:wrap}.main{padding:var(--space-lg)}.two-col,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}}
