.bdsd-wrap{max-width:1100px;margin:24px auto;padding:0 14px;font-family:inherit}
.bdsd-title{margin:0 0 14px 0;font-size:28px}
.bdsd-card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.bdsd-scroll{overflow:auto}
.bdsd-table{width:100%;border-collapse:collapse}
.bdsd-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px 0}
.bdsd-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(0,0,0,.12);background:#fff;color:inherit;text-decoration:none;font-weight:600;font-size:13px}
.bdsd-tab.is-active{background:rgba(9,3,121,.08);border-color:rgba(9,3,121,.25)}
.bdsd-dot{display:inline-block;width:10px;height:10px;border-radius:999px;vertical-align:middle;margin-right:6px}

/* Keep mailto/tel links looking like text on the Suppliers tab */
.bdsd-supplier-front-table a[href^="mailto:"],
.bdsd-supplier-front-table a[href^="tel:"]{color:inherit;text-decoration:none}
.bdsd-supplier-front-table a[href^="mailto:"]:hover,
.bdsd-supplier-front-table a[href^="tel:"]:hover{text-decoration:underline}
.bdsd-table th,.bdsd-table td{padding:10px 10px;border-bottom:1px solid rgba(0,0,0,.07);text-align:left;vertical-align:top}
.bdsd-table th{font-weight:600;white-space:nowrap}
.bdsd-upload-form{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.bdsd-btn{border:1px solid transparent;background:#1e73be;color:#fff;padding:8px 12px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;text-decoration:none;box-sizing:border-box}
.bdsd-btn:hover{opacity:.92}

/* Inline forms in header actions should not affect vertical alignment */
.bdsd-inline-form{margin:0;display:inline-flex;align-items:center}

/* Danger button (front-end delete supplier)
   Use higher specificity + !important so theme/button rules can't override it.
*/
.bdsd-btn.bdsd-btn-danger{
  background:#b32d2e !important;
  border-color:#b32d2e !important;
  color:#fff !important;
}
.bdsd-btn.bdsd-btn-danger:hover{
  opacity:.92;
}

/* Theme override (e.g. Salient/Nectar) targets button[type=submit] inside container-wrap.
   Our delete button is type=button, but we still add a very specific rule to ensure
   the danger styling wins against any global button styles.
*/
body[data-form-submit="regular"] .container-wrap .bdsd-wrap .bdsd-btn.bdsd-btn-danger,
.container-wrap .bdsd-wrap .bdsd-btn.bdsd-btn-danger{
  background:#b32d2e !important;
  border-color:#b32d2e !important;
  color:#fff !important;
  box-shadow:none !important;
  text-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}

/* Warning button (matches "expiring" yellow bar) */
.bdsd-btn.bdsd-btn-warning{
  background:#dba617 !important;
  border-color:#dba617 !important;
  color:#1d2327 !important;
}
.bdsd-btn.bdsd-btn-warning:hover{opacity:.92}

body[data-form-submit="regular"] .container-wrap .bdsd-wrap .bdsd-btn.bdsd-btn-warning,
.container-wrap .bdsd-wrap .bdsd-btn.bdsd-btn-warning{
  background:#dba617 !important;
  border-color:#dba617 !important;
  color:#1d2327 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.bdsd-link{text-decoration:underline}
.bdsd-help{margin:12px 0 0;color:rgba(0,0,0,.65);font-size:13px}
.bdsd-notice{padding:10px 12px;border-radius:10px;margin:0 0 14px 0;border:1px solid rgba(0,0,0,.08)}
.bdsd-notice.success{background:rgba(0,128,0,.08);border-color:rgba(0,128,0,.25)}
.bdsd-notice.error{background:rgba(255,0,0,.06);border-color:rgba(255,0,0,.2)}
.bdsd-status{display:inline-block;padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(0,0,0,.12)}
.bdsd-status.valid{background:rgba(0,128,0,.08)}
.bdsd-status.expiring-soon{background:rgba(255,165,0,.12)}
.bdsd-status.expired{background:rgba(255,0,0,.08)}

.bdsd-subtitle{margin:0 0 10px 0;font-size:20px}

.bdsd-details summary{cursor:pointer;user-select:none}
.bdsd-details[open] summary{margin-bottom:8px}
.bdsd-qual-list{margin:0;padding-left:18px}
.bdsd-qual-list li{margin:4px 0}
.bdsd-qual-name{font-weight:600}
.bdsd-qual-meta{color:rgba(0,0,0,.65);font-size:13px}

.bdsd-profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 18px 0;flex-wrap:wrap}
.bdsd-profile-main{display:flex;align-items:center;gap:14px;flex:1 1 auto;min-width:0}
.bdsd-avatar-wrap{flex:0 0 auto}
.bdsd-avatar{border-radius:999px;display:block}
.bdsd-profile-meta{min-width:0}
.bdsd-profile-sub{color:rgba(0,0,0,.6);font-size:13px;margin-top:2px;word-break:break-word}

.bdsd-alert{background:rgba(255,165,0,.10);border-color:rgba(255,165,0,.35)}
.bdsd-alert-sub{margin-top:6px;color:rgba(0,0,0,.65);font-size:13px}

.bdsd-profile-header{justify-content:space-between}
.bdsd-qr-wrap{text-align:center;flex:0 0 auto}
.bdsd-qr{
  width:140px;
  height:140px;
  padding:12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#fff;
  box-sizing:border-box;
}

/* ------------------------------------------------------------------
   Tables: nicer styling + mobile responsive view
-------------------------------------------------------------------*/

/* Horizontal scroll on small screens (works everywhere, no markup changes) */
.bdsd-scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

/* Override earlier table styles with a lighter header weight */
.bdsd-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  font-size:14px;
}

.bdsd-table th,
.bdsd-table td{
  padding:10px 12px;
  text-align:left;
  vertical-align:middle;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.bdsd-table thead th{
  background:#f6f7f7;
  color:#1d2327;
  font-weight:500;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.04em;
  border-bottom:1px solid rgba(0,0,0,.14);
  white-space:nowrap;
}

.bdsd-table tbody tr:hover td{
  background:#f9fafb;
}

/* Sortable table headers */
.bdsd-table th.bdsd-th-sortable{
  cursor:pointer;
  user-select:none;
  position:relative;
  padding-right:26px;
}

.bdsd-table th.bdsd-th-sortable::after{
  content:"\2195"; /* up/down */
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  font-size:12px;
  opacity:0.45;
}

.bdsd-table th.bdsd-th-sortable.is-sorted-asc::after{
  content:"\2191";
  opacity:0.85;
}

.bdsd-table th.bdsd-th-sortable.is-sorted-desc::after{
  content:"\2193";
  opacity:0.85;
}

/* Mobile stacked view (uses JS to add data-label attributes to td cells) */
@media (max-width: 782px){
  .bdsd-table{
    border:0;
  }

  .bdsd-table thead{
    display:none;
  }

  .bdsd-table,
  .bdsd-table tbody,
  .bdsd-table tr,
  .bdsd-table td{
    display:block;
    width:100%;
  }

  .bdsd-table tr{
    border:1px solid rgba(0,0,0,.10);
    border-radius:12px;
    margin:0 0 12px 0;
    overflow:hidden;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.04);
  }

  .bdsd-table td{
    border:0;
    border-top:1px solid rgba(0,0,0,.06);
    padding:10px 12px;
  }

  .bdsd-table td:first-child{
    border-top:0;
  }

  .bdsd-table td::before{
    content: attr(data-label);
    display:block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:0.04em;
    color:rgba(0,0,0,.55);
    margin-bottom:4px;
  }
}
.bdsd-qr img, .bdsd-qr canvas{
    display: block;
    width: 105px !important;
    height: 105px !important;
    max-width: 116px;
    max-height: 116px;
}

.bdsd-qr{width:96px;height:96px;border:1px solid rgba(0,0,0,.12);border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.bdsd-qr img{display:block}
.bdsd-qr-label{font-size:12px;color:rgba(0,0,0,.6);margin-top:6px}

/* QR visibility fix */
.bdsd-profile-header{align-items:flex-start}
.bdsd-qr-wrap{margin-left:12px}
.bdsd-qr{box-sizing:border-box}

/* QR hard size fix */
.bdsd-qr-wrap{width:120px}
.bdsd-qr{width:120px;height:120px}
.bdsd-qr img{max-width:100%;max-height:100%}

/* Profile header alignment fix */
.bdsd-profile-header{
  align-items:center;
}
.bdsd-avatar-wrap{
  display:flex;
  align-items:center;
}
.bdsd-profile-meta{
  text-align:left;
}

/* Profile header layout: avatar + name/email side-by-side on left */
.bdsd-profile-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.bdsd-avatar-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}
.bdsd-profile-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}

/* Admin status pills */
.bdsd-pill{padding:3px 8px;border-radius:999px;font-size:12px;border:1px solid rgba(0,0,0,.15)}
.bdsd-expired{background:rgba(255,0,0,.12)}
.bdsd-expiring{background:rgba(255,165,0,.18)}


/* === BDS Dashboard Frontend Modern Theme (BDS Yorkshire) === */
.bdsd-wrap{
  max-width: 1100px;
  margin: 32px auto;
  padding: 0 16px 32px;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color: #000;
}

.bdsd-title{
  font-size: 26px;
  font-weight: 700;
  color: #082279;
  margin: 0 0 4px 0;
}

.bdsd-profile-sub{
  color: rgba(0,0,0,.7);
  font-size: 13px;
}

.bdsd-logout-wrap{
  margin-top: 6px;
}

.bdsd-logout-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  font-size:12px;
  text-decoration:none;
  color:#000;
  background:#f5ff00;
}
.bdsd-logout-link:hover{
  background:#e0f000;
}

.bdsd-card{
  background:#fff;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.05);
  padding:16px 18px;
}

.bdsd-subtitle{
  font-size:18px;
  font-weight:600;
  color:#082279;
}

.bdsd-table{
  width:100%;
  border-collapse:collapse;
}
.bdsd-table th,
.bdsd-table td{
  padding:10px 10px;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.bdsd-table thead th{
  background:#082279;
  color:#f5ff00;
  font-weight:600;
}
.bdsd-table tbody tr:nth-child(even){
  background:rgba(8,34,121,.02);
}

.bdsd-btn{
  background:#082279;
  color:#f5ff00;
  padding:8px 14px;
  border-radius:999px;
  border:none;
  font-weight:600;
}
.bdsd-btn:hover{
  opacity:.92;
}

.bdsd-status{
  border-radius:999px;
  padding:3px 9px;
  font-size:12px;
  border:1px solid rgba(0,0,0,.1);
}
.bdsd-status.valid{background:rgba(8,34,121,.06);}
.bdsd-status.expiring-soon{background:rgba(245,255,0,.2);}
.bdsd-status.expired{background:rgba(255,0,0,.12);}
.bdsd-status-pending{background:rgba(8,34,121,.12);border-color:rgba(8,34,121,.4);}

/* Notices */
.bdsd-notice{
  border-radius:12px;
  border:1px solid rgba(0,0,0,.08);
}
.bdsd-notice.success{background:rgba(129,199,132,.18);border-color:rgba(56,142,60,.4);}
.bdsd-notice.error{background:rgba(239,83,80,.12);border-color:rgba(211,47,47,.4);}
.bdsd-alert{background:rgba(245,255,0,.22);border-color:rgba(8,34,121,.3);}

/* QR centering */
.bdsd-qr-wrap{
  width:120px;
}
.bdsd-qr{
  width:120px;
  height:120px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}
.bdsd-qr img{
  display:block;
  max-width:100%;
  max-height:100%;
}

/* Fix QR image margin */
.bdsd-qr img { margin-bottom:0 !important; }


/* Mobile header fix */
@media (max-width: 768px){
  .bdsd-profile-header{
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .bdsd-qr-wrap{
    margin-left: 0 !important;
    align-self: flex-start;
    margin-top: 10px;
  }
}


/* Modern upload field styling */
.bdsd-upload-field{
  display:inline-block;
  margin-right:8px;
}
.bdsd-upload-label{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:6px 16px;
  border-radius:999px;
  line-height:1.2;
  border:1px solid rgba(0,0,0,.16);
  background:#f9fafb;
  cursor:pointer;
  font-size:13px;
}
.bdsd-upload-label-text::before{
  content:'📄';
  display:inline-block;
  margin-right:4px;
}
.bdsd-upload-label input[type="file"]{
  display:none;
}
.bdsd-upload-btn{
  margin-top:4px;
}

/* Tiny filename text next to upload chip */
.bdsd-upload-filename{
  display:none;
  margin-top:4px;
  font-size:11px;
  color:rgba(0,0,0,.6);
  font-style:italic;
}

/* Override theme button styles for dashboard upload button */
.bdsd-wrap .bdsd-upload-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  border:none !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600;
  font-size:12px;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  cursor:pointer;
}
.bdsd-wrap .bdsd-upload-btn:hover{
  background:#0c2f9a !important;
  color:#f5ff00 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}


/* Global BDS Dashboard button style override */
.bdsd-wrap .bdsd-btn,
.bdsd-qr-page .bdsd-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  border:none !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600;
  font-size:13px !important;
  text-decoration:none;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  cursor:pointer;
  text-transform:none !important;
}
.bdsd-wrap .bdsd-btn:hover,
.bdsd-qr-page .bdsd-btn:hover{
  background:#0c2f9a !important;
  color:#f5ff00 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}

/* end global btn override */

/* HARD override for all BDS Dashboard frontend buttons */
.bdsd-wrap .bdsd-btn,
.bdsd-qr-page .bdsd-btn{
  all: unset !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600 !important;
  font-size:13px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  text-transform:none !important;
  box-sizing:border-box !important;
}
.bdsd-wrap .bdsd-btn:hover,
.bdsd-qr-page .bdsd-btn:hover{
  background:#0c2f9a !important;
  color:#f5ff00 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}

/* Upload button keeps same base style but is explicitly included here */
.bdsd-wrap .bdsd-upload-btn{
  all: unset !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600 !important;
  font-size:13px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  text-transform:none !important;
  box-sizing:border-box !important;
}
.bdsd-wrap .bdsd-upload-btn:hover{
  background:#0c2f9a !important;
  color:#f5ff00 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}


/* Style the "Select file" label to match upload button */
.bdsd-wrap .bdsd-upload-label{
  all: unset !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600 !important;
  font-size:13px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  text-transform:none !important;
  box-sizing:border-box !important;
}

.bdsd-wrap .bdsd-upload-label input[type="file"]{
  display:none !important;
}

/* Disabled upload button appearance */
.bdsd-wrap .bdsd-upload-btn[disabled]{
  opacity:0.6 !important;
  cursor:not-allowed !important;
  box-shadow:none !important;
}


/* Inline layout for Select file + Upload */
.bdsd-inline-upload{
  width:100%;
  display:flex;
  flex-direction:column;
}
.bdsd-upload-actions{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:4px;
  flex-wrap:wrap;
}


/* Center logout button under email */
.bdsd-logout-wrap{
  margin-top:8px;
  text-align:center;
}

/* Login button styling inside BDS dashboard wrapper */
.bdsd-wrap #loginform #wp-submit{
  all: unset !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600 !important;
  font-size:13px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  text-transform:none !important;
  box-sizing:border-box !important;
}
.bdsd-wrap #loginform #wp-submit:hover{
  background:#0c2f9a !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22) !important;
}


/* Timesheet card */
.bdsd-timesheet-card{
  margin-top:16px;
}
.bdsd-timesheet-body p{
  margin:0 0 8px;
}
.bdsd-timesheet-btn{
  /* uses global .bdsd-btn styling already */
}


/* Timesheet bar */
.bdsd-timesheet-bar{
  margin:16px auto 12px;
  padding:10px 14px;
  max-width:960px;
  background:#ffffff;
  border-radius:12px;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
}
.bdsd-timesheet-status{
  font-size:13px;
}
.bdsd-ts-pill{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border-radius:999px;
  font-size:12px;
}
.bdsd-ts-pill--on{
  background:#e6ffe5;
  color:#177a1b;
}
.bdsd-ts-pill--off{
  background:#f5f5f5;
  color:#555;
}
.bdsd-ts-msg{
  display:block;
  margin-top:4px;
  font-size:12px;
  color:#555;
  opacity:1;
  transition:opacity .4s ease;
}
.bdsd-timesheet-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.bdsd-timesheet-actions .bdsd-ts-btn{
  all: unset !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:6px 16px !important;
  line-height:1.2 !important;
  border-radius:999px !important;
  background:#082279 !important;
  color:#f5ff00 !important;
  font-weight:600 !important;
  font-size:13px !important;
  text-decoration:none !important;
  cursor:pointer !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  text-transform:none !important;
  box-sizing:border-box !important;
}
.bdsd-timesheet-actions .bdsd-ts-btn--danger{
  background:#c80000 !important;
  color:#fff600 !important;
}
.bdsd-timesheet-actions .bdsd-ts-btn--danger:hover{
  background:#a30000 !important;
}
@media (max-width:640px){
  .bdsd-timesheet-bar{
    flex-direction:column;
    align-items:flex-start;
  }
}

.bdsd-profile-header .bdsd-timesheet-bar{
  margin:0;
  max-width:420px;
  min-height:118px;
  margin-bottom:23px;
  vertical-align:top;
  box-shadow:0 4px 10px rgba(0,0,0,.04);
}
.bdsd-profile-header .bdsd-timesheet-status{
  font-size:12px;
}
.bdsd-profile-header .bdsd-timesheet-actions{
  flex:0 0 auto;
  margin-top:auto;
}
@media (max-width:900px){
  .bdsd-profile-header{
    align-items:flex-start;
  }
  .bdsd-profile-header .bdsd-timesheet-bar{
    width:100%;
    max-width:none;
    order:3;
  }
  .bdsd-profile-header .bdsd-qr-wrap{
    order:2;
  }
}


/* Logout icon next to name */
.bdsd-title .bdsd-logout-icon{
  margin-left:6px;
  color:red;
  font-size:1.05em;
  text-decoration:none;
  cursor:pointer;
  display:inline-block;
  transform-origin:center;
  transition:color .15s ease, transform .15s ease;
}
.bdsd-title .bdsd-logout-icon:hover{
  color:#b00000;
  transform:scale(1.15);
}

/* v2.4.16 full-width clock btn */
.bdsd-timesheet-actions button.bdsd-ts-btn {width:100%!important;max-width:100%!important;display:block!important;text-align:center!important;}


/* v2.4.17 - center timesheet content in header and make button fill card */
.bdsd-profile-header .bdsd-timesheet-bar{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:stretch;
}
.bdsd-profile-header .bdsd-timesheet-status{
  width:100%;
  text-align:center !important;
}
.bdsd-profile-header .bdsd-timesheet-actions{
  width:100%;
  margin-top:10px;
  display:flex;
  justify-content:center;
}
.bdsd-profile-header .bdsd-timesheet-actions .bdsd-ts-btn{
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
}

/* v2.4.18 - stack timesheet status + message */
.bdsd-timesheet-status .bdsd-ts-pill,
.bdsd-timesheet-status .bdsd-ts-msg{
  display:block;
}
.bdsd-timesheet-status .bdsd-ts-msg{
  margin-top:4px;
}


/* v2.4.19 - header timesheet actions layout */
.bdsd-profile-header .bdsd-timesheet-actions {
  width:100%;
  margin-top:20px;
  display:flex;
  justify-content:center;
}


/* Fade-out state for timesheet messages */
.bdsd-ts-msg--fade{
  opacity:0;
}

/* Counter above timesheet button */
.bdsd-ts-counter-wrap{
  width:100%;
  text-align:center;
  margin-top:8px;
  font-size:12px;
  color:#555;
}


/* v2.5.1 – Improved layout for timesheet block */
.bdsd-profile-header .bdsd-timesheet-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    gap: 0;
}

.bdsd-ts-counter-wrap {
    width: 100%;
    text-align: center;
    margin-top: 0px;
    font-size: 20px;
    font-weight: 500;
    font-family: 'Caveat Brush';
    color: #555;
}

.bdsd-profile-header .bdsd-timesheet-actions {
    width: 100%;
    margin-top: 0px;
    display: flex;
    justify-content: center;
}







/* Slightly larger HAVs / RAMs links */
.bdsd-modal a {
  font-size: 16px;
}


/* Mobile-safe logout icon fix */
@media (max-width: 768px) {
  .bdsd-ts-btn--danger::before {
    content: '\23F9'; /* ⏹ stop icon instead of red X */
    font-size: 16px;
    margin-right: 6px;
    vertical-align: middle;
  }

  .bdsd-ts-btn--danger svg,
  .bdsd-ts-btn--danger i {
    display: none !important;
  }
}


/* Logout icon (inline SVG) */
.bdsd-logout {
  color: #d63638;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
}

.bdsd-logout:hover { opacity: 0.85; }

.bdsd-logout__icon {
  width: 18px;
  height: 18px;
  display: inline-block;
}


/* Ensure logout icon is red and scales on hover */
.bdsd-logout {
  color: #d63638 !important;
}

.bdsd-logout__icon {
  transition: transform 0.15s ease, color 0.15s ease;
}

.bdsd-logout:hover .bdsd-logout__icon {
  transform: scale(1.2);
}


/* Keep name + logout icon on same row (mobile-safe) */
.bdsd-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

@media (max-width: 768px) {
  .bdsd-title {
    font-size: 18px;
  }
}

/* Front-end Supplier Intake list: expiry row highlights */
.bdsd-supplier-front-table tbody tr.bdsd-row-expiring-soon > td {
  background: rgba(255, 235, 130, 0.35);
}

.bdsd-supplier-front-table tbody tr.bdsd-row-expired > td {
  background: rgba(255, 160, 160, 0.28);
}

/* Ensure <button> and <a> with .bdsd-btn render consistently */
button.bdsd-btn{
  -webkit-appearance:none;
  appearance:none;
  line-height:1;
}

.bdsd-btn{display:inline-flex;align-items:center;justify-content:center;}

/* Single supplier view: soft meta bar under title */
.bdsd-supplier-meta {
  margin-top: 10px;
  padding: 10px 12px;
  background: #f6f7f7;
  border: 1px solid #dcdcde;
  border-radius: 10px;
}

/* Expiry highlighting */
.bdsd-supplier-meta--expiring {
  background: rgba(255, 205, 0, 0.18); /* soft yellow */
  border-color: rgba(255, 205, 0, 0.35);
}

.bdsd-supplier-meta--expired {
  background: rgba(255, 160, 160, 0.22); /* soft red */
  border-color: rgba(255, 120, 120, 0.45);
}

.bdsd-supplier-meta__inner {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bdsd-supplier-meta__left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.bdsd-supplier-meta__actions {
  margin-left: auto;
}

.bdsd-inline-form { display:inline; margin:0; }

.bdsd-supplier-meta__sep {
  opacity: 0.6;
}

@media (max-width: 782px) {
  .bdsd-supplier-meta {
    padding: 10px;
  }
  .bdsd-supplier-meta__inner {
    gap: 6px;
  }
}

/* Signature preview */
.bdsd-signature-wrap{
  display:inline-block;
  padding:8px;
  background:#fff;
  border:1px solid #e2e4e7;
  border-radius:10px;
}

.bdsd-signature-img{
  display:block;
  max-width: 100%;
  max-height: 140px;
  height: auto;
}