/* Vườn Ngoại Ngữ · Teacher Action Hub v1 (presentation only).
   Only applies after the authorized Smart Dashboard has mounted. */
body.v465-ui #view-teacher #v465TeacherWorkspace.vnn-hub-ready{background:linear-gradient(140deg,#fff,#f9fcfb);border-color:#cfded8}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-head{align-items:center}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-head h2{font-size:clamp(19px,2vw,23px)!important}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-head p{line-height:1.5}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-areas{margin-bottom:10px!important}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-areas button{min-height:52px;align-items:center}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-areas button>span{flex:0 0 auto}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-areas button.active{border-color:#168a74;box-shadow:0 0 0 2px rgba(17,119,100,.07) inset}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-summary{margin-bottom:10px!important}
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-actions,
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready #v465Learning{display:none!important}
/* Hide only the redundant legacy tab strip while the new grouped navigation is present.
   Hidden original .teacher-tab buttons stay in the DOM for their existing JS handlers. */
body.v465-ui #v465TeacherWorkspace.vnn-hub-ready ~ .teacher-tabs{display:none!important}
body.v465-ui.v465-advanced #v465TeacherWorkspace.vnn-hub-ready ~ .teacher-tabs{display:flex!important;flex-wrap:wrap;gap:7px}
body.v465-ui .vnn-teacher-action-hub{border-top:1px solid #d5e5df;padding-top:13px;margin-top:10px}
body.v465-ui .vnn-hub-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}
body.v465-ui .vnn-hub-title h3{font-size:clamp(18px,2vw,20px);line-height:1.3;color:#194b3e;margin:2px 0 2px}
body.v465-ui .vnn-hub-title p{margin:0;color:#5d746b;font-size:12px;line-height:1.45}
body.v465-ui .vnn-hub-area-label{background:#edf7f2;border:1px solid #cfe3d9;border-radius:999px;padding:7px 10px;white-space:normal;text-align:right;font-weight:750;font-size:11px;color:#26644e}
body.v465-ui .vnn-hub-tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px}
body.v465-ui .vnn-hub-task{display:flex;align-items:center;gap:9px;text-align:left;min-width:0;min-height:68px;padding:11px;border:1px solid #d0e2db;border-radius:13px;background:#fff;color:#194a3b;font:inherit;cursor:pointer;transition:background .12s ease}
body.v465-ui .vnn-hub-task:hover{background:#f0f8f4}
body.v465-ui .vnn-hub-task:disabled{cursor:default;opacity:.55}
body.v465-ui .vnn-hub-task.urgent{border-color:#dfbf77;background:#fffaf0}
body.v465-ui .vnn-hub-icon{font-size:19px;flex:0 0 auto;line-height:1}
body.v465-ui .vnn-hub-task-copy{min-width:0;flex:1}
body.v465-ui .vnn-hub-task-copy strong{display:block;font-size:13.5px;line-height:1.4}
body.v465-ui .vnn-hub-task-copy small{display:block;color:#63786f;font-size:11px;line-height:1.4;margin-top:2px}
body.v465-ui .vnn-hub-count{font-size:17px;line-height:1;background:#eef5f2;border-radius:9px;padding:5px 7px;font-variant-numeric:tabular-nums}
body.v465-ui .vnn-hub-count.attention{background:#fff0d1;color:#895512}
body.v465-ui .vnn-hub-arrow{color:#4b7a68;margin-left:2px;font-size:15px}
body.v465-ui .vnn-hub-tools{margin-top:10px;border:1px solid #cbded5;border-radius:12px;background:#fff;overflow:hidden}
body.v465-ui .vnn-hub-tools>summary{display:flex;align-items:center;gap:8px;padding:12px 13px;min-height:48px;background:#f0f7f3;color:#275f4a;font-weight:850;cursor:pointer;list-style:none}
body.v465-ui .vnn-hub-tools>summary::-webkit-details-marker,body.v465-ui .vnn-hub-group>summary::-webkit-details-marker{display:none}
body.v465-ui .vnn-hub-tools>summary small{margin-left:auto;color:#5f746a;font-weight:500;font-size:11px}
body.v465-ui .vnn-hub-tools>summary::after{content:'⌄';margin-left:4px;font-size:19px}
body.v465-ui .vnn-hub-tools[open]>summary::after{content:'⌃'}
body.v465-ui .vnn-hub-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
body.v465-ui .vnn-hub-group{border:1px solid #e0ebe5;border-radius:10px;min-width:0;background:#fbfdfb}
body.v465-ui .vnn-hub-group>summary{padding:11px 12px;min-height:47px;cursor:pointer;list-style:none}
body.v465-ui .vnn-hub-group>summary strong{display:block;font-size:13px;color:#245642}
body.v465-ui .vnn-hub-group>summary small{display:block;font-size:11px;color:#738178;margin-top:2px}
body.v465-ui .vnn-hub-group[open]>summary{border-bottom:1px solid #e0ebe5}
body.v465-ui .vnn-hub-group-links{padding:9px;display:grid;gap:6px}
body.v465-ui .vnn-hub-group-links button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;min-height:44px;text-align:left;background:#fff;border:1px solid #cfdfd7;border-radius:9px;color:#275746;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
body.v465-ui .vnn-hub-group-links button:disabled,body.v465-ui .vnn-hub-group-links button[hidden]{display:none!important}
body.v465-ui .vnn-hub-group-links button:hover{background:#edf7f2}
body.v465-ui .vnn-teacher-action-hub :is(button,summary):focus-visible{outline:3px solid #168a74;outline-offset:3px}
@media(max-width:1099px){body.v465-ui .vnn-hub-tasks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-areas{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;scroll-snap-type:x proximity;padding-bottom:7px;gap:7px!important;overscroll-behavior-x:contain;scrollbar-width:thin}
 body.v465-ui #v465TeacherWorkspace.vnn-hub-ready .v465-areas button{min-width:147px!important;max-width:200px;scroll-snap-align:start;flex:0 0 auto}
 body.v465-ui .vnn-hub-title{display:block}
 body.v465-ui .vnn-hub-area-label{display:inline-flex;text-align:left;margin-top:8px}
 body.v465-ui .vnn-hub-tasks{grid-template-columns:1fr 1fr;gap:7px}
 body.v465-ui .vnn-hub-task{align-items:flex-start;min-height:83px;padding:10px;gap:7px}
 body.v465-ui .vnn-hub-icon{font-size:17px}
 body.v465-ui .vnn-hub-task-copy strong{font-size:12.5px}
 body.v465-ui .vnn-hub-task-copy small{font-size:10.5px}
 body.v465-ui .vnn-hub-arrow{display:none}
 body.v465-ui .vnn-hub-count{font-size:14px;padding:4px}
 body.v465-ui .vnn-hub-groups{grid-template-columns:1fr;padding:8px}
 body.v465-ui .vnn-hub-tools>summary{flex-wrap:wrap}
}
@media(max-width:380px){body.v465-ui .vnn-hub-tasks{grid-template-columns:1fr}body.v465-ui .vnn-hub-task{min-height:57px;align-items:center}}
@media(prefers-reduced-motion:reduce){body.v465-ui .vnn-hub-task{transition:none}}

/* Reliable first paint: static Teacher Dashboard HTML is visible even if
   the Smart Dashboard loader has not finished. No privileged data is printed. */
#view-teacher .vnn-teacher-action-hub.vnn-hub-static{
 display:block;min-width:0;margin:12px 0 16px;padding:14px 16px;
 border:1px solid #cbded5;border-radius:15px;background:linear-gradient(135deg,#f6fbf7,#ffffff);
 color:#1c4b3a;
}
#view-teacher .vnn-hub-static .vnn-hub-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#view-teacher .vnn-hub-static .vnn-hub-title h3{margin:4px 0;font-size:clamp(19px,2.2vw,23px)}
#view-teacher .vnn-hub-static .vnn-hub-title p{margin:0 0 8px;color:#5f746a;font-size:13px;line-height:1.5}
#view-teacher .vnn-hub-static .vnn-hub-area-label{font-size:12px;line-height:1.4;background:#e9f4ee;padding:7px 10px;border-radius:20px}
#view-teacher .vnn-hub-status{padding:10px 12px;border:1px dashed #c8dacf;background:#fff;border-radius:10px;color:#5d7167;font-size:13px}
#view-teacher .vnn-hub-status[hidden]{display:none!important}
#view-teacher .vnn-teacher-action-hub[hidden]{display:none!important}
#view-teacher #vnnHubTools>summary{list-style:none}
#view-teacher #vnnHubTools>summary::-webkit-details-marker{display:none}
#view-teacher .vnn-hub-static:focus-within{scroll-margin-top:80px}
@media(max-width:700px){
 #view-teacher .vnn-teacher-action-hub.vnn-hub-static{padding:11px;margin:9px 0 13px}
 #view-teacher .vnn-hub-static .vnn-hub-title{display:block}
 #view-teacher .vnn-hub-static .vnn-hub-area-label{display:inline-flex;margin:6px 0}
}

/* Teacher Action Hub v3: full-width, self-scoped, no dependency on body.v465-ui.
   Fixes plain browser buttons / text sticking together in teacher screenshot. */
#view-teacher #vnnTeacherActionHub{
 box-sizing:border-box!important;
 display:block!important;
 width:100%!important;
 max-width:100%!important;
 flex:0 0 100%!important;
 grid-column:1 / -1!important;
 min-width:0!important;
 clear:both!important;
 margin:14px 0!important;
 padding:16px!important;
}
#view-teacher #vnnTeacherActionHub[hidden]{display:none!important}
#view-teacher #vnnTeacherActionHub .vnn-hub-title{
 display:flex!important;align-items:flex-start!important;
 justify-content:space-between!important;gap:12px!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-title h3{
 font-size:22px!important;line-height:1.3!important;
 margin:3px 0 5px!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-tasks{
 display:grid!important;
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 align-items:stretch!important;
 gap:10px!important;
 width:100%!important;
 margin-top:13px!important;
}
#view-teacher #vnnTeacherActionHub button.vnn-hub-task{
 box-sizing:border-box!important;
 appearance:none!important;
 display:flex!important;
 align-items:center!important;
 gap:10px!important;
 width:100%!important;
 min-width:0!important;
 min-height:78px!important;
 padding:13px 11px!important;
 border:1px solid #cce2d6!important;
 border-radius:13px!important;
 background:#fff!important;
 color:#184d3a!important;
 text-align:left!important;
 font-family:inherit!important;
 font-size:13px!important;
 line-height:1.4!important;
 white-space:normal!important;
 cursor:pointer!important;
 box-shadow:0 1px 5px rgba(14,70,45,.06)!important;
}
#view-teacher #vnnTeacherActionHub button.vnn-hub-task.urgent{
 border-color:#e5c988!important;background:#fffbf2!important;
}
#view-teacher #vnnTeacherActionHub button.vnn-hub-task .vnn-hub-icon{
 display:block!important;flex:0 0 auto!important;font-size:21px!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-task-copy{
 display:flex!important;flex:1 1 auto!important;
 flex-direction:column!important;gap:4px!important;min-width:0!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-task-copy strong{
 display:block!important;font-size:13px!important;line-height:1.4!important;
 white-space:normal!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-task-copy small{
 display:block!important;font-size:11px!important;
 line-height:1.45!important;color:#577569!important;
 overflow-wrap:anywhere!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-count{
 flex:0 0 auto!important;font-weight:750!important;
 padding:5px 7px!important;border-radius:8px!important;
 background:#eef5f0!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-arrow{
 display:block!important;margin-left:auto!important;
 font-size:18px!important;color:#557e6b!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-tools{
 display:block!important;
 margin-top:12px!important;
 padding:0!important;
 background:#fff!important;
 border:1px solid #d1e1d7!important;
 border-radius:12px!important;
 overflow:hidden!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-tools > summary{
 display:flex!important;
 align-items:center!important;
 gap:10px!important;
 min-height:48px!important;
 padding:12px!important;
 background:#edf7f1!important;
 font-size:14px!important;
 font-weight:750!important;
 color:#22523f!important;
 cursor:pointer!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-tools>summary small{
 display:block!important;font-size:11px!important;
 margin-left:auto!important;color:#607869!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-groups{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:10px!important;padding:12px!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-group{
 border:1px solid #dceae0!important;border-radius:10px!important;
 overflow:hidden!important;background:#fbfefc!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-group>summary{
 display:flex!important;flex-direction:column!important;
 gap:3px!important;padding:11px!important;cursor:pointer!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-group-links{
 display:grid!important;gap:6px!important;padding:9px!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-group-links button{
 display:flex!important;justify-content:space-between!important;
 align-items:center!important;min-height:44px!important;
 padding:10px!important;background:#fff!important;
 border:1px solid #d6e5dc!important;border-radius:9px!important;
 font-family:inherit!important;font-size:12px!important;
 color:#27624c!important;text-align:left!important;
}
#view-teacher #vnnTeacherActionHub .vnn-hub-group-links button[hidden],
#view-teacher #vnnTeacherActionHub .vnn-hub-group-links button:disabled{
 display:none!important;
}
#view-teacher #vnnTeacherActionHub :is(button,summary):focus-visible{
 outline:3px solid #0c9877!important;outline-offset:2px!important;
}
@media(max-width:1100px){
 #view-teacher #vnnTeacherActionHub .vnn-hub-tasks{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:700px){
 #view-teacher #vnnTeacherActionHub{padding:11px!important}
 #view-teacher #vnnTeacherActionHub .vnn-hub-title{display:block!important}
 #view-teacher #vnnTeacherActionHub .vnn-hub-title h3{font-size:19px!important}
 #view-teacher #vnnTeacherActionHub .vnn-hub-tasks{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 #view-teacher #vnnTeacherActionHub button.vnn-hub-task{min-height:88px!important;padding:10px!important;align-items:flex-start!important}
 #view-teacher #vnnTeacherActionHub .vnn-hub-arrow{display:none!important}
 #view-teacher #vnnTeacherActionHub .vnn-hub-groups{grid-template-columns:1fr!important}
}
@media(max-width:390px){
 #view-teacher #vnnTeacherActionHub .vnn-hub-tasks{grid-template-columns:minmax(0,1fr)!important}
 #view-teacher #vnnTeacherActionHub button.vnn-hub-task{min-height:60px!important;align-items:center!important}
}
