:root{
  --htx-blue-950:#082b61;--htx-blue-900:#0b3778;--htx-blue-700:#1768d4;--htx-blue-500:#2f8cf4;
  --htx-sky-50:#f4f9ff;--htx-sky-100:#eaf4ff;--htx-border:#dbe7f5;--htx-text:#122b4c;--htx-muted:#627793;
  --htx-green:#18a66b;--htx-red:#ee4d63;--htx-orange:#f58b43;--htx-purple:#7b5ee7;--htx-card:#fff;
  --htx-radius:18px;--htx-shadow:0 12px 36px rgba(33,75,125,.08);--htx-topbar:88px;--htx-sidebar:250px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.htx-site{margin:0;background:linear-gradient(180deg,#f7fbff 0,#f1f7fc 100%);color:var(--htx-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:var(--htx-blue-700)}img{max-width:100%}.htx-icon svg{width:22px;height:22px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.htx-skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:#fff;padding:10px 14px;border-radius:10px}.htx-skip-link:focus{top:12px}
.htx-topbar{height:var(--htx-topbar);position:sticky;top:0;z-index:80;display:grid;grid-template-columns:minmax(250px,360px) minmax(280px,1fr) auto;gap:24px;align-items:center;padding:12px 26px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--htx-border);backdrop-filter:blur(12px)}.htx-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--htx-blue-950)}.htx-brand img{width:58px;height:58px}.htx-brand-copy{display:flex;flex-direction:column;max-width:275px}.htx-brand-copy strong{font-size:19px;line-height:1.15;letter-spacing:-.3px}.htx-brand-copy small{font-size:11px;color:var(--htx-muted);font-style:italic;margin-top:4px}.htx-menu-toggle{display:none;background:transparent;border:0;padding:8px}.htx-menu-toggle span{display:block;width:23px;height:2px;background:var(--htx-blue-900);margin:5px;border-radius:3px}.htx-top-search{min-width:0}.htx-search-placeholder{height:46px;display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:12px;background:#eef4fb;color:#768aa3;max-width:620px}.htx-top-actions{display:flex;align-items:center;gap:12px}.htx-icon-button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:#f3f7fc;color:#174d8b;cursor:pointer}.htx-user-zone{display:flex;align-items:center;gap:10px}.htx-user-compact{display:flex;align-items:center;gap:10px}.htx-user-compact>span:last-child{display:flex;flex-direction:column;white-space:nowrap}.htx-user-compact small{color:var(--htx-muted)}.htx-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#dbeeff,#b9d9ff);color:var(--htx-blue-900);font-weight:800}.htx-avatar.is-large{width:62px;height:62px;font-size:22px}.htx-link-button{border:0;background:transparent;color:#375f8e;font-weight:600;cursor:pointer}.htx-logout-mini{margin:0}.htx-btn-compact{padding:9px 14px}
.htx-shell{display:grid;grid-template-columns:var(--htx-sidebar) minmax(0,1fr);min-height:calc(100vh - var(--htx-topbar))}.no-left .htx-shell{grid-template-columns:1fr}.htx-sidebar{position:sticky;top:var(--htx-topbar);height:calc(100vh - var(--htx-topbar));padding:18px 14px;border-right:1px solid var(--htx-border);background:#f8fbff;display:flex;flex-direction:column}.htx-sidebar-scroll{overflow:auto;flex:1}.htx-sidebar .mod-menu,.htx-fallback-nav{display:grid;gap:5px;list-style:none;padding:0;margin:0}.htx-sidebar .mod-menu li{margin:0}.htx-sidebar .mod-menu a,.htx-fallback-nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:12px;text-decoration:none;color:#163b70;font-weight:600}.htx-sidebar .mod-menu .active>a,.htx-sidebar .mod-menu a:hover,.htx-sidebar .mod-menu a:focus,.htx-fallback-nav a:hover,.htx-fallback-nav a:focus,.htx-fallback-nav a.is-active{background:linear-gradient(135deg,#1768d4,#2e8df5);color:#fff;box-shadow:0 9px 22px rgba(34,113,212,.18)}.htx-sidebar-motto{padding:12px 10px 4px;text-align:center;color:#21518a}.htx-sidebar-motto img{max-height:155px}.htx-sidebar-motto p{font-size:13px;font-style:italic;margin:8px 10px}.htx-sidebar-overlay{display:none}
.htx-main{padding:20px;min-width:0}.htx-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.no-right .htx-content-grid{grid-template-columns:1fr}.htx-component-card,.htx-module-card,.htx-public-top,.htx-dashboard-top,.htx-panel{background:var(--htx-card);border:1px solid var(--htx-border);border-radius:var(--htx-radius);box-shadow:var(--htx-shadow)}.htx-component-card{padding:20px;min-height:260px}.htx-module-card{padding:16px;margin-bottom:16px}.htx-module-card>h3{margin:0 0 12px;font-size:18px}.htx-right-column{position:sticky;top:calc(var(--htx-topbar) + 16px);display:grid;gap:14px}.htx-panel{padding:17px}.htx-panel+.htx-panel{margin-top:16px}.htx-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.htx-panel-head>div{display:flex;align-items:center;gap:8px}.htx-panel-head h2{margin:0;font-size:18px;color:#10386f}.htx-panel-head a{display:inline-flex;align-items:center;gap:4px;text-decoration:none;font-size:13px;font-weight:700}.htx-panel-head a svg{width:16px;height:16px}.htx-panel-head.compact{margin-bottom:12px}
.htx-hero{position:relative;overflow:hidden;min-height:250px;border-radius:22px;background:linear-gradient(115deg,#dff2ff,#8fd5ff 58%,#bde8da);border:1px solid #bcdff4;padding:34px 38px;display:flex;align-items:center;margin-bottom:14px}.htx-hero:before{content:"";position:absolute;left:-50px;top:-70px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.35)}.htx-hero:after{content:"";position:absolute;right:-40px;bottom:-60px;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.26)}.htx-hero-copy{position:relative;z-index:2;max-width:62%}.htx-eyebrow{display:inline-block;color:#1768d4;font-weight:700;font-size:17px}.htx-hero h1{font-size:38px;line-height:1.08;margin:3px 0 8px;color:#0a3a7c}.htx-hero p{font-size:17px;color:#245d96;margin:0 0 13px}.htx-hero-chip{display:inline-flex;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.8);color:#1768d4;font-weight:700;font-size:13px}.htx-hero-art{position:absolute;z-index:1;right:20px;bottom:-25px;width:290px;opacity:.92}.htx-hero-art img{width:100%;height:230px;object-fit:contain;object-position:bottom}
.htx-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.htx-stat{background:#fff;border:1px solid var(--htx-border);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center;min-height:92px}.htx-stat-icon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto}.htx-stat-icon.is-blue{background:#e9f3ff;color:#1768d4}.htx-stat-icon.is-green{background:#e5f8f0;color:#119764}.htx-stat-icon.is-orange{background:#fff0e8;color:#e86d27}.htx-stat-icon.is-purple{background:#f0ebff;color:#7656dc}.htx-stat small{display:block;color:var(--htx-muted)}.htx-stat strong{display:block;font-size:22px;line-height:1.15}.htx-stat span{display:block;color:#8394aa;font-size:11px;margin-top:2px}
.htx-empty-state{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #cfdfee;border-radius:14px;background:#f9fcff}.htx-empty-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#eaf4ff;color:#1768d4;flex:0 0 auto}.htx-empty-state strong{color:#184373}.htx-empty-state p{margin:4px 0 0;color:var(--htx-muted)}.htx-practice-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.htx-practice-card{display:flex;gap:11px;align-items:center;padding:14px;border-radius:14px;border:1px solid var(--htx-border);background:#fbfdff}.htx-practice-card p{margin:2px 0 0;color:var(--htx-muted);font-size:12px}.htx-practice-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.htx-practice-icon.is-blue{background:#e9f3ff;color:#1768d4}.htx-practice-icon.is-green{background:#e6f8ef;color:#169765}
.htx-profile-summary{display:flex;align-items:center;gap:12px;margin-bottom:14px}.htx-profile-summary>div{display:flex;flex-direction:column}.htx-profile-summary>div>span{color:var(--htx-muted);font-size:12px}.htx-status-pill{display:inline-flex;align-self:flex-start;margin-top:5px;padding:3px 8px;border-radius:999px;background:#e5f7ed;color:#148256;font-size:11px;font-style:normal;font-weight:700}.htx-calendar-title{text-align:center;font-weight:800;margin:4px 0 9px}.htx-calendar-week,.htx-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.htx-calendar-week span{font-size:11px;color:#6d819b;font-weight:700}.htx-calendar-days span{display:grid;place-items:center;min-height:30px;border-radius:50%;font-size:12px}.htx-calendar-days span.is-today{background:#1768d4;color:#fff;font-weight:800}.htx-calendar-days span.is-empty{visibility:hidden}.htx-muted-note{font-size:11px;color:#8797aa;margin:10px 0 0}.htx-help-list{display:grid}.htx-help-list a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-top:1px solid #edf2f8;text-decoration:none;color:#284f7e}.htx-help-list a:first-child{border-top:0}.htx-help-list svg{width:15px;height:15px}
.htx-btn,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:10px 16px;border:1px solid transparent;text-decoration:none;font-weight:700;cursor:pointer}.htx-btn-primary,.btn-primary{background:linear-gradient(135deg,#0d3b7b,#1768d4);color:#fff}.htx-btn-soft{background:#f0f6fc;color:#174a82;border-color:#dbe7f5}.htx-btn-outline{background:#fff;color:#1768d4;border-color:#9fc2eb}.htx-btn-block{width:100%}
.htx-guest-home{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:32px;align-items:center;min-height:560px;padding:50px;border:1px solid var(--htx-border);border-radius:26px;background:linear-gradient(130deg,#f9fcff,#eaf5ff 55%,#eefaf6);box-shadow:var(--htx-shadow)}.htx-guest-copy h1{font-size:42px;line-height:1.12;margin:8px 0 14px;color:#0b3b7a}.htx-guest-copy>p{font-size:18px;color:#526e8f;max-width:680px}.htx-guest-actions{display:flex;gap:10px;margin:22px 0}.htx-guest-features{display:flex;flex-wrap:wrap;gap:12px 18px;color:#375d87}.htx-guest-features span{display:flex;align-items:center;gap:6px}.htx-guest-features svg{width:17px;height:17px;color:#18a66b}.htx-guest-art{text-align:center}.htx-guest-art img{max-height:420px}
.htx-login-card{max-width:520px;margin:auto}.htx-login-head h2{font-size:28px;margin:0 0 4px}.htx-login-head p{color:var(--htx-muted);margin:0 0 20px}.htx-login-form{display:grid;gap:14px}.htx-login-form label>span:first-child{display:block;font-weight:600;margin-bottom:5px}.htx-login-form input[type=text],.htx-login-form input[type=password]{width:100%;height:48px;border:1px solid #cfdceb;border-radius:10px;padding:0 13px;font:inherit;outline:none}.htx-login-form input:focus{border-color:#4c92e7;box-shadow:0 0 0 4px rgba(44,135,237,.1)}.htx-password-wrap{display:flex!important;position:relative}.htx-password-wrap input{padding-right:48px!important}.htx-password-toggle{position:absolute;right:4px;top:4px;height:40px;width:40px;border:0;background:transparent;color:#28598e;cursor:pointer}.htx-check{display:flex;gap:8px;align-items:center}.htx-check span{margin:0!important;font-weight:400!important}.alert{border-radius:12px;padding:12px 14px;margin:0 0 14px;border:1px solid #d7e5f4;background:#eef7ff}.alert-danger{background:#fff1f3;border-color:#f4c5cb;color:#9d2436}.alert-success{background:#eefaf4;border-color:#bfe6d1;color:#147249}
.htx-footer{display:flex;justify-content:space-between;gap:20px;padding:16px 26px;border-top:1px solid var(--htx-border);background:#fff;color:#6e8098;font-size:12px}.htx-footer-slogan{font-style:italic}.htx-component-only{margin:0;padding:20px;background:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--htx-text)}
/* Hide any accidental development/framework chrome from the public experience. */
#system-debug,.joomla-debug,.debug,.icon-joomla,.brand-logo.joomla,.joomla-icon{display:none!important}
@media(max-width:1180px){.htx-content-grid{grid-template-columns:1fr}.htx-right-column{position:static}.htx-stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){:root{--htx-topbar:72px}.htx-topbar{grid-template-columns:1fr auto;padding:8px 14px}.htx-brand img{width:48px;height:48px}.htx-brand-copy strong{font-size:16px}.htx-brand-copy small{display:none}.htx-top-search{display:none}.htx-menu-toggle{display:block}.htx-brand-wrap{display:flex;align-items:center}.htx-shell{grid-template-columns:1fr}.htx-sidebar{position:fixed;left:-275px;top:var(--htx-topbar);z-index:90;width:265px;transition:left .2s ease;box-shadow:20px 0 50px rgba(20,58,100,.16)}.htx-sidebar-open .htx-sidebar{left:0}.htx-sidebar-open .htx-sidebar-overlay{display:block;position:fixed;inset:var(--htx-topbar) 0 0 0;background:rgba(8,28,55,.35);z-index:85}.htx-main{padding:14px}.htx-footer{flex-direction:column;text-align:center}.htx-sidebar-motto{display:none}.htx-hero-copy{max-width:78%}.htx-hero-art{opacity:.45}.htx-guest-home{grid-template-columns:1fr;padding:32px}.htx-guest-art{display:none}}
@media(max-width:580px){.htx-top-actions .htx-notifications,.htx-icon-button,.htx-logout-mini{display:none}.htx-user-compact span:last-child{display:none}.htx-stats-grid{grid-template-columns:1fr 1fr}.htx-component-card{padding:14px;border-radius:14px}.htx-hero{min-height:205px;padding:24px}.htx-hero h1{font-size:28px}.htx-hero-copy{max-width:100%}.htx-hero-art{display:none}.htx-practice-cards{grid-template-columns:1fr}.htx-guest-copy h1{font-size:32px}.htx-guest-actions{flex-direction:column}.htx-stat{align-items:flex-start;min-height:116px}.htx-stat-icon{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v1.1.1 - Mobile-first compatibility for iOS Safari and Android browsers */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#f4f9ff}
body.htx-site{min-height:100vh;min-height:100dvh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit}
button,a,[role="button"],input,select,textarea{touch-action:manipulation}
.htx-topbar{padding-top:max(12px,env(safe-area-inset-top));padding-left:max(26px,env(safe-area-inset-left));padding-right:max(26px,env(safe-area-inset-right))}
.htx-footer{padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(26px,env(safe-area-inset-left));padding-right:max(26px,env(safe-area-inset-right))}
.htx-sidebar{padding-bottom:max(18px,env(safe-area-inset-bottom))}
.htx-main{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
.htx-btn,.btn,.htx-icon-button,.htx-menu-toggle,.htx-sidebar a{min-height:44px}
.htx-login-form input[type=text],.htx-login-form input[type=password],.htx-login-form input[type=email],.htx-login-form input[type=tel],select,textarea{font-size:16px}
.htx-component-card,.htx-panel,.htx-stat,.htx-practice-card{contain:layout paint style}
@supports (height:100dvh){.htx-shell{min-height:calc(100dvh - var(--htx-topbar))}.htx-sidebar{height:calc(100dvh - var(--htx-topbar))}}
@media (hover:none) and (pointer:coarse){
 .htx-sidebar .mod-menu a:hover,.htx-fallback-nav a:hover{background:transparent;color:#163b70;box-shadow:none}
 .htx-sidebar .mod-menu .active>a,.htx-fallback-nav a.is-active{background:linear-gradient(135deg,#1768d4,#2e8df5);color:#fff;box-shadow:0 9px 22px rgba(34,113,212,.18)}
 .htx-btn,.btn,.htx-icon-button,.htx-menu-toggle{cursor:default}
}
@media(max-width:900px){
 .htx-topbar{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 .htx-sidebar{top:var(--htx-topbar);height:calc(100dvh - var(--htx-topbar));padding-left:max(14px,env(safe-area-inset-left))}
 .htx-main{padding:14px max(14px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
 body.htx-sidebar-open{overflow:hidden;touch-action:none}
}
@media(max-width:580px){
 :root{--htx-topbar:68px}
 .htx-brand-copy strong{font-size:14px;max-width:190px}
 .htx-brand img{width:44px;height:44px}
 .htx-top-actions{gap:6px}
 .htx-user-compact .htx-avatar{width:38px;height:38px}
 .htx-hero{padding:22px 18px;min-height:190px;border-radius:18px}
 .htx-hero h1{font-size:26px}
 .htx-hero p{font-size:15px}
 .htx-hero-chip{font-size:12px}
 .htx-stats-grid{gap:9px}
 .htx-stat{padding:12px;min-height:108px}
 .htx-stat strong{font-size:19px}
 .htx-main{overflow-x:hidden}
 .htx-component-card,.htx-module-card,.htx-panel{box-shadow:0 8px 24px rgba(33,75,125,.07)}
}
@media(max-width:390px){
 .htx-stats-grid{grid-template-columns:1fr}
 .htx-brand-copy strong{font-size:13px}
 .htx-main{padding-left:10px;padding-right:10px}
 .htx-component-card{padding:12px}
}

/* v1.2.0 - MASTER UI: giao diện học sinh bám sát thiết kế đã duyệt */
:root{
  --htx-sidebar:252px;
  --htx-topbar:90px;
}
body.htx-site{background:#f5faff}
.htx-topbar{grid-template-columns:365px minmax(360px,1fr) auto;padding-left:28px;padding-right:28px}
.htx-shell{max-width:1920px;margin:0 auto}
.htx-main{padding:14px 16px 18px}
.htx-content-grid{grid-template-columns:minmax(0,1fr) 332px;gap:14px}
.htx-dashboard-grid{align-items:start}
.htx-right-column{gap:12px}
.htx-panel{padding:14px 16px;border-radius:15px;box-shadow:0 5px 18px rgba(37,84,140,.055)}
.htx-panel+.htx-panel{margin-top:0}
.htx-panel-head{margin-bottom:11px}
.htx-panel-head h2{font-size:17px}
.htx-sidebar{padding:12px 10px;background:linear-gradient(180deg,#fbfdff,#f5faff)}
.htx-sidebar .mod-menu a,.htx-fallback-nav a{min-height:51px;padding:10px 13px;border-radius:11px;font-size:15px}
.htx-sidebar-motto-master{padding:8px 0 0;margin-top:auto}
.htx-sidebar-motto-master img{display:block;width:100%;max-height:none;border-radius:0;object-fit:contain}
.htx-sidebar-motto-master p{display:none}

.htx-hero{min-height:258px;margin-bottom:11px;padding:30px 36px;background:linear-gradient(110deg,#dff4ff 0%,#99dbff 58%,#d3f0dc 100%);border-color:#bfe3f4}
.htx-hero h1{font-size:38px;max-width:650px}
.htx-hero-copy{max-width:63%}
.htx-hero-art-master{right:0;bottom:0;width:46%;height:100%;opacity:1}
.htx-hero-art-master img{width:100%;height:100%;object-fit:cover;object-position:center}
.htx-hero-art-master:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(223,244,255,1) 0%,rgba(223,244,255,.15) 28%,rgba(255,255,255,0) 55%);z-index:1}
.htx-hero-art-master img{position:relative;z-index:0}
.htx-hero-guest .htx-guest-actions-inline{margin:14px 0 11px}

.htx-stats-grid{gap:10px;margin-bottom:12px}
.htx-stat{min-height:89px;padding:13px;border-radius:14px}
.htx-stat-icon{width:50px;height:50px}
.htx-stat small{font-size:13px;color:#314f75}
.htx-stat strong{font-size:23px;color:#0c3270}
.htx-stat span{font-size:10.5px}

.htx-exam-list{display:grid;gap:10px}
.htx-exam-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;padding:12px;border-radius:13px;border:1px solid transparent}
.htx-exam-card.is-red{background:linear-gradient(90deg,#fff2f4,#fff8f8);border-color:#ffd8de}
.htx-exam-card.is-blue{background:linear-gradient(90deg,#eef6ff,#f7fbff);border-color:#d5e8ff}
.htx-exam-card.is-green{background:linear-gradient(90deg,#eefbf4,#f7fdf9);border-color:#d5f0e1}
.htx-exam-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center}
.htx-exam-card.is-red .htx-exam-icon{background:#ffe0e5;color:#ef4861}
.htx-exam-card.is-blue .htx-exam-icon{background:#deedff;color:#1673df}
.htx-exam-card.is-green .htx-exam-icon{background:#dff6e9;color:#129b62}
.htx-exam-body{min-width:0}
.htx-exam-body strong{display:block;font-size:15px;color:#102f67;margin:2px 0 3px}
.htx-exam-body p{margin:0;color:#607693;font-size:12px}
.htx-exam-badge{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:9.5px;font-weight:800}
.htx-exam-card.is-red .htx-exam-badge{background:#ffdce2;color:#e12e4b}
.htx-exam-card.is-blue .htx-exam-badge{background:#dcecff;color:#1768d4}
.htx-exam-card.is-green .htx-exam-badge{background:#d8f4e5;color:#0c945b}
.htx-mini-action{white-space:nowrap;text-decoration:none;color:#fff;font-weight:700;border-radius:9px;padding:9px 12px;font-size:12px}
.htx-mini-action.is-red{background:#ef4861}.htx-mini-action.is-blue{background:#1673df}.htx-mini-action.is-green{background:#12a268}

.htx-center-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.htx-news-list{display:grid;gap:9px}
.htx-news-list>div{display:flex;gap:9px;align-items:flex-start;border-bottom:1px solid #edf2f8;padding-bottom:8px}
.htx-news-list>div:last-child{border-bottom:0;padding-bottom:0}
.htx-news-list i{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:0 0 auto}
.htx-news-list i.is-red{background:#ef4861}.htx-news-list i.is-blue{background:#2e83ed}.htx-news-list i.is-green{background:#16a36b}
.htx-news-list span{display:flex;flex-direction:column}
.htx-news-list small{color:#7c8ea7}
.htx-result-placeholder{text-align:center;padding:9px 4px 4px}
.htx-result-placeholder p{font-size:12px;color:#71849d;margin:4px 0 10px}

.htx-quote-panel{border-radius:14px;padding:16px 18px;background:linear-gradient(130deg,#edf7ff,#f7fbff);color:#123d79;display:flex;gap:10px;align-items:flex-start}
.htx-quote-panel em{font-size:14px;font-weight:600}
.htx-quote-leaf{font-size:22px;color:#76b8f0;line-height:1}
.htx-avatar-photo{overflow:hidden;background:#e6f1ff}
.htx-avatar-photo img{width:100%;height:100%;object-fit:cover}
.htx-status-pill.is-waiting{background:#edf2f7;color:#5f728b}
.htx-calendar-days span{min-height:27px}
.htx-help-list a{font-size:12.5px}

.htx-footer{padding:13px 24px;font-size:11.5px;background:#fbfdff}
#system-debug,.joomla-debug,.debug,.icon-joomla,.brand-logo.joomla,.joomla-icon,
joomla-toolbar-button,joomla-toolbar,#joomla-debug,.phpdebugbar,.phpdebugbar-openhandler,
[class*="joomla-debug"],[id*="joomla-debug"]{display:none!important}

@media(max-width:1360px){
 .htx-topbar{grid-template-columns:320px minmax(300px,1fr) auto}
 .htx-content-grid{grid-template-columns:minmax(0,1fr) 300px}
 .htx-hero h1{font-size:34px}
}
@media(max-width:1180px){
 .htx-content-grid{grid-template-columns:1fr}
 .htx-right-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
 .htx-quote-panel{grid-column:1/-1}
 .htx-center-bottom-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
 .htx-right-column{grid-template-columns:1fr}
 .htx-center-bottom-grid{grid-template-columns:1fr}
 .htx-exam-card{grid-template-columns:48px minmax(0,1fr)}
 .htx-mini-action{grid-column:2;justify-self:start}
 .htx-sidebar-motto-master{display:none}
}
@media(max-width:580px){
 .htx-hero{padding:22px 18px;min-height:215px}
 .htx-hero-art-master{display:none}
 .htx-hero-copy{max-width:100%}
 .htx-hero h1{font-size:28px}
 .htx-exam-card{grid-template-columns:42px minmax(0,1fr);gap:9px}
 .htx-exam-icon{width:42px;height:42px}
 .htx-center-bottom-grid{grid-template-columns:1fr}
 .htx-guest-actions-inline{flex-direction:row}
}
@media(max-width:390px){
 .htx-guest-actions-inline{flex-direction:column}
}

/* v1.2.1 EXACT MASTER UI */
:root{--htx-sidebar:252px;--htx-topbar:92px}
body.htx-site{background:#f6faff}
.htx-topbar{height:var(--htx-topbar);grid-template-columns:380px minmax(420px,1fr) auto;gap:26px;padding:0 30px;border-bottom:1px solid #e1ebf5}
.htx-brand img{width:88px!important;height:64px!important;object-fit:contain}
.htx-brand-copy strong{font-size:24px;line-height:1.02;max-width:255px}
.htx-brand-copy small{font-size:12px}
.htx-top-search{max-width:510px}.htx-search-placeholder{height:46px;border-radius:10px}
.htx-user-compact .htx-avatar{width:50px;height:50px}.htx-user-compact strong{font-size:14px}.htx-user-compact small{font-size:12px}
.htx-shell{grid-template-columns:var(--htx-sidebar) minmax(0,1fr);max-width:1920px}
.htx-sidebar{height:calc(100vh - var(--htx-topbar));min-height:650px;padding:14px 10px 10px;overflow:hidden;display:flex;flex-direction:column}
.htx-sidebar-scroll{overflow:visible!important;flex:0 0 auto!important;max-height:none!important}
.htx-fallback-nav{display:grid;gap:4px}.htx-fallback-nav a,.htx-sidebar .mod-menu a{min-height:47px;padding:9px 13px;border-radius:10px;font-size:15px}
.htx-sidebar-motto-master{margin-top:auto!important;flex:0 0 auto;padding:0!important;overflow:hidden}
.htx-sidebar-motto-master img{width:100%;height:auto;max-height:330px;object-fit:contain;object-position:bottom center;display:block}
.htx-main{padding:12px 15px 18px;min-width:0}
.htx-hero-master{min-height:258px;height:258px;padding:30px 38px;margin:0 0 10px;border-radius:16px;overflow:hidden;background:linear-gradient(90deg,#dff4ff 0%,#b4e5ff 49%,#d7f0de 100%)}
.htx-hero-master .htx-hero-copy{max-width:58%;position:relative;z-index:2}.htx-hero-master .htx-eyebrow{font-size:25px;font-weight:500;color:#1764b5}
.htx-hero-master h1{font-size:40px;line-height:1.08;margin:4px 0 8px;color:#0c2f6c}.htx-hero-master p{font-size:17px;margin-bottom:12px}
.htx-hero-chip{padding:8px 14px;background:rgba(255,255,255,.74);border-radius:999px;font-size:13px}
.htx-hero-art-master{right:0!important;top:0!important;bottom:0!important;width:49%!important;height:100%!important}
.htx-hero-art-master:before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#b8e7ff 0%,rgba(184,231,255,.17) 23%,rgba(255,255,255,0) 48%);pointer-events:none}
.htx-hero-art-master img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.htx-stats-master{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 10px}.htx-stats-master .htx-stat{height:90px;min-height:90px;padding:12px 14px}
.htx-master-icon{width:58px!important;height:58px!important;padding:0!important;background:transparent!important;overflow:hidden}.htx-master-icon img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}
.htx-stats-master .htx-stat small{font-size:13px;color:#18345b}.htx-stats-master .htx-stat strong{font-size:23px;color:#0b2e68}
.htx-master-grid{grid-template-columns:minmax(0,1fr) 332px;gap:12px}.htx-panel{border-radius:14px;padding:12px 14px}.htx-panel-head{min-height:31px;margin-bottom:9px}.htx-panel-head h2{font-size:17px}.htx-panel-head a{font-size:12px}
.htx-exam-list{gap:9px}.htx-exam-card{min-height:102px;grid-template-columns:68px minmax(0,1fr) auto;padding:12px 13px;gap:12px}
.htx-exam-master{width:58px!important;height:58px!important;padding:0!important;background:transparent!important;overflow:hidden;border-radius:11px}.htx-exam-master img{width:100%;height:100%;object-fit:cover;display:block}
.htx-exam-body strong{font-size:15px}.htx-exam-body p{font-size:11.5px}.htx-mini-action{font-size:11.5px;padding:9px 12px}
.htx-center-bottom-grid.htx-master-bottom{grid-template-columns:1fr 1fr;gap:11px;margin-top:11px}.htx-news-list>div{position:relative;padding-right:30px}.htx-news-list i.is-gray{background:#7588a2}
.htx-new-pill{margin-left:auto;background:#ff4962;color:#fff;border-radius:999px;padding:4px 9px;font-size:9px}
.htx-score-list{display:grid}.htx-score-list>div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf2f7;padding:9px 2px;font-size:12px}.htx-score-list>div:last-child{border-bottom:0}.htx-score-list b{color:#139b62}
.htx-right-column{gap:11px}.htx-quote-panel{min-height:74px}.htx-profile-summary .htx-avatar.is-large{width:86px;height:86px}.htx-profile-summary>div{gap:3px}.htx-profile-summary>div>span{display:block}
.htx-calendar-panel{min-height:285px}.htx-calendar-days span{min-height:28px}.htx-help-list a{min-height:42px}
@media(min-width:901px){.htx-sidebar{position:sticky;top:var(--htx-topbar)}.htx-sidebar-scroll{overflow:visible!important}}
@media(max-width:1400px){:root{--htx-sidebar:230px}.htx-topbar{grid-template-columns:340px minmax(340px,1fr) auto;padding:0 20px}.htx-brand-copy strong{font-size:21px}.htx-master-grid{grid-template-columns:minmax(0,1fr) 300px}.htx-hero-master h1{font-size:35px}}
@media(max-width:1180px){.htx-master-grid{grid-template-columns:1fr}.htx-right-column{display:grid;grid-template-columns:1fr 1fr}.htx-quote-panel{grid-column:1/-1}}
@media(max-width:900px){.htx-sidebar{height:100dvh;overflow-y:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))}.htx-sidebar-motto-master{margin-top:24px!important}.htx-sidebar-motto-master img{max-height:250px}.htx-hero-master{height:auto;min-height:215px}.htx-hero-art-master{display:none}.htx-hero-master .htx-hero-copy{max-width:100%}.htx-stats-master{grid-template-columns:1fr 1fr}.htx-right-column{grid-template-columns:1fr}.htx-center-bottom-grid.htx-master-bottom{grid-template-columns:1fr}}
@media(max-width:580px){.htx-stats-master{grid-template-columns:1fr}.htx-hero-master h1{font-size:28px}.htx-exam-card{grid-template-columns:54px minmax(0,1fr)}.htx-mini-action{grid-column:2;justify-self:start}}

/* v1.2.2 - MASTER UI POSITION + ROLE FIX */
.htx-topbar{
  grid-template-columns:370px minmax(380px,1fr) auto!important;
  align-items:center;
}
.htx-brand{align-items:center}
.htx-brand img{width:92px!important;height:72px!important;margin-right:4px}
.htx-brand-copy{display:flex;flex-direction:column;justify-content:center;min-width:270px}
.htx-brand-copy strong{font-size:22px!important;line-height:1.05!important;letter-spacing:-.2px}
.htx-brand-copy small{margin-top:4px}

.htx-bell-button{position:relative}
.htx-notification-badge{
  position:absolute;right:-3px;top:-5px;min-width:19px;height:19px;padding:0 5px;
  border-radius:999px;background:#f2384f;color:#fff;font:700 10px/19px system-ui,sans-serif;
  box-shadow:0 0 0 2px #fff;
}
.htx-user-zone{display:flex;align-items:center;gap:13px}
.htx-user-compact{display:flex;align-items:center;gap:10px}
.htx-user-name-block{display:flex;flex-direction:column;min-width:125px}
.htx-user-name-block strong{font-size:13px;white-space:nowrap}
.htx-user-name-block small{font-size:11.5px;color:#6e829f}
.htx-chevron{font-size:17px;color:#173f77;margin-left:2px}
.htx-avatar-role{background:#dcecff;color:#174e91;font-weight:800}
.htx-logout-button{display:flex!important;align-items:center;gap:8px;white-space:nowrap;color:#375f8e}
.htx-logout-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:currentColor;flex:0 0 auto}.htx-logout-icon svg{width:18px;height:18px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.htx-master-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 332px;
  gap:12px;
  align-items:start;
}
.htx-master-center-column{min-width:0}
.htx-master-right-rail{
  display:flex!important;
  flex-direction:column!important;
  gap:11px!important;
  min-width:0;
}
.htx-master-right-rail .htx-quote-panel{margin:0}
.htx-master-right-rail .htx-profile-panel{margin:0}
.htx-master-right-rail .htx-calendar-panel{margin:0}

.htx-stat-icon{
  display:grid!important;place-items:center!important;
  width:58px!important;height:58px!important;border-radius:12px!important;
}
.htx-stat-svg svg{width:31px;height:31px;stroke:currentColor;fill:none;stroke-width:1.9}
.htx-stat-blue{background:linear-gradient(145deg,#258cff,#1268e8)!important;color:#fff!important}
.htx-stat-green{background:linear-gradient(145deg,#32d59c,#15aa72)!important;color:#fff!important}
.htx-stat-orange{background:linear-gradient(145deg,#ff9562,#ff6a3c)!important;color:#fff!important}
.htx-stat-purple{background:linear-gradient(145deg,#a975ef,#8150df)!important;color:#fff!important}
.htx-stat-star{font-size:30px;line-height:1;color:#fff}

.htx-exam-icon{
  display:grid!important;place-items:center!important;
  width:58px!important;height:58px!important;border-radius:12px!important;
}
.htx-exam-red{background:#ffe3e8!important;color:#ef4560!important}
.htx-exam-blue{background:#e2efff!important;color:#1677e8!important}
.htx-exam-green{background:#ddf7e9!important;color:#14a365!important}
.htx-calculator-glyph{font-size:36px;line-height:1;font-weight:800}
.htx-atom-glyph{font-size:37px;line-height:1;font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif}
.htx-flask-glyph{font-size:35px;line-height:1;font-family:"Segoe UI Symbol","Arial Unicode MS",sans-serif}

.htx-sidebar{
  overflow:hidden!important;
}
.htx-sidebar-scroll{
  flex:0 0 auto!important;
  overflow:visible!important;
}
.htx-sidebar-motto-master{
  margin-top:auto!important;
  max-height:34vh!important;
  overflow:hidden!important;
}
.htx-sidebar-motto-master img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:34vh!important;
  object-fit:contain!important;
  object-position:bottom center!important;
}
.htx-role-bridge{
  min-height:420px;background:#fff;border:1px solid #dfe9f5;border-radius:18px;
  padding:42px;display:flex;align-items:center;justify-content:center;gap:24px;
  box-shadow:0 7px 24px rgba(27,71,123,.06)
}
.htx-role-bridge-icon{
  width:82px;height:82px;border-radius:22px;background:#e8f3ff;color:#1769c8;
  display:grid;place-items:center
}
.htx-role-bridge-icon svg{width:42px;height:42px}
.htx-role-bridge h1{margin:4px 0 8px;color:#0b3372;font-size:30px}
.htx-role-bridge p{margin:0 0 18px;color:#667b98}

@media(max-width:1250px){
 .htx-master-page-grid{grid-template-columns:minmax(0,1fr) 300px}
 .htx-topbar{grid-template-columns:335px minmax(300px,1fr) auto!important}
 .htx-brand-copy{min-width:230px}
 .htx-brand-copy strong{font-size:19px!important}
}
@media(max-width:1080px){
 .htx-master-page-grid{grid-template-columns:1fr}
 .htx-master-right-rail{display:grid!important;grid-template-columns:1fr 1fr!important}
 .htx-master-right-rail .htx-quote-panel{grid-column:1/-1}
}
@media(max-width:900px){
 .htx-master-right-rail{grid-template-columns:1fr!important}
 .htx-sidebar-motto-master{max-height:none!important}
 .htx-sidebar-motto-master img{height:auto!important;max-height:250px!important}
 .htx-user-name-block{min-width:0}
}

/* v1.2.3 - GUEST MASTER + TEACHER PRESERVATION */
.htx-brand-copy{
  min-width:320px!important;
  max-width:none!important;
}
.htx-brand-copy strong{
  white-space:nowrap!important;
  max-width:none!important;
  font-size:20px!important;
  line-height:1!important;
}
.htx-topbar{
  grid-template-columns:390px minmax(360px,1fr) auto!important;
}
.htx-master-guest-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 332px;
  gap:12px;
  align-items:start;
}
.htx-master-guest-grid .htx-hero-master{
  margin-bottom:10px;
}
.htx-master-guest-grid .htx-stats-master{
  margin-bottom:10px;
}
.htx-master-guest-grid .htx-master-right-rail{
  align-self:start;
}
.role-teacher .htx-shell,
.role-admin .htx-shell{
  grid-template-columns:1fr!important;
}
.role-teacher .htx-main,
.role-admin .htx-main{
  padding-left:18px!important;
  padding-right:18px!important;
}
.role-teacher .htx-sidebar,
.role-admin .htx-sidebar{
  display:none!important;
}
.htx-stat-icon.is-blue,.htx-stat-icon.is-green,.htx-stat-icon.is-orange,.htx-stat-icon.is-purple{
  color:#fff!important;
}
.htx-stat-icon.is-blue{background:linear-gradient(145deg,#258cff,#1268e8)!important}
.htx-stat-icon.is-green{background:linear-gradient(145deg,#32d59c,#15aa72)!important}
.htx-stat-icon.is-orange{background:linear-gradient(145deg,#ff9562,#ff6a3c)!important}
.htx-stat-icon.is-purple{background:linear-gradient(145deg,#a975ef,#8150df)!important}
.htx-stat-icon.is-blue svg,.htx-stat-icon.is-green svg,.htx-stat-icon.is-orange svg,.htx-stat-icon.is-purple svg{
  width:31px!important;height:31px!important;stroke:currentColor!important;fill:none!important;
}
@media(max-width:1280px){
  .htx-brand-copy{min-width:280px!important}
  .htx-brand-copy strong{font-size:18px!important}
  .htx-topbar{grid-template-columns:350px minmax(300px,1fr) auto!important}
}
@media(max-width:1080px){
  .htx-master-guest-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .htx-brand-copy strong{white-space:normal!important}
  .htx-brand-copy{min-width:0!important}
}

/* v1.2.4 - CHỈ SỬA HEADER BRANDING + KHOẢNG CÁCH Ô TÌM KIẾM */
.htx-topbar{
  grid-template-columns:355px minmax(430px,1fr) auto!important;
  column-gap:38px!important;
}
.htx-brand{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-width:0;
}
.htx-brand img{
  width:78px!important;
  height:62px!important;
  object-fit:contain!important;
  flex:0 0 auto;
}
.htx-brand-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-width:245px!important;
  max-width:none!important;
  line-height:1!important;
}
.htx-brand-line1{
  display:block;
  font-size:14px!important;
  line-height:1.05!important;
  font-weight:700!important;
  color:#0c2f6c!important;
  letter-spacing:.1px;
  margin:0 0 1px!important;
  white-space:nowrap;
}
.htx-brand-line2{
  display:block;
  font-size:22px!important;
  line-height:1.02!important;
  font-weight:800!important;
  color:#0c2f6c!important;
  letter-spacing:-.2px;
  margin:0!important;
  white-space:nowrap!important;
}
.htx-brand-line3{
  display:block;
  font-size:11.5px!important;
  line-height:1.15!important;
  font-weight:600!important;
  color:#637b9c!important;
  margin-top:5px!important;
  white-space:nowrap;
}
.htx-top-search{
  max-width:560px!important;
  width:100%;
  margin-left:10px!important;
}
.htx-search-placeholder{
  min-height:44px!important;
}
@media(max-width:1280px){
  .htx-topbar{
    grid-template-columns:325px minmax(360px,1fr) auto!important;
    column-gap:28px!important;
  }
  .htx-brand-line2{font-size:20px!important}
  .htx-brand-line1{font-size:13px!important}
  .htx-brand-line3{font-size:11px!important}
  .htx-brand-copy{min-width:220px!important}
  .htx-top-search{margin-left:6px!important}
}
@media(max-width:900px){
  .htx-brand-copy{min-width:0!important}
  .htx-brand-line1,
  .htx-brand-line2,
  .htx-brand-line3{white-space:normal!important}
}

/* v1.2.5 - CHỈ SỬA MÀU NÉT 4 ICON TỔNG QUAN THÀNH TRẮNG */
.htx-stats-grid .htx-stat-icon,
.htx-stats-grid .htx-stat-icon *,
.htx-stats-grid .htx-stat-icon svg,
.htx-stats-grid .htx-stat-icon svg *{
  color:#fff!important;
  stroke:#fff!important;
}
.htx-stats-grid .htx-stat-icon svg [fill="none"]{
  fill:none!important;
}
.htx-stats-grid .htx-stat-icon .htx-stat-star{
  color:#fff!important;
  fill:#fff!important;
}

/* v1.2.6 - CHỈ TĂNG KÍCH THƯỚC NGÔI SAO TRONG Ô TÍM */
.htx-stats-grid .htx-stat-star{
  font-size:34px!important;
  line-height:1!important;
  transform:scale(1.08);
  transform-origin:center;
  display:inline-block!important;
  color:#fff!important;
}

/* v1.2.7 - CHỈ CĂN GIỮA + TĂNG NHẸ NGÔI SAO Ô TÍM */
.htx-stats-grid .htx-stat-icon.htx-stat-purple,
.htx-stats-grid .htx-stat-icon.is-purple{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.htx-stats-grid .htx-stat-star{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
  top:-1px!important;
  left:0!important;
  font-size:38px!important;
  line-height:1!important;
  transform:none!important;
  transform-origin:center!important;
  color:#fff!important;
  text-align:center!important;
}

/* v1.2.18 - CHỈ NÂNG ICON NGUYÊN TỬ LÊN 2 PX */
.htx-exam-atom-master img{
  transform:translateY(-2px);
  transform-origin:center;
}

/* v1.2.19 - CHỈ CĂN TÂM TỜ GIẤY TRONG Ô VUÔNG CAM */
.htx-stat-open-master img{
  transform:translateX(-4px);
  transform-origin:center;
}

/* v1.2.20 - Bố cục bài kiểm tra / thông báo / kết quả dưới 4 icon. */
@media(min-width:901px){
  .htx-master-center-column{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
    column-gap:12px;
    align-items:start;
  }
  .htx-master-center-column > .htx-hero,
  .htx-master-center-column > .htx-stats-grid,
  .htx-master-center-column > .htx-component-card{grid-column:1 / -1;}
  .htx-master-center-column > .htx-exams-master{
    grid-column:1;
    grid-row:3;
    min-width:0;
  }
  .htx-master-center-column > .htx-center-bottom-grid.htx-master-bottom{
    grid-column:2;
    grid-row:3;
    grid-template-columns:minmax(0,1fr);
    margin-top:0;
    min-width:0;
    gap:12px;
  }
}


/* === BẢN QUYỀN THIẾT KẾ - v1.3.2 === */
.htx-copyright-mark{
    position:fixed;
    left:10px;
    bottom:8px;
    z-index:1100;
    max-width:360px;
    padding:6px 9px;
    border-radius:8px;
    background:rgba(255,255,255,.92);
    border:1px solid rgba(27,67,111,.14);
    box-shadow:0 3px 12px rgba(24,56,92,.08);
    color:#49627d;
    font-size:10px;
    line-height:1.35;
    letter-spacing:.01em;
    pointer-events:none;
    backdrop-filter:blur(4px);
}
.htx-copyright-mark div:first-child{
    font-weight:700;
    color:#274f7e;
}
@media (max-width:640px){
    .htx-copyright-mark{
        left:6px;
        bottom:6px;
        max-width:calc(100vw - 12px);
        padding:5px 7px;
        font-size:9px;
        opacity:.88;
    }
}


/* === v1.3.3: HEADER + COPYRIGHT FIX === */
.htx-chevron{display:none!important}
.htx-copyright-mark{display:none!important}
.htx-footer-owner{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
    min-width:260px;
    color:#5f738d;
    font-size:11px;
    line-height:1.35;
}
.htx-footer-owner strong{
    color:#274f7e;
    font-size:11px;
    font-weight:700;
}
.htx-footer-owner span{
    color:#6e8098;
    font-size:10px;
}
@media(max-width:900px){
    .htx-footer-owner{
        min-width:0;
        align-items:center;
        text-align:center;
    }
}


/* === v1.3.5: COPYRIGHT LINH ĐỘNG === */
.htx-footer-owner{
    display:flex;
    flex-direction:row;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    min-width:0;
}
.htx-footer-owner strong{
    color:#274f7e;
    font-size:11px;
    font-weight:700;
    line-height:1.35;
}
.htx-footer-designer{
    color:#6e8098;
    font-size:10px;
    line-height:1.35;
}
.htx-footer-designer::before{
    content:"•";
    display:inline-block;
    margin-right:8px;
    color:#9aa8b8;
}
@media(max-width:900px){
    .htx-footer-owner{
        justify-content:center;
        text-align:center;
    }
}


/* === v1.3.8: ONE LOGIN + EQUAL EXAM ACTIONS === */

/* Ba nút ở ba thẻ cùng kích thước, lấy nút "Vào làm bài" làm chuẩn.
   KHÔNG đổi màu nền hiện có của từng nút. */
.htx-exam-equal-action{
    min-width:118px!important;
    height:42px!important;
    padding:0 16px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:10px!important;
    font-weight:800!important;
    white-space:nowrap!important;
    box-sizing:border-box!important;
}

/* Đăng ký học sinh nằm dưới nút Đăng nhập trong khối Thông tin của bạn */
.htx-register-below{
    margin-top:10px;
    text-align:center;
    font-size:12px;
    line-height:1.45;
    color:#718399;
}
.htx-register-below a{
    margin-left:4px;
    color:#1767c7;
    font-weight:800;
    text-decoration:none;
}
.htx-register-below a:hover{
    text-decoration:underline;
}


/* === v1.3.9: SINGLE LOGIN + 3 EQUAL ACTION BUTTONS === */

/* Ba nút của ba thẻ có cùng chiều rộng/cao.
   Chỉ chuẩn hóa kích thước, KHÔNG thay màu từng nút. */
.htx-exam-list .htx-mini-action{
    width:122px!important;
    min-width:122px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 14px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    border-radius:10px!important;
    font-weight:800!important;
    line-height:1!important;
    white-space:nowrap!important;
    text-align:center!important;
}

/* Link đăng ký chỉ nằm dưới nút Đăng nhập trong "Thông tin của bạn". */
.htx-register-below{
    margin-top:10px;
    text-align:center;
    font-size:12px;
    line-height:1.45;
    color:#718399;
}
.htx-register-below a{
    margin-left:4px;
    color:#1767c7;
    font-weight:800;
    text-decoration:none;
}
.htx-register-below a:hover{
    text-decoration:underline;
}


/* ==========================================================
   v1.4.0 - FLEXIBLE POSITIONS + MOBILE FRAME
   Giữ phong cách desktop, chỉ xếp lại có kiểm soát trên mobile.
   ========================================================== */
.htx-position{min-width:0;width:100%}
.htx-position>*{max-width:100%}
.htx-footer-slot{min-width:0}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  .htx-topbar{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) auto}
  .htx-brand-wrap,.htx-top-actions{min-width:0}
  .htx-shell,.htx-main,.htx-master-page-grid,.htx-master-center-column,.htx-right-column{min-width:0;max-width:100%}

  .htx-master-page-grid{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  .htx-master-center-column{order:1;width:100%}
  .htx-master-right-rail{
    order:2;
    width:100%;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    position:static!important;
  }

  .htx-pos-home-hero{order:1}
  .htx-pos-home-stats{order:2}
  .htx-pos-home-exams{order:3}
  .htx-master-bottom{order:4}
  .htx-pos-home-notices{order:1}
  .htx-pos-home-results{order:2}
  .htx-pos-right-profile{order:1}
  .htx-pos-right-calendar{order:2}
  .htx-pos-right-extra{order:3}

  .htx-center-bottom-grid.htx-master-bottom{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
  }

  .htx-stats-master{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

  .htx-exam-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .htx-exam-card{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:56px minmax(0,1fr) 122px!important;
    align-items:center!important;
  }

  .htx-hero-master{
    width:100%!important;
    max-width:100%!important;
    min-height:210px!important;
    overflow:hidden!important;
  }

  .htx-panel,.htx-quote-panel,.htx-profile-panel,.htx-calendar-panel{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

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

@media(max-width:640px){
  .htx-main{padding:10px!important}
  .htx-stats-master{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .htx-stat{
    min-width:0!important;
    min-height:94px!important;
    padding:10px!important;
    gap:9px!important;
  }
  .htx-stat strong{font-size:19px!important}
  .htx-stat small,.htx-stat span{font-size:11px!important}
  .htx-stat-icon{flex:0 0 42px!important;width:42px!important;height:42px!important}

  .htx-exam-card{
    grid-template-columns:50px minmax(0,1fr)!important;
    gap:10px!important;
    padding:12px!important;
  }
  .htx-exam-card .htx-mini-action{
    grid-column:2!important;
    justify-self:start!important;
    width:122px!important;
    min-width:122px!important;
    height:42px!important;
  }

  .htx-panel-head{align-items:flex-start!important}
  .htx-panel-head h2{font-size:16px!important}
  .htx-panel-head a{font-size:12px!important}

  .htx-profile-summary{grid-template-columns:72px minmax(0,1fr)!important}
  .htx-profile-summary .htx-avatar.is-large{width:72px!important;height:72px!important}

  .htx-footer{padding:14px 10px!important}
}

@media(max-width:390px){
  .htx-stats-master{grid-template-columns:1fr 1fr!important}
  .htx-stat{min-height:90px!important}
  .htx-hero-master h1{font-size:25px!important;line-height:1.12!important}
}


/* ==========================================================
   v1.4.6 - STUDENT SCHEDULE
   Thời khóa biểu học sinh thay cho lịch tháng cũ.
   ========================================================== */
.htx-student-schedule-panel{
  overflow:hidden;
}
.htx-student-schedule-list{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.htx-schedule-item{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px;
  border-radius:12px;
  border:1px solid rgba(31,89,150,.08);
}
.htx-schedule-item.is-0{background:linear-gradient(135deg,#eef6ff,#e3f1ff)}
.htx-schedule-item.is-1{background:linear-gradient(135deg,#effcf6,#e1f8eb)}
.htx-schedule-item.is-2{background:linear-gradient(135deg,#fff6ed,#ffead7)}
.htx-schedule-item.is-3{background:linear-gradient(135deg,#f6efff,#eee2ff)}
.htx-schedule-item.is-4{background:linear-gradient(135deg,#fff0f3,#ffe2e8)}
.htx-schedule-day{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#fff;
  box-shadow:0 3px 10px rgba(38,84,132,.08);
  font-weight:900;
  color:#175da8;
  font-size:13px;
}
.htx-schedule-info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.htx-schedule-info strong{
  font-size:13px;
  color:#12375f;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.htx-schedule-time{
  font-size:12px;
  font-weight:800;
  color:#2f6ea8;
}
.htx-schedule-info small{
  font-size:11px;
  color:#73869a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.htx-schedule-empty{
  min-height:128px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:5px;
  color:#6d8196;
}
.htx-schedule-empty>span{
  font-size:28px;
}
.htx-schedule-empty strong{
  color:#24486f;
  font-size:14px;
}
.htx-schedule-empty small{
  font-size:11px;
}


/* v1.4.7 - POPUP TIN NHẮN MỚI */
.htx-modal-open{overflow:hidden}
.htx-new-message-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.htx-new-message-modal[hidden]{display:none!important}
.htx-new-message-backdrop{position:absolute;inset:0;background:rgba(11,30,52,.48);backdrop-filter:blur(2px)}
.htx-new-message-dialog{position:relative;width:min(470px,calc(100vw - 34px));background:#fff;border-radius:18px;padding:24px;box-shadow:0 24px 70px rgba(12,40,72,.28);border:1px solid #dce7f2}
.htx-new-message-icon{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e8f3ff,#d9ebff);color:#1769c2;margin-bottom:14px}
.htx-new-message-icon svg{width:30px;height:30px}
.htx-new-message-copy h2{margin:4px 0 8px;font-size:22px;color:#163d69}
.htx-new-message-copy p{margin:0;color:#6a7c90;line-height:1.55}
.htx-new-message-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
