.module-dashboard-card{display:flex;align-items:center;gap:1rem;height:100%;padding:1.1rem;border:1px solid var(--bs-border-color);border-radius:1rem;color:var(--bs-body-color);background:linear-gradient(145deg,var(--bs-body-bg),var(--bs-tertiary-bg));transition:transform .18s ease,box-shadow .18s ease}.module-dashboard-card:hover,.module-dashboard-card:focus-visible{transform:translateY(-2px);box-shadow:0 .5rem 1rem rgba(15,23,42,.1)}.module-dashboard-card i{font-size:1.75rem;color:var(--bs-primary)}
:root{
  /* Color tokens */
  --color-primary: #6F5CE7;
  --color-primary-light: #EFEDFF;
  --color-nav-text: #172033;
  --color-muted: #667085;
  --color-success: #15956F;
  --color-warning: #E69A2A;
  --color-error: #D84A5C;
  --bg-page: #F7F8FC;
  --bg-card: #FFFFFF;
  --border: #DDE1EA;

  /* Spacing scale (8px) */
  --space-0: 0px;
  --space-1: 4px; /* half-step for fine tuning */
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --space-6: 40px;

  --radius-1: 6px;

  /* Accessibility */
  --focus-ring: 3px solid rgba(111,92,231,0.25);
}

html{box-sizing:border-box}
*,*::before,*::after{box-sizing:inherit}

body{
  background:var(--bg-page);
  color:var(--color-nav-text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Card */
.card-eu{
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--radius-1);
  padding:var(--space-3);
}

/* Buttons */
.btn-primary-eu{
  background:var(--color-primary);
  color:white;
  border:0;
  padding:calc(var(--space-2)) calc(var(--space-3));
  min-height:44px;
}
.btn-primary-eu:focus{outline:var(--focus-ring)}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  * { transition: none !important; animation: none !important }
}

/* RTL helper */
[dir="rtl"]{
  direction:rtl;
}
.result-stat i{font-size:1.5rem}.result-hero{display:flex;align-items:center;gap:1.25rem;padding:1.5rem;border-radius:1rem;color:#fff;background:#64748b}.result-hero>div:first-child{font-size:3rem}.result-hero h2{margin:.15rem 0}.result-hero strong{font-size:2rem}.result-hero.passed{background:linear-gradient(135deg,#0d6efd,#0a58ca)}.result-hero.mastered{background:linear-gradient(135deg,#198754,#146c43)}.result-hero.perfect{background:linear-gradient(135deg,#d97706,#f59e0b)}.result-chart-wrap{height:320px;position:relative}.result-chart{width:100%;height:100%}.achievement-card{display:flex;flex-direction:column;align-items:flex-start;gap:.55rem;padding:1.25rem;border:1px solid color-mix(in srgb,var(--achievement-color) 35%,#e2e8f0);border-radius:1rem;background:linear-gradient(145deg,color-mix(in srgb,var(--achievement-color) 8%,white),white)}.achievement-card>i{font-size:2.25rem;color:var(--achievement-color)}.achievement-card.featured{box-shadow:0 0 0 3px color-mix(in srgb,var(--achievement-color) 35%,transparent)}.achievement-tile{min-width:150px}.certificate-card{max-width:720px}.user-badges{font-size:.72rem}.edu-user-details .user-badges{margin-top:.2rem}.edu-user-details .achievement-badge{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

:root{--sidebar-width:280px}
.edu-shell{min-height:100vh;margin:0}
.edu-sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-width);display:flex;flex-direction:column;background:#fff;border-inline-end:1px solid var(--border);z-index:1040}
.edu-sidebar-resizer{position:absolute;inset-block:0;inset-inline-end:-4px;width:8px;cursor:ew-resize;touch-action:none;outline:none}
.edu-sidebar-resizer::after{content:"";position:absolute;inset-block:0;inset-inline-start:3px;width:2px;background:transparent;transition:background-color .15s ease}
.edu-sidebar-resizer:hover::after,.edu-sidebar-resizer:focus-visible::after,.sidebar-resizing .edu-sidebar-resizer::after{background:var(--color-primary)}
.sidebar-resizing,.sidebar-resizing *{cursor:ew-resize!important;user-select:none!important}
.edu-sidebar-brand{height:76px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}
.edu-brand-link,.edu-mobile-brand{display:flex;align-items:center;gap:10px;color:var(--color-nav-text);font-size:1.25rem;font-weight:800;text-decoration:none}
.edu-brand-link img{width:42px;height:42px}.edu-mobile-brand img{width:34px;height:34px}
.edu-sidebar-close{border:0;background:transparent;font-size:2rem;line-height:1;color:var(--color-muted)}
.edu-language{padding:16px 20px 8px}
.edu-sidebar-menu{flex:1;overflow-y:auto;padding:12px}
.sidebar-menu-search{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:.75rem;background:#fff;box-shadow:0 .2rem .65rem rgba(15,23,42,.06)}
.sidebar-menu-search>i{color:var(--color-muted)}.sidebar-menu-search>input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--color-nav-text)}
.sidebar-menu-results{position:absolute;inset-inline:0;top:calc(100% + .35rem);max-height:320px;overflow:auto;padding:.35rem;border:1px solid var(--border);border-radius:.75rem;background:#fff;box-shadow:0 .75rem 1.8rem rgba(15,23,42,.16)}
.sidebar-menu-result{display:flex;align-items:center;gap:.65rem;padding:.65rem;border-radius:.55rem;color:var(--color-nav-text);text-decoration:none}.sidebar-menu-result:hover,.sidebar-menu-result:focus,.sidebar-menu-result.active{background:var(--color-primary-light);color:var(--color-primary);outline:none}.sidebar-menu-result span{display:flex;min-width:0;flex-direction:column}.sidebar-menu-result strong,.sidebar-menu-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-menu-result small{color:var(--color-muted)}
.sidebar-nav .navbar-nav{display:flex;flex-direction:column;gap:5px}
.sidebar-nav .nav-link{padding:11px 14px;border-radius:10px;color:var(--color-nav-text);font-weight:600;display:flex;align-items:center;gap:10px}
.sidebar-nav .nav-link:hover,.sidebar-nav .nav-link.active{color:var(--color-primary);background:var(--color-primary-light)}
.sidebar-categories,.nav-category-items{list-style:none;margin:0;padding:0}
.nav-category{margin-bottom:7px}.nav-category-toggle{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:9px 12px;color:var(--color-muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-align:start}
.nav-category-toggle::after{content:"⌄";transition:transform .2s ease}.nav-category-toggle[aria-expanded="false"]::after{transform:rotate(-90deg)}[dir="rtl"] .nav-category-toggle[aria-expanded="false"]::after{transform:rotate(90deg)}
.nav-category-toggle::after{margin-inline-start:auto}.nav-category-icon,.nav-item-icon{width:1.15em;min-width:1.15em;text-align:center;font-size:1.05rem;line-height:1}.nav-category-text,.nav-item-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-category-items .nav-link{padding-inline-start:22px}
.edu-sidebar-account{min-height:86px;padding:14px 16px;display:flex;align-items:center;gap:11px;border-top:1px solid var(--border);background:#fafbff}
.edu-user-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.edu-user-summary{min-width:0;flex:1;display:flex;align-items:center;gap:11px;border-radius:10px;outline:none}.edu-user-summary:focus-visible{box-shadow:0 0 0 3px rgba(111,92,231,.25)}
.edu-user-details{min-width:0;flex:1;display:flex;flex-direction:column}.edu-user-details small{color:var(--color-muted)}
.edu-user-details strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.edu-settings-button{width:40px;height:40px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--color-muted)}
.edu-settings-button:hover{color:var(--color-primary);background:var(--color-primary-light)}
.edu-settings-button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.role-selector{display:flex;flex-wrap:wrap;gap:8px}.role-choice input{position:absolute;opacity:0;pointer-events:none}.role-choice span{display:inline-block;padding:7px 12px;border:1px solid var(--border);border-radius:999px;cursor:pointer;background:#fff}.role-choice input:checked+span{color:var(--color-primary);background:var(--color-primary-light);border-color:var(--color-primary)}
.edu-main{min-height:100vh;margin-inline-start:var(--sidebar-width);display:flex;flex-direction:column}
.edu-content{width:100%;max-width:1600px;margin-inline:auto;padding:28px;flex:1}
.edu-footer{padding:16px 28px;color:var(--color-muted);border-top:1px solid var(--border)}
.edu-mobile-header{height:64px;padding:10px 16px;display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--border)}
.edu-menu-button{border:0;background:transparent;font-size:1.7rem;color:var(--color-nav-text)}
.edu-sidebar-backdrop{display:none}
.results-dashboard .result-hero{background:var(--result-review)}.results-dashboard .result-hero.passed{background:var(--result-pass)}.results-dashboard .result-hero.mastered{background:var(--result-mastery)}.results-dashboard .result-hero.perfect{background:var(--result-perfect)}
@media(max-width:991.98px){
  .edu-sidebar-resizer{display:none}
  .edu-sidebar{transform:translateX(-105%);transition:transform .2s ease}
  [dir="rtl"] .edu-sidebar{transform:translateX(105%)}
  .sidebar-open .edu-sidebar{transform:translateX(0)}
  .edu-main{margin-inline-start:0}.edu-content{padding:18px 14px}
  .sidebar-open .edu-sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1030}
}
