:root{--bg: #f6f5f1;--panel: #ffffff;--panel-2: #efede7;--border: #d9d5cb;--rule: #e7e4dc;--text: #1d1c1a;--muted: #6e6a62;--accent: #23466e;--accent-soft: #e6ecf3;--green: #2e7a4d;--red: #b3261e;--amber: #9a6200;--allegro: #d24f00;--woo: #7a4772;--accent-hover: #1a3657;--on-accent: #ffffff;--row-hover: #faf9f6;--red-text: #7d1a15;--green-text: #1f5535;--fresh: #5a4fb0;--overlay: rgba(29, 28, 26, .45);--radius: 4px;--sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", "Cascadia Mono", Consolas, monospace;color-scheme:light}:root[data-theme=dark]{--bg: #1b1a18;--panel: #232220;--panel-2: #2c2a27;--border: #3b3935;--rule: #302e2b;--text: #e7e4dd;--muted: #9b968c;--accent: #9db8d8;--accent-soft: #2b3440;--accent-hover: #b6cae2;--on-accent: #16202c;--row-hover: #282724;--green: #7fb895;--red: #e2857d;--amber: #d4a64f;--allegro: #ee8a4f;--woo: #c493bb;--red-text: #f0b3ad;--green-text: #b0d8bf;--fresh: #a99ee6;--overlay: rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-underline-offset:2px}::selection{background:var(--accent-soft)}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:stretch;gap:28px;padding:0 24px;height:52px;background:var(--panel);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:8px;font-weight:600}.logo small{color:var(--muted);font-weight:400;font-size:13px}.nav{display:flex;gap:2px;flex:1}.nav button{background:none;border:none;border-bottom:2px solid transparent;color:var(--muted);padding:0 12px;cursor:pointer;margin-bottom:-1px}.nav button:hover{color:var(--text)}.nav button.active{color:var(--text);border-bottom-color:var(--accent);font-weight:500}.topbar .user{align-self:center;color:var(--muted);font-size:13px}.topbar>.btn{align-self:center}.content{padding:28px 24px 48px;max-width:1440px;width:100%;margin:0 auto}h2{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:-.01em}h3{margin:0 0 12px;font-size:15px;font-weight:600}.sub{color:var(--muted);margin:0 0 24px;max-width:72ch}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:20px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.spacer{flex:1}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px}.tile{padding:14px 18px;border-left:1px solid var(--rule);background:none;border-top:0;border-right:0;border-bottom:0}.tile:first-child{border-left:0}.tile .label{color:var(--muted);font-size:13px}.tile .value{font-size:24px;font-weight:600;margin-top:2px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.tile .hint{color:var(--muted);font-size:12px;margin-top:2px}button.tile{width:100%;text-align:left;cursor:pointer;border-radius:0}button.tile:hover{background:var(--bg)}.tile.active{box-shadow:inset 0 -2px 0 var(--accent);background:var(--bg)}.btn{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 14px;cursor:pointer;line-height:1.4}.btn:hover:not(:disabled){border-color:var(--text)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:500}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.green{background:var(--green);border-color:var(--green);color:var(--on-accent);font-weight:500}.btn.danger{border-color:var(--red);color:var(--red)}.btn.small{padding:3px 10px;font-size:13px}input[type=text],input[type=password],input[type=search],select{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input[type=checkbox]{accent-color:var(--accent)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;padding:8px 10px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;background:var(--panel)}td{padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top;font-variant-numeric:tabular-nums}tbody tr:hover td{background:var(--row-hover)}tbody tr:last-child td{border-bottom:0}.mono{font-family:var(--mono);font-size:12.5px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap;color:var(--muted)}.badge:before{content:"";width:7px;height:7px;border-radius:1px;background:currentColor;flex:none}.badge.allegro{color:var(--allegro)}.badge.woo{color:var(--woo)}.badge.pending,.badge.similar{color:var(--amber)}.badge.approved,.badge.ok{color:var(--green)}.badge.applied{color:var(--accent)}.badge.failed,.badge.err{color:var(--red)}.badge.fresh{color:var(--fresh)}.badge.rejected,.badge.skipped{color:var(--muted)}.badge.rejected:before,.badge.skipped:before{background:none;border:1px solid currentColor}.conf{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.arrow{color:var(--muted);margin:0 6px}.new-sku{color:var(--green);font-weight:600}.alert{padding:10px 14px;margin-bottom:16px;background:var(--panel);border:1px solid var(--border);border-left:3px solid;border-radius:var(--radius)}.alert.error{border-left-color:var(--red);color:var(--red-text)}.alert.ok{border-left-color:var(--green);color:var(--green-text)}.alert.info{border-left-color:var(--accent);color:var(--accent)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px}.login-box{width:360px;max-width:100%;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:28px}.login-box h1{font-size:20px;font-weight:600;margin:0 0 4px}.login-box p{color:var(--muted);margin:0 0 22px;font-size:13px}.login-box label{display:block;margin-bottom:14px}.login-box label span{display:block;margin-bottom:4px;font-size:13px;font-weight:500}.login-box input{width:100%}.login-box .btn{width:100%;margin-top:6px}.login-box .btn.small{background:none;border-color:transparent;color:var(--muted)}.login-box .btn.small:hover:not(:disabled){color:var(--text);border-color:transparent;text-decoration:underline}.drop{border:1px dashed var(--muted);border-radius:var(--radius);padding:26px;text-align:center;color:var(--muted);cursor:pointer}.drop:hover,.drop.over{border-color:var(--accent);border-style:solid;color:var(--text);background:var(--accent-soft)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(760px,100%);max-height:80vh;overflow:auto;padding:20px}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}pre.log{background:var(--bg);border:1px solid var(--rule);border-radius:var(--radius);padding:10px;overflow:auto;max-height:220px;font:12px/1.5 var(--mono);margin:6px 0 0}.group-head td{background:var(--bg);font-weight:600}
