/* ---------------------------------------------------------------------------
   RevenueAudit — shared design system.
   Loaded by every page, before the page's own stylesheet. Anything here is
   common to the whole site; anything that differs per page lives in that page's
   file and overrides these by cascade order.
   --------------------------------------------------------------------------- */

:root{
  --primary-dark:#0a0a23; --primary:#12123d; --primary-light:#1a1a5c;
  --accent:#0891b2; --accent-light:#22d3ee; --accent-glow:rgba(8,145,178,.3);
  --success:#10b981; --warning:#f59e0b; --danger:#ef4444;
  --white:#fff; --gray-50:#f9fafb; --gray-100:#f3f4f6; --gray-200:#e5e7eb;
  --gray-300:#d1d5db; --gray-400:#9ca3af; --gray-500:#6b7280; --gray-600:#4b5563;
  --gray-700:#374151; --gray-800:#1f2937; --gray-900:#111827;
  --font-main:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-display:'Plus Jakarta Sans',var(--font-main);
  --shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  --shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
  --radius:.5rem; --radius-lg:.75rem; --radius-xl:1rem; --radius-2xl:1.5rem;
  --transition:all .3s ease; --transition-fast:all .15s ease;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;font-family:var(--font-main);font-size:1rem;font-weight:600;border-radius:var(--radius-lg);border:2px solid transparent;cursor:pointer;transition:var(--transition);white-space:nowrap}
.btn-primary{background:var(--accent);color:var(--white);border-color:var(--accent)}
.btn-primary:hover{background:var(--accent-light);border-color:var(--accent-light);color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 10px 30px var(--accent-glow)}
.btn-lg{padding:1rem 2rem;font-size:1.1rem}

/* Logo */
.logo{display:flex;align-items:center;gap:.6rem}
.logo-mark{width:34px;height:34px;border-radius:9px;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}
.logo-mark-img{width:34px;height:34px;display:block;flex-shrink:0}
.logo-text{font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.3px}

/* Layout shell */
.container{width:100%;margin:0 auto;padding:0 1.5rem}

/* Accessibility */
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}
