:root{--bg:#f4f7fb;--sidebar:#0f172a;--sidebar-soft:#17223a;--sidebar-text:#c8d3e6;--sidebar-muted:#93a4bd;--panel:#ffffff;--panel-soft:#f1f6ff;--ink:#162033;--muted:#64748b;--line:#dbe4ef;--accent:#2563eb;--accent-strong:#1d4ed8;--danger:#dc2626;--ok:#047857;--warning:#b45309;--shadow:0 18px 45px rgba(15,23,42,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{border:0}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.app-shell.sidebar-collapsed{grid-template-columns:86px minmax(0,1fr)}.sidebar{background:var(--sidebar);color:var(--sidebar-text);display:flex;flex-direction:column;min-height:100vh;position:-webkit-sticky;position:sticky;top:0}.sidebar-top{border-bottom:1px solid rgba(219,228,239,.1);gap:14px;justify-content:space-between;min-height:84px;padding:12px 20px}.sidebar-logo,.sidebar-top{align-items:center;display:flex}.sidebar-logo{gap:10px;min-width:0}.logo-cube{align-items:center;background:#ffffff;border-radius:7px;color:#123c7c;display:flex;flex:0 0 auto;font-size:13px;font-weight:900;height:48px;justify-content:center;letter-spacing:0;width:58px}.logo-copy{display:grid;grid-gap:3px;gap:3px;min-width:0}.logo-copy strong{color:#ffffff;font-size:21px;line-height:1}.logo-copy span{color:var(--sidebar-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.collapse-button{align-items:center;background:#1d2943;border-radius:8px;color:#cbd5e1;cursor:pointer;display:flex;height:38px;justify-content:center;width:38px}.collapse-button:hover{background:#273653}.sidebar-nav{display:grid;grid-gap:12px;gap:12px;padding:34px 20px 20px}.nav-item{align-items:center;background:transparent;border-radius:8px;color:var(--sidebar-muted);cursor:pointer;display:flex;gap:14px;min-height:60px;padding:0 20px;text-align:left;width:100%}.nav-item:hover{background:rgba(255,255,255,.05);color:#ffffff}.nav-item.active{background:var(--accent);color:#ffffff;font-weight:800}.nav-item.is-muted{opacity:.75}.nav-item:disabled{cursor:not-allowed;opacity:.55}.nav-item span{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-footer{border-top:1px solid rgba(219,228,239,.1);display:grid;grid-gap:22px;gap:22px;margin-top:auto;padding:22px 28px 28px}.connection-status{align-items:center;color:var(--sidebar-muted);display:flex;gap:14px;font-size:14px;font-weight:800;letter-spacing:.08em}.connection-status span{color:#22c55e;font-size:28px;line-height:1}.user-role{color:#60a5fa;font-size:13px;font-weight:900}.logout-button{align-items:center;background:transparent;color:#ff7070;cursor:pointer;display:flex;font-size:19px;font-weight:800;gap:14px;padding:0}.workspace{min-width:0;padding:34px 40px}.workspace-header{align-items:flex-start;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.workspace-header h1{font-size:34px;line-height:1.1;margin:4px 0 6px}.workspace-header p{color:var(--muted);margin:0}.eyebrow{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;margin:0;text-transform:uppercase}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0}.form-panel{max-width:980px}.panel-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:18px}.panel-title{font-size:17px;font-weight:800}.panel-body{padding:18px}.form-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:grid;grid-gap:7px;gap:7px}.field.full{grid-column:1/-1}.label-row{align-items:center;color:#344256;display:flex;font-size:13px;font-weight:800;justify-content:space-between}.hint{color:var(--muted);font-size:12px;font-weight:600}input,select,textarea{background:#fff;border:1px solid #c9d5e4;border-radius:6px;color:var(--ink);min-height:42px;padding:10px 11px;width:100%}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:none}.preview{background:var(--panel-soft);border:1px solid #cfe0ff;border-radius:8px;display:grid;grid-gap:10px;gap:10px;margin:16px 0;padding:14px}.sku-code{color:var(--accent-strong);font-size:30px;font-weight:900;letter-spacing:0}.preview-meta{color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:12px}.preview-error{color:var(--danger);font-size:13px;font-weight:800}.button{align-items:center;border:1px solid transparent;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:40px;padding:9px 13px;white-space:nowrap}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button.secondary{background:#fff;border-color:#b8c6d8;color:#22324a}.button:disabled{cursor:not-allowed;opacity:.55}.actions{display:flex;gap:10px;justify-content:flex-end}.status{border-radius:6px;font-size:14px;font-weight:700;margin-bottom:18px;padding:12px 14px}.status.ok{background:#e8f7f0;color:var(--ok)}.status.error{background:#fff0ed;color:var(--danger)}.search-box,.table-header{align-items:center}.search-box{background:#fff;border:1px solid #c9d5e4;border-radius:8px;color:var(--muted);display:flex;gap:8px;max-width:420px;padding:0 10px;width:42%}.search-box input{border:0;box-shadow:none;min-height:42px;padding-left:0}.search-box input:focus{box-shadow:none}.list-controls{align-items:end;border-bottom:1px solid var(--line);display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1.1fr) minmax(170px,1fr) minmax(150px,.7fr) auto auto;padding:14px 18px}.filter-field{display:grid;grid-gap:6px;gap:6px;min-width:0}.filter-field span{color:#344256;font-size:12px;font-weight:900}.filter-field.compact{min-width:150px}.clear-button,.sort-button{min-height:42px}.table-wrap{max-height:calc(100vh - 230px);overflow:auto}table{border-collapse:collapse;min-width:1180px;width:100%}td,th{border-bottom:1px solid var(--line);font-size:13px;padding:12px 10px;text-align:left;vertical-align:top}th{background:#f3f7fb;color:#344256;font-size:12px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.mono,th{font-weight:900}.mono{font-family:Courier New,Courier,monospace}.pill{background:#eef2f7;border-radius:999px;color:#475569;display:inline-flex;font-size:12px;font-weight:800;padding:5px 9px;white-space:nowrap}.pill.active{background:#e8f7f0;color:var(--ok)}.pill.pending-review{background:#fff7ed;color:var(--warning)}.pill.duplicated,.pill.inconsistent,.pill.legacy-blocked{background:#fff0ed;color:var(--danger)}.empty{color:var(--muted);padding:34px;text-align:center}.sidebar-collapsed .sidebar{align-items:center}.sidebar-collapsed .sidebar-top{flex-direction:column;padding:16px 12px}.sidebar-collapsed .connection-status strong,.sidebar-collapsed .logo-copy,.sidebar-collapsed .logout-button span,.sidebar-collapsed .nav-item span,.sidebar-collapsed .user-role{display:none}.sidebar-collapsed .logo-cube{height:44px;width:50px}.sidebar-collapsed .sidebar-nav{padding:28px 12px;width:100%}.sidebar-collapsed .nav-item{justify-content:center;padding:0}.sidebar-collapsed .sidebar-footer{align-items:center;padding-left:12px;padding-right:12px}.sidebar-collapsed .connection-status,.sidebar-collapsed .logout-button{justify-content:center}@media (max-width:980px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{min-height:auto;position:static}.sidebar-top{min-height:72px}.sidebar-nav{display:flex;overflow-x:auto;padding:12px}.nav-item{flex:0 0 auto;min-height:46px;padding:0 14px}.sidebar-footer{display:none}.sidebar-collapsed .logo-copy,.sidebar-collapsed .nav-item span{display:initial}.workspace{padding:22px}.workspace-header{flex-direction:column}.search-box{width:100%}.list-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.form-grid{grid-template-columns:1fr}.panel-header.table-header{align-items:flex-start;flex-direction:column}.actions{flex-direction:column}.button{width:100%}.list-controls{grid-template-columns:1fr}}