/* Việt Connect v243 · Warm Jade Studio
   Desktop-only additive design, gated behind html.vc-web-studio.
   v238 fallback, original logo, live tools and phone layouts are untouched. */
@media(min-width:1024px){
 html.vc-web-studio{--v243-jade:#075848;--v243-dark:#083f34;--v243-leaf:#137761;--v243-gold:#e7bc69;--v243-ink:#1c4538;--v243-line:rgba(17,89,60,.12);--v243-shadow:0 4px 10px rgba(18,77,50,.025),0 16px 36px rgba(18,77,50,.068);}
 html.vc-web-studio body:not(.dark-mode){background:#faf8f3!important;color:var(--v243-ink)}
 html.vc-web-studio.vc-side #vcSideBg{background:linear-gradient(155deg,#08604c 0%,#074b3f 45%,#06362e 100%)!important;box-shadow:7px 0 24px rgba(8,66,42,.12)}
 html.vc-web-studio.vc-side #vcSideBg::before{content:"";position:absolute;inset:0 0 35%;pointer-events:none;background:radial-gradient(ellipse at 10% 10%,rgba(193,241,192,.12),transparent 70%)}
 html.vc-web-studio.vc-side #vcSideBg .vc-side-motto{color:#edf6ea;text-shadow:0 2px 8px #062e29}
 html.vc-web-studio.vc-side #vcTopNav{gap:5px;padding-inline:12px}
 html.vc-web-studio.vc-side #vcTopNav button{min-height:44px;border-radius:14px!important;font-weight:650!important;color:#dcefe5!important}
 html.vc-web-studio.vc-side #vcTopNav button:hover{background:rgba(255,255,255,.11)!important}
 html.vc-web-studio.vc-side #vcTopNav button.vd-on{background:linear-gradient(90deg,rgba(233,246,232,.22),rgba(255,255,255,.12))!important;box-shadow:inset 3px 0 0 var(--v243-gold)!important}
 html.vc-web-studio.vc-side #vcSideTop{background:rgba(250,248,243,.97);border-bottom-color:#e7e9dd}
 html.vc-web-studio.vc-side #vdSearch{border-radius:17px;max-width:600px;background:white;box-shadow:0 4px 14px rgba(17,75,53,.045);border-color:#e3eade}
 html.vc-web-studio.vc-side #vdSearch:focus-within{border-color:#73ad94;box-shadow:0 0 0 4px rgba(64,156,110,.13)}
 html.vc-web-studio.vc-side #vdHeader [data-vd-go="starthere"]:first-child{gap:11px}
 html.vc-web-studio.vc-side #vdHeader .vd-brand-words>span:first-child{color:white;letter-spacing:-.02em;font-size:21px}
 html.vc-web-studio.vc-side #vdHeader .vd-brand-words>span:last-child{color:#c3e6cf;letter-spacing:.08em}
 html.vc-web-studio.vc-side #vdHdrTeach{border-radius:14px!important;background:linear-gradient(125deg,#076650,#064c3c)!important;color:white!important;border-color:#065744!important;box-shadow:0 5px 14px rgba(5,77,53,.2)}
 html.vc-web-studio.vc-vd .book{max-width:1580px}
 html.vc-web-studio.vc-vd .vd-wrap{max-width:1450px;margin-inline:auto;color:var(--v243-ink)}
 html.vc-web-studio.vc-vd .vd-wrap h1{color:#173e33!important;letter-spacing:-.034em!important;line-height:1.13!important}
 html.vc-web-studio.vc-vd .vd-wrap h2{color:#174337;letter-spacing:-.022em;font-weight:750}
 html.vc-web-studio.vc-vd .vd-wrap h3{letter-spacing:-.012em}
 html.vc-web-studio.vc-vd .vd-wrap :is(p.text-sm,p.text-xs){line-height:1.6}
 html.vc-web-studio.vc-vd .vd-wrap :is(section.bg-white,div.bg-white.rounded-3xl,div.bg-white.rounded-2xl){border:1px solid var(--v243-line)!important;border-radius:24px!important;box-shadow:var(--v243-shadow)!important}
 html.vc-web-studio.vc-vd .vd-wrap .border-stone-200{border-color:#e6e9df!important}
 html.vc-web-studio.vc-vd .vd-wrap :is(button,input,textarea,select):focus-visible{outline:3px solid rgba(218,174,80,.85)!important;outline-offset:2px}
 html.vc-web-studio.vc-vd .vd-wrap button:not(:disabled){transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s}
 html.vc-web-studio.vc-vd .vd-wrap :is(button.bg-teal-700,button.bg-teal-600,button.bg-emerald-600){background:#08624d!important;color:#fff!important;box-shadow:0 5px 14px rgba(8,96,70,.13)}
 html.vc-web-studio.vc-vd .vd-wrap :is(button.bg-teal-700,button.bg-teal-600):hover{background:#064d3c!important;box-shadow:0 8px 20px rgba(8,96,70,.2)}
 html.vc-web-studio.vc-vd .vd-wrap :is(button.bg-stone-100,button.bg-white):hover{background:#eff7ee!important;border-color:#a2cdb6!important}
 html.vc-web-studio.vc-vd .vd-wrap :is(.bg-teal-50,.bg-emerald-50){background-color:#ebf6ee}
 html.vc-web-studio.vc-vd .vd-wrap :is(.bg-amber-50,.bg-yellow-50){background-color:#fff4de}
 html.vc-web-studio.vc-vd .vd-wrap :is(.bg-sky-50,.bg-cyan-50){background-color:#eaf6f2}
 html.vc-web-studio.vc-vd .vd-wrap .section-title{font-family:'Fraunces',Georgia,serif;font-weight:650}
 /* Friendly, sculpted top-level learner landing areas */
 html.vc-web-studio.vc-vd :is(#vd-starthere,#vd-drills,#vd-practice)>.vd-wrap>div:first-child{border-radius:28px!important;overflow:hidden;position:relative;box-shadow:var(--v243-shadow)}
 html.vc-web-studio.vc-vd #vd-starthere>.vd-wrap>div:first-child{background:linear-gradient(112deg,#064b3d,#0c7159 67%,#187d67)!important;box-shadow:0 12px 36px rgba(10,90,66,.17)!important}
 html.vc-web-studio.vc-vd #vd-starthere>.vd-wrap>div:first-child::after,html.vc-web-studio.vc-vd #teachPortal .tp243-hero::after{content:"";position:absolute;right:-16px;bottom:0;width:300px;height:135px;pointer-events:none;opacity:.19;background:linear-gradient(to top,rgba(255,255,255,.5),transparent 85%);clip-path:polygon(0 100%,8% 70%,18% 85%,26% 28%,34% 58%,43% 21%,52% 63%,62% 34%,72% 72%,82% 42%,92% 66%,100% 27%,100% 100%)}
 html.vc-web-studio.vc-vd #vd-drills>.vd-wrap>div:first-child{background:linear-gradient(112deg,#fff5df,#fffef9 55%,#e7f4ed)!important;border:1px solid #e6ecdf}
 html.vc-web-studio.vc-vd #vdLearnBar{background:linear-gradient(105deg,#fff,#f4faf6)!important;border-radius:22px!important;box-shadow:var(--v243-shadow)!important;border:1px solid #dfe9df!important}
 html.vc-web-studio.vc-vd #vdLearnSide>.bg-white:first-child{background:linear-gradient(130deg,#fff,#f3faf6)!important}
 html.vc-web-studio.vc-vd #vd-practice .vd-wrap .grid>div.bg-white:hover{border-color:#a1cab1!important;box-shadow:0 12px 32px rgba(16,84,58,.11)!important}
 /* Main page heading surfaces */
 html.vc-web-studio.vc-vd :is(#vd-decks,#vd-progress,#vd-settings,#vd-teachers,#vd-voices,#vd-dictionary,#vd-reading)>.vd-wrap>div:first-child{padding:24px 27px!important;border-radius:24px;border:1px solid #e2ebdf;background:linear-gradient(112deg,#fffdf7,#fff 62%,#e9f5ed);box-shadow:0 7px 24px rgba(22,85,61,.045)}
 html.vc-web-studio.vc-vd #vd-settings :is(#stGroupApp,#stGroupData,#stGroupLearning){border-radius:19px!important}
 html.vc-web-studio.vc-vd #vd-decks #vdDeckSearch{border-radius:17px;background:white}
 html.vc-web-studio.vc-vd .vd-wrap .bg-gradient-to-br.from-teal-50{background:linear-gradient(115deg,#eaf6ed,#fffdf8)!important}
 /* Teacher: inviting hero, real progress, smoother cards */
 html.vc-web-studio.vc-vd #teachPortal .tp243-hero{position:relative;overflow:hidden;border-radius:28px!important;border:1px solid #e0eadd!important;background:linear-gradient(112deg,#fbf5e9,#fffdf9 58%,#e6f5e9)!important;box-shadow:0 10px 32px rgba(16,81,54,.08)!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-hero::before{content:"";position:absolute;right:0;top:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(110,187,140,.18),transparent 72%);pointer-events:none}
 html.vc-web-studio.vc-vd #teachPortal .tp243-hero>*{position:relative;z-index:1}
 html.vc-web-studio.vc-vd #teachPortal .tp243-hero h1{font-size:clamp(29px,2.6vw,44px)!important;line-height:1.15}
 html.vc-web-studio.vc-vd #teachPortal .tp243-identity{background:rgba(255,255,255,.81)!important;border:1px solid #e6eadd!important;border-radius:19px}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card{min-height:147px;border-radius:23px;box-shadow:var(--v243-shadow);border-color:#e2e9dc}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card:first-child{background:linear-gradient(125deg,#086953,#064b3e)!important;box-shadow:0 11px 25px rgba(6,94,70,.19)}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card:nth-child(2){background:#fff4dd}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card:nth-child(3){background:#e9f6ec}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card:nth-child(4){background:#edf7f2}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card:hover{box-shadow:0 15px 31px rgba(17,85,58,.12)!important}
 html.vc-web-studio.vc-vd #teachPortal .tpw-icon{background:rgba(255,255,255,.72);font-size:23px;border-radius:14px}
 html.vc-web-studio.vc-vd #teachPortal .tpw-card:first-child .tpw-icon{background:rgba(255,255,255,.16)}
 html.vc-web-studio.vc-vd #teachPortal .tpw-title{font-size:16px;font-weight:800}
 html.vc-web-studio.vc-vd #teachPortal .tpw-sub{font-size:12px}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div{background:#fff!important;border-radius:22px!important;border:1px solid #e1eade!important;box-shadow:var(--v243-shadow)!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div:nth-child(1){background:linear-gradient(125deg,#ebf6ed,#fff)!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div:nth-child(2){background:linear-gradient(125deg,#fff5e3,#fff)!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div:nth-child(3){background:linear-gradient(125deg,#e5f4e8,#f9fcf6)!important;color:#154d3e!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div:nth-child(3) .text-3xl{color:#0e604c}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div:nth-child(4){background:linear-gradient(125deg,#fff5e6,#fff)!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats>div:nth-child(5){background:linear-gradient(125deg,#edf8f3,#fff)!important}
 html.vc-web-studio.vc-vd #teachPortal .tp243-stats .text-3xl{font:700 clamp(22px,2vw,32px)/1.1 'Fraunces',Georgia,serif;letter-spacing:-.027em}
 html.vc-web-studio.vc-vd #teachPortal .tp243-panel{border-radius:25px!important;border-color:#e0eade!important;box-shadow:var(--v243-shadow)!important;scroll-margin-top:110px}
 html.vc-web-studio.vc-vd #teachPortal .tp243-panel>div:first-child h2{font:650 21px/1.3 'Fraunces',Georgia,serif}
 html.vc-web-studio.vc-vd #teachPortal .tp243-panel>div:first-child h2 span:first-child{display:grid;place-items:center;border-radius:12px;width:34px;height:34px;background:#edf6ed}
 html.vc-web-studio.vc-vd #teachPortal #tp243-agenda{background:linear-gradient(110deg,#fff,#fffdf8)!important}
 html.vc-web-studio.vc-vd #teachPortal #tp243-payments{background:linear-gradient(110deg,#fff,#f7faf4)!important}
 html.vc-web-studio.vc-vd #teachPortal #tp243-tools [data-tool]{border-radius:17px;background:#fafbf7;border-color:#e1ebdd}
 html.vc-web-studio.vc-vd #teachPortal #tp243-tools [data-tool]:hover{background:#edf7ed;border-color:#a1ccb1}
 html.vc-web-studio.vc-vd #teachPortal #tpStudents .grid>div{border-radius:18px}
 html.vc-web-studio.vc-vd #teachPortal #tpStudents .grid>div:hover{border-color:#a2cfb6;background:#f5fbf7}
 html.vc-web-studio.vc-vd #teachPortal .tp243-jump{display:flex;gap:8px;flex-wrap:wrap}
 html.vc-web-studio.vc-vd #teachPortal .tp243-jump button{border:1px solid #d9e9db;border-radius:999px;background:#fff;padding:10px 15px;font-size:12px;font-weight:750;color:#2f765b;box-shadow:0 4px 10px rgba(20,85,57,.035)}
 html.vc-web-studio.vc-vd #teachPortal .tp243-jump button:hover{background:#eaf6ed;border-color:#88bea0;transform:translateY(-1px)}
}
@media(min-width:1024px) and (max-width:1399px){html.vc-web-studio.vc-vd #teachPortal .tpw-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html.vc-web-studio.vc-vd .vd-wrap *{transition:none!important}}
