:root{font:14px -apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;--primary:#4772fa;--bg:#f6f7fa;--panel:#fff;--text:#252830;--muted:#626974;--line:#e8eaf0;--hover:#f4f6fc;color:var(--text);background:var(--bg);color-scheme:light}:root[data-theme=dark]{--bg:#1f1f1f;--panel:#242424;--text:#eee;--muted:#b4b4bd;--line:#383838;--hover:#303030;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,input,select,textarea{min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);padding:6px 12px}button{cursor:pointer}button:hover{background:var(--hover)}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button.primary{color:#fff;background:#365cdb;border-color:#365cdb}button.primary:hover{background:#2c50c9}a,.link{color:var(--primary)}.link{padding:0;border:0;background:transparent;text-align:left}.layout{min-height:100vh;display:grid;grid-template-columns:226px minmax(0,1fr)}aside{background:var(--panel);border-right:1px solid var(--line);padding:0 14px}.brand{display:flex;align-items:center;min-height:72px;font-size:19px;letter-spacing:.02em;color:var(--primary)}nav{display:grid;gap:4px}nav button{border:0;text-align:left}nav [aria-current=page]{background:var(--hover);font-weight:650;color:var(--primary)}main{min-width:0}.top{height:72px;display:flex;align-items:center;gap:12px;padding:0 26px;background:var(--panel);border-bottom:1px solid var(--line)}h1{font-size:20px;margin:0}h2{font-size:16px}h3{font-size:14px}.right{margin-left:auto;display:flex;align-items:center;gap:12px}.content{padding:22px 26px}.toolbar{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.table-scroll{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:8px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th,td{border-bottom:1px solid var(--line);padding:8px 14px;height:42px}th{color:var(--muted);font-size:12px;font-weight:650}tr:last-child td{border-bottom:0}.empty{text-align:center;color:var(--muted);padding:36px;background:var(--panel);border-radius:8px}.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--hover);font-size:12px}.badge.ready,.badge.succeeded,.badge.delivered{color:#0b6844;background:#def5e9}.badge.failed,.badge.attention{color:#a02226;background:#ffe8e6}.badge.running,.badge.busy{color:#2a4bad;background:#e7eeff}.badge.queued,.badge.pending{color:#825300;background:#fff2d5}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}article{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:8px}.cards strong{display:block;font-size:26px;margin-top:10px}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.login article{width:min(400px,100%)}.field{display:grid;gap:6px;margin:0 0 15px;color:var(--muted)}.field input,.field select,.field textarea{width:100%}dialog{position:fixed;inset:0 0 0 auto;margin:0;padding:0;height:100dvh;max-height:100dvh;width:min(560px,100%);max-width:100%;background:var(--panel);color:var(--text);border:0;border-left:1px solid var(--line);overflow:auto}dialog::backdrop{background:#0005}dialog header{display:flex;justify-content:space-between;align-items:center;padding:12px 22px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}dialog section{padding:18px 22px}pre,.log{overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:8px;padding:12px}.log{padding-left:32px}dt{color:var(--muted)}dd{margin:2px 0 9px;overflow-wrap:anywhere}.error{color:#ab2c35}.mobile{display:none}@media(max-width:740px){.layout{display:block}aside{display:none;position:fixed;z-index:2;top:72px;bottom:0;width:226px;box-shadow:0 0 20px #0003}aside.expanded{display:block}.mobile{display:block}.top,.content{padding-left:14px;padding-right:14px}.cards{grid-template-columns:1fr}.toolbar input{min-width:0}}.actions{display:flex;gap:8px}input[type=checkbox]{min-height:0}.login .link{margin-inline-start:12px}
