@import url('vendor/fontawesome/css/all.min.css');
@import url('workspace-shell.css?v=44.2.6-plan-check-dashboard-sync');
/* Authenticated pages are never allowed to fall back to the retired layout. */
html.workspace-required:not(.workspace-ready) body{visibility:hidden!important}
html.workspace-load-failed::before{content:'قالب جدید بارگذاری نشد. لطفاً صفحه را یک‌بار تازه‌سازی کنید.';position:fixed;z-index:2147483647;inset:0;display:grid;place-items:center;padding:32px;background:#f4f6fa;color:#14264c;font:700 16px Vazirmatn,Tahoma,Arial,sans-serif;text-align:center}
html[data-theme="dark"].workspace-load-failed::before{background:#0e1626;color:#edf3ff}
@import url('workspace-interior.css?v=44.2.6-plan-check-dashboard-sync');

/* V40 — calm, spacious product system with an accessible light/dark theme.
   This file is visual-only: it does not alter routes, forms, API contracts, or data. */
:root {
  --ui-bg: #f4f6fa;
  --ui-surface: #ffffff;
  --ui-surface-soft: #f8fafc;
  --ui-surface-tint: #eef2ff;
  --ui-text: #162033;
  --ui-muted: #68758a;
  --ui-line: #dfe5ee;
  --ui-brand: #3157d5;
  --ui-brand-strong: #243fa7;
  --ui-accent: #087a5b;
  --ui-warn: #a15c07;
  --ui-danger: #b42318;
  --ui-shadow: 0 14px 36px rgba(25, 42, 78, .07);
  --ui-shadow-strong: 0 22px 60px rgba(25, 42, 78, .14);
  --ui-radius: 20px;
  --ui-radius-sm: 14px;
  --bg: var(--ui-bg);
  --card: var(--ui-surface);
  --surface: var(--ui-surface);
  --surface-2: var(--ui-surface-soft);
  --surface-soft: var(--ui-surface-soft);
  --surface-tint: var(--ui-surface-tint);
  --text: var(--ui-text);
  --muted: var(--ui-muted);
  --line: var(--ui-line);
  --primary: var(--ui-brand);
  --primary2: var(--ui-brand-strong);
  --success: var(--ui-accent);
  --warning: var(--ui-warn);
  --danger: var(--ui-danger);
  --shadow: var(--ui-shadow);
  color-scheme: light;
}

html[data-theme="dark"] {
  --ui-bg: #0d1424;
  --ui-surface: #141e31;
  --ui-surface-soft: #101a2b;
  --ui-surface-tint: #202d51;
  --ui-text: #edf3ff;
  --ui-muted: #a9b7cc;
  --ui-line: #2b3a54;
  --ui-brand: #86a8ff;
  --ui-brand-strong: #6f91ed;
  --ui-accent: #52c69d;
  --ui-warn: #f3bd62;
  --ui-danger: #ff8e9b;
  --ui-shadow: 0 14px 36px rgba(0, 0, 0, .26);
  --ui-shadow-strong: 0 22px 60px rgba(0, 0, 0, .4);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { background: var(--ui-bg); }
body,
body[style] {
  color: var(--ui-text) !important;
  background: var(--ui-bg) !important;
  font-family: Vazirmatn, Tahoma, "Segoe UI", Arial, sans-serif !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--ui-brand); }
button, input, select, textarea { font-family: inherit; }
button, a, summary, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--ui-brand) 32%, transparent);
  outline-offset: 3px;
}
:where(input, select, textarea) {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-line) !important;
}
:where(input, select, textarea):focus {
  border-color: var(--ui-brand) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--ui-brand) 14%, transparent) !important;
}
:where(button, .link, .nav-button, .start-btn, .vocab-action, .action, .btn) { transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
:where(button, .link, .nav-button, .start-btn, .vocab-action, .action, .btn):active { transform: translateY(1px); }

/* Shared shell */
.redesigned-topbar,
.site-topbar {
  min-height: 70px !important;
  padding: 10px clamp(14px, 3vw, 32px) !important;
  background: color-mix(in srgb, var(--ui-surface) 94%, transparent) !important;
  border-bottom: 1px solid var(--ui-line) !important;
  box-shadow: 0 1px 0 color-mix(in srgb, var(--ui-text) 4%, transparent) !important;
  backdrop-filter: blur(18px) saturate(1.1);
}
.brand, .site-brand { color: var(--ui-text) !important; }
.logo, .site-logo {
  background: linear-gradient(135deg, var(--ui-brand-strong), var(--ui-brand)) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--ui-brand) 20%, transparent) !important;
}
.account-menu > summary, .account-popover,
.icon-btn, .small-btn, .user-pill, .sync-pill, .site-pill, .site-link,
.site-logout button, .link-btn, .logout-form button {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-line) !important;
}
.account-popover a:hover, .account-popover button:hover, .nav-more-menu a:hover { background: var(--ui-surface-soft) !important; }
.account-popover .logout-form button { color: var(--ui-danger) !important; }
.header-status .sync-pill.saved, .sync-pill.saved { color: var(--ui-accent) !important; background: color-mix(in srgb, var(--ui-accent) 9%, var(--ui-surface)) !important; }
.sync-pill.saving { color: var(--ui-warn) !important; }
.sync-pill.error { color: var(--ui-danger) !important; }
.redesigned-nav, .main-nav {
  top: 70px !important;
  min-height: 56px !important;
  justify-content: center;
  padding: 7px 16px !important;
  background: color-mix(in srgb, var(--ui-bg) 92%, transparent) !important;
  border-bottom: 1px solid var(--ui-line) !important;
  backdrop-filter: blur(16px);
}
.redesigned-nav > a, .redesigned-nav .nav-more > summary,
.main-nav a {
  min-height: 40px;
  color: var(--ui-muted) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  font-weight: 800;
}
.redesigned-nav > a:hover, .redesigned-nav .nav-more > summary:hover,
.main-nav a:hover { color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
.redesigned-nav > a.active, .main-nav a.active { color: var(--ui-brand) !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: var(--ui-shadow) !important; }
.nav-more-menu { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: var(--ui-shadow-strong) !important; }
.app-shell, .vocab-shell, .layout { position: relative; z-index: 1; }

/* Theme control added by theme.js on pages that do not already have one. */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 7px 11px;
  border: 1px solid var(--ui-line);
  border-radius: 12px;
  background: var(--ui-surface);
  color: var(--ui-text);
  font-size: 12px;
  font-weight: 800;
}
.theme-toggle:hover { border-color: var(--ui-brand); color: var(--ui-brand); }
.account-popover .theme-toggle { width: 100%; justify-content: flex-start; border: 0; border-radius: 11px; }

/* Grammar workspace */
.layout { max-width: 1240px !important; grid-template-columns: 236px minmax(0, 1fr) !important; gap: 20px !important; padding: 22px !important; }
.sidebar { top: 146px !important; padding: 11px !important; border-radius: 18px !important; background: color-mix(in srgb, var(--ui-surface) 92%, transparent) !important; border-color: var(--ui-line) !important; box-shadow: var(--ui-shadow) !important; }
.search { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
.topic-btn { color: var(--ui-text) !important; }
.topic-btn:hover { background: var(--ui-surface-soft) !important; }
.topic-btn.active { background: var(--ui-surface-tint) !important; border-color: color-mix(in srgb, var(--ui-brand) 18%, var(--ui-line)) !important; }
.topic-num { background: var(--ui-surface-soft) !important; }
.hero {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 24px !important;
  box-shadow: var(--ui-shadow) !important;
}
.hero h1 { color: var(--ui-text) !important; letter-spacing: -.035em; }
.hero p { color: var(--ui-muted) !important; opacity: 1 !important; }
.stats { gap: 10px !important; }
.stat, .panel, .question-box, .rule-card, .example-card, .mistake-card,
.lesson-overview, .difficulty-roadmap, .pro-card, .practice-intro {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-line) !important;
  box-shadow: var(--ui-shadow) !important;
}
.stat span, .panel-head p, .explain, .result-stage-note, .lesson-overview p, .difficulty-roadmap > p, .practice-intro p { color: var(--ui-muted) !important; }
.panel-head { background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.tabs { background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.tab { color: var(--ui-text) !important; background: transparent !important; }
.tab.active { color: var(--ui-brand) !important; background: var(--ui-surface) !important; box-shadow: var(--ui-shadow) !important; }
.content { background: var(--ui-surface) !important; }
.progress { background: var(--ui-line) !important; }
.progress > i { background: linear-gradient(90deg, var(--ui-brand-strong), var(--ui-brand)) !important; }
.option, .en-line, .answer-input { color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
.option:hover { border-color: var(--ui-brand) !important; }
.option.selected { background: color-mix(in srgb, var(--ui-brand) 12%, var(--ui-surface)) !important; }
.feedback.ok { background: color-mix(in srgb, var(--ui-accent) 12%, var(--ui-surface)) !important; border-color: var(--ui-accent) !important; }
.feedback.no { background: color-mix(in srgb, var(--ui-danger) 10%, var(--ui-surface)) !important; border-color: var(--ui-danger) !important; }
.action, .start-btn, .btn, .button-link:not(.ghost) { background: var(--ui-brand-strong) !important; color: #fff !important; box-shadow: 0 8px 18px color-mix(in srgb, var(--ui-brand) 18%, transparent) !important; }
.action:hover, .start-btn:hover, .btn:hover { background: var(--ui-brand) !important; }
.action.secondary, .ghost, .file-btn { color: var(--ui-text) !important; background: var(--ui-surface) !important; border: 1px solid var(--ui-line) !important; box-shadow: none !important; }
.good { color: var(--ui-accent) !important; }
.bad { color: var(--ui-danger) !important; }

/* PTE planner */
.app-shell { width: min(1200px, 100%) !important; padding: 22px 18px 48px !important; }
body:has(.app-shell) { background: var(--ui-bg) !important; }
.app-shell > .hero { padding: 25px 28px !important; margin-bottom: 18px !important; }
.app-shell > .hero .eyebrow { color: var(--ui-brand) !important; }
.app-shell > .hero .sub, .current-user-note { color: var(--ui-muted) !important; }
.date-row label, .jalali-picker > span { color: var(--ui-text) !important; }
.jalali-picker { background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.jalali-picker select { color: var(--ui-text) !important; background: var(--ui-surface) !important; border: 1px solid var(--ui-line) !important; }
.dashboard { gap: 10px !important; }
.card, .progress-card, .metric-card, .planner-panel, .pill-card, .resource, .plan-item, .task, .history-row, .library-card,
.modal-card, .modal-head, .modal-footer, .writing-frame, .module-instruction, .practice-box, .vocab-card,
.custom-plan-hero, .plan-editor-row, .global-editor-row, .mentor-planner-welcome {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border-color: var(--ui-line) !important;
  box-shadow: var(--ui-shadow) !important;
}
.card { border-radius: var(--ui-radius) !important; }
.progress-card, .metric-card { box-shadow: var(--ui-shadow) !important; }
.progress-copy p, .section-head p, .hint, .plan-meta, .plan-output, .task-meta, .resource small, .planner-panel p, .adapt-note { color: var(--ui-muted) !important; }
.metric-card strong, .pill-card strong, .ring-text strong { color: var(--ui-brand-strong) !important; }
.metric small { color: var(--ui-text) !important; }
.ring-bg { stroke: var(--ui-line) !important; }
.ring-fg { stroke: var(--ui-accent) !important; }
.pill-card, .resource, .plan-item, .task, .history-row, .library-card, .module-instruction, .practice-box, .writing-frame { background: var(--ui-surface-soft) !important; }
.plan-item.done, .task.done { background: color-mix(in srgb, var(--ui-accent) 10%, var(--ui-surface)) !important; border-color: color-mix(in srgb, var(--ui-accent) 42%, var(--ui-line)) !important; }
.card.quick-start-card, body .quick-start-card { background: var(--ui-brand-strong) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 16px 34px color-mix(in srgb, var(--ui-brand) 18%, transparent) !important; }
.quick-start-card h2, .quick-start-card p, .quick-start-card span, .quick-start-card .quick-start-kicker { color: #fff !important; }
.quick-start-card p, .quick-start-card .quick-start-kicker { opacity: .9; }
.planner-card { background: var(--ui-surface) !important; }
.planner-panel h3, .custom-plan-copy h3 { color: var(--ui-text) !important; }
.planner-mode-badge { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; border-color: color-mix(in srgb, var(--ui-brand) 28%, var(--ui-line)) !important; }
.planner-mode-badge.today { color: var(--ui-accent) !important; background: color-mix(in srgb, var(--ui-accent) 10%, var(--ui-surface)) !important; }
.task-index { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; }
.minute-badge { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; }
.mentor-editor-banner { background: var(--ui-brand-strong) !important; }
.mentor-editor-banner a { color: var(--ui-brand-strong) !important; background: var(--ui-surface) !important; }
.mentor-lock-control, .mentor-note { color: var(--ui-warn) !important; background: color-mix(in srgb, var(--ui-warn) 10%, var(--ui-surface)) !important; border-color: color-mix(in srgb, var(--ui-warn) 42%, var(--ui-line)) !important; }
.empty-plan-editor { color: var(--ui-muted) !important; background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.module-inline-timer, .timer-dock, .pte-grammar-timer { background: #101a2b !important; border-color: #2b3a54 !important; }
.modal-layer, .overlay, .pte-choice-layer { background: rgba(5, 12, 24, .72) !important; }

/* Vocabulary workspace */
body:has(.vocab-shell) { background: var(--ui-bg) !important; }
.vocab-shell { max-width: 1180px !important; padding: 24px 18px 48px !important; }
.vocab-hero {
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  box-shadow: var(--ui-shadow) !important;
}
.vocab-hero h1, .vocab-hero p, .vocab-hero .eyebrow { color: var(--ui-text) !important; opacity: 1 !important; }
.vocab-hero .eyebrow { color: var(--ui-brand) !important; background: var(--ui-surface-tint) !important; }
.day-ring { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; border-color: color-mix(in srgb, var(--ui-brand) 30%, var(--ui-line)) !important; }
.vocab-stats article, .vocab-intro, .vocab-card, .vocab-panel, .word-card, .placement-card { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: var(--ui-shadow) !important; color: var(--ui-text) !important; }
.vocab-stats span, .vocab-intro p, .word-meta, .builder-note { color: var(--ui-muted) !important; }
.vocab-toolbar { background: color-mix(in srgb, var(--ui-surface) 94%, transparent) !important; border-color: var(--ui-line) !important; }
.vocab-toolbar button { color: var(--ui-muted) !important; }
.vocab-toolbar button.active { color: var(--ui-brand) !important; background: var(--ui-surface-tint) !important; }
.chip, .capacity-badge, .today-levels span { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; }
.reveal-area, .meaning-section, .sense-card, .review-item, .day-cell, .placement-features article, .placement-summary article, .adaptive-grid article { background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; color: var(--ui-text) !important; }
.collocation, .collocation-list span, .list-collocation { color: var(--ui-brand-strong) !important; }
.example, .english-first { background: var(--ui-surface-soft) !important; color: var(--ui-text) !important; border-color: var(--ui-line) !important; }
.show-answer { background: var(--ui-brand-strong) !important; }
.vocab-action.good, .quality-ok { color: var(--ui-accent) !important; background: color-mix(in srgb, var(--ui-accent) 12%, var(--ui-surface)) !important; }
.vocab-action.again, .mistake-list article { background: color-mix(in srgb, var(--ui-danger) 10%, var(--ui-surface)) !important; }
.vocab-action.hard { background: color-mix(in srgb, var(--ui-warn) 12%, var(--ui-surface)) !important; }
.dictionary-card .card-actions { background: color-mix(in srgb, var(--ui-surface) 96%, transparent) !important; border-color: var(--ui-line) !important; }
.sync-status { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; border-color: var(--ui-line) !important; }

/* Standalone admin, mentor, reports and auth screens */
.wrap { max-width: 1240px !important; padding: 24px 18px 50px !important; }
.wrap > .top { padding: 4px 2px 16px; }
.top h1 { color: var(--ui-text) !important; letter-spacing: -.03em; }
.top small, .hint, .sync-note { color: var(--ui-muted) !important; }
.top-links, .links { align-items: center; }
.link, .nav-button, .logout, .top-logout button { color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: none !important; }
.hero { background: var(--ui-surface) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-line) !important; box-shadow: var(--ui-shadow) !important; }
.hero h2, .hero h1 { color: var(--ui-text) !important; }
.hero p { color: var(--ui-muted) !important; }
.quick-nav a { color: var(--ui-text) !important; background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.primary-create { color: #fff !important; background: var(--ui-brand-strong) !important; }
.card, .student, .user-card, .empty, .denied, .weight-skill, .create-sheet, .report-section, .day, .filters, .restricted {
  color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: var(--ui-shadow) !important;
}
.user-card { background: var(--ui-surface-soft) !important; }
.metric, .role { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; }
.permission-grid label { color: var(--ui-text) !important; background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.status.on { color: var(--ui-accent) !important; }
.status.off { color: var(--ui-danger) !important; }
.msg { color: var(--ui-accent) !important; background: color-mix(in srgb, var(--ui-accent) 10%, var(--ui-surface)) !important; }
.err, .denied { color: var(--ui-danger) !important; background: color-mix(in srgb, var(--ui-danger) 10%, var(--ui-surface)) !important; }
.mentor-note, .lock-note { color: var(--ui-warn) !important; background: color-mix(in srgb, var(--ui-warn) 10%, var(--ui-surface)) !important; border-color: color-mix(in srgb, var(--ui-warn) 35%, var(--ui-line)) !important; }
.weights-grid { gap: 12px !important; }
.weight-total { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; }
.create-sheet { box-shadow: var(--ui-shadow-strong) !important; }
.close { color: var(--ui-text) !important; background: var(--ui-surface-soft) !important; }
body:has(.report-section) .hero { background: var(--ui-surface) !important; }
body:has(.report-section) .metric { background: var(--ui-surface-tint) !important; }
body:has(.report-section) .metric span,
body:has(.report-section) .metric strong,
body:has(.report-section) .metrics .metric { color: var(--ui-text) !important; }
body:has(.report-section) .metric strong { color: var(--ui-brand-strong) !important; }
body:has(.student) .metrics .metric,
body:has(.student) .metrics .metric small { color: var(--ui-text) !important; }
body:has(.student) .metrics .metric strong { color: var(--ui-brand-strong) !important; }
table { color: var(--ui-text); }
th, td { border-color: var(--ui-line) !important; }
.table-wrap { border-radius: var(--ui-radius-sm); }

/* Login */
body:has(.box) { background: radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--ui-brand) 13%, transparent), transparent 36%), var(--ui-bg) !important; }
.box { color: var(--ui-text) !important; background: var(--ui-surface) !important; border-color: var(--ui-line) !important; box-shadow: var(--ui-shadow-strong) !important; }
.box p, .note { color: var(--ui-muted) !important; }
.box .logo { background: linear-gradient(135deg, var(--ui-brand-strong), var(--ui-brand)) !important; }
.box button { background: var(--ui-brand-strong) !important; }
.err { color: var(--ui-danger) !important; background: color-mix(in srgb, var(--ui-danger) 10%, var(--ui-surface)) !important; border-color: color-mix(in srgb, var(--ui-danger) 28%, var(--ui-line)) !important; }
.theme-toggle { white-space: nowrap; }
body > .theme-toggle { position: fixed; top: 16px; left: 16px; z-index: 20; }

@media (max-width: 900px) {
  .redesigned-nav, .main-nav { top: 64px !important; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }
  .redesigned-nav::-webkit-scrollbar, .main-nav::-webkit-scrollbar { display: none; }
  .layout { grid-template-columns: 1fr !important; padding: 14px !important; }
  .sidebar { top: 0 !important; }
  .app-shell, .vocab-shell, .wrap { padding: 16px 12px 40px !important; }
}
@media (max-width: 640px) {
  .redesigned-topbar, .site-topbar { min-height: 64px !important; padding: 8px 12px !important; }
  .redesigned-topbar .brand small, .site-brand small, .account-name, .header-status { display: none !important; }
  .redesigned-nav, .main-nav { min-height: 52px !important; }
  .hero { border-radius: 18px !important; padding: 18px !important; }
  .card, .panel, .student, .user-card { border-radius: 17px !important; }
  .wrap > .top { gap: 10px; }
  .top-links { width: 100%; }
  .top-links > *, .links > * { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Inline-style legacy screens load their original stylesheet after this file.
   Keep the dark contract explicit so the toggle is reliable there too. */
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .nav,
html[data-theme="dark"] .main-nav,
html[data-theme="dark"] .redesigned-nav,
html[data-theme="dark"] .site-topbar { background: var(--ui-surface) !important; border-color: var(--ui-line) !important; }
html[data-theme="dark"] .card,
html[data-theme="dark"] .box,
html[data-theme="dark"] .student,
html[data-theme="dark"] .user-card,
html[data-theme="dark"] .report-section,
html[data-theme="dark"] .day,
html[data-theme="dark"] .filters,
html[data-theme="dark"] .empty,
html[data-theme="dark"] .create-sheet,
html[data-theme="dark"] .weight-skill { background: var(--ui-surface) !important; color: var(--ui-text) !important; border-color: var(--ui-line) !important; }
html[data-theme="dark"] .hero { background: var(--ui-surface) !important; color: var(--ui-text) !important; border-color: var(--ui-line) !important; }
html[data-theme="dark"] .hero p,
html[data-theme="dark"] .hint,
html[data-theme="dark"] .note,
html[data-theme="dark"] .top small { color: var(--ui-muted) !important; }
html[data-theme="dark"] .metric,
html[data-theme="dark"] .chip,
html[data-theme="dark"] .pill,
html[data-theme="dark"] code { background: var(--ui-surface-tint) !important; color: var(--ui-text) !important; border-color: var(--ui-line) !important; }
html[data-theme="dark"] .notice { background: color-mix(in srgb, var(--ui-brand) 12%, var(--ui-surface)) !important; color: var(--ui-text) !important; border-color: var(--ui-brand) !important; }
html[data-theme="dark"] fieldset { border-color: var(--ui-line) !important; }

/* V40 dashboard: a structural redesign for the first viewport. */
.legacy-hero-toolbar {
  margin: 0 0 18px !important;
  padding: 12px 16px !important;
  color: var(--ui-text) !important;
  background: var(--ui-surface) !important;
  border: 1px solid var(--ui-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--ui-shadow-soft) !important;
}
.legacy-hero-toolbar .hero-top { display: none !important; }
.legacy-hero-toolbar .date-row { margin-top: 0 !important; }
.legacy-hero-toolbar .jalali-picker { background: var(--ui-surface-soft) !important; border-color: var(--ui-line) !important; }
.legacy-hero-toolbar .jalali-picker > span { color: var(--ui-muted) !important; font-size: 12px; }
.legacy-hero-toolbar .jalali-picker select { background: var(--ui-surface) !important; color: var(--ui-text) !important; border: 1px solid var(--ui-line) !important; }
.legacy-hero-toolbar #setStartTodayBtn { color: var(--ui-brand-strong) !important; background: var(--ui-surface-tint) !important; border: 1px solid color-mix(in srgb, var(--ui-brand) 25%, var(--ui-line)) !important; }
.v40-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 292px; gap: 18px; align-items: start; margin: 0 0 20px; }
.v40-dashboard-main { display: grid; gap: 16px; min-width: 0; }
.v40-greeting, .v40-chart-card, .v40-today-card, .v40-side-card { background: var(--ui-surface) !important; border: 1px solid var(--ui-line) !important; border-radius: 22px; box-shadow: var(--ui-shadow-soft); }
.v40-greeting { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 28px; min-height: 152px; background: linear-gradient(135deg, var(--ui-surface), var(--ui-surface-tint)) !important; }
.v40-greeting-copy { min-width: 0; }
.v40-kicker { display: inline-block; margin-bottom: 6px; color: var(--ui-brand-strong); font-size: 12px; font-weight: 800; letter-spacing: .03em; }
.v40-greeting h1 { margin: 0; color: var(--ui-text); font-size: clamp(26px, 3vw, 38px); letter-spacing: -.04em; line-height: 1.35; }
.v40-greeting p { max-width: 650px; margin: 9px 0 0; color: var(--ui-muted); line-height: 1.8; }
.v40-date-badge { display: grid; gap: 4px; flex: 0 0 142px; padding: 16px 12px; text-align: center; border-radius: 17px; color: var(--ui-brand-strong); background: var(--ui-brand-soft); border: 1px solid color-mix(in srgb, var(--ui-brand) 24%, var(--ui-line)); }
.v40-date-badge span { font-size: 12px; color: var(--ui-muted); }
.v40-date-badge strong { font-size: 15px; line-height: 1.8; }
.v40-chart-card, .v40-today-card { padding: 20px 22px; }
.v40-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.v40-section-head h2 { margin: 0; color: var(--ui-text); font-size: 19px; letter-spacing: -.02em; }
.v40-section-head .v40-kicker { margin: 0 0 2px; }
.v40-section-head > strong { color: var(--ui-brand-strong); font-size: 15px; white-space: nowrap; }
.v40-chart-bars { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; align-items: end; min-height: 154px; padding: 5px 4px 0; }
.v40-chart-bar { display: grid; grid-template-rows: 22px 1fr 22px; justify-items: center; align-items: end; gap: 5px; min-width: 0; height: 145px; }
.v40-chart-value, .v40-chart-bar small { color: var(--ui-muted); font-size: 11px; white-space: nowrap; }
.v40-chart-track { display: flex; align-items: end; justify-content: center; width: 100%; height: 100px; border-radius: 11px; background: var(--ui-surface-soft); overflow: hidden; }
.v40-chart-fill { display: block; width: min(32px, 62%); min-height: 8px; border-radius: 9px 9px 4px 4px; background: var(--ui-brand); box-shadow: 0 7px 16px color-mix(in srgb, var(--ui-brand) 25%, transparent); transition: height .3s ease; }
.v40-chart-fill.is-complete { background: var(--ui-success); box-shadow: 0 7px 16px color-mix(in srgb, var(--ui-success) 25%, transparent); }
.v40-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.v40-metric { display: grid; gap: 6px; min-height: 112px; padding: 16px 17px; background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 18px; box-shadow: var(--ui-shadow-soft); }
.v40-metric span { color: var(--ui-muted); font-size: 12px; font-weight: 700; }
.v40-metric strong { color: var(--ui-text); font-size: 25px; letter-spacing: -.03em; }
.v40-metric small { color: var(--ui-muted); font-size: 11px; }
.v40-metric-primary { background: var(--ui-brand-soft) !important; border-color: color-mix(in srgb, var(--ui-brand) 23%, var(--ui-line)); }
.v40-metric-primary strong { color: var(--ui-brand-strong); }
.v40-text-link, .v40-side-link, .v40-more-link { color: var(--ui-brand-strong); font-size: 12px; font-weight: 800; text-decoration: none; }
.v40-today-list { display: grid; gap: 8px; }
.v40-today-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 53px; padding: 8px 10px; background: var(--ui-surface-soft); border: 1px solid var(--ui-line); border-radius: 14px; }
.v40-today-row > div { min-width: 0; }
.v40-today-row strong { display: block; overflow: hidden; color: var(--ui-text); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.v40-today-row small { color: var(--ui-muted); font-size: 11px; }
.v40-today-row > b { color: var(--ui-brand-strong); font-size: 12px; white-space: nowrap; }
.v40-row-status { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: var(--ui-brand-strong); background: var(--ui-brand-soft); font-weight: 900; }
.v40-today-row.is-done .v40-row-status { color: #fff; background: var(--ui-success); }
.v40-today-row.is-done strong { color: var(--ui-muted); text-decoration: line-through; }
.v40-empty { margin: 0; color: var(--ui-muted); }
.v40-more-link { display: inline-block; margin-top: 3px; }
.v40-dashboard-side { display: grid; gap: 16px; }
.v40-side-card { padding: 22px; }
.v40-side-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 20px; border-radius: 14px; color: #fff; background: linear-gradient(145deg, var(--ui-brand-strong), var(--ui-brand)); box-shadow: 0 12px 24px color-mix(in srgb, var(--ui-brand) 24%, transparent); font-size: 21px; }
.v40-next-card h2 { margin: 0; color: var(--ui-text); font-size: 22px; line-height: 1.45; }
.v40-next-card p { min-height: 57px; margin: 8px 0 18px; color: var(--ui-muted); line-height: 1.8; font-size: 13px; }
.v40-primary-btn { width: 100%; padding: 12px 15px; border: 0; border-radius: 13px; color: #fff; background: var(--ui-brand-strong); font: inherit; font-weight: 800; cursor: pointer; }
.v40-primary-btn:disabled { cursor: not-allowed; opacity: .65; }
.v40-lock-row { display: flex; align-items: flex-start; gap: 10px; }
.v40-lock-dot { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; color: var(--ui-success); background: color-mix(in srgb, var(--ui-success) 14%, var(--ui-surface)); font-weight: 900; }
.v40-lock-row strong, .v40-lock-row small { display: block; }
.v40-lock-row strong { color: var(--ui-text); font-size: 13px; }
.v40-lock-row small { margin-top: 4px; color: var(--ui-muted); line-height: 1.65; font-size: 11px; }
.v40-access-note { margin-top: 14px; padding: 9px 10px; border-radius: 11px; color: var(--ui-brand-strong); background: var(--ui-brand-soft); font-size: 11px; line-height: 1.7; }
.v40-side-link { display: inline-block; margin-top: 15px; }
.app-shell main > #quickStart, .app-shell main > .dashboard { display: none !important; }
.mentor-planner-only .v40-dashboard { display: none !important; }

/* V43 cache-safe layout pass: keep the mentor's primary work visible above the fold. */
body.workspace-ui.mentor-planner-only.practice-mode #planEditorModal .plan-editor-card{display:grid!important;grid-template-columns:260px minmax(0,1fr)!important;align-content:start!important}
body.workspace-ui.mentor-planner-only .plan-editor-card>.modal-head,body.workspace-ui.mentor-planner-only .plan-editor-tabs,body.workspace-ui.mentor-planner-only .plan-quick-builder,body.workspace-ui.mentor-planner-only .mentor-lock-control,body.workspace-ui.mentor-planner-only .add-skill-chooser,body.workspace-ui.mentor-planner-only .plan-editor-rows,body.workspace-ui.mentor-planner-only .plan-editor-footer{grid-column:1/-1!important}
body.workspace-ui.mentor-planner-only .plan-editor-card>.modal-head{padding-block:16px!important}
body.workspace-ui.mentor-planner-only .plan-editor-tabs{margin-top:12px!important}
body.workspace-ui.mentor-planner-only .mentor-range-controls{grid-column:2!important;margin:12px 24px 12px 7px!important}
body.workspace-ui.mentor-planner-only .plan-editor-summary{grid-column:1!important;margin:12px 7px 12px 24px!important;align-content:center!important}
body.workspace-ui.mentor-planner-only .plan-quick-builder{margin-bottom:10px!important;padding-block:11px!important}
body.workspace-ui.mentor-planner-only .mentor-lock-control{margin-bottom:10px!important;padding-block:10px!important}
body.workspace-ui.mentor-planner-only .plan-editor-rows{min-height:150px!important;max-height:310px!important;overflow:auto!important;overscroll-behavior:contain}
@media(max-width:900px){body.workspace-ui.mentor-planner-only.practice-mode #planEditorModal .plan-editor-card{grid-template-columns:1fr!important}body.workspace-ui.mentor-planner-only .mentor-range-controls,body.workspace-ui.mentor-planner-only .plan-editor-summary{grid-column:1!important;margin:10px 14px!important}body.workspace-ui.mentor-planner-only .plan-editor-rows{max-height:none!important;overflow:visible!important}}

/* V43.2 — keep the mentor planner usable inside a laptop viewport. */
body.workspace-ui.mentor-planner-only.practice-mode .workspace-practice-back{display:none!important}
@media(min-width:901px){
 body.workspace-ui.mentor-planner-only.practice-mode #planEditorModal{overflow:hidden!important;padding:16px 24px!important}
 body.workspace-ui.mentor-planner-only.practice-mode #planEditorModal .plan-editor-card{
  width:min(1500px,100%)!important;
  height:min(650px,calc(100vh - var(--ws-top) - 32px))!important;
  max-height:calc(100vh - var(--ws-top) - 32px)!important;
  overflow:hidden!important;
  grid-template-columns:minmax(0,1fr) 270px!important;
  grid-template-rows:auto auto auto auto auto auto minmax(100px,1fr) auto!important;
 }
 body.workspace-ui.mentor-planner-only .plan-editor-card>.modal-head{grid-row:1!important;padding:15px 20px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-card>.modal-head h2{font-size:21px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-card>.modal-head p{font-size:11px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-tabs{grid-row:2!important;margin-top:10px!important}
 body.workspace-ui.mentor-planner-only .mentor-range-controls{grid-column:1!important;grid-row:3!important;margin:10px 7px 10px 20px!important;padding:12px 14px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-summary{grid-column:2!important;grid-row:3!important;margin:10px 20px 10px 7px!important;padding:12px 14px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-summary strong{font-size:18px!important}
 body.workspace-ui.mentor-planner-only .plan-quick-builder{grid-row:4!important;margin:0 20px 9px!important;padding:10px 12px!important}
 body.workspace-ui.mentor-planner-only .plan-quick-builder>span{font-size:12px!important}
 body.workspace-ui.mentor-planner-only .plan-quick-builder button{min-height:38px!important;font-size:10px!important}
 body.workspace-ui.mentor-planner-only .add-skill-chooser{grid-row:5!important;margin:0 20px 9px!important;padding:11px!important}
 body.workspace-ui.mentor-planner-only .mentor-lock-control{grid-row:6!important;margin:0 20px 9px!important;padding:10px 13px!important}
 body.workspace-ui.mentor-planner-only .mentor-lock-control small{font-size:10px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-rows{grid-row:7!important;min-height:0!important;max-height:none!important;padding:0 20px 10px!important;overflow:auto!important}
 body.workspace-ui.mentor-planner-only .empty-plan-editor{min-height:100px!important;padding:18px!important;font-size:11px!important}
 body.workspace-ui.mentor-planner-only .plan-editor-footer{position:static!important;grid-row:8!important;padding:10px 20px!important}
}

/* V43.2 scroll hotfix — one natural scroll container; rows and footer never overlap. */
@media(min-width:901px){
 body.workspace-ui.mentor-planner-only.practice-mode #planEditorModal{
  overflow-x:hidden!important;
  overflow-y:auto!important;
 }
 body.workspace-ui.mentor-planner-only.practice-mode #planEditorModal .plan-editor-card{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  grid-template-rows:auto auto auto auto auto auto auto auto!important;
 }
 body.workspace-ui.mentor-planner-only .plan-editor-rows{
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  scrollbar-gutter:auto!important;
 }
}
.grammar-v40-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 254px; gap: 16px; margin: 0 0 20px; }
.grammar-v40-main { display: grid; gap: 14px; min-width: 0; }
.grammar-v40-greeting, .grammar-v40-focus, .grammar-v40-aside { background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 21px; box-shadow: var(--ui-shadow-soft); }
.grammar-v40-greeting { padding: 23px 25px; background: linear-gradient(135deg, var(--ui-surface), var(--ui-surface-tint)) !important; }
.grammar-v40-greeting h1 { margin: 0; color: var(--ui-text); font-size: clamp(24px, 3vw, 35px); line-height: 1.45; letter-spacing: -.035em; }
.grammar-v40-greeting p, .grammar-v40-aside p { margin: 8px 0 0; color: var(--ui-muted); line-height: 1.9; }
.grammar-v40-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.grammar-v40-stats article { display: grid; gap: 6px; min-height: 93px; padding: 14px 15px; background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 16px; box-shadow: var(--ui-shadow-soft); }
.grammar-v40-stats span { color: var(--ui-muted); font-size: 11px; font-weight: 700; }
.grammar-v40-stats strong { color: var(--ui-text); font-size: 24px; }
.grammar-v40-stats .is-primary { background: var(--ui-brand-soft) !important; border-color: color-mix(in srgb, var(--ui-brand) 25%, var(--ui-line)); }
.grammar-v40-stats .is-primary strong { color: var(--ui-brand-strong); }
.grammar-v40-focus { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 18px 21px; }
.grammar-v40-focus h2 { margin: 0; color: var(--ui-text); font-size: 19px; }
.grammar-v40-focus p { margin: 5px 0 0; color: var(--ui-muted); font-size: 12px; }
.grammar-v40-action, .grammar-v40-aside a { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; border-radius: 12px; color: #fff; background: var(--ui-brand-strong); font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.grammar-v40-aside { align-self: stretch; padding: 21px; }
.grammar-v40-aside-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 20px; border-radius: 14px; color: #fff; background: linear-gradient(145deg, var(--ui-brand-strong), var(--ui-brand)); font-weight: 900; font-size: 18px; }
.grammar-v40-aside h2 { margin: 0; color: var(--ui-text); font-size: 21px; }
.grammar-v40-aside a { width: 100%; margin-top: 19px; }
.layout .main > .hero { display: none !important; }
@media (max-width: 900px) { .grammar-v40-dashboard { grid-template-columns: 1fr; } .grammar-v40-aside { min-height: 0; } }
@media (max-width: 580px) { .grammar-v40-stats { grid-template-columns: 1fr 1fr; } .grammar-v40-focus { align-items: flex-start; flex-direction: column; } .grammar-v40-action { width: 100%; } }
.vocab-v40-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) 254px; gap: 16px; margin: 0 0 20px; }
.vocab-v40-main { display: grid; gap: 14px; min-width: 0; }
.vocab-v40-greeting, .vocab-v40-stats article, .vocab-v40-aside { background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 21px; box-shadow: var(--ui-shadow-soft); }
.vocab-v40-greeting { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 23px 25px; background: linear-gradient(135deg, var(--ui-surface), var(--ui-surface-tint)) !important; }
.vocab-v40-greeting h1 { margin: 0; color: var(--ui-text); font-size: clamp(24px, 3vw, 35px); line-height: 1.45; letter-spacing: -.035em; }
.vocab-v40-greeting p { max-width: 650px; margin: 8px 0 0; color: var(--ui-muted); line-height: 1.9; }
.vocab-v40-day { display: grid; flex: 0 0 100px; gap: 1px; padding: 13px 10px; text-align: center; border: 1px solid color-mix(in srgb, var(--ui-brand) 22%, var(--ui-line)); border-radius: 16px; background: var(--ui-brand-soft); }
.vocab-v40-day span, .vocab-v40-day small { color: var(--ui-muted); font-size: 11px; }
.vocab-v40-day strong { color: var(--ui-brand-strong); font-size: 26px; }
.vocab-v40-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.vocab-v40-stats article { display: grid; gap: 6px; min-height: 90px; padding: 14px 15px; border-radius: 16px; }
.vocab-v40-stats span { color: var(--ui-muted); font-size: 11px; font-weight: 700; }
.vocab-v40-stats strong { color: var(--ui-text); font-size: 24px; }
.vocab-v40-stats .is-primary { background: var(--ui-brand-soft) !important; border-color: color-mix(in srgb, var(--ui-brand) 25%, var(--ui-line)); }
.vocab-v40-stats .is-primary strong { color: var(--ui-brand-strong); }
.vocab-v40-aside { align-self: stretch; padding: 21px; }
.vocab-v40-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 20px; border-radius: 14px; color: #fff; background: linear-gradient(145deg, var(--ui-brand-strong), var(--ui-brand)); font-weight: 900; font-size: 18px; }
.vocab-v40-aside h2 { margin: 0; color: var(--ui-text); font-size: 21px; }
.vocab-v40-aside p { margin: 8px 0 0; color: var(--ui-muted); line-height: 1.9; font-size: 13px; }
.vocab-v40-aside a { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 19px; padding: 10px 14px; border-radius: 12px; color: #fff; background: var(--ui-brand-strong); font-size: 12px; font-weight: 800; text-decoration: none; }
.vocab-shell > .vocab-hero, .vocab-shell > .vocab-stats { display: none !important; }
@media (max-width: 900px) { .vocab-v40-dashboard { grid-template-columns: 1fr; } }
@media (max-width: 580px) { .vocab-v40-greeting { align-items: flex-start; flex-direction: column; } .vocab-v40-day { align-self: stretch; flex-basis: auto; } .vocab-v40-stats { grid-template-columns: 1fr 1fr; } }
.admin-v40-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .95fr); gap: 16px; align-items: stretch; margin-top: 18px; padding: 25px; background: linear-gradient(135deg, var(--ui-surface), var(--ui-surface-tint)) !important; border: 1px solid var(--ui-line); border-radius: 23px; box-shadow: var(--ui-shadow-soft); }
.admin-v40-intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.admin-v40-intro h2 { margin: 0; color: var(--ui-text); font-size: clamp(24px, 3vw, 34px); letter-spacing: -.035em; }
.admin-v40-intro p { margin: 8px 0 0; color: var(--ui-muted); line-height: 1.9; }
.admin-v40-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 19px; }
.admin-v40-actions a { color: var(--ui-brand-strong); font-size: 12px; font-weight: 800; text-decoration: none; }
.admin-v40-actions .primary-create { color: #fff; background: var(--ui-brand-strong); border: 0; }
.admin-v40-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.admin-v40-metrics article { display: grid; gap: 6px; min-height: 92px; padding: 14px; background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 15px; }
.admin-v40-metrics span { color: var(--ui-muted); font-size: 11px; font-weight: 700; }
.admin-v40-metrics strong { color: var(--ui-text); font-size: 23px; }
.admin-v40-metrics strong.is-ok { color: var(--ui-success); font-size: 18px; }
body:has(.admin-v40-overview) .admin-legacy-hero { display: none !important; }
@media (max-width: 800px) { .admin-v40-overview { grid-template-columns: 1fr; padding: 20px; } }
@media (max-width: 500px) { .admin-v40-metrics { grid-template-columns: 1fr 1fr; } .admin-v40-actions > * { width: 100%; text-align: center; } }
.mentor-v40-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .95fr); gap: 16px; align-items: stretch; margin-top: 18px; padding: 25px; background: linear-gradient(135deg, var(--ui-surface), var(--ui-surface-tint)) !important; border: 1px solid var(--ui-line); border-radius: 23px; box-shadow: var(--ui-shadow-soft); }
.mentor-v40-intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.mentor-v40-intro h2 { margin: 0; color: var(--ui-text); font-size: clamp(24px, 3vw, 34px); letter-spacing: -.035em; }
.mentor-v40-intro p { margin: 8px 0 0; color: var(--ui-muted); line-height: 1.9; }
.mentor-v40-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 19px; }
.mentor-v40-actions a { color: var(--ui-brand-strong); font-size: 12px; font-weight: 800; text-decoration: none; }
.mentor-v40-actions .mentor-v40-primary { padding: 11px 15px; border-radius: 12px; color: #fff; background: var(--ui-brand-strong); }
.mentor-v40-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mentor-v40-metrics article { display: grid; gap: 6px; min-height: 92px; padding: 14px; background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 15px; }
.mentor-v40-metrics span { color: var(--ui-muted); font-size: 11px; font-weight: 700; }
.mentor-v40-metrics strong { color: var(--ui-text); font-size: 21px; }
.mentor-v40-metrics strong.is-on { color: var(--ui-success); }
.mentor-v40-metrics strong.is-off { color: var(--ui-danger); }
body:has(.mentor-v40-overview) .mentor-legacy-hero { display: none !important; }
@media (max-width: 800px) { .mentor-v40-overview { grid-template-columns: 1fr; padding: 20px; } }
@media (max-width: 500px) { .mentor-v40-metrics { grid-template-columns: 1fr 1fr; } .mentor-v40-actions > * { width: 100%; text-align: center; } }
.reports-v40-overview { display: grid; grid-template-columns: minmax(0, .85fr) minmax(390px, 1.15fr); gap: 16px; align-items: center; margin-top: 18px; padding: 25px; background: linear-gradient(135deg, var(--ui-surface), var(--ui-surface-tint)) !important; border: 1px solid var(--ui-line); border-radius: 23px; box-shadow: var(--ui-shadow-soft); }
.reports-v40-overview h2 { margin: 0; color: var(--ui-text); font-size: clamp(24px, 3vw, 34px); line-height: 1.45; letter-spacing: -.035em; }
.reports-v40-overview p { margin: 8px 0 0; color: var(--ui-muted); line-height: 1.9; }
.reports-v40-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.reports-v40-metrics article { display: grid; gap: 6px; min-height: 92px; padding: 14px; background: var(--ui-surface) !important; border: 1px solid var(--ui-line); border-radius: 15px; }
.reports-v40-metrics span { color: var(--ui-muted); font-size: 11px; font-weight: 700; }
.reports-v40-metrics strong { color: var(--ui-brand-strong); font-size: 20px; }
body:has(.reports-v40-overview) .reports-legacy-hero { display: none !important; }
@media (max-width: 800px) { .reports-v40-overview { grid-template-columns: 1fr; padding: 20px; } }
html[data-theme="dark"] .v40-chart-fill { background: #93c5fd; }
html[data-theme="dark"] .v40-chart-fill.is-complete { background: #6ee7b7; }
@media (max-width: 980px) {
  .v40-dashboard { grid-template-columns: 1fr; }
  .v40-dashboard-side { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .legacy-hero-toolbar { padding: 10px !important; }
  .legacy-hero-toolbar .date-row { grid-template-columns: 1fr !important; }
  .v40-greeting { align-items: flex-start; flex-direction: column; padding: 21px; }
  .v40-date-badge { align-self: stretch; flex-basis: auto; }
  .v40-metrics { grid-template-columns: 1fr 1fr; }
  .v40-dashboard-side { grid-template-columns: 1fr; }
  .v40-chart-card, .v40-today-card { padding: 17px 14px; }
  .v40-chart-bars { gap: 5px; }
  .v40-chart-value { font-size: 10px; }
}

/* V44.2 — unified learning surface. The retired modal chrome is removed and
   every lesson/practice state uses the same calm workspace language. */
body.workspace-ui.pte-page .learning-layer.timer-inside-open .learning-card > .modal-head { display: none !important; }
body.workspace-ui.pte-page .learning-layer.timer-inside-open .module-inline-timer {
  top: 0 !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  min-height: 76px;
  padding: 13px 20px !important;
  color: var(--ws-navy) !important;
  background: color-mix(in srgb, var(--ws-card) 96%, transparent) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ws-border) !important;
  border-radius: 12px 12px 0 0 !important;
  box-shadow: 0 8px 24px rgba(25,42,70,.05) !important;
  backdrop-filter: blur(14px);
}
body.workspace-ui.pte-page .learning-layer.timer-inside-open .inline-timer-clock b { color: var(--ws-navy) !important; }
body.workspace-ui.pte-page .learning-layer.timer-inside-open .inline-timer-copy :where(strong,span,small) { color: var(--ws-muted) !important; }
body.workspace-ui.pte-page .learning-layer.timer-inside-open .inline-timer-copy strong { color: var(--ws-navy) !important; }
body.workspace-ui.pte-page .learning-layer.timer-inside-open .learning-card > .modal-body {
  width: min(1180px,100%);
  margin-inline: auto;
  padding: 22px 24px 110px !important;
}
body.workspace-ui.pte-page .module-preview-note {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 14px !important;
  padding: 13px 16px !important;
  border: 1px solid color-mix(in srgb,var(--ws-green) 30%,var(--ws-border)) !important;
  border-radius: 11px !important;
  color: var(--ws-navy) !important;
  background: color-mix(in srgb,var(--ws-green) 7%,var(--ws-card)) !important;
  box-shadow: none !important;
}
body.workspace-ui.pte-page .module-preview-note b { white-space: nowrap; }
body.workspace-ui.pte-page .module-preview-note p { margin: 0 !important; color: var(--ws-muted) !important; font-size: 11px !important; }
body.workspace-ui.pte-page :where(.internal-stage,.collocation-source-note,.module-instruction) {
  margin: 0 0 12px !important;
  padding: 14px 17px !important;
  border: 1px solid var(--ws-border) !important;
  border-radius: 11px !important;
  background: var(--ws-card) !important;
  color: var(--ws-navy) !important;
  box-shadow: none !important;
}
body.workspace-ui.pte-page .internal-stage { display: grid !important; grid-template-columns: auto auto 1fr; align-items: center; gap: 10px; }
body.workspace-ui.pte-page .internal-stage small { color: var(--ws-muted) !important; }
body.workspace-ui.pte-page .practice-form {
  position: sticky;
  top: 78px;
  z-index: 9;
  display: grid !important;
  grid-template-columns: minmax(190px,1fr) auto;
  align-items: end;
  gap: 12px;
  margin: 14px 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--ws-border) !important;
  border-radius: 11px !important;
  background: color-mix(in srgb,var(--ws-card) 96%,transparent) !important;
  box-shadow: 0 9px 28px rgba(25,42,70,.07) !important;
  backdrop-filter: blur(14px);
}
body.workspace-ui.pte-page .practice-form label { display: grid; gap: 6px; color: var(--ws-muted); font-size: 10px; font-weight: 800; }
body.workspace-ui.pte-page .practice-form input { min-height: 42px !important; border-radius: 8px !important; font-size: 14px; }
body.workspace-ui.pte-page .practice-form button { min-height: 42px; padding-inline: 18px; border-radius: 8px; }
body.workspace-ui.pte-page .module-practice-placeholder {
  min-height: 120px !important;
  padding: 18px !important;
  border: 1px dashed var(--ws-border) !important;
  border-radius: 12px !important;
  background: var(--ws-soft) !important;
}
body.workspace-ui.pte-page .module-practice-placeholder.has-session { padding: 0 !important; border: 0 !important; background: transparent !important; }
.resume-strip,.review-phase-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
  padding: 12px 15px;
  border: 1px solid color-mix(in srgb,var(--ws-green) 30%,var(--ws-border));
  border-radius: 10px;
  color: var(--ws-navy);
  background: color-mix(in srgb,var(--ws-green) 7%,var(--ws-card));
}
.resume-strip span,.review-phase-note span { color: var(--ws-muted); font-size: 11px; }
.learning-section-title { display: flex; align-items: center; gap: 11px; margin: 24px 0 12px; }
.learning-section-title > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: #fff; background: var(--ws-navy); font-weight: 900; }
.learning-section-title div { display: grid; gap: 2px; }
.learning-section-title b { color: var(--ws-navy); font-size: 15px; }
.learning-section-title small { color: var(--ws-muted); font-size: 10px; }
body.workspace-ui.pte-page :where(.vocab-grid,.collocation-grid) { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
body.workspace-ui.pte-page :where(.vocab-card,.collocation-card) {
  min-width: 0;
  padding: 15px !important;
  border: 1px solid var(--ws-border) !important;
  border-radius: 11px !important;
  background: var(--ws-card) !important;
  box-shadow: none !important;
}
body.workspace-ui.pte-page :where(.vocab-card,.collocation-card) .example-en { margin-top: 9px; padding: 10px 11px; border-radius: 8px; background: var(--ws-soft); line-height: 1.8; }
.meaning-list { display: grid; gap: 8px; margin: 12px 0; padding: 0; list-style: none; }
.meaning-list li { display: grid; gap: 3px; padding: 9px 10px; border-radius: 8px; background: var(--ws-soft); }
.meaning-list li span,.sentence-meaning { color: var(--ws-muted); font-size: 10px; line-height: 1.8; }
.sentence-meaning { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--ws-border); }
body.workspace-ui.pte-page .collocation-quiz { margin-top: 20px !important; border: 1px solid var(--ws-border) !important; border-radius: 12px !important; overflow: hidden; background: var(--ws-card) !important; }
body.workspace-ui.pte-page .quiz-head { position: sticky; top: 144px; z-index: 8; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 15px 18px !important; border-bottom: 1px solid var(--ws-border); background: color-mix(in srgb,var(--ws-card) 96%,transparent) !important; backdrop-filter: blur(14px); }
body.workspace-ui.pte-page .quiz-head h3 { margin: 0; color: var(--ws-navy); font-size: 15px; }
body.workspace-ui.pte-page .quiz-head small { color: var(--ws-muted); }
body.workspace-ui.pte-page .quiz-head > span { color: var(--ws-green); font-weight: 900; white-space: nowrap; }
body.workspace-ui.pte-page .collocation-question { display: grid; gap: 12px; padding: 20px !important; border: 0 !important; border-bottom: 1px solid var(--ws-border) !important; border-radius: 0 !important; background: var(--ws-card) !important; }
body.workspace-ui.pte-page .collocation-question:last-child { border-bottom: 0 !important; }
body.workspace-ui.pte-page .collocation-question.review-question { background: color-mix(in srgb,var(--ws-green) 5%,var(--ws-card)) !important; box-shadow: inset -3px 0 var(--ws-green); }
.question-type { width: max-content; padding: 4px 8px; border-radius: 6px; color: var(--ws-green); background: color-mix(in srgb,var(--ws-green) 9%,var(--ws-card)); font-size: 9px; font-weight: 900; }
body.workspace-ui.pte-page .collocation-question > b { color: var(--ws-navy); font-size: 14px; line-height: 2; }
body.workspace-ui.pte-page .collocation-options { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important; }
body.workspace-ui.pte-page .collocation-options button { min-height: 44px !important; padding: 10px 13px !important; border: 1px solid var(--ws-border) !important; border-radius: 8px !important; color: var(--ws-navy) !important; background: var(--ws-card) !important; text-align: center; }
body.workspace-ui.pte-page .collocation-options button.correct { color: var(--ws-green) !important; border-color: color-mix(in srgb,var(--ws-green) 45%,var(--ws-border)) !important; background: color-mix(in srgb,var(--ws-green) 9%,var(--ws-card)) !important; }
body.workspace-ui.pte-page .collocation-options button.wrong { color: #b54747 !important; border-color: #e3aaaa !important; background: #fff4f4 !important; }
.collocation-feedback,.sentence-translation { display: block; color: var(--ws-muted); line-height: 1.9; }
.lesson-flow { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 12px; }
.lesson-flow span { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid var(--ws-border); border-radius: 9px; color: var(--ws-muted); background: var(--ws-card); font-size: 10px; font-weight: 800; }
.lesson-flow b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--ws-soft); color: var(--ws-navy); }
.lesson-flow .active { color: var(--ws-green); border-color: color-mix(in srgb,var(--ws-green) 35%,var(--ws-border)); background: color-mix(in srgb,var(--ws-green) 6%,var(--ws-card)); }
.lesson-example-block,.lesson-mistake-block { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,1fr) minmax(0,1fr); gap: 10px; margin: 12px 0; padding: 16px; border: 1px solid var(--ws-border); border-radius: 11px; background: var(--ws-card); }
.lesson-example-block > div,.lesson-mistake-block > div { align-self: center; }
.lesson-example-block h3,.lesson-mistake-block h3,.lesson-recap h3 { margin: 0 0 6px; color: var(--ws-navy); font-size: 14px; }
.lesson-example-block > div p,.lesson-mistake-block > div p,.lesson-recap p { margin: 0; color: var(--ws-muted); font-size: 10px; line-height: 1.8; }
.lesson-example-block article,.lesson-mistake-block article { padding: 12px; border-radius: 9px; background: var(--ws-soft); }
.lesson-example-block article span,.lesson-mistake-block article span { color: var(--ws-green); font-size: 9px; font-weight: 900; }
.lesson-example-block article p,.lesson-mistake-block article p { margin: 7px 0 0; color: var(--ws-navy); line-height: 1.8; }
.lesson-mistake-block article small { color: var(--ws-muted); line-height: 1.8; }
.lesson-recap { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 12px 0; padding: 17px 18px; border: 1px solid color-mix(in srgb,var(--ws-green) 35%,var(--ws-border)); border-radius: 11px; background: color-mix(in srgb,var(--ws-green) 7%,var(--ws-card)); }
.lesson-recap > strong { color: var(--ws-green); white-space: nowrap; }
body.workspace-ui.vocab-page .review-phase-note { margin: 0 auto 4px; width: min(900px,100%); }
body.workspace-ui.vocab-page .review-phase { color: var(--ws-green) !important; background: color-mix(in srgb,var(--ws-green) 8%,var(--ws-card)) !important; }
body.workspace-ui.vocab-page .sentence-translation { margin-top: 8px; }

html[data-theme="dark"] body.workspace-ui.pte-page .collocation-options button.wrong { color: #ff9c9c !important; border-color: #7f3e49 !important; background: #2b1b25 !important; }
@media(max-width:760px){
 body.workspace-ui.pte-page .learning-layer.timer-inside-open .module-inline-timer { grid-template-columns: 1fr !important; }
 body.workspace-ui.pte-page .learning-layer.timer-inside-open .learning-card > .modal-body { padding: 14px 12px 95px !important; }
 body.workspace-ui.pte-page .module-preview-note { align-items: flex-start; flex-direction: column; }
 body.workspace-ui.pte-page .internal-stage { grid-template-columns: auto 1fr !important; }
 body.workspace-ui.pte-page .internal-stage small { grid-column: 1/-1; }
 body.workspace-ui.pte-page .practice-form { position: static; grid-template-columns: 1fr; }
 body.workspace-ui.pte-page :where(.vocab-grid,.collocation-grid),body.workspace-ui.pte-page .collocation-options { grid-template-columns: 1fr !important; }
 body.workspace-ui.pte-page .quiz-head { top: 0; align-items: flex-start; flex-direction: column; }
 .lesson-flow,.lesson-example-block,.lesson-mistake-block { grid-template-columns: 1fr; }
 .lesson-recap { align-items: flex-start; flex-direction: column; }
}

/* V44.2.3 — the activity canvas replaces the retired preview sheet. */
body.workspace-ui.pte-page .practice-session-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin:0 0 14px;padding:24px 26px;border:1px solid var(--ws-border);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--ws-green) 7%,var(--ws-card)),var(--ws-card) 55%,color-mix(in srgb,#315b9d 6%,var(--ws-card)));box-shadow:var(--ws-shadow)}
.practice-session-copy{min-width:0}.practice-session-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;color:var(--ws-green);font-size:10px;font-weight:900}.practice-session-eyebrow i{font-size:12px}.practice-session-copy h2{margin:0;color:var(--ws-navy);font-size:clamp(22px,2.2vw,30px);line-height:1.55}.practice-session-copy p{max-width:720px;margin:5px 0 0;color:var(--ws-muted);font-size:11px;line-height:1.9}
.practice-session-kpis{display:grid;grid-template-columns:repeat(3,minmax(112px,1fr));gap:8px;direction:rtl}.practice-session-kpis article{display:flex;align-items:center;gap:9px;min-height:64px;padding:10px 12px;border:1px solid var(--ws-border);border-radius:10px;background:color-mix(in srgb,var(--ws-card) 90%,transparent)}.practice-session-kpis i{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:#315b9d;background:color-mix(in srgb,#315b9d 9%,var(--ws-card));font-size:13px}.practice-session-kpis div{display:grid;gap:2px}.practice-session-kpis small{color:var(--ws-muted);font-size:8px}.practice-session-kpis strong{color:var(--ws-navy);font-size:11px;white-space:nowrap}
body.workspace-ui.pte-page .apeuni-session .all-progressive-note{min-height:42px;margin:0 0 14px!important;padding:10px 13px!important;border:1px solid #d5e0ef!important;border-radius:10px!important;background:#f5f8fc!important;color:#35557e!important;font-size:10px!important;white-space:normal!important}html[data-theme="dark"] body.workspace-ui.pte-page .apeuni-session .all-progressive-note{border-color:#31435e!important;background:#152137!important;color:#bfd0e9!important}
.practice-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:14px}.practice-brief-card,.practice-status-card{border:1px solid var(--ws-border);border-radius:14px;background:var(--ws-card);box-shadow:var(--ws-shadow)}.practice-brief-card{padding:20px 22px}.practice-status-card{position:sticky;top:92px;padding:18px}.practice-brief-card>header,.practice-status-card>header{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--ws-border)}.practice-card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;color:#315b9d;background:color-mix(in srgb,#315b9d 9%,var(--ws-card))}.practice-card-icon.is-green{color:var(--ws-green);background:color-mix(in srgb,var(--ws-green) 9%,var(--ws-card))}.practice-brief-card header div,.practice-status-card header div{display:grid;gap:2px}.practice-brief-card header small,.practice-status-card header small{color:var(--ws-muted);font-size:8px}.practice-brief-card h3,.practice-status-card h3{margin:0;color:var(--ws-navy);font-size:15px}.practice-stage-guidance{margin:16px 0;padding:13px 15px;border-right:3px solid var(--ws-green);border-radius:8px;color:var(--ws-navy);background:color-mix(in srgb,var(--ws-green) 6%,var(--ws-card));font-size:11px;line-height:1.9}
.practice-step-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.practice-step-list li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:13px 0;border-bottom:1px solid var(--ws-border)}.practice-step-list li:last-child{border-bottom:0}.practice-step-list li>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:#315b9d;background:var(--ws-soft);font-weight:900}.practice-step-list div{display:grid;gap:3px}.practice-step-list b{color:var(--ws-navy);font-size:11px}.practice-step-list p{margin:0;color:var(--ws-muted);font-size:10px;line-height:1.8}.practice-launch-note{display:flex;align-items:center;gap:11px;margin-top:14px;padding:13px;border:1px solid #c9dfd4;border-radius:10px;color:var(--ws-green);background:color-mix(in srgb,var(--ws-green) 7%,var(--ws-card))}.practice-launch-note>i{font-size:18px}.practice-launch-note div{display:grid;gap:2px}.practice-launch-note b{font-size:10px}.practice-launch-note span{color:var(--ws-muted);font-size:9px;line-height:1.7}
.practice-progress-ring{--practice-progress:0%;display:grid;place-items:center;width:126px;height:126px;margin:20px auto;position:relative;border-radius:50%;background:conic-gradient(var(--ws-green) var(--practice-progress),var(--ws-soft) 0)}.practice-progress-ring:before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--ws-card)}.practice-progress-ring strong,.practice-progress-ring span{position:relative;z-index:1}.practice-progress-ring strong{align-self:end;color:var(--ws-navy);font-size:27px}.practice-progress-ring span{align-self:start;color:var(--ws-muted);font-size:9px}.practice-status-card .apeuni-actual-count{margin:0!important;padding:0!important;border:0!important;background:transparent!important}.practice-status-card .apeuni-actual-count>span{color:var(--ws-navy);font-size:10px;font-weight:800}.practice-status-card .apeuni-actual-count input{width:100%;max-width:none!important;min-height:43px;margin-top:3px;border:1px solid var(--ws-border)!important;border-radius:8px!important;background:var(--ws-soft)!important;color:var(--ws-navy)!important;text-align:center}.practice-status-card .apeuni-actual-count small{color:var(--ws-muted)!important;font-size:8px!important;line-height:1.7}.practice-session-rules{display:grid;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid var(--ws-border)}.practice-session-rules p{display:flex;align-items:flex-start;gap:7px;margin:0;color:var(--ws-muted);font-size:9px;line-height:1.7}.practice-session-rules i{margin-top:3px;color:var(--ws-green)}
body.workspace-ui.pte-page .apeuni-session .learning-card>.modal-body{background:var(--ws-bg)}body.workspace-ui.pte-page .apeuni-session .learning-card>.modal-footer{position:fixed!important;right:26px;bottom:0;left:calc(var(--ws-left) + 26px);z-index:1140;justify-content:flex-start;gap:8px;padding:12px 18px!important;border:1px solid var(--ws-border)!important;border-bottom:0!important;border-radius:12px 12px 0 0;background:color-mix(in srgb,var(--ws-card) 96%,transparent)!important;box-shadow:0 -10px 30px rgba(25,42,70,.08)!important}body.workspace-ui.pte-page .apeuni-session .learning-card>.modal-footer .success{min-width:190px;background:var(--ws-green)!important;color:#fff!important}body.workspace-ui.pte-page .apeuni-session .learning-card>.modal-footer .ghost{background:var(--ws-card)!important;color:var(--ws-navy)!important;border:1px solid var(--ws-border)!important}
@media(max-width:1050px){body.workspace-ui.pte-page .practice-session-hero{grid-template-columns:1fr}.practice-session-kpis{grid-template-columns:repeat(3,1fr)}.practice-workspace-grid{grid-template-columns:1fr}.practice-status-card{position:static;display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(220px,1.1fr);align-items:center;gap:18px}.practice-status-card>header{grid-column:1/-1}.practice-progress-ring{margin:0}.practice-session-rules{margin:0;padding:0 16px 0 0;border-top:0;border-right:1px solid var(--ws-border)}}
@media(max-width:900px){body.workspace-ui.pte-page .apeuni-session .learning-card>.modal-footer{right:11px;left:11px}}
@media(max-width:700px){body.workspace-ui.pte-page .practice-session-hero{padding:18px}.practice-session-kpis{grid-template-columns:1fr}.practice-session-kpis article{min-height:54px}.practice-status-card{display:block}.practice-progress-ring{margin:18px auto}.practice-session-rules{margin-top:15px;padding:14px 0 0;border-top:1px solid var(--ws-border);border-right:0}body.workspace-ui.pte-page .apeuni-session .learning-card>.modal-footer{display:grid;grid-template-columns:1fr}.practice-brief-card{padding:17px}.practice-session-copy h2{font-size:22px}}

/* V44.2.4 — practice owns the entire available canvas; no clickable backdrop. */
body.workspace-ui.pte-page.practice-mode .learning-layer:not(.hidden){place-items:start stretch!important;padding:0!important;background:var(--ws-bg)!important}
body.workspace-ui.pte-page.practice-mode .learning-layer:not(.hidden) .learning-card{width:100%!important;max-width:none!important;min-height:100%!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
body.workspace-ui.pte-page.practice-mode .learning-layer.timer-inside-open .module-inline-timer{border-radius:0!important}
body.workspace-ui.pte-page.practice-mode .learning-layer.timer-inside-open .learning-card>.modal-body{width:100%!important;max-width:none!important;margin:0!important;padding:22px 28px 116px!important}
body.workspace-ui.pte-page.practice-mode .apeuni-session .learning-card>.modal-footer{right:0!important;left:var(--ws-left)!important;border-inline:0!important;border-radius:0!important}
@media(max-width:900px){body.workspace-ui.pte-page.practice-mode .learning-layer.timer-inside-open .learning-card>.modal-body{padding:16px 14px 116px!important}body.workspace-ui.pte-page.practice-mode .apeuni-session .learning-card>.modal-footer{left:0!important}}
