.top-nav {
  height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  gap:20px
}
.nav-left,.nav-right {
  display:flex;
  align-items:center;
  gap:18px;
  min-width:0
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  white-space:nowrap;
  font-size:19px;
  font-weight:600;
  letter-spacing:-.035em
}
.brand-mark {
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  gap:3px
}
.brand-mark span {
  display:block;
  width:6px;
  border-radius:4px;
  background:var(--accent)
}
.brand-mark span:nth-child(1) {
  height:12px
}
.brand-mark span:nth-child(2) {
  height:24px
}
.brand-mark span:nth-child(3) {
  height:17px
}
.brand-divider {
  height:22px;
  width:1px;
  background:var(--line-strong)
}
.workspace-name {
  color:var(--muted);
  white-space:nowrap
}
.connection-status {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  font-size:12px;
  white-space:nowrap
}
.connection-status::before {
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--line-strong)
}
.connection-status.ready::before {
  background:var(--positive)
}
.connection-status.error::before {
  background:var(--negative)
}
.save-status {
  color:var(--muted);
  font-size:12px;
  white-space:nowrap
}
.save-status.dirty {
  color:var(--warning)
}
.save-status.error {
  color:var(--negative)
}
.theme-toggle {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:38px;
  padding:0 10px;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:var(--surface);
  color:var(--ink);
  font-weight:500;
  white-space:nowrap
}
.theme-toggle:hover {
  background:var(--surface-alt)
}
.theme-toggle:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px
}
.theme-icon {
  width:18px;
  height:18px;
  flex:none
}
.theme-icon-moon,:root[data-theme="light"] .theme-icon-sun {
  display:none
}
:root[data-theme="light"] .theme-icon-moon {
  display:block
}
.btn {
  height:38px;
  padding:0 16px;
  border-radius:8px;
  border:1px solid transparent;
  font-weight:600;
  white-space:nowrap;
  background:transparent;
  color:var(--ink);
  transition:background .15s,transform .15s,border-color .15s
}
