:root{
  --bg:#0a0e0d;--card:#121a18;--card2:#16201d;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --txt:#e8efeb;--mut:#8ea39a;--dim:#63776f;--grn:#4ade80;--grn-d:#22c55e;--red:#f87171;
}
*{box-sizing:border-box}
body{
  margin:0;min-height:100vh;background:radial-gradient(700px 320px at 30% -10%,rgba(74,222,128,.12),transparent 60%),var(--bg);
  color:var(--txt);font:15px/1.65 system-ui,-apple-system,"Segoe UI","Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased;padding-bottom:calc(24px + env(safe-area-inset-bottom));
}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.dim{color:var(--dim)}.tiny{font-size:11.5px;letter-spacing:.04em}
.fine{font-size:12.5px;color:var(--dim);line-height:1.7;margin:12px 0 0}
a{color:var(--grn);text-decoration:none}
b{color:var(--txt)}

.bar{
  position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;
  padding:calc(12px + env(safe-area-inset-top)) 16px 12px;
  background:rgba(10,14,13,.78);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.bar b{font-size:15px}
.bar small{color:var(--dim);font-size:11.5px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--grn);box-shadow:0 0 12px var(--grn)}
.link{margin-left:auto;background:none;border:0;color:var(--grn);font:inherit;font-size:13px;padding:6px}

main{padding:18px 16px 0;max-width:560px;margin:0 auto}
.view[hidden]{display:none}
h1{margin:6px 0 6px;font-size:24px;letter-spacing:-.01em}
h2{margin:0 0 10px;font-size:15px}
.sub{margin:0 0 18px;color:var(--mut);font-size:13.5px}

.fld{display:block;margin-bottom:14px}
.fld span{display:block;font-size:12px;color:var(--mut);margin-bottom:6px}
input{
  width:100%;background:#0b110f;border:1px solid var(--line2);border-radius:12px;
  padding:13px 14px;color:var(--txt);font:inherit;outline:none;
}
input:focus{border-color:rgba(74,222,128,.55);box-shadow:0 0 0 3px rgba(74,222,128,.12)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line2);background:var(--card2);color:var(--txt);
  border-radius:12px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;
}
.btn.primary{background:linear-gradient(180deg,#54e88c,#22c55e);border-color:transparent;color:#07130c;
  box-shadow:0 10px 26px -12px rgba(34,197,94,.85)}
.btn.wide{width:100%;padding:14px;font-size:15px}
.btn.tiny{padding:8px 14px;font-size:12.5px;border-radius:10px}
.msg{margin:12px 0 0;font-size:13px;min-height:18px;color:var(--mut)}
.msg.err{color:var(--red)}.msg.ok{color:var(--grn)}

.who{display:flex;align-items:center;justify-content:space-between;margin:4px 0 14px}
.name{font-size:20px;font-weight:700}
.pill{font-size:11.5px;padding:4px 10px;border-radius:999px;border:1px solid var(--line2);color:var(--mut)}
.pill.ok{color:var(--grn);border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.08)}
.pill.off{color:var(--red);border-color:rgba(248,113,113,.35);background:rgba(248,113,113,.08)}

.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 12px}
.kpi .k{font-size:10.5px;color:var(--mut);letter-spacing:.04em}
.kpi .v{font-size:17px;font-weight:700;margin-top:2px}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 0}
.row.sep{border-top:1px dashed var(--line);margin-top:12px;padding-top:12px}
.mono.big{font-size:16px;margin-top:2px}
.steps ol{margin:0;padding-left:18px;color:var(--mut);font-size:13.5px}
.steps li{margin-bottom:8px}
.steps code{background:rgba(255,255,255,.06);padding:1px 6px;border-radius:5px;font-size:12.5px}
