/* Addictive Media CRM — huisstijl bovenop Bootstrap 5.
   Doel: een rustige, professionele werkomgeving waarin de belangrijkste
   acties voor een verkoper (klant vinden, contact loggen, advertentie
   boeken) met zo min mogelijk visuele ruis vindbaar zijn. */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:ital,wght@0,500;0,600;1,500&display=swap');

:root {
  --am-accent: #4F46E5;
  --am-accent-strong: #4338CA;
  --am-accent-soft: #EEF0FF;
  --am-bg: #F6F7FB;
  --am-surface: #FFFFFF;
  --am-surface-sunken: #F1F2F9;
  --am-text: #1B2033;
  --am-text-muted: #646B85;
  --am-border: #E4E6F2;
  --am-shadow: 0 1px 2px rgba(27, 32, 51, 0.04), 0 6px 20px rgba(27, 32, 51, 0.05);
  --am-radius: 0.75rem;
  --am-radius-sm: 0.5rem;

  --am-success: #157347;
  --am-success-soft: #E7F5EE;
  --am-warning: #92610A;
  --am-warning-soft: #FDF1DC;
  --am-danger: #B02A37;
  --am-danger-soft: #FBEAEC;
}

:root[data-bs-theme="dark"] {
  --am-accent: #8B87F6;
  --am-accent-strong: #A5A2F9;
  --am-accent-soft: #232149;
  --am-bg: #10121C;
  --am-surface: #171A28;
  --am-surface-sunken: #1D2130;
  --am-text: #E8E9F3;
  --am-text-muted: #9297B3;
  --am-border: #2A2E42;
  --am-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 8px 24px rgba(0, 0, 0, 0.35);

  --am-success: #6FCF9E;
  --am-success-soft: #16281F;
  --am-warning: #E8B860;
  --am-warning-soft: #2E2411;
  --am-danger: #F1959B;
  --am-danger-soft: #33191C;
}

html, body {
  background: var(--am-bg);
  color: var(--am-text);
}

body {
  font-family: 'Inter', -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 0.94rem;
}

h1, h2, h3 {
  font-family: 'Newsreader', Georgia, serif;
  letter-spacing: -0.01em;
}

a { color: var(--am-accent); }
a:hover { color: var(--am-accent-strong); }

/* ---------- App-chrome: sidebar + topbar ---------- */

.am-sidebar {
  background: var(--am-surface);
  border-right: 1px solid var(--am-border);
}

.am-brand {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.am-sidebar .nav-link {
  border-radius: var(--am-radius-sm);
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  transition: background-color 0.12s ease;
}

.am-sidebar .nav-link:hover {
  background: var(--am-surface-sunken);
}

.am-sidebar .nav-link.active {
  background: var(--am-accent-soft);
  color: var(--am-accent-strong);
}

.am-topbar {
  background: var(--am-surface);
  border-bottom: 1px solid var(--am-border);
}

.am-company-pill {
  border-radius: var(--am-radius-sm);
  transition: border-color 0.12s ease, background-color 0.12s ease;
}

.am-company-pill:hover {
  background: var(--am-surface-sunken);
}

/* ---------- Cards ---------- */

.card {
  background: var(--am-surface);
  border: 1px solid var(--am-border);
  border-radius: var(--am-radius);
  box-shadow: var(--am-shadow);
}

.card .card-body { padding: 1.25rem 1.4rem; }

/* ---------- Buttons ---------- */

.btn { border-radius: var(--am-radius-sm); font-weight: 500; }

.btn-primary {
  --bs-btn-bg: var(--am-accent);
  --bs-btn-border-color: var(--am-accent);
  --bs-btn-hover-bg: var(--am-accent-strong);
  --bs-btn-hover-border-color: var(--am-accent-strong);
  --bs-btn-active-bg: var(--am-accent-strong);
  --bs-btn-active-border-color: var(--am-accent-strong);
  --bs-btn-disabled-bg: var(--am-accent);
  --bs-btn-disabled-border-color: var(--am-accent);
}

.btn-outline-secondary {
  --bs-btn-color: var(--am-text-muted);
  --bs-btn-border-color: var(--am-border);
  --bs-btn-hover-bg: var(--am-surface-sunken);
  --bs-btn-hover-border-color: var(--am-border);
  --bs-btn-hover-color: var(--am-text);
  --bs-btn-active-bg: var(--am-surface-sunken);
  --bs-btn-active-color: var(--am-text);
}

.btn-outline-danger {
  --bs-btn-hover-bg: var(--am-danger);
  --bs-btn-hover-border-color: var(--am-danger);
}

.btn-link { text-decoration: none; }

/* ---------- Badges & status pills ---------- */

.badge { font-weight: 600; letter-spacing: 0.01em; border-radius: 999px; padding: 0.35em 0.7em; }

.text-bg-success { background: var(--am-success-soft) !important; color: var(--am-success) !important; }
.text-bg-warning { background: var(--am-warning-soft) !important; color: var(--am-warning) !important; }
.text-bg-danger  { background: var(--am-danger-soft) !important;  color: var(--am-danger) !important; }
.text-bg-secondary { background: var(--am-surface-sunken) !important; color: var(--am-text-muted) !important; }
.text-bg-info    { background: var(--am-accent-soft) !important;  color: var(--am-accent-strong) !important; }
.text-bg-primary { background: var(--am-accent) !important; color: #fff !important; }

/* ---------- Tables ---------- */

.table { --bs-table-color: var(--am-text); --bs-table-bg: transparent; }
.table > thead {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--am-text-muted);
  border-bottom-width: 1px;
}
.table-hover > tbody > tr:hover > * { background-color: var(--am-surface-sunken); }
.table-responsive { border-radius: var(--am-radius); }

/* ---------- Forms ---------- */

.form-control, .form-select {
  border-radius: var(--am-radius-sm);
  border-color: var(--am-border);
  background-color: var(--am-surface);
  color: var(--am-text);
}
.form-control:focus, .form-select:focus {
  border-color: var(--am-accent);
  box-shadow: 0 0 0 0.2rem var(--am-accent-soft);
}
.form-control:-webkit-autofill,
.form-control:-webkit-autofill:hover,
.form-control:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--am-text);
  -webkit-box-shadow: 0 0 0 1000px var(--am-surface) inset;
  box-shadow: 0 0 0 1000px var(--am-surface) inset;
  transition: background-color 600000s ease-in-out 0s;
}
.form-check-input:checked {
  background-color: var(--am-accent);
  border-color: var(--am-accent);
}
.form-switch .form-check-input:checked { background-color: var(--am-accent); }

/* ---------- Misc ---------- */

.dropdown-menu {
  border-color: var(--am-border);
  box-shadow: var(--am-shadow);
  border-radius: var(--am-radius);
}
.dropdown-item.active, .dropdown-item:active {
  background-color: var(--am-accent-soft);
  color: var(--am-accent-strong);
}

.am-user-menu { min-width: 15rem; }
.am-user-menu .form-switch { padding-left: 0; }

.pagination .page-link { color: var(--am-accent); border-color: var(--am-border); }
.pagination .page-item.active .page-link {
  background-color: var(--am-accent);
  border-color: var(--am-accent);
}

.am-stat-card { border-radius: var(--am-radius); }
.am-stat-value { font-family: 'Newsreader', Georgia, serif; font-size: 1.9rem; font-weight: 600; }
.am-stat-label { font-size: 0.78rem; color: var(--am-text-muted); text-transform: uppercase; letter-spacing: 0.05em; }

.am-quick-actions .btn { white-space: nowrap; }
