.pwa-tools { max-width: 1200px; margin: 0 auto; padding: 1rem 1.5rem 2rem; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.pwa-tools [hidden], .pwa-update[hidden] { display: none; }
.pwa-status { font-size: .85rem; }
.pwa-update { position: fixed; bottom: 1rem; left: 1rem; right: 1rem; margin: auto; max-width: 650px; z-index: 1500; background: #10254b; color: #fff; border: 1px solid #9bc4ff; border-radius: 14px; padding: 1rem; box-shadow: 0 8px 30px #0003; display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.pwa-update button { min-height: 44px; padding: .5rem .9rem; border-radius: 8px; border: 1px solid #9bc4ff; color: #fff; background: #2458d3; cursor: pointer; }
.pwa-dialog { width: min(560px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; padding: clamp(1.2rem,4vw,2rem); background: var(--color-bg-primary, #fff); color: var(--color-text-primary, #10254b); border: 1px solid #7d9bcb; border-radius: 18px; }
.pwa-dialog::backdrop { background: rgb(10 25 50 / 60%); }
.pwa-dialog p { margin: 1rem 0; line-height: 1.75; }
.offline-page { font: 1rem/1.75 system-ui,sans-serif; margin: 0; background: #f0f5ff; color: #10254b; }
.offline-page main { max-width: 620px; margin: 12vh auto; padding: 2rem; }
.offline-page h1 { font-size: clamp(2rem, 6vw, 3rem); line-height: 1.15; }
.offline-page a { display: inline-block; margin: 1rem 1rem 0 0; padding: .7rem 1rem; color: white; background: #2458d3; border-radius: 99px; text-decoration: none; }

.pwa-dialog [hidden] { display: none; }
.pwa-dialog form { margin-top: 1rem; }
