/* 🆕 Design Language مشترکِ «ساختارِ زمانیِ» پلتفرم — هم‌زمان در پروفایل (بازه‌های آزاد)،
   برنامه‌ریزیِ روزانه/هفتگیِ من، صفحاتِ task-engine و گزارش‌ها استفاده می‌شود. رنگ‌ها عیناً
   با StudyTimeline.Color(...) در C# یکی‌اند. */
:root {
    --av-free: #16a34a;   --av-free-bg: #dcfce7;   --av-free-bd: #86efac;
    --av-school: #2563eb; --av-school-bg: #dbeafe; --av-school-bd: #93c5fd;
    --av-online: #dc2626; --av-online-bg: #fee2e2; --av-online-bd: #fca5a5;
    --av-rest: #d97706;   --av-rest-bg: #fef3c7;   --av-rest-bd: #fcd34d;
    --av-misc: #4b5563;   --av-misc-bg: #f3f4f6;   --av-misc-bd: #d1d5db;
    /* 🆕 (Update 27) روتینِ شبانه (بنفش، قفل) و ساعتِ حضور در آزمون */
    --av-routine: #7c3aed; --av-routine-bg: #ede9fe; --av-routine-bd: #c4b5fd;
    --av-exam: #be185d;    --av-exam-bg: #fce7f3;    --av-exam-bd: #f9a8d4;
    --av-done: #16a34a;   --av-done-bg: #dcfce7;
    --av-fail: #dc2626;   --av-fail-bg: #fee2e2;
    --av-warn: #d97706;   --av-warn-bg: #fef3c7;
}

.av-st-free   { background: var(--av-free-bg) !important;   border-color: var(--av-free-bd)   !important; color: #14532d; }
.av-st-school { background: var(--av-school-bg) !important; border-color: var(--av-school-bd) !important; color: #1e3a8a; }
.av-st-online { background: var(--av-online-bg) !important; border-color: var(--av-online-bd) !important; color: #7f1d1d; }
.av-st-rest   { background: var(--av-rest-bg) !important;   border-color: var(--av-rest-bd)   !important; color: #78350f; }
.av-st-misc   { background: var(--av-misc-bg) !important;   border-color: var(--av-misc-bd)   !important; color: #374151; }
.av-st-routine { background: var(--av-routine-bg) !important; border-color: var(--av-routine-bd) !important; color: #4c1d95; }
.av-st-exam    { background: var(--av-exam-bg) !important;    border-color: var(--av-exam-bd)    !important; color: #831843; font-weight: 700; }
/* 🆕 (Update 27) تسک‌هایِ ویژه در جدول/فهرست */
.av-task-routine { background: var(--av-routine-bg); border: 1px solid var(--av-routine-bd); border-radius: 6px; color: #4c1d95; }
.av-task-exam    { background: var(--av-exam-bg);    border: 1px solid var(--av-exam-bd);    border-radius: 6px; color: #831843; font-weight: 700; }
.av-task-priority{ box-shadow: inset 3px 0 0 #f59e0b; }
.av-imp { display: inline-block; font-size: 9.5px; font-weight: 800; padding: 0 6px; border-radius: 999px; margin-inline-start: 4px; vertical-align: middle; }
.av-imp.important { background: #fef3c7; color: #92400e; }
.av-imp.very      { background: #ffedd5; color: #9a3412; }
.av-imp.critical  { background: #fee2e2; color: #991b1b; }

.av-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 10px; font-size: 11px; }
.av-legend-item { display: inline-flex; align-items: center; gap: 5px; padding: 3px 9px; border-radius: 20px; border: 1px solid; font-weight: 600; }
.av-legend-dot { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }

/* نشانِ Live/Beep برایِ کلاسِ آنلاین */
.av-live {
    display: inline-flex; align-items: center; gap: 3px; font-size: 9.5px; font-weight: 800;
    color: #fff; background: var(--av-online); border-radius: 10px; padding: 1px 6px; cursor: pointer;
    border: none; font-family: inherit;
}
.av-live::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%; background: #fff;
    animation: av-beep 1.2s infinite ease-in-out;
}
@keyframes av-beep { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .25; transform: scale(.6); } }

/* ردیفِ استراحتِ نمایشی بینِ دو تسک در برنامه‌ی روزانه (زمانی مصرف نمی‌کند) */
.av-break-row {
    display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 10.5px;
    color: var(--av-rest); padding: 2px 0; opacity: .85;
}
.av-break-row::before, .av-break-row::after { content: ""; flex: 1; border-top: 1px dashed var(--av-rest-bd); }

/* وضعیتِ اجرایِ تسک (گزارشِ ۳۰ روزه و نشان‌ها) */
.av-task-done    { background: var(--av-done-bg) !important; border-color: #86efac !important; color: #14532d; }
.av-task-failed  { background: var(--av-fail-bg) !important; border-color: #fca5a5 !important; color: #7f1d1d; }
.av-task-partial { background: var(--av-warn-bg) !important; border-color: #fcd34d !important; color: #78350f; }
.av-task-normal  { }

.av-lock-note { font-size: 10px; color: #6b7280; display: inline-flex; align-items: center; gap: 3px; }

.av-banner {
    display: flex; gap: 10px; align-items: flex-start; padding: 10px 14px; border-radius: 10px;
    border: 1px solid #c7d2fe; background: #eef2ff; color: #3730a3; font-size: 12px; margin-bottom: 12px;
}
.av-banner.warn { border-color: #fcd34d; background: #fffbeb; color: #78350f; }
.av-banner.error { border-color: #fca5a5; background: #fef2f2; color: #7f1d1d; }
.av-banner i { font-size: 18px; flex-shrink: 0; }
