/* ============================================================
   VeyraTable toolbar/table/pagination — shared design for Admin
   and Partner portals (Kandi batch, Sep 9 2026).
   Light cards, dark navy text, VEYRA MEDS styling. Responsive:
   toolbar wraps on tablet/mobile; tables scroll horizontally in a
   contained area on narrow screens. No dark content cards.
   ============================================================ */
.vyt-bar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 14px; padding: 14px 16px; background: #ffffff; border: 1px solid #e5e9f2; border-radius: 12px; box-shadow: 0 1px 2px rgba(6,17,85,.05); }
.vyt-searchwrap { position: relative; flex: 1 1 260px; max-width: 420px; min-width: 200px; }
.vyt-search { width: 100%; height: 40px; padding: 0 38px 0 14px; border: 1px solid #d5dbe8; border-radius: 9px; background: #fbfcff; color: #061155; font: 500 14px/1 'Inter', sans-serif; outline: none; }
.vyt-search:focus { border-color: #04339b; box-shadow: 0 0 0 3px rgba(4,51,155,.12); background: #fff; }
.vyt-clear { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: transparent; color: #5b6478; font-size: 13px; cursor: pointer; padding: 6px; line-height: 1; border-radius: 6px; }
.vyt-clear:hover { color: #061155; background: #eef1f8; }
.vyt-fgroup { display: flex; align-items: center; gap: 7px; }
.vyt-flab { font: 600 11px/1 'Inter', sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #5b6478; white-space: nowrap; }
.vyt-fsel, .vyt-fdate { height: 36px; padding: 0 9px; border: 1px solid #d5dbe8; border-radius: 8px; background: #fbfcff; color: #061155; font: 500 13px/1 'Inter', sans-serif; outline: none; max-width: 170px; }
.vyt-fsel:focus, .vyt-fdate:focus { border-color: #04339b; background: #fff; }
.vyt-fsep { font: 500 12px/1 'Inter', sans-serif; color: #8590a5; }
.vyt-reset { height: 36px; margin-left: auto; padding: 0 15px; border: 1px solid #d5dbe8; border-radius: 8px; background: #fff; color: #061155; font: 600 13px/1 'Inter', sans-serif; cursor: pointer; white-space: nowrap; }
.vyt-reset:hover { background: #eef1f8; }
.vyt-count { margin: 10px 2px 8px; font: 500 12.5px/1.4 'Inter', sans-serif; color: #5b6478; }
.vyt-scrollwrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.vyt-table { width: 100%; border-collapse: collapse; background: #fff; }
.vyt-table th { text-align: left; padding: 11px 12px; font: 700 11px/1.2 'Inter', sans-serif; letter-spacing: .07em; text-transform: uppercase; color: #5b6478; border-bottom: 2px solid #e5e9f2; white-space: nowrap; background: #fbfcff; }
.vyt-table td { padding: 12px; font: 500 13.5px/1.45 'Inter', sans-serif; color: #061155; border-bottom: 1px solid #eef1f8; vertical-align: top; }
.vyt-table tbody tr:hover td { background: #fafbfe; }
.vyt-sortbtn { border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; padding: 0; white-space: nowrap; }
.vyt-sortbtn:hover { color: #04339b; }
.vyt-pag { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 14px; }
.vyt-pagebtn { min-width: 34px; height: 34px; padding: 0 10px; border: 1px solid #d5dbe8; border-radius: 8px; background: #fff; color: #061155; font: 600 13px/1 'Inter', sans-serif; cursor: pointer; }
.vyt-pagebtn:hover:not(:disabled):not(.active) { background: #eef1f8; }
.vyt-pagebtn.active { background: #04339b; border-color: #04339b; color: #fff; }
.vyt-pagebtn:disabled { opacity: .45; cursor: default; }
.vyt-ellipsis { color: #8590a5; padding: 0 4px; font: 600 13px/1 'Inter', sans-serif; }
@media (max-width: 760px) {
  .vyt-bar { flex-direction: column; align-items: stretch; }
  .vyt-searchwrap { max-width: none; }
  .vyt-reset { margin-left: 0; }
  .vyt-fsel, .vyt-fdate { max-width: none; flex: 1; }
  .vyt-fgroup { flex-wrap: wrap; }
}
