:root {
    color-scheme: light;
    font-family: Tahoma, Arial, sans-serif;
    --pwa-primary: #173b73;
    --pwa-accent: #2f7cf6;
    --pwa-surface: #fff;
    --pwa-text: #172033;
    --pwa-muted: #64748b;
}

.pwa-install-button {
    position: fixed;
    inset-inline-end: 1rem;
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 1080;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.75rem;
    padding: .65rem 1rem;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: var(--pwa-primary);
    box-shadow: 0 .75rem 2rem rgba(15, 38, 75, .25);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.pwa-install-button[hidden] { display: none; }

.pwa-status {
    position: fixed;
    inset-inline: 1rem;
    bottom: max(1rem, env(safe-area-inset-bottom));
    z-index: 1090;
    max-width: 36rem;
    margin-inline: auto;
    padding: .85rem 1rem;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 1rem;
    color: #fff;
    background: #172033;
    box-shadow: 0 1rem 2.5rem rgba(15, 23, 42, .28);
}

.pwa-status__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.pwa-status button {
    flex: 0 0 auto;
    padding: .45rem .8rem;
    border: 0;
    border-radius: .65rem;
    color: #102a52;
    background: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.pwa-status[hidden] { display: none; }

.pwa-offline-page {
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    display: grid;
    place-items: center;
    padding: 1.5rem;
    color: var(--pwa-text);
    background: radial-gradient(circle at top right, #dbeafe, transparent 45%), #f4f7fb;
}

.pwa-offline-card {
    width: min(100%, 34rem);
    padding: clamp(1.5rem, 6vw, 3rem);
    border: 1px solid #dbe5f2;
    border-radius: 1.5rem;
    text-align: center;
    background: var(--pwa-surface);
    box-shadow: 0 1.5rem 4rem rgba(15, 38, 75, .14);
}

.pwa-offline-card img { border-radius: 1.25rem; }
.pwa-offline-card h1 { margin: .5rem 0 1rem; font-size: clamp(1.5rem, 6vw, 2.1rem); }
.pwa-offline-card p { color: var(--pwa-muted); line-height: 1.9; }
.pwa-offline-eyebrow { margin: 1rem 0 0 !important; color: var(--pwa-accent) !important; font-weight: 700; }
.pwa-offline-card button {
    margin-top: .75rem;
    padding: .75rem 1.25rem;
    border: 0;
    border-radius: .8rem;
    color: #fff;
    background: var(--pwa-primary);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

@media (display-mode: standalone) {
    .pwa-install-button { display: none; }
}
