:root {
  --nb-ink: #15171a;
  --nb-muted: #61666d;
  --nb-line: #dfe2e6;
  --nb-surface: #ffffff;
  --nb-accent: #0b6bcb;
  --nb-success: #16784a;
  --nb-danger: #b42318;
}

#newbee-shell {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 2147483000;
  height: 44px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px;
  color: var(--nb-ink);
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid var(--nb-line);
  font: 13px/1.2 Inter, system-ui, sans-serif;
}

#newbee-shell .nb-brand { font-weight: 700; }
#newbee-shell .nb-spacer { flex: 1; }
#newbee-shell .nb-status { color: var(--nb-success); }
#newbee-shell button,
#newbee-shell a,
#newbee-gate a,
#newbee-panel button {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid var(--nb-line);
  border-radius: 4px;
  color: var(--nb-ink);
  background: var(--nb-surface);
  text-decoration: none;
  cursor: pointer;
}

#newbee-shell button:hover,
#newbee-shell a:hover,
#newbee-panel button:hover { border-color: #aeb4bc; }

#app { padding-top: 44px; box-sizing: border-box; }

#newbee-gate {
  position: fixed;
  inset: 44px 0 0;
  z-index: 2147482999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: #f5f6f8;
  color: var(--nb-ink);
  font: 14px/1.5 Inter, system-ui, sans-serif;
}

#newbee-gate[hidden] { display: none; }
#newbee-gate .nb-gate-content { text-align: center; max-width: 420px; }
#newbee-gate h1 { margin: 0 0 8px; font-size: 24px; letter-spacing: 0; }
#newbee-gate p { margin: 0 0 18px; color: var(--nb-muted); }
#newbee-gate a { background: var(--nb-accent); color: white; border-color: var(--nb-accent); }

#newbee-panel {
  position: fixed;
  z-index: 2147482998;
  top: 52px;
  right: 8px;
  width: min(360px, calc(100vw - 16px));
  max-height: calc(100vh - 60px);
  overflow: auto;
  border: 1px solid var(--nb-line);
  border-radius: 6px;
  background: var(--nb-surface);
  color: var(--nb-ink);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
  font: 13px/1.4 Inter, system-ui, sans-serif;
}

#newbee-panel[hidden] { display: none; }
#newbee-panel header { padding: 12px; font-weight: 700; border-bottom: 1px solid var(--nb-line); }
#newbee-panel form { display: grid; gap: 10px; padding: 12px; }
#newbee-panel label { display: grid; gap: 4px; color: var(--nb-muted); }
#newbee-panel select,
#newbee-panel textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid var(--nb-line);
  border-radius: 4px;
  color: var(--nb-ink);
  background: white;
  font: inherit;
}
#newbee-panel textarea { min-height: 88px; resize: vertical; }
#newbee-panel button[type='submit'] { color: white; border-color: var(--nb-accent); background: var(--nb-accent); }
#newbee-panel output { display: block; padding: 0 12px 12px; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--nb-muted); }
.nb-error { color: var(--nb-danger) !important; }

@media (max-width: 640px) {
  #newbee-shell .nb-user { display: none; }
  #newbee-shell { gap: 6px; padding: 0 6px; }
  #newbee-shell button, #newbee-shell a { padding: 0 7px; }
}
