/* ==========================================================================
   ULTRA-THIN HAIRLINE BORDER DESIGN SYSTEM (LIGHT MODE)
   Applies 1px ultra-thin hairline borders and refined light-mode surfaces
   across both Teacher and Student web portals.
   ========================================================================== */

:root {
  --hairline-border: rgba(15, 23, 42, 0.06);
  --hairline-border-subtle: rgba(15, 23, 42, 0.045);
  --hairline-border-hover: rgba(15, 23, 42, 0.12);
  --hairline-border-input: rgba(15, 23, 42, 0.085);

  /* Override global border tokens to ultra-thin translucent hairlines */
  --border: rgba(15, 23, 42, 0.06) !important;
  --border-light: rgba(15, 23, 42, 0.045) !important;
  --q-border: rgba(15, 23, 42, 0.06) !important;
  --eg-border: rgba(15, 23, 42, 0.06) !important;
  --modal-border: rgba(15, 23, 42, 0.06) !important;
  --input-border: rgba(15, 23, 42, 0.085) !important;
}

/* ─── 1. APP SHELL: SIDEBAR, TOP HEADER & DIVIDERS ─────────────────────── */
.sidebar,
#mainSidebar {
  border-right: 1px solid var(--hairline-border) !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

.sidebar .brand,
#mainSidebar .brand {
  border-bottom: 1px solid var(--hairline-border) !important;
}

.sidebar-footer {
  border-top: 1px solid var(--hairline-border) !important;
}

.top-header {
  border-bottom: 1px solid var(--hairline-border) !important;
  box-shadow: none !important;
}

.divider,
.session-card-divider {
  width: 1px !important;
  background: var(--hairline-border) !important;
}

/* ─── 2. SIDEBAR TABS (TEACHER & STUDENT) ──────────────────────────────── */
.sidebar .tab,
.tabs-vertical .tab {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  width: 100% !important;
  text-align: left !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  padding: 0.62rem 0.85rem !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  color: #64748b !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  letter-spacing: -0.01em !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
  position: relative !important;
  transition: all 0.16s ease !important;
  transform: none !important;
  align-self: stretch !important;
}

.sidebar .tab span,
.tabs-vertical .tab span {
  width: 30px !important;
  height: 30px !important;
  border-radius: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #64748b !important;
  background: transparent !important;
  flex-shrink: 0 !important;
  transition: all 0.16s ease !important;
}

.sidebar .tab svg,
.tabs-vertical .tab svg {
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  transition: stroke 0.16s ease !important;
}

.sidebar .tab:hover,
.tabs-vertical .tab:hover {
  background: #f8fafc !important;
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, 0.05) !important;
  box-shadow: none !important;
  transform: none !important;
}

.sidebar .tab:hover span,
.tabs-vertical .tab:hover span {
  color: #0f172a !important;
}

.sidebar .tab.active,
.tabs-vertical .tab.active {
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 600 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03) !important;
  transform: none !important;
}

.sidebar .tab::before,
.tabs-vertical .tab::before {
  content: none !important;
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
}

.sidebar .tab.active::before,
.tabs-vertical .tab.active::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  width: 3.5px !important;
  max-width: 3.5px !important;
  height: 18px !important;
  max-height: 18px !important;
  border-radius: 0 4px 4px 0 !important;
  background: #0f172a !important;
  opacity: 1 !important;
  pointer-events: none !important;
  box-sizing: border-box !important;
}

.sidebar .tab:hover::before,
.tabs-vertical .tab:hover::before {
  left: 0 !important;
}

.sidebar .tab.active:hover::before,
.tabs-vertical .tab.active:hover::before {
  left: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  height: 18px !important;
  max-height: 18px !important;
}

.sidebar .tab.active span,
.tabs-vertical .tab.active span {
  background: #0f172a !important;
  color: #ffffff !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.15) !important;
}

.sidebar .tab.active span svg,
.tabs-vertical .tab.active span svg {
  stroke: #ffffff !important;
}

.dark .sidebar .tab,
.dark .tabs-vertical .tab {
  color: #94a3b8 !important;
}

.dark .sidebar .tab:hover,
.dark .tabs-vertical .tab:hover {
  background: rgba(255, 255, 255, 0.04) !important;
  color: #f8fafc !important;
}

.dark .sidebar .tab.active,
.dark .tabs-vertical .tab.active {
  background: rgba(255, 255, 255, 0.06) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.dark .sidebar .tab.active::before,
.dark .tabs-vertical .tab.active::before {
  background: #818cf8 !important;
}

.dark .sidebar .tab.active span,
.dark .tabs-vertical .tab.active span {
  background: #4f46e5 !important;
  color: #ffffff !important;
}

.dark .sidebar .tab.active span svg,
.dark .tabs-vertical .tab.active span svg {
  stroke: #ffffff !important;
}


/* ─── 3. CARDS, CONTAINERS, WIDGETS & PANELS (1PX HAIRLINE) ────────────── */
.card,
.form-card,
.list-item,
.list-item-premium,
.card-premium-white,
.card-minimal,
.glass-card,
.elevated-card,
.analytics-card,
.analytic-card,
.premium-class-card,
.class-card,
.lesson-card,
.course-schedule-card,
.schedule-session-item,
.session-row-premium,
.session-card-premium,
.submission-card,
.grading-panel,
.hub-card,
.hub-roster-item,
.shub-card,
.shub-att-card,
.shub-roster-item,
.qh-stat-card,
.qh-card,
.qh-empty-state,
.uqm-section-card,
.uqm-modal-shell,
.modal-box,
.q-container,
.dov-stat,
.dov-card:not(#dovScheduleCard),
#dovScheduleCard.has-classes,
.stats-card,
.widget-card,
.timeline-item,
.feed-item,
.course-group,
.learning-module-card,
.student-assignment-card,
.folder-card-compact,
.premium-subject-card,
.att-card,
.att-section-wrap,
.announcement-article-card,
.calendar-wrapper,
.calendar-header,
.context-header-bar,
.target-ui-card,
#coursesSection .context-header-bar,
.mobile-todo-section,
.m-todo-item,
.breadcrumb-nav,
.notification-popup,
.menu-dropdown,
.dropdown-menu {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--hairline-border) !important;
}

/* Subtle hover border refinement on interactive cards */
.card:hover,
.form-card:hover,
.list-item:hover,
.list-item-premium:hover,
.card-premium-white:hover,
.analytics-card:hover,
.analytic-card:hover,
.premium-class-card:hover,
.class-card:hover,
.lesson-card:hover,
.session-row-premium:hover,
.session-card-premium:hover,
.submission-card:hover,
.hub-card:hover,
.qh-stat-card:hover,
.qh-card:hover,
.dov-stat:hover,
.stats-card:hover,
.learning-module-card:hover,
.student-assignment-card:hover,
.folder-card-compact:hover,
.premium-subject-card:hover,
.att-card:hover,
.announcement-article-card:hover {
  border-color: var(--hairline-border-hover) !important;
}

/* Preserve vibrant gradient card when no classes are scheduled */
#dovScheduleCard:not(.has-classes) {
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
}

/* ─── 4. INTERNAL CARD HEADERS, FOOTERS & SECTION DIVIDERS ─────────────── */
.modal-header,
.uqm-studio-header,
.uqm-section-head,
.course-header.active,
.topic-header,
.course-group-header,
.course-group-header.active,
.session-card-header-row,
.curriculum-section-header,
.filter-bar,
.hub-header,
.hub-nav,
.chat-sidebar-header,
.eg-chat-sidebar-header,
.eg-chat-header,
.announcement-hero-media,
.schedule-table th,
.schedule-table td,
.m-todo-item {
  border-bottom-width: 1px !important;
  border-bottom-color: var(--hairline-border) !important;
}

.modal-footer,
.student-manager-section,
.lesson-card .actions,
.session-details-area,
.chat-controls,
.eg-chat-footer,
.attachment-area {
  border-top-width: 1px !important;
  border-top-color: var(--hairline-border) !important;
}

.chat-sidebar,
.eg-chat-sidebar {
  border-right-width: 1px !important;
  border-right-color: var(--hairline-border) !important;
}

.eg-chat-info {
  border-left: 1px solid var(--hairline-border) !important;
}

/* ─── 5. INPUTS, SEARCH BARS, SELECTS & TEXTAREAS (LIKE SCREENSHOT) ───── */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(#egChatInput),
textarea,
select,
#globalSearch,
.qh-search-input,
.qh-class-select,
.uqm-input,
.uqm-select-trigger,
.mini-input,
.shub-textarea,
.shub-link-input,
.eg-chat-input-wrapper,
.eg-chat-search-wrapper input,
#chatInput {
  border: 1px solid var(--hairline-border-input) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(#egChatInput):hover,
textarea:hover,
select:hover,
#globalSearch:hover,
.qh-search-input:hover,
.qh-class-select:hover,
.uqm-input:hover,
.uqm-select-trigger:hover {
  border-color: rgba(15, 23, 42, 0.15) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(#egChatInput):focus,
textarea:focus,
select:focus,
#globalSearch:focus,
.qh-search-input:focus,
.qh-class-select:focus,
.uqm-input:focus,
.eg-chat-input-wrapper:focus-within,
#chatInput:focus {
  border-color: rgba(15, 23, 42, 0.24) !important;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.04) !important;
}

/* ─── 6. SEGMENTED CONTROLS, CHIPS, PILLS & SECONDARY BUTTONS ─────────── */
.qh-tabs,
.uqm-segmented,
.modal-tabs,
.nav-pill-group,
.announcement-filter-area {
  border: 1px solid var(--hairline-border) !important;
}

.btn-secondary,
.btn-session-action:not(.primary),
.session-manage-btn,
.lm-pill-btn,
.calendar-nav-btn,
.dropdown-trigger,
.filter-btn,
.course-chip,
.student-chip,
.student-tag,
.session-number-badge,
.dov-date-chip,
.uqm-preset-chip:not(.active),
.uqm-fmt-pill,
.uqm-close-btn,
.user-item,
.session-header,
.chat-container,
.schedule-table {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--hairline-border-input) !important;
}

/* Dashed dropzones & empty states — convert 2px dashed to 1px hairline dashed */
.uqm-dropzone,
.shub-drop-zone,
.premium-upload-area,
.repeat-quiz-banner,
.schedule-session-item.expanded .session-expand-area {
  border-width: 1px !important;
  border-color: rgba(15, 23, 42, 0.14) !important;
}

/* Catch any inline style="border: 1.5px..." or "border: 2px..." in dynamic JS templates */
[style*="border: 2px solid"],
[style*="border:2px solid"],
[style*="border: 1.5px solid"],
[style*="border:1.5px solid"] {
  border-width: 1px !important;
  border-color: var(--hairline-border) !important;
}

[style*="border: 2px dashed"],
[style*="border:2px dashed"],
[style*="border: 1.5px dashed"],
[style*="border:1.5px dashed"] {
  border-width: 1px !important;
  border-color: rgba(15, 23, 42, 0.14) !important;
}

[style*="border-bottom: 2px"],
[style*="border-bottom:2px"],
[style*="border-bottom: 1.5px"],
[style*="border-bottom:1.5px"] {
  border-bottom-width: 1px !important;
  border-bottom-color: var(--hairline-border) !important;
}

[style*="border-top: 2px"],
[style*="border-top:2px"],
[style*="border-top: 1.5px"],
[style*="border-top:1.5px"] {
  border-top-width: 1px !important;
  border-top-color: var(--hairline-border) !important;
}

/* ─── 7. ULTRA-THIN SCROLLBARS FOR BOTH TEACHER & STUDENT ─────────────── */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, 0.3) transparent;
}

::-webkit-scrollbar {
  width: 3px;
  height: 3px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.3);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, 0.55);
}

::-webkit-scrollbar-button {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* ─── 8. SEGMENTED FILTER BUTTONS & SECTION HEADERS (QUIZ & MAIL) ─────── */
.quiz-filter-area,
.announcement-filter-area {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  background: #f1f5f9 !important;
  padding: 4px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  box-shadow: none !important;
  width: fit-content !important;
}

.q-filter-btn,
.a-filter-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 6px 16px !important;
  border-radius: 9px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.4 !important;
  color: #64748b !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: none !important;
  white-space: nowrap !important;
}

.q-filter-btn:hover,
.a-filter-btn:hover {
  color: #0f172a !important;
  background: rgba(255, 255, 255, 0.6) !important;
  transform: none !important;
}

.q-filter-btn.active,
.a-filter-btn.active {
  background: #ffffff !important;
  color: #0f172a !important;
  font-weight: 600 !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
  transform: none !important;
}

.q-filter-btn[data-filter="live"] {
  color: #ef4444 !important;
  font-weight: 550 !important;
}

.q-filter-btn[data-filter="live"].active {
  background: #ffffff !important;
  color: #dc2626 !important;
  font-weight: 600 !important;
  border-color: rgba(239, 68, 68, 0.25) !important;
  box-shadow: 0 1px 2px rgba(220, 38, 38, 0.06) !important;
}

.q-filter-btn[data-filter="pending"].active {
  background: #ffffff !important;
  color: #0f172a !important;
  font-weight: 600 !important;
  border-color: rgba(15, 23, 42, 0.08) !important;
}

.q-filter-btn[data-filter="missed"].active {
  background: #ffffff !important;
  color: #e11d48 !important;
  font-weight: 600 !important;
  border-color: rgba(225, 29, 72, 0.25) !important;
  box-shadow: 0 1px 2px rgba(225, 29, 72, 0.06) !important;
}

.q-filter-btn[data-filter="completed"].active {
  background: #ffffff !important;
  color: #059669 !important;
  font-weight: 600 !important;
  border-color: rgba(5, 150, 105, 0.25) !important;
  box-shadow: 0 1px 2px rgba(5, 150, 105, 0.06) !important;
}

.notif-dot {
  width: 6px !important;
  height: 6px !important;
  background: #ef4444 !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

.dark .quiz-filter-area,
.dark .announcement-filter-area {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark .q-filter-btn,
.dark .a-filter-btn {
  color: #94a3b8 !important;
}

.dark .q-filter-btn:hover,
.dark .a-filter-btn:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.dark .q-filter-btn.active,
.dark .a-filter-btn.active {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
}

/* ─── 9. QUIZ GRID & COMPACT MODULE CARDS ─────────────────────────────── */
#quizList,
.grid-list#quizList {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 1.25rem !important;
  width: 100% !important;
  align-items: stretch !important;
}

.learning-module-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  min-height: 180px !important;
  padding: 1.25rem 1.35rem !important;
  border-radius: 14px !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  background: #ffffff !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.03) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}

.learning-module-card:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(15, 23, 42, 0.16) !important;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06) !important;
}

.learning-module-card .lm-title {
  margin: 0.75rem 0 0.5rem 0 !important;
  font-size: 1.15rem !important;
  font-weight: 650 !important;
  color: #0f172a !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em !important;
  text-transform: none !important;
}

.learning-module-card .lm-badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 3px 9px !important;
  border-radius: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  margin-bottom: 0 !important;
  align-self: flex-start !important;
}

.learning-module-card .lm-stats {
  display: flex !important;
  align-items: baseline !important;
  gap: 0.5rem !important;
  margin: 0.5rem 0 1rem 0 !important;
}

.learning-module-card .lm-stats-num {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  line-height: 1 !important;
}

.learning-module-card .lm-stats-lbl {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
  text-transform: none !important;
}

.learning-module-card .lm-pill-btn {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #f8fafc !important;
  padding: 8px 12px !important;
  border-radius: 9px !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  color: #0f172a !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  margin-top: auto !important;
  transition: all 0.15s ease !important;
}

.learning-module-card:hover .lm-pill-btn {
  background: #0f172a !important;
  border-color: #0f172a !important;
  color: #ffffff !important;
}

.learning-module-card:hover .lm-pill-btn .lm-pill-icon {
  color: #ffffff !important;
}

.quiz-search-box input:focus {
  border-color: #0f172a !important;
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.06) !important;
}

.dark #quizList .learning-module-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark #quizList .learning-module-card .lm-title {
  color: #f8fafc !important;
}

.dark #quizList .learning-module-card .lm-pill-btn {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #f8fafc !important;
}

.dark #quizList .learning-module-card:hover .lm-pill-btn {
  background: #ffffff !important;
  color: #0f172a !important;
}

.dark .quiz-search-box input {
  background: rgba(255, 255, 255, 0.05) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

/* --- Hovering Announcement Flyer Showcase Animation --- */
@keyframes flyerLevitate {
  0%, 100% {
    transform: translateY(0px);
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  }
  50% {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
  }
}

@keyframes flyerTimerBar {
  0% { width: 0%; }
  100% { width: 100%; }
}

.hovering-flyer-card:hover {
  animation-play-state: paused !important;
  border-color: rgba(124, 58, 237, 0.3) !important;
  box-shadow: 0 12px 28px rgba(124, 58, 237, 0.12) !important;
}

/* ─── 14. ULTRA-THIN ERROR MESSAGES, ALERTS & TOASTS (PLATFORM-WIDE) ──────── */
.error-message,
.alert-danger,
.alert-error,
.form-error,
.auth-error-box,
.login-error {
  background: #fff8f8 !important;
  color: #b91c1c !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  border-left: 1px solid rgba(239, 68, 68, 0.25) !important;
  border-radius: 12px !important;
  padding: 0.72rem 1rem !important;
  margin-bottom: 1.25rem !important;
  font-family: 'Outfit', 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.45 !important;
  box-shadow: 0 1px 3px rgba(220, 38, 38, 0.04) !important;
  display: none;
  align-items: center !important;
  gap: 10px !important;
  text-align: left !important;
}

.error-message.show,
.alert-danger.show,
.alert-error.show {
  display: flex !important;
}

/* Remove clunky 3.5px or 4px left borders from stat-cards and banners */
.stat-card[style*="border-left"] {
  border-left-width: 1px !important;
}

/* Notification toasts across student, teacher and admin */
.notification-toast {
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  border-radius: 12px !important;
  backdrop-filter: blur(8px) !important;
}

.notification-toast.error,
.notification-toast[style*="background: rgb(239, 68, 68)"],
.notification-toast[style*="background:#ef4444"],
.notification-toast[style*="background: #ef4444"] {
  background: #ffffff !important;
  color: #b91c1c !important;
  border: 1px solid rgba(239, 68, 68, 0.25) !important;
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.1), 0 4px 10px -2px rgba(220, 38, 38, 0.05) !important;
}

.notification-toast.success,
.notification-toast[style*="background: rgb(16, 185, 129)"],
.notification-toast[style*="background:#10b981"],
.notification-toast[style*="background: #10b981"] {
  background: #ffffff !important;
  color: #15803d !important;
  border: 1px solid rgba(34, 197, 94, 0.25) !important;
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.1), 0 4px 10px -2px rgba(34, 197, 94, 0.05) !important;
}


/* Sleek border radius on context header bars (replaces bulky capsule borders) */
.context-header-bar,
.target-ui-card,
#coursesSection .context-header-bar {
  border-radius: 14px !important;
}

/* ==========================================================================
   FULLSCREEN SESSION DETAILS MODAL (ULTRA-THIN HAIRLINE SYSTEM)
   ========================================================================== */

#sessionModal.session-fullscreen-modal {
  display: none;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  background: #f8fafc !important;
  z-index: 99999 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: hidden !important;
  flex-direction: column !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  box-sizing: border-box !important;
}

.session-fullscreen-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: #f8fafc !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.session-fullscreen-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  width: 100% !important;
  height: 64px !important;
  min-height: 64px !important;
  background: #ffffff !important;
  border-bottom: 1px solid var(--hairline-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 1.5rem !important;
  box-sizing: border-box !important;
}

.session-fullscreen-header .header-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  flex: 1 !important;
}

.session-header-back-btn {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 10px !important;
  border: 1px solid var(--hairline-border) !important;
  background: #ffffff !important;
  color: #334155 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  padding: 0 !important;
}

.session-header-back-btn:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: var(--hairline-border-hover) !important;
  transform: translateX(-1px) !important;
}

.session-header-title-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.session-header-title {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1.25 !important;
  letter-spacing: -0.015em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.session-header-subtitle {
  font-size: 0.78rem !important;
  color: #64748b !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.session-header-close-btn {
  display: none !important;
}

.session-header-close-btn:hover {
  background: #fee2e2 !important;
  color: #ef4444 !important;
  border-color: rgba(239, 68, 68, 0.2) !important;
}

.session-fullscreen-body {
  flex: 1 1 0% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 2rem 1.5rem 4rem 1.5rem !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.session-body-inner {
  max-width: 860px !important;
  margin: 0 auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
}

/* Card components */
.session-info-card {
  background: #ffffff !important;
  border: 1px solid var(--hairline-border) !important;
  border-radius: 16px !important;
  padding: 1.75rem !important;
  box-shadow: 0 1px 3px rgba(15, 23, 42, 0.02) !important;
  box-sizing: border-box !important;
}

.session-badge-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-bottom: 1rem !important;
}

.session-badge-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 4px 10px !important;
  border-radius: 9999px !important;
}

.session-topic-title {
  margin: 0 0 0.5rem 0 !important;
  font-size: 1.4rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.02em !important;
  line-height: 1.3 !important;
}

.session-description-text {
  margin: 0 0 1.5rem 0 !important;
  font-size: 0.92rem !important;
  color: #475569 !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.session-meta-tiles-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.85rem !important;
  border-top: 1px solid var(--hairline-border) !important;
  padding-top: 1.25rem !important;
}

@media (max-width: 640px) {
  .session-meta-tiles-grid {
    grid-template-columns: 1fr !important;
  }
  .session-fullscreen-body {
    padding: 1.25rem 1rem 3rem 1rem !important;
  }
  .session-info-card {
    padding: 1.25rem !important;
  }
}

.session-meta-tile {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 0.85rem 1rem !important;
  background: #f8fafc !important;
  border: 1px solid var(--hairline-border) !important;
  border-radius: 12px !important;
  box-sizing: border-box !important;
}

.session-meta-tile-icon {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid var(--hairline-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #475569 !important;
  font-size: 0.95rem !important;
  flex-shrink: 0 !important;
}

.session-meta-tile-label {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  margin-bottom: 2px !important;
}

.session-meta-tile-value {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Section Card Headers */
.session-card-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 1rem !important;
}

.session-card-title {
  margin: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.015em !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.session-card-count {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: #64748b !important;
  background: #f1f5f9 !important;
  border: 1px solid var(--hairline-border) !important;
  padding: 2px 8px !important;
  border-radius: 9999px !important;
}

/* Material & Activity Rows */
.session-item-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0.85rem 1.15rem !important;
  background: #ffffff !important;
  border: 1px solid var(--hairline-border) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}

.session-item-row:hover {
  background: #f8fafc !important;
  border-color: var(--hairline-border-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.03) !important;
}

.session-item-action-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  background: #ffffff !important;
  border: 1px solid var(--hairline-border) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  flex-shrink: 0 !important;
  text-decoration: none !important;
}

.session-item-row:hover .session-item-action-pill {
  background: #0f172a !important;
  color: #ffffff !important;
  border-color: #0f172a !important;
}

.session-join-meeting-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  width: 100% !important;
  border-radius: 12px !important;
  padding: 0.95rem 1.5rem !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  background: #2563eb !important;
  border: 1px solid rgba(37, 99, 235, 0.2) !important;
  box-shadow: 0 2px 6px rgba(37, 99, 235, 0.15) !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.session-join-meeting-btn:hover {
  background: #1d4ed8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(37, 99, 235, 0.25) !important;
}

/* Dark mode overrides for session modal */
.dark #sessionModal.session-fullscreen-modal,
.dark .session-fullscreen-container {
  background: #090d16 !important;
}

.dark .session-fullscreen-header {
  background: #0f172a !important;
  border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

.dark .session-header-back-btn,
.dark .session-header-close-btn {
  background: #1e293b !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
}

.dark .session-header-title {
  color: #f8fafc !important;
}

.dark .session-header-subtitle {
  color: #94a3b8 !important;
}

.dark .session-info-card {
  background: #0f172a !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark .session-topic-title {
  color: #f8fafc !important;
}

.dark .session-description-text {
  color: #94a3b8 !important;
}

.dark .session-meta-tile {
  background: #1e293b !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
}

.dark .session-meta-tile-icon {
  background: #0f172a !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #cbd5e1 !important;
}

.dark .session-meta-tile-value {
  color: #f8fafc !important;
}

.dark .session-card-title {
  color: #f8fafc !important;
}

.dark .session-card-count {
  background: #1e293b !important;
  color: #94a3b8 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark .session-item-row {
  background: #0f172a !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

.dark .session-item-row:hover {
  background: #1e293b !important;
}

.dark .session-item-action-pill {
  background: #1e293b !important;
  color: #f8fafc !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}
/* Submission Modal Overlay & Box (Ensure it sits above the fullscreen session modal) */
#submissionModal,
.modal-overlay#submissionModal {
  z-index: 100005 !important;
}

#submissionModal .modal-box-modern {
  z-index: 100006 !important;
  border: 1px solid var(--hairline-border) !important;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25) !important;
}

.drop-zone {
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.drop-zone:hover {
  border-color: #2563eb !important;
  background: #f8fafc !important;
}
/* Quiz Active Area & Leaderboard (Ensure on top of fullscreen session modal) */
#activeQuizArea,
#activeQuizArea.live-quiz-fullscreen {
  z-index: 1000010 !important;
}

#quizOverlay,
.quiz-overlay-blur {
  z-index: 1000009 !important;
}

#quizLeaderboardModal,
.leaderboard-overlay {
  z-index: 1000010 !important;
}

/* ==========================================================================
   EDCON ONBOARDING TOUR (DRIVER.JS) - HIGH-END ULTRA-THIN DESIGN SYSTEM
   ========================================================================== */
.driver-popover,
.edcon-tour-popover {
  all: unset !important;
  box-sizing: border-box !important;
  display: block !important;
  position: fixed !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 20px !important;
  padding: 24px 26px !important;
  min-width: 300px !important;
  max-width: 380px !important;
  box-shadow: 0 20px 45px -12px rgba(15, 23, 42, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.03) !important;
  outline: none !important;
  z-index: 1000000000 !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

.driver-popover *,
.edcon-tour-popover * {
  box-sizing: border-box !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* Close button - sleek circular micro-interaction */
.driver-popover-close-btn,
.edcon-tour-popover .driver-popover-close-btn {
  all: unset !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  color: #64748b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 2 !important;
}

.driver-popover-close-btn:hover,
.edcon-tour-popover .driver-popover-close-btn:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, 0.14) !important;
  transform: scale(1.06) !important;
}

/* Title - crisp, ultra-refined typography */
.driver-popover-title,
.edcon-tour-popover .driver-popover-title {
  display: block !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  letter-spacing: -0.03em !important;
  line-height: 1.35 !important;
  margin: 0 0 10px 0 !important;
  padding-right: 32px !important;
}

/* Description - clean, readable, not bold/chunky */
.driver-popover-description,
.edcon-tour-popover .driver-popover-description {
  display: block !important;
  font-size: 0.88rem !important;
  line-height: 1.6 !important;
  color: #475569 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  margin: 0 !important;
}

/* Footer - clean hairline divider */
.driver-popover-footer,
.edcon-tour-popover .driver-popover-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(15, 23, 42, 0.06) !important;
}

/* Step counter - modern micro-pill badge */
.driver-popover-progress-text,
.edcon-tour-popover .driver-popover-progress-text {
  all: unset !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  color: #64748b !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.07) !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  letter-spacing: 0.02em !important;
}

/* Navigation buttons container */
.driver-popover-navigation-btns,
.edcon-tour-popover .driver-popover-navigation-btns {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* General button styling */
.driver-popover-footer button,
.edcon-tour-popover .driver-popover-footer button {
  all: unset !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  padding: 7px 16px !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  text-shadow: none !important;
  -webkit-font-smoothing: antialiased !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Previous button - subtle light hairline pill */
.driver-popover-footer .driver-popover-prev-btn,
.edcon-tour-popover .driver-popover-footer .driver-popover-prev-btn {
  background: #f8fafc !important;
  color: #475569 !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.driver-popover-footer .driver-popover-prev-btn:hover,
.edcon-tour-popover .driver-popover-footer .driver-popover-prev-btn:hover {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, 0.15) !important;
}

.driver-popover-footer .driver-popover-btn-disabled,
.edcon-tour-popover .driver-popover-footer .driver-popover-btn-disabled {
  opacity: 0.4 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

/* Next / Finish button - modern sleek dark button with subtle elevation */
.driver-popover-footer .driver-popover-next-btn,
.edcon-tour-popover .driver-popover-footer .driver-popover-next-btn {
  background: #0f172a !important;
  color: #ffffff !important;
  border: 1px solid transparent !important;
  box-shadow: 0 4px 12px -2px rgba(15, 23, 42, 0.2) !important;
  text-shadow: none !important;
}

.driver-popover-footer .driver-popover-next-btn:hover,
.edcon-tour-popover .driver-popover-footer .driver-popover-next-btn:hover {
  background: #1e293b !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px -2px rgba(15, 23, 42, 0.25) !important;
  color: #ffffff !important;
}

.driver-popover-footer .driver-popover-next-btn:active,
.edcon-tour-popover .driver-popover-footer .driver-popover-next-btn:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 6px -1px rgba(15, 23, 42, 0.2) !important;
}

/* Arrow styling */
.driver-popover-arrow {
  border-color: #ffffff !important;
}
.driver-popover-arrow-side-left {
  border-left-color: #ffffff !important;
}
.driver-popover-arrow-side-right {
  border-right-color: #ffffff !important;
}
.driver-popover-arrow-side-top {
  border-top-color: #ffffff !important;
}
.driver-popover-arrow-side-bottom {
  border-bottom-color: #ffffff !important;
}

/* Active element outline - sleek rounded border without harsh glow */
.driver-active-element {
  outline: 2px solid rgba(99, 102, 241, 0.5) !important;
  outline-offset: 3px !important;
  border-radius: 12px !important;
  transition: all 0.3s ease !important;
}

/* Guarantee No Ashy Shadows Across Student Dashboard */
#dashboardSection,
#dashboardSection .dov-card,
#dashboardSection .dov-stat,
#dashboardSection .card-premium-white,
#dashboardSection .card-premium-blue,
#dashboardSection #announcementWidgetCard,
#dashboardSection .announcement-widget-item,
#dashboardSection .mobile-hero-schedule,
#dashboardSection .eg-mobile-schedule-card,
#dashboardSection .mobile-icon-grid .m-grid-item,
#dashboardSection .mobile-todo-section,
#dashboardSection .m-todo-item,
#dashboardSection .dov-term-card,
#dashboardSection .dov-quick-card,
#dashboardSection .dov-detail-btn,
#dashboardSection #dovScheduleCard,
#dashboardSection #dovScheduleCard .dov-card-header,
#dashboardSection #dovScheduleCard .dov-card-header > div,
#dashboardSection #dovScheduleCard .eg-sched-today,
#dashboardSection #egSchedTodayLabel,
#dashboardSection #dovScheduleCard .dov-view-all {
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Guarantee No Ashy Shadows Across Edgram */
#edgramSection,
#edgramSection .post-card-v3,
#edgramSection .story-item-v3,
#edgramSection .edgram-mobile-nav .nav-item svg,
#edgramSection .edgram-mobile-nav .nav-item i,
#edgramSection .edgram-mobile-nav .nav-item img,
#edgramSection .edgram-mobile-nav .nav-item .nav-avatar,
#edgramSection .eg-chat-tab,
#edgramSection .eg-suggestions-feed-block,
#edgramSection .voice-note-player,
#edgramSection .eg-msg-media,
#edgramSection .eg-reel-video-card,
#edgramSection .eg-reels-arrow-btn,
#edgramSection .eg-reel-audio-thumb-wrap {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.eg-reel-audio-pill,
.eg-reel-progress-track {
  display: none !important;
}

/* Guarantee No Shadows and Clean Sizing for Reels & Audio */
.eg-reel-action-btn,
.eg-reel-action-circle,
.eg-reel-action-count,
.eg-reel-sound-btn,
.eg-reel-expand-btn,
.eg-reel-audio-pill,
.eg-reel-video-card,
.eg-reel-actions-column {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}

.eg-reel-action-btn svg,
.eg-reel-action-circle svg,
.eg-reel-action-btn.liked svg,
.eg-reel-action-circle.liked svg,
.eg-reel-sound-btn svg,
.eg-reel-expand-btn svg {
  filter: none !important;
  box-shadow: none !important;
}

.eg-reel-action-count,
.eg-reel-desktop-info .eg-reel-username,
.eg-reel-desktop-info .eg-reel-caption,
.eg-reel-desktop-info .eg-reel-audio-meta {
  text-shadow: none !important;
  box-shadow: none !important;
}

.eg-reel-side-sound {
  display: none !important;
}

/* Floating & In-Card Back Button (<) for Reels */
.eg-reel-floating-back-btn,
.eg-reel-card-back-btn,
button.eg-reel-floating-back-btn,
button.eg-reel-card-back-btn,
#egReelFloatingBackBtn {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 50% !important;
  background: rgba(15, 23, 42, 0.75) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
  -webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
  filter: none !important;
  -webkit-filter: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: transform 0.15s ease, background 0.15s ease !important;
}

.eg-reel-floating-back-btn,
#egReelFloatingBackBtn {
  position: fixed !important;
  top: 18px !important;
  top: max(18px, env(safe-area-inset-top, 18px)) !important;
  left: 18px !important;
  left: max(18px, env(safe-area-inset-left, 18px)) !important;
  z-index: 999999999 !important;
}

.eg-reel-card-back-btn {
  position: absolute !important;
  top: 16px !important;
  top: max(16px, env(safe-area-inset-top, 16px)) !important;
  left: 16px !important;
  left: max(16px, env(safe-area-inset-left, 16px)) !important;
  z-index: 45 !important;
}

.eg-reel-floating-back-btn:hover,
.eg-reel-card-back-btn:hover,
button.eg-reel-floating-back-btn:hover,
button.eg-reel-card-back-btn:hover,
#egReelFloatingBackBtn:hover {
  transform: scale(1.1) !important;
  background: rgba(15, 23, 42, 0.9) !important;
}

.eg-reel-floating-back-btn:active,
.eg-reel-card-back-btn:active,
button.eg-reel-floating-back-btn:active,
button.eg-reel-card-back-btn:active,
#egReelFloatingBackBtn:active {
  transform: scale(0.92) !important;
}

.eg-reel-floating-back-btn svg,
.eg-reel-card-back-btn svg,
button.eg-reel-floating-back-btn svg,
button.eg-reel-card-back-btn svg,
#egReelFloatingBackBtn svg {
  stroke: #ffffff !important;
  color: #ffffff !important;
  fill: none !important;
  width: 26px !important;
  height: 26px !important;
  display: block !important;
  pointer-events: none !important;
}

@media (max-width: 768px) {
  .eg-reel-actions-column {
    color: #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .eg-reel-action-btn,
  .eg-reel-action-circle,
  .eg-reel-action-item {
    color: #ffffff !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
    -webkit-filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: none !important;
    outline: none !important;
  }

  .eg-reel-action-btn svg,
  .eg-reel-action-circle svg {
    filter: none !important;
    -webkit-filter: none !important;
    box-shadow: none !important;
    drop-shadow: none !important;
    stroke: #ffffff !important;
    color: #ffffff !important;
  }

  .eg-reel-action-btn svg circle,
  .eg-reel-action-circle svg circle {
    fill: #ffffff !important;
    stroke: none !important;
  }

  .eg-reel-action-btn svg path,
  .eg-reel-action-btn svg polygon,
  .eg-reel-action-btn svg polyline,
  .eg-reel-action-btn svg line,
  .eg-reel-action-circle svg path {
    filter: none !important;
    -webkit-filter: none !important;
    box-shadow: none !important;
    stroke: #ffffff !important;
  }

  .eg-reel-action-count {
    color: #ffffff !important;
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  .eg-reel-action-count.eg-saved {
    color: #38bdf8 !important;
  }

  .eg-reel-audio-thumb-wrap {
    border: 2px solid #ffffff !important;
    box-shadow: none !important;
    filter: none !important;
  }

  .eg-reel-sound-btn,
  button.eg-reel-sound-btn,
  .eg-reel-center-flash {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    z-index: 35 !important;
    box-shadow: none !important;
  }
}


/* Guarantee Calling Overlay Never Leaks into Dashboard */
.eg-call-overlay:not(.active),
#egIncomingCallOverlay:not(.active),
#egActiveCallOverlay:not(.active) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
  z-index: -9999 !important;
}


/* Ensure audio bubbles are transparent and borderless */
.eg-chat-v4-container .eg-msg-sent .eg-msg-bubble.is-audio-bubble,
.eg-chat-v4-container .eg-msg-received .eg-msg-bubble.is-audio-bubble,
.eg-chat-v4-container .eg-msg-bubble.is-audio-bubble,
.eg-msg-bubble.is-audio-bubble {
  background: transparent !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
  max-width: 100% !important;
}


/* Ultra-thin Video Studio Trimmer & Sliders */
.eg-video-studio-overlay input[type=range] { height: 18px !important; }
.eg-video-studio-overlay input[type=range]::-webkit-slider-runnable-track { height: 2px !important; background: rgba(255, 255, 255, 0.15) !important; border-radius: 999px !important; }
.eg-video-studio-overlay input[type=range]::-webkit-slider-thumb { height: 12px !important; width: 12px !important; border-radius: 50% !important; background: #38bdf8 !important; border: 1px solid #ffffff !important; margin-top: -5px !important; box-shadow: 0 1px 4px rgba(0,0,0,0.4) !important; }
.eg-video-studio-overlay input[type=range]::-moz-range-track { height: 2px !important; background: rgba(255, 255, 255, 0.15) !important; border-radius: 999px !important; }
.eg-video-studio-overlay input[type=range]::-moz-range-thumb { height: 12px !important; width: 12px !important; border-radius: 50% !important; background: #38bdf8 !important; border: 1px solid #ffffff !important; box-shadow: 0 1px 4px rgba(0,0,0,0.4) !important; }


/* Guarantee Active Calling Overlays Always Display Cleanly */
.eg-call-overlay.active,
#egIncomingCallOverlay.active,
#egActiveCallOverlay.active {
  display: flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  z-index: 99999999 !important;
}

/* Remove Ashy Hollow Sections on Call Icons & Polish Call Log Card */
.eg-chat-action-btn,
#egChatVideoBtn,
#egChatCallBtn,
#egChatGroupSettingsBtn,
.eg-chat-action-btn:hover,
#egChatVideoBtn:hover,
#egChatCallBtn:hover,
#egChatGroupSettingsBtn:hover {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.eg-call-log-icon-box,
.eg-call-log-card.missed .eg-call-log-icon-box,
.eg-call-log-card.completed .eg-call-log-icon-box {
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 2px !important;
}
