:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#17312f;background:#f3f7f6;--green:#0f766e;--green2:#14b8a6;--red:#dc4c4c;--ink:#17312f;--muted:#6b7f7c;--line:#dbe7e4}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 0,#d7f3ed 0,transparent 34%),#f3f7f6}main{width:min(960px,100%);margin:auto;padding:24px 18px 80px}.login-card{width:min(430px,100%);margin:8vh auto 0;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 22px 55px #0f766e18}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;font-size:25px;font-weight:800;box-shadow:0 8px 20px #0f766e35}.eyebrow{margin:18px 0 5px;color:var(--green);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;font-size:32px;letter-spacing:-.03em}h2{margin:0;font-size:21px}.muted{color:var(--muted);line-height:1.6}.center{text-align:center}form{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:8px;font-size:14px;font-weight:700}input{height:50px;border:1px solid var(--line);border-radius:14px;padding:0 15px;font-size:17px;outline:none;background:#fbfdfc}input:focus{border-color:var(--green2);box-shadow:0 0 0 4px #14b8a61a}button,.link{border:0;border-radius:14px;font-size:15px;font-weight:800;cursor:pointer;text-decoration:none}.primary{background:linear-gradient(135deg,var(--green),#0d9488);color:#fff;box-shadow:0 8px 22px #0f766e2f}.login-card .primary{height:52px}.error{min-height:20px;color:var(--red);margin:0;font-size:14px}header{display:flex;align-items:center;justify-content:space-between;margin:10px 0 22px}header .eyebrow{margin-top:0}.quiet{padding:10px 13px;background:#e8f1ef;color:var(--green)}.status-card,.card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 10px 32px #184d4610}.status-card{display:flex;justify-content:space-between;align-items:flex-start}.status-card strong{font-size:20px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#94a3b8;margin-right:9px;box-shadow:0 0 0 5px #94a3b820}.dot.running{background:#10b981;box-shadow:0 0 0 5px #10b98122}.dot.waiting{background:#f59e0b;box-shadow:0 0 0 5px #f59e0b22}.time{font-size:12px;color:var(--muted)}.actions{display:grid;grid-template-columns:1.7fr 1fr;gap:12px;margin:14px 0}.actions button{min-height:62px;font-size:17px}.actions button span{margin-right:8px}.danger{background:#fff0f0;color:#b82f2f;border:1px solid #ffd2d2}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:14px 0}.metrics article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.metrics span{display:block;color:var(--muted);font-size:12px}.metrics strong{display:block;margin-top:8px;font-size:25px}.card{margin-top:14px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-heading .eyebrow{margin-top:0}.result-message{padding:15px;border-radius:14px;background:#f2f8f7;font-weight:700;line-height:1.6}dl{display:grid;grid-template-columns:110px 1fr;gap:9px 14px;margin:16px 0 0}dt{color:var(--muted)}dd{margin:0;word-break:break-all}.log-list{display:grid;gap:0}.log-item{display:grid;grid-template-columns:125px 1fr auto;gap:14px;padding:15px 0;border-top:1px solid #edf2f1}.log-item:first-child{border-top:0}.log-item time{font-size:12px;color:var(--muted)}.log-item strong{display:block}.log-item p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.badge{align-self:start;padding:5px 9px;border-radius:999px;background:#e7f4f1;color:var(--green);font-size:12px;font-weight:800}#qr{display:block;width:min(330px,100%);margin:10px auto;border-radius:16px;border:1px solid var(--line)}#toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);padding:12px 18px;border-radius:999px;background:#17312f;color:#fff;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 9px 30px #0003}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:720px){main{padding:18px 14px 60px}.login-card{padding:26px;margin-top:5vh}h1{font-size:27px}.metrics{grid-template-columns:repeat(3,1fr)}.metrics article{padding:13px}.actions{grid-template-columns:1fr}.log-item{grid-template-columns:1fr auto}.log-item time{grid-column:1/-1}.status-card{display:block}.time{display:block;margin-top:12px}}@media(max-width:380px){.metrics{grid-template-columns:repeat(2,1fr)}}
