/* Shared shapes for controls, cards and the surfaces that contain them. */
:root {
  --radius-small: 9px;
  --radius-control: 13px;
  --radius-panel: 22px;
  --radius-pill: 999px;
  --shadow-control: 0 2px 5px #223d7010, 0 1px 2px #15234206;
  --shadow-panel: 0 15px 44px #1e355a1c, 0 3px 10px #1e355a09;
}

button, input, select, textarea,
.search-box, .starter, .employee, .task-row {
  border-radius: var(--radius-control);
}

.icon-button, .scene-tools button, .send, .channel-pill,
#team-toggle, .chip-button, .roster-add, .status,
.bar, .bar-track, .orbit-hint, .blue-dash, .live-dot, #office-count {
  border-radius: var(--radius-pill);
}

.assistant-mark, .avatar-dot, .file-chip, .file-link, .compact-table {
  border-radius: var(--radius-small);
}

.scene-tools {
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-control);
}

.scene-top .quiet-button, .primary:not(:disabled), .send:not(:disabled) {
  box-shadow: var(--shadow-control);
}

#team-toggle[aria-expanded="true"] {
  background: var(--blue-wash);
}

.live-dot {
  box-shadow: 0 0 0 3px var(--blue-wash);
}

.float-panel, dialog, .empty-office {
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-panel);
}

.entry-inner {
  border-radius: 26px;
  box-shadow: 0 12px 42px #1e355a0c;
}

.composer {
  border-radius: var(--radius-panel);
  box-shadow: var(--shadow-control);
}

.composer:focus-within {
  border-color: #6689df;
  box-shadow: 0 0 0 3px var(--blue-wash);
}

.message.user .message-body {
  background: #eff3fc;
  border-radius: 18px 18px 7px 18px;
}

#toast {
  border-radius: 16px;
}

/* Keep presses and panel entrances still when the user reduces motion. */
@media (prefers-reduced-motion: no-preference) {
  button, .composer {
    transition: background-color 150ms ease, border-color 150ms ease,
      color 150ms ease, box-shadow 150ms ease;
  }

  button:where(.primary, .quiet-button, .chip-button, .roster-add, .send),
  .scene-tools button {
    transition-property: background-color, border-color, color, box-shadow, transform;
  }

  button:where(.primary, .quiet-button, .chip-button, .roster-add, .send):enabled:active,
  .scene-tools button:enabled:active {
    transform: scale(.97);
  }

  dialog[open], .float-panel:not([hidden]) {
    animation: sheet-arrives 160ms ease-out;
  }

  @keyframes sheet-arrives {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
  }
}
