#gt-pwa-tools { box-sizing: border-box; margin: 14px 0 0; font-family: inherit; }
#gt-pwa-tools[hidden], #gt-pwa-guide[hidden], #gt-pwa-desktop-tip[hidden] { display: none !important; }
#gt-pwa-tools.gt-pwa-in-sidebar { margin: 16px 12px; position: static; }
#gt-pwa-tools.gt-pwa-floating { position: fixed; bottom: 18px; left: 18px; z-index: 900; max-width: min(260px,calc(100vw - 100px)); padding: 10px; border-radius: 16px; background: #17191f; }
#gt-pwa-tools .gt-pwa-button, #gt-pwa-guide .gt-pwa-button { display: flex; width: 100%; align-items: center; justify-content: center; min-height: 44px; padding: 10px 16px; border: 1px solid rgba(125,160,210,.5); border-radius: 14px; background: transparent; color: #5eb2ff; font: 600 14px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; cursor: pointer; text-align: center; }
#gt-pwa-tools .gt-pwa-status { color: #a9b3c2; margin: 6px 0 0; font-size: 12px; line-height: 1.5; }
#gt-pwa-guide { position: fixed; inset: 0; z-index: 1000001; display: flex; justify-content: center; align-items: center; padding: max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px)); box-sizing: border-box; background: #000a; overflow-y: auto; overscroll-behavior: contain; }
#gt-pwa-guide .gt-pwa-guide-card { box-sizing: border-box; width: min(100%,440px); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 22px; border-radius: 20px; background: #17191f; border: 1px solid #394457; color: #f5f7ff; font: 15px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
#gt-pwa-guide h2 { font-size: 20px; line-height: 1.3; margin: 0 0 14px; }
#gt-pwa-guide p { margin: 0 0 16px; white-space: pre-line; }
#gt-pwa-tools button:focus-visible, #gt-pwa-guide button:focus-visible { outline: 3px solid #5eb2ff; outline-offset: 3px; }
/* Login only: do not modify account dashboards or any superadmin view. */
@media (max-width: 1024px) {
    body.gt-auth-login { overflow-x: hidden; overflow-y: auto; min-height: 100vh; min-height: 100dvh; }
    .gt-auth-login .auth-layout { width: 100%; height: auto; min-height: 100vh; min-height: 100dvh; }
    .gt-auth-login .form-side { width: 100%; max-height: none; min-height: 100vh; min-height: 100dvh; overflow: visible; flex-direction: column; justify-content: center; padding: max(20px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(20px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px)); }
    .gt-auth-login .login-card { flex-shrink: 0; margin-block: auto; width: 100%; min-width: 0; max-width: 440px; }
    .gt-auth-login .form-side > footer { position: relative !important; bottom: auto !important; margin-top: 20px; text-align: center; flex-shrink: 0; }
    .gt-auth-login .form-control { font-size: 16px; min-height: 46px; transition-property: background-color,border-color,box-shadow; }
    .gt-auth-login .password-toggle { width: 44px; height: 44px; right: 2px; padding: 8px; }
    .gt-auth-login .auth-links { flex-wrap: wrap; gap: 12px; }
}
@media (max-height: 540px) and (max-width: 1024px) {
    .gt-auth-login .form-side { justify-content: flex-start; }
    .gt-auth-login .login-card { margin-block: 0; padding: 20px; }
    .gt-auth-login .brand-header { margin-bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) { #gt-pwa-tools *, #gt-pwa-guide * { transition: none !important; animation: none !important; } }
