:root{--ink:#111827;--muted:#667085;--line:#e5e7eb;--blue:#315efb;--red:#d8283f;--bg:#f4f6fb}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 15% 0,#e6edff 0,transparent 32%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}
button,input{font:inherit}
.shell{width:min(100%,980px);margin:0 auto;padding:28px 18px 40px}
.hero{display:flex;gap:16px;align-items:center;margin-bottom:22px}
.logo{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--red),#ff7043);color:#fff;font-size:30px;font-weight:800;box-shadow:0 12px 30px rgba(216,40,63,.24)}
h1{font-size:23px;margin:0;letter-spacing:-.5px}
h2,h3{margin:0}
.hero p,.section-head p,.eyebrow{color:var(--muted)}
.hero p{font-size:13px;margin:5px 0 0}
.card{background:#fff;border:1px solid rgba(229,231,235,.9);border-radius:20px;padding:20px;box-shadow:0 14px 40px rgba(38,50,75,.07)}
.auth-card{max-width:430px;margin:0 auto}
.tabs{display:flex;gap:8px;margin-bottom:18px}
.tab{border:0;border-radius:10px;padding:9px 16px;background:#f2f4f7;color:#667085;cursor:pointer}
.tab.active{background:#e9efff;color:var(--blue);font-weight:700}
label{display:grid;gap:7px;font-size:13px;color:#475467;margin-bottom:13px}
input{height:46px;border:1px solid var(--line);border-radius:12px;padding:0 13px;background:#fff;outline:none}
input:focus{border-color:#8ea6ff;box-shadow:0 0 0 3px rgba(49,94,251,.1)}
.primary,.secondary,.ghost,.text-button{border:0;border-radius:12px;cursor:pointer;font-weight:700}
.primary{height:46px;padding:0 18px;background:var(--blue);color:#fff}
.secondary{min-height:44px;padding:0 14px;background:#edf2ff;color:#315efb}
.ghost{height:38px;padding:0 13px;background:#f2f4f7;color:#475467}
.text-button{padding:10px 0 0;background:transparent}
.text-button.danger{color:#b42318}
.message{margin-top:12px;font-size:13px;color:#b42318;min-height:20px}
.dashboard{margin-top:22px}
.hidden{display:none!important}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px}
.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.section-head p{font-size:12px;margin:5px 0 0}
.pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;padding:0 10px;background:#ecfdf3;color:#067647;font-size:12px;font-weight:700}
.pill.off{background:#f2f4f7;color:#667085}
.pill.warn{background:#fff4e5;color:#b54708}
.info{margin:16px 0;padding:13px;border-radius:13px;background:#f8fafc;color:#475467;font-size:13px;line-height:1.65;word-break:break-word}
.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:16px}
.pair-code{margin-top:13px;padding:16px;border-radius:14px;background:#101828;color:#fff;text-align:center;font:700 28px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.12em}
.tasks{display:grid;gap:9px;margin-top:16px}
.task{border:1px solid var(--line);border-radius:13px;padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px}
.task-title{font-weight:700;font-size:13px}
.task-sub{font-size:12px;color:var(--muted);margin-top:4px}
.status{font-size:12px;font-weight:700}
.status.SUCCESS{color:#067647}.status.FAILED,.status.USER_REQUIRED{color:#b42318}.status.PAUSED,.status.EXPIRED{color:#b54708}.status.WAITING,.status.RUNNING{color:#315efb}
.empty{text-align:center;color:var(--muted);padding:28px;font-size:13px}
footer{text-align:center;color:#98a2b3;font-size:11px;margin-top:24px}
@media(max-width:720px){.grid.two{grid-template-columns:1fr}.shell{padding:18px 12px 32px}.hero{align-items:flex-start}.inline-form{grid-template-columns:1fr}.topbar{align-items:flex-start}}
