/* Base system tokens for the PHP portal. Kept deliberately additive so legacy
   templates retain their functional class names and controls. */
:root{--jax-navy:#0b356b;--jax-navy-deep:#082b5c;--jax-red:#ee1b2e;--jax-surface:#fff;--jax-page:#f3f7fb;--jax-line:#d9e4f1;--jax-text:#172b4d;--jax-muted:#617690;--jax-radius:14px;--jax-shadow:0 10px 28px rgba(11,53,107,.08)}
html{background:var(--jax-page)}
body{color:var(--jax-text);background:var(--jax-page);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
button,input,select,textarea{font:inherit}
button,.btn{transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(33,112,214,.35);outline-offset:2px}
.card,.filters,.stats>div{border-color:var(--jax-line);box-shadow:var(--jax-shadow)}
.table-wrap{max-width:100%;overscroll-behavior-inline:contain}
table{border-collapse:separate;border-spacing:0}
th{letter-spacing:.01em}
@media (max-width:900px){.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:680px}.app header{overscroll-behavior:contain}}
