/* theme/assets/css/style.css */
:root{
  --dp-orange:#ff7a00;
  --dp-orange-2:#ff9a3d;
  --dp-dark:#0b0b0c;
  --dp-dark-2:#141416;
  --dp-gray:#f4f6f8;
  --dp-border: rgba(17,24,39,.10);
  --dp-radius: 8px;
  }

html,body{height:100%;}
body{
  background: #cecece;
  min-height: 100vh;
  display:flex;
  flex-direction:column;
  margin:0;
  }

main{ flex: 1 0 auto; }

/* App container */
/*
  Historically this project used .container-1400. We keep it for backwards
  compatibility, but the app now targets a 1400px max width.
*/
.container-1400,
.container-1600{
  max-width: 1400px;
  padding-left: 18px;
  padding-right: 18px;
  }

/* Header/footer */
.dp-header{
  background: linear-gradient(180deg, var(--dp-dark), var(--dp-dark-2));
  border-bottom: 1px solid rgba(255,255,255,.06);
  }
.dp-footer{
  margin-top: 60px;

  background: linear-gradient(180deg, var(--dp-dark-2), var(--dp-dark));
  border-top: 1px solid rgba(255,255,255,.06);
  }

.dp-brand{
  color:#fff;
  font-weight:800;
  letter-spacing:.2px;
  text-decoration:none;
  font-size: 1.15rem;
  }
.dp-brand span{
  color: var(--dp-orange);
  }

.navbar-dark .nav-link{
  color: rgba(255,255,255,.78);
  }
.navbar-dark .nav-link:hover{
  color:#fff;
  }

.dp-pill{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  border-radius: 999px;
  padding: .35rem .65rem;
  }

/* Layout */
.dp-sidebar{
  width: 260px;
  flex: 0 0 260px;
  /* zijbalken blijven 260px */
  max-width: 260px;
  }
@media (max-width: 991.98px){
  .dp-sidebar{
  width: 100%;
  flex: 1 1 auto;
  max-width: none;
  }
}

.dp-sticky{
  position: sticky;
  top: 16px;
  }

.dp-card{
  border: 1px solid var(--dp-border);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(6px);
  box-shadow: 0 10px 26px rgba(17,24,39,.08);
  }

.dp-card-title{
  font-weight: 800;
  letter-spacing: .2px;
  }

.small-muted{
  color:#6b7280;
  }

/* Sidebar nav */
.dp-nav a {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .20rem .25rem;
  border-radius: 14px;
  text-decoration: none;
  color: #111827;
  border: 1px solid transparent;
  transition: all .12s ease-in-out;
    font-size: 14px;
}

.dp-nav a i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: transparent;
  color: inherit;
}

.dp-nav a:hover{
  background:#fff;
  border-color: rgba(17,24,39,.08);
  transform: translateY(-1px);
  }
.dp-nav a.active{
  background:#fff;
  border-color: rgba(255,122,0,.25);
  box-shadow: none;
  }

/* Badges & buttons */
.badge-orange{
  background: rgba(255,122,0,.14);
  color: #9a4a00;
  border: 1px solid rgba(255,122,0,.25);
  padding: .35rem .55rem;
  border-radius: 999px;
  }

.btn-orange{
  background: linear-gradient(180deg, var(--dp-orange), var(--dp-orange-2));
  border: 0;
  color:#141416;
  font-weight: 800;
  border-radius: 14px;
  box-shadow: 0 10px 22px rgba(255,122,0,.18);
  }
.btn-orange:hover{
  filter: brightness(.98);
  }

.btn-outline-dark{
  border-radius: 14px;
  }

/* Tables / list */
.table{
  margin-bottom: 0;
  }
.list-group-item{
  border-color: var(--dp-border);
  }

/* Niceties */
.form-control, .form-select, .btn{
  border-radius: 14px;
  }
hr{
  opacity: .12;
  }

/* ===== Header bar constrained to 1400px ===== */
.dp-header{
  background: transparent !important;
  border: 0 !important;
  }
.dp-header-bar{
  background: linear-gradient(180deg, var(--dp-dark), var(--dp-dark-2));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  box-shadow: 0 14px 32px rgba(0,0,0,.22);
  padding: .35rem .5rem;
  }

/* Top search */
.dp-search{
  width: min(620px, 100%);
  }
.dp-search .form-control{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
  color: #fff;
  }
.dp-search .form-control::placeholder{
  color: rgba(255,255,255,.55);
  }
.dp-search .btn{
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  }
.dp-search .btn:hover{
  background: rgba(255,255,255,.10);
  color:#fff;
  }

/* User pill / avatar */
.dp-userpill{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.35rem .6rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  }
.dp-userpill:hover{
  background: rgba(255,255,255,.10);
  color:#fff;
  }
.dp-avatar{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  font-weight: 900;
  font-size: .85rem;
  color:#141416;
  background: linear-gradient(180deg, var(--dp-orange), var(--dp-orange-2));
  box-shadow: 0 10px 18px rgba(255,122,0,.20);
  }

/* Sidebar: small section title */
.dp-nav-title{
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #6b7280;
  margin: .65rem .2rem .35rem;
  }

/* ===== Radius policy: alles 8px ===== */
.dp-card{
  border-radius: var(--dp-radius) !important;
  }
.dp-nav a{
  border-radius: var(--dp-radius) !important;
  }
.dp-nav a i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: transparent;
  color: inherit;
}

.form-control, .form-select, .btn{
  border-radius: var(--dp-radius) !important;
  }
.badge-orange{
  border-radius: var(--dp-radius) !important;
  }
.dp-userpill{
  border-radius: var(--dp-radius) !important;
  }
.dp-avatar{
  border-radius: var(--dp-radius) !important;
  }

/* Header flush tegen browserbalk, geen shadow, bovenhoeken recht */
.dp-header{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  }
.dp-header-bar{
  box-shadow: none !important;
  border-radius: 0 0 var(--dp-radius) var(--dp-radius) !important;
  padding-top: .55rem !important;
  padding-bottom: .55rem !important;
  }

/* ===== Header compact ===== */
.dp-header-bar{
  padding-top: .25rem !important;
  padding-bottom: .25rem !important;
  }
.dp-brand{
  font-size: 1.05rem !important;
  }
.dp-avatar{
  width: 28px !important;
  height: 28px !important;
  font-size: .82rem !important;
  }
.dp-userpill{
  padding: .25rem .5rem !important;
  }

/* Sidebar user panel */
.dp-userpanel .dp-avatar{background:rgba(255,255,255,.08);border:1px solid rgba(0,0,0,.08);border-radius:12px;display:flex;align-items:center;justify-content:flex-start;}
.dp-userpanel .btn{border-radius:10px;}
.dp-userpanel .badge{border-radius:999px;}

/* Sidebar user card */
.dp-usercard{
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  }
.dp-usercard > *{
  position:relative;
  }

.dp-useravatar{
  position: relative;
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(0,0,0,.10);
  box-shadow:none;
}

.dp-online-dot{
  position:absolute;
  width:9px;height:9px;
  border-radius:999px;
  background:#22c55e;
  border:2px solid #fff;
  box-shadow:none;
}

.dp-userlink{
  color: #111827;
  border-radius: 10px;
  padding: 2px 6px;
  margin-left: -6px;
  }

.dp-wallet-badge{
  background: rgba(255,140,0,.14);
  color: #111827;
  border: 1px solid rgba(255,140,0,.25);
  padding: .35rem .55rem;
  border-radius: 999px;
  }

.dp-quickbtn, .dp-iconbtn{
  }

.dp-status-dot{width:10px;height:10px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 2px rgba(0,0,0,.06);display:inline-block;}

/* Sidebar usercard buttons */
.dp-userbtn{
  position:relative;
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.44rem .6rem;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#111;
  text-decoration:none;
  font-weight:800;
  font-size:.86rem;
  box-shadow:none;
}
.dp-userbtn-ic{
  width:22px;height:22px;
  border-radius:8px;
  display:flex;align-items:center;justify-content:center;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.08);
  color:#111;
  box-shadow:none;
}
.dp-userbtn-badge{
  position:absolute;
  top:6px;
  right:6px;
  min-width:20px;
  height:18px;
  padding:0 .35rem;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  box-shadow:none;
}
.dp-userbtn-msg{
  border-color: rgba(255,140,0,.45);
  background:#fff;
  position:relative;
}
.dp-userbtn-msg::before{
  content:'';
  position:absolute;
  left:0;top:8px;bottom:8px;
  width:3px;
  border-radius:999px;
  background: rgba(255,140,0,.90);
}

.dp-userbtn-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap:.45rem;
}

.dp-userbtn{
  position:relative;
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.44rem .6rem;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:#111;
  text-decoration:none;
  font-weight:800;
  font-size:.86rem;
  box-shadow:none;
}

.dp-userbtn-txt{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dp-userbtn-badge{
  position:absolute;
  top:6px;
  right:6px;
  min-width:20px;
  height:18px;
  padding:0 .35rem;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  box-shadow:none;
}

.dp-userbtn-set{border-color: rgba(0,0,0,.18);background:#fff;}

/* Icon alignment (sidebar + user card) */
.dp-nav a{
  display:flex;
  align-items:center;
  gap:.55rem;
}
.dp-nav a i {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: transparent;
  color: inherit;
}

/* User card rows with inline icons */
.dp-userwallet i,
.dp-userpanel .bi-wallet2,
.dp-userpanel .bi-chat-dots,
.dp-userpanel .bi-gear{
  line-height:1;
}

.dp-userbtn-ic i{
  line-height:1;
  font-size:1rem;
}

/* Keep status dot aligned */
.dp-status-dot{
  position:relative;
  top:0;
}

.dp-userlink{position:relative;display:inline-block;padding-left:14px;}
.dp-online-dot-name{left:0;top:50%;transform:translateY(-50%);}

/* No icon shadows */
.dp-nav a i,
.dp-userbtn-ic,
.dp-avatar,
.dp-status-dot{
  box-shadow:none !important;
}

/* Ledenlijst cards */
.dp-member-avatar{
  width:44px;height:44px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:#f3f4f6;
  color:#111;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:none;
}

/* Usercard polish */
.dp-usercard{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  background: #fff;
  box-shadow: none;
  overflow: hidden;
}
.dp-usercard-head{
  padding: .75rem .85rem;
  background: #f9fafb;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.dp-usercard-left{
  display:flex;
  align-items:center;
  gap:.65rem;
}
.dp-useravatar{
  width:40px;
  height:40px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:none;
  color:#111;
}
.dp-usercard-name{min-width:0;}
.dp-username{
  position:relative;
  display:inline-block;
  padding-left:14px;
  font-weight:900;
  color:#111827;
  text-decoration:none;
  line-height:1.1;
  max-width: 100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dp-usersub{
  font-size:.82rem;
  color:#6b7280;
  margin-top:.15rem;
}
.dp-online-dot{
  width:9px;height:9px;
  border-radius:999px;
  background:#22c55e;
  border:2px solid #fff;
  box-shadow:none;
  position:absolute;
}
.dp-online-dot-name{
  left:0;
  top:50%;
  transform:translateY(-50%);
}
.dp-usercard-body{
  padding: .75rem .85rem .85rem;
}
.dp-metric{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:.45rem;
}
.dp-metric:first-child{margin-top:0;}
.dp-metric-left{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#6b7280;
  font-size:.86rem;
}
.dp-metric-left i{
  width:16px;
  text-align:center;
  line-height:1;
}
.dp-metric-right{
  font-weight:900;
  font-size:.90rem;
  color:#111;
}
.dp-wallet-badge{
  border-radius:999px;
  padding:.25rem .5rem;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  box-shadow:none;
}

/* End usercard polish */

/* Usercard v2 (minimal, no shadow) */
.dp-usercard2{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: none;
  background: #fff;
}
.dp-usercard2-top{
  padding: .85rem .95rem .75rem;
  background: #0b0f19;
  color: #fff;
  position: relative;
}
.dp-usercard2-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  font-size:.78rem;
  font-weight:800;
  padding:.25rem .5rem;
  border-radius:999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
}
.dp-usercard2-top .dp-status-dot{
  width:8px;height:8px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:none;
  border:0;
}
.dp-usercard2-name{
  display:block;
  margin-top:.65rem;
  font-weight:900;
  font-size:1.05rem;
  letter-spacing:.01em;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dp-usercard2-sub{
  margin-top:.1rem;
  font-size:.82rem;
  color: rgba(255,255,255,.70);
}
.dp-usercard2-body{
  padding: .85rem .95rem .95rem;
}
.dp-usercard2-metrics{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:.6rem;
}
.dp-mchip{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: .55rem .65rem;
  background:#fff;
}
.dp-mchip-k{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:#6b7280;
  font-size:.80rem;
  font-weight:800;
}
.dp-mchip-k i{
  width:16px;
  text-align:center;
  line-height:1;
}
.dp-mchip-v{
  margin-top:.25rem;
  font-weight:900;
  color:#111827;
  font-size:.92rem;
}
.dp-mchip-v a{color:#111827;}
.dp-usercard2-actions{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin-top:.75rem;
}
.dp-linkbtn{
  display:flex;
  align-items:center;
  gap:.55rem;
  padding:.48rem .6rem;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  text-decoration:none;
  color:#111827;
  font-weight:900;
  background:#fff;
}
.dp-linkbtn i{
  width:18px;
  text-align:center;
  line-height:1;
}
.dp-pill{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:18px;
  padding:0 .35rem;
  border-radius:999px;
  background:#ff7a00;
  color:#111;
  font-size:.72rem;
  font-weight:900;
  border:1px solid rgba(0,0,0,.10);
}

/* Usercard v2 refinements */
.dp-usercard2{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: none;
  background: #fff;
}
.dp-usercard2-top{
  padding: .85rem .95rem .85rem;
  background: #0b0f19;
  color: #fff;
}
.dp-usercard2-toprow{
  display:flex;
  justify-content:flex-end;
}
.dp-usercard2-user{
  display:flex;
  align-items:center;
  gap:.75rem;
  margin-top:.65rem;
}
.dp-usercard2-avatar{
  width:44px;height:44px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  letter-spacing:.02em;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  color:#fff;
}
.dp-usercard2-usertext{min-width:0;}
.dp-usercard2-name{
  display:block;
  font-weight:900;
  font-size:1.05rem;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dp-usercard2-sub{
  margin-top:.12rem;
  font-size:.82rem;
  color: rgba(255,255,255,.70);
}
.dp-usercard2-body{
  padding: .85rem .95rem .95rem;
}
.dp-usercard2-metrics{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:.6rem;
}
.dp-mchip{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: .6rem .7rem;
  background:#fff;
}
.dp-mchip-k{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:#6b7280;
  font-size:.78rem;
  font-weight:900;
}
.dp-mchip-k i{
  width:16px;
  text-align:center;
  line-height:1;
}
.dp-mchip-v{
  margin-top:.25rem;
  font-weight:900;
  color:#111827;
  font-size:.95rem;
}
.dp-mchip-link{
  color:#111827;
  text-decoration:none;
  border-bottom: 1px dotted rgba(0,0,0,.18);
}
.dp-usercard2-actions{
  display:flex;
  flex-direction:column;
  gap:.45rem;
  margin-top:.8rem;
}
.dp-linkbtn{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.5rem .65rem;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.12);
  text-decoration:none;
  color:#111827;
  font-weight:900;
  background:#fff;
  box-shadow:none;
}
.dp-linkbtn-ic{
  width:26px;height:26px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:none;
}
.dp-linkbtn-primary{
  border-color: rgba(255,140,0,.45);
}
.dp-pill{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:18px;
  padding:0 .35rem;
  border-radius:999px;
  background:#ff7a00;
  color:#111;
  font-size:.72rem;
  font-weight:900;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:none;
}


/* Sidebar mini usercard */
.dp-mini-avatar{
  width:38px;height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.10);
  color:#111;
}


/* Public profile */
.dp-profile-avatar{
  width:54px;height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.10);
  color:#111;
}

.dp-mini-userlink{color:inherit;text-decoration:none;}
.dp-mini-userlink:hover{text-decoration:underline;}


/* Avatar images (with cache-buster) */
.dp-mini-avatar-img{
  width:38px;height:38px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.10);
  display:block;
}
.dp-profile-avatar-img{
  width:54px;height:54px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.10);
  display:block;
}
.dp-member-avatar-img{
  width:44px;height:44px;
  border-radius:14px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.10);
  display:block;
}

.dropdown-menu form{margin:0;}

.min-w-0{min-width:0;}


/* Profile listings cards */
.dp-tight-pills .nav-link{padding:.25rem .55rem;border-radius:10px;}
.dp-listcard{
  display:block;
  text-decoration:none;
  color:#111827;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:.65rem .75rem;
  background:#fff;
}
.dp-listcard:hover{border-color:rgba(0,0,0,.20);background:#f9fafb;color:#111827;}
.dp-listcard-title{font-weight:800;letter-spacing:-.01em;}
.dp-listcard-meta{font-size:.85rem;color:#6b7280;margin-top:.1rem;}
.dp-listcard-cta{margin-top:.45rem;font-size:.85rem;color:#9a4a00;font-weight:700;}


/* ===== Profile polish ===== */
.dp-profile-hero{
  border:1px solid rgba(0,0,0,.12);
  background:
    radial-gradient(900px 200px at 0% 0%, rgba(255,122,0,.10), transparent 60%),
    radial-gradient(700px 200px at 100% 0%, rgba(255,255,255,.10), transparent 55%),
    #ffffff;
}
.dp-profile-badges .badge{
  border-radius:999px;
  padding:.35rem .55rem;
  border:1px solid rgba(0,0,0,.08);
}
.dp-profile-side .badge{
  border-radius:999px;
}
.dp-section-card{
  border:1px solid rgba(0,0,0,.12);
}
.dp-profile-avatar-img{
  width:54px;height:54px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.10);
  display:block;
}
.dp-profile-avatar-fallback{
  width:54px;height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:#f3f4f6;
  border:1px solid rgba(0,0,0,.10);
  color:#111;
}
.dp-listcard-type{
  font-size:.72rem;
  border-radius:999px;
}


.dp-profile-hero-side{
  border:1px solid rgba(0,0,0,.12);
  background:
    radial-gradient(700px 180px at 0% 0%, rgba(255,122,0,.08), transparent 60%),
    #ffffff;
}
.dp-profile-score{
  font-size:2.25rem;
  font-weight:900;
  letter-spacing:-.03em;
  line-height:1;
}


/* Fixed footer (like header) */
.dp-footer-fixed{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1020;
}
.dp-footer-bar{
  background: linear-gradient(180deg, var(--dp-dark), var(--dp-dark-2));
  border: 1px solid rgba(255,255,255,.08);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  padding: .35rem .5rem;
}
/* Only apply when a fixed footer is actually used. */
body.dp-has-fixed-footer{
  padding-bottom: 78px; /* prevent overlap with fixed footer */
}


.dp-choice{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  padding: .85rem .9rem;
  cursor: pointer;
  background: rgba(255,255,255,.65);
  transition: transform .08s ease, border-color .08s ease;
}
.dp-choice:hover{
  transform: translateY(-1px);
  border-color: rgba(255,122,0,.35);
}
.dp-result{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  padding: .85rem .9rem;
  background: rgba(255,255,255,.65);
}

.dp-user-normal{ color:#111827 !important; }
.dp-user-vip{ color:#0d6efd !important; }
.dp-user-admin{ color:#ff7a00 !important; }
.dp-user-banned{ color:#dc3545 !important; text-decoration:none !important; }


/* Ledenlijst avatar + online */
.dp-avatarWrap{ width:44px; height:44px; flex:0 0 44px; }
.dp-avatarImg{
  width:44px; height:44px; border-radius:14px;
  object-fit:cover; display:block;
  border:1px solid rgba(0,0,0,.08);
}
.dp-avatarFallback{
  width:44px; height:44px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-weight:700; color:#111827;
  background: rgba(255,255,255,.7);
  border:1px solid rgba(0,0,0,.08);
}
.dp-onDot{ width:8px; height:8px; border-radius:99px; display:inline-block; }
.dp-onDot.on{ background:#198754; }
.dp-onDot.off{ background:#9ca3af; }

.dp-legend-sq{ width:12px; height:12px; border-radius:3px; display:inline-block; }



/* Ledenlijst cards */
.dp-membercard{ padding: 1rem; height:100%; }
.dp-member-top{ display:flex; align-items:flex-start; justify-content:space-between; gap: .75rem; }
.dp-member-left{ display:flex; align-items:flex-start; gap:.75rem; min-width:0; }
.dp-member-meta{ min-width:0; }
.dp-member-name{ font-weight:700; line-height:1.2; }
.dp-member-email{ font-size:.86rem; color:#6b7280; }
.dp-member-row{ display:flex; align-items:center; flex-wrap:wrap; gap:.6rem; margin-top:.55rem; font-size:.86rem; color:#6b7280; }
.dp-pill{ border:1px solid rgba(0,0,0,.12); padding:.15rem .55rem; border-radius:999px; font-size:.78rem; background:rgba(255,255,255,.65); }
.dp-status{ display:flex; align-items:center; gap:.4rem; }


/* Online/Offline badges for ledenlijst */
.dp-badge-online{
  background: rgba(25,135,84,.12) !important;
  color: #198754 !important;
  border: 1px solid rgba(25,135,84,.25) !important;
  font-weight:600;
}
.dp-badge-offline{
  background: rgba(156,163,175,.18) !important;
  color: #6b7280 !important;
  border: 1px solid rgba(156,163,175,.35) !important;
  font-weight:600;
}
.dp-badge-online i, .dp-badge-offline i{ font-size:.5rem; vertical-align:middle; }

.dp-member-name{ font-weight:700; text-decoration:none; }

.dp-member-name{ font-weight:700; text-decoration:none; }


/* Member card layout */
.dp-membercard{ padding: 1rem; height: 100%; }
.dp-mc-top{ display:flex; justify-content:space-between; align-items:flex-start; gap: .75rem; }
.dp-mc-left{ display:flex; align-items:flex-start; gap: .75rem; min-width:0; }
.dp-mc-meta{ min-width:0; width:100%; }
.dp-mc-nameRow{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.dp-mc-name{ font-weight:700; text-decoration:none; line-height:1.2; }
.dp-mc-email{ font-size:.86rem; color:#6b7280; margin-top:.2rem; }

.dp-mc-roleBadge{ flex:0 0 auto; border-radius:999px; padding:.15rem .55rem; font-size:.78rem; }

.dp-mc-hr{ margin:.85rem 0; opacity:.12; }

.dp-mc-mid{ display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.dp-mc-social{ display:flex; align-items:center; gap:.35rem; }
.dp-social{
  width:26px; height:26px; display:inline-flex;
  align-items:center; justify-content:center;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.10);
  color:#111827;
  background: rgba(255,255,255,.65);
  text-decoration:none;
}
.dp-social:hover{ border-color: rgba(255,122,0,.35); color:#111827; }

.dp-mc-footer{ margin-top:.9rem; display:flex; flex-direction:column; align-items:center; }
.dp-mc-since{ font-size:.86rem; color:#6b7280; }



/* Role badge next to online status */
.dp-role-pill{
  border-radius: 999px !important;
  padding: .22rem .55rem !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  border: 1px solid rgba(0,0,0,.10);
}
.dp-badge-online, .dp-badge-offline{
  padding: .22rem .55rem !important;
  font-size: .78rem !important;
}

.dp-mc-nameRow{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.dp-mc-name{ display:block; margin:0; padding:0; }
.dp-mc-email{ margin-left:0; padding-left:0; }


/* Online badge corner */
.dp-membercard{ position: relative; }
.dp-statusCorner{
  position:absolute;
  top: 12px;
  right: 12px;
}
.dp-mc-hr2{
  margin:.85rem 0 0 0;
  opacity:.12;
}


/* Tabs: black links + nicer active */
.dp-tabs{ border-bottom: 1px solid rgba(0,0,0,.08); }
.dp-tabs .nav-link{
  color: #111827 !important;
  border: 0 !important;
  padding: .55rem .85rem;
  border-radius: 8px 8px 0 0;
}
.dp-tabs .nav-link:hover{ background: rgba(0,0,0,.03); }
.dp-tabs .nav-link.active{
  color:#111827 !important;
  background: rgba(255,122,0,.10) !important;
  border-bottom: 2px solid rgba(255,122,0,.65) !important;
}
.dp-tabs .nav-link i{ opacity:.85; }


/* Wide segmented tabs (full-width)
   Usage: <ul class="nav nav-tabs dp-tabs dp-tabs-wide"> ...
          <ul class="nav nav-pills dp-tabs dp-tabs-wide"> ... */
.dp-tabs.dp-tabs-wide,
.dp-tabs-wide{
  border: 1px solid rgba(0,0,0,.10) !important;
  border-bottom: 1px solid rgba(0,0,0,.10) !important;
  background: rgba(255,255,255,.85);
  border-radius: 8px;
  padding: 6px;
  gap: 6px;
  width: 100%;
  display:flex;
  flex-wrap: wrap;
  align-items: center;
  box-shadow: 0 10px 24px rgba(17,24,39,.06);
}
.dp-tabs-wide.nav-tabs{ border-bottom: 0 !important; }
.dp-tabs-wide .nav-item{
  flex: 1 1 180px;
}
.dp-tabs-wide .nav-link{
  width: 100%;
  border: 0 !important;
  border-radius: 8px !important;
  padding: .65rem .9rem;
  font-weight: 700;
  text-align: center;
  justify-content: center;
  display:flex;
  align-items:center;
  gap: .45rem;
  color: #111827 !important;
  background: transparent !important;
  white-space: nowrap;
}
.dp-tabs-wide .nav-link:hover{
  background: rgba(0,0,0,.04) !important;
}
.dp-tabs-wide .nav-link.active{
  background: rgba(255,122,0,.14) !important;
  box-shadow: 0 8px 18px rgba(255,122,0,.12);
  border: 1px solid rgba(255,122,0,.22) !important;
}
.dp-tabs-wide .nav-link.active,
.dp-tabs-wide .nav-link.active i{ color:#111827 !important; }

/* Make segmented tabs play nice inside flex toolbars */
.dp-tabs-wide{ flex: 1 1 auto; }

/* Stars rating */
.dp-stars{ display:flex; flex-wrap:wrap; gap:.35rem; }
.dp-star{ display:inline-flex; align-items:center; gap:.25rem; border:1px solid rgba(0,0,0,.10); border-radius:12px; padding:.25rem .45rem; background:rgba(255,255,255,.65); cursor:pointer; }
.dp-star input{ display:none; }
.dp-star i{ font-size:.9rem; opacity:.85; }
.dp-star span{ font-size:.78rem; color:#6b7280; }
.dp-star input:checked + i{ color:#ff7a00; opacity:1; }
.dp-star:hover{ border-color: rgba(255,122,0,.35); }

.dp-social.disabled{
  opacity: .35;
  cursor: default;
  pointer-events: none;
}


/* Settings page polish */
.dp-settings-head{ background: rgba(255,255,255,.75); }
.dp-settings-section{
  padding: 1rem;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  background: rgba(255,255,255,.65);
}
.dp-iban-preview{ border: 1px solid rgba(0,0,0,.08); padding: .45rem .65rem; }
.dp-avatar-preview{ width:44px; height:44px; }
.dp-avatar-preview-img{ width:44px; height:44px; border-radius:14px; object-fit:cover; border:1px solid rgba(0,0,0,.08); }
.dp-avatar-preview-fallback{
  width:44px; height:44px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#111827; background: rgba(255,255,255,.75);
  border:1px solid rgba(0,0,0,.08);
}

.dp-content{ padding-bottom: 90px; }

.dp-footer-spacer{ height:60px; }


/* Forum */
.dp-forum-head{
  background: linear-gradient(90deg, rgba(255,122,0,.12), rgba(0,0,0,.02));
  padding: .9rem 1rem;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.dp-forum-cat{
  display:flex;
  gap:1rem;
  align-items:center;
  padding: .85rem 1rem;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 16px;
  text-decoration:none;
  color:#111827;
  background: rgba(255,255,255,.70);
}
.dp-forum-cat:hover{ background: rgba(255,255,255,.95); border-color: rgba(255,122,0,.25); }
.dp-forum-ic{
  width:40px; height:40px;
  border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,.03);
}
.dp-forum-ic i{ font-size: 1.2rem; }
.dp-forum-meta{ flex:1; min-width:0; }
.dp-forum-title{ font-weight:700; }
.dp-forum-desc{ color:#6b7280; font-size:.9rem; margin-top:.15rem; }
.dp-forum-go{ color:#9ca3af; }

.dp-post{ display:flex; gap:1rem; padding: .9rem 0; border-bottom: 1px solid rgba(0,0,0,.06); }
.dp-post:last-child{ border-bottom:0; }
.dp-post-av img{ width:42px; height:42px; border-radius:16px; object-fit:cover; border:1px solid rgba(0,0,0,.08); }
.dp-post-fb{ width:42px; height:42px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-weight:800; border:1px solid rgba(0,0,0,.08); background:rgba(255,255,255,.8); }
.dp-post-body{ flex:1; min-width:0; }
.dp-post-head{ display:flex; justify-content:space-between; gap:1rem; align-items:baseline; }
.dp-post-text{ margin-top:.35rem; line-height:1.5; }
.dp-link-dark{ color:#111827; text-decoration:none; }
.dp-link-dark:hover{ text-decoration:underline; }

/* Forum topic count badge */
.dp-badge-topics{
  margin-left:auto;
  border:1px solid rgba(0,0,0,.08);
  padding:.45rem .65rem;
  border-radius: 999px;
  font-weight:600;
}


/* Forum topic detail (post layout) */
.dp-tpost{ border:1px solid rgba(0,0,0,.06); display:flex; align-items:stretch; }
.dp-tpost-left{
  width: 220px;
  background: rgba(0,0,0,.03);
  border-right: 1px solid rgba(0,0,0,.06);
  padding: 1.1rem 1rem;
  text-align: center;

  align-self: stretch;
}
.dp-tpost-right{
  flex: 1;
  position: relative;
  padding: 1rem 1.25rem 1.15rem;
  background: rgba(255,255,255,.85);
}
.dp-tpost-avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom: .75rem;
}
.dp-tpost-avatar img{
  width: 96px;
  height: 96px;
  border-radius: 999px;
  object-fit: cover;
  border: 4px solid rgba(255,255,255,.9);
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.dp-tpost-fb{
  width: 96px;
  height: 96px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 2.1rem;
  color:#111827;
  background: rgba(255,255,255,.8);
  border: 4px solid rgba(255,255,255,.9);
}
.dp-tpost-name{
  font-weight: 800;
  margin-bottom: .35rem;
}
.dp-tpost-role{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding: .35rem .55rem;
  border-radius: 999px;
  font-weight: 700;
}
.dp-tpost-stats{
  margin-top: .9rem;
  border-top: 1px solid rgba(0,0,0,.06);
  padding-top: .75rem;
  display:flex;
  justify-content:space-between;
  gap:.75rem;
}
.dp-tpost-stat{ text-align:left; flex:1; }
.dp-tpost-stat .k{ font-size:.78rem; color:#6b7280; }
.dp-tpost-stat .v{ font-weight:800; }
.dp-tpost-meta{ display:none; }
.dp-tpost-topnum{
  position:absolute;
  top:.95rem;
  left:1.25rem;
  font-weight:800;
  color:#6b7280;
}
.dp-tpost-topdate{
  position:absolute;
  top:.85rem;
  right:1.25rem;
  border:1px solid rgba(0,0,0,.10);
  padding:.35rem .55rem;
  border-radius:999px;
  font-weight:800;
  background:#fff;
}
.dp-tpost-body{ padding-top: 2.35rem; }
.dp-tpost-text{ line-height: 1.6; }
.dp-tpost-actions{
  margin-top: 1rem;
  display:flex;
  justify-content:flex-end;
}
@media (max-width: 992px){
  .dp-tpost-left{ width: 100%; border-right:0; border-bottom:1px solid rgba(0,0,0,.06); text-align:left; }
  .dp-tpost-stats{ justify-content:flex-start; }
}

.dp-tpost-date{ display:none; }
.dp-tpost-num{ display:none; }


/* Forum topic detail - DomeinBase style */
.dp-forum-post{
  display:grid;
  grid-template-columns: 240px 1fr;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 18px;
  overflow: hidden;
}
.dp-forum-post-aside{
  background: rgba(0,0,0,.035);
  border-right: 1px solid rgba(0,0,0,.06);
  padding: 1.1rem 1rem;
  text-align: center;
}
.dp-forum-post-main{
  padding: 1rem 1.25rem;
  background: rgba(255,255,255,.88);
  display:flex;
  flex-direction: column;
  min-height: 100%;
}
.dp-forum-post-avatar{
  display:flex;
  justify-content:center;
  margin-bottom: .75rem;
}
.dp-forum-post-avatar img{
  width: 92px;
  height: 92px;
  border-radius: 999px;
  object-fit: cover;
  border: 4px solid rgba(255,255,255,.92);
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}
.dp-forum-post-fb{
  width: 92px;
  height: 92px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  font-size: 2.05rem;
  color:#111827;
  background: rgba(255,255,255,.85);
  border: 4px solid rgba(255,255,255,.92);
}
.dp-forum-post-name{
  font-weight: 800;
  margin-bottom: .4rem;
}
.dp-forum-post-role{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
  padding: .35rem .6rem;
  border-radius: 999px;
  font-weight: 700;
}
.dp-forum-post-stats{
  margin-top: 1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(0,0,0,.06);
  display:flex;
  gap: 1rem;
  justify-content: space-between;
}
.dp-forum-post-stat{ flex:1; text-align:left; }
.dp-forum-post-stat .k{ font-size:.78rem; color:#6b7280; }
.dp-forum-post-stat .v{ font-weight: 900; font-size: 1.05rem; }
.dp-forum-post-top{
  display:flex;
  justify-content: space-between;
  align-items:center;
  margin-bottom: .85rem;
}
.dp-forum-post-num{
  font-weight: 800;
  color:#111827;
}
.dp-forum-post-date{
  border:1px solid rgba(0,0,0,.10);
  padding:.35rem .55rem;
  border-radius: 999px;
  font-weight: 700;
}
.dp-forum-post-content{
  line-height: 1.65;
  color:#111827;
}
.dp-forum-post-footer{
  margin-top: auto;
  padding-top: 1rem;
  display:flex;
  justify-content: flex-end;
}
@media (max-width: 992px){
  .dp-forum-post{ grid-template-columns: 1fr; }
  .dp-forum-post-aside{ border-right:0; border-bottom:1px solid rgba(0,0,0,.06); text-align:left; display:flex; gap:1rem; align-items:center; }
  .dp-forum-post-stats{ margin-top: .5rem; padding-top: .5rem; }
  .dp-forum-post-avatar{ margin-bottom:0; }
  .dp-forum-post-avatar img, .dp-forum-post-fb{ width:64px; height:64px; }
}


/* Forum topic detail - orange aside + centered stats */
.dp-forum-post-aside{
  background: linear-gradient(180deg, rgba(255,122,0,.95), rgba(255,122,0,.82));
  color: #ffffff;
  border-right: 1px solid rgba(0,0,0,.06);
}
.dp-forum-post-aside .dp-link-dark,
.dp-forum-post-aside a{
  color:#ffffff !important;
}
.dp-forum-post-aside .text-muted,
.dp-forum-post-aside .k{
  color: rgba(255,255,255,.80) !important;
}
.dp-forum-post-avatar img,
.dp-forum-post-fb{
  border-color: rgba(255,255,255,.85);
}
.dp-forum-post-stats{
  justify-content: center;
}
.dp-forum-post-stat{
  text-align: center;
}
.dp-forum-post-stat .v{
  font-size: 1.2rem;
}
.dp-forum-post-role{
  border:1px solid rgba(255,255,255,.35);
}


/* Friends chips */
.dp-friend-chip{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .55rem;
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  text-decoration:none;
  color:#111827;
  background:#fff;
}
.dp-friend-chip:hover{ border-color: rgba(255,122,0,.45); color:#111827; }
.dp-friend-av{ display:inline-flex; align-items:center; justify-content:center; }
.dp-friend-n{ font-size: 0.95rem; font-weight:600; }


/* Admin user suggest dropdown */
.dp-suggest .list-group-item{ border:0; }
.dp-suggest .list-group-item:hover{ background: rgba(255,122,0,.08); }


/* Password toggle */
.dp-passwrap{
  position: relative;
}
.dp-passwrap .form-control{
  padding-right: 2.25rem;
}
.dp-pass-toggle{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  background: transparent;
  padding: 4px 6px;
  line-height: 1;
  color: #111827;
  opacity: .65;
}
.dp-pass-toggle:hover{
  opacity: 1;
}


/* Dashboard key/value blocks */
.dp-kv{ border:1px solid #eef2f7; border-radius:14px; padding:.65rem .75rem; }
.dp-kv-k{ font-size:.78rem; color:#6b7280; }
.dp-kv-v{ font-weight:600; color:#111827; margin-top:.15rem; }

/* Dashboard compact stat cards */
.dp-compactcard .dp-cc-ico{
  width:32px;height:32px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #eef2f7;
}
.dp-compactcard .dp-cc-val{
  font-weight:700;
  font-size:1.25rem;
  color:#111827;
}


/* Dashboard visuals */
.dp-compactcard{
  border:1px solid #eef2f7;
}
.dp-compactcard:hover{
  background: #fafafa;
}
.dp-compactcard .dp-cc-ico{
  background: rgba(255, 122, 0, .08);
  border-color: rgba(255, 122, 0, .25);
}
.dp-compactcard .dp-cc-val{
  font-variant-numeric: tabular-nums;
}
.dp-kv{
  background: #fcfcfd;
}


/* Clickable cards */
.dp-cardlink{ display:block; text-decoration:none; color:inherit; }
.dp-cardlink:hover{ color:inherit; }
.dp-cardlink .card{ cursor:pointer; }


/* Admin beheer cards: bigger icon */
.dp-cc-ico.dp-cc-ico-lg{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;font-size:18px;background:rgba(0,0,0,.04);color:#111827;}
.dp-cc-ico.dp-cc-ico-lg i{font-size:18px;line-height:1;display:block;}

/* Safety: hide subtitles in admin beheer option cards */
.admin-beheer-tiles .text-muted{display:none !important;}

/* Admin beheer tiles: icon normalize */
.dp-cc-ico.dp-cc-ico-lg{
  width:46px;
  height:46px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.06);
  color:#111827;
  flex:0 0 46px;
}
.dp-cc-ico.dp-cc-ico-lg i,
.dp-cc-ico.dp-cc-ico-lg .bi{
  font-size:18px !important;
  line-height:1 !important;
}
.dp-cc-ico.dp-cc-ico-lg i{
  display:inline-block;
  width:1em;
  height:1em;
}


/* Admin beheer (tiles) */
.dp-admin-mini{
  display:block;
  text-decoration:none;
  border:1px solid rgba(17,24,39,.08);
  border-radius:14px;
  padding:14px;
  background:#fff;
  transition:transform .08s ease, border-color .12s ease;
  color:#111827;
}
.dp-admin-mini:hover{transform:translateY(-1px); border-color:rgba(17,24,39,.18);}
.dp-admin-mini-k{font-size:.9rem; color:#6b7280;}
.dp-admin-mini-v{font-size:2rem; line-height:1; margin-top:4px; font-weight:700;}

.dp-admin-tile{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 18px;
  border:1px solid rgba(17,24,39,.08);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:#111827;
  height:72px;
  transition:transform .08s ease, border-color .12s ease;
}
.dp-admin-tile:hover{transform:translateY(-1px); border-color:rgba(17,24,39,.18);}

.dp-admin-ico{
  width:46px;
  height:46px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.06);
  color:#111827;
  flex:0 0 46px;
}
.dp-admin-ico i{font-size:18px; line-height:1;}
.dp-admin-title{
  font-weight:700;
  letter-spacing:.02em;
  font-size:.95rem;
}

/* Dashboard metric tiles (user dashboard) */
.dp-metric-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}
@media (max-width: 576px){
  .dp-metric-grid{ grid-template-columns:1fr; }
}

.dp-metric-tile{
  position:relative;
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  text-decoration:none;
  color:#fff;
  background: #0b0b0b;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 8px;
  padding: 14px 14px;
  min-height: 86px;
  overflow:hidden;
  transition: transform .08s ease, border-color .12s ease, filter .12s ease;
}
.dp-metric-tile:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.16);
  color:#fff;
}
.dp-metric-tile:before{
  content:"";
  position:absolute;
  inset:0;
  background: none;
  pointer-events:none;
}
.dp-metric-main{ position:relative; z-index:2; }
.dp-metric-number{ font-size: 22px; line-height:1; font-weight: 900; letter-spacing: -.02em; }
.dp-metric-caption{ margin-top: 7px; font-size: 12px; font-weight: 800; letter-spacing: .02em; opacity: .9; }
.dp-metric-ghost{
  position:absolute;
  right: 12px;
  bottom: -8px;
  font-size: 56px;
  line-height: 1;
  color: rgba(255,122,0,.45);
  opacity: 1;
  transform: rotate(-8deg);
  z-index:1;
}

/* Color accents */
.dp-metric-tile--orange,
.dp-metric-tile--blue,
.dp-metric-tile--green,
.dp-metric-tile--red{ border-color: rgba(255,255,255,.10); }
.dp-metric-tile--orange:after,
.dp-metric-tile--blue:after,
.dp-metric-tile--green:after,
.dp-metric-tile--red:after{ content:none; }


/* Optional: make admin tiles dark as well for consistency */
.admin-beheer-tiles .dp-admin-tile{
  background: linear-gradient(180deg, rgba(17,24,39,.98), rgba(11,18,32,.98));
  border-color: rgba(255,255,255,.10);
  color:#fff;
}
.admin-beheer-tiles .dp-admin-tile:hover{ border-color: rgba(255,255,255,.16); }
.admin-beheer-tiles .dp-admin-ico{ background: rgba(255,255,255,.08); color:#fff; }

/* @mention dropdown */
.dp-mention-box{
  position:absolute;
  left:0;
  right:0;
  bottom:calc(100% + 8px);
  background:#fff;
  border:1px solid rgba(17,24,39,.12);
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
  padding:6px;
  z-index:30;
  max-height:260px;
  overflow:auto;
}
.dp-mention-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  padding:8px 10px;
  border-radius:10px;
  text-align:left;
}
.dp-mention-item:hover{ background:rgba(17,24,39,.06); }
.dp-mention-item img{ width:22px;height:22px;border-radius:8px; object-fit:cover; }
.dp-mention-av{ width:22px;height:22px;border-radius:8px; background:rgba(17,24,39,.08); display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:.8rem; }

/* Messages list */
.dp-msg-list{ display:flex; flex-direction:column; gap:10px; }
.dp-msg-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 12px;
  border:1px solid rgba(17,24,39,.10);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:#111827;
}
.dp-msg-item:hover{ border-color: rgba(255,122,0,.35); }
.dp-msg-avatar{ width:40px;height:40px;border-radius:14px; overflow:hidden; background:rgba(17,24,39,.06); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dp-msg-avatar img{ width:100%;height:100%; object-fit:cover; }
.dp-msg-avatar span{ font-weight:800; }
.dp-msg-main{ flex:1 1 auto; min-width:0; }
.dp-msg-top{ display:flex; align-items:center; gap:10px; justify-content:space-between; }
.dp-msg-subject{ font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dp-msg-meta{ font-size:.86rem; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.dp-dot{ color:rgba(17,24,39,.35); }
.dp-msg-snippet{ font-size:.90rem; color:#4b5563; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dp-msg-badge{
  font-size:.75rem;
  padding:.25rem .5rem;
  border-radius:999px;
  background:rgba(255,122,0,.12);
  color:#9a4a00;
  border:1px solid rgba(255,122,0,.25);
  flex:0 0 auto;
}
.dp-msg-pill{
  font-size:.75rem;
  padding:.25rem .5rem;
  border-radius:8px;
  background:rgba(17,24,39,.06);
  color:#111827;
  border:1px solid rgba(17,24,39,.10);
  flex:0 0 auto;
}
.dp-msg-arrow{ color:rgba(17,24,39,.35); padding-top:6px; }
.dp-msg-unread{ border-color: rgba(255,122,0,.45); }

/* Message detail */
.dp-msg-detail{ display:flex; min-height:260px; }
.dp-msg-detail-aside{
  width:260px;
  background:rgba(17,24,39,.03);
  border-right:1px solid rgba(17,24,39,.08);
  padding:16px;
}
.dp-msg-detail-user{ display:flex; gap:10px; align-items:center; }
.dp-msg-detail-av{ width:42px;height:42px;border-radius:16px; overflow:hidden; background:rgba(17,24,39,.08); display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.dp-msg-detail-av img{ width:100%;height:100%; object-fit:cover; }
.dp-msg-detail-av span{ font-weight:800; }
.dp-msg-detail-body{ flex:1; padding:18px; }
.dp-msg-detail-bubble{ border:1px solid rgba(17,24,39,.10); border-radius:16px; padding:14px 14px; background:#fff; }
.dp-msg-detail-text{ font-size:1rem; }
@media (max-width: 992px){
  .dp-msg-detail{ flex-direction:column; }
  .dp-msg-detail-aside{ width:100%; border-right:0; border-bottom:1px solid rgba(17,24,39,.08); }
}


/* Admin button in sidebar: centered black button with white text */
.dp-admin-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  background:#000 !important;
  border-color:#000 !important;
  color:#fff !important;
  text-decoration:none;
}
.dp-admin-btn.dp-admin-icon{
  width:44px;
  height:38px;
  padding:0 !important;
  gap:0;
  border-radius:12px;
}
.dp-admin-btn:hover, .dp-admin-btn:focus{
  background:#111 !important;
  border-color:#111 !important;
  color:#fff !important;
  text-decoration:none;
}



/* Force containers to 1400px */
@media (min-width: 1400px){
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl,
  .container-xxl{
    max-width: 1400px !important;
  }
}


/* DOMEINBASE radius standard: 8px everywhere */
:root{
  --bs-border-radius: 8px;
  --bs-border-radius-sm: 8px;
  --bs-border-radius-lg: 8px;
  --bs-border-radius-xl: 8px;
  --bs-border-radius-xxl: 8px;
  --bs-border-radius-pill: 8px;
}
.rounded,
.rounded-0,
.rounded-1,
.rounded-2,
.rounded-3,
.rounded-4,
.rounded-5,
.card,
.btn,
.dropdown-menu,
.form-control,
.form-select,
.input-group-text,
.alert,
.modal-content,
.nav-tabs .nav-link,
.nav-pills .nav-link,
.dp-card,
.dp-tile,
.dp-metric-tile{
  border-radius: 8px !important;
}

/* dp-tabs-wide-radius-8 */
.dp-tabs.dp-tabs-wide,
.dp-tabs-wide{ border-radius: 8px !important; }
.dp-tabs-wide .nav-link{ border-radius: 8px !important; }
