/* ─────────────────────────────────────────────
   PRO TABLES — global professional design system
   Targets all bootstrap-table instances app-wide.
   Loaded after custom.css from layout.blade.php
   ───────────────────────────────────────────── */
:root{
  --pro-primary:#0065da;
  --pro-primary-dark:#0050b3;
  --pro-primary-soft:#eaf2ff;
  --pro-ink:#0f172a;
  --pro-muted:#64748b;
  --pro-faint:#94a3b8;
  --pro-line:#e8eef5;
  --pro-line-soft:#eef2f7;
  --pro-head-bg:#f7f9fc;
  --pro-card-shadow:0 14px 30px rgba(15,23,42,.07);
  --pro-radius:18px;
}

/* Card wrapper — works for .supplier-table-card and any .card holding a table */
.card.supplier-table-card,
.card.pro-table-card{
  border:1px solid var(--pro-line) !important;
  border-radius:var(--pro-radius) !important;
  box-shadow:var(--pro-card-shadow) !important;
  overflow:hidden;
  background:#fff;
}
.card.supplier-table-card .card-body:has(.table-responsive),
.card.pro-table-card .card-body:has(.table-responsive){
  padding:0 !important;
}
/* Filter row above the table — global inset panel, single left offset
   (margin sets the inset; no extra left padding doubling it) */
.card.supplier-table-card .card-body > .row,
.card.pro-table-card .card-body > .row{
  margin:16px 20px 0 !important;
  padding:12px 14px !important;
  background:#f8fafc;
  border:1px solid #e8eef5;
  border-radius:14px;
  row-gap:10px;
}
.card.supplier-table-card .card-body > .row > [class*="col-"],
.card.pro-table-card .card-body > .row > [class*="col-"]{
  padding-left:6px !important;
  padding-right:6px !important;
  margin-bottom:0 !important;
}
/* Filter controls inside the global panel */
.card.supplier-table-card .card-body > .row .form-control,
.card.supplier-table-card .card-body > .row .form-select,
.card.pro-table-card .card-body > .row .form-control,
.card.pro-table-card .card-body > .row .form-select{
  border-radius:10px !important;
  background:#fff !important;
  border-color:#e2e8f0;
}
.card.supplier-table-card .card-body > .row .form-control:focus,
.card.supplier-table-card .card-body > .row .form-select:focus,
.card.pro-table-card .card-body > .row .form-control:focus,
.card.pro-table-card .card-body > .row .form-select:focus{
  border-color:var(--pro-primary) !important;
  box-shadow:0 0 0 3px rgba(0,101,218,.12) !important;
  outline:none;
}
.card.supplier-table-card .card-body > .row .select2-selection--single,
.card.supplier-table-card .card-body > .row .select2-selection--multiple,
.card.pro-table-card .card-body > .row .select2-selection--single,
.card.pro-table-card .card-body > .row .select2-selection--multiple{
  border-radius:10px !important;
  background:#fff !important;
  border-color:#e2e8f0 !important;
  min-height:38px;
}
.card.supplier-table-card .card-body .select2-container,
.card.pro-table-card .card-body .select2-container{
  width:100% !important;
}

/* Optional card header — use in blade for title/count */
.pro-table-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px 14px 20px;
  margin-bottom:16px;
  border-bottom:1px solid var(--pro-line-soft);
  flex-wrap:wrap;
}
.pro-table-head__title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.pro-table-head__icon{
  width:40px;height:40px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--pro-primary-soft);
  color:var(--pro-primary);
  font-size:1.25rem;
  flex-shrink:0;
}
.pro-table-head__text h5{
  margin:0;
  font-size:1rem;
  font-weight:700;
  color:var(--pro-ink);
  letter-spacing:-.01em;
}
.pro-table-head__text p{
  margin:1px 0 0 0;
  font-size:.8rem;
  color:var(--pro-muted);
}
.pro-table-count{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#0f172a;
  color:#fff;
  font-size:.75rem;
  font-weight:700;
  padding:5px 11px;
  border-radius:999px;
  white-space:nowrap;
}
.pro-table-count i{font-size:.85rem;opacity:.8;}

/* Bootstrap-table root — no outer padding; card-body and
   toolbar/pagination keep their own rhythm */
.bootstrap-table{
  padding:0;
}
/* Toolbar layout — tight, no unwanted gaps */
.bootstrap-table .fixed-table-toolbar{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
  padding:14px 20px 12px 20px;
}
.bootstrap-table .fixed-table-toolbar .bs-bars,
.bootstrap-table .fixed-table-toolbar .search,
.bootstrap-table .fixed-table-toolbar .columns{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.bootstrap-table .fixed-table-toolbar .columns.columns-left,
.bootstrap-table .fixed-table-toolbar .columns-left{
  margin:0 !important;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  gap:0;
  float:none !important;
}
.bootstrap-table .fixed-table-toolbar .columns-right{
  margin:0 0 0 auto !important;
  padding:0 !important;
  display:inline-flex;
  align-items:center;
  gap:8px;
  float:none !important;
}
.bootstrap-table .fixed-table-toolbar .columns .btn-group{
  margin:0 !important;
}
.bootstrap-table .fixed-table-toolbar .columns-left .btn-group{
  margin-left:0 !important;
}

/* Toolbar action buttons — 0.6rem radius */
.bootstrap-table .fixed-table-toolbar .columns-left .btn,
.bootstrap-table .btn.delete-selected,
.bootstrap-table .action_delete_site_inspection .btn,
.bootstrap-table .btn.save-column-visibility,
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-primary,
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-secondary,
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-danger{
  border-radius:.6rem !important;
  font-weight:600;
  font-size:.82rem;
  padding:.45rem .95rem !important;
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-width:1.5px;
  transition:all .16s ease;
  box-shadow:none !important;
  height:38px;
  white-space:nowrap;
}
.bootstrap-table .btn.delete-selected,
.bootstrap-table .action_delete_site_inspection .btn{
  border-style:solid;
  border-color:#fecaca !important;
  color:#dc2626 !important;
  background:#fff !important;
}
.bootstrap-table .btn.delete-selected:hover,
.bootstrap-table .action_delete_site_inspection .btn:hover{
  background:#fef2f2 !important;
  border-color:#fca5a5 !important;
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(220,38,38,.15) !important;
}
.bootstrap-table .btn.delete-selected i{font-size:1rem;}
/* Save Column Visibility + Clear filters — primary / secondary pills */
.bootstrap-table .btn.save-column-visibility,
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-primary{
  border-color:#bfdbfe !important;
  color:var(--pro-primary) !important;
  background:#fff !important;
}
.bootstrap-table .btn.save-column-visibility:hover,
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-primary:hover{
  background:var(--pro-primary-soft) !important;
  border-color:var(--pro-primary) !important;
  color:var(--pro-primary-dark) !important;
  transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(0,101,218,.15) !important;
}
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-secondary{
  border-color:var(--pro-line) !important;
  color:#475569 !important;
  background:#fff !important;
}
.bootstrap-table .fixed-table-toolbar .columns-left .btn-outline-secondary:hover{
  background:#f8fafc !important;
  border-color:#cbd5e1 !important;
  color:var(--pro-ink) !important;
  transform:translateY(-1px);
}
.bootstrap-table .fixed-table-toolbar .columns-left .btn i{font-size:1rem;}

/* Search box */
.bootstrap-table .fixed-table-toolbar .search input,
.bootstrap-table .search-input{
  border-radius:10px !important;
  border:1.5px solid var(--pro-line) !important;
  padding:.5rem .85rem .5rem 2.3rem !important;
  font-size:.85rem;
  min-width:220px;
  background:#fbfcfe url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat 12px center !important;
  transition:border-color .15s, box-shadow .15s;
  color:var(--pro-ink);
}
.bootstrap-table .fixed-table-toolbar .search input:focus{
  border-color:var(--pro-primary) !important;
  box-shadow:0 0 0 3px rgba(0,101,218,.12) !important;
  outline:none;
  background-color:#fff !important;
}
.bootstrap-table .fixed-table-toolbar .search input::placeholder{color:var(--pro-faint);}

/* Icon buttons: refresh — 0.6rem */
.bootstrap-table .fixed-table-toolbar .columns-right > button.btn,
.bootstrap-table .fixed-table-toolbar .columns-right > div.btn-group:not(.keep-open) > button.btn,
.bootstrap-table .fixed-table-toolbar button[name="refresh"]{
  border-radius:.6rem !important;
  border:1.5px solid var(--pro-line) !important;
  background:#fff !important;
  color:var(--pro-muted) !important;
  width:38px;height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 !important;
  box-shadow:none !important;
  transition:all .15s ease;
}
/* Columns toggle — 0.6rem with icon + text label */
.bootstrap-table .fixed-table-toolbar .columns-right .keep-open.btn-group > .btn.dropdown-toggle{
  border-radius:.6rem !important;
  border:1.5px solid var(--pro-line) !important;
  background:#fff !important;
  width:auto !important;
  height:38px;
  padding:0 .95rem !important;
  gap:7px;
  font-size:.82rem;
  font-weight:600;
  color:#334155 !important;
  display:inline-flex;
  align-items:center;
  box-shadow:none !important;
  transition:all .15s ease;
}
.bootstrap-table .fixed-table-toolbar .columns-right .keep-open.btn-group > .btn.dropdown-toggle .pro-columns-label{
  font-size:.82rem;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}
.bootstrap-table .fixed-table-toolbar .columns-right .keep-open.btn-group > .btn.dropdown-toggle .caret{
  margin-left:2px;
}
.bootstrap-table .fixed-table-toolbar .columns-right .btn:hover,
.bootstrap-table .fixed-table-toolbar button[name="refresh"]:hover{
  border-color:#c7d7f5 !important;
  color:var(--pro-primary) !important;
  background:var(--pro-primary-soft) !important;
  box-shadow:none !important;
  transform:translateY(-1px);
}
.bootstrap-table .fixed-table-toolbar .columns-right .btn:focus,
.bootstrap-table .fixed-table-toolbar .columns-right .btn:active,
.bootstrap-table .fixed-table-toolbar .columns-right .btn:focus-visible,
.bootstrap-table .fixed-table-toolbar button[name="refresh"]:focus,
.bootstrap-table .fixed-table-toolbar button[name="refresh"]:active{
  box-shadow:none !important;
}
.bootstrap-table .fixed-table-toolbar .columns-right .btn i{font-size:1.05rem;}
.bootstrap-table .columns .dropdown-menu{
  border-radius:12px !important;
  border:1px solid var(--pro-line) !important;
  box-shadow:0 12px 30px rgba(15,23,42,.12) !important;
  padding:6px !important;
  font-size:.85rem;
}
.bootstrap-table .columns .dropdown-menu label{
  border-radius:8px;
  padding:7px 10px !important;
  font-size:.82rem;
  color:#334155;
}
.bootstrap-table .columns .dropdown-menu label:hover{background:#f1f5f9;}

/* Table container */
.bootstrap-table .fixed-table-container{
  border:1px solid var(--pro-line);
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  margin:0 20px;
}
.bootstrap-table .fixed-table-container .table{
  margin-bottom:0 !important;
  font-size:.875rem;
  color:#1e293b;
}

/* Header — clean white with primary accents */
.bootstrap-table .fixed-table-container .table thead th{
  background:#fff !important;
  border-bottom:2px solid var(--pro-line) !important;
  border-top:none !important;
  font-size:.7rem !important;
  font-weight:700 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pro-muted) !important;
  white-space:nowrap;
  padding:0 !important;
}
.bootstrap-table .fixed-table-container .table thead th .th-inner{
  padding:.8rem .9rem !important;
  color:inherit;
  display:flex !important;
  align-items:center !important;
  min-height:43px;
}
.bootstrap-table .fixed-table-container .table thead th .th-inner.sortable{
  cursor:pointer;
  border-radius:8px;
  transition:background .15s ease,color .15s ease;
  background-position:right 8px center !important;
  background-size:20px 20px !important;
  background-repeat:no-repeat !important;
}
.bootstrap-table .fixed-table-container .table thead th .th-inner.sortable:hover{
  color:var(--pro-primary-dark) !important;
}
.bootstrap-table .fixed-table-container .table thead th .sortable{
  padding-right:34px !important;
}
/* Sort icons — modern chip with up/down arrows (replaces bootstrap-table PNGs) */
.bootstrap-table .fixed-table-container thead th .both{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 22 22' fill='none'%3E%3Crect x='0.75' y='0.75' width='20.5' height='20.5' rx='6.5' fill='%23f8fafc' stroke='%23e2e8f0'/%3E%3Cpath d='M8 14.5v-7M5.8 9.7L8 7.5l2.2 2.2' stroke='%2394a3b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 7.5v7M11.8 12.3l2.2 2.2 2.2-2.2' stroke='%2394a3b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.bootstrap-table .fixed-table-container thead th .asc{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 22 22' fill='none'%3E%3Crect x='0.75' y='0.75' width='20.5' height='20.5' rx='6.5' fill='%23eaf2ff' stroke='%23bfd6fb'/%3E%3Cpath d='M8 14.5v-7M5.8 9.7L8 7.5l2.2 2.2' stroke='%230065da' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 7.5v7M11.8 12.3l2.2 2.2 2.2-2.2' stroke='%23bfd6fb' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.bootstrap-table .fixed-table-container thead th .desc{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 22 22' fill='none'%3E%3Crect x='0.75' y='0.75' width='20.5' height='20.5' rx='6.5' fill='%23eaf2ff' stroke='%23bfd6fb'/%3E%3Cpath d='M8 14.5v-7M5.8 9.7L8 7.5l2.2 2.2' stroke='%23bfd6fb' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14 7.5v7M11.8 12.3l2.2 2.2 2.2-2.2' stroke='%230065da' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.bootstrap-table thead th[data-field="id"] .th-inner,
.bootstrap-table td[data-field="id"], 
.bootstrap-table th:first-child .th-inner{
  color:#0f172a;
}
/* Sort arrows — tint primary when active */
.bootstrap-table .table thead th .asc,
.bootstrap-table .table thead th .desc{
  color:var(--pro-primary);
}

/* Body cells */
.bootstrap-table .fixed-table-container .table tbody td{
  padding:.8rem .9rem !important;
  vertical-align:middle !important;
  border-bottom:1px solid var(--pro-line-soft) !important;
  border-top:none !important;
  font-size:.875rem;
  color:#334155;
  background:#fff;
}
.bootstrap-table .fixed-table-container .table tbody tr:last-child td{border-bottom:none !important;}
/* ── Outer frame rounding (same fix as compliance tables) ──
   Separate border model so corner radius renders on header/footer cells. */
.bootstrap-table .fixed-table-container .table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}
.bootstrap-table .fixed-table-container .table thead th:first-child{border-top-left-radius:12px !important;}
.bootstrap-table .fixed-table-container .table thead th:last-child{border-top-right-radius:12px !important;}
.bootstrap-table .fixed-table-container .table tbody tr:last-child td:first-child{border-bottom-left-radius:12px !important;}
.bootstrap-table .fixed-table-container .table tbody tr:last-child td:last-child{border-bottom-right-radius:12px !important;}
/* Prevent doubled vertical dividers in the separate border model */
.bootstrap-table .fixed-table-container .table-bordered > :not(caption) > * > *:not(:first-child){border-left-width:0 !important;}
/* ── In-card filter rows use the global panel above (margin/padding set there) ── */
/* ── Empty state ("No matching records found") ── */
.bootstrap-table .fixed-table-container .table tbody tr.no-records-found td{
  padding:44px 20px !important;
  text-align:center !important;
  background:
    radial-gradient(420px 120px at 50% 0%, rgba(0,101,218,.07), transparent 70%),
    #f8fafc !important;
}
/* ── Shared table empty state (used by <x-table-empty-state/>, window.tesRow(),
      and auto-upgraded dull cells). Class names prefixed `tes` to avoid clashes. ── */
.tes{padding:20px 12px;text-align:center;}
.tes__art{position:relative;width:64px;height:64px;margin:0 auto 12px;}
.tes__orb{position:absolute;inset:0;border-radius:20px;background:linear-gradient(135deg,#dbeafe 0%,#eef2ff 55%,#f5f3ff 100%);border:1px solid #bfdbfe;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 20px rgba(0,101,218,.16);}
.tes__orb::after{content:'';position:absolute;left:10px;right:10px;bottom:-7px;height:10px;border-radius:50%;background:rgba(15,23,42,.10);filter:blur(5px);}
.tes__icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0065da;font-size:28px;animation:tes-float 3.2s ease-in-out infinite;}
.tes__dots{position:absolute;inset:-8px;pointer-events:none;}
.tes__dots::before,.tes__dots::after{content:'';position:absolute;border-radius:50%;background:#bfdbfe;}
.tes__dots::before{width:7px;height:7px;left:-2px;top:14px;animation:tes-twinkle 2.4s ease-in-out infinite;}
.tes__dots::after{width:5px;height:5px;right:0;bottom:12px;background:#c4b5fd;animation:tes-twinkle 2.4s .8s ease-in-out infinite;}
@keyframes tes-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes tes-twinkle{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
.tes__title{font-weight:800;font-size:15px;color:#0f172a;letter-spacing:-.01em;}
.tes__sub{color:#64748b;font-size:12.5px;margin-top:4px;max-width:440px;margin-left:auto;margin-right:auto;line-height:1.5;}
.tes__hint{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:11.5px;font-weight:700;color:#475569;background:#fff;border:1px dashed #cbd5e1;border-radius:999px;padding:5px 12px;}
.tes__hint i{color:#0065da;font-size:14px;}
.tes__actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px;}
@media (prefers-reduced-motion: reduce){.tes__icon,.tes__dots::before,.tes__dots::after{animation:none;}}
.bootstrap-table .fixed-table-container .table tbody tr{
  transition:background .12s ease;
}
.bootstrap-table .fixed-table-container .table tbody tr:not(.no-records-found):hover td{
  background:#f5f9ff !important;
}
.bootstrap-table .fixed-table-container .table tbody tr.selected td{
  background:#eaf2ff !important;
}

/* ID column — mono pill */
.bootstrap-table td:first-child + td,
.bootstrap-table td[data-field="id"]{
  font-variant-numeric:tabular-nums;
  font-weight:600;
  color:#475569;
}

/* Links inside tables */
.pro-table-link,
.bootstrap-table tbody td a[href*="/site-inspections/profile"],
.bootstrap-table tbody td a[href*="/suppliers/profile"],
.bootstrap-table tbody td:not(:last-child) a:not(.pro-action):not(.btn){
  color:var(--pro-primary);
  font-weight:600;
  text-decoration:none;
}
.pro-table-link:hover,
.bootstrap-table tbody td a:not(.pro-action):not(.btn):hover{
  color:var(--pro-primary-dark);
  text-decoration:underline;
  text-underline-offset:3px;
}
/* Never underline icon action buttons (edit/delete) */
.bootstrap-table tbody td:last-child a,
.bootstrap-table tbody td .pro-actions a,
.bootstrap-table tbody td a.pro-action{
  text-decoration:none !important;
}
.bootstrap-table tbody td:last-child a:hover,
.bootstrap-table tbody td .pro-actions a:hover,
.bootstrap-table tbody td a.pro-action:hover{
  text-decoration:none !important;
}

/* Badges — use from backend: <span class="pro-badge ..."> */
.pro-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.01em;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid transparent;
  white-space:nowrap;
  line-height:1.4;
}
.pro-badge i{font-size:.9rem;}
.pro-badge-interval{
  background:#eef2ff;
  color:#4338ca;
  border-color:#e0e7ff;
  text-transform:lowercase;
}
.pro-badge-date{
  background:#f1f5f9;
  color:#334155;
  border-color:#e2e8f0;
  font-variant-numeric:tabular-nums;
}
.pro-badge-success{background:#dcfce7;color:#15803d;border-color:#bbf7d0;}
.pro-badge-warning{background:#fef9c3;color:#a16207;border-color:#fde68a;}
.pro-badge-danger{background:#fee2e2;color:#b91c1c;border-color:#fecaca;}
.pro-badge-info{background:#e0f2fe;color:#0369a1;border-color:#bae6fd;}
/* Legacy badges inside tables — normalize to the pill geometry */
.bootstrap-table tbody td .badge{
  border-radius:999px;
  white-space:nowrap;
  vertical-align:middle;
}
.pro-muted{color:var(--pro-faint);}

/* Avatar group polish */
.bootstrap-table .avatar-group .avatar,
.bootstrap-table .users-list .avatar{
  margin-left:-8px !important;
  transition:transform .15s ease;
}
.bootstrap-table .avatar-group .avatar:first-child{margin-left:0 !important;}
.bootstrap-table .avatar-group .avatar:hover{transform:translateY(-3px);z-index:2;position:relative;}
.bootstrap-table .avatar-group img,
.bootstrap-table .users-list img{
  border:2px solid #fff !important;
  box-shadow:0 2px 8px rgba(15,23,42,.15);
  width:30px;height:30px;
  object-fit:cover;
}
/* Overflow count pill (e.g. +6) caps long avatar stacks — same design as .count-pill */
.bootstrap-table .avatar-overflow{
  width:30px;height:30px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#1a8cff,#0057c2);
  color:#fff;
  border:2px solid #fff !important;
  box-shadow:0 2px 8px rgba(0,101,218,.4);
  font-size:.68rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  flex-shrink:0;
  cursor:default;
}

/* Actions — pill container with soft icon buttons */
.pro-actions{
  display:inline-flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  border-radius:12px;
  padding:4px;
}
.pro-action{
  width:32px;height:32px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  background:transparent;
  font-size:1rem;
  transition:all .15s ease;
  cursor:pointer;
  padding:0;
  text-decoration:none;
}
.pro-action i{font-size:1.05rem;line-height:1;}
.pro-action-edit{background:#eaf2ff;color:#0065da !important;}
.pro-action-edit:hover{
  background:#0065da !important;
  border-color:#0065da !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(0,101,218,.35);
}
.pro-action-edit:active{transform:translateY(0) scale(.96);}
.pro-action-delete{background:#fef2f2;color:#dc2626 !important;}
.pro-action-delete:hover,
.pro-action.text-danger:hover{
  background:#dc2626 !important;
  border-color:#dc2626 !important;
  color:#fff !important;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(220,38,38,.35);
}
.pro-action-delete:active{transform:translateY(0) scale(.96);}
.pro-action:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(0,101,218,.25);}
/* Legacy action markup compat */
.bootstrap-table tbody td:last-child a,
.bootstrap-table tbody td:last-child button.delete{
  width:32px;height:32px;
  border-radius:9px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid transparent !important;
  padding:0 !important;
  margin:0 2px;
  vertical-align:middle;
  transition:all .15s ease;
}
.bootstrap-table tbody td:last-child a{background:#eaf2ff !important;color:#0065da !important;}
.bootstrap-table tbody td:last-child button.delete{background:#fef2f2 !important;}
/* Raw icon buttons grouped by JS (e.g. status toggles) — same tile geometry */
.bootstrap-table tbody td:last-child .pro-actions button:not(.delete){
  width:32px;height:32px;
  border-radius:9px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  border:1px solid transparent !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 2px;
  vertical-align:middle;
  transition:all .15s ease;
  color:#475569 !important;
}
.bootstrap-table tbody td:last-child .pro-actions button:not(.delete):hover{
  background:#e2e8f0 !important;
  border-color:#cbd5e1 !important;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(15,23,42,.12);
}
.bootstrap-table tbody td:last-child a:hover{
  background:#0065da !important;
  border-color:#0065da !important;
  color:#fff !important;
  box-shadow:0 6px 14px rgba(0,101,218,.35);
}
.bootstrap-table tbody td:last-child button.delete:hover{
  background:#dc2626 !important;
  border-color:#dc2626 !important;
  box-shadow:0 6px 14px rgba(220,38,38,.35);
}
.bootstrap-table tbody td:last-child button.delete i{color:#dc2626 !important;}
.bootstrap-table tbody td:last-child button.delete:hover i{color:#fff !important;}

/* Checkboxes — rounded custom */
.bootstrap-table .bs-checkbox label{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin:0 !important;
  padding:0 !important;
}
.bootstrap-table .bs-checkbox input[type="checkbox"]{
  appearance:none !important;
  -webkit-appearance:none !important;
  width:19px;height:19px;
  border-radius:4px;
  border:1.5px solid #cbd5e1;
  background:#fff;
  cursor:pointer;
  margin:0 !important;
  padding:0;
  position:relative;
  vertical-align:middle;
  flex-shrink:0;
  transition:all .15s ease;
  accent-color:unset;
}
.bootstrap-table .bs-checkbox input[type="checkbox"]:hover{
  border-color:var(--pro-primary);
  box-shadow:0 0 0 3px rgba(0,101,218,.12);
}
.bootstrap-table .bs-checkbox input[type="checkbox"]:checked{
  background:var(--pro-primary);
  border-color:var(--pro-primary);
  box-shadow:0 2px 8px rgba(0,101,218,.35);
}
.bootstrap-table .bs-checkbox input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:6px;top:2.5px;
  width:5px;height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
  border-radius:1px;
}
.bootstrap-table .bs-checkbox input[type="checkbox"]:indeterminate{
  background:var(--pro-primary);
  border-color:var(--pro-primary);
}
.bootstrap-table .bs-checkbox input[type="checkbox"]:indeterminate::after{
  content:"";
  position:absolute;
  left:4px;right:4px;top:8px;
  height:2px;
  background:#fff;
  border-radius:2px;
}
.bootstrap-table .bs-checkbox input[type="checkbox"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(0,101,218,.25);
}
.bootstrap-table thead .bs-checkbox{
  background:transparent;
}

/* Pagination footer */
.bootstrap-table .fixed-table-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 20px 14px 20px;
}
.bootstrap-table .fixed-table-pagination > .pagination-detail,
.bootstrap-table .fixed-table-pagination > .pagination{
  margin-top:6px !important;
  margin-bottom:6px !important;
}
.bootstrap-table .pagination-detail .pagination-info{
  color:var(--pro-muted) !important;
  font-size:.82rem !important;
  line-height:1.5 !important;
}
.bootstrap-table .page-list .btn{
  border-radius:10px !important;
  border:1.5px solid var(--pro-line) !important;
  background:#fff !important;
  color:#334155 !important;
  font-size:.82rem;
  font-weight:600;
  padding:.35rem .7rem !important;
}
.bootstrap-table .pagination ul.pagination{
  gap:4px;
  display:flex;
  align-items:center;
}
.bootstrap-table .pagination ul.pagination .page-item .page-link{
  border:1px solid transparent !important;
  border-radius:9px !important;
  min-width:34px;height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.83rem;
  font-weight:600;
  color:#475569 !important;
  background:transparent !important;
  padding:0 .6rem !important;
}
.bootstrap-table .pagination ul.pagination .page-item .page-link:hover{
  background:#f1f5f9 !important;
  color:var(--pro-ink) !important;
}
.bootstrap-table .pagination ul.pagination .page-item.active .page-link{
  background:var(--pro-primary) !important;
  color:#fff !important;
  box-shadow:0 4px 12px rgba(0,101,218,.3);
}
.bootstrap-table .pagination ul.pagination .page-item.disabled .page-link{
  color:#cbd5e1 !important;
  background:transparent !important;
}

/* Loading + empty */
.bootstrap-table .fixed-table-container .fixed-table-body .fixed-table-loading{
  background:rgba(255,255,255,.9) !important;
  border-radius:14px;
}
.bootstrap-table .no-records-found td{
  padding:2.5rem 1rem !important;
  color:var(--pro-muted) !important;
  font-size:.9rem;
}

/* Scrollbar for wide tables */
.bootstrap-table .fixed-table-body::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar{height:8px;width:8px;}
.bootstrap-table .fixed-table-body::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px;}
.bootstrap-table .fixed-table-body::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track{background:#f1f5f9;border-radius:999px;}

/* Responsive */
@media (max-width: 768px){
  .bootstrap-table{padding:0;}
  .pro-table-head{padding:14px 14px 10px 14px;}
  .bootstrap-table .fixed-table-toolbar{padding:12px 14px 10px 14px;}
  .card.supplier-table-card .card-body > .row,
  .card.pro-table-card .card-body > .row{margin:12px 14px 0 !important;padding:12px 12px !important;}
  .bootstrap-table .fixed-table-container{margin:0 14px;}
  .bootstrap-table .fixed-table-pagination{padding:10px 14px 12px 14px;}
  .bootstrap-table .fixed-table-toolbar .search{width:100%;}
  .bootstrap-table .fixed-table-toolbar .search input{min-width:0;width:100%;}
  .bootstrap-table .fixed-table-pagination{justify-content:center;text-align:center;}
  .bootstrap-table .fixed-table-container .table tbody td{padding:.65rem .7rem !important;}
}

/* Address chips (clients list) */
.addr-chip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;padding:5px 10px 5px 5px;border-radius:999px;border:1px solid;margin:0 4px 4px 0;line-height:1.35;text-align:left;transition:all .15s ease;}
.addr-chip:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(15,23,42,.12);}
.addr-chip--owner{background:#e8f7ee;color:#14532d;border-color:#bbf7d0;}
.addr-chip--tenant{background:#e0f2fe;color:#0c4a6e;border-color:#bae6fd;}
.addr-chip__icon{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:.85rem;}
.addr-chip--owner .addr-chip__icon{background:#16a34a;color:#fff;}
.addr-chip--tenant .addr-chip__icon{background:#0284c7;color:#fff;}
.addr-chip__icon i{line-height:1;}
.addr-chip__rel{font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;color:#fff;flex:none;}
.addr-chip__rel--owner{background:#16a34a;}
.addr-chip__rel--tenant{background:#0284c7;}
.addr-more{border-radius:999px !important;font-weight:700;}

/* Client identity cell */
.client-id{display:flex;align-items:center;gap:10px;min-width:0;}
.client-avatar{position:relative;flex:none;}
.client-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(15,23,42,.18);transition:transform .15s ease;display:block;}
.client-avatar:hover img{transform:scale(1.08);}
.client-avatar::after{content:'';position:absolute;bottom:1px;right:1px;width:11px;height:11px;border-radius:50%;border:2px solid #fff;background:#94a3b8;}
.client-avatar--active::after{background:#22c55e;}
.client-avatar--inactive::after{background:#ef4444;}
.client-name{font-size:.87rem;font-weight:700;color:#0f172a;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.client-name a{color:inherit;text-decoration:none;}
.client-name a:hover{color:#0065da;}
.client-meta{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap;}
.client-mail{font-size:.75rem;color:#64748b;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.client-mail i{font-size:.85rem;color:#94a3b8;flex:none;}
.client-status{display:inline-flex;align-items:center;gap:5px;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 9px;border-radius:999px;flex:none;}
.client-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;}
.client-status--active{background:#dcfce7;color:#15803d;}
.client-status--inactive{background:#fee2e2;color:#b91c1c;}
