﻿/* VIAL LMS 0.6.73 clean layout layer. */
:root{
  --vial-topbar-height:72px;
  --vial-gap:16px;
  --vial-page-pad:16px;
  --vial-drawer-width:288px;
  --vial-page-width:1120px;
  --vial-home-width:1120px;
  --vial-course-width:1280px;
  --vial-lesson-width:1280px;
  --vial-admin-width:1120px;
  --vial-users-width:1260px;
  --vial-test-width:1040px;
  --vial-login-width:720px;
  --vial-line:#d9e3ec;
  --vial-soft:#eefafa;
  --vial-teal:#00857f;
  --vial-text:#0f172a;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  margin:0;
  min-width:0;
  overflow-x:hidden!important;
  background:#f4f7fa;
}

body{
  --vial-canvas-width:var(--vial-page-width);
  margin:0!important;
  min-width:0!important;
  padding-top:var(--vial-topbar-height)!important;
  overflow-x:hidden!important;
  background:#f4f7fa!important;
  color:var(--vial-text);
}

body.moodle-home:not(.guest-shell){--vial-canvas-width:var(--vial-home-width);}
body.moodle-admin-page,
body.admin-update-page{--vial-canvas-width:var(--vial-admin-width);}
body.users-admin-page{--vial-canvas-width:var(--vial-users-width);}
body.course-view{--vial-canvas-width:var(--vial-course-width);}
body.lesson-page-view{--vial-canvas-width:var(--vial-lesson-width);}
body.test-view,
body.course-test-view{--vial-canvas-width:var(--vial-test-width);}
body.login-page,
body.guest-shell.moodle-home{--vial-canvas-width:var(--vial-login-width);}

body > main.wrap,
body > main.wrap.single-layout,
body.no-sidebar > main.wrap.single-layout,
body.with-sidebar > main.wrap.app-layout.moodle-layout,
body.with-sidebar.sidebar-hidden > main.wrap.app-layout.moodle-layout,
body.with-sidebar:not(.sidebar-hidden) > main.wrap.app-layout.moodle-layout{
  display:block!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  width:min(var(--vial-canvas-width), calc(100vw - (var(--vial-page-pad) * 2)))!important;
  min-width:0!important;
  max-width:var(--vial-canvas-width)!important;
  margin:24px auto 0!important;
  padding:0!important;
  transition:none!important;
  grid-template-columns:none!important;
}

body > main.wrap > .main-content,
body.with-sidebar .main-content,
body.with-sidebar.sidebar-hidden .main-content,
body.with-sidebar:not(.sidebar-hidden) .main-content,
body.moodle-admin-page .main-content,
body.moodle-home .main-content{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  transition:none!important;
}

.moodle-top{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:var(--vial-topbar-height)!important;
  z-index:50000!important;
  display:block!important;
  overflow:hidden!important;
  background:#fff!important;
  border-bottom:1px solid #e3ebf2!important;
  box-shadow:0 2px 14px rgba(15,23,42,.06)!important;
}

.moodle-top .moodle-bar{
  height:100%!important;
  min-height:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:9px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  overflow:hidden!important;
}

.moodle-top .moodle-brand{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  text-decoration:none!important;
}

.moodle-top .moodle-brand img{
  width:auto!important;
  height:46px!important;
  max-width:150px!important;
  object-fit:contain!important;
  display:block!important;
}

.moodle-top .moodle-mainnav.compact,
.moodle-top .moodle-mainnav{
  flex:1 1 auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  min-height:0!important;
  scrollbar-width:none!important;
}

.moodle-top .moodle-mainnav::-webkit-scrollbar{display:none!important;}

.moodle-top .moodle-mainnav a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:7px 10px!important;
  border:0!important;
  border-radius:10px!important;
  color:var(--vial-text)!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:14px!important;
  line-height:1.2!important;
  box-shadow:none!important;
}

.moodle-top .moodle-mainnav a:hover,
.moodle-top .moodle-mainnav a:focus,
.moodle-top .moodle-mainnav a.active{
  background:var(--vial-soft)!important;
  color:#006b66!important;
  text-decoration:none!important;
  outline:none!important;
  box-shadow:none!important;
}

.moodle-actions{
  flex:0 0 auto!important;
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:8px!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

.moodle-more-nav{display:none!important;}
.nav-toggle{display:none!important;}

.lang-switch{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:2px!important;
  margin:0!important;
  padding:3px!important;
  border:1px solid #dbe6ef!important;
  border-radius:999px!important;
  background:#f1f5f9!important;
}

.lang-switch a{
  min-width:38px!important;
  height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  text-decoration:none!important;
  color:#334155!important;
  font-weight:700!important;
  font-size:13px!important;
}

.lang-switch a.active{background:#0d9488!important;color:#fff!important;}

.icon-btn{
  flex:0 0 auto!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dbe6ef!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  text-decoration:none!important;
  overflow:visible!important;
}

.user-menu{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  z-index:50001!important;
}

.user-menu-btn{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  min-height:42px!important;
  padding:3px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #dbe6ef!important;
  border-radius:999px!important;
  background:#fff!important;
  cursor:pointer!important;
  overflow:hidden!important;
}

.user-menu-btn:hover,
.user-menu-btn:focus{
  background:var(--vial-soft)!important;
  outline:none!important;
  box-shadow:0 0 0 2px rgba(13,148,136,.18)!important;
}

.user-menu-name,
.user-menu-caret{display:none!important;}

.avatar,
.avatar-sm,
.user-menu-btn img,
.user-menu-btn .avatar-fallback{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  object-fit:cover!important;
  margin:0!important;
}

.avatar-fallback{
  background:#e2e8f0!important;
  color:#334155!important;
  font-weight:800!important;
}

.user-menu-dropdown{
  min-width:240px!important;
  border:1px solid #dbe6ef!important;
  border-radius:14px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
  background:#fff!important;
  padding:8px!important;
  z-index:2147483647!important;
}

.user-menu-dropdown.open{display:block!important;}

.user-menu-dropdown a,
.user-submenu > button{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border:0!important;
  background:transparent!important;
  color:#0f172a!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  text-decoration:none!important;
  text-align:left!important;
  font:inherit!important;
  cursor:pointer!important;
}

.user-menu-dropdown a:hover,
.user-submenu > button:hover{background:#f1f5f9!important;color:#006b66!important;}
.user-menu-dropdown hr{border:0!important;border-top:1px solid #e5edf3!important;margin:6px 0!important;}

.user-submenu{
  position:relative!important;
}

.user-submenu > div{
  display:none;
  position:absolute!important;
  left:100%!important;
  top:0!important;
  min-width:210px!important;
  background:#fff!important;
  border:1px solid #dbe6ef!important;
  border-radius:14px!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
  padding:8px!important;
  z-index:2147483647!important;
}

.user-submenu.open > div{display:block!important;}

.edit-switch{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}

.edit-switch input{width:auto!important;margin:0!important;}

.moodle-heading,
.vial-home-heading,
.moodle-tabs,
.breadcrumbs,
.moodle-admin-head,
.admin-tabs,
.admin-section-intro,
.admin-section-list,
.admin-directory-list,
.moodle-management-grid,
.admin-update-grid,
.update-details,
.course-header,
.course-outline-shell,
.moodle-section,
.add-section-box,
.lesson-reader-head,
.lesson-reading-layout,
.lesson-reading-main,
.lesson-reader-nav,
.lesson-reader-card,
.lesson-page-editor-card,
.lesson-materials,
.test-shell,
.test-head,
.test-tabs,
.test-attempt-form,
.test-question-page,
.test-page-controls,
.result-card,
.table-scroll{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
}

.moodle-tabs,
.admin-tabs,
.test-tabs{
  display:flex!important;
  align-items:flex-end!important;
  gap:6px!important;
  flex-wrap:wrap!important;
  overflow:visible!important;
  border-bottom:1px solid #dbe6ef!important;
}

.moodle-tabs a,
.admin-tabs a,
.test-tabs a{
  flex:0 0 auto!important;
  text-decoration:none!important;
  border:0!important;
  border-radius:10px 10px 0 0!important;
  padding:10px 12px!important;
  color:#00756f!important;
  white-space:nowrap!important;
}

.moodle-tabs a.active,
.admin-tabs a.active,
.test-tabs a.active{
  background:#fff!important;
  color:#0f172a!important;
  box-shadow:inset 0 -3px 0 #0d9488!important;
  font-weight:700!important;
}

.moodle-tabs a:hover,
.admin-tabs a:hover,
.test-tabs a:hover{
  background:var(--vial-soft)!important;
  text-decoration:none!important;
}

body.moodle-home:not(.guest-shell) .home-columns,
body.moodle-home:not(.guest-shell) .vial-home-columns{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

body.moodle-home:not(.guest-shell) .vial-home-card{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
  width:100%!important;
  min-height:calc(100vh - var(--vial-topbar-height) - 138px)!important;
  padding:28px 30px!important;
  overflow:hidden!important;
}

body.moodle-home:not(.guest-shell) .vial-home-welcome{
  width:100%!important;
  min-width:0!important;
}

body.moodle-home:not(.guest-shell) .vial-home-course-section{
  width:100%!important;
  min-width:0!important;
  padding-top:16px!important;
  border-top:1px solid #dbe6ef!important;
}

.welcome-card,
.my-courses-block{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

.mini-course-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:12px!important;
  align-items:start!important;
  max-height:340px!important;
  overflow:auto!important;
  padding-right:2px!important;
}

.mini-course{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:center!important;
  text-decoration:none!important;
}

.mini-course .course-thumb,
.mini-course img{
  width:64px!important;
  height:64px!important;
  object-fit:cover!important;
}

.mini-course strong,
.mini-course span{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}

body.login-page .login-shell,
body.guest-shell.moodle-home .login-shell{
  min-height:calc(100vh - var(--vial-topbar-height) - 72px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px 0!important;
}

body.login-page .login-card,
body.guest-shell.moodle-home .login-card{
  width:min(700px, calc(100vw - 32px))!important;
  min-width:0!important;
  max-width:700px!important;
  margin:0 auto!important;
  text-align:center!important;
}

body.login-page .login-card h1,
body.guest-shell.moodle-home .login-card h1{
  overflow-wrap:normal!important;
}

body.moodle-admin-page .admin-summary-strip{display:none!important;}

.moodle-admin-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:var(--vial-gap)!important;
  align-items:start!important;
}

.admin-search{
  display:flex!important;
  align-items:stretch!important;
  min-width:0!important;
}

body.moodle-admin-page .moodle-management-grid,
body.moodle-admin-page .admin-section-list,
body.moodle-admin-page .admin-directory-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:var(--vial-gap)!important;
}

.admin-directory-row,
.admin-section-group{
  display:grid!important;
  grid-template-columns:240px minmax(0,1fr)!important;
  gap:var(--vial-gap)!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
}

.admin-directory-links,
.admin-link-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;
  gap:10px!important;
  min-width:0!important;
}

.admin-directory-links a,
.admin-link-row{
  min-width:0!important;
  overflow:hidden!important;
}

body.admin-update-page .admin-update-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-content:stretch!important;
  gap:var(--vial-gap)!important;
}

body.admin-update-page .admin-update-grid > .card,
body.admin-update-page .admin-update-grid > form.card,
body.admin-update-page .update-package-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

body.users-admin-page .moodle-toolbar{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  justify-content:flex-end!important;
  width:100%!important;
}

body.users-admin-page .table-scroll{
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
}

body.users-admin-page table{
  min-width:980px!important;
}

body.course-view .course-header h1,
body.lesson-page-view .lesson-reader-head h1{
  max-width:100%!important;
  overflow-wrap:break-word!important;
}

.lesson-reader-head,
.course-header{
  margin-bottom:var(--vial-gap)!important;
}

.lesson-reader-nav{
  margin-top:var(--vial-gap)!important;
  margin-bottom:var(--vial-gap)!important;
}

.lesson-reader-card + .lesson-reader-nav{margin-top:var(--vial-gap)!important;}
.lesson-materials{display:none!important;}

.card,
.moodle-section,
.lesson-reader-card,
.lesson-page-editor-card,
.result-card,
.side-block{
  margin-bottom:var(--vial-gap)!important;
}

.foot{
  width:min(var(--vial-canvas-width), calc(100vw - (var(--vial-page-pad) * 2)))!important;
  min-width:0!important;
  max-width:var(--vial-canvas-width)!important;
  margin:24px auto 0!important;
  padding:16px 0 24px!important;
  text-align:center!important;
  color:#64748b!important;
  overflow-wrap:anywhere!important;
}

img,
video,
iframe,
canvas,
svg{
  max-width:100%;
}

.protected-content,
.lesson-content,
.vial-editor-area{
  min-width:0!important;
  overflow-wrap:break-word!important;
}

.protected-content table,
.lesson-content table,
.vial-editor-area table{
  max-width:100%!important;
}

.protected-content img,
.lesson-content img,
.card img,
.vial-editor-area img{
  max-width:100%!important;
  height:auto!important;
}

@media (max-width:900px){
  :root{
    --vial-page-pad:12px;
    --vial-gap:14px;
    --vial-drawer-width:272px;
  }

  .moodle-top .moodle-bar{
    padding:8px 10px!important;
    gap:8px!important;
  }

  .moodle-top .moodle-brand img{
    height:40px!important;
    max-width:128px!important;
  }

  .moodle-actions{gap:6px!important;}
  .edit-switch-label{display:none!important;}

  .lang-switch a{
    min-width:34px!important;
    height:28px!important;
  }

  .icon-btn{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
  }

  .user-menu-btn{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }

  body.moodle-home:not(.guest-shell) .vial-home-card{
    padding:24px!important;
  }
}

@media (max-width:700px){
  .moodle-admin-head{
    grid-template-columns:1fr!important;
  }

  .admin-search{
    width:100%!important;
  }

  .admin-search input{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .admin-directory-row,
  .admin-section-group{
    grid-template-columns:1fr!important;
  }

  .admin-directory-links,
  .admin-link-list{
    grid-template-columns:1fr!important;
  }

  .mini-course-list{
    grid-template-columns:1fr!important;
  }
}

/* v0.6.56 unified frame hardening */
body.with-sidebar > main.wrap.app-layout.moodle-layout,
body.with-sidebar.sidebar-hidden > main.wrap.app-layout.moodle-layout,
body.with-sidebar:not(.sidebar-hidden) > main.wrap.app-layout.moodle-layout{
  margin-left:auto!important;
  margin-right:auto!important;
}

.user-menu-dropdown{
  display:none!important;
  max-width:calc(100vw - 20px)!important;
  max-height:calc(100vh - var(--vial-topbar-height) - 20px)!important;
  overflow:auto!important;
}

.user-menu-dropdown.open{display:block!important;}

.user-submenu > div,
.user-submenu:hover > div{
  display:none!important;
}

.user-submenu.open > div{
  display:block!important;
}

body.users-admin-page .moodle-form-card,
body.users-admin-page .moodle-table-card,
body.users-admin-page .moodle-toolbar,
body.users-admin-page .moodle-filter-box{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

body.users-admin-page .moodle-table-card{
  border:1px solid #d8e0e8!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background:#fff!important;
}

@media (max-width:760px){
  :root{--vial-topbar-height:64px;}

  body{padding-top:var(--vial-topbar-height)!important;}

  .moodle-top .moodle-bar{
    padding:7px 8px!important;
  }

  .moodle-top .moodle-mainnav a{
    min-height:34px!important;
    padding:6px 8px!important;
    font-size:13px!important;
  }

  .moodle-top .moodle-brand img{
    height:36px!important;
    max-width:112px!important;
  }

  .lang-switch a{
    min-width:30px!important;
    height:26px!important;
    font-size:12px!important;
  }

  .icon-btn{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
  }

  .user-menu-btn{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    min-height:36px!important;
  }

  .user-menu-dropdown{
    left:10px!important;
    right:10px!important;
    top:calc(var(--vial-topbar-height) + 8px)!important;
    width:auto!important;
    min-width:0!important;
  }

  .user-submenu > div,
  .user-submenu.open > div{
    position:static!important;
    min-width:0!important;
    margin:4px 0 4px 10px!important;
    box-shadow:none!important;
  }

  body.moodle-home:not(.guest-shell) .vial-home-card{
    padding:18px!important;
  }

  body.users-admin-page table{
    min-width:860px!important;
  }
}

@media (max-width:520px){
  .moodle-top .moodle-bar{gap:6px!important;}
  .lang-switch{display:none!important;}
  .moodle-top .moodle-mainnav{gap:2px!important;}
  .moodle-top .moodle-mainnav a{padding-left:7px!important;padding-right:7px!important;}
}
/* v0.6.73 unified system frame, panel corridor, and edit gating */
:root{
  --vial-unified-content-width:1044px;
  --vial-panel-gap:8px;
  --vial-drawer-width:260px;
  --vial-page-width:var(--vial-unified-content-width);
  --vial-home-width:var(--vial-unified-content-width);
  --vial-course-width:var(--vial-unified-content-width);
  --vial-lesson-width:var(--vial-unified-content-width);
  --vial-admin-width:var(--vial-unified-content-width);
  --vial-users-width:var(--vial-unified-content-width);
  --vial-test-width:var(--vial-unified-content-width);
  --vial-login-width:var(--vial-unified-content-width);
}

html,
body{
  min-width:0!important;
  overflow-x:hidden!important;
}

html body,
html body[class]{
  --vial-canvas-width:var(--vial-unified-content-width)!important;
}

html body > main.wrap,
html body > main.wrap.single-layout,
html body > main.wrap.app-layout,
html body > main.wrap.moodle-layout,
html body.no-sidebar > main.wrap.single-layout,
html body.with-sidebar > main.wrap.app-layout.moodle-layout,
html body.with-sidebar.sidebar-hidden > main.wrap.app-layout.moodle-layout,
html body.with-sidebar:not(.sidebar-hidden) > main.wrap.app-layout.moodle-layout,
html body.course-view:has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout,
html body.lesson-page-view:has(.lesson-reading-layout.lesson-nav-open) > main.wrap.app-layout.moodle-layout,
html body.test-view:has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout,
html body.course-view.with-sidebar:not(.sidebar-hidden):has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout,
html body.lesson-page-view.with-sidebar:not(.sidebar-hidden):has(.lesson-reading-layout.lesson-nav-open) > main.wrap.app-layout.moodle-layout,
html body.test-view.with-sidebar:not(.sidebar-hidden):has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout{
  display:block!important;
  position:relative!important;
  width:min(var(--vial-unified-content-width), calc(100vw - (var(--vial-page-pad) * 2)))!important;
  min-width:0!important;
  max-width:var(--vial-unified-content-width)!important;
  margin:24px auto 0!important;
  padding:0!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  transform:none!important;
  transition:none!important;
  grid-template-columns:none!important;
}

html body > main.wrap > .main-content,
html body .main-content,
html body[class] .main-content{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  transition:none!important;
}

html body .card,
html body .moodle-section,
html body .moodle-table-card,
html body .moodle-form-card,
html body .lesson-reader-card,
html body .lesson-page-editor-card,
html body .result-card,
html body .admin-update-grid,
html body .moodle-management-grid,
html body .course-outline-shell,
html body .lesson-reading-layout,
html body .test-shell{
  max-width:100%!important;
}

html body .admin-update-grid{
  width:100%!important;
  grid-template-columns:minmax(0, 1fr)!important;
}

html body table{
  max-width:100%!important;
}

html body .table-scroll,
html body .table-wrap,
html body .gradebook-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
}

html body > footer.foot,
html body .foot{
  width:min(var(--vial-unified-content-width), calc(100vw - (var(--vial-page-pad) * 2)))!important;
  max-width:var(--vial-unified-content-width)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.moodle-home:not(.guest-shell) .compact-home-heading{
  display:none!important;
}

body.moodle-home:not(.guest-shell) #home-dashboard{
  margin-top:0!important;
}

.moodle-top,
.moodle-top .moodle-bar{
  overflow:visible!important;
}

.moodle-top .moodle-more-nav{
  flex:0 0 auto!important;
  position:relative!important;
  display:none!important;
  visibility:hidden!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  pointer-events:auto!important;
  z-index:50010!important;
}

.moodle-more-btn{
  min-height:36px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  border:1px solid #dbe6ef!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#0f172a!important;
  padding:7px 10px!important;
  font:inherit!important;
  font-size:14px!important;
  cursor:pointer!important;
  white-space:nowrap!important;
}

.moodle-more-btn:hover,
.moodle-more-nav.open .moodle-more-btn{
  background:var(--vial-soft)!important;
  color:#006b66!important;
}

.moodle-top .moodle-more-menu{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:0!important;
  right:auto!important;
  width:max-content!important;
  min-width:250px!important;
  max-width:min(360px, calc(100vw - 24px))!important;
  max-height:calc(100vh - var(--vial-topbar-height) - 18px)!important;
  overflow:auto!important;
  border:1px solid #dbe6ef!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 18px 42px rgba(15,23,42,.18)!important;
  padding:8px!important;
  z-index:2147483647!important;
}

.moodle-top .moodle-more-nav.open .moodle-more-menu{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2147483647!important;
}

.moodle-more-menu a,
.moodle-more-menu .more-priority,
.moodle-more-menu .more-priority:first-child,
.moodle-more-menu .more-priority:nth-child(2),
.moodle-more-menu .more-priority:nth-child(-n+2){
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  min-height:38px!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  color:#0f172a!important;
  text-decoration:none!important;
  white-space:normal!important;
}

.moodle-more-menu a:hover{
  background:#f1f5f9!important;
  color:#006b66!important;
}

@media (max-width:1100px){
  .moodle-top .moodle-mainnav.compact,
  .moodle-top .moodle-mainnav,
  .moodle-top .moodle-mainnav .nav-priority,
  .moodle-top .moodle-mainnav a,
  .moodle-top .nav-toggle{
    display:none!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    max-width:0!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    pointer-events:none!important;
  }

  .moodle-top .moodle-more-nav,
  .moodle-top .moodle-more-nav.open{
    display:inline-flex!important;
    visibility:visible!important;
  }

  .moodle-top .moodle-bar{
    justify-content:space-between!important;
  }

  .moodle-actions{
    margin-left:auto!important;
  }
}

@media (max-width:560px){
  .moodle-top .moodle-brand img{
    max-width:96px!important;
  }

  .moodle-more-btn{
    min-width:38px!important;
    width:38px!important;
    padding:0!important;
    justify-content:center!important;
  }

  .moodle-more-btn::before{
    content:"Ещё";
    font-size:12px!important;
    font-weight:700!important;
  }

  .moodle-more-btn > span,
  .moodle-more-btn{
    font-size:0!important;
  }

  .moodle-more-btn > span{
    display:none!important;
  }
}
/* v0.6.73 unified side panels: edge-locked, no center shift, compact controls */
:root{
  --vial-panel-gap:12px;
  --vial-drawer-width:220px;
}

html body > main.wrap,
html body > main.wrap.single-layout,
html body > main.wrap.app-layout,
html body > main.wrap.moodle-layout,
html body.no-sidebar > main.wrap.single-layout,
html body.with-sidebar > main.wrap.app-layout.moodle-layout,
html body.with-sidebar.sidebar-hidden > main.wrap.app-layout.moodle-layout,
html body.with-sidebar:not(.sidebar-hidden) > main.wrap.app-layout.moodle-layout,
html body.course-view:has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout,
html body.lesson-page-view:has(.lesson-reading-layout.lesson-nav-open) > main.wrap.app-layout.moodle-layout,
html body.test-view:has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout,
html body.course-view.with-sidebar:not(.sidebar-hidden):has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout,
html body.lesson-page-view.with-sidebar:not(.sidebar-hidden):has(.lesson-reading-layout.lesson-nav-open) > main.wrap.app-layout.moodle-layout,
html body.test-view.with-sidebar:not(.sidebar-hidden):has(.course-outline-shell.course-outline-open) > main.wrap.app-layout.moodle-layout{
  width:min(var(--vial-unified-content-width), calc(100vw - (var(--vial-page-pad) * 2)))!important;
  max-width:var(--vial-unified-content-width)!important;
  margin:24px auto 0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  transition:none!important;
}

html body.course-view .course-left-drawer,
html body.lesson-page-view .lesson-course-nav,
html body.test-view .course-left-drawer,
html body.with-sidebar .right-sidebar,
html body.with-sidebar .right-sidebar.moodle-drawer,
html body.with-sidebar .moodle-drawer.right-sidebar{
  position:fixed!important;
  top:var(--vial-topbar-height)!important;
  bottom:0!important;
  height:calc(100vh - var(--vial-topbar-height))!important;
  width:var(--vial-drawer-width)!important;
  min-width:var(--vial-drawer-width)!important;
  max-width:var(--vial-drawer-width)!important;
  box-sizing:border-box!important;
  padding:12px!important;
  z-index:1300!important;
  overflow:auto!important;
  background:#f8fafc!important;
  border:1px solid #dbe6ef!important;
  box-shadow:0 18px 38px rgba(15,23,42,.10)!important;
  border-radius:0!important;
  transition:transform .18s ease!important;
}

html body.with-sidebar .right-sidebar,
html body.with-sidebar .right-sidebar.moodle-drawer,
html body.with-sidebar .moodle-drawer.right-sidebar{
  left:auto!important;
  right:0!important;
  border-right:0!important;
  border-radius:0!important;
}

html body.with-sidebar.sidebar-hidden .right-sidebar,
html body.with-sidebar.sidebar-hidden .right-sidebar.moodle-drawer,
html body.with-sidebar.sidebar-hidden .moodle-drawer.right-sidebar{
  transform:translateX(105%)!important;
}

html body.course-view .course-left-drawer,
html body.lesson-page-view .lesson-course-nav,
html body.test-view .course-left-drawer{
  left:0!important;
  right:auto!important;
  border-left:0!important;
  border-radius:0!important;
}

html body.course-view .course-outline-shell:not(.course-outline-open) .course-left-drawer,
html body.lesson-page-view .lesson-reading-layout:not(.lesson-nav-open) .lesson-course-nav,
html body.test-view .course-outline-shell:not(.course-outline-open) .course-left-drawer{
  transform:translateX(-105%)!important;
}

@media (max-width:1179px){
  :root{--vial-drawer-width:208px;}

  html body.course-view .course-left-drawer,
  html body.lesson-page-view .lesson-course-nav,
  html body.test-view .course-left-drawer,
  html body.with-sidebar .right-sidebar,
  html body.with-sidebar .right-sidebar.moodle-drawer,
  html body.with-sidebar .moodle-drawer.right-sidebar{
    width:min(78vw,var(--vial-drawer-width))!important;
    min-width:min(78vw,var(--vial-drawer-width))!important;
    max-width:min(78vw,var(--vial-drawer-width))!important;
  }
}

.sidebar-close-row,
.course-drawer-close-row{
  display:flex!important;
  justify-content:flex-end!important;
  margin:0 0 10px!important;
}

.panel-close,
.course-drawer-close{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  border:1px solid #dbe6ef!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#334155!important;
  font-size:18px!important;
  line-height:1!important;
  font-weight:600!important;
  cursor:pointer!important;
  box-shadow:0 2px 8px rgba(15,23,42,.06)!important;
}

.panel-close:hover,
.course-drawer-close:hover{
  background:#eefafa!important;
  color:#006b66!important;
}

.course-left-drawer h2,
.lesson-course-nav h2{
  margin:0 0 12px!important;
  font-size:17px!important;
  line-height:1.25!important;
  color:#1f2937!important;
}

.course-outline-list{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}

.course-outline-section,
.course-element-nav-item,
.lesson-course-nav .course-nav-item,
.course-left-drawer .course-nav-item{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  min-height:34px!important;
  padding:8px 7px!important;
  border:1px solid #dbe6ef!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0f172a!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:600!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.course-outline-section{
  background:#eefafa!important;
  color:#006b66!important;
  font-weight:800!important;
}

.course-outline-item:hover,
.course-outline-section:hover,
.lesson-page-nav-item:hover,
.lesson-course-nav .course-nav-item:hover,
.course-left-drawer .course-nav-item:hover{
  border-color:#9bd7d3!important;
  background:#f8ffff!important;
  color:#005f5b!important;
}

.lesson-drawer-page-list{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}

.lesson-page-nav-item,
.lesson-page-nav-item b{
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  text-indent:0!important;
}

.course-element-nav-item b,
.lesson-course-nav .course-nav-item b{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}

.lesson-page-nav-item.active{
  border-color:#9bd7d3!important;
  background:#eefafa!important;
  color:#006b66!important;
}

.course-outline-item{
  display:flex!important;
  align-items:center!important;
  gap:0!important;
  justify-content:flex-start!important;
  min-height:34px!important;
  padding:8px 7px!important;
  border:1px solid #dbe6ef!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#0f172a!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:600!important;
  box-shadow:0 1px 3px rgba(15,23,42,.04)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}

.course-outline-item b{
  display:block!important;
  width:100%!important;
  text-align:left!important;
}

.moodle-drawer .current-user-card{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
}

.moodle-drawer .current-user-card .avatar-lg{
  width:34px!important;
  height:34px!important;
}

.moodle-drawer .current-user-card h3{
  margin:0 0 4px!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:15px!important;
  line-height:1.2!important;
}

.moodle-drawer .current-user-card p{
  margin:0 0 8px!important;
}

.moodle-drawer .current-user-card .current-user-profile{
  grid-column:1 / -1!important;
  margin:2px 0 0!important;
}

.moodle-drawer .current-user-card .btn{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  justify-content:center!important;
  white-space:normal!important;
  text-align:center!important;
}

.sidebar-tab,
.course-left-tab,
.lesson-left-tab{
  position:fixed!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:1290!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:38px!important;
  height:64px!important;
  border:1px solid #dbe6ef!important;
  background:#eef2f7!important;
  color:#64748b!important;
  box-shadow:0 8px 24px rgba(15,23,42,.10)!important;
  cursor:pointer!important;
}

.sidebar-tab{right:0!important;border-right:0!important;border-radius:24px 0 0 24px!important;}
body.with-sidebar:not(.sidebar-hidden) .sidebar-tab{display:none!important;}
.course-left-tab,
.lesson-left-tab{left:0!important;border-left:0!important;border-radius:0 24px 24px 0!important;}
body.course-view .course-outline-shell.course-outline-open .course-left-tab,
body.lesson-page-view .lesson-reading-layout.lesson-nav-open .lesson-left-tab,
body.test-view .course-outline-shell.course-outline-open .course-left-tab{display:none!important;}

body.course-view:not(.editing-mode) .content-edit-trigger,
body.course-view:not(.editing-mode) .edit-pencil,
body.course-view:not(.editing-mode) .section-menu,
body.course-view:not(.editing-mode) .dots,
body.course-view:not(.editing-mode) .inline-title-form,
body.course-view:not(.editing-mode) .activity-actions,
body.course-view:not(.editing-mode) .add-element-strip,
body.course-view:not(.editing-mode) .add-section-box{
  display:none!important;
}

body.course-view .inline-title-form{
  display:none!important;
}

body.course-view.editing-mode .inline-title-form.open{
  display:flex!important;
}

body.course-view .course-intro-description{
  max-width:980px!important;
  margin-top:10px!important;
  color:#334155!important;
  font-size:15px!important;
  line-height:1.55!important;
}

body.course-view .course-intro-description p{
  margin:0!important;
}

body.course-view .course-header{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:18px!important;
}

body.course-view .course-hero-cover{
  width:180px!important;
  aspect-ratio:1/1!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid #d8e0e8!important;
  box-shadow:0 8px 26px rgba(15,23,42,.08)!important;
}

body.course-view .course-hero-cover img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

body.course-view .course-hero-text{
  min-width:0!important;
}

body.course-view .general-section .course-description-view{
  font-size:16px!important;
  line-height:1.58!important;
  color:#172033!important;
}

body.course-view .general-section .course-description-view p{
  margin:0 0 10px!important;
}

@media (max-width:900px){
  body.course-view .course-header{
    grid-template-columns:112px minmax(0,1fr)!important;
  }
  body.course-view .course-header-actions{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
  }
  body.course-view .course-hero-cover{
    width:112px!important;
    border-radius:14px!important;
  }
}

@media (max-width:620px){
  body.course-view .course-header{
    grid-template-columns:1fr!important;
  }
  body.course-view .course-hero-cover{
    width:min(210px,70vw)!important;
  }
}

body.course-view .course-description-editor{display:none!important;}
body.course-view.editing-mode .course-description-editor.open{display:block!important;}
body.course-view .general-section:has(.course-description-editor.open) .course-description-view{display:none!important;}
body.course-view:not(.editing-mode) .course-description-editor.open{display:none!important;}
/* v0.6.74 collapsed header more menu click target */
.moodle-top .moodle-more-nav,
.moodle-top .moodle-more-btn{
  position:relative!important;
  pointer-events:auto!important;
  z-index:2147483201!important;
}

.moodle-top .moodle-more-nav.open{
  z-index:2147483300!important;
}

@media (max-width:1100px){
  .moodle-top .moodle-bar{
    position:relative!important;
    overflow:visible!important;
  }

  .moodle-top .moodle-more-nav,
  .moodle-top .moodle-more-nav.open{
    display:inline-flex!important;
    visibility:visible!important;
    flex:0 0 auto!important;
    order:1!important;
  }

  .moodle-top .moodle-actions{
    position:relative!important;
    z-index:2147483000!important;
    order:2!important;
    flex:0 1 auto!important;
    min-width:0!important;
  }
}
/* v0.6.73 left course outline text rule: single line, no paragraph indent */
.course-outline-list,
.course-element-nav-list{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}

.course-outline-section,
.course-outline-item,
.course-element-nav-item,
.lesson-course-nav .course-nav-item,
.course-left-drawer .course-nav-item{
  justify-content:flex-start!important;
  text-align:left!important;
  text-indent:0!important;
}

.course-outline-section > *,
.course-outline-item > *,
.course-element-nav-item > *,
.lesson-course-nav .course-nav-item > *,
.course-left-drawer .course-nav-item > *{
  min-width:0!important;
}

.course-outline-section,
.course-outline-section b,
.course-outline-item b,
.course-element-nav-item b,
.lesson-course-nav .course-nav-item b,
.course-left-drawer .course-nav-item b{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:left!important;
  text-indent:0!important;
}
/* v0.6.73 unified file drop zones */
.dropzone,
.avatar-drop,
.update-dropzone,
[data-file-drop]{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:4px!important;
  width:100%!important;
  min-height:168px!important;
  padding:28px 20px!important;
  border:2px dashed #94a3b8!important;
  border-radius:18px!important;
  background:#f8fafc!important;
  color:#0f172a!important;
  text-align:center!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

.dropzone input[type="file"],
.avatar-drop input[type="file"],
.update-dropzone input[type="file"],
[data-file-drop] input[type="file"]{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.dropzone b,
.avatar-drop b,
.update-dropzone b,
[data-file-drop] b{
  display:block!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:800!important;
  color:#0f172a!important;
}

.dropzone span,
.avatar-drop span,
.update-dropzone span,
[data-file-drop] span,
.update-file-status span{
  display:block!important;
  color:#64748b!important;
  font-size:15px!important;
  line-height:1.35!important;
  font-weight:500!important;
}

.dropzone.dragover,
.avatar-drop.dragover,
.update-dropzone.dragover,
[data-file-drop].dragover{
  border-color:#0b5f5d!important;
  background:#ecfdf5!important;
}

.dropzone.has-file,
.avatar-drop.has-file,
.update-dropzone.has-file,
[data-file-drop].has-file{
  border-color:#0d9488!important;
  background:#f0fdfa!important;
}

.dropzone.drop-error,
.avatar-drop.drop-error,
.update-dropzone.drop-error,
[data-file-drop].drop-error{
  border-color:#dc2626!important;
  background:#fff1f2!important;
}

.update-file-status{
  margin:10px 0 12px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#64748b!important;
}
