/* ── Wrapper: volle breedte met 5% zijmarge en 3% top padding ── */
.dtp-page-wrap {
  width: 100%;
  box-sizing: border-box;
  padding: 3% 5% 40px;
}

.dtp-card,
.dtp-form,
.dtp-admin-card {
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 28px 32px;
  background: #ffffff;
  border: 1px solid #dcdcde;
  border-radius: 10px;
  margin: 0 0 24px;
  box-shadow: 0 2px 6px rgba(0,0,0,.07);
  font-family: var(--dtp-font-family, inherit);
  font-size: var(--dtp-font-size, 15px);
}
.dtp-form label {
  display: block;
  margin: 0 0 16px;
  font-weight: 600;
  line-height: 1.4;
  font-size: var(--dtp-font-size, 15px);
}
.dtp-form input,
.dtp-form textarea,
.dtp-form select {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 42px;
  padding: 9px 10px;
  margin-top: 6px;
  border: 1px solid #8c8f94;
  border-radius: 4px;
  background: #fff;
  font: inherit;
  font-size: var(--dtp-font-size, 15px);
}
.dtp-form textarea { min-height: 90px; resize: vertical; }
.dtp-form button,
.dtp-print-button {
  display: inline-block;
  padding: 11px 18px;
  border: 0;
  border-radius: 4px;
  background: #2271b1;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  font-size: var(--dtp-font-size, 15px);
}
.dtp-message,
.dtp-tracking-result {
  max-width: 100%;
  box-sizing: border-box;
  padding: 14px 16px;
  border-left: 4px solid #2271b1;
  background: #f0f6fc;
  margin: 0 0 16px;
}
.dtp-receipt {
  max-width: 380px;
  box-sizing: border-box;
  border: 1px dashed #333;
  padding: 18px;
  margin: 24px auto 12px;
  background: #fff;
  color: #111;
  font-family: var(--dtp-font-family, Arial, sans-serif);
  font-size: 14px;
  line-height: 1.45;
}
.dtp-receipt h2 { margin: 0 0 8px; font-size: 20px; }
.dtp-print-button { margin: 0 auto 24px; display: block; }
@media (max-width: 600px) {
  .dtp-card,
  .dtp-form,
  .dtp-admin-card { margin: 0 0 16px; padding: 18px 16px; }
}
@media print {
  body * { visibility: hidden !important; }
  #dtp-receipt, #dtp-receipt * { visibility: visible !important; }
  #dtp-receipt {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    border: none;
    margin: 0;
    box-shadow: none;
  }
  .dtp-print-button { display: none !important; }
}

/* ── CSS variabelen voor lettertype/grootte (worden via inline-style overschreven) ── */
:root {
  --dtp-font-family: inherit;
  --dtp-font-size: 15px;
  --dtp-primary: #00b9c3;
  --dtp-primary-dark: #008c95;
  --dtp-radius: 7px;
}

/* ── Formulier basisstijl met CSS vars ── */
.dtp-card, .dtp-form, .dtp-login-card, .dtp-reg-form {
  font-family: var(--dtp-font-family);
  font-size: var(--dtp-font-size);
}

/* ── Registratieformulier sectiebovenschriften ── */
.dtp-form-section-title {
  font-size: calc(var(--dtp-font-size) * 1.05);
  font-weight: 700;
  color: #1e3a5f;
  margin: 22px 0 10px;
  padding-bottom: 6px;
  border-bottom: 2px solid #e5e7eb;
}
.dtp-form-section-title:first-child { margin-top: 0; }

/* ── Label + input nette blok-layout ── */
.dtp-form-label {
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: var(--dtp-font-size);
  color: #374151;
  margin: 0;
  gap: 5px;
}
.dtp-form-label input,
.dtp-form-label textarea,
.dtp-form-label select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1.5px solid #cbd5e1;
  border-radius: var(--dtp-radius);
  font-family: var(--dtp-font-family);
  font-size: var(--dtp-font-size);
  background: #fff;
  transition: border-color .15s;
  min-height: 42px;
  margin: 0;
}
.dtp-form-label input:focus,
.dtp-form-label textarea:focus,
.dtp-form-label select:focus {
  border-color: var(--dtp-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,185,195,.15);
}
.dtp-form-label textarea { min-height: 80px; resize: vertical; }

/* verplicht asterisk */
.dtp-required { color: #e53e3e; margin-left: 2px; }

/* ── rij + 2-koloms raster ── */
.dtp-form-row  { margin-bottom: 16px; }
.dtp-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 600px) { .dtp-form-grid { grid-template-columns: 1fr; } }

/* ── Indienknop (button én input[type=submit]) ── */
.dtp-form-actions { margin-top: 24px; }
.dtp-submit-btn,
input.dtp-submit-btn,
input[type="submit"].dtp-submit-btn {
  display: inline-block;
  padding: 12px 28px;
  background: var(--dtp-primary);
  color: #fff !important;
  font-family: var(--dtp-font-family);
  font-size: var(--dtp-font-size);
  font-weight: 700;
  border: 0;
  border-radius: var(--dtp-radius);
  cursor: pointer;
  transition: background .15s;
  text-decoration: none;
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.4;
  min-height: 0;
  width: auto;
  box-sizing: border-box;
}
.dtp-submit-btn:hover,
input.dtp-submit-btn:hover,
input[type="submit"].dtp-submit-btn:hover { background: var(--dtp-primary-dark); }

/* ── Loginkaart ── */
.dtp-login-card {
  max-width: 100%;
  width: 100%;
  margin: 0 0 24px;
}
.dtp-login-title {
  font-size: calc(var(--dtp-font-size) * 1.2);
  font-weight: 700;
  color: #1e3a5f;
  margin: 0 0 20px;
}
.dtp-login-form .dtp-form-row { margin-bottom: 18px; }
.dtp-remember-row { display: flex; align-items: center; }
.dtp-remember-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 400;
  font-size: calc(var(--dtp-font-size) * 0.92);
  cursor: pointer;
}
.dtp-remember-label input[type=checkbox] {
  width: auto; min-height: auto; padding: 0; margin: 0; border: 1.5px solid #cbd5e1; border-radius: 3px;
}

/* ── Fout/melding blok ── */
.dtp-error {
  background: #ffecec;
  border: 1px solid #d63638;
  color: #8a1f1f;
  padding: 12px 16px;
  margin: 0 0 16px;
  border-radius: var(--dtp-radius);
  font-size: var(--dtp-font-size);
}

/* ── Verwijder de oude WP login-form stijlen die we niet meer gebruiken ── */
.dtp-login-card #loginform { display: none; }
.dtp-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  align-items: center;
}
.dtp-menu-link {
  display: inline-block;
  padding: 12px 16px;
  border-radius: 6px;
  background: #2271b1;
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
}
.dtp-menu-link:hover,
.dtp-menu-link:focus {
  background: #135e96;
  color: #fff !important;
}
@media (max-width: 600px) {
  .dtp-menu { align-items: stretch; }
  .dtp-menu-link { width: 100%; text-align: center; box-sizing: border-box; }
}
.dtp-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:12px}.dtp-summary>div{padding:12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.dtp-table-wrap{overflow-x:auto}.dtp-table{width:100%;border-collapse:collapse;white-space:nowrap}.dtp-table th,.dtp-table td{border-bottom:1px solid #e5e7eb;padding:8px;text-align:left}.dtp-help{font-size:13px;opacity:.8;margin-top:-6px}

.dtp-receipt-actions{margin:15px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.dtp-button,.dtp-receipt-actions a.dtp-button{display:inline-block;background:#2271b1;color:#fff!important;text-decoration:none;border-radius:5px;padding:8px 14px;font-weight:600;border:0;line-height:1.3}
.dtp-whatsapp,.dtp-receipt-actions a.dtp-whatsapp{background:#25d366;color:#111!important}
@media print{.dtp-receipt-actions,.dtp-button,.dtp-print-button{display:none!important}}
.dtp-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin:18px 0}.dtp-big{font-size:28px;font-weight:700;margin:8px 0}.dtp-whatsapp{background:#25d366!important;color:#fff!important;border-color:#25d366!important}

/* Version 2.0.2 - compact professioneel drop-off dashboard */
.dtp-location-dashboard{
  max-width:1180px;
  margin:18px auto;
  background:#f8fafc;
  color:#1f2937;
  border:1px solid #d9e2ec;
  border-radius:14px;
  font-family:var(--dtp-font-family,Arial,Helvetica,sans-serif);
  box-sizing:border-box;
  overflow:visible;
  box-shadow:0 8px 24px rgba(15,23,42,.08);
  font-size:var(--dtp-font-size,14px);
}
.dtp-location-dashboard *{box-sizing:border-box}
.dtp-dashboard-header{
  background:linear-gradient(135deg,#0f766e,#14b8a6);
  color:#fff;
  text-align:left;
  font-weight:800;
  font-size:22px;
  letter-spacing:.4px;
  padding:18px 24px;
  border-bottom:1px solid rgba(255,255,255,.25);
  text-transform:uppercase;
}
.dtp-dashboard-body{display:grid;grid-template-columns:230px 1fr;min-height:560px}
.dtp-dashboard-sidebar{
  background:#0f172a;
  padding:14px 12px;
  border-right:0;
}
.dtp-dash-link{
  display:block;
  padding:10px 12px;
  margin:4px 0;
  color:#dbeafe!important;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
  border-radius:9px;
  line-height:1.25;
}
.dtp-dash-link:hover,.dtp-dash-link.active{
  background:#14b8a6;
  color:#fff!important;
}
.dtp-dashboard-main{
  padding:18px 22px 26px;
  background:#f8fafc;
  overflow-x:hidden;
  min-width:0;
}
.dtp-dashboard-main .dtp-table-wrap{margin:12px 0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}
.dtp-dashboard-main .dtp-table-wrap .dtp-table{min-width:1000px;white-space:nowrap}
.dtp-invoice-head{
  display:grid;
  grid-template-columns:1fr 220px;
  gap:18px;
  padding:16px 18px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  background:#fff;
  margin-bottom:16px;
}
.dtp-invoice-head h2{margin:0 0 8px;font-size:18px;line-height:1.25;color:#0f172a}
.dtp-invoice-head p{margin:0;line-height:1.45;font-size:13px;font-weight:500;color:#334155}
.dtp-invoice-title{font-size:26px;font-weight:900;letter-spacing:1.5px;text-align:right;padding-top:2px;color:#0f172a}
.dtp-dashboard-main>h3{margin:10px 0 12px;font-size:18px;color:#0f172a}
.dtp-dashboard-main .dtp-card,.dtp-dashboard-main .dtp-form{
  max-width:none;
  margin:12px 0;
  padding:16px;
  border:1px solid #e5e7eb;
  border-radius:12px;
  box-shadow:none;
  background:#fff;
}
.dtp-dashboard-main .dtp-form label{font-size:var(--dtp-font-size,13px);margin:0 0 10px;font-weight:700;color:#334155}
.dtp-dashboard-main .dtp-form input,.dtp-dashboard-main .dtp-form textarea,.dtp-dashboard-main .dtp-form select{
  font-size:var(--dtp-font-size,14px);
  font-family:var(--dtp-font-family,inherit);
  padding:9px 10px;
  border-radius:8px;
}
.dtp-inside-card{background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:none!important}
.dtp-pos-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0}
.dtp-pos-summary>div{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px;min-height:68px;box-shadow:0 2px 8px rgba(15,23,42,.04)}
.dtp-pos-summary span{display:block;font-size:12px;font-weight:700;color:#64748b;margin-bottom:7px;text-transform:uppercase;letter-spacing:.35px}
.dtp-pos-summary strong{display:block;font-size:20px;color:#0f172a;line-height:1.15}
.dtp-dashboard-main .dtp-table{font-size:13px}
.dtp-dashboard-main .dtp-table th{background:#f1f5f9;font-weight:800;color:#334155}
.dtp-dashboard-main .dtp-table th,.dtp-dashboard-main .dtp-table td{padding:8px 10px;border-bottom:1px solid #e5e7eb;border-left:0;border-right:0}
.dtp-dashboard-main .dtp-receipt{max-width:780px;border:1px solid #cbd5e1;border-radius:12px;font-size:13px;box-shadow:none}
.dtp-dashboard-main .dtp-receipt h2{font-size:18px}
.dtp-dashboard-main .dtp-receipt-actions{margin:12px 0;gap:8px}
.dtp-dashboard-main .dtp-button,.dtp-dashboard-main button{font-size:13px;border-radius:8px;padding:8px 12px}
@media(max-width:800px){
  .dtp-location-dashboard{margin:10px;border-radius:10px;font-size:13px}
  .dtp-dashboard-body{grid-template-columns:1fr}
  .dtp-dashboard-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px}
  .dtp-dash-link{margin:0;text-align:center;font-size:12px;padding:9px 6px}
  .dtp-dashboard-main{padding:14px}
  .dtp-invoice-head{grid-template-columns:1fr;padding:14px}
  .dtp-invoice-title{text-align:left;font-size:22px}
  .dtp-dashboard-header{font-size:19px;padding:15px 16px}
}

.dtp-check-options{border:1px solid #d1d5db;border-radius:8px;padding:12px 14px;background:#fff;margin-top:6px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px 16px}
.dtp-check-line{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:500!important;cursor:pointer;line-height:1.4}
.dtp-check-line input{width:auto!important;min-height:auto!important;padding:0!important;margin:0!important;flex:0 0 auto}
@media(max-width:600px){.dtp-check-options{grid-template-columns:repeat(2,1fr)}}

/* v2.1.1 A4 invoice print/PDF preview layout */
.dtp-a4-invoice{
  width:210mm!important;
  min-height:297mm;
  max-width:210mm!important;
  margin:18px auto!important;
  padding:12mm!important;
  border:1px solid #d1d5db!important;
  border-radius:0!important;
  box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:12px!important;
  line-height:1.25!important;
  color:#111827!important;
  background:#fff!important;
}
.dtp-a4-top{display:grid;grid-template-columns:1fr 260px;gap:22px;margin-bottom:24px}.dtp-a4-business h2{font-size:18px!important;margin:0 0 14px!important;font-weight:500!important}.dtp-a4-business p{font-size:12px;margin:0;line-height:1.55}.dtp-a4-title{font-size:38px;font-weight:400;letter-spacing:1px;text-align:right;margin-bottom:18px;color:#000}.dtp-a4-meta-inner{display:flex;gap:12px;align-items:flex-start;justify-content:flex-end}.dtp-a4-meta table{width:100%;border-collapse:collapse;font-size:12px;flex:1}.dtp-a4-meta th{text-align:left;font-weight:500;padding:4px 6px;border-bottom:1px solid #e5e7eb}.dtp-a4-meta td{text-align:left;padding:4px 6px;border-bottom:1px solid #e5e7eb}.dtp-a4-qr{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.dtp-a4-qr img{width:90px;height:90px;display:block;border:1px solid #e5e7eb;border-radius:4px}.dtp-a4-qr span{font-size:9px;color:#666;text-align:center;white-space:nowrap}.dtp-a4-band{display:grid;grid-template-columns:1fr 1fr;background:#bfbfbf;color:#fff;font-weight:700;padding:6px 10px;margin:6px 0 0;text-transform:uppercase;font-size:12px}.dtp-a4-info{display:grid;grid-template-columns:1fr 1fr;gap:28px;min-height:210px;padding-top:8px}.dtp-a4-info p{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:0 0 8px;font-size:12px}.dtp-a4-info strong{font-weight:800;color:#374151}.dtp-a4-jobs{width:100%;border-collapse:collapse;margin-top:10px;font-size:12px}.dtp-a4-jobs thead th{background:#bfbfbf;color:#fff;text-align:left;padding:7px 10px;font-weight:800}.dtp-a4-jobs thead th:last-child{text-align:right}.dtp-a4-jobs td{height:24px;border-bottom:1px solid #111;padding:4px 10px}.dtp-a4-jobs td:last-child{width:150px;border-left:1px solid #555;text-align:right}.dtp-a4-bottom{display:grid;grid-template-columns:1fr 260px;gap:28px;margin-top:20px;align-items:start}.dtp-a4-notes strong{display:block;border-bottom:4px solid #374151;padding-bottom:4px;margin-bottom:6px}.dtp-a4-notes p{margin:0;font-size:11px}.dtp-a4-totals{width:100%;border-collapse:collapse;font-size:12px}.dtp-a4-totals th{text-align:left;padding:5px 6px;font-weight:600}.dtp-a4-totals td{text-align:right;padding:5px 6px}.dtp-a4-totals tr:first-child th,.dtp-a4-totals tr:first-child td{font-weight:800}.dtp-a4-terms{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:8px}.dtp-a4-terms strong{display:block;border-bottom:4px solid #374151;padding-bottom:4px;margin-bottom:6px}.dtp-a4-terms ul{margin:0;padding-left:18px;font-size:11px;line-height:1.5}.dtp-a4-thanks{margin-top:50px;font-size:16px;font-weight:800}
@media print{
  @page{size:A4;margin:0}
  body *{visibility:hidden!important}
  #dtp-receipt,#dtp-receipt *{visibility:visible!important}
  #dtp-receipt{position:absolute!important;left:0!important;top:0!important;width:210mm!important;min-height:297mm!important;margin:0!important;padding:12mm!important;border:0!important;box-shadow:none!important}
  .dtp-receipt-actions,.dtp-button,.dtp-print-button{display:none!important}
}
@media(max-width:900px){.dtp-a4-invoice{width:100%!important;min-height:auto;padding:18px!important}.dtp-a4-top,.dtp-a4-info,.dtp-a4-bottom{grid-template-columns:1fr}.dtp-a4-title{text-align:left}.dtp-a4-info{min-height:auto}.dtp-a4-band{grid-template-columns:1fr;gap:4px}.dtp-a4-jobs td:last-child{width:110px}.dtp-a4-thanks{margin-top:24px}}


/* v2.1.4: voorkom dat lange regels buiten de A4 bon/PDF preview lopen */
.dtp-a4-jobs{
  table-layout:fixed!important;
}
.dtp-a4-jobs th:first-child,
.dtp-a4-jobs td:first-child,
.dtp-a4-job-description{
  width:auto!important;
  max-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.35!important;
  vertical-align:top!important;
}
.dtp-a4-jobs th:last-child,
.dtp-a4-jobs td:last-child,
.dtp-a4-job-amount{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  white-space:nowrap!important;
  vertical-align:top!important;
}
.dtp-a4-jobs td{
  height:auto!important;
  min-height:24px!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
}
@media print{
  .dtp-a4-jobs{table-layout:fixed!important;}
  .dtp-a4-jobs td:first-child{overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;}
}

/* v2.1.5: voorkom overlap in customer/computer info en zet klacht in apart vak */
.dtp-a4-info{
  gap:18px!important;
  min-height:170px!important;
}
.dtp-a4-info p{
  display:block!important;
  margin:0 0 7px!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.dtp-a4-info strong{
  display:block!important;
  margin:0 0 2px!important;
  font-size:11.5px!important;
  line-height:1.2!important;
}
.dtp-a4-info span{
  display:block!important;
  margin:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.dtp-a4-complaint{
  border:1px solid #111!important;
  margin:8px 0 12px!important;
  min-height:58px!important;
  font-size:12px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.dtp-a4-complaint strong{
  display:block!important;
  background:#bfbfbf!important;
  color:#fff!important;
  padding:6px 10px!important;
  font-size:12px!important;
  line-height:1.1!important;
}
.dtp-a4-complaint p{
  margin:0!important;
  padding:8px 10px!important;
  min-height:38px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
@media print{
  .dtp-a4-info p,.dtp-a4-info strong,.dtp-a4-info span,.dtp-a4-complaint,.dtp-a4-complaint p{
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    white-space:normal!important;
  }
}

/* Tracking history timeline */
.dtp-tracking-history{list-style:none;margin:14px 0 0;padding:0;border-left:2px solid #2271b1;}
.dtp-tracking-history li{position:relative;padding:0 0 14px 18px;}
.dtp-tracking-history li::before{content:'';position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:#2271b1;}
.dtp-tracking-history-date{display:block;font-size:12px;color:#64748b;}
.dtp-tracking-history-status{display:block;font-weight:700;color:#0f172a;}

/* Employee management table */
.dtp-employee-table th,.dtp-employee-table td{vertical-align:middle;}
.dtp-csv-export{margin:10px 0;}
.dtp-csv-export .button{margin-right:8px;}

/* Inline profile edit (details/summary) */
.dtp-profile-details summary{cursor:pointer;list-style:none;display:inline-block;}
.dtp-profile-details summary::-webkit-details-marker{display:none;}
.dtp-profile-details summary::marker{content:'';}
.dtp-profile-details[open] summary{margin-bottom:14px;}
.dtp-profile-details .dtp-form{margin-top:6px;}

/* Searchable services picker (for "Diensten met prijs" field type) */
.dtp-service-picker{position:relative;border:1px solid #d1d5db;border-radius:8px;padding:8px;background:#fff;}
.dtp-service-selected{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px;min-height:24px;}
.dtp-service-empty{font-size:12px;color:#9ca3af;}
.dtp-service-chip{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#1e3a8a;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;}
.dtp-service-chip-remove{border:0;background:transparent;color:#1e3a8a;font-size:14px;line-height:1;cursor:pointer;padding:0;font-weight:700;}
.dtp-service-search{width:100%!important;box-sizing:border-box;}
.dtp-service-list{display:none;max-height:240px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;margin-top:6px;background:#fff;}
.dtp-service-list.open{display:block;}
.dtp-service-row{display:flex!important;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;margin:0!important;font-weight:500!important;cursor:pointer;border-bottom:1px solid #f1f5f9;}
.dtp-service-row:last-child{border-bottom:0;}
.dtp-service-row:hover{background:#f8fafc;}
.dtp-service-row input{display:inline-block!important;width:auto!important;min-height:auto!important;height:auto!important;padding:0!important;margin:0!important;border:1px solid #8c8f94;flex:0 0 auto;}
.dtp-service-row-name{flex:1;}
.dtp-service-row-price{color:#64748b;font-size:12px;white-space:nowrap;}

/* Inline employee password reset form */
.dtp-inline-form{display:flex;gap:6px;align-items:center;}
.dtp-inline-form input[type="password"]{min-width:140px;}

/* ── Bedrijfsgegevens wijzigen — pending notice ── */
.dtp-change-pending-notice {
  background: #fff8e6;
  border: 1px solid #f0a000;
  border-left: 4px solid #f0a000;
  border-radius: 7px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: var(--dtp-font-size, 14px);
  color: #6b4c00;
}

/* ── Ophaalbevestiging frontend ── */
.dtp-pickup-form-wrap {
  border: 2px solid #00b9c3;
  margin-top: 20px;
}
.dtp-pickup-form-title {
  font-size: calc(var(--dtp-font-size, 15px) * 1.1);
  font-weight: 700;
  color: #1e3a5f;
  margin: 0 0 10px;
}
.dtp-pickup-success {
  border-left-color: #00a32a;
  background: #edfaee;
  color: #0a4714;
}
.dtp-pickup-confirmed {
  margin-top: 12px;
  padding: 10px 14px;
  background: #edfaee;
  border-left: 4px solid #00a32a;
  border-radius: 6px;
}

/* ── Foto upload widget ── */
.dtp-photo-upload-wrap { margin-top: 8px; }
.dtp-photo-input { display: none; }
.dtp-photo-label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border: 2px dashed #00b9c3;
  border-radius: 8px;
  cursor: pointer;
  background: #f0fdfe;
  transition: background .15s;
  font-weight: 600;
  color: #008c95;
}
.dtp-photo-label:hover { background: #d9f7f9; }
.dtp-photo-icon { font-size: 24px; }
.dtp-photo-preview-wrap { margin-top: 12px; }
.dtp-photo-preview-wrap img {
  max-width: 100%;
  max-height: 260px;
  border-radius: 8px;
  border: 1px solid #cbd5e1;
  display: block;
}
.dtp-photo-remove {
  margin-top: 8px;
  background: none;
  border: 1px solid #d63638;
  color: #d63638;
  border-radius: 5px;
  padding: 4px 12px;
  cursor: pointer;
  font-size: 12px;
}
.dtp-pickup-submit { background: #00a32a; }
.dtp-pickup-submit:hover { background: #007a1f; }

/* ── Bewijs foto thumbnail (dashboard + tracking) ── */
.dtp-pickup-photo-thumb {
  max-width: 200px;
  max-height: 150px;
  border-radius: 6px;
  border: 1px solid #cbd5e1;
  display: block;
  margin-top: 8px;
  cursor: pointer;
}

/* ── Ophaalbevestiging blok in bon/receipt ── */
.dtp-pickup-confirmed-block {
  max-width: 780px;
  margin: 16px auto;
  padding: 14px 18px;
  background: #edfaee;
  border: 1px solid #00a32a;
  border-left: 4px solid #00a32a;
  border-radius: 8px;
}
.dtp-pickup-confirmed-block h4 {
  margin: 0 0 8px;
  font-size: 15px;
  color: #0a4714;
}
.dtp-pickup-confirmed-block p { margin: 4px 0; font-size: 13px; }

/* ── Paginering (dashboard bon zoeken) ── */
.dtp-pagination {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin: 10px 0;
}
.dtp-pagination a,
.dtp-page-btn {
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid #cbd5e1;
  border-radius: 5px;
  font-size: 13px;
  color: #1e3a5f;
  text-decoration: none;
  background: #fff;
  transition: background .12s;
}
.dtp-pagination a:hover,
.dtp-page-btn:hover { background: #f1f5f9; }
.dtp-pagination a.dtp-page-active,
.dtp-page-btn.active {
  background: var(--dtp-primary, #00b9c3);
  color: #fff !important;
  border-color: var(--dtp-primary, #00b9c3);
  font-weight: 700;
}
.dtp-page-dots { color: #94a3b8; padding: 0 4px; }

/* ── Vervallen knop in dashboard ── */
.dtp-vervallen-btn {
  background: none;
  border: 1px solid #e53e3e;
  color: #e53e3e;
  border-radius: 4px;
  padding: 3px 7px;
  font-size: 11px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .12s, color .12s;
}
.dtp-vervallen-btn:hover { background: #e53e3e; color: #fff; }

/* ── Prullenbak badge in admin menu ── */
.dtp-trash-count {
  display: inline-block;
  background: #78716c;
  color: #fff;
  border-radius: 10px;
  padding: 1px 7px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  vertical-align: middle;
  margin-left: 4px;
}

/* ── Dashboard bon-zoeken tabel scrollbaar ── */
.dtp-orders-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #fff;
}
.dtp-orders-table {
  min-width: 960px;
  white-space: nowrap;
  border-radius: 10px;
}
.dtp-orders-table th,
.dtp-orders-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #e5e7eb;
  font-size: 13px;
}
.dtp-orders-table thead th {
  background: #f8fafc;
  font-weight: 700;
  color: #334155;
  position: sticky;
  top: 0;
}

/* ── Verdiensten periode filter ── */
.dtp-vf-wrap {
  margin-top: 20px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}
.dtp-vf-title {
  margin: 0;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 700;
  color: #1e3a5f;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.dtp-vf-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 12px 16px;
  border-bottom: 1px solid #f1f5f9;
}
.dtp-vf-btn {
  display: inline-block;
  padding: 5px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #374151;
  background: #fff;
  text-decoration: none;
  cursor: pointer;
  transition: all .12s;
}
.dtp-vf-btn:hover { background: #f1f5f9; }
.dtp-vf-btn.active {
  background: var(--dtp-primary, #00b9c3);
  border-color: var(--dtp-primary, #00b9c3);
  color: #fff;
}
.dtp-vf-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 10px;
  padding: 10px 16px 12px;
  border-bottom: 1px solid #f1f5f9;
  background: #fafafa;
}
.dtp-vf-form label {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  font-weight: 600;
  color: #64748b;
  gap: 3px;
}
.dtp-vf-form input[type=date] {
  padding: 5px 8px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  font-size: 13px;
  min-height: auto;
  width: auto;
}
.dtp-vf-results { padding: 14px 16px; }
.dtp-vf-result-header {
  font-size: 13px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 10px;
}
.dtp-vf-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-bottom: 4px;
}
.dtp-vf-card {
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f8fafc;
}
.dtp-vf-card span {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .4px;
  margin-bottom: 4px;
}
.dtp-vf-card strong {
  font-size: 16px;
  font-weight: 800;
  color: #0f172a;
}

/* ── DASHBOARD SIDEBAR GROEPEN ── */
.dtp-dash-divider {
  height: 1px;
  background: rgba(255,255,255,0.12);
  margin: 8px 4px;
}
.dtp-dash-group-label {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #0f172a;
  background: #14b8a6;
  padding: 5px 12px;
  margin: 10px 0 4px;
  border-radius: 6px;
}
