/* TopicList / UnitList / MaterialLessonCatalogueView native points. */
[data-native-materials]{position:relative;background:#f8fafc;color:#1f2937;box-sizing:border-box;display:flex;flex-direction:column;min-height:0}
[data-native-materials=folder]{padding:16px}
[data-native-materials=catalogue]{padding:12px 16px}
.native-materials-stack{width:100%;min-height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:12px;margin:0 auto;flex:1}
[data-native-materials=catalogue]>.native-materials-stack{max-width:800px;padding:4px 0}
.native-materials-identity{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:12px;flex-shrink:0}
.native-materials-identity h2{font-size:22px;line-height:1.2;font-weight:700;margin:0;color:#18181b}
.native-materials-identity-icon{width:64px;height:64px;border-radius:20px;background:#dbeafe;background:color-mix(in srgb,var(--materials-accent) 18%,transparent);display:flex;align-items:center;justify-content:center;color:var(--materials-accent);flex-shrink:0}
.native-materials-guidance{width:100%;text-align:left;background:white;border-radius:12px;overflow:hidden;border:1px solid #e2e8f0}
.native-materials-guidance-button{padding:11px 14px;min-height:44px;width:100%;background:none;border:0;border-radius:0;color:#334155;text-align:left;font-size:14px;font-weight:600;box-shadow:none}
.native-materials-guidance-button:disabled{opacity:.55}
.native-materials-guidance-label{display:flex;align-items:center;gap:9px}.native-materials-guidance-label>.native-icon:last-child{margin-left:auto;color:#64748b}
.native-materials-info{display:flex;align-items:center;justify-content:center;width:19px;height:19px;flex-shrink:0;border-radius:50%;background:#6366f1;color:white;font:700 14px Georgia,serif}
.native-materials-guidance p{white-space:pre-wrap;padding:12px 14px;margin:0;border-top:1px solid #e2e8f0;font-size:14px;line-height:1.5;color:#475569}
.native-materials-topic{width:100%;border-radius:16px;background:white;overflow:hidden;box-shadow:0 2px 2px #0000000f;flex-shrink:0}
.native-materials-topic.is-expanded{box-shadow:0 2px 8px #00000024}
.native-materials-topic-button{width:100%;min-height:64px;padding:16px;background:none;border:0;border-radius:0;text-align:left;color:#18181b;font-size:16px;font-weight:600;box-shadow:none}
.native-materials-topic-label{display:flex;align-items:center;gap:14px}
.native-materials-topic-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#eef2ff;background:color-mix(in srgb,var(--materials-accent) 18%,transparent);color:var(--materials-accent)}
.native-materials-hierarchy-title{display:flex;align-items:center;gap:8px;flex:1;min-width:0;text-align:left}
.native-materials-hierarchy-text{flex:1;min-width:0;overflow-wrap:anywhere;line-height:20px}
.native-materials-new{white-space:nowrap;color:#dc2626;font-size:10px;font-weight:700;line-height:13px;flex-shrink:0}
.native-materials-expand{color:#808080;display:flex;align-items:center;flex-shrink:0}.native-materials-expand.is-expanded{transform:rotate(180deg)}
.native-materials-topic-button:disabled{color:#64748b;opacity:1}.native-materials-topic-button:disabled .native-materials-topic-icon{color:#808080}
.native-materials-units{position:relative;display:flex;flex-direction:column;gap:8px;padding:0 16px 16px}
.native-materials-unit{width:100%;min-height:48px;padding:12px;border-radius:12px;border:0;background:#f8fafc;color:#18181b;text-align:left;font-size:14px;font-weight:400;box-shadow:none}
.native-materials-unit-label{display:flex;align-items:center;gap:12px}.native-materials-unit-label>.native-icon:last-child{color:#808080}
.native-materials-unit-dot{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:8px;background:#eef2ff;background:color-mix(in srgb,var(--materials-accent) 12%,transparent)}
.native-materials-unit-dot::after{content:'';width:8px;height:8px;background:var(--materials-accent);border-radius:50%}
.native-materials-unit:disabled{color:#64748b;opacity:1}.native-materials-unit:disabled .native-materials-unit-dot::after{background:#808080}
.native-materials-empty{font-size:14px;color:#64748b;text-align:center;padding:16px;margin:0}
.native-materials-retry{padding:10px 14px;min-height:44px;color:#4f46e5;background:none;border:0;border-radius:10px;box-shadow:none}
.native-materials-loading{position:absolute;top:8px;right:8px;font-size:0;margin:0;pointer-events:none}
.native-materials-loading::before{content:'';display:block;width:16px;height:16px;border:2px solid #cbd5e1;border-top-color:#64748b;border-radius:50%;animation:native-materials-spin .8s linear infinite}
@keyframes native-materials-spin{to{transform:rotate(360deg)}}
.native-materials-content-request{min-height:44px;color:#4f46e5;font-size:15px;background:white;border:0;border-radius:0;margin:16px -16px -16px;padding:12px;text-align:center;box-shadow:none}
.native-materials-lesson{border-radius:14px;background:white;box-shadow:0 2px 4px #0000001a;border:1px solid #80808021;overflow:hidden;flex-shrink:0}
.native-materials-lesson.is-completed{background:#d1fae5}
.native-materials-lesson.is-locked{border-color:transparent;box-shadow:none}
.native-materials-lesson-button{width:100%;padding:14px;background:none;border:0;border-radius:0;box-shadow:none;text-align:left;color:#1f2937}
.native-materials-lesson-label{display:flex;align-items:center;gap:13px;min-width:0}
.native-materials-number{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:10px;background:#4f46e5;color:white;font-size:16px;font-weight:700}
.native-materials-number.is-completed{background:#10b981}.native-materials-number.is-locked{background:#e2e8f0;color:#999}
.native-materials-lesson-caption{display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}
.native-materials-lesson-caption>strong{font-size:16px;line-height:20px;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.native-materials-lesson-caption>small{font-size:12px;line-height:16px;color:#64748b}.native-materials-lesson-caption>small.is-completed{color:#16a34a}
.native-materials-lesson-chevron{display:flex;align-items:center;flex-shrink:0;color:#80808059}
.native-materials-lesson-button:disabled{color:#94a3b8;opacity:1}
.native-materials-downloaded{color:#16a34a;display:flex}
.native-materials-answers{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:14px;background:none;border:0;border-top:1px solid #0000001a;border-radius:0;color:#4f46e5;font-size:15px;font-weight:600;box-shadow:none;text-align:left}
.native-materials-download{display:flex;flex-direction:column;gap:6px;padding:13px 16px;border-top:1px solid #0000001a}
.native-materials-download>button{display:flex;align-items:center;gap:10px;width:100%;padding:0;background:none;border:0;border-radius:0;min-height:24px;font-size:14px;font-weight:600;color:#2563eb;text-align:left;box-shadow:none}
.native-materials-download>button>span:nth-child(2){flex:1}.native-materials-download>button.is-downloaded{color:#16a34a}
.native-materials-download p{font-size:12px;line-height:16px;margin:0}
.native-materials-tests{display:flex;flex-direction:column;gap:8px}
.native-materials-test{padding:16px;width:100%;border:0;border-radius:16px;min-height:80px;background:#f1f5f9;color:#64748b;text-align:left;box-shadow:none}
.native-materials-test-label{display:flex;align-items:center;gap:14px;min-height:48px}
.native-materials-test-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:12px;background:#e2e8f0;color:#94a3b8}
.native-materials-test-text{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.native-materials-test-text strong{font-size:17px;font-weight:700;line-height:21px}.native-materials-test-text small{font-size:12px;line-height:16px}
.native-materials-test.is-unlocked{background:#f97316;color:white}.native-materials-test.is-unlocked .native-materials-test-icon{background:#ffffff40;color:white}
.native-materials-test:disabled{opacity:1}.native-materials-last-test{font-size:12px;text-align:center;color:#64748b;margin:0}
.native-materials-failure{display:flex;align-items:center;gap:8px;color:#dc2626;font-size:12px;line-height:16px}.native-materials-failure p{flex:1;margin:0}
[data-native-materials] hr{border:0;border-top:1px solid #e2e8f0;width:100%;margin:0}
[data-native-materials] button:focus-visible{outline:2px solid #4f46e5;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.native-materials-loading::before{animation:none}}
/* MaterialContentRequestsView large sheet and anchored explicit-action dock. */
dialog.native-content-requests{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:620px;height:90dvh;max-height:90dvh;padding:0;border:0;border-radius:24px 24px 0 0;background:#f8fafc;overflow:hidden;color:#1e293b;box-sizing:border-box}
dialog.native-content-requests[open]{display:flex;flex-direction:column}
.native-content-requests>h2{margin:0;padding:16px 20px;background:white;text-align:center;font-size:17px;font-weight:600;line-height:22px;flex-shrink:0}
.native-content-requests>.modal-content{flex:1;min-height:0;overflow:auto;padding:0}
.native-content-request-body{padding:20px;text-align:left;font-size:16px;line-height:1.4}
.native-content-request-body h3{font-size:22px;font-weight:700;line-height:1.2;margin:0 0 16px}
.native-content-request-body p{margin:0 0 16px}
.native-content-request-received{color:#16a34a}.native-content-request-date{font-size:14px}
.native-content-requests>.modal-actions{padding:0;display:block;border:0;flex-shrink:0}
.native-content-request-footer{padding:16px;display:flex;flex-direction:column;gap:12px;background:white;border-top:1px solid #e2e8f0}
.native-content-request-pagination,.native-content-request-utilities{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px}
.native-content-request-pagination button,.native-content-request-utilities button{min-width:44px;min-height:44px;padding:8px;background:none;border:0;border-radius:10px;color:#4f46e5;box-shadow:none}
.native-content-request-pagination button{display:flex;align-items:center;justify-content:center}
.native-content-request-footer>.primary{min-height:48px;font-size:16px;font-weight:600;background:#4f46e5;border-radius:12px;border:0;color:white;text-align:center}
.native-content-request-footer button:disabled{opacity:.4}
/* Keep the request footer outside the scrolling native hierarchy viewport. */
[data-native-materials]{padding:0;overflow:hidden}
.native-materials-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
[data-native-materials=folder]>.native-materials-scroll>.native-materials-stack{padding:16px;min-height:100%}
[data-native-materials=catalogue]>.native-materials-scroll{padding:0 16px}
[data-native-materials=catalogue]>.native-materials-scroll>.native-materials-stack{max-width:800px;padding:16px 0;min-height:100%}
.native-materials-content-request{margin:0;flex-shrink:0;min-height:44px;width:100%;padding:12px 16px}
