html { font-size: 16px; position: relative; min-height: 100%; }
body { margin: 0; }

.btn:focus, .btn:active:focus, .form-control:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #0ea5e9;
}

@media (max-width: 900px) {
    .navbar-inner { flex-wrap: wrap; }
}
@keyframes pd {
    0%,100% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: .5;
        transform: scale(.8)
    }
}

@media(max-width:1024px) {
    .foot-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width:768px) {
    .nav-links, .nav-actions {
        display: none;
    }

    .foot-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .foot-bottom {
        flex-direction: column;
        text-align: center;
    }
}

@media(max-width:480px) {
    .nav-inner {
        padding: 0 20px;
    }

    .foot-inner {
        padding: 0 20px;
    }
}

/**admin*/
@keyframes blink {
    0%,100% {
        opacity: 1
    }

    50% {
        opacity: .4
    }
}

.role-badge {
    margin: 4px 12px 2px;
    padding: 5px 10px;
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    gap: 5px;
}

@keyframes chip-pulse {
    0%,100% {
        box-shadow: 0 0 0 0 transparent
    }

    50% {
        box-shadow: 0 0 0 3px rgba(248,113,113,.12)
    }
}

.tb-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.icon-btn {
    width: 34px;
    height: 34px;
    border-radius: var(--radius-sm);
    background: transparent;
    border: 1px solid transparent;
    color: var(--text-2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    position: relative;
    transition: all var(--t);
    text-decoration: none;
}