.archeo-push-prompt {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 10020;
    display: flex;
    align-items: center;
    gap: .7rem;
    width: min(420px, calc(100vw - 2rem));
    padding: .9rem 1rem;
    color: #1a1a2e;
    background: #fff;
    border: 1px solid #d9d4cc;
    border-radius: 14px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, .16);
}
.archeo-push-prompt[hidden], .archeo-push-manage[hidden], .archeo-push-dialog[hidden] { display: none !important; }
.archeo-push-prompt__icon { flex: 0 0 auto; font-size: 1.6rem; }
.archeo-push-prompt__copy { flex: 1 1 auto; min-width: 0; }
.archeo-push-prompt__copy strong, .archeo-push-prompt__copy span { display: block; }
.archeo-push-prompt__copy strong { font-size: .9rem; }
.archeo-push-prompt__copy span { margin-top: .15rem; color: #5f6b7a; font-size: .78rem; line-height: 1.35; }
.archeo-push-primary, .archeo-push-secondary, .archeo-push-close, .archeo-push-manage, .archeo-pwa-update button {
    border: 0;
    cursor: pointer;
    font: inherit;
}
.archeo-push-primary { padding: .55rem 1rem; color: #fff; background: #9b1b30; border-radius: 999px; font-size: .82rem; font-weight: 700; }
.archeo-push-primary:hover { background: #7a1526; }
.archeo-push-primary:disabled, .archeo-push-secondary:disabled { cursor: wait; opacity: .65; }
.archeo-push-close { padding: .25rem; color: #5f6b7a; background: transparent; font-size: 1.25rem; line-height: 1; }
.archeo-push-manage {
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    z-index: 9900;
    padding: .55rem .9rem;
    color: #fff;
    background: #9b1b30;
    border-radius: 999px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, .18);
    font-size: .8rem;
    font-weight: 700;
}
.archeo-push-dialog {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(12, 14, 22, .6);
}
.archeo-push-dialog__card {
    position: relative;
    width: min(500px, 100%);
    max-height: calc(100vh - 2rem);
    overflow: auto;
    padding: 1.5rem;
    color: #1a1a2e;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}
.archeo-push-dialog__card h2 { margin: 0 2rem .4rem 0; font-size: 1.35rem; }
.archeo-push-dialog__card > p { color: #5f6b7a; }
.archeo-push-dialog__close { position: absolute; top: .8rem; right: .9rem; padding: .2rem; color: #5f6b7a; background: transparent; border: 0; cursor: pointer; font-size: 1.5rem; }
.archeo-push-dialog fieldset { display: grid; gap: .65rem; margin: 1rem 0; padding: 0; border: 0; }
.archeo-push-dialog label { display: flex; align-items: center; gap: .55rem; padding: .7rem .8rem; background: #f7f4ef; border-radius: 10px; }
.archeo-push-dialog input { width: 1.1rem; height: 1.1rem; accent-color: #9b1b30; }
.archeo-push-status { min-height: 1.3rem; color: #166534 !important; font-size: .85rem; }
.archeo-push-status.is-error { color: #b91c1c !important; }
.archeo-push-dialog__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.archeo-push-secondary { padding: .55rem 1rem; color: #7f1d1d; background: #fee2e2; border-radius: 999px; font-size: .82rem; font-weight: 700; }
body.archeo-push-dialog-open { overflow: hidden; }
.archeo-pwa-update {
    position: fixed;
    left: 50%;
    bottom: 1rem;
    z-index: 10060;
    display: flex;
    align-items: center;
    gap: .7rem;
    width: max-content;
    max-width: calc(100vw - 2rem);
    padding: .7rem .9rem;
    color: #fff;
    background: #1a1a2e;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
    transform: translateX(-50%);
    font-size: .84rem;
}
.archeo-pwa-update button { padding: .4rem .75rem; color: #fff; background: #9b1b30; border-radius: 999px; font-weight: 700; white-space: nowrap; }
.archeo-pwa-update .archeo-pwa-update__close { padding: .2rem; color: #fff; background: transparent; font-size: 1.1rem; }
body.dark-mode .archeo-push-prompt, body.dark-mode .archeo-push-dialog__card { color: #f2efe9; background: #1c1c30; border-color: #2a2a42; }
body.dark-mode .archeo-push-prompt__copy span, body.dark-mode .archeo-push-dialog__card > p { color: #c0bdb6; }
body.dark-mode .archeo-push-dialog label { background: #2a2a42; }
@media (max-width: 560px) {
    .archeo-push-prompt { right: 1rem; left: 1rem; bottom: .75rem; width: auto; }
    .archeo-push-prompt__copy span { display: none; }
    .archeo-push-manage span { display: none; }
    .archeo-push-manage { width: 2.8rem; height: 2.8rem; padding: 0; }
    .archeo-pwa-update { right: .75rem; left: .75rem; width: auto; transform: none; }
}
