/* ========================================= */
/* SECTION: Global Site Base Styles */
/* ========================================= */
/* CHANGE: Removed hardcoded :root color tokens; colors come from theme-tokens.css */
/* BEFORE: site.css defined --payroll-primary and other hex values on :root */
/* AFTER: Focus rings and base styles reference --theme-* variables only */
/* WHY: Global theme system owns all color tokens via data-theme */

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem var(--theme-surface), 0 0 0 0.22rem var(--theme-focus-ring);
}

[data-bs-theme="dark"] .btn:focus,
[data-bs-theme="dark"] .btn:active:focus,
[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem var(--theme-surface), 0 0 0 0.22rem var(--theme-focus-ring);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--placeholder-color, #c5cad3);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Placeholders stay light so they never look like typed values */
:root {
  --placeholder-color: #c5cad3;
}

[data-bs-theme="dark"] {
  --placeholder-color: #6b7280;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder,
.form-select::placeholder {
  color: var(--placeholder-color, #c5cad3) !important;
  opacity: 1 !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: var(--placeholder-color, #c5cad3) !important;
  opacity: 1 !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder,
.form-control::-moz-placeholder {
  color: var(--placeholder-color, #c5cad3) !important;
  opacity: 1 !important;
}

.form-control:focus::placeholder,
.form-control:focus::-moz-placeholder,
input:focus::placeholder,
textarea:focus::placeholder {
  color: transparent !important;
  opacity: 0 !important;
}

.password-input-group input::-ms-reveal {
  display: none;
}

.page-title {
  color: var(--theme-text);
}

.page-subtitle {
  color: var(--theme-text-muted);
}
