.granted {
    color: lime;
}

.bg-granted {
    background-color: rgb(19, 199, 19);
}

.bg-denied {
    background-color: #ff2929;
}

.denied {
    color: #ff2929;
}

.loading {
    color: #ffa22b
}

.link {
    color: rgb(132, 140, 248);
}

.text-gray {
    color: rgb(233, 233, 233);
}

.new-rule {
    padding: 3rem;
    background-color: #3677f2;
    width: min-content;
    transition: background-color 200ms;
}

.new-rule:hover {
    background-color: rgb(40, 40, 232);
}

.new-rule-modal {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
}

.new-rule-container {
    background-color: white;
    padding: 4rem 3rem;
}

.set-type-option {
    font-weight: 500;
}

.set-type-option:not(:has(.radio-circle.radio-circle-selected)) {
    color: rgb(78, 78, 78);
    font-weight: 400;
}

.notif-theme-list {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1rem;
    /* font-weight: 500; */
}

.notif-theme-list > div {
    cursor: pointer;
    user-select: none;
}

.notif-theme-list > div:hover {
    color: rgb(40, 40, 232);
    transition: color 100ms;
}

.check {
    height: 12.8px;
    aspect-ratio: 1;
    background-color: white;
    margin-right: 0.75rem;
    border: 2px solid black;
}

.check-selected {
    background-color: dodgerblue;
    border-color: rgb(9, 93, 178);
}

.radio-circle {
    /* padding: 3px; */
    border: 2px solid gray;
    border-radius: 50%;
    margin-right: 0.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.radio-circle > div {
    height: 12.8px;
    aspect-ratio: 1;
    /* background-color: rgb(255, 255, 255); */
    border-radius: 50%;
}

.radio-circle-selected {
    background-color: dodgerblue;
    border-color: rgb(20, 108, 197);
}

.notif-theme-list-wrapper {
    height: 1px;
    visibility: hidden;
}

.confirm-rule {
    background-color: rgb(85, 85, 235);
    padding: 1rem 2rem;
    transition: background-color 200ms;
}

.confirm-rule:hover {
    background-color: rgb(64, 64, 173);;
}

.new-rule-status {
    padding: 2rem 3rem;
    background-color: rgb(232, 144, 20);
    animation: pulse 1s infinite;
}

@keyframes pulse {
    0% {
        background-color: rgb(232, 144, 20);
    }
    50% {
        background-color: rgb(229, 166, 39);
    }
    100% {
        background-color: rgb(232, 144, 20);
    }
}

.new-rule-result > div {
    position: fixed;
    inset: 0;    
    pointer-events: none;
}

.new-rule-result > div > div {
    margin-top: 5rem;
    padding: 2rem 3rem;
}