/* Compact shared workspace. Palette stays compatible with the tutor cabinet. */
:root{--card:#fffefa;--line:#e4e3db;--muted:#606970}
body{font-size:15px;background:#f6f5f0}
h1{font-size:clamp(26px,2.6vw,36px);letter-spacing:-.8px}h2{font-size:23px}h3{font-size:18px}
.sidebar{width:230px;padding:28px 16px;background:#eeeee6;border-right:1px solid var(--line)}
.brand{font-size:19px;gap:13px;margin:0 14px 32px}.brand-symbol{transform:scale(.78);transform-origin:center;width:34px}
.sidebar nav a{padding:14px 18px;font-size:16px;min-height:50px;border-radius:16px;gap:13px}
.shell{margin-left:230px;padding:34px 36px}.main{max-width:1250px}.sub{font-size:17px}
.panel{border:1px solid var(--line);border-radius:20px;padding:24px;margin:20px 0;box-shadow:0 3px 15px #16362b03}
.btn{border-radius:14px;font-size:15px;padding:11px 20px;min-height:44px}.welcome .btn{font-size:16px;min-height:48px;padding:12px 22px}
.welcome{margin-bottom:24px;grid-template-columns:minmax(0,1fr) 210px}.student-counter{min-height:108px;border:1px solid var(--line);border-radius:20px;font-size:16px;padding:20px}.student-counter strong{font-size:36px}
.stat-grid{gap:12px;margin:20px 0}.stat-card{padding:20px;border-radius:18px}.stat-card strong{font-size:29px}.stat-card span{font-size:14px}
.section-heading .muted{font-size:15px}.avatar{width:46px;height:46px;font-size:17px}.task-row{gap:20px;padding:20px 0}
input,select,textarea{border-radius:12px}textarea{resize:vertical}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b16a22;outline-offset:3px}
.lesson-page .shell{height:100dvh;padding:22px 30px;overflow:hidden}.lesson-page .main{height:100%;display:flex;flex-direction:column;min-height:0;max-width:1000px}
.lesson-page .back{font-size:14px;margin-bottom:8px;align-self:flex-start}.chat-heading{display:flex;gap:16px;align-items:baseline;justify-content:space-between;margin:0}.chat-heading h1{font-size:27px;margin:0}.chat-heading p{font-size:14px}
.lesson-note{margin:10px 0;padding:8px 16px;flex:none;max-height:22dvh;overflow:auto}.lesson-note summary{font-size:14px}
.chat-panel{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;background:var(--card);border-radius:20px;box-shadow:0 4px 24px #19382c05}
.chat-scroll{height:auto;min-height:0;flex:1;padding:22px;overflow-anchor:none;scrollbar-width:thin}
.chat-message{background:#f1f3ee;border:1px solid #e6e9e1;max-width:88%;padding:16px 20px;margin-bottom:18px;font-size:16px;line-height:1.65}.chat-message.user-message{background:#e4eee7;border-color:#d8e6dc}.chat-message header{font-size:12px;margin-bottom:8px}.chat-message header time{font-size:11px}.prose{overflow-wrap:anywhere}
.chat-composer{padding:12px 20px;flex:none}.chat-composer label{font-size:14px;margin-bottom:6px;display:block}.chat-composer textarea{min-height:70px;height:70px;max-height:120px;padding:10px 13px;line-height:1.5}.composer-actions{margin-top:8px}.composer-actions small{font-size:12px}.chat-composer .notice{padding:10px 14px;margin:0;font-size:14px}.chat-status:empty,.errorlist:empty{display:none}.chat-status,.network-status{margin:0;padding:8px 20px;font-size:13px}.network-status{background:#fff0e5}.new-messages{font-size:13px;min-height:34px;margin:5px auto}#login-again{align-self:center;margin:6px}
.lesson-tools{justify-content:space-between;margin:10px 0 4px}.lesson-tools .btn{font-size:13px;min-height:38px;padding:8px 14px}.lesson-tools .danger{color:#8e2845;border-color:#ddc4c9}.lesson-page .main>p.muted{font-size:12px;margin:0}.lesson-page .main>p.muted small{font-size:12px}
@media(max-width:900px){.sidebar{position:static;width:auto;padding:12px 20px;flex-direction:row;align-items:center;gap:20px}.brand{margin:0;font-size:16px}.brand-symbol{height:44px}.sidebar nav{display:flex;gap:6px;flex:1}.sidebar nav a{padding:10px;font-size:14px;min-height:44px}.sidebar-user{margin:0;padding:0;border:0}.sidebar-user .avatar,.sidebar-user small{display:none}.sidebar-user strong{font-size:12px}.shell{margin-left:0;padding:24px}.lesson-page{height:100dvh;display:flex;flex-direction:column}.lesson-page .shell{height:auto;flex:1;min-height:0;padding:16px 20px}.lesson-page .sidebar-user{display:none}.lesson-page .chat-heading p{display:none}.lesson-page .main>p.muted{display:none}}
@media(max-width:600px){.shell{padding:20px 14px}.sidebar{padding:10px 14px;gap:10px;flex-wrap:wrap}.sidebar-user{display:none}.sidebar nav a svg{display:none}.sidebar nav{justify-content:flex-end}.brand{font-size:14px;gap:4px}.welcome{grid-template-columns:1fr;gap:14px}.student-counter{min-height:70px;padding:14px}.student-counter span{display:flex;align-items:center;gap:15px}.student-counter strong{font-size:28px;margin:0}.panel{padding:18px;border-radius:16px}.stat-card{padding:15px}.stat-card span{font-size:12px}.section-heading{flex-wrap:wrap}.lesson-page .shell{padding:10px}.chat-heading h1{font-size:21px}.lesson-note{margin:7px 0;max-height:18dvh}.chat-scroll{padding:14px}.chat-message{max-width:95%;padding:12px 14px;font-size:16px}.chat-composer{padding:10px 12px}.composer-actions small{max-width:60%;font-size:11px}.chat-message header{gap:6px}.chat-composer textarea{font-size:16px}.lesson-tools{margin-top:6px}.chat-panel{border-radius:16px}}
@media(max-height:540px){.lesson-page .sidebar,.lesson-page .lesson-note,.lesson-page .main>p.muted{display:none}.lesson-page .shell{margin-left:0;padding:8px 16px}.lesson-page .back{margin:0}.chat-heading h1{font-size:19px}.chat-composer textarea{min-height:44px;height:44px}}
