
:root {
  color-scheme: dark;
  --bg: #070b12;
  --bg-elev: #0a0f18;
  --panel: #0e1520;
  --panel-2: #111a27;
  --panel-soft: rgba(17, 26, 39, .72);
  --line: #223044;
  --line-soft: rgba(148, 163, 184, .14);
  --text: #eaf0f8;
  --muted: #8fa0b5;
  --muted-2: #68798d;
  --primary: #4f7cff;
  --primary-strong: #3767f4;
  --primary-soft: rgba(79, 124, 255, .13);
  --success: #47d18c;
  --success-soft: rgba(71, 209, 140, .12);
  --danger: #ff6b74;
  --danger-soft: rgba(255, 107, 116, .12);
  --warn: #f4bf63;
  --warn-soft: rgba(244, 191, 99, .12);
  --cyan: #54c7ec;
  --shadow: 0 20px 55px rgba(0, 0, 0, .28);
  --shadow-soft: 0 8px 28px rgba(0, 0, 0, .18);
  --radius: 16px;
  --radius-sm: 11px;
  --sidebar: 248px;
  --content: 1480px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(1100px 650px at 100% -10%, rgba(79,124,255,.10), transparent 58%),
    radial-gradient(800px 500px at -10% 40%, rgba(84,199,236,.055), transparent 58%),
    var(--bg);
  font: 14px/1.5 ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: #90b0ff; text-decoration: none; }
a:hover { color: #b8cbff; }
code, pre, .mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }

.app-shell { min-height: 100vh; }
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  width: var(--sidebar);
  padding: 18px 14px;
  border-right: 1px solid var(--line-soft);
  background: rgba(8, 13, 21, .96);
  backdrop-filter: blur(18px);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 48px;
  padding: 4px 7px 13px;
  border-bottom: 1px solid var(--line-soft);
}
.brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: white;
  font-weight: 900;
  letter-spacing: -.05em;
  background: linear-gradient(145deg, #5b86ff, #305de9);
  box-shadow: 0 9px 24px rgba(55, 103, 244, .28);
}
.brand-copy strong { display: block; font-size: 15px; letter-spacing: -.01em; }
.brand-copy span { display: block; color: var(--muted-2); font-size: 11px; margin-top: 1px; }

.nav-label {
  padding: 0 10px 6px;
  color: #5f7186;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nav-list { display: grid; gap: 4px; }
.nav-link {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  padding: 9px 11px;
  border-radius: 10px;
  color: #9dabbc;
  font-weight: 620;
  border: 1px solid transparent;
  transition: .16s ease;
}
.nav-link:hover {
  color: #eef4ff;
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.035);
}
.nav-link.active {
  color: #fff;
  background: linear-gradient(90deg, rgba(79,124,255,.16), rgba(79,124,255,.06));
  border-color: rgba(79,124,255,.18);
  box-shadow: inset 3px 0 0 var(--primary);
}
.nav-icon {
  width: 23px; height: 23px;
  display: grid; place-items: center;
  border-radius: 7px;
  background: rgba(255,255,255,.035);
  font-size: 12px;
  color: #a9b9cd;
}
.nav-link.active .nav-icon { color: #dce6ff; background: rgba(79,124,255,.18); }

.sidebar-footer {
  margin-top: auto;
  padding: 12px 9px 2px;
  border-top: 1px solid var(--line-soft);
}
.identity { display: flex; align-items: center; gap: 10px; }
.avatar {
  width: 34px; height: 34px; flex: 0 0 34px;
  display: grid; place-items: center;
  border-radius: 10px;
  background: #172232;
  border: 1px solid #27364a;
  color: #dbe7f8;
  font-weight: 800;
}
.identity-copy { min-width: 0; }
.identity-copy strong {
  display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-size: 12px;
}
.identity-copy span { color: var(--muted-2); font-size: 10px; }
.logout-link { margin-left: auto; color: var(--muted); font-size: 12px; }

.app-main { margin-left: var(--sidebar); min-height: 100vh; }
.mobile-topbar {
  display: none;
  position: sticky;
  top: 0;
  z-index: 45;
  height: 62px;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  border-bottom: 1px solid var(--line-soft);
  background: rgba(7,11,18,.92);
  backdrop-filter: blur(18px);
}
.mobile-brand { display:flex; align-items:center; gap:9px; font-weight:800; }
.nav-toggle {
  width: 40px; height: 40px; padding: 0;
  border-radius: 10px;
  display: grid; place-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  color: var(--text);
}
.nav-toggle span,
.nav-toggle::before,
.nav-toggle::after {
  content:"";
  width: 17px; height: 1.5px;
  display:block;
  background: currentColor;
  border-radius:2px;
}
.nav-toggle span { margin:4px 0; }

.content {
  width: min(var(--content), 100%);
  margin: 0 auto;
  padding: 30px 30px 56px;
}
.page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 22px;
}
.page-head h1 {
  margin: 0;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.12;
  letter-spacing: -.035em;
}
.page-head p { margin: 7px 0 0; color: var(--muted); max-width: 760px; }
.page-meta {
  display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end;
}
.system-chip {
  display:inline-flex; align-items:center; gap:7px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--muted);
  background: rgba(14,21,32,.75);
  font-size: 11px;
  white-space: nowrap;
}
.dot { width:7px; height:7px; border-radius:50%; background: var(--success); box-shadow:0 0 0 3px rgba(71,209,140,.1); }

.card {
  position: relative;
  background: linear-gradient(180deg, rgba(17,26,39,.93), rgba(13,20,30,.93));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
  margin: 0 0 16px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.card::before {
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  background: linear-gradient(120deg, rgba(255,255,255,.018), transparent 28%);
}
.card > * { position:relative; }
.card h2, .card h3 { margin-top: 0; letter-spacing: -.018em; }
.card h2 { font-size: 19px; margin-bottom: 15px; }
.card h3 { font-size: 15px; margin-bottom: 11px; color: #f1f5fb; }
.card p:last-child { margin-bottom: 0; }

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
  gap: 14px;
}
.metric-grid { grid-template-columns: repeat(6, minmax(140px, 1fr)); gap: 12px; margin-bottom: 16px; }
.metric-grid .card { margin:0; padding:18px; min-height:112px; }
.metric-grid h3 {
  margin:0;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.metric-grid .metric-value { margin-top:12px; font-size:30px; font-weight:780; letter-spacing:-.04em; }
.metric-grid .card:nth-child(2) .metric-value,
.metric-grid .card:nth-child(3) .metric-value { color:#9bb4ff; }
.metric-grid .card:nth-child(4) .metric-value { color:#ff9fa5; }

.top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.actions form { margin:0; }
.actions > input[type="text"] { flex:1 1 240px; }

label {
  display: grid;
  gap: 6px;
  margin: 8px 0;
  color: #b8c4d2;
  font-size: 12px;
  font-weight: 620;
}
label > input:not([type="checkbox"]):not([type="radio"]),
label > select,
label > textarea { margin-top: 1px; }
input, select, textarea, button {
  border: 1px solid #2a3a4f;
  background: #0a111b;
  color: var(--text);
  border-radius: 10px;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease, transform .12s ease;
}
input, select, textarea {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
}
textarea { min-height: 84px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #38506c; }
input:focus, select:focus, textarea:focus {
  border-color: #597ff2;
  box-shadow: 0 0 0 3px rgba(79,124,255,.12);
  background: #0b131e;
}
input[type="checkbox"], input[type="radio"] {
  width: 16px;
  height: 16px;
  min-height: 0;
  accent-color: var(--primary);
  vertical-align: -3px;
  margin-right: 6px;
}
input[type="file"] {
  padding: 6px;
  min-height: 42px;
}
input[type="file"]::file-selector-button {
  margin-right: 10px;
  border: 0;
  border-radius: 7px;
  background: #1a2738;
  color: #d9e5f4;
  padding: 7px 10px;
  cursor: pointer;
}
button, .button {
  min-height: 38px;
  padding: 8px 13px;
  border-color: #314258;
  background: #172233;
  color: #e9f0f8;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
button:hover, .button:hover {
  background: #1d2b3f;
  border-color: #405672;
}
button:active, .button:active { transform: translateY(1px); }
button.primary, .primary {
  color:#fff;
  background: linear-gradient(180deg, #527fff, #3d6ef4);
  border-color:#5a84fa;
  box-shadow:0 7px 18px rgba(55,103,244,.18);
}
button.primary:hover, .primary:hover { background: linear-gradient(180deg, #618aff, #4775f5); }
button.danger, .danger { color:#ffdfe1; background:#421c23; border-color:#6c2a35; }
button[disabled] { opacity:.55; cursor:not-allowed; transform:none; }

.muted { color: var(--muted); }
.small { font-size: 11px; }
.ok { color: var(--success); }
.err { color: #ff9ca3; }
.warn { color: var(--warn); }

.flash {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding: 12px 14px;
  border-radius: 12px;
  margin-bottom: 14px;
  border:1px solid;
  box-shadow:none;
}
.flash.ok { background:var(--success-soft); border-color:rgba(71,209,140,.25); }
.flash.err { background:var(--danger-soft); border-color:rgba(255,107,116,.25); }

.pill {
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:25px;
  padding:4px 9px;
  border-radius:999px;
  background:#182536;
  border:1px solid #293a50;
  color:#c9d5e3;
  font-size:10px;
  font-weight:750;
  letter-spacing:.025em;
}
.pill.status-success, .pill.status-active, .pill.status-up, .pill.status-online {
  color:#9ff0c3; border-color:rgba(71,209,140,.23); background:var(--success-soft);
}
.pill.status-failed, .pill.status-error, .pill.status-down, .pill.status-offline {
  color:#ffafb4; border-color:rgba(255,107,116,.24); background:var(--danger-soft);
}
.pill.status-running, .pill.status-queued {
  color:#b8caff; border-color:rgba(79,124,255,.25); background:var(--primary-soft);
}

.table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid rgba(148,163,184,.09);
  border-radius: 12px;
}
.table-scroll table { border:0; border-radius:0; }
table {
  width:100%;
  min-width: 680px;
  border-collapse:collapse;
  background:rgba(5,10,16,.28);
}
th, td {
  padding: 11px 12px;
  text-align:left;
  border-bottom:1px solid rgba(148,163,184,.10);
  vertical-align:middle;
  font-size:12px;
}
th {
  color:#778aa0;
  background:rgba(255,255,255,.018);
  font-size:10px;
  letter-spacing:.065em;
  text-transform:uppercase;
  font-weight:800;
}
tr:last-child td { border-bottom:0; }
tbody tr:hover td { background:rgba(79,124,255,.025); }

pre {
  margin: 10px 0 0;
  padding:14px;
  overflow:auto;
  border:1px solid #1e2b3a;
  border-radius:11px;
  background:#070c12;
  color:#c9d6e5;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  font-size:11px;
}
pre.log {
  max-height: 620px;
  min-height: 220px;
  white-space: pre-wrap;
  background: #05090e;
  color:#c4d3e4;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.012);
}
.terminal-log {
  min-height: 520px !important;
  color:#b8f3d2 !important;
  background:#020609 !important;
}

hr {
  border:0;
  border-top:1px solid var(--line-soft);
  margin:20px 0;
}
.cols { columns: 2; column-gap: 30px; }
.cols label { break-inside: avoid; display:block; font-weight:500; }
code {
  color:#d8e3f0;
  background:#08101a;
  border:1px solid #1d2d40;
  border-radius:6px;
  padding:2px 5px;
}
.section-box {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(5,10,16,.32);
}
.cwd-bar {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  padding:11px 13px;
  border:1px solid #26364a;
  border-radius:11px;
  background:#09111b;
}
.cwd-bar strong { color:#8799ad; font-size:11px; text-transform:uppercase; letter-spacing:.055em; }
.cwd-bar code { flex:1; min-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.empty-state {
  text-align:center;
  padding:30px 18px;
  color:var(--muted);
}
.danger-zone {
  border-color:rgba(255,107,116,.19);
  background:linear-gradient(180deg, rgba(68,24,31,.24), rgba(16,20,29,.92));
}

.mobile-overlay {
  position:fixed;
  z-index:49;
  inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(2px);
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
}

/* Login */
.login-body {
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(900px 560px at 10% 0%, rgba(79,124,255,.12), transparent 60%),
    radial-gradient(650px 430px at 95% 100%, rgba(84,199,236,.07), transparent 60%),
    #070b12;
}
.login-shell {
  width:min(980px, 100%);
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.75fr);
  border:1px solid #213047;
  border-radius:22px;
  overflow:hidden;
  background:rgba(11,17,27,.90);
  box-shadow:0 32px 110px rgba(0,0,0,.45);
}
.login-visual {
  position:relative;
  min-height:580px;
  padding:48px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:
    linear-gradient(145deg, rgba(79,124,255,.13), transparent 48%),
    #0b121d;
  border-right:1px solid var(--line-soft);
  overflow:hidden;
}
.login-visual::before {
  content:"";
  position:absolute;
  width:460px;height:460px;
  right:-190px;top:-170px;
  border-radius:50%;
  border:1px solid rgba(111,148,255,.14);
  box-shadow:
    0 0 0 50px rgba(79,124,255,.025),
    0 0 0 100px rgba(79,124,255,.018),
    0 0 0 150px rgba(79,124,255,.012);
}
.login-brand { position:relative; display:flex; align-items:center; gap:12px; font-size:17px; font-weight:850; }
.login-copy { position:relative; max-width:500px; }
.login-copy .eyebrow {
  display:inline-flex;
  padding:5px 8px;
  border:1px solid rgba(79,124,255,.22);
  border-radius:999px;
  color:#a9c0ff;
  background:rgba(79,124,255,.08);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.login-copy h1 {
  margin:15px 0 13px;
  font-size:clamp(34px,4.2vw,54px);
  line-height:1.02;
  letter-spacing:-.055em;
}
.login-copy p { color:#94a6bb; font-size:15px; max-width:450px; }
.login-trust {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.trust-item {
  padding:11px;
  border:1px solid rgba(148,163,184,.10);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.trust-item strong { display:block; font-size:11px; }
.trust-item span { display:block; margin-top:3px; color:#66788d; font-size:9px; }

.login-panel {
  padding:42px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:rgba(8,13,21,.94);
}
.login-panel h2 { margin:0; font-size:23px; letter-spacing:-.03em; }
.login-panel > p { color:var(--muted); margin:7px 0 22px; }
.login-panel form { display:grid; gap:9px; }
.login-panel button { width:100%; margin-top:7px; min-height:44px; }
.login-error {
  padding:10px 12px;
  margin:0 0 13px;
  border:1px solid rgba(255,107,116,.25);
  border-radius:10px;
  background:var(--danger-soft);
  color:#ffadb2;
  font-size:12px;
}
.login-foot { margin-top:18px; color:#54677d; font-size:10px; text-align:center; }

/* Responsiveness */
@media (max-width: 1180px) {
  .metric-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
  .sidebar {
    transform: translateX(-102%);
    transition: transform .2s ease;
    box-shadow: 26px 0 70px rgba(0,0,0,.42);
  }
  body.nav-open .sidebar { transform:translateX(0); }
  body.nav-open .mobile-overlay { opacity:1; pointer-events:auto; }
  .app-main { margin-left:0; }
  .mobile-topbar { display:flex; }
  .content { padding:22px 18px 46px; }
  .page-head { align-items:flex-start; }
}
@media (max-width: 760px) {
  .content { padding:18px 13px 38px; }
  .page-head { display:block; margin-bottom:16px; }
  .page-meta { justify-content:flex-start; margin-top:12px; }
  .metric-grid { grid-template-columns:repeat(2,1fr); }
  .card { padding:16px; border-radius:14px; }
  .grid { grid-template-columns:1fr; gap:9px; }
  .cols { columns:1; }
  .top { align-items:flex-start; }
  .actions { width:100%; }
  .actions form { max-width:100%; }
  .actions > button,
  .actions > form > button { flex:0 1 auto; }
  table { min-width:620px; }
  .login-shell { grid-template-columns:1fr; max-width:460px; }
  .login-visual { display:none; }
  .login-panel { padding:32px 24px; }
}
@media (max-width: 440px) {
  body { font-size:13px; }
  .mobile-topbar { padding:0 12px; height:58px; }
  .content { padding:14px 10px 30px; }
  .page-head h1 { font-size:25px; }
  .metric-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .metric-grid .card { min-height:94px; padding:14px; }
  .metric-grid .metric-value { font-size:25px; margin-top:8px; }
  .card { padding:14px; margin-bottom:11px; }
  button { min-height:40px; }
  .actions { gap:6px; }
  .cwd-bar code { min-width:0; width:100%; }
  .login-body { padding:12px; }
  .login-panel { padding:27px 19px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}


/* v0.6.1 terminal workspace */
.is-hidden { display:none !important; }

.terminal-workspace { display:grid; gap:14px; }
.terminal-head { margin-bottom:0; }
.terminal-kicker {
  margin-bottom:5px;
  color:#6f86a2;
  font-size:10px;
  font-weight:850;
  letter-spacing:.11em;
}
.terminal-head h2 { margin:0 0 3px; font-size:24px; }
.terminal-target { color:#91a6bd; font-size:12px; }
.terminal-status-stack { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }

.queue-note {
  margin:16px 0 10px;
  padding:10px 12px;
  border:1px solid rgba(79,124,255,.18);
  border-radius:10px;
  background:rgba(79,124,255,.07);
  color:#aec3ef;
  font-size:12px;
}
.queue-note.queue-warn {
  border-color:rgba(244,191,99,.24);
  background:var(--warn-soft);
  color:#efcb8d;
}
.queue-note.queue-error {
  border-color:rgba(255,107,116,.25);
  background:var(--danger-soft);
  color:#ffadb2;
}
.terminal-error { margin:9px 0 0; }

.credential-repair {
  display:grid;
  grid-template-columns:minmax(190px,.7fr) minmax(300px,1.3fr);
  gap:18px;
  margin-top:14px;
  padding:16px;
  border:1px solid rgba(255,107,116,.25);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(255,107,116,.09),rgba(15,21,31,.78));
}
.credential-repair strong { color:#ffd6d8; font-size:13px; }
.credential-repair p { margin:5px 0 0; }
.credential-repair form { display:grid; gap:6px; }

.terminal-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:14px;
  align-items:start;
}
.terminal-primary { min-width:0; margin:0; }
.terminal-side {
  position:sticky;
  top:22px;
  margin:0;
  padding:17px;
}
.session-facts { margin:0; display:grid; gap:0; }
.session-facts div {
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid var(--line-soft);
}
.session-facts div:last-child { border-bottom:0; }
.session-facts dt { color:#687d96; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.055em; }
.session-facts dd { margin:0; color:#c9d7e7; font-size:11px; overflow-wrap:anywhere; }

.workspace-tabs {
  display:flex;
  gap:5px;
  margin:-4px 0 14px;
  padding-bottom:11px;
  border-bottom:1px solid var(--line-soft);
}
.workspace-tab {
  min-height:34px;
  padding:6px 12px;
  color:#7f92aa;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.workspace-tab:hover { background:rgba(255,255,255,.025); }
.workspace-tab.active {
  color:#fff;
  background:var(--primary-soft);
  border-color:rgba(79,124,255,.22);
}
.workspace-pane { display:none; }
.workspace-pane.active { display:block; }

.terminal-lock-note {
  margin-bottom:9px;
  color:#7d90a7;
  font-size:11px;
}
.terminal-lock-note.is-ready { color:#6dcf9a; }

.terminal-log {
  height:min(56vh,650px);
  min-height:390px !important;
  max-height:none !important;
  margin:0;
  border-radius:12px;
}
.terminal-command {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin-top:10px;
}
.quick-keys { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.quick-keys button { min-height:32px; padding:5px 9px; font-size:10px; }

.pane-head { margin-bottom:12px; }
.pane-head h3 { margin:0 0 3px; }
.pane-head p { margin:0; }
.deploy-sections { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.deploy-sections > section {
  padding:15px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(5,10,16,.28);
}
.compact-grid { grid-template-columns:1fr 1fr; }
.toggle-grid { display:flex; flex-wrap:wrap; gap:8px 16px; margin:10px 0; }
.toggle-line {
  display:flex;
  align-items:center;
  gap:5px;
  margin:0;
  color:#9eafc3;
  font-size:11px;
  font-weight:600;
}
.toggle-line input { margin:0; }
.activity-list { display:grid; gap:4px; margin-top:8px; }
.activity-list > div { padding:5px 7px; border-radius:7px; background:rgba(255,255,255,.018); }

@media (max-width: 1180px) {
  .terminal-layout { grid-template-columns:minmax(0,1fr) 245px; }
  .deploy-sections { grid-template-columns:1fr; }
}
@media (max-width: 900px) {
  .terminal-layout { grid-template-columns:1fr; }
  .terminal-side { position:static; order:-1; }
  .session-facts { grid-template-columns:1fr 1fr; gap:0 20px; }
  .terminal-log { height:54vh; min-height:330px !important; }
  .credential-repair { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .terminal-head h2 { font-size:21px; }
  .workspace-tabs { overflow-x:auto; }
  .workspace-tab { flex:1 0 auto; }
  .terminal-log { height:50vh; min-height:300px !important; font-size:10px; }
  .terminal-command { grid-template-columns:1fr; }
  .terminal-command button { width:100%; }
  .session-facts { grid-template-columns:1fr; }
  .compact-grid { grid-template-columns:1fr; }
  .credential-repair { padding:13px; }
}
