/* WEB_DTTT QC FREEZE v1.0 — shared tokens and cross-role component contract */
:root{
  --dttt-content-max:1180px;--dttt-reader-max:820px;--dttt-gutter-mobile:16px;--dttt-gutter-tablet:24px;
  --dttt-primary:#0876B6;--dttt-primary-hover:#06669E;--dttt-ink:#14243A;--dttt-muted:#5E7180;
  --dttt-surface:#fff;--dttt-canvas:#F5F8FA;--dttt-border:#E2ECF2;--dttt-nav-border:#D4E5EE;
  --dttt-content-notice:#0876B6;--dttt-content-material:#7657C8;--dttt-content-assignment:#E58A15;--dttt-content-quiz:#D64545;--dttt-content-attendance:#168C8C;
  --dttt-success:#2F9B68;--dttt-danger:#C93636;--dttt-warning:#B86B00;
  --dttt-shadow-card:0 6px 20px rgba(18,52,74,.08);--dttt-shadow-float:0 8px 28px rgba(18,52,74,.12);
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden}
body{background:var(--dttt-canvas);color:var(--dttt-ink)}
.dttt-ui-icon{display:inline-block;fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;vertical-align:-.2em;width:18px;flex:0 0 auto}
.dttt-icon{align-items:center;display:inline-flex;justify-content:center}
/* Public hero: fixed responsive bands, full bleed with readable content. */
body.home .dttt-hero,body.home .dttt-priority,body.home .dttt-hero-priority,body.home .dttt-highlight-carousel,body.home .dttt-highlight-slides,body.home .dttt-highlight-slide{height:360px!important;min-height:0!important;max-height:360px!important;overflow:hidden!important}
body.home .dttt-highlight-overlay{padding:28px clamp(20px,4vw,50px) 34px!important}
body.home .dttt-highlight-overlay>*{max-width:min(760px,72vw)!important}
body.home .dttt-highlight-overlay h1{font-size:clamp(28px,3.25vw,46px)!important;line-height:1.12!important;letter-spacing:-.035em!important}
body.home .dttt-highlight-overlay p{font-size:15px!important;line-height:1.45!important}
/* Public quick access: one shared axis, equal-fill items, one-line mobile strip. */
body.home .dttt-quick-access{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;width:min(calc(100% - 2 * clamp(16px,4vw,50px)),var(--dttt-content-max))!important;max-width:var(--dttt-content-max)!important;margin:-18px auto 28px!important;padding:5px!important;border:1px solid var(--dttt-nav-border)!important;border-radius:16px!important;box-shadow:var(--dttt-shadow-float)!important;overflow:visible!important}
body.home .dttt-quick-item{flex:1 1 0!important;min-width:0!important}
body.home .dttt-quick-trigger{justify-content:center!important;min-height:56px!important;padding:8px 6px!important;text-align:center!important;min-width:0!important}
body.home .dttt-quick-trigger b{height:22px!important;min-width:22px!important;width:22px!important;font-size:9px!important}
body.home .dttt-quick-trigger strong{display:block!important;font-size:12px!important;line-height:1.15!important;max-width:100%!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}
body.home .dttt-quick-trigger small{display:none!important}
body.home .dttt-public-layout{display:grid!important;gap:24px!important;grid-template-columns:minmax(0,1fr) 280px!important;margin:0 auto!important;max-width:var(--dttt-content-max)!important;padding:0 clamp(16px,4vw,50px)!important;width:100%!important}
body.home .dttt-public-layout>main,body.home .dttt-public-layout>.dttt-public-aside{min-width:0!important}
.dttt-social-card,.dttt-feed-card,.dttt-course-feed-post{border:1px solid var(--dttt-border)!important;border-radius:16px!important;box-shadow:var(--dttt-shadow-card)!important}
.dttt-social-card__actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px!important}
.dttt-feed-stat,.dttt-reaction-button{align-items:center;display:inline-flex;gap:5px}
.dttt-reaction-button{background:transparent;border:0;color:var(--dttt-muted);cursor:pointer;min-height:36px;padding:6px 8px}
.dttt-reaction-button:focus-visible,.dttt-quick-trigger:focus-visible{box-shadow:0 0 0 3px rgba(8,118,182,.22)!important;outline:0}
.dttt-social-card__actions>a{display:none!important}
/* Staff/course controls: no unstyled native-size button in the LMS workspace. */
.dttt-course-workspace button:not(.dttt-attendance-tick),.dttt-course-workspace .dttt-lms-toolbar button,.dttt-course-workspace .dttt-composer-actions button,.dttt-course-workspace .dttt-course-complete button{border-radius:8px;cursor:pointer;font:700 14px/1.2 inherit;min-height:40px;padding:10px 14px}
.dttt-course-workspace .dttt-course-stream-composer select,.dttt-course-workspace .dttt-course-stream-composer input,.dttt-course-workspace .dttt-course-stream-composer textarea{border:1px solid var(--dttt-border);border-radius:8px;box-sizing:border-box;min-height:40px;max-width:100%;width:100%}
.dttt-course-workspace .dttt-course-subnav{align-items:stretch;box-sizing:border-box;display:flex;gap:4px;max-width:var(--dttt-content-max);min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;width:100%}
.dttt-course-workspace .dttt-course-subnav .dttt-subnav-link{flex:0 0 auto;min-height:44px;white-space:nowrap}
.dttt-course-workspace .dttt-card-title a{color:inherit;text-decoration:none}
@media(max-width:767px){
  body.home .dttt-hero,body.home .dttt-priority,body.home .dttt-hero-priority,body.home .dttt-highlight-carousel,body.home .dttt-highlight-slides,body.home .dttt-highlight-slide{height:300px!important;max-height:300px!important}
  body.home .dttt-highlight-overlay{padding:20px 16px 26px!important}
  body.home .dttt-highlight-overlay>*{max-width:calc(100vw - 32px)!important}
  body.home .dttt-highlight-overlay h1{font-size:clamp(24px,7.4vw,32px)!important;line-height:1.15!important}
  body.home .dttt-highlight-overlay p{font-size:13px!important}
  body.home .dttt-quick-access{gap:2px!important;margin:-14px 8px 22px!important;padding:4px!important;width:calc(100% - 16px)!important}
  body.home .dttt-quick-trigger{min-height:56px!important;padding:8px 3px!important}
  body.home .dttt-quick-trigger strong{font-size:10px!important}
  body.home .dttt-public-layout{display:block!important;margin:0 auto!important;padding:0 var(--dttt-gutter-mobile)!important;width:100%!important}
  body.home .dttt-public-aside{margin-top:18px!important}
  .dttt-course-workspace .dttt-course-subnav{margin-left:0!important;margin-right:0!important;max-width:100%!important}
  .dttt-course-workspace .dttt-course-subnav .dttt-subnav-link{font-size:12px;min-height:44px;padding-left:12px;padding-right:12px}
  .dttt-course-workspace .dttt-composer-actions{align-items:stretch!important;display:grid!important;gap:8px!important;grid-template-columns:minmax(0,1fr)!important}
  .dttt-course-workspace .dttt-composer-actions label,.dttt-course-workspace .dttt-composer-actions button{width:100%!important}
}
@media(min-width:768px){
  .dttt-lms-shell,.dttt-course-detail-layout,.dttt-module-main{max-width:var(--dttt-content-max)!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}

/* QC Freeze follow-up: student workspace axis and fixed dock safe area */
@media(min-width:768px){
  .dttt-student-dashboard,.dttt-course-portal{width:min(var(--dttt-content-max),calc(100% - 32px))!important;max-width:var(--dttt-content-max)!important;margin-left:auto!important;margin-right:auto!important}
  .dttt-student-dashboard>.dttt-student-quick-access{width:100%!important;max-width:var(--dttt-content-max)!important;margin-left:auto!important;margin-right:auto!important}
  .dttt-student-dashboard>.dttt-student-feed,.dttt-student-dashboard>.dttt-student-panel,.dttt-student-dashboard>.dttt-student-tasks-view,.dttt-student-dashboard>.dttt-student-requests,.dttt-student-dashboard>.dttt-student-practice-overview,.dttt-student-dashboard>.dttt-achievement-dashboard{width:100%!important;max-width:var(--dttt-content-max)!important;margin-left:auto!important;margin-right:auto!important}
  .dttt-student-dashboard>.dttt-student-feed,.dttt-student-dashboard>.dttt-student-panel{border-radius:16px!important}
}
@media(max-width:767px){
  .dttt-student-dashboard,.dttt-course-portal{width:100%!important;max-width:100%!important}
  .dttt-student-dashboard>.dttt-student-feed,.dttt-student-dashboard>.dttt-student-panel,.dttt-student-dashboard>.dttt-student-tasks-view,.dttt-student-dashboard>.dttt-student-requests,.dttt-student-dashboard>.dttt-student-practice-overview{width:100%!important;max-width:100%!important}
  .dttt-student-dashboard{padding-bottom:92px!important}
  .dttt-role-quick-access.dttt-workspace-role{bottom:calc(env(safe-area-inset-bottom) + 8px)!important;left:8px!important;right:8px!important;width:calc(100% - 16px)!important;max-width:none!important;margin:0!important;padding:4px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important}
  .dttt-role-quick-access.dttt-workspace-role>a,.dttt-role-quick-access.dttt-workspace-role>.dttt-quick-more>summary{min-width:0!important;min-height:56px!important;height:56px!important;padding:6px 2px!important}
  .dttt-role-quick-access.dttt-workspace-role>a strong,.dttt-role-quick-access.dttt-workspace-role>.dttt-quick-more>summary strong{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important}
  .dttt-role-quick-access.dttt-workspace-role>a small,.dttt-role-quick-access.dttt-workspace-role>.dttt-quick-more>summary small{display:none!important}
  .dttt-role-quick-access.dttt-workspace-role .dttt-quick-more{min-width:0!important}
  main.dttt-lms-shell .dttt-ops-shell,main.dttt-lms-shell .dttt-course-workspace,main.dttt-lms-shell{padding-bottom:108px!important}
}
.dttt-kpi-icon .dttt-ui-icon{height:22px;width:22px}
.dttt-kpi-icon{align-items:center;display:inline-flex;justify-content:center}
.dttt-course-workspace .dttt-lms-toolbar button,.dttt-course-workspace .dttt-ops-actions button,.dttt-course-workspace .dttt-course-complete button{background:var(--dttt-primary);border:1px solid var(--dttt-primary);color:#fff}
.dttt-course-workspace .dttt-lms-toolbar button:hover,.dttt-course-workspace .dttt-ops-actions button:hover,.dttt-course-workspace .dttt-course-complete button:hover{background:var(--dttt-primary-hover);border-color:var(--dttt-primary-hover)}

/* QC Freeze v1.0 final specificity gate: inner workspace axis */
@media(min-width:768px){
  body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard{box-sizing:border-box!important;width:min(1180px,calc(100% - 32px))!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
  body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard>.dttt-student-quick-access{box-sizing:border-box!important;width:100%!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
  body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard>.dttt-student-feed,body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard>.dttt-student-panel,body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard>.dttt-student-tasks-view,body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard>.dttt-student-requests,body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard>.dttt-achievement-dashboard{box-sizing:border-box!important;width:100%!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
}
@media(max-width:767px){body main.dttt-public-shell>.dttt-portal.dttt-student-dashboard{box-sizing:border-box!important;width:100%!important;max-width:100%!important}}

/* QC Freeze public homepage refinement: compact featured hero without losing title/date contrast */
body.home .dttt-hero.dttt-hero-compact,body.home .dttt-hero.dttt-hero-compact .dttt-hero-priority,body.home .dttt-hero.dttt-hero-compact .dttt-highlight-carousel,body.home .dttt-hero.dttt-hero-compact .dttt-highlight-slides,body.home .dttt-hero.dttt-hero-compact .dttt-highlight-slide{height:300px!important;min-height:0!important;max-height:300px!important;overflow:hidden!important}
body.home .dttt-hero.dttt-hero-compact .dttt-highlight-overlay{padding:20px 24px 28px!important}
body.home .dttt-hero.dttt-hero-compact .dttt-highlight-overlay h1{font-size:clamp(26px,3vw,36px)!important;line-height:1.12!important}
@media(max-width:740px){body.home .dttt-hero.dttt-hero-compact,body.home .dttt-hero.dttt-hero-compact .dttt-hero-priority,body.home .dttt-hero.dttt-hero-compact .dttt-highlight-carousel,body.home .dttt-hero.dttt-hero-compact .dttt-highlight-slides,body.home .dttt-hero.dttt-hero-compact .dttt-highlight-slide{height:240px!important;max-height:240px!important}body.home .dttt-hero.dttt-hero-compact .dttt-highlight-overlay{padding:18px 16px 24px!important}body.home .dttt-hero.dttt-hero-compact .dttt-highlight-overlay h1{font-size:clamp(23px,7.2vw,30px)!important;line-height:1.12!important}body.home .dttt-hero.dttt-hero-compact .dttt-highlight-overlay time{margin-top:7px!important}}

/* QC Freeze public quick popovers: closed panels must not contribute to page overflow; open panel is viewport-safe. */
@media(max-width:740px){body.home .dttt-quick-popover{display:none!important}body.home .dttt-quick-item.is-open .dttt-quick-popover{display:block!important;position:fixed!important;left:8px!important;right:8px!important;top:calc(var(--dttt-public-quick-bottom, 0px) + 10px)!important;bottom:auto!important;width:auto!important;max-width:none!important;max-height:min(60vh,420px)!important;overflow:auto!important;z-index:10400!important}}


/* v1.7.258 — course workspace visual reset and equal-fill quick access. */
.dttt-course-detail-layout{
  box-sizing:border-box!important;display:block!important;width:min(var(--dttt-content-max),calc(100% - 32px))!important;max-width:var(--dttt-content-max)!important;margin:18px auto 0!important;padding:0 0 118px!important;
}
.dttt-course-workspace-head,.dttt-course-detail-layout>.dttt-course-subnav,.dttt-course-detail-layout>.dttt-course-feed,.dttt-course-detail-layout>.dttt-lms-columns,.dttt-course-detail-layout>.dttt-lms-kpis,.dttt-course-detail-layout>.dttt-lms-toolbar,.dttt-course-detail-layout>.dttt-lms-list,.dttt-course-detail-layout>.dttt-lms-create,.dttt-course-detail-layout>.dttt-gradebook-wrap,.dttt-course-detail-layout>.dttt-attendance-panel,.dttt-course-detail-layout>.dttt-practice-overview,.dttt-course-detail-layout>.dttt-lab-scheduling-panel{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
.dttt-course-attendance-context{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0 0 12px!important}
.dttt-course-attendance-context .dttt-quick-attendance{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important}
.dttt-course-quick-access{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0!important;width:100%!important;max-width:100%!important;margin:0 0 12px!important;padding:0!important;overflow:visible!important;border:1px solid var(--dttt-nav-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--dttt-shadow-float)!important;position:sticky!important;top:0!important;z-index:20!important}
.dttt-course-quick-access>a{box-sizing:border-box!important;align-items:center!important;background:#fff!important;border:0!important;border-right:1px solid #e7eff3!important;border-radius:0!important;display:flex!important;gap:9px!important;justify-content:flex-start!important;min-height:60px!important;min-width:0!important;padding:10px 14px!important;text-align:left!important;text-decoration:none!important}
.dttt-course-quick-access>a:last-child{border-right:0!important}
.dttt-course-quick-access>a.is-primary,.dttt-course-quick-access>a[aria-current="page"]{background:#eaf6fb!important;box-shadow:inset 0 -3px 0 var(--dttt-primary)!important}
.dttt-course-quick-access>a>b.dttt-quick-icon{align-items:center;background:#edf5f8;border-radius:10px;color:var(--dttt-primary);display:flex!important;flex:0 0 30px;height:30px;justify-content:center;width:30px}
.dttt-course-quick-access>a>b.dttt-quick-icon svg{display:block!important;fill:none!important;height:18px!important;stroke:currentColor!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-width:1.8!important;width:18px!important}
.dttt-course-quick-access>a span{min-width:0!important}
.dttt-course-quick-access>a strong,.dttt-course-quick-access>a small{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.dttt-course-quick-access>a strong{color:#234f66!important;font-size:13px!important;line-height:1.2!important}
.dttt-course-quick-access>a small{color:#718699!important;font-size:10px!important;line-height:1.2!important;margin-top:3px!important}
/* The global “Thêm” item is one equal rail cell; its menu is an overlay and never changes rail height. */
.dttt-role-quick-access>.dttt-quick-more{align-self:stretch!important;box-sizing:border-box!important;height:100%!important;min-height:0!important;min-width:0!important;position:relative!important;width:auto!important}
.dttt-role-quick-access>.dttt-quick-more>summary{align-items:center!important;box-sizing:border-box!important;height:100%!important;min-height:0!important;min-width:0!important;padding:10px 14px!important}
.dttt-role-quick-access>.dttt-quick-more>.dttt-quick-more-list{display:none!important;max-height:min(60vh,440px)!important;overflow:auto!important}
.dttt-role-quick-access>.dttt-quick-more[open]>.dttt-quick-more-list{display:grid!important;position:absolute!important;top:calc(100% + 8px)!important;right:0!important;width:min(280px,calc(100vw - 24px))!important;z-index:10050!important}
@media(max-width:767px){
 .dttt-course-detail-layout{width:100%!important;max-width:100%!important;margin:8px 0 0!important;padding:0 10px 108px!important}
 .dttt-course-quick-access{bottom:calc(env(safe-area-inset-bottom) + 8px)!important;gap:2px!important;left:8px!important;margin:0!important;position:fixed!important;right:8px!important;top:auto!important;width:calc(100% - 16px)!important;z-index:10030!important;padding:4px!important;border-radius:16px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .dttt-course-quick-access>a{border-right:0!important;justify-content:center!important;min-height:56px!important;height:56px!important;padding:6px 2px!important;text-align:center!important}
 .dttt-course-quick-access>a>b.dttt-quick-icon{flex:0 0 24px!important;height:24px!important;width:24px!important}
 .dttt-course-quick-access>a>b.dttt-quick-icon svg{height:16px!important;width:16px!important}
 .dttt-course-quick-access>a span{max-width:100%!important}
 .dttt-course-quick-access>a strong{font-size:10px!important;line-height:1.15!important}
 .dttt-course-quick-access>a small{display:none!important}
 .dttt-course-subnav{margin:8px 0 14px!important;max-width:100%!important;width:100%!important}
 .dttt-course-attendance-context{margin-bottom:8px!important}
 main.dttt-lms-shell .dttt-course-workspace{padding-bottom:108px!important}
 .dttt-role-quick-access>.dttt-quick-more>summary{justify-content:center!important;padding:6px 2px!important;text-align:center!important}
 .dttt-role-quick-access>.dttt-quick-more>summary strong{font-size:10px!important;line-height:1.15!important}
 .dttt-role-quick-access>.dttt-quick-more>summary small{display:none!important}
 .dttt-role-quick-access>.dttt-quick-more[open]>.dttt-quick-more-list{bottom:calc(env(safe-area-inset-bottom) + 72px)!important;left:8px!important;right:8px!important;top:auto!important;width:auto!important;position:fixed!important}
}


/* v1.7.259 — late specificity gate for course Quick Access after staff-shell inline styles. */
.dttt-course-quick-access.dttt-workspace-role{
  box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;height:60px!important;min-height:60px!important;margin:0 0 12px!important;position:sticky!important;top:0!important;z-index:20!important;overflow:visible!important
}
.dttt-course-quick-access.dttt-workspace-role>a{box-sizing:border-box!important;display:flex!important;flex:1 1 0!important;min-width:0!important;height:58px!important;min-height:58px!important;overflow:hidden!important}
@media(max-width:767px){
 .dttt-course-quick-access.dttt-workspace-role{box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;height:56px!important;min-height:56px!important;position:fixed!important;left:8px!important;right:8px!important;bottom:calc(env(safe-area-inset-bottom) + 8px)!important;top:auto!important;width:calc(100% - 16px)!important;max-width:none!important;margin:0!important;padding:4px!important;overflow:visible!important;border-radius:16px!important;z-index:10030!important}
 .dttt-course-quick-access.dttt-workspace-role>a{box-sizing:border-box!important;display:flex!important;flex:1 1 0!important;min-width:0!important;width:auto!important;height:48px!important;min-height:48px!important;padding:6px 2px!important;justify-content:center!important;overflow:hidden!important;border:0!important;text-align:center!important}
 .dttt-course-quick-access.dttt-workspace-role>a>b.dttt-quick-icon{flex:0 0 24px!important;height:24px!important;width:24px!important}
 .dttt-course-quick-access.dttt-workspace-role>a strong{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important}
 .dttt-course-quick-access.dttt-workspace-role>a small{display:none!important}
}
