.aluna-body { background: #eef0ec; }
.aluna-shell { width: min(100% - 32px, 1080px); margin: 0 auto; padding: 42px 0 72px; }
.aluna-header { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-bottom:30px; }
.aluna-nav { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.aluna-nav a, .aluna-logout { color:var(--green); font-size:.82rem; font-weight:700; text-decoration:none; padding:8px 10px; border-radius:999px; }
.aluna-nav a[aria-current="page"] { background:var(--green); color:#fff; }
.aluna-logout { border:1px solid rgba(63,77,66,.22); background:transparent; cursor:pointer; }
.aluna-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.aluna-card { background:#fff; border:1px solid rgba(63,77,66,.1); border-radius:18px; padding:22px; }
.aluna-main-card { min-height:280px; }
.aluna-card h2 { font-size:1.65rem; }
.aluna-empty { padding:36px; background:#fff; border-radius:18px; text-align:center; color:var(--muted); }
.login-shell { min-height:calc(100vh - 114px); display:grid; place-items:center; padding:36px 0; }
.login-card { width:min(100%,520px); background:#fff; border:1px solid rgba(63,77,66,.12); border-radius:24px; padding:clamp(24px,5vw,44px); box-shadow:0 24px 70px rgba(63,77,66,.1); }
.login-card .brand { margin-bottom:30px; }
.student-login-form { display:grid; gap:16px; margin:24px 0 18px; }
.student-login-form .btn { width:100%; }
.lesson-list { list-style:none; display:grid; gap:14px; padding:0; margin:24px 0 0; }
.lesson-item { border:1px solid rgba(63,77,66,.12); border-radius:16px; padding:18px; }
.lesson-item.is-complete { background:rgba(143,162,142,.12); }
.lesson-position { display:inline-grid; place-items:center; min-width:32px; height:32px; padding:0 8px; border-radius:999px; background:var(--ivory); font-weight:700; }
.lesson-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.progress-summary { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:8px 16px; margin:22px 0; }
.progress-summary strong { font-size:1.8rem; color:var(--green); }
.progress-summary progress { grid-column:1 / -1; width:100%; }
.progress-list, .access-list { list-style:none; padding:0; display:grid; gap:10px; }
.progress-list li, .access-list li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid rgba(63,77,66,.1); }
.profile-list { display:grid; gap:12px; }
.profile-list div { display:grid; grid-template-columns:120px 1fr; gap:16px; padding:10px 0; border-bottom:1px solid rgba(63,77,66,.1); }
.profile-list dt { font-weight:700; }
.profile-list dd { margin:0; }
@media (max-width:760px) { .aluna-shell{width:min(100% - 28px,1080px);padding-top:24px}.aluna-header{align-items:flex-start;flex-direction:column}.aluna-grid{grid-template-columns:1fr}.progress-list li,.access-list li{align-items:flex-start;flex-direction:column}.profile-list div{grid-template-columns:1fr;gap:4px} }
.dashboard-grid { margin-top: 24px; }
.dashboard-tile { display: flex; flex-direction: column; gap: 10px; }
.dashboard-tile progress { width: 100%; }
.dashboard-result-thumb { width: 96px; height: 96px; object-fit: contain; align-self: center; }
.dashboard-result-image { width: 160px; height: 160px; object-fit: contain; align-self: center; }