/* V58_165 shared resilient UI layer: no external font dependency. */
:root{--gt-font:Tahoma,"Leelawadee UI","Noto Sans Thai",Arial,sans-serif;--gt-focus:#ffca28;--gt-tap:44px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:76px}
body{font-family:var(--gt-font)!important}
button,.btn,.form-control,.form-select,.form-check-input,input,select,textarea{font-family:inherit}
.btn{min-height:var(--gt-tap);display:inline-flex;align-items:center;justify-content:center}
.btn-sm{min-height:36px}
.form-control,.form-select{min-height:44px}
.form-check-input{width:1.2em;height:1.2em}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gt-focus)!important;outline-offset:3px!important;box-shadow:none!important}
.skip-link{position:fixed;left:12px;top:12px;z-index:3000;transform:translateY(-180%);background:#fff;color:#17324d;padding:.65rem .9rem;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.2);font-weight:700;text-decoration:none}.skip-link:focus{transform:none}
@media(max-width:576px){.container{--bs-gutter-x:1.1rem}.btn-lg{min-height:48px}.card-body{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.btn,.card,.form-control,.form-select{forced-color-adjust:auto}.card{border:1px solid CanvasText!important}}
