:root {
  font-family: Segoe UI, Arial, sans-serif;
  color: #e9f4ef;
  background: #101714;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
header {
  display: flex; justify-content: space-between; gap: 24px; align-items: end;
  padding: 24px 32px; background: #17231e; border-bottom: 1px solid #31473d;
}
h1, h2 { margin-top: 0; }
header p { margin-bottom: 0; color: #a8beb3; }
main { padding: 28px 32px 48px; max-width: 1500px; margin: auto; }
.card {
  background: #19241f; border: 1px solid #31473d; border-radius: 12px;
  padding: 22px; box-shadow: 0 8px 30px rgba(0,0,0,.18);
}
.status-grid {
  display: grid; grid-template-columns: repeat(4, minmax(160px,1fr));
  gap: 16px; margin-bottom: 20px;
}
.metric span { display:block; color:#a8beb3; margin-bottom:8px; }
.metric strong { font-size: 28px; }
.grid { display:grid; grid-template-columns: 1.25fr .75fr; gap:20px; margin-bottom:20px; }
.two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
label { display:block; margin:14px 0 6px; color:#cce0d5; font-weight:600; }
input, select, textarea {
  width:100%; padding:11px 12px; border-radius:8px; border:1px solid #496055;
  background:#0f1713; color:#fff;
}
button {
  margin-top:16px; padding:11px 16px; border:0; border-radius:8px;
  background:#3d8b62; color:#fff; font-weight:700; cursor:pointer;
}
button:hover { filter:brightness(1.08); }
.key-box { min-width:320px; }
.key-box label { margin-top:0; }
.key-box { display:grid; grid-template-columns:1fr auto; gap:8px; }
.key-box label { grid-column:1 / -1; }
.key-box button { margin:0; }
.check { display:flex; gap:8px; align-items:center; }
.check input { width:auto; }
.result { min-height:22px; color:#b9d5c7; }
.section-title { display:flex; justify-content:space-between; align-items:center; }
.section-title button { margin:0; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; }
th, td { padding:12px; border-bottom:1px solid #31473d; text-align:left; white-space:nowrap; }
th { color:#a8beb3; }
.sha { max-width:250px; overflow:hidden; text-overflow:ellipsis; font-family:Consolas,monospace; }
.danger { background:#8b3d46; margin:0; padding:8px 10px; }
.manual-summary { margin-top:16px; padding:14px; background:#111a16; border-radius:8px; color:#b9d5c7; }
@media (max-width: 900px) {
  header { align-items:stretch; flex-direction:column; }
  .key-box { min-width:0; }
  .status-grid, .grid { grid-template-columns:1fr; }
}