/* Time Urgency Utility Classes - ADHD-Friendly Time Perception */
/* Part of UI/UX Audit Recommendation #1 */

/* Base urgency badge styling - DEPRECATED: Use .urgency-badge from kaizen-labs-components.css instead */
/* Keeping old .urgency-* classes for backwards compatibility only */
.urgency-badge-old {
    display: inline-block;
    padding: 4px 12px;
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* Urgency-specific colors */
.urgency-overdue {
    color: var(--urgency-overdue);
    background-color: var(--urgency-overdue-bg);
}

.urgency-today {
    color: var(--urgency-today);
    background-color: var(--urgency-today-bg);
}

.urgency-tomorrow {
    color: var(--urgency-tomorrow);
    background-color: var(--urgency-tomorrow-bg);
}

.urgency-this-week {
    color: var(--urgency-this-week);
    background-color: var(--urgency-this-week-bg);
}

.urgency-soon {
    color: var(--urgency-soon);
    background-color: var(--urgency-soon-bg);
}

.urgency-future {
    color: var(--urgency-future);
    background-color: var(--urgency-future-bg);
}

/* Text-only variants (for inline use) */
.urgency-overdue-text {
    color: var(--urgency-overdue);
    font-weight: 600;
}

.urgency-today-text {
    color: var(--urgency-today);
    font-weight: 600;
}

.urgency-tomorrow-text {
    color: var(--urgency-tomorrow);
    font-weight: 600;
}

.urgency-this-week-text {
    color: var(--urgency-this-week);
    font-weight: 600;
}

.urgency-soon-text {
    color: var(--urgency-soon);
    font-weight: 500;
}

.urgency-future-text {
    color: var(--urgency-future);
    font-weight: 500;
}

/* Border variants (for card accents) */
.urgency-overdue-border {
    border-left: 4px solid var(--urgency-overdue);
}

.urgency-today-border {
    border-left: 4px solid var(--urgency-today);
}

.urgency-tomorrow-border {
    border-left: 4px solid var(--urgency-tomorrow);
}

.urgency-this-week-border {
    border-left: 4px solid var(--urgency-this-week);
}

.urgency-soon-border {
    border-left: 4px solid var(--urgency-soon);
}

.urgency-future-border {
    border-left: 4px solid var(--urgency-future);
}

/* Icon variants (for status dots) */
.urgency-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-right: 6px;
}

.urgency-dot.urgency-overdue {
    background-color: var(--urgency-overdue);
}

.urgency-dot.urgency-today {
    background-color: var(--urgency-today);
}

.urgency-dot.urgency-tomorrow {
    background-color: var(--urgency-tomorrow);
}

.urgency-dot.urgency-this-week {
    background-color: var(--urgency-this-week);
}

.urgency-dot.urgency-soon {
    background-color: var(--urgency-soon);
}

.urgency-dot.urgency-future {
    background-color: var(--urgency-future);
}

/* Pulsing animation for critical urgency (overdue, due today) */
.urgency-overdue.urgency-pulse,
.urgency-today.urgency-pulse {
    animation: urgency-pulse 2s ease-in-out infinite;
}

@keyframes urgency-pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.7;
    }
}

/* Time block suggestion styling */
.time-block-suggestion {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background-color: var(--bg-tertiary);
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.time-block-suggestion::before {
    content: "⏱️";
    font-size: 1rem;
}

/* Duration badge styling */
.duration-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    background-color: var(--bg-tertiary);
    border-radius: var(--radius-sm);
    font-size: 0.875rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.duration-badge::before {
    content: "🕐";
    font-size: 0.875rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .urgency-badge {
        font-size: 0.75rem;
        padding: 3px 8px;
    }

    .time-block-suggestion,
    .duration-badge {
        font-size: 0.75rem;
        padding: 4px 8px;
    }
}
