/* Staff screens on a phone (under 640px), and tables with 6 or more columns on a tablet (under 1024px, where the sidebar leaves little room): data tables become one card per row, each value labelled with
 its column heading. gs-responsive.js adds .gs-stack and the data-label on every cell; a table opts out with
 data-no-stack. gs-responsive.js decides by screen width. Desktops keep the normal table. */
table.gs-stack{display:block;width:100%;border:0}
table.gs-stack>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
table.gs-stack>tbody,table.gs-stack>tbody>tr,table.gs-stack>tbody>tr>td,table.gs-stack>tbody>tr>th{display:block}
table.gs-stack>tbody>tr{margin:0 0 .6rem;padding:.35rem .85rem;border:1px solid rgb(0 0 0/.08);border-radius:.85rem;background:#fff;box-shadow:0 1px 2px rgb(0 0 0/.04)}
table.gs-stack>tbody>tr:hover{background:#fff}
table.gs-stack>tbody>tr>td,table.gs-stack>tbody>tr>th{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;width:auto!important;max-width:none!important;padding:.4rem 0!important;border:0!important;text-align:right!important;white-space:normal!important;min-height:1.75rem;overflow-wrap:anywhere;min-width:0}
table.gs-stack>tbody>tr>td+td{border-top:1px solid rgb(0 0 0/.05)!important}
table.gs-stack>tbody>tr>td::before{content:attr(data-label);flex:0 0 38%;max-width:38%;text-align:left;font-size:.7rem;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;font-weight:600;opacity:.6}
table.gs-stack>tbody>tr>td[data-label=""]::before,table.gs-stack>tbody>tr>td:not([data-label])::before{display:none}
table.gs-stack>tbody>tr>td[data-label=""]{justify-content:flex-start;text-align:left!important}
table.gs-stack>tbody>tr>td.gs-empty-cell,table.gs-stack>tbody>tr>td.gs-hidden-cell{display:none!important}
table.gs-stack>tbody>tr>td[colspan]{display:block;text-align:center!important}
table.gs-stack>tbody>tr>td[colspan]::before{display:none}
table.gs-stack>tbody>tr>td>*{max-width:100%;min-width:0}
table.gs-stack>tbody>tr>td:first-child:not([data-label=""]){font-weight:600}
.gs-table-scroll:has(>table.gs-stack),.overflow-x-auto:has(>table.gs-stack){overflow-x:visible;background:transparent;border:0;box-shadow:none}
table.gs-stack>tfoot{display:block}
table.gs-stack>tfoot>tr{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.5rem .85rem;font-weight:600}
table.gs-stack>tfoot td{display:block;padding:0}

/* Touch screens: small buttons and button looking links get a 40px tall tap area (Apple asks for 44, Google 48; 40 keeps the look tight).
   Only height changes, so layouts do not move sideways. Text links inside a sentence are left alone. */
@media (pointer:coarse) and (max-width:1023px){
  button:not(.gs-date-btn):not([data-no-tap]),[role=button],input[type=submit],input[type=button],a.rounded,a.rounded-lg,a.rounded-full,a.rounded-md,a.btn{min-height:40px}
  .gs-date-btn{min-width:40px;min-height:40px}
}
