:root{--bg:#0b0d12;--panel:#131722;--panel-2:#1a1f2e;--border:#232a3b;--text:#e7ecf3;--muted:#8a94a6;--accent:#5b8def;--ok:#2ecc71;--warn:#f39c12;--err:#e74c3c}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{background:var(--accent);color:#fff;border:0;padding:10px 16px;border-radius:6px;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:default}input{background:var(--panel-2);color:var(--text);border:1px solid var(--border);padding:10px 12px;border-radius:6px;font:inherit;width:100%}input:focus{outline:none;border-color:var(--accent)}.container{max-width:1100px;margin:0 auto;padding:24px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}.muted{color:var(--muted)}.row{display:flex;gap:12px;align-items:center}.spacer{flex:1 1}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:20px}.printer-card{transition:transform .08s ease}.printer-card:hover{transform:translateY(-2px);border-color:var(--accent)}.status-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--panel-2);border:1px solid var(--border)}.status-pill.RUNNING{background:rgba(46,204,113,.15);color:var(--ok);border-color:rgba(46,204,113,.4)}.status-pill.PAUSED{background:rgba(243,156,18,.15);color:var(--warn);border-color:rgba(243,156,18,.4)}.status-pill.FAILED{background:rgba(231,76,60,.15);color:var(--err);border-color:rgba(231,76,60,.4)}.status-pill.FINISH{background:rgba(91,141,239,.15);color:var(--accent);border-color:rgba(91,141,239,.4)}.status-pill.OFFLINE{background:rgba(138,148,166,.15);color:var(--muted)}.progress{width:100%;height:8px;background:var(--panel-2);border-radius:999px;overflow:hidden;margin-top:10px}.progress>.bar{height:100%;background:var(--accent)}.kv{display:grid;grid-template-columns:110px 1fr;grid-gap:4px 12px;gap:4px 12px;margin-top:12px;font-size:13px}.kv .k{color:var(--muted)}.header{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--border)}.header h1{margin:0;font-size:20px}.error{color:var(--err)}.error,.success{margin-top:10px;font-size:13px}.success{color:var(--ok)}