[hidden]{display:none!important}
:root{color-scheme:dark;--bg:#0e1119;--surface:#171c29;--border:#303a4a;--txt:#eff4ff;--muted:#9eabc4;--accent:#8bc5ff}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 16% 0,#192943 0,#0e1119 45%);color:var(--txt);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;margin:0;min-height:100vh}header{height:72px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 max(calc((100vw - 1100px)/2),24px)}.brand{font-weight:750;font-size:19px}.logo{color:var(--accent);margin-right:8px}.version{font-size:11px;font-weight:400;color:var(--muted);margin-left:15px}main{max-width:1100px;margin:0 auto;padding:44px 24px 80px}h1{font-size:clamp(35px,5vw,56px);letter-spacing:-.045em;line-height:1.08;margin:14px 0 25px}h2{font-size:20px;letter-spacing:-.025em;margin:0 0 8px}p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-size:11px;font-weight:800}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:25px;margin-top:22px;box-shadow:0 8px 18px #0002}.auth{margin:0;max-width:410px;padding:30px}#welcome{display:grid;grid-template-columns:1.2fr 1fr;gap:54px;align-items:center;padding-top:65px}.intro p{font-size:18px;max-width:510px}form label:not(.check){display:block;margin:16px 0;font-weight:650}input[type=email],input[type=password]{width:100%;display:block;background:#0d1423;border:1px solid #354157;border-radius:9px;color:var(--txt);font:inherit;padding:12px;margin-top:6px}button{font:inherit;cursor:pointer}button.primary{background:#88c4ff;color:#0c192b;border:0;font-weight:760;padding:12px 18px;border-radius:10px}button:hover{filter:brightness(1.08)}button.outline{background:transparent;color:var(--txt);border:1px solid #456;border-radius:10px;padding:10px 16px}button.tab{width:50%;padding:13px;border:0;border-bottom:2px solid transparent;background:none;color:var(--muted)}button.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.auth .primary{width:100%;margin:7px 0}.notice{color:#f7b7b7;min-height:1.2em}.titleline,.cardhead{display:flex;justify-content:space-between;align-items:center;gap:15px}.titleline h1{font-size:38px;margin:5px 0}.titleline p{margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:26px}.stats .card{margin:0}.stat-number{font-size:40px;font-weight:850;letter-spacing:-.05em}.sub{color:var(--muted);font-size:13px}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.rowdevice{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--border)}.rowdevice:last-child{border:0}.device-body{flex:1;min-width:0}.device-body b{display:block}.device-body small{color:var(--muted)}.pill{display:inline-flex;align-items:center;font-size:12px;padding:4px 9px;border-radius:20px;background:#3a3130;color:#ffc0a9}.pill.online{background:#18372d;color:#a3f0b3}.secret,.endpoint{background:#0e1626;color:#b5daff;border:1px solid #33435b;padding:14px;border-radius:9px;font:12px/1.7 ui-monospace,Consolas,monospace;word-break:break-all;user-select:all}.pairing{margin-top:17px;padding:18px;background:#101e35;border-radius:10px}.pairing .secret{margin-top:9px}.toggle{display:flex;gap:11px;align-items:flex-start;color:var(--txt);margin:15px 0}.check{display:flex;gap:10px;align-items:center;margin:20px 0}.check input{width:20px;height:20px}.oauth{max-width:480px;margin:12vh auto;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:18px}.oauth h1{font-size:32px}.oauth button{width:100%;background:var(--accent);padding:12px 16px;border:0;border-radius:9px;font-weight:800}.oauth a{color:var(--accent)}#usage{max-height:320px;overflow:auto}.usage-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--border);padding:8px 0;gap:9px;font-size:13px}.usage-row:last-child{border:0}.muted{color:var(--muted)}footer{text-align:center;padding:30px;color:var(--muted);font-size:12px;border-top:1px solid var(--border)}@media(max-width:850px){#welcome,.two{grid-template-columns:1fr;gap:20px}.stats{grid-template-columns:1fr 1fr}.auth{max-width:none}.cardhead{flex-wrap:wrap}}@media(max-width:480px){header{padding:0 15px}.version{display:none}main{padding:25px 15px 50px}.stats .card{padding:16px}.stat-number{font-size:32px}}

/* Per-account tool error inspection */
button.text-link{background:transparent;border:0;color:var(--accent);padding:7px 0 0;font-size:12px;text-align:left}
button.text-link:hover{text-decoration:underline}
.error-filters{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:14px;margin:18px 0}
.error-filters label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:600}
.error-filters select{width:100%;background:#0e1626;border:1px solid #354157;border-radius:9px;color:var(--txt);font:inherit;font-size:14px;padding:11px}
.errors-list{display:flex;flex-direction:column;gap:10px}
.error-row{border:1px solid #674044;background:#201b28;border-radius:11px;overflow:hidden}
.error-row[open]{border-color:#a3676b}
.error-summary{padding:13px 16px;cursor:pointer;list-style:none}
.error-summary::-webkit-details-marker{display:none}
.error-summary::after{content:"▾";float:right;color:#f2b6b6;font-size:16px}
.error-row[open] .error-summary::after{content:"▴"}
.error-row-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-right:22px}
.error-date{color:#b5bdcf;font-size:12px;font-variant-numeric:tabular-nums}
.error-tool{color:#fff;font-size:14px;overflow-wrap:anywhere}
.error-device-name{background:#392b36;border:1px solid #65444a;border-radius:16px;padding:2px 9px;color:#ffe4dd;font-size:12px}
.error-message{white-space:pre-wrap;overflow-wrap:anywhere;color:#ffbfc1;font-size:13px;margin-top:7px}
.error-body{padding:15px 16px;border-top:1px solid #50333b;background:#181a26}
.error-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;color:#b9c1d4;font:12px/1.5 ui-monospace,Consolas,monospace;word-break:break-all;margin-bottom:16px}
.error-pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;padding:16px 0 0}
.error-pagination button:disabled{opacity:.4;cursor:not-allowed}
.error-trace-results{margin-top:12px}
.trace-record{border:1px solid var(--border);border-radius:8px;margin:8px 0;overflow:hidden}
.trace-record summary{cursor:pointer;padding:10px 12px;color:var(--accent);font:12px ui-monospace,Consolas,monospace;overflow-wrap:anywhere}
.trace-payload{margin:0;padding:12px;background:#0e1421;color:#e5ecff;font:12px/1.55 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}
@media(max-width:700px){.error-filters{grid-template-columns:1fr}.error-meta{grid-template-columns:1fr}.error-pagination{justify-content:space-between}.error-row-top{gap:7px}}

/* Quick one-command self-hosted agent installer */
.quick-installer{margin:0 0 30px;border:1px solid #3c5c7c;background:linear-gradient(135deg,#171f2f,#121923 76%);padding:27px}
.install-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.install-heading h2{font-size:23px;margin:5px 0 9px}
.install-heading p{margin:0;max-width:740px}
.install-brand{color:#afcbee;white-space:nowrap;font-weight:800;background:#192a42;border-radius:9px;padding:9px 13px;font-size:13px}
.install-brand span{color:#8a9cb5;font-weight:400}
.install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border-top:1px solid #344355;border-bottom:1px solid #344355;padding:16px 0;margin:19px 0}
.install-steps span{display:flex;gap:10px;align-items:center;color:#afbed4;font-size:13px}
.install-steps b{display:flex;align-items:center;justify-content:center;width:25px;height:25px;min-width:25px;border-radius:50%;background:#274a70;color:#9bd0ff;font-size:12px}
.install-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:13px 0}
.install-switch{display:inline-flex;background:#10182a;border:1px solid #34445f;border-radius:11px;padding:3px;gap:3px}
.install-os{color:#adbad4;border:0;border-radius:8px;padding:9px 18px;background:transparent;font-weight:650}
.install-os.active{background:#2b4362;color:#d0e9ff}
.install-doc{color:#9ecdfb;font-size:12px;text-decoration:none}
.install-doc:hover{text-decoration:underline}
.install-command-area{display:flex;flex-direction:column;gap:13px;background:#0c121e;border:1px solid #354358;padding:17px;border-radius:12px}
.install-command-text{display:flex;gap:12px;align-items:center;min-width:0}
.install-prompt{color:#58cead;font-weight:850}
.install-command-text code{font:600 13px/1.7 ui-monospace,Consolas,monospace;color:#e8f0fd;user-select:all;overflow-wrap:anywhere;white-space:pre-wrap}
.install-command-area .primary{align-self:stretch}
.install-pair-steps{margin-top:14px;border-top:1px solid #2b3445;padding-top:16px}
.install-pair-steps .outline{margin-bottom:8px}
.install-pair-code{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.install-pair-code code{flex:1;min-width:0;padding:12px;border-radius:8px;color:#b8dcff;background:#0e1626;border:1px solid #33435b;font:13px/1.5 ui-monospace,Consolas,monospace;word-break:break-all;user-select:all}
.quick-installer .notice{margin:5px 0 0}
@media(max-width:740px){
  .quick-installer{padding:18px;margin-bottom:23px}
  .install-heading{flex-direction:column}
  .install-steps{grid-template-columns:1fr;gap:11px}
  .install-brand{align-self:flex-start}
  .install-command-area{padding:13px}
  .install-command-text code{font-size:12px}
}


/* Compact error accordion: a long failure history must not consume the dashboard. */
.errors-collapsed{padding:0;overflow:hidden}
.errors-main-summary{cursor:pointer;list-style:none;padding:19px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.errors-main-summary::-webkit-details-marker{display:none}
.errors-main-summary::after{content:'▾';color:var(--muted);margin-left:auto}
.errors-collapsed[open] .errors-main-summary::after{content:'▴'}
.errors-summary-title{font-size:19px;font-weight:750;letter-spacing:-.02em}
.errors-summary-count{margin-left:8px;background:#2f3849;border:1px solid #4e5c72;border-radius:14px;padding:2px 9px;font-size:13px;font-weight:650;color:#dfecff}
.errors-detail-content{border-top:1px solid var(--border);padding:16px 24px 22px}
.errors-detail-content>.cardhead{align-items:center}
/* Expanded error history scrolls, but its cards retain intrinsic height.
   A flex column with default flex-shrink:1 previously squashed 15 cards. */
.errors-list{display:block;max-height:480px;overflow-y:auto;scrollbar-gutter:stable;overscroll-behavior:contain}
.errors-list>.error-row{display:block;min-height:0;margin:0 0 10px;flex:none}
.errors-list>.error-row:last-child{margin-bottom:0}
.errors-list>.error-row>.error-summary{display:block;min-height:76px;box-sizing:border-box}

@media(max-width:650px){.errors-main-summary{padding:15px 17px}.errors-detail-content{padding:13px 15px}.errors-list{max-height:380px}}

.errors-caption-open{display:none}
.errors-collapsed[open] .errors-caption-open{display:inline}
.errors-collapsed[open] .errors-caption-collapsed{display:none}

/* ASC Remote Hub brand */
.brand{display:flex;align-items:center;gap:9px}.brand-icon{width:32px;height:32px;flex-shrink:0;object-fit:contain}


/* Local lifecycle commands are copyable, never browser-executable. */
.manage-commands{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.manage-operation{min-width:0;background:#101726;border:1px solid var(--border);padding:16px;border-radius:12px}
.manage-operation p{margin:7px 0 12px}
.manage-operation .install-command-area{margin:0;gap:10px;flex-wrap:wrap}
.manage-operation code{overflow-wrap:anywhere;word-break:break-word;flex:1;font:12px/1.6 ui-monospace,Consolas,monospace;user-select:all}
.manage-operation button{white-space:nowrap}
@media(max-width:750px){.manage-commands{grid-template-columns:1fr}}

.install-dependencies{margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:11px;background:#101726}
.install-dependencies b{display:block;margin-bottom:5px}
.install-dependencies .install-command-area{gap:10px;padding:12px;margin:9px 0}
.install-dependencies .install-command-area code{display:block;font:12px/1.6 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all;color:#e8f0fd}
.install-dependencies .install-command-area button{align-self:flex-start}
.install-dependencies a{color:#9ecdfb;text-decoration:underline}


/* Account workspace: utilitarian, restrained and independent of public auth UI. */
body.hub-app {
  --bg: #0e1216;
  --surface: #171d23;
  --border: #303942;
  --txt: #eaf0f4;
  --muted: #a3adb6;
  --accent: #77baf1;
  --hub-soft: #89949e;
  --hub-raised: #1d252d;
  --hub-hover: #222b34;
  --hub-active: #263440;
  --hub-success: #63d7a5;
  --hub-danger: #e6a4a4;
  background: var(--bg);
  color: var(--txt);
  font: 14px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: dark;
}
.hub-app .app-shell {
  display: grid;
  grid-template-columns: 222px minmax(0, 1fr);
  align-items: stretch;
  min-height: 100vh;
}
.hub-app .hub-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-height: 0;
  padding: 30px 16px 22px;
  background: #10151a;
  border-right: 1px solid var(--border);
}
.hub-app .hub-logo {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 10px 36px;
  color: var(--txt);
  text-decoration: none;
}
.hub-app .hub-logo img { display: block; width: 26px; height: 26px; object-fit: contain; }
.hub-app .hub-logo strong {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.022em;
  white-space: nowrap;
}
.hub-app .hub-navigation { display: grid; gap: 3px; }
.hub-app .hub-nav {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 7px;
  color: #abb6bf;
  font-size: 13px;
  font-weight: 520;
  text-decoration: none;
  transition: background-color .12s ease, color .12s ease;
}
.hub-app .hub-nav:hover { background: var(--hub-hover); color: var(--txt); }
.hub-app .hub-nav.active {
  color: #e5f4ff;
  background: var(--hub-active);
  box-shadow: inset 2px 0 var(--accent);
  font-weight: 650;
}
.hub-app .sidebar-bottom {
  margin-top: auto;
  border-top: 1px solid var(--border);
  padding: 18px 12px 0;
  min-width: 0;
}
.hub-app #account-email {
  display: block;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hub-app .hub-content {
  width: 100%;
  max-width: 1110px;
  min-width: 0;
  margin: 0 auto;
  padding: 58px 54px 96px;
}
.hub-app .hub-view { width: 100%; min-width: 0; }
.hub-app .view-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 22px;
  margin-bottom: 28px;
}
.hub-app h1 {
  margin: 0 0 7px;
  font-size: clamp(27px, 2.5vw, 32px);
  line-height: 1.19;
  font-weight: 710;
  letter-spacing: -.034em;
}
.hub-app .view-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.hub-app h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 660;
  letter-spacing: -.015em;
  line-height: 1.4;
}
.hub-app p { color: var(--muted); }
.hub-app .sub { color: var(--muted); font-size: 12px; }
.hub-app .card {
  padding: 23px 25px;
  margin: 18px 0 0;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--surface);
  box-shadow: none;
}
.hub-app .hub-view > .view-heading + .card { margin-top: 0; }
.hub-app .section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}
.hub-app .section-heading .sub { margin: 0; }
.hub-app .tiny-count {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 5px;
  background: #2a333c;
  color: #ccd4db;
  font-size: 12px;
  font-weight: 580;
  font-variant-numeric: tabular-nums;
}
.hub-app button.primary {
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #1c70ac;
  color: #fff;
  font-size: 13px;
  font-weight: 680;
}
.hub-app button.primary:hover:not(:disabled) { background: #247bb4; }
.hub-app button.outline {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #485460;
  border-radius: 7px;
  background: transparent;
  color: var(--txt);
  font-size: 12px;
  font-weight: 590;
}
.hub-app button.outline:hover:not(:disabled) { background: var(--hub-hover); }
.hub-app button:disabled { opacity: .55; cursor: not-allowed; }
.hub-app :is(button, a, input, select, summary):focus-visible {
  outline: 2px solid #a1d0f6;
  outline-offset: 3px;
}
.hub-app .quiet-button {
  padding: 7px 2px;
  border: 0;
  background: transparent;
  color: var(--accent);
  font: 600 12px/1.5 system-ui, sans-serif;
  cursor: pointer;
}
.hub-app .quiet-link {
  color: var(--accent);
  font-size: 12px;
  font-weight: 620;
  white-space: nowrap;
  text-decoration: none;
}
.hub-app .quiet-link:hover { text-decoration: underline; }
.hub-app .notice { color: #efabab; font-size: 12px; min-height: 0; }
.hub-app .notice:empty, .hub-app .hub-global-notice:empty { display: none; }
.hub-app .hub-global-notice { margin: 18px 0 0; }

/* Devices: only the device list is a framed primary panel. */
.hub-app .devices-card { padding: 0; }
.hub-app .devices-card > .section-heading { margin: 0; padding: 17px 22px 12px; }
.hub-app .devices-list { padding: 0 7px 7px; }
.hub-app .devices-list > :is(.sub, .notice) { margin: 0; padding: 17px 16px 22px; }
.hub-app .rowdevice {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  margin: 0 7px;
  padding: 15px 9px;
  border-bottom: 1px solid var(--border);
}
.hub-app .rowdevice:last-child { border-bottom: none; }
.hub-app .device-indicator {
  flex: 0 0 8px;
  width: 8px; height: 8px;
  background: #747e87;
  border-radius: 50%;
}
.hub-app .device-indicator.online { background: var(--hub-success); }
.hub-app .device-body { flex: 1; min-width: 0; }
.hub-app .device-body b { display: block; font-size: 14px; font-weight: 640; line-height: 1.45; }
.hub-app .device-body small {
  display: block;
  max-width: 100%;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.hub-app .pill {
  flex: none;
  border-radius: 5px;
  background: #293039;
  color: #c0c9d1;
  padding: 4px 9px;
  font-size: 12px;
  white-space: nowrap;
}
.hub-app .pill.online { background: #1d3c32; color: #8ce3b5; }
.hub-app .device-menu { position: relative; flex: none; }
.hub-app .device-menu > summary {
  min-width: 36px;
  min-height: 36px;
  padding: 5px 9px;
  list-style: none;
  border-radius: 7px;
  border: 1px solid transparent;
  color: var(--muted);
  font-size: 19px;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
}
.hub-app .device-menu > summary::-webkit-details-marker { display: none; }
.hub-app .device-menu[open] > summary, .hub-app .device-menu > summary:hover {
  border-color: var(--border);
  background: var(--hub-hover);
}
.hub-app .device-menu-panel {
  position: absolute;
  z-index: 12;
  top: 37px;
  right: 0;
  min-width: 185px;
  padding: 6px;
  border: 1px solid #47515b;
  border-radius: 8px;
  background: #242c34;
  box-shadow: 0 12px 32px #0008;
}
.hub-app .device-menu-panel button {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 6px;
  background: none;
  color: #efb4b4;
  font-size: 12px;
  text-align: left;
}
.hub-app .device-menu-panel button:hover { background: #39343a; }

/* Secondary destinations are simple list rows, not extra dashboard cards. */
.hub-app .clients-card {
  margin-top: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 0;
}
.hub-app .clients-card > .section-heading { margin: 0; padding: 0 2px 13px; }
.hub-app .client-line {
  display: flex;
  align-items: center;
  min-height: 62px;
  gap: 16px;
  padding: 11px 2px;
  border-bottom: 1px solid var(--border);
}
.hub-app .client-line:last-child { border-bottom: none; }
.hub-app .client-info { flex: 1; min-width: 0; }
.hub-app .client-info b { display: block; color: var(--txt); font-size: 14px; font-weight: 630; }
.hub-app .client-info small { display: block; color: var(--muted); font-size: 12px; }

/* Onboarding: one primary command, then pair code; advanced actions are rows. */
.hub-app .quick-installer { padding: 25px; }
.hub-app .install-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 20px;
}
.hub-app .install-switch { display: inline-flex; padding: 3px; border: 1px solid var(--border); border-radius: 8px; background: #11171d; }
.hub-app .install-os { width: auto; padding: 9px 19px; border: 0; border-radius: 5px; color: var(--muted); font-size: 12px; }
.hub-app .install-os.active { background: #303b46; color: var(--txt); }
.hub-app .install-doc { color: var(--accent); font-size: 12px; white-space: nowrap; }
.hub-app .main-command {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px;
  border: 1px solid #37434d;
  border-radius: 9px;
  background: #11181e;
}
.hub-app .install-command-text { display: flex; align-items: flex-start; min-width: 0; gap: 11px; }
.hub-app .install-prompt { color: var(--hub-success); font-weight: 730; }
.hub-app .install-command-text code {
  color: #e5ecf1;
  font: 550 12px/1.75 ui-monospace, "Cascadia Code", Consolas, monospace;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.hub-app .main-command .primary { width: auto; min-width: 142px; align-self: center; }
.hub-app #install-platform-hint { margin: 13px 0 0; font-size: 12px; }
.hub-app .connect-divider { border-top: 1px solid var(--border); margin: 27px 0 21px; }
.hub-app .install-pair-steps { padding: 0; border: 0; margin: 0; }
.hub-app .pair-action-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.hub-app .pair-action-row b { display: block; font-size: 14px; font-weight: 650; }
.hub-app .pair-action-row small { display: block; color: var(--muted); font-size: 12px; }
.hub-app #install-pair-display { margin-top: 17px; }
.hub-app .install-pair-code { gap: 12px; }
.hub-app .install-pair-code code { min-width: 0; }
.hub-app .advanced-block {
  margin: 0;
  border-bottom: 1px solid var(--border);
  background: transparent;
}
.hub-app #install-advanced { margin-top: 18px; border-top: 1px solid var(--border); }
.hub-app .advanced-block > summary {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 73px;
  padding: 14px 5px;
  list-style: none;
  cursor: pointer;
}
.hub-app .advanced-block > summary::-webkit-details-marker { display: none; }
.hub-app .advanced-label { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hub-app .advanced-label strong { color: var(--txt); font-size: 13px; font-weight: 640; }
.hub-app .advanced-label small { color: var(--muted); font-size: 12px; font-weight: 400; }
.hub-app .advanced-block > summary::after { content: "⌄"; margin-left: auto; flex: none; color: var(--muted); font-size: 18px; }
.hub-app .advanced-block[open] > summary::after { content: "⌃"; }
.hub-app .advanced-content { padding: 5px 5px 21px; }
.hub-app .advanced-content .sub { line-height: 1.6; }
.hub-app .advanced-block .install-dependencies { background: none; border: 0; margin: 0; }
.hub-app .advanced-content .install-command-area { padding: 14px; margin: 12px 0; border: 1px solid var(--border); background: #131a20; }
.hub-app .advanced-content .install-command-area code { font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.hub-app .manage-commands { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hub-app .manage-operation { min-width: 0; padding: 15px; border-radius: 8px; background: #161d23; border: 1px solid var(--border); }
.hub-app .manage-operation b { font-size: 12px; font-weight: 630; }
.hub-app .manage-operation .install-command-area { margin: 12px 0 0; }
.hub-app .install-command-area .primary, .hub-app .install-command-area .outline { align-self: flex-start; }

/* Usage: one quiet metric strip and an actual table. */
.hub-app .stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: var(--surface);
}
.hub-app .metric { min-width: 0; padding: 23px 25px; }
.hub-app .metric + .metric { border-left: 1px solid var(--border); }
.hub-app .metric-label { display: block; margin: 0 0 15px; color: var(--muted); font-size: 12px; }
.hub-app .stat-number { margin: 0; color: var(--txt); font-size: 32px; line-height: 1.2; font-weight: 680; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.hub-app .stats .text-link { display: block; padding: 6px 0 0; color: var(--accent); font-size: 12px; }
.hub-app #view-usage > .stats + .card { margin-top: 22px; }
.hub-app .usage-card { padding: 21px 23px 9px; }
.hub-app .usage-card .section-heading { margin-bottom: 15px; }
.hub-app .usage-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: var(--txt); }
.hub-app .usage-table th {
  padding: 10px 10px 10px 0;
  border-bottom: 1px solid var(--border);
  color: var(--muted);
  font-size: 12px;
  font-weight: 540;
  text-align: left;
}
.hub-app .usage-table th:nth-child(1) { width: 102px; }
.hub-app .usage-table th:nth-child(3) { width: 96px; }
.hub-app .usage-table th:nth-child(4) { width: 76px; }
.hub-app .usage-table th.numeric { text-align: right; }
.hub-app .usage-table td {
  padding: 11px 10px 11px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  line-height: 1.5;
}
.hub-app .usage-table tr:last-child td { border-bottom: 0; }
.hub-app .usage-table .usage-date { color: var(--muted); font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.hub-app .usage-table .usage-tool { overflow-wrap: anywhere; font-weight: 560; }
.hub-app .usage-table .usage-calls, .hub-app .usage-table .usage-errors { text-align: right; font-variant-numeric: tabular-nums; }
.hub-app .usage-table .usage-errors { color: var(--hub-danger); }
.hub-app .usage-table .usage-errors.no-errors { color: #707c87; }
.hub-app .usage-table .table-empty { padding: 26px 0; color: var(--muted); text-align: center; }
.hub-app #usage { max-height: none; overflow: visible; }
.hub-app #view-usage > .errors-collapsed { margin-top: 19px; }
.hub-app .errors-collapsed { padding: 0; overflow: hidden; }
.hub-app .errors-main-summary {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-height: 64px;
  padding: 16px 22px;
}
.hub-app .errors-summary-title { font-size: 14px; font-weight: 650; }
.hub-app .errors-summary-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 33px;
  margin-left: 0;
  padding: 3px 9px;
  border: 1px solid #434e58;
  border-radius: 5px;
  color: #dbe3e9;
  background: #29333d;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.hub-app .errors-main-summary::after { margin-left: auto; color: var(--muted); }
.hub-app .errors-detail-content { padding: 16px 23px 23px; }
.hub-app .error-filters select { background: #141c22; border-color: var(--border); }

/* OAuth connections and account settings. */
.hub-app .endpoint { padding: 14px; border-color: var(--border); background: #11181e; color: #d5e3f0; font-size: 12px; }
.hub-app .inline-details { margin-top: 17px; }
.hub-app .inline-details summary { color: var(--accent); cursor: pointer; font-size: 12px; }
.hub-app .inline-details .endpoint { margin-top: 11px; }
.hub-app .preference-card { padding: 22px 24px; }
.hub-app .preference-card .section-heading { margin: 0; }
.hub-app .preference-card .section-heading p { margin: 5px 0 0; }
.hub-app .toggle { margin: 19px 0 12px; color: var(--txt); font-size: 13px; }
.hub-app .toggle input { accent-color: #2d91d4; }
.hub-app #userbar button { font-size: 12px; }

@media (max-width: 960px) {
  .hub-app .app-shell { grid-template-columns: 198px minmax(0, 1fr); }
  .hub-app .hub-content { padding: 44px 31px 72px; }
  .hub-app .hub-sidebar { padding: 23px 11px 17px; }
}
@media (max-width: 700px) {
  .hub-app .app-shell { display: block; }
  .hub-app .hub-sidebar {
    position: sticky;
    top: 0;
    z-index: 20;
    height: auto;
    min-height: 0;
    padding: 11px 14px 8px;
    border-right: 0;
    border-bottom: 1px solid var(--border);
    background: #10151af2;
    backdrop-filter: blur(10px);
  }
  .hub-app .hub-logo { padding: 0 2px 9px; }
  .hub-app .hub-logo img { width: 24px; height: 24px; }
  .hub-app .hub-logo strong { font-size: 14px; }
  .hub-app .sidebar-bottom { display: none; }
  .hub-app .hub-navigation { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
  .hub-app .hub-navigation::-webkit-scrollbar { display: none; }
  .hub-app .hub-nav { flex: none; min-height: 38px; padding: 9px 12px; font-size: 12px; white-space: nowrap; }
  .hub-app .hub-content { padding: 31px 19px 60px; }
  .hub-app .view-heading { gap: 15px; margin-bottom: 22px; }
  .hub-app h1 { font-size: 27px; }
  .hub-app .card { padding: 19px; }
  .hub-app .devices-card { padding: 0; }
  .hub-app .devices-list { padding: 0 5px 5px; }
  .hub-app .rowdevice { margin: 0 4px; padding: 13px 9px; gap: 9px; }
  .hub-app .device-body b { font-size: 13px; }
  .hub-app .device-body small { font-size: 12px; }
  .hub-app .manage-commands { grid-template-columns: 1fr; }
  .hub-app .metric { padding: 18px 16px; }
  .hub-app .stat-number { font-size: 28px; }
  .hub-app .usage-card { padding: 19px 17px 9px; }
}
@media (max-width: 530px) {
  .hub-app .view-heading { flex-wrap: wrap; }
  .hub-app .view-heading > button { margin-left: 0; }
  .hub-app .quick-installer { padding: 19px; }
  .hub-app .install-controls { flex-wrap: wrap; gap: 12px; }
  .hub-app .main-command { grid-template-columns: 1fr; gap: 15px; padding: 17px; }
  .hub-app .main-command .primary { width: 100%; }
  .hub-app .pair-action-row { flex-wrap: wrap; gap: 12px; }
  .hub-app .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hub-app .metric { padding: 16px 18px; }
  .hub-app .metric + .metric { border-left: 1px solid var(--border); }
  .hub-app .metric:nth-child(3) { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--border); }
  .hub-app .usage-table thead { display: none; }
  .hub-app .usage-table, .hub-app .usage-table tbody { display: block; }
  .hub-app .usage-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "tool calls" "date errors";
    gap: 2px 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
  }
  .hub-app .usage-table tr:last-child { border-bottom: 0; }
  .hub-app .usage-table td { padding: 0; border: 0; }
  .hub-app .usage-table .usage-tool { grid-area: tool; }
  .hub-app .usage-table .usage-date { grid-area: date; }
  .hub-app .usage-table .usage-calls { grid-area: calls; font-weight: 670; }
  .hub-app .usage-table .usage-errors { grid-area: errors; font-size: 12px; }
  .hub-app .usage-table tr:has(.table-empty) { display: block; }
  .hub-app .usage-table .table-empty { display: block; }
  .hub-app .error-filters { grid-template-columns: 1fr; }
  .hub-app .errors-detail-content { padding: 15px; }
  .hub-app .client-info small { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .hub-app *, .hub-app *::before, .hub-app *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
