/* Push to Browser: minimal styles for the subscription button and admin counters. */
.ptb-subscribe-button {
    border: 0;
    border-radius: 8px;
    padding: 10px 16px;
    cursor: pointer;
    font: inherit;
    line-height: 1.2;
    background: #1d2327;
    color: #fff;
}
.ptb-subscribe-button:hover { opacity: .9; }
.ptb-subscribe-button:disabled { opacity: .55; cursor: default; }
.ptb-subscribe-button.is-active { background: #50575e; }
.ptb-floating-button {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 99999;
    box-shadow: 0 5px 24px rgba(0,0,0,.18);
}
.ptb-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    max-width: 900px;
    margin: 20px 0 28px;
}
.ptb-stats > div {
    background: #fff;
    border: 1px solid #dcdcde;
    border-radius: 6px;
    padding: 16px;
}
.ptb-stats strong { display: block; font-size: 26px; line-height: 1.1; }
.ptb-stats span { display: block; margin-top: 5px; color: #646970; }
.ptb-clean-expired { margin-top: 8px; font-size: 12px; }

/* Push to Browser: non-modal status/error message for subscription actions. */
.ptb-frontend-message {
    position: fixed;
    right: 20px;
    bottom: 76px;
    z-index: 100000;
    max-width: min(420px, calc(100vw - 32px));
    padding: 12px 14px;
    border-radius: 8px;
    background: #1d2327;
    color: #fff;
    box-shadow: 0 5px 24px rgba(0,0,0,.22);
    font-size: 14px;
    line-height: 1.45;
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.ptb-frontend-message.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.ptb-frontend-message.is-error {
    background: #8a2424;
}
.ptb-stats small {
    display: block;
    margin-top: 7px;
    color: #777;
    font-size: 12px;
    line-height: 1.35;
}
@media (max-width: 600px) {
    .ptb-floating-button {
        right: 16px;
        bottom: 16px;
    }
    .ptb-frontend-message {
        right: 16px;
        bottom: 72px;
        left: 16px;
        max-width: none;
    }
}
