:root{
  --bg:#101010;
  --panel:#1e1e1e;
  --panel2:#292929;
  --red:#d32f2f;
  --green:#1b7f35;
  --amber:#b66a00;
  --blue:#1768ac;
  --text:#ffffff;
  --muted:#b8b8b8;
  --line:#3b3b3b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#171717;padding:20px 16px;border-bottom:1px solid var(--line)}
.topbar h1{margin:0;font-size:26px;line-height:1.1;font-weight:900}
.topbar p{margin:6px 0 0;color:var(--muted);font-size:14px}
.backup{background:var(--red);color:white;border:0;border-radius:16px;padding:14px 18px;font-size:16px;font-weight:900}
.tabs{display:flex;gap:10px;overflow-x:auto;background:#232323;padding:12px;position:sticky;top:0;z-index:10}
.tab{border:0;border-radius:18px;padding:14px 18px;white-space:nowrap;background:#4a4a4a;color:white;font-size:15px;font-weight:900}
.tab.active{background:var(--red)}
main{padding:14px;max-width:1100px;margin:0 auto}
.card{background:var(--panel);border-radius:24px;padding:18px;margin-bottom:16px;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.card.red{background:#7b1f1f}.card.green{background:#174f28}.card.blue{background:#173d63}
h2{margin:0 0 16px;font-size:26px}h3{margin:0 0 12px;font-size:21px}
.small{color:var(--muted);font-size:13px;line-height:1.5}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.metric{background:var(--panel2);border-radius:20px;padding:16px}
.metric span{display:block;color:var(--muted);font-size:14px}
.metric b{font-size:34px;display:block;margin-top:8px}
.progress-card{background:var(--panel2);border-radius:20px;padding:16px;margin-bottom:14px}
.progress-title{display:flex;justify-content:space-between;gap:10px;font-weight:900;font-size:18px;margin-bottom:12px}
.progress-title span:last-child{color:#eee}
.stage-row{margin:14px 0}
.stage-head{display:flex;justify-content:space-between;gap:10px;font-size:15px;margin-bottom:7px}
.bar{height:24px;background:#3a3a3a;border-radius:999px;overflow:hidden}
.fill{height:100%;background:var(--red);border-radius:999px;min-width:0}
.fill.green{background:var(--green)}.fill.amber{background:var(--amber)}.fill.blue{background:var(--blue)}
.job-hero{text-align:center;background:#832020;border-radius:24px;padding:20px;margin-bottom:14px}
.job-sku{font-size:48px;font-weight:900;letter-spacing:1px}
.job-op{font-size:24px;font-weight:900;margin-top:8px}
.job-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.info-box{background:rgba(0,0,0,.22);border-radius:18px;padding:15px;text-align:center}
.info-box span{display:block;color:#ddd;font-size:13px}.info-box b{display:block;font-size:26px;margin-top:6px}
.quick-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.bigbtn{border:0;border-radius:20px;padding:20px 12px;font-size:22px;font-weight:900;color:white;background:var(--red)}
.bigbtn.green{background:var(--green)}.bigbtn.dark{background:#444}.bigbtn.amber{background:var(--amber)}
.input-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin:12px 0}
input,select{width:100%;border:0;border-radius:18px;padding:18px;font-size:20px;background:white;color:#111;font-weight:700}
label{font-weight:900;font-size:13px;color:#ddd}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.queue-card{background:var(--panel2);border-radius:20px;padding:16px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.queue-card .left b{font-size:22px}.queue-card .left span{display:block;color:var(--muted);margin-top:5px}.queue-card .qty{font-size:28px;font-weight:900}
.machine-card{background:var(--panel2);border-radius:22px;padding:18px}
.status{display:inline-block;border-radius:999px;padding:7px 12px;font-weight:900;font-size:12px;margin-top:10px}
.status.running{background:var(--green)}.status.idle{background:#666}.status.wait{background:var(--amber)}
.sku-pill{display:inline-block;background:var(--red);padding:8px 12px;border-radius:12px;font-weight:900;margin:4px 4px 8px 0}
.table-wrap{overflow:auto;border-radius:16px;border:1px solid var(--line)}
table{width:100%;border-collapse:collapse;background:var(--panel2);min-width:720px}
th,td{border-bottom:1px solid var(--line);padding:12px 10px;text-align:left;font-size:14px}
th{background:#333}
.footer-note{color:var(--muted);font-size:12px;margin-top:14px}
@media(max-width:760px){
  .topbar{align-items:flex-start;flex-direction:column}.topbar h1{font-size:23px}
  .grid,.grid3,.form-grid,.job-info,.quick-buttons{grid-template-columns:1fr}
  .input-row{grid-template-columns:1fr}
  .job-sku{font-size:42px}
  .job-op{font-size:22px}
}
