/* School Management System Styles */
/* Using Tailwind CDN - this file is for custom overrides only */

/* ==========================================================================
   App-wide base type size — see docs/font-size-spec.md
   Root font-size knob: browser default 16px × 87.5% = 14px. Tailwind's rem-based
   type/spacing scales the whole UI from this one rule. Absolute-px inline styles
   (e.g. some index.html dashboard labels) intentionally do NOT scale.
   ========================================================================== */
html { font-size: 87.5%; }

/* ==========================================================================
   Button vocabulary — see docs/button-classes-spec.md and docs/ui-conventions.md
   Define the button look once; pages write <button class="btn-action">.
   Dimensions standard (app-wide): px-3 py-1.5 padding, 0.875rem text,
   4px radius, ~112px min-width floor on .btn-action / .btn-ghost.
   ========================================================================== */

.btn-action,
.btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 7rem; /* 112px floor; a floor, not a cap — long labels stretch */
  padding: 0.375rem 0.75rem; /* px-3 py-1.5 */
  font-size: 0.875rem; /* text-sm */
  font-weight: 500; /* medium */
  line-height: 1.25rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* Primary — the single affirmative action (create / save / confirm) */
.btn-action {
  background-color: #16a34a;
  color: #ffffff;
  border: 1px solid #16a34a;
}
.btn-action:hover {
  background-color: #15803d;
  border-color: #15803d;
}

/* Secondary — lower emphasis beside a primary (Cancel, Edit) */
.btn-ghost {
  background-color: #ffffff;
  color: #4b5563;
  border: 1px solid #d1d5db;
}
.btn-ghost:hover {
  background-color: #f9fafb;
  border-color: #9ca3af;
}

/* Icon-only — borderless controls like a modal close "×" */
.btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  background: none;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  transition: color 0.15s ease;
}
.btn-icon:hover {
  color: #4b5563;
}

/* .btn-danger is deferred — see button-classes-spec.md (archive-not-delete) */
