/* Tegic mobile usability layer — iOS Safari / Android Chrome; no database changes. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { overflow-x:hidden; }
img, video, canvas, svg { max-width:100%; }
input, select, textarea, button { max-width:100%; }
.table-responsive, .dataTables_wrapper, .dt-container { max-width:100%; }
.table-responsive { overflow-x:auto; -webkit-overflow-scrolling:touch; }
@media (max-width: 991.98px) {
  .layout-page, .content-wrapper, .container-xxl, .container-fluid, .card, .card-body { min-width:0; }
  .layout-content-navbar .layout-page { width:100%; }
  .tegic-voucher-selector, .tegic-voucher-intro, .tegic-selector-controls { min-width:0; }
  .tegic-type-guide { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .tegic-type-guide > *, .tegic-guide-card { min-width:0; }
  .modal-dialog { margin:12px auto; max-width:calc(100% - 24px); }
  .dropdown-menu { max-width:min(92vw,420px); }
  .dataTables_wrapper .row, .dt-layout-row { row-gap:12px; }
}
@media (max-width: 767.98px) {
  .container-xxl, .container-fluid { padding-left:12px!important; padding-right:12px!important; }
  .card { border-radius:12px; }
  .card-body { padding:14px; }
  .tegic-voucher-selector { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:16px!important; padding:16px!important; }
  .tegic-selector-controls { width:100%!important; }
  .tegic-selector-controls select { width:100%!important; }
  .tegic-type-guide { grid-template-columns:1fr!important; gap:10px; }
  .tegic-guide-card { padding:15px!important; }
  .tegic-selected-type { display:flex; flex-wrap:wrap; gap:8px; }
  .row > [class*='col-'] { min-width:0; }
  .form-control, .form-select, select, textarea, input[type='text'], input[type='number'], input[type='date'], input[type='email'], input[type='search'], input[type='tel'] { font-size:16px!important; }
  button, .btn, .dropdown-item, .menu-link { min-height:42px; }
  .btn-group { max-width:100%; flex-wrap:wrap; }
  .card-header { flex-wrap:wrap; gap:10px; }
  .card-header .btn { white-space:normal; }
  .table-responsive table { width:max-content; min-width:100%; }
  .table-responsive th, .table-responsive td { white-space:nowrap; }
  .dataTables_wrapper, .dt-container { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .dataTables_wrapper .dataTables_filter input, .dt-search input { max-width:100%; width:100%; margin:6px 0; }
  .modal-dialog { margin:8px auto; max-width:calc(100% - 16px); }
  .modal-body { max-height:calc(100dvh - 150px); overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .offcanvas { max-width:min(90vw,380px); }
  .pagination { flex-wrap:wrap; gap:3px; }
  .toast-container { max-width:calc(100vw - 24px); }
}
@media (max-width: 380px) {
  .container-xxl, .container-fluid { padding-left:10px!important; padding-right:10px!important; }
  .card-body { padding:12px; }
  .tegic-voucher-selector { padding:12px!important; }
}
@supports (padding: max(0px)) {
  @media (max-width:767.98px) {
    .layout-page, .content-wrapper { padding-bottom:env(safe-area-inset-bottom,0px); }
    .modal-footer { padding-bottom:max(12px,env(safe-area-inset-bottom,0px)); }
  }
}
@media print { .table-responsive, .dataTables_wrapper { overflow:visible!important; } }
