/* ==========================================================================
   DESIGN TOKENS
   AJNIFM Hostel & Guest House Management System
   --------------------------------------------------------------------------
   Visual language: an institutional finance ledger, not a hotel-booking
   startup. Ink navy + brass accent on cool paper, set in the IBM Plex family
   (Serif for editorial/display, Sans for interface, Mono for ledger data —
   invoice numbers, room codes, dates in tables).
   ========================================================================== */

:root {
  /* ---- Colour: named per the brief's institutional-ledger direction ---- */
  --color-ink-navy: #12233F;      /* primary: headers, nav, primary buttons */
  --color-ink-navy-dark: #0A1830; /* hover/pressed states, dark panels */
  --color-ink-navy-tint: #E7EBF2; /* pale navy for chips/hovers on light bg */

  --color-brass: #A9762F;         /* single accent: CTAs, active states, seals */
  --color-brass-light: #C99A4A;   /* hover state of brass */
  --color-brass-tint: #F3E9D6;    /* pale brass for highlight backgrounds */

  --color-bg: #F1F2F5;            /* page background: cool "register paper" */
  --color-surface: #FFFFFF;       /* card / panel surface */
  --color-surface-alt: #F7F8FA;   /* subtle alternate surface (table stripes) */

  --color-text: #1B2430;          /* body text */
  --color-text-muted: #5B6472;    /* secondary text, captions */
  --color-text-faint: #8991A0;    /* placeholders, disabled */
  --color-border: #DCDFE6;        /* hairline borders */
  --color-border-strong: #C3C8D2;

  --color-verified: #2E6B4F;      /* success / available / paid */
  --color-verified-tint: #E1EEE7;
  --color-alert: #9B3B3B;         /* danger / occupied / overdue */
  --color-alert-tint: #F5E3E3;
  --color-warning: #96631B;       /* pending / reserved */
  --color-warning-tint: #F3E6CD;
  --color-info: #2B5A7A;          /* informational / in progress */
  --color-info-tint: #E2ECF2;

  /* ---- Typography ---- */
  --font-serif: "IBM Plex Serif", Georgia, "Times New Roman", serif;
  --font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;
  --text-4xl: 3rem;
  --text-5xl: 3.75rem;

  /* ---- Spacing scale (4px base) ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.5rem;
  --space-8: 3rem;
  --space-9: 4rem;
  --space-10: 5rem;

  /* ---- Radius: stamped ledger-slip feel, not sharp, not pill-shaped ---- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 999px;

  /* ---- Shadow: soft, low, paper-like ---- */
  --shadow-sm: 0 1px 2px rgba(18, 35, 63, 0.06);
  --shadow-md: 0 4px 12px rgba(18, 35, 63, 0.08);
  --shadow-lg: 0 12px 32px rgba(18, 35, 63, 0.12);
  --shadow-inset: inset 0 0 0 1px rgba(18, 35, 63, 0.06);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.2, 0.7, 0.3, 1);
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 420ms;

  /* ---- Layout ---- */
  --sidebar-width: 264px;
  --topbar-height: 64px;
  --container-max: 1200px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
