:root{
  --crm-accent:#2563eb;
  --ls-touch-target:44px;
  --ls-card-radius:18px;
}
body{
  background:linear-gradient(180deg,#f5f7fb 0%, #eef2f7 100%)!important;
  color:#0f172a;
  -webkit-text-size-adjust:100%;
  overflow-x:hidden;
}

body.bg-light{ background:linear-gradient(180deg,#f5f7fb 0%, #eef2f7 100%)!important; }
.navbar{ box-shadow:0 1px 0 rgba(15,23,42,.08); }
.card{ border-radius:var(--ls-card-radius)!important; border:1px solid rgba(15,23,42,.08)!important; }
.card.shadow-sm{ box-shadow:0 10px 26px rgba(15,23,42,.06)!important; }
.btn{ border-radius:14px!important; font-weight:700; min-height:var(--ls-touch-target); padding:.55rem .9rem; }
.btn-sm{ min-height:38px; padding:.35rem .75rem; }
.btn-group .btn{ border-radius:14px!important; }
.form-control,.form-select{ border-radius:14px!important; border-color:rgba(15,23,42,.14)!important; min-height:var(--ls-touch-target); }
.form-control:focus,.form-select:focus{ box-shadow:0 0 0 .2rem rgba(37,99,235,.18)!important; border-color:rgba(37,99,235,.45)!important; }
.table{ border-color:rgba(15,23,42,.10)!important; }
.table thead th{ font-size:.78rem; text-transform:uppercase; letter-spacing:.05em; color:#64748b; }
.badge{ border-radius:999px!important; padding:.45rem .65rem!important; font-weight:800; }

/* Small utility */
.soft-card{ background:rgba(255,255,255,.7); backdrop-filter:saturate(1.2) blur(8px); }
.badge-soft{ background:rgba(37,99,235,.10); color:#1e40af; border:1px solid rgba(37,99,235,.20); }
.kpi-card{ border:0; border-radius:16px; box-shadow:0 1px 2px rgba(0,0,0,.06); }
.table-crm thead th{ font-size:.78rem; text-transform:uppercase; letter-spacing:.04em; color:#6c757d; border-bottom-width:1px; }
.table-crm tbody td{ vertical-align:middle; }
.crm-search{ border-radius:999px; }
.thumb{ width:96px; height:72px; object-fit:cover; border-radius:12px; border:1px solid rgba(0,0,0,.10); background:#fff; }
.note-box{ border-radius:16px; background:#fff; border:1px solid rgba(0,0,0,.08); }
.stack-actions{ display:flex; flex-wrap:wrap; gap:.5rem; align-items:stretch; }
.stack-actions > *{
  min-height:var(--ls-touch-target);
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.stack-actions > .btn,
.stack-actions > .badge{
  white-space:normal;
  text-align:center;
}
.table-responsive{
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}
.modal-content{ border-radius:20px; }
.modal-header,.modal-footer{ padding:1rem 1.1rem; }
.dropdown-menu{ max-width:min(100vw - 1rem, 22rem); }

/* Flow icons in leads list */
.crm-flow{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:12px; border:1px solid rgba(0,0,0,.08); background:#fff; margin-right:6px; }

/* Workflow card (lead detail) */
.crm-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:10px; }
.crm-step{ border:1px solid rgba(0,0,0,.08); border-radius:16px; background:#fff; padding:12px; }
.crm-step .icon{ width:42px; height:42px; border-radius:16px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(0,0,0,.08); background:#f8fafc; margin-bottom:8px; }
.crm-step.done{ border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.04); }
.crm-step.done .icon{ border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.10); }
@media (max-width: 992px){ .crm-steps{ grid-template-columns:1fr 1fr; } }

/* Levensoverzicht: icon/emoji */
.icon-pill{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;border:1px solid rgba(15,23,42,.10);background:#fff;margin-right:8px;}
.icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px;}
.icon-choice{cursor:pointer;display:flex;align-items:center;justify-content:center;height:44px;border-radius:14px;border:1px solid rgba(15,23,42,.10);background:#fff;}
.icon-choice:hover{box-shadow:0 10px 26px rgba(15,23,42,.10);transform:translateY(-1px);}

@media (max-width: 991.98px){
  .card-body{ padding:1rem; }
  .card-header{ padding:.9rem 1rem; }
  .modal-dialog{ margin:.75rem; }
}

@media (max-width: 767.98px){
  .card,
  .soft-card{ border-radius:16px!important; }
  .table thead th,
  .table tbody td{
    padding:.7rem .75rem;
  }
  .table-responsive{
    overflow-x:auto;
    border:1px solid rgba(15,23,42,.08);
  }
  .modal-content{ border-radius:18px; }
  .modal-header,
  .modal-footer{
    padding:.9rem 1rem;
  }
  .dropdown-menu{ min-width:min(18rem, calc(100vw - 1rem)); }
}

@media (max-width: 575.98px){
  .container{ --bs-gutter-x:1rem; }
  .stack-actions{ gap:.4rem; }
  .stack-actions > *{ flex:1 1 calc(50% - .2rem); min-width:0; }
  .stack-actions > .badge{ flex-basis:100%; justify-content:flex-start; text-align:left; }
  .stack-actions > .btn{ line-height:1.2; }
  .table-responsive > .table{ min-width:max-content; }
  .table-responsive > .table.mobile-stack-table,
  .table-responsive > .table.dashboard-table-stack,
  .table-responsive > .table.admin-users-table,
  .table-responsive > .table.admin-user-table{ min-width:0; }
  .modal-dialog{ margin:.5rem; }
}
