:root {
  color-scheme: dark;
  --bg: #05080f;
  --panel: #0b1422;
  --line: rgba(99,179,255,.18);
  --text: #edf7ff;
  --muted: #8193a8;
  --cyan: #36e1ff;
  --green: #39e58c;
  --amber: #ffbd59;
  --red: #ff5e72;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  font-family: system-ui, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 10% 0%, rgba(0,132,255,.18), transparent 28rem),
    var(--bg);
}

main {
  width: min(1500px, calc(100% - 34px));
  margin: auto;
  padding-bottom: 40px;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 6px 18px;
}

.eyebrow,
.section-kicker {
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .2em;
}

h1, h2 { margin: 5px 0; }
p, small { color: var(--muted); }

.summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.summary-card {
  display: grid;
  gap: 7px;
  min-height: 125px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel);
}

.summary-card span {
  color: #8fa7bd;
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.summary-card strong {
  align-self: end;
  font-size: clamp(1.5rem, 2.5vw, 2.7rem);
}

.panel {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
}

.bulk-panel,
.panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
}

.bulk-controls,
.controls,
.pool-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

button, select, input { font: inherit; }

button, select {
  padding: 8px 10px;
  color: var(--text);
  border: 1px solid rgba(53,188,255,.35);
  border-radius: 8px;
  background: rgba(32,148,216,.12);
}

button { cursor: pointer; }
button:hover { background: rgba(32,148,216,.24); }

button.danger {
  border-color: rgba(255,94,114,.4);
  background: rgba(255,94,114,.1);
}

input {
  width: 100%;
  padding: 10px 12px;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #07101c;
}

.pool-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 0 20px 16px;
}

.pool-grid label,
.login-card label {
  display: grid;
  gap: 6px;
  color: #9bb0c4;
  font-size: .78rem;
  font-weight: 700;
}

.pool-actions {
  align-items: end;
}

.pool-note {
  margin: 0;
  padding: 0 20px 20px;
  font-size: .84rem;
}

.health-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  padding: 16px 20px 20px;
}

.health-item {
  padding: 15px;
  border: 1px solid rgba(99,179,255,.12);
  border-radius: 11px;
  background: rgba(5,11,19,.45);
}

.health-item span {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: .75rem;
  text-transform: uppercase;
}

.health-item strong {
  display: block;
  color: #d9e9f8;
  font-size: .9rem;
  line-height: 1.4;
}

.table-wrap { overflow-x: auto; }

table {
  width: 100%;
  min-width: 1280px;
  border-collapse: collapse;
}

th, td {
  padding: 13px 12px;
  text-align: left;
  border-bottom: 1px solid rgba(99,179,255,.1);
}

th {
  color: #7890a7;
  font-size: .7rem;
  text-transform: uppercase;
}

th[data-sort] { cursor: pointer; }
th[data-sort]:hover { color: var(--cyan); }

.worker-name { font-weight: 800; }
.hashrate-value { color: var(--cyan); font-weight: 800; }

.status-pill {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 800;
}

.status-pill.online {
  color: #8dffc0;
  background: rgba(23,202,106,.14);
}

.status-pill.idle {
  color: #ffe2a4;
  background: rgba(255,189,89,.14);
}

.status-pill.offline {
  color: #ff8d9b;
  background: rgba(255,73,98,.14);
}

.empty-cell {
  padding: 30px;
  text-align: center;
  color: var(--muted);
}

.toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 10;
  padding: 13px 16px;
  color: #dfffee;
  border: 1px solid rgba(57,229,140,.35);
  border-radius: 10px;
  background: rgba(10,70,42,.96);
}

.bad-toast {
  color: #ffe2e6;
  border-color: rgba(255,94,114,.4);
  background: rgba(95,16,29,.96);
}

.login-body {
  display: grid;
  place-items: center;
}

.login-shell {
  width: min(430px, calc(100% - 32px));
  padding: 30px 0;
}

.login-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel);
  box-shadow: 0 25px 80px rgba(0,0,0,.35);
}

.login-card form {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.login-card button {
  padding: 11px;
}

.login-error {
  min-height: 1.2em;
  margin: 0;
  color: var(--red);
}

@media (max-width: 1100px) {
  .summary-grid {
    grid-template-columns: repeat(3,1fr);
  }

  .pool-grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 700px) {
  .summary-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .bulk-panel,
  .panel-heading,
  .topbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .health-grid,
  .pool-grid {
    grid-template-columns: 1fr;
  }
}

/* Fleet Control v2.1 */
.summary-grid{gap:8px;margin-bottom:12px}
.summary-card{min-height:88px;padding:11px 13px;border-radius:10px}
.summary-card span{font-size:.6rem}
.summary-card strong{font-size:clamp(1.2rem,1.8vw,1.85rem);line-height:1}
.summary-card small{font-size:.66rem}
.compact-panel{margin-top:12px}
.compact-heading{padding:12px 14px 9px}
.compact-heading h2{font-size:1rem}
.muted-inline{color:var(--muted);font-size:.75rem}
.vps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.vps-card{display:grid;gap:4px;min-height:78px;padding:11px;border:1px solid rgba(99,179,255,.13);border-radius:9px;background:rgba(5,11,19,.45)}
.vps-card span{color:#8fa7bd;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.vps-card strong{align-self:end;font-size:1.35rem}
.vps-card small{font-size:.68rem}
.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:9px;padding:0 14px 14px}
.settings-grid label{display:grid;gap:5px;color:#9bb0c4;font-size:.7rem;font-weight:700}
.settings-grid input{padding:8px 10px}
.settings-action button{min-height:37px}
@media(max-width:900px){.vps-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.vps-grid,.settings-grid{grid-template-columns:1fr}}

.wallet-grid{display:grid;grid-template-columns:minmax(320px,2fr) minmax(160px,.8fr) minmax(180px,1fr) auto;align-items:end;gap:10px;padding:0 20px 16px}
.wallet-grid label{display:grid;gap:6px;color:#9bb0c4;font-size:.78rem;font-weight:700}
.wallet-actions{display:flex;align-items:end}.wallet-actions button{min-height:39px}
@media(max-width:900px){.wallet-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.wallet-grid{grid-template-columns:1fr}}

.algo-grid{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(160px,.8fr) minmax(180px,1fr) auto;align-items:end;gap:10px;padding:0 20px 16px}
.algo-grid label{display:grid;gap:6px;color:#9bb0c4;font-size:.78rem;font-weight:700}
.algo-actions{display:flex;align-items:end}.algo-actions button{min-height:39px}
@media(max-width:900px){.algo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.algo-grid{grid-template-columns:1fr}}

.profile-panel{border-color:#155b78}.profile-preset-row{padding:0 20px 12px;max-width:360px}.profile-preset-row label,.profile-grid label{display:grid;gap:6px;color:#9bb0c4;font-size:.78rem;font-weight:700}.profile-grid{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(280px,1.6fr) minmax(220px,1fr) 110px minmax(150px,.75fr) minmax(180px,1fr);gap:10px;padding:0 20px 14px;align-items:end}.profile-wallet{grid-column:span 2}.profile-actions{display:flex;gap:8px;align-items:end;grid-column:span 2}.profile-actions button{min-height:39px}.profile-preview{display:flex;flex-wrap:wrap;gap:10px 18px;margin:0 20px 14px;padding:12px;border:1px solid #173a51;border-radius:8px;background:#07111d;color:#a9bdd0;font-size:.82rem}.profile-preview strong{color:#fff}@media(max-width:1100px){.profile-grid{grid-template-columns:repeat(3,1fr)}.profile-wallet{grid-column:span 2}.profile-actions{grid-column:span 3}}@media(max-width:700px){.profile-grid{grid-template-columns:1fr}.profile-wallet,.profile-actions{grid-column:span 1}.profile-actions{flex-direction:column;align-items:stretch}}
.page-nav{display:flex;gap:8px;position:sticky;top:0;z-index:20;padding:10px 0;background:#05080f}.page-nav button.active{border-color:#24d9ff;color:#24d9ff}.page-hidden{display:none!important}.miner-control-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;padding:0 20px 16px;align-items:end}.miner-control-grid label{display:grid;gap:6px;color:#9bb0c4;font-size:.78rem;font-weight:700}.miner-control-grid .wide{grid-column:span 2}.miner-control-actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.vanity-embed-page iframe{width:100%;min-height:78vh;border:0;background:#05080f;border-radius:8px}@media(max-width:900px){.miner-control-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.page-nav{overflow-x:auto}.miner-control-grid{grid-template-columns:1fr}.miner-control-grid .wide{grid-column:span 1}}
