/* ============================================
   DIGITAL ACCESS MANAGER V2 - BASE & TYPOGRAPHY
   Style: ChatGPT-inspired, Clean & Minimal
   ============================================ */

   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

   /* ── Reset ── */
   *, *::before, *::after {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
   }
   
   /* ── Body: Clean, No Dot Pattern ── */
   html, body {
     overflow-x: hidden;
     max-width: 100vw;
     position: relative;
   }
   
   body {
     font-family: var(--font-family);
     background-color: var(--color-bg-primary);
     color: var(--color-text-primary);
     line-height: 1.6;
     font-size: 16px;
     font-weight: 400;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
     min-height: 100vh;
     /* Clean: no dot pattern, no gradient */
     text-rendering: optimizeLegibility;
   }
   
   /* ── Links ── */
   a {
     text-decoration: none;
     color: inherit;
     transition: color var(--duration-fast) ease;
   }
   
   a:hover {
     color: var(--color-brand-primary);
   }
   
   /* ── Images & Media ── */
   img, video, iframe {
     max-width: 100%;
     height: auto;
     display: block;
   }
   
   /* ── Typography Scale ── */
   h1, h2, h3, h4, h5, h6 {
     font-weight: 600;
     line-height: 1.25;
     letter-spacing: -0.02em;
     color: var(--color-text-primary);
     margin-bottom: var(--space-3);
   }
   
   h1 {
     font-size: 2rem;        /* 32px */
     font-weight: 600;
     letter-spacing: -0.025em;
     line-height: 1.2;
   }
   
   h2 {
     font-size: 1.5rem;      /* 24px */
     font-weight: 600;
     letter-spacing: -0.02em;
     line-height: 1.25;
   }
   
   h3 {
     font-size: 1.25rem;     /* 20px */
     font-weight: 600;
     letter-spacing: -0.015em;
     line-height: 1.3;
   }
   
   h4 {
     font-size: 1.125rem;    /* 18px */
     font-weight: 600;
     line-height: 1.35;
   }
   
   h5, h6 {
     font-size: 1rem;        /* 16px */
     font-weight: 600;
     line-height: 1.4;
   }
   
   /* ── Paragraph ── */
   p {
     font-size: 1rem;        /* 16px */
     line-height: 1.6;
     color: var(--color-text-secondary);
     margin-bottom: var(--space-4);
   }
   
   /* ── Small Text ── */
   small, .text-sm {
     font-size: 0.875rem;    /* 14px */
     line-height: 1.5;
   }
   
   /* ── Caption ── */
   .text-xs, .caption {
     font-size: 0.75rem;     /* 12px */
     line-height: 1.5;
     color: var(--color-text-muted);
   }
   
   /* ── Monospace ── */
   code, pre, kbd, samp {
     font-family: var(--font-mono);
     font-size: 0.875em;
   }
   
   code {
     background: var(--color-bg-secondary);
     padding: 0.125rem 0.375rem;
     border-radius: var(--radius-sm);
     color: var(--color-text-primary);
   }
   
   pre {
     background: var(--color-bg-secondary);
     padding: var(--space-4);
     border-radius: var(--radius-md);
     overflow-x: auto;
     border: 1px solid var(--color-border-default);
   }
   
   /* ── Strong & Emphasis ── */
   strong, b {
     font-weight: 600;
   }
   
   em, i {
     font-style: italic;
   }
   
   /* ── Lists ── */
   ul, ol {
     padding-left: var(--space-6);
     margin-bottom: var(--space-4);
     line-height: 1.6;
   }
   
   li {
     margin-bottom: var(--space-2);
   }
   
   /* ── Blockquote ── */
   blockquote {
     border-left: 3px solid var(--color-brand-primary);
     padding-left: var(--space-4);
     margin: var(--space-4) 0;
     color: var(--color-text-secondary);
     font-style: italic;
   }
   
   /* ── Horizontal Rule ── */
   hr {
     border: none;
     border-top: 1px solid var(--color-border-default);
     margin: var(--space-6) 0;
   }
   
   /* ── Selection ── */
   ::selection {
     background: var(--color-brand-primary-soft);
     color: var(--color-text-primary);
   }
   
   /* ── Focus Visible (Accessibility) ── */
   :focus-visible {
     outline: 2px solid var(--color-brand-primary);
     outline-offset: 2px;
     border-radius: var(--radius-sm);
   }
   
   /* ── Form Inputs: Prevent iOS Zoom ── */
   input, select, textarea {
     font-size: 16px;
     font-family: inherit;
   }
   
   /* ── Global Max-Width Safety ── */
   * {
     max-width: 100%;
     box-sizing: border-box;
   }
   
   /* ── Reduced Motion (Accessibility) ── */
   @media (prefers-reduced-motion: reduce) {
     *, *::before, *::after {
       animation-duration: 0.01ms !important;
       animation-iteration-count: 1 !important;
       transition-duration: 0.01ms !important;
       scroll-behavior: auto !important;
     }
   }