/* Lernstudio: page layouts and role visibility, shared surfaces and controls. */
#ds-learning-studio{box-sizing:border-box;color:var(--ds-text);font-family:var(--ds-font,system-ui,sans-serif)}
#ds-learning-studio *{box-sizing:border-box}
#ds-learning-studio>*{width:100%;max-width:1216px;margin-inline:auto}
.lz-hero{display:flex;justify-content:space-between;gap:24px;align-items:center}.lz-hero>div{min-width:0}.lz-hero-actions,.lz-guest-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.lz-role-tabs{margin-block:20px 12px}.lz-tabs{margin-block:18px;gap:8px}.lz-tabs>button{white-space:normal}.lz-panel{display:none;min-width:0}.lz-panel.is-on{display:block}
.lz-grid,.lz-two,.lz-stats{display:grid;gap:16px}.lz-grid,.lz-two{grid-template-columns:repeat(2,minmax(0,1fr))}.lz-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.lz-stat strong{display:block;font-size:28px;margin-top:8px}.lz-stat small{color:var(--ds-muted2,var(--ds-text))}
.lz-panel .ds-c-card h2,.lz-panel .ds-c-card h3{margin:0 0 14px;font-size:20px}.lz-panel form{display:grid;gap:10px}.lz-panel textarea{min-height:100px;padding:12px;resize:vertical}.lz-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.lz-item{padding:14px;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-bg);margin-top:9px;min-width:0;overflow-wrap:anywhere}.lz-item strong,.lz-item small{display:block}.lz-item small,.lz-muted{color:var(--ds-muted2,var(--ds-text));line-height:1.6}.lz-item-actions,.lz-source{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.lz-item-actions a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--ds-border);border-radius:12px;color:var(--ds-text);text-decoration:none}.lz-message{position:sticky;top:calc(var(--ds-header-h,74px) + 8px);z-index:20;padding:14px;border-radius:12px;background:var(--ds-accent);color:var(--ds-on-accent)}.lz-loading{padding:24px;text-align:center;color:var(--ds-muted2,var(--ds-text))}.lz-check{display:flex;gap:10px;align-items:center}.lz-check input{width:22px;min-height:22px;accent-color:var(--ds-accent)}.lz-list{display:grid;gap:12px}.lz-answer{white-space:pre-wrap}.lz-source a{color:var(--ds-accent)}
#ds-learning-studio hr{border:0;border-top:1px solid var(--ds-border);margin:20px 0}
#ds-learning-studio [hidden]{display:none}
#ds-learning-studio.is-guest :is(.lz-tabs,.lz-panel,.lz-message,.lz-role-tabs){display:none}
.lz-guest{margin-block:18px}.lz-guest h2{margin:0 0 8px}.lz-guest p{margin:0 0 16px;color:var(--ds-muted2,var(--ds-text))}
.lz-space-student .lz-teacher{display:none}.lz-space-teacher .lz-tabs [data-tab]{display:none}.lz-space-teacher .lz-tabs [data-tab="assignments"],.lz-space-teacher .lz-tabs [data-tab="settings"]{display:inline-flex}
.lz-space-teacher [data-panel="assignments"]>[data-assignments],.lz-space-teacher [data-panel="assignments"]>.lz-section-head{display:none}.lz-space-teacher [data-panel="settings"] .lz-grid>.ds-c-card:not(.lz-teacher){display:none}
.lz-space-admin>.lz-tabs,.lz-space-admin>[data-panel]{display:none}.lz-space-admin>[data-role-panel="admin"]{display:block}.lz-admin-space .lz-section-head{margin-bottom:16px}
#ds-learning-studio input[type=file]{padding:6px;max-width:100%;cursor:pointer;border-style:dashed}#ds-learning-studio input[type=file]::file-selector-button{min-height:34px;margin-right:12px;padding:6px 14px;border:0;border-radius:8px;background:var(--ds-accent);color:var(--ds-on-accent);font:600 13px var(--ds-font,system-ui,sans-serif);cursor:pointer}
.lz-panel form+form{margin-top:16px;padding-top:16px;border-top:1px solid var(--ds-border)}
@media(max-width:900px){.lz-hero{align-items:start;flex-direction:column}.lz-grid,.lz-two{grid-template-columns:minmax(0,1fr)}.lz-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.lz-form-row{grid-template-columns:minmax(0,1fr)}.lz-panel,.lz-list,.lz-item{min-width:0;max-width:100%;overflow-wrap:anywhere}.lz-item-actions>*{flex:1 1 140px}.lz-role-tabs>button{flex:1 1 100%}.lz-panel a{max-width:100%;overflow-wrap:anywhere}}

.lz-panel>.ds-c-card+.ds-c-card{margin-top:16px}.lz-devices summary{min-height:44px;padding:12px 0;cursor:pointer;color:var(--ds-accent)}
