.live-stats {
  grid-template-columns: repeat(3, 1fr);
}
.live-form {
  padding: 0 24px 24px;
}
.live-form input,
#password-dialog input,
.import-row input {
  width: 100%;
}
.live-form button {
  width: 100%;
  margin-top: 12px;
}
.live-form .field-label:first-child {
  margin-top: 0;
}
.import-row {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.roster-summary {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
  margin: 14px 0;
}
.live-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
#import-rows {
  max-height: 50vh;
  overflow-y: auto;
  padding: 4px;
}
[hidden] {
  display: none !important;
}
#capacity-dialog {
  width: min(960px, 95vw);
  max-width: 95vw;
}
#rift-dialog {
  width: min(560px, 95vw);
  max-width: 95vw;
}
#rift-dialog p { line-height: 1.5; }
.coordinate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}
.coordinate-grid input, .coordinate-grid select {
  display: block;
  width: 100%;
  margin-top: 6px;
}
#capacity-commanders {
  max-height: 180px;
  overflow-y: auto;
  display: grid;
  gap: 8px;
}
.capacity-result {
  border-top: 1px solid var(--line);
  margin-top: 20px;
  padding-top: 12px;
}
.capacity-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
}
.capacity-table th, .capacity-table td {
  text-align: left;
  padding: 8px;
  border-bottom: 1px solid var(--line);
}
#capacity-results p, #capacity-results li {
  line-height: 1.5;
}
.attack-test-controls, .attack-test-state {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border, #34404a);
}
.attack-test-controls label { display: block; margin: 12px 0; }
.attack-test-controls input { width: auto; margin-right: 8px; }
.attack-test-state h3 { font-size: 15px; }
.attack-test-state button { white-space: normal; }
.rift-operations { padding: 24px; margin-bottom: 24px; }
.rift-operations p { line-height: 1.5; }
.rift-operations .coordinate-grid { max-width: 600px; }
#operation-results li { margin-top: 8px; }
.login-page { max-width: 480px; margin: 10vh auto; padding: 16px; }
.login-panel { padding: 28px; }
#login-error { color: #ff9c9c; min-height: 1.5em; }

.live-dashboard .topbar { height: 58px; gap: 24px; }
.live-dashboard main { padding-top: 20px; }
.live-dashboard .stats { margin-bottom: 14px; }
.live-dashboard .stats > div { padding: 10px 18px; display: flex; align-items: center; gap: 12px; }
.live-dashboard .stats span { margin: 0; }
.live-dashboard .stats strong { font-size: 20px; }
.live-dashboard .rift-operations { padding: 16px 20px; margin-bottom: 14px; }
.live-dashboard .rift-operations .coordinate-grid { margin: 12px 0; max-width: none; }
.live-dashboard #operation-summary { font-size: 12px; color: var(--muted); margin: 8px 0; }
.live-dashboard .workspace { display: block; }
.live-dashboard .panel-heading { padding: 14px 18px; }
.live-dashboard .panel-heading h1 { font-size: 17px; letter-spacing: -.3px; margin: 0; }
.live-dashboard .panel-heading .live-actions { align-items: center; gap: 14px; }
.live-dashboard .accounts { padding: 0; }
.live-dashboard .account { margin: 0; padding: 9px 18px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; display: grid; grid-template-columns: minmax(0, 1fr) 64px; gap: 8px 16px; }
.live-dashboard .account-top { min-height: 34px; }
.account-identity { min-width: 0; flex: 1; }
.live-dashboard .account-name, .live-dashboard .account-server { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-dashboard .account-top .badge { margin-left: 0; }
.live-dashboard .toggle { flex-shrink: 0; }
.account-details { display: contents; }
.account-details > summary { grid-column: 2; grid-row: 1; align-self: center; font-size: 12px; color: var(--muted); cursor: pointer; }
.account-details > :not(summary) { grid-column: 1 / -1; }
.account-details:not([open]) > :not(summary) { display: none; }
.account-details > .roster-summary { margin: 8px 0 0; }
.account-details > .hint, .account-details > .reason { margin: 4px 0; }
.account-details .attack-test-state { margin-top: 4px; padding-top: 12px; }
.account-details .attack-test-state p { font-size: 12px; margin: 8px 0; }
.history-panel { margin-top: 14px; padding: 0 18px; }
.history-panel > details { border-bottom: 1px solid var(--line); padding: 12px 0; font-size: 12px; }
.history-panel > details:last-child { border-bottom: 0; }
.history-panel summary { cursor: pointer; color: var(--muted); }
#operation-results, #activity { max-height: 260px; overflow-y: auto; }
#operation-results ul { padding-left: 20px; }
#add-dialog { width: min(440px, 95vw); padding: 0; }
.login-panel h1 { font-size: 26px; }
.login-panel .live-form { padding: 16px 0 0; }

@media (min-width: 1000px) {
  .live-dashboard .rift-operations { display: grid; grid-template-columns: 150px minmax(280px, 1fr) auto; align-items: center; gap: 0 22px; }
  .live-dashboard .rift-operations .coordinate-grid { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .live-dashboard .rift-operations .live-actions { grid-column: 3; grid-row: 1 / 3; }
  .live-dashboard #operation-summary { grid-column: 1; font-size: 11px; }
}
@media (max-width: 600px) {
  .live-dashboard .topbar { padding: 0 16px; gap: 12px; }
  .live-dashboard .environment { display: none; }
  .live-dashboard .brand { font-size: 13px; letter-spacing: 1px; }
  .live-dashboard .brand-mark { display: none; }
  .live-dashboard .connection { max-width: 110px; font-size: 10px; }
  .live-dashboard .stats > div { padding: 10px; gap: 6px; flex-direction: column; }
  .live-dashboard .stats span { font-size: 8px; letter-spacing: .5px; }
  .live-dashboard .account { padding: 12px; gap: 8px; grid-template-columns: minmax(0, 1fr) 58px; }
  .live-dashboard .account-top { flex-wrap: wrap; gap: 8px; }
  .account-identity { flex-basis: 100%; }
  .live-dashboard .account-top .badge { margin-right: auto; }
  .live-dashboard .toggle { font-size: 10px; }
}
