/* P0.2: Attendance Context Validator + Blocking State Styles */

.attendance-context-blocking {
    position: relative;
    z-index: 1050;
    margin: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.15);
}

.attendance-context-blocking .alert {
    margin-bottom: 0;
    border: 2px solid #dc3545;
    background-color: #f8d7da;
    color: #721c24;
    border-radius: 8px;
    padding: 20px;
}

.attendance-context-blocking .alert h5 {
    color: #721c24;
    font-weight: 600;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.attendance-context-blocking .alert h5 i {
    color: #dc3545;
    font-size: 1.1em;
}

.attendance-context-blocking .alert p {
    margin-bottom: 8px;
    line-height: 1.5;
}

.attendance-context-blocking .alert p:last-child {
    margin-bottom: 0;
}

.attendance-context-blocking .alert small {
    color: #856404;
    font-style: italic;
}

/* Disabled state for controls during blocking */
[data-attendance-disabled] {
    opacity: 0.6;
    cursor: not-allowed !important;
    pointer-events: none;
}

/* Animation for blocking state appearance */
@keyframes attendanceBlockingSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.attendance-context-blocking {
    animation: attendanceBlockingSlideIn 0.3s ease-out;
}
