.tc-push-dialog[hidden],
.tc-push-dialog [hidden],
.tc-push-manage[hidden] {
    display: none !important;
}

.tc-push-dialog {
    align-items: end;
    background: rgba(2, 22, 53, .34);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 1000010;
}

.tc-push-dialog__panel {
    background: #fff;
    border: 1px solid #dfe4ea;
    border-radius: 18px;
    box-shadow: 0 18px 55px rgba(2, 22, 53, .24);
    box-sizing: border-box;
    color: #1d2327;
    max-width: 720px;
    overflow: hidden;
    padding: 1.5rem;
    position: relative;
    width: 100%;
}

.tc-push-dialog__close {
    align-items: center;
    background: transparent;
    border: 2px solid transparent;
    border-radius: 50%;
    color: #052d68;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 1.8rem;
    height: 44px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    right: .65rem;
    top: .55rem;
    width: 44px;
}

.tc-push-dialog__close:is(:hover, :focus-visible) {
    background: #f4f6f8;
    border-color: #f4511e;
    outline: 3px solid rgba(244, 81, 30, .28);
    outline-offset: 2px;
}

.tc-push-dialog__message {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 64px minmax(0, 1fr);
    padding-right: 2.75rem;
}

.tc-push-dialog__message img {
    display: block;
    height: 64px;
    object-fit: contain;
    width: 64px;
}

.tc-push-dialog__message h2 {
    color: #052d68;
    font-size: clamp(1.25rem, 3vw, 1.65rem);
    line-height: 1.2;
    margin: 0 0 .35rem;
}

.tc-push-dialog__message p {
    color: #5f6978;
    line-height: 1.5;
    margin: 0;
}

.tc-push-dialog__status:not(:empty) {
    background: #f4f6f8;
    border-left: 3px solid #78909c;
    color: #29313d;
    font-size: .9rem;
    margin-top: .75rem;
    padding: .65rem .75rem;
}

.tc-push-dialog__status[data-state="success"] { border-left-color: #13883e; }
.tc-push-dialog__status[data-state="error"] { border-left-color: #c62828; }
.tc-push-dialog__status[data-state="info"] { border-left-color: #052d68; }

.tc-push-dialog__actions {
    display: grid;
    gap: .75rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    margin-top: 1.25rem;
}

.tc-push-dialog__button,
.tc-push-manage {
    align-items: center;
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 750;
    justify-content: center;
    min-height: 48px;
    padding: .7rem 1rem;
}

.tc-push-dialog__button--quiet {
    background: #fff;
    border-color: #d8dee6;
    color: #313944;
}

.tc-push-dialog__button--primary {
    background: #f4511e;
    border-color: #f4511e;
    color: #fff;
}

.tc-push-dialog__button--danger {
    background: #fff;
    border-color: #b3261e;
    color: #8b1b15;
    grid-column: 1 / -1;
}

.tc-push-dialog__button:is(:hover, :focus-visible),
.tc-push-manage:is(:hover, :focus-visible) {
    border-color: #052d68;
    outline: 3px solid rgba(244, 81, 30, .28);
    outline-offset: 2px;
}

.tc-push-dialog__button--primary:is(:hover, :focus-visible) {
    background: #d94113;
    border-color: #d94113;
}

.tc-push-dialog__button:disabled {
    cursor: wait;
    opacity: .58;
}

.tc-push-dialog__privacy {
    color: #6a7482;
    font-size: .78rem;
    margin: .85rem 0 0;
    text-align: center;
}

.tc-push-dialog__privacy a {
    color: #c43d0f;
    font-weight: 700;
}

.tc-push-manage {
    background: #fff;
    border: 1px solid #d8dee6;
    bottom: 1rem;
    box-shadow: 0 7px 22px rgba(2, 22, 53, .15);
    color: #052d68;
    font-size: .82rem;
    min-height: 44px;
    position: fixed;
    right: 1rem;
    z-index: 999980;
}

@media (min-width: 700px) {
    .tc-push-dialog { align-items: center; }
    .tc-push-dialog__panel { padding: 1.75rem 2rem 1.2rem; }
}

@media (max-width: 480px) {
    .tc-push-dialog { padding: .65rem; }
    .tc-push-dialog__panel { border-radius: 14px; padding: 1.15rem; }
    .tc-push-dialog__message { padding-right: 2.35rem; }
    .tc-push-dialog__message { align-items: start; grid-template-columns: 48px minmax(0, 1fr); }
    .tc-push-dialog__message img { height: 48px; width: 48px; }
    .tc-push-dialog__actions { grid-template-columns: 1fr; }
    .tc-push-dialog__button--danger { grid-column: auto; }
    .tc-push-manage { bottom: .65rem; right: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
    .tc-push-dialog *, .tc-push-manage { scroll-behavior: auto !important; transition: none !important; }
}

@media (forced-colors: active) {
    .tc-push-dialog__panel,
    .tc-push-dialog__button,
    .tc-push-manage { border-color: ButtonText; }
}
