.pwa-tools[hidden], .pwa-tools [hidden], .pwa-dialog [hidden] { display: none !important; }
.pwa-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; padding-bottom: env(safe-area-inset-bottom, 0px); font-size: 13px; color: #52627a; }
.pwa-tools > span { flex: 1 1 240px; }
.pwa-tools [data-pwa-offline] { color: #8a4c00; }
.pwa-dialog { width: min(460px, calc(100% - 32px)); max-height: 85dvh; overflow: auto; padding: 24px; border: 1px solid #dce4ef; border-radius: 16px; color: #172c49; box-shadow: 0 20px 80px #172c4933; }
.pwa-dialog::backdrop { background: #172c4980; }
.pwa-dialog form { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.pwa-dialog h2 { font-size: 22px; margin: 16px 0; }
.pwa-dialog p { line-height: 1.6; margin: 14px 0; overflow-wrap: anywhere; }
.pwa-hint { font-size: 13px; color: #52627a; }
.auth-main { grid-template-rows: 1fr auto; }
.auth-main > .pwa-tools { margin-top: 16px; max-width: 430px; }
@media (display-mode: standalone) {
  .topbar { padding-top: max(12px, env(safe-area-inset-top)); height: auto; min-height: 70px; }
  .content { padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
}
@media print { .pwa-tools, .pwa-dialog { display: none !important; } }
