/* Shared UI primitives. Load before the page layout and product overrides. */
* { box-sizing: border-box; }
body { margin: 0; }
[hidden] { display: none !important; }

/* One BC Chat palette for conversations and account settings. */
:root:not([data-product="myfounders"]) {
  color-scheme: dark;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  background: var(--background);
  color: var(--ink);
  --background: #080e16;
  --surface: #101b27;
  --raised: #172434;
  --ink: #edf5fc;
  --muted: #96aabd;
  --line: #2c4558;
  --border-strong: #55758a;
  --accent: #54e7ee;
  --accent-hover: #91f5f6;
  --accent-soft: #12333d;
  --accent-border: #315d70;
  --on-accent: #08151d;
  --danger: #ff726e;
  --danger-surface: #321a23;
  --control-background: #091724;
  --control-border: #38566b;
  --control-placeholder: #859aad;
  --card-background: linear-gradient(135deg, #13283a, #0e1b2a);
  --dialog-background: linear-gradient(135deg, #173044, #0d1b2a);
  --dialog-backdrop: #030a14c9;
  --radius-control: 8px;
  --radius-card: 14px;
  --radius-dialog: 16px;
}

.button {
  min-height: 40px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-control, 8px);
  background: var(--surface);
  font-size: 12px;
  font-weight: 600;
  transition: background .15s, transform .15s;
  color: var(--ink);
  cursor: pointer;
}
.button:hover:not(:disabled) { background: var(--raised); color: var(--ink); }
.button:active:not(:disabled) { transform: translateY(1px); }
.button.primary { color: var(--on-accent); background: var(--accent); border-color: var(--accent); }
.button.primary:hover:not(:disabled) { background: var(--accent-hover); color: var(--on-accent); }
.button:disabled { opacity: .5; cursor: not-allowed; }
:root:not([data-product="myfounders"]) .button.danger { color: var(--danger); background: var(--danger-surface); border-color: var(--danger); }
:root:not([data-product="myfounders"]) .button.danger:hover:not(:disabled) { background: var(--danger-surface); box-shadow: inset 0 0 0 1px var(--danger); }

/* Forms use the same appearance; each page owns field sizing and spacing. */
:root:not([data-product="myfounders"]) :where(.field input, .field select, .field textarea, .account-page input:not([type="checkbox"]), .account-page select, .account-page textarea) {
  background: var(--control-background);
  border: 1px solid var(--control-border);
  border-radius: var(--radius-control);
  color: var(--ink);
}
:root:not([data-product="myfounders"]) :where(.field input, .field textarea, .account-page input, .account-page textarea)::placeholder { color: var(--control-placeholder); }
:root:not([data-product="myfounders"]) :where(.field input, .field select, .field textarea, .account-page input, .account-page select, .account-page textarea):focus {
  border-color: var(--accent) !important;
  box-shadow: 0 0 0 3px var(--accent-soft);
}
:root:not([data-product="myfounders"]) :where(button, a, input, select, textarea, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
:root:not([data-product="myfounders"]) :where(.company-choice, .account-page section) { background: var(--card-background); border: 1px solid var(--line); border-radius: var(--radius-card); }
:root:not([data-product="myfounders"]) dialog { background: var(--dialog-background); border-color: var(--border-strong); border-radius: var(--radius-dialog); color: var(--ink); }
:root:not([data-product="myfounders"]) dialog::backdrop { background: var(--dialog-backdrop); backdrop-filter: blur(8px); }
@media (prefers-reduced-motion: reduce) { .button { transition: none; } }
