/* New functional modules: intentionally scoped so existing layout and typography stay unchanged. */
.feature-two{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:20px;align-items:start}.feature-form{display:grid;gap:12px}.feature-form h3{margin:0 0 4px}.feature-form label{display:grid;gap:6px;font-size:13px;font-weight:700}.feature-form input,.feature-form select,.feature-form textarea,.goal-actions input,.goal-actions select,.resource-toolbar input,.resource-toolbar select{width:100%;border:1px solid var(--line,#dce1d9);border-radius:11px;background:#fff;padding:11px 12px;color:var(--ink,#203a36);font:inherit}.feature-form textarea{min-height:110px;resize:vertical}.feature-check{display:flex!important;align-items:center;gap:8px}.feature-check input{width:auto}.feature-status{min-height:18px;color:#45684e;font-size:12px}.feature-list{display:grid;gap:12px}.feature-entry{padding:17px}.feature-entry-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.feature-entry-head small{display:block;margin-top:5px;color:var(--muted,#68746f);font-size:12px}.feature-entry p{white-space:pre-wrap;line-height:1.9;margin:11px 0 0;font-size:13px}.feature-reply{margin-top:13px;padding:11px 12px;border-radius:12px;background:#edf3ea}.feature-reply p{margin-top:5px}.feature-prompt{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;background:#eef5e9}.feature-prompt p{margin:4px 0 0;font-size:13px;color:var(--muted)}.feature-prompt button{flex:0 0 auto}.schedule-row.is-locked{opacity:.62;background:#f5f3ee}.schedule-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.goal-live-card{padding:16px}.goal-actions{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;margin-top:13px}.goal-actions button{white-space:nowrap}.goal-update-list{display:grid;gap:5px;margin-top:10px;color:var(--muted)}.resource-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) 160px 190px;gap:10px;margin:0 0 16px}.resource-post p{line-height:1.9;color:var(--muted);font-size:13px}.resource-files{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.resource-files a{font-size:12px;text-decoration:none}.resource-post>button{margin-top:12px}.feature-chat{display:grid;grid-template-rows:auto minmax(280px,1fr) auto auto;gap:11px;min-height:460px}.feature-chat-head{font-weight:800;padding-bottom:9px;border-bottom:1px solid var(--line,#e3e3db)}.feature-chat-list{overflow:auto;min-height:250px;max-height:440px;display:flex;flex-direction:column;gap:9px;padding-left:3px}.feature-bubble{max-width:min(82%,520px);padding:10px 12px;border-radius:14px;background:#edf1eb;color:var(--ink,#203a36)}.feature-bubble.mine{align-self:flex-start;background:#dbeade}.feature-bubble p{margin:0;white-space:pre-wrap;line-height:1.8;font-size:13px}.feature-bubble small{display:block;margin-top:5px;color:#6f7d75;font-size:10px}.feature-bubble a{display:inline-block;margin-top:6px;color:var(--deep,#18312d);font-size:12px}.feature-chat-note{font-size:11px;color:var(--muted)}.feature-chat-layout{grid-template-columns:235px minmax(0,1fr)}.group-list{display:grid;gap:7px}.group-list button,.feature-contact{background:#f5f6f1;border:0;border-radius:10px;padding:11px;text-align:right;color:var(--ink,#203a36);font:inherit;cursor:pointer}.group-list button.is-active,.group-list button:hover,.feature-contact:hover{background:#dfeadf}.feature-group-message{border-bottom:1px solid var(--line,#e4e3dd);padding:0 0 10px}.feature-group-message:last-child{border-bottom:0}.feature-group-message b{font-size:12px}.feature-group-message p{margin:5px 0;white-space:pre-wrap;font-size:13px}.feature-group-message small{color:var(--muted);font-size:10px}.teacher-feature{grid-template-columns:minmax(280px,.8fr) minmax(260px,.7fr)}.feature-contact-list{display:grid;gap:7px;margin-top:12px;max-height:500px;overflow:auto}.feature-upload-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center}.feature-upload-inline input{min-width:0;border:1px solid var(--tm-line,#d8ddd3);border-radius:9px;padding:8px}.feature-member-checks{display:grid;gap:8px;max-height:300px;overflow:auto;border:1px solid var(--tm-line,#d8ddd3);border-radius:12px;padding:10px}.feature-member-checks label{display:flex;align-items:center;gap:8px;margin:0!important;font-weight:500!important}.feature-learning p{white-space:pre-wrap;line-height:1.9;font-size:13px}.feature-reply-form{display:grid;gap:8px;margin-top:13px}.feature-reply-form textarea{min-height:80px;border:1px solid var(--tm-line,#d8ddd3);border-radius:10px;padding:10px;font:inherit}.feature-dialog textarea{min-height:140px;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit;resize:vertical}
@media(max-width:850px){.feature-two,.teacher-feature,.feature-chat-layout{grid-template-columns:1fr}.resource-toolbar{grid-template-columns:1fr 1fr}.feature-chat{min-height:420px}.feature-chat-list{max-height:340px}.feature-upload-inline{grid-template-columns:1fr}.goal-actions{grid-template-columns:1fr}.feature-prompt{align-items:flex-start;flex-direction:column}.feature-prompt button{width:100%}}
@media(max-width:480px){.resource-toolbar{grid-template-columns:1fr}.feature-entry-head{align-items:flex-start;flex-direction:column}.feature-bubble{max-width:92%}}

/* V009: navigation, dashboards, resources and message center.  All selectors are scoped. */
.view.show{animation:masir-view-in .34s cubic-bezier(.2,.8,.2,1)}@keyframes masir-view-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.sidebar,.tm-sidebar{transition:width .28s ease,padding .28s ease,transform .28s ease}.nav button,.tm-sidebar nav a{transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.nav button:hover,.tm-sidebar nav a:hover{transform:translateX(-3px)}
.sidebar-collapse{margin-right:auto;border:1px solid rgba(255,255,255,.2);background:transparent;color:inherit;border-radius:8px;cursor:pointer;width:28px;height:28px;font-size:20px;line-height:1}.brand{gap:8px}.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .side-label{display:none}.sidebar-collapsed .nav button{justify-content:center}.sidebar-collapsed .side-bottom .member{justify-content:center}.tm-sidebar.is-collapsed{width:76px;padding-inline:11px}.tm-sidebar.is-collapsed .tm-brand-name,.tm-sidebar.is-collapsed nav span,.tm-sidebar.is-collapsed #teacherProfile span,.tm-sidebar.is-collapsed #teacherProfile small{display:none}.tm-sidebar.is-collapsed nav a{justify-content:center;padding-inline:8px}.tm-sidebar.is-collapsed #teacherProfile{justify-content:center}
.mini-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 18px}.mini-stat{border:1px solid var(--line,#e5e3da);background:#fffdf8;border-radius:16px;padding:14px}.mini-stat span{display:block;color:var(--muted);font-size:12px}.mini-stat b{font-size:25px;margin-top:4px;display:block}.secondary-dashboard{margin-top:18px}.compact-list{display:grid;gap:10px}.compact-list>div{padding-bottom:10px;border-bottom:1px solid var(--line,#e5e3da)}.compact-list>div:last-child{border-bottom:0;padding-bottom:0}.compact-list b,.compact-list small{display:block}.compact-list small{color:var(--muted);font-size:11px;margin-top:4px}
.notification-list{display:grid;gap:7px}.notification-row{border:0;background:#fff;text-align:right;display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:13px;cursor:pointer;color:var(--ink,#203a36);font:inherit;transition:background .16s ease,transform .16s ease}.notification-row:hover{background:#edf4ea;transform:translateX(-2px)}.notification-row b,.notification-row small,.notification-row time{display:block}.notification-row small{font-size:12px;color:var(--muted);margin-top:3px}.notification-row time{font-size:10px;color:#8b8b82;margin-top:5px}.notification-mark{width:32px;height:32px;border-radius:10px;background:#e7f0e4;color:#395e44;display:grid;place-items:center;flex:0 0 auto}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.resource-square{min-height:205px;border:1px solid var(--line,#e2e2d9);background:#fffdf8;color:var(--ink,#203a36);border-radius:18px;padding:18px;text-align:right;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:flex-start;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.resource-square:hover{transform:translateY(-4px);border-color:#b9cdb7;box-shadow:0 16px 28px rgba(23,56,50,.1)}.resource-square h3{font-size:19px;margin:15px 0 8px}.resource-square p{margin:0;line-height:1.9;color:var(--muted);font-size:13px}.resource-square small{margin-top:auto;color:#718073;font-size:11px}.resource-square-level{display:inline-flex;background:#eaf1e7;color:#46684d;border-radius:99px;padding:4px 8px;font-size:10px}.resource-dialog h3{margin:14px 0 7px}.resource-full-description{white-space:pre-wrap;line-height:2}.resource-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.resource-comments{display:grid;gap:10px}.resource-comment{padding:12px;border:1px solid var(--line,#e5e3da);border-radius:12px}.resource-comment p{white-space:pre-wrap;line-height:1.8;margin:5px 0}.resource-comment small{color:var(--muted);font-size:10px}.text-button{border:0;background:transparent;color:#496a4d;padding:6px 0;cursor:pointer;font:inherit;font-size:12px}.danger-text{color:#a64f45}.comment-actions{display:flex;gap:12px}.teacher-note{background:#edf3e9;border-radius:9px;padding:8px 10px;margin-top:8px}.teacher-note p{margin:4px 0 0}.planning-card h2{margin:0;font-size:18px}.teacher-comments{display:grid;gap:5px;margin-top:12px}.teacher-comments p{margin:0;background:#edf3e9;padding:8px;border-radius:8px;font-size:12px}.teacher-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}
.premium-chat-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:15px}.chat-inbox{min-height:540px}.inbox-head{display:grid;gap:10px}.inbox-head h2{font-size:18px;margin:0}.inbox-head input{border:1px solid var(--tm-line,#d8ddd3);border-radius:10px;padding:10px;font:inherit}.inbox-contact{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px}.inbox-contact.is-active{background:#dcead9}.contact-avatar{width:36px;height:36px;border-radius:50%;background:#e1ebde;display:grid;place-items:center;font-weight:800}.contact-copy{min-width:0}.contact-copy b,.contact-copy small{display:block;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-copy small{font-size:11px;color:var(--muted);margin-top:2px}.inbox-contact em{font-style:normal;background:#b57936;color:white;border-radius:99px;min-width:20px;padding:2px 6px;font-size:11px}.premium-chat{min-height:540px}
@media(max-width:980px){.resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-dashboard-grid,.premium-chat-layout{grid-template-columns:1fr}.tm-sidebar.is-collapsed{width:auto}.tm-sidebar.is-collapsed .tm-brand-name,.tm-sidebar.is-collapsed nav span,.tm-sidebar.is-collapsed #teacherProfile span,.tm-sidebar.is-collapsed #teacherProfile small{display:inline}.tm-sidebar.is-collapsed nav a{justify-content:flex-start;padding-inline:13px}.sidebar-collapsed .sidebar{width:auto}.sidebar-collapsed .side-label{display:inline}.sidebar-collapsed .nav button{justify-content:flex-start}}
@media(max-width:650px){.mini-stat-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}.teacher-dashboard-grid{grid-template-columns:1fr}.resource-square{min-height:170px}.tm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.feature-chat-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.feature-chat-head input,.feature-search-label input{min-width:0;border:1px solid var(--line,#dce1d9);border-radius:9px;background:#fff;padding:8px 10px;color:var(--ink,#203a36);font:inherit;font-size:12px}.feature-search-label{display:grid;gap:6px;font-size:12px;font-weight:700}
.app.sidebar-collapsed main{margin-right:76px}.tm-app:has(.tm-sidebar.is-collapsed){padding-right:76px}
@media(max-width:980px){.app.sidebar-collapsed main{margin-right:0}.tm-app:has(.tm-sidebar.is-collapsed){padding-right:0}}
