
/* =========================================================
   FONT CHUẨN TOÀN WEBSITE - PHÙ HỢP WINDOWS / FIREFOX
   Chỉ dùng Arial để tránh trình duyệt tự chuyển font.
   Chỉ dùng weight 400/700 để Arial hiển thị tiếng Việt ổn định.
   ========================================================= */
html, body {
    font-family: Arial, sans-serif !important;
}

* {
    font-family: Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
p, span, div, a, li, label, strong, small,
button, input, select, textarea, option, table, th, td {
    font-family: Arial, sans-serif !important;
    font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

button, input, select, textarea {
    font-size: inherit;
}



/*
 * STU BRAND - theo logo chính thức trên stu.edu.vn
 * Xanh STU: #0054A6
 * Đỏ STU:   #ED1B23
 * Font: Arial / Tahoma / Helvetica / sans-serif
 */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    font-family:Arial,Tahoma,Helvetica,sans-serif;
    color:#1f2937;
    background:#ffffff;
    line-height:1.6
}
a{text-decoration:none;color:inherit}
.container{width:calc(100% - 32px);max-width:1180px;margin:0 auto}
.narrow{max-width:900px}
.site-header{
    position:sticky;top:0;z-index:50;
    background:#fff;border-bottom:1px solid #e5e7eb
}
.site-header.compact{position:relative}
.header-inner{
    min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px
}
.brand{display:flex;align-items:center;gap:14px}
.brand-link{cursor:pointer}
.brand-mark{
    width:56px;height:56px;border-radius:16px;
    display:flex;align-items:center;justify-content:center;
    background:#0054A6;color:#fff;font-weight:700;font-size:20px
}
.brand-school{font-size:14px;font-weight:700;color:#ED1B23}
.brand-site{font-size:12px;color:#64748b;font-weight:700;letter-spacing:.5px}
.main-nav{background:#003F7D;color:#fff}
.nav-inner{display:flex;align-items:center;gap:26px;overflow:auto;white-space:nowrap;min-height:46px}
.nav-inner a{font-size:14px;font-weight:700;opacity:.95}
.nav-inner a:hover{opacity:1;text-decoration:underline}
.btn{
    display:inline-flex;align-items:center;justify-content:center;
    min-height:44px;padding:0 20px;border-radius:12px;
    border:1px solid transparent;font-weight:700;cursor:pointer;
    transition:.2s ease;font-size:14px
}
.btn-primary{background:#0054A6;color:#fff}
.btn-primary:hover{background:#003F7D}
.btn-outline{background:#fff;color:#ED1B23;border-color:#9CBFE0}
.btn-outline:hover{background:#F4F9FF}
.btn-outline-dark{background:#fff;color:#334155;border-color:#cbd5e1}
.btn-light{background:#fff;color:#D71920}
.btn-lg{min-height:50px;padding:0 26px;font-size:15px}
.hero{
    background:linear-gradient(135deg,#ffffff 0%,#F4F9FF 58%,#FFF7F7 100%);
    border-bottom:1px solid #D7E6F5
}
.hero-grid{
    display:grid;grid-template-columns:1.5fr .8fr;gap:42px;align-items:center;
    padding-top:72px;padding-bottom:72px
}
.eyebrow,.section-kicker{display:inline-block;font-family:Arial,sans-serif !important;font-weight:700;font-size:13px;letter-spacing:0 !important;text-transform:none;color:#ED1B23}
.hero h1{font-size:38px;line-height:1.13;margin:12px 0 18px;color:#111827}
.hero-lead{font-size:16px;color:#475569;max-width:780px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-note{margin-top:22px;background:#fff;border:1px solid #C9DDF2;padding:14px 16px;border-radius:12px;display:inline-block}
.hero-card{
    background:#003F7D;color:#fff;border-radius:24px;padding:24px;
    display:grid;grid-template-columns:1fr 1fr;gap:14px;
    box-shadow:0 20px 50px rgba(143,16,34,.18)
}
.stat{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:18px}
.stat-number{display:block;font-size:28px;font-weight:700}
.stat-label{font-size:13px;opacity:.9}
.section{padding:72px 0}
.section-soft{background:#f8fafc}
.section-heading{margin-bottom:30px}
.section-heading h2{font-size:32px;line-height:1.25;margin:8px 0;color:#111827}
.section-heading p{color:#64748b}
.info-grid,.major-grid,.steps-grid{display:grid;gap:18px}
.info-grid{grid-template-columns:1fr 1fr}
.info-card,.content-card,.step-card,.major-card{
    background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:22px;
    box-shadow:0 8px 24px rgba(15,23,42,.04)
}
.info-card h3,.step-card h3,.major-card h3{margin-top:0}
.info-card p{margin:8px 0}
.major-grid{grid-template-columns:repeat(4,1fr)}
.major-card{position:relative;min-height:160px}
.major-code{display:inline-block;font-size:12px;background:#EEF6FF;color:#ED1B23;border-radius:999px;padding:5px 9px;font-weight:700}
.major-card h3{margin:14px 0 6px;font-size:18px}
.major-short{color:#64748b;font-size:13px}
.check-list{padding-left:20px;margin:0}
.check-list li{margin:10px 0}
.steps-grid{grid-template-columns:repeat(3,1fr)}
.step-card{position:relative}
.step-no{
    display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;
    border-radius:12px;background:#EEF6FF;color:#ED1B23;font-weight:700
}
.step-card h3{margin:14px 0 5px}
.step-card p{margin:0;color:#64748b}
.fee-banner{
    margin-top:22px;border-radius:18px;background:#FFF7F7;border:1px solid #F2B8BC;
    display:flex;justify-content:center;gap:40px;padding:18px;flex-wrap:wrap
}
.timeline{display:grid;gap:14px}
.timeline-item{
    display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:stretch
}
.timeline-date{
    background:#003F7D;color:#fff;border-radius:16px;padding:18px;font-weight:700;display:flex;align-items:center;justify-content:center;text-align:center
}
.timeline-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px}
.timeline-content h3{margin:0 0 4px}
.timeline-content p{margin:0;color:#64748b}
.tuition-highlight{font-size:20px;color:#D71920}
.cta-section{padding:0 0 72px}
.cta-box{
    background:linear-gradient(135deg,#003F7D,#0054A6);color:#fff;
    border-radius:26px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px
}
.cta-box h2{font-size:30px;margin:6px 0}
.cta-box p{margin:0;max-width:760px;opacity:.9}
.section-kicker.light{color:#FFD7DA}
.site-footer{background:#111827;color:#e5e7eb;padding:34px 0}
.footer-grid{display:flex;justify-content:space-between;gap:30px}
.footer-grid p{margin:5px 0;color:#cbd5e1}

/* Form */
.form-page{background:#f8fafc}
.form-main{padding:48px 0 72px}
.form-container{max-width:980px}
.form-container.small{max-width:760px}
.form-intro{margin-bottom:24px}
.form-intro h1{font-size:34px;line-height:1.2;margin:8px 0}
.form-intro p{color:#64748b}
.required{color:#dc2626}
.application-form{display:grid;gap:20px}
.form-section{
    background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:24px;
    box-shadow:0 8px 30px rgba(15,23,42,.04)
}
.form-section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.form-section-title h2{font-size:22px;margin:0}
.form-section-title p{margin:3px 0 0;color:#64748b}
.step-circle{
    width:38px;height:38px;flex:0 0 38px;border-radius:12px;
    background:#EEF6FF;color:#ED1B23;font-weight:700;
    display:flex;align-items:center;justify-content:center
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:7px}
.field-wide{grid-column:1/-1}
.field label,.upload-field label{font-size:14px;font-weight:700;color:#334155}
.field input,.field select,.field textarea,.upload-field input{
    width:100%;border:1px solid #cbd5e1;border-radius:12px;
    padding:12px 13px;font-size:15px;background:#fff;color:#111827;
    font-family:Arial,Tahoma,Helvetica,sans-serif
}
.field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-color:#0054A6;box-shadow:0 0 0 3px rgba(178,13,33,.08)
}
.field small{color:#64748b}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.upload-field{border:1px dashed #cbd5e1;border-radius:14px;padding:16px;background:#f8fafc}
.upload-field input{margin-top:10px;background:#fff}
.confirm-section{padding:18px 24px}
.check-row{display:flex;gap:12px;align-items:flex-start;font-weight:700}
.check-row input{margin-top:5px}
.submit-bar{display:flex;justify-content:space-between;gap:14px;align-items:center}
.alert{border-radius:18px;padding:20px;margin:0 0 22px}
.alert-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}
.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#D71920}
.alert h2{margin:0 0 6px}
.alert-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.lookup-form{
    background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px;
    display:grid;gap:16px
}
.lookup-or{text-align:center;color:#94a3b8;font-weight:700}
.result-card{margin-top:22px;background:#fff;border:1px solid #e5e7eb;border-radius:20px;padding:22px}
.result-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.result-head h2{margin:5px 0}
.status-badge{background:#FFF7F7;color:#B31218;border:1px solid #F2B8BC;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.result-grid>div{border:1px solid #e5e7eb;border-radius:12px;padding:14px}
.result-grid span{display:block;color:#64748b;font-size:12px;margin-bottom:4px}

@media (max-width: 900px){
    .hero-grid{grid-template-columns:1fr;padding-top:46px;padding-bottom:46px}
    .hero h1{font-size:38px}
    .major-grid{grid-template-columns:repeat(2,1fr)}
    .steps-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 680px){
    .container{width:calc(100% - 22px)}
    .header-inner{min-height:68px}
    .header-cta{display:none}
    .brand-mark{width:46px;height:46px;border-radius:12px;font-size:17px}
    .brand-school{font-size:11px}
    .brand-site{font-size:10px}
    .nav-inner{gap:18px}
    .hero h1{font-size:30px}
    .hero-lead{font-size:16px}
    .hero-card{grid-template-columns:1fr 1fr}
    .section{padding:48px 0}
    .section-heading h2{font-size:26px}
    .info-grid,.major-grid,.steps-grid,.form-grid,.upload-grid,.result-grid{grid-template-columns:1fr}
    .field-wide{grid-column:auto}
    .timeline-item{grid-template-columns:1fr}
    .timeline-date{justify-content:flex-start}
    .cta-box{flex-direction:column;align-items:flex-start}
    .cta-box h2{font-size:25px}
    .footer-grid{flex-direction:column}
    .form-main{padding-top:28px}
    .form-intro h1{font-size:28px}
    .form-section{padding:18px}
    .submit-bar{flex-direction:column-reverse;align-items:stretch}
    .submit-bar .btn{width:100%}
}


/* Phân vai màu nhận diện STU: xanh là màu cấu trúc chính, đỏ là màu nhấn */
.brand-school{color:#0054A6}
.brand-site{color:#ED1B23}
.main-nav{background:#0054A6}
.btn-primary{background:#0054A6;color:#fff}
.btn-primary:hover{background:#003F7D}
.btn-outline{background:#fff;color:#0054A6;border-color:#9CBFE0}
.btn-outline:hover{background:#EEF6FF}
.eyebrow,.section-kicker{display:inline-block;font-family:Arial,sans-serif !important;font-weight:700;font-size:13px;letter-spacing:0 !important;text-transform:none;color:#ED1B23}
.major-code{background:#EEF6FF;color:#0054A6}
.step-no,.step-circle{background:#EEF6FF;color:#0054A6}
.hero-card{background:linear-gradient(145deg,#0054A6 0%,#00498F 72%,#ED1B23 100%)}
.timeline-date{background:#0054A6}
.tuition-highlight{color:#ED1B23}
.required{color:#ED1B23}
.cta-box{background:linear-gradient(135deg,#0054A6 0%,#00498F 72%,#ED1B23 100%)}
.btn-light{background:#fff;color:#0054A6}
.brand-logo{
    width:126px;
    height:auto;
    display:block;
    flex:0 0 auto;
}
@media (max-width:680px){
    .brand-logo{width:96px}
}


.hero h1,
.section-heading h2,
.info-card h3,
.step-card h3,
.major-card h3,
.timeline-content h3,
.cta-box h2,
.form-intro h1,
.form-section-title h2,
.result-head h2 {
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}


/* Ghi chú hồ sơ bản giấy */
.paper-note,
.online-paper-note{
    margin-top:18px;
    padding:16px 18px;
    border-left:4px solid #ED1B23;
    background:#FFF7F7;
    border-radius:10px;
    color:#334155;
    font-family:Arial,sans-serif !important;
}
.online-paper-note{
    line-height:1.7;
}
.upload-field small{
    display:block;
    margin-top:8px;
    color:#64748b;
    line-height:1.5;
    font-family:Arial,sans-serif !important;
}


/* Hiển thị lỗi chi tiết khi đăng ký hồ sơ */
.alert-error h2{margin:0 0 8px;font-size:20px;color:#b91c1c}
.error-message{margin:0;font-weight:700;color:#b91c1c}
.error-detail{
    margin-top:14px;
    padding:12px 14px;
    background:#ffffff;
    border:1px solid #fecaca;
    border-radius:10px;
    color:#7f1d1d;
    font-size:14px;
    line-height:1.55;
    word-break:break-word;
}


.old-address{
    display:inline-block;
    margin-top:3px;
    color:#64748b;
    font-size:14px;
    font-style:italic;
}
.footer-old-address{
    color:#cbd5e1;
    font-size:13px;
}


/* Link tải mẫu hồ sơ của Nhà trường */
.template-link{
    display:inline-flex;
    align-items:center;
    margin-top:14px;
    padding:9px 13px;
    border:1px solid #9CBFE0;
    border-radius:10px;
    background:#EEF6FF;
    color:#0054A6;
    font-family:Arial,sans-serif !important;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
}
.template-link:before{
    content:"PDF";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:24px;
    margin-right:9px;
    padding:0 5px;
    border-radius:5px;
    background:#ED1B23;
    color:#fff;
    font-size:10px;
    font-weight:700;
}
.template-link:hover{
    background:#0054A6;
    border-color:#0054A6;
    color:#fff;
}


/* Tách rõ khối Lệ phí và Lưu ý */
.fee-banner{
    margin-top:24px !important;
    margin-bottom:30px !important;
    background:#F4F9FF !important;
    border:1px solid #C9DDF2 !important;
}

.paper-note{
    margin-top:0 !important;
    padding:18px 20px !important;
    background:#FFF7F7 !important;
    border-left:4px solid #ED1B23 !important;
}

@media (max-width:680px){
    .fee-banner{
        margin-bottom:22px !important;
    }
}


/* =========================================================
   NGÀNH TUYỂN SINH - THIẾT KẾ LẠI
   ========================================================= */
.major-heading{
    max-width:850px;
}
.major-heading p{
    line-height:1.7;
}
.major-grid{
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}
.major-card{
    position:relative;
    min-height:205px;
    overflow:hidden;
    padding:22px 22px 20px;
    border:1px solid #DCE6F0;
    border-top:4px solid #0054A6;
    border-radius:18px;
    background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFF 100%);
    box-shadow:0 10px 26px rgba(0,84,166,.06);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.major-card:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:58px;
    height:4px;
    background:#ED1B23;
}
.major-card:hover{
    transform:translateY(-4px);
    border-color:#B9D2EA;
    box-shadow:0 16px 34px rgba(0,84,166,.12);
}
.major-watermark{
    position:absolute;
    right:14px;
    bottom:-18px;
    font-size:82px;
    line-height:1;
    font-weight:700;
    color:#0054A6;
    opacity:.035;
    pointer-events:none;
}
.major-top{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:22px;
}
.major-no{
    display:inline-flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
    border-radius:11px;
    background:#0054A6;
    color:#fff;
    font-size:13px;
    font-weight:700;
}
.major-code{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:1px;
    padding:0;
    border-radius:0;
    background:transparent !important;
    color:#0054A6 !important;
}
.major-code small{
    font-size:11px;
    line-height:1.2;
    color:#7A8A9B;
    font-weight:400;
}
.major-code strong{
    font-size:13px;
    line-height:1.2;
    color:#0054A6;
    font-weight:700;
}
.major-card h3{
    position:relative;
    z-index:1;
    margin:0;
    min-height:52px;
    font-size:19px;
    line-height:1.4;
    color:#111827;
}
.major-meta{
    position:absolute;
    left:22px;
    right:22px;
    bottom:20px;
    z-index:1;
    display:flex;
    align-items:center;
    gap:7px;
    padding-top:13px;
    border-top:1px solid #E8EEF5;
    color:#64748B;
    font-size:12px;
}
.major-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ED1B23;
    flex:0 0 7px;
}
@media (max-width:900px){
    .major-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
    .major-grid{grid-template-columns:1fr}
    .major-card{min-height:190px}
    .major-card h3{min-height:auto;padding-right:30px}
}


/* =========================================================
   MENU LUÔN HIỂN THỊ KHI CUỘN TRANG
   ========================================================= */
.site-header{
    position:sticky !important;
    top:0;
    z-index:1000;
}

.main-nav{
    position:sticky;
    top:78px;
    z-index:999;
    box-shadow:0 3px 10px rgba(15,23,42,.10);
}

/* Khi bấm menu, tiêu đề mục không bị header/menu che khuất */
#tongquan,
#nganh,
#doituong,
#phuongthuc,
#hoso,
#mocthoigian,
#hocphi{
    scroll-margin-top:140px;
}

@media (max-width:680px){
    .main-nav{
        top:68px;
    }

    #tongquan,
    #nganh,
    #doituong,
    #phuongthuc,
    #hoso,
    #mocthoigian,
    #hocphi{
        scroll-margin-top:125px;
    }
}


/* Header: Đăng ký + Tra cứu hồ sơ */
.header-actions{
    display:flex;
    align-items:center;
    gap:10px;
}
.header-lookup{
    white-space:nowrap;
}
.nav-lookup{
    margin-left:auto;
    font-weight:700;
}
@media (max-width:900px){
    .header-actions{gap:8px}
    .header-lookup,
    .header-cta{
        padding-left:14px;
        padding-right:14px;
        font-size:13px;
    }
}
@media (max-width:680px){
    .header-actions{display:none}
    .nav-lookup{margin-left:0}
}


/* Địa chỉ hành chính mới / cũ */
.address-mode{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:2px;
}
.address-mode-option{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    padding:9px 14px;
    border:1px solid #CBD5E1;
    border-radius:12px;
    background:#FFFFFF;
    cursor:pointer;
    font-weight:400 !important;
}
.address-mode-option:hover{
    border-color:#9CBFE0;
    background:#F4F9FF;
}
.address-mode-option input{
    width:auto !important;
    margin:0;
}
@media (max-width:680px){
    .address-mode{
        flex-direction:column;
    }
    .address-mode-option{
        width:100%;
    }
}


/* =========================================================
   THEO DÕI TIẾN ĐỘ HỒ SƠ XÉT TUYỂN
   ========================================================= */
.lookup-and{
    text-align:center;
    color:#94A3B8;
    font-weight:700;
}
.tracking-message{
    margin-top:18px;
}
.tracking-card{
    margin-top:22px;
}
.tracking-head{
    align-items:center;
}
.tracking-current{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:18px;
    padding:16px 18px;
    border:1px solid #C9DDF2;
    border-radius:14px;
    background:#F4F9FF;
}
.tracking-current-icon{
    display:flex;
    width:44px;
    height:44px;
    flex:0 0 44px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#0054A6;
    color:#fff;
    font-size:18px;
    font-weight:700;
}
.tracking-current span,
.tracking-current small{
    display:block;
    color:#64748B;
}
.tracking-current strong{
    display:block;
    margin:2px 0;
    color:#0F172A;
    font-size:18px;
}
.progress-track{
    display:flex;
    align-items:flex-start;
    margin:30px 0 24px;
    padding:4px 0 8px;
    overflow-x:auto;
}
.progress-step{
    min-width:92px;
    text-align:center;
    color:#94A3B8;
}
.progress-step span{
    display:flex;
    width:34px;
    height:34px;
    margin:0 auto 7px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#E2E8F0;
    color:#64748B;
    font-weight:700;
}
.progress-step strong{
    display:block;
    font-size:12px;
    line-height:1.35;
}
.progress-step.done{
    color:#0054A6;
}
.progress-step.done span{
    background:#0054A6;
    color:#fff;
}
.progress-line{
    flex:1 1 40px;
    min-width:24px;
    height:3px;
    margin-top:16px;
    background:#E2E8F0;
}
.progress-line.done{
    background:#0054A6;
}
.tracking-alert{
    margin:18px 0;
    padding:16px 18px;
    border-radius:12px;
}
.tracking-alert p{
    margin:6px 0 0;
}
.tracking-alert.warning{
    border:1px solid #F5C2C7;
    border-left:4px solid #ED1B23;
    background:#FFF7F7;
}
.tracking-alert.info{
    border:1px solid #C9DDF2;
    border-left:4px solid #0054A6;
    background:#F4F9FF;
}
.tracking-help{
    margin-top:18px;
    padding:14px 16px;
    border-radius:12px;
    background:#F8FAFC;
    color:#475569;
}
.status-moi_tiep_nhan,
.status-dang_kiem_tra,
.status-hop_le,
.status-da_xet_tuyen{
    background:#EEF6FF;
    color:#0054A6;
    border-color:#B9D2EA;
}
.status-can_bo_sung,
.status-khong_trung_tuyen{
    background:#FFF7F7;
    color:#B91C1C;
    border-color:#F5C2C7;
}
.status-trung_tuyen{
    background:#ECFDF5;
    color:#047857;
    border-color:#A7F3D0;
}
@media(max-width:680px){
    .tracking-head{
        flex-direction:column;
        align-items:flex-start;
    }
    .progress-step{
        min-width:80px;
    }
}


/* Mã hồ sơ ngắn sau khi đăng ký */
.application-code-box{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin:16px 0 10px;
    padding:16px 18px;
    border:1px solid #A7F3D0;
    border-radius:14px;
    background:#FFFFFF;
}
.application-code-box>span{
    color:#64748B;
    font-size:13px;
}
.application-code-box>strong{
    font-size:26px;
    letter-spacing:1px;
    color:#0054A6;
}
.copy-code-btn{
    margin-left:auto;
    padding:9px 12px;
    border:1px solid #9CBFE0;
    border-radius:9px;
    background:#EEF6FF;
    color:#0054A6;
    font-weight:700;
    cursor:pointer;
}
.application-code-help{
    margin-top:10px;
}
@media(max-width:680px){
    .application-code-box>strong{
        width:100%;
        font-size:24px;
    }
    .copy-code-btn{
        margin-left:0;
    }
}


/* Hồ sơ bổ sung online */
.tracking-action{margin-top:14px}
.supplement-app-summary{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:18px
}
.supplement-app-summary>div{
    padding:14px;
    border:1px solid #DCE6F0;
    border-radius:12px;
    background:#fff
}
.supplement-app-summary .wide{grid-column:1/-1}
.supplement-app-summary span{
    display:block;
    margin-bottom:4px;
    color:#64748B;
    font-size:12px
}
.supplement-upload-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    padding:14px 0;
    border-bottom:1px solid #EDF1F5
}
.supplement-note-field{margin-top:16px}
.supplement-auth-submit{
    margin-top:18px;
    justify-content:flex-end
}
@media(max-width:680px){
    .supplement-app-summary,
    .supplement-upload-row{grid-template-columns:1fr}
    .supplement-app-summary .wide{grid-column:auto}
}

/* Hoàn thiện vận hành 30/08/2026 */
.hp-field{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
}
.privacy-note{
    margin:12px 0 0;
    color:#64748B;
    font-size:13px;
    line-height:1.55;
}
.section-process{background:#fff}
.process-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}
.process-card{
    position:relative;
    min-height:180px;
    padding:20px 17px;
    border:1px solid #DCE6F0;
    border-top:4px solid #0054A6;
    border-radius:14px;
    background:#fff;
}
.process-card>span{
    display:inline-flex;
    width:36px;
    height:36px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#EEF6FF;
    color:#0054A6;
    font-weight:700;
}
.process-card h3{margin:14px 0 8px;font-size:17px}
.process-card p{margin:0;color:#64748B;line-height:1.55}
.fee-guidance{
    margin-top:10px;
    padding:12px 15px;
    border-radius:10px;
    background:#F8FAFC;
    color:#475569;
    font-size:13px;
}
.faq-list{display:grid;gap:10px}
.faq-list details{
    border:1px solid #DCE6F0;
    border-radius:12px;
    background:#fff;
    padding:0 16px;
}
.faq-list summary{
    padding:15px 0;
    cursor:pointer;
    color:#0F172A;
    font-weight:700;
}
.faq-list details p{
    margin:0 0 16px;
    color:#475569;
    line-height:1.65;
}
.footer-updated{
    padding-top:12px;
    margin-top:16px;
    border-top:1px solid rgba(255,255,255,.18);
    font-size:12px;
    opacity:.8;
}
.site-footer a{color:inherit;text-decoration:underline}
.hero-note span{font-weight:400}
.forgot-code-link{
    margin-top:12px;
    text-align:center;
}
.forgot-code-link a{color:#0054A6;font-weight:700}
.candidate-history{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid #E2E8F0;
}
.candidate-history h3{margin:0 0 13px;font-size:17px}
.candidate-history-list{display:grid;gap:10px}
.candidate-history-item{
    display:grid;
    grid-template-columns:125px 1fr;
    gap:12px;
    padding:12px 14px;
    border-left:3px solid #0054A6;
    border-radius:8px;
    background:#F8FAFC;
}
.candidate-history-time{font-size:12px;color:#64748B}
.candidate-history-body strong{display:block;color:#0F172A}
.candidate-history-body p{margin:5px 0 0;color:#475569;line-height:1.5}
.recovery-result{
    margin-top:20px;
    padding:18px;
    border:1px solid #C9DDF2;
    border-radius:14px;
    background:#F4F9FF;
}
.recovery-code-list{display:grid;gap:10px;margin-top:12px}
.recovery-code-item{
    padding:12px 14px;
    border:1px solid #DCE6F0;
    border-radius:10px;
    background:#fff;
}
.recovery-code-item strong{font-size:19px;color:#0054A6}
.recovery-code-item span{display:block;margin-top:5px;color:#64748B;font-size:13px}
@media(max-width:1000px){.process-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){
    .process-grid{grid-template-columns:1fr}
    .candidate-history-item{grid-template-columns:1fr}
}


/* =========================================================
   REDESIGN TRANG THÔNG TIN TUYỂN SINH - 31/08/2026
   ========================================================= */
.hero-pro{
    background:
        radial-gradient(circle at top right, rgba(237,27,35,.08), transparent 28%),
        radial-gradient(circle at left bottom, rgba(0,84,166,.10), transparent 25%),
        linear-gradient(135deg,#ffffff 0%,#F4F9FF 55%,#FFF9F9 100%);
}
.hero-grid-pro{align-items:start}
.hero-side-stack{display:grid;gap:18px}
.hero-pill-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hero-pill{
    display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;
    background:#fff;border:1px solid #DCE6F0;color:#0054A6;font-size:13px;font-weight:700;
    box-shadow:0 6px 18px rgba(15,23,42,.04)
}
.hero-note-pro{max-width:760px;line-height:1.65}
.hero-highlight-card{
    border-radius:24px;padding:22px;background:linear-gradient(145deg,#0054A6 0%,#00498F 68%,#ED1B23 100%);
    color:#fff;box-shadow:0 24px 54px rgba(0,84,166,.18)
}
.hero-highlight-head{margin-bottom:16px}
.hero-highlight-kicker{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.4px;opacity:.82}
.hero-highlight-head strong{display:block;font-size:20px;line-height:1.3}
.hero-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat-box{
    min-height:110px;padding:16px 14px;border-radius:18px;
    background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18)
}
.stat-box .value{display:block;font-size:30px;font-weight:700;line-height:1.1}
.stat-box .label{display:block;margin-top:7px;font-size:13px;opacity:.92;line-height:1.45}
.hero-contact-card{
    padding:20px 22px;border-radius:20px;border:1px solid #DCE6F0;background:#fff;
    box-shadow:0 10px 30px rgba(15,23,42,.05)
}
.hero-contact-card h3{margin:0 0 12px;font-size:20px;color:#111827}
.hero-contact-list{margin:0;padding-left:18px;color:#475569}
.hero-contact-list li{margin:10px 0;line-height:1.55}
.hero-contact-list a{color:#0054A6;text-decoration:underline}
.quick-links-bar{padding:0 0 22px;background:linear-gradient(180deg,#ffffff 0%,#F8FAFC 100%)}
.quick-links-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.quick-link-card{
    display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:18px;
    background:#fff;border:1px solid #E5EDF5;box-shadow:0 8px 24px rgba(15,23,42,.05);
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease
}
.quick-link-card:hover{transform:translateY(-4px);border-color:#BFD7EE;box-shadow:0 14px 30px rgba(0,84,166,.10)}
.quick-link-icon{
    display:flex;width:46px;height:46px;flex:0 0 46px;align-items:center;justify-content:center;
    border-radius:14px;background:#EEF6FF;color:#0054A6;font-size:13px;font-weight:700
}
.quick-link-card strong{display:block;color:#0F172A;font-size:16px;line-height:1.35}
.quick-link-card span{color:#64748B;font-size:13px;line-height:1.5}
.section-intro-cards{padding-top:38px}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.feature-card{
    position:relative;padding:24px 22px;border-radius:20px;background:#fff;border:1px solid #E5EDF5;
    box-shadow:0 10px 30px rgba(15,23,42,.05)
}
.feature-card-primary{background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%);border-top:4px solid #0054A6}
.feature-no{
    display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;
    background:#EEF6FF;color:#0054A6;font-weight:700;margin-bottom:16px
}
.feature-card h3{margin:0 0 10px;font-size:19px;line-height:1.35;color:#111827}
.feature-card p{margin:0;color:#64748B;line-height:1.65}
.school-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-card-pro{border-top:4px solid #0054A6}
.contact-card-pro.accent-red{border-top-color:#ED1B23}
.info-list-pro{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.info-list-pro .wide{grid-column:1/-1}
.info-list-pro div{
    min-height:92px;padding:16px;border:1px solid #E9EFF5;border-radius:14px;background:#FBFDFF
}
.info-list-pro span{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:#64748B;text-transform:uppercase}
.info-list-pro strong{display:block;color:#0F172A;line-height:1.5}
.info-list-pro small{display:block;margin-top:4px;color:#64748B;line-height:1.45}
.content-card-soft{border-top:4px solid #0054A6}
.check-list-pro li{padding-left:4px;line-height:1.7}
.formula-card{border-top:4px solid #ED1B23}
.formula-line{
    margin:0 0 16px;padding:14px 16px;border-radius:12px;background:#F4F9FF;color:#0F172A;
    border:1px solid #C9DDF2;font-size:17px
}
.fee-banner-pro{box-shadow:0 10px 24px rgba(0,84,166,.06)}
.tuition-card-pro{border-top:4px solid #0054A6}
.cta-section-pro{padding-top:10px}
.cta-actions-group{display:flex;gap:10px;flex-wrap:wrap}
.btn-ghost-light{border-color:rgba(255,255,255,.45);color:#fff;background:transparent}
.btn-ghost-light:hover{background:rgba(255,255,255,.12)}
.footer-pro{background:linear-gradient(180deg,#0F172A 0%,#111827 100%)}
.footer-grid-pro{align-items:flex-start}
#diemnoi{scroll-margin-top:140px}

@media (max-width:1000px){
    .quick-links-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
    .school-overview-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
    .hero-pill-row,.cta-actions-group{flex-direction:column;align-items:stretch}
    .hero-pill{justify-content:center}
    .hero-stats-grid,.quick-links-grid,.feature-grid,.info-list-pro{grid-template-columns:1fr}
    .quick-link-card{padding:16px}
    .info-list-pro .wide{grid-column:auto}
    .hero-highlight-head strong{font-size:18px}
    .stat-box .value{font-size:26px}
    #diemnoi{scroll-margin-top:125px}
}


/* =========================================================
   HEADER THEO PHONG CÁCH TRANG TUYỂN SINH ĐẠI HỌC
   ========================================================= */
.site-header-edu{
    position:sticky !important;
    top:0;
    z-index:1000;
    background:#fff;
    border-bottom:1px solid #D9E4EF;
}
.header-top-edu{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    padding-top:18px;
    padding-bottom:18px;
}
.brand-edu{align-items:center;gap:18px}
.brand-logo-edu{width:86px}
.brand-edu-copy{display:flex;flex-direction:column;gap:3px}
.brand-line-top{
    color:#0B3A8D;
    font-size:20px;
    line-height:1.1;
    font-weight:700;
}
.brand-line-main{
    color:#E02A2F;
    font-size:34px;
    line-height:1.08;
    font-weight:700;
}
.brand-badge-code{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    margin-top:6px;
    padding:8px 18px;
    border-radius:999px;
    border:1px solid #E8D1A5;
    background:#F8EFD9;
    color:#0B3A8D;
    font-size:13px;
    font-weight:700;
}
.brand-badge-code strong{color:#D71920;font-size:14px}
.brand-site-edu{
    margin-top:7px;
    font-size:15px;
    line-height:1.4;
    color:#0B3A8D;
}
.header-contact-edu{
    text-align:right;
    color:#0B3A8D;
    font-size:14px;
    line-height:1.5;
    font-weight:700;
}
.header-contact-edu p{margin:0 0 2px}
.header-contact-edu a{color:#0B3A8D;text-decoration:none}
.header-contact-old{font-style:italic;color:#48659B;font-weight:400}
.main-nav-edu{
    position:sticky;
    top:122px;
    z-index:999;
    background:#fff;
    color:#0F172A;
    border-top:1px solid #EEF2F7;
    border-bottom:1px solid #D9E4EF;
    box-shadow:none;
}
.nav-inner-edu{
    min-height:62px;
    gap:34px;
    justify-content:center;
    overflow:auto;
}
.nav-inner-edu a{
    color:#172033;
    font-size:15px;
    font-weight:700;
}
.nav-inner-edu a:hover{color:#0054A6;text-decoration:none}
.nav-cta-edu{
    margin-left:auto;
    min-height:44px;
    padding:0 26px;
    border-radius:16px;
    background:linear-gradient(135deg,#2356A8 0%,#D71F2D 100%);
    box-shadow:0 10px 22px rgba(37,86,168,.18);
    white-space:nowrap;
}
.nav-cta-edu:hover{background:linear-gradient(135deg,#1F4D98 0%,#C71A27 100%)}
.hero-banner-image{
    padding:20px 0 14px;
    background:#F5F7FB;
}
.hero-banner-card{
    overflow:hidden;
    border:1px solid #D9E4EF;
    border-radius:22px;
    background:#fff;
    box-shadow:0 14px 40px rgba(15,23,42,.08);
}
.hero-banner-img{
    display:block;
    width:100%;
    height:auto;
}
.hero-pro-after-banner{
    padding-top:8px;
}
.hero-pro-after-banner .hero-grid{
    padding-top:44px;
}

/* scroll target after header/nav higher */
#tongquan,
#diemnoi,
#nganh,
#doituong,
#phuongthuc,
#quytrinh,
#hoso,
#mocthoigian,
#hocphi,
#faq{
    scroll-margin-top:200px;
}

@media (max-width:1100px){
    .header-top-edu{flex-direction:column;align-items:flex-start}
    .header-contact-edu{text-align:left}
    .main-nav-edu{top:154px}
    .nav-inner-edu{justify-content:flex-start;gap:24px}
}
@media (max-width:900px){
    .brand-line-top{font-size:17px}
    .brand-line-main{font-size:28px}
    .brand-site-edu{font-size:14px}
    .main-nav-edu{top:182px}
}
@media (max-width:680px){
    .brand-edu{align-items:flex-start;gap:12px}
    .brand-logo-edu{width:70px}
    .brand-line-top{font-size:15px}
    .brand-line-main{font-size:24px}
    .brand-badge-code{padding:7px 14px;font-size:12px}
    .brand-site-edu{font-size:13px}
    .header-contact-edu{font-size:13px;line-height:1.45}
    .header-top-edu{padding-top:14px;padding-bottom:14px}
    .main-nav-edu{top:198px}
    .nav-inner-edu{min-height:56px;gap:18px;justify-content:flex-start}
    .nav-cta-edu{margin-left:0;min-width:max-content}
    #tongquan,
    #diemnoi,
    #nganh,
    #doituong,
    #phuongthuc,
    #quytrinh,
    #hoso,
    #mocthoigian,
    #hocphi,
    #faq{scroll-margin-top:235px}
}


/* =========================================================
   03 CÁCH GỬI HỒ SƠ - KHÔNG ƯU TIÊN RIÊNG ONLINE
   ========================================================= */
.submission-methods-section{
    padding:52px 0 64px;
    background:#FFFFFF;
    border-bottom:1px solid #E6EDF4;
}
.submission-method-heading{
    max-width:820px;
    margin-bottom:26px;
}
.submission-method-heading p{
    max-width:760px;
    line-height:1.7;
}
.submission-method-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.submission-method-card{
    position:relative;
    min-height:360px;
    padding:24px;
    border:1px solid #DCE6F0;
    border-top:4px solid #0054A6;
    border-radius:20px;
    background:#FFFFFF;
    box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.submission-method-card:nth-child(2){
    border-top-color:#0B6AAE;
}
.submission-method-card:nth-child(3){
    border-top-color:#ED1B23;
}
.submission-method-no{
    display:flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#EEF6FF;
    color:#0054A6;
    font-weight:700;
}
.submission-method-card:nth-child(3) .submission-method-no{
    background:#FFF0F0;
    color:#D71920;
}
.submission-method-label{
    margin-top:16px;
    color:#64748B;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
}
.submission-method-card h3{
    margin:7px 0 10px;
    color:#0F172A;
    font-size:20px;
    line-height:1.4;
}
.submission-method-card p{
    margin:0;
    color:#64748B;
    line-height:1.65;
}
.submission-method-info{
    margin-top:18px;
    padding:14px 15px;
    border-radius:12px;
    background:#F8FAFC;
    color:#334155;
    font-size:13px;
    line-height:1.6;
}
.submission-online-btn{
    margin-top:18px;
    width:100%;
}
.submission-method-note{
    margin-top:18px;
    padding:14px 16px;
    border-left:4px solid #0054A6;
    border-radius:10px;
    background:#F4F9FF;
    color:#334155;
    line-height:1.6;
}
#nophoso,
#lienhe{
    scroll-margin-top:200px;
}
@media(max-width:900px){
    .submission-method-grid{
        grid-template-columns:1fr;
    }
    .submission-method-card{
        min-height:auto;
    }
}
@media(max-width:680px){
    .submission-methods-section{
        padding:38px 0 46px;
    }
    #nophoso,
    #lienhe{
        scroll-margin-top:235px;
    }
}


/* =========================================================
   MENU CỐ ĐỊNH KHI CUỘN - GIỮ ĐỊNH HƯỚNG TRANG
   Header cuộn bình thường, thanh menu luôn nằm trên cùng.
   ========================================================= */
.site-header-edu{
    position:relative !important;
    top:auto !important;
    z-index:1000;
}
.main-nav-edu{
    position:sticky !important;
    top:0 !important;
    z-index:1500 !important;
    background:#FFFFFF !important;
    box-shadow:0 5px 16px rgba(15,23,42,.10) !important;
}
.nav-inner-edu{
    min-height:60px;
}
#tongquan,
#nophoso,
#nganh,
#doituong,
#phuongthuc,
#quytrinh,
#hoso,
#mocthoigian,
#hocphi,
#faq,
#lienhe{
    scroll-margin-top:78px !important;
}
@media(max-width:680px){
    .main-nav-edu{
        top:0 !important;
    }
    #tongquan,
    #nophoso,
    #nganh,
    #doituong,
    #phuongthuc,
    #quytrinh,
    #hoso,
    #mocthoigian,
    #hocphi,
    #faq,
    #lienhe{
        scroll-margin-top:70px !important;
    }
}


/* Footer chính thức - dùng xanh thương hiệu STU */
.footer-pro,
.site-footer{
    background:linear-gradient(180deg,#0054A6 0%,#003F7D 100%) !important;
    color:#FFFFFF !important;
}
.footer-pro .footer-grid p,
.site-footer .footer-grid p{
    color:#EAF3FB !important;
}
.footer-pro .footer-old-address,
.site-footer .footer-old-address{
    color:#D8E8F7 !important;
}
.footer-pro .footer-updated,
.site-footer .footer-updated{
    border-top-color:rgba(255,255,255,.25) !important;
    color:#EAF3FB !important;
}
.footer-pro a,
.site-footer a{
    color:#FFFFFF !important;
}


/* =========================================================
   HÌNH THỨC NỘP HỒ SƠ - TRÌNH BÀY GỌN, KHÔNG NHẤN MẠNH
   ========================================================= */
.submission-methods-compact{
    padding:34px 0 40px !important;
    background:#FFFFFF;
}
.submission-compact-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}
.submission-compact-heading h2{
    margin:5px 0 0;
    font-size:25px;
    line-height:1.3;
    color:#111827;
}
.submission-method-grid-compact{
    gap:14px !important;
}
.submission-method-card-compact{
    min-height:0 !important;
    padding:17px 18px !important;
    border-top:1px solid #DCE6F0 !important;
    border-radius:14px !important;
    box-shadow:none !important;
    background:#FFFFFF !important;
}
.submission-method-card-compact:nth-child(2),
.submission-method-card-compact:nth-child(3){
    border-top-color:#DCE6F0 !important;
}
.submission-method-topline{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:9px;
}
.submission-method-topline .submission-method-no{
    width:30px;
    height:30px;
    flex:0 0 30px;
    border-radius:9px;
    font-size:11px;
    background:#EEF6FF !important;
    color:#0054A6 !important;
}
.submission-method-topline strong{
    color:#0F172A;
    font-size:16px;
    line-height:1.35;
}
.submission-method-card-compact p{
    margin:0 !important;
    color:#64748B;
    font-size:14px;
    line-height:1.6;
}
.submission-inline-link{
    display:inline;
    margin-left:3px;
    color:#0054A6;
    font-weight:700;
    text-decoration:underline;
}
.submission-compact-note{
    margin:13px 0 0;
    color:#64748B;
    font-size:13px;
}
.dossier-method-note{
    margin:-10px 0 22px;
    padding:13px 15px;
    border-left:4px solid #0054A6;
    border-radius:10px;
    background:#F4F9FF;
    color:#334155;
    line-height:1.6;
    font-size:14px;
}
.cta-box-contact{
    padding-top:30px;
    padding-bottom:30px;
}
@media(max-width:900px){
    .submission-compact-heading{
        display:block;
    }
}
@media(max-width:680px){
    .submission-methods-compact{
        padding:28px 0 34px !important;
    }
    .submission-compact-heading h2{
        font-size:22px;
    }
}


/* =========================================================
   PHÂN CẤP LẠI NÚT HÀNH ĐỘNG - KHÔNG NHẤN ONLINE
   ========================================================= */
.nav-cta-soft{
    margin-left:auto;
    min-height:42px;
    padding:0 20px;
    border:1px solid #9CBFE0 !important;
    border-radius:14px;
    background:#F4F9FF !important;
    color:#0054A6 !important;
    box-shadow:none !important;
    white-space:nowrap;
}
.nav-cta-soft:hover{
    background:#EAF4FD !important;
    border-color:#6FA5D5 !important;
    color:#003F7D !important;
}
.hero-actions-refined{
    margin-bottom:0;
}
.online-followup-link{
    display:flex;
    align-items:center;
    gap:7px;
    margin-top:13px;
    color:#64748B;
    font-size:13px;
}
.online-followup-link a{
    color:#0054A6;
    font-weight:700;
    text-decoration:underline;
}
.online-followup-link a:hover{
    color:#003F7D;
}
@media(max-width:680px){
    .nav-cta-soft{
        min-width:max-content;
        margin-left:0;
    }
    .online-followup-link{
        align-items:flex-start;
        flex-wrap:wrap;
    }
}


/* =========================================================
   HOÀN THIỆN BỐ CỤC TRANG THÔNG TIN - FINAL
   ========================================================= */
.nav-inner-edu{
    justify-content:center !important;
}
.hero-side-contact-only{
    align-self:stretch;
    display:flex !important;
    align-items:flex-start;
}
.hero-side-contact-only .hero-contact-card{
    width:100%;
}
.hero-grid-pro{
    grid-template-columns:1.65fr .72fr !important;
}
.hero-pro-after-banner .hero-grid{
    padding-top:38px !important;
    padding-bottom:48px !important;
}
.hero-copy{
    max-width:820px;
}
.hero-actions-refined{
    margin-top:22px;
}
.online-followup-link{
    margin-top:12px;
}
.submission-methods-compact{
    border-top:1px solid #E6EDF4;
}
.section-school-overview{
    margin-top:0;
}
#nganh,
#doituong,
#phuongthuc,
#nophoso,
#hoso,
#mocthoigian,
#hocphi,
#lienhe{
    scroll-margin-top:76px !important;
}
@media(max-width:900px){
    .hero-grid-pro{
        grid-template-columns:1fr !important;
    }
    .hero-side-contact-only{
        display:block !important;
    }
}
@media(max-width:680px){
    #nganh,
    #doituong,
    #phuongthuc,
    #nophoso,
    #hoso,
    #mocthoigian,
    #hocphi,
    #lienhe{
        scroll-margin-top:68px !important;
    }
}


/* =========================================================
   CĂN LỀ ĐỒNG NHẤT 3 PHẦN NỘI DUNG
   Đối tượng / Phương thức / Học phí
   ========================================================= */
.standard-content-section .section-heading{
    max-width:900px;
    margin-left:0;
    margin-right:0;
}
.standard-content-section .content-card{
    max-width:900px;
    margin-left:0;
    margin-right:0;
}

/* Giữ độ rộng đọc dễ chịu nhưng căn trái theo cùng trục với
   Ngành tuyển sinh, Hồ sơ, Mốc thời gian và Thông tin chung. */
.standard-content-section .formula-card,
.standard-content-section .tuition-card-pro{
    width:100%;
}

@media(max-width:940px){
    .standard-content-section .section-heading,
    .standard-content-section .content-card{
        max-width:none;
    }
}


/* =========================================================
   CÂN BẰNG BỐ CỤC TOÀN TRANG - 31/08/2026
   ========================================================= */

/* Tất cả tiêu đề section về cùng một trục */
.section-heading,
.submission-compact-heading{
    max-width:none !important;
    width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
}
.submission-compact-heading{
    display:block !important;
}
.submission-compact-heading h2{
    margin:6px 0 0 !important;
}

/* Khoảng cách section thống nhất */
.section{
    padding-top:64px;
    padding-bottom:64px;
}
.submission-methods-compact{
    padding-top:56px !important;
    padding-bottom:56px !important;
}

/* Đối tượng tuyển sinh */
.eligibility-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.eligibility-card{
    min-height:190px;
    padding:22px;
    border:1px solid #DCE6F0;
    border-top:3px solid #0054A6;
    border-radius:16px;
    background:#FFFFFF;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.eligibility-no{
    display:inline-flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    background:#EEF6FF;
    color:#0054A6;
    font-size:12px;
    font-weight:700;
}
.eligibility-card h3{
    margin:15px 0 8px;
    color:#111827;
    font-size:18px;
    line-height:1.4;
}
.eligibility-card p{
    margin:0;
    color:#64748B;
    line-height:1.65;
}

/* Phương thức tuyển sinh */
.selection-method-panel{
    display:grid;
    grid-template-columns:.85fr 1.55fr;
    gap:18px;
    padding:20px;
    border:1px solid #DCE6F0;
    border-top:3px solid #ED1B23;
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.selection-formula-box{
    display:flex;
    min-height:150px;
    flex-direction:column;
    justify-content:center;
    padding:20px;
    border:1px solid #C9DDF2;
    border-radius:14px;
    background:#F4F9FF;
}
.selection-label{
    color:#64748B;
    font-size:12px;
    font-weight:700;
}
.selection-formula{
    margin-top:12px;
    color:#0054A6;
    font-size:27px;
    font-weight:700;
}
.selection-rules{
    display:grid;
    gap:12px;
}
.selection-rule{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:12px;
    align-items:start;
    padding:16px 18px;
    border:1px solid #E6EDF4;
    border-radius:13px;
    background:#FBFDFF;
}
.selection-rule>span{
    display:flex;
    width:34px;
    height:34px;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#0054A6;
    color:#FFFFFF;
    font-size:11px;
    font-weight:700;
}
.selection-rule p{
    margin:4px 0 0;
    color:#334155;
    line-height:1.6;
}

/* Hình thức nộp hồ sơ đồng trục với các section khác */
.submission-methods-section .container{
    width:calc(100% - 32px);
    max-width:1180px;
    margin:0 auto;
}
.submission-method-grid-compact{
    grid-template-columns:repeat(3,1fr) !important;
}
.submission-method-card-compact{
    min-height:150px !important;
}

/* Học phí */
.tuition-grid-pro{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}
.tuition-info-card{
    min-height:170px;
    padding:22px;
    border:1px solid #DCE6F0;
    border-top:3px solid #0054A6;
    border-radius:16px;
    background:#FFFFFF;
    box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.tuition-info-highlight{
    border-top-color:#ED1B23;
    background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F9 100%);
}
.tuition-info-label{
    color:#64748B;
    font-size:12px;
    font-weight:700;
}
.tuition-info-card h3{
    margin:12px 0 8px;
    color:#0F172A;
    font-size:19px;
    line-height:1.4;
}
.tuition-info-highlight h3{
    color:#D71920;
}
.tuition-info-card p{
    margin:0;
    color:#64748B;
    line-height:1.6;
}

/* Timeline và liên hệ sử dụng toàn chiều rộng container */
.timeline,
.school-overview-grid,
.steps-grid,
.major-grid{
    width:100%;
}

/* Loại bỏ giới hạn 900px cũ của 3 section */
.standard-content-section .section-heading,
.standard-content-section .content-card{
    max-width:none !important;
    width:100% !important;
}

/* Các card cùng cảm giác bo góc và đổ bóng */
.info-card,
.step-card,
.major-card,
.timeline-content,
.eligibility-card,
.selection-method-panel,
.tuition-info-card,
.submission-method-card-compact{
    border-radius:16px;
}

@media(max-width:900px){
    .eligibility-grid,
    .tuition-grid-pro{
        grid-template-columns:1fr;
    }
    .selection-method-panel{
        grid-template-columns:1fr;
    }
    .submission-method-grid-compact{
        grid-template-columns:1fr !important;
    }
}
@media(max-width:680px){
    .section{
        padding-top:46px;
        padding-bottom:46px;
    }
    .submission-methods-compact{
        padding-top:42px !important;
        padding-bottom:42px !important;
    }
    .selection-formula{
        font-size:23px;
    }
}


/* =========================================================
   HỒ SƠ ĐĂNG KÝ XÉT TUYỂN - BỐ CỤC 4 + 3 CÂN ĐỐI
   ========================================================= */
#hoso .section-heading{
    margin-bottom:18px;
}
#hoso .section-heading p{
    max-width:860px;
    margin-top:8px;
    color:#64748B;
    line-height:1.6;
}
#hoso .dossier-method-note{
    margin:0 0 20px;
}

/* Desktop: 4 cột.
   Dòng 2: Bộ hồ sơ tuyển sinh chiếm 2 cột vì nội dung dài,
   CCCD và Ảnh mỗi mục 1 cột. */
.dossier-grid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:16px !important;
    align-items:stretch;
}
.dossier-card{
    min-height:180px;
    display:flex;
    flex-direction:column;
    padding:20px !important;
    border:1px solid #DCE6F0 !important;
    border-top:3px solid #0054A6 !important;
    border-radius:16px !important;
    background:#FFFFFF !important;
    box-shadow:0 8px 22px rgba(15,23,42,.045) !important;
}
.dossier-card-05{
    grid-column:span 2;
}
.dossier-card h3{
    margin:14px 0 7px !important;
    font-size:17px;
    line-height:1.4;
    color:#111827;
}
.dossier-card p{
    margin:0;
    color:#64748B;
    line-height:1.6;
}
.dossier-card .template-link{
    margin-top:auto;
    align-self:flex-start;
}

/* Làm phần lệ phí liền mạch hơn với lưới hồ sơ */
#hoso .fee-banner{
    margin-top:18px !important;
    margin-bottom:10px !important;
    justify-content:flex-start;
    gap:28px;
    padding:15px 18px;
    border-radius:12px;
}
#hoso .fee-guidance{
    margin-top:0;
    padding:10px 14px;
}

/* Ghi chú riêng cho hồ sơ trực tuyến nhẹ hơn, không lấn át nội dung chính */
#hoso .dossier-method-note{
    padding:11px 14px;
    border-left:3px solid #0054A6;
    border-radius:9px;
    background:#F7FAFD;
    color:#475569;
    font-size:13px;
}

@media(max-width:1000px){
    .dossier-grid{
        grid-template-columns:repeat(2,1fr) !important;
    }
    .dossier-card-05{
        grid-column:span 1;
    }
}
@media(max-width:680px){
    .dossier-grid{
        grid-template-columns:1fr !important;
    }
    .dossier-card{
        min-height:auto;
    }
    #hoso .fee-banner{
        display:grid;
        grid-template-columns:1fr;
        gap:6px;
    }
}


/* Đối tượng tuyển sinh: 02 điều kiện bắt buộc */
.eligibility-grid-2{
    grid-template-columns:repeat(2,1fr) !important;
}
.eligibility-grid-2 .eligibility-card{
    min-height:205px;
}
@media(max-width:760px){
    .eligibility-grid-2{
        grid-template-columns:1fr !important;
    }
}


/* Điểm trung bình thang 4 / 10 */
.score-note-box{
    padding:13px 15px;
    border:1px solid #C9DDF2;
    border-left:4px solid #0054A6;
    border-radius:10px;
    background:#F4F9FF;
    color:#475569;
    line-height:1.55;
}
.score-note-box strong{
    color:#0054A6;
}


/* Cảnh báo cụ thể khi hồ sơ chưa đầy đủ */
.form-validation-summary{
    margin:0 0 18px;
    padding:16px 18px;
    border:1px solid #F3B6B9;
    border-left:5px solid #ED1B23;
    border-radius:12px;
    background:#FFF6F6;
    color:#7F1D1D;
}
.validation-summary-title{
    margin-bottom:5px;
    color:#B91C1C;
    font-size:17px;
    font-weight:700;
}
.form-validation-summary p{
    margin:0 0 8px;
    line-height:1.5;
}
.form-validation-summary ul{
    margin:0;
    padding-left:20px;
}
.form-validation-summary li{
    margin:5px 0;
    line-height:1.45;
}
.validation-error-field input,
.validation-error-field select,
.validation-error-field textarea{
    border-color:#ED1B23!important;
    box-shadow:0 0 0 2px rgba(237,27,35,.08);
}
.validation-error-field.upload-field{
    padding:10px;
    border:1px solid #ED1B23;
    border-radius:10px;
    background:#FFF9F9;
}
.error-message{
    white-space:pre-line;
}
.tc-required-note{
    color:#64748B;
    font-size:12px;
    font-weight:400;
}


/* Cảnh báo hồ sơ ngay tại vị trí Gửi hồ sơ */
.validation-summary-bottom{
    margin:18px 0 12px;
    box-shadow:0 6px 18px rgba(127,29,29,.08);
}
.validation-inline-error{
    margin-top:6px;
    color:#C81E1E;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
}
.validation-error-field input,
.validation-error-field select,
.validation-error-field textarea{
    background:#FFFDFD;
}


/* Cảnh báo hồ sơ nổi bật - dễ nhận biết */
.validation-floating-bar{
    position:fixed; left:50%; bottom:18px; z-index:2500;
    width:min(760px, calc(100% - 24px)); transform:translateX(-50%);
}
.validation-floating-content{
    display:flex; align-items:center; gap:12px; padding:12px 14px;
    border:2px solid #ED1B23; border-radius:14px; background:#fff;
    box-shadow:0 14px 36px rgba(15,23,42,.22);
}
.validation-floating-icon{
    display:flex; width:38px; height:38px; flex:0 0 38px; align-items:center;
    justify-content:center; border-radius:50%; background:#ED1B23; color:#fff;
    font-size:22px; font-weight:700;
}
.validation-floating-text{flex:1; min-width:0}
.validation-floating-text strong{display:block; color:#B91C1C; font-size:15px}
.validation-floating-text span{display:block; margin-top:2px; color:#475569; font-size:13px}
.validation-floating-btn{
    min-height:40px; padding:0 14px; border:0; border-radius:9px;
    background:#ED1B23; color:#fff; font-weight:700; cursor:pointer; white-space:nowrap;
}
.validation-modal{
    position:fixed; inset:0; z-index:3000; align-items:center; justify-content:center; padding:18px;
}
.validation-modal-backdrop{position:absolute; inset:0; background:rgba(15,23,42,.62)}
.validation-modal-card{
    position:relative; z-index:1; width:min(620px, 100%); max-height:88vh; overflow:auto;
    padding:26px; border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.32);
}
.validation-modal-icon{
    display:flex; width:58px; height:58px; margin:0 auto 12px; align-items:center;
    justify-content:center; border-radius:50%; background:#ED1B23; color:#fff;
    font-size:34px; font-weight:700;
}
.validation-modal-card h2{margin:0; text-align:center; color:#B91C1C; font-size:24px}
.validation-modal-lead{margin:8px 0 16px; text-align:center; color:#475569; line-height:1.55}
.validation-modal-list-wrap{
    padding:14px 16px; border:1px solid #F1B6B9; border-radius:12px; background:#FFF7F7;
}
.validation-modal-list-wrap ul{margin:0; padding-left:22px}
.validation-modal-list-wrap li{margin:7px 0; color:#7F1D1D; line-height:1.45; font-weight:700}
.validation-more-errors{color:#475569!important; font-weight:400!important}
.validation-modal-note{
    margin-top:12px; padding:10px 12px; border-radius:9px; background:#F8FAFC;
    color:#64748B; font-size:13px;
}
.validation-modal-actions{display:flex; gap:10px; justify-content:center; margin-top:18px}
.validation-error-field input,
.validation-error-field select,
.validation-error-field textarea{
    border:2px solid #ED1B23!important; background:#FFF7F7!important;
    box-shadow:0 0 0 3px rgba(237,27,35,.10)!important;
}
.validation-error-field.upload-field{
    border:2px solid #ED1B23!important; background:#FFF7F7!important;
    box-shadow:0 0 0 3px rgba(237,27,35,.08);
}
.validation-inline-error{
    display:flex; align-items:flex-start; gap:6px; margin-top:7px; padding:7px 9px;
    border-radius:8px; background:#FDE8E8; color:#B91C1C; font-size:12px;
    font-weight:700; line-height:1.4;
}
.validation-inline-error:before{
    content:"!"; display:flex; width:18px; height:18px; flex:0 0 18px; align-items:center;
    justify-content:center; border-radius:50%; background:#ED1B23; color:#fff;
    font-size:11px; font-weight:700;
}
@media(max-width:680px){
    .validation-floating-content{align-items:flex-start; flex-wrap:wrap}
    .validation-floating-btn{width:100%}
    .validation-modal-card{padding:20px 16px}
    .validation-modal-actions{flex-direction:column}
    .validation-modal-actions .btn{width:100%}
}


/* =========================================================
   TRANG ĐĂNG KÝ XÉT TUYỂN - ĐỒNG NHẤT TRANG THÔNG TIN
   ========================================================= */
.form-page{
    background:#F5F8FC;
}
.apply-site-header{
    position:relative !important;
    top:auto !important;
    background:#FFFFFF;
    border-bottom:1px solid #DCE6F0;
}
.apply-header-inner{
    align-items:center;
    padding-top:14px;
    padding-bottom:14px;
}
.apply-brand-link{
    text-decoration:none;
    color:inherit;
}
.apply-brand-link:hover{
    text-decoration:none;
}
.apply-header-inner .brand-logo-edu{
    width:72px;
}
.apply-header-inner .brand-line-top{
    font-size:16px;
}
.apply-header-inner .brand-line-main{
    font-size:27px;
}
.apply-header-inner .brand-badge-code{
    margin-top:4px;
    padding:6px 13px;
    font-size:11px;
}
.apply-header-inner .brand-site-edu{
    margin-top:4px;
    font-size:13px;
}
.apply-header-actions{
    display:flex;
    align-items:center;
    gap:9px;
}
.apply-header-btn{
    min-height:40px;
    padding:0 16px;
    border-color:#9CBFE0;
    color:#0054A6;
    background:#FFFFFF;
    white-space:nowrap;
}
.apply-header-btn:hover{
    background:#F4F9FF;
    border-color:#6FA5D5;
    color:#003F7D;
}

.form-main{
    padding:38px 0 72px;
    background:
        radial-gradient(circle at top right,rgba(0,84,166,.055),transparent 28%),
        #F5F8FC;
}
.form-container{
    width:calc(100% - 32px);
    max-width:1100px;
    margin:0 auto;
}
.form-intro-pro{
    position:relative;
    margin-bottom:24px;
    padding:26px 30px;
    overflow:hidden;
    border:1px solid #DCE6F0;
    border-left:5px solid #0054A6;
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 10px 28px rgba(15,23,42,.045);
}
.form-intro-pro:after{
    content:"STU";
    position:absolute;
    right:28px;
    bottom:-22px;
    color:#F2F7FC;
    font-size:92px;
    font-weight:700;
    pointer-events:none;
}
.form-intro-pro > *{
    position:relative;
    z-index:1;
}
.form-intro-pro h1{
    margin:7px 0 10px;
    color:#0F172A;
    font-size:32px;
    line-height:1.25;
}
.form-intro-pro p{
    max-width:820px;
    margin:0;
    color:#52637A;
    line-height:1.65;
}
.apply-required-note{
    display:inline-flex;
    align-items:center;
    margin-top:14px;
    padding:8px 12px;
    border-radius:9px;
    background:#F8FAFC;
    color:#64748B;
    font-size:13px;
}

.application-form{
    gap:22px;
}
.form-section{
    position:relative;
    padding:26px;
    overflow:hidden;
    border:1px solid #DCE6F0;
    border-top:3px solid #0054A6;
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 8px 26px rgba(15,23,42,.04);
}
.form-section.confirm-section{
    border-top-color:#ED1B23;
}
.form-section-title{
    padding-bottom:16px;
    margin-bottom:22px;
    border-bottom:1px solid #E8EEF5;
}
.form-section-title h2{
    color:#0F172A;
    font-size:21px;
    line-height:1.35;
}
.form-section-title p{
    margin-top:4px;
    color:#64748B;
    font-size:13px;
    line-height:1.5;
}
.step-circle{
    width:40px;
    height:40px;
    flex:0 0 40px;
    border-radius:11px;
    background:#0054A6;
    color:#FFFFFF;
    font-size:13px;
    box-shadow:0 5px 12px rgba(0,84,166,.16);
}

.form-grid{
    gap:18px 20px;
}
.field label,
.upload-field label{
    color:#24364B;
    font-size:13px;
}
.field input,
.field select,
.field textarea,
.upload-field input{
    min-height:46px;
    border:1px solid #C9D6E3;
    border-radius:10px;
    background:#FFFFFF;
    color:#0F172A;
}
.field textarea{
    min-height:90px;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
    border-color:#0054A6;
    box-shadow:0 0 0 3px rgba(0,84,166,.10);
}
.field small{
    color:#6B7C90;
    line-height:1.45;
}

.address-mode-option{
    border-radius:10px;
}
.address-mode-option:has(input:checked){
    border-color:#78A9D7;
    background:#F4F9FF;
}

.score-note-box{
    border-left:4px solid #0054A6;
    border-radius:10px;
    background:#F4F9FF;
}

.upload-grid{
    grid-template-columns:repeat(2,1fr);
    gap:14px;
}
.upload-field{
    min-height:122px;
    padding:16px;
    border:1px solid #D8E2EC;
    border-top:2px solid #0054A6;
    border-radius:12px;
    background:#FBFDFF;
}
.upload-field input{
    min-height:42px;
    margin-top:9px;
}
.upload-field small{
    display:block;
    margin-top:7px;
    color:#64748B;
    line-height:1.45;
}

.online-paper-note{
    margin-top:18px;
    padding:13px 15px;
    border:1px solid #DCE6F0;
    border-left:4px solid #0054A6;
    border-radius:10px;
    background:#F7FAFD;
    color:#475569;
    font-size:13px;
    line-height:1.6;
}

.confirm-section{
    padding-top:20px;
    padding-bottom:20px;
}
.check-row{
    color:#24364B;
}
.privacy-note{
    margin-left:30px;
}

.submit-bar{
    padding:18px 20px;
    border:1px solid #DCE6F0;
    border-radius:16px;
    background:#FFFFFF;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.apply-submit-btn{
    min-width:280px;
    background:#0054A6;
    box-shadow:0 8px 18px rgba(0,84,166,.17);
}
.apply-submit-btn:hover{
    background:#003F7D;
}

.application-success{
    border-left:5px solid #059669;
}
.application-code-box{
    border-radius:12px;
}

.form-validation-summary.validation-summary-bottom{
    border-radius:14px;
}

@media(max-width:900px){
    .apply-header-inner{
        align-items:flex-start;
    }
    .apply-header-actions{
        margin-left:auto;
    }
    .form-container{
        max-width:760px;
    }
    .upload-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:680px){
    .apply-header-inner{
        display:block;
    }
    .apply-header-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
        margin-top:14px;
    }
    .apply-header-btn{
        justify-content:center;
        text-align:center;
        padding:0 9px;
        font-size:12px;
    }
    .apply-header-inner .brand-logo-edu{
        width:64px;
    }
    .apply-header-inner .brand-line-main{
        font-size:22px;
    }
    .form-main{
        padding-top:24px;
    }
    .form-container{
        width:calc(100% - 22px);
    }
    .form-intro-pro{
        padding:20px 18px;
    }
    .form-intro-pro h1{
        font-size:26px;
    }
    .form-intro-pro:after{
        font-size:68px;
    }
    .form-section{
        padding:18px;
    }
    .form-grid{
        grid-template-columns:1fr;
    }
    .field-wide{
        grid-column:auto;
    }
    .submit-bar{
        padding:14px;
    }
    .apply-submit-btn{
        min-width:0;
    }
    .privacy-note{
        margin-left:0;
    }
}


/* =========================================================
   TRANG ĐĂNG KÝ - BỐ TRÍ HỒ SƠ ĐÍNH KÈM CÂN ĐỐI HƠN
   ========================================================= */
.upload-section .form-section-title{
    margin-bottom:18px;
}
.upload-section .form-section-title p{
    max-width:760px;
}
.upload-section .upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    align-items:stretch;
}
.upload-section .upload-field{
    min-height:132px;
    padding:18px 18px 16px;
    border:1px solid #D9E4EF;
    border-top:3px solid #0054A6;
    border-radius:14px;
    background:#FBFDFF;
    box-shadow:0 4px 14px rgba(15,23,42,.03);
}
.upload-section .upload-field-primary{
    min-height:128px;
}
.upload-section .upload-field-secondary{
    background:#F9FBFD;
}
.upload-section .upload-field-conditional{
    background:#FCFDFE;
}
.upload-section .upload-field label{
    display:block;
    margin-bottom:10px;
    color:#16314F;
    font-size:14px;
    font-weight:700;
    line-height:1.45;
}
.upload-section .upload-field label small{
    display:block;
    margin-top:4px;
    color:#64748B;
    font-size:12px;
    font-weight:400;
    line-height:1.45;
}
.upload-section .upload-field input[type="file"]{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border:1px solid #C9D6E3;
    border-radius:10px;
    background:#FFFFFF;
}
.upload-section .upload-field small{
    display:block;
    margin-top:9px;
    color:#64748B;
    line-height:1.5;
}
.upload-section .upload-field-note small{
    max-width:92%;
}
.upload-section .online-paper-note{
    margin-top:18px;
}

/* Màn hình rộng: hàng cuối gọn cân đối 1 ô + 1 cụm 2 ô */
@media(min-width:901px){
    .upload-section .upload-field-conditional{
        min-height:128px;
    }
}

/* Tablet/mobile */
@media(max-width:900px){
    .upload-section .upload-grid{
        grid-template-columns:1fr;
    }
    .upload-section .upload-field{
        min-height:auto;
    }
}


/* =========================================================
   HỒ SƠ ĐÍNH KÈM - 2 CỘT TRÊN + 3 CỘT DƯỚI
   Xử lý dòng cuối bị dư một khoảng trống lớn
   ========================================================= */
@media(min-width:901px){
    .upload-section .upload-grid{
        display:grid !important;
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        gap:16px !important;
    }

    /* 4 hồ sơ chính: 2 cột */
    .upload-section .upload-pos-01,
    .upload-section .upload-pos-02,
    .upload-section .upload-pos-03,
    .upload-section .upload-pos-04{
        grid-column:span 3;
    }

    /* 3 hồ sơ còn lại: 3 cột đều nhau */
    .upload-section .upload-pos-05,
    .upload-section .upload-pos-06,
    .upload-section .upload-pos-07{
        grid-column:span 2;
        min-height:168px;
    }

    .upload-section .upload-pos-05 label,
    .upload-section .upload-pos-06 label,
    .upload-section .upload-pos-07 label{
        min-height:42px;
    }

    .upload-section .upload-pos-05 input[type="file"],
    .upload-section .upload-pos-06 input[type="file"],
    .upload-section .upload-pos-07 input[type="file"]{
        margin-top:auto;
    }
}

/* Tablet giữ 2 cột; mobile 1 cột */
@media(min-width:681px) and (max-width:900px){
    .upload-section .upload-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media(max-width:680px){
    .upload-section .upload-grid{
        grid-template-columns:1fr !important;
    }
}


/* =========================================================
   FIX THẬT SỰ CHO HỒ SƠ ĐÍNH KÈM
   Lý do bản trước chưa hiện: section chưa có class upload-section.
   Bản này target trực tiếp .upload-grid để chắc chắn áp dụng.
   ========================================================= */
@media(min-width:901px){
    .upload-grid{
        display:grid !important;
        grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
        gap:16px !important;
        align-items:stretch !important;
    }

    /* 4 hồ sơ bắt buộc: 2 cột */
    .upload-grid .upload-pos-01,
    .upload-grid .upload-pos-02,
    .upload-grid .upload-pos-03,
    .upload-grid .upload-pos-04{
        grid-column:span 3 !important;
    }

    /* 3 hồ sơ còn lại: 3 cột bằng nhau */
    .upload-grid .upload-pos-05,
    .upload-grid .upload-pos-06,
    .upload-grid .upload-pos-07{
        grid-column:span 2 !important;
    }

    .upload-grid .upload-pos-05,
    .upload-grid .upload-pos-06,
    .upload-grid .upload-pos-07{
        min-height:148px;
    }

    .upload-grid .upload-pos-05 label,
    .upload-grid .upload-pos-06 label,
    .upload-grid .upload-pos-07 label{
        min-height:46px;
    }

    .upload-grid .upload-pos-05 small{
        display:block;
        margin-top:10px;
        line-height:1.5;
    }
}

@media(min-width:681px) and (max-width:900px){
    .upload-grid{
        display:grid !important;
        grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
        gap:16px !important;
    }
}

@media(max-width:680px){
    .upload-grid{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;
    }
}


/* =========================================================
   ĐỊA CHỈ MỚI + ĐỊA CHỈ CŨ - BẮT BUỘC CẢ HAI
   ========================================================= */
.address-required-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:12px 14px;
    border-radius:10px;
    background:#F4F9FF;
    color:#334155;
}
.address-required-heading strong{
    color:#0F172A;
    font-size:14px;
}
.address-required-heading > span{
    color:#64748B;
    font-size:12px;
    line-height:1.5;
    text-align:right;
}

.address-block{
    padding:18px;
    border:1px solid #DCE6F0;
    border-radius:14px;
    background:#FBFDFF;
}
.address-block-new{
    border-top:3px solid #0054A6;
}
.address-block-old{
    border-top:3px solid #64748B;
}
.address-block-title{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:16px;
}
.address-block-no{
    display:flex;
    width:34px;
    height:34px;
    flex:0 0 34px;
    align-items:center;
    justify-content:center;
    border-radius:9px;
    background:#0054A6;
    color:#FFFFFF;
    font-size:12px;
    font-weight:700;
}
.address-block-old .address-block-no{
    background:#475569;
}
.address-block-title strong{
    display:block;
    color:#0F172A;
    font-size:15px;
    line-height:1.4;
}
.address-block-title small{
    display:block;
    margin-top:3px;
    color:#64748B;
    font-size:12px;
    line-height:1.45;
}
.address-inner-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 18px;
}
.address-inner-grid .field-wide{
    grid-column:1/-1;
}

@media(max-width:680px){
    .address-required-heading{
        display:block;
    }
    .address-required-heading > span{
        display:block;
        margin-top:5px;
        text-align:left;
    }
    .address-inner-grid{
        grid-template-columns:1fr;
    }
    .address-inner-grid .field-wide{
        grid-column:auto;
    }
}

/* =========================================================
   ĐỐI TƯỢNG TUYỂN SINH - PANEL 2 CỘT CÂN BẰNG
   ========================================================= */
#doituong .section-heading{
    max-width:none !important;
    width:100%;
    margin-left:0 !important;
    margin-right:0 !important;
}
.eligibility-panel{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    overflow:hidden;
    border:1px solid #DCE6F0;
    border-top:3px solid #0054A6;
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.eligibility-panel-item{
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    gap:16px;
    min-height:190px;
    padding:24px 26px;
    align-items:start;
}
.eligibility-panel-item + .eligibility-panel-item{
    border-left:1px solid #E3EAF2;
}
.eligibility-panel .eligibility-no{
    display:flex;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    background:#EEF6FF;
    color:#0054A6;
    font-size:12px;
    font-weight:700;
}
.eligibility-panel-copy h3{
    margin:4px 0 9px;
    color:#111827;
    font-size:18px;
    line-height:1.4;
}
.eligibility-panel-copy p{
    margin:0;
    color:#64748B;
    line-height:1.7;
}
@media(max-width:760px){
    .eligibility-panel{
        grid-template-columns:1fr;
    }
    .eligibility-panel-item{
        min-height:auto;
        padding:20px;
    }
    .eligibility-panel-item + .eligibility-panel-item{
        border-left:0;
        border-top:1px solid #E3EAF2;
    }
}


/* KHỐI TƯ VẤN - TẬN DỤNG CHIỀU NGANG */
.cta-box-contact{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 230px !important;
    align-items:center !important;
    gap:32px !important;
    padding:34px 42px !important;
}
.cta-box-contact > div:first-child{
    min-width:0 !important;
    max-width:none !important;
}
.cta-box-contact h2{
    max-width:none !important;
    margin:6px 0 12px !important;
    font-size:30px !important;
    line-height:1.28 !important;
}
.cta-box-contact p{
    max-width:920px !important;
    margin:0 !important;
    line-height:1.6 !important;
}
.cta-box-contact .cta-actions-group{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    min-width:230px !important;
    gap:10px !important;
}
.cta-box-contact .cta-actions-group .btn{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:nowrap !important;
}

@media(max-width:900px){
    .cta-box-contact{
        grid-template-columns:1fr !important;
        gap:20px !important;
        padding:30px !important;
    }
    .cta-box-contact .cta-actions-group{
        flex-direction:row !important;
        min-width:0 !important;
        justify-content:flex-start !important;
    }
    .cta-box-contact .cta-actions-group .btn{
        width:auto !important;
    }
}
@media(max-width:680px){
    .cta-box-contact{
        padding:24px 20px !important;
    }
    .cta-box-contact h2{
        font-size:24px !important;
    }
    .cta-box-contact .cta-actions-group{
        flex-direction:column !important;
    }
    .cta-box-contact .cta-actions-group .btn{
        width:100% !important;
    }
}


/* =========================================================
   THÔNG TIN CHUNG - COMPACT, GIẢM KHOẢNG TRỐNG
   ========================================================= */
.section-school-overview{
    padding-top:52px !important;
    padding-bottom:52px !important;
}
.section-school-overview .section-heading{
    margin-bottom:18px;
}
.school-info-panel{
    width:100%;
    padding:18px;
    border:1px solid #DCE6F0;
    border-top:3px solid #0054A6;
    border-radius:18px;
    background:#FFFFFF;
    box-shadow:0 8px 24px rgba(15,23,42,.045);
}
.school-info-grid{
    display:grid;
    grid-template-columns:1.45fr 1.15fr .55fr 1fr;
    gap:12px;
}
.school-info-item{
    min-height:86px;
    padding:14px 15px;
    border:1px solid #E5EDF5;
    border-radius:12px;
    background:#FBFDFF;
}
.school-info-item span{
    display:block;
    margin-bottom:6px;
    color:#64748B;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
}
.school-info-item strong{
    display:block;
    color:#0F172A;
    font-size:14px;
    line-height:1.45;
}
.school-info-item small{
    display:block;
    margin-top:4px;
    color:#64748B;
    font-size:12px;
    line-height:1.4;
}
.school-info-item a{
    color:#0054A6;
    text-decoration:none;
}
.school-info-item a:hover{
    text-decoration:underline;
}
.school-info-address{
    grid-column:span 2;
}
.school-info-address strong{
    white-space:normal;
}

/* Hàng thứ hai cân bằng: địa chỉ 2 cột + điện thoại + hotline.
   Hai email tự xuống hàng cuối, không tạo khoảng trống lớn. */
@media(min-width:1001px){
    .school-info-grid{
        grid-template-areas:
            "name english code code"
            "address address phone hotline"
            "emaildt emaildt emailts emailts";
    }
    .school-info-name{grid-area:name}
    .school-info-item:nth-child(2){grid-area:english}
    .school-info-code{grid-area:code}
    .school-info-address{grid-area:address}
    .school-info-item:nth-child(5){grid-area:phone}
    .school-info-item:nth-child(6){grid-area:hotline}
    .school-info-item:nth-child(7){grid-area:emaildt}
    .school-info-item:nth-child(8){grid-area:emailts}
}

@media(max-width:1000px){
    .school-info-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .school-info-address{
        grid-column:1/-1;
    }
}
@media(max-width:680px){
    .section-school-overview{
        padding-top:44px !important;
        padding-bottom:44px !important;
    }
    .school-info-panel{
        padding:12px;
    }
    .school-info-grid{
        grid-template-columns:1fr;
    }
    .school-info-address{
        grid-column:auto;
    }
    .school-info-item{
        min-height:auto;
    }
}


/* =========================================================
   EMAIL LIÊN HỆ - HAI KHỐI CÙNG MỨC ĐỘ ƯU TIÊN
   ========================================================= */
@media(min-width:1001px){
    .school-info-grid{
        grid-template-columns:repeat(6,minmax(0,1fr)) !important;
        grid-template-areas:
            "name name english english code code"
            "address address address address phone hotline"
            "emaildt emaildt emaildt emailts emailts emailts" !important;
    }

    .school-info-name{grid-area:name}
    .school-info-item:nth-child(2){grid-area:english}
    .school-info-code{grid-area:code}
    .school-info-address{grid-area:address}
    .school-info-item:nth-child(5){grid-area:phone}
    .school-info-item:nth-child(6){grid-area:hotline}
    .school-info-item:nth-child(7){grid-area:emaildt}
    .school-info-item:nth-child(8){grid-area:emailts}
}

/* Hai email dùng cùng kích thước chữ, chiều cao và khoảng đệm */
.school-info-item:nth-child(7),
.school-info-item:nth-child(8){
    min-height:86px;
}
.school-info-item:nth-child(7) strong,
.school-info-item:nth-child(8) strong{
    font-size:14px;
    line-height:1.45;
}
