.gssv-tp{--tp-blue:#145acb;--tp-dark:#18304a;--tp-muted:#61738b;--tp-green:#0e9a78;--tp-line:#dfe7f2;--tp-paper:#fff;--tp-bg:#f5f8fc;max-width:1210px;margin:22px auto;padding:0 16px 25px;color:var(--tp-dark);font:15px/1.58 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;box-sizing:border-box}
.gssv-tp *{box-sizing:border-box}.gssv-tp h1,.gssv-tp h2,.gssv-tp h3{color:var(--tp-dark);margin:0 0 12px;line-height:1.25}.gssv-tp h1{font-size:clamp(20px,2.4vw,28px)}.gssv-tp h2{font-size:21px}.gssv-tp h3{font-size:17px;margin:22px 0 11px}.gssv-tp p{margin:9px 0 15px}.gssv-tp small,.gssv-tp .gssv-tp-tip{font-size:13px;color:var(--tp-muted)}.gssv-tp a{color:var(--tp-blue);text-decoration:none}.gssv-tp a:hover{text-decoration:underline}.gssv-tp code{background:#edf3fc;padding:2px 5px;border-radius:4px;word-break:break-all}.gssv-tp button{font:inherit;cursor:pointer}.gssv-tp .gssv-tp-notice{padding:13px 16px;border-left:4px solid var(--tp-blue);background:#eaf4ff;color:#123e73;margin:0 0 16px;border-radius:8px}.gssv-tp .gssv-tp-warn{padding:11px;background:#fff4dd;color:#7a4d08;border-radius:8px}
.gssv-tp-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:25px 26px;border-radius:16px;background:linear-gradient(110deg,#e9f2ff,#f5fffb 85%);margin-bottom:14px}.gssv-tp-brand{display:flex;align-items:center;gap:15px}.gssv-tp-monogram{width:52px;height:52px;flex:0 0 52px;border-radius:13px;color:#fff;background:var(--tp-blue);font-size:23px;font-weight:800;display:grid;place-items:center;letter-spacing:-1px}.gssv-tp-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:#27639f;margin:0 0 5px}.gssv-tp-head p{font-size:14px;color:#506682;margin:7px 0 0}.gssv-tp-logout{margin:0;flex-shrink:0}.gssv-tp-textbtn{border:1px solid #acc9eb;border-radius:10px;padding:8px 12px;color:#1b5a9d;background:#fff}.gssv-tp-tabs{display:flex;gap:4px;overflow:auto;scrollbar-width:thin;white-space:nowrap;max-width:100%;padding:7px;background:#eef3fa;border-radius:12px;margin-bottom:16px}.gssv-tp-tabs a{color:#4d6077;flex:none;font-size:14px;font-weight:600;border-radius:8px;padding:10px 13px}.gssv-tp-tabs a:hover,.gssv-tp-tabs a.is-active{background:#fff;color:var(--tp-blue);text-decoration:none;box-shadow:0 1px 5px #174a8e18}
.gssv-tp-main{min-height:250px}.gssv-tp-panel{border:1px solid var(--tp-line);border-radius:15px;background:var(--tp-paper);padding:23px;margin-bottom:17px;box-shadow:0 3px 11px #1b4a8109;min-width:0}.gssv-tp-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.gssv-tp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.gssv-tp-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.gssv-tp-span{grid-column:1/-1}.gssv-tp label{display:flex;flex-direction:column;gap:5px;min-width:0;color:#31445a;font-size:14px;font-weight:600}.gssv-tp label span{display:block}.gssv-tp label small{font-weight:400}.gssv-tp input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.gssv-tp select,.gssv-tp textarea{display:block;min-width:0;width:100%;border:1px solid #cad5e5;border-radius:9px;padding:10px 11px;background:#fff;font:inherit;font-size:15px;color:#1c344c;outline-offset:2px;min-height:42px}.gssv-tp select[multiple]{height:auto;min-height:178px;padding:6px}.gssv-tp select[multiple] option{padding:5px 7px;white-space:normal}.gssv-tp textarea{resize:vertical;min-height:70px}.gssv-tp input[type=file]{max-width:100%}.gssv-tp input:focus,.gssv-tp select:focus,.gssv-tp textarea:focus{border-color:#3f85ed;outline:2px solid #b6d4ff}.gssv-tp-primary,.gssv-tp-secondary{border:0;border-radius:10px;padding:11px 17px;font-weight:700;display:inline-flex;justify-content:center;align-items:center;min-height:42px}.gssv-tp-primary{background:var(--tp-blue);color:#fff}.gssv-tp-primary:hover{background:#0645a7}.gssv-tp-secondary{background:#eaf2ff;color:#1556a5}.gssv-tp-secondary:hover{background:#d5e8ff}.gssv-tp .gssv-tp-checkbox,.gssv-tp .gssv-tp-switch{display:flex;align-items:center;flex-direction:row;gap:9px;padding:11px 0}.gssv-tp-checkbox input,.gssv-tp-switch input{width:18px;height:18px;accent-color:var(--tp-blue);flex:none;margin:0}
.gssv-tp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.gssv-tp-kpis>div{background:#f1f6fd;border:1px solid #e3ecf8;border-radius:12px;padding:16px;min-height:100px}.gssv-tp-kpis strong{display:block;color:var(--tp-blue);font-size:29px;line-height:1.1}.gssv-tp-kpis span{font-size:13px;color:#466079;display:block;margin-top:9px}.gssv-tp-quick{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.gssv-tp-quick a{border:1px solid #cbdcf3;background:#fff;border-radius:8px;padding:8px 11px;font-size:14px;font-weight:600}.gssv-tp-list{display:grid;gap:9px}.gssv-tp-list>article{border:1px solid var(--tp-line);border-radius:11px;padding:13px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0}.gssv-tp-list>article>div{min-width:0}.gssv-tp-list>article p{color:var(--tp-muted);font-size:13px;margin:3px 0 4px}.gssv-tp-row-actions{display:flex;gap:12px;flex-wrap:wrap}.gssv-tp-status{border-radius:100px;color:#15569b;background:#edf4ff;font-size:12px;font-weight:700;padding:4px 9px;white-space:nowrap}.gssv-tp-subcount{background:#e5f1ff;border-radius:50px;font-size:12px;padding:3px 10px;color:#276ec9}.gssv-tp-student-links{display:flex;gap:7px;overflow:auto;padding:4px 0 11px}.gssv-tp-student-links a{flex:none;padding:7px 11px;background:#f1f5fa;border-radius:8px;font-size:13px}.gssv-tp-student-links a.is-selected{background:#e1efff;color:#064aad;font-weight:700}.gssv-tp-grading-item,.gssv-tp-exam-item{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,260px);align-items:start!important}.gssv-tp-mini-form{display:grid;gap:8px}.gssv-tp-mini-form button{width:100%}.gssv-tp-mini-form input,.gssv-tp-mini-form select{min-width:0}.gssv-tp-codes{display:flex;gap:8px;flex-wrap:wrap}.gssv-tp-codes a{background:#eaf4ff;border-radius:8px;padding:6px 8px;font-weight:700}.gssv-tp-detail{border:1px solid #e2eaf5;padding:14px;border-radius:9px;overflow-wrap:anywhere}.gssv-tp-detail small{display:block}.gssv-tp-detail strong{display:block;margin-top:5px;font-size:15px;font-weight:600;white-space:pre-wrap}.gssv-tp-faq details{border-bottom:1px solid var(--tp-line);padding:10px 0}.gssv-tp-faq summary{cursor:pointer;font-weight:600;color:#245b9c}.gssv-tp-faq details p{padding:7px 3px;color:#425774}.gssv-tp-reply{padding:9px 12px;background:#ebf9f2;border-radius:8px;color:#16583e!important}.gssv-tp-foot{text-align:center;color:#73859d;font-size:12px;padding:16px}
.gssv-tp-table-wrap{overflow:auto;margin-top:15px}.gssv-tp table{border-collapse:collapse;width:100%;font-size:14px;min-width:390px}.gssv-tp th,.gssv-tp td{border-bottom:1px solid #e5ebf4;text-align:left;vertical-align:top;padding:9px 8px}.gssv-tp th{background:#f3f6fa;color:#25456a}.gssv-tp-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:10px;margin:10px 0 20px}.gssv-tp-filter button{align-self:end}.gssv-tp-report{border:1px solid var(--tp-line);background:#fff;padding:22px;border-radius:12px}.gssv-tp-report h2{color:var(--tp-blue);margin-bottom:11px}.gssv-tp-kpi-row{display:flex;gap:9px;flex-wrap:wrap;padding:10px 0}.gssv-tp-kpi-row>span{border-radius:7px;padding:8px;background:#eff5ff;font-size:13px}.gssv-tp-kpi-row b{color:#1357b2}.gssv-tp-signature{padding-top:15px;color:#61738b;border-top:1px solid #e5e9ef}.gssv-tp-report-send{border-top:1px solid var(--tp-line);padding-top:17px;margin-top:17px}.gssv-tp-print-question{page-break-inside:avoid;padding:15px 0;border-bottom:1px solid #dce5ee;min-height:55px}.gssv-tp-print-question ol{margin:7px 0 0 20px;padding:0}.gssv-tp-print-question li{padding:2px}.gssv-tp-print-exam{border:1px solid #e2e9f1;padding:24px}.gssv-tp-print-exam>h1{text-align:center;margin:0 0 10px}.gssv-tp-print-exam>p{text-align:center}.gssv-tp-work-space{min-height:70px}.gssv-tp-answer{color:#08644f!important;background:#eaf9f3;padding:5px 10px;display:inline-block}.gssv-tp-print-exam img{max-width:100%;height:auto}
.gssv-tp-login{display:grid;grid-template-columns:.9fr 1.1fr;gap:0;max-width:820px;margin:0 auto;box-shadow:0 12px 38px #133b7912;border:1px solid var(--tp-line);border-radius:19px;overflow:hidden;background:#fff;min-height:420px}.gssv-tp-login-hero{background:linear-gradient(130deg,#1565c7,#123f93);color:#fff;padding:42px 30px}.gssv-tp-login-hero .gssv-tp-monogram{background:#ffffff25;border:1px solid #ffffff55;margin-bottom:25px}.gssv-tp-login-hero h1{color:#fff;font-size:30px}.gssv-tp-login-hero p{color:#e8f1ff}.gssv-tp-login-hero ul{padding-left:18px;color:#e5efff;margin-top:28px;line-height:2}.gssv-tp-login-form{padding:42px 34px}.gssv-tp-login-form h2{font-size:23px}.gssv-tp-login-form>p{color:var(--tp-muted)}.gssv-tp-login-form form{display:grid;gap:12px;margin:18px 0}.gssv-tp-login-form .gssv-tp-primary,.gssv-tp-login-form .gssv-tp-secondary{width:100%}.gssv-tp-signup{border-top:1px solid var(--tp-line);margin-top:28px;padding-top:15px}.gssv-tp-signup summary{color:var(--tp-blue);font-weight:700;cursor:pointer}
@media (max-width:900px){.gssv-tp-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.gssv-tp-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.gssv-tp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:650px){.gssv-tp{padding:0 8px;margin-top:8px;font-size:14px}.gssv-tp-head{padding:15px 13px;align-items:flex-start;flex-wrap:wrap}.gssv-tp-brand{align-items:flex-start;gap:9px}.gssv-tp-head .gssv-tp-monogram{width:40px;height:40px;flex-basis:40px;font-size:18px}.gssv-tp-head h1{font-size:20px}.gssv-tp-logout{margin-left:auto}.gssv-tp-tabs{margin:0 -2px 12px}.gssv-tp-tabs a{padding:8px 11px;font-size:13px}.gssv-tp-panel{padding:15px 13px;margin-bottom:12px}.gssv-tp-two,.gssv-tp-grid,.gssv-tp-grid-4,.gssv-tp-filter{grid-template-columns:1fr}.gssv-tp-kpis{gap:7px}.gssv-tp-kpis>div{padding:12px;min-height:86px}.gssv-tp-kpis strong{font-size:24px}.gssv-tp-grading-item,.gssv-tp-exam-item{grid-template-columns:1fr}.gssv-tp-list>article{flex-direction:column;gap:7px}.gssv-tp-quick{gap:6px}.gssv-tp-login{grid-template-columns:1fr;margin:10px auto;border-radius:14px}.gssv-tp-login-hero{padding:21px 23px}.gssv-tp-login-hero .gssv-tp-monogram{margin-bottom:10px}.gssv-tp-login-hero h1{font-size:24px}.gssv-tp-login-hero ul{display:none}.gssv-tp-login-form{padding:24px 20px}.gssv-tp-report{padding:10px}.gssv-tp-print-exam{padding:10px}.gssv-tp-table-wrap{margin-left:-6px;margin-right:-6px}.gssv-tp .gssv-tp-no-print button{width:100%}}
@media print{body *{visibility:hidden!important}.gssv-tp #gssv-tp-print-area,.gssv-tp #gssv-tp-print-area *{visibility:visible!important}#gssv-tp-print-area{position:absolute;top:0;left:0;width:100%;max-width:none;border:0;margin:0;padding:12mm;background:#fff;color:#000}.gssv-tp #gssv-tp-print-area .gssv-tp-report,.gssv-tp #gssv-tp-print-area .gssv-tp-print-exam{border:0;padding:0}.gssv-tp #gssv-tp-print-area table{font-size:12px;min-width:0}.gssv-tp #gssv-tp-print-area img{max-width:100%!important}}

.gssv-tp-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.gssv-tp-library-list a{display:flex;flex-direction:column;padding:11px;border:1px solid var(--tp-line);border-radius:8px;gap:4px}.gssv-tp-library-list a:hover{border-color:var(--tp-blue);background:#f6faff;text-decoration:none}.gssv-tp-library-list span{color:var(--tp-muted);font-size:12px}.gssv-tp-library-question{border-bottom:1px solid var(--tp-line);padding:15px 0}.gssv-tp-library-question details{background:#f4f8fe;border-radius:8px;padding:9px 12px;margin-top:10px}.gssv-tp-library-question summary{font-weight:700;color:var(--tp-blue);cursor:pointer}.gssv-tp-library-question li{padding:2px}.gssv-tp-library-question img{max-width:100%;height:auto}@media(max-width:650px){.gssv-tp-library-list{grid-template-columns:1fr}}

.gssv-tp-source-picker{border:1px solid var(--tp-line);border-radius:11px;padding:11px 12px;margin:15px 0;background:#f9fbff}.gssv-tp-picker-title{font-weight:700;color:#244568;margin:0 0 9px}.gssv-tp-picker-title small{font-weight:400}.gssv-tp .gssv-tp-source-search{margin-bottom:8px}.gssv-tp-source-items{max-height:290px;overflow:auto;border:1px solid #d7e3f0;border-radius:9px;background:#fff}.gssv-tp .gssv-tp-source-option{border-bottom:1px solid #edf2f8;display:flex;flex-direction:row;gap:12px;align-items:flex-start;padding:9px 12px;font-size:13px;cursor:pointer}.gssv-tp-source-option:hover{background:#f1f7ff}.gssv-tp-source-option:has(input:checked){background:#eaf5ff}.gssv-tp-source-option input{flex:none;accent-color:var(--tp-blue);width:17px;height:17px;margin-top:3px}.gssv-tp-source-option span{display:flex;flex-direction:column;gap:2px;min-width:0}.gssv-tp-source-option em{font-style:normal;color:#47617a}.gssv-tp-source-option small{color:#8393a7}.gssv-tp-picker-count{margin:8px 0 0!important;font-size:12px!important;color:#47617a}.gssv-tp-paging{display:flex;flex-wrap:wrap;gap:5px;margin-top:14px}.gssv-tp-paging a{border:1px solid #d3dfea;border-radius:6px;padding:4px 10px}.gssv-tp-paging a.is-current{background:#145acb;color:white}.gssv-tp [hidden]{display:none!important}

/* v1.0.1 — official site logo, not a synthetic SV monogram. */
.gssv-tp .gssv-tp-official-logo{display:block;width:54px;height:54px;flex:0 0 54px;object-fit:contain;border-radius:12px;background:#fff;border:1px solid #dfebf8;padding:5px;box-shadow:0 2px 10px #153c6412}
.gssv-tp-login-hero .gssv-tp-login-logo{width:76px;height:76px;max-width:100%;border-radius:14px;padding:9px;margin-bottom:17px;background:#fff}
.gssv-tp-login-hero .gssv-tp-login-brandname{font-size:12px;font-weight:750;letter-spacing:1.6px;color:#e9f4ff;margin:0 0 12px}
@media(max-width:650px){.gssv-tp .gssv-tp-header-logo{width:43px;height:43px;flex-basis:43px}.gssv-tp-login-hero .gssv-tp-login-logo{width:58px;height:58px;margin-bottom:10px}}

/* 1.0.2 – reduced navigation, asynchronous tab view and in-context tutor help. */
.gssv-tp .gssv-tp-tabs{display:flex;flex-wrap:wrap;gap:5px;overflow:visible;padding:6px;border-radius:13px;position:relative}
.gssv-tp .gssv-tp-tabs a{flex:0 1 auto;white-space:normal;text-align:center;min-width:0;border-radius:9px;padding:11px 15px;font-weight:650}
.gssv-tp .gssv-tp-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 15px;align-items:center}
.gssv-tp .gssv-tp-subnav a{display:inline-flex;align-items:center;text-decoration:none;min-height:38px;max-width:100%;padding:8px 13px;border:1px solid #d5e2f2;border-radius:9px;font-size:14px;color:#31526f;background:#fff;font-weight:600}
.gssv-tp .gssv-tp-subnav a.is-current{color:#1256bb;background:#e9f3ff;border-color:#96c1f4}
.gssv-tp #gssv-tp-content{transition:opacity .13s ease;min-height:145px}
.gssv-tp.is-loading-tab #gssv-tp-content{opacity:.64;pointer-events:none}
.gssv-tp.is-loading-tab .gssv-tp-tabs:after{content:"";position:absolute;bottom:0;left:0;height:3px;width:32%;border-radius:99px;background:#0f64d8;animation:tp-tab-loading .85s ease-in-out infinite alternate}
@keyframes tp-tab-loading{from{transform:translateX(0)}to{transform:translateX(210%)}}
.gssv-tp-profile-simple{max-width:800px}.gssv-tp-profile-simple input{max-width:450px}
.gssv-tp .gssv-tp-assistant-float{position:fixed;z-index:100005;right:max(16px,env(safe-area-inset-right));bottom:max(19px,env(safe-area-inset-bottom));font-size:14px;line-height:1.5}
.gssv-tp .gssv-tp-assistant-launch{border:0;background:#1465c9;color:#fff;font-weight:800;padding:12px 18px;border-radius:999px;box-shadow:0 8px 22px #123d7560;cursor:pointer}
.gssv-tp .gssv-tp-assistant-launch:focus-visible,.gssv-tp .gssv-tp-assistant-dialog button:focus-visible{outline:3px solid #ffc400;outline-offset:3px}
.gssv-tp .gssv-tp-assistant-dialog{width:min(385px,calc(100vw - 28px));max-height:min(690px,calc(100vh - 110px));overflow-y:auto;border:1px solid #c8d9ed;border-radius:17px;background:#fff;color:#1b3856;box-shadow:0 16px 55px #0d35604d;padding:16px;margin-bottom:9px}
.gssv-tp .gssv-tp-assistant-dialog[hidden]{display:none!important}
.gssv-tp .gssv-tp-assistant-dialog>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4ebf3;padding-bottom:9px;margin-bottom:8px}
.gssv-tp .gssv-tp-assistant-dialog header strong{color:#1255aa;font-size:16px}
.gssv-tp .gssv-tp-assistant-dialog header button{border:0;background:none;font-size:25px;cursor:pointer;padding:0 5px;color:#4d647c}
.gssv-tp .gssv-tp-assistant-dialog>p{font-size:13px;color:#4d647c;margin:6px 0 13px}
.gssv-tp .gssv-tp-assistant-log{max-height:245px;min-height:75px;overflow-y:auto;display:grid;align-content:start;gap:9px;padding:7px;background:#f5f8fc;border-radius:9px}
.gssv-tp .gssv-tp-chat-line{padding:9px 11px;background:#fff;border:1px solid #deebf7;border-radius:10px;font-size:13px}
.gssv-tp .gssv-tp-chat-line.is-user{background:#e9f3ff;border-color:#c8dcf3}
.gssv-tp .gssv-tp-chat-line strong{display:block;font-size:12px;color:#12549a;margin-bottom:3px}
.gssv-tp .gssv-tp-chat-line p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.gssv-tp .gssv-tp-chat-suggestions{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}
.gssv-tp .gssv-tp-chat-suggestions button{border:1px solid #cfdff1;border-radius:99px;background:#f6faff;color:#155bad;font-size:12px;cursor:pointer;padding:6px 8px}
.gssv-tp [data-tp-help-form]{display:grid;gap:8px}
.gssv-tp [data-tp-help-form] label{font-size:12px;font-weight:700}
.gssv-tp [data-tp-help-form] textarea{min-height:64px;max-height:135px;resize:vertical;padding:9px 10px;width:100%;font-size:14px}
.gssv-tp [data-tp-help-form] button{width:100%}
.gssv-tp [data-tp-help-ticket]{margin-top:8px;font-size:12px!important;width:100%;padding:8px}
.gssv-tp .gssv-tp-chat-zalo{font-size:12px!important;border-top:1px solid #e2e9f2;padding-top:10px;margin-top:12px!important}
.gssv-tp .gssv-tp-chat-zalo a{font-weight:800}
/* The previous global contact widgets are redundant on the PRIVATE tutor portal.
   Hide them only here, never elsewhere on the main website. */
body.gssv-tp-page .footer-zalo-chat,body.gssv-tp-page #gssv-chat-launch{display:none!important}
@media(max-width:680px){.gssv-tp .gssv-tp-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.gssv-tp .gssv-tp-tabs a{padding:11px 6px;font-size:13px}.gssv-tp .gssv-tp-subnav{gap:5px}.gssv-tp .gssv-tp-subnav a{padding:8px 9px;font-size:12px}.gssv-tp .gssv-tp-assistant-float{right:12px;bottom:13px}.gssv-tp .gssv-tp-assistant-launch{padding:11px 14px}.gssv-tp .gssv-tp-assistant-dialog{max-height:min(610px,calc(100vh - 103px))}}
@media(prefers-reduced-motion:reduce){.gssv-tp.is-loading-tab .gssv-tp-tabs:after{animation:none}}
@media print{.gssv-tp .gssv-tp-assistant-float{display:none!important}}

/* 1.0.3 · Trees, progress policies, student alias, tutor chibi and matching classes. */
.gssv-tp .gssv-tp-tree-node{margin:5px 0 5px 7px;border-left:2px solid #dceaf9;padding-left:9px}
.gssv-tp .gssv-tp-tree-node>summary{font-size:14px;color:#24507d;font-weight:750;cursor:pointer;padding:7px 4px;border-radius:6px;line-height:1.4}
.gssv-tp .gssv-tp-tree-node>summary:hover{background:#f0f6ff}
.gssv-tp .gssv-tp-tree-node>summary small{font-weight:400;color:#61768d}
.gssv-tp .gssv-tp-source-tree{max-height:min(530px,65vh);padding:7px;overscroll-behavior:contain}
.gssv-tp .gssv-tp-source-option{margin-left:3px;font-weight:400}
.gssv-tp .gssv-tp-library-tree{max-height:620px;overflow-y:auto;border:1px solid var(--tp-line);border-radius:10px;padding:8px 12px;background:#fafcff}
.gssv-tp .gssv-tp-course-choice{border:1px solid #d6e4f2;border-radius:11px;padding:13px;margin:14px 0;background:#f9fcff}
.gssv-tp .gssv-tp-course-choice legend{padding:0 8px;color:#1b4d82}
.gssv-tp .gssv-tp-course-choice>label{display:flex;align-items:center;gap:9px;margin:10px 0;cursor:pointer}
.gssv-tp .gssv-tp-course-choice input[type=radio]{accent-color:#1464c5;width:16px;height:16px;flex:0 0 16px}
.gssv-tp .gssv-tp-policy-through{background:#fff;border-radius:10px;padding:12px;margin-top:12px}
.gssv-tp .gssv-tp-alias-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:7px}
.gssv-tp .gssv-tp-alias-form>label{max-width:250px;flex:1 1 180px}
.gssv-tp .gssv-tp-alias-form button{min-width:90px;max-height:44px}
.gssv-tp .gssv-tp-class-list{display:grid;gap:12px}
.gssv-tp .gssv-tp-class-card{border:1px solid #d3e2f3;border-radius:11px;display:flex;justify-content:space-between;gap:14px;padding:15px;background:#fff}
.gssv-tp .gssv-tp-class-card p{margin:7px 0;color:#445f79}
.gssv-tp .gssv-tp-class-card small{color:#6d8194}
.gssv-tp .gssv-tp-class-card>div:last-child{min-width:190px;text-align:right}
.gssv-tp .gssv-tp-review-actions{margin:20px 0;padding:17px;border:1px solid #dce9f5;border-radius:11px;background:#f7fbff}
.gssv-tp .gssv-tp-review-actions a{display:inline-flex;margin:6px 6px 0 0}
.gssv-tp .gssv-tp-assistant-launch{display:flex;align-items:center;gap:9px}
.gssv-tp .gssv-tp-nhut-avatar{width:38px;height:38px;border-radius:50%;object-fit:contain;border:2px solid #fff;background:#fff;box-shadow:0 1px 8px #032f5924;flex:0 0 38px}
.gssv-tp .gssv-tp-nhut-avatar-dialog{width:32px;height:32px;vertical-align:middle;margin-right:5px}
.gssv-tp .gssv-tp-assistant-dialog header strong{display:flex;align-items:center;gap:4px}
@media(max-width:680px){.gssv-tp .gssv-tp-tree-node{margin-left:4px;padding-left:6px}.gssv-tp .gssv-tp-class-card{flex-direction:column}.gssv-tp .gssv-tp-class-card>div:last-child{text-align:left}.gssv-tp .gssv-tp-assistant-launch{padding:8px 12px 8px 8px}}

/* v1.0.4 – visible opportunities and actionable tutor suggestions. */
.gssv-tp .gssv-tp-tabs{gap:5px;align-items:stretch}
.gssv-tp .gssv-tp-tabs a{padding:10px 11px;font-size:clamp(12px,1vw,14px);line-height:1.4;display:flex;align-items:center;justify-content:center}
.gssv-tp .gssv-tp-inline-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.gssv-tp .gssv-tp-inline-head h2{margin-bottom:5px}
.gssv-tp .gssv-tp-inline-head .gssv-tp-tip{margin-top:0}
.gssv-tp .gssv-tp-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gssv-tp .gssv-tp-recommendations article{border:1px solid #dbe8f5;background:#f9fcff;border-radius:12px;padding:13px 15px;min-width:0}
.gssv-tp .gssv-tp-recommendations article strong{font-size:15px;color:#193c5c}
.gssv-tp .gssv-tp-recommendations article p{font-size:13px;line-height:1.55;margin:6px 0;color:#597084}
.gssv-tp .gssv-tp-recommendations article a{font-size:13px;font-weight:750;color:#125cc0}
.gssv-tp .gssv-tp-class-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0 19px}
.gssv-tp .gssv-tp-class-summary span{padding:8px 12px;border-radius:9px;background:#eff6ff;color:#244768;font-size:14px}
.gssv-tp .gssv-tp-class-summary strong{color:#0b63ca}
.gssv-tp .gssv-tp-class-list+h3{margin-top:27px}
.gssv-tp .gssv-tp-panel>h3{font-size:19px;margin:20px 0 10px}
@media(max-width:700px){.gssv-tp .gssv-tp-recommendations{grid-template-columns:1fr}.gssv-tp .gssv-tp-tabs a{font-size:12.5px;padding:10px 6px}}

/* 1.0.5 – compact help navigation and real tutor-matched vacancies. */
.gssv-tp .gssv-tp-support-landing h2{margin-bottom:8px}
.gssv-tp .gssv-tp-support-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:15px 0}
.gssv-tp .gssv-tp-support-actions>a{display:grid;gap:5px;border:1px solid #d7e5f5;background:#f8fbff;border-radius:11px;padding:14px 15px;text-decoration:none;min-width:0;transition:border-color .15s ease,background .15s ease}
.gssv-tp .gssv-tp-support-actions>a:hover{background:#edf5ff;border-color:#9bc8fa}
.gssv-tp .gssv-tp-support-actions>a strong{font-size:15px;color:#1758af;line-height:1.35}
.gssv-tp .gssv-tp-support-actions>a span{font-size:13px;color:#506781;line-height:1.45}
.gssv-tp .gssv-tp-review-inline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid #e2ebf7;padding-top:14px;margin-top:14px}
.gssv-tp .gssv-tp-review-inline strong{font-size:15px}
.gssv-tp .gssv-tp-review-inline p{font-size:13px;color:#51657e;margin:4px 0 0}
.gssv-tp .gssv-tp-review-inline>div:last-child{display:flex;flex-wrap:wrap;gap:9px}
.gssv-tp .gssv-tp-review-inline a{padding:9px 12px;border-radius:9px;border:1px solid #bfd8fa;color:#135abc;font-weight:650;text-decoration:none;background:#fff;font-size:13px}
.gssv-tp .gssv-tp-class-hint{color:#365b79;font-size:13px;margin:5px 0 14px}
.gssv-tp .gssv-tp-class-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.gssv-tp .gssv-tp-class-preview-card{border:1px solid #d9e7f6;background:#f8fbff;border-radius:11px;padding:14px;min-width:0;overflow-wrap:anywhere}
.gssv-tp .gssv-tp-class-preview-head{display:flex;gap:8px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.gssv-tp .gssv-tp-class-preview-head strong{font-size:16px;color:#15395f}
.gssv-tp .gssv-tp-class-preview-head span{font-size:11px;padding:4px 7px;border-radius:9px;background:#e5f2ff;color:#1d5c9a}
.gssv-tp .gssv-tp-class-preview-card p{font-size:13px;color:#425d77;margin:7px 0}
.gssv-tp .gssv-tp-class-preview-address{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.gssv-tp .gssv-tp-class-preview-card small{display:block;font-size:12px;color:#197158;margin:9px 0}
.gssv-tp .gssv-tp-class-preview-card a{display:inline-block;margin-top:8px;font-size:14px;color:#075cbd;font-weight:700;text-decoration:none}
@media(max-width:860px){.gssv-tp .gssv-tp-class-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gssv-tp .gssv-tp-support-actions,.gssv-tp .gssv-tp-class-preview-grid{grid-template-columns:1fr}.gssv-tp .gssv-tp-review-inline a{width:100%;text-align:center}.gssv-tp .gssv-tp-review-inline>div:last-child{width:100%}}

/* 1.0.6 - Lớp mới là điểm đến cuối cùng, dùng xanh lá tinh tế để phân biệt. */
.gssv-tp .gssv-tp-tabs a[data-tp-group="classes"]{background:#e9f7ec;border:1px solid #a3daba;color:#126448;font-weight:750;}
.gssv-tp .gssv-tp-tabs a[data-tp-group="classes"]:hover,.gssv-tp .gssv-tp-tabs a[data-tp-group="classes"].is-active{background:#116c50;border-color:#116c50;color:#fff;box-shadow:0 2px 10px #116c5020;}
.gssv-tp .gssv-tp-tabs a[data-tp-group="classes"]:focus-visible{outline:3px solid #f2c75c;outline-offset:2px;}
