:root{--bg:#f3efe6;--bg-2:#fffdf8;--ink:#1c1915;--muted:#6b6458;--line:#ddd4c4;--accent:#b45309;--accent-ink:#fff7ed;--danger:#9f1239;--ok:#3f6212;--warn:#92400e;--sidebar:#211d18;--sidebar-ink:#f5f0e6;--sidebar-muted:#b0a894}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:IBM Plex Sans,Segoe UI,sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}a{color:inherit}button,input,select{font:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:radial-gradient(circle at 10% 10%,#fde68a55,transparent 40%),radial-gradient(circle at 90% 90%,#fdba7455,transparent 40%),var(--bg)}.card{background:var(--bg-2);border:1px solid var(--line);border-radius:16px;padding:28px;width:min(440px,100%);box-shadow:0 16px 40px #1c191512}.brand{font-family:Unbounded,sans-serif;font-weight:600;letter-spacing:-.03em;margin:0 0 8px}.muted{color:var(--muted)}.small,label{font-size:13px}label{display:block;margin:14px 0 6px}input,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px}input:focus,select:focus{outline:2px solid #fbbf24;border-color:#f59e0b}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:10px;padding:10px 14px;background:var(--ink);color:#fff;cursor:pointer}.btn:disabled{opacity:.5;cursor:wait}.btn.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--sidebar-ink)}.btn.danger{background:var(--danger)}.btn.warn{background:var(--accent);color:var(--accent-ink)}.btn.compact{padding:5px 8px;font-size:12px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.error{color:var(--danger);font-size:13px;margin:10px 0 0}.ok{color:var(--ok)}.shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:var(--sidebar);color:var(--sidebar-ink);padding:24px 18px;gap:18px}.side,.side nav{display:flex;flex-direction:column}.side nav{gap:6px}.side a{text-decoration:none;padding:8px 10px;border-radius:8px;color:var(--sidebar-muted)}.side a.active,.side a:hover{background:#3a332b;color:#fff}.main{padding:28px 32px 48px}.top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.stat-grid,.top{margin-bottom:22px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.stat{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:16px}.stat b{display:block;font-size:28px;font-family:Unbounded,sans-serif}.panel{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.nm{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#efe7d6;font-size:12px}.badge.danger{background:#ffe4e6;color:var(--danger)}.badge.ok{background:#ecfccb;color:var(--ok)}.badge.warn{background:#fef3c7;color:var(--warn)}.cell-input.narrow{width:72px}.thumb{width:40px;height:40px;border-radius:8px;background:#efe7d6;object-fit:cover}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.toolbar input,.toolbar select{width:auto;min-width:180px}.cell-input{width:92px;padding:6px 8px}.pagination{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:14px}.pagination .btn{padding:7px 10px}.page-size{display:flex;align-items:center;gap:8px;margin:0}.page-size select{width:auto;padding:7px 10px}.sort-header{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.invite-box{background:#fff7ed;border:1px dashed #fdba74;border-radius:10px;padding:10px 12px;word-break:break-all;font-size:13px}.quarantine-banner{background:#ffe4e6;border:1px solid #fecdd3;color:var(--danger);border-radius:10px;padding:10px 12px;margin-bottom:12px;font-size:14px}.quarantine-row td{background:#fff1f2}.job-row{cursor:pointer}.job-row:hover td{background:#faf6ee}.job-item-table{width:calc(100% - 16px);margin:8px 8px 12px;font-size:13px}.job-item-table th{text-transform:none;letter-spacing:0}