:root {
  --bg: #07111b;
  --sidebar: #071520;
  --panel: #0c1824;
  --panel-2: #101d2a;
  --panel-3: #142332;
  --line: #243241;
  --line-soft: rgba(255,255,255,.07);
  --text: #f4f7fb;
  --muted: #9ca9b7;
  --muted-2: #6f7f90;
  --blue: #4a8cff;
  --green: #48c96a;
  --red: #f05a5a;
  --amber: #f6b634;
  --orange: #f07f32;
  --purple: #8f82ff;
  --cyan: #56d5e9;
  --teal: #37d4ad;
  --radius: 14px;
  --radius-lg: 18px;
  --shadow: 0 18px 55px rgba(0,0,0,.34);
  --mono: "IBM Plex Mono", "Roboto Mono", "SFMono-Regular", Consolas, monospace;
  --sans: "Aptos", "DM Sans", "IBM Plex Sans", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--text);
  font-family: var(--sans);
  background:
    radial-gradient(circle at 65% -10%, rgba(53, 107, 183, .12), transparent 32rem),
    linear-gradient(135deg, #06101a 0%, #0a1420 52%, #050b12 100%);
}

button,
input,
select,
a {
  font: inherit;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
  text-decoration: none;
}

.app-shell {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 18px 18px;
  background: linear-gradient(180deg, #071722, #06111b);
  border-right: 1px solid var(--line);
}

.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-bottom: 22px;
}

.brand-logo {
  width: 52px;
  height: 58px;
  object-fit: contain;
  object-position: center;
  padding: 4px;
  border-radius: 15px;
  background: radial-gradient(circle at 50% 34%, rgba(86,213,233,.22), transparent 58%), #071520;
  border: 1px solid rgba(86,213,233,.22);
  box-shadow: 0 14px 32px rgba(31,139,255,.22), 0 0 22px rgba(72,201,106,.08), inset 0 1px 0 rgba(255,255,255,.12);
}

.brand-copy {
  min-width: 0;
}

.brand h1 {
  margin: 0;
  font-size: 17px;
  letter-spacing: -.03em;
}

.brand p {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.nav-stack {
  display: grid;
  gap: 5px;
  margin: 0 -18px;
}

.nav-pill {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 11px;
  align-items: center;
  width: 100%;
  padding: 12px 18px;
  color: #c8d1dc;
  text-align: left;
  background: transparent;
  border: 0;
  border-left: 3px solid transparent;
}

.nav-pill:hover,
.nav-pill.active {
  color: #fff;
  background: #162b50;
  border-left-color: #496dff;
}

.nav-pill strong {
  min-width: 25px;
  padding: 2px 8px;
  font-size: 12px;
  text-align: center;
  background: #233140;
  border-radius: 999px;
}

.nav-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  background: #2d53a0;
  border-radius: 7px;
}

.nav-icon.danger { color: #ffd1d1; background: #5a1f2a; }
.nav-icon.blue { color: #d6e5ff; background: #1d4c91; }
.nav-icon.green { color: #d9ffe2; background: #1d6d37; }

.nav-icon::before,
.tool-icon::before,
.metric-card::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: currentColor;
  color: #dce8ff;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}

.nav-icon.danger::before { color: #ff8f8f; }
.nav-icon.blue::before { color: #8bb8ff; }
.nav-icon.green::before { color: #78e58d; }

.icon-all { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 4h7v7H4V4Zm9 0h7v7h-7V4ZM4 13h7v7H4v-7Zm9 0h7v7h-7v-7Z'/%3E%3C/svg%3E"); }
.icon-alert { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 1.5 20h21L12 2Zm1 15h-2v-2h2v2Zm0-4h-2V8h2v5Z'/%3E%3C/svg%3E"); }
.icon-play { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 5v14l11-7L8 5Z'/%3E%3C/svg%3E"); }
.icon-check { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m9.2 16.6-4.1-4.1-1.9 1.9 6 6L21.2 8.3l-1.9-1.9L9.2 16.6Z'/%3E%3C/svg%3E"); }
.icon-shield { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 4 5v6c0 5 3.4 9.7 8 11 4.6-1.3 8-6 8-11V5l-8-3Zm1 14h-2v-2h2v2Zm0-4h-2V7h2v5Z'/%3E%3C/svg%3E"); }
.icon-settings { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.4 13.5c.1-.5.1-1 .1-1.5s0-1-.1-1.5l2-1.5-2-3.5-2.4 1a7.7 7.7 0 0 0-2.6-1.5L14 2h-4l-.4 2.5A7.7 7.7 0 0 0 7 6L4.6 5l-2 3.5 2 1.5c-.1.5-.1 1-.1 1.5s0 1 .1 1.5l-2 1.5 2 3.5 2.4-1a7.7 7.7 0 0 0 2.6 1.5L10 22h4l.4-2.5A7.7 7.7 0 0 0 17 18l2.4 1 2-3.5-2-1.5ZM12 15.5A3.5 3.5 0 1 1 12 8a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E"); }
.icon-activity { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 13h4l2-6 4 12 3-8h5v2h-3.6L13 22 9 10l-1 3H3v-2Z'/%3E%3C/svg%3E"); }
.icon-table { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4h18v16H3V4Zm2 2v3h14V6H5Zm0 5v7h4v-7H5Zm6 0v7h8v-7h-8Z'/%3E%3C/svg%3E"); }

.tool-group {
  display: grid;
  gap: 7px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.compact-tools {
  margin-top: 18px;
}

.sidebar-label {
  margin: 0 0 8px;
  color: var(--muted-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.tool-group a {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  color: #c6d0dc;
  font-size: 14px;
  border-radius: 10px;
}

.tool-icon {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  color: #9fb4cf;
}

.tool-group a:hover {
  background: #102234;
}

.side-card {
  margin-top: 14px;
  padding: 13px;
  background: #0b1a27;
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.mini-stat,
.server-row {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 7px 0;
  color: var(--muted);
  font-size: 12px;
}

.mini-stat span,
.pulse {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #9aa6b4;
}

.mini-stat.green span,
.pulse.ok { background: var(--green); box-shadow: 0 0 0 5px rgba(72,201,106,.11); }
.mini-stat.red span,
.pulse.bad { background: var(--red); box-shadow: 0 0 0 5px rgba(240,90,90,.12); }

.server-row strong {
  font-size: 15px;
}

.side-card small {
  display: block;
  color: var(--muted-2);
  font-size: 11px;
}

.side-button {
  margin-top: 11px;
  padding: 8px 12px;
  color: #d9e8ff;
  background: #132334;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.logout-button {
  margin: auto -18px -18px;
  padding: 15px 24px;
  color: #c6d0dc;
  text-align: left;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--line);
}

.main {
  min-width: 0;
  padding: 20px 22px;
}

.topbar {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

.topbar h2 {
  margin: 0;
  font-size: 32px;
  letter-spacing: -.05em;
}

.topbar p {
  margin: 6px 0 0;
  color: #c2ccd8;
}

.top-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}

.last-refresh {
  min-width: 180px;
  color: var(--muted);
  font-size: 12px;
  padding: 9px 12px;
  background: rgba(16,29,42,.82);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.last-refresh strong {
  display: block;
  margin-top: 3px;
  color: var(--text);
  font-family: var(--mono);
}

.last-refresh small {
  display: block;
  margin-top: 4px;
  color: #8bd6a0;
  font-size: 11px;
  line-height: 1.25;
}

.privacy-chip,
.primary-button,
.avatar-link {
  min-height: 38px;
  border-radius: 10px;
}

.privacy-chip {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 12px;
  color: #f2f5f8;
  background: var(--panel-2);
  border: 1px solid var(--line);
}

.primary-button {
  padding: 8px 14px;
  color: #b8c8ff;
  background: #091527;
  border: 1px solid #364d9d;
}

.avatar-link {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #e8edff;
  background: #111a30;
  border: 1px solid #53639a;
  border-radius: 999px;
}

.overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, .72fr) minmax(260px, .72fr);
  gap: 12px;
  margin-bottom: 14px;
  align-items: stretch;
}

.overview-panel,
.control-panel,
.table-panel,
.bottom-panel,
.notice {
  background: rgba(12, 24, 36, .94);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.overview-panel {
  display: flex;
  flex-direction: column;
  padding: 13px;
}

.panel-label {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.money-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  height: 100%;
}

.metric-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 86px;
  padding: 11px;
  background: var(--panel-2);
  border: 1px solid var(--line-soft);
  border-radius: 10px;
}

.metric-card::after {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 18px;
  height: 18px;
  opacity: .9;
}

.metric-card span,
.compact-item span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.metric-card strong {
  display: block;
  margin-bottom: 5px;
  color: var(--text);
  font-family: var(--mono);
  font-size: 20px;
  letter-spacing: -.06em;
}

.metric-card small {
  color: var(--muted);
}

.metric-card.purple span { color: #c8c0ff; }
.metric-card.cyan span { color: #9beef6; }
.metric-card.green span { color: #a8f5bc; }
.metric-card.amber span { color: #ffce68; }
.metric-card.teal span { color: #80f0d2; }
.metric-card.purple::after { color: var(--purple); --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h18v12H3V6Zm2 2v8h14V8H5Zm7 1.5a2.5 2.5 0 1 1 0 5 2.5 2.5 0 0 1 0-5Z'/%3E%3C/svg%3E"); }
.metric-card.cyan::after { color: var(--cyan); --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 18h16v2H4v-2Zm1-4h4v3H5v-3Zm5-5h4v8h-4V9Zm5-4h4v12h-4V5Z'/%3E%3C/svg%3E"); }
.metric-card.green::after { color: var(--green); --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10h-2a8 8 0 1 1-2.4-5.7L14 10h8V2l-3 3a10 10 0 0 0-7-3Zm1 5h-2v6l5 3 1-1.7-4-2.3V7Z'/%3E%3C/svg%3E"); }
.metric-card.amber::after { color: var(--amber); --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 4 6v6c0 5 3.5 9.2 8 10 4.5-.8 8-5 8-10V6l-8-4Zm1 14h-2v-2h2v2Zm0-4h-2V7h2v5Z'/%3E%3C/svg%3E"); }
.metric-card.teal::after { color: var(--teal); --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m7 7 5-5 5 5h-3v7h-4V7H7Zm-3 9h16v2H4v-2Zm0 4h16v2H4v-2Z'/%3E%3C/svg%3E"); }

.compact-list {
  display: grid;
  gap: 7px;
  height: 100%;
  align-content: stretch;
}

.compact-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
  padding: 7px 10px;
  background: #101d2a;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.compact-item span {
  margin: 0;
  color: #d3dce7;
}

.compact-item strong {
  font-family: var(--mono);
}

.compact-item.green { border-color: rgba(72,201,106,.45); color: var(--green); }
.compact-item.blue { border-color: rgba(74,140,255,.45); color: var(--blue); }
.compact-item.amber { border-color: rgba(246,182,52,.55); color: var(--amber); }
.compact-item.orange { border-color: rgba(240,127,50,.55); color: var(--orange); }
.compact-item.red { border-color: rgba(240,90,90,.55); color: var(--red); }

.control-panel {
  display: grid;
  grid-template-columns: minmax(300px, 1.6fr) minmax(170px, .7fr) minmax(180px, .7fr) minmax(180px, .7fr) auto;
  gap: 12px;
  align-items: end;
  padding: 11px;
  margin-bottom: 14px;
}

.field {
  display: grid;
  gap: 6px;
}

.field span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.field input,
.field select {
  min-height: 40px;
  width: 100%;
  padding: 9px 12px;
  color: var(--text);
  background: #07111b;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
}

.checkbox-line {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 40px;
  color: #c7d1dc;
  white-space: nowrap;
}

.notice {
  padding: 14px;
  margin-bottom: 14px;
}

.notice.error { color: #ffd3d3; border-color: rgba(240,90,90,.48); background: rgba(91, 26, 33, .65); }
.notice.loading { color: #d8e6ff; border-color: rgba(74,140,255,.42); }
.notice.empty { color: #cbd4df; box-shadow: none; }

.table-panel {
  overflow: hidden;
  margin-bottom: 14px;
}

.table-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
}

.table-title-row h3 {
  margin: 0;
  font-size: 18px;
}

.table-title-row em {
  color: var(--muted);
  font-style: normal;
}

.table-wrap {
  width: 100%;
  overflow: auto;
}

.ops-table {
  width: 100%;
  min-width: 1360px;
  border-collapse: separate;
  border-spacing: 0;
}

.ops-table th,
.ops-table td {
  padding: 12px 10px;
  vertical-align: middle;
  border-bottom: 1px solid var(--line);
}

.ops-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  color: #aeb9c7;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .07em;
  text-align: left;
  text-transform: uppercase;
  background: #0b1722;
}

.ops-table .group-head th {
  padding: 8px 10px;
  color: #7f91a5;
  font-size: 10px;
  text-align: center;
  background: #08131e;
  border-bottom-color: rgba(255,255,255,.06);
}

.ops-table tbody tr:hover {
  background: rgba(255,255,255,.025);
}

.ops-table td {
  color: #d7e0eb;
  font-size: 13px;
}

.pair-row.tone-risk {
  background: linear-gradient(90deg, rgba(240,90,90,.13), rgba(240,90,90,.04) 36%, transparent);
  box-shadow: inset 4px 0 0 var(--red);
}

.pair-row.tone-risk:hover {
  background: linear-gradient(90deg, rgba(240,90,90,.18), rgba(240,90,90,.06) 38%, rgba(255,255,255,.025));
}

.ops-table td strong,
.ops-table td span {
  display: block;
}

.muted,
.side-meta span,
.ops-table td > .muted {
  color: var(--muted);
}

.ops-table td > .muted {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amount,
.mono {
  font-family: var(--mono);
}

.strong { font-weight: 900; }
.center { text-align: center; }
.profit-text { color: var(--green) !important; }
.loss-text { color: var(--red) !important; }
.amber-text { color: var(--amber) !important; }

.status-pill {
  display: inline-flex !important;
  width: fit-content;
  padding: 7px 10px;
  color: #d6e3ef;
  font-size: 10.5px;
  font-weight: 900;
  border-radius: 8px;
}

.status-ready { color: #baf6c6; background: rgba(72,201,106,.18); border: 1px solid rgba(72,201,106,.32); }
.status-running { color: #c4daff; background: rgba(74,140,255,.18); border: 1px solid rgba(74,140,255,.32); }
.status-waiting { color: #ffe1a0; background: rgba(246,182,52,.17); border: 1px solid rgba(246,182,52,.34); }
.status-complete { color: #baf6c6; background: rgba(72,201,106,.14); border: 1px solid rgba(72,201,106,.28); }
.status-risk { color: #ffb4b4; background: rgba(240,90,90,.18); border: 1px solid rgba(240,90,90,.34); }
.tone-risk .status-risk {
  color: #ffd4d4;
  background: rgba(240,90,90,.28);
  border-color: rgba(240,90,90,.62);
  box-shadow: 0 0 0 3px rgba(240,90,90,.08);
}

.side-health {
  display: grid;
  gap: 7px;
}

.health-pill {
  display: inline-flex !important;
  width: fit-content;
  gap: 6px;
  align-items: center;
  padding: 5px 8px;
  font-size: 10px;
  border-radius: 999px;
}

.health-pill small {
  color: inherit;
  opacity: .8;
}

.health-fresh { color: #baf6c6; background: rgba(72,201,106,.16); }
.health-warning { color: #ffe1a0; background: rgba(246,182,52,.16); }
.health-critical { color: #ffb4b4; background: rgba(240,90,90,.16); }

.side-meta strong {
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.compact-time {
  max-width: 130px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.row-actions {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: flex-end;
}

.row-actions button {
  display: flex;
  flex-direction: column;
  place-items: center;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 36px;
  padding: 4px 5px;
  color: #d9e8ff;
  font-size: 9px;
  background: #172638;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.more-menu {
  position: relative;
}

.more-trigger {
  min-width: 34px !important;
  font-size: 14px !important;
  letter-spacing: .08em;
}

.more-menu-list {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 8;
  display: none;
  min-width: 160px;
  padding: 6px;
  background: #0b1722;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.more-menu:hover .more-menu-list,
.more-menu:focus-within .more-menu-list {
  display: grid;
  gap: 4px;
}

.more-menu-list button {
  display: block;
  width: 100%;
  height: auto;
  min-width: 0;
  padding: 9px 10px;
  color: #dce8f6;
  font-size: 12px;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 8px;
}

.more-menu-list button:hover {
  background: #172638;
}

.group-start {
  border-left: 1px solid rgba(255,255,255,.08);
}

.action-icon span {
  width: 14px;
  height: 14px;
  margin-bottom: 2px;
  background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}

.action-icon small {
  display: block;
  color: inherit;
  font-size: 8px;
  line-height: 1;
}

.icon-eye { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 5c5 0 9 5 10 7-1 2-5 7-10 7S3 14 2 12c1-2 5-7 10-7Zm0 3.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Z'/%3E%3C/svg%3E"); }
.icon-refresh { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.7 6.3A8 8 0 1 0 20 12h-2a6 6 0 1 1-1.8-4.2L13 11h8V3l-3.3 3.3Z'/%3E%3C/svg%3E"); }
.icon-copy { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 7h11v14H8V7Zm-3 9H3V3h13v2H5v11Z'/%3E%3C/svg%3E"); }
.icon-withdraw { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3v10l4-4 1.4 1.4L12 15.8l-5.4-5.4L8 9l3 3V3h2ZM4 18h16v3H4v-3Z'/%3E%3C/svg%3E"); }
.icon-return { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7h9a5 5 0 0 1 0 10H8v-2h8a3 3 0 0 0 0-6H7v4L2 8l5-5v4Z'/%3E%3C/svg%3E"); }
.icon-money { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 6h18v12H3V6Zm2 2v8h14V8H5Zm7 1a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-6 1h2v2H6v-2Zm10 2h2v2h-2v-2Z'/%3E%3C/svg%3E"); }
.icon-logs { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 3h14v18H5V3Zm3 5h8V6H8v2Zm0 5h8v-2H8v2Zm0 5h5v-2H8v2Z'/%3E%3C/svg%3E"); }
.icon-archive { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4h18v5H3V4Zm2 7h14v9H5v-9Zm5 3v2h4v-2h-4Z'/%3E%3C/svg%3E"); }

.row-actions button:hover {
  border-color: #496dff;
  background: #1d3150;
}

.queue-empty {
  display: grid;
  gap: 6px;
  padding: 26px 18px;
  color: var(--muted);
}

.queue-empty strong {
  color: var(--text);
}

.bottom-grid {
  display: grid;
  grid-template-columns: minmax(280px, .85fr) minmax(280px, .85fr) minmax(360px, 1.2fr);
  gap: 14px;
  align-items: stretch;
}

.bottom-panel {
  min-height: 238px;
  padding: 16px;
}

.bottom-panel h3 {
  margin: 0 0 16px;
  font-size: 14px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.donut-wrap {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 20px;
  align-items: center;
}

.donut {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 132px;
  height: 132px;
  background: conic-gradient(var(--green) 0 50%, var(--red) 50% 100%);
  border-radius: 999px;
  position: relative;
}

.donut::after {
  position: absolute;
  inset: 34px;
  content: "";
  background: var(--panel);
  border-radius: 999px;
}

.donut strong,
.donut span {
  position: relative;
  z-index: 1;
}

.donut strong {
  line-height: 1;
  font-size: 26px;
}

.donut span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1;
}

.legend-list,
.action-list,
.activity-list {
  display: grid;
  gap: 12px;
}

.legend-list div,
.action-list div,
.activity-list div {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  color: #cbd5e1;
  font-size: 14px;
}

.legend {
  width: 12px;
  height: 12px;
  border-radius: 4px;
}

.legend.green { background: var(--green); }
.legend.blue { background: var(--blue); }
.legend.red { background: var(--red); }
.legend.gray { background: #9aa6b4; }

.action-list strong {
  display: grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  background: #233140;
  border-radius: 999px;
}

.action-needed.red strong { background: rgba(240,90,90,.2); color: #ff9d9d; }
.action-needed.amber strong { background: rgba(246,182,52,.2); color: #ffd378; }
.action-needed.green strong { background: rgba(72,201,106,.18); color: #93f2a5; }

.activity-list div {
  align-items: flex-start;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.activity-list span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}

.activity-row {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) minmax(112px, auto);
  align-items: start !important;
  gap: 10px !important;
}

.activity-row p {
  margin: 0;
}

.activity-row p strong,
.activity-row p small {
  display: block;
}

.activity-row time {
  color: var(--muted);
  font-family: var(--mono);
  font-size: 11px;
  text-align: right;
  white-space: nowrap;
}

.activity-dot {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #263545;
}

.activity-row.green .activity-dot { background: rgba(72,201,106,.25); box-shadow: inset 0 0 0 6px rgba(72,201,106,.55); }
.activity-row.blue .activity-dot { background: rgba(74,140,255,.25); box-shadow: inset 0 0 0 6px rgba(74,140,255,.55); }
.activity-row.red .activity-dot { background: rgba(240,90,90,.25); box-shadow: inset 0 0 0 6px rgba(240,90,90,.55); }
.activity-empty {
  display: grid !important;
  justify-content: start !important;
}

.hidden { display: none !important; }

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
  background: rgba(0,0,0,.56);
  backdrop-filter: blur(8px);
}

.drawer {
  position: fixed;
  top: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 30;
  width: min(820px, calc(100vw - 36px));
  overflow: auto;
  padding: 22px;
  color: var(--text);
  background: #0c1824;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.drawer-close {
  float: right;
  padding: 8px 12px;
  color: #d9e8ff;
  background: #172638;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.drawer-title {
  margin: 0 0 8px;
  font-size: 30px;
  letter-spacing: -.04em;
}

.drawer-subtitle {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 0 14px;
  color: var(--muted);
}

.drawer-actions {
  margin-bottom: 14px;
  padding: 12px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.detail-card,
.timeline-card {
  padding: 16px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.detail-card h4,
.timeline-card h4 {
  margin: 0 0 12px;
}

.detail-row {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px dashed var(--line);
}

.detail-row span {
  color: var(--muted);
}

.timeline-card {
  margin-top: 14px;
}

.timeline-list {
  display: grid;
  gap: 10px;
  max-height: 340px;
  overflow: auto;
}

.timeline-item {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  background: #101d2a;
  border-left: 4px solid #778596;
  border-radius: 12px;
}

.timeline-item span,
.timeline-item small {
  color: var(--muted);
}

.timeline-ready { border-left-color: var(--green); }
.timeline-running { border-left-color: var(--blue); }
.timeline-waiting { border-left-color: var(--amber); }
.timeline-risk { border-left-color: var(--red); }

.toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 60;
  max-width: 360px;
  padding: 13px 15px;
  color: #fff;
  background: #132d46;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 14px;
  box-shadow: var(--shadow);
}

.login-page {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 24px;
}

.login-shell {
  width: min(460px, 100%);
}

.login-card {
  padding: 28px;
  color: var(--text);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow);
}

.login-brand {
  display: grid;
  gap: 12px;
  margin-bottom: 20px;
}

.login-logo {
  width: 100%;
  max-height: 176px;
  object-fit: contain;
  object-position: center;
  padding: 0;
  background: radial-gradient(circle at 30% 45%, rgba(86,213,233,.12), transparent 52%), rgba(5, 14, 23, .72);
  border: 1px solid rgba(86,213,233,.18);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 48px rgba(0,0,0,.22);
}

.login-card h2 {
  margin: 0;
  font-size: 30px;
}

.login-copy {
  margin: 10px 0 22px;
  color: var(--muted);
  line-height: 1.5;
}

.login-form {
  display: grid;
  gap: 14px;
}

.login-error {
  padding: 12px 13px;
  color: #ffd3d3;
  background: rgba(91, 26, 33, .65);
  border: 1px solid rgba(240,90,90,.34);
  border-radius: 12px;
}

.login-error.success {
  color: #baf6c6;
  background: rgba(72,201,106,.16);
  border-color: rgba(72,201,106,.3);
}

.full {
  width: 100%;
}

.ghost-button,
.center-link {
  display: inline-flex;
  justify-content: center;
  padding: 11px 13px;
  color: #d9e8ff;
  background: #172638;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.account-shell .nav-stack a.nav-pill {
  text-decoration: none;
}

.account-settings-panel {
  display: grid;
  grid-template-columns: minmax(230px, .35fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  max-width: 1080px;
}

.account-form-panel {
  padding: 18px;
}

.account-section h3,
.account-form-panel h3 {
  margin: 0 0 8px;
  font-size: 24px;
}

.account-copy {
  max-width: 560px;
  margin: 0 0 18px;
  color: var(--muted);
  line-height: 1.45;
}

.account-form {
  display: grid;
  gap: 14px;
}

.settings-menu {
  display: grid;
  gap: 8px;
  padding: 12px;
  position: sticky;
  top: 20px;
}

.settings-option,
.settings-card,
.settings-link-card {
  color: var(--text);
  background: rgba(8, 18, 29, .74);
  border: 1px solid var(--line);
  border-radius: 10px;
  text-align: left;
  text-decoration: none;
}

.settings-option {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: center;
  padding: 12px;
  cursor: pointer;
}

.settings-option strong,
.settings-card strong,
.settings-link-card strong,
.settings-row strong {
  font-size: 14px;
}

.settings-option small {
  grid-column: 2;
  color: var(--muted);
}

.settings-option.active {
  background: rgba(43, 94, 255, .16);
  border-color: rgba(90, 130, 255, .6);
  box-shadow: inset 3px 0 0 var(--accent);
}

.settings-content {
  min-width: 0;
}

.account-section {
  display: none;
  padding: 18px;
}

.account-section.active {
  display: block;
}

.settings-card-grid,
.settings-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.settings-card,
.settings-link-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 14px;
  cursor: pointer;
}

.settings-card:hover,
.settings-link-card:hover,
.settings-option:hover {
  border-color: rgba(106, 136, 255, .55);
  transform: translateY(-1px);
}

.settings-card:focus,
.settings-link-card:focus,
.settings-option:focus {
  outline: none;
}

.settings-card:focus-visible,
.settings-link-card:focus-visible,
.settings-option:focus-visible {
  border-color: rgba(120, 150, 255, .75);
  box-shadow: 0 0 0 3px rgba(76, 119, 255, .18);
}

.settings-card small,
.settings-link-card small,
.settings-row small {
  display: block;
  color: var(--muted);
  line-height: 1.4;
}

.settings-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  background: rgba(8, 18, 29, .74);
  border: 1px solid var(--line);
  border-radius: 10px;
}

.settings-row + .settings-row {
  margin-top: 12px;
}

.settings-switch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  color: var(--text);
  background: #0a1622;
  border: 1px solid var(--line);
  border-radius: 999px;
  white-space: nowrap;
}

.settings-switch input {
  width: 16px;
  height: 16px;
}

.danger-zone {
  border-color: rgba(255, 92, 92, .28);
}

.danger-row {
  border-color: rgba(255, 92, 92, .35);
}

.danger-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  padding: 10px 14px;
  color: #ffe8e8;
  background: rgba(255, 92, 92, .18);
  border: 1px solid rgba(255, 92, 92, .52);
  border-radius: 10px;
  font-weight: 800;
  cursor: pointer;
}

/* Account Settings: portable VPS migration */
.settings-option.migration-option .tool-icon,
.settings-card.migration-card .tool-icon {
  color: #74dbc9;
}

.settings-option.migration-option.active {
  background: rgba(20, 137, 119, .14);
  border-color: rgba(72, 193, 171, .55);
  box-shadow: inset 3px 0 0 #36b69f;
}

.settings-card.migration-card {
  border-color: rgba(72, 193, 171, .35);
  background: linear-gradient(145deg, rgba(14, 50, 48, .7), rgba(8, 18, 29, .78));
}

.settings-card.migration-card:hover {
  border-color: rgba(87, 213, 188, .72);
}

.migration-section {
  overflow: hidden;
  padding: 20px;
  border-color: rgba(77, 159, 147, .38);
}

.migration-heading {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
}

.migration-heading .account-copy {
  max-width: 650px;
}

.migration-security-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  color: #bff5e8;
  font-size: 12px;
  font-weight: 800;
  background: rgba(25, 128, 109, .18);
  border: 1px solid rgba(73, 198, 174, .44);
  border-radius: 999px;
}

.migration-security-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-right: 7px;
  background: #4bd1b6;
  border-radius: 999px;
  box-shadow: 0 0 0 4px rgba(75, 209, 182, .1);
}

.migration-summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  margin-bottom: 20px;
  padding: 15px;
  background: linear-gradient(120deg, rgba(24, 111, 98, .18), rgba(15, 29, 41, .72));
  border: 1px solid rgba(71, 180, 161, .28);
  border-radius: 12px;
}

.migration-summary-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #8be5d3;
  background: rgba(35, 153, 133, .16);
  border: 1px solid rgba(82, 201, 179, .3);
  border-radius: 11px;
}

.migration-summary-icon .tool-icon {
  width: 22px;
  height: 22px;
  color: inherit;
}

.migration-summary strong {
  display: block;
  margin: 1px 0 5px;
  font-size: 15px;
}

.migration-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.migration-form {
  padding: 17px;
  background: rgba(7, 17, 27, .58);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.migration-password-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.migration-password-control input:focus {
  border-color: rgba(75, 198, 174, .78);
  box-shadow: 0 0 0 3px rgba(54, 182, 159, .13);
}

.migration-form-help {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.migration-form-help > small {
  max-width: 560px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.migration-visibility-toggle {
  flex: 0 0 auto;
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  color: #d6dee7;
  font-size: 12px;
  background: rgba(20, 34, 47, .9);
  border: 1px solid var(--line);
  border-radius: 9px;
  cursor: pointer;
}

.migration-visibility-toggle input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #36b69f;
}

.migration-message {
  padding: 11px 12px;
  color: #ffd6d6;
  font-size: 13px;
  line-height: 1.4;
  background: rgba(121, 35, 42, .24);
  border: 1px solid rgba(240, 90, 90, .38);
  border-radius: 10px;
}

.migration-message.progress {
  color: #c8e9ff;
  background: rgba(31, 95, 132, .2);
  border-color: rgba(78, 157, 204, .4);
}

.migration-message.success {
  color: #c4f5df;
  background: rgba(27, 119, 89, .2);
  border-color: rgba(61, 190, 146, .4);
}

.migration-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  padding-top: 2px;
}

.migration-download-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  color: #f7fffd;
  font-weight: 800;
  background: #148f7b;
  border: 1px solid #41baa4;
  border-radius: 10px;
  box-shadow: 0 9px 24px rgba(10, 111, 94, .2);
}

.migration-download-button:hover {
  background: #19a189;
  border-color: #6ad2bf;
}

.migration-download-button:disabled {
  color: #aec8c2;
  background: #1b4c45;
  border-color: #396d64;
  box-shadow: none;
  cursor: wait;
}

.migration-download-button:focus-visible,
.migration-visibility-toggle:focus-within {
  outline: none;
  box-shadow: 0 0 0 3px rgba(86, 213, 190, .24);
}

.migration-footnote {
  margin: 13px 2px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.migration-footnote strong {
  color: #e9d190;
}

.treasury-shell .nav-stack a.nav-pill {
  text-decoration: none;
}

.treasury-overview {
  grid-template-columns: repeat(5, minmax(170px, 1fr));
}

.treasury-total {
  display: grid;
  gap: 5px;
  min-height: 54px;
  align-content: center;
  color: var(--text);
  font-family: var(--mono);
  font-size: 19px;
  line-height: 1.3;
}

.treasury-total strong {
  display: block;
  font-size: 20px;
}

.treasury-filters {
  grid-template-columns: minmax(280px, 1.4fr) repeat(6, minmax(135px, .7fr));
}

.treasury-grid {
  display: grid;
  gap: 14px;
}

.treasury-table {
  min-width: 980px;
}

.treasury-movement-table {
  min-width: 1500px;
}

.treasury-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.treasury-form textarea {
  width: 100%;
  padding: 10px 12px;
  color: var(--text);
  resize: vertical;
  background: #07111b;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
}

.full-span {
  grid-column: 1 / -1;
}

.form-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 8px;
}

.treasury-drawer {
  width: min(900px, calc(100vw - 36px));
}

.cashflow-shell .nav-stack a.nav-pill {
  text-decoration: none;
}

.cashflow-overview {
  grid-template-columns: repeat(7, minmax(150px, 1fr));
}

.cashflow-filters {
  grid-template-columns: minmax(260px, 1.3fr) repeat(6, minmax(128px, .7fr));
}

.cashflow-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
  padding: 8px;
  background: rgba(12, 24, 36, .94);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}

.cashflow-tab {
  padding: 9px 12px;
  color: #c6d0dc;
  background: #101d2a;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.cashflow-tab.active {
  color: #fff;
  background: #1d3150;
  border-color: #496dff;
}

.cashflow-pair-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 14px;
}

.cashflow-card {
  padding: 15px;
  background: rgba(12, 24, 36, .94);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.cashflow-card.has-warning {
  border-color: rgba(240,90,90,.55);
  box-shadow: inset 4px 0 0 var(--red), 0 12px 30px rgba(0,0,0,.16);
}

.cashflow-card-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 12px;
}

.cashflow-card-head h3 {
  margin: 0 0 4px;
  font-size: 20px;
}

.cashflow-card-head span {
  color: var(--muted);
}

.cashflow-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.cashbox-main-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.cashbox-balance {
  display: grid;
  gap: 5px;
  min-height: 82px;
  padding: 11px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.cashbox-balance span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cashbox-balance strong {
  font-family: var(--mono);
  font-size: 19px;
}

.cashbox-balance small {
  color: var(--muted);
}

.cashbox-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.cashbox-strip span {
  padding: 7px 9px;
  color: #cbd5e1;
  background: #101d2a;
  border: 1px solid var(--line);
  border-radius: 999px;
}

.cashflow-mini {
  display: grid;
  gap: 5px;
  min-height: 88px;
  padding: 11px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.cashflow-mini span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cashflow-mini strong {
  font-family: var(--mono);
  font-size: 18px;
}

.cashflow-mini small {
  color: var(--muted);
  line-height: 1.35;
}

.cashflow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 12px 0;
}

.cashflow-action,
.side-button.flat {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding: 8px 10px;
  color: #d9e8ff;
  background: #172638;
  border: 1px solid var(--line);
  border-radius: 9px;
}

.cashflow-action span {
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}

.cashflow-action.withdraw { color: #ffce68; background: rgba(246,182,52,.14); border-color: rgba(246,182,52,.45); }
.cashflow-action.deposit { color: #b8d4ff; background: rgba(74,140,255,.15); border-color: rgba(74,140,255,.45); }
.cashflow-action.transfer { color: #d6ccff; background: rgba(143,130,255,.15); border-color: rgba(143,130,255,.45); }
.cashflow-action.settle { color: #ffe1a0; background: rgba(246,182,52,.18); border-color: rgba(246,182,52,.58); }
.cashflow-action.neutral { color: #d9e8ff; background: #172638; border-color: var(--line); }
.cashflow-action.danger { color: #ffb4b4; background: rgba(240,90,90,.16); border-color: rgba(240,90,90,.48); }
.success-button { color: #d9ffe2 !important; background: rgba(72,201,106,.16) !important; border-color: rgba(72,201,106,.45) !important; }

.cashflow-action:hover,
.side-button.flat:hover {
  border-color: #496dff;
  background: #1d3150;
}

.icon-deposit { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 3h2v10l3-3 1.4 1.4L12 16.8l-5.4-5.4L8 10l3 3V3Zm-7 15h16v3H4v-3Z'/%3E%3C/svg%3E"); }
.icon-swap { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 7h11l-3-3 1.4-1.4L22 8l-5.6 5.4L15 12l3-3H7V7Zm10 10H6l3 3-1.4 1.4L2 16l5.6-5.4L9 12l-3 3h11v2Z'/%3E%3C/svg%3E"); }
.icon-convert { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 0 1 8.8 7h-2.1A7 7 0 0 0 7.1 6.1L10 9H3V2l2.6 2.6A9 9 0 0 1 12 3Zm9 12v7l-2.6-2.6A9 9 0 0 1 3.2 14h2.1a7 7 0 0 0 11.6 3.9L14 15h7Z'/%3E%3C/svg%3E"); }
.icon-history { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 3h14v18H5V3Zm3 5h8V6H8v2Zm0 5h8v-2H8v2Zm0 5h5v-2H8v2Z'/%3E%3C/svg%3E"); }
.icon-trash { --icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 21h10l1-13H6l1 13ZM9 4l1-2h4l1 2h5v2H4V4h5Z'/%3E%3C/svg%3E"); }

.cashflow-warnings {
  display: grid;
  gap: 6px;
  margin: 10px 0;
}

.cashflow-warnings span {
  padding: 8px 10px;
  color: #ffb4b4;
  background: rgba(240,90,90,.14);
  border: 1px solid rgba(240,90,90,.35);
  border-radius: 9px;
}

.cashflow-recent h4 {
  margin: 12px 0 8px;
}

.cashflow-tx-line {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) minmax(220px, 1.2fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-top: 1px solid var(--line);
}

.cashflow-tx-line span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  color: var(--muted);
}

.cashflow-tx-line small {
  color: var(--muted);
  font-family: var(--mono);
  text-align: right;
}

.cashflow-bottom {
  grid-template-columns: minmax(360px, .9fr) minmax(520px, 1.35fr);
}

.main-account-grid,
.reconcile-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.main-account-card,
.reconcile-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.main-account-card h3,
.reconcile-card h3 {
  margin: 0 0 4px;
}

.main-account-card span,
.main-account-card small,
.main-account-card p,
.reconcile-card span {
  color: var(--muted);
}

.guided-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.guided-form textarea {
  width: 100%;
  padding: 10px 12px;
  color: var(--text);
  resize: vertical;
  background: #07111b;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
}

.advanced-details {
  grid-column: 1 / -1;
  padding: 10px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.advanced-details summary {
  cursor: pointer;
  color: #d9e8ff;
  font-weight: 800;
}

.advanced-details[open] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cashflow-table {
  min-width: 1180px;
}

.cashflow-drawer {
  width: min(960px, calc(100vw - 36px));
}

.cashflow-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.queue-empty.compact {
  padding: 12px 0;
}

@media (max-width: 1320px) {
  .overview-grid,
  .bottom-grid {
    grid-template-columns: 1fr;
  }

  .money-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .control-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .treasury-overview,
  .treasury-filters,
  .treasury-form,
  .cashflow-overview,
  .cashflow-filters,
  .cashflow-card-grid,
  .cashbox-main-grid,
  .cashflow-pair-grid,
  .cashflow-form,
  .cashflow-bottom,
  .guided-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: relative;
    height: auto;
  }

  .topbar,
  .top-actions {
    display: grid;
  }

  .money-grid,
  .control-panel,
  .detail-grid,
  .donut-wrap,
  .treasury-overview,
  .treasury-filters,
  .treasury-form,
  .cashflow-overview,
  .cashflow-filters,
  .cashflow-card-grid,
  .cashbox-main-grid,
  .cashflow-pair-grid,
  .cashflow-form,
  .cashflow-bottom,
  .guided-form,
  .account-settings-panel,
  .settings-card-grid,
  .settings-link-grid,
  .migration-password-grid,
  .main-account-card,
  .reconcile-card,
  .advanced-details[open] {
    grid-template-columns: 1fr;
  }

  .settings-menu {
    position: static;
  }

  .settings-row {
    display: grid;
  }

  .migration-form-help {
    align-items: flex-start;
  }

  .cashflow-tx-line {
    grid-template-columns: 1fr;
  }

  .cashflow-tx-line small {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .migration-heading,
  .migration-form-help,
  .migration-actions {
    display: grid;
  }

  .migration-security-badge {
    width: max-content;
  }

  .migration-summary {
    grid-template-columns: 1fr;
  }

  .migration-visibility-toggle {
    width: max-content;
  }

  .migration-actions .migration-download-button,
  .migration-actions .ghost-button {
    width: 100%;
  }
}

/* VPS Registry */

body.drawer-open {
  overflow: hidden;
}

.mini-stat.amber span {
  background: var(--amber);
  box-shadow: 0 0 0 5px rgba(246,182,52,.11);
}

.account-shortcut {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 10px 12px;
  color: #d6e3ef;
  font-size: 13px;
  font-weight: 800;
  background: #101f2e;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.account-shortcut:hover {
  color: #fff;
  background: #172b42;
  border-color: rgba(74,140,255,.55);
}

.vps-shell .logout-button {
  margin-top: 10px;
}

.vps-main {
  padding: 24px clamp(18px, 2.1vw, 34px) 34px;
}

.page-kicker {
  margin: 0 0 5px !important;
  color: #7fa6ff !important;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.vps-topbar {
  align-items: center;
  margin-bottom: 18px;
}

.vps-topbar > div:first-child {
  max-width: 760px;
}

.vps-top-actions {
  flex-shrink: 0;
}

.vps-top-actions .primary-button,
.vps-detail-actions .primary-button,
.vps-detail-actions .danger-button {
  min-height: 44px;
  padding-inline: 17px;
  font-weight: 800;
}

.vps-secondary-button {
  color: #dbe7f6;
  background: #142435;
  border-color: #34485f;
}

.vps-security-banner {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 14px;
  padding: 13px 16px;
  color: #dce9f8;
  background:
    linear-gradient(90deg, rgba(55,212,173,.13), rgba(74,140,255,.07)),
    rgba(11, 27, 39, .94);
  border: 1px solid rgba(55,212,173,.34);
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(0,0,0,.13);
}

.vps-security-mark {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  color: #ccffe9;
  font-weight: 900;
  background: rgba(55,212,173,.18);
  border: 1px solid rgba(55,212,173,.43);
  border-radius: 11px;
}

.vps-security-banner strong {
  font-size: 14px;
}

.vps-security-banner p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.vps-overview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.vps-kpi {
  position: relative;
  isolation: isolate;
  min-height: 126px;
  justify-content: center;
  overflow: hidden;
  padding: 18px;
}

.vps-kpi::after {
  position: absolute;
  z-index: -1;
  right: -28px;
  bottom: -48px;
  width: 120px;
  height: 120px;
  content: "";
  background: radial-gradient(circle, rgba(74,140,255,.18), transparent 68%);
  border-radius: 999px;
}

.vps-kpi.due {
  border-color: rgba(246,182,52,.36);
}

.vps-kpi.due::after {
  background: radial-gradient(circle, rgba(246,182,52,.2), transparent 68%);
}

.vps-kpi.danger {
  border-color: rgba(240,90,90,.4);
}

.vps-kpi.danger::after {
  background: radial-gradient(circle, rgba(240,90,90,.22), transparent 68%);
}

.vps-kpi > strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--mono);
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1;
  letter-spacing: -.06em;
}

.vps-kpi.due > strong { color: #ffd06f; }
.vps-kpi.danger > strong { color: #ff9d9d; }

.vps-kpi small {
  color: var(--muted);
  line-height: 1.35;
}

.vps-alert-panel,
.vps-tabs {
  margin-bottom: 14px;
  background: rgba(12,24,36,.94);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}

.vps-alert-panel {
  overflow: hidden;
  border-color: rgba(246,182,52,.32);
}

.vps-section-head {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 15px 17px;
  border-bottom: 1px solid var(--line);
}

.vps-section-head .panel-label {
  margin-bottom: 4px;
}

.vps-section-head h3 {
  margin: 0;
  font-size: 18px;
}

.vps-section-head > span {
  padding: 5px 9px;
  color: #ffe1a0;
  font-size: 11px;
  font-weight: 900;
  background: rgba(246,182,52,.14);
  border: 1px solid rgba(246,182,52,.28);
  border-radius: 999px;
}

.vps-alert-list {
  display: grid;
}

.vps-alert-row {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line-soft);
}

.vps-alert-row:last-child {
  border-bottom: 0;
}

.vps-alert-row.tone-danger {
  background: linear-gradient(90deg, rgba(240,90,90,.11), transparent 62%);
}

.vps-alert-row.tone-warning {
  background: linear-gradient(90deg, rgba(246,182,52,.09), transparent 62%);
}

.vps-alert-icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #ffe2a4;
  font-family: var(--mono);
  font-weight: 900;
  background: rgba(246,182,52,.16);
  border: 1px solid rgba(246,182,52,.38);
  border-radius: 10px;
}

.tone-danger .vps-alert-icon {
  color: #ffd0d0;
  background: rgba(240,90,90,.17);
  border-color: rgba(240,90,90,.42);
}

.vps-alert-row > div:nth-child(2) {
  min-width: 0;
}

.vps-alert-row > div:nth-child(2) strong,
.vps-alert-row > div:nth-child(2) span {
  display: block;
}

.vps-alert-row > div:nth-child(2) span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}

.vps-alert-actions,
.vps-card-actions,
.vps-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.vps-alert-actions button,
.vps-alert-actions a,
.vps-card-actions button,
.credential-row button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 10px;
  color: #dce9f8;
  font-size: 12px;
  font-weight: 800;
  background: #152638;
  border: 1px solid #304359;
  border-radius: 9px;
}

.vps-alert-actions button:last-child,
.vps-alert-actions a:last-child,
.vps-card-actions .renew {
  color: #d9ffe2;
  background: rgba(72,201,106,.13);
  border-color: rgba(72,201,106,.38);
}

.vps-alert-actions button:hover,
.vps-alert-actions a:hover,
.vps-card-actions button:hover,
.credential-row button:hover {
  color: #fff;
  background: #1d3150;
  border-color: #496dff;
}

.vps-tabs {
  display: flex;
  gap: 7px;
  padding: 7px;
}

.vps-tab {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 14px;
  color: #bdc9d6;
  font-weight: 800;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
}

.vps-tab span {
  min-width: 24px;
  padding: 2px 7px;
  color: #9fafc0;
  font-family: var(--mono);
  font-size: 11px;
  background: #1b2a39;
  border-radius: 999px;
}

.vps-tab:hover {
  color: #fff;
  background: rgba(255,255,255,.04);
}

.vps-tab.active {
  color: #fff;
  background: #1c3150;
  border-color: rgba(74,140,255,.53);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.vps-tab.active span {
  color: #d8e5ff;
  background: #2a4671;
}

.vps-filters {
  grid-template-columns: minmax(250px, 1.55fr) repeat(4, minmax(128px, .72fr));
}

.vps-filters.people-mode {
  grid-template-columns: minmax(260px, 620px);
}

.vps-filters.people-mode .field:not(.search-field) {
  display: none;
}

.vps-card-grid,
.people-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 1fr));
  gap: 14px;
}

.vps-card,
.person-card {
  min-width: 0;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(16,30,44,.97), rgba(9,20,31,.98));
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: 0 16px 42px rgba(0,0,0,.22);
}

.vps-card {
  position: relative;
  padding: 16px;
  border-top: 3px solid #69798a;
}

.vps-card.tone-danger {
  border-top-color: var(--red);
  box-shadow: inset 0 3px 30px rgba(240,90,90,.055), 0 16px 42px rgba(0,0,0,.22);
}

.vps-card.tone-warning { border-top-color: var(--amber); }
.vps-card.tone-healthy { border-top-color: var(--green); }

.vps-card-head,
.person-card-head,
.vps-detail-title-row {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
}

.vps-card-head {
  margin-bottom: 13px;
}

.vps-card-title {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.vps-card-title h3,
.person-card-head h3 {
  margin: 0;
  font-size: 19px;
  letter-spacing: -.025em;
}

.vps-card-title p,
.person-card-head p {
  margin: 4px 0 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vps-status-dot {
  width: 9px;
  height: 9px;
  background: #778596;
  border-radius: 999px;
  box-shadow: 0 0 0 4px rgba(119,133,150,.11);
}

.vps-status-dot.active {
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(72,201,106,.12);
}

.vps-status-dot.paused {
  background: var(--amber);
  box-shadow: 0 0 0 4px rgba(246,182,52,.12);
}

.vps-status-dot.cancelled {
  background: var(--red);
  box-shadow: 0 0 0 4px rgba(240,90,90,.12);
}

.vps-due-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 28px;
  max-width: 48%;
  padding: 5px 9px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  border-radius: 999px;
}

.vps-due-badge.danger {
  color: #ffd1d1;
  background: rgba(240,90,90,.16);
  border: 1px solid rgba(240,90,90,.42);
}

.vps-due-badge.warning {
  color: #ffe0a0;
  background: rgba(246,182,52,.14);
  border: 1px solid rgba(246,182,52,.38);
}

.vps-due-badge.healthy {
  color: #baf6c6;
  background: rgba(72,201,106,.13);
  border: 1px solid rgba(72,201,106,.34);
}

.vps-due-badge.muted {
  color: #c0cad5;
  background: rgba(154,166,180,.1);
  border: 1px solid rgba(154,166,180,.26);
}

.vps-access-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) auto minmax(0, .8fr);
  gap: 9px;
  align-items: center;
  padding: 10px;
  background: #08131e;
  border: 1px solid var(--line);
  border-radius: 11px;
}

.vps-access-strip > div {
  min-width: 0;
}

.vps-access-strip span,
.vps-renewal-line span,
.person-contact-grid span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted-2);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vps-access-strip strong,
.vps-renewal-line strong,
.person-contact-grid strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  color: #e5edf7;
  font-family: var(--mono);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vps-access-strip button {
  min-height: 32px;
  padding: 5px 9px;
  color: #bcd3ff;
  font-size: 10px;
  font-weight: 900;
  background: rgba(74,140,255,.1);
  border: 1px solid rgba(74,140,255,.32);
  border-radius: 8px;
}

.vps-broker-grid,
.broker-pair-grid,
.vps-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.vps-broker-grid {
  margin-top: 10px;
}

.vps-broker-slot {
  min-width: 0;
  padding: 11px;
  background: rgba(15,31,46,.88);
  border: 1px solid var(--line);
  border-radius: 11px;
}

.vps-broker-slot.empty {
  color: var(--muted);
  background: rgba(9,20,31,.68);
  border-style: dashed;
}

.vps-broker-slot.empty p {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.vps-broker-head {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.vps-broker-head > strong,
.vps-broker-head h4 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.broker-side {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 25px;
  height: 25px;
  color: #dce8ff;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 900;
  background: rgba(74,140,255,.18);
  border: 1px solid rgba(74,140,255,.42);
  border-radius: 8px;
}

.broker-side.side-b {
  color: #d9ffe2;
  background: rgba(72,201,106,.15);
  border-color: rgba(72,201,106,.4);
}

.vps-broker-person {
  display: flex;
  gap: 7px;
  align-items: baseline;
  justify-content: space-between;
  margin: 10px 0;
  min-width: 0;
}

.vps-broker-person span,
.vps-broker-person small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vps-broker-person span {
  color: #e8eef6;
  font-size: 12px;
  font-weight: 800;
}

.vps-broker-person small {
  color: var(--muted);
  font-size: 10px;
}

.vps-mini-rows {
  display: grid;
  gap: 5px;
}

.vps-mini-rows > span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px;
  color: var(--muted-2);
  font-size: 10px;
}

.vps-mini-rows strong {
  overflow: hidden;
  color: #bac7d5;
  font-family: var(--mono);
  font-weight: 600;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vps-renewal-line {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
  padding: 10px 2px 0;
  border-top: 1px solid var(--line-soft);
}

.vps-card-actions {
  justify-content: flex-end;
  margin: 13px -16px -16px;
  padding: 11px 16px;
  background: rgba(5,14,23,.48);
  border-top: 1px solid var(--line);
}

.person-card {
  display: flex;
  flex-direction: column;
  padding: 16px;
}

.person-card.archived {
  opacity: .7;
}

.person-card-head {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
}

.person-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  color: #dce7ff;
  font-size: 18px;
  font-weight: 900;
  background: linear-gradient(145deg, #254e85, #183153);
  border: 1px solid rgba(111,157,255,.38);
  border-radius: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}

.person-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}

.person-contact-grid > div {
  min-width: 0;
  padding: 10px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.person-assignments {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.person-assignments > span {
  padding: 8px 10px;
  color: #bac5d2;
  font-size: 11px;
  line-height: 1.35;
  background: rgba(14,29,43,.72);
  border: 1px solid var(--line-soft);
  border-radius: 8px;
}

.person-notes,
.detail-note {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.5;
  white-space: pre-wrap;
}

.person-card .vps-card-actions {
  margin-top: auto;
  padding-top: 13px;
}

.vps-empty {
  display: grid;
  place-items: center;
  min-height: 330px;
  padding: 36px 20px;
  text-align: center;
  background: rgba(12,24,36,.82);
  border: 1px dashed #344658;
  border-radius: var(--radius-lg);
}

.vps-empty > span {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  color: #98b8ff;
  font-family: var(--mono);
  font-weight: 900;
  background: rgba(74,140,255,.11);
  border: 1px solid rgba(74,140,255,.29);
  border-radius: 17px;
}

.vps-empty h3 {
  margin: 16px 0 0;
  font-size: 22px;
}

.vps-empty p {
  max-width: 440px;
  margin: 8px 0 18px;
  color: var(--muted);
  line-height: 1.5;
}

.vps-drawer {
  width: min(1040px, calc(100vw - 36px));
  padding-bottom: 22px;
  overscroll-behavior: contain;
}

.vps-drawer[data-mode="detail"] {
  width: min(900px, calc(100vw - 36px));
}

.vps-editor-form {
  display: grid;
  gap: 14px;
}

.vps-form-section {
  min-width: 0;
  padding: 15px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 14px;
}

.vps-form-section-head {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 13px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--line);
}

.vps-form-section-head > div {
  display: flex;
  gap: 9px;
  align-items: center;
  min-width: 0;
}

.vps-form-section-head h4 {
  margin: 0;
  font-size: 15px;
}

.vps-form-section-head small {
  color: var(--muted);
  text-align: right;
}

.section-number {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #bcd1ff;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 900;
  background: rgba(74,140,255,.14);
  border: 1px solid rgba(74,140,255,.33);
  border-radius: 9px;
}

.vps-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.broker-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.renewal-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.vps-editor-form textarea {
  width: 100%;
  padding: 10px 12px;
  color: var(--text);
  line-height: 1.45;
  resize: vertical;
  background: #07111b;
  border: 1px solid var(--line);
  border-radius: 9px;
  outline: none;
}

.vps-editor-form textarea:focus,
.vps-editor-form input:focus,
.vps-editor-form select:focus,
.vps-secret-form input:focus {
  border-color: rgba(74,140,255,.76);
  box-shadow: 0 0 0 3px rgba(74,140,255,.12);
}

.vps-editor-form .field > small {
  color: var(--muted-2);
  font-size: 10px;
  line-height: 1.35;
}

.vps-clear-secret {
  display: flex;
  gap: 8px;
  align-items: center;
  align-self: end;
  min-height: 40px;
  padding: 8px 10px;
  color: #c2ccd8;
  font-size: 11px;
  background: rgba(240,90,90,.055);
  border: 1px solid rgba(240,90,90,.18);
  border-radius: 9px;
}

.vps-clear-secret input {
  width: 16px;
  height: 16px;
  accent-color: var(--red);
}

.broker-pair-grid {
  align-items: start;
}

.broker-pair-section {
  background: linear-gradient(145deg, #091522, #0b1825);
}

.vps-form-grid .compact-field {
  min-width: 0;
}

.broker-form-section {
  height: 100%;
  background: #0d1b29;
}

.vps-form-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
  align-items: center;
  margin-bottom: 14px;
  padding: 12px 14px;
  color: #dce8f6;
  background: rgba(246,182,52,.09);
  border: 1px solid rgba(246,182,52,.31);
  border-radius: 12px;
}

.vps-form-notice span {
  grid-column: 1;
  color: var(--muted);
  font-size: 12px;
}

.vps-form-notice button {
  grid-column: 2;
  grid-row: 1 / 3;
  margin: 0;
}

.person-editor-form {
  max-width: 720px;
}

.vps-sticky-actions {
  position: sticky;
  z-index: 3;
  bottom: -22px;
  margin: 0 -22px -22px;
  padding: 16px 22px 22px;
  background: linear-gradient(180deg, rgba(12,24,36,.72), #0c1824 28%);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(12px);
}

.vps-sticky-actions button {
  min-width: 126px;
  min-height: 43px;
  font-weight: 800;
}

.vps-detail-title-row {
  margin-bottom: 14px;
}

.vps-detail-title-row > div {
  min-width: 0;
}

.vps-detail-actions {
  margin-bottom: 14px;
  padding: 11px;
  background: #091522;
  border: 1px solid var(--line);
  border-radius: 12px;
}

.vps-access-detail,
.vps-renewal-detail,
.vps-detail-grid {
  margin-bottom: 14px;
}

.vps-detail-broker {
  min-width: 0;
}

.credential-row {
  display: grid;
  grid-template-columns: minmax(126px, .65fr) minmax(0, 1.35fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 46px;
  padding: 8px 0;
  border-bottom: 1px dashed var(--line);
}

.credential-row:last-child {
  border-bottom: 0;
}

.credential-row > span {
  color: var(--muted);
  font-size: 12px;
}

.credential-row > strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: #e8eef6;
  font-family: var(--mono);
  font-size: 12px;
}

.credential-row > div {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.credential-row button:disabled {
  cursor: default;
  opacity: .5;
}

.vps-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(9px);
}

.vps-secret-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 80;
  width: min(520px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 23px;
  color: var(--text);
  background: #0c1824;
  border: 1px solid #3a5067;
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(0,0,0,.58);
  transform: translate(-50%, -50%);
}

.vps-secret-modal h3 {
  margin: 0;
  font-size: 25px;
}

.vps-modal-copy {
  margin: 8px 0 18px;
  color: var(--muted);
  line-height: 1.5;
}

.vps-secret-form {
  display: grid;
  gap: 14px;
}

.vps-revealed-secret {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 12px;
  align-items: center;
  padding: 13px;
  background: rgba(72,201,106,.08);
  border: 1px solid rgba(72,201,106,.28);
  border-radius: 12px;
}

.vps-revealed-secret > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vps-revealed-secret code {
  grid-column: 1;
  overflow-wrap: anywhere;
  color: #d9ffe2;
  font-size: 15px;
}

.vps-revealed-secret button {
  grid-column: 2;
  grid-row: 1 / 3;
  margin: 0;
}

.toast[data-tone="success"] {
  background: #113929;
  border-color: rgba(72,201,106,.45);
}

.toast[data-tone="error"] {
  background: #522129;
  border-color: rgba(240,90,90,.5);
}

.vps-shell button:focus-visible,
.vps-shell a:focus-visible,
.vps-secret-modal button:focus-visible {
  outline: 3px solid rgba(92,142,255,.46);
  outline-offset: 2px;
}

.vps-shell button:disabled,
.vps-secret-modal button:disabled {
  cursor: wait;
  opacity: .65;
}

@media (max-width: 1320px) {
  .vps-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-filters .search-field {
    grid-column: 1 / -1;
  }

  .vps-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-filters.people-mode {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .vps-shell {
    width: 100%;
    min-width: 0;
  }

  .vps-shell .sidebar {
    position: sticky;
    top: 0;
    z-index: 18;
    width: 100%;
    min-width: 0;
    height: auto;
    padding: 10px 12px 9px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 10px 26px rgba(0,0,0,.28);
  }

  .vps-shell .brand {
    min-height: 43px;
    padding: 0 88px 0 0;
  }

  .vps-shell .brand-logo {
    width: 39px;
    height: 43px;
    padding: 3px;
    border-radius: 11px;
  }

  .vps-shell .brand h1 {
    font-size: 15px;
  }

  .vps-shell .brand p {
    font-size: 11px;
  }

  .vps-shell .nav-stack {
    display: flex;
    gap: 6px;
    margin: 8px -12px 0;
    padding: 0 12px 3px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .vps-shell .nav-pill {
    flex: 0 0 auto;
    grid-template-columns: 20px auto auto;
    width: auto;
    min-width: 148px;
    padding: 9px 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
  }

  .vps-shell .nav-pill:hover,
  .vps-shell .nav-pill.active {
    border-color: #496dff;
  }

  .vps-shell .vps-side-alerts,
  .vps-shell .vps-security-note {
    display: none;
  }

  .vps-shell .account-shortcut {
    position: absolute;
    top: 7px;
    right: 76px;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: transparent;
    border-radius: 9px;
  }

  .vps-shell .account-shortcut::before {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    content: "⚙";
    color: #d9e8ff;
    font-size: 14px;
  }

  .vps-shell .logout-button {
    position: absolute;
    top: 7px;
    right: 12px;
    width: auto;
    min-height: 40px;
    margin: 0;
    padding: 8px 10px;
    font-size: 11px;
    background: #101f2e;
    border: 1px solid var(--line);
    border-radius: 9px;
  }

  .vps-main {
    padding: 17px 16px 28px;
  }

  .vps-topbar,
  .vps-top-actions {
    display: grid;
  }

  .vps-top-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .vps-top-actions .primary-button {
    width: 100%;
  }

  .vps-security-banner {
    align-items: start;
  }

  .vps-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-kpi {
    min-height: 112px;
  }

  .vps-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-card-grid,
  .people-card-grid,
  .vps-broker-grid,
  .broker-pair-grid,
  .vps-detail-grid {
    grid-template-columns: 1fr;
  }

  .vps-alert-row {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .vps-alert-actions {
    grid-column: 2;
  }

  .vps-drawer,
  .vps-drawer[data-mode="detail"] {
    inset: 8px;
    width: auto;
    padding: 20px;
    border-radius: 16px;
  }

  .vps-form-grid,
  .renewal-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .broker-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-sticky-actions {
    bottom: -20px;
    margin: 0 -20px -20px;
    padding: 15px 20px 20px;
  }
}

@media (max-width: 560px) {
  .vps-shell .brand {
    padding-right: 82px;
  }

  .vps-shell .brand-copy p {
    display: none;
  }

  .vps-shell .nav-stack {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }

  .vps-shell .nav-pill {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 6px;
    width: 100%;
    min-width: 0;
    padding-inline: 7px;
  }

  .vps-shell .nav-pill strong {
    display: none;
  }

  .vps-main {
    padding: 14px 12px 24px;
  }

  .vps-topbar {
    gap: 14px;
  }

  .vps-topbar h2 {
    font-size: 28px;
  }

  .vps-topbar > div:first-child > p:last-child {
    font-size: 13px;
    line-height: 1.4;
  }

  .vps-top-actions {
    gap: 8px;
  }

  .vps-top-actions .primary-button {
    padding-inline: 10px;
  }

  .vps-security-banner {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 9px;
    padding: 11px;
  }

  .vps-security-mark {
    width: 29px;
    height: 29px;
    border-radius: 9px;
  }

  .vps-overview {
    gap: 9px;
  }

  .vps-kpi {
    min-height: 104px;
    padding: 13px;
  }

  .vps-kpi .panel-label {
    font-size: 9px;
  }

  .vps-kpi > strong {
    font-size: 30px;
  }

  .vps-kpi small {
    font-size: 10px;
  }

  .vps-section-head {
    align-items: flex-start;
    padding: 13px;
  }

  .vps-alert-row {
    padding: 12px;
  }

  .vps-alert-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .vps-alert-actions button {
    min-height: 40px;
  }

  .vps-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-tab {
    min-width: 0;
    padding-inline: 8px;
    font-size: 12px;
  }

  .vps-filters,
  .vps-filters.people-mode {
    grid-template-columns: 1fr;
  }

  .vps-filters .search-field {
    grid-column: auto;
  }

  .vps-card,
  .person-card {
    border-radius: 14px;
  }

  .vps-card-head {
    gap: 9px;
  }

  .vps-due-badge {
    max-width: 44%;
  }

  .vps-access-strip {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .vps-access-strip > div:last-child {
    grid-column: 1 / -1;
    padding-top: 8px;
    border-top: 1px solid var(--line-soft);
  }

  .vps-renewal-line {
    grid-template-columns: 1fr;
  }

  .vps-renewal-line > div {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
  }

  .vps-renewal-line span {
    margin: 0;
  }

  .vps-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-card-actions .renew {
    grid-column: 1 / -1;
  }

  .vps-card-actions button {
    min-height: 41px;
  }

  .person-card-head {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 10px;
  }

  .person-avatar {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .person-contact-grid {
    grid-template-columns: 1fr;
  }

  .vps-drawer,
  .vps-drawer[data-mode="detail"] {
    inset: 0;
    padding: 17px 15px;
    border: 0;
    border-radius: 0;
  }

  .vps-drawer .drawer-title {
    padding-right: 68px;
    font-size: 26px;
  }

  .vps-form-section {
    padding: 13px;
  }

  .vps-form-section-head {
    display: grid;
    gap: 5px;
  }

  .vps-form-section-head small {
    padding-left: 37px;
    text-align: left;
  }

  .vps-form-grid,
  .renewal-form-grid,
  .broker-form-grid {
    grid-template-columns: 1fr;
  }

  .vps-form-notice {
    grid-template-columns: 1fr;
  }

  .vps-form-notice span,
  .vps-form-notice button {
    grid-column: 1;
    grid-row: auto;
  }

  .vps-form-notice button {
    width: 100%;
  }

  .vps-sticky-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    bottom: -17px;
    margin: 0 -15px -17px;
    padding: 13px 15px calc(17px + env(safe-area-inset-bottom));
  }

  .vps-sticky-actions button {
    min-width: 0;
  }

  .vps-detail-title-row {
    display: grid;
  }

  .vps-detail-title-row .vps-due-badge {
    max-width: 100%;
    width: fit-content;
  }

  .vps-detail-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-detail-actions .danger-button {
    grid-column: 1 / -1;
  }

  .credential-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 9px;
  }

  .credential-row > span,
  .credential-row > strong {
    grid-column: 1;
  }

  .credential-row > div {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
  }

  .vps-secret-modal {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    padding: 18px;
    border-radius: 15px;
  }

  .vps-revealed-secret {
    grid-template-columns: 1fr;
  }

  .vps-revealed-secret code,
  .vps-revealed-secret button {
    grid-column: 1;
    grid-row: auto;
  }

  .vps-revealed-secret button {
    width: 100%;
  }

  .toast {
    right: 12px;
    bottom: 12px;
    left: 12px;
    max-width: none;
  }
}

@media (max-width: 360px) {
  .vps-shell .nav-pill {
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 4px;
    font-size: 11px;
    text-align: center;
  }

  .vps-shell .nav-pill .nav-icon {
    display: none;
  }
}

/* Unified workspace navigation and dashboard infrastructure summary */

.sidebar:has(.sidebar-primary-nav) {
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #2b4055 transparent;
}

.sidebar-primary-nav {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.sidebar-primary-link {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  min-height: 46px;
  padding: 7px 10px;
  overflow: hidden;
  color: #bdc9d7;
  font-size: 14px;
  font-weight: 750;
  border: 1px solid transparent;
  border-radius: 11px;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.nav-pill.sidebar-primary-link {
  grid-template-columns: 32px minmax(0, 1fr) auto;
}

.sidebar-primary-link::after {
  position: absolute;
  top: 9px;
  bottom: 9px;
  left: 0;
  width: 3px;
  content: "";
  background: transparent;
  border-radius: 0 3px 3px 0;
}

.sidebar-primary-link .tool-icon,
.sidebar-primary-link .nav-icon {
  width: 32px;
  height: 32px;
  color: #9eb9e8;
  background: rgba(74,140,255,.09);
  border: 1px solid rgba(117,157,224,.18);
  border-radius: 10px;
}

.sidebar-primary-link .tool-icon::before,
.sidebar-primary-link .nav-icon::before {
  width: 14px;
  height: 14px;
}

.sidebar-primary-link:hover {
  color: #fff;
  background: rgba(25,46,68,.72);
  border-color: rgba(91,129,171,.3);
  transform: translateX(1px);
}

.sidebar-primary-link.active,
.sidebar-primary-link[aria-current="page"] {
  color: #fff;
  background: linear-gradient(100deg, rgba(42,78,139,.72), rgba(20,42,66,.8));
  border-color: rgba(86,132,226,.44);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 10px 24px rgba(0,0,0,.15);
}

.sidebar-primary-link.active::after,
.sidebar-primary-link[aria-current="page"]::after {
  background: #5c8eff;
  box-shadow: 0 0 14px rgba(92,142,255,.58);
}

.sidebar-primary-link.active .tool-icon,
.sidebar-primary-link.active .nav-icon,
.sidebar-primary-link[aria-current="page"] .tool-icon,
.sidebar-primary-link[aria-current="page"] .nav-icon {
  color: #dce8ff;
  background: rgba(74,140,255,.2);
  border-color: rgba(114,156,244,.38);
}

.sidebar-primary-link:focus-visible,
.dashboard-views-toggle:focus-visible,
.vps-dashboard-link:focus-visible,
.vps-dashboard-alert:focus-visible {
  outline: 3px solid rgba(92,142,255,.48);
  outline-offset: 2px;
}

.dashboard-views {
  min-width: 0;
  margin-top: 13px;
  overflow: hidden;
  background: rgba(9,24,37,.82);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.dashboard-views[open] {
  border-color: rgba(85,127,178,.5);
  box-shadow: 0 14px 34px rgba(0,0,0,.2);
}

.dashboard-views-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 27px;
  gap: 10px;
  align-items: center;
  min-height: 51px;
  padding: 9px 10px 9px 12px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.dashboard-views-toggle::-webkit-details-marker {
  display: none;
}

.dashboard-views-toggle > span:first-child {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.dashboard-views-toggle small {
  color: #6f8398;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.dashboard-views-toggle strong {
  overflow: hidden;
  color: #e7eef8;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-views-chevron {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  color: #a9c2ef;
  font-family: var(--mono);
  font-size: 17px;
  font-weight: 500;
  background: rgba(74,140,255,.09);
  border: 1px solid rgba(100,143,209,.22);
  border-radius: 8px;
  transition: color .16s ease, background-color .16s ease, transform .16s ease;
}

.dashboard-views[open] .dashboard-views-chevron {
  color: #fff;
  background: rgba(74,140,255,.22);
  transform: rotate(45deg);
}

.dashboard-view-options.nav-stack {
  gap: 3px;
  margin: 0;
  padding: 6px;
  border-top: 1px solid var(--line);
}

.dashboard-view-options .nav-pill {
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 8px;
  min-height: 39px;
  padding: 7px 7px;
  font-size: 12px;
  border: 1px solid transparent;
  border-radius: 9px;
}

.dashboard-view-options .nav-pill:hover,
.dashboard-view-options .nav-pill.active {
  background: rgba(39,71,119,.58);
  border-color: rgba(73,109,255,.34);
}

.dashboard-view-options .nav-pill strong {
  min-width: 22px;
  padding-inline: 6px;
  font-family: var(--mono);
  font-size: 10px;
}

.sidebar-secondary-links {
  margin-top: 13px;
}

.dashboard-view-heading {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.dashboard-view-heading .panel-label {
  margin: 0;
  color: #7f9fca;
}

.dashboard-view-heading h3 {
  margin: 0;
}

.dashboard-view-heading > p:last-child {
  margin: 1px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.vps-dashboard-panel {
  position: relative;
  isolation: isolate;
  min-width: 0;
  margin-bottom: 14px;
  overflow: hidden;
  padding: 17px;
  background:
    radial-gradient(circle at 92% 0%, rgba(74,140,255,.13), transparent 24rem),
    linear-gradient(145deg, rgba(13,29,43,.98), rgba(8,20,31,.98));
  border: 1px solid #2a3d50;
  border-radius: var(--radius-lg);
  box-shadow: 0 16px 42px rgba(0,0,0,.2);
}

.vps-dashboard-panel::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 18px;
  width: 118px;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, #4a8cff, #37d4ad, transparent);
}

.vps-dashboard-panel > *,
.vps-dashboard-panel a,
.vps-dashboard-panel span {
  min-width: 0;
}

.vps-dashboard-head {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

.vps-dashboard-head h3 {
  margin: 0;
  font-size: 22px;
  letter-spacing: -.035em;
}

.vps-dashboard-head > div > p:last-child {
  max-width: 690px;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.vps-dashboard-link {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 9px;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 12px;
  color: #d9e6ff;
  font-size: 12px;
  font-weight: 850;
  background: rgba(74,140,255,.11);
  border: 1px solid rgba(74,140,255,.36);
  border-radius: 10px;
}

.vps-dashboard-link:hover {
  color: #fff;
  background: rgba(74,140,255,.21);
  border-color: rgba(97,149,255,.65);
}

.vps-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.vps-dashboard-metric {
  position: relative;
  min-width: 0;
  min-height: 104px;
  overflow: hidden;
  padding: 13px;
  background: linear-gradient(145deg, rgba(18,35,50,.95), rgba(12,26,39,.92));
  border: 1px solid rgba(114,140,168,.16);
  border-radius: 12px;
}

.vps-dashboard-metric::after {
  position: absolute;
  right: -28px;
  bottom: -45px;
  width: 100px;
  height: 100px;
  content: "";
  background: radial-gradient(circle, rgba(74,140,255,.16), transparent 69%);
  border-radius: 999px;
}

.vps-dashboard-metric.warning {
  border-color: rgba(246,182,52,.28);
}

.vps-dashboard-metric.warning::after {
  background: radial-gradient(circle, rgba(246,182,52,.17), transparent 69%);
}

.vps-dashboard-metric.danger {
  border-color: rgba(240,90,90,.3);
}

.vps-dashboard-metric.danger::after {
  background: radial-gradient(circle, rgba(240,90,90,.18), transparent 69%);
}

.vps-dashboard-metric > span {
  display: block;
  margin-bottom: 8px;
  color: #8e9ead;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.vps-dashboard-metric > strong {
  position: relative;
  z-index: 1;
  display: block;
  overflow-wrap: anywhere;
  color: #f2f6fb;
  font-family: var(--mono);
  font-size: 29px;
  line-height: 1;
  letter-spacing: -.06em;
}

.vps-dashboard-metric.warning > strong {
  color: #ffd172;
}

.vps-dashboard-metric.danger > strong {
  color: #ff9f9f;
}

.vps-dashboard-metric > strong small {
  color: #7e8d9e;
  font-size: .58em;
  letter-spacing: -.03em;
}

.vps-dashboard-metric > p {
  position: relative;
  z-index: 1;
  margin: 7px 0 0;
  color: #748596;
  font-size: 10px;
}

.vps-dashboard-renewals {
  margin-top: 11px;
  padding: 12px;
  background: rgba(5,15,24,.5);
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 13px;
}

.vps-dashboard-renewals-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 9px;
}

.vps-dashboard-renewals-head h4 {
  margin: 0;
  font-size: 13px;
}

.vps-dashboard-renewals-head > span {
  color: #8695a5;
  font-family: var(--mono);
  font-size: 10px;
}

.vps-dashboard-alerts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
  gap: 8px;
  min-width: 0;
}

.vps-dashboard-alert {
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  color: #dbe4ee;
  background: rgba(16,31,45,.82);
  border: 1px solid var(--line-soft);
  border-radius: 10px;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.vps-dashboard-alert:hover {
  background: rgba(24,43,62,.95);
  border-color: rgba(91,129,171,.45);
  transform: translateY(-1px);
}

.vps-dashboard-alert-status {
  grid-row: 1 / 3;
  align-self: stretch;
  width: 4px;
  min-height: 38px;
  background: var(--amber);
  border-radius: 999px;
  box-shadow: 0 0 12px rgba(246,182,52,.35);
}

.vps-dashboard-alert.overdue .vps-dashboard-alert-status,
.vps-dashboard-alert.due_today .vps-dashboard-alert-status {
  background: var(--red);
  box-shadow: 0 0 12px rgba(240,90,90,.42);
}

.vps-dashboard-alert-copy,
.vps-dashboard-alert-due {
  grid-column: 2;
  display: flex;
  gap: 8px;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
}

.vps-dashboard-alert-copy strong,
.vps-dashboard-alert-copy small,
.vps-dashboard-alert-due strong,
.vps-dashboard-alert-due small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vps-dashboard-alert-copy strong {
  color: #eef3f9;
  font-size: 12px;
}

.vps-dashboard-alert-copy small,
.vps-dashboard-alert-due small {
  color: #718294;
  font-size: 9px;
}

.vps-dashboard-alert-due strong {
  color: #ffd27b;
  font-size: 10px;
}

.vps-dashboard-alert.overdue .vps-dashboard-alert-due strong,
.vps-dashboard-alert.due_today .vps-dashboard-alert-due strong {
  color: #ffabab;
}

.vps-dashboard-message {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px;
  color: #9cabb9;
  font-size: 12px;
  line-height: 1.45;
  background: rgba(15,30,44,.66);
  border: 1px dashed #304255;
  border-radius: 10px;
}

.vps-dashboard-message.error {
  color: #ffc3c3;
  background: rgba(90,29,36,.22);
  border-color: rgba(240,90,90,.34);
}

.vps-dashboard-empty,
.vps-dashboard-clear {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 12px;
  align-items: center;
}

.vps-dashboard-empty strong,
.vps-dashboard-clear strong {
  color: #dce7f3;
}

.vps-dashboard-empty span,
.vps-dashboard-clear span {
  grid-column: 1;
  color: #8292a2;
}

.vps-dashboard-empty a {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  padding: 8px 10px;
  color: #cddcff;
  font-weight: 800;
  background: rgba(74,140,255,.1);
  border: 1px solid rgba(74,140,255,.3);
  border-radius: 8px;
}

.vps-dashboard-clear {
  border-style: solid;
  border-color: rgba(72,201,106,.2);
  background: rgba(72,201,106,.055);
}

/* People-first VPS assignment */

.vps-tab[data-flow-step]::before {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 23px;
  height: 23px;
  content: attr(data-flow-step);
  color: #9db9ee;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 900;
  background: rgba(74,140,255,.08);
  border: 1px solid rgba(99,143,216,.25);
  border-radius: 8px;
}

.vps-tab[data-flow-step].active::before {
  color: #e9f0ff;
  background: rgba(74,140,255,.24);
  border-color: rgba(103,150,246,.52);
}

.vps-tab-step {
  color: #6f8296;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.vps-tab.active .vps-tab-step {
  color: #9fbcf5;
}

.people-first-notice {
  background: linear-gradient(100deg, rgba(55,212,173,.1), rgba(74,140,255,.08));
  border-color: rgba(55,212,173,.32);
}

.people-first-notice strong {
  color: #aef2d5;
}

.broker-person-field {
  padding: 10px;
  background: rgba(74,140,255,.055);
  border: 1px solid rgba(74,140,255,.19);
  border-radius: 11px;
}

.broker-person-field > span {
  color: #b9cdf8;
}

.broker-person-field select[data-broker-contact-select] {
  border-color: rgba(85,133,215,.5);
}

.broker-contact-preview {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 12px;
  overflow: hidden;
  border-radius: 12px;
}

.broker-contact-preview.is-assigned {
  background:
    radial-gradient(circle at 100% 0%, rgba(55,212,173,.09), transparent 12rem),
    rgba(9,26,35,.88);
  border: 1px solid rgba(55,212,173,.27);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.broker-contact-preview.is-unassigned {
  color: #8898a9;
  background: rgba(8,19,29,.55);
  border: 1px dashed #334658;
}

.broker-contact-preview-head {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.broker-contact-avatar {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 38px;
  height: 38px;
  color: #d8fff0;
  font-size: 15px;
  font-weight: 900;
  background: linear-gradient(145deg, rgba(31,110,88,.92), rgba(30,67,82,.95));
  border: 1px solid rgba(87,214,177,.37);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
}

.broker-contact-preview-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.broker-contact-preview-copy small {
  color: #6aa991;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.broker-contact-preview-copy strong {
  overflow: hidden;
  color: #e4edf5;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.broker-contact-preview-copy > span {
  color: #8292a3;
  font-size: 11px;
  line-height: 1.45;
}

.broker-contact-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 11px 0 0;
}

.broker-contact-details > div {
  min-width: 0;
  padding: 8px 9px;
  background: rgba(5,16,24,.58);
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 9px;
}

.broker-contact-details dt {
  margin-bottom: 3px;
  color: #687b8d;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.broker-contact-details dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #bdc9d6;
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1.4;
}

.broker-contact-helper {
  margin: 9px 0 0;
  color: #6c9e8c;
  font-size: 10px;
  line-height: 1.4;
}

@media (max-width: 1200px) {
  .vps-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-dashboard-alerts {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  }
}

@media (max-width: 900px) {
  .app-shell:has(.sidebar-primary-nav) .sidebar {
    position: sticky;
    top: 0;
    z-index: 18;
    width: 100%;
    height: auto;
    max-height: 100vh;
    padding: 10px 12px 9px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 10px 26px rgba(0,0,0,.28);
  }

  .app-shell:has(.sidebar-primary-nav) .brand {
    min-height: 43px;
    padding: 0 112px 0 0;
  }

  .app-shell:has(.sidebar-primary-nav) .brand-logo {
    width: 39px;
    height: 43px;
    padding: 3px;
    border-radius: 11px;
  }

  .app-shell:has(.sidebar-primary-nav) .brand h1 {
    font-size: 15px;
  }

  .app-shell:has(.sidebar-primary-nav) .brand p {
    font-size: 11px;
  }

  .sidebar-primary-nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 7px;
  }

  .sidebar-primary-link {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 7px;
    min-height: 42px;
    padding: 5px 7px;
    font-size: 12px;
  }

  .nav-pill.sidebar-primary-link {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .nav-pill.sidebar-primary-link > strong {
    display: none;
  }

  .sidebar-primary-link .tool-icon,
  .sidebar-primary-link .nav-icon {
    width: 24px;
    height: 28px;
    border-radius: 8px;
  }

  .sidebar-primary-link .tool-icon::before,
  .sidebar-primary-link .nav-icon::before {
    width: 12px;
    height: 12px;
  }

  .dashboard-views {
    margin-top: 7px;
  }

  .dashboard-views-toggle {
    min-height: 42px;
    padding-block: 6px;
  }

  .dashboard-view-options.nav-stack {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .dashboard-view-options .nav-pill {
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: center;
    min-width: 0;
    padding: 7px;
    text-align: center;
    border-left-width: 1px;
  }

  .dashboard-view-options .nav-icon {
    display: none;
  }

  .app-shell:has(.sidebar-primary-nav) .side-card {
    display: none;
  }

  .app-shell:has(.sidebar-primary-nav) .sidebar-secondary-links {
    position: absolute;
    top: 8px;
    right: 68px;
    margin: 0;
    padding: 0;
    border: 0;
  }

  .app-shell:has(.sidebar-primary-nav) .sidebar-secondary-links .sidebar-label {
    display: none;
  }

  .app-shell:has(.sidebar-primary-nav) .sidebar-secondary-links a {
    width: 38px;
    height: 38px;
    padding: 0;
    overflow: hidden;
    color: transparent;
    background: #101f2e;
    border: 1px solid var(--line);
    border-radius: 9px;
  }

  .app-shell:has(.sidebar-primary-nav) .sidebar-secondary-links .tool-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    color: #cddbf1;
  }

  .app-shell:has(.sidebar-primary-nav) .logout-button {
    position: absolute;
    top: 8px;
    right: 12px;
    width: auto;
    min-height: 38px;
    margin: 0;
    padding: 7px 9px;
    font-size: 10px;
    background: #101f2e;
    border: 1px solid var(--line);
    border-radius: 9px;
  }

  .vps-dashboard-head {
    align-items: center;
  }

  .vps-dashboard-alerts {
    grid-template-columns: 1fr;
  }

  .broker-contact-preview {
    padding: 11px;
  }
}

@media (max-width: 560px) {
  .app-shell:has(.sidebar-primary-nav) .brand {
    padding-right: 104px;
  }

  .app-shell:has(.sidebar-primary-nav) .brand-copy p {
    display: none;
  }

  .sidebar-primary-nav {
    gap: 5px;
  }

  .sidebar-primary-link {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 5px;
    min-height: 40px;
    padding: 4px 6px;
    font-size: 10.5px;
    line-height: 1.15;
  }

  .nav-pill.sidebar-primary-link {
    grid-template-columns: 18px minmax(0, 1fr);
  }

  .sidebar-primary-link .tool-icon,
  .sidebar-primary-link .nav-icon {
    width: 18px;
    height: 25px;
    background: transparent;
    border: 0;
  }

  .sidebar-primary-link::after {
    top: 7px;
    bottom: 7px;
  }

  .dashboard-views-toggle {
    grid-template-columns: minmax(0, 1fr) 25px;
    min-height: 40px;
    padding: 6px 8px 6px 10px;
  }

  .dashboard-views-chevron {
    width: 25px;
    height: 25px;
  }

  .dashboard-view-options.nav-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-view-options .nav-pill[data-nav-filter="all"] {
    grid-column: 1 / -1;
  }

  .dashboard-view-options .nav-pill {
    min-height: 38px;
    font-size: 10.5px;
  }

  .dashboard-view-heading > p:last-child {
    font-size: 11px;
  }

  .vps-dashboard-panel {
    padding: 13px;
    border-radius: 15px;
  }

  .vps-dashboard-head {
    display: grid;
    gap: 11px;
  }

  .vps-dashboard-head h3 {
    font-size: 20px;
  }

  .vps-dashboard-link {
    width: 100%;
    min-height: 42px;
  }

  .vps-dashboard-metrics {
    gap: 8px;
  }

  .vps-dashboard-metric {
    min-height: 98px;
    padding: 11px;
  }

  .vps-dashboard-metric > strong {
    font-size: 25px;
  }

  .vps-dashboard-metric > p {
    font-size: 9px;
    line-height: 1.25;
  }

  .vps-dashboard-renewals {
    padding: 10px;
  }

  .vps-dashboard-renewals-head {
    align-items: flex-start;
  }

  .vps-dashboard-renewals-head > span {
    max-width: 52%;
    text-align: right;
    white-space: normal;
  }

  .vps-dashboard-alert-copy,
  .vps-dashboard-alert-due {
    display: grid;
    gap: 2px;
  }

  .vps-dashboard-alert-copy strong,
  .vps-dashboard-alert-copy small,
  .vps-dashboard-alert-due strong,
  .vps-dashboard-alert-due small {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .vps-dashboard-empty,
  .vps-dashboard-clear {
    grid-template-columns: 1fr;
  }

  .vps-dashboard-empty a,
  .vps-dashboard-empty span,
  .vps-dashboard-clear span {
    grid-column: 1;
    grid-row: auto;
  }

  .vps-dashboard-empty a {
    width: 100%;
    margin-top: 7px;
    text-align: center;
  }

  .vps-tab[data-flow-step] {
    display: grid;
    grid-template-columns: 23px minmax(0, 1fr) auto;
    gap: 2px 6px;
    text-align: left;
  }

  .vps-tab[data-flow-step]::before {
    grid-row: 1 / 3;
  }

  .vps-tab[data-flow-step] > span {
    grid-column: 3;
    grid-row: 1;
  }

  .vps-tab-step {
    grid-column: 2 / 4;
    grid-row: 2;
    margin: 0;
  }

  .broker-contact-details {
    grid-template-columns: 1fr;
  }

  .broker-person-field,
  .broker-contact-preview {
    padding: 10px;
  }

  .broker-contact-helper {
    overflow-wrap: anywhere;
  }
}

/* VPS Registry multi-page workspace */

.vps-page-frame {
  width: min(100%, 1440px);
  min-width: 0;
  margin: 0 auto;
}

body[data-vps-page] .vps-top-actions a.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.vps-workspace-nav {
  display: flex;
  gap: 6px;
  align-items: center;
  min-width: 0;
  margin: 0 0 18px;
  padding: 6px;
  background: rgba(9, 22, 34, .9);
  border: 1px solid var(--line);
  border-radius: 13px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .14);
}

.vps-workspace-link {
  position: relative;
  display: inline-flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  padding: 8px 14px;
  overflow: hidden;
  color: #aebbc9;
  font-size: 13px;
  font-weight: 820;
  white-space: nowrap;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 9px;
  transition: color .16s ease, background-color .16s ease, border-color .16s ease;
}

.vps-workspace-link::after {
  position: absolute;
  right: 13px;
  bottom: 4px;
  left: 13px;
  height: 2px;
  content: "";
  background: transparent;
  border-radius: 999px;
}

.vps-workspace-link:hover {
  color: #f2f6fb;
  background: rgba(31, 52, 74, .72);
  border-color: rgba(98, 129, 162, .24);
}

.vps-workspace-link.active,
.vps-workspace-link[aria-current="page"] {
  color: #fff;
  background: linear-gradient(110deg, rgba(46, 82, 137, .68), rgba(23, 43, 64, .82));
  border-color: rgba(87, 135, 224, .42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}

.vps-workspace-link.active::after,
.vps-workspace-link[aria-current="page"]::after {
  background: #5b8fff;
  box-shadow: 0 0 10px rgba(91, 143, 255, .45);
}

.vps-workspace-link:focus-visible {
  outline: 3px solid rgba(92, 142, 255, .48);
  outline-offset: 2px;
}

.vps-workspace-count {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  min-width: 23px;
  min-height: 20px;
  padding: 2px 6px;
  color: #9cacc0;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  background: rgba(6, 17, 27, .64);
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 999px;
}

.vps-workspace-link.active .vps-workspace-count,
.vps-workspace-link[aria-current="page"] .vps-workspace-count,
.vps-workspace-link.active > strong,
.vps-workspace-link[aria-current="page"] > strong {
  color: #e4edff;
  background: rgba(74, 140, 255, .18);
  border-color: rgba(112, 155, 239, .3);
}

.vps-workspace-link > strong {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  min-width: 23px;
  min-height: 20px;
  padding: 2px 6px;
  color: #9cacc0;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  background: rgba(6, 17, 27, .64);
  border: 1px solid rgba(255, 255, 255, .075);
  border-radius: 999px;
}

.vps-page-toolbar {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  min-width: 0;
  margin-bottom: 16px;
}

.vps-page-toolbar > * {
  min-width: 0;
}

.vps-page-toolbar > .primary-button,
.vps-page-toolbar .vps-page-actions {
  flex: 0 0 auto;
}

.vps-page-actions {
  display: flex;
  gap: 9px;
  align-items: center;
}

.vps-page-actions .primary-button {
  min-height: 43px;
  padding-inline: 16px;
  font-weight: 820;
}

.vps-page-intro {
  display: grid;
  gap: 4px;
  max-width: 760px;
}

.vps-page-intro .page-kicker,
.vps-page-intro .panel-label {
  margin: 0 !important;
}

.vps-page-intro h2,
.vps-page-intro h3 {
  margin: 0;
  letter-spacing: -.04em;
}

.vps-page-intro h2 {
  font-size: clamp(25px, 2.4vw, 32px);
}

.vps-page-intro h3 {
  font-size: 22px;
}

.vps-page-intro > p:last-child {
  max-width: 680px;
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.vps-page-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.vps-page-metric {
  position: relative;
  isolation: isolate;
  min-width: 0;
  min-height: 102px;
  overflow: hidden;
  padding: 14px 15px;
  background: linear-gradient(145deg, rgba(15, 30, 44, .96), rgba(9, 21, 32, .96));
  border: 1px solid rgba(104, 131, 158, .18);
  border-radius: 13px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .14);
}

.vps-page-metric::before {
  position: absolute;
  top: 0;
  right: 15px;
  left: 15px;
  height: 2px;
  content: "";
  background: linear-gradient(90deg, rgba(74, 140, 255, .8), transparent);
}

.vps-page-metric.warning,
.vps-page-metric.tone-warning,
.vps-page-metric.attention,
.vps-page-metric[data-tone="warning"] {
  border-color: rgba(246, 182, 52, .28);
}

.vps-page-metric.warning::before,
.vps-page-metric.tone-warning::before,
.vps-page-metric.attention::before,
.vps-page-metric[data-tone="warning"]::before {
  background: linear-gradient(90deg, rgba(246, 182, 52, .86), transparent);
}

.vps-page-metric.danger,
.vps-page-metric.tone-danger,
.vps-page-metric[data-tone="danger"] {
  border-color: rgba(240, 90, 90, .3);
}

.vps-page-metric.danger::before,
.vps-page-metric.tone-danger::before,
.vps-page-metric[data-tone="danger"]::before {
  background: linear-gradient(90deg, rgba(240, 90, 90, .9), transparent);
}

.vps-page-metric.success,
.vps-page-metric.tone-success,
.vps-page-metric[data-tone="success"] {
  border-color: rgba(72, 201, 106, .24);
}

.vps-page-metric.success::before,
.vps-page-metric.tone-success::before,
.vps-page-metric[data-tone="success"]::before {
  background: linear-gradient(90deg, rgba(72, 201, 106, .82), transparent);
}

.vps-page-metric > span,
.vps-page-metric > p:first-child {
  display: block;
  margin: 0 0 9px;
  color: #8393a4;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vps-page-metric > strong {
  display: block;
  min-width: 0;
  color: #f2f6fb;
  font-family: var(--mono);
  font-size: 30px;
  line-height: 1;
  letter-spacing: -.06em;
  overflow-wrap: anywhere;
}

.vps-page-metric.warning > strong,
.vps-page-metric.tone-warning > strong,
.vps-page-metric.attention > strong,
.vps-page-metric[data-tone="warning"] > strong {
  color: #ffd273;
}

.vps-page-metric.danger > strong,
.vps-page-metric.tone-danger > strong,
.vps-page-metric[data-tone="danger"] > strong {
  color: #ffabab;
}

.vps-page-metric > small,
.vps-page-metric > p:last-child:not(:first-child) {
  display: block;
  margin: 7px 0 0;
  color: #748596;
  font-size: 10px;
  line-height: 1.35;
}

.vps-overview-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.vps-overview-link-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 14px;
  align-items: center;
  min-width: 0;
  min-height: 90px;
  padding: 14px 15px;
  color: #dce6f2;
  background: rgba(13, 28, 42, .9);
  border: 1px solid var(--line);
  border-radius: 13px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.vps-overview-link-card:hover {
  color: #fff;
  background: rgba(20, 39, 57, .96);
  border-color: rgba(82, 130, 216, .43);
  transform: translateY(-1px);
}

.vps-overview-link-card:focus-visible {
  outline: 3px solid rgba(92, 142, 255, .46);
  outline-offset: 2px;
}

.vps-overview-link-card > div,
.vps-overview-link-card .vps-overview-link-copy {
  min-width: 0;
}

.vps-overview-link-card h3,
.vps-overview-link-card strong {
  display: block;
  margin: 0;
  overflow: hidden;
  color: #edf3fa;
  font-size: 15px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vps-overview-link-card p,
.vps-overview-link-card small {
  display: block;
  margin: 5px 0 0;
  color: #8191a2;
  font-size: 11px;
  line-height: 1.4;
}

.vps-overview-link-card .vps-overview-link-arrow {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #adc8ff;
  font-family: var(--mono);
  background: rgba(74, 140, 255, .09);
  border: 1px solid rgba(74, 140, 255, .24);
  border-radius: 9px;
}

.vps-alert-clear {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-width: 0;
  margin-bottom: 14px;
  padding: 13px 15px;
  color: #d9f4e3;
  background: linear-gradient(90deg, rgba(72, 201, 106, .085), rgba(12, 27, 39, .9) 60%);
  border: 1px solid rgba(72, 201, 106, .25);
  border-radius: 13px;
}

.vps-alert-clear::before,
.vps-alert-clear-icon {
  display: grid;
  grid-row: 1 / 3;
  place-items: center;
  width: 32px;
  height: 32px;
  color: #c9f7d6;
  font-weight: 900;
  background: rgba(72, 201, 106, .12);
  border: 1px solid rgba(72, 201, 106, .3);
  border-radius: 10px;
}

.vps-alert-clear::before {
  content: "\2713";
}

.vps-alert-clear:has(.vps-alert-clear-icon)::before {
  display: none;
}

.vps-alert-clear:has(.vps-security-mark)::before {
  display: none;
}

.vps-alert-clear > div {
  min-width: 0;
}

.vps-alert-clear strong,
.vps-alert-clear h3 {
  grid-column: 2;
  margin: 0;
  color: #dff7e7;
  font-size: 13px;
}

.vps-alert-clear p,
.vps-alert-clear span:not(.vps-alert-clear-icon):not(.vps-security-mark) {
  grid-column: 2;
  margin: 2px 0 0;
  color: #7fa58b;
  font-size: 11px;
  line-height: 1.4;
}

.vps-results-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  margin: -2px 1px 10px;
  color: #7f8f9f;
  font-size: 11px;
}

.vps-results-meta strong {
  color: #cbd6e2;
  font-weight: 800;
}

.vps-results-meta button,
.vps-results-meta a {
  min-height: 32px;
  padding: 5px 9px;
  color: #a9c4f7;
  font-size: 11px;
  font-weight: 800;
  background: rgba(74, 140, 255, .07);
  border: 1px solid rgba(74, 140, 255, .22);
  border-radius: 8px;
}

.vps-results-meta button:hover,
.vps-results-meta a:hover {
  color: #fff;
  background: rgba(74, 140, 255, .16);
  border-color: rgba(74, 140, 255, .42);
}

.vps-filter-disclosure {
  min-width: 0;
  margin-bottom: 14px;
}

.vps-filter-disclosure summary {
  display: none;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-height: 42px;
  padding: 9px 12px;
  color: #d7e1ec;
  font-size: 12px;
  font-weight: 820;
  cursor: pointer;
  list-style: none;
  background: rgba(12, 25, 38, .94);
  border: 1px solid var(--line);
  border-radius: 11px;
  user-select: none;
}

.vps-filter-disclosure summary::-webkit-details-marker {
  display: none;
}

.vps-filter-disclosure summary > span {
  flex: 0 0 auto;
}

.vps-filter-disclosure summary > small {
  min-width: 0;
  margin-left: auto;
  color: #718395;
  font-size: 10px;
  font-weight: 600;
  text-align: right;
}

.vps-filter-disclosure summary::after {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  content: "+";
  color: #a8c1ee;
  font-family: var(--mono);
  font-size: 16px;
  background: rgba(74, 140, 255, .08);
  border: 1px solid rgba(74, 140, 255, .2);
  border-radius: 7px;
  transition: transform .16s ease, background-color .16s ease;
}

.vps-filter-disclosure[open] summary::after {
  background: rgba(74, 140, 255, .18);
  transform: rotate(45deg);
}

.vps-filter-disclosure summary:focus-visible {
  outline: 3px solid rgba(92, 142, 255, .44);
  outline-offset: 2px;
}

.vps-filter-disclosure > .vps-filters,
.vps-filter-disclosure > .control-panel {
  margin-bottom: 0;
}

.vps-filter-disclosure > .vps-filters {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (min-width: 901px) {
  .vps-filter-disclosure:not([open]) > .vps-filters,
  .vps-filter-disclosure:not([open]) > .control-panel {
    display: grid;
  }
}

.people-directory-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
  gap: 12px;
  align-items: stretch;
}

.people-directory-grid .person-card {
  min-height: 0;
  padding: 14px;
  background: linear-gradient(145deg, rgba(15, 30, 44, .96), rgba(9, 20, 31, .97));
  border-radius: 15px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.people-directory-grid .person-card-head {
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 10px;
}

.people-directory-grid .person-avatar {
  width: 40px;
  height: 40px;
  font-size: 16px;
  border-radius: 12px;
}

.people-directory-grid .person-card-head h3 {
  font-size: 16px;
}

.people-directory-grid .person-contact-grid {
  gap: 6px;
  margin-top: 11px;
}

.people-directory-grid .person-contact-grid > div {
  padding: 8px 9px;
  background: rgba(6, 17, 27, .64);
  border-radius: 8px;
}

.people-directory-grid .person-contact-grid strong {
  font-size: 10px;
}

.person-assignment-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
  margin-top: 10px;
}

.person-assignment-chips > span,
.person-assignment-chips > a,
.person-assignment-chip {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-width: 0;
  min-height: 27px;
  max-width: 100%;
  padding: 5px 8px;
  overflow: hidden;
  color: #aebdcb;
  font-size: 10px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: rgba(18, 37, 53, .82);
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 999px;
}

.person-assignment-chips > a:hover {
  color: #e9f1ff;
  border-color: rgba(74, 140, 255, .34);
}

.person-assignment-chips .is-empty,
.person-assignment-chips:empty::before {
  color: #718293;
  background: transparent;
  border-style: dashed;
}

.person-assignment-chips:empty::before {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 8px;
  content: "No VPS assignments";
  font-size: 10px;
  border: 1px dashed #334658;
  border-radius: 999px;
}

.people-directory-grid .person-notes {
  display: -webkit-box;
  margin-top: 9px;
  overflow: hidden;
  font-size: 11px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.person-card-footer {
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: flex-end;
  margin: 12px -14px -14px;
  padding: 10px 14px;
  background: rgba(5, 14, 23, .4);
  border-top: 1px solid var(--line-soft);
}

.person-card-footer button,
.person-card-footer a {
  min-height: 34px;
  padding: 6px 10px;
  color: #d6e1ec;
  font-size: 11px;
  font-weight: 800;
  background: #142536;
  border: 1px solid #2d4155;
  border-radius: 8px;
}

.person-card-footer button:hover,
.person-card-footer a:hover {
  color: #fff;
  background: #1c3048;
  border-color: rgba(74, 140, 255, .52);
}

.vps-page-frame .vps-card-grid,
body[data-vps-page="servers"] .vps-card-grid {
  align-items: start;
}

.vps-page-frame .vps-card,
body[data-vps-page="servers"] .vps-card {
  box-shadow: 0 13px 34px rgba(0, 0, 0, .18);
}

.vps-page-frame .vps-card:hover,
body[data-vps-page="servers"] .vps-card:hover {
  border-right-color: rgba(100, 130, 160, .3);
  border-bottom-color: rgba(100, 130, 160, .3);
  border-left-color: rgba(100, 130, 160, .3);
}

.vps-empty.filtered-empty {
  min-height: 220px;
  padding: 26px 20px;
  background: rgba(10, 22, 34, .68);
  border-style: solid;
  border-color: rgba(92, 116, 140, .28);
  box-shadow: none;
}

.vps-empty.filtered-empty > span {
  width: 43px;
  height: 43px;
  color: #8fa3b9;
  background: rgba(126, 148, 171, .08);
  border-color: rgba(126, 148, 171, .2);
  border-radius: 13px;
}

.vps-empty.filtered-empty h3 {
  margin-top: 12px;
  font-size: 18px;
}

.vps-empty.filtered-empty p {
  max-width: 390px;
  margin: 6px 0 14px;
  font-size: 12px;
}

.vps-empty.filtered-empty button,
.vps-empty.filtered-empty a {
  min-height: 38px;
  padding: 7px 12px;
  color: #c9d9f8;
  font-size: 12px;
  font-weight: 800;
  background: rgba(74, 140, 255, .08);
  border: 1px solid rgba(74, 140, 255, .27);
  border-radius: 9px;
}

/* The route navigation replaces the old mixed-page tab switcher. */
.vps-page-frame .vps-tabs {
  display: none;
}

.vps-page-frame .vps-filters.people-mode {
  grid-template-columns: minmax(260px, 620px);
}

.vps-security-compact {
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 10px;
  margin-bottom: 12px;
  padding: 10px 13px;
  box-shadow: none;
}

.vps-security-compact .vps-security-mark {
  width: 29px;
  height: 29px;
  border-radius: 9px;
}

.vps-security-compact p {
  margin-top: 2px;
  font-size: 11px;
}

.vps-workspace-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.vps-workspace-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 178px;
  padding: 16px;
  color: #dbe5f0;
  background: linear-gradient(145deg, rgba(15, 30, 44, .96), rgba(9, 21, 32, .97));
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 13px 32px rgba(0, 0, 0, .15);
  transition: color .16s ease, background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.vps-workspace-card:hover {
  color: #fff;
  background: linear-gradient(145deg, rgba(21, 40, 58, .98), rgba(11, 25, 38, .98));
  border-color: rgba(82, 130, 216, .43);
  transform: translateY(-1px);
}

.vps-workspace-card:focus-visible {
  outline: 3px solid rgba(92, 142, 255, .46);
  outline-offset: 2px;
}

.vps-workspace-card-head {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.vps-workspace-card-head .panel-label {
  margin: 0;
}

.vps-workspace-card-head > strong {
  display: grid;
  place-items: center;
  min-width: 28px;
  min-height: 24px;
  padding: 3px 7px;
  color: #c8d8f7;
  font-family: var(--mono);
  font-size: 11px;
  background: rgba(74, 140, 255, .1);
  border: 1px solid rgba(74, 140, 255, .24);
  border-radius: 999px;
}

.vps-workspace-card h3 {
  margin: 0;
  font-size: 19px;
  letter-spacing: -.03em;
}

.vps-workspace-card > p {
  margin: 7px 0 14px;
  color: #8494a5;
  font-size: 12px;
  line-height: 1.5;
}

.vps-workspace-card-action {
  margin-top: auto;
  color: #a9c4fa;
  font-size: 11px;
  font-weight: 850;
}

.vps-workspace-card-action::after {
  margin-left: 7px;
  content: "\2192";
  font-family: var(--mono);
}

.vps-directory-toolbar,
.vps-server-toolbar {
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 10px;
  padding: 10px;
}

.vps-results-count {
  align-self: end;
  min-width: 86px;
  min-height: 40px;
  margin: 0;
  padding: 10px 12px;
  color: #9cabb9;
  font-family: var(--mono);
  font-size: 11px;
  text-align: center;
  white-space: nowrap;
  background: rgba(6, 17, 27, .7);
  border: 1px solid var(--line);
  border-radius: 9px;
}

.vps-collection {
  min-width: 0;
}

body[data-vps-page="people"] .people-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr));
  gap: 12px;
  align-items: stretch;
}

body[data-vps-page="people"] .people-card-grid .person-card {
  min-height: 0;
  padding: 14px;
  background: linear-gradient(145deg, rgba(15, 30, 44, .96), rgba(9, 20, 31, .97));
  border-radius: 15px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

body[data-vps-page="people"] .people-card-grid .person-card-head {
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 10px;
}

body[data-vps-page="people"] .people-card-grid .person-avatar {
  width: 40px;
  height: 40px;
  font-size: 16px;
  border-radius: 12px;
}

body[data-vps-page="people"] .people-card-grid .person-card-head h3 {
  font-size: 16px;
}

body[data-vps-page="people"] .people-card-grid .person-contact-grid {
  gap: 6px;
  margin-top: 11px;
}

body[data-vps-page="people"] .people-card-grid .person-contact-grid > div {
  padding: 8px 9px;
  background: rgba(6, 17, 27, .64);
  border-radius: 8px;
}

body[data-vps-page="people"] .people-card-grid .person-contact-grid strong {
  font-size: 10px;
}

body[data-vps-page="people"] .people-card-grid .person-notes {
  display: -webkit-box;
  margin-top: 9px;
  overflow: hidden;
  font-size: 11px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.vps-card-summary {
  padding: 10px;
}

.vps-assignee-row {
  margin-bottom: 0;
}

.vps-card-footer {
  min-height: 55px;
}

body[data-vps-page="people"] .vps-page-metrics,
body[data-vps-page="servers"] .vps-page-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1200px) {
  .vps-page-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page="people"] .vps-page-metrics,
  body[data-vps-page="servers"] .vps-page-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vps-page-frame .vps-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .vps-workspace-nav {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 5px;
    margin-bottom: 15px;
    padding: 5px;
  }

  .vps-workspace-link {
    gap: 6px;
    min-height: 40px;
    padding: 7px 9px;
    font-size: 12px;
  }

  .vps-workspace-link::after {
    right: 9px;
    left: 9px;
  }

  .vps-page-toolbar {
    align-items: center;
  }

  .vps-page-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-filter-disclosure summary {
    display: flex;
  }

  .vps-filter-disclosure[open] summary {
    border-color: rgba(74, 140, 255, .34);
    border-radius: 11px 11px 8px 8px;
  }

  .vps-filter-disclosure > .vps-filters,
  .vps-filter-disclosure > .control-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
    padding: 10px;
  }

  .vps-filter-disclosure .search-field {
    grid-column: 1 / -1;
  }

  .vps-filter-disclosure .field {
    min-width: 0;
  }

  .vps-filter-disclosure .field input,
  .vps-filter-disclosure .field select {
    min-height: 38px;
    padding: 7px 9px;
    font-size: 12px;
  }

  .people-directory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page="people"] .people-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .vps-workspace-nav {
    margin-right: 0;
    margin-left: 0;
  }

  .vps-workspace-link {
    gap: 4px;
    min-height: 42px;
    padding: 6px 5px;
    font-size: 10.5px;
    line-height: 1.15;
  }

  .vps-workspace-count {
    min-width: 19px;
    min-height: 18px;
    padding-inline: 5px;
    font-size: 9px;
  }

  .vps-workspace-link > strong {
    min-width: 19px;
    min-height: 18px;
    padding-inline: 5px;
    font-size: 9px;
  }

  .vps-page-toolbar {
    display: grid;
    gap: 11px;
    align-items: stretch;
  }

  .vps-page-toolbar > .primary-button,
  .vps-page-toolbar .vps-page-actions,
  .vps-page-actions,
  .vps-page-actions .primary-button {
    width: 100%;
  }

  .vps-page-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .vps-page-toolbar > .primary-button,
  .vps-page-actions .primary-button {
    min-height: 44px;
  }

  .vps-page-intro h2 {
    font-size: 26px;
  }

  .vps-page-intro > p:last-child {
    font-size: 12px;
  }

  .vps-page-metrics {
    gap: 8px;
  }

  .vps-page-metric {
    min-height: 92px;
    padding: 12px;
    border-radius: 11px;
  }

  .vps-page-metric > span,
  .vps-page-metric > p:first-child {
    margin-bottom: 7px;
    font-size: 9px;
  }

  .vps-page-metric > strong {
    font-size: 25px;
  }

  .vps-page-metric > small,
  .vps-page-metric > p:last-child:not(:first-child) {
    margin-top: 5px;
    font-size: 9px;
  }

  .vps-overview-links {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .vps-workspace-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .vps-workspace-card {
    min-height: 160px;
    padding: 14px;
  }

  .vps-overview-link-card {
    min-height: 82px;
    padding: 12px;
  }

  .vps-alert-clear {
    padding: 12px;
  }

  .vps-results-meta {
    align-items: flex-start;
    margin-inline: 0;
  }

  .vps-results-meta > span,
  .vps-results-meta > p {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .vps-filter-disclosure > .vps-filters,
  .vps-filter-disclosure > .control-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vps-filter-disclosure .search-field {
    grid-column: 1 / -1;
  }

  .vps-filter-disclosure summary > small {
    display: none;
  }

  .vps-directory-toolbar,
  .vps-server-toolbar {
    grid-template-columns: 1fr;
  }

  .vps-results-count {
    justify-self: start;
    min-height: 34px;
    padding-block: 7px;
  }

  .people-directory-grid {
    grid-template-columns: 1fr;
  }

  body[data-vps-page="people"] .people-card-grid {
    grid-template-columns: 1fr;
  }

  body[data-vps-page="people"] .vps-page-metrics,
  body[data-vps-page="servers"] .vps-page-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page="people"] .vps-page-metric:last-child,
  body[data-vps-page="servers"] .vps-page-metric:last-child {
    grid-column: 1 / -1;
  }

  .people-directory-grid .person-card {
    border-radius: 13px;
  }

  body[data-vps-page="people"] .people-card-grid .person-card {
    border-radius: 13px;
  }

  .vps-empty.filtered-empty {
    min-height: 195px;
    padding: 22px 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vps-workspace-link,
  .vps-filter-disclosure summary::after,
  .vps-overview-link-card {
    transition: none;
  }
}

/* VPS Registry clarity redesign */

body[data-vps-page] {
  --vps-canvas: #090e13;
  --vps-sidebar: #0c1218;
  --vps-surface: #111820;
  --vps-surface-raised: #151d26;
  --vps-surface-soft: #0d141b;
  --vps-line: #26313c;
  --vps-line-strong: #344250;
  --vps-copy: #f2f5f8;
  --vps-muted: #8c99a7;
  --vps-muted-soft: #768492;
  --vps-accent: #3568c5;
  --vps-accent-hover: #3f73d8;
  color: var(--vps-copy);
  background: var(--vps-canvas);
}

body[data-vps-page] .vps-shell {
  background: var(--vps-canvas);
}

body[data-vps-page] .sidebar {
  background: var(--vps-sidebar);
  border-right-color: #202a34;
}

body[data-vps-page] .brand {
  padding-bottom: 20px;
}

body[data-vps-page] .brand-logo {
  background: #101820;
  border-color: #293541;
  box-shadow: none;
}

body[data-vps-page] .brand p,
body[data-vps-page] .topbar p,
body[data-vps-page] .side-card small {
  color: var(--vps-muted);
}

body[data-vps-page] .sidebar-label {
  color: #7f8c99;
}

body[data-vps-page] .sidebar-primary-link {
  color: #aeb9c5;
  border-radius: 9px;
  transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}

body[data-vps-page] .sidebar-primary-link:hover {
  color: #eef3f8;
  background: #131c25;
  border-color: #263440;
  transform: none;
}

body[data-vps-page] .sidebar-primary-link.active,
body[data-vps-page] .sidebar-primary-link[aria-current="page"],
body[data-vps-page] .sidebar-primary-link[aria-current="location"] {
  color: #fff;
  background: #172231;
  border-color: #31445b;
  box-shadow: none;
}

body[data-vps-page] .sidebar-primary-link.active::after,
body[data-vps-page] .sidebar-primary-link[aria-current="page"]::after,
body[data-vps-page] .sidebar-primary-link[aria-current="location"]::after {
  background: var(--vps-accent);
  box-shadow: none;
}

body[data-vps-page] .sidebar-primary-link .tool-icon,
body[data-vps-page] .sidebar-primary-link .nav-icon,
body[data-vps-page] .sidebar-primary-link.active .tool-icon,
body[data-vps-page] .sidebar-primary-link.active .nav-icon {
  color: #a9c2f3;
  background: #151f2b;
  border-color: #2b3947;
}

body[data-vps-page] .side-card {
  background: #0f171f;
  border-color: #26313b;
  border-radius: 11px;
  box-shadow: none;
}

body[data-vps-page] .mini-stat span {
  box-shadow: none;
}

body[data-vps-page] .mini-stat[data-tone="muted"] span {
  background: #63707d;
}

body[data-vps-page] .mini-stat[data-tone="warning"] span {
  background: #d79a34;
}

body[data-vps-page] .mini-stat[data-tone="danger"] span {
  background: #d96666;
}

body[data-vps-page] .account-shortcut {
  color: #aeb9c5;
  background: transparent;
  border-color: #26313b;
  border-radius: 9px;
}

body[data-vps-page] .account-shortcut:hover {
  color: #fff;
  background: #141d26;
  border-color: #354454;
}

body[data-vps-page] .vps-main {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 28px clamp(22px, 3vw, 48px) 44px;
  background: var(--vps-canvas);
}

body[data-vps-page] .vps-focus-header {
  gap: 28px;
  align-items: flex-end;
  margin-bottom: 22px;
}

body[data-vps-page] .vps-focus-header > div:first-child {
  max-width: 720px;
}

body[data-vps-page] .vps-focus-header .page-kicker {
  margin-bottom: 7px !important;
  color: #7fa0e8 !important;
  letter-spacing: .11em;
}

body[data-vps-page] .vps-focus-header h2 {
  color: #f6f8fa;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

body[data-vps-page] .vps-focus-header > div:first-child > p:last-child {
  max-width: 680px;
  margin-top: 9px;
  color: var(--vps-muted);
  font-size: 14px;
  line-height: 1.5;
}

body[data-vps-page] .vps-top-actions {
  gap: 9px;
}

body[data-vps-page] .vps-primary-action,
body[data-vps-page] .success-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 9px 16px;
  color: #fff !important;
  font-weight: 820;
  background: var(--vps-accent) !important;
  border: 1px solid #6e98ef !important;
  border-radius: 9px;
  box-shadow: none !important;
}

body[data-vps-page] .vps-primary-action:hover,
body[data-vps-page] .success-button:hover {
  background: var(--vps-accent-hover) !important;
  border-color: #8aacf2 !important;
}

body[data-vps-page] .vps-quiet-action,
body[data-vps-page] .vps-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 9px 15px;
  color: #c4ced8;
  font-weight: 780;
  background: #111820;
  border: 1px solid #303b46;
  border-radius: 9px;
  box-shadow: none;
}

body[data-vps-page] .vps-quiet-action:hover,
body[data-vps-page] .vps-secondary-button:hover {
  color: #fff;
  background: #18212b;
  border-color: #42515f;
}

body[data-vps-page] .vps-primary-action:focus-visible,
body[data-vps-page] .vps-quiet-action:focus-visible,
body[data-vps-page] .vps-workspace-link:focus-visible,
body[data-vps-page] .vps-workspace-card:focus-visible {
  outline: 3px solid rgba(91, 134, 229, .45);
  outline-offset: 2px;
}

body[data-vps-page] .vps-workspace-nav--quiet {
  gap: 24px;
  margin: 0 0 24px;
  padding: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--vps-line);
  border-radius: 0;
  box-shadow: none;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link {
  gap: 8px;
  min-height: 46px;
  padding: 0 1px;
  color: #8794a1;
  font-size: 13px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link::after {
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: transparent;
  box-shadow: none;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link:hover {
  color: #dce3ea;
  background: transparent;
  border-color: transparent;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link.active,
body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link[aria-current="page"] {
  color: #fff;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link.active::after,
body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link[aria-current="page"]::after {
  background: var(--vps-accent);
  box-shadow: none;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link > strong {
  min-width: 22px;
  min-height: 20px;
  color: #8d99a6;
  background: #151d25;
  border-color: #293541;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link.active > strong,
body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link[aria-current="page"] > strong {
  color: #dce7ff;
  background: #1b2940;
  border-color: #354d74;
}

body[data-vps-page] .notice {
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 10px;
  box-shadow: none;
}

body[data-vps-page] .notice.loading {
  color: #b9caea;
  border-color: #33435a;
}

body[data-vps-page] .vps-priority-focus {
  margin-bottom: 18px;
}

body[data-vps-page] .vps-priority-label,
body[data-vps-page] .vps-management-head {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 10px;
}

body[data-vps-page] .vps-priority-label .panel-label,
body[data-vps-page] .vps-management-head .panel-label {
  margin-bottom: 4px;
}

body[data-vps-page] .vps-priority-label h3,
body[data-vps-page] .vps-management-head h3 {
  margin: 0;
  color: #eef2f6;
  font-size: 18px;
  letter-spacing: -.025em;
}

body[data-vps-page] .vps-priority-label > span,
body[data-vps-page] .vps-management-head > p {
  margin: 0;
  color: var(--vps-muted-soft);
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
}

body[data-vps-page] .vps-priority-card {
  margin: 0;
  overflow: hidden;
  background: var(--vps-surface);
  border: 1px solid var(--vps-line-strong);
  border-left-width: 4px;
  border-radius: 13px;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}

body[data-vps-page] .vps-priority-card.is-attention {
  border-left-color: #d79a34;
}

body[data-vps-page] .vps-priority-card.is-clear {
  border-left-color: #4cb879;
}

body[data-vps-page] .vps-priority-card.is-clear.is-empty {
  border-left-color: var(--vps-accent);
}

body[data-vps-page] .vps-priority-card .vps-section-head {
  min-height: 78px;
  padding: 16px 18px;
  background: #131b23;
  border-bottom-color: var(--vps-line);
}

body[data-vps-page] .vps-priority-card .vps-section-head h3 {
  font-size: 21px;
}

body[data-vps-page] .vps-priority-card .vps-section-head > span {
  color: #f1c878;
  background: #2a2215;
  border-color: #594622;
}

body[data-vps-page] .vps-alert-clear {
  grid-template-columns: 54px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 142px;
  padding: 22px 22px;
  color: var(--vps-copy);
}

body[data-vps-page] .vps-alert-clear .vps-security-mark {
  grid-row: auto;
  width: 50px;
  height: 50px;
  color: #b9efce;
  font-size: 19px;
  background: #153122;
  border-color: #315d43;
  border-radius: 12px;
}

body[data-vps-page] .vps-alert-clear.is-empty .vps-security-mark {
  color: #c9d9fa;
  font-family: var(--mono);
  font-size: 12px;
  background: #18243a;
  border-color: #354e77;
}

body[data-vps-page] .vps-alert-clear > div {
  display: grid;
  gap: 3px;
}

body[data-vps-page] .vps-alert-clear .panel-label {
  grid-column: auto;
  margin: 0 0 3px;
  color: #73bd90;
}

body[data-vps-page] .vps-alert-clear.is-empty .panel-label {
  color: #8eace8;
}

body[data-vps-page] .vps-alert-clear strong {
  grid-column: auto;
  color: #f3f7f5;
  font-size: clamp(21px, 2.4vw, 28px);
  letter-spacing: -.035em;
}

body[data-vps-page] .vps-alert-clear p:not(.panel-label) {
  grid-column: auto;
  margin: 2px 0 0;
  color: var(--vps-muted);
  font-size: 12px;
}

body[data-vps-page] .vps-priority-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 8px 13px;
  color: #dce7ff;
  font-size: 12px;
  font-weight: 820;
  background: #18243a;
  border: 1px solid #354e77;
  border-radius: 9px;
}

body[data-vps-page] .vps-priority-action:hover {
  color: #fff;
  background: #203151;
  border-color: #4c6fa9;
}

body[data-vps-page] .vps-alert-row {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  min-height: 70px;
  padding: 13px 17px;
  background: transparent;
  border-bottom-color: var(--vps-line);
}

body[data-vps-page] .vps-alert-row.tone-danger,
body[data-vps-page] .vps-alert-row.tone-warning {
  background: transparent;
}

body[data-vps-page] .vps-alert-icon {
  color: #f2cb80;
  background: #2a2215;
  border-color: #5e4a24;
  border-radius: 9px;
}

body[data-vps-page] .tone-danger .vps-alert-icon {
  color: #f5b0b0;
  background: #321b1d;
  border-color: #67363a;
}

body[data-vps-page] .vps-alert-copy strong {
  color: #f0f3f6;
  font-size: 14px;
}

body[data-vps-page] .vps-alert-copy .vps-alert-meta {
  color: var(--vps-muted);
}

body[data-vps-page] .vps-priority-footer {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 10px 17px;
  color: var(--vps-muted-soft);
  font-size: 11px;
  background: #0f161d;
  border-top: 1px solid var(--vps-line);
}

body[data-vps-page] .vps-priority-footer a {
  color: #a9c0ec;
  font-weight: 800;
}

body[data-vps-page] .vps-priority-footer a:hover {
  color: #fff;
}

body[data-vps-page] .vps-alert-actions a,
body[data-vps-page] .vps-alert-actions a:last-child,
body[data-vps-page] .vps-card-actions button,
body[data-vps-page] .credential-row button {
  min-height: 42px;
  color: #c4ced8;
  background: #151e27;
  border-color: #34414e;
  border-radius: 8px;
}

body[data-vps-page] .vps-alert-actions a:last-child,
body[data-vps-page] .vps-card-actions .renew {
  color: #d8e5ff;
  background: #18243a;
  border-color: #354e77;
}

body[data-vps-page] .vps-alert-actions a:hover,
body[data-vps-page] .vps-card-actions button:hover,
body[data-vps-page] .credential-row button:hover {
  color: #fff;
  background: #202c38;
  border-color: #536678;
}

body[data-vps-page] .vps-overview.vps-supporting-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 22px;
}

body[data-vps-page] .vps-overview .vps-kpi {
  min-height: 88px;
  justify-content: center;
  padding: 13px 14px;
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 11px;
  box-shadow: none;
}

body[data-vps-page] .vps-overview .vps-kpi::after {
  display: none;
}

body[data-vps-page] .vps-overview .vps-kpi.due {
  border-color: #4a3d25;
}

body[data-vps-page] .vps-overview .vps-kpi.danger {
  border-color: #513034;
}

body[data-vps-page] .vps-overview .vps-kpi .panel-label {
  margin-bottom: 7px;
  color: #7f8c99;
  font-size: 9px;
}

body[data-vps-page] .vps-overview .vps-kpi > strong {
  margin: 0;
  color: #eef2f6;
  font-size: 27px;
}

body[data-vps-page] .vps-overview .vps-kpi.due > strong {
  color: #e9c16e;
}

body[data-vps-page] .vps-overview .vps-kpi.danger > strong {
  color: #ed9999;
}

body[data-vps-page] .vps-overview .vps-kpi[data-tone="muted"] {
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-overview .vps-kpi[data-tone="muted"] > strong {
  color: #eef2f6;
}

body[data-vps-page] .vps-overview .vps-kpi small {
  margin-top: 5px;
  color: var(--vps-muted-soft);
  font-size: 10px;
}

body[data-vps-page] .vps-management-section {
  margin-bottom: 14px;
}

body[data-vps-page] .vps-workspace-grid.vps-supporting-links {
  gap: 9px;
  margin: 0;
}

body[data-vps-page] .vps-workspace-card {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  min-height: 132px;
  padding: 16px;
  color: #dce3ea;
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 11px;
  box-shadow: none;
}

body[data-vps-page] .vps-workspace-card:hover {
  color: #fff;
  background: var(--vps-surface-raised);
  border-color: #40505e;
  transform: none;
}

body[data-vps-page] .vps-workspace-step {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #9eb8ed;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 900;
  background: #182236;
  border: 1px solid #314663;
  border-radius: 10px;
}

body[data-vps-page] .vps-workspace-card-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

body[data-vps-page] .vps-workspace-card-head {
  margin-bottom: 4px;
}

body[data-vps-page] .vps-workspace-card-head > strong {
  color: #aebbd0;
  background: #151d25;
  border-color: #2c3945;
}

body[data-vps-page] .vps-workspace-card h3 {
  color: #eef2f6;
  font-size: 17px;
}

body[data-vps-page] .vps-workspace-card > p,
body[data-vps-page] .vps-workspace-card-copy > p {
  margin: 5px 0 10px;
  color: var(--vps-muted);
  font-size: 11px;
}

body[data-vps-page] .vps-workspace-card-action {
  color: #9db9f0;
}

body[data-vps-page] .vps-utility-note {
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 9px;
  margin: 16px 0 0;
  padding: 11px 0 0;
  color: #aab5c0;
  background: transparent;
  border: 0;
  border-top: 1px solid var(--vps-line);
  border-radius: 0;
}

body[data-vps-page] .vps-utility-note .vps-security-mark {
  width: 24px;
  height: 24px;
  color: #89cba2;
  font-size: 11px;
  background: #11271b;
  border-color: #2b523a;
  border-radius: 7px;
}

body[data-vps-page] .vps-utility-note strong {
  color: #b8c2cc;
  font-size: 11px;
}

body[data-vps-page] .vps-utility-note p {
  margin-top: 1px;
  color: var(--vps-muted-soft);
  font-size: 10px;
}

body[data-vps-page] .vps-primary-surface {
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
  border-radius: 11px;
  box-shadow: none;
}

body[data-vps-page] .vps-directory-toolbar,
body[data-vps-page] .vps-server-toolbar {
  gap: 12px;
  margin-bottom: 10px;
  padding: 13px;
}

body[data-vps-page] .field span {
  color: #7f8b98;
}

body[data-vps-page] .field input,
body[data-vps-page] .field select {
  min-height: 42px;
  color: #eef2f5;
  background: #0b1117;
  border-color: #2c3844;
  border-radius: 8px;
}

body[data-vps-page] .field input::placeholder {
  color: #768492;
}

body[data-vps-page] .field input:hover,
body[data-vps-page] .field select:hover {
  border-color: #3d4d5d;
}

body[data-vps-page] .field input:focus,
body[data-vps-page] .field select:focus {
  border-color: #5579bd;
  box-shadow: 0 0 0 3px rgba(91, 134, 229, .12);
}

body[data-vps-page] .vps-results-count {
  color: #9aa6b2;
  background: #0d141b;
  border-color: #2b3742;
  border-radius: 8px;
}

body[data-vps-page] .vps-page-metrics {
  gap: 8px;
  margin-bottom: 14px;
}

body[data-vps-page] .vps-page-metric {
  min-height: 72px;
  padding: 12px 14px;
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 10px;
  box-shadow: none;
}

body[data-vps-page] .vps-page-metric::before {
  top: 11px;
  right: auto;
  bottom: 11px;
  left: 0;
  width: 2px;
  height: auto;
  background: #52606d;
}

body[data-vps-page] .vps-page-metric > span {
  margin-bottom: 6px;
  color: #7f8b98;
  font-size: 9px;
}

body[data-vps-page] .vps-page-metric > strong {
  color: #edf1f5;
  font-size: 25px;
}

body[data-vps-page="people"] .vps-page-metrics--compact {
  margin-bottom: 16px;
}

body[data-vps-page="servers"] .vps-operational-focus {
  grid-template-columns: minmax(180px, 1.25fr) repeat(2, minmax(150px, 1fr));
}

body[data-vps-page="servers"] .vps-page-metric--priority {
  border-color: #344250;
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="clear"] {
  border-color: #2c4938;
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="clear"]::before {
  background: #4cb879;
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="clear"] > strong {
  color: #93d8ae;
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="warning"] {
  border-color: #544425;
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="warning"]::before {
  background: #d79a34;
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="warning"] > strong {
  color: #e9c16e;
}

body[data-vps-page] .vps-filter-disclosure {
  margin-bottom: 14px;
}

body[data-vps-page] .vps-filter-disclosure summary {
  display: flex;
  min-height: 43px;
  color: #b9c3cd;
  background: #0f161d;
  border-color: #293540;
  border-radius: 9px;
}

body[data-vps-page] .vps-filter-disclosure summary::after {
  color: #9db6e6;
  background: #151f2e;
  border-color: #30435f;
  border-radius: 6px;
}

body[data-vps-page] .vps-filter-disclosure[open] summary {
  background: #121a22;
  border-color: #3a4a59;
  border-radius: 9px 9px 0 0;
}

body[data-vps-page] .vps-filter-disclosure--collapsed:not([open]) > .vps-filters,
body[data-vps-page] .vps-filter-disclosure--collapsed:not([open]) > .control-panel {
  display: none;
}

body[data-vps-page] .vps-filter-disclosure--collapsed[open] > .vps-filters,
body[data-vps-page] .vps-filter-disclosure--collapsed[open] > .control-panel {
  display: grid;
  margin-top: 0;
  padding: 12px;
  background: var(--vps-surface);
  border: 1px solid #3a4a59;
  border-top: 0;
  border-radius: 0 0 9px 9px;
  box-shadow: none;
}

body[data-vps-page] .vps-card,
body[data-vps-page] .person-card {
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 12px;
  box-shadow: none;
}

body[data-vps-page="people"] .people-card-grid .person-card {
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 12px;
  box-shadow: none;
}

body[data-vps-page] .vps-card {
  border-top: 2px solid #66727e;
}

body[data-vps-page] .vps-card.tone-danger {
  border-top-color: #d96666;
  box-shadow: none;
}

body[data-vps-page] .vps-card.tone-warning {
  border-top-color: #d39a3e;
}

body[data-vps-page] .vps-card.tone-healthy {
  border-top-color: #4cb879;
}

body[data-vps-page] .vps-status-dot,
body[data-vps-page] .vps-status-dot.active,
body[data-vps-page] .vps-status-dot.paused,
body[data-vps-page] .vps-status-dot.cancelled {
  box-shadow: none;
}

body[data-vps-page] .vps-access-strip,
body[data-vps-page] .person-contact-grid > div {
  background: var(--vps-surface-soft);
  border-color: #28343f;
  border-radius: 8px;
}

body[data-vps-page="people"] .people-card-grid .person-contact-grid > div {
  background: var(--vps-surface-soft);
  border-color: #28343f;
  border-radius: 8px;
}

body[data-vps-page] .vps-broker-slot {
  background: #131b23;
  border-color: #2b3742;
  border-radius: 9px;
}

body[data-vps-page] .vps-broker-slot.empty {
  background: #0e151c;
}

body[data-vps-page] .broker-side,
body[data-vps-page] .broker-side.side-b {
  color: #dce7ff;
  background: #1b2940;
  border-color: #354d74;
}

body[data-vps-page] .vps-card-actions,
body[data-vps-page] .person-card-footer {
  background: #0d141b;
  border-top-color: var(--vps-line);
}

body[data-vps-page] .person-avatar {
  color: #dce7ff;
  background: #1b2940;
  border-color: #354d74;
  border-radius: 10px;
  box-shadow: none;
}

body[data-vps-page] .person-assignment-chips > span,
body[data-vps-page] .person-assignment-chips > a,
body[data-vps-page] .person-assignment-chip {
  color: #aeb8c2;
  background: #141d25;
  border-color: #2a3742;
}

body[data-vps-page] .person-card-footer button,
body[data-vps-page] .person-card-footer a {
  min-height: 42px;
  color: #c5ced7;
  background: #151e27;
  border-color: #34414e;
}

body[data-vps-page] .person-card-footer button:hover,
body[data-vps-page] .person-card-footer a:hover {
  color: #fff;
  background: #202c38;
  border-color: #536678;
}

body[data-vps-page] .vps-empty,
body[data-vps-page] .vps-empty.filtered-empty {
  min-height: 250px;
  background: #0f161d;
  border-color: #33404c;
  border-radius: 12px;
  box-shadow: none;
}

body[data-vps-page] .vps-empty > span,
body[data-vps-page] .vps-empty.filtered-empty > span {
  color: #a9bee9;
  background: #18243a;
  border-color: #354e77;
  border-radius: 11px;
}

body[data-vps-page] .drawer,
body[data-vps-page] .vps-secret-modal {
  background: #10171f;
  border-color: #34414e;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45);
}

body[data-vps-page] .vps-form-section,
body[data-vps-page] .detail-card,
body[data-vps-page] .credential-row,
body[data-vps-page] .broker-contact-preview,
body[data-vps-page] .vps-revealed-secret {
  background: #0d141b;
  border-color: #2b3742;
  box-shadow: none;
}

body[data-vps-page] .vps-form-notice,
body[data-vps-page] .people-first-notice {
  color: #dce5ef;
  background: #121b27;
  border-color: #30435f;
  border-radius: 9px;
}

body[data-vps-page] .people-first-notice strong {
  color: #a9c2f3;
}

body[data-vps-page] .broker-person-field {
  background: #101925;
  border-color: #2e4058;
  border-radius: 9px;
}

body[data-vps-page] .broker-person-field > span {
  color: #9db3dc;
}

body[data-vps-page] .broker-contact-preview.is-assigned {
  background: #0f171f;
  border-color: #31445d;
  box-shadow: none;
}

body[data-vps-page] .broker-contact-preview.is-unassigned {
  background: #0c1319;
  border-color: #303c47;
}

body[data-vps-page] .broker-contact-avatar {
  color: #dce7ff;
  background: #1b2940;
  border-color: #354d74;
  border-radius: 9px;
  box-shadow: none;
}

body[data-vps-page] .broker-contact-preview-copy small,
body[data-vps-page] .broker-contact-helper {
  color: #7f96bd;
}

body[data-vps-page] .broker-contact-details > div {
  background: #0b1218;
  border-color: #26323d;
  border-radius: 7px;
}

body[data-vps-page] .vps-sticky-actions {
  background: #10171f;
  border-top: 1px solid #2b3742;
}

body[data-vps-page="servers"] .vps-card:hover {
  border-right-color: var(--vps-line);
  border-bottom-color: var(--vps-line);
  border-left-color: var(--vps-line);
}

@media (max-width: 900px) {
  body[data-vps-page] .vps-shell .sidebar {
    box-shadow: none;
  }

  body[data-vps-page] .vps-shell .brand {
    padding: 0 88px 0 0;
  }

  body[data-vps-page] .vps-shell .account-shortcut,
  body[data-vps-page] .vps-shell .account-shortcut:hover {
    color: transparent;
    background: #0f171f;
  }

  body[data-vps-page] .sidebar-primary-link .nav-icon {
    background: transparent;
    border: 0;
  }

  body[data-vps-page] .vps-main {
    padding: 20px 16px 34px;
  }

  body[data-vps-page] .vps-focus-header {
    align-items: flex-start;
  }

  body[data-vps-page] .vps-workspace-nav--quiet {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 4px;
    background: #0d141b;
    border: 1px solid var(--vps-line);
    border-radius: 9px;
  }

  body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link {
    min-height: 40px;
    padding: 7px 8px;
    border-radius: 6px;
  }

  body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link::after {
    right: 8px;
    bottom: 3px;
    left: 8px;
  }

  body[data-vps-page] .vps-alert-clear {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  body[data-vps-page] .vps-priority-action {
    grid-column: 2;
    justify-self: start;
  }

  body[data-vps-page] .vps-overview.vps-supporting-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page="servers"] .vps-operational-focus {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  body[data-vps-page] .vps-shell .brand {
    padding-right: 82px;
  }

  body[data-vps-page] .vps-focus-header h2 {
    font-size: 30px;
  }

  body[data-vps-page] .vps-focus-header,
  body[data-vps-page] .vps-top-actions {
    width: 100%;
  }

  body[data-vps-page] .vps-top-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  body[data-vps-page] .vps-top-actions .primary-button {
    width: 100%;
  }

  body[data-vps-page] .vps-priority-label,
  body[data-vps-page] .vps-management-head {
    display: grid;
    gap: 5px;
    align-items: start;
  }

  body[data-vps-page] .vps-priority-label > span,
  body[data-vps-page] .vps-management-head > p {
    text-align: left;
  }

  body[data-vps-page] .vps-alert-clear {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    min-height: 0;
    padding: 17px;
  }

  body[data-vps-page] .vps-alert-clear .vps-security-mark {
    width: 40px;
    height: 40px;
  }

  body[data-vps-page] .vps-priority-action {
    grid-column: 1 / -1;
    width: 100%;
  }

  body[data-vps-page] .vps-alert-row {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  body[data-vps-page] .vps-alert-actions {
    grid-column: 1 / -1;
    padding-left: 44px;
  }

  body[data-vps-page] .vps-priority-footer {
    align-items: flex-start;
  }

  body[data-vps-page] .vps-overview.vps-supporting-metrics,
  body[data-vps-page="people"] .vps-page-metrics,
  body[data-vps-page="servers"] .vps-operational-focus {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page="people"] .vps-page-metric:last-child,
  body[data-vps-page="servers"] .vps-page-metric:last-child {
    grid-column: 1 / -1;
  }

  body[data-vps-page] .vps-workspace-grid.vps-supporting-links {
    grid-template-columns: 1fr;
  }

  body[data-vps-page] .vps-workspace-card {
    grid-template-columns: 36px minmax(0, 1fr);
    min-height: 122px;
    padding: 14px;
  }

  body[data-vps-page] .vps-workspace-step {
    width: 36px;
    height: 36px;
  }

  body[data-vps-page] .vps-filter-disclosure--collapsed[open] > .vps-filters,
  body[data-vps-page] .vps-filter-disclosure--collapsed[open] > .control-panel {
    grid-template-columns: 1fr;
  }

  body[data-vps-page] .vps-empty,
  body[data-vps-page] .vps-empty.filtered-empty {
    min-height: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-vps-page] .sidebar-primary-link,
  body[data-vps-page] .vps-workspace-link,
  body[data-vps-page] .vps-workspace-card,
  body[data-vps-page] .primary-button {
    transition: none;
  }
}

/* VPS Registry warm workspace theme */

body[data-vps-page] {
  --vps-canvas: #f2f0ea;
  --vps-sidebar: #272923;
  --vps-sidebar-surface: #30322d;
  --vps-sidebar-line: #42443d;
  --vps-surface: #fffefb;
  --vps-surface-raised: #fff;
  --vps-surface-soft: #f7f4ed;
  --vps-line: #d8d3c8;
  --vps-line-soft: #e8e4dc;
  --vps-line-strong: #beb7aa;
  --vps-copy: #292b28;
  --vps-muted: #5e635d;
  --vps-muted-soft: #686d67;
  --vps-action: #235bb0;
  --vps-action-hover: #194a91;
  --vps-action-soft: #e7eef9;
  --vps-healthy: #147563;
  --vps-healthy-soft: #e4f3ee;
  --vps-healthy-line: #aad7c9;
  --vps-renewal: #9a5d00;
  --vps-renewal-soft: #fff0d1;
  --vps-renewal-line: #e3c078;
  --vps-danger: #b6413e;
  --vps-danger-soft: #fce8e5;
  --vps-danger-line: #e4aba6;
  --vps-neutral-soft: #eeece6;
  --vps-accent: var(--vps-action);
  --vps-accent-hover: var(--vps-action-hover);
  --text: var(--vps-copy);
  --muted: var(--vps-muted);
  --muted-2: var(--vps-muted-soft);
  --line: var(--vps-line);
  --line-soft: var(--vps-line-soft);
  --blue: var(--vps-action);
  --green: var(--vps-healthy);
  --amber: var(--vps-renewal);
  --red: var(--vps-danger);
  color: var(--vps-copy);
  background: var(--vps-canvas);
}

body[data-vps-page] .vps-shell,
body[data-vps-page] .vps-main {
  background: var(--vps-canvas);
}

body[data-vps-page] .vps-main,
body[data-vps-page] .drawer,
body[data-vps-page] .vps-secret-modal {
  color-scheme: light;
}

body[data-vps-page] .sidebar {
  --text: #f5f2ea;
  --muted: #b7bbb2;
  --muted-2: #9ba097;
  --line: var(--vps-sidebar-line);
  --line-soft: rgba(255, 255, 255, .08);
  color: #f5f2ea;
  background: var(--vps-sidebar);
  border-right-color: var(--vps-sidebar-line);
}

body[data-vps-page] .sidebar .brand-logo {
  background: #30322d;
  border-color: #4a4d44;
  box-shadow: none;
}

body[data-vps-page] .sidebar .brand h1,
body[data-vps-page] .sidebar .mini-stat strong {
  color: #f5f2ea;
}

body[data-vps-page] .sidebar .brand p,
body[data-vps-page] .sidebar .side-card small {
  color: #b7bbb2;
}

body[data-vps-page] .sidebar .sidebar-label {
  color: #c8cbc3;
}

body[data-vps-page] .sidebar-primary-link {
  color: #d3d6cf;
  border-color: transparent;
}

body[data-vps-page] .sidebar-primary-link:hover {
  color: #fff;
  background: #32342f;
  border-color: #4a4d45;
}

body[data-vps-page] .sidebar-primary-link.active,
body[data-vps-page] .sidebar-primary-link[aria-current="page"],
body[data-vps-page] .sidebar-primary-link[aria-current="location"] {
  color: #fff;
  background: #393b35;
  border-color: #50534a;
}

body[data-vps-page] .sidebar-primary-link .tool-icon,
body[data-vps-page] .sidebar-primary-link .nav-icon,
body[data-vps-page] .sidebar-primary-link.active .tool-icon,
body[data-vps-page] .sidebar-primary-link.active .nav-icon {
  color: #e7e8e2;
  background: #343630;
  border-color: #4a4d44;
}

body[data-vps-page] .sidebar-primary-link > strong {
  color: #d9dcd4;
  background: #353730;
  border-color: #4c4f46;
}

body[data-vps-page] .sidebar .side-card {
  color: #f5f2ea;
  background: var(--vps-sidebar-surface);
  border-color: var(--vps-sidebar-line);
}

body[data-vps-page] .sidebar .account-shortcut {
  color: #e5e7e1;
  background: transparent;
  border-color: #4a4d44;
}

body[data-vps-page] .sidebar .account-shortcut:hover {
  color: #fff;
  background: #363832;
  border-color: #5a5e53;
}

body[data-vps-page] .sidebar .logout-button {
  color: #e5e7e1;
  background: #30322d;
  border-color: #4a4d44;
}

body[data-vps-page] .sidebar .logout-button:hover {
  color: #fff;
  background: #463331;
  border-color: #79514e;
}

body[data-vps-page] .mini-stat[data-tone="muted"] span {
  background: #9ba097;
}

body[data-vps-page] .mini-stat[data-tone="warning"] span {
  background: #d99828;
}

body[data-vps-page] .mini-stat[data-tone="danger"] span {
  background: #df6a64;
}

body[data-vps-page] .vps-focus-header h2,
body[data-vps-page] .vps-priority-label h3,
body[data-vps-page] .vps-management-head h3,
body[data-vps-page] .vps-workspace-card h3,
body[data-vps-page] .vps-card-title h3,
body[data-vps-page] .person-card-head h3,
body[data-vps-page] .drawer-title,
body[data-vps-page] .detail-card h4 {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-focus-header .page-kicker {
  color: var(--vps-muted-soft) !important;
}

body[data-vps-page] .vps-focus-header > div:first-child > p:last-child,
body[data-vps-page] .topbar p,
body[data-vps-page] .drawer-subtitle,
body[data-vps-page] .vps-workspace-card-copy > p,
body[data-vps-page] .person-card-head p {
  color: var(--vps-muted);
}

body[data-vps-page] .panel-label,
body[data-vps-page] .field > span,
body[data-vps-page] .vps-page-metric > span,
body[data-vps-page] .vps-overview .vps-kpi .panel-label {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .vps-primary-action,
body[data-vps-page] .success-button {
  color: #fff !important;
  background: var(--vps-action) !important;
  border-color: var(--vps-action) !important;
  box-shadow: none !important;
}

body[data-vps-page] .vps-primary-action:hover,
body[data-vps-page] .success-button:hover {
  color: #fff !important;
  background: var(--vps-action-hover) !important;
  border-color: var(--vps-action-hover) !important;
}

body[data-vps-page] .vps-primary-action:disabled,
body[data-vps-page] .success-button:disabled {
  color: #777c75 !important;
  cursor: not-allowed;
  background: #e1ded6 !important;
  border-color: #cbc6bb !important;
}

body[data-vps-page] .vps-quiet-action,
body[data-vps-page] .vps-secondary-button,
body[data-vps-page] .drawer-close {
  color: #3e433e;
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
  box-shadow: none;
}

body[data-vps-page] .vps-quiet-action:hover,
body[data-vps-page] .vps-secondary-button:hover,
body[data-vps-page] .drawer-close:hover {
  color: var(--vps-action-hover);
  background: var(--vps-action-soft);
  border-color: #9db5dc;
}

body[data-vps-page] .vps-primary-action:focus-visible,
body[data-vps-page] .vps-quiet-action:focus-visible,
body[data-vps-page] .vps-secondary-button:focus-visible,
body[data-vps-page] .success-button:focus-visible,
body[data-vps-page] .drawer-close:focus-visible,
body[data-vps-page] .vps-workspace-link:focus-visible,
body[data-vps-page] .vps-workspace-card:focus-visible,
body[data-vps-page] .vps-password-toggle:focus-visible {
  outline: 3px solid rgba(35, 91, 176, .28);
  outline-offset: 2px;
}

body[data-vps-page] .vps-workspace-nav--quiet {
  background: transparent;
  border-bottom-color: var(--vps-line-strong);
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link {
  color: var(--vps-muted);
  background: transparent;
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link:hover {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link.active,
body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link[aria-current="page"] {
  color: var(--vps-action-hover);
}

body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link > strong,
body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link.active > strong,
body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link[aria-current="page"] > strong {
  color: #4f544e;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .notice,
body[data-vps-page] .vps-primary-surface,
body[data-vps-page] .vps-page-metric,
body[data-vps-page] .vps-overview .vps-kpi,
body[data-vps-page] .vps-workspace-card {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line);
  box-shadow: none;
}

body[data-vps-page] .notice.loading {
  color: #4c514c;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .notice.error {
  color: var(--vps-danger);
  background: var(--vps-danger-soft);
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-priority-label > span,
body[data-vps-page] .vps-management-head > p,
body[data-vps-page] .vps-overview .vps-kpi small,
body[data-vps-page] .vps-priority-footer {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .vps-priority-card {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
  box-shadow: 0 12px 30px rgba(67, 59, 45, .08);
}

body[data-vps-page] .vps-priority-card.is-attention {
  border-left-color: var(--vps-renewal);
}

body[data-vps-page] .vps-priority-card.is-clear {
  border-left-color: var(--vps-healthy);
}

body[data-vps-page] .vps-priority-card.is-clear.is-empty {
  border-left-color: var(--vps-action);
}

body[data-vps-page] .vps-priority-card .vps-section-head {
  background: var(--vps-surface-soft);
  border-bottom-color: var(--vps-line);
}

body[data-vps-page] .vps-priority-card .vps-section-head h3,
body[data-vps-page] .vps-alert-copy strong {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-priority-card .vps-section-head > span {
  color: var(--vps-renewal);
  background: var(--vps-renewal-soft);
  border-color: var(--vps-renewal-line);
}

body[data-vps-page] .vps-alert-clear {
  color: var(--vps-copy);
  background: var(--vps-healthy-soft);
}

body[data-vps-page] .vps-alert-clear.is-empty {
  background: var(--vps-action-soft);
}

body[data-vps-page] .vps-alert-clear .vps-security-mark {
  color: var(--vps-healthy);
  background: #f2faf7;
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-alert-clear.is-empty .vps-security-mark {
  color: var(--vps-action);
  background: #f3f6fc;
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-alert-clear .panel-label {
  color: var(--vps-healthy);
}

body[data-vps-page] .vps-alert-clear.is-empty .panel-label {
  color: var(--vps-action-hover);
}

body[data-vps-page] .vps-alert-clear strong,
body[data-vps-page] .vps-alert-clear p:not(.panel-label) {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-priority-action {
  color: var(--vps-action-hover);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-priority-action:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-alert-row,
body[data-vps-page] .vps-alert-row.tone-danger,
body[data-vps-page] .vps-alert-row.tone-warning {
  background: var(--vps-surface);
  border-bottom-color: var(--vps-line-soft);
}

body[data-vps-page] .vps-alert-row.tone-warning {
  background: var(--vps-renewal-soft);
}

body[data-vps-page] .vps-alert-row.tone-danger {
  background: var(--vps-danger-soft);
}

body[data-vps-page] .vps-alert-icon {
  color: var(--vps-renewal);
  background: #fff8e9;
  border-color: var(--vps-renewal-line);
}

body[data-vps-page] .tone-danger .vps-alert-icon {
  color: var(--vps-danger);
  background: #fff4f2;
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-alert-copy .vps-alert-meta {
  color: var(--vps-muted);
}

body[data-vps-page] .vps-priority-footer {
  background: var(--vps-surface-soft);
  border-top-color: var(--vps-line);
}

body[data-vps-page] .vps-priority-footer a {
  color: var(--vps-action);
}

body[data-vps-page] .vps-priority-footer a:hover {
  color: var(--vps-action-hover);
}

body[data-vps-page] .vps-alert-actions a,
body[data-vps-page] .vps-alert-actions a:last-child {
  min-height: 42px;
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-alert-actions a:last-child {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-alert-actions a:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-alert-actions a:last-child:hover {
  color: #fff;
  background: var(--vps-healthy);
  border-color: var(--vps-healthy);
}

body[data-vps-page] .vps-overview .vps-kpi,
body[data-vps-page] .vps-page-metric {
  background: var(--vps-surface);
}

body[data-vps-page] .vps-overview .vps-kpi > strong,
body[data-vps-page] .vps-page-metric > strong {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-overview .vps-kpi.due {
  border-color: var(--vps-renewal-line);
}

body[data-vps-page] .vps-overview .vps-kpi.due > strong {
  color: var(--vps-renewal);
}

body[data-vps-page] .vps-overview .vps-kpi.danger {
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-overview .vps-kpi.danger > strong {
  color: var(--vps-danger);
}

body[data-vps-page] .vps-overview .vps-kpi[data-tone="muted"] {
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-overview .vps-kpi[data-tone="muted"] > strong {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-page-metric::before {
  background: #9a9e97;
}

body[data-vps-page="servers"] .vps-page-metric--priority,
body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="clear"] {
  border-color: var(--vps-healthy-line);
  background: var(--vps-healthy-soft);
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="clear"]::before {
  background: var(--vps-healthy);
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="clear"] > strong {
  color: var(--vps-healthy);
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="warning"] {
  border-color: var(--vps-renewal-line);
  background: var(--vps-renewal-soft);
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="warning"]::before {
  background: var(--vps-renewal);
}

body[data-vps-page="servers"] .vps-page-metric--priority[data-tone="warning"] > strong {
  color: var(--vps-renewal);
}

body[data-vps-page] .vps-workspace-card {
  background: var(--vps-surface);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-workspace-card:hover {
  color: var(--vps-copy);
  background: var(--vps-surface-raised);
  border-color: var(--vps-line-strong);
  box-shadow: 0 10px 26px rgba(67, 59, 45, .08);
}

body[data-vps-page] .vps-workspace-step {
  color: #4e534d;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-workspace-card-head > strong {
  color: #4e534d;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-workspace-card-action {
  color: var(--vps-action);
}

body[data-vps-page] .vps-utility-note {
  color: var(--vps-muted);
  border-top-color: var(--vps-line);
}

body[data-vps-page] .vps-utility-note .vps-security-mark {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-utility-note strong {
  color: #444944;
}

body[data-vps-page] .vps-utility-note p {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .field input,
body[data-vps-page] .field select,
body[data-vps-page] .field textarea,
body[data-vps-page] .vps-editor-form textarea,
body[data-vps-page] .vps-secret-form input {
  min-height: 42px;
  color: var(--vps-copy);
  background: var(--vps-surface-raised);
  border-color: #c9c3b7;
  border-radius: 8px;
  box-shadow: none;
}

body[data-vps-page] .field textarea,
body[data-vps-page] .vps-editor-form textarea {
  min-height: 82px;
}

body[data-vps-page] .field input::placeholder,
body[data-vps-page] .field textarea::placeholder,
body[data-vps-page] .vps-editor-form textarea::placeholder {
  color: #686d67;
  opacity: 1;
}

body[data-vps-page] .field input:hover,
body[data-vps-page] .field select:hover,
body[data-vps-page] .field textarea:hover,
body[data-vps-page] .vps-editor-form textarea:hover {
  border-color: #aaa396;
}

body[data-vps-page] .field input:focus,
body[data-vps-page] .field select:focus,
body[data-vps-page] .field textarea:focus,
body[data-vps-page] .vps-editor-form textarea:focus,
body[data-vps-page] .vps-secret-form input:focus {
  border-color: var(--vps-action);
  box-shadow: 0 0 0 3px rgba(35, 91, 176, .16);
}

body[data-vps-page] .vps-editor-form .field > small,
body[data-vps-page] .field > small {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .vps-results-count {
  color: #4c514c;
  background: var(--vps-surface-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-filter-disclosure summary {
  color: #464b46;
  background: var(--vps-surface);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-filter-disclosure summary::after {
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-filter-disclosure[open] summary {
  background: var(--vps-surface-soft);
  border-color: var(--vps-line-strong);
}

body[data-vps-page] .vps-filter-disclosure--collapsed[open] > .vps-filters,
body[data-vps-page] .vps-filter-disclosure--collapsed[open] > .control-panel {
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
}

body[data-vps-page] .vps-card,
body[data-vps-page] .person-card,
body[data-vps-page="people"] .people-card-grid .person-card {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line);
  border-radius: 12px;
  box-shadow: none;
}

body[data-vps-page] .vps-card {
  border-top: 1px solid var(--vps-line);
  border-left: 4px solid #969b94;
}

body[data-vps-page] .vps-card.tone-danger {
  border-top-color: var(--vps-line);
  border-left-color: var(--vps-danger);
}

body[data-vps-page] .vps-card.tone-warning {
  border-top-color: var(--vps-line);
  border-left-color: var(--vps-renewal);
}

body[data-vps-page] .vps-card.tone-healthy {
  border-top-color: var(--vps-line);
  border-left-color: var(--vps-healthy);
}

body[data-vps-page="servers"] .vps-card:hover {
  background: var(--vps-surface-raised);
  border-top-color: var(--vps-line);
  border-right-color: var(--vps-line-strong);
  border-bottom-color: var(--vps-line-strong);
  box-shadow: 0 10px 24px rgba(67, 59, 45, .08);
}

body[data-vps-page="servers"] .vps-card.tone-danger:hover {
  border-left-color: var(--vps-danger);
}

body[data-vps-page="servers"] .vps-card.tone-warning:hover {
  border-left-color: var(--vps-renewal);
}

body[data-vps-page="servers"] .vps-card.tone-healthy:hover {
  border-left-color: var(--vps-healthy);
}

body[data-vps-page] .vps-card-title p,
body[data-vps-page] .vps-broker-person small,
body[data-vps-page] .vps-broker-slot.empty,
body[data-vps-page] .vps-broker-slot.empty p,
body[data-vps-page] .person-notes {
  color: var(--vps-muted);
}

body[data-vps-page] .vps-status-dot {
  background: #92978f;
  box-shadow: none;
}

body[data-vps-page] .vps-status-dot.active {
  background: var(--vps-healthy);
}

body[data-vps-page] .vps-status-dot.paused {
  background: var(--vps-renewal);
}

body[data-vps-page] .vps-status-dot.cancelled {
  background: var(--vps-danger);
}

body[data-vps-page] .vps-due-badge.danger {
  color: var(--vps-danger);
  background: var(--vps-danger-soft);
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-due-badge.warning {
  color: var(--vps-renewal);
  background: var(--vps-renewal-soft);
  border-color: var(--vps-renewal-line);
}

body[data-vps-page] .vps-due-badge.healthy {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-due-badge.muted {
  color: #545954;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-access-strip,
body[data-vps-page] .person-contact-grid > div,
body[data-vps-page="people"] .people-card-grid .person-contact-grid > div {
  background: var(--vps-surface-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-access-strip span,
body[data-vps-page] .vps-renewal-line span,
body[data-vps-page] .person-contact-grid span {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .vps-access-strip strong,
body[data-vps-page] .vps-renewal-line strong,
body[data-vps-page] .person-contact-grid strong {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-access-strip button {
  min-height: 42px;
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-access-strip button:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-broker-slot {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-broker-slot.empty {
  background: var(--vps-surface-soft);
}

body[data-vps-page] .broker-side,
body[data-vps-page] .broker-side.side-b {
  color: #4e534d;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-broker-head > strong,
body[data-vps-page] .vps-broker-head h4,
body[data-vps-page] .vps-broker-person span {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-renewal-line {
  padding: 10px;
  background: var(--vps-surface-soft);
  border: 1px solid var(--vps-line);
  border-radius: 8px;
}

body[data-vps-page] .vps-card.tone-warning .vps-renewal-line {
  background: var(--vps-renewal-soft);
  border-color: var(--vps-renewal-line);
}

body[data-vps-page] .vps-card.tone-danger .vps-renewal-line {
  background: var(--vps-danger-soft);
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-card.tone-healthy .vps-renewal-line {
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-card-actions,
body[data-vps-page] .person-card-footer {
  background: var(--vps-surface-soft);
  border-top-color: var(--vps-line);
}

body[data-vps-page] .vps-card-actions button,
body[data-vps-page] .person-card-footer button,
body[data-vps-page] .person-card-footer a,
body[data-vps-page] .credential-row button {
  min-height: 42px;
  color: #444944;
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
}

body[data-vps-page] .vps-card-actions button:hover,
body[data-vps-page] .person-card-footer button:hover,
body[data-vps-page] .person-card-footer a:hover,
body[data-vps-page] .credential-row button:hover {
  color: var(--vps-action-hover);
  background: var(--vps-action-soft);
  border-color: #9db5dc;
}

body[data-vps-page] .vps-card-actions .renew,
body[data-vps-page] .vps-card-actions .renew:hover {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-card-actions .renew:hover {
  color: #0f5d4e;
  background: #d5ebe4;
  border-color: #7fbfac;
}

body[data-vps-page] .person-avatar,
body[data-vps-page] .broker-contact-avatar {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
  box-shadow: none;
}

body[data-vps-page] .person-assignment-chips > span,
body[data-vps-page] .person-assignment-chips > a,
body[data-vps-page] .person-assignment-chip {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .person-assignment-chips > a:hover {
  color: #0f5d4e;
  background: #d5ebe4;
  border-color: #7fbfac;
}

body[data-vps-page] .person-assignment-chips .is-empty,
body[data-vps-page] .person-assignment-chips:empty::before {
  color: var(--vps-muted);
  background: transparent;
  border-color: var(--vps-line-strong);
}

body[data-vps-page] .vps-empty,
body[data-vps-page] .vps-empty.filtered-empty {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
  box-shadow: none;
}

body[data-vps-page] .vps-empty > span,
body[data-vps-page] .vps-empty.filtered-empty > span {
  color: #4e534d;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-empty p {
  color: var(--vps-muted);
}

body[data-vps-page] .drawer-backdrop,
body[data-vps-page] .vps-modal-backdrop {
  background: rgba(39, 41, 35, .4);
  backdrop-filter: none;
}

body[data-vps-page] .drawer,
body[data-vps-page] .vps-secret-modal {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
  box-shadow: 0 24px 64px rgba(67, 59, 45, .22);
}

body[data-vps-page] .vps-drawer,
body[data-vps-page] .vps-drawer[data-mode="detail"] {
  width: min(820px, calc(100vw - 36px));
  padding: 22px;
}

body[data-vps-page] .drawer-close {
  min-width: 44px;
  min-height: 42px;
}

body[data-vps-page] .vps-editor-form,
body[data-vps-page] .person-editor-form {
  gap: 12px;
}

body[data-vps-page] .vps-form-section,
body[data-vps-page] .detail-card,
body[data-vps-page] .credential-row,
body[data-vps-page] .vps-revealed-secret {
  color: var(--vps-copy);
  background: var(--vps-surface);
  border-color: var(--vps-line);
  box-shadow: none;
}

body[data-vps-page] .vps-form-section {
  padding: 17px;
  border-radius: 12px;
}

body[data-vps-page] .vps-form-section-head {
  border-bottom-color: var(--vps-line);
}

body[data-vps-page] .vps-form-section-head h4 {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-form-section-head small {
  color: var(--vps-muted);
}

body[data-vps-page] .section-number {
  color: #4e534d;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .vps-form-grid,
body[data-vps-page] .renewal-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-vps-page] .broker-pair-section {
  background: var(--vps-surface);
}

body[data-vps-page] .vps-form-notice,
body[data-vps-page] .people-first-notice {
  color: var(--vps-copy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
  border-radius: 9px;
}

body[data-vps-page] .vps-form-notice span {
  color: var(--vps-muted);
}

body[data-vps-page] .people-first-notice strong {
  color: var(--vps-healthy);
}

body[data-vps-page] .broker-form-section {
  background: var(--vps-surface-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .broker-person-field {
  background: var(--vps-surface);
  border-color: var(--vps-line);
}

body[data-vps-page] .broker-person-field > span {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .broker-contact-preview {
  color: var(--vps-copy);
  box-shadow: none;
}

body[data-vps-page] .broker-contact-preview.is-assigned {
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .broker-contact-preview.is-unassigned {
  color: var(--vps-muted);
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
}

body[data-vps-page] .broker-contact-preview-copy strong,
body[data-vps-page] .broker-contact-preview-copy > span,
body[data-vps-page] .broker-contact-details dd {
  color: var(--vps-copy);
}

body[data-vps-page] .broker-contact-preview-copy small,
body[data-vps-page] .broker-contact-helper {
  color: var(--vps-healthy);
}

body[data-vps-page] .broker-contact-details > div {
  background: rgba(255, 255, 255, .62);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .broker-contact-details dt {
  color: var(--vps-muted-soft);
}

body[data-vps-page] .vps-clear-secret {
  color: var(--vps-danger);
  background: var(--vps-danger-soft);
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-password-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  min-width: 0;
}

body[data-vps-page] .vps-password-control > input {
  min-width: 0;
  border-radius: 8px 0 0 8px;
}

body[data-vps-page] .vps-password-toggle {
  min-width: 64px;
  min-height: 42px;
  padding: 7px 11px;
  color: var(--vps-action);
  font-size: 11px;
  font-weight: 850;
  background: var(--vps-action-soft);
  border: 1px solid #b8c8e0;
  border-left: 0;
  border-radius: 0 8px 8px 0;
}

body[data-vps-page] .vps-password-toggle:hover,
body[data-vps-page] .vps-password-toggle[aria-pressed="true"] {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-form-error {
  padding: 11px 13px;
  color: var(--vps-danger);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.45;
  background: var(--vps-danger-soft);
  border: 1px solid var(--vps-danger-line);
  border-radius: 9px;
}

body[data-vps-page] .vps-editor-form [aria-invalid="true"],
body[data-vps-page] .vps-editor-form .is-invalid,
body[data-vps-page] .vps-editor-form .field.has-error input,
body[data-vps-page] .vps-editor-form .field.has-error select,
body[data-vps-page] .vps-editor-form .field.has-error textarea {
  background: #fff9f8;
  border-color: var(--vps-danger);
  box-shadow: 0 0 0 3px rgba(182, 65, 62, .12);
}

body[data-vps-page] .vps-wizard-header {
  display: grid;
  gap: 8px;
  padding: 12px;
  background: var(--vps-surface-soft);
  border: 1px solid var(--vps-line);
  border-radius: 11px;
}

body[data-vps-page] .vps-wizard-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body[data-vps-page] .vps-wizard-progress li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 44px;
  padding: 6px 8px;
  color: var(--vps-muted);
  background: var(--vps-surface);
  border: 1px solid var(--vps-line);
  border-radius: 9px;
}

body[data-vps-page] .vps-wizard-progress li > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #555a54;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 900;
  background: var(--vps-neutral-soft);
  border: 1px solid var(--vps-line);
  border-radius: 8px;
}

body[data-vps-page] .vps-wizard-progress li > strong {
  overflow: hidden;
  color: inherit;
  font-size: 11px;
  line-height: 1.25;
  text-overflow: ellipsis;
}

body[data-vps-page] .vps-wizard-progress li.is-active {
  color: var(--vps-copy);
  background: var(--vps-surface-raised);
  border-color: #8f948c;
}

body[data-vps-page] .vps-wizard-progress li.is-active > span {
  color: #fff;
  background: #4b504a;
  border-color: #4b504a;
}

body[data-vps-page] .vps-wizard-progress li.is-complete {
  color: var(--vps-healthy);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-wizard-progress li.is-complete > span {
  color: var(--vps-healthy);
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-wizard-status {
  margin: 0;
  color: var(--vps-muted);
  font-size: 11px;
  text-align: right;
}

body[data-vps-page] .vps-wizard-panel {
  min-width: 0;
}

body[data-vps-page] .vps-sticky-actions,
body[data-vps-page] .vps-wizard-actions {
  gap: 8px;
  margin-right: -22px;
  margin-left: -22px;
  padding: 14px 22px 22px;
  background: rgba(255, 254, 251, .98);
  border-top-color: var(--vps-line);
  backdrop-filter: none;
}

body[data-vps-page] .vps-wizard-actions [data-action="cancel"] {
  margin-right: auto;
}

body[data-vps-page] .vps-wizard-actions button {
  min-height: 44px;
}

body[data-vps-page] .vps-detail-actions {
  background: var(--vps-surface-soft);
  border-color: var(--vps-line);
}

body[data-vps-page] .danger-button {
  min-height: 42px;
  color: var(--vps-danger);
  background: var(--vps-danger-soft);
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .danger-button:hover {
  color: #fff;
  background: var(--vps-danger);
  border-color: var(--vps-danger);
}

body[data-vps-page] .credential-row > span,
body[data-vps-page] .vps-revealed-secret > span,
body[data-vps-page] .vps-modal-copy {
  color: var(--vps-muted);
}

body[data-vps-page] .credential-row > strong,
body[data-vps-page] .credential-row code,
body[data-vps-page] .vps-revealed-secret code {
  color: var(--vps-copy);
}

body[data-vps-page] .vps-secret-modal {
  background: var(--vps-surface);
}

body[data-vps-page] .vps-revealed-secret {
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-inline-secret-row {
  transition: background-color .15s ease, border-color .15s ease;
}

body[data-vps-page] .vps-inline-secret-row.is-revealed {
  background: var(--vps-healthy-soft);
  border-bottom-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-inline-secret-row[data-secret-busy="true"] {
  cursor: wait;
  opacity: .72;
}

body[data-vps-page] .vps-inline-secret-row [data-inline-secret-value] {
  color: var(--vps-copy);
  font-variant-numeric: tabular-nums;
}

body[data-vps-page] .vps-inline-secret-row.is-revealed [data-inline-secret-value] {
  color: #0f5d4e;
}

body[data-vps-page] .vps-inline-secret-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

body[data-vps-page] .vps-inline-secret-actions button[aria-pressed="true"] {
  color: var(--vps-healthy);
  background: #f2faf7;
  border-color: var(--vps-healthy-line);
}

body[data-vps-page] .vps-inline-secret-actions button:disabled {
  color: #777c75;
  cursor: not-allowed;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
  opacity: 1;
}

body[data-vps-page] .primary-button:not(.vps-primary-action):not(.success-button):not(.vps-secondary-button):not(.vps-quiet-action):not(.vps-inline-secret-bulk) {
  min-height: 42px;
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .primary-button:not(.vps-primary-action):not(.success-button):not(.vps-secondary-button):not(.vps-quiet-action):not(.vps-inline-secret-bulk):hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-revealed-secret .side-button {
  min-height: 42px;
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-inline-secret-bulk {
  min-height: 42px;
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page] .vps-inline-secret-bulk:hover,
body[data-vps-page] .vps-inline-secret-bulk[aria-pressed="true"] {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-inline-secret-bulk:disabled {
  color: #777c75;
  cursor: wait;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

@media (max-width: 900px) {
  body[data-vps-page] .vps-shell .sidebar {
    border-bottom-color: var(--vps-sidebar-line);
  }

  body[data-vps-page] .vps-shell .account-shortcut,
  body[data-vps-page] .vps-shell .account-shortcut:hover {
    color: transparent;
    background: #30322d;
    border-color: #4a4d44;
  }

  body[data-vps-page] .sidebar-primary-link .nav-icon,
  body[data-vps-page] .sidebar-primary-link.active .nav-icon {
    background: transparent;
    border: 0;
  }

  body[data-vps-page] .vps-workspace-nav--quiet {
    background: var(--vps-surface);
    border-color: var(--vps-line);
  }

  body[data-vps-page] .vps-drawer,
  body[data-vps-page] .vps-drawer[data-mode="detail"] {
    width: calc(100vw - 16px);
    padding: 20px;
  }

  body[data-vps-page] .vps-sticky-actions,
  body[data-vps-page] .vps-wizard-actions {
    margin-right: -20px;
    margin-left: -20px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (max-width: 720px) {
  body[data-vps-page] .broker-pair-grid,
  body[data-vps-page] .vps-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  body[data-vps-page] .vps-main {
    padding: 18px 12px 30px;
  }

  body[data-vps-page] .vps-workspace-nav--quiet .vps-workspace-link {
    min-height: 44px;
  }

  body[data-vps-page] .vps-drawer,
  body[data-vps-page] .vps-drawer[data-mode="detail"] {
    width: 100vw;
    padding: 17px 15px;
    border: 0;
    border-radius: 0;
  }

  body[data-vps-page] .vps-form-grid,
  body[data-vps-page] .renewal-form-grid,
  body[data-vps-page] .broker-form-grid {
    grid-template-columns: 1fr;
  }

  body[data-vps-page] .vps-wizard-header {
    padding: 8px;
  }

  body[data-vps-page] .vps-wizard-progress {
    gap: 5px;
  }

  body[data-vps-page] .vps-wizard-progress li {
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 5px;
    min-height: 48px;
    padding: 5px;
  }

  body[data-vps-page] .vps-wizard-progress li > span {
    width: 24px;
    height: 24px;
  }

  body[data-vps-page] .vps-wizard-progress li > strong {
    font-size: 9px;
    white-space: normal;
  }

  body[data-vps-page] .vps-wizard-status {
    text-align: left;
  }

  body[data-vps-page] .vps-sticky-actions,
  body[data-vps-page] .vps-wizard-actions {
    gap: 6px;
    margin-right: -15px;
    margin-left: -15px;
    padding-right: 15px;
    padding-left: 15px;
  }

  body[data-vps-page] .vps-wizard-actions [data-action="cancel"] {
    margin-right: 0;
  }

  body[data-vps-page] .vps-wizard-actions {
    display: flex;
    flex-wrap: nowrap;
    grid-template-columns: none;
  }

  body[data-vps-page] .vps-wizard-actions button {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 8px;
    font-size: 11px;
  }

  body[data-vps-page] .vps-card-actions,
  body[data-vps-page] .person-card-footer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page] .vps-card-actions .renew {
    grid-column: 1 / -1;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-vps-page] .vps-wizard-progress li,
  body[data-vps-page] .vps-password-toggle,
  body[data-vps-page] .vps-inline-secret-row,
  body[data-vps-page] .vps-card,
  body[data-vps-page] .person-card {
    transition: none;
  }
}

/* VPS Registry typography, fleet, and server-card refinement */

body[data-vps-page] {
  --vps-ui-font: "Segoe UI Variable Text", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --vps-data-font: "Cascadia Mono", "Segoe UI Mono", "SFMono-Regular", Consolas, monospace;
  --vps-broker-a: #8b4a2d;
  --vps-broker-a-soft: #fbf0e8;
  --vps-broker-a-line: #d8b39e;
  --vps-broker-b: #5d683f;
  --vps-broker-b-soft: #f1f4e9;
  --vps-broker-b-line: #bdc8a5;
  font-family: var(--vps-ui-font);
  font-size: 14px;
  line-height: 1.45;
}

body[data-vps-page] button,
body[data-vps-page] input,
body[data-vps-page] select,
body[data-vps-page] textarea,
body[data-vps-page] a,
body[data-vps-page] h1,
body[data-vps-page] h2,
body[data-vps-page] h3,
body[data-vps-page] h4,
body[data-vps-page] h5,
body[data-vps-page] .page-kicker,
body[data-vps-page] .panel-label,
body[data-vps-page] .section-number,
body[data-vps-page] .broker-side,
body[data-vps-page] .vps-workspace-step,
body[data-vps-page] .vps-due-badge,
body[data-vps-page] .vps-card-status,
body[data-vps-page] .vps-wizard-progress li > span,
body[data-vps-page] .vps-wizard-progress li > strong {
  font-family: var(--vps-ui-font);
}

body[data-vps-page] .vps-focus-header h2 {
  font-weight: 720;
  letter-spacing: -.035em;
}

body[data-vps-page] .vps-focus-header .page-kicker,
body[data-vps-page] .panel-label,
body[data-vps-page] .field > span,
body[data-vps-page] .vps-page-metric > span {
  font-weight: 700;
  letter-spacing: .075em;
}

body[data-vps-page] .vps-primary-action,
body[data-vps-page] .vps-secondary-button,
body[data-vps-page] .vps-quiet-action,
body[data-vps-page] .success-button,
body[data-vps-page] .danger-button,
body[data-vps-page] .vps-card-actions button,
body[data-vps-page] .vps-detail-actions button,
body[data-vps-page] .credential-row button,
body[data-vps-page] .vps-endpoint-copy {
  font-family: var(--vps-ui-font);
  font-weight: 700;
  letter-spacing: 0;
}

body[data-vps-page] .vps-overview .vps-kpi > strong,
body[data-vps-page] .vps-page-metric > strong,
body[data-vps-page] .vps-fleet-value {
  font-family: var(--vps-ui-font);
  font-variant-numeric: tabular-nums;
}

body[data-vps-page] .vps-endpoint-value,
body[data-vps-page] .vps-inline-secret-row [data-inline-secret-value],
body[data-vps-page] input[name="ip_address"],
body[data-vps-page] input[name="remote_port"],
body[data-vps-page] input[name="login_username"],
body[data-vps-page] input[name$="_account_login"],
body[data-vps-page] .vps-password-control input {
  font-family: var(--vps-data-font);
  font-variant-numeric: tabular-nums;
}

body[data-vps-page] .vps-access-strip strong:not(.vps-endpoint-value),
body[data-vps-page] .vps-renewal-line strong,
body[data-vps-page] .credential-row > strong:not(.vps-endpoint-value):not([data-inline-secret-value]),
body[data-vps-page] .credential-row code,
body[data-vps-page] .person-contact-grid strong,
body[data-vps-page] .broker-contact-details dd {
  font-family: var(--vps-ui-font);
}

body[data-vps-page] .vps-renewal-line strong {
  font-variant-numeric: tabular-nums;
}

body[data-vps-page] .vps-fleet-section {
  margin: 0 0 22px;
}

body[data-vps-page] .vps-fleet-head {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 11px;
}

body[data-vps-page] .vps-fleet-head > div {
  min-width: 0;
}

body[data-vps-page] .vps-fleet-head h3 {
  margin: 0;
  color: var(--vps-copy);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.02em;
}

body[data-vps-page] .vps-fleet-head p {
  max-width: 560px;
  margin: 4px 0 0;
  color: var(--vps-muted);
  font-size: 12px;
}

body[data-vps-page] .vps-fleet-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

body[data-vps-page] .vps-fleet-tile {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 6px;
  min-width: 0;
  min-height: 132px;
  padding: 16px;
  color: var(--vps-copy);
  background: var(--vps-surface);
  border: 1px solid var(--vps-line);
  border-left: 4px solid #8f948c;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(67, 59, 45, .06);
}

body[data-vps-page] .vps-fleet-tile--renewal {
  background: var(--vps-renewal-soft);
  border-color: var(--vps-renewal-line);
  border-left-color: var(--vps-renewal);
}

body[data-vps-page] .vps-fleet-tile--access {
  background: var(--vps-neutral-soft);
  border-color: #c9c3b8;
  border-left-color: #666b65;
}

body[data-vps-page] .vps-fleet-tile--brokers {
  background: var(--vps-healthy-soft);
  border-color: var(--vps-healthy-line);
  border-left-color: var(--vps-healthy);
}

body[data-vps-page] .vps-fleet-label {
  color: var(--vps-muted-soft);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
}

body[data-vps-page] .vps-fleet-tile--renewal .vps-fleet-label {
  color: var(--vps-renewal);
}

body[data-vps-page] .vps-fleet-tile--brokers .vps-fleet-label {
  color: var(--vps-healthy);
}

body[data-vps-page] .vps-fleet-value {
  align-self: center;
  overflow-wrap: anywhere;
  color: var(--vps-copy);
  font-size: clamp(25px, 2.6vw, 34px);
  font-weight: 720;
  line-height: 1.05;
  letter-spacing: -.035em;
}

body[data-vps-page] .vps-fleet-meta {
  margin: 0;
  color: var(--vps-muted);
  font-size: 11px;
  line-height: 1.4;
}

body[data-vps-page="servers"] .vps-card-grid {
  gap: 16px;
}

body[data-vps-page="servers"] .vps-card {
  padding: 18px;
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(67, 59, 45, .09);
}

body[data-vps-page="servers"] .vps-card:hover {
  box-shadow: 0 14px 30px rgba(67, 59, 45, .12);
}

body[data-vps-page="servers"] .vps-card-head {
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 14px;
}

body[data-vps-page="servers"] .vps-card-title {
  grid-template-columns: 9px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
}

body[data-vps-page="servers"] .vps-card-title .vps-status-dot {
  margin-top: 8px;
}

body[data-vps-page="servers"] .vps-card-title h3 {
  color: var(--vps-copy);
  font-size: 21px;
  font-weight: 720;
  line-height: 1.18;
  letter-spacing: -.025em;
}

body[data-vps-page="servers"] .vps-card-title p {
  margin-top: 4px;
  color: var(--vps-muted);
  font-size: 12.5px;
  line-height: 1.35;
}

body[data-vps-page] .vps-card-status {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px;
  color: #4d524c;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  background: var(--vps-neutral-soft);
  border: 1px solid var(--vps-line);
  border-radius: 999px;
}

body[data-vps-page] .vps-card-status .vps-status-dot {
  flex: 0 0 auto;
}

body[data-vps-page] .vps-connection-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  min-width: 0;
  padding: 12px;
  background: var(--vps-surface-soft);
  border: 1px solid var(--vps-line);
  border-radius: 10px;
}

body[data-vps-page] .vps-endpoint-group {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0;
  align-items: stretch;
  min-width: 0;
}

body[data-vps-page] .vps-endpoint-group > span,
body[data-vps-page] .vps-endpoint-group > small,
body[data-vps-page] .vps-endpoint-group > label {
  grid-column: 1 / -1;
  margin-bottom: 5px;
  color: var(--vps-muted-soft);
  font-family: var(--vps-ui-font);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .075em;
  text-transform: uppercase;
}

body[data-vps-page] .vps-endpoint-value {
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 42px;
  padding: 8px 11px;
  overflow: hidden;
  color: var(--vps-copy);
  font-size: 13px;
  font-weight: 650;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: var(--vps-surface-raised);
  border: 1px solid #c9c3b7;
  border-radius: 8px 0 0 8px;
}

body[data-vps-page] .vps-endpoint-copy {
  min-width: 64px;
  min-height: 42px;
  margin-left: -1px;
  padding: 7px 11px;
  color: var(--vps-action);
  font-size: 11px;
  background: var(--vps-action-soft);
  border: 1px solid #b8c8e0;
  border-radius: 0 8px 8px 0;
}

body[data-vps-page] .vps-endpoint-copy:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-connection-strip > .vps-card-status {
  align-self: center;
  justify-self: end;
}

body[data-vps-page="servers"] .vps-access-strip {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 0;
  padding: 11px;
}

body[data-vps-page="servers"] .vps-access-strip > div:first-child {
  min-height: 42px;
  padding: 6px 11px;
  background: var(--vps-surface-raised);
  border: 1px solid #c9c3b7;
  border-radius: 8px 0 0 8px;
}

body[data-vps-page="servers"] .vps-access-strip > button {
  min-width: 64px;
  margin-right: 12px;
  margin-left: -1px;
  border-radius: 0 8px 8px 0;
}

body[data-vps-page="servers"] .vps-access-strip > div:last-child {
  align-self: center;
  padding-left: 12px;
}

body[data-vps-page="servers"] .vps-broker-grid {
  gap: 11px;
  margin-top: 12px;
}

body[data-vps-page="servers"] .vps-broker-slot {
  min-height: 96px;
  padding: 12px;
  border-radius: 10px;
}

body[data-vps-page="servers"] .vps-broker-slot:has(.broker-side.side-a) {
  background: var(--vps-broker-a-soft);
  border-color: var(--vps-broker-a-line);
  border-left: 3px solid var(--vps-broker-a);
}

body[data-vps-page="servers"] .vps-broker-slot:has(.broker-side.side-b) {
  background: var(--vps-broker-b-soft);
  border-color: var(--vps-broker-b-line);
  border-left: 3px solid var(--vps-broker-b);
}

body[data-vps-page="servers"] .vps-broker-slot.empty {
  border-style: dashed;
}

body[data-vps-page] .broker-side.side-a {
  color: var(--vps-broker-a);
  background: #fff8f3;
  border-color: var(--vps-broker-a-line);
}

body[data-vps-page] .broker-side.side-b {
  color: var(--vps-broker-b);
  background: #fafcf5;
  border-color: var(--vps-broker-b-line);
}

body[data-vps-page="servers"] .vps-broker-head > strong {
  color: var(--vps-copy);
  font-size: 13.5px;
  font-weight: 700;
}

body[data-vps-page="servers"] .vps-broker-person {
  gap: 8px;
  margin: 9px 0 0;
}

body[data-vps-page="servers"] .vps-broker-person span {
  font-weight: 700;
}

body[data-vps-page="servers"] .vps-broker-person small {
  color: var(--vps-muted);
  font-family: var(--vps-data-font);
}

body[data-vps-page="servers"] .vps-renewal-line {
  gap: 9px;
  margin-top: 12px;
  padding: 11px 12px;
  border-radius: 9px;
}

body[data-vps-page="servers"] .vps-renewal-line span {
  margin-bottom: 4px;
  font-family: var(--vps-ui-font);
  letter-spacing: .07em;
}

body[data-vps-page="servers"] .vps-renewal-line strong {
  font-size: 12.5px;
  font-weight: 650;
}

body[data-vps-page="servers"] .vps-card-actions {
  gap: 8px;
  min-height: 59px;
  margin: 14px -18px -18px;
  padding: 10px 18px;
}

body[data-vps-page="servers"] .vps-card-actions button {
  min-height: 42px;
  padding: 8px 12px;
  font-size: 12px;
}

body[data-vps-page="servers"] .vps-card-actions button[data-vps-action="details"] {
  color: var(--vps-action);
  background: var(--vps-action-soft);
  border-color: #b8c8e0;
}

body[data-vps-page="servers"] .vps-card-actions button[data-vps-action="details"]:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page="servers"] .vps-card-actions button[data-vps-action="edit"] {
  color: #464b46;
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
}

body[data-vps-page="servers"] .vps-card-actions button[data-vps-action="edit"]:hover {
  color: #303430;
  background: var(--vps-neutral-soft);
  border-color: #9b958a;
}

body[data-vps-page="servers"] .vps-card-actions button[data-vps-action="renew"] {
  color: #fff;
  background: var(--vps-healthy);
  border-color: var(--vps-healthy);
}

body[data-vps-page="servers"] .vps-card-actions button[data-vps-action="renew"]:hover {
  color: #fff;
  background: #0f5d4e;
  border-color: #0f5d4e;
}

body[data-vps-page] .vps-detail-actions {
  gap: 8px;
  padding: 10px;
}

body[data-vps-page] .vps-action-reveal,
body[data-vps-page] .vps-inline-secret-bulk {
  min-height: 42px;
  color: var(--vps-renewal);
  background: var(--vps-renewal-soft);
  border-color: var(--vps-renewal-line);
}

body[data-vps-page] .vps-action-reveal:hover,
body[data-vps-page] .vps-action-reveal[aria-pressed="true"],
body[data-vps-page] .vps-inline-secret-bulk:hover,
body[data-vps-page] .vps-inline-secret-bulk[aria-pressed="true"] {
  color: #fff;
  background: #875000;
  border-color: #875000;
}

body[data-vps-page] .vps-action-edit {
  min-height: 42px;
  color: #464b46;
  background: var(--vps-surface);
  border-color: var(--vps-line-strong);
}

body[data-vps-page] .vps-action-edit:hover {
  color: #303430;
  background: var(--vps-neutral-soft);
  border-color: #9b958a;
}

body[data-vps-page] .vps-action-renew {
  min-height: 42px;
  color: #fff !important;
  background: var(--vps-healthy) !important;
  border-color: var(--vps-healthy) !important;
}

body[data-vps-page] .vps-action-renew:hover {
  color: #fff !important;
  background: #0f5d4e !important;
  border-color: #0f5d4e !important;
}

body[data-vps-page] .vps-action-archive {
  min-height: 42px;
  color: var(--vps-danger);
  background: var(--vps-surface);
  border-color: var(--vps-danger-line);
}

body[data-vps-page] .vps-action-archive:hover {
  color: var(--vps-danger);
  background: var(--vps-danger-soft);
  border-color: var(--vps-danger);
}

body[data-vps-page] .vps-endpoint-row {
  grid-template-columns: minmax(118px, .55fr) minmax(0, 1.45fr) auto;
  gap: 0;
  padding: 9px 0;
}

body[data-vps-page] .vps-endpoint-row > span {
  align-self: center;
  padding-right: 12px;
}

body[data-vps-page] .vps-endpoint-row > strong {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 8px 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: var(--vps-surface-raised);
  border: 1px solid #c9c3b7;
  border-radius: 8px 0 0 8px;
}

body[data-vps-page] .vps-endpoint-row > div {
  gap: 0;
}

body[data-vps-page] .vps-endpoint-row .vps-endpoint-copy {
  height: 100%;
}

@media (max-width: 900px) {
  body[data-vps-page] .vps-fleet-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body[data-vps-page] .vps-fleet-tile--brokers {
    grid-column: 1 / -1;
  }

  body[data-vps-page="servers"] .vps-card-title h3 {
    font-size: 20px;
  }
}

@media (max-width: 720px) {
  body[data-vps-page] .vps-connection-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  body[data-vps-page] .vps-connection-strip > .vps-card-status {
    justify-self: start;
  }

  body[data-vps-page="servers"] .vps-access-strip {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-vps-page="servers"] .vps-access-strip > div:last-child {
    grid-column: 1 / -1;
    padding: 9px 0 0;
    border-top: 1px solid var(--vps-line);
  }
}

@media (max-width: 560px) {
  body[data-vps-page] .vps-fleet-head {
    display: grid;
    gap: 5px;
    align-items: start;
  }

  body[data-vps-page] .vps-fleet-grid {
    grid-template-columns: 1fr;
  }

  body[data-vps-page] .vps-fleet-tile--brokers {
    grid-column: auto;
  }

  body[data-vps-page] .vps-fleet-tile {
    min-height: 112px;
    padding: 14px;
  }

  body[data-vps-page="servers"] .vps-card {
    padding: 15px;
  }

  body[data-vps-page="servers"] .vps-card-head {
    gap: 10px;
  }

  body[data-vps-page="servers"] .vps-card-title h3 {
    font-size: 19px;
  }

  body[data-vps-page="servers"] .vps-card-actions {
    margin: 13px -15px -15px;
    padding: 10px 15px;
  }

  body[data-vps-page] .vps-endpoint-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-vps-page] .vps-endpoint-row > span {
    grid-column: 1 / -1;
    grid-row: 1;
    padding: 0 0 6px;
  }

  body[data-vps-page] .vps-endpoint-row > strong {
    grid-column: 1;
    grid-row: 2;
  }

  body[data-vps-page] .vps-endpoint-row > div {
    grid-column: 2;
    grid-row: 2;
    align-self: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-vps-page] .vps-fleet-tile,
  body[data-vps-page] .vps-connection-strip,
  body[data-vps-page] .vps-endpoint-copy {
    transition: none;
  }
}

/* VPS Registry live-markup alignment and interaction finish */
body[data-vps-page] .vps-fleet-head > div > .panel-label {
  margin: 0 0 4px;
}

body[data-vps-page] .vps-fleet-head > a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 13px;
  color: var(--vps-action);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  background: var(--vps-action-soft);
  border: 1px solid #b8c8e0;
  border-radius: 9px;
}

body[data-vps-page] .vps-fleet-head > a:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-fleet-head > a:focus-visible,
body[data-vps-page] .vps-fleet-tile:focus-visible,
body[data-vps-page] .vps-endpoint-copy:focus-visible {
  outline: 3px solid var(--vps-action);
  outline-offset: 2px;
}

body[data-vps-page] a.vps-fleet-tile {
  text-decoration: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}

body[data-vps-page] a.vps-fleet-tile:hover {
  border-color: var(--vps-renewal);
  box-shadow: 0 11px 24px rgba(67, 59, 45, .11);
}

body[data-vps-page] .vps-fleet-tile--renewal .vps-fleet-value {
  font-size: clamp(20px, 2.1vw, 28px);
  line-height: 1.12;
}

body[data-vps-page="servers"] .vps-access-strip.vps-connection-strip > .vps-endpoint-group {
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

body[data-vps-page="servers"] .vps-access-strip.vps-connection-strip > .vps-card-status {
  align-self: end;
  justify-self: end;
  min-height: 28px;
  padding: 4px 9px;
  border: 1px solid var(--vps-line);
}

body[data-vps-page] .vps-card-status > span {
  margin: 0;
  color: var(--vps-muted-soft);
  font-family: var(--vps-ui-font);
  font-size: 9px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: .065em;
  text-transform: uppercase;
}

body[data-vps-page] .vps-card-status > strong {
  color: var(--vps-copy);
  font-family: var(--vps-ui-font);
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

body[data-vps-page] .vps-endpoint-copy:disabled {
  color: var(--vps-muted);
  cursor: not-allowed;
  background: var(--vps-neutral-soft);
  border-color: var(--vps-line);
}

@media (max-width: 720px) {
  body[data-vps-page="servers"] .vps-access-strip.vps-connection-strip > .vps-card-status {
    grid-column: 1 / -1;
    justify-self: start;
    margin-top: 9px;
    padding: 4px 9px;
    border: 1px solid var(--vps-line);
  }
}

@media (max-width: 560px) {
  body[data-vps-page] .vps-fleet-head > a {
    width: 100%;
    margin-top: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-vps-page] a.vps-fleet-tile {
    transition: none;
  }
}

/* VPS Registry overview roster: one restrained operational list */
body[data-vps-page] .vps-roster-section {
  margin: 0 0 22px;
  overflow: hidden;
  color: var(--vps-copy);
  background: var(--vps-surface);
  border: 1px solid var(--vps-line);
  border-radius: 12px;
  box-shadow: none;
}

body[data-vps-page] .vps-roster-head {
  display: flex;
  gap: 20px;
  align-items: flex-end;
  justify-content: space-between;
  padding: 15px 17px 14px;
  background: var(--vps-surface);
  border-bottom: 1px solid var(--vps-line);
}

body[data-vps-page] .vps-roster-head > div {
  min-width: 0;
}

body[data-vps-page] .vps-roster-head .panel-label {
  margin: 0 0 4px;
}

body[data-vps-page] .vps-roster-head h3 {
  margin: 0;
  color: var(--vps-copy);
  font-family: var(--vps-ui-font);
  font-size: 18px;
  font-weight: 720;
  line-height: 1.2;
  letter-spacing: -.02em;
}

body[data-vps-page] .vps-roster-head h3 + p {
  max-width: 630px;
  margin: 4px 0 0;
  color: var(--vps-muted);
  font-size: 12px;
  line-height: 1.45;
}

body[data-vps-page] .vps-roster-head > a,
body[data-vps-page] .vps-roster-empty > a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 8px 13px;
  color: var(--vps-action);
  font-family: var(--vps-ui-font);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  background: var(--vps-action-soft);
  border: 1px solid #b8c8e0;
  border-radius: 9px;
}

body[data-vps-page] .vps-roster-head > a:hover,
body[data-vps-page] .vps-roster-empty > a:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-roster-list {
  display: grid;
  min-width: 0;
  background: var(--vps-surface);
}

body[data-vps-page] .vps-roster-list:empty {
  display: none;
}

body[data-vps-page] .vps-roster-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(205px, 1.25fr) minmax(132px, .68fr) minmax(220px, 1fr) auto;
  gap: 15px;
  align-items: center;
  min-width: 0;
  min-height: 78px;
  padding: 12px 16px 12px 13px;
  background: var(--vps-surface);
  border: 0;
  border-bottom: 1px solid var(--vps-line-soft);
  border-left: 3px solid #aaa69c;
  border-radius: 0;
  box-shadow: none;
  transition: background-color .16s ease, border-left-color .16s ease;
}

body[data-vps-page] .vps-roster-row:last-child {
  border-bottom: 0;
}

body[data-vps-page] .vps-roster-row:hover {
  background: #faf8f3;
}

body[data-vps-page] .vps-roster-row.tone-danger {
  border-left-color: var(--vps-danger);
}

body[data-vps-page] .vps-roster-row.tone-warning {
  border-left-color: var(--vps-renewal);
}

body[data-vps-page] .vps-roster-row.tone-healthy {
  border-left-color: var(--vps-healthy);
}

body[data-vps-page] .vps-roster-row.tone-muted {
  border-left-color: #aaa69c;
}

body[data-vps-page] .vps-roster-identity {
  display: grid;
  grid-template-columns: 9px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
}

body[data-vps-page] .vps-roster-identity > .vps-status-dot {
  margin-top: 6px;
}

body[data-vps-page] .vps-roster-identity > div {
  min-width: 0;
}

body[data-vps-page] .vps-roster-identity strong {
  display: block;
  overflow: hidden;
  color: var(--vps-copy);
  font-family: var(--vps-ui-font);
  font-size: 15px;
  font-weight: 720;
  line-height: 1.25;
  letter-spacing: -.012em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-vps-page] .vps-roster-identity > div > span {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--vps-muted);
  font-family: var(--vps-ui-font);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-vps-page] .vps-roster-renewal {
  display: grid;
  gap: 2px;
  min-width: 0;
}

body[data-vps-page] .vps-roster-renewal > span {
  color: var(--vps-muted-soft);
  font-family: var(--vps-ui-font);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}

body[data-vps-page] .vps-roster-renewal > strong {
  overflow: hidden;
  color: var(--vps-copy);
  font-family: var(--vps-ui-font);
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

body[data-vps-page] .vps-roster-renewal > small {
  overflow: hidden;
  color: var(--vps-muted);
  font-family: var(--vps-ui-font);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-vps-page] .vps-roster-row.tone-danger .vps-roster-renewal > small {
  color: var(--vps-danger);
}

body[data-vps-page] .vps-roster-row.tone-warning .vps-roster-renewal > small {
  color: var(--vps-renewal);
}

body[data-vps-page] .vps-roster-row.tone-healthy .vps-roster-renewal > small {
  color: var(--vps-healthy);
}

body[data-vps-page] .vps-roster-brokers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

body[data-vps-page] .vps-roster-broker {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  min-width: 0;
  min-height: 34px;
  padding: 4px 7px 4px 4px;
  background: #faf9f5;
  border: 1px solid var(--vps-line-soft);
  border-radius: 7px;
}

body[data-vps-page] .vps-roster-broker > span {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  font-family: var(--vps-ui-font);
  font-size: 9px;
  font-weight: 800;
  line-height: 1;
  border: 1px solid;
  border-radius: 6px;
}

body[data-vps-page] .vps-roster-broker.side-a > span {
  color: var(--vps-broker-a);
  background: var(--vps-broker-a-soft);
  border-color: var(--vps-broker-a-line);
}

body[data-vps-page] .vps-roster-broker.side-b > span {
  color: var(--vps-broker-b);
  background: var(--vps-broker-b-soft);
  border-color: var(--vps-broker-b-line);
}

body[data-vps-page] .vps-roster-broker > strong {
  min-width: 0;
  overflow: hidden;
  color: #464b46;
  font-family: var(--vps-ui-font);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-vps-page] .vps-roster-open {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--vps-action);
  font-family: var(--vps-ui-font);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  background: var(--vps-action-soft);
  border: 1px solid #b8c8e0;
  border-radius: 8px;
}

body[data-vps-page] .vps-roster-open:hover {
  color: #fff;
  background: var(--vps-action);
  border-color: var(--vps-action);
}

body[data-vps-page] .vps-roster-head > a:focus-visible,
body[data-vps-page] .vps-roster-open:focus-visible,
body[data-vps-page] .vps-roster-empty > a:focus-visible {
  outline: 3px solid var(--vps-action);
  outline-offset: 2px;
}

body[data-vps-page] .vps-roster-empty {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  min-height: 92px;
  padding: 18px;
  color: var(--vps-muted);
  background: var(--vps-surface);
}

body[data-vps-page] .vps-roster-empty > p {
  max-width: 620px;
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
}

@media (max-width: 1200px) {
  body[data-vps-page] .vps-roster-row {
    grid-template-columns: minmax(190px, 1.18fr) minmax(126px, .62fr) minmax(200px, 1fr) auto;
    gap: 12px;
  }
}

@media (max-width: 900px) {
  body[data-vps-page] .vps-roster-row {
    grid-template-columns: minmax(0, 1fr) minmax(140px, .52fr) auto;
    row-gap: 10px;
    padding-block: 13px;
  }

  body[data-vps-page] .vps-roster-identity {
    grid-column: 1;
    grid-row: 1;
  }

  body[data-vps-page] .vps-roster-renewal {
    grid-column: 2;
    grid-row: 1;
  }

  body[data-vps-page] .vps-roster-brokers {
    grid-column: 1 / 3;
    grid-row: 2;
  }

  body[data-vps-page] .vps-roster-open {
    grid-column: 3;
    grid-row: 2;
    align-self: center;
  }
}

@media (max-width: 560px) {
  body[data-vps-page] .vps-roster-head {
    display: grid;
    gap: 12px;
    align-items: start;
    padding: 14px;
  }

  body[data-vps-page] .vps-roster-head > a {
    width: 100%;
  }

  body[data-vps-page] .vps-roster-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 11px;
    padding: 14px 13px 14px 11px;
  }

  body[data-vps-page] .vps-roster-identity,
  body[data-vps-page] .vps-roster-renewal,
  body[data-vps-page] .vps-roster-brokers,
  body[data-vps-page] .vps-roster-open {
    grid-column: 1;
    grid-row: auto;
  }

  body[data-vps-page] .vps-roster-identity > div > span {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  body[data-vps-page] .vps-roster-open {
    width: 100%;
  }

  body[data-vps-page] .vps-roster-empty {
    display: grid;
    gap: 13px;
    padding: 17px 14px;
  }

  body[data-vps-page] .vps-roster-empty > a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-vps-page] .vps-roster-row {
    transition: none;
  }
}
