:root{
    --primary-blue:#004080;
    --deep-blue:#003366;
    --dark-blue:#002244;
    --light-blue:#e3f2fd;
    --sky-blue:#03a9f4;
    --navy-blue:#1565c0;
    --accent-cyan:#00bcd4;
    --primary:var(--navy-blue);
    --primary-dark:var(--primary-blue);
    --accent:var(--sky-blue);
    --accent-light:var(--accent-cyan);
    --text:#1a1a1a;
    --text-light:#4a5568;
    --text-muted:#5a6578;
    --bg-light:#e3f2fd;
    --white:#fff;
    --shadow:0 4px 20px rgba(0,64,128,.1);
    --radius:12px;
    --success:#2e7d32;
    --warning:#e65100;
    --danger:#c62828;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,sans-serif;color:var(--text);line-height:1.6;background:linear-gradient(135deg,#fff 0%,var(--light-blue) 35%,#f7f9fa 100%);background-attachment:fixed;min-height:100vh;position:relative}
.site-cyber-bg{
    position:fixed;
    inset:0;
    width:100%;
    height:100%;
    z-index:0;
    pointer-events:none;
    opacity:.58;
}
body:has(.home-page) .site-cyber-bg,
body.is-home-page .site-cyber-bg{
    display:none;
}
body > .site-header,
body > main,
body > footer,
body > .alert,
body > .modal{
    position:relative;
    z-index:1;
}
body > .site-header{z-index:1000}
body > .modal{z-index:1100}
body > .whatsapp-chat-btn{
    position:fixed;
    z-index:10050;
}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}

/* Header */
.site-header{
    position:sticky;
    top:0;
    z-index:1000;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(10px);
    box-shadow:0 2px 4px rgba(0,0,0,.06),0 4px 16px rgba(0,64,128,.1);
    overflow:visible;
}
.header-topbar{
    background:linear-gradient(90deg,var(--primary-blue),var(--navy-blue));
    border-bottom:none;
    font-size:12px;
}
.header-topbar-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:8px 20px;
    flex-wrap:wrap;
}
.header-topbar-left,
.header-topbar-right{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}
.header-topbar span,
.header-topbar a{
    color:rgba(255,255,255,.78);
    display:inline-flex;
    align-items:center;
    gap:7px;
    transition:color .25s;
}
.header-topbar a:hover{color:var(--accent-cyan)}
.header-topbar i{color:var(--accent-cyan);font-size:11px}
.header-main{position:relative}
.header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 20px;
    min-height:76px;
    width:100%;
    max-width:100%;
}
.header-accent-line{
    height:3px;
    background:linear-gradient(90deg,var(--primary-blue),var(--sky-blue),var(--accent-cyan),var(--sky-blue),var(--primary-blue));
}
.logo{
    display:flex;
    align-items:center;
    gap:14px;
    color:var(--primary-blue);
    flex-shrink:0;
    transition:opacity .25s;
}
.logo:hover{opacity:.92}
.logo-mark{
    width:52px;
    height:52px;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(0,64,128,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    box-shadow:0 4px 16px rgba(0,64,128,.12);
}
.logo-mark img{width:100%;height:100%;object-fit:contain;padding:6px}
.logo-fallback{
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:var(--sky-blue);
}
.logo-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.logo-copy strong{
    font-size:18px;
    line-height:1.2;
    letter-spacing:.2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.logo-copy small{
    font-size:11px;
    color:var(--text-light);
    line-height:1.35;
    max-width:240px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.main-nav{
    display:flex;
    align-items:center;
    gap:18px;
    margin-left:auto;
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 200px);
    flex-wrap:wrap;
    justify-content:flex-end;
    row-gap:6px;
}
.nav-menu{
    display:flex;
    list-style:none;
    align-items:center;
    gap:4px;
    margin:0;
    padding:0;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.nav-link{
    position:relative;
    color:var(--text-light);
    padding:10px 14px;
    border-radius:10px;
    font-size:13px;
    font-weight:600;
    transition:color .25s,background .25s,transform .25s;
    display:inline-flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
}
.nav-link span{display:inline-block}
.nav-link::after{
    content:'';
    position:absolute;
    left:14px;
    right:14px;
    bottom:6px;
    height:2px;
    border-radius:2px;
    background:var(--sky-blue);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .25s;
}
.nav-link:hover,
.nav-link.active{
    color:var(--primary-blue);
    background:var(--light-blue);
}
.nav-link:hover::after,
.nav-link.active::after{transform:scaleX(1)}
.nav-link-cta{
    background:linear-gradient(135deg,var(--sky-blue),var(--accent-cyan));
    color:var(--white)!important;
    padding:10px 18px;
    box-shadow:0 6px 18px rgba(3,169,244,.28);
}
.nav-link-cta::after{display:none}
.nav-link-cta:hover{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(3,169,244,.35);
    background:linear-gradient(135deg,var(--accent-cyan),var(--sky-blue));
}
.nav-link-dash{
    background:rgba(3,169,244,.1);
    border:1px solid rgba(3,169,244,.25);
    color:var(--primary-blue)!important;
}
.nav-link-dash::after{display:none}
.nav-link-dash i{color:var(--sky-blue)}
.nav-link-logout{
    color:#fff!important;
    background:linear-gradient(135deg,#c62828,#8b0000)!important;
    border:1px solid #7f1010!important;
    box-shadow:0 4px 14px rgba(139,0,0,.28);
    flex-shrink:0;
}
.nav-link-logout::after{display:none}
.nav-link-logout:hover{
    background:linear-gradient(135deg,#d32f2f,#b71c1c)!important;
    color:#fff!important;
    border-color:#5c0000!important;
    box-shadow:0 6px 18px rgba(139,0,0,.38);
}
.has-dropdown{position:relative}
.has-dropdown.is-active > .nav-link{background:var(--light-blue)}
.nav-chevron{
    font-size:10px;
    opacity:.75;
    transition:transform .25s;
}
.has-dropdown:hover .nav-chevron,
.has-dropdown.open .nav-chevron{transform:rotate(180deg)}
.dropdown{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    bottom:auto;
    margin-top:0;
    padding:12px 0 0;
    min-width:250px;
    background:transparent;
    border:none;
    border-radius:0;
    box-shadow:none;
    z-index:1101;
    opacity:0;
    visibility:hidden;
    transform:translateY(-4px);
    transform-origin:top center;
    transition:opacity .2s,transform .2s,visibility .2s;
    pointer-events:none;
}
.dropdown::after{
    content:'';
    position:absolute;
    top:12px;
    left:0;
    right:0;
    bottom:0;
    background:var(--white);
    border-radius:14px;
    box-shadow:0 18px 45px rgba(0,64,128,.18);
    border:1px solid #eef0f5;
    z-index:0;
}
.has-dropdown:hover .dropdown,
.has-dropdown.open .dropdown,
.has-dropdown:focus-within .dropdown{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
.dropdown li{
    display:block;
    position:relative;
    z-index:1;
    padding:0 8px;
}
.dropdown li:first-child{padding-top:8px}
.dropdown li:last-child{padding-bottom:8px}
.dropdown a{
    color:var(--text)!important;
    padding:11px 14px!important;
    font-size:13px!important;
    font-weight:600;
    border-radius:10px;
    display:block;
    transition:background .2s,color .2s,padding-left .2s;
}
.dropdown a::after{display:none!important}
.dropdown a:hover,
.dropdown a.active{
    background:linear-gradient(135deg,rgba(21,101,192,.08),rgba(3,169,244,.12));
    color:var(--primary-blue)!important;
    padding-left:18px!important;
}
.mobile-toggle{
    display:none;
    width:44px;
    height:44px;
    border-radius:12px;
    background:var(--light-blue);
    border:1px solid rgba(0,64,128,.12);
    cursor:pointer;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    flex-shrink:0;
    transition:background .25s;
}
.mobile-toggle:hover{background:rgba(3,169,244,.15)}
.mobile-toggle-bar{
    display:block;
    width:20px;
    height:2px;
    background:var(--primary-blue);
    border-radius:2px;
    transition:transform .25s,opacity .25s;
}
.mobile-toggle.active .mobile-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-toggle.active .mobile-toggle-bar:nth-child(2){opacity:0}
.mobile-toggle.active .mobile-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav-head{display:none}
.nav-overlay{display:none}

@media(min-width:1281px){
.header-main .header-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.main-nav{
    position:static;
    display:flex!important;
    flex:1 1 auto;
    min-width:0;
    margin-left:auto;
    flex-wrap:nowrap;
}
.nav-menu{
    flex-wrap:nowrap;
    white-space:nowrap;
}
.nav-overlay{display:none!important}
}

@media(max-width:1400px){
.nav-link{padding:8px 10px;font-size:12px;gap:5px}
.main-nav{gap:10px;max-width:calc(100% - 180px)}
.logo-copy strong{font-size:16px}
}

@media(max-width:1280px){
.logo-copy small{display:none}
.nav-link{padding:9px 11px;font-size:12px}
.header-topbar-right a:last-child{display:none}
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:18px}
.footer-brand{max-width:none;grid-column:auto}

.header-topbar{display:none}
.mobile-toggle{display:flex}
.header-main{position:relative}
.header-inner{
    flex-wrap:nowrap;
    padding:12px 16px;
    min-height:68px;
    gap:12px;
}
.logo{min-width:0;flex:1}
.logo-copy strong{font-size:16px;max-width:100%}
.main-nav{
    display:none;
    position:fixed;
    top:var(--mobile-header-offset,71px);
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    margin-left:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:linear-gradient(180deg,var(--light-blue) 0%,#fff 100%);
    border-top:1px solid rgba(0,64,128,.1);
    padding:0;
    box-shadow:0 18px 40px rgba(0,0,0,.28);
    z-index:1005;
    height:calc(100vh - var(--mobile-header-offset, 71px));
    height:calc(100dvh - var(--mobile-header-offset, 71px));
    max-height:calc(100dvh - var(--mobile-header-offset, 71px));
    overflow:hidden;
    overscroll-behavior:contain;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
}
.main-nav.active{
    display:flex;
}
.mobile-nav-head{display:none}
.main-nav .nav-menu{
    display:block;
    flex:1 1 auto;
    min-height:0;
    height:0;
    overflow-x:hidden;
    overflow-y:scroll;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    padding:10px 16px calc(24px + env(safe-area-inset-bottom, 0px));
    width:100%;
    scrollbar-width:thin;
    scrollbar-color:rgba(0,64,128,.25) transparent;
}
.main-nav .nav-menu::-webkit-scrollbar{width:6px}
.main-nav .nav-menu::-webkit-scrollbar-thumb{
    background:rgba(0,64,128,.2);
    border-radius:999px;
}
.nav-menu{
    flex-direction:column;
    align-items:stretch;
    width:100%;
    gap:0;
}
.nav-menu > li{
    width:100%;
    border-bottom:1px solid rgba(0,64,128,.08);
}
.nav-menu > li:last-child{
    border-bottom:none;
}
.nav-link{
    width:100%;
    justify-content:space-between;
    padding:14px 12px;
    font-size:14px;
    white-space:normal;
    border-radius:8px;
}
.nav-link span{white-space:normal;line-height:1.35}
.nav-link::after{display:none}
.has-dropdown{
    display:flex;
    flex-direction:column;
    align-items:stretch;
}
.has-dropdown > .nav-link{order:1}
.has-dropdown > .dropdown{order:2}
.has-dropdown .dropdown{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    transform-origin:initial;
    box-shadow:none;
    border:none;
    background:rgba(0,64,128,.08);
    margin:0 0 4px;
    padding:0 0 4px 12px;
    display:none;
    min-width:0;
    pointer-events:auto;
}
.has-dropdown .dropdown::after{display:none}
.has-dropdown.open .dropdown{display:block}
.has-dropdown.open > .nav-link{
    background:var(--light-blue);
}
.dropdown li{
    border-bottom:1px solid rgba(0,64,128,.08);
    padding:0;
}
.dropdown li:first-child{padding-top:0}
.dropdown li:last-child{padding-bottom:0;padding-top:0}
.dropdown li:last-child{border-bottom:none}
.dropdown a{
    color:var(--text-light)!important;
    padding:12px 12px!important;
    font-size:13px!important;
}
.dropdown a:hover,
.dropdown a.active{
    background:rgba(3,169,244,.12)!important;
    color:var(--primary-blue)!important;
    padding-left:16px!important;
}
.nav-overlay{
    display:block;
    position:fixed;
    inset:0;
    top:var(--mobile-header-offset,71px);
    background:rgba(4,10,28,.55);
    backdrop-filter:blur(2px);
    z-index:1004;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease,visibility .25s;
}
.nav-overlay.active{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
body.nav-open{
    overflow:hidden;
    position:fixed;
    width:100%;
    left:0;
    right:0;
}
body.nav-open .site-header{
    position:relative;
    z-index:1006;
}
body.nav-open .header-main,
body.nav-open .mobile-toggle{
    position:relative;
    z-index:1007;
}
body.nav-open .main-nav .nav-menu{
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
}
}
@media(max-width:992px){
.nav-menu{gap:2px}
}

/* Hero Slider */
.hero-slider{position:relative;height:550px;overflow:hidden}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1s;display:flex;align-items:center}
.slide.active{opacity:1;z-index:1}
.slide-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,64,128,.85),rgba(21,101,192,.7))}
.default-slide{background:linear-gradient(135deg,var(--primary-dark),var(--primary))}
.slide-content{position:relative;z-index:2;color:var(--white);text-align:center;width:100%}
.slide-content h1{font-size:48px;margin-bottom:15px;font-weight:700}
.slide-content p{font-size:20px;margin-bottom:25px;opacity:.9}
.slider-dots{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s}
.dot.active{background:var(--accent);transform:scale(1.2)}

/* Sections */
.section{padding:70px 0}
.section.bg-light{background:rgba(227,242,253,.72)}
.section-header{text-align:center;margin-bottom:45px}
.section-header h2{font-size:32px;color:var(--primary);margin-bottom:10px}
.section-header p{color:var(--text-light);font-size:16px}
.page-hero{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:var(--white);padding:60px 0;text-align:center}
.page-hero h1{font-size:36px;margin-bottom:10px}
.page-hero p{opacity:.85;font-size:16px}

/* Cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:25px}
.card{background:rgba(255,255,255,.94);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;border:1px solid rgba(0,64,128,.06)}
.card:hover{transform:translateY(-5px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.card-image{height:180px;overflow:hidden;background:var(--bg-light)}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-body{padding:20px}
.card-body h3{font-size:18px;color:var(--primary);margin-bottom:10px}
.card-body p{font-size:14px;color:var(--text-light);margin-bottom:12px}
.meta{display:flex;justify-content:space-between;font-size:13px;color:var(--text-light);margin-bottom:15px}
.fees{color:var(--accent);font-weight:700;font-size:16px}
.charge{color:var(--primary);font-weight:600;margin:10px 0}

/* Buttons */
.btn{display:inline-block;padding:12px 28px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:.3s;text-align:center}
.btn-primary{background:linear-gradient(135deg,var(--primary-blue),var(--navy-blue));color:var(--white)}
.btn-primary:hover{background:linear-gradient(135deg,var(--deep-blue),var(--primary-blue));box-shadow:0 6px 20px rgba(0,64,128,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(21,101,192,.4)}
.btn-outline{border:2px solid var(--primary);color:var(--primary);background:transparent}
.btn-outline:hover{background:var(--primary);color:var(--white)}
.btn-outline-light{border:2px solid var(--white);color:var(--white);background:transparent}
.btn-outline-light:hover{background:var(--white);color:var(--primary)}
.btn-block{display:block;width:100%}
.btn-sm{padding:6px 14px;font-size:12px}
.view-all{display:block;width:fit-content;margin:30px auto 0}

/* Roadmap */
.roadmap-image{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}

/* Reviews */
.review-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:25px}
.review-card{display:flex;gap:15px;background:var(--white);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow)}
.review-avatar img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:3px solid var(--accent)}
.review-content h4{color:var(--primary);margin-bottom:5px}
.course-tag{display:inline-block;background:var(--bg-light);padding:3px 10px;border-radius:20px;font-size:12px;color:var(--text-light);margin-bottom:8px}

/* Students */
.student-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.student-card{text-align:center;background:var(--white);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow)}
.student-card img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:12px;border:3px solid var(--primary)}
.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}
.status-badge.pursuing{background:#e3f2fd;color:#1565c0}
.status-badge.active{background:#e8f5e9;color:#2e7d32}

/* CTA */
.section-cta{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:var(--white);text-align:center}
.section-cta h2{font-size:32px;margin-bottom:10px}
.section-cta p{margin-bottom:25px;opacity:.9}
.cta-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}

/* Footer */
.site-footer{
    position:relative;
    background:linear-gradient(135deg,var(--deep-blue) 0%,var(--dark-blue) 50%,var(--primary-blue) 100%);
    color:rgba(255,255,255,.88);
    overflow:hidden;
}
.site-footer::before{
    content:'';
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 10% 0%, rgba(3,169,244,.14) 0%, transparent 42%),
        radial-gradient(circle at 90% 100%, rgba(0,188,212,.12) 0%, transparent 38%);
    pointer-events:none;
}
.footer-accent-line{
    height:3px;
    background:linear-gradient(90deg,var(--primary-blue),var(--sky-blue),var(--accent-cyan),var(--sky-blue),var(--primary-blue));
}
.footer-main{
    position:relative;
    z-index:1;
    padding:56px 0 42px;
}
.footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;
    gap:30px;
}
.footer-brand{max-width:360px}
.footer-logo{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    color:var(--white);
    transition:opacity .25s;
}
.footer-logo:hover{opacity:.92}
.footer-logo-mark{
    width:54px;
    height:54px;
    border-radius:14px;
    background:#fff;
    border:1px solid rgba(255,255,255,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    flex-shrink:0;
}
.footer-logo-mark img{width:100%;height:100%;object-fit:contain;padding:6px}
.footer-logo-fallback{
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:var(--accent);
}
.footer-logo-copy{display:flex;flex-direction:column;gap:3px}
.footer-logo-copy strong{font-size:18px;line-height:1.2}
.footer-logo-copy small{
    font-size:11px;
    color:rgba(255,255,255,.65);
    line-height:1.4;
}
.footer-about{
    font-size:14px;
    line-height:1.75;
    color:rgba(255,255,255,.72);
    margin-bottom:20px;
}
.footer-trust-badges{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.footer-trust-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    padding:8px 14px;
    border-radius:50px;
    font-size:12px;
    font-weight:600;
    color:rgba(255,255,255,.88);
}
.footer-trust-badge i{color:var(--accent-cyan);font-size:11px}
.footer-col h4{
    color:var(--white);
    font-size:16px;
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:none;
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
}
.footer-col h4::after{
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:50px;
    height:3px;
    background:linear-gradient(90deg,var(--sky-blue),var(--accent-cyan));
    border-radius:2px;
}
.footer-col h4 i{
    color:var(--accent);
    font-size:14px;
    width:18px;
}
.footer-links{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:6px;
}
.footer-links a{
    display:flex;
    align-items:center;
    gap:10px;
    color:rgba(255,255,255,.72);
    font-size:14px;
    padding:8px 10px;
    border-radius:10px;
    transition:color .25s,background .25s,transform .25s;
}
.footer-links a i{
    font-size:10px;
    color:var(--accent);
    opacity:.85;
    transition:transform .25s;
}
.footer-links a:hover{
    color:var(--white);
    background:rgba(3,169,244,.12);
    transform:translateX(4px);
}
.footer-links a:hover i{transform:translateX(2px)}
.footer-contact-list{
    list-style:none;
    margin:0 0 20px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.footer-contact-list li{
    display:flex;
    align-items:center;
    gap:12px;
}
.footer-contact-icon{
    position:relative;
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    border-radius:12px;
    background:linear-gradient(135deg,rgba(3,169,244,.18),rgba(255,255,255,.08));
    border:1px solid rgba(3,169,244,.22);
    display:block;
    flex-shrink:0;
    color:var(--accent);
    font-size:15px;
    line-height:1;
    padding:0;
    margin:0;
    box-sizing:border-box;
    overflow:hidden;
}
.footer-contact-icon::before{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    display:block;
    line-height:1;
    margin:0;
    padding:0;
    width:1em;
    height:1em;
    text-align:center;
}
.footer-contact-list strong{
    display:block;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.5px;
    color:rgba(255,255,255,.55);
    margin-bottom:3px;
}
.footer-contact-list a,
.footer-contact-list span{
    display:block;
    font-size:14px;
    color:rgba(255,255,255,.88);
    line-height:1.45;
}
.footer-contact-list a:hover{color:var(--accent)}
.footer-contact-btn{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 18px;
    font-size:13px;
}
.footer-contact-btn i{font-size:12px}
.footer-bottom{
    position:relative;
    z-index:1;
    border-top:1px solid rgba(255,255,255,.1);
    background:rgba(0,0,0,.18);
}
.footer-bottom-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:18px 20px;
    flex-wrap:wrap;
}
.footer-copy{
    font-size:13px;
    color:rgba(255,255,255,.62);
    margin:0;
}
.footer-bottom-links{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
}
.footer-bottom-links a{
    font-size:13px;
    color:rgba(255,255,255,.68);
    transition:color .25s;
}
.footer-bottom-links a:hover{color:var(--accent)}
.footer-visitor-counter{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:8px 16px;
    border-radius:50px;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    color:rgba(255,255,255,.9);
    font-size:13px;
}
.footer-visitor-counter i{color:var(--accent);font-size:14px}
.footer-visitor-label{opacity:.85}
.footer-visitor-count{
    font-size:16px;
    font-weight:800;
    color:var(--accent-light);
    letter-spacing:.02em;
}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.badge{background:rgba(255,255,255,.1);padding:6px 14px;border-radius:20px;font-size:12px}

/* Forms */
.form-box{max-width:700px;background:var(--white);padding:30px;border-radius:var(--radius);box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}
.auth-box{max-width:450px;margin:0 auto}
.auth-link{text-align:center;margin-top:15px;font-size:14px}
.auth-link a{color:var(--primary);font-weight:600}
.auth-prompt{text-align:center}
.auth-prompt h3{color:var(--primary);margin-bottom:12px}
.auth-prompt-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}

/* Login Page */
.auth-login-hero { overflow: hidden; position: relative; text-align: center; }
.auth-login-hero-inner {
    max-width: 640px;
    margin: 0 auto;
    padding: 10px 0;
}
.auth-login-hero-icon {
    font-size: 48px;
    color: var(--accent);
    margin-bottom: 12px;
    opacity: .95;
}
.auth-login-hero h1 { font-size: 34px; margin-bottom: 12px; }
.auth-login-hero h1 > i { color: var(--accent); margin-right: 10px; font-size: 30px; }
.auth-login-hero p {
    font-size: 17px;
    opacity: .92;
    max-width: 520px;
    margin: 0 auto 18px;
    line-height: 1.6;
}
.auth-login-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.auth-login-badges span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
}
.auth-login-badges span i { color: var(--accent); margin-right: 6px; }

.auth-login-section {
    background: linear-gradient(180deg, var(--bg-light) 0%, var(--white) 100%);
    padding: 50px 0 70px;
}
.auth-login-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 28px;
    align-items: start;
    max-width: 920px;
    margin: 0 auto;
}
.auth-login-panel { display: flex; flex-direction: column; gap: 16px; }
.auth-login-panel-card {
    background: linear-gradient(145deg, var(--primary-dark), var(--primary));
    color: #fff;
    padding: 28px 24px;
    border-radius: var(--radius);
    box-shadow: 0 12px 40px rgba(21,101,192,.25);
}
.auth-panel-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(3,169,244,.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--accent);
    margin-bottom: 16px;
}
.auth-login-panel-card h3 {
    font-size: 20px;
    margin-bottom: 10px;
}
.auth-login-panel-card > p {
    font-size: 14px;
    opacity: .9;
    line-height: 1.6;
    margin-bottom: 18px;
}
.auth-login-features {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.auth-login-features li {
    font-size: 13px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.5;
    opacity: .95;
}
.auth-login-features li i {
    color: var(--accent);
    margin-top: 3px;
    flex-shrink: 0;
}
.auth-login-help {
    background: #fff;
    border: 1px solid #e8eaf6;
    border-radius: var(--radius);
    padding: 16px 18px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    box-shadow: var(--shadow);
}
.auth-login-help i {
    color: var(--primary);
    font-size: 18px;
    margin-top: 2px;
}
.auth-login-help p {
    font-size: 13px;
    color: var(--text-light);
    margin: 0;
    line-height: 1.5;
}
.auth-login-help a {
    color: var(--primary);
    font-weight: 600;
}

.auth-login-form-wrap {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: 0 8px 32px rgba(0,0,0,.08);
    border: 1px solid #e8eaf6;
    overflow: hidden;
}
.auth-login-form { padding: 0; }
.auth-form-header {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: #fff;
    padding: 26px 30px;
    text-align: center;
}
.auth-form-header i {
    font-size: 28px;
    color: var(--accent);
    margin-bottom: 10px;
    display: block;
}
.auth-form-header h2 {
    font-size: 24px;
    margin-bottom: 6px;
}
.auth-form-header p {
    font-size: 14px;
    opacity: .88;
    margin: 0;
}
.auth-login-form .auth-input-group {
    padding: 0 30px;
    margin-top: 22px;
}
.auth-login-form .auth-input-group:first-of-type { margin-top: 28px; }
.auth-input-group label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.auth-input-group label i {
    color: var(--primary);
    margin-right: 6px;
    width: 14px;
}
.auth-input-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-light);
    border: 2px solid #e8eaf6;
    border-radius: 10px;
    padding: 0 16px;
    transition: border-color .25s, box-shadow .25s;
}
.auth-input-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(21,101,192,.1);
    background: #fff;
}
.auth-input-wrap > i {
    color: var(--primary);
    font-size: 16px;
    opacity: .7;
}
.auth-input-wrap input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 14px 0;
    font-size: 15px;
    outline: none;
    color: var(--text);
}
.auth-login-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: calc(100% - 60px);
    margin: 26px 30px 0;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 10px;
}
.auth-login-divider {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 22px 30px 0;
    color: #aaa;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.auth-login-divider::before,
.auth-login-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e8eaf6;
}
.auth-login-register {
    text-align: center;
    padding: 18px 30px 28px;
    font-size: 14px;
    color: var(--text-light);
    margin: 0;
}
.auth-login-register a {
    color: var(--primary);
    font-weight: 600;
}
.auth-login-register a:hover { color: var(--accent); }
.auth-forgot-wrap {
    text-align: right;
    margin: 8px 0 0;
}
.auth-forgot-link {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.auth-forgot-link:hover { color: var(--accent); }
.auth-forgot-layout { max-width: 980px; }
.auth-form-header-forgot {
    background: linear-gradient(135deg, #e65100, #ef6c00);
}
.auth-form-header-reset {
    background: linear-gradient(135deg, #1b5e20, #2e7d32);
}

/* Register Page */
.auth-register-layout {
    max-width: 980px;
    grid-template-columns: 320px 1fr;
}
.auth-form-header-register {
    background: linear-gradient(135deg, #1b5e20, #2e7d32);
}
.auth-register-form .auth-input-group {
    padding: 0 30px;
    margin-top: 18px;
}
.auth-register-form .auth-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 20px;
    padding: 0 30px;
    margin-top: 18px;
}
.auth-register-form .auth-form-row .auth-input-group {
    padding: 0;
    margin-top: 0;
}
.auth-register-form > .auth-input-group:first-of-type,
.auth-register-form > .auth-form-row:first-of-type {
    margin-top: 24px;
}
.auth-form-row .auth-input-group { margin-bottom: 0; }
.auth-file-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-light);
    border: 2px dashed #c5cae9;
    border-radius: 10px;
    padding: 14px 16px;
    position: relative;
    transition: border-color .25s, background .25s;
}
.auth-file-wrap:hover,
.auth-file-wrap:focus-within {
    border-color: var(--primary);
    background: #fff;
}
.auth-file-wrap > i {
    color: var(--primary);
    font-size: 18px;
    opacity: .75;
    flex-shrink: 0;
}
.auth-file-wrap input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}
.auth-file-label {
    font-size: 13px;
    color: var(--text-light);
    pointer-events: none;
}
.auth-field-hint {
    font-size: 12px;
    color: var(--text-light);
    margin: 8px 0 0;
    display: flex;
    align-items: center;
    gap: 6px;
}
.auth-field-hint i { color: var(--primary); font-size: 11px; }
.auth-register-steps {
    background: #fff;
    border: 1px solid #e8eaf6;
    border-radius: var(--radius);
    padding: 18px 20px;
    box-shadow: var(--shadow);
}
.auth-register-steps h4 {
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.auth-register-steps h4 i { color: var(--accent); }
.auth-register-steps ol {
    margin: 0;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.auth-register-steps li {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.45;
}

@media (max-width: 768px) {
    .auth-login-layout { grid-template-columns: 1fr; }
    .auth-register-layout { grid-template-columns: 1fr; }
    .auth-register-form .auth-form-row { grid-template-columns: 1fr; padding: 0 20px; gap: 0; }
    .auth-register-form .auth-form-row .auth-input-group { margin-top: 18px; }
    .auth-register-form .auth-form-row .auth-input-group:first-child { margin-top: 0; }
    .auth-login-hero h1 { font-size: 26px; }
    .auth-login-form .auth-input-group,
    .auth-register-form .auth-input-group,
    .auth-login-btn,
    .auth-login-divider,
    .auth-login-register { padding-left: 20px; padding-right: 20px; }
    .auth-login-btn { width: calc(100% - 40px); margin-left: 20px; margin-right: 20px; }
}

/* Certificate Verify Page */
.verify-hero { overflow: hidden; position: relative; text-align: center; }
.verify-hero-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 720px;
    margin: 0 auto;
    padding: 10px 0;
}
.verify-hero h1 { font-size: 36px; margin-bottom: 12px; }
.verify-hero h1 i { color: var(--accent); margin-right: 10px; }
.verify-hero p { font-size: 17px; opacity: .9; max-width: 560px; margin: 0 auto 20px; }
.verify-badges { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.verify-badges span {
    background: rgba(255,255,255,.12);
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 13px;
    border: 1px solid rgba(255,255,255,.15);
}
.verify-badges span i { color: var(--accent); margin-right: 6px; }
.verify-hero-icon {
    font-size: 52px;
    color: var(--accent);
    margin-bottom: 16px;
    opacity: .9;
}

.verify-section { background: linear-gradient(180deg, var(--bg-light) 0%, var(--white) 100%); }

.verify-search-card {
    max-width: 640px;
    margin: 0 auto 40px;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    border: 1px solid rgba(21,101,192,.08);
}

.verify-search-header {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: #fff;
    padding: 28px 30px;
    text-align: center;
}

.verify-search-header i {
    font-size: 32px;
    color: var(--accent);
    margin-bottom: 12px;
    display: block;
}

.verify-search-header h2 { font-size: 22px; margin-bottom: 6px; }
.verify-search-header p { opacity: .85; font-size: 14px; margin: 0; }

.verify-search-form { padding: 28px 30px; }

.verify-input-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-light);
    border: 2px solid #e0e0e0;
    border-radius: var(--radius-sm);
    padding: 4px 16px;
    margin-bottom: 16px;
    transition: border-color .2s, box-shadow .2s;
}

.verify-input-wrap:focus-within {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(21,101,192,.1);
    background: #fff;
}

.verify-input-wrap i { color: var(--primary); font-size: 18px; }

.verify-input-wrap input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 14px 0;
    font-size: 16px;
    font-family: inherit;
    outline: none;
}

.verify-submit-btn {
    width: 100%;
    padding: 16px;
    font-size: 16px;
    box-shadow: 0 4px 20px rgba(21,101,192,.25);
}

.verify-hint {
    padding: 0 30px 22px;
    font-size: 13px;
    color: var(--text-light);
    text-align: center;
}

.verify-hint i { color: var(--primary); margin-right: 6px; }
.verify-hint code { background: var(--bg-light); padding: 2px 8px; border-radius: 4px; font-size: 12px; }

.cert-verify-result { max-width: 800px; margin: 0 auto 40px; }

.result-banner {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
    border-radius: var(--radius-sm);
    margin-bottom: 24px;
}

.success-banner { background: #e8f5e9; border: 1px solid #a5d6a7; }
.error-banner { background: #ffebee; border: 1px solid #ef9a9a; }

.banner-icon { font-size: 40px; flex-shrink: 0; }
.success-banner .banner-icon { color: #2e7d32; }
.error-banner .banner-icon { color: #c62828; }

.result-banner h3 { font-size: 18px; margin-bottom: 4px; color: var(--primary-dark); }
.result-banner p { font-size: 14px; color: var(--text-light); margin: 0; }

.cert-display-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: 0 8px 40px rgba(21,101,192,.12);
    overflow: hidden;
    border: 3px double var(--accent);
}

.cert-display-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 24px 30px;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: #fff;
}

.cert-seal {
    width: 56px; height: 56px;
    background: var(--accent);
    color: var(--primary-dark);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.cert-org { font-size: 12px; text-transform: uppercase; letter-spacing: 1px; opacity: .85; display: block; }
.cert-display-header h2 { font-size: 20px; margin: 4px 0 0; }

.cert-display-body { padding: 30px; text-align: center; }

.cert-candidate-block { margin-bottom: 28px; }

.cert-label { display: block; font-size: 13px; color: var(--text-light); margin-bottom: 6px; }

.cert-candidate-name {
    font-size: 28px;
    font-weight: 700;
    color: var(--accent);
    font-style: italic;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--accent);
    display: inline-block;
}

.cert-program-name {
    font-size: 18px;
    font-weight: 600;
    color: var(--primary);
    margin-top: 8px;
}

.cert-meta-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid var(--bg-light);
}

.cert-meta-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-align: left;
    background: var(--bg-light);
    padding: 14px 16px;
    border-radius: var(--radius-sm);
}

.cert-meta-item > i {
    color: var(--primary);
    margin-top: 4px;
    font-size: 16px;
}

.cert-meta-item span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .4px; color: var(--text-light); margin-bottom: 4px; }
.cert-meta-item strong { font-size: 14px; color: var(--primary-dark); }

.cert-display-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px 30px;
    background: #fafbfc;
    border-top: 1px solid var(--bg-light);
}

.cert-id-block span { display: block; font-size: 11px; text-transform: uppercase; color: var(--text-light); margin-bottom: 4px; }
.cert-id-block strong { font-size: 16px; color: var(--primary-dark); font-family: monospace; letter-spacing: .5px; }
.cert-id-block .status-badge { margin-top: 8px; display: inline-flex; align-items: center; gap: 6px; }

.cert-qr-block { text-align: center; }
.cert-qr-block img { width: 90px; height: 90px; border: 1px solid var(--border); border-radius: 6px; padding: 4px; background: #fff; }
.cert-qr-block span { display: block; font-size: 11px; color: var(--text-light); margin-top: 6px; }

.verify-steps {
    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.verify-steps h3 { font-size: 18px; color: var(--primary); margin-bottom: 20px; text-align: center; }
.verify-steps h3 i { margin-right: 8px; color: var(--accent); }

.verify-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.verify-step {
    text-align: center;
    padding: 20px 16px;
    background: var(--bg-light);
    border-radius: var(--radius-sm);
}

.step-icon {
    display: inline-flex;
    width: 36px; height: 36px;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    color: #fff;
    border-radius: 50%;
    align-items: center; justify-content: center;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 12px;
}

.verify-step strong { display: block; font-size: 14px; color: var(--primary-dark); margin-bottom: 6px; }
.verify-step p { font-size: 12px; color: var(--text-light); margin: 0; line-height: 1.5; }

/* Legacy verify (keep for compatibility) */
.verify-form-box{max-width:500px;margin:0 auto 40px}
.verify-form{display:flex;gap:10px}
.verify-form input{flex:1}
.cert-result{padding:30px;border-radius:var(--radius);margin-top:20px}
.cert-result.valid{background:#e8f5e9;border:2px solid #4caf50}
.cert-result.invalid{background:#ffebee;border:2px solid #f44336;text-align:center;padding:40px;font-size:18px}
.cert-result-header{font-size:20px;font-weight:700;color:#2e7d32;margin-bottom:20px}
.cert-details-grid{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:start}
.cert-qr{text-align:center}
.cert-info table{width:100%;border-collapse:collapse}
.cert-info th{text-align:left;padding:8px 15px 8px 0;color:var(--text-light);width:180px}
.cert-info td{padding:8px 0;font-weight:500}

/* Course Detail */
.course-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:30px}
.course-detail-image img{border-radius:var(--radius);box-shadow:var(--shadow)}
.info-item{margin-bottom:15px}
.syllabus-section,.provides-section{margin:25px 0;padding:25px;background:var(--bg-light);border-radius:var(--radius)}
.syllabus-section h3,.provides-section h3{color:var(--primary);margin-bottom:15px}

/* Alumni */
/* Alumni Page */
.alumni-hero { position: relative; overflow: hidden; }
.alumni-hero::after {
    content: '';
    position: absolute;
    bottom: -40px; right: -40px;
    width: 200px; height: 200px;
    background: rgba(3,169,244,.15);
    border-radius: 50%;
}
.alumni-hero-content { position: relative; z-index: 1; }
.alumni-hero h1 i { color: var(--accent); margin-right: 10px; }
.alumni-hero-stats {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 28px;
    position: relative;
    z-index: 1;
}
.alumni-stat {
    background: rgba(255,255,255,.12);
    backdrop-filter: blur(6px);
    padding: 16px 28px;
    border-radius: var(--radius-sm);
    text-align: center;
    border: 1px solid rgba(255,255,255,.15);
    min-width: 110px;
}
.alumni-stat .num { display: block; font-size: 28px; font-weight: 700; color: var(--accent); }
.alumni-stat .lbl { font-size: 12px; opacity: .85; text-transform: uppercase; letter-spacing: .5px; }

.alumni-section { background: linear-gradient(180deg, var(--bg-light) 0%, var(--white) 100%); }
.alumni-intro { text-align: center; margin-bottom: 40px; }
.alumni-intro h2 { font-size: 32px; color: var(--primary); margin-bottom: 8px; }
.alumni-intro p { color: var(--text-light); font-size: 16px; }

.alumni-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
}

.alumni-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    border: 1px solid rgba(21,101,192,.06);
    transition: transform .3s, box-shadow .3s;
    display: flex;
    flex-direction: column;
}

.alumni-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(21,101,192,.15);
}

.alumni-card-top {
    display: flex;
    gap: 16px;
    padding: 24px 24px 16px;
    background: linear-gradient(135deg, #f8f9ff 0%, #fff 100%);
    border-bottom: 1px solid var(--bg-light);
}

.alumni-photo-wrap { position: relative; flex-shrink: 0; }

.alumni-photo-wrap img,
.alumni-photo-fallback {
    width: 80px; height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--accent);
    box-shadow: 0 4px 15px rgba(3,169,244,.3);
}

.alumni-photo-fallback {
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; font-weight: 700;
}

.alumni-badge {
    position: absolute;
    bottom: 0; right: -4px;
    width: 28px; height: 28px;
    background: var(--accent);
    color: var(--primary-dark);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 12px;
    border: 2px solid #fff;
}

.alumni-meta { flex: 1; min-width: 0; padding-top: 8px; }
.alumni-meta h3 { font-size: 18px; color: var(--primary-dark); margin-bottom: 6px; line-height: 1.3; }
.alumni-qual { font-size: 12px; color: var(--text-light); margin-bottom: 8px; }
.alumni-qual i { color: var(--primary); margin-right: 4px; }

.program-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.program-tag.training { background: #e8eaf6; color: var(--primary); }
.program-tag.internship { background: #fff3e0; color: #e65100; }
.program-tag.webinar { background: #e8f5e9; color: #2e7d32; }

.alumni-course {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 24px;
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    background: var(--white);
}

.alumni-course i { margin-top: 3px; color: var(--accent); }

.alumni-cert-info {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    padding: 0 24px 16px;
    font-size: 12px;
    color: var(--text-light);
}

.alumni-cert-info span { display: inline-flex; align-items: center; gap: 6px; }
.alumni-cert-info i { color: var(--primary); opacity: .7; }

.alumni-reviews { padding: 0 24px 16px; }

.review-block {
    background: var(--bg-light);
    padding: 14px 16px;
    border-radius: var(--radius-sm);
    margin-bottom: 10px;
    border-left: 3px solid var(--primary);
}

.review-block.teacher { border-left-color: var(--accent); }

.review-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--primary);
    margin-bottom: 6px;
}

.review-block.teacher .review-label { color: #b8860b; }
.review-label i { margin-right: 6px; opacity: .7; }

.review-block p {
    font-size: 13px;
    color: var(--text);
    line-height: 1.6;
    font-style: italic;
    margin: 0;
}

.alumni-card-footer {
    margin-top: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 24px;
    background: #fafbfc;
    border-top: 1px solid var(--bg-light);
}

.alumni-card-footer .verified {
    font-size: 12px;
    color: var(--success);
    font-weight: 600;
}

.alumni-card-footer .verified i { margin-right: 4px; }

.verify-link {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary);
    text-decoration: none;
    transition: color .2s;
}

.verify-link:hover { color: var(--accent); }

.alumni-empty {
    text-align: center;
    padding: 70px 30px;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    max-width: 520px;
    margin: 0 auto;
}

.alumni-empty-icon {
    width: 90px; height: 90px;
    margin: 0 auto 22px;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.15));
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 36px;
    color: var(--primary);
}

.alumni-empty h3 { color: var(--primary-dark); margin-bottom: 10px; font-size: 22px; }
.alumni-empty p { color: var(--text-light); margin-bottom: 24px; line-height: 1.6; }

.alumni-cta-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    padding: 40px;
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
}

.alumni-cta-inner h2 { font-size: 24px; color: var(--primary); margin-bottom: 6px; }
.alumni-cta-inner p { color: var(--text-light); margin: 0; }

@media (max-width: 768px) {
    .alumni-grid { grid-template-columns: 1fr; }
    .alumni-cta-inner { flex-direction: column; text-align: center; padding: 30px 20px; }
    .alumni-hero-stats { gap: 12px; }
    .alumni-stat { padding: 12px 20px; min-width: 90px; }
}

/* Apply Certificate Page */
.cert-apply-hero {
    overflow: hidden;
    position: relative;
    text-align: center;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 55%, #1565c0 100%);
    padding: 52px 0 48px;
}
.cert-apply-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 85%, rgba(3,169,244,.16) 0%, transparent 45%),
        radial-gradient(circle at 85% 15%, rgba(255,255,255,.07) 0%, transparent 40%);
    pointer-events: none;
}
.cert-apply-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 680px;
    margin: 0 auto 30px;
}
.cert-apply-hero-icon {
    font-size: 52px;
    color: var(--accent);
    margin-bottom: 14px;
}
.cert-apply-hero h1 { font-size: 38px; margin-bottom: 12px; color: var(--white); }
.cert-apply-hero h1 > i { color: var(--accent); margin-right: 10px; font-size: 32px; }
.cert-apply-hero p {
    font-size: 17px;
    opacity: .92;
    line-height: 1.65;
    max-width: 560px;
    margin: 0 auto 20px;
    color: var(--white);
}
.cert-apply-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.cert-apply-hero-badges span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    color: var(--white);
}
.cert-apply-hero-badges span i { color: var(--accent); margin-right: 6px; }
.cert-apply-hero-stats {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.15);
}
.cert-apply-stat {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 12px;
    padding: 14px 24px;
    min-width: 120px;
    backdrop-filter: blur(4px);
}
.cert-apply-stat.highlight { border-color: rgba(3,169,244,.4); background: rgba(3,169,244,.14); }
.cert-apply-stat.success { border-color: rgba(46,125,50,.4); background: rgba(46,125,50,.15); }
.cert-apply-stat .num {
    display: block;
    font-size: 26px;
    font-weight: 700;
    color: var(--accent);
    line-height: 1.2;
}
.cert-apply-stat.success .num { color: #a5d6a7; }
.cert-apply-stat .lbl {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .5px;
    opacity: .88;
    color: var(--white);
}
.cert-apply-section {
    background: linear-gradient(180deg, #eef1f8 0%, var(--white) 120px);
    padding-bottom: 48px;
}
.cert-apply-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-bottom: 36px;
}
.cert-apply-benefit {
    background: var(--white);
    padding: 22px 18px;
    border-radius: 14px;
    box-shadow: var(--shadow);
    text-align: center;
    border-top: 3px solid var(--accent);
    transition: transform .3s, box-shadow .3s;
}
.cert-apply-benefit:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 35px rgba(21,101,192,.12);
}
.cert-apply-benefit-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.12));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--primary);
}
.cert-apply-benefit h4 {
    font-size: 15px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.cert-apply-benefit p {
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.55;
    margin: 0;
}
.cert-apply-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 28px;
    align-items: start;
}
.cert-apply-sidebar {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 90px;
}
.student-profile-card {
    background: linear-gradient(145deg, var(--primary-dark), var(--primary));
    color: var(--white);
    padding: 28px 24px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 16px 45px rgba(0,64,128,.22);
}
.profile-avatar-ring {
    display: inline-block;
    padding: 4px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), #fff, var(--accent));
    margin-bottom: 14px;
}
.profile-avatar {
    width: 88px;
    height: 88px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--primary-dark);
}
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.profile-avatar span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    font-size: 32px;
    font-weight: 700;
}
.student-profile-card h3 { font-size: 18px; margin-bottom: 10px; }
.student-profile-card p { font-size: 13px; opacity: .9; margin-bottom: 6px; }
.student-profile-card p i { margin-right: 6px; color: var(--accent); }
.cert-process-card {
    background: var(--white);
    padding: 22px;
    border-radius: 16px;
    box-shadow: var(--shadow);
    border: 1px solid #eef0f5;
}
.cert-process-card h4 {
    font-size: 15px;
    color: var(--primary-dark);
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--bg-light);
}
.cert-process-card h4 i { margin-right: 8px; color: var(--accent); }
.process-steps { list-style: none; margin: 0; padding: 0; }
.process-steps li {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px dashed #e8ecf5;
}
.process-steps li:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.step-num {
    width: 32px;
    height: 32px;
    background: linear-gradient(135deg, var(--primary), #1565c0);
    color: var(--white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}
.process-steps li div strong { display: block; font-size: 13px; color: var(--primary-dark); margin-bottom: 2px; }
.process-steps li div small { font-size: 12px; color: var(--text-light); line-height: 1.45; }
.cert-apply-sidebar-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 8px;
}
.cert-apply-sidebar-links .btn i { margin-right: 6px; }
.cert-apply-main { display: flex; flex-direction: column; gap: 24px; }
.cert-apps-panel {
    background: var(--white);
    border-radius: 18px;
    box-shadow: var(--shadow);
    border: 1px solid #eef0f5;
    overflow: hidden;
}
.cert-apps-panel-head {
    padding: 22px 26px;
    border-bottom: 1px solid #eef0f5;
    background: linear-gradient(180deg, #fafbfd, var(--white));
}
.cert-apps-panel-head h3 { font-size: 20px; color: var(--primary-dark); margin-bottom: 4px; }
.cert-apps-panel-head h3 i { color: var(--accent); margin-right: 8px; }
.cert-apps-panel-head p { font-size: 13px; color: var(--text-light); margin: 0; }
.cert-apps-list { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 12px; }
.cert-app-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    background: var(--bg-light);
    border-radius: 12px;
    border-left: 4px solid var(--primary);
}
.cert-app-item.status-approved { border-left-color: var(--success); background: rgba(46,125,50,.06); }
.cert-app-item.status-pending { border-left-color: var(--warning); background: rgba(230,81,0,.05); }
.cert-app-item.status-rejected { border-left-color: var(--danger); background: rgba(198,40,40,.05); }
.cert-app-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(21,101,192,.08);
}
.cert-app-info { flex: 1; min-width: 0; }
.cert-app-info strong { display: block; font-size: 15px; color: var(--primary-dark); margin-bottom: 6px; }
.cert-app-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    font-size: 12px;
    color: var(--text-light);
    margin-bottom: 4px;
}
.cert-app-meta i { color: var(--primary); opacity: .65; margin-right: 4px; }
.cert-app-remarks {
    font-size: 12px;
    color: var(--text);
    background: var(--white);
    padding: 8px 10px;
    border-radius: 8px;
    margin: 8px 0 0;
    line-height: 1.5;
}
.cert-app-remarks i { color: var(--accent); margin-right: 5px; }
.cert-app-remarks.pending { color: var(--text-light); font-style: italic; }
.cert-app-item .status-badge { flex-shrink: 0; margin-top: 4px; }
.cert-form-panel {
    background: var(--white);
    border-radius: 18px;
    box-shadow: 0 16px 50px rgba(21,101,192,.1);
    overflow: hidden;
    border: 1px solid #e8ecf5;
}
.cert-form-header {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 24px 28px;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: var(--white);
}
.cert-form-header-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    background: rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--accent);
    flex-shrink: 0;
}
.cert-form-header h3 { font-size: 22px; margin-bottom: 4px; }
.cert-form-header p { opacity: .9; font-size: 14px; margin: 0; }
.assigned-programs {
    padding: 20px 28px;
    background: linear-gradient(180deg, #fafbfd, #f5f7ff);
    border-bottom: 1px solid #eef0f5;
}
.assigned-programs h4 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--primary);
    margin-bottom: 14px;
    font-weight: 700;
}
.assigned-programs h4 i { margin-right: 6px; color: var(--accent); }
.program-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.program-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
}
.program-chip.available { background: #e8f5e9; color: #2e7d32; border-color: #a5d6a7; }
.program-chip.applied { background: #e3f2fd; color: #1565c0; border-color: #90caf9; }
.program-chip em { font-style: normal; font-size: 11px; opacity: .85; font-weight: 500; }
.cert-apply-form { padding: 28px; }
.cert-form-section-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--primary);
    margin: 4px 0 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #eef0f5;
}
.cert-form-section-label i { color: var(--accent); margin-right: 6px; }
.cert-apply-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 7px;
}
.cert-apply-form select,
.cert-apply-form input[type="date"],
.cert-apply-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #dde2ef;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    transition: border-color .3s, box-shadow .3s;
}
.cert-apply-form select:focus,
.cert-apply-form input:focus,
.cert-apply-form textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(21,101,192,.08);
}
.cert-apply-form textarea { resize: vertical; min-height: 120px; }
.cert-apply-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 8px;
}
.cert-apply-form .form-group { margin-bottom: 18px; }
.field-hint {
    display: block;
    font-size: 11px;
    color: var(--text-light);
    margin-top: 6px;
}
.field-hint i { margin-right: 4px; color: var(--accent); }
.form-notice {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    background: linear-gradient(135deg, rgba(21,101,192,.06), rgba(3,169,244,.08));
    border-radius: 12px;
    border: 1px solid rgba(21,101,192,.1);
    margin-bottom: 22px;
}
.form-notice > i {
    font-size: 22px;
    color: var(--primary);
    margin-top: 2px;
    flex-shrink: 0;
}
.form-notice strong { display: block; font-size: 14px; color: var(--primary-dark); margin-bottom: 4px; }
.form-notice p { font-size: 13px; color: var(--text-light); margin: 0; line-height: 1.55; }
.cert-submit-btn {
    padding: 16px 28px;
    font-size: 16px;
    box-shadow: 0 8px 24px rgba(21,101,192,.25);
}
.cert-submit-btn i { margin-right: 8px; }
.cert-empty-state {
    text-align: center;
    padding: 56px 32px;
    background: var(--white);
    border-radius: 18px;
    box-shadow: var(--shadow);
    border: 1px solid #eef0f5;
}
.cert-empty-state.success-state .cert-empty-icon { background: #e8f5e9; color: var(--success); }
.cert-empty-icon {
    width: 84px;
    height: 84px;
    margin: 0 auto 20px;
    background: rgba(21,101,192,.08);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    color: var(--primary);
}
.cert-empty-state h3 { font-size: 22px; color: var(--primary-dark); margin-bottom: 10px; }
.cert-empty-state p {
    color: var(--text-light);
    margin-bottom: 22px;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.65;
}
.cert-apply-cta {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    padding: 36px 0;
    margin-top: 32px;
}
.cert-apply-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: var(--white);
}
.cert-apply-cta-inner h3 { font-size: 22px; margin-bottom: 6px; }
.cert-apply-cta-inner h3 i { color: var(--accent); margin-right: 10px; }
.cert-apply-cta-inner p { font-size: 14px; opacity: .9; margin: 0; max-width: 520px; }
.cert-apply-cta-inner .btn i { margin-right: 8px; }

@media (max-width: 1100px) {
    .cert-apply-benefits { grid-template-columns: repeat(2, 1fr); }
    .cert-apply-layout { grid-template-columns: 1fr; }
    .cert-apply-sidebar { position: static; }
}
@media (max-width: 768px) {
    .cert-apply-hero h1 { font-size: 28px; }
    .cert-apply-benefits { grid-template-columns: 1fr; }
    .cert-apply-form .form-row { grid-template-columns: 1fr; }
    .cert-app-item { flex-direction: column; }
    .cert-apply-cta-inner { flex-direction: column; text-align: center; }
}

/* Contact Page */
.contact-hero{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 60%,#1565c0 100%)}
.contact-section{padding:60px 0;background:linear-gradient(180deg,var(--bg-light) 0%,var(--white) 100%)}
.contact-info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:50px}
.contact-info-card{background:var(--white);padding:28px 24px;border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);transition:transform .3s,box-shadow .3s;border-top:4px solid var(--accent)}
.contact-info-card:hover{transform:translateY(-6px);box-shadow:0 12px 35px rgba(21,101,192,.15)}
.contact-icon{width:56px;height:56px;margin:0 auto 16px;background:linear-gradient(135deg,var(--primary),#1565c0);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:22px}
.contact-info-card h4{color:var(--primary);font-size:16px;margin-bottom:8px}
.contact-info-card p{font-size:14px;color:var(--text-light);line-height:1.6;margin:0}
.contact-info-card a{color:var(--primary);font-weight:600}
.contact-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}
.contact-form-wrap,.contact-map-wrap{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.contact-form-header,.contact-map-header{padding:25px 30px;background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:var(--white)}
.contact-form-header h2,.contact-map-header h2{font-size:22px;margin-bottom:6px;font-weight:600}
.contact-form-header p,.contact-map-header p{opacity:.85;font-size:14px;margin:0}
.contact-form{padding:30px}
.contact-form label{display:flex;align-items:center;gap:8px}
.contact-form label i{color:var(--primary);width:16px}
.contact-map{height:380px;width:100%;z-index:1}
.contact-map-placeholder{height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-light);color:var(--text-light);padding:30px;text-align:center}
.contact-map-placeholder i{font-size:48px;color:var(--primary);opacity:.4;margin-bottom:15px}
.contact-map-placeholder p{font-size:14px;max-width:280px;line-height:1.6}
.map-actions{padding:15px 20px;background:var(--bg-light);text-align:center;border-top:1px solid #eee}

/* Contact (legacy) */
.contact-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px}
.contact-info h3{color:var(--primary);margin-bottom:20px}
.contact-info p{margin-bottom:12px}

/* Dashboard */
.student-dashboard-page {
    background: linear-gradient(180deg, #eef1f8 0%, #f8f9fc 40%, var(--white) 100%);
}
.dash-hero {
    overflow: hidden;
    position: relative;
    text-align: left;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 48%, #1565c0 100%);
    padding: 48px 0 56px;
}
.dash-hero-premium {
    padding: 56px 0 64px;
}
.dash-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}
.dash-hero-glow-1 {
    width: 340px;
    height: 340px;
    top: -90px;
    right: -50px;
    background: rgba(3,169,244,.24);
}
.dash-hero-glow-2 {
    width: 300px;
    height: 300px;
    bottom: -110px;
    left: -70px;
    background: rgba(63,81,181,.38);
}
.dash-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: .04;
    background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
}
.dash-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 90%, rgba(3,169,244,.18) 0%, transparent 40%),
        radial-gradient(circle at 90% 10%, rgba(255,255,255,.08) 0%, transparent 35%);
    pointer-events: none;
}
.dash-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 36px;
    align-items: center;
}
.dash-hero-left {
    display: flex;
    align-items: center;
    gap: 28px;
    min-width: 0;
}
.dash-hero-text {
    min-width: 0;
    flex: 1;
}
.dash-avatar-ring {
    flex-shrink: 0;
    padding: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), #fff, var(--accent));
    box-shadow: 0 12px 40px rgba(0,0,0,.25);
}
.dash-avatar-ring-premium {
    padding: 6px;
    box-shadow: 0 16px 48px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.12);
}
.dash-avatar-wrap { position: relative; }
.dash-avatar-status {
    position: absolute;
    bottom: 6px;
    right: 6px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--primary-dark);
    border: 2px solid var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 8px;
    color: #4caf50;
}
.dash-avatar,
.dash-avatar-fallback {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--primary-dark);
    display: block;
}
.dash-avatar-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    font-size: 38px;
    font-weight: 700;
}
.dash-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--accent);
    margin-bottom: 10px;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
}
.dash-hero-text h1 {
    font-size: 36px;
    line-height: 1.15;
    color: var(--white);
    margin-bottom: 10px;
    text-shadow: 0 2px 24px rgba(0,0,0,.15);
}
.dash-qual-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.2);
    border: 1px solid rgba(3,169,244,.35);
    color: #f5e6a8;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 14px;
    margin-bottom: 14px;
}
.dash-hero-sub {
    font-size: 15px;
    opacity: .9;
    margin-bottom: 14px;
    max-width: 480px;
}
.dash-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.dash-hero-badges span {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 12px;
    color: rgba(255,255,255,.92);
}
.dash-hero-badges span i { color: var(--accent); margin-right: 5px; }
.dash-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    width: 100%;
    max-width: 100%;
}
.dash-hero-actions .btn {
    flex-shrink: 0;
}
.dash-logout-inline {
    border: 1px solid #7f1010 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #c62828, #8b0000) !important;
    box-shadow: 0 4px 14px rgba(139, 0, 0, 0.28);
}
.dash-logout-inline:hover {
    background: linear-gradient(135deg, #d32f2f, #b71c1c) !important;
    border-color: #5c0000 !important;
    color: #fff !important;
    box-shadow: 0 6px 18px rgba(139, 0, 0, 0.38);
}
.dash-hero-btn-primary {
    background: linear-gradient(135deg, var(--accent), #4fc3f7) !important;
    border: none !important;
    color: var(--primary-dark) !important;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(3,169,244,.35);
}
.dash-hero-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(3,169,244,.45);
    color: var(--primary-dark) !important;
}
.dash-hero-btn-accent {
    background: linear-gradient(135deg, #ff9800, #f57c00) !important;
    border: none !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 8px 24px rgba(245,124,0,.35);
}
.dash-hero-btn-accent:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(245,124,0,.45);
    color: #fff !important;
}
.dash-hero-actions .btn i { margin-right: 6px; }
.dash-hero-stats-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.dash-hero-stats-glass {
    background: rgba(255,255,255,.07);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    padding: 16px;
    box-shadow: 0 20px 50px rgba(0,0,0,.12);
}
.dash-stat-card {
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 16px;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: transform .3s, background .3s, box-shadow .3s;
}
.dash-stat-card:hover {
    transform: translateY(-4px);
    background: rgba(255,255,255,.16);
    box-shadow: 0 12px 28px rgba(0,0,0,.12);
}
.dash-stat-card.pending {
    border-color: rgba(3,169,244,.4);
    background: rgba(3,169,244,.14);
}
.dash-stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.dash-stat-icon.cert { background: rgba(3,169,244,.25); color: var(--accent); }
.dash-stat-icon.course { background: rgba(255,255,255,.15); color: var(--white); }
.dash-stat-icon.intern { background: rgba(21,101,192,.35); color: #90caf9; }
.dash-stat-icon.pending { background: rgba(3,169,244,.3); color: var(--accent); }
.dash-stat-card .num {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--white);
    line-height: 1.1;
}
.dash-stat-card.pending .num { color: var(--accent); }
.dash-stat-card .lbl {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .5px;
    opacity: .82;
    color: rgba(255,255,255,.88);
}
.dash-section-wrap {
    background: transparent;
    padding-top: 40px;
    padding-bottom: 80px;
}
.dash-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.dash-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--accent);
    margin-bottom: 8px;
}
.dash-section-head h2 {
    font-size: 26px;
    color: var(--primary-dark);
    margin: 0 0 6px;
    line-height: 1.2;
}
.dash-section-head p {
    font-size: 14px;
    color: var(--text-light);
    margin: 0;
    max-width: 520px;
}
.dash-shortcuts-section {
    margin-bottom: 36px;
}
.dash-profile-panel {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin-bottom: 0;
    transform: translateY(-12px);
    transition: max-height .55s ease, opacity .4s ease, margin .4s ease, transform .4s ease;
}
.dash-profile-panel.open {
    max-height: 2400px;
    opacity: 1;
    margin-bottom: 32px;
    transform: translateY(0);
}
.dash-profile-card {
    background: var(--white);
    border-radius: 18px;
    box-shadow: 0 16px 50px rgba(21,101,192,.12);
    border: 1px solid #e8ecf5;
    overflow: hidden;
}
.dash-profile-card-premium {
    border-radius: 22px;
    border: 1px solid #e8ecf4;
    box-shadow: 0 20px 60px rgba(0,64,128,.1);
    position: relative;
}
.dash-profile-card-premium::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-dark), var(--primary), var(--accent));
}
.dash-profile-card-head {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 28px 32px 24px;
    background: linear-gradient(135deg, rgba(21,101,192,.04) 0%, rgba(3,169,244,.06) 100%);
    border-bottom: 1px solid #eef0f5;
    position: relative;
}
.dash-profile-head-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary), #1565c0);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 10px 28px rgba(21,101,192,.25);
}
.dash-profile-head-text {
    flex: 1;
    min-width: 0;
}
.dash-profile-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
    color: var(--accent);
    margin-bottom: 6px;
}
.dash-profile-kicker i { font-size: 10px; }
.dash-profile-card-head h2 {
    font-size: 24px;
    color: var(--primary-dark);
    margin-bottom: 6px;
    line-height: 1.2;
}
.dash-profile-card-head p {
    font-size: 14px;
    color: var(--text-light);
    margin: 0;
    line-height: 1.6;
    max-width: 560px;
}
.dash-profile-close {
    width: 40px;
    height: 40px;
    border: 1px solid #e8ecf4;
    border-radius: 12px;
    background: var(--white);
    color: var(--text-light);
    cursor: pointer;
    font-size: 16px;
    transition: .3s;
    flex-shrink: 0;
    margin-left: auto;
}
.dash-profile-close:hover {
    background: #ffebee;
    border-color: #ffcdd2;
    color: var(--danger);
    transform: rotate(90deg);
}
.dash-profile-form {
    padding: 28px 32px 32px;
    background: linear-gradient(180deg, #fafbfd 0%, var(--white) 120px);
}
.dash-profile-form-grid {
    display: grid;
    grid-template-columns: 270px 1fr;
    gap: 36px;
    align-items: start;
}
.dash-photo-card {
    background: linear-gradient(180deg, #ffffff 0%, #f3f7ff 100%);
    border: 1px solid #c9d7f2;
    border-radius: 22px;
    padding: 32px 24px 26px;
    text-align: center;
    box-shadow: 0 16px 40px rgba(21,101,192,.1);
}
.dash-photo-ring {
    position: relative;
    display: inline-block;
    padding: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), var(--primary), #1565c0);
    margin-bottom: 22px;
    box-shadow: 0 16px 38px rgba(21,101,192,.24);
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease;
}
.dash-photo-ring:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 20px 44px rgba(21,101,192,.3);
}
.dash-photo-preview {
    position: relative;
    margin-bottom: 0;
    border-radius: 50%;
    overflow: hidden;
}
.dash-photo-preview img,
.dash-photo-preview-fallback {
    width: 136px;
    height: 136px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto;
    border: 4px solid var(--white);
    display: block;
    box-shadow: none;
    transition: transform .25s ease;
}
.dash-photo-ring:hover .dash-photo-preview img,
.dash-photo-ring:hover .dash-photo-preview-fallback {
    transform: scale(1.04);
}
.dash-photo-overlay {
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(13, 27, 62, .72);
    color: var(--white);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
    opacity: 0;
    transition: opacity .25s ease;
    pointer-events: none;
}
.dash-photo-overlay i {
    font-size: 22px;
    color: var(--accent);
}
.dash-photo-ring:hover .dash-photo-overlay {
    opacity: 1;
}
.dash-photo-preview-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), #1565c0);
    color: var(--white);
    font-size: 44px;
    font-weight: 700;
}
.dash-photo-badge {
    position: absolute;
    right: 2px;
    bottom: 2px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ffe082 0%, var(--accent) 55%, #d4a017 100%);
    color: #1565c0;
    border: 3px solid var(--white);
    box-shadow: 0 10px 22px rgba(3,169,244,.5);
    font-size: 16px;
    pointer-events: none;
    animation: dashPhotoBadgePulse 2.4s ease-in-out infinite;
}
@keyframes dashPhotoBadgePulse {
    0%, 100% { transform: scale(1); box-shadow: 0 10px 22px rgba(3,169,244,.5); }
    50% { transform: scale(1.08); box-shadow: 0 12px 26px rgba(3,169,244,.65); }
}
.dash-photo-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    width: 100%;
    padding: 16px 20px;
    border-radius: 16px;
    background: linear-gradient(135deg, #1565c0 0%, #1565c0 55%, #1976d2 100%);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .03em;
    cursor: pointer;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
    border: 2px solid rgba(255,255,255,.18);
    box-shadow: 0 12px 28px rgba(21,101,192,.35);
    text-transform: uppercase;
}
.dash-photo-label:hover {
    transform: translateY(-4px) scale(1.02);
    background: linear-gradient(135deg, #1565c0 0%, #1976d2 55%, #42a5f5 100%);
    box-shadow: 0 18px 36px rgba(21,101,192,.45);
}
.dash-photo-label:active {
    transform: translateY(-1px) scale(1);
}
.dash-photo-label-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f6d365 0%, var(--accent) 100%);
    color: #1565c0;
    font-size: 17px;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(3,169,244,.35);
}
.dash-photo-label-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    text-align: left;
}
.dash-photo-label-text {
    line-height: 1.1;
    font-size: 15px;
    color: #ffffff;
}
.dash-photo-label-sub {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(255,255,255,.82);
    line-height: 1.2;
}
.dash-photo-label input { display: none; }
.dash-photo-hint {
    margin: 16px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 12px;
    color: #4f5f7f;
    line-height: 1.5;
    font-weight: 500;
    background: rgba(21,101,192,.05);
    border: 1px dashed rgba(21,101,192,.12);
}
.dash-photo-hint i { color: var(--accent); margin-right: 5px; }
.dash-profile-fields-col {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.dash-profile-section {
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,64,128,.04);
    transition: box-shadow .3s, border-color .3s;
}
.dash-profile-section:hover {
    box-shadow: 0 10px 32px rgba(0,64,128,.07);
    border-color: rgba(21,101,192,.12);
}
.dash-profile-section-muted {
    background: linear-gradient(135deg, #fafbfd 0%, #f5f7fb 100%);
}
.dash-profile-section-security {
    border-color: rgba(3,169,244,.18);
}
.dash-profile-section-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    border-bottom: 1px solid #eef0f5;
    background: linear-gradient(180deg, #fcfdfe 0%, var(--white) 100%);
}
.dash-profile-section-muted .dash-profile-section-head {
    background: linear-gradient(180deg, #f8f9fc 0%, #f5f7fb 100%);
}
.dash-profile-section-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    flex-shrink: 0;
    background: rgba(21,101,192,.1);
    color: var(--primary);
}
.dash-profile-section-icon.muted {
    background: rgba(21,101,192,.1);
    color: #1565c0;
}
.dash-profile-section-icon.security {
    background: rgba(3,169,244,.15);
    color: #a68520;
}
.dash-profile-section-head h3 {
    font-size: 16px;
    color: var(--primary-dark);
    margin: 0 0 2px;
    line-height: 1.3;
}
.dash-profile-section-head > div > p {
    font-size: 12px;
    color: var(--text-light);
    margin: 0;
}
.dash-profile-section-badge {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #1565c0;
    background: #e3f2fd;
    padding: 5px 10px;
    border-radius: 999px;
    flex-shrink: 0;
}
.dash-profile-section-body {
    padding: 20px 22px 22px;
}
.dash-profile-form .form-group,
.dash-profile-form .dash-field { margin-bottom: 16px; }
.dash-profile-form .form-group:last-child,
.dash-profile-form .dash-field:last-child { margin-bottom: 0; }
.dash-profile-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.dash-profile-form label i { color: var(--accent); margin-right: 6px; }
.dash-profile-form input[type="text"],
.dash-profile-form input[type="email"],
.dash-profile-form input[type="tel"],
.dash-profile-form input[type="password"] {
    width: 100%;
    padding: 13px 16px;
    border: 1px solid #dde2ef;
    border-radius: 12px;
    font-size: 14px;
    background: var(--white);
    transition: border-color .3s, box-shadow .3s, background .3s;
}
.dash-profile-section-muted input[type="text"],
.dash-profile-section-muted input[type="email"],
.dash-profile-section-muted input[type="tel"] {
    background: rgba(255,255,255,.7);
}
.dash-profile-form input::placeholder {
    color: #b0b8c9;
}
.dash-profile-form input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 4px rgba(21,101,192,.08);
    background: var(--white);
}
.dash-profile-form input:disabled {
    background: #f0f2f7;
    color: var(--text-light);
    cursor: not-allowed;
    border-style: dashed;
}
.dash-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}
.dash-password-note {
    margin: 14px 0 0;
    padding: 10px 14px;
    font-size: 12px;
    color: #6d4c00;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 10px;
    line-height: 1.5;
}
.dash-password-note i { color: #f9a825; margin-right: 6px; }
.dash-profile-form-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    padding: 20px 22px;
    background: linear-gradient(180deg, #fafbfd 0%, #f5f7fb 100%);
    border: 1px solid #e8ecf4;
    border-radius: 18px;
}
.dash-save-btn {
    padding: 13px 28px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, var(--primary), #1565c0) !important;
    border: none !important;
    box-shadow: 0 10px 28px rgba(21,101,192,.28);
    transition: transform .3s, box-shadow .3s;
}
.dash-save-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(21,101,192,.36);
}
.dash-save-btn i { margin-right: 8px; }
.field-lock {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--text-light);
    background: #eef0f5;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 6px;
}
.field-once {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #1565c0;
    background: #e3f2fd;
    padding: 2px 8px;
    border-radius: 4px;
    margin-left: 6px;
}
.dash-profile-form .form-help-text {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.55;
    padding: 8px 12px;
    background: #e3f2fd;
    border-radius: 8px;
    border: 1px solid #bbdefb;
    color: #1565c0;
}
.dash-profile-form .form-help-text i { margin-right: 5px; }
.dash-phone-alert {
    margin-bottom: 20px;
    padding: 14px 18px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: var(--radius-sm);
    color: #8d6e00;
    font-size: 14px;
}
.dash-phone-alert i { margin-right: 8px; }

.dash-course-payment-alert {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 18px;
    margin-bottom: 20px;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.08));
    border: 1px solid rgba(21,101,192,.14);
    border-radius: 12px;
    color: var(--primary-dark);
    font-size: 14px;
}
.dash-course-payment-alert i { color: var(--accent); }
.dash-course-payment-alert a {
    color: var(--primary);
    font-weight: 700;
    text-decoration: underline;
}

.course-payment-student-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}
.course-payment-student-card { margin: 0; }
.course-payment-student-title {
    margin: 0 0 10px;
    font-size: 18px;
    color: var(--primary-dark);
    line-height: 1.35;
}
.course-payment-student-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 14px;
    font-size: 12px;
    color: var(--text-muted);
}
.course-payment-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
}
.course-payment-type-badge.type-onetime { background: #e8f5e9; color: #2e7d32; }
.course-payment-type-badge.type-period { background: #fff8e1; color: #ef6c00; }
.course-payment-student-note {
    margin: 0 0 12px;
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.55;
}
.dash-alert.dash-alert-warn {
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    color: #6d4c00;
    font-size: 13px;
}

/* Course Payments Dashboard */
.cp-payments-page .cp-dash-section {
    padding-top: 40px;
    padding-bottom: 80px;
}
.cp-dash-hero {
    padding: 52px 0 60px;
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 48%, #00695c 100%);
}
.cp-dash-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    z-index: 0;
}
.cp-dash-hero-glow-1 {
    width: 320px;
    height: 320px;
    top: -80px;
    right: -40px;
    background: rgba(3,169,244,.24);
}
.cp-dash-hero-glow-2 {
    width: 280px;
    height: 280px;
    bottom: -90px;
    left: -50px;
    background: rgba(0,105,92,.35);
}
.cp-dash-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: .04;
    background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
    background-size: 28px 28px;
    pointer-events: none;
}
.cp-dash-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: center;
}
.cp-dash-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: var(--accent);
}
.cp-dash-hero-content h1 {
    font-size: 34px;
    margin-bottom: 12px;
    line-height: 1.15;
    color: var(--white);
}
.cp-dash-hero-content h1 > i { color: var(--accent); margin-right: 10px; }
.cp-dash-hero-content > p {
    max-width: 560px;
    font-size: 16px;
    opacity: .9;
    margin-bottom: 18px;
    line-height: 1.65;
    color: rgba(255,255,255,.92);
}
.cp-dash-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.cp-dash-hero-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    font-size: 12px;
    font-weight: 500;
    color: rgba(255,255,255,.92);
}
.cp-dash-hero-badges i { color: var(--accent); }
.cp-dash-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cp-dash-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    gap: 12px;
    min-width: 240px;
}
.cp-dash-stat {
    padding: 16px 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    text-align: center;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.cp-dash-stat .num {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
}
.cp-dash-stat .lbl {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .5px;
    opacity: .82;
    color: rgba(255,255,255,.88);
}
.cp-dash-stat.warn .num { color: #ffb74d; }
.cp-dash-stat.success .num { color: #81c784; }
.cp-dash-stat.gold .num { color: var(--accent); font-size: 18px; }
.cp-dash-alert-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 20px;
    margin-bottom: 28px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(245,124,0,.1), rgba(3,169,244,.08));
    border: 1px solid rgba(245,124,0,.22);
    color: var(--primary-dark);
}
.cp-dash-alert-banner > i {
    font-size: 22px;
    color: #f57c00;
    margin-top: 2px;
}
.cp-dash-alert-banner strong {
    display: block;
    font-size: 15px;
    margin-bottom: 2px;
}
.cp-dash-alert-banner span {
    font-size: 13px;
    color: var(--text-light);
}
.cp-dash-section-head {
    margin-bottom: 24px;
}
.cp-dash-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--accent);
    margin-bottom: 8px;
}
.cp-dash-section-head h2 {
    font-size: 26px;
    color: var(--primary-dark);
    margin: 0 0 6px;
}
.cp-dash-section-head p {
    font-size: 14px;
    color: var(--text-light);
    margin: 0;
}
.cp-payment-grid {
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 28px;
}
.cp-payment-card {
    border-radius: 20px;
    box-shadow: 0 16px 48px rgba(0,64,128,.1);
    transition: transform .3s, box-shadow .3s;
}
.cp-payment-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 56px rgba(0,64,128,.14);
}
.cp-payment-card.is-pending {
    border-color: rgba(21,101,192,.18);
}
.cp-payment-card.is-paid {
    border-color: rgba(46,125,50,.28);
}
.cp-payment-card-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    z-index: 2;
}
.cp-payment-card.is-paid .cp-payment-card-accent {
    background: linear-gradient(90deg, #2e7d32, #66bb6a);
}
.cp-payment-card .intern-payment-card-top {
    padding: 26px 22px 22px;
}
.cp-payment-card .intern-payment-value {
    font-size: 52px;
}
.cp-payment-card .intern-payment-card-body {
    padding: 22px 22px 24px;
}
.cp-payment-note {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 12px 14px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: #e3f2fd;
    border: 1px solid #bbdefb;
    font-size: 13px;
    color: #1565c0;
    line-height: 1.55;
}
.cp-payment-note i { margin-top: 2px; flex-shrink: 0; }
.cp-payment-perks { margin-bottom: 18px; }
.cp-payment-success {
    border-radius: 14px;
    margin-bottom: 14px;
}
.cp-slip-btn {
    border-radius: 14px;
}
.cp-payment-warn {
    border-radius: 12px;
}
.cp-dash-empty {
    text-align: center;
    max-width: 560px;
    margin: 20px auto 0;
    padding: 48px 32px;
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 22px;
    box-shadow: 0 16px 48px rgba(0,64,128,.08);
}
.cp-dash-empty-visual {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 24px;
}
.cp-dash-empty-icon {
    position: relative;
    z-index: 1;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), #00695c);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    box-shadow: 0 16px 40px rgba(21,101,192,.25);
}
.cp-dash-empty-rings {
    position: absolute;
    inset: -12px;
    border-radius: 50%;
    border: 2px dashed rgba(3,169,244,.35);
    animation: cpRingSpin 20s linear infinite;
}
@keyframes cpRingSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.cp-dash-empty h3 {
    font-size: 24px;
    color: var(--primary-dark);
    margin-bottom: 10px;
}
.cp-dash-empty > p {
    color: var(--text-light);
    line-height: 1.65;
    margin-bottom: 24px;
}
.cp-dash-empty-steps {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 28px;
}
.cp-dash-empty-steps div {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    background: var(--bg-light);
    font-size: 13px;
    color: var(--primary-dark);
}
.cp-dash-empty-steps span {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), #1565c0);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .course-payment-student-grid { grid-template-columns: 1fr; }
    .cp-dash-hero-grid { grid-template-columns: 1fr; }
    .cp-dash-hero-content h1 { font-size: 26px; }
    .cp-dash-hero-stats { width: 100%; max-width: none; }
    .cp-payment-grid { grid-template-columns: 1fr; }
    .cp-dash-section-head h2 { font-size: 22px; }
}
.dash-readonly-fields {
    background: #fafbfd;
    border: 1px dashed #dde2ef;
    border-radius: 12px;
    padding: 14px;
    margin-bottom: 16px;
}
.dash-password-section {
    border-top: 1px solid #eef0f5;
    padding-top: 18px;
    margin-bottom: 18px;
}
.dash-password-section h3 { font-size: 15px; color: var(--primary-dark); margin-bottom: 6px; }
.dash-password-section h3 i { color: var(--accent); margin-right: 6px; }
.dash-password-section > p { font-size: 12px; color: var(--text-light); margin-bottom: 14px; }
.dash-password-section .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dash-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
}
.dash-shortcut {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--white);
    padding: 18px 20px;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(21,101,192,.06);
    border: 1px solid #e8ecf4;
    transition: transform .3s, box-shadow .3s, border-color .3s;
    position: relative;
    overflow: hidden;
}
.dash-shortcut::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, var(--primary), var(--accent));
    opacity: 0;
    transition: opacity .3s;
}
.dash-shortcut:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 48px rgba(21,101,192,.14);
    border-color: rgba(21,101,192,.18);
}
.dash-shortcut:hover::before { opacity: 1; }
.dash-shortcut.is-highlight {
    border-color: rgba(245,124,0,.35);
    background: linear-gradient(135deg, #fff 0%, #fff8f0 100%);
    box-shadow: 0 8px 30px rgba(245,124,0,.12);
}
.dash-shortcut-arrow {
    margin-left: auto;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: var(--text-light);
    flex-shrink: 0;
    transition: background .3s, color .3s, transform .3s;
}
.dash-shortcut:hover .dash-shortcut-arrow {
    background: var(--primary);
    color: var(--white);
    transform: translateX(3px);
}
.dash-shortcut-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--white);
    flex-shrink: 0;
}
.dash-shortcut-icon.s1 { background: linear-gradient(135deg, var(--primary), #1565c0); }
.dash-shortcut-icon.s2 { background: linear-gradient(135deg, #1565c0, #0d47a1); }
.dash-shortcut-icon.s3 { background: linear-gradient(135deg, var(--accent), #a68520); color: var(--primary-dark); }
.dash-shortcut-icon.s4 { background: linear-gradient(135deg, #2e7d32, #1b5e20); }
.dash-shortcut-icon.s5 { background: linear-gradient(135deg, #00695c, #004d40); }
.dash-shortcut-icon.s6 { background: linear-gradient(135deg, #7b1fa2, #4a148c); }
.dash-shortcut-icon.s7 { background: linear-gradient(135deg, #e65100, #bf360c); }
.dash-shortcut-icon.s8 { background: linear-gradient(135deg, #0277bd, #01579b); }
.dash-shortcut-text strong {
    display: block;
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 2px;
}
.dash-shortcut-text small { font-size: 12px; color: var(--text-light); }
.dash-hub-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 24px;
    align-items: start;
}
.dash-panel {
    background: var(--white);
    border-radius: 20px;
    box-shadow: 0 12px 40px rgba(0,64,128,.06);
    border: 1px solid #e8ecf4;
    overflow: hidden;
    margin-bottom: 24px;
    transition: box-shadow .3s, transform .3s;
}
.dash-panel:hover {
    box-shadow: 0 18px 50px rgba(0,64,128,.1);
}
.dash-panel-head {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    border-bottom: 1px solid #eef0f5;
    background: linear-gradient(180deg, #fafbfd 0%, var(--white) 100%);
    position: relative;
}
.dash-panel-head::after {
    content: '';
    position: absolute;
    top: 0;
    left: 24px;
    right: 24px;
    height: 3px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    opacity: .85;
}
.dash-panel-head.compact { padding: 18px 20px; }
.dash-panel-head-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    flex-shrink: 0;
}
.dash-panel-head-icon.course { background: rgba(21,101,192,.1); color: var(--primary); }
.dash-panel-head-icon.cert { background: rgba(3,169,244,.15); color: #a68520; }
.dash-panel-head-icon.intern { background: rgba(21,101,192,.12); color: #1565c0; }
.dash-panel-head-icon.pay { background: rgba(0,105,92,.12); color: #00695c; }
.dash-panel-head .dash-panel-link { margin-left: auto; flex-shrink: 0; }
.dash-panel-head h2 { font-size: 20px; color: var(--primary-dark); margin-bottom: 3px; }
.dash-panel-head p { font-size: 13px; color: var(--text-light); margin: 0; }
.dash-panel-body { padding: 20px 24px 24px; }
.dash-items { display: flex; flex-direction: column; gap: 12px; }
.dash-item-card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 18px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f8f9fc 0%, var(--bg-light) 100%);
    border: 1px solid #e8ecf5;
    transition: transform .25s, box-shadow .25s, border-color .25s, background .25s;
}
.dash-item-card:hover {
    transform: translateX(6px);
    box-shadow: 0 8px 24px rgba(21,101,192,.08);
    border-color: rgba(21,101,192,.12);
    background: var(--white);
}
.dash-item-card.gold {
    background: linear-gradient(135deg, rgba(3,169,244,.08), rgba(3,169,244,.03));
    border-color: rgba(3,169,244,.2);
}
.dash-item-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.dash-item-icon.course { background: var(--white); color: var(--primary); box-shadow: 0 2px 8px rgba(21,101,192,.08); }
.dash-item-icon.cert { background: var(--white); color: var(--accent); box-shadow: 0 2px 8px rgba(3,169,244,.15); }
.dash-item-icon.pay { background: var(--white); color: #00695c; box-shadow: 0 2px 8px rgba(0,105,92,.12); }
.dash-payment-type {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 8px;
    font-size: 12px;
    color: var(--text-light);
}
.dash-payment-type i { color: var(--primary); opacity: .65; margin-right: 4px; }
.dash-payment-list { margin-bottom: 0; }
.dash-back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.85);
    font-size: 13px;
    margin-bottom: 12px;
    transition: color .25s;
}
.dash-back-link:hover { color: var(--accent); }
.dash-hero.compact { padding: 42px 0; }
.dash-hero.compact h1 { font-size: 30px; margin-bottom: 8px; }
.dash-hero.compact h1 i { color: var(--accent); margin-right: 10px; }
.dash-hero.compact p { opacity: .88; margin: 0; }
.dash-item-content { flex: 1; min-width: 0; }
.dash-item-content h4 {
    font-size: 15px;
    color: var(--primary-dark);
    margin-bottom: 6px;
    line-height: 1.35;
}
.dash-item-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
    font-size: 12px;
    color: var(--text-light);
}
.dash-item-meta i { color: var(--primary); opacity: .65; margin-right: 4px; }
.dash-item-card .btn { flex-shrink: 0; white-space: nowrap; }
.dash-item-card .btn i { margin-right: 5px; }
.dash-empty-state {
    text-align: center;
    padding: 36px 20px;
}
.dash-empty-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: var(--primary);
    opacity: .5;
}
.dash-empty-state h4 { font-size: 17px; color: var(--primary-dark); margin-bottom: 8px; }
.dash-empty-state p { font-size: 14px; color: var(--text-light); margin-bottom: 16px; line-height: 1.6; }
.dash-intern-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 16px; }
.dash-intern-card {
    padding: 16px;
    border-radius: 12px;
    background: var(--bg-light);
    border-left: 4px solid var(--primary);
}
.dash-intern-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.dash-intern-top strong { font-size: 14px; color: var(--primary-dark); line-height: 1.35; }
.dash-intern-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: var(--text-light);
    margin-bottom: 6px;
}
.dash-intern-meta i { color: var(--primary); margin-right: 4px; opacity: .7; }
.dash-intern-remarks {
    font-size: 12px;
    color: var(--text);
    background: var(--white);
    padding: 10px 12px;
    border-radius: 8px;
    margin: 8px 0 0;
    line-height: 1.5;
}
.dash-intern-remarks i { color: var(--accent); margin-right: 6px; }
.dash-side-banner {
    background: var(--white);
    border-radius: 20px;
    padding: 28px 24px;
    box-shadow: 0 12px 40px rgba(0,64,128,.06);
    border: 1px solid #e8ecf4;
    margin-bottom: 20px;
    text-align: center;
    transition: transform .3s, box-shadow .3s;
}
.dash-side-banner:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 48px rgba(0,64,128,.1);
}
.dash-side-banner.intern { border-top: 4px solid #1565c0; }
.dash-side-banner.accent {
    background: linear-gradient(145deg, var(--primary-dark), var(--primary));
    color: var(--white);
    border: none;
    box-shadow: 0 16px 45px rgba(0,64,128,.22);
}
.dash-side-banner-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--accent);
}
.dash-side-banner.intern .dash-side-banner-icon { background: rgba(21,101,192,.1); color: #1565c0; }
.dash-side-banner h3 { font-size: 18px; margin-bottom: 8px; }
.dash-side-banner p { font-size: 13px; opacity: .88; line-height: 1.6; margin-bottom: 18px; }
.dash-side-banner .btn i { margin-right: 6px; }
.dash-tip-card {
    display: flex;
    gap: 14px;
    padding: 18px 20px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(3,169,244,.1), rgba(3,169,244,.04));
    border: 1px solid rgba(3,169,244,.2);
}
.dash-tip-card > i {
    font-size: 22px;
    color: var(--accent);
    margin-top: 2px;
    flex-shrink: 0;
}
.dash-tip-card strong { display: block; font-size: 14px; color: var(--primary-dark); margin-bottom: 4px; }
.dash-tip-card p { font-size: 13px; color: var(--text-light); margin: 0; line-height: 1.55; }

/* Legacy dashboard classes */
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:25px}
.dash-card{background:var(--white);padding:25px;border-radius:var(--radius);box-shadow:var(--shadow)}
.dash-card h3{color:var(--primary);margin-bottom:15px;font-size:18px}
.cert-item,.course-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #eee;font-size:14px}

@media (max-width: 1280px) {
    .dash-hero-grid { grid-template-columns: 1fr; }
    .dash-hero-stats-panel { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 100%; }
    .dash-hero-stats-glass { padding: 14px; }
    .dash-hub-grid { grid-template-columns: 1fr; }
    .dash-profile-form-grid { grid-template-columns: 1fr; }
    .dash-logout-inline { display: none; }
}
@media (max-width: 992px) {
    .student-dashboard-page .dash-hero-stats-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 768px) {
    .dash-hero-premium { padding: 40px 0 48px; }
    .dash-hero-left { flex-direction: column; text-align: center; }
    .dash-hero-badges, .dash-hero-actions { justify-content: center; }
    .dash-hero-text h1 { font-size: 26px; }
    .dash-hero-stats-panel { grid-template-columns: 1fr 1fr; }
    .dash-section-head h2 { font-size: 22px; }
    .dash-shortcuts { grid-template-columns: 1fr; }
    .dash-item-card { flex-direction: column; align-items: flex-start; }
    .dash-item-card .btn { width: 100%; text-align: center; }
    .dash-field-row { grid-template-columns: 1fr; }
    .dash-profile-card-head {
        flex-wrap: wrap;
        padding: 22px 20px 18px;
    }
    .dash-profile-form { padding: 20px; }
    .dash-profile-section-head {
        flex-wrap: wrap;
    }
    .dash-profile-section-badge {
        margin-left: 0;
        margin-top: 8px;
    }
    .dash-profile-form-footer {
        justify-content: stretch;
    }
    .dash-profile-form-footer .dash-save-btn {
        width: 100%;
    }
    .dash-password-section .form-row { grid-template-columns: 1fr; }

    /* Student dashboard hero — mobile-only layout fix */
    .student-dashboard-page .dash-hero,
    .student-dashboard-page .dash-hero .container,
    .student-dashboard-page .dash-hero-grid,
    .student-dashboard-page .dash-hero-left,
    .student-dashboard-page .dash-hero-text,
    .student-dashboard-page .dash-hero-stats-panel {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .student-dashboard-page .dash-hero-premium {
        padding: 28px 0 32px;
    }
    .student-dashboard-page .dash-hero-grid {
        gap: 18px;
    }
    .student-dashboard-page .dash-hero-left {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 14px;
    }
    .student-dashboard-page .dash-avatar,
    .student-dashboard-page .dash-avatar-fallback {
        width: 84px;
        height: 84px;
    }
    .student-dashboard-page .dash-avatar-fallback {
        font-size: 30px;
    }
    .student-dashboard-page .dash-hero-eyebrow {
        font-size: 11px;
        padding: 5px 12px;
    }
    .student-dashboard-page .dash-hero-text h1 {
        font-size: clamp(20px, 5.6vw, 24px);
        line-height: 1.25;
        word-break: break-word;
        overflow-wrap: anywhere;
        margin-bottom: 8px;
    }
    .student-dashboard-page .dash-qual-chip,
    .student-dashboard-page .dash-hero-sub {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        word-break: break-word;
    }
    .student-dashboard-page .dash-hero-badges {
        justify-content: center;
        gap: 8px;
        width: 100%;
    }
    .student-dashboard-page .dash-hero-badges span {
        max-width: 100%;
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
        line-height: 1.4;
        text-align: center;
        padding: 7px 12px;
    }
    .student-dashboard-page .dash-hero-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        width: 100%;
        max-width: 100%;
    }
    .student-dashboard-page .dash-hero-actions .btn {
        flex: none;
        flex-shrink: 1;
        width: 100%;
        min-width: 0;
        justify-content: center;
        text-align: center;
        white-space: normal;
        line-height: 1.3;
        font-size: 12px;
        padding: 10px 8px;
    }
    .student-dashboard-page .dash-logout-inline {
        display: inline-flex;
    }
    .student-dashboard-page .dash-hero-stats-panel,
    .student-dashboard-page .dash-hero-stats-glass {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 12px;
        box-sizing: border-box;
    }
    .student-dashboard-page .dash-stat-card {
        min-width: 0;
        padding: 12px 10px;
        gap: 10px;
    }
    .student-dashboard-page .dash-stat-icon {
        width: 38px;
        height: 38px;
        font-size: 15px;
        border-radius: 10px;
    }
    .student-dashboard-page .dash-stat-card .num {
        font-size: 22px;
    }
    .student-dashboard-page .dash-stat-card .lbl {
        font-size: 10px;
        letter-spacing: .3px;
    }
}
@media (max-width: 420px) {
    .student-dashboard-page .dash-hero-actions {
        grid-template-columns: 1fr;
    }
    .student-dashboard-page .dash-stat-card {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
        gap: 8px;
    }
}

/* Video Tutorials */
.module-section{margin-bottom:40px}
.module-section h3{color:var(--primary);margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--bg-light)}
.tutorial-item{margin-bottom:30px}

/* Student Tutorials Page */
.tutorials-hero { text-align: center; overflow: hidden; position: relative; }
.tutorials-hero-inner { max-width: 680px; margin: 0 auto; padding: 10px 0; }
.tutorials-hero-icon { font-size: 52px; color: var(--accent); margin-bottom: 12px; }
.tutorials-hero h1 { font-size: 34px; margin-bottom: 10px; }
.tutorials-hero h1 > i { color: var(--accent); margin-right: 10px; }
.tutorials-hero p { font-size: 18px; opacity: .92; margin-bottom: 16px; }
.tutorials-hero-badges {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 18px;
}
.tutorials-hero-badges span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    padding: 7px 14px;
    border-radius: 999px;
    font-size: 12px;
}
.tutorials-hero-badges span i { color: var(--accent); margin-right: 6px; }
.tutorials-back-btn { margin-top: 4px; }

.tutorials-section {
    background: linear-gradient(180deg, var(--bg-light) 0%, var(--white) 100%);
    padding: 50px 0 70px;
}
.tutorials-layout { display: flex; flex-direction: column; gap: 28px; max-width: 900px; margin: 0 auto; }

.tutorials-progress-panel,
.tutorials-cert-panel {
    max-width: 900px;
    margin: 0 auto 24px;
    padding: 20px 22px;
    background: #fff;
    border: 1px solid rgba(21,101,192,.1);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(21,101,192,.06);
}
.tutorials-progress-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}
.tutorials-progress-head h2 {
    font-size: 20px;
    color: var(--primary);
    margin-bottom: 4px;
}
.tutorials-progress-head p,
.tutorials-cert-panel p {
    margin: 0;
    font-size: 14px;
    color: var(--text-light);
}
.tutorials-progress-head strong {
    font-size: 28px;
    color: var(--accent);
}
.tutorials-progress-bar {
    height: 10px;
    background: #eef0f7;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 12px;
}
.tutorials-progress-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    border-radius: inherit;
}
.tutorials-progress-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 20px;
    font-size: 13px;
    color: var(--text-light);
}
.tutorials-progress-meta i { color: var(--accent); margin-right: 6px; }

.tutorials-cert-panel {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
.tutorials-cert-panel.approved { border-color: rgba(46,125,50,.25); background: linear-gradient(135deg, rgba(46,125,50,.06), rgba(3,169,244,.05)); }
.tutorials-cert-panel.pending { border-color: rgba(255,152,0,.25); background: #fff8e1; }
.tutorials-cert-panel.locked { border-color: rgba(120,144,156,.25); background: #f5f7fa; }
.tutorials-cert-panel.eligible { border-color: rgba(21,101,192,.18); padding: 0; overflow: hidden; }
.tutorials-cert-panel.eligible .lt-dash-review { margin: 0; border: 0; box-shadow: none; }
.tutorials-cert-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(3,169,244,.18);
    color: var(--accent);
    font-size: 22px;
    flex-shrink: 0;
}
.tutorials-cert-panel h3 {
    font-size: 18px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}

.lesson-complete-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(46,125,50,.12);
    color: #2e7d32;
    font-size: 12px;
    font-weight: 700;
}
.tutorial-lesson-card.is-completed {
    border-color: rgba(46,125,50,.22);
    box-shadow: inset 3px 0 0 #43a047;
}
.lesson-complete-actions {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed rgba(21,101,192,.12);
}
.lesson-complete-note {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #2e7d32;
    font-weight: 600;
}

.tutorials-cert-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    max-width: 900px;
    margin: 0 auto 20px;
}
.tutorials-cert-step {
    padding: 12px 10px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgba(21,101,192,.1);
    font-size: 12px;
    color: var(--text-light);
    text-align: center;
    line-height: 1.45;
}
.tutorials-cert-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-bottom: 6px;
    border-radius: 50%;
    background: #eef0f7;
    color: var(--primary);
    font-weight: 700;
    font-size: 12px;
}
.tutorials-cert-step.done {
    border-color: rgba(46,125,50,.25);
    background: rgba(46,125,50,.06);
    color: #2e7d32;
}
.tutorials-cert-step.done span {
    background: #43a047;
    color: #fff;
}
.tutorials-saved-reviews {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 18px;
}
.tutorials-saved-review {
    padding: 14px 16px;
    background: #f8f9fc;
    border: 1px solid rgba(21,101,192,.08);
    border-radius: 12px;
}
.tutorials-saved-review strong {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    color: var(--primary-dark);
}
.tutorials-saved-review p {
    margin: 0;
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.6;
}

@media (max-width: 768px) {
    .tutorials-cert-steps { grid-template-columns: 1fr 1fr; }
    .tutorials-saved-reviews { grid-template-columns: 1fr; }
}

.tutorial-module-card {
    background: var(--white);
    border-radius: var(--radius);
    box-shadow: 0 8px 30px rgba(0,0,0,.08);
    border: 1px solid #e8eaf6;
    overflow: hidden;
}
.tutorial-module-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: #fff;
    flex-wrap: wrap;
}
.module-head-left h2 {
    font-size: 20px;
    margin: 6px 0 0;
    font-weight: 600;
}
.module-head-left h2 i { color: var(--accent); margin-right: 8px; }
.module-num {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    opacity: .85;
    font-weight: 600;
}
.module-lesson-count {
    background: rgba(255,255,255,.15);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.tutorial-module-body { padding: 24px; display: flex; flex-direction: column; gap: 24px; }
.tutorial-module-empty {
    color: var(--text-light);
    font-size: 14px;
    margin: 0;
    text-align: center;
    padding: 20px;
    background: var(--bg-light);
    border-radius: 8px;
}
.tutorial-module-empty i { color: var(--primary); margin-right: 6px; }

.tutorial-lesson-card {
    border: 1px solid #e8eaf6;
    border-radius: var(--radius);
    overflow: hidden;
    background: #fafbfd;
}
.lesson-card-top {
    padding: 18px 20px 14px;
    background: #fff;
    border-bottom: 1px solid #eef0f6;
}
.lesson-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
.lesson-badge {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
    background: var(--primary);
    color: #fff;
    padding: 4px 10px;
    border-radius: 999px;
}
.lesson-badge i { margin-right: 4px; }
.lesson-type {
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.lesson-type.type-youtube { background: #ffebee; color: #c62828; }
.lesson-type.type-drive { background: #e8f5e9; color: #2e7d32; }
.lesson-card-top h3 {
    font-size: 18px;
    color: var(--primary-dark);
    margin: 0;
    line-height: 1.4;
}

.video-frame {
    position: relative;
    background: #0d1117;
    padding: 0;
}
.video-frame-label {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: #fff;
    background: rgba(21,101,192,.85);
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid rgba(3,169,244,.4);
    pointer-events: none;
}
.video-frame-label i { color: var(--accent); margin-right: 4px; }
.video-user-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
    padding: 10px 14px;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.06));
    border-bottom: 1px solid rgba(21,101,192,.1);
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-dark);
}
.video-user-strip span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.video-user-strip i { color: var(--primary); font-size: 11px; }
.video-frame .video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 0;
    background: #000;
}
.video-frame .video-wrapper iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border: 0;
}

.lesson-resources {
    padding: 16px 20px 20px;
    background: #fff;
    border-top: 1px dashed #dde1ef;
}
.lesson-resources-head {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.lesson-resources-head i { color: var(--accent); }
.lesson-resources-list { display: flex; flex-wrap: wrap; gap: 10px; }
.resource-chip {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    background: var(--bg-light);
    min-width: 140px;
    transition: .25s;
    text-decoration: none;
    color: var(--text);
}
.resource-chip:hover {
    border-color: var(--primary);
    background: #fff;
    box-shadow: 0 4px 14px rgba(21,101,192,.1);
    transform: translateY(-2px);
}
.resource-chip i { font-size: 18px; margin-bottom: 4px; }
.resource-chip-link i { color: #1565c0; }
.resource-chip-file i { color: var(--primary); }
.resource-chip span { font-size: 13px; font-weight: 600; color: var(--primary-dark); line-height: 1.3; }
.resource-chip small { font-size: 10px; color: var(--text-light); text-transform: uppercase; letter-spacing: .5px; }

.tutorials-empty {
    text-align: center;
    max-width: 480px;
    margin: 0 auto;
    padding: 50px 30px;
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid #e8eaf6;
}
.tutorials-empty i { font-size: 56px; color: var(--accent); margin-bottom: 16px; opacity: .8; }
.tutorials-empty h3 { color: var(--primary); margin-bottom: 10px; }
.tutorials-empty p { color: var(--text-light); margin-bottom: 22px; }

.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius);background:#000}
.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-protected{user-select:none;-webkit-user-select:none}
.video-protected iframe{pointer-events:auto}
.video-drive iframe{pointer-events:auto}
.resources{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}

@media (max-width: 768px) {
    .tutorials-hero h1 { font-size: 26px; }
    .tutorial-module-head { flex-direction: column; align-items: flex-start; }
    .tutorial-module-body { padding: 16px; }
    .resource-chip { min-width: 100%; }
}

/* ===== Dashboard Tutorials (Premium) ===== */
.tut-dash-hero {
    padding: 52px 0 60px;
    overflow: hidden;
    position: relative;
}
.tut-dash-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}
.tut-dash-hero-glow-1 {
    width: 320px; height: 320px;
    top: -80px; right: -40px;
    background: rgba(3,169,244,.22);
}
.tut-dash-hero-glow-2 {
    width: 280px; height: 280px;
    bottom: -100px; left: -60px;
    background: rgba(63,81,181,.35);
}
.tut-dash-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 32px;
    align-items: center;
}
.tut-dash-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin-bottom: 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .4px;
    text-transform: uppercase;
}
.tut-dash-hero-eyebrow i { color: var(--accent); }
.tut-dash-hero-content h1 {
    font-size: 34px;
    margin-bottom: 12px;
    line-height: 1.2;
}
.tut-dash-hero-content h1 > i { color: var(--accent); margin-right: 10px; }
.tut-dash-hero-content > p {
    max-width: 560px;
    font-size: 16px;
    opacity: .9;
    margin-bottom: 18px;
    line-height: 1.65;
}
.tut-dash-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 18px;
}
.tut-dash-hero-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
    font-size: 12px;
    font-weight: 500;
}
.tut-dash-hero-badges i { color: var(--accent); }
.tut-dash-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tut-dash-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(110px, 1fr));
    gap: 12px;
    min-width: 240px;
}
.tut-dash-stat {
    padding: 16px 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    text-align: center;
    backdrop-filter: blur(6px);
}
.tut-dash-stat .num {
    display: block;
    font-size: 22px;
    font-weight: 800;
    color: #fff;
    line-height: 1.1;
}
.tut-dash-stat .lbl {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .6px;
    opacity: .75;
}
.tut-dash-stat.gold .num { color: var(--accent); }
.tut-dash-stat.success .num { color: #81c784; }

.tut-dash-section {
    background: linear-gradient(180deg, #eef1f8 0%, #f8fafc 120px, #f4f6fb 100%);
    padding: 0 0 70px;
}
.tut-dash-layout {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    margin-top: -36px;
    position: relative;
    z-index: 2;
}
.tut-dash-sidebar {
    position: sticky;
    top: 92px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.tut-dash-progress-card {
    background: #fff;
    border-radius: 18px;
    border: 1px solid #e3e8f0;
    box-shadow: 0 16px 40px rgba(0,64,128,.08);
    padding: 22px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center;
}
.tut-dash-progress-ring-wrap {
    position: relative;
    width: 120px;
    height: 120px;
}
.tut-dash-progress-ring {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}
.tut-dash-progress-ring-bg,
.tut-dash-progress-ring-fill {
    fill: none;
    stroke-width: 8;
}
.tut-dash-progress-ring-bg { stroke: #eef0f7; }
.tut-dash-progress-ring-fill {
    stroke: url(#tutProgressGrad);
    stroke: var(--accent);
    stroke-linecap: round;
    stroke-dasharray: 283;
    transition: stroke-dashoffset .6s ease;
}
.tut-dash-progress-ring-label {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.tut-dash-progress-ring-label strong {
    font-size: 26px;
    color: var(--primary-dark);
    line-height: 1;
}
.tut-dash-progress-ring-label span {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--text-light);
    margin-top: 4px;
}
.tut-dash-progress-details { width: 100%; }
.tut-dash-progress-details h3 {
    font-size: 16px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.tut-dash-progress-details h3 i { color: var(--accent); margin-right: 6px; }
.tut-dash-progress-details > p {
    font-size: 13px;
    color: var(--text-light);
    margin-bottom: 12px;
    line-height: 1.5;
}
.tut-dash-progress-bar {
    height: 8px;
    background: #eef0f7;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 12px;
}
.tut-dash-progress-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    border-radius: inherit;
}
.tut-dash-progress-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 12px;
    color: var(--text-light);
    text-align: left;
}
.tut-dash-progress-list i { color: var(--accent); margin-right: 6px; width: 14px; }

.tut-dash-steps {
    background: #fff;
    border-radius: 18px;
    border: 1px solid #e3e8f0;
    box-shadow: 0 12px 32px rgba(0,64,128,.06);
    padding: 18px 16px;
}
.tut-dash-steps > h4 {
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eef0f6;
}
.tut-dash-steps > h4 i { color: var(--accent); margin-right: 6px; }
.tut-dash-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 10px 8px;
    border-radius: 12px;
    margin-bottom: 4px;
}
.tut-dash-step:last-child { margin-bottom: 0; }
.tut-dash-step-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #eef0f7;
    color: var(--primary);
    font-size: 12px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.tut-dash-step strong {
    display: block;
    font-size: 13px;
    color: var(--primary-dark);
    margin-bottom: 2px;
}
.tut-dash-step small {
    font-size: 11px;
    color: var(--text-light);
    line-height: 1.4;
}
.tut-dash-step.done {
    background: rgba(46,125,50,.06);
}
.tut-dash-step.done .tut-dash-step-num {
    background: #43a047;
    color: #fff;
}
.tut-dash-step.done strong { color: #2e7d32; }

.tut-dash-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-radius: 16px;
    border: 1px solid transparent;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,64,128,.06);
}
.tut-dash-notice > i,
.tut-dash-notice-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.tut-dash-notice strong {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
    color: var(--primary-dark);
}
.tut-dash-notice p {
    margin: 0 0 10px;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.5;
}
.tut-dash-notice.success {
    border-color: rgba(46,125,50,.2);
    background: linear-gradient(135deg, rgba(46,125,50,.06), rgba(3,169,244,.04));
}
.tut-dash-notice.success .tut-dash-notice-icon {
    background: rgba(46,125,50,.12);
    color: #2e7d32;
}
.tut-dash-notice.pending {
    border-color: rgba(255,152,0,.25);
    background: #fff8e1;
}
.tut-dash-notice.pending > i { color: #e65100; font-size: 22px; margin-top: 2px; }
.tut-dash-notice.locked {
    border-color: rgba(120,144,156,.2);
    background: #f5f7fa;
}
.tut-dash-notice.locked > i { color: #78909c; font-size: 20px; margin-top: 2px; }

.tut-dash-review-card {
    background: #fff;
    border-radius: 18px;
    border: 1px solid rgba(21,101,192,.12);
    box-shadow: 0 12px 32px rgba(0,64,128,.06);
    padding: 18px 16px;
    overflow: hidden;
}
.tut-dash-review-head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}
.tut-dash-review-head > i {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(3,169,244,.2), rgba(3,169,244,.08));
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.tut-dash-review-head h4 {
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 4px;
}
.tut-dash-review-head p {
    margin: 0;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
}
.tut-dash-review-form .form-group { margin-bottom: 12px; }
.tut-dash-review-form label {
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 6px;
    display: block;
}
.tut-dash-review-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #dde1ef;
    border-radius: 10px;
    font-family: inherit;
    font-size: 13px;
    resize: vertical;
    min-height: 72px;
}
.tut-dash-saved-reviews {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}
.tut-dash-saved-reviews > div {
    padding: 10px 12px;
    background: #f8f9fc;
    border-radius: 10px;
    border: 1px solid #eef0f6;
}
.tut-dash-saved-reviews strong {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--primary);
    margin-bottom: 4px;
}
.tut-dash-saved-reviews p {
    margin: 0;
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.5;
}
.btn-block { width: 100%; justify-content: center; }

.tut-dash-main-head {
    margin-bottom: 22px;
    padding: 18px 20px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e3e8f0;
    box-shadow: 0 8px 24px rgba(0,64,128,.06);
}
.tut-dash-main-head h2 {
    font-size: 22px;
    color: var(--primary-dark);
    margin-bottom: 6px;
    font-weight: 700;
}
.tut-dash-main-head h2 i { color: var(--accent); margin-right: 8px; }
.tut-dash-main-head p {
    margin: 0;
    font-size: 14px;
    color: var(--text-light);
}

.tut-module-card {
    background: #fff;
    border-radius: 20px;
    border: 1px solid #e3e8f0;
    box-shadow: 0 16px 40px rgba(0,64,128,.07);
    overflow: hidden;
    margin-bottom: 24px;
    scroll-margin-top: 100px;
}
.tut-module-card.is-active {
    border-color: rgba(3,169,244,.45);
    box-shadow: 0 18px 44px rgba(3,169,244,.18);
}
.tut-module-card.is-complete {
    border-color: rgba(46,125,50,.28);
}
.tut-module-card.is-locked {
    opacity: .92;
}
.tut-module-card.is-locked .tut-module-head {
    background: linear-gradient(135deg, #37474f 0%, #546e7a 100%);
}
.tut-module-card:last-child { margin-bottom: 0; }
.tut-module-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 24px;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 100%);
    color: #fff;
    flex-wrap: wrap;
}
.tut-module-head-left {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    min-width: 0;
}
.tut-module-index {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    font-size: 20px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 6px 18px rgba(3,169,244,.35);
}
.tut-module-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    opacity: .8;
    margin-bottom: 4px;
    font-weight: 600;
}
.tut-module-head h3 {
    font-size: 19px;
    margin: 0 0 8px;
    font-weight: 600;
    line-height: 1.3;
}
.tut-module-mini-bar {
    height: 4px;
    background: rgba(255,255,255,.2);
    border-radius: 999px;
    overflow: hidden;
    max-width: 180px;
    margin-bottom: 4px;
}
.tut-module-mini-bar span {
    display: block;
    height: 100%;
    background: var(--accent);
    border-radius: inherit;
}
.tut-module-head small {
    font-size: 11px;
    opacity: .85;
}
.tut-module-count {
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.16);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.tut-module-count i { color: var(--accent); margin-right: 6px; }
.tut-module-status {
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    white-space: nowrap;
}
.tut-module-status.locked {
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.2);
}
.tut-module-status.done {
    background: rgba(129,199,132,.22);
    color: #c8e6c9;
}
.tut-module-status.active {
    background: rgba(3,169,244,.25);
    color: #fff8e1;
    border: 1px solid rgba(3,169,244,.45);
}
.tut-module-locked-body {
    text-align: center;
    padding: 36px 24px;
    background: linear-gradient(180deg, #f5f7fa 0%, #eef1f8 100%);
    border-radius: 14px;
    border: 1px dashed #cfd8dc;
}
.tut-module-locked-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: rgba(120,144,156,.15);
    color: #607d8b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
.tut-module-locked-body h4 {
    color: var(--primary-dark);
    margin-bottom: 8px;
    font-size: 18px;
}
.tut-module-locked-body p {
    margin: 0;
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.6;
    max-width: 420px;
    margin-inline: auto;
}
.tut-module-body {
    padding: 22px 24px 26px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.tut-module-empty {
    text-align: center;
    padding: 24px;
    background: var(--bg-light);
    border-radius: 12px;
    color: var(--text-light);
    font-size: 14px;
    margin: 0;
}
.tut-module-empty i { color: var(--primary); margin-right: 6px; }

.tut-lesson-card {
    border: 1px solid #e3e8f0;
    border-radius: 16px;
    overflow: hidden;
    background: #fafbfd;
    transition: box-shadow .25s, border-color .25s;
    scroll-margin-top: 100px;
}
.tut-lesson-card:target {
    border-color: rgba(3,169,244,.55);
    box-shadow: 0 0 0 3px rgba(3,169,244,.28), 0 12px 32px rgba(0,64,128,.1);
    animation: tutLessonPulse 1.2s ease;
}
@keyframes tutLessonPulse {
    0% { box-shadow: 0 0 0 0 rgba(3,169,244,.45); }
    70% { box-shadow: 0 0 0 10px rgba(3,169,244,0); }
    100% { box-shadow: 0 0 0 0 rgba(3,169,244,0); }
}
.tut-lesson-card:hover {
    box-shadow: 0 10px 28px rgba(0,64,128,.08);
    border-color: rgba(21,101,192,.15);
}
.tut-lesson-card.is-done {
    border-color: rgba(46,125,50,.25);
    background: linear-gradient(180deg, rgba(46,125,50,.04) 0%, #fafbfd 80px);
}
.tut-lesson-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px 14px;
    background: #fff;
    border-bottom: 1px solid #eef0f6;
}
.tut-lesson-num {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.tut-lesson-num.done {
    background: linear-gradient(135deg, #43a047, #2e7d32);
}
.tut-lesson-info { min-width: 0; flex: 1; }
.tut-lesson-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 8px;
}
.tut-lesson-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    background: rgba(21,101,192,.08);
    color: var(--primary);
}
.tut-lesson-tag.type-youtube { background: #ffebee; color: #c62828; }
.tut-lesson-tag.type-drive { background: #e8f5e9; color: #2e7d32; }
.tut-lesson-tag.done { background: rgba(46,125,50,.12); color: #2e7d32; }
.tut-lesson-info h4 {
    margin: 0;
    font-size: 17px;
    color: var(--primary-dark);
    line-height: 1.4;
}

.tut-video-shell {
    position: relative;
    background: #0d1117;
}
.tut-video-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: #fff;
    background: rgba(21,101,192,.88);
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgba(3,169,244,.4);
    pointer-events: none;
}
.tut-video-badge i { color: var(--accent); margin-right: 5px; }
.tut-video-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 10px 16px;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.06));
    border-bottom: 1px solid rgba(21,101,192,.1);
    font-size: 11px;
    font-weight: 600;
    color: var(--primary-dark);
}
.tut-video-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.tut-video-meta i { color: var(--primary); font-size: 10px; }
.tut-video-frame {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    background: #000;
}
.tut-video-frame iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border: 0;
}

.tut-lesson-resources {
    padding: 16px 20px;
    background: #fff;
    border-top: 1px dashed #dde1ef;
}
.tut-lesson-resources h5 {
    font-size: 13px;
    color: var(--primary);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.tut-lesson-resources h5 i { color: var(--accent); }
.tut-resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
}
.tut-resource-chip {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid #e0e4ef;
    background: #f8f9fc;
    text-decoration: none;
    color: var(--text);
    transition: .25s;
}
.tut-resource-chip:hover {
    border-color: var(--primary);
    background: #fff;
    box-shadow: 0 6px 18px rgba(21,101,192,.1);
    transform: translateY(-2px);
}
.tut-resource-chip i { font-size: 18px; }
.tut-resource-chip.link i { color: #1565c0; }
.tut-resource-chip.file i { color: var(--primary); }
.tut-resource-chip span {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-dark);
    line-height: 1.3;
}
.tut-resource-chip small {
    font-size: 10px;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: .4px;
}

.tut-lesson-foot {
    padding: 14px 20px 16px;
    background: #fff;
    border-top: 1px solid #eef0f6;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.tut-lesson-done-msg {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #2e7d32;
}
.tut-mark-btn {
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    border: none;
    color: var(--primary-dark);
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(3,169,244,.35);
}
.tut-mark-btn:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
}

/* Paginated lesson player */
.tut-lesson-nav-card {
    background: #fff;
    border: 1px solid #e8eaf6;
    border-radius: 16px;
    padding: 18px 16px;
    margin-bottom: 18px;
    box-shadow: 0 8px 24px rgba(21,101,192,.06);
}
.tut-lesson-nav-card h4 {
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.tut-lesson-nav-card h4 i { color: var(--accent); }
.tut-lesson-nav-hint {
    font-size: 11px;
    color: var(--text-light);
    margin-bottom: 12px;
    line-height: 1.45;
}
.tut-lesson-nav-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 320px;
    overflow-y: auto;
    padding-right: 4px;
}
.tut-lesson-nav-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #eef0f6;
    background: #f8f9fc;
    text-decoration: none;
    color: inherit;
    transition: border-color .2s, background .2s, transform .2s;
}
a.tut-lesson-nav-item:hover {
    border-color: rgba(21,101,192,.25);
    background: #fff;
    transform: translateX(2px);
}
.tut-lesson-nav-item.active {
    border-color: var(--primary);
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.08));
    box-shadow: 0 4px 14px rgba(21,101,192,.1);
}
.tut-lesson-nav-item.done:not(.active) { opacity: .88; }
.tut-lesson-nav-item.locked {
    opacity: .55;
    cursor: not-allowed;
}
.tut-lesson-nav-num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.tut-lesson-nav-item.done .tut-lesson-nav-num,
.tut-lesson-nav-item.active .tut-lesson-nav-num {
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
}
.tut-lesson-nav-item.locked .tut-lesson-nav-num {
    background: #b0bec5;
}
.tut-lesson-nav-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.tut-lesson-nav-text strong {
    font-size: 12px;
    line-height: 1.35;
    color: var(--primary-dark);
}
.tut-lesson-nav-text small {
    font-size: 10px;
    color: var(--text-light);
    line-height: 1.35;
}
.tut-lesson-page {
    background: #fff;
    border: 1px solid #e8eaf6;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(21,101,192,.08);
    margin-bottom: 28px;
}
.tut-lesson-page-top {
    padding: 20px 22px 0;
}
.tut-lesson-page-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.tut-lesson-page-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    background: #eef2f8;
    color: var(--primary-dark);
}
.tut-lesson-page-badge.primary {
    background: rgba(21,101,192,.1);
    color: var(--primary);
}
.tut-lesson-page-title {
    font-size: 22px;
    color: var(--primary-dark);
    line-height: 1.35;
    margin-bottom: 16px;
}
.tut-lesson-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px 20px;
    border-top: 1px solid #eef0f6;
    background: linear-gradient(180deg, #fafbfd 0%, #fff 100%);
}
.tut-lesson-pager-status {
    font-size: 12px;
    font-weight: 700;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: .4px;
}
.tut-lesson-pager-btn { min-width: 130px; justify-content: center; }
.tut-lesson-pager-spacer { min-width: 130px; }
.tut-module-overview {
    margin-top: 8px;
}
.tut-module-overview h3 {
    font-size: 18px;
    color: var(--primary-dark);
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.tut-module-overview h3 i { color: var(--accent); }
.tut-module-overview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}
.tut-module-overview-card {
    background: #fff;
    border: 1px solid #e8eaf6;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 6px 18px rgba(21,101,192,.05);
}
.tut-module-overview-card.locked { opacity: .7; }
.tut-module-overview-card.done {
    border-color: rgba(46,125,50,.25);
    background: linear-gradient(180deg, #f1f8f4 0%, #fff 100%);
}
.tut-module-overview-head {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 11px;
    color: var(--text-light);
    margin-bottom: 6px;
}
.tut-module-overview-head strong {
    color: var(--primary);
    font-size: 12px;
}
.tut-module-overview-card p {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-dark);
    margin-bottom: 10px;
    line-height: 1.4;
}
.tut-module-overview-locked {
    font-size: 12px;
    color: var(--text-light);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
@media (max-width: 768px) {
    .tut-lesson-pager {
        flex-direction: column;
        align-items: stretch;
    }
    .tut-lesson-pager-btn,
    .tut-lesson-pager-spacer {
        min-width: 0;
        width: 100%;
    }
    .tut-lesson-nav-list { max-height: 240px; }
}

.tut-dash-empty {
    text-align: center;
    max-width: 480px;
    margin: 40px auto 0;
    padding: 50px 32px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid #e3e8f0;
    box-shadow: 0 16px 40px rgba(0,64,128,.08);
}
.tut-dash-empty-visual {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 20px;
}
.tut-dash-empty-icon {
    position: relative;
    z-index: 1;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.12));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: var(--accent);
}
.tut-dash-empty-rings {
    position: absolute;
    inset: -12px;
    border: 2px dashed rgba(3,169,244,.25);
    border-radius: 50%;
    animation: tutEmptySpin 20s linear infinite;
}
@keyframes tutEmptySpin {
    to { transform: rotate(360deg); }
}
.tut-dash-empty h3 {
    color: var(--primary-dark);
    margin-bottom: 10px;
    font-size: 22px;
}
.tut-dash-empty p {
    color: var(--text-light);
    margin-bottom: 22px;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .tut-dash-layout { grid-template-columns: 1fr; margin-top: -24px; }
    .tut-dash-sidebar { position: static; }
    .tut-dash-hero-grid { grid-template-columns: 1fr; }
    .tut-dash-hero-stats { max-width: 360px; }
}
@media (max-width: 768px) {
    .tut-dash-hero-content h1 { font-size: 26px; }
    .tut-module-head { flex-direction: column; align-items: flex-start; }
    .tut-module-body { padding: 16px; }
    .tut-resource-grid { grid-template-columns: 1fr; }
    .tut-dash-hero-stats { grid-template-columns: 1fr 1fr; width: 100%; max-width: none; }
}

/* Modal */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:2000;align-items:center;justify-content:center}
.modal.active{display:flex}
.modal-content{background:var(--white);padding:30px;border-radius:var(--radius);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;position:relative}
.modal-close{position:absolute;top:15px;right:20px;font-size:28px;cursor:pointer;color:var(--text-light)}
.modal-content h3{margin-bottom:20px;color:var(--primary)}

/* Dashboard profile flash modal */
.dash-profile-flash-modal { z-index: 3000; padding: 20px; }
.dash-profile-flash-content {
    text-align: center;
    max-width: 420px;
    padding: 32px 28px 28px;
    border: 1px solid rgba(26, 35, 126, 0.08);
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}
.dash-profile-flash-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
}
.dash-profile-flash-icon.success {
    background: #e8f5e9;
    color: #2e7d32;
}
.dash-profile-flash-icon.error {
    background: #ffebee;
    color: #c62828;
}
.dash-profile-flash-content h3 {
    margin-bottom: 10px;
    font-size: 22px;
}
.dash-profile-flash-content p {
    margin: 0 0 22px;
    color: var(--text-light);
    line-height: 1.6;
}
.dash-profile-flash-ok {
    min-width: 120px;
    justify-content: center;
}

/* Alerts */
.alert{padding:15px 20px;border-radius:8px;margin:15px auto;font-size:14px}
.alert-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}
.alert-error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a}
.alert-info{background:#e3f2fd;color:#1565c0;border:1px solid #90caf9}

/* About Page */
.about-page {
    overflow-x: hidden;
}
.about-page .about-story-section,
.about-page .about-mv-section,
.about-page .about-highlights-section,
.about-page .about-trust-section {
    position: relative;
    overflow: hidden;
    background: transparent !important;
}
.about-page .about-story-section > *:not(.home-section-fx),
.about-page .about-mv-section > *:not(.home-section-fx),
.about-page .about-highlights-section > *:not(.home-section-fx),
.about-page .about-trust-section > *:not(.home-section-fx) {
    position: relative;
    z-index: 1;
}
.about-page .about-mv-card,
.about-page .about-highlight-card,
.about-page .about-trust-inner,
.about-page .about-story-content {
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.about-hero {
    overflow: hidden;
    position: relative;
    text-align: center;
    padding: 88px 0 72px;
    background: linear-gradient(135deg, var(--deep-blue) 0%, var(--primary-blue) 45%, var(--navy-blue) 100%);
    color: var(--white);
}
.about-hero-fx {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.about-hero-grid {
    position: absolute;
    inset: -20%;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 48px 48px;
    animation: aboutHeroGrid 30s linear infinite;
    opacity: .55;
}
.about-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .45;
    animation: aboutHeroGlow 12s ease-in-out infinite;
}
.about-hero-glow-1 {
    width: 360px;
    height: 360px;
    top: -10%;
    left: -5%;
    background: rgba(3, 169, 244, 0.45);
}
.about-hero-glow-2 {
    width: 300px;
    height: 300px;
    bottom: -15%;
    right: -5%;
    background: rgba(0, 188, 212, 0.35);
    animation-delay: -4s;
}
.about-hero-scan {
    position: absolute;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(180deg, transparent, rgba(3,169,244,.12), transparent);
    animation: aboutHeroScan 8s ease-in-out infinite;
}
@keyframes aboutHeroGrid {
    from { transform: translate(0, 0); }
    to { transform: translate(48px, 48px); }
}
@keyframes aboutHeroGlow {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(14px, -10px) scale(1.06); }
}
@keyframes aboutHeroScan {
    0%, 100% { top: -12%; opacity: 0; }
    50% { top: 60%; opacity: .9; }
}
.about-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.35);
    color: #e1f5fe;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.about-hero h1 {
    font-size: clamp(34px, 5vw, 48px);
    margin-bottom: 14px;
    line-height: 1.15;
    text-shadow: 0 8px 28px rgba(0,0,0,.25);
}
.about-hero p {
    font-size: 18px;
    opacity: .92;
    max-width: 640px;
    margin: 0 auto 24px;
    line-height: 1.7;
}
.about-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.about-hero-badges span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    padding: 9px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    backdrop-filter: blur(6px);
}
.about-hero-badges span i { color: var(--accent-cyan); margin-right: 6px; }
.about-hero-stats {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 42px;
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
}
.about-stat {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 18px;
    padding: 22px 18px;
    backdrop-filter: blur(10px);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.about-stat:hover {
    transform: translateY(-6px);
    border-color: rgba(3,169,244,.45);
    box-shadow: 0 16px 36px rgba(0,0,0,.18);
}
.about-stat-icon {
    width: 42px;
    height: 42px;
    margin: 0 auto 10px;
    border-radius: 12px;
    background: rgba(3,169,244,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: #e1f5fe;
}
.about-stat .num {
    display: block;
    font-size: 30px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
}
.about-stat .lbl {
    font-size: 11px;
    opacity: .88;
    text-transform: uppercase;
    letter-spacing: .6px;
}
.about-section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px;
}
.about-section-head h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    color: var(--deep-blue);
    margin-bottom: 12px;
    line-height: 1.2;
}
.about-section-head p {
    font-size: 16px;
    color: var(--text-light);
    line-height: 1.65;
    margin: 0;
}
.about-story-section {
    padding: 88px 0;
}
.about-story-grid {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 52px;
    align-items: center;
}
.about-story-media { position: relative; }
.about-story-frame {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 24px 56px rgba(0,64,128,.16);
}
.about-story-image {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    display: block;
    transition: transform .5s ease;
}
.about-story-frame:hover .about-story-image {
    transform: scale(1.03);
}
.about-story-ring {
    position: absolute;
    inset: -8px;
    border-radius: 26px;
    border: 2px dashed rgba(3,169,244,.35);
    pointer-events: none;
    animation: aboutStoryRing 20s linear infinite;
}
@keyframes aboutStoryRing {
    to { transform: rotate(360deg); }
}
.about-story-placeholder {
    min-height: 400px;
    background: linear-gradient(145deg, var(--deep-blue), var(--primary-blue));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: var(--white);
}
.about-story-placeholder i { font-size: 72px; color: var(--accent-cyan); opacity: .9; }
.about-story-placeholder span {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .5px;
}
.about-story-accent {
    position: absolute;
    bottom: -20px;
    left: 24px;
    right: 24px;
    background: rgba(255,255,255,.95);
    padding: 14px 20px;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0,64,128,.12);
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--deep-blue);
    border: 1px solid rgba(0,64,128,.08);
}
.about-story-accent i { color: var(--success); font-size: 18px; }
.about-story-content {
    padding: 32px;
    border-radius: 22px;
    border: 1px solid rgba(0,64,128,.1);
    box-shadow: 0 14px 40px rgba(0,51,102,.08);
}
.about-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.12));
    border: 1px solid rgba(21,101,192,.14);
    color: var(--primary-blue);
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 14px;
}
.about-eyebrow-light {
    background: rgba(3,169,244,.15);
    border-color: rgba(3,169,244,.3);
    color: #e1f5fe;
}
.about-story-content h2 {
    font-size: clamp(26px, 3vw, 34px);
    color: var(--deep-blue);
    margin-bottom: 18px;
    line-height: 1.25;
}
.about-lead {
    font-size: 16px;
    color: var(--text-light);
    line-height: 1.85;
    margin-bottom: 24px;
}
.about-story-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.about-story-tags span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: var(--bg-light);
    border: 1px solid rgba(0,64,128,.1);
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-blue);
    transition: transform .25s ease, box-shadow .25s ease;
}
.about-story-tags span:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,64,128,.1);
}
.about-story-tags span i { color: var(--accent); font-size: 12px; }
.about-mv-section { padding: 88px 0; }
.about-mv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}
.about-mv-card {
    padding: 36px 32px;
    border-radius: 20px;
    border: 1px solid rgba(0,64,128,.1);
    box-shadow: 0 14px 40px rgba(0,51,102,.08);
    transition: transform .35s ease, box-shadow .35s ease;
    position: relative;
    overflow: hidden;
}
.about-mv-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--sky-blue), var(--accent-cyan));
}
.about-mv-card.vision::before {
    background: linear-gradient(90deg, var(--navy-blue), var(--sky-blue));
}
.about-mv-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 22px 50px rgba(0,64,128,.14);
}
.about-mv-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    background: linear-gradient(135deg, var(--primary-blue), var(--navy-blue));
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    margin-bottom: 18px;
    box-shadow: 0 10px 24px rgba(0,64,128,.2);
}
.about-mv-card.vision .about-mv-icon {
    background: linear-gradient(135deg, var(--sky-blue), var(--accent-cyan));
    color: var(--deep-blue);
}
.about-mv-card h3 {
    font-size: 22px;
    color: var(--deep-blue);
    margin-bottom: 12px;
}
.about-mv-card p {
    font-size: 15px;
    color: var(--text-light);
    line-height: 1.75;
    margin: 0;
}
.about-highlights-section { padding: 88px 0; }
.about-highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.about-highlight-card {
    padding: 30px 22px;
    border-radius: 18px;
    border: 1px solid rgba(0,64,128,.1);
    box-shadow: 0 12px 32px rgba(0,51,102,.08);
    text-align: center;
    transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.about-highlight-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 48px rgba(0,64,128,.14);
    border-color: rgba(3,169,244,.35);
}
.about-highlight-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.14));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--primary-blue);
    transition: transform .35s ease;
}
.about-highlight-card:hover .about-highlight-icon {
    transform: scale(1.08);
}
.about-highlight-card h4 {
    font-size: 17px;
    color: var(--deep-blue);
    margin-bottom: 10px;
}
.about-highlight-card p {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.65;
    margin: 0;
}
.about-trust-section { padding: 88px 0; }
.about-trust-inner {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 40px;
    align-items: center;
    padding: 44px;
    border-radius: 22px;
    border: 1px solid rgba(0,64,128,.1);
    box-shadow: 0 18px 48px rgba(0,51,102,.1);
    background: linear-gradient(135deg, rgba(0,51,102,.96), rgba(0,64,128,.94), rgba(21,101,192,.92)) !important;
    color: var(--white);
}
.about-trust-text h2 {
    font-size: clamp(24px, 3vw, 30px);
    margin-bottom: 14px;
    line-height: 1.25;
}
.about-trust-text p {
    font-size: 15px;
    color: rgba(255,255,255,.88);
    line-height: 1.75;
    margin: 0;
}
.about-trust-badges { display: flex; flex-direction: column; gap: 16px; }
.about-trust-badge {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 22px;
    border-radius: 16px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    backdrop-filter: blur(8px);
    transition: transform .3s ease, background .3s ease;
}
.about-trust-badge:hover {
    transform: translateX(6px);
    background: rgba(255,255,255,.16);
}
.about-trust-badge-icon {
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    border-radius: 14px;
    background: rgba(3,169,244,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #e1f5fe;
}
.about-trust-badge strong {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
}
.about-trust-badge span {
    font-size: 12px;
    opacity: .85;
}
.about-cta-section {
    position: relative;
    overflow: hidden;
    padding: 72px 0 88px;
}
.about-cta-glow {
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 280px;
    background: radial-gradient(ellipse, rgba(3,169,244,.2), transparent 70%);
    pointer-events: none;
}
.about-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 44px 48px;
    border-radius: 22px;
    background: linear-gradient(135deg, var(--deep-blue), var(--primary-blue), var(--navy-blue));
    color: var(--white);
    box-shadow: 0 20px 52px rgba(0,51,102,.22);
    border: 1px solid rgba(255,255,255,.1);
}
.about-cta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.35);
    color: #e1f5fe;
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-bottom: 12px;
}
.about-cta-text h2 {
    font-size: clamp(24px, 3vw, 30px);
    margin-bottom: 10px;
    line-height: 1.25;
}
.about-cta-text p {
    font-size: 15px;
    color: rgba(255,255,255,.9);
    margin: 0;
    max-width: 520px;
    line-height: 1.65;
}
.about-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    flex-shrink: 0;
}
.about-cta-actions .btn i { margin-right: 8px; }

@media (max-width: 1100px) {
    .about-highlights-grid { grid-template-columns: repeat(2, 1fr); }
    .about-story-grid { grid-template-columns: 1fr; gap: 48px; }
    .about-trust-inner { grid-template-columns: 1fr; }
    .about-hero-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
    .about-cta-inner { flex-direction: column; text-align: center; }
    .about-cta-actions { justify-content: center; }
    .about-cta-text p { margin: 0 auto; }
}
@media (max-width: 768px) {
    .about-hero { padding: 72px 0 56px; }
    .about-story-section,
    .about-mv-section,
    .about-highlights-section,
    .about-trust-section { padding: 64px 0; }
    .about-story-content { padding: 24px; }
    .about-story-ring { animation: none; }
    .about-mv-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .about-hero-grid,
    .about-hero-glow,
    .about-hero-scan,
    .about-story-ring { animation: none; }
}
.error-page{text-align:center;padding:100px 20px}
.error-page h1{font-size:80px;color:var(--primary)}

/* Internship Page */
.intern-hero {
    overflow: hidden;
    position: relative;
    background: linear-gradient(135deg, #004080 0%, var(--primary-dark) 35%, var(--primary) 70%, #1565c0 100%);
    padding: 64px 0 56px;
    color: var(--white);
}
.intern-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(3,169,244,.18) 0%, transparent 42%),
        radial-gradient(circle at 90% 80%, rgba(255,255,255,.08) 0%, transparent 38%),
        url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events: none;
}
.intern-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
    opacity: .45;
}
.intern-hero-glow-1 {
    width: 280px;
    height: 280px;
    background: rgba(3,169,244,.35);
    top: -80px;
    right: 8%;
}
.intern-hero-glow-2 {
    width: 220px;
    height: 220px;
    background: rgba(63,81,181,.4);
    bottom: -60px;
    left: 5%;
}
.intern-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 40px;
    align-items: center;
}
.intern-hero-content { text-align: left; }
.intern-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--accent);
    background: rgba(3,169,244,.15);
    border: 1px solid rgba(3,169,244,.35);
    padding: 7px 14px;
    border-radius: 50px;
    margin-bottom: 16px;
}
.intern-hero h1 {
    font-size: 42px;
    margin-bottom: 16px;
    line-height: 1.15;
    color: var(--white);
}
.intern-hero h1 > i { color: var(--accent); margin-right: 10px; font-size: 34px; }
.intern-hero p {
    font-size: 17px;
    opacity: .92;
    line-height: 1.7;
    max-width: 560px;
    margin: 0 0 22px;
    color: rgba(255,255,255,.92);
}
.intern-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 28px;
}
.intern-hero-badges span {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    backdrop-filter: blur(4px);
}
.intern-hero-badges span i { color: var(--accent); margin-right: 6px; }
.intern-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.intern-hero-actions .btn i { margin-right: 8px; }
.intern-hero-stats-panel {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 20px;
    padding: 24px;
    backdrop-filter: blur(10px);
    box-shadow: 0 20px 50px rgba(0,0,0,.15);
}
.intern-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}
.intern-stat {
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 14px;
    padding: 18px 16px;
    text-align: center;
    backdrop-filter: blur(4px);
    transition: transform .3s, border-color .3s;
}
.intern-stat:hover {
    transform: translateY(-3px);
    border-color: rgba(3,169,244,.35);
}
.intern-stat.highlight { border-color: rgba(3,169,244,.45); background: rgba(3,169,244,.16); }
.intern-stat.success { border-color: rgba(46,125,50,.45); background: rgba(46,125,50,.18); }
.intern-stat .num {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--accent);
    line-height: 1.2;
}
.intern-stat.success .num { color: #a5d6a7; }
.intern-stat .lbl {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .5px;
    opacity: .88;
    margin-top: 4px;
}
.intern-section {
    background: linear-gradient(180deg, #eef1f8 0%, var(--white) 180px);
    padding-bottom: 0;
}
.intern-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--accent);
    margin-bottom: 10px;
}
.intern-section-eyebrow i { font-size: 11px; }
.intern-benefits {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 48px;
}
.intern-benefit-card {
    position: relative;
    background: var(--white);
    padding: 28px 22px 24px;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(21,101,192,.08);
    text-align: center;
    border: 1px solid #eef0f5;
    overflow: hidden;
    transition: transform .35s, box-shadow .35s, border-color .35s;
}
.intern-benefit-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    opacity: 0;
    transition: opacity .35s;
}
.intern-benefit-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 50px rgba(21,101,192,.14);
    border-color: rgba(3,169,244,.25);
}
.intern-benefit-card:hover::before { opacity: 1; }
.intern-benefit-num {
    position: absolute;
    top: 12px;
    right: 14px;
    font-size: 28px;
    font-weight: 800;
    color: rgba(21,101,192,.06);
    line-height: 1;
}
.intern-benefit-icon {
    width: 60px;
    height: 60px;
    margin: 0 auto 16px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.15));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--primary);
    transition: transform .35s;
}
.intern-benefit-card:hover .intern-benefit-icon { transform: scale(1.08) rotate(-3deg); }
.intern-benefit-card h4 {
    font-size: 16px;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.intern-benefit-card p {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.65;
    margin: 0;
}
.intern-process-band {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    border-radius: 20px;
    padding: 36px 32px;
    margin-bottom: 52px;
    color: var(--white);
    box-shadow: 0 20px 55px rgba(0,64,128,.22);
    position: relative;
    overflow: hidden;
}
.intern-process-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 0%, rgba(3,169,244,.2) 0%, transparent 50%);
    pointer-events: none;
}
.intern-process-head {
    text-align: center;
    margin-bottom: 32px;
    position: relative;
    z-index: 1;
}
.intern-process-head .intern-section-eyebrow { color: var(--accent); }
.intern-process-head h2 {
    font-size: 28px;
    margin-bottom: 8px;
    color: var(--white);
}
.intern-process-head p {
    font-size: 15px;
    opacity: .88;
    margin: 0;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}
.intern-process-steps {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 8px;
    position: relative;
    z-index: 1;
    flex-wrap: wrap;
}
.intern-process-step {
    flex: 1;
    min-width: 160px;
    max-width: 220px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    padding: 22px 16px;
    text-align: center;
    transition: background .3s, transform .3s;
}
.intern-process-step:hover {
    background: rgba(255,255,255,.14);
    transform: translateY(-4px);
}
.intern-process-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}
.intern-process-step strong {
    display: block;
    font-size: 14px;
    margin-bottom: 6px;
    color: var(--white);
}
.intern-process-step span {
    display: block;
    font-size: 12px;
    opacity: .82;
    line-height: 1.5;
}
.intern-process-arrow {
    display: flex;
    align-items: center;
    color: rgba(3,169,244,.7);
    font-size: 14px;
    padding-top: 40px;
}
.intern-programs-head {
    text-align: center;
    margin-bottom: 40px;
}
.intern-programs-head h2 {
    font-size: 32px;
    color: var(--primary-dark);
    margin-bottom: 10px;
}
.intern-programs-head p {
    font-size: 16px;
    color: var(--text-light);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.6;
}
.intern-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
    margin-bottom: 56px;
}
.intern-card {
    position: relative;
    background: var(--white);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(21,101,192,.08);
    border: 1px solid #eef0f5;
    display: flex;
    flex-direction: column;
    transition: transform .35s, box-shadow .35s, border-color .35s;
}
.intern-card.featured {
    border-color: rgba(3,169,244,.35);
    box-shadow: 0 16px 45px rgba(3,169,244,.12);
}
.intern-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 55px rgba(21,101,192,.16);
    border-color: rgba(21,101,192,.12);
}
.intern-card-featured {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 3;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    box-shadow: 0 4px 14px rgba(3,169,244,.35);
}
.intern-card-featured i { margin-right: 5px; }
.intern-card-image {
    position: relative;
    height: 210px;
    overflow: hidden;
    background: linear-gradient(135deg, #eef1f8, #dde2ef);
}
.intern-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s;
}
.intern-card:hover .intern-card-image img { transform: scale(1.08); }
.intern-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(0,64,128,.6) 100%);
}
.intern-open-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    background: rgba(46,125,50,.92);
    color: var(--white);
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.intern-open-tag i {
    font-size: 7px;
    margin-right: 6px;
    vertical-align: middle;
}
.intern-mode-tag {
    position: absolute;
    bottom: 14px;
    left: 14px;
    background: rgba(255,255,255,.96);
    color: var(--primary-dark);
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    z-index: 2;
    box-shadow: 0 4px 12px rgba(0,0,0,.12);
}
.intern-mode-tag i { color: var(--primary); margin-right: 5px; }
.intern-card-body {
    padding: 22px 24px 24px;
    flex: 1;
    display: flex;
    flex-direction: column;
}
.intern-card-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}
.intern-card-chips span {
    font-size: 11px;
    font-weight: 600;
    color: var(--primary);
    background: rgba(21,101,192,.06);
    padding: 5px 10px;
    border-radius: 50px;
}
.intern-card-chips span i { color: var(--accent); margin-right: 4px; font-size: 10px; }
.intern-card-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}
.intern-card-body h3 {
    font-size: 19px;
    color: var(--primary-dark);
    line-height: 1.35;
    margin: 0;
}
.intern-card-desc {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.65;
    margin-bottom: 20px;
    flex: 1;
}
.intern-card-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px dashed #eef0f5;
}
.intern-card-actions .btn i { margin-right: 5px; }
.intern-card-cta { margin-left: auto; }
.intern-applied-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--success);
    margin-left: auto;
    background: rgba(46,125,50,.08);
    padding: 6px 12px;
    border-radius: 50px;
}
.intern-applied-label i { margin-right: 4px; }
.intern-empty {
    text-align: center;
    padding: 64px 28px;
    background: var(--white);
    border-radius: 20px;
    box-shadow: var(--shadow);
    margin-bottom: 50px;
    border: 1px solid #eef0f5;
}
.intern-empty-icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.12));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    color: var(--primary);
}
.intern-empty h3 { color: var(--primary-dark); margin-bottom: 10px; font-size: 22px; }
.intern-empty p { color: var(--text-light); margin-bottom: 24px; max-width: 440px; margin-left: auto; margin-right: auto; line-height: 1.6; }
.intern-apply-zone {
    background: var(--white);
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(21,101,192,.1);
    border: 1px solid #e8ecf5;
    padding: 36px;
    margin-bottom: 60px;
}
.intern-apply-header {
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #eef0f5;
}
.intern-apply-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--accent);
    margin-bottom: 8px;
}
.intern-apply-header h2 {
    font-size: 28px;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.intern-apply-header > div > p {
    font-size: 15px;
    color: var(--text-light);
    margin: 0;
    max-width: 620px;
    line-height: 1.6;
}
.intern-page-layout {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 28px;
    align-items: start;
}
.intern-sidebar {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 90px;
}
.intern-sidebar-links { display: flex; flex-direction: column; gap: 10px; }
.intern-sidebar-links .btn i { margin-right: 6px; }
.intern-guest-card {
    background: linear-gradient(145deg, var(--primary-dark), var(--primary));
    color: var(--white);
    padding: 28px 22px;
    border-radius: 16px;
    text-align: center;
    box-shadow: 0 16px 45px rgba(0,64,128,.22);
}
.intern-guest-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--accent);
}
.intern-guest-card h4 { font-size: 18px; margin-bottom: 10px; }
.intern-guest-card p { font-size: 13px; opacity: .9; line-height: 1.55; margin-bottom: 18px; }
.intern-guest-actions { display: flex; flex-direction: column; gap: 10px; }
.intern-guest-actions .btn i { margin-right: 6px; }
.intern-main { display: flex; flex-direction: column; gap: 24px; }
.intern-apps-panel { margin-bottom: 0; }
.intern-auth-card {
    text-align: center;
    padding: 52px 32px;
    background: linear-gradient(180deg, #fafbfd, var(--white));
    border-radius: 18px;
    border: 1px dashed #dde2ef;
}
.intern-auth-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), #1565c0);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    box-shadow: 0 10px 30px rgba(21,101,192,.25);
}
.intern-auth-card h3 { font-size: 22px; color: var(--primary-dark); margin-bottom: 10px; }
.intern-auth-card p { color: var(--text-light); margin-bottom: 24px; max-width: 440px; margin-left: auto; margin-right: auto; line-height: 1.6; }
.intern-auth-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.intern-auth-actions .btn i { margin-right: 6px; }
.intern-form-panel {
    background: linear-gradient(180deg, #fafbfd 0%, var(--white) 100%);
    border-radius: 18px;
    padding: 28px;
    border: 1px solid #eef0f5;
    box-shadow: 0 8px 30px rgba(21,101,192,.06);
}
.intern-form-head { margin-bottom: 22px; }
.intern-form-head h3 { font-size: 20px; color: var(--primary-dark); margin-bottom: 6px; }
.intern-form-head h3 i { color: var(--accent); margin-right: 8px; }
.intern-form-head p { font-size: 14px; color: var(--text-light); margin: 0; }
.intern-apply-form .form-group { margin-bottom: 18px; }
.intern-apply-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 7px;
}
.intern-apply-form label i { color: var(--accent); margin-right: 6px; width: 14px; }
.intern-apply-form input[type="text"],
.intern-apply-form input[type="email"],
.intern-apply-form input[type="tel"],
.intern-apply-form select,
.intern-apply-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #dde2ef;
    border-radius: 10px;
    font-size: 14px;
    font-family: inherit;
    transition: border-color .3s, box-shadow .3s;
    background: var(--white);
}
.intern-apply-form input:focus,
.intern-apply-form select:focus,
.intern-apply-form textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(21,101,192,.08);
}
.intern-apply-form textarea { resize: vertical; min-height: 100px; }
.intern-submit-btn { margin-top: 8px; padding: 14px; font-size: 15px; }
.intern-submit-btn i { margin-right: 8px; }
.intern-form-empty {
    text-align: center;
    padding: 44px 20px;
}
.intern-form-empty-icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #e8f5e9;
    color: var(--success);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}
.intern-form-empty h4 { font-size: 18px; color: var(--primary-dark); margin-bottom: 8px; }
.intern-form-empty p { font-size: 14px; color: var(--text-light); margin-bottom: 18px; line-height: 1.6; }
.intern-cta-strip {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    padding: 40px 0;
    margin-top: 0;
    position: relative;
    overflow: hidden;
}
.intern-cta-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 0% 100%, rgba(3,169,244,.15) 0%, transparent 45%);
    pointer-events: none;
}
.intern-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    color: var(--white);
    position: relative;
    z-index: 1;
}
.intern-cta-inner h3 { font-size: 22px; margin-bottom: 6px; }
.intern-cta-inner h3 i { color: var(--accent); margin-right: 10px; }
.intern-cta-inner p { font-size: 14px; opacity: .9; margin: 0; max-width: 520px; line-height: 1.55; }
.intern-cta-inner .btn i { margin-right: 8px; }

/* Internship page v2 enhancements */
.intern-hero {
    padding: 72px 0 64px;
    background: linear-gradient(135deg, #081229 0%, var(--primary-dark) 30%, #1565c0 55%, #1565c0 85%, #1976d2 100%);
}
.intern-hero-glow-1 {
    width: 320px;
    height: 320px;
    animation: internGlowPulse 8s ease-in-out infinite;
}
.intern-hero-glow-2 {
    width: 260px;
    height: 260px;
    animation: internGlowPulse 10s ease-in-out infinite reverse;
}
@keyframes internGlowPulse {
    0%, 100% { opacity: .35; transform: scale(1); }
    50% { opacity: .55; transform: scale(1.08); }
}
.intern-hero-stats-panel {
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.intern-page-nav-wrap {
    position: sticky;
    top: 0;
    z-index: 40;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(21,101,192,.08);
    box-shadow: 0 4px 20px rgba(21,101,192,.06);
}
.intern-page-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 0;
}
.intern-page-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    background: #f4f6fb;
    border: 1px solid transparent;
    color: var(--primary-dark);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.intern-page-nav-link:hover {
    background: #fff;
    border-color: rgba(21,101,192,.12);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(21,101,192,.08);
    color: var(--primary);
}
.intern-page-nav-link i { color: var(--accent); font-size: 12px; }
.intern-section {
    background: linear-gradient(180deg, #f8f9fd 0%, #fff 120px);
}
.intern-benefit-card {
    background: linear-gradient(180deg, #fff 0%, #fafbfd 100%);
    box-shadow: 0 8px 28px rgba(21,101,192,.06);
}
.intern-benefit-icon {
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.15));
}
.intern-process-band {
    box-shadow: 0 20px 50px rgba(21,101,192,.2);
}
.intern-process-step {
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.15);
}
.intern-process-icon {
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    box-shadow: 0 6px 16px rgba(3,169,244,.35);
}
.intern-programs-head { text-align: center; margin-bottom: 32px; }
.intern-programs-head h2 {
    font-size: 34px;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.intern-programs-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 20px;
    margin-top: 16px;
}
.intern-programs-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(21,101,192,.06);
    border: 1px solid rgba(21,101,192,.1);
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-dark);
}
.intern-programs-meta i { color: var(--accent); }
.intern-programs-zone {
    padding: 32px;
    border-radius: 24px;
    background:
        radial-gradient(circle at top right, rgba(3,169,244,.08), transparent 40%),
        radial-gradient(circle at bottom left, rgba(21,101,192,.06), transparent 45%),
        #fff;
    border: 1px solid rgba(21,101,192,.08);
    box-shadow: 0 12px 40px rgba(21,101,192,.06);
    margin-bottom: 48px;
}
.intern-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    opacity: 0;
    transition: opacity .3s;
    z-index: 2;
}
.intern-card:hover::before,
.intern-card.featured::before { opacity: 1; }
.intern-card-image { height: 230px; }
.intern-card-image-badges {
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    z-index: 2;
}
.intern-card-image-badges .intern-open-tag,
.intern-card-image-badges .intern-mode-tag { position: static; }
.intern-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 11px;
    border-radius: 999px;
    background: rgba(21,101,192,.06);
    border: 1px solid rgba(21,101,192,.08);
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-dark);
}
.intern-chip i { color: var(--accent); font-size: 10px; }
.intern-card-body h3 { font-size: 20px; line-height: 1.35; }
.intern-card-actions {
    padding-top: 16px;
    margin-top: auto;
    border-top: 1px dashed rgba(21,101,192,.1);
}
.intern-workspace-zone {
    margin: 48px 0;
    padding: 36px 24px;
    background: linear-gradient(180deg, rgba(21,101,192,.04) 0%, rgba(3,169,244,.04) 100%);
    border-radius: 28px;
    border: 1px solid rgba(21,101,192,.08);
}
.intern-workspace-zone-inner { max-width: 100%; }
.intern-workspace-head-block {
    display: flex;
    align-items: center;
    gap: 20px;
    text-align: left;
    margin-bottom: 28px;
}
.intern-workspace-head-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    color: #fff;
    font-size: 26px;
    flex-shrink: 0;
    box-shadow: 0 10px 24px rgba(21,101,192,.2);
}
.intern-apply-zone {
    position: relative;
    overflow: hidden;
    padding: 36px 32px;
    border-radius: 24px;
    background: #fff;
    border: 1px solid rgba(21,101,192,.1);
    box-shadow: 0 16px 48px rgba(21,101,192,.08);
}
.intern-apply-zone-glow {
    position: absolute;
    top: -80px;
    right: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(3,169,244,.18), transparent 70%);
    pointer-events: none;
}
.intern-apply-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(21,101,192,.08);
}
.intern-apply-header-icon {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.15));
    color: var(--primary);
    font-size: 22px;
    flex-shrink: 0;
}
.intern-form-panel {
    border-radius: 18px;
    border: 1px solid rgba(21,101,192,.08);
    box-shadow: 0 8px 30px rgba(21,101,192,.05);
    background: linear-gradient(180deg, #fafbfd, #fff);
}
.intern-sidebar .student-profile-card,
.intern-sidebar .intern-guest-card,
.intern-sidebar .cert-process-card {
    box-shadow: 0 8px 24px rgba(21,101,192,.06);
    border: 1px solid rgba(21,101,192,.08);
}

@media (max-width: 1100px) {
    .intern-hero-grid { grid-template-columns: 1fr; gap: 32px; }
    .intern-hero-content { text-align: center; }
    .intern-hero p { margin-left: auto; margin-right: auto; }
    .intern-hero-badges { justify-content: center; }
    .intern-hero-actions { justify-content: center; }
    .intern-benefits { grid-template-columns: repeat(2, 1fr); }
    .intern-page-layout { grid-template-columns: 1fr; }
    .intern-sidebar { position: static; }
    .intern-process-arrow { display: none; }
    .intern-process-steps { gap: 14px; }
    .intern-workspace-head-block { flex-direction: column; text-align: center; }
    .intern-programs-zone { padding: 24px 20px; }
}
@media (max-width: 768px) {
    .intern-page-nav { justify-content: center; }
    .intern-page-nav-link { padding: 8px 14px; font-size: 12px; }
    .intern-hero { padding: 48px 0 40px; }
    .intern-hero h1 { font-size: 28px; }
    .intern-hero-stats { grid-template-columns: 1fr 1fr; }
    .intern-benefits { grid-template-columns: 1fr; }
    .intern-process-band { padding: 28px 20px; }
    .intern-process-step { min-width: calc(50% - 8px); max-width: none; }
    .intern-programs-head h2 { font-size: 26px; }
    .intern-grid { grid-template-columns: 1fr; }
    .intern-apply-zone { padding: 24px 20px; }
    .intern-cta-inner { flex-direction: column; text-align: center; }
    .intern-card-cta { margin-left: 0; width: 100%; }
    .intern-card-actions { flex-direction: column; align-items: stretch; }
    .intern-card-actions .btn { width: 100%; justify-content: center; }
    .intern-applied-label { margin-left: 0; text-align: center; }
    .intern-programs-zone { padding: 18px 14px; border-radius: 18px; }
    .intern-workspace-zone { padding: 24px 16px; border-radius: 20px; }
    .intern-apply-header { flex-direction: column; text-align: center; }
}

/* Internship Detail Page */
.intern-detail-hero {
    overflow: hidden;
    position: relative;
    text-align: center;
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, #1565c0 100%);
    padding: 44px 0 52px;
}
.intern-detail-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 80%, rgba(3,169,244,.15) 0%, transparent 45%),
        radial-gradient(circle at 80% 20%, rgba(255,255,255,.06) 0%, transparent 40%);
    pointer-events: none;
}
.intern-detail-back {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.85);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 24px;
    transition: color .3s;
}
.intern-detail-back:hover { color: var(--accent); }
.intern-detail-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin: 0 auto;
}
.intern-detail-hero-icon {
    font-size: 48px;
    color: var(--accent);
    margin-bottom: 12px;
}
.intern-detail-hero h1 {
    font-size: 36px;
    line-height: 1.25;
    margin-bottom: 18px;
    color: var(--white);
}
.intern-detail-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}
.intern-detail-hero-badges span {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
}
.intern-detail-hero-badges span i { color: var(--accent); margin-right: 6px; }
.intern-detail-section {
    background: linear-gradient(180deg, var(--bg-light) 0%, var(--white) 120px);
    padding-bottom: 48px;
}
.intern-detail-section + .intern-cta-strip {
    margin-top: 8px;
}
.intern-detail-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 32px;
    align-items: start;
}
.intern-detail-visual {
    position: relative;
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 24px;
    box-shadow: 0 20px 50px rgba(0,64,128,.15);
}
.intern-detail-visual img {
    width: 100%;
    max-height: 360px;
    object-fit: cover;
    display: block;
}
.intern-detail-visual-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 50%, rgba(0,64,128,.4) 100%);
}
.intern-detail-visual-tags {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.intern-detail-tag {
    background: rgba(255,255,255,.95);
    color: var(--primary-dark);
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(0,0,0,.12);
}
.intern-detail-tag i { margin-right: 6px; color: var(--primary); }
.intern-detail-tag.duration i { color: var(--accent); }
.intern-detail-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-bottom: 28px;
}
.intern-detail-highlight {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--white);
    padding: 18px 16px;
    border-radius: 12px;
    box-shadow: var(--shadow);
    border-top: 3px solid var(--accent);
}
.intern-detail-highlight > i {
    font-size: 20px;
    color: var(--primary);
    margin-top: 2px;
    flex-shrink: 0;
}
.intern-detail-highlight strong {
    display: block;
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 3px;
}
.intern-detail-highlight span {
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.45;
}
.intern-detail-block {
    background: var(--white);
    border-radius: 16px;
    box-shadow: var(--shadow);
    border: 1px solid #eef0f5;
    margin-bottom: 22px;
    overflow: hidden;
}
.intern-detail-block.requirements { border-top: 4px solid var(--primary); }
.intern-detail-block-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px;
    border-bottom: 1px solid #eef0f5;
    background: linear-gradient(180deg, #fafbfd, var(--white));
}
.intern-detail-block-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.12));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--primary);
    flex-shrink: 0;
}
.intern-detail-block-head h2 {
    font-size: 20px;
    color: var(--primary-dark);
    margin: 0;
}
.intern-detail-block-body {
    padding: 22px 24px 26px;
    font-size: 15px;
    color: var(--text);
    line-height: 1.85;
}
.intern-detail-steps-block {
    background: var(--white);
    border-radius: 16px;
    padding: 24px;
    box-shadow: var(--shadow);
    border: 1px solid #eef0f5;
}
.intern-detail-steps-block h3 {
    font-size: 18px;
    color: var(--primary-dark);
    margin-bottom: 18px;
}
.intern-detail-steps-block h3 i { color: var(--accent); margin-right: 8px; }
.intern-detail-steps { display: flex; flex-direction: column; gap: 14px; }
.intern-detail-step-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 14px 16px;
    background: var(--bg-light);
    border-radius: 12px;
}
.intern-detail-step-item .step-num {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), #1565c0);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
}
.intern-detail-step-item strong {
    display: block;
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 3px;
}
.intern-detail-step-item p {
    font-size: 13px;
    color: var(--text-light);
    margin: 0;
    line-height: 1.5;
}
.intern-detail-sidebar { position: sticky; top: 90px; }
.intern-detail-apply-card {
    background: var(--white);
    border-radius: 18px;
    box-shadow: 0 16px 50px rgba(21,101,192,.12);
    border: 1px solid #e8ecf5;
    overflow: hidden;
    margin-bottom: 18px;
}
.intern-detail-apply-head {
    padding: 22px 24px;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: var(--white);
    border-radius: 18px 18px 0 0;
}
.intern-detail-apply-head h3 { font-size: 18px; margin-bottom: 6px; }
.intern-detail-apply-head h3 i { color: var(--accent); margin-right: 8px; }
.intern-detail-apply-head p { font-size: 13px; opacity: .9; margin: 0; line-height: 1.5; }
.intern-detail-auth,
.intern-detail-status,
.intern-detail-form {
    padding: 24px;
}
.intern-detail-auth { text-align: center; }
.intern-detail-auth-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: var(--primary);
}
.intern-detail-auth h4 { font-size: 17px; color: var(--primary-dark); margin-bottom: 8px; }
.intern-detail-auth p { font-size: 13px; color: var(--text-light); margin-bottom: 18px; line-height: 1.55; }
.intern-detail-auth-actions { display: flex; flex-direction: column; gap: 10px; }
.intern-detail-auth-actions .btn i { margin-right: 6px; }
.intern-detail-status-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    border-radius: 12px;
    margin-bottom: 20px;
}
.intern-detail-status-banner i { font-size: 28px; flex-shrink: 0; margin-top: 2px; }
.intern-detail-status-banner strong {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
}
.intern-detail-status-banner span { font-size: 13px; line-height: 1.5; opacity: .92; }
.intern-detail-status-banner.approved {
    background: #e8f5e9;
    color: #1b5e20;
    border: 1px solid #a5d6a7;
}
.intern-detail-status-banner.approved i { color: #2e7d32; }
.intern-detail-status-banner.pending {
    background: #fff3e0;
    color: #e65100;
    border: 1px solid #ffcc80;
}
.intern-detail-status-banner.pending i { color: #ef6c00; }
.intern-detail-status-list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    border: 1px solid #eef0f5;
    border-radius: 12px;
    overflow: hidden;
}
.intern-detail-status-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid #eef0f5;
    font-size: 14px;
}
.intern-detail-status-list li:last-child { border-bottom: none; }
.intern-detail-status-list .lbl { color: var(--text-light); font-weight: 600; }
.intern-detail-status-list .val { color: var(--primary-dark); font-weight: 500; text-align: right; }
.intern-detail-remarks {
    background: var(--bg-light);
    padding: 14px 16px;
    border-radius: 10px;
    margin-bottom: 18px;
}
.intern-detail-remarks-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: var(--primary);
    margin-bottom: 8px;
}
.intern-detail-remarks-label i { color: var(--accent); margin-right: 6px; }
.intern-detail-remarks p { font-size: 14px; color: var(--text); margin: 0; line-height: 1.6; }
.intern-detail-remarks.pending {
    font-size: 13px;
    color: var(--text-light);
    font-style: italic;
    line-height: 1.55;
}
.intern-detail-remarks.pending i { color: var(--accent); margin-right: 6px; }
.intern-detail-status-actions { display: flex; flex-direction: column; gap: 10px; padding: 0 24px 24px; }
.intern-detail-status-actions .btn i { margin-right: 6px; }

/* Full-width payment block inside detail sidebar card */
.intern-detail-apply-card > .intern-payment-card {
    margin: 0;
    border-radius: 0;
    border-left: none;
    border-right: none;
    box-shadow: none;
    border-top: 1px solid #e8ecf5;
    border-bottom: 1px solid #e8ecf5;
}
.intern-detail-apply-card > .intern-payment-card .intern-payment-card-top {
    border-radius: 0;
}
.intern-detail-apply-card > .intern-payment-card .intern-payment-card-body {
    padding: 16px 20px 18px;
}
.intern-detail-user-chip {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #e8f5e9;
    color: #2e7d32;
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 13px;
    margin-bottom: 18px;
    border: 1px solid #c8e6c9;
}
.intern-detail-user-chip i { font-size: 16px; }
.intern-detail-form .form-group { margin-bottom: 16px; }
.intern-detail-help {
    display: flex;
    gap: 14px;
    padding: 18px 20px;
    background: linear-gradient(135deg, rgba(3,169,244,.1), rgba(3,169,244,.04));
    border: 1px solid rgba(3,169,244,.2);
    border-radius: 14px;
}
.intern-detail-help > i {
    font-size: 22px;
    color: var(--accent);
    flex-shrink: 0;
    margin-top: 2px;
}
.intern-detail-help strong {
    display: block;
    font-size: 14px;
    color: var(--primary-dark);
    margin-bottom: 4px;
}
.intern-detail-help p { font-size: 13px; color: var(--text-light); margin: 0; line-height: 1.5; }
.intern-detail-help a { color: var(--primary); font-weight: 600; }

@media (max-width: 1100px) {
    .intern-detail-layout { grid-template-columns: 1fr; }
    .intern-detail-sidebar { position: static; }
    .intern-detail-highlights { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .intern-detail-hero h1 { font-size: 26px; }
    .intern-detail-visual img { max-height: 240px; }
}

/* Auth & Internship Apply */
.readonly-field{background:#f5f5f5!important;color:#555;cursor:not-allowed}
.apply-status-table{width:100%;border-collapse:collapse;font-size:14px}
.apply-status-table th,.apply-status-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #eee}
.apply-status-table th{background:var(--bg-light);color:var(--primary)}
.status-badge.pending{background:#fff3e0;color:#e65100}
.status-badge.approved{background:#e8f5e9;color:#2e7d32}
.status-badge.rejected{background:#ffebee;color:#c62828}
.section-subtitle{font-size:26px;color:var(--primary);margin:40px 0 20px;padding-top:20px;border-top:2px solid var(--bg-light)}
.required{color:#c62828}
.card-body .status-badge{margin-top:10px;display:inline-block}
.card-body .btn{margin-top:8px;margin-right:6px}
.application-status-box h4{color:var(--primary);margin-bottom:15px}
.dash-section h3{color:var(--primary);margin-bottom:15px}
.course-item .status-badge{margin-left:8px}

/* Responsive */
@media(max-width:768px){
.slide-content h1{font-size:28px}
.hero-slider{height:400px}
.form-row,.course-detail-grid,.contact-grid,.contact-main-grid,.about-story-grid,.about-mv-grid,.about-highlights-grid,.about-trust-inner,.about-cta-inner,.cert-details-grid{grid-template-columns:1fr}
.about-hero-stats{gap:10px}
.about-stat{padding:12px 18px;min-width:100px}
.about-cta-inner{flex-direction:column;text-align:center;padding:30px 24px}
.about-cta-actions{justify-content:center}
.about-story-accent{position:relative;bottom:auto;left:auto;right:auto;margin-top:16px}
.verify-form{flex-direction:column}
.verify-steps-grid{grid-template-columns:1fr}
.cert-display-footer{flex-direction:column;text-align:center}
.cert-meta-grid{grid-template-columns:1fr 1fr}
.footer-main{padding:40px 0 32px}
.footer-grid{grid-template-columns:1fr;gap:28px}
.footer-brand{grid-column:auto}
.footer-bottom-inner{flex-direction:column;text-align:center;justify-content:center}
.footer-bottom-links{justify-content:center}
}

@media(max-width:480px){
.logo-mark{width:44px;height:44px;border-radius:12px}
.logo-copy strong{font-size:14px}
.header-inner{padding:10px 14px}
.mobile-toggle{width:42px;height:42px}
.main-nav .nav-menu{padding:8px 12px 14px}
.nav-link{padding:13px 10px}
}

/* Free Webinar Listing Page */
.webinar-page-hero .intern-hero-glow-1 { background: rgba(76,175,80,.22); }
.webinar-page-hero .intern-hero-glow-2 { background: rgba(3,169,244,.28); }
.webinar-page-section { padding-bottom: 70px; }
.webinar-process-band::before {
    background: radial-gradient(circle at 0% 100%, rgba(76,175,80,.18) 0%, transparent 50%),
                radial-gradient(circle at 100% 0%, rgba(3,169,244,.2) 0%, transparent 50%);
}
.webinar-card.featured { border-color: rgba(3,169,244,.35); }
.webinar-phase-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
    z-index: 2;
    backdrop-filter: blur(6px);
}
.webinar-phase-tag i { font-size: 7px; }
.webinar-phase-upcoming {
    background: rgba(33,150,243,.85);
    color: var(--white);
    box-shadow: 0 6px 16px rgba(33,150,243,.3);
}
.webinar-phase-live {
    background: rgba(76,175,80,.9);
    color: var(--white);
    box-shadow: 0 6px 16px rgba(76,175,80,.35);
}
.webinar-phase-live i { animation: webinarPulse 1.4s ease-in-out infinite; }
.webinar-phase-completed {
    background: rgba(255,255,255,.88);
    color: var(--primary-dark);
}
.webinar-free-tag {
    top: auto;
    bottom: 14px;
    left: 14px;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    font-weight: 700;
}
.webinar-free-tag i { color: var(--primary-dark); animation: none; }
.intern-fee-tag {
    background: linear-gradient(135deg, #fff8e1, #ffe082);
    color: var(--primary-dark);
}
.intern-my-app-remarks {
    font-size: 13px;
    color: var(--text-light);
    margin: 0 0 12px;
    line-height: 1.5;
}
.intern-my-app-remarks i { color: var(--accent); margin-right: 6px; }
.webinar-speaker-line {
    font-size: 13px;
    color: var(--primary);
    font-weight: 600;
    margin: -4px 0 10px;
}
.webinar-speaker-line i { color: var(--accent); margin-right: 6px; }
.webinar-my-apps {
    margin-top: 52px;
    padding-top: 48px;
    border-top: 1px solid #e8ecf4;
}
.webinar-my-apps-head { text-align: center; margin-bottom: 28px; }
.webinar-my-apps-head h2 {
    font-size: 28px;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.webinar-my-apps-head p { color: var(--text-light); margin: 0; }
.webinar-my-apps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 18px;
}
.webinar-my-app-card {
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 8px 24px rgba(0,64,128,.06);
    transition: transform .25s, box-shadow .25s;
}
.webinar-my-app-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 32px rgba(0,64,128,.1);
}
.webinar-my-app-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.webinar-my-app-top strong {
    font-size: 16px;
    color: var(--primary-dark);
    line-height: 1.35;
}
.webinar-my-app-date {
    font-size: 13px;
    color: var(--text-light);
    margin: 0 0 14px;
}
.webinar-my-app-date i { color: var(--accent); margin-right: 6px; }
.webinar-my-app-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.webinar-register-banner {
    margin-top: 52px;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    border-radius: 20px;
    padding: 32px;
    color: var(--white);
    box-shadow: 0 20px 50px rgba(0,64,128,.2);
    overflow: hidden;
    position: relative;
}
.webinar-register-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 100% 0%, rgba(3,169,244,.22), transparent 55%);
    pointer-events: none;
}
.webinar-register-banner-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
}
.webinar-register-icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: var(--accent);
    flex-shrink: 0;
}
.webinar-register-banner h3 {
    font-size: 22px;
    margin-bottom: 8px;
}
.webinar-register-banner p {
    font-size: 14px;
    line-height: 1.6;
    opacity: .88;
    margin: 0;
    max-width: 520px;
}
.webinar-register-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 180px;
}
.webinar-register-actions .btn-outline {
    border-color: rgba(255,255,255,.45);
    color: var(--white);
}
.webinar-register-actions .btn-outline:hover {
    background: var(--white);
    color: var(--primary);
}
@media (max-width: 992px) {
    .webinar-register-banner-inner { grid-template-columns: 1fr; text-align: center; }
    .webinar-register-icon { margin: 0 auto; }
    .webinar-register-banner p { margin: 0 auto; }
    .webinar-register-actions { width: 100%; max-width: 280px; margin: 0 auto; }
}
@media (max-width: 768px) {
    .webinar-my-apps-grid { grid-template-columns: 1fr; }
}

/* Free Webinar Detail Page */
.webinar-detail-hero {
    position: relative;
    overflow: hidden;
    padding: 36px 0 80px;
    color: var(--white);
}
.webinar-detail-hero-bg {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(115deg, rgba(6,16,42,.94) 0%, rgba(0,64,128,.88) 45%, rgba(21,101,192,.72) 100%),
        var(--webinar-hero-image) center/cover no-repeat;
}
.webinar-detail-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: .35;
    background-image:
        radial-gradient(rgba(3,169,244,.22) 1px, transparent 1px),
        radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
    background-size: 28px 28px, 18px 18px;
    background-position: 0 0, 9px 9px;
    pointer-events: none;
}
.webinar-detail-hero .container { position: relative; z-index: 2; }
.webinar-detail-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.86);
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 28px;
    transition: color .25s;
}
.webinar-detail-back:hover { color: var(--accent); }
.webinar-detail-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr .9fr;
    gap: 36px;
    align-items: center;
}
.webinar-detail-hero-content { text-align: left; }
.webinar-detail-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.4);
    color: #b3e5fc;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.webinar-detail-hero h1 {
    font-size: 42px;
    line-height: 1.15;
    margin-bottom: 16px;
    color: var(--white);
    text-shadow: 0 8px 30px rgba(0,0,0,.25);
}
.webinar-detail-hero-lead {
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255,255,255,.84);
    max-width: 560px;
    margin: 0 0 24px;
}
.webinar-detail-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.webinar-detail-hero-cta {
    box-shadow: 0 12px 32px rgba(3,169,244,.35);
    font-weight: 700;
}
.webinar-detail-hero-join { border-width: 2px; }
.webinar-detail-hero-card {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 22px;
    overflow: hidden;
    backdrop-filter: blur(8px);
    box-shadow: 0 28px 60px rgba(0,0,0,.28);
}
.webinar-detail-hero-card-image {
    position: relative;
    aspect-ratio: 16/10;
    overflow: hidden;
}
.webinar-detail-hero-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
}
.webinar-detail-hero-card-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    box-shadow: 0 8px 20px rgba(0,0,0,.2);
}
.webinar-detail-hero-card-badge i { margin-right: 6px; }
.webinar-detail-hero-card-meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 16px 18px 18px;
}
.webinar-detail-hero-card-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.9);
}
.webinar-detail-hero-card-meta span i { color: var(--accent); width: 16px; text-align: center; }
.webinar-detail-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border-radius: 50px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    width: fit-content;
}
.webinar-detail-badge-live i { font-size: 8px; animation: webinarPulse 1.4s ease-in-out infinite; }
.webinar-detail-badge-upcoming { background: rgba(33,150,243,.2)!important; border-color: rgba(33,150,243,.4)!important; }
.webinar-detail-badge-live { background: rgba(76,175,80,.2)!important; border-color: rgba(76,175,80,.4)!important; }
@keyframes webinarPulse { 0%,100%{opacity:1} 50%{opacity:.35} }

.webinar-detail-stats-bar {
    position: relative;
    z-index: 3;
    margin-top: -42px;
    margin-bottom: 36px;
}
.webinar-detail-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.webinar-detail-stat {
    display: flex;
    align-items: center;
    gap: 14px;
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 16px;
    padding: 18px 16px;
    box-shadow: 0 16px 40px rgba(0,64,128,.1);
    transition: transform .25s, box-shadow .25s;
}
.webinar-detail-stat:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 48px rgba(0,64,128,.14);
}
.webinar-detail-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.16));
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    flex-shrink: 0;
}
.webinar-detail-stat strong {
    display: block;
    font-size: 20px;
    color: var(--primary-dark);
    line-height: 1.2;
}
.webinar-detail-stat span {
    display: block;
    font-size: 12px;
    color: var(--text-light);
    font-weight: 600;
}
.webinar-detail-stat .lt-detail-stat-price { margin-bottom: 2px; }
.webinar-detail-stat .lt-price-offer,
.webinar-detail-stat .lt-price-current {
    font-size: 20px;
    color: var(--primary-dark);
}
.webinar-detail-stat .lt-price-old { font-size: 14px; }

.webinar-detail-section {
    background: linear-gradient(180deg, #eef2f8 0%, var(--white) 220px);
    padding-top: 0;
    padding-bottom: 80px;
}
.webinar-detail-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    justify-content: center;
    margin-bottom: 32px;
    padding: 14px 18px;
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(0,64,128,.05);
}
.webinar-detail-trust span {
    font-size: 13px;
    font-weight: 600;
    color: var(--primary-dark);
}
.webinar-detail-trust span i { color: #2e7d32; margin-right: 6px; }
.webinar-detail-layout {
    display: grid;
    grid-template-columns: 1fr 400px;
    gap: 36px;
    align-items: start;
}
.webinar-detail-highlights {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 30px;
}
.webinar-detail-highlight {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: var(--white);
    border-radius: 18px;
    padding: 22px 18px;
    border: 1px solid #e8ecf4;
    box-shadow: 0 10px 28px rgba(0,64,128,.06);
    overflow: hidden;
    transition: transform .3s, box-shadow .3s;
}
.webinar-detail-highlight::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
}
.webinar-detail-highlight-2::before { background: linear-gradient(90deg, #1565c0, #42a5f5); }
.webinar-detail-highlight-3::before { background: linear-gradient(90deg, #b8860b, var(--accent)); }
.webinar-detail-highlight:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(0,64,128,.12);
}
.webinar-detail-highlight-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.12));
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
.webinar-detail-highlight strong {
    display: block;
    font-size: 16px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.webinar-detail-highlight span {
    display: block;
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.55;
}
.webinar-detail-speaker {
    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
    background: linear-gradient(135deg, #08122e, var(--primary-dark) 50%, var(--primary));
    color: var(--white);
    border-radius: 20px;
    padding: 28px;
    margin-bottom: 30px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,64,128,.2);
}
.webinar-detail-speaker-glow {
    position: absolute;
    top: -40px;
    right: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(3,169,244,.25), transparent 70%);
    pointer-events: none;
}
.webinar-detail-speaker-avatar {
    width: 80px;
    height: 80px;
    border-radius: 20px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    color: var(--accent);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.webinar-detail-speaker-copy { position: relative; z-index: 1; }
.webinar-detail-speaker-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: #b3e5fc;
    margin-bottom: 8px;
}
.webinar-detail-speaker-copy h2 {
    font-size: 24px;
    margin-bottom: 8px;
}
.webinar-detail-speaker-copy p {
    font-size: 14px;
    line-height: 1.6;
    color: rgba(255,255,255,.8);
    margin: 0;
}
.webinar-detail-block {
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 20px;
    padding: 26px 28px;
    margin-bottom: 24px;
    box-shadow: 0 10px 30px rgba(0,64,128,.05);
}
.webinar-detail-block-accent {
    border-top: 4px solid var(--accent);
    background: linear-gradient(180deg, #fffdf5, var(--white));
}
.webinar-detail-block-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 16px;
    border-bottom: 1px solid #eef1f7;
}
.webinar-detail-block-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 4px;
}
.webinar-detail-block-head h2 {
    font-size: 22px;
    color: var(--primary-dark);
    margin: 0;
}
.webinar-detail-block-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--primary), #1976d2);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(21,101,192,.22);
}
.webinar-detail-block-body {
    font-size: 15px;
    line-height: 1.8;
    color: var(--text);
}
.webinar-detail-timeline { display: flex; flex-direction: column; gap: 0; }
.webinar-detail-timeline-item {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 18px;
    position: relative;
    padding-bottom: 20px;
}
.webinar-detail-timeline-item:last-child { padding-bottom: 0; }
.webinar-detail-timeline-item:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 27px;
    top: 56px;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, #c5cae9, transparent);
}
.webinar-detail-timeline-marker {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--bg-light);
    border: 2px solid #d8deea;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 16px;
    color: var(--primary);
    position: relative;
    z-index: 1;
}
.webinar-detail-timeline-today .webinar-detail-timeline-marker {
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    border-color: var(--accent);
    color: var(--primary-dark);
    box-shadow: 0 10px 24px rgba(3,169,244,.3);
}
.webinar-detail-timeline-done .webinar-detail-timeline-marker {
    background: #e8f5e9;
    border-color: #81c784;
    color: #2e7d32;
}
.webinar-detail-timeline-content {
    background: linear-gradient(135deg, #f8f9fc, var(--white));
    border: 1px solid #e8ecf4;
    border-radius: 16px;
    padding: 16px 18px;
}
.webinar-detail-timeline-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 6px;
}
.webinar-detail-timeline-top strong {
    font-size: 16px;
    color: var(--primary-dark);
}
.webinar-detail-timeline-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}
.webinar-detail-timeline-pill.today {
    background: rgba(3,169,244,.16);
    color: #8a6d00;
}
.webinar-detail-timeline-pill.done {
    background: #e8f5e9;
    color: #2e7d32;
}
.webinar-detail-timeline-date {
    display: block;
    font-size: 14px;
    color: var(--text-light);
}
.webinar-detail-steps-block {
    background: linear-gradient(135deg, rgba(21,101,192,.05), rgba(3,169,244,.1));
    border: 1px solid rgba(21,101,192,.1);
    border-radius: 20px;
    padding: 28px;
}
.webinar-detail-steps-head { margin-bottom: 20px; }
.webinar-detail-steps-head h3 {
    font-size: 20px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.webinar-detail-steps-head h3 i { color: var(--accent); margin-right: 8px; }
.webinar-detail-steps-head p {
    font-size: 14px;
    color: var(--text-light);
    margin: 0;
}
.webinar-detail-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.webinar-detail-step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--white);
    border-radius: 16px;
    padding: 18px;
    border: 1px solid #e8ecf4;
    box-shadow: 0 6px 18px rgba(0,64,128,.04);
}
.webinar-detail-step-num {
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    color: rgba(21,101,192,.15);
    flex-shrink: 0;
}
.webinar-detail-step strong {
    display: block;
    font-size: 15px;
    color: var(--primary-dark);
    margin-bottom: 4px;
}
.webinar-detail-step p {
    font-size: 13px;
    color: var(--text-light);
    margin: 0;
    line-height: 1.5;
}
.webinar-detail-sidebar { position: sticky; top: 92px; }
.webinar-detail-apply-card {
    background: var(--white);
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,64,128,.14);
    border: 1px solid #e8ecf4;
}
.webinar-detail-apply-head {
    position: relative;
    background: linear-gradient(145deg, #06102a, var(--primary-dark) 40%, var(--primary));
    color: var(--white);
    padding: 28px 24px 24px;
    text-align: center;
}
.webinar-detail-apply-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    background: rgba(3,169,244,.2);
    border: 1px solid rgba(3,169,244,.35);
    color: #b3e5fc;
    padding: 5px 10px;
    border-radius: 50px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
}
.webinar-detail-apply-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.16);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--accent);
}
.webinar-detail-apply-head h3 { font-size: 21px; margin-bottom: 8px; }
.webinar-detail-apply-head p {
    font-size: 13px;
    line-height: 1.55;
    opacity: .88;
    margin: 0;
}
.webinar-detail-auth,
.webinar-detail-status,
.webinar-detail-form { padding: 24px 24px 26px; }
.webinar-detail-auth { text-align: center; }
.webinar-detail-auth-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.14));
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}
.webinar-detail-auth h4 { font-size: 18px; color: var(--primary-dark); margin-bottom: 8px; }
.webinar-detail-auth p {
    font-size: 13px;
    color: var(--text-light);
    margin-bottom: 18px;
    line-height: 1.55;
}
.webinar-detail-auth-actions { display: flex; flex-direction: column; gap: 10px; }
.webinar-detail-status-banner {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    border-radius: 14px;
    margin-bottom: 14px;
}
.webinar-detail-status-banner i { font-size: 26px; flex-shrink: 0; margin-top: 2px; }
.webinar-detail-status-banner strong { display: block; font-size: 15px; margin-bottom: 4px; }
.webinar-detail-status-banner span { font-size: 13px; line-height: 1.5; opacity: .92; }
.webinar-detail-status-banner.status-approved { background: #e8f5e9; border: 1px solid #c8e6c9; color: #1b5e20; }
.webinar-detail-status-banner.status-approved i { color: #2e7d32; }
.webinar-detail-status-banner.status-pending { background: #fff8e1; border: 1px solid #ffe082; color: #6d4c00; }
.webinar-detail-status-banner.status-pending i { color: #ef6c00; }
.webinar-detail-remarks {
    background: var(--bg-light);
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 14px;
}
.webinar-detail-remarks-label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.webinar-detail-remarks-label i { color: var(--accent); margin-right: 6px; }
.webinar-detail-remarks p { font-size: 14px; margin: 0; line-height: 1.6; }
.webinar-detail-access-panel {
    background: linear-gradient(135deg, rgba(21,101,192,.05), rgba(3,169,244,.08));
    border: 1px solid rgba(21,101,192,.12);
    border-radius: 16px;
    padding: 18px;
}
.webinar-detail-access-panel h4 { font-size: 16px; color: var(--primary-dark); margin-bottom: 12px; }
.webinar-detail-access-panel h4 i { color: var(--accent); margin-right: 8px; }
.webinar-detail-access-list { list-style: none; margin: 0 0 12px; padding: 0; }
.webinar-detail-access-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(21,101,192,.1);
    font-size: 13px;
}
.webinar-detail-access-list li:last-child { border-bottom: none; }
.webinar-detail-access-list span { color: var(--text-light); font-weight: 600; }
.webinar-detail-access-list strong { color: var(--primary-dark); }
.webinar-detail-progress {
    height: 8px;
    background: #e8ecf4;
    border-radius: 50px;
    overflow: hidden;
    margin-bottom: 16px;
}
.webinar-detail-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    border-radius: 50px;
    transition: width .4s ease;
}
.webinar-detail-join-btn {
    margin-bottom: 10px;
    box-shadow: 0 10px 24px rgba(21,101,192,.2);
    font-weight: 700;
}
.webinar-detail-submit-btn { font-weight: 700; box-shadow: 0 10px 24px rgba(21,101,192,.18); }
.webinar-detail-join-pending {
    font-size: 13px;
    color: var(--text-light);
    background: var(--bg-light);
    border-radius: 10px;
    padding: 12px 14px;
    margin-bottom: 10px;
    line-height: 1.5;
}
.webinar-detail-join-pending i { color: var(--accent); margin-right: 6px; }
.webinar-detail-user-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bg-light);
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 16px;
    font-size: 13px;
    color: var(--text-light);
}
.webinar-detail-user-chip i { font-size: 18px; color: var(--primary); }
.webinar-detail-form .form-group { margin-bottom: 16px; }
.webinar-detail-help {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #eef1f7;
}
.webinar-detail-help > i { font-size: 20px; color: var(--accent); margin-top: 2px; }
.webinar-detail-help strong { display: block; font-size: 14px; color: var(--primary-dark); margin-bottom: 4px; }
.webinar-detail-help p { font-size: 13px; color: var(--text-light); margin: 0; line-height: 1.5; }

@media (max-width: 992px) {
    .webinar-detail-hero-grid { grid-template-columns: 1fr; }
    .webinar-detail-hero-content { text-align: center; }
    .webinar-detail-hero-lead { margin-left: auto; margin-right: auto; }
    .webinar-detail-hero-actions { justify-content: center; }
    .webinar-detail-stats-grid { grid-template-columns: repeat(2, 1fr); }
    .webinar-detail-layout { grid-template-columns: 1fr; }
    .webinar-detail-sidebar { position: static; }
    .webinar-detail-highlights { grid-template-columns: 1fr; }
    .webinar-detail-steps { grid-template-columns: 1fr; }
    .webinar-detail-speaker { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
    .webinar-detail-hero { padding-bottom: 64px; }
    .webinar-detail-hero h1 { font-size: 30px; }
    .webinar-detail-hero-lead { font-size: 15px; }
    .webinar-detail-stats-grid { grid-template-columns: 1fr; }
    .webinar-detail-stats-bar { margin-top: -28px; }
    .webinar-detail-trust { flex-direction: column; align-items: flex-start; }
}
/* Free Webinar (dashboard/shared) */
.webinar-approved-panel,
.webinar-access-box,
.webinar-attendance-box {
    background: rgba(21,101,192,.04);
    border: 1px solid rgba(21,101,192,.12);
    border-radius: 12px;
    padding: 16px 18px;
    margin-top: 16px;
}

.webinar-approved-panel h4,
.webinar-access-box h4,
.webinar-attendance-box h4 {
    color: var(--primary-dark);
    margin-bottom: 10px;
    font-size: 16px;
}

.webinar-attendance-list,
.webinar-attendance-days {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.webinar-attendance-item,
.webinar-attendance-day {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: #fff;
}

.webinar-attendance-item.done {
    background: #f1f8e9;
    border-color: #c5e1a5;
}

.webinar-attendance-item span,
.webinar-attendance-day span {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
}

.webinar-cert-pending {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    color: #6d4c00;
}

.dash-empty-panel {
    text-align: center;
    padding: 48px 24px;
    background: var(--white);
    border-radius: 16px;
    border: 1px solid var(--border);
}

.dash-empty-panel i {
    font-size: 42px;
    color: var(--accent);
    margin-bottom: 14px;
}

.dash-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

/* Live Training */
.lt-price-display {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.lt-price-old {
    text-decoration: line-through;
    opacity: 0.7;
    font-weight: 500;
}
.lt-price-offer,
.lt-price-current {
    font-weight: 700;
}
.lt-price-sm { font-size: 13px; }
.lt-price-sm .lt-price-offer,
.lt-price-sm .lt-price-current { font-size: 14px; }
.lt-price-md { font-size: 15px; }
.lt-price-md .lt-price-offer,
.lt-price-md .lt-price-current { font-size: 17px; }
.lt-price-lg {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.lt-price-lg .lt-price-old { font-size: 18px; }
.lt-price-lg .lt-price-offer,
.lt-price-lg .lt-price-current {
    font-size: 28px;
    color: var(--primary-dark);
    line-height: 1.1;
}
.lt-price-tag .lt-price-display { gap: 6px; }
.lt-price-tag .lt-price-old { color: rgba(255,255,255,.75); opacity: 1; }
.lt-price-tag .lt-price-offer,
.lt-price-tag .lt-price-current { color: #fff; }
.lt-detail-paid-badge .lt-price-old { color: rgba(255,255,255,.7); opacity: 1; }
.lt-detail-paid-badge .lt-price-offer,
.lt-detail-paid-badge .lt-price-current { color: #fff; }
.lt-detail-hero-price-chip .lt-price-offer,
.lt-detail-hero-price-chip .lt-price-current { color: var(--accent); font-weight: 800; }
.lt-detail-fee-price { margin-bottom: 6px; }
.lt-detail-access-fee { font-weight: 700; }
.lt-dash-fee-price { font-weight: 700; }
.lt-dash-card-fee .lt-price-offer,
.lt-dash-card-fee .lt-price-current { color: var(--primary-dark); font-size: 22px; }
.lt-price-tag {
    top: auto;
    bottom: 14px;
    left: 14px;
    background: linear-gradient(135deg, #1565c0, #1976d2);
    color: #fff;
    font-weight: 700;
}
.lt-modules-list { margin: 16px 0; }
.lt-module-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.lt-module-main { display: flex; flex-direction: column; gap: 4px; }
.lt-module-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lt-review-box {
    margin-top: 16px;
    padding: 16px;
    background: linear-gradient(135deg, rgba(21,101,192,.05), rgba(255,193,7,.08));
    border: 1px solid var(--border);
    border-radius: 12px;
}
.lt-review-box h4 { margin: 0 0 8px; color: var(--primary-dark); }
.lt-review-form textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    font-family: inherit;
    margin-bottom: 10px;
}
.webinar-apply-fee { font-size: 15px; margin-bottom: 12px; }

/* Live Training Dashboard */
.lt-dash-hero { padding: 52px 0 60px; }
.lt-dash-hero-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(60px);
}
.lt-dash-hero-glow-1 {
    width: 280px; height: 280px;
    top: -80px; right: 8%;
    background: rgba(3,169,244,.22);
}
.lt-dash-hero-glow-2 {
    width: 200px; height: 200px;
    bottom: -60px; left: 5%;
    background: rgba(255,255,255,.08);
}
.lt-dash-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 32px;
    align-items: center;
}
.lt-dash-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 50px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.lt-dash-hero-content h1 {
    font-size: clamp(28px, 4vw, 38px);
    margin-bottom: 12px;
    line-height: 1.15;
}
.lt-dash-hero-content h1 i { color: var(--accent); margin-right: 10px; }
.lt-dash-hero-content > p {
    font-size: 15px;
    opacity: .9;
    line-height: 1.65;
    max-width: 560px;
    margin-bottom: 18px;
}
.lt-dash-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.lt-dash-hero-badges span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border-radius: 50px;
    background: rgba(255,255,255,.1);
    font-size: 12px;
    font-weight: 600;
}
.lt-dash-hero-badges i { color: var(--accent); }
.lt-dash-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.lt-dash-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 18px;
    padding: 18px;
    backdrop-filter: blur(8px);
}
.lt-dash-stat {
    text-align: center;
    padding: 16px 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.08);
}
.lt-dash-stat .num {
    display: block;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 6px;
}
.lt-dash-stat .lbl { font-size: 12px; opacity: .85; font-weight: 600; }
.lt-dash-stat.success { background: rgba(46,125,50,.25); }
.lt-dash-stat.warn { background: rgba(255,193,7,.18); }
.lt-dash-stat.gold { background: rgba(3,169,244,.22); }

.lt-dash-section { padding-top: 36px; }
.lt-dash-empty {
    text-align: center;
    max-width: 560px;
    margin: 0 auto;
    padding: 48px 32px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 16px 48px rgba(21,101,192,.08);
}
.lt-dash-empty-visual { position: relative; width: 100px; height: 100px; margin: 0 auto 24px; }
.lt-dash-empty-icon {
    width: 100px; height: 100px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    color: #fff;
    font-size: 38px;
    position: relative;
    z-index: 1;
    box-shadow: 0 12px 32px rgba(21,101,192,.25);
}
.lt-dash-empty-rings {
    position: absolute;
    inset: -12px;
    border: 2px dashed rgba(21,101,192,.15);
    border-radius: 50%;
    animation: ltSpin 20s linear infinite;
}
@keyframes ltSpin { to { transform: rotate(360deg); } }
.lt-dash-empty h3 { font-size: 24px; color: var(--primary-dark); margin-bottom: 10px; }
.lt-dash-empty > p { color: var(--text-light); line-height: 1.65; margin-bottom: 24px; }
.lt-dash-empty-steps {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 28px;
    flex-wrap: wrap;
}
.lt-dash-empty-steps div {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: var(--text-light);
}
.lt-dash-empty-steps span {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
}

.lt-dash-card {
    background: #fff;
    border-radius: 20px;
    border: 1px solid var(--border);
    box-shadow: 0 12px 40px rgba(21,101,192,.07);
    margin-bottom: 28px;
    overflow: hidden;
}
.lt-dash-card.status-approved { border-top: 4px solid #2e7d32; }
.lt-dash-card.status-pending { border-top: 4px solid #ef6c00; }
.lt-dash-card.status-rejected { border-top: 4px solid #c62828; }
.lt-dash-card-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px;
    background: linear-gradient(135deg, rgba(21,101,192,.06), rgba(3,169,244,.06));
    border-bottom: 1px solid var(--border);
}
.lt-dash-card-title {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}
.lt-dash-card-icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary), #1976d2);
    color: #fff;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(21,101,192,.2);
}
.lt-dash-card-title h2 {
    font-size: 22px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.lt-dash-card-title p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--text-light);
    margin: 0;
}
.lt-dash-card-title p span i { margin-right: 4px; color: var(--accent); }
.lt-dash-card-fee {
    text-align: right;
    padding: 12px 18px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid var(--border);
    box-shadow: 0 4px 12px rgba(0,0,0,.04);
}
.lt-dash-card-fee .lbl {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: var(--text-light);
    margin-bottom: 4px;
}
.lt-dash-card-fee strong {
    font-size: 20px;
    color: var(--primary-dark);
}
.lt-dash-card-body { padding: 24px; }

.lt-dash-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}
.lt-dash-mini-stat {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--bg-light);
    border-radius: 14px;
    border: 1px solid var(--border);
}
.lt-dash-mini-stat > i {
    font-size: 20px;
    color: var(--primary);
    width: 36px;
    text-align: center;
}
.lt-dash-mini-stat strong {
    display: block;
    font-size: 18px;
    color: var(--primary-dark);
    line-height: 1.1;
}
.lt-dash-mini-stat span { font-size: 11px; color: var(--text-light); }
.lt-dash-mini-stat.highlight {
    background: linear-gradient(135deg, rgba(3,169,244,.12), rgba(3,169,244,.04));
    border-color: rgba(3,169,244,.35);
}
.lt-dash-mini-stat.highlight > i { color: #a68520; }

.lt-dash-progress-block {
    background: linear-gradient(135deg, rgba(21,101,192,.04), rgba(21,101,192,.02));
    border: 1px solid rgba(21,101,192,.1);
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 20px;
}
.lt-dash-progress-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 700;
    color: var(--primary-dark);
}
.lt-dash-progress-head i { color: var(--accent); margin-right: 6px; }
.lt-dash-progress-track {
    height: 10px;
    background: #e8ecf4;
    border-radius: 50px;
    overflow: hidden;
    margin-bottom: 8px;
}
.lt-dash-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--primary), var(--accent));
    border-radius: 50px;
    transition: width .5s ease;
}
.lt-dash-progress-block > p {
    margin: 0;
    font-size: 12px;
    color: var(--text-light);
}

.lt-dash-today-banner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 20px;
    margin-bottom: 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, #1565c0, #1976d2);
    color: #fff;
    box-shadow: 0 12px 28px rgba(21,101,192,.25);
}
.lt-dash-today-banner strong {
    display: block;
    font-size: 15px;
    margin-bottom: 4px;
}
.lt-dash-today-banner strong i { color: var(--accent); margin-right: 8px; }
.lt-dash-today-banner span { font-size: 13px; opacity: .9; }
.lt-dash-today-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.lt-dash-today-actions .btn-outline {
    border-color: rgba(255,255,255,.5);
    color: #fff;
}
.lt-dash-today-actions .btn-outline:hover { background: rgba(255,255,255,.15); }

.lt-dash-modules-head {
    margin-bottom: 16px;
}
.lt-dash-modules-head h3 {
    font-size: 18px;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.lt-dash-modules-head h3 i { color: var(--accent); margin-right: 8px; }
.lt-dash-modules-head p { font-size: 13px; color: var(--text-light); margin: 0; }
.lt-dash-module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px;
}
.lt-dash-module-card {
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .2s, box-shadow .2s;
}
.lt-dash-module-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(21,101,192,.1);
}
.lt-dash-module-card.done { border-color: #a5d6a7; background: linear-gradient(180deg, #f1f8e9, #fff); }
.lt-dash-module-card.today { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(21,101,192,.12); }
.lt-dash-module-card.open { border-color: rgba(46,125,50,.35); background: linear-gradient(180deg, #f1f8e9, #fff); }
.lt-dash-module-card.locked { border-color: #ffe082; background: linear-gradient(180deg, #fffde7, #fff); }
.lt-dash-module-card.missed { border-color: #ffcdd2; }
.lt-dash-module-num {
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    background: var(--bg-light);
    color: var(--primary);
    border-bottom: 1px solid var(--border);
}
.lt-dash-module-card.today .lt-dash-module-num {
    background: linear-gradient(135deg, var(--primary), #1976d2);
    color: #fff;
}
.lt-dash-module-body { padding: 14px 16px; flex: 1; }
.lt-dash-module-body h4 {
    font-size: 15px;
    color: var(--primary-dark);
    margin-bottom: 10px;
    line-height: 1.35;
}
.lt-dash-module-meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 6px;
}
.lt-dash-module-meta li {
    font-size: 12px;
    color: var(--text-light);
}
.lt-dash-module-meta i {
    width: 16px;
    color: var(--accent);
    margin-right: 6px;
}
.lt-dash-module-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--border);
    background: rgba(248,249,252,.8);
}
.lt-dash-module-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    padding: 6px 10px;
    border-radius: 50px;
}
.lt-dash-module-status.done { background: #e8f5e9; color: #2e7d32; }
.lt-dash-module-status.upcoming { background: #e3f2fd; color: #1565c0; }
.lt-dash-module-status.missed { background: #ffebee; color: #c62828; }
.lt-join-btn { margin-left: auto; }

.lt-dash-attendance-box { margin-top: 20px; }
.lt-dash-attendance-box .form-help-text {
    font-size: 13px;
    color: var(--text-light);
    margin: 0 0 4px;
    line-height: 1.5;
}
.lt-dash-attendance-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-shrink: 0;
}
.webinar-attendance-item small {
    display: block;
    font-size: 12px;
    color: var(--text-light);
    margin-top: 2px;
}
@media (max-width: 576px) {
    .webinar-attendance-item {
        flex-direction: column;
        align-items: stretch;
    }
    .lt-dash-attendance-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

.lt-dash-cert-ready {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
    padding: 22px 24px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(3,169,244,.15), rgba(3,169,244,.05));
    border: 1px solid rgba(3,169,244,.4);
}
.lt-dash-cert-ready-icon {
    width: 56px; height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    font-size: 26px;
    flex-shrink: 0;
}
.lt-dash-cert-ready h4 { font-size: 17px; color: var(--primary-dark); margin-bottom: 4px; }
.lt-dash-cert-ready p { font-size: 13px; color: var(--text-light); margin: 0; }
.lt-dash-cert-ready .btn { margin-left: auto; }

.lt-dash-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-top: 20px;
    padding: 16px 18px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.55;
}
.lt-dash-notice > i { font-size: 22px; margin-top: 2px; flex-shrink: 0; }
.lt-dash-notice.pending { background: #fff8e1; border: 1px solid #ffe082; color: #6d4c00; }
.lt-dash-notice.pending > i { color: #ef6c00; }
.lt-dash-notice.success { background: #e8f5e9; border: 1px solid #a5d6a7; color: #2e7d32; }
.lt-dash-notice.info { background: #e3f2fd; border: 1px solid #90caf9; color: #0d47a1; }
.lt-dash-notice.info > i { color: #1565c0; }
.lt-dash-notice.muted { background: var(--bg-light); border: 1px solid var(--border); color: var(--text); }
.lt-dash-notice p { margin: 4px 0 0; font-size: 13px; }

.lt-dash-review {
    margin-top: 24px;
    padding: 24px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(21,101,192,.04), rgba(255,193,7,.06));
    border: 1px solid var(--border);
}
.lt-dash-review-head {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}
.lt-dash-review-icon {
    width: 48px; height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--accent), #4fc3f7);
    color: var(--primary-dark);
    font-size: 20px;
    flex-shrink: 0;
}
.lt-dash-review-head h3 { font-size: 18px; color: var(--primary-dark); margin-bottom: 4px; }
.lt-dash-review-head p { font-size: 13px; color: var(--text-light); margin: 0; }
.lt-dash-review-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.lt-dash-review-form label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.lt-dash-review-form label i { color: var(--accent); }
.lt-dash-review-form textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    font-family: inherit;
    font-size: 13px;
    line-height: 1.55;
    resize: vertical;
    min-height: 110px;
    transition: border-color .2s, box-shadow .2s;
}
.lt-dash-review-form textarea:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(21,101,192,.1);
}

.lt-dash-remarks {
    margin-top: 12px;
    padding: 12px 16px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 13px;
}
.lt-dash-card-footer {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}
.lt-dash-footer-cta {
    text-align: center;
    margin-top: 12px;
    padding-top: 8px;
}

@media (max-width: 992px) {
    .lt-dash-hero-grid { grid-template-columns: 1fr; }
    .lt-dash-stats-row { grid-template-columns: repeat(2, 1fr); }
    .lt-dash-review-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .lt-dash-card-top { flex-direction: column; align-items: flex-start; }
    .lt-dash-card-fee { text-align: left; width: 100%; }
    .lt-dash-stats-row { grid-template-columns: 1fr; }
    .lt-dash-module-grid { grid-template-columns: 1fr; }
    .lt-dash-cert-ready { flex-direction: column; text-align: center; }
    .lt-dash-cert-ready .btn { margin-left: 0; width: 100%; }
    .lt-dash-today-banner { flex-direction: column; align-items: flex-start; }
}

/* Dashboard — My Webinars (premium) */
.wb-dash-hero .lt-dash-hero-glow-1 { background: rgba(76,175,80,.22); }
.wb-dash-hero .lt-dash-hero-glow-2 { background: rgba(3,169,244,.24); }
.wb-dash-eyebrow {
    background: rgba(76,175,80,.18) !important;
    border-color: rgba(76,175,80,.35) !important;
}
.wb-dash-hero-badges span:nth-child(1) { background: rgba(76,175,80,.15); border-color: rgba(76,175,80,.25); }
.wb-dash-empty-icon {
    background: linear-gradient(135deg, #2e7d32, #43a047) !important;
}
.wb-dash-empty-steps span { background: linear-gradient(135deg, #2e7d32, #66bb6a); }
.wb-dash-card { margin-bottom: 28px; }
.wb-dash-card.status-approved { border-top-color: #2e7d32; }
.wb-dash-card-icon {
    background: linear-gradient(135deg, rgba(76,175,80,.15), rgba(3,169,244,.12)) !important;
    color: #2e7d32 !important;
}
.wb-dash-card-tag {
    text-align: right;
    padding: 10px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(76,175,80,.08), rgba(3,169,244,.08));
    border: 1px solid rgba(76,175,80,.18);
    min-width: 130px;
}
.wb-dash-card-tag .lbl {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: var(--text-light);
    margin-bottom: 4px;
}
.wb-dash-card-tag strong {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    font-size: 14px;
    color: #2e7d32;
}
.wb-dash-card-tag strong i { color: var(--accent); }
.wb-dash-mini-highlight { background: linear-gradient(135deg, rgba(76,175,80,.08), rgba(3,169,244,.06)) !important; }
.wb-dash-mini-highlight > i { color: #2e7d32 !important; }
.wb-dash-progress-block .lt-dash-progress-head i { color: #2e7d32; }
.wb-dash-progress-fill {
    background: linear-gradient(90deg, #2e7d32, #66bb6a, var(--accent)) !important;
}
.wb-dash-access-panel {
    margin-top: 22px;
    padding: 20px 22px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(76,175,80,.06), rgba(21,101,192,.04));
    border: 1px solid rgba(76,175,80,.18);
}
.wb-dash-access-head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 16px;
}
.wb-dash-access-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2e7d32, #43a047);
    color: #fff;
    font-size: 18px;
    flex-shrink: 0;
}
.wb-dash-access-head h4 {
    font-size: 16px;
    color: var(--primary-dark);
    margin-bottom: 4px;
}
.wb-dash-access-head p {
    font-size: 13px;
    color: var(--text-light);
    margin: 0;
}
.wb-dash-access-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--border);
}
.wb-dash-access-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
    font-size: 13px;
}
.wb-dash-access-list li:last-child { border-bottom: none; }
.wb-dash-access-list span {
    color: var(--text-light);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.wb-dash-access-list span i { color: #2e7d32; width: 16px; text-align: center; }
.wb-dash-access-list strong { color: var(--primary-dark); text-align: right; }
.wb-dash-access-list a { color: var(--primary); font-weight: 700; text-decoration: none; }
.wb-dash-access-list a:hover { color: #2e7d32; }
.wb-dash-join-btn { box-shadow: 0 8px 20px rgba(46,125,50,.18); }
.wb-dash-today-banner {
    background: linear-gradient(135deg, #1b5e20, #2e7d32) !important;
}
.wb-dash-days-block { margin-top: 24px; }
.wb-dash-days-head h3 i { color: #2e7d32; }
.wb-dash-days-empty {
    padding: 18px;
    border-radius: 12px;
    background: var(--bg-light);
    color: var(--text-light);
    font-size: 13px;
}
.wb-dash-days-empty i { color: var(--accent); margin-right: 8px; }
.wb-dash-day-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}
.wb-dash-day-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--border);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.wb-dash-day-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.wb-dash-day-card.done {
    border-color: #a5d6a7;
    background: linear-gradient(180deg, #f1f8e9, #fff);
}
.wb-dash-day-card.today {
    border-color: #2e7d32;
    box-shadow: 0 0 0 2px rgba(46,125,50,.12);
}
.wb-dash-day-card.open { border-color: rgba(76,175,80,.35); }
.wb-dash-day-card.locked { opacity: .92; }
.wb-dash-day-num {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color: #2e7d32;
}
.wb-dash-day-body h4 {
    font-size: 15px;
    color: var(--primary-dark);
    margin-bottom: 8px;
}
.wb-dash-day-meta {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.wb-dash-day-meta li {
    font-size: 12px;
    color: var(--text-light);
    display: flex;
    align-items: center;
    gap: 8px;
}
.wb-dash-day-meta i { color: var(--accent); width: 14px; text-align: center; }
.wb-dash-day-foot {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px dashed var(--border);
}
.wb-dash-day-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
}
.wb-dash-day-join { flex-shrink: 0; }
.wb-days-editor-box { margin-top: 18px; }
.wb-days-editor-box .webinars-form-section-title i { color: #00838f; }
.wb-dash-day-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
}
.wb-dash-day-status.done { color: #2e7d32; }
.wb-dash-day-status.locked { color: #ef6c00; }
.wb-dash-day-status.upcoming { color: var(--text-light); }
.wb-dash-day-status.missed { color: #c62828; }
.wb-dash-cert-ready {
    background: linear-gradient(135deg, rgba(76,175,80,.08), rgba(3,169,244,.08)) !important;
    border-color: rgba(76,175,80,.25) !important;
}
.wb-dash-cert-icon {
    background: linear-gradient(135deg, #2e7d32, var(--accent)) !important;
}
.wb-dash-review {
    background: linear-gradient(135deg, rgba(76,175,80,.05), rgba(255,193,7,.06)) !important;
}
.wb-dash-notice.info {
    background: linear-gradient(135deg, #e8f5e9, #f1f8e9) !important;
    border-color: #a5d6a7 !important;
    color: #1b5e20 !important;
}
.wb-dash-notice.info > i { color: #2e7d32 !important; }

@media (max-width: 992px) {
    .wb-dash-card-top { flex-direction: column; align-items: flex-start; }
    .wb-dash-card-tag { text-align: left; width: 100%; }
    .wb-dash-card-tag strong { justify-content: flex-start; }
    .wb-dash-day-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    .wb-dash-day-grid { grid-template-columns: 1fr; }
    .wb-dash-access-list li { flex-direction: column; align-items: flex-start; }
    .wb-dash-access-list strong { text-align: left; }
}

/* Live Training Detail Page */
.lt-detail-hero { position: relative; }
.lt-detail-hero-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 40%, rgba(3,169,244,.08) 50%, transparent 60%);
    pointer-events: none;
    z-index: 1;
}
.lt-detail-eyebrow {
    background: linear-gradient(135deg, rgba(3,169,244,.25), rgba(3,169,244,.08)) !important;
    border-color: rgba(3,169,244,.35) !important;
}
.lt-detail-hero-price-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    margin-bottom: 18px;
    border-radius: 50px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.35);
    font-size: 14px;
}
.lt-detail-hero-price-chip i { color: var(--accent); font-size: 16px; }
.lt-detail-hero-price-chip strong { color: var(--accent); font-size: 18px; }
.lt-detail-paid-badge {
    background: linear-gradient(135deg, #1565c0, #1976d2) !important;
    color: #fff !important;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(21,101,192,.3);
}
.lt-detail-paid-badge i { color: var(--accent) !important; }
.lt-detail-hero-card {
    border: 1px solid rgba(3,169,244,.25);
    box-shadow: 0 20px 50px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.08);
}
.lt-detail-stats-bar {
    background: linear-gradient(135deg, #fff 0%, #f8f9fc 100%);
    border-bottom: 1px solid var(--border);
}
.lt-detail-trust {
    background: linear-gradient(135deg, rgba(21,101,192,.03), rgba(3,169,244,.06));
    border: 1px solid rgba(21,101,192,.08);
}
.lt-detail-schedule-note {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    margin-bottom: 18px;
    border-radius: 12px;
    background: rgba(21,101,192,.05);
    border: 1px dashed rgba(21,101,192,.15);
    font-size: 13px;
    color: var(--text-light);
}
.lt-detail-schedule-note i { color: var(--primary); }
.lt-detail-platform-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--primary);
    padding: 4px 10px;
    border-radius: 50px;
    background: rgba(21,101,192,.06);
}
.lt-detail-platform-tag i { font-size: 10px; color: var(--accent); }
.lt-detail-steps {
    background: linear-gradient(135deg, rgba(21,101,192,.04), rgba(3,169,244,.05));
    border-color: rgba(3,169,244,.2);
}
.lt-detail-apply-card {
    border: 1px solid rgba(3,169,244,.25);
    box-shadow: 0 20px 50px rgba(21,101,192,.12);
}
.lt-detail-apply-badge {
    background: linear-gradient(135deg, rgba(3,169,244,.2), rgba(3,169,244,.08)) !important;
    color: #6d4c00 !important;
    border-color: rgba(3,169,244,.35) !important;
}
.lt-detail-fee-box {
    text-align: center;
    padding: 18px 16px;
    margin: 0 0 18px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(21,101,192,.06), rgba(3,169,244,.1));
    border: 1px solid rgba(3,169,244,.3);
}
.lt-detail-fee-box .lbl {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-light);
    margin-bottom: 6px;
}
.lt-detail-fee-box strong {
    display: block;
    font-size: 28px;
    color: var(--primary-dark);
    line-height: 1.1;
    margin-bottom: 6px;
}
.lt-detail-fee-box .lt-detail-fee-price { margin-bottom: 6px; }
.lt-detail-fee-box .sub {
    font-size: 12px;
    color: var(--text-light);
}

/* Course / Training Detail Page */
.cd-detail-hero-shine {
    position: absolute;
    top: -120px;
    right: -80px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(76,175,80,.18), transparent 68%);
    pointer-events: none;
    z-index: 1;
}
.cd-detail-eyebrow {
    background: linear-gradient(135deg, rgba(76,175,80,.22), rgba(76,175,80,.08)) !important;
    border-color: rgba(129,199,132,.45) !important;
    color: #c8e6c9 !important;
}
.cd-detail-hero-price-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    margin-bottom: 18px;
    border-radius: 50px;
    background: rgba(76,175,80,.18);
    border: 1px solid rgba(129,199,132,.35);
    font-size: 14px;
}
.cd-detail-hero-price-chip i { color: #81c784; font-size: 16px; }
.cd-detail-hero-price-chip strong { color: #a5d6a7; font-size: 18px; }
.cd-detail-hero-card {
    border: 1px solid rgba(129,199,132,.22);
    box-shadow: 0 20px 50px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.08);
}
.cd-detail-fee-badge {
    background: linear-gradient(135deg, #1b5e20, #2e7d32) !important;
    color: #fff !important;
    font-weight: 800;
    box-shadow: 0 8px 20px rgba(27,94,32,.35);
}
.cd-detail-fee-badge i { color: #c8e6c9 !important; }
.cd-detail-open-badge {
    background: rgba(76,175,80,.22) !important;
    border-color: rgba(129,199,132,.4) !important;
}
.cd-detail-stats-bar {
    background: linear-gradient(135deg, #fff 0%, #f4fbf5 100%);
    border-bottom: 1px solid var(--border);
}
.cd-detail-trust {
    background: linear-gradient(135deg, rgba(27,94,32,.03), rgba(76,175,80,.06));
    border: 1px solid rgba(27,94,32,.08);
}
.cd-detail-trust span i { color: #2e7d32; }
.cd-detail-instructor {
    background: linear-gradient(135deg, #0d2818, #1b5e20 50%, #2e7d32);
}
.cd-detail-syllabus .webinar-detail-timeline-marker {
    background: linear-gradient(135deg, rgba(27,94,32,.08), rgba(76,175,80,.14));
    border-color: rgba(76,175,80,.35);
    color: #1b5e20;
}
.cd-detail-syllabus .webinar-detail-timeline-pill.today {
    background: rgba(76,175,80,.14);
    color: #1b5e20;
}
.cd-detail-provides-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.cd-detail-provide-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 14px;
    background: linear-gradient(135deg, #f4fbf5, var(--white));
    border: 1px solid rgba(76,175,80,.18);
    font-size: 14px;
    font-weight: 600;
    color: var(--primary-dark);
    line-height: 1.45;
}
.cd-detail-provide-item i {
    color: #2e7d32;
    font-size: 16px;
    margin-top: 2px;
    flex-shrink: 0;
}
.cd-detail-steps {
    background: linear-gradient(135deg, rgba(27,94,32,.04), rgba(76,175,80,.08));
    border-color: rgba(76,175,80,.18);
}
.cd-detail-enroll-card {
    border: 1px solid rgba(76,175,80,.2);
    box-shadow: 0 24px 60px rgba(27,94,32,.12);
}
.cd-detail-enroll-badge {
    background: rgba(76,175,80,.2) !important;
    border-color: rgba(129,199,132,.4) !important;
    color: #c8e6c9 !important;
}
.cd-detail-fee-box {
    text-align: center;
    padding: 18px 16px;
    margin: 0;
    border-radius: 0;
    background: linear-gradient(135deg, rgba(27,94,32,.06), rgba(76,175,80,.1));
    border-bottom: 1px solid rgba(76,175,80,.2);
}
.cd-detail-fee-box .lbl {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text-light);
    margin-bottom: 6px;
}
.cd-detail-fee-box strong {
    display: block;
    font-size: 28px;
    color: var(--primary-dark);
    line-height: 1.1;
    margin-bottom: 6px;
}
.cd-detail-fee-box .sub {
    font-size: 12px;
    color: var(--text-light);
}
.cd-detail-enroll-body { padding: 24px 24px 26px; }
.cd-detail-enroll-list {
    list-style: none;
    margin: 0 0 18px;
    padding: 0;
    border: 1px solid #e8ecf4;
    border-radius: 14px;
    overflow: hidden;
}
.cd-detail-enroll-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    font-size: 13px;
    border-bottom: 1px solid #eef1f7;
}
.cd-detail-enroll-list li:last-child { border-bottom: none; }
.cd-detail-enroll-list li span { color: var(--text-light); font-weight: 600; }
.cd-detail-enroll-list li strong { color: var(--primary-dark); font-size: 14px; text-align: right; }
.cd-detail-help { margin-top: 16px; }
.cd-detail-hero-price-chip .lt-price-offer,
.cd-detail-hero-price-chip .lt-price-current { color: #a5d6a7; font-weight: 800; }
.cd-detail-hero-price-chip .lt-price-old { color: rgba(255,255,255,.65); }
.cd-detail-fee-badge .lt-price-old { color: rgba(255,255,255,.7); opacity: 1; }
.cd-detail-fee-badge .lt-price-offer,
.cd-detail-fee-badge .lt-price-current { color: #fff; }
.cd-detail-stat-price { margin-bottom: 2px; }
.cd-detail-stat-price .lt-price-offer,
.cd-detail-stat-price .lt-price-current {
    font-size: 20px;
    color: var(--primary-dark);
}
.cd-detail-stat-price .lt-price-old { font-size: 14px; }
.cd-detail-fee-price { margin-bottom: 6px; }
.meta .fees .lt-price-offer,
.meta .fees .lt-price-current { color: var(--accent); font-size: 16px; }
.meta .fees .lt-price-old { font-size: 13px; opacity: 0.75; }
.cd-detail-quick-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 14px;
}
@media (max-width: 768px) {
    .cd-detail-provides-grid { grid-template-columns: 1fr; }
}

/* ========== Home Page Body ========== */
.home-page {
    overflow-x: hidden;
    position: relative;
    background: transparent;
}
.home-page .hero-slider,
.home-page .home-trust-strip,
.home-page .section {
    position: relative;
    z-index: 1;
}
.home-page .home-trust-strip,
.home-page .home-section {
    overflow: hidden;
}
.home-page .home-section > *:not(.home-section-fx),
.home-page .home-trust-strip > *:not(.home-section-fx) {
    position: relative;
    z-index: 1;
}

/* Homepage — transparent sections with unique cyber FX per block */
.home-page .section,
.home-page .home-section {
    background: transparent !important;
}
.home-page .home-section-alt {
    background: transparent !important;
}
.home-page .home-section-alt::before {
    display: none;
}
.home-page .section-blog,
.home-page .home-testimonials-section,
.home-page .home-students-section,
.home-page .home-founder-section,
.home-page .home-mentors-section {
    background: transparent !important;
}
.home-page .home-course-card,
.home-page .home-service-card,
.home-page .home-intern-card,
.home-page .home-review-card,
.home-page .home-student-card,
.home-page .home-roadmap-frame,
.home-page .home-founder-card,
.home-page .home-mentor-chip,
.home-page .blog-grid-home .blog-card,
.home-page .home-video-card {
    background: rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.home-page .home-trust-grid {
    background: #ffffff !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.home-page .home-trust-strip {
    background: transparent;
}
.home-page .home-trust-strip .home-section-fx {
    display: none;
}
.home-page .section-home-videos {
    background: transparent !important;
}
.home-page .home-cta,
.home-page .section.home-cta {
    background: linear-gradient(135deg, var(--deep-blue) 0%, var(--primary-blue) 42%, var(--navy-blue) 100%) !important;
    color: #ffffff !important;
    position: relative;
    z-index: 2;
}
.home-page .home-cta h2,
.home-page .home-cta p,
.home-page .home-cta .home-cta-eyebrow {
    color: #ffffff;
}
.home-page .home-cta p {
    opacity: 1;
    color: rgba(255, 255, 255, 0.92);
}
.home-page .home-cta .home-cta-eyebrow {
    color: #e1f5fe;
}

/* Per-section cyber security & digital forensics backgrounds */
.home-section-fx {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.home-fx-tint {
    position: absolute;
    inset: 0;
    background: var(--fx-tint, rgba(227, 242, 253, 0.28));
    opacity: .85;
}
.home-fx-grid {
    position: absolute;
    inset: -30%;
    background-image:
        linear-gradient(var(--fx-grid, rgba(0, 64, 128, 0.07)) 1px, transparent 1px),
        linear-gradient(90deg, var(--fx-grid, rgba(0, 64, 128, 0.07)) 1px, transparent 1px);
    background-size: var(--fx-grid-size, 52px) var(--fx-grid-size, 52px);
    animation: homeFxGridDrift var(--fx-grid-speed, 28s) linear infinite;
    opacity: .75;
}
.home-fx-nodes {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 18% 24%, var(--fx-node, rgba(3, 169, 244, 0.14)) 0 2px, transparent 3px),
        radial-gradient(circle at 72% 18%, var(--fx-node, rgba(3, 169, 244, 0.12)) 0 2px, transparent 3px),
        radial-gradient(circle at 42% 68%, var(--fx-node, rgba(3, 169, 244, 0.1)) 0 2px, transparent 3px),
        radial-gradient(circle at 86% 74%, var(--fx-node, rgba(3, 169, 244, 0.11)) 0 2px, transparent 3px);
    animation: homeFxNodesPulse 8s ease-in-out infinite alternate;
}
.home-fx-scan {
    position: absolute;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(180deg, transparent, var(--fx-scan, rgba(3, 169, 244, 0.1)), transparent);
    animation: homeFxScan var(--fx-scan-speed, 7s) ease-in-out infinite;
}
.home-fx-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(55px);
    opacity: .45;
    animation: homeFxGlowFloat 14s ease-in-out infinite;
}
.home-fx-glow-a {
    width: 280px;
    height: 280px;
    top: -8%;
    left: -5%;
    background: var(--fx-glow-a, rgba(3, 169, 244, 0.35));
}
.home-fx-glow-b {
    width: 240px;
    height: 240px;
    bottom: -10%;
    right: -4%;
    background: var(--fx-glow-b, rgba(0, 188, 212, 0.28));
    animation-delay: -5s;
}
.home-fx-binary {
    position: absolute;
    inset: 0;
    opacity: .07;
    background-image: repeating-linear-gradient(
        180deg,
        transparent 0,
        transparent 22px,
        var(--fx-binary, rgba(0, 64, 128, 0.5)) 22px,
        var(--fx-binary, rgba(0, 64, 128, 0.5)) 23px
    );
    animation: homeFxBinaryScroll var(--fx-binary-speed, 12s) linear infinite;
    mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
}
.home-fx-icon {
    position: absolute;
    color: var(--fx-icon, rgba(0, 64, 128, 0.14));
    font-size: var(--fx-icon-size, 42px);
    animation: homeFxIconFloat var(--fx-icon-dur, 9s) ease-in-out infinite;
}
.home-fx-icon-1 { top: 14%; left: 8%; animation-delay: 0s; }
.home-fx-icon-2 { top: 22%; right: 10%; animation-delay: -2s; font-size: 36px; }
.home-fx-icon-3 { bottom: 18%; left: 14%; animation-delay: -4s; font-size: 32px; }
.home-fx-icon-4 { bottom: 12%; right: 12%; animation-delay: -6s; font-size: 38px; }

.home-section-fx--trust {
    --fx-tint: rgba(227, 242, 253, 0.35);
    --fx-grid: rgba(0, 64, 128, 0.08);
    --fx-glow-a: rgba(3, 169, 244, 0.25);
    --fx-glow-b: rgba(21, 101, 192, 0.2);
    --fx-icon: rgba(0, 64, 128, 0.12);
    --fx-icon-size: 28px;
}
.home-section-fx--courses {
    --fx-tint: rgba(227, 242, 253, 0.32);
    --fx-grid: rgba(0, 64, 128, 0.09);
    --fx-node: rgba(3, 169, 244, 0.16);
    --fx-scan: rgba(3, 169, 244, 0.12);
    --fx-glow-a: rgba(3, 169, 244, 0.38);
    --fx-glow-b: rgba(21, 101, 192, 0.3);
    --fx-icon: rgba(0, 64, 128, 0.15);
}
.home-section-fx--roadmap {
    --fx-tint: rgba(232, 234, 246, 0.38);
    --fx-grid: rgba(57, 73, 171, 0.08);
    --fx-grid-size: 44px;
    --fx-node: rgba(92, 107, 192, 0.18);
    --fx-scan: rgba(92, 107, 192, 0.1);
    --fx-glow-a: rgba(92, 107, 192, 0.32);
    --fx-glow-b: rgba(3, 169, 244, 0.22);
    --fx-icon: rgba(57, 73, 171, 0.14);
}
.home-section-fx--services {
    --fx-tint: rgba(224, 247, 250, 0.34);
    --fx-grid: rgba(0, 131, 143, 0.08);
    --fx-node: rgba(0, 188, 212, 0.15);
    --fx-scan: rgba(0, 188, 212, 0.11);
    --fx-glow-a: rgba(0, 188, 212, 0.34);
    --fx-glow-b: rgba(0, 96, 100, 0.24);
    --fx-icon: rgba(0, 96, 100, 0.14);
    --fx-binary-speed: 10s;
}
.home-section-fx--internships {
    --fx-tint: rgba(255, 243, 224, 0.28);
    --fx-grid: rgba(230, 81, 0, 0.07);
    --fx-node: rgba(255, 152, 0, 0.14);
    --fx-scan: rgba(255, 152, 0, 0.09);
    --fx-glow-a: rgba(255, 152, 0, 0.28);
    --fx-glow-b: rgba(0, 64, 128, 0.22);
    --fx-icon: rgba(230, 81, 0, 0.13);
}
.home-section-fx--videos {
    --fx-tint: rgba(255, 235, 238, 0.26);
    --fx-grid: rgba(198, 40, 40, 0.06);
    --fx-node: rgba(229, 57, 53, 0.12);
    --fx-scan: rgba(229, 57, 53, 0.1);
    --fx-glow-a: rgba(229, 57, 53, 0.26);
    --fx-glow-b: rgba(3, 169, 244, 0.24);
    --fx-icon: rgba(198, 40, 40, 0.12);
    --fx-scan-speed: 5s;
}
.home-section-fx--mentors {
    --fx-tint: rgba(227, 242, 253, 0.3);
    --fx-grid: rgba(0, 64, 128, 0.08);
    --fx-node: rgba(245, 158, 11, 0.14);
    --fx-scan: rgba(3, 169, 244, 0.1);
    --fx-glow-a: rgba(245, 158, 11, 0.22);
    --fx-glow-b: rgba(3, 169, 244, 0.3);
    --fx-icon: rgba(0, 64, 128, 0.13);
}
.home-section-fx--testimonials {
    --fx-tint: rgba(255, 248, 225, 0.3);
    --fx-grid: rgba(245, 124, 0, 0.07);
    --fx-node: rgba(255, 193, 7, 0.14);
    --fx-scan: rgba(255, 193, 7, 0.09);
    --fx-glow-a: rgba(255, 193, 7, 0.28);
    --fx-glow-b: rgba(3, 169, 244, 0.22);
    --fx-icon: rgba(245, 124, 0, 0.13);
}
.home-section-fx--students {
    --fx-tint: rgba(232, 245, 233, 0.32);
    --fx-grid: rgba(46, 125, 50, 0.07);
    --fx-node: rgba(76, 175, 80, 0.14);
    --fx-scan: rgba(76, 175, 80, 0.09);
    --fx-glow-a: rgba(76, 175, 80, 0.28);
    --fx-glow-b: rgba(3, 169, 244, 0.22);
    --fx-icon: rgba(46, 125, 50, 0.13);
}
.home-section-fx--blog {
    --fx-tint: rgba(236, 239, 241, 0.34);
    --fx-grid: rgba(55, 71, 79, 0.07);
    --fx-node: rgba(96, 125, 139, 0.14);
    --fx-scan: rgba(96, 125, 139, 0.1);
    --fx-glow-a: rgba(96, 125, 139, 0.26);
    --fx-glow-b: rgba(3, 169, 244, 0.2);
    --fx-icon: rgba(55, 71, 79, 0.12);
    --fx-binary-speed: 16s;
}
.home-section-fx--founder {
    --fx-tint: rgba(227, 242, 253, 0.36);
    --fx-grid: rgba(0, 51, 102, 0.08);
    --fx-node: rgba(21, 101, 192, 0.15);
    --fx-scan: rgba(3, 169, 244, 0.11);
    --fx-glow-a: rgba(21, 101, 192, 0.32);
    --fx-glow-b: rgba(0, 188, 212, 0.26);
    --fx-icon: rgba(0, 51, 102, 0.12);
}

@keyframes homeFxGridDrift {
    from { transform: translate(0, 0); }
    to { transform: translate(var(--fx-grid-size, 52px), var(--fx-grid-size, 52px)); }
}
@keyframes homeFxNodesPulse {
    from { opacity: .55; transform: scale(1); }
    to { opacity: 1; transform: scale(1.04); }
}
@keyframes homeFxScan {
    0%, 100% { top: -15%; opacity: 0; }
    10% { opacity: 1; }
    50% { top: 55%; opacity: .85; }
    90% { opacity: 1; }
}
@keyframes homeFxGlowFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(16px, -12px) scale(1.08); }
}
@keyframes homeFxBinaryScroll {
    from { background-position: 0 0; }
    to { background-position: 0 120px; }
}
@keyframes homeFxIconFloat {
    0%, 100% { transform: translate(0, 0) rotate(0deg); opacity: .55; }
    50% { transform: translate(10px, -16px) rotate(6deg); opacity: .95; }
}
@media (prefers-reduced-motion: reduce) {
    .home-fx-grid,
    .home-fx-nodes,
    .home-fx-scan,
    .home-fx-glow,
    .home-fx-binary,
    .home-fx-icon { animation: none; }
}

.home-hero-3d {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    perspective: 900px;
}
.home-3d-scene {
    position: absolute;
    inset: -10% -5%;
    transform-style: preserve-3d;
    transition: transform .35s ease-out;
}
.home-3d-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    animation: homeOrbFloat 14s ease-in-out infinite;
}
.home-3d-orb-1 {
    width: 180px;
    height: 180px;
    top: 12%;
    right: 8%;
    background: radial-gradient(circle at 35% 35%, rgba(3,169,244,.5), rgba(0,64,128,.1) 68%, transparent 72%);
    animation-delay: 0s;
}
.home-3d-orb-2 {
    width: 120px;
    height: 120px;
    bottom: 18%;
    right: 22%;
    background: radial-gradient(circle at 40% 40%, rgba(0,188,212,.45), transparent 70%);
    animation-delay: -4s;
}
.home-3d-orb-3 {
    width: 90px;
    height: 90px;
    top: 28%;
    right: 34%;
    background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.25), transparent 72%);
    animation-delay: -7s;
}
.home-3d-cube {
    position: absolute;
    width: 64px;
    height: 64px;
    transform-style: preserve-3d;
}
.home-3d-cube-1 { top: 22%; right: 14%; }
.home-3d-cube-2 {
    width: 42px;
    height: 42px;
    bottom: 26%;
    right: 10%;
    opacity: .85;
}
.home-3d-cube-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    animation: homeCubeSpin 22s linear infinite;
}
.home-3d-cube-2 .home-3d-cube-inner { animation-duration: 16s; animation-direction: reverse; }
.home-3d-cube-inner span {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(3,169,244,.5);
    background: linear-gradient(135deg, rgba(21,101,192,.15), rgba(3,169,244,.1));
    box-shadow: inset 0 0 18px rgba(255,255,255,.12), 0 0 24px rgba(3,169,244,.18);
    backdrop-filter: blur(2px);
}
.home-3d-cube-1 .home-3d-cube-inner span:nth-child(1) { transform: rotateY(0deg) translateZ(32px); }
.home-3d-cube-1 .home-3d-cube-inner span:nth-child(2) { transform: rotateY(180deg) translateZ(32px); }
.home-3d-cube-1 .home-3d-cube-inner span:nth-child(3) { transform: rotateY(90deg) translateZ(32px); }
.home-3d-cube-1 .home-3d-cube-inner span:nth-child(4) { transform: rotateY(-90deg) translateZ(32px); }
.home-3d-cube-1 .home-3d-cube-inner span:nth-child(5) { transform: rotateX(90deg) translateZ(32px); }
.home-3d-cube-1 .home-3d-cube-inner span:nth-child(6) { transform: rotateX(-90deg) translateZ(32px); }
.home-3d-cube-2 .home-3d-cube-inner span:nth-child(1) { transform: rotateY(0deg) translateZ(21px); }
.home-3d-cube-2 .home-3d-cube-inner span:nth-child(2) { transform: rotateY(180deg) translateZ(21px); }
.home-3d-cube-2 .home-3d-cube-inner span:nth-child(3) { transform: rotateY(90deg) translateZ(21px); }
.home-3d-cube-2 .home-3d-cube-inner span:nth-child(4) { transform: rotateY(-90deg) translateZ(21px); }
.home-3d-cube-2 .home-3d-cube-inner span:nth-child(5) { transform: rotateX(90deg) translateZ(21px); }
.home-3d-cube-2 .home-3d-cube-inner span:nth-child(6) { transform: rotateX(-90deg) translateZ(21px); }
.home-3d-ring {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(3,169,244,.35);
    box-shadow: 0 0 30px rgba(3,169,244,.18), inset 0 0 20px rgba(0,188,212,.12);
    transform-style: preserve-3d;
}
.home-3d-ring-1 {
    width: 220px;
    height: 220px;
    top: 8%;
    right: 2%;
    animation: homeRingSpin 26s linear infinite;
}
.home-3d-ring-2 {
    width: 140px;
    height: 140px;
    bottom: 12%;
    right: 28%;
    border-color: rgba(121,134,203,.4);
    animation: homeRingSpin 18s linear infinite reverse;
}
.home-3d-grid {
    position: absolute;
    right: -8%;
    bottom: -35%;
    width: 70%;
    height: 55%;
    transform: rotateX(72deg);
    transform-origin: center;
    background:
        linear-gradient(rgba(3,169,244,.14) 1px, transparent 1px),
        linear-gradient(90deg, rgba(121,134,203,.16) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to top, rgba(0,0,0,.75), transparent 88%);
    animation: homeGridDrift 18s linear infinite;
    opacity: .55;
}
@keyframes homeCubeSpin {
    from { transform: rotateX(18deg) rotateY(0deg); }
    to { transform: rotateX(18deg) rotateY(360deg); }
}
@keyframes homeRingSpin {
    from { transform: rotateX(68deg) rotateZ(0deg); }
    to { transform: rotateX(68deg) rotateZ(360deg); }
}
@keyframes homeOrbFloat {
    0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
    50% { transform: translate3d(0, -18px, 20px) scale(1.06); }
}
@keyframes homeGridDrift {
    from { background-position: 0 0, 0 0; }
    to { background-position: 0 42px, 42px 0; }
}

.home-hero { height: 620px; }
.home-hero .slider-wrapper {
    position: relative;
    z-index: 3;
    height: 100%;
}
.home-hero .slide-overlay {
    background: linear-gradient(115deg, rgba(0,51,102,.78) 0%, rgba(0,64,128,.65) 45%, rgba(21,101,192,.5) 100%);
}
.home-hero .slide-content {
    position: relative;
    z-index: 4;
}
.home-hero-shine {
    position: absolute;
    top: -80px;
    right: -60px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(3,169,244,.2), transparent 68%);
    z-index: 1;
    pointer-events: none;
}
.home-slide-content {
    text-align: left;
    max-width: 680px;
    padding-bottom: 40px;
}
.home-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.35);
    color: #b3e5fc;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.home-slide-content h1 {
    font-size: clamp(32px, 5vw, 52px);
    line-height: 1.12;
    margin-bottom: 16px;
    text-shadow: 0 8px 30px rgba(0,0,0,.3);
}
.home-slide-content p {
    font-size: clamp(16px, 2.2vw, 20px);
    line-height: 1.65;
    max-width: 560px;
    margin-bottom: 28px;
}
.home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.home-hero-actions .btn i { margin-right: 8px; }
.home-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 6;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(6px);
    transition: background .25s, transform .25s;
}
.home-slider-nav:hover {
    background: rgba(3,169,244,.85);
    border-color: var(--accent);
    transform: translateY(-50%) scale(1.06);
}
.home-slider-prev { left: 20px; }
.home-slider-next { right: 20px; }
.home-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    z-index: 6;
    width: auto;
}
.home-slider-dots .dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    transition: width .3s, background .3s;
}
.home-slider-dots .dot.active {
    width: 28px;
    border-radius: 999px;
    background: var(--accent);
}

.home-trust-strip {
    position: relative;
    z-index: 4;
    margin-top: -36px;
    padding: 0 0 8px;
}
.home-trust-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 18px;
    padding: 22px 20px;
    box-shadow: 0 20px 50px rgba(0,64,128,.12);
}
.home-trust-item {
    display: flex;
    align-items: center;
    gap: 14px;
}
.home-trust-item i {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(21,101,192,.1), rgba(3,169,244,.14));
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.home-trust-item strong {
    display: block;
    font-size: 14px;
    color: var(--primary-dark);
    line-height: 1.2;
}
.home-trust-item span {
    font-size: 12px;
    color: var(--text-light);
}

.home-section { padding: 80px 0; }
.home-section-alt {
    position: relative;
    background: transparent;
    overflow: hidden;
}
.home-section-alt::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 12% 20%, rgba(3,169,244,.08), transparent 34%),
        radial-gradient(circle at 88% 72%, rgba(92,107,192,.1), transparent 36%);
    pointer-events: none;
    animation: homeSectionGlow 12s ease-in-out infinite alternate;
}
.home-section-alt > .container {
    position: relative;
    z-index: 1;
}
@keyframes homeSectionGlow {
    from { opacity: .65; transform: scale(1); }
    to { opacity: 1; transform: scale(1.03); }
}
.home-section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 48px;
}
.home-section-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.1));
    border: 1px solid rgba(21,101,192,.1);
    color: var(--primary);
    padding: 7px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.home-section-eyebrow i { color: var(--accent); }
.home-section-head h2 {
    font-size: clamp(26px, 3.5vw, 36px);
    color: var(--primary-dark);
    margin-bottom: 12px;
    line-height: 1.2;
}
.home-section-head p {
    font-size: 16px;
    color: var(--text-light);
    line-height: 1.65;
}
.home-section-foot {
    text-align: center;
    margin-top: 36px;
}
.home-view-all i { margin-right: 8px; }

.home-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 24px;
}
.home-course-card {
    background: var(--white);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e8ecf4;
    box-shadow: 0 10px 30px rgba(0,64,128,.08);
    transition: transform .35s ease, box-shadow .35s ease;
    display: flex;
    flex-direction: column;
    transform-style: preserve-3d;
}
.home-course-card:hover {
    transform: translateY(-8px) rotateX(2deg) rotateY(-2deg);
    box-shadow: 0 22px 48px rgba(0,64,128,.16);
}
.home-course-image {
    position: relative;
    height: 190px;
    overflow: hidden;
    background: var(--bg-light);
}
.home-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s;
}
.home-course-card:hover .home-course-image img { transform: scale(1.06); }
.home-course-duration {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background: rgba(0,64,128,.88);
    color: #fff;
    padding: 6px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
}
.home-course-duration i { color: var(--accent); margin-right: 5px; }
.home-course-body {
    padding: 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 10px;
}
.home-course-body h3 {
    font-size: 18px;
    color: var(--primary-dark);
    line-height: 1.35;
}
.home-course-body > p {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.55;
    flex: 1;
}
.home-course-meta { margin-bottom: 4px; }
.home-course-btn { width: 100%; margin-top: auto; }
.home-course-btn i { margin-left: 6px; }

.home-roadmap-frame {
    padding: 14px;
    background: linear-gradient(135deg, rgba(21,101,192,.06), rgba(3,169,244,.08));
    border: 1px solid rgba(21,101,192,.1);
    border-radius: 20px;
    box-shadow: 0 16px 40px rgba(0,64,128,.08);
}
.home-roadmap-frame .roadmap-image {
    border-radius: 14px;
    display: block;
}

.home-service-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.home-service-card {
    position: relative;
    background: var(--white);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e8ecf4;
    box-shadow: 0 10px 28px rgba(0,64,128,.06);
    transition: transform .3s, box-shadow .3s;
}
.home-service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(0,64,128,.12);
}
.home-service-icon {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(255,255,255,.92);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,.1);
}
.home-service-image { height: 160px; overflow: hidden; background: var(--bg-light); }
.home-service-image img { width: 100%; height: 100%; object-fit: cover; }
.home-service-body { padding: 20px; }
.home-service-body h3 { font-size: 17px; color: var(--primary-dark); margin-bottom: 8px; }
.home-service-body .charge {
    font-size: 14px;
    color: var(--primary);
    font-weight: 700;
    margin-bottom: 8px;
}
.home-service-body .charge i { color: var(--accent); margin-right: 6px; }
.home-service-desc {
    font-size: 13px;
    color: var(--text-light);
    margin-bottom: 14px;
    line-height: 1.55;
}

.home-intern-card {
    background: var(--white);
    border-radius: 18px;
    overflow: hidden;
    border: 1px solid #e8ecf4;
    box-shadow: 0 10px 28px rgba(0,64,128,.06);
    transition: transform .3s, box-shadow .3s;
}
.home-intern-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 44px rgba(0,64,128,.12);
}
.home-intern-image {
    position: relative;
    height: 170px;
    overflow: hidden;
}
.home-intern-image img { width: 100%; height: 100%; object-fit: cover; }
.home-intern-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(46,125,50,.92);
    color: #fff;
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
}
.home-intern-badge i { font-size: 7px; margin-right: 5px; vertical-align: middle; }
.home-intern-body { padding: 20px; }
.home-intern-body h3 { font-size: 17px; color: var(--primary-dark); margin-bottom: 10px; }
.home-intern-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: var(--text-light);
    margin-bottom: 14px;
}
.home-intern-meta i { color: var(--accent); margin-right: 5px; }

.home-review-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 22px;
}

/* Home testimonials marquee */
.home-testimonials-section,
.home-students-section { overflow: hidden; }
.home-testimonials-section .home-section-head,
.home-students-section .home-section-head { margin-bottom: 36px; }
.home-testimonials-marquee-wrap {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.home-testimonials-marquee {
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.home-testimonials-track {
    display: flex;
    width: max-content;
    will-change: transform;
}
.home-testimonials-set {
    display: flex;
    gap: 22px;
    padding: 4px 11px;
}
.home-testimonials-marquee-ltr .home-testimonials-track {
    animation: home-testimonials-ltr 45s linear infinite;
}
.home-testimonials-marquee-rtl .home-testimonials-track {
    animation: home-testimonials-rtl 45s linear infinite;
}
.home-testimonials-marquee:hover .home-testimonials-track {
    animation-play-state: paused;
}
@keyframes home-testimonials-ltr {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}
@keyframes home-testimonials-rtl {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
.home-testimonials-set .home-review-card {
    flex: 0 0 clamp(280px, 31vw, 390px);
    width: clamp(280px, 31vw, 390px);
}
.home-testimonials-set .home-student-card {
    flex: 0 0 clamp(220px, 24vw, 280px);
    width: clamp(220px, 24vw, 280px);
}

.home-review-card {
    background: var(--white);
    border: 1px solid #e8ecf4;
    border-radius: 18px;
    padding: 24px;
    box-shadow: 0 10px 28px rgba(0,64,128,.06);
    transition: transform .3s, box-shadow .3s;
    position: relative;
    overflow: hidden;
}
.home-review-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--primary), var(--accent));
}
.home-review-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(0,64,128,.12);
}
.home-review-stars {
    color: var(--accent);
    font-size: 13px;
    margin-bottom: 14px;
    letter-spacing: 2px;
}
.home-review-top {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}
.home-review-top h4 { color: var(--primary-dark); margin-bottom: 4px; }
.home-review-text {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.65;
    font-style: italic;
}
.home-review-text i {
    color: var(--accent);
    margin-right: 6px;
    font-size: 12px;
    opacity: .7;
}

.home-student-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap: 20px;
}
.home-student-card {
    text-align: center;
    background: var(--white);
    padding: 28px 20px;
    border-radius: 18px;
    border: 1px solid #e8ecf4;
    box-shadow: 0 10px 28px rgba(0,64,128,.06);
    transition: transform .3s, box-shadow .3s;
}
.home-student-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(0,64,128,.1);
}
.home-student-avatar {
    width: 88px;
    height: 88px;
    margin: 0 auto 14px;
    padding: 4px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), var(--accent));
}
.home-student-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--white);
}
.home-student-card h4 { color: var(--primary-dark); margin-bottom: 4px; }
.home-student-card .qual { font-size: 12px; color: var(--text-light); margin-bottom: 4px; }
.home-student-card .course { font-size: 13px; color: var(--primary); font-weight: 600; margin-bottom: 10px; }

/* Founder's Message */
.home-founder-section {
    position: relative;
    overflow: hidden;
    background: transparent;
    padding-top: 88px;
    padding-bottom: 88px;
}
.home-founder-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.home-founder-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(8px);
    opacity: .55;
}
.home-founder-orb-1 {
    width: 280px;
    height: 280px;
    top: -80px;
    left: -60px;
    background: radial-gradient(circle, rgba(3,169,244,.28), transparent 70%);
}
.home-founder-orb-2 {
    width: 320px;
    height: 320px;
    right: -90px;
    bottom: -100px;
    background: radial-gradient(circle, rgba(0,64,128,.16), transparent 70%);
}
.home-founder-orb-3 {
    width: 160px;
    height: 160px;
    top: 40%;
    right: 18%;
    background: radial-gradient(circle, rgba(0,188,212,.18), transparent 70%);
}
.home-founder-head {
    position: relative;
    z-index: 1;
}
.home-founder-card {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    align-items: stretch;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(0,64,128,.1);
    border-radius: 28px;
    overflow: hidden;
    box-shadow:
        0 24px 60px rgba(0,64,128,.12),
        0 2px 0 rgba(255,255,255,.8) inset;
}
.home-founder-card::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}
.home-founder-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 36px 28px;
    background:
        linear-gradient(165deg, var(--primary-blue) 0%, var(--deep-blue) 48%, #001a33 100%);
    color: #fff;
    text-align: center;
}
.home-founder-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 20%, rgba(3,169,244,.35), transparent 42%),
        radial-gradient(circle at 80% 80%, rgba(0,188,212,.22), transparent 40%);
    pointer-events: none;
}
.home-founder-photo-frame {
    position: relative;
    width: 190px;
    height: 190px;
    z-index: 1;
}
.home-founder-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    border: 5px solid rgba(255,255,255,.95);
    box-shadow:
        0 16px 40px rgba(0,0,0,.28),
        0 0 0 8px rgba(3,169,244,.18);
    background: linear-gradient(135deg, #e3f2fd, #fff);
    position: relative;
    z-index: 2;
}
.home-founder-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.home-founder-photo-ring {
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 2px dashed rgba(255,255,255,.35);
    animation: homeFounderRing 18s linear infinite;
    z-index: 1;
}
@keyframes homeFounderRing {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.home-founder-photo-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary-blue);
    font-size: 58px;
    background: linear-gradient(145deg, #e3f2fd, #ffffff);
}
.home-founder-identity {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.home-founder-identity strong {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .2px;
}
.home-founder-identity span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0 auto;
    padding: 6px 14px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    color: #b3e5fc;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
}
.home-founder-identity span i {
    color: var(--accent-cyan);
    font-size: 11px;
}
.home-founder-content {
    position: relative;
    min-width: 0;
    padding: 42px 44px 38px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,248,255,.96));
}
.home-founder-quote-icon {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
    background: linear-gradient(135deg, var(--sky-blue), var(--accent-cyan));
    color: #fff;
    font-size: 20px;
    box-shadow: 0 12px 28px rgba(3,169,244,.28);
}
.home-founder-message {
    margin: 0;
    padding: 0;
    border: none;
    font-size: 18px;
    line-height: 1.85;
    color: #243447;
    font-weight: 500;
    position: relative;
}
.home-founder-signature {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid rgba(0,64,128,.1);
}
.home-founder-signature-line {
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--sky-blue), var(--accent-cyan));
    flex-shrink: 0;
}
.home-founder-meta {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.home-founder-meta strong {
    font-size: 18px;
    color: var(--primary-blue);
    letter-spacing: .2px;
}
.home-founder-meta span {
    font-size: 13px;
    color: var(--text-light);
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
}
@media (prefers-reduced-motion: reduce) {
    .home-founder-photo-ring { animation: none; }
}
@media (max-width: 900px) {
    .home-founder-card {
        grid-template-columns: 1fr;
    }
    .home-founder-visual {
        padding: 32px 24px 28px;
    }
    .home-founder-content {
        padding: 28px 24px 30px;
    }
}
@media (max-width: 768px) {
    .home-founder-section {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .home-founder-photo-frame {
        width: 150px;
        height: 150px;
    }
    .home-founder-message {
        font-size: 16px;
        line-height: 1.75;
    }
    .home-founder-signature {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

/* Home Mentors Section — compact single-line marquee */
.home-mentors-section {
    position: relative;
    overflow: hidden;
    padding: 80px 0 72px;
}
.home-mentors-marquee-section .home-mentors-head {
    position: relative;
    z-index: 1;
    margin-bottom: 32px;
}
.home-mentors-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.home-mentors-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .35;
    animation: homeMentorOrbFloat 12s ease-in-out infinite;
}
.home-mentors-orb-1 {
    width: 280px;
    height: 280px;
    top: 10%;
    left: -4%;
    background: radial-gradient(circle, rgba(3,169,244,.55), transparent 70%);
}
.home-mentors-orb-2 {
    width: 220px;
    height: 220px;
    top: 40%;
    right: -2%;
    background: radial-gradient(circle, rgba(0,188,212,.45), transparent 70%);
    animation-delay: -4s;
}
.home-mentors-orb-3 {
    width: 180px;
    height: 180px;
    bottom: 8%;
    left: 35%;
    background: radial-gradient(circle, rgba(0,64,128,.4), transparent 70%);
    animation-delay: -8s;
}
@keyframes homeMentorOrbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(18px, -14px) scale(1.06); }
}
.home-mentors-marquee {
    overflow: hidden;
    width: 100%;
    position: relative;
    z-index: 1;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}
.home-mentors-track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: home-mentors-marquee 38s linear infinite;
}
.home-mentors-marquee:hover .home-mentors-track {
    animation-play-state: paused;
}
@keyframes home-mentors-marquee {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}
.home-mentors-set {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 6px 8px;
}
.home-mentor-chip {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    min-height: 58px;
    padding: 10px 18px 10px 10px;
    border-radius: 999px;
    border: 1px solid rgba(0, 64, 128, .12);
    box-shadow: 0 8px 24px rgba(0, 51, 102, .08);
    background: rgba(255, 255, 255, .92);
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    white-space: nowrap;
}
.home-mentor-chip:hover {
    transform: translateY(-3px) scale(1.02);
    border-color: rgba(3, 169, 244, .35);
    box-shadow: 0 14px 32px rgba(0, 64, 128, .14);
}
.home-mentor-chip-photo {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(3, 169, 244, .35);
    background: linear-gradient(145deg, #e3f2fd, #bbdefb);
    box-shadow: 0 4px 12px rgba(0, 64, 128, .12);
}
.home-mentor-chip-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.home-mentor-chip-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 16px;
    color: var(--primary-blue);
}
.home-mentor-chip-line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    font-size: 13px;
    line-height: 1.3;
    color: var(--text-light);
}
.home-mentor-chip-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--deep-blue);
    flex-shrink: 0;
}
.home-mentor-chip-sep {
    color: rgba(0, 64, 128, .28);
    font-weight: 700;
    flex-shrink: 0;
}
.home-mentor-chip-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
}
.home-mentor-chip-item i {
    color: var(--accent-cyan);
    font-size: 11px;
}
.home-mentor-chip-exp {
    color: var(--primary-blue);
    font-weight: 600;
}
.home-mentor-chip-certs {
    color: var(--text-muted);
    font-weight: 500;
}
@media (max-width: 767px) {
    .home-mentors-section { padding: 64px 0 56px; }
    .home-mentor-chip {
        padding: 8px 14px 8px 8px;
        gap: 10px;
    }
    .home-mentor-chip-photo {
        width: 36px;
        height: 36px;
    }
    .home-mentor-chip-line {
        font-size: 12px;
        gap: 6px;
    }
    .home-mentor-chip-name { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-mentors-track,
    .home-mentors-orb { animation: none; }
}

.home-cta {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--deep-blue) 0%, var(--primary-blue) 40%, var(--navy-blue) 100%);
    color: var(--white);
    text-align: center;
    padding: 90px 0;
}
.home-cta-glow {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 300px;
    background: radial-gradient(ellipse, rgba(3,169,244,.25), transparent 70%);
    pointer-events: none;
}
.home-cta-inner { position: relative; z-index: 1; max-width: 680px; margin: 0 auto; }
.home-cta-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.35);
    color: #b3e5fc;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.home-cta h2 {
    font-size: clamp(26px, 3.5vw, 38px);
    margin-bottom: 12px;
    line-height: 1.2;
}
.home-cta p {
    font-size: 17px;
    opacity: .9;
    margin-bottom: 28px;
    line-height: 1.6;
}
.home-cta-buttons .btn i { margin-right: 8px; }

@media (prefers-reduced-motion: reduce) {
    .home-3d-cube-inner,
    .home-3d-ring,
    .home-3d-orb,
    .home-3d-grid,
    .home-section-alt::before {
        animation: none !important;
    }
    .site-cyber-bg { display: none; }
    .home-3d-scene { transform: none !important; }
}

@media (max-width: 992px) {
    .home-trust-grid { grid-template-columns: repeat(2, 1fr); }
    .home-hero { height: 520px; }
    .home-slide-content { text-align: center; margin: 0 auto; }
    .home-slide-content p { margin-left: auto; margin-right: auto; }
    .home-hero-actions { justify-content: center; }
}
@media (max-width: 768px) {
    .home-hero { height: 480px; }
    .home-3d-cube-2,
    .home-3d-ring-2,
    .home-3d-grid,
    .home-hero-3d { display: none; }
    .home-trust-strip { margin-top: -20px; }
    .home-trust-grid { grid-template-columns: 1fr; padding: 16px; }
    .home-section { padding: 56px 0; }
    .home-slider-nav { width: 40px; height: 40px; }
    .home-slider-prev { left: 10px; }
    .home-slider-next { right: 10px; }
    .home-card-grid { grid-template-columns: 1fr; }
    .home-review-grid { grid-template-columns: 1fr; }
    .home-testimonials-set .home-review-card {
        flex-basis: clamp(260px, 78vw, 320px);
        width: clamp(260px, 78vw, 320px);
    }
    .home-testimonials-set .home-student-card {
        flex-basis: clamp(200px, 62vw, 260px);
        width: clamp(200px, 62vw, 260px);
    }
    .home-testimonials-marquee-ltr .home-testimonials-track,
    .home-testimonials-marquee-rtl .home-testimonials-track {
        animation-duration: 35s;
    }
}

/* ===== Cyber Security Blog ===== */
.blog-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #020617 0%, #0f172a 35%, #1e3a8a 100%);
    color: var(--white);
    padding: 100px 0 80px;
    text-align: center;
}
.blog-hero-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(60px);
}
.blog-hero-glow-1 {
    top: -80px;
    left: 10%;
    width: 320px;
    height: 320px;
    background: rgba(59,130,246,.25);
}
.blog-hero-glow-2 {
    bottom: -60px;
    right: 8%;
    width: 280px;
    height: 280px;
    background: rgba(3,169,244,.18);
}
.blog-hero-inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; }
.blog-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59,130,246,.15);
    border: 1px solid rgba(96,165,250,.35);
    color: #93c5fd;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    margin-bottom: 18px;
}
.blog-hero h1 {
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.15;
    margin-bottom: 16px;
}
.blog-hero p {
    font-size: 17px;
    opacity: .88;
    line-height: 1.65;
    margin-bottom: 28px;
}
.blog-hero-stats {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}
.blog-hero-stat {
    min-width: 120px;
    padding: 14px 22px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
}
.blog-hero-stat .num {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: #fde68a;
    line-height: 1.1;
}
.blog-hero-stat .lbl {
    font-size: 12px;
    opacity: .75;
    text-transform: uppercase;
    letter-spacing: .4px;
}

.blog-page-section { padding-top: 48px; }
.blog-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 40px;
}
.blog-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 50px;
    border: 1px solid var(--border);
    background: var(--white);
    color: var(--primary-dark);
    font-size: 14px;
    font-weight: 600;
    transition: all .25s;
}
.blog-filter-btn:hover,
.blog-filter-btn.active {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    border-color: transparent;
    color: var(--white);
    box-shadow: 0 8px 24px rgba(21,101,192,.2);
}
.blog-filter-btn i { font-size: 13px; }

.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 28px;
}
.blog-grid-home { margin-top: 8px; }

.blog-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,64,128,.06);
    transition: transform .3s, box-shadow .3s;
}
.blog-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 40px rgba(0,64,128,.12);
}
.blog-card-link {
    display: block;
    color: inherit;
    text-decoration: none;
}
.blog-card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: linear-gradient(135deg, #1e3a8a, #3b82f6);
}
.blog-card-cyber .blog-card-media { background: linear-gradient(135deg, #1e3a8a, #2563eb); }
.blog-card-forensics .blog-card-media { background: linear-gradient(135deg, #134e4a, #0d9488); }
.blog-card-purple .blog-card-media { background: linear-gradient(135deg, #4a148c, #7b1fa2); }
.blog-card-orange .blog-card-media { background: linear-gradient(135deg, #e65100, #fb8c00); }
.blog-card-red .blog-card-media { background: linear-gradient(135deg, #b71c1c, #e53935); }
.blog-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s;
}
.blog-card:hover .blog-card-media img { transform: scale(1.05); }
.blog-card-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    color: rgba(255,255,255,.35);
}
.blog-card-category {
    position: absolute;
    top: 14px;
    left: 14px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 20px;
    background: rgba(255,255,255,.92);
    color: var(--primary-dark);
    font-size: 11px;
    font-weight: 700;
}
.blog-card-featured {
    position: absolute;
    top: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 12px;
    border-radius: 20px;
    background: rgba(3,169,244,.95);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}
.blog-card-body { padding: 22px 22px 24px; }
.blog-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--text-light);
    margin-bottom: 10px;
}
.blog-card-meta i { color: var(--accent); margin-right: 4px; }
.blog-card-body h3 {
    font-size: 19px;
    color: var(--primary-dark);
    line-height: 1.35;
    margin-bottom: 10px;
}
.blog-card-body p {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.65;
    margin-bottom: 14px;
}
.blog-card-read {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    transition: gap .25s;
}
.blog-card:hover .blog-card-read { gap: 12px; }

.section-blog { background: linear-gradient(180deg, #f8fafc 0%, var(--white) 100%); }

.blog-empty-state {
    text-align: center;
    padding: 60px 24px;
    background: var(--white);
    border: 1px dashed var(--border);
    border-radius: 16px;
}
.blog-empty-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(21,101,192,.08), rgba(3,169,244,.1));
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: var(--primary);
}
.blog-empty-state h2 { color: var(--primary-dark); margin-bottom: 10px; }
.blog-empty-state p { color: var(--text-light); max-width: 480px; margin: 0 auto 20px; }

.blog-cta-band {
    background: linear-gradient(135deg, #06102a, var(--primary-dark));
    color: var(--white);
    padding: 56px 0;
}
.blog-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.blog-cta-inner h2 {
    font-size: clamp(22px, 3vw, 28px);
    margin-bottom: 8px;
}
.blog-cta-inner p { opacity: .88; margin: 0; }

/* Blog Detail / Read Page */
.blog-read-progress {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0;
    z-index: 1001;
    background: linear-gradient(90deg, var(--accent), #fde68a);
    transition: width .08s linear;
}
.blog-read-hero-forensics ~ .blog-read-page .blog-read-progress,
body:has(.blog-read-hero-forensics) .blog-read-progress {
    background: linear-gradient(90deg, #14b8a6, #5eead4);
}

.blog-read-hero {
    position: relative;
    overflow: hidden;
    color: var(--white);
    padding: 48px 0 56px;
    background: linear-gradient(135deg, #020617 0%, #0f172a 50%, #1e3a8a 100%);
}
.blog-read-hero-forensics {
    background: linear-gradient(135deg, #022c22 0%, #065f46 50%, #0f766e 100%);
}
.blog-read-hero-purple { background: linear-gradient(135deg, #1e1b4b, #5b21b6, #7c3aed); }
.blog-read-hero-orange { background: linear-gradient(135deg, #7c2d12, #ea580c, #fb923c); }
.blog-read-hero-red { background: linear-gradient(135deg, #450a0a, #b91c1c, #ef4444); }
.blog-read-hero-bg {
    position: absolute;
    inset: 0;
    opacity: .06;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.15), transparent 40%),
        linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: auto, 28px 28px, 28px 28px;
    pointer-events: none;
}
.blog-read-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}
.blog-read-hero-glow-1 { top: -40px; right: 10%; width: 260px; height: 260px; background: rgba(96,165,250,.25); }
.blog-read-hero-glow-2 { bottom: -60px; left: 5%; width: 300px; height: 300px; background: rgba(3,169,244,.15); }
.blog-read-hero-forensics .blog-read-hero-glow-1 { background: rgba(45,212,191,.28); }
.blog-read-hero-forensics .blog-read-hero-glow-2 { background: rgba(253,224,71,.12); }

.blog-read-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 40px;
    align-items: center;
}
.blog-read-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 13px;
    margin-bottom: 14px;
    opacity: .85;
}
.blog-read-breadcrumb a {
    color: rgba(255,255,255,.92);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.blog-read-breadcrumb a:hover { color: #fde68a; }
.blog-read-breadcrumb .fa-chevron-right { font-size: 10px; opacity: .55; }
.blog-read-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.88);
    margin-bottom: 16px;
    padding: 7px 14px;
    border-radius: 50px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    transition: background .2s, transform .2s;
}
.blog-read-back:hover {
    background: rgba(255,255,255,.14);
    transform: translateX(-3px);
    color: var(--white);
}
.blog-read-category {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 50px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.2);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.blog-read-hero h1 {
    font-size: clamp(30px, 4.2vw, 46px);
    line-height: 1.12;
    margin-bottom: 16px;
    letter-spacing: -.02em;
}
.blog-read-summary {
    font-size: 18px;
    line-height: 1.65;
    opacity: .92;
    margin-bottom: 22px;
    max-width: 620px;
}
.blog-read-byline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid rgba(255,255,255,.14);
}
.blog-read-author {
    display: flex;
    align-items: center;
    gap: 12px;
}
.blog-read-author-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fde68a;
    font-size: 16px;
}
.blog-read-hero-forensics .blog-read-author-avatar { color: #99f6e4; }
.blog-read-author strong {
    display: block;
    font-size: 14px;
    margin-bottom: 2px;
}
.blog-read-author span { font-size: 12px; opacity: .78; }
.blog-read-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 13px;
    font-weight: 600;
    opacity: .88;
}
.blog-read-stats i { margin-right: 6px; color: #fde68a; }
.blog-read-hero-forensics .blog-read-stats i { color: #99f6e4; }

.blog-read-visual-frame {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(0,0,0,.28);
    border: 1px solid rgba(255,255,255,.15);
    aspect-ratio: 4 / 3;
    background: rgba(0,0,0,.2);
}
.blog-read-visual-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.blog-read-visual-fallback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    height: 100%;
    min-height: 280px;
    text-align: center;
}
.blog-read-visual-cyber { background: linear-gradient(145deg, rgba(30,58,138,.9), rgba(37,99,235,.85)); }
.blog-read-visual-forensics { background: linear-gradient(145deg, rgba(6,95,70,.92), rgba(13,148,136,.88)); }
.blog-read-visual-purple { background: linear-gradient(145deg, #4c1d95, #7c3aed); }
.blog-read-visual-orange { background: linear-gradient(145deg, #c2410c, #ea580c); }
.blog-read-visual-red { background: linear-gradient(145deg, #991b1b, #dc2626); }
.blog-read-visual-icon {
    width: 88px;
    height: 88px;
    border-radius: 22px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 38px;
    color: rgba(255,255,255,.8);
}
.blog-read-visual-fallback p {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
    opacity: .85;
}

.blog-read-page {
    padding: 0 0 64px;
    background: linear-gradient(180deg, #eef2f8 0%, #f8fafc 120px, #f4f6fb 100%);
}
.blog-read-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 28px;
    align-items: start;
    margin-top: -32px;
    position: relative;
    z-index: 2;
}
.blog-read-article {
    background: var(--white);
    border-radius: 20px;
    border: 1px solid #e3e8f0;
    box-shadow: 0 20px 50px rgba(0,64,128,.08);
    padding: 40px 44px 36px;
}
.blog-read-article-forensics { border-top: 4px solid #0d9488; }
.blog-read-article-cyber { border-top: 4px solid #2563eb; }
.blog-read-article-purple { border-top: 4px solid #7c3aed; }
.blog-read-article-orange { border-top: 4px solid #ea580c; }
.blog-read-article-red { border-top: 4px solid #dc2626; }

.blog-read-highlight {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 24px 26px;
    margin-bottom: 32px;
    border-radius: 16px;
    background: linear-gradient(135deg, #f0fdfa, #ecfdf5);
    border: 1px solid rgba(13,148,136,.15);
    border-left: 4px solid #0d9488;
}
.blog-read-article-cyber .blog-read-highlight {
    background: linear-gradient(135deg, #eff6ff, #eef2ff);
    border-color: rgba(37,99,235,.12);
    border-left-color: #2563eb;
}
.blog-read-highlight > i {
    color: #0d9488;
    font-size: 22px;
    margin-top: 4px;
    opacity: .75;
}
.blog-read-article-cyber .blog-read-highlight > i { color: #2563eb; }
.blog-read-highlight p {
    margin: 0;
    font-size: 19px;
    line-height: 1.75;
    color: var(--primary-dark);
    font-weight: 500;
}

.blog-detail-content {
    font-size: 18px;
    line-height: 1.92;
    color: #334155;
    max-width: 72ch;
}
.blog-detail-content p { margin-bottom: 1.35em; }
.blog-detail-content p:first-of-type {
    font-size: 19px;
    color: #1e293b;
}
.blog-detail-content p:last-child { margin-bottom: 0; }
.blog-detail-content h2,
.blog-detail-content h3,
.blog-detail-content h4 {
    color: var(--primary-dark);
    line-height: 1.3;
    margin: 1.75em 0 .85em;
    letter-spacing: -.01em;
}
.blog-detail-content h2 { font-size: 1.65rem; }
.blog-detail-content h3 { font-size: 1.35rem; }
.blog-detail-content h4 { font-size: 1.15rem; }
.blog-detail-content ul,
.blog-detail-content ol { margin: 0 0 1.35em 1.35em; padding: 0; }
.blog-detail-content li { margin-bottom: .5em; }
.blog-detail-content blockquote {
    margin: 1.75em 0;
    padding: 20px 24px;
    border-left: 4px solid #0d9488;
    background: #f0fdfa;
    border-radius: 0 14px 14px 0;
    color: #134e4a;
    font-style: italic;
}
.blog-read-article-cyber .blog-detail-content blockquote {
    border-left-color: #2563eb;
    background: #eff6ff;
    color: #1e3a8a;
}
.blog-detail-content a {
    color: #0d9488;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 600;
}
.blog-read-article-cyber .blog-detail-content a { color: #2563eb; }
.blog-detail-content a:hover { opacity: .85; }
.blog-detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: 14px;
    margin: 1.5em 0;
    box-shadow: 0 12px 32px rgba(0,64,128,.1);
}
.blog-detail-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5em 0;
    font-size: 15px;
    border-radius: 12px;
    overflow: hidden;
}
.blog-detail-content th,
.blog-detail-content td {
    border: 1px solid #e2e8f0;
    padding: 12px 14px;
    text-align: left;
}
.blog-detail-content th { background: #f8fafc; color: var(--primary-dark); }
.blog-detail-content hr {
    border: none;
    border-top: 1px solid #e2e8f0;
    margin: 2.25em 0;
}

.blog-read-article-foot {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-top: 36px;
    padding-top: 28px;
    border-top: 1px solid #e8ecf4;
}
.blog-read-tags-label,
.blog-read-share-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--text-light);
    margin-bottom: 10px;
}
.blog-read-tags-list { display: flex; flex-wrap: wrap; gap: 8px; }
.blog-read-tag {
    padding: 7px 14px;
    border-radius: 50px;
    background: #f0fdfa;
    border: 1px solid rgba(13,148,136,.18);
    color: #0f766e;
    font-size: 12px;
    font-weight: 600;
}
.blog-read-article-cyber .blog-read-tag {
    background: #eff6ff;
    border-color: rgba(37,99,235,.15);
    color: #1d4ed8;
}
.blog-read-share-links,
.blog-read-aside-share-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.blog-read-share-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 16px;
    transition: transform .2s, box-shadow .2s;
}
.blog-read-share-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0,0,0,.18);
}
.blog-read-share-btn.facebook { background: #1877f2; }
.blog-read-share-btn.twitter { background: #0f1419; }
.blog-read-share-btn.whatsapp { background: #25d366; }
.blog-read-share-btn.linkedin { background: #0a66c2; }

.blog-read-aside {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 92px;
}
.blog-read-aside-card {
    background: var(--white);
    border: 1px solid #e3e8f0;
    border-radius: 16px;
    padding: 22px;
    box-shadow: 0 8px 24px rgba(0,64,128,.05);
}
.blog-read-aside-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--text-light);
    margin-bottom: 12px;
}
.blog-read-aside-card h3 {
    font-size: 16px;
    color: var(--primary-dark);
    margin-bottom: 14px;
}
.blog-read-aside-card h3 i { color: #0d9488; margin-right: 8px; }
.blog-read-article-cyber ~ .blog-read-aside .blog-read-aside-card h3 i { color: #2563eb; }
.blog-read-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.blog-read-info-list li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #eef2f7;
    font-size: 13px;
}
.blog-read-info-list li:last-child { border-bottom: none; }
.blog-read-info-list span { color: var(--text-light); }
.blog-read-info-list strong { color: var(--primary-dark); text-align: right; }
.blog-read-aside-cta {
    background: linear-gradient(160deg, #022c22, #065f46, #0f766e);
    border: none;
    color: var(--white);
    text-align: center;
}
.blog-read-article-cyber ~ .blog-read-aside .blog-read-aside-cta,
.blog-read-hero-cyber ~ .blog-read-page .blog-read-aside-cta {
    background: linear-gradient(160deg, #004080, #1565c0, #1565c0);
}
.blog-read-cta-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    border-radius: 14px;
    background: rgba(255,255,255,.12);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #fde68a;
}
.blog-read-aside-cta h3 { color: var(--white); font-size: 18px; }
.blog-read-aside-cta p {
    font-size: 13px;
    line-height: 1.6;
    opacity: .9;
    margin-bottom: 16px;
}
.blog-read-aside-cta .btn-outline {
    border-color: rgba(255,255,255,.35);
    color: var(--white);
}
.blog-read-aside-cta .btn-outline:hover {
    background: rgba(255,255,255,.1);
    color: var(--white);
}

.blog-read-related {
    padding: 64px 0;
    background: var(--white);
    border-top: 1px solid #e8ecf4;
}
.blog-read-related-head { margin-bottom: 28px; }
.blog-read-related-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #0d9488;
    margin-bottom: 10px;
}
.blog-read-related-head h2 {
    font-size: clamp(24px, 3vw, 32px);
    color: var(--primary-dark);
}
.blog-read-related-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 20px;
}
.blog-read-related-card {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    gap: 16px;
    align-items: center;
    padding: 16px;
    border-radius: 16px;
    border: 1px solid #e8ecf4;
    background: #fafbfd;
    color: inherit;
    transition: transform .25s, box-shadow .25s, border-color .25s;
}
.blog-read-related-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0,64,128,.1);
    border-color: rgba(13,148,136,.25);
}
.blog-read-related-media {
    width: 100px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    background: #e2e8f0;
}
.blog-read-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog-read-related-fallback {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: rgba(255,255,255,.75);
    background: linear-gradient(135deg, #064e3b, #0d9488);
}
.blog-read-related-cyber .blog-read-related-fallback { background: linear-gradient(135deg, #1e3a8a, #2563eb); }
.blog-read-related-cat {
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #0d9488;
    margin-bottom: 6px;
}
.blog-read-related-body h3 {
    font-size: 15px;
    line-height: 1.4;
    color: var(--primary-dark);
    margin-bottom: 6px;
}
.blog-read-related-date { font-size: 12px; color: var(--text-light); }
.blog-read-related-arrow {
    color: #0d9488;
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .2s, transform .2s;
}
.blog-read-related-card:hover .blog-read-related-arrow {
    opacity: 1;
    transform: translateX(0);
}

.blog-read-bottom {
    background: linear-gradient(135deg, #022c22, #064e3b, #0f766e);
    color: var(--white);
    padding: 56px 0;
}
.blog-read-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}
.blog-read-bottom-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 50px;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.18);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-bottom: 12px;
}
.blog-read-bottom-inner h2 {
    font-size: clamp(22px, 3vw, 30px);
    margin-bottom: 8px;
}
.blog-read-bottom-inner p { opacity: .88; max-width: 520px; margin: 0; }
.blog-read-bottom-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-outline-light {
    border: 1px solid rgba(255,255,255,.35);
    color: var(--white);
    background: transparent;
}
.btn-outline-light:hover {
    background: rgba(255,255,255,.1);
    border-color: rgba(255,255,255,.5);
    color: var(--white);
}

@media (max-width: 992px) {
    .blog-read-hero-grid { grid-template-columns: 1fr; gap: 28px; }
    .blog-read-visual-frame { max-width: 520px; }
    .blog-read-shell { grid-template-columns: 1fr; margin-top: -20px; }
    .blog-read-aside {
        position: static;
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }
    .blog-read-bottom-inner { flex-direction: column; text-align: center; }
    .blog-read-bottom-actions { justify-content: center; }
    .blog-cta-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
    .blog-grid { grid-template-columns: 1fr; }
    .blog-read-hero { padding: 36px 0 40px; }
    .blog-read-article { padding: 24px 20px; }
    .blog-read-highlight { flex-direction: column; padding: 18px; }
    .blog-read-highlight p { font-size: 17px; }
    .blog-detail-content { font-size: 17px; }
    .blog-read-article-foot { flex-direction: column; }
    .blog-read-related-card { grid-template-columns: 80px 1fr; }
    .blog-read-related-arrow { display: none; }
    .blog-read-aside { grid-template-columns: 1fr; }
}

.intern-workspace-zone { margin: 40px 0 48px; }
.intern-workspace-panel {
    margin-bottom: 28px;
    padding: 24px;
    background: #fff;
    border: 1px solid rgba(21,101,192,.1);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(21,101,192,.06);
}
.intern-workspace-head {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 18px;
}
.intern-workspace-eyebrow {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: var(--accent);
    text-transform: uppercase;
    letter-spacing: .4px;
    margin-bottom: 6px;
}
.intern-workspace-head h3 { font-size: 24px; color: var(--primary-dark); margin-bottom: 6px; }
.intern-workspace-head p { margin: 0; font-size: 13px; color: var(--text-light); }
.intern-workspace-program-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
}
.intern-workspace-program-meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(21,101,192,.06);
    border: 1px solid rgba(21,101,192,.1);
    font-size: 12px;
    font-weight: 600;
    color: var(--primary-dark);
}
.intern-workspace-progress-badge {
    text-align: right;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(21,101,192,.05);
}
.intern-workspace-progress-badge strong { display: block; font-size: 28px; color: var(--accent); }
.intern-workspace-progress-badge span { font-size: 12px; color: var(--text-light); }
.intern-workspace-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 20px;
}
.intern-workspace-step {
    padding: 10px 8px;
    border-radius: 12px;
    background: #f8f9fc;
    border: 1px solid rgba(21,101,192,.08);
    font-size: 11px;
    color: var(--text-light);
    text-align: center;
}
.intern-workspace-step span {
    display: inline-flex;
    width: 22px; height: 22px;
    align-items: center; justify-content: center;
    border-radius: 50%;
    background: #eef0f7;
    color: var(--primary);
    font-weight: 700;
    margin-bottom: 6px;
}
.intern-workspace-step.done { background: rgba(46,125,50,.06); border-color: rgba(46,125,50,.2); color: #2e7d32; }
.intern-workspace-step.done span { background: #43a047; color: #fff; }
.intern-workspace-notice {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 16px 18px;
    border-radius: 14px;
    margin-bottom: 20px;
}
.intern-workspace-notice.success { background: #e8f5e9; border: 1px solid #a5d6a7; }
.intern-workspace-notice.pending { background: #fff8e1; border: 1px solid #ffe082; }
.intern-workspace-notice.info { background: #e3f2fd; border: 1px solid #90caf9; }
.intern-workspace-notice.eligible { background: rgba(3,169,244,.08); border: 1px solid rgba(3,169,244,.25); display: block; }
.intern-workspace-notice h4 { margin: 0 0 6px; color: var(--primary-dark); font-size: 16px; }
.intern-workspace-notice p { margin: 0; font-size: 13px; color: var(--text-light); }
.intern-review-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 14px 0; }
.intern-task-list { display: flex; flex-direction: column; gap: 16px; }
.intern-task-card {
    padding: 18px;
    border: 1px solid rgba(21,101,192,.1);
    border-radius: 14px;
    background: #fafbfd;
}
.intern-task-card.is-submitted { border-color: rgba(46,125,50,.22); background: rgba(46,125,50,.04); }
.intern-task-card.is-rejected { border-color: rgba(198,40,40,.25); background: rgba(198,40,40,.04); }
.intern-task-card.is-overdue { border-color: rgba(198,40,40,.18); }
.intern-task-type-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(21,101,192,.08);
    font-size: 11px;
    color: var(--primary);
}
.intern-task-reject-note {
    margin: 12px 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #ffebee;
    border: 1px solid #ffcdd2;
    font-size: 13px;
}
.intern-meetings-section { margin: 24px 0; }
.intern-meetings-section h4 { margin-bottom: 8px; color: var(--primary-dark); }
.intern-meetings-intro { margin: 0 0 14px; font-size: 13px; color: var(--text-light); }
.intern-meeting-list { display: flex; flex-direction: column; gap: 12px; }
.intern-meeting-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 16px 18px;
    border-radius: 12px;
    background: #eef0f7;
    border: 1px solid rgba(21,101,192,.1);
}
.intern-meeting-card.is-completed { opacity: .92; }
.intern-meeting-main { flex: 1; min-width: 220px; }
.intern-meeting-main strong { display: block; color: var(--primary-dark); margin-bottom: 6px; }
.intern-meeting-when { display: block; font-size: 13px; color: var(--text-light); margin-bottom: 8px; }
.intern-meeting-desc { margin: 0; font-size: 13px; color: var(--text); line-height: 1.5; }
.intern-meeting-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}
.intern-meeting-pending { font-size: 12px; color: var(--text-light); max-width: 180px; }
.intern-task-section-title { margin: 24px 0 14px; color: var(--primary-dark); }
.intern-task-top { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.intern-task-due { display: inline-block; font-size: 12px; color: var(--text-light); margin-bottom: 6px; }
.intern-task-top h4 { margin: 0 0 6px; color: var(--primary-dark); }
.intern-task-top p { margin: 0; font-size: 13px; color: var(--text-light); }
.intern-task-meeting {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    margin-bottom: 12px;
    border-radius: 10px;
    background: #eef0f7;
    font-size: 13px;
}
.intern-task-form { margin-top: 12px; padding-top: 12px; border-top: 1px dashed rgba(21,101,192,.12); }
.intern-task-link-input.is-invalid,
.intern-task-file-input.is-invalid {
    border-color: #c62828 !important;
    box-shadow: 0 0 0 2px rgba(198,40,40,.12);
}
.intern-task-url-error {
    display: none;
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #ffebee;
    border: 1px solid #ffcdd2;
    color: #b71c1c;
    font-size: 12px;
    line-height: 1.45;
}
.intern-task-url-error.is-visible { display: block; }
.intern-task-url-error i { margin-right: 6px; }
.intern-task-submit-tabs { display: flex; gap: 16px; margin-bottom: 12px; font-size: 13px; }
.intern-task-submitted a { font-weight: 600; color: var(--primary); }
.intern-task-submitted small { display: block; margin-top: 6px; color: var(--text-light); }
.intern-workspace-empty { text-align: center; padding: 30px; color: var(--text-light); }
@media (max-width: 992px) {
    .intern-workspace-steps { grid-template-columns: 1fr 1fr; }
    .intern-review-grid { grid-template-columns: 1fr; }
}

.intern-chip.fee { background: rgba(255, 193, 7, 0.15); color: #f57f17; }
.intern-chip.free { background: rgba(76, 175, 80, 0.12); color: #2e7d32; }

/* Registration fee payment card */
.intern-payment-card {
    position: relative;
    margin: 0 0 20px;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid rgba(201, 162, 39, 0.28);
    box-shadow: 0 14px 40px rgba(13, 27, 62, 0.12);
    background: var(--white);
}
.intern-payment-card-shine {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%);
    opacity: 0;
    transition: opacity .3s;
}
.intern-payment-card:hover .intern-payment-card-shine { opacity: 1; }
.intern-payment-card-top {
    position: relative;
    padding: 22px 20px 20px;
    color: var(--white);
    overflow: hidden;
}
.intern-payment-card.is-pending .intern-payment-card-top {
    background: linear-gradient(135deg, #1565c0 0%, #1565c0 45%, #1976d2 100%);
}
.intern-payment-card.is-paid .intern-payment-card-top {
    background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 55%, #43a047 100%);
}
.intern-payment-card-pattern {
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image:
        radial-gradient(circle at 85% 20%, rgba(3,169,244,.8) 0, transparent 42%),
        radial-gradient(circle at 10% 90%, rgba(255,255,255,.5) 0, transparent 35%);
    pointer-events: none;
}
.intern-payment-card-top-inner {
    position: relative;
    z-index: 1;
    text-align: center;
}
.intern-payment-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .88;
    margin-bottom: 10px;
}
.intern-payment-eyebrow i { color: var(--accent); font-size: 12px; }
.intern-payment-amount-display {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    margin-bottom: 12px;
    line-height: 1;
}
.intern-payment-currency {
    font-size: 22px;
    font-weight: 700;
    margin-top: 8px;
    color: var(--accent);
}
.intern-payment-value {
    font-size: 46px;
    font-weight: 800;
    letter-spacing: -1px;
    text-shadow: 0 4px 18px rgba(0,0,0,.18);
}
.intern-payment-decimals {
    font-size: 20px;
    font-weight: 700;
    margin-top: 10px;
    opacity: .9;
}
.intern-payment-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(6px);
}
.intern-payment-status-chip.pending {
    background: rgba(255,255,255,.16);
    border: 1px solid rgba(255,255,255,.28);
}
.intern-payment-status-chip.paid {
    background: rgba(255,255,255,.2);
    border: 1px solid rgba(255,255,255,.35);
}
.intern-payment-card-body {
    padding: 18px 18px 20px;
    background: linear-gradient(180deg, #fafbfd 0%, var(--white) 100%);
}
.intern-payment-perks {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.intern-payment-perks li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--text);
    line-height: 1.4;
}
.intern-payment-perk-icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(21,101,192,.08);
    color: var(--primary);
    font-size: 12px;
}
.intern-payment-lead {
    font-size: 13px;
    color: var(--text-light);
    line-height: 1.55;
    margin: 0 0 16px;
    text-align: center;
}

/* Premium pay button */
.intern-payment-cta-wrap {
    position: relative;
    margin: 4px 0 0;
}
.intern-payment-cta-glow {
    position: absolute;
    inset: -4px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(3,169,244,.55), rgba(21,101,192,.35));
    filter: blur(10px);
    opacity: .65;
    animation: internPayGlow 2.8s ease-in-out infinite;
    pointer-events: none;
}
@keyframes internPayGlow {
    0%, 100% { opacity: .45; transform: scale(.98); }
    50% { opacity: .85; transform: scale(1); }
}
.intern-payment-cta {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 16px;
    cursor: pointer;
    overflow: hidden;
    text-align: left;
    color: #004080;
    background: linear-gradient(145deg, #ffe082 0%, #f5c842 28%, #03a9f4 62%, #b8941f 100%);
    box-shadow:
        0 14px 32px rgba(3,169,244,.38),
        inset 0 1px 0 rgba(255,255,255,.65),
        inset 0 -2px 0 rgba(0,0,0,.08);
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    font-family: inherit;
    line-height: 1.35;
}
.intern-payment-cta-shine {
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-18deg);
    pointer-events: none;
    transition: left .65s ease;
}
.intern-payment-cta:hover:not(:disabled) .intern-payment-cta-shine {
    left: 140%;
}
.intern-payment-cta-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 14px 10px;
}
.intern-payment-cta-left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}
.intern-payment-cta-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}
.intern-payment-cta:hover:not(:disabled) {
    transform: translateY(-3px);
    box-shadow:
        0 20px 40px rgba(3,169,244,.45),
        inset 0 1px 0 rgba(255,255,255,.75),
        inset 0 -2px 0 rgba(0,0,0,.08);
    filter: saturate(1.08);
}
.intern-payment-cta:active:not(:disabled) {
    transform: translateY(-1px);
}
.intern-payment-cta:disabled {
    opacity: .78;
    cursor: wait;
}
.intern-payment-cta.is-loading {
    opacity: .88;
    pointer-events: none;
}
.intern-payment-cta.is-loading .intern-payment-cta-label::after {
    content: '…';
    animation: internPayDots 1s steps(3, end) infinite;
}
@keyframes internPayDots {
    0% { content: ''; }
    33% { content: '.'; }
    66% { content: '..'; }
    100% { content: '…'; }
}
.intern-payment-cta-icon {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #004080, #1565c0);
    color: #b3e5fc;
    font-size: 17px;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(0,64,128,.28);
}
.intern-payment-cta-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.intern-payment-cta-kicker {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(0,64,128,.62);
}
.intern-payment-cta-label {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: #004080;
    line-height: 1.2;
}
.intern-payment-cta-label em {
    font-style: normal;
    color: #1565c0;
    background: rgba(255,255,255,.42);
    padding: 1px 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,.55);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.6);
}
.intern-payment-cta-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #1b5e20;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(46,125,50,.25);
}
.intern-payment-cta-badge i { font-size: 9px; }
.intern-payment-cta-arrow {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,64,128,.92);
    color: #b3e5fc;
    font-size: 13px;
    flex-shrink: 0;
    box-shadow: 0 6px 14px rgba(0,64,128,.25);
    transition: transform .25s ease, background .25s ease;
}
.intern-payment-cta:hover:not(:disabled) .intern-payment-cta-arrow {
    transform: translateX(4px) scale(1.05);
    background: #004080;
}
.intern-payment-cta-sub {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 9px 14px 12px;
    font-size: 11px;
    font-weight: 600;
    color: rgba(0,64,128,.72);
    line-height: 1.35;
    border-top: 1px solid rgba(255,255,255,.35);
    background: rgba(255,255,255,.16);
}
.intern-payment-cta-sub i { color: #1565c0; font-size: 10px; }
.intern-payment-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed #e3e7f0;
    font-size: 11px;
    color: var(--text-light);
}
.intern-payment-trust > span:not(.intern-payment-trust-label) {
    width: 32px;
    height: 22px;
    border-radius: 4px;
    border: 1px solid #e0e4ef;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--white);
    color: #42a5f5;
    font-size: 14px;
}
.intern-payment-trust-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    color: var(--primary);
}
.intern-payment-trust-label i { color: var(--accent); }
.intern-payment-success-block {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px;
    border-radius: 12px;
    background: #e8f5e9;
    border: 1px solid #c8e6c9;
    margin-bottom: 14px;
}
.intern-payment-success-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2e7d32;
    color: var(--white);
    font-size: 16px;
    flex-shrink: 0;
    box-shadow: 0 6px 16px rgba(46,125,50,.35);
}
.intern-payment-success-block strong {
    display: block;
    font-size: 14px;
    color: #1b5e20;
    margin-bottom: 4px;
}
.intern-payment-success-block p {
    margin: 0;
    font-size: 13px;
    color: #33691e;
    line-height: 1.55;
}
.intern-payment-slip-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #c5cae9;
    background: linear-gradient(135deg, var(--white), #f3f5ff);
    color: var(--primary-dark);
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.intern-payment-slip-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(21,101,192,.12);
    border-color: var(--primary);
}
.intern-payment-slip-btn-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: var(--white);
    font-size: 17px;
    flex-shrink: 0;
}
.intern-payment-slip-btn-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.intern-payment-slip-btn-text strong { font-size: 14px; }
.intern-payment-slip-btn-text small {
    font-size: 11px;
    color: var(--text-light);
}
.intern-payment-slip-btn-arrow {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(21,101,192,.08);
    color: var(--primary);
    font-size: 13px;
    flex-shrink: 0;
}
.intern-payment-note.warn {
    padding: 12px 14px;
    border-radius: 10px;
    background: #fff3e0;
    color: #e65100;
    font-size: 12px;
    line-height: 1.5;
    border: 1px solid #ffcc80;
}
.intern-payment-note.warn i { margin-right: 6px; }
.intern-fee-note { margin-top: 10px; }

/* Inside My Applications list on internship page */
.cert-app-item .intern-payment-card {
    margin-top: 14px;
    margin-bottom: 0;
}
@media (max-width: 576px) {
    .intern-payment-value { font-size: 38px; }
    .intern-payment-cta-inner { flex-wrap: wrap; padding: 12px 12px 8px; }
    .intern-payment-cta-right {
        flex-direction: row;
        align-items: center;
        width: 100%;
        justify-content: space-between;
        margin-top: 4px;
    }
    .intern-payment-cta-label { font-size: 15px; }
    .intern-payment-cta-label em { display: inline-block; margin-top: 2px; }
    .intern-payment-cta-icon { width: 40px; height: 40px; font-size: 15px; }
    .intern-payment-slip-btn { padding: 12px 14px; }
    .intern-payment-slip-btn-icon { width: 38px; height: 38px; }
}

/* Home Page Video Gallery */
.section-home-videos { background: linear-gradient(180deg, #fff 0%, #f4f6fb 100%); }
.home-video-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-bottom: 32px;
}
.home-video-filter {
    border: 1px solid rgba(15, 23, 42, .12);
    background: #fff;
    color: var(--text);
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
}
.home-video-filter:hover,
.home-video-filter.active {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
.home-video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
}
.home-video-card {
    background: #fff;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
    transition: transform .25s ease, box-shadow .25s ease;
}
.home-video-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, .1);
}
.home-video-card-head {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 18px 0;
}
.home-video-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.home-video-title {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--primary-dark);
    line-height: 1.4;
    word-break: break-word;
    overflow-wrap: anywhere;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.home-video-cat {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2px;
}
.home-video-cat.cat-demo_class { background: #e3f2fd; color: #1565c0; }
.home-video-cat.cat-organization_review { background: #f3e5f5; color: #6a1b9a; }
.home-video-cat.cat-student_feedback { background: #e8f5e9; color: #2e7d32; }
.home-video-cat.cat-other { background: #edf2f7; color: #4a5568; }
.home-video-source {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.home-video-source.type-youtube { background: #ffebee; color: #c62828; }
.home-video-source.type-drive { background: #e8f5e9; color: #2e7d32; }
.home-video-frame {
    margin: 12px 16px 0;
    border-radius: 12px;
    overflow: hidden;
}
.home-video-card:not(:has(.home-video-card-body)) .home-video-frame {
    margin-bottom: 16px;
}
.home-video-card-body {
    padding: 12px 18px 18px;
}
.home-video-card-body p {
    margin: 0;
    color: var(--text-light);
    font-size: 14px;
    line-height: 1.6;
    word-break: break-word;
    overflow-wrap: anywhere;
}
@media (max-width: 768px) {
    .home-video-grid { grid-template-columns: 1fr; }
}

/* Video Gallery Page */
.video-gallery-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #004080 0%, #1565c0 45%, #1565c0 100%);
    color: #fff;
    padding: 88px 0 72px;
    text-align: center;
}
.video-gallery-hero-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(60px);
}
.video-gallery-hero-glow-1 {
    top: -70px;
    right: 10%;
    width: 280px;
    height: 280px;
    background: rgba(201, 162, 39, .22);
}
.video-gallery-hero-glow-2 {
    bottom: -80px;
    left: 8%;
    width: 260px;
    height: 260px;
    background: rgba(96, 165, 250, .18);
}
.video-gallery-hero-inner {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0 auto;
}
.video-gallery-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    color: rgba(255, 255, 255, .92);
    font-size: 13px;
    font-weight: 600;
    transition: background .2s ease, transform .2s ease;
}
.video-gallery-back:hover {
    background: rgba(255, 255, 255, .14);
    transform: translateX(-3px);
    color: #fff;
}
.video-gallery-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .16);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    text-transform: uppercase;
}
.video-gallery-hero-eyebrow i { color: var(--accent); }
.video-gallery-hero h1 {
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.15;
    margin-bottom: 14px;
}
.video-gallery-hero p {
    margin: 0 auto 24px;
    max-width: 680px;
    font-size: 17px;
    line-height: 1.65;
    opacity: .9;
}
.video-gallery-hero-stats {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}
.video-gallery-stat {
    min-width: 120px;
    padding: 14px 20px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
}
.video-gallery-stat .num {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: #fde68a;
    line-height: 1.1;
}
.video-gallery-stat .lbl {
    font-size: 12px;
    opacity: .78;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.video-gallery-page-section {
    padding-top: 48px;
    background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
}

/* Policy pages (Terms, Privacy, Refund) */
.policy-hero { padding: 56px 0 48px; }
.policy-hero-inner { max-width: 720px; margin: 0 auto; }
.policy-hero-icon {
    width: 64px; height: 64px; margin: 0 auto 16px;
    border-radius: 16px; background: rgba(255,255,255,.12);
    display: flex; align-items: center; justify-content: center; font-size: 26px;
}
.policy-updated { margin-top: 12px; font-size: 14px; opacity: .8; }
.policy-content-section { padding-top: 40px; padding-bottom: 60px; }
.policy-content-card {
    max-width: 900px; margin: 0 auto; background: #fff;
    border-radius: 16px; border: 1px solid #e8ecf4;
    box-shadow: 0 12px 40px rgba(21,101,192,.06); overflow: hidden;
}
.policy-content-body {
    padding: 36px 40px; font-size: 16px; line-height: 1.8; color: #333;
}
.policy-content-body h2 {
    color: var(--primary, #1565c0); font-size: 22px; margin: 28px 0 12px;
}
.policy-content-body h2:first-child { margin-top: 0; }
.policy-content-body h3 { font-size: 18px; margin: 20px 0 10px; color: #1565c0; }
.policy-content-body p { margin-bottom: 14px; }
.policy-content-body ul, .policy-content-body ol { margin: 0 0 16px 22px; }
.policy-content-body li { margin-bottom: 8px; }
.policy-content-body a { color: var(--primary, #1565c0); text-decoration: underline; }
.policy-content-foot {
    display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
    padding: 24px 32px 32px; border-top: 1px solid #eef1f8; background: #f8fafc;
}
.footer-bottom-links { flex-wrap: wrap; gap: 8px 16px; }
@media (max-width: 768px) {
    .policy-content-body { padding: 24px 20px; }
    .policy-content-foot { flex-direction: column; align-items: stretch; }
}

/* Public Pages Premium Theme */
.public-page {
    overflow-x: hidden;
}
.premium-hero {
    overflow: hidden;
    position: relative;
    text-align: center;
    padding: 88px 0 72px !important;
    background: linear-gradient(135deg, var(--deep-blue) 0%, var(--primary-blue) 45%, var(--navy-blue) 100%) !important;
    color: var(--white);
}
.premium-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 760px;
    margin: 0 auto;
}
.premium-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(3,169,244,.18);
    border: 1px solid rgba(3,169,244,.35);
    color: #e1f5fe;
    padding: 8px 16px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .55px;
    text-transform: uppercase;
    margin-bottom: 16px;
}
.premium-hero h1 {
    font-size: clamp(32px, 4.5vw, 46px);
    margin-bottom: 14px;
    line-height: 1.15;
    text-shadow: 0 8px 28px rgba(0,0,0,.25);
    color: var(--white);
}
.premium-hero p {
    font-size: 18px;
    opacity: .92;
    max-width: 640px;
    margin: 0 auto 22px;
    line-height: 1.7;
    color: rgba(255,255,255,.92);
}
.premium-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center;
}
.premium-hero-badges span,
.premium-hero-badges .alumni-stat {
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    padding: 9px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    backdrop-filter: blur(6px);
}
.premium-hero-badges span i { color: var(--accent); margin-right: 6px; }
.public-section {
    position: relative;
    overflow: hidden;
    background: transparent !important;
}
.public-section > *:not(.home-section-fx) {
    position: relative;
    z-index: 1;
}
.public-glass-card {
    background: rgba(255,255,255,.9) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(21,101,192,.08);
    box-shadow: 0 12px 40px rgba(21,101,192,.1);
}
.public-page .verify-section,
.public-page .contact-section,
.public-page .auth-login-section,
.public-page .alumni-section,
.public-page .intern-section {
    padding-top: 56px;
    padding-bottom: 64px;
}
.public-page .verify-search-card {
    border-radius: 18px;
    overflow: hidden;
}
.public-page .verify-steps {
    max-width: 900px;
    margin: 0 auto;
    padding: 32px 28px;
    border-radius: 18px;
}
.public-page .verify-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.public-page .verify-step {
    text-align: center;
    padding: 8px 4px;
}
.public-page .verify-step .step-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--primary), var(--navy-blue));
    color: #fff;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 12px;
}
.public-page .contact-info-card {
    border-top: none;
    border-radius: 16px;
    transition: transform .3s, box-shadow .3s;
}
.public-page .contact-info-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 44px rgba(21,101,192,.16);
}
.public-page .contact-form-wrap,
.public-page .contact-map-wrap {
    border-radius: 18px;
    overflow: hidden;
}
.public-page .auth-login-form-wrap {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 16px 48px rgba(21,101,192,.12);
}
.public-page .auth-login-help {
    border: 1px solid rgba(21,101,192,.1);
    box-shadow: 0 8px 24px rgba(21,101,192,.08);
}
.public-page .alumni-card {
    border-radius: 18px;
}
.public-page .alumni-empty {
    max-width: 560px;
    margin: 0 auto;
    padding: 48px 36px;
    text-align: center;
    border-radius: 20px;
}
.public-cta {
    background: linear-gradient(135deg, var(--deep-blue) 0%, var(--primary-blue) 50%, var(--navy-blue) 100%) !important;
    color: var(--white);
    padding: 56px 0;
}
.public-cta .alumni-cta-inner {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 20px;
    backdrop-filter: blur(10px);
    padding: 36px 40px;
}
.public-cta .alumni-cta-inner h2 {
    color: var(--white);
    font-size: 26px;
}
.public-cta .alumni-cta-inner p {
    color: rgba(255,255,255,.88);
}
.public-page .intern-benefit-card,
.public-page .intern-card,
.public-page .intern-empty {
    background: rgba(255,255,255,.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.public-page .intern-benefit-card:hover,
.public-page .intern-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 48px rgba(21,101,192,.14);
}
/* Keep dark gradient bands — white text must stay on blue background */
.public-page .intern-process-band,
.public-page .webinar-register-banner {
    background: linear-gradient(135deg, var(--primary-dark), var(--primary));
    color: var(--white);
}
.public-page .intern-process-head h2,
.public-page .intern-process-step strong {
    color: var(--white);
}
.public-page .intern-process-head p,
.public-page .intern-process-step span {
    color: rgba(255,255,255,.88);
}
.public-page .webinar-register-banner h3 {
    color: var(--white);
}
.public-page .webinar-register-banner p {
    color: rgba(255,255,255,.88);
}
.public-page .webinar-register-actions .btn-outline {
    border-color: rgba(255,255,255,.45);
    color: var(--white);
}
.public-page .webinar-register-actions .btn-outline:hover {
    background: var(--white);
    color: var(--primary);
}
@media (max-width: 768px) {
    .premium-hero { padding: 64px 0 52px !important; }
    .public-page .verify-steps-grid { grid-template-columns: 1fr; }
    .public-cta .alumni-cta-inner { padding: 28px 20px; }
}

/* Floating WhatsApp chat button */
.whatsapp-chat-btn{
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:10050;
    width:58px;
    height:58px;
    border-radius:50%;
    background:#25d366;
    color:#fff !important;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:32px;
    line-height:1;
    border:3px solid #fff;
    box-shadow:0 8px 24px rgba(0,0,0,.18), 0 10px 28px rgba(37,211,102,.45);
    transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
    text-decoration:none;
    pointer-events:auto;
    animation:whatsappBtnPulse 2.8s ease-in-out infinite;
}
@keyframes whatsappBtnPulse{
    0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.18), 0 10px 28px rgba(37,211,102,.45)}
    50%{box-shadow:0 8px 24px rgba(0,0,0,.18), 0 10px 28px rgba(37,211,102,.45), 0 0 0 10px rgba(37,211,102,.18)}
}
.whatsapp-chat-btn:hover{
    transform:scale(1.08);
    box-shadow:0 12px 32px rgba(0,0,0,.22), 0 14px 32px rgba(37,211,102,.55);
    background:#20bd5a;
    color:#fff !important;
    animation:none;
}
.whatsapp-chat-btn i{
    display:block;
    line-height:1;
    color:#fff;
}
@media (max-width:768px){
    .whatsapp-chat-btn{
        right:16px;
        bottom:16px;
        width:54px;
        height:54px;
        font-size:30px;
    }
}
@media (prefers-reduced-motion:reduce){
    .whatsapp-chat-btn{animation:none}
}

/* ===== Mobile performance & rendering fixes ===== */
@media (max-width: 768px) {
    body {
        background-attachment: scroll;
    }
    .site-cyber-bg {
        display: none !important;
    }
    .home-page .home-section-fx,
    .public-page .home-section-fx {
        display: none !important;
    }
    .home-page .home-course-card,
    .home-page .home-service-card,
    .home-page .home-intern-card,
    .home-page .home-review-card,
    .home-page .home-student-card,
    .home-page .home-roadmap-frame,
    .home-page .home-founder-card,
    .home-page .home-mentor-chip,
    .home-page .blog-grid-home .blog-card,
    .home-page .home-video-card,
    .public-glass-card {
        background: #ffffff !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }
    .home-hero .slide-content,
    .home-slide-content,
    .home-hero-actions .btn,
    .btn,
    .nav-link {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
    .home-testimonials-track,
    .home-mentors-track {
        will-change: auto;
    }
    .home-testimonials-marquee-ltr .home-testimonials-track,
    .home-testimonials-marquee-rtl .home-testimonials-track {
        animation-duration: 70s;
    }
    .home-mentors-marquee .home-mentors-track {
        animation-duration: 55s;
    }
    .home-fx-grid,
    .home-fx-nodes,
    .home-fx-scan,
    .home-fx-glow,
    .home-fx-binary,
    .home-fx-icon,
    .home-3d-cube-inner,
    .home-3d-ring,
    .home-3d-orb,
    .home-3d-grid {
        animation: none !important;
    }
    .whatsapp-chat-btn {
        animation: none;
    }
}
@media (hover: none) and (pointer: coarse) {
    .site-cyber-bg {
        display: none !important;
    }
}
