/* NG TorqueJobs — промышленная светлая тема макетов (desktop, ISA-101 / IEC 60073) */
:root{
  --bg:#f3f4f1; --surface:#ffffff; --surface2:#eef0ea; --line:#d8d9d2; --line-strong:#c1c2ba;
  --tx:#1b1b19; --tx2:#5d5d58; --tx3:#8a8a83;
  --info-bg:#e6f1fb; --info-tx:#0c447c; --info-bd:#378add;
  --ok-bg:#eaf3de;  --ok-tx:#3b6d11;
  --warn-bg:#faeeda; --warn-tx:#854f0b;
  --err-bg:#fcebeb; --err-tx:#a32d2d;
  --mono:ui-monospace,"Cascadia Mono","Consolas",monospace;
  --sans:"Inter","Segoe UI",system-ui,sans-serif;
  --r:6px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font:13px/1.5 var(--sans)}
.app{max-width:1280px;margin:18px auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--surface2);border-bottom:1px solid var(--line-strong)}
.brand{display:flex;align-items:center;gap:8px;font-weight:600}
.brand i{color:var(--info-tx);font-size:18px}
.brand .sub{font-weight:400;color:var(--tx2)}
.ctx{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--tx2);font-family:var(--mono)}
.ok{color:var(--ok-tx)} .err{color:var(--err-tx)} .warn{color:var(--warn-tx)}
.toolbar{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--line)}
.spacer{flex:1}
.input{height:30px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;padding:0 10px;font:12px var(--sans);color:var(--tx)}
.input:focus{outline:none;border-color:var(--info-bd);box-shadow:0 0 0 2px var(--info-bg)}
.search{position:relative}
.search>i{position:absolute;left:8px;top:8px;color:var(--tx3);font-size:15px}
.search .input{padding-left:28px;width:240px}
.btn{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;color:var(--tx);font:12px var(--sans);cursor:pointer}
.btn:hover{background:var(--surface2)}
.btn:active{transform:scale(.98)}
.btn-primary{border-color:var(--info-bd);color:var(--info-tx)}
.body{display:grid;grid-template-columns:168px 1fr}
.nav{border-right:1px solid var(--line);padding:8px}
.nav a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r);color:var(--tx2);text-decoration:none;font-size:13px;margin-bottom:2px}
.nav a.active{background:var(--info-bg);color:var(--info-tx)}
.nav a:hover:not(.active){background:var(--surface2)}
.main{padding:14px;min-height:430px}
.statusbar{display:flex;align-items:center;gap:18px;padding:6px 14px;background:var(--surface2);border-top:1px solid var(--line-strong);font:11.5px var(--mono);color:var(--tx2)}
.grid{width:100%;border-collapse:collapse;font-size:12.5px}
.grid thead th{background:var(--surface2);color:var(--tx2);text-align:left;font-weight:600;padding:7px 10px;border-bottom:1px solid var(--line)}
.grid td{padding:7px 10px;border-bottom:1px solid var(--line)}
.grid tbody tr:hover{background:var(--surface2)}
.grid tr.sel{background:var(--info-bg)}
.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono)}
.chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:var(--r)}
.chip-ok{background:var(--ok-bg);color:var(--ok-tx)}
.chip-warn{background:var(--warn-bg);color:var(--warn-tx)}
.chip-err{background:var(--err-bg);color:var(--err-tx)}
.chip-info{background:var(--info-bg);color:var(--info-tx)}
.chip-muted{border:1px solid var(--line-strong);color:var(--tx2)}
.panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 14px}
.lbl{font-size:12px;color:var(--tx2)}
h1{font-size:16px;font-weight:600;margin:0 0 10px}
h2{font-size:13px;font-weight:600;margin:0 0 8px;color:var(--tx2)}
.row{display:flex;align-items:center;gap:8px}
.joblist .item{display:flex;align-items:center;gap:9px;padding:7px 9px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:6px}
.qrbox{background:#fff;padding:8px;border:1px solid var(--line-strong);border-radius:var(--r);display:inline-block}
.json{font-family:var(--mono);font-size:11px;background:var(--surface2);border-radius:var(--r);padding:8px 10px;word-break:break-all;line-height:1.5}
