:root{
  --bg:#100b15;--panel:#1b1222;--panel2:#24152e;--line:#493054;--text:#f7eef8;
  --muted:#bfaec4;--accent:#b67ad1;--accent2:#e0b7ef;--danger:#c95c73;--good:#75c59b;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at top,#2b1736 0,#100b15 42%);color:var(--text);min-height:100vh}
button,input,select{font:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:22px max(20px,4vw);border-bottom:1px solid var(--line);background:rgba(16,11,21,.88);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}
h1,h2,p{margin-top:0}.topbar h1{margin:0;font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.4rem)}.topbar h1 span{font:600 .85rem Inter,sans-serif;color:var(--accent2);vertical-align:middle}.subtitle,.muted{color:var(--muted)}.subtitle{margin:4px 0 0}.eyebrow{font-size:.72rem;letter-spacing:.18em;color:var(--accent2);font-weight:800;margin-bottom:6px}
main{width:min(1500px,94vw);margin:26px auto 60px}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px}.card,.metric{background:linear-gradient(145deg,rgba(37,22,47,.96),rgba(24,16,30,.96));border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 40px rgba(0,0,0,.24)}
.card{padding:20px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-heading h2{margin:0;font-family:Georgia,serif;font-size:1.5rem}
.pill{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:.75rem;color:var(--accent2);white-space:nowrap}.planned{color:#e8cf9e}
.customer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.customer-grid div{background:#130d18;border:1px solid #3b2745;border-radius:13px;padding:15px}.customer-grid strong{display:block;font-size:1.5rem}.customer-grid span{color:var(--muted);font-size:.8rem}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.upload-box{border:1px dashed #76528a;border-radius:14px;padding:18px;background:#150e1b;cursor:pointer;min-height:105px}.upload-box span{font-weight:800;display:block}.upload-box small{display:block;color:var(--muted);margin:6px 0 12px}.upload-box input{width:100%;color:var(--muted)}
.button-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.button{border:0;border-radius:11px;padding:11px 15px;background:var(--accent);color:#170c1c;font-weight:800;cursor:pointer}.button.secondary{background:#33213d;color:var(--text);border:1px solid var(--line)}.button.danger{background:#47212d;color:#ffdce4;border:1px solid #7c3448}.button:disabled{opacity:.4;cursor:not-allowed}.text-button{border:0;background:none;color:var(--accent2);cursor:pointer}.icon-button{border:0;background:none;color:var(--text);font-size:2rem;cursor:pointer}
.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:18px 0}.metric{padding:17px}.metric span{display:block;color:var(--muted);font-size:.78rem}.metric strong{display:block;margin-top:7px;font-size:1.55rem}
.controls{margin-bottom:18px}.search-row{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px}.search-row label span,.field span{display:block;font-size:.78rem;color:var(--muted);margin:0 0 6px}.search-row input,.search-row select,.field select,.inline-add input{width:100%;border:1px solid var(--line);background:#120c17;color:var(--text);border-radius:11px;padding:12px}.result-line{display:flex;justify-content:space-between;margin-top:14px;color:var(--muted)}
.table-card{padding:0;overflow:hidden}.table-wrap{overflow:auto;max-height:65vh}table{border-collapse:collapse;width:100%;min-width:1050px}th,td{text-align:left;padding:14px;border-bottom:1px solid #382440;font-size:.86rem;vertical-align:top}th{position:sticky;top:0;background:#24162d;z-index:2;color:var(--accent2)}tbody tr{cursor:pointer}tbody tr:hover{background:#26172f}.product-title{font-weight:800}.product-sub{color:var(--muted);font-size:.76rem;margin-top:4px}.status{display:inline-block;border-radius:999px;padding:5px 8px;border:1px solid var(--line);white-space:nowrap}.status-active{color:#a8e3c0}.status-draft{color:#e8cf9e}.status-out-of-stock{color:#ff9daf}.status-needs-fixes{color:#e5b4f3}.status-not-imported{color:#b8b8c8}.issue-chip,.season-chip{display:inline-block;padding:4px 7px;border-radius:8px;background:#3b243f;margin:2px;font-size:.72rem}.empty{text-align:center;padding:50px;color:var(--muted)}.pager{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px}
.notice{border:1px solid #6e4c7e;background:#2b1734;border-radius:13px;padding:13px;margin-bottom:15px}
dialog{width:min(680px,94vw);border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0}dialog::backdrop{background:rgba(0,0,0,.72)}.dialog-card{padding:22px}.field{display:block;margin:18px 0}fieldset{border:1px solid var(--line);border-radius:14px;margin:15px 0;padding:15px}legend{color:var(--accent2);padding:0 7px}.issue-list{display:flex;flex-wrap:wrap;gap:7px}.issue-item{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:#150e1b}.issue-item button{border:0;background:none;color:#ff9daf;cursor:pointer;font-weight:900}.inline-add{display:flex;gap:8px;margin-top:12px}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-grid label{display:flex;gap:8px;align-items:center}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
footer{display:flex;justify-content:space-between;gap:12px;padding:20px max(20px,4vw);border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(3,1fr)}.search-row{grid-template-columns:1fr 1fr}.customer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.topbar{align-items:flex-start}.topbar .button{padding:9px}.metrics{grid-template-columns:1fr 1fr}.search-row,.upload-grid{grid-template-columns:1fr}.customer-grid{grid-template-columns:1fr 1fr}footer{flex-direction:column}.inline-add{flex-direction:column}}
