/* ── New token ── */
:root {
  --bg-sand-dark: #9B9590;
  /* Lines, separators, subtle text            */
  --btn-pill: 9999px;
  /* All action buttons                        */
  --btn-upload: 12px;
  /* Upload / file-input / modal-trigger only  */
  --btn-icon: 8px;
  /* Icon-only single-glyph buttons            */
  --topbar-h: 48px;
  /* Top bar locked height                     */
  --cardstrip-h: 108px;
  /* Cards strip locked height                 */
}

/* ════════════════════════════════════════════════════════════
 *  1. LAYOUT — FIXED HEIGHTS (prevents button-state growth)
 * ════════════════════════════════════════════════════════════ */

/* Top bars — locked */
.hdr,
#dash-hdr,
#geo-strip {
  height: var(--topbar-h) !important;
  min-height: var(--topbar-h) !important;
  max-height: var(--topbar-h) !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

/* Card strip — locked */
#dcp {
  height: var(--cardstrip-h) !important;
  min-height: var(--cardstrip-h) !important;
  max-height: var(--cardstrip-h) !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

/* Every button: fixed box-sizing, no intrinsic size shift */
button,
.btn,
[class*="btn"] {
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

/* ════════════════════════════════════════════════════════════
 *  2. BUTTON SHAPES — pills everywhere, exceptions noted
 * ════════════════════════════════════════════════════════════ */
