/* Mobile student workspace: existing УНИКА palette, type and components. */
.mobile-menu-toggle{display:none}
.mobile-menu{padding:20px;border:1px solid var(--color-rule);border-radius:24px 24px 0 0;background:var(--color-surface);color:var(--color-ink);width:min(100%,560px);max-width:100%;max-height:85dvh;margin:auto auto 0;overflow:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-menu::backdrop{background:#271c3c80}.mobile-menu header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.mobile-menu h2{margin:0;font-size:22px}.mobile-menu header button{width:44px;height:44px;border:0;border-radius:50%;font-size:28px;background:var(--color-paper-3);color:var(--color-accent)}.mobile-menu nav{display:grid;gap:4px}.mobile-menu nav a{display:flex;align-items:center;gap:14px;padding:14px 8px;color:inherit;text-decoration:none;border-bottom:1px solid var(--color-rule)}.mobile-menu nav a span:last-child{margin-left:auto}.mobile-menu-logout{display:flex;gap:14px;align-items:center;min-height:48px;border:0;background:transparent;color:var(--color-accent);font:inherit;margin-top:12px}
.chat-work-main .ch-preview{display:flex;gap:4px;min-width:0;max-width:100%;font-size:13px}.ch-preview-author{flex-shrink:0;max-width:45%;overflow:hidden;text-overflow:ellipsis;font-weight:600}.ch-preview-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-work-main .ch-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ch-message-count{display:grid;place-items:center;align-self:center;min-width:26px;height:26px;padding:0 7px;border-radius:99px;background:var(--color-accent-2);color:var(--color-accent);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.chat-work-main .chat-sidebar{overflow:hidden}.chat-work-main .chat-filters{flex-shrink:0}.chat-work-main .chat-channel-list{flex:1;overscroll-behavior:contain}.chat-work-main .chat-header h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:959px){
  .student-app{--student-header:64px;--student-nav:calc(64px + env(safe-area-inset-bottom));--topbar-height:var(--student-header)}
  .student-app .workbench{grid-template-columns:minmax(0,1fr)}
  .student-app .work-topbar,.student-app .chat-work-main .work-topbar{height:var(--student-header);min-height:var(--student-header);position:sticky;top:0;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:var(--color-paper);z-index:50}
  .student-app .mobile-menu-toggle{display:grid;flex-shrink:0}
  .student-app .work-topbar{gap:8px}
  .student-app .work-topbar__actions{flex-shrink:0;gap:6px}.student-app .work-icon-button,.student-app .work-avatar{width:44px;height:44px}
  .student-app .work-search{min-width:0;height:44px;padding-inline:12px}.student-app .work-search input{min-width:0;font-size:16px}.student-app input,.student-app select,.student-app textarea{font-size:16px}
  .student-app .work-content{padding:20px 16px calc(var(--student-nav) + 24px);width:100%;min-width:0}
  .student-app .mobile-tabs{grid-template-columns:repeat(5,minmax(0,1fr));height:var(--student-nav);padding:4px max(4px,env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));z-index:80;align-items:stretch}
  .student-app .mobile-tabs a,.student-app .mobile-tabs button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border:0;border-radius:12px;background:transparent;color:var(--color-muted);font:600 10px/1.2 var(--font-body);min-width:0;min-height:48px;text-decoration:none;padding:4px 0;cursor:pointer}
  .student-app .mobile-tabs .active{background:var(--color-accent-2);color:var(--color-accent)}.mobile-more-icon{display:grid;place-items:center;height:21px;font-size:16px;letter-spacing:2px}
  .student-app .notification-popover{position:fixed;top:calc(var(--student-header) - 4px);left:12px;right:12px;width:auto;max-width:none;max-height:calc(100dvh - var(--student-header) - var(--student-nav) - 16px);overflow:auto}
  .student-app .section-head{align-items:flex-start;flex-wrap:wrap}.student-app .student-search{flex-wrap:wrap}.student-app .student-search input{flex-basis:60%}.student-app .student-panel{min-width:0;overflow-wrap:anywhere}
  .student-app .chat-work-main{height:var(--chat-viewport-height,100dvh);padding:0;display:flex;flex-direction:column;min-height:0}
  .student-app .chat-work-main .chat-layout{display:grid;grid-template-columns:minmax(0,1fr);width:100%;height:auto;flex:1;min-height:0;margin:0 0 var(--student-nav);padding:0;border-radius:0;border-inline:0;box-shadow:none}
  .student-app .chat-work-main .chat-sidebar{display:none;position:static;inset:auto;z-index:auto;min-height:0;border:0}
  .student-app .chat-work-main .no-channel .chat-sidebar{display:flex}.student-app .chat-work-main .no-channel .chat-main{display:none}
  .student-app .chat-work-main .mob-back{display:flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0}
  .student-app .chat-work-main .sidebar-head{min-height:64px;padding:12px 16px}.student-app .chat-work-main .sidebar-head small{display:none}.student-app .chat-filters{margin:0 12px 8px}.student-app .chat-filters button{min-height:44px;font-size:13px}
  .student-app .chat-channel-list{padding:0 8px 12px}.student-app .chat-work-main .ch-item{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;min-height:80px;padding:12px 8px;border-radius:12px}.student-app .chat-work-main .ch-preview{margin-top:6px;font-size:14px}.student-app .chat-work-main .ch-icon{width:44px;height:44px}
  .student-app .chat-work-main .chat-main{min-width:0;min-height:0}.student-app .chat-work-main .chat-header{min-height:68px;padding:8px;gap:6px}.student-app .chat-work-main .chat-header h2{font-size:16px}.student-app .hdr-info-tap{overflow:hidden}
  .student-app .chat-work-main #msg-list{padding:12px;min-height:0;overscroll-behavior:contain}.student-app .chat-work-main .msg-row{max-width:94%;min-width:0}.student-app .msg-bubble{min-width:0}.student-app .msg-text{overflow-wrap:anywhere}.student-app .chat-work-main .chat-input-area{padding:8px}.student-app .chat-work-main .input-row{gap:0}.student-app .chat-work-main #msg-input{width:0;min-width:0;flex:1;padding:10px 6px}.student-app .chat-work-main .inp-btn{width:44px;height:44px;flex-shrink:0}
  .student-app .chat-work-main #emoji-btn,.student-app .chat-work-main #circle-btn{display:none}
  .student-app #info-panel{width:min(100%,360px);max-width:100%;bottom:0}
  .student-app.chat-keyboard-open .mobile-tabs{display:none}.student-app.chat-keyboard-open .chat-layout{margin-bottom:0}
}
@media(max-width:599px){.student-app .dashboard-hero{min-height:0;padding:24px 20px}.student-app .dashboard-hero h1{font-size:32px}.student-app .dashboard-hero__heart{opacity:.18}.student-app .profile-layout{grid-template-columns:minmax(0,1fr)}.student-app .continue-strip__action{flex-wrap:wrap}.student-app .student-material{gap:10px}.student-app .student-tag{white-space:normal}.student-app .work-empty{padding:24px}.student-app .notification-row__body{min-width:0;overflow-wrap:anywhere}}
@media(max-width:959px){
  .student-app .student-material{display:flex;flex-wrap:wrap;align-items:center}
  .student-app .student-material>span:has(>strong){flex:1 1 160px;min-width:0}
  .student-app .student-material>span:last-child:not(:has(>strong)){flex:0 0 auto}
  .student-app .student-material>.student-tag{flex:0 0 100%;width:fit-content;max-width:100%;justify-self:start}
  .student-app .profile-primary{min-width:0;overflow-wrap:anywhere}.student-app .profile-primary>div>div:has(#avatar-input){flex-wrap:wrap}
}

@media(prefers-reduced-motion:no-preference){.mobile-menu[open]{animation:student-menu-enter .2s ease-out}@keyframes student-menu-enter{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}}

/* The staff rail disappears below 48rem; its header menu keeps every authorized section reachable. */
.admin-menu-toggle{display:none}
.mobile-menu[data-rail-menu] nav a{min-height:48px;border-radius:10px}
.mobile-menu[data-rail-menu] nav a>span:last-child{margin-left:0}
.mobile-menu[data-rail-menu] nav a.active{background:var(--color-accent-2);color:var(--color-accent)}
@media(max-width:48rem){
  .admin-topbar{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:8px;padding:10px 12px;align-items:center}
  .admin-menu-toggle{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0}
  .admin-topbar .admin-search{width:100%;min-width:0;max-width:none;order:0;height:44px;padding-inline:10px}
  .admin-topbar .admin-search input{min-width:0;font-size:16px}
  .admin-topbar .admin-topbar__actions{gap:6px;margin:0;min-width:0}
  .admin-topbar .admin-create-mobile{display:none}
  .admin-topbar .admin-identity{display:none}
  .admin-topbar .admin-icon-button{width:44px;height:44px}
  .admin-topbar .notification-popover{position:fixed;top:64px;left:12px;right:12px;width:auto;max-width:none;max-height:calc(100dvh - 80px);overflow:auto}
}
