/* === POOLBAAS NOTIFICATIONS V1 === */

.poolbaas-notifications-body {
    background:
        radial-gradient(
            circle at 50% -240px,
            rgba(99, 72, 197, .17),
            transparent 570px
        ),
        #f3f3f8;
}

.pbn-page {
    display: grid;
    gap: 13px;
    width: min(
        1120px,
        calc(100% - 30px)
    );
    margin: 0 auto;
    padding: 18px 0 90px;
}

.pbn-page * {
    box-sizing: border-box;
}

.pbn-hero {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 30px;
    overflow: hidden;
    padding: 27px 29px;
    border-radius: 24px;
    background:
        radial-gradient(
            circle at 88% 16%,
            rgba(255, 220, 78, .20),
            transparent 230px
        ),
        linear-gradient(
            135deg,
            #211050,
            #6749ce
        );
    color: #fff;
    box-shadow:
        0 18px 45px
        rgba(35, 20, 93, .18);
}

.pbn-eyebrow,
.pbn-section-head span,
.pbn-settings > header > span {
    color: #ffe16b;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .13em;
}

.pbn-hero h1 {
    margin: 6px 0;
    color: #fff;
    font-size: clamp(
        31px,
        5vw,
        49px
    );
    line-height: 1;
    letter-spacing: -.04em;
}

.pbn-hero p {
    max-width: 650px;
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: 12px;
    line-height: 1.5;
}

.pbn-hero__status {
    display: grid;
    min-width: 135px;
    min-height: 116px;
    place-items: center;
    align-content: center;
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 19px;
    background: rgba(255,255,255,.10);
}

.pbn-hero__status > strong {
    color: #ffe16b;
    font-size: 35px;
    line-height: 1;
}

.pbn-hero__status > span {
    margin-top: 3px;
    color: rgba(255,255,255,.70);
    font-size: 8px;
    font-weight: 850;
}

.pbn-hero__status form {
    margin-top: 9px;
}

.pbn-hero__status button {
    min-height: 29px;
    padding: 0 9px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    color: #432b93;
    font-size: 7px;
    font-weight: 900;
    cursor: pointer;
}

.pbn-preview-note {
    display: flex;
    min-height: 47px;
    align-items: center;
    gap: 10px;
    padding: 9px 13px;
    border: 1px solid #e6cb63;
    border-radius: 13px;
    background: #fff8d7;
}

.pbn-preview-note strong {
    color: #715600;
    font-size: 9px;
}

.pbn-preview-note span {
    flex: 1;
    color: #81743f;
    font-size: 8px;
}

.pbn-preview-note a {
    color: #654a00;
    font-size: 8px;
    font-weight: 900;
}

.pbn-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        320px;
    align-items: start;
    gap: 11px;
}

.pbn-inbox,
.pbn-settings {
    overflow: hidden;
    border: 1px solid #e0e1e7;
    border-radius: 20px;
    background: #fff;
    box-shadow:
        0 9px 27px
        rgba(39, 29, 76, .045);
}

.pbn-section-head {
    display: flex;
    min-height: 78px;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 17px;
    border-bottom: 1px solid #ececf0;
}

.pbn-section-head span,
.pbn-settings > header > span {
    color: #684fc2;
}

.pbn-section-head h2,
.pbn-settings h2 {
    margin: 3px 0 0;
    color: #292536;
    font-size: 18px;
    letter-spacing: -.025em;
}

.pbn-section-head > a {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 10px;
    border-radius: 9px;
    background: #eeeafd;
    color: #5c44b7;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.pbn-list {
    display: grid;
}

.pbn-notification {
    position: relative;
    display: grid;
    grid-template-columns:
        43px
        minmax(0, 1fr)
        auto;
    align-items: center;
    gap: 11px;
    min-height: 91px;
    padding: 12px 15px;
    border-bottom: 1px solid #ededf1;
    background: #fff;
}

.pbn-notification:last-child {
    border-bottom: 0;
}

.pbn-notification.is-unread {
    background:
        linear-gradient(
            90deg,
            #f3efff,
            #fff 47%
        );
}

.pbn-notification.is-unread::before {
    content: "";
    position: absolute;
    top: 11px;
    bottom: 11px;
    left: 0;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: #684eca;
}

.pbn-notification.is-high {
    background:
        linear-gradient(
            90deg,
            #fff8db,
            #fff 52%
        );
}

.pbn-notification.is-high::before {
    background: #e4af1e;
}

.pbn-notification.is-success {
    background:
        linear-gradient(
            90deg,
            #eafaf1,
            #fff 52%
        );
}

.pbn-notification.is-success::before {
    background: #28b970;
}

.pbn-notification__icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: #eeeafd;
    color: #5d43ba;
    font-size: 16px;
    font-weight: 950;
}

.pbn-notification.is-high
.pbn-notification__icon {
    background: #fff0b9;
    color: #835c00;
}

.pbn-notification.is-success
.pbn-notification__icon {
    background: #dff7e8;
    color: #177747;
}

.pbn-notification__copy {
    display: grid;
    min-width: 0;
    gap: 4px;
}

.pbn-notification__title {
    display: flex;
    align-items: center;
    gap: 7px;
}

.pbn-notification__title strong {
    color: #302c3a;
    font-size: 11px;
}

.pbn-notification__title span {
    display: inline-flex;
    min-height: 19px;
    align-items: center;
    padding: 0 6px;
    border-radius: 999px;
    background: #684eca;
    color: #fff;
    font-size: 5px;
    font-weight: 950;
}

.pbn-notification__copy p {
    margin: 0;
    color: #747784;
    font-size: 9px;
    line-height: 1.45;
}

.pbn-notification__copy small {
    color: #999aa3;
    font-size: 7px;
}

.pbn-notification__actions {
    display: flex;
    align-items: center;
    gap: 5px;
}

.pbn-notification__actions form {
    margin: 0;
}

.pbn-notification__actions a,
.pbn-notification__actions button {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 0;
    border-radius: 9px;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.pbn-notification__actions a,
.pbn-notification__actions
button.is-primary {
    background: #5136ae;
    color: #fff;
}

.pbn-notification__actions
button.is-quiet {
    width: 34px;
    padding: 0;
    background: #f0eff3;
    color: #77727e;
    font-size: 17px;
}

.pbn-empty {
    display: grid;
    grid-template-columns:
        48px minmax(0, 1fr) auto;
    min-height: 125px;
    align-items: center;
    gap: 13px;
    padding: 20px;
}

.pbn-empty > span {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: #ddf7e7;
    color: #197848;
    font-size: 19px;
}

.pbn-empty > div {
    display: grid;
    gap: 3px;
}

.pbn-empty strong {
    color: #332a51;
    font-size: 12px;
}

.pbn-empty p {
    margin: 0;
    color: #828590;
    font-size: 8px;
}

.pbn-empty a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 11px;
    border-radius: 9px;
    background: #eeeafd;
    color: #5942ad;
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
}

.pbn-settings {
    position: sticky;
    top: 12px;
}

.pbn-settings > header {
    padding: 17px;
    border-bottom: 1px solid #ececf0;
}

.pbn-settings > header p {
    margin: 5px 0 0;
    color: #858894;
    font-size: 8px;
    line-height: 1.4;
}

.pbn-settings form {
    display: grid;
    gap: 7px;
    padding: 12px;
}

.pbn-settings label {
    display: grid;
    grid-template-columns:
        28px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    min-height: 65px;
    padding: 9px;
    border: 1px solid #e7e5ec;
    border-radius: 12px;
    background: #fafafd;
    cursor: pointer;
}

.pbn-settings input {
    width: 20px;
    height: 20px;
    accent-color: #6148c2;
}

.pbn-settings label > span {
    display: grid;
    gap: 2px;
}

.pbn-settings label strong {
    color: #342d48;
    font-size: 9px;
}

.pbn-settings label small {
    color: #838692;
    font-size: 7px;
    line-height: 1.4;
}

.pbn-settings form > button {
    min-height: 42px;
    border: 0;
    border-radius: 11px;
    background:
        linear-gradient(
            135deg,
            #4c31a5,
            #6b4bd0
        );
    color: #fff;
    font-size: 9px;
    font-weight: 950;
    cursor: pointer;
}


/* Headerbel */

.pb-notification-bell {
    position: relative;
    display: inline-grid;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 11px;
    background: rgba(255,255,255,.10);
    color: #fff;
    font-size: 15px;
    text-decoration: none;
}

.pb-notification-bell:hover {
    background: rgba(255,255,255,.18);
}

.pb-notification-bell > b {
    position: absolute;
    top: -6px;
    right: -6px;
    display: none;
    min-width: 19px;
    height: 19px;
    place-items: center;
    padding: 0 4px;
    border: 2px solid #2b175e;
    border-radius: 999px;
    background: #ffd84d;
    color: #2c195e;
    font-size: 7px;
    font-weight: 950;
}

.pb-notification-bell.has-unread > b {
    display: grid;
}


@media (max-width: 760px) {
    .pbn-page {
        width: calc(100% - 16px);
        gap: 9px;
        padding-top: 9px;
        padding-bottom: 115px;
    }

    .pbn-hero {
        grid-template-columns:
            minmax(0, 1fr) 89px;
        gap: 11px;
        padding: 19px 14px;
        border-radius: 19px;
    }

    .pbn-hero h1 {
        font-size: 29px;
    }

    .pbn-hero p {
        font-size: 9px;
    }

    .pbn-hero__status {
        min-width: 0;
        min-height: 92px;
        border-radius: 15px;
    }

    .pbn-hero__status > strong {
        font-size: 29px;
    }

    .pbn-hero__status button {
        min-height: 25px;
        font-size: 6px;
    }

    .pbn-preview-note {
        display: grid;
        grid-template-columns:
            auto minmax(0, 1fr);
        gap: 4px 8px;
    }

    .pbn-preview-note a {
        grid-column: 1 / -1;
    }

    .pbn-layout {
        grid-template-columns: 1fr;
    }

    .pbn-inbox,
    .pbn-settings {
        border-radius: 17px;
    }

    .pbn-section-head {
        min-height: 67px;
        padding: 11px;
    }

    .pbn-section-head h2 {
        font-size: 16px;
    }

    .pbn-notification {
        grid-template-columns:
            37px
            minmax(0, 1fr)
            auto;
        min-height: 84px;
        gap: 8px;
        padding: 10px 9px;
    }

    .pbn-notification__icon {
        width: 36px;
        height: 36px;
        border-radius: 11px;
        font-size: 13px;
    }

    .pbn-notification__title {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }

    .pbn-notification__title strong {
        font-size: 9px;
    }

    .pbn-notification__copy p {
        font-size: 7px;
    }

    .pbn-notification__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .pbn-notification__actions a,
    .pbn-notification__actions button {
        min-height: 31px;
        padding: 0 8px;
        font-size: 7px;
    }

    .pbn-notification__actions
    button.is-quiet {
        width: 100%;
        font-size: 14px;
    }

    .pbn-empty {
        grid-template-columns:
            42px minmax(0, 1fr);
        padding: 14px 11px;
    }

    .pbn-empty > span {
        width: 42px;
        height: 42px;
    }

    .pbn-empty a {
        grid-column: 1 / -1;
        justify-content: center;
    }

    .pbn-settings {
        position: static;
    }

    .pb-notification-bell {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }
}


/* === POOLBAAS NTFY V3 === */

.pbn-ntfy {
    margin: 0 12px 12px;
    overflow: hidden;
    border: 1px solid #ded9ec;
    border-radius: 15px;
    background:
        linear-gradient(
            145deg,
            #f7f4ff,
            #fff
        );
}

.pbn-ntfy.is-enabled {
    border-color: #b9e3ca;
    box-shadow:
        inset 0 3px 0 #2bc176;
}

.pbn-ntfy > header {
    padding: 14px;
    border-bottom: 1px solid #e8e4f0;
}

.pbn-ntfy > header > span {
    color: #654bc0;
    font-size: 7px;
    font-weight: 950;
    letter-spacing: .1em;
}

.pbn-ntfy h2 {
    margin: 3px 0 0;
    color: #302263;
    font-size: 16px;
}

.pbn-ntfy > header p {
    margin: 4px 0 0;
    color: #7d7789;
    font-size: 8px;
    line-height: 1.4;
}

.pbn-ntfy__status {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 11px;
    padding: 10px;
    border-radius: 11px;
    background: #eeeafd;
}

.pbn-ntfy__status > i {
    width: 10px;
    height: 10px;
    flex: 0 0 10px;
    border-radius: 50%;
    background: #9186a7;
}

.pbn-ntfy.is-enabled
.pbn-ntfy__status {
    background: #def7e8;
}

.pbn-ntfy.is-enabled
.pbn-ntfy__status > i {
    background: #24b76d;
    box-shadow:
        0 0 0 4px
        rgba(36, 183, 109, .13);
}

.pbn-ntfy__status > div {
    display: grid;
    gap: 2px;
}

.pbn-ntfy__status strong {
    color: #382b68;
    font-size: 9px;
}

.pbn-ntfy__status small {
    color: #7c7686;
    font-size: 7px;
}

.pbn-ntfy__connection {
    display: grid;
    gap: 7px;
    padding: 0 11px;
}

.pbn-ntfy__connection label {
    display: grid;
    grid-template-columns:
        45px minmax(0, 1fr);
    min-height: 37px;
    align-items: center;
    gap: 7px;
    padding: 6px 8px;
    border: 1px solid #e5e2ea;
    border-radius: 9px;
    background: #fff;
}

.pbn-ntfy__connection span {
    color: #77717f;
    font-size: 7px;
    font-weight: 900;
}

.pbn-ntfy__connection code {
    overflow: hidden;
    color: #403072;
    font-family: inherit;
    font-size: 7px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.pbn-ntfy ol {
    display: grid;
    gap: 4px;
    margin: 11px 11px 0;
    padding: 10px 10px 10px 28px;
    border-radius: 10px;
    background: #f5f4f8;
    color: #716c79;
    font-size: 7px;
    line-height: 1.4;
}

.pbn-ntfy__actions {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 6px;
    padding: 11px;
}

.pbn-ntfy__actions form {
    margin: 0;
}

.pbn-ntfy__actions button,
.pbn-ntfy__actions a {
    display: flex;
    width: 100%;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border: 0;
    border-radius: 9px;
    font-size: 7px;
    font-weight: 900;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.pbn-ntfy__actions
button.is-primary {
    background: #4d32a6;
    color: #fff;
}

.pbn-ntfy__actions
button.is-secondary,
.pbn-ntfy__actions a {
    border: 1px solid #dcd7e8;
    background: #fff;
    color: #554a68;
}

.pbn-ntfy__regenerate {
    margin: 0;
    padding: 0 11px 11px;
}

.pbn-ntfy__regenerate button {
    width: 100%;
    border: 0;
    background: transparent;
    color: #8a8491;
    font-size: 6px;
    text-decoration: underline;
    cursor: pointer;
}

@media (max-width: 760px) {
    .pbn-ntfy {
        margin-right: 9px;
        margin-left: 9px;
    }

    .pbn-ntfy__connection label {
        grid-template-columns: 40px minmax(0, 1fr);
    }

    .pbn-ntfy__actions {
        grid-template-columns: 1fr;
    }
}
