/* =====================================================================
   SBS CRM — Base styles: reset, design tokens, typography
   ===================================================================== */

:root {
  /* Color tokens — one primary accent, calm neutrals */
  --color-bg: #F6F8FB;
  --color-surface: #FFFFFF;
  --color-border: #E3E6EA;
  --color-text: #1B2430;
  --color-text-muted: #667085;
  --color-text-faint: #98A2B3;

  --color-primary: #1D5DBF;      /* single professional accent */
  --color-navy: #123262;         /* deep navy used for headings/brand */
  --color-primary-dark: #164A99;
  --color-primary-tint: #EAF1FB;

  --color-success: #1C8B54;
  --color-success-tint: #E6F6ED;
  --color-warning: #B5760A;
  --color-warning-tint: #FCF1DD;
  --color-danger: #C1361F;
  --color-danger-tint: #FBEAE7;
  --color-neutral-tint: #EEF0F3;

  /* Status colors */
  --status-new: #1D5DBF;
  --status-new-tint: #EAF1FB;
  --status-potential: #B5760A;
  --status-potential-tint: #FCF1DD;
  --status-won: #1C8B54;
  --status-won-tint: #E6F6ED;
  --status-lost: #6B7280;
  --status-lost-tint: #EEF0F3;

  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;

  /* Radius */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;

  /* Layout */
  --header-height: 56px;
  --max-content-width: 560px;
  --sidebar-width: 236px;

  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-family);
  background: var(--color-bg);
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.5;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3, h4, p {
  margin: 0;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: 16px; /* prevents iOS auto-zoom on focus */
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  display: block;
}

/* Visible keyboard focus for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.sbs-nav-link:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    transition-duration: 0.001ms !important;
  }
}

.app-shell {
  max-width: var(--max-content-width);
  margin: 0 auto;
  min-height: 100vh;
  background: var(--color-bg);
  position: relative;
  padding-bottom: calc(env(safe-area-inset-bottom, 0px) + var(--space-6));
}

.page-content {
  padding: var(--space-4);
}

.text-muted { color: var(--color-text-muted); }
.text-faint { color: var(--color-text-faint); }
.text-sm { font-size: 13px; }
.text-center { text-align: center; }
