/* PythonLab V5 – horizontale navigatie en apps-dashboard */
:root{--navy:#142b46;--navy2:#19456e;--blue:#377caf;--yellow:#ffd43b;--ink:#203750;--stroke:#dce7f1;--bg:#f3f7fc}
html{scroll-padding-top:105px}
body.pythonlab-v5{background:#f2f6fb;color:var(--ink)}
.pythonlab-v5 .app-shell{display:block;min-height:100vh}
.pythonlab-v5 .page-frame{width:100%!important;min-height:100vh;display:flex;flex-direction:column;min-width:0;flex:1}
.pythonlab-v5 .topbar{height:auto;min-height:86px;position:sticky;top:0;z-index:100;background:#142b46!important;box-shadow:0 5px 16px #142b461b;padding:0 22px;overflow:visible}
.pythonlab-v5 .topbar-inner{width:100%;max-width:1392px;margin:auto;min-height:86px;display:flex;align-items:center;gap:26px}
.pythonlab-v5 .top-brand{flex:none;display:flex;align-items:center;justify-content:center;width:177px;max-width:177px;min-height:67px;background:#fff;border-radius:13px;padding:6px 11px}
.pythonlab-v5 .top-brand img.top-logo{display:block!important;width:156px!important;height:52px!important;max-width:156px!important;max-height:52px!important;object-fit:contain!important;object-position:center!important}
.pythonlab-v5 .top-nav{display:flex;align-items:center;gap:6px;min-width:0;flex:1}
.pythonlab-v5 .top-nav-item{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:9px 14px;color:#dae8f6;font-weight:700;font-size:13px;line-height:1.2;white-space:nowrap;border-radius:11px;transition:background .17s,color .17s}
.pythonlab-v5 .top-nav-item:hover{background:#ffffff19;color:#fff;text-decoration:none}
.pythonlab-v5 .top-nav-item.active{background:var(--yellow);color:#152e46}
.pythonlab-v5 .top-account{flex:none;display:flex;align-items:center;gap:12px;min-width:0}
.pythonlab-v5 .top-identity{color:#c5d8e9;font-size:12px;font-weight:650;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pythonlab-v5 .top-account form{margin:0}
.pythonlab-v5 .top-signin,.pythonlab-v5 .top-signout{display:inline-flex;align-items:center;justify-content:center;min-height:38px;background:transparent;border:1px solid #66839b;border-radius:10px;color:#fff;padding:7px 13px;font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}
.pythonlab-v5 .top-signin:hover,.pythonlab-v5 .top-signout:hover{border-color:var(--yellow);color:var(--yellow);text-decoration:none}
.pythonlab-v5 .impersonation-bar{max-width:100%;background:#fff4cd;border-bottom:1px solid #eadb9e;padding:10px max(20px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:center;gap:20px;font-size:13px;flex-wrap:wrap}
.pythonlab-v5 .impersonation-bar form{margin:0}
.pythonlab-v5 .main-content{flex:1;width:100%!important;max-width:1392px!important;margin:0 auto!important;padding:34px clamp(18px,3vw,42px) 56px}
.pythonlab-v5 .main-content.landing{max-width:1250px!important;padding-top:35px}
.pythonlab-v5 .footer{display:flex;gap:18px;justify-content:center;align-items:center;border-top:1px solid var(--stroke);padding:18px 12px;background:#fff;color:#7b8fa4;font-size:12px}
.pythonlab-v5 .footer a{color:#507da1}
.pythonlab-v5 .dashboard-hero{background:linear-gradient(110deg,#16344f 0%,#1c567e 100%);border-radius:24px;color:white;display:flex;align-items:center;justify-content:space-between;padding:33px 36px;min-height:208px;position:relative;overflow:hidden;gap:24px}
.pythonlab-v5 .dashboard-hero>div{max-width:800px;position:relative;z-index:1}
.pythonlab-v5 .dashboard-hero h1{font-size:clamp(27px,3vw,39px);line-height:1.2;letter-spacing:-.035em;margin:0 0 10px;color:#fff}
.pythonlab-v5 .dashboard-hero p{max-width:640px;font-size:15px;line-height:1.6;color:#d7e8f7;margin:0}
.pythonlab-v5 img.dashboard-hero-mascot{display:block!important;position:static!important;flex:0 0 174px;width:174px!important;height:174px!important;max-width:174px!important;max-height:174px!important;object-fit:contain!important}
.pythonlab-v5 .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:20px 0 22px}
.pythonlab-v5 .stat{border-radius:15px;border:1px solid #e0eaf4;padding:18px 21px;box-shadow:0 5px 16px #14345107}
.pythonlab-v5 .stat strong{color:#245e85;font-size:31px;line-height:1.3}
.pythonlab-v5 .app-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:9px}
.pythonlab-v5 a.app-card{display:flex;flex-direction:column;min-height:220px;gap:8px;padding:21px;background:#fff;border:1px solid #dae6f0;border-radius:17px;color:var(--ink);box-shadow:0 5px 16px #14345108;transition:box-shadow .18s,border .18s,transform .18s}
.pythonlab-v5 a.app-card:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 13px 27px #14345118;border-color:#91c1e0}
.pythonlab-v5 .app-card img{display:block!important;width:57px!important;height:57px!important;max-width:57px!important;max-height:57px!important;object-fit:contain!important;margin-bottom:2px}
.pythonlab-v5 .app-card strong{font-size:18px;letter-spacing:-.02em;color:#162e45}
.pythonlab-v5 .app-card>span{font-size:12.5px;line-height:1.48;color:#708398;flex:1}
.pythonlab-v5 .app-card em{font-style:normal;font-size:12px;font-weight:800;color:#2b76aa;display:flex;justify-content:space-between;align-items:center}
.pythonlab-v5 .dashboard-section{margin-top:31px}
.pythonlab-v5 .dashboard-section .section-head{margin:0 0 15px}
.pythonlab-v5 .cards-three{grid-template-columns:repeat(4,minmax(0,1fr))}
.pythonlab-v5 a.mini-card{min-width:0;min-height:147px;padding:20px}
.pythonlab-v5 .mini-card img{width:53px!important;height:53px!important;max-width:53px!important;max-height:53px!important}
.pythonlab-v5 .student-shortcuts,.pythonlab-v5 .platform-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:9px 0 23px}
.pythonlab-v5 .platform-shortcuts{grid-template-columns:repeat(4,minmax(0,1fr))}
.pythonlab-v5 a.student-shortcut{display:flex;align-items:center;gap:15px;background:#fff;border:1px solid #dce7f1;border-radius:16px;padding:17px 20px;min-width:0;color:var(--ink);box-shadow:0 5px 16px #14345109}
.pythonlab-v5 a.student-shortcut:hover{border-color:#8abddf;text-decoration:none}
.pythonlab-v5 a.student-shortcut>img{display:block!important;flex:0 0 52px;width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:contain!important}
.pythonlab-v5 a.student-shortcut>span:nth-child(2){flex:1;min-width:0;display:grid;gap:4px}
.pythonlab-v5 a.student-shortcut strong{font-size:16px;color:#203750}
.pythonlab-v5 a.student-shortcut small{font-size:12px;color:#7c8fa3;line-height:1.3}
.pythonlab-v5 a.student-shortcut>span:last-child{font-size:21px;font-weight:700;color:#347eb2}
.pythonlab-v5 .landing-hero-v2{min-height:305px}
.pythonlab-v5 .landing-hero-v2 .landing-character{flex:0 0 230px;position:static!important;width:230px!important;height:230px!important;max-width:230px!important;max-height:230px!important;object-fit:contain!important}
.pythonlab-v5 .choice-card .choice-icon{display:block!important;position:static!important;width:68px!important;height:68px!important;max-width:68px!important;max-height:68px!important;object-fit:contain!important}
.pythonlab-v5 .page-heading .heading-mascot{position:static!important;display:block!important;width:142px!important;height:134px!important;max-width:142px!important;max-height:134px!important;object-fit:contain!important}
.pythonlab-v5 .home-instruction img{display:block!important;width:78px!important;height:78px!important;max-width:78px!important;max-height:78px!important;object-fit:contain!important}
.pythonlab-v5 .section-head{scroll-margin-top:120px}
@media(max-width:1150px){
 .pythonlab-v5 .topbar-inner{gap:12px}
 .pythonlab-v5 .top-nav-item{padding:8px 10px;font-size:12px}
 .pythonlab-v5 .top-identity{display:none}
 .pythonlab-v5 .app-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .pythonlab-v5 .platform-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .pythonlab-v5 .topbar{padding:0 13px}
 .pythonlab-v5 .topbar-inner{flex-wrap:wrap;padding:10px 0 0;gap:5px 12px}
 .pythonlab-v5 .top-brand{min-height:48px;padding:3px 6px;width:140px;max-width:140px}
 .pythonlab-v5 .top-brand img.top-logo{width:129px!important;height:43px!important;max-width:129px!important;max-height:43px!important}
 .pythonlab-v5 .top-account{margin-left:auto}
 .pythonlab-v5 .top-nav{flex:0 0 100%;order:3;width:100%;overflow-x:auto;gap:3px;padding:6px 0 11px;scrollbar-width:thin}
 .pythonlab-v5 .top-nav-item{flex:none;font-size:12px}
 .pythonlab-v5 .app-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pythonlab-v5 .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pythonlab-v5 .dashboard-hero{padding:26px 24px;min-height:205px}
 .pythonlab-v5 img.dashboard-hero-mascot{width:128px!important;height:128px!important;max-width:128px!important;max-height:128px!important;flex:0 0 128px}
 .pythonlab-v5 .cards-three{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
 .pythonlab-v5 .top-signout,.pythonlab-v5 .top-signin{font-size:11px;min-height:35px}
 .pythonlab-v5 .main-content{padding:19px 14px 37px}
 .pythonlab-v5 .app-card-grid,.pythonlab-v5 .student-shortcuts,.pythonlab-v5 .platform-shortcuts{grid-template-columns:1fr}
 .pythonlab-v5 a.app-card{min-height:130px;display:grid;grid-template-columns:62px 1fr;grid-template-rows:auto auto auto;column-gap:14px;padding:15px}
 .pythonlab-v5 .app-card img{grid-row:1/span 3;margin:0}
 .pythonlab-v5 .app-card strong{font-size:16px}
 .pythonlab-v5 .app-card>span{font-size:12px}
 .pythonlab-v5 .app-card em{font-size:12px}
 .pythonlab-v5 .dashboard-hero{min-height:195px;padding:22px 16px}
 .pythonlab-v5 .dashboard-hero h1{font-size:28px}
 .pythonlab-v5 .dashboard-hero p{font-size:13px}
 .pythonlab-v5 img.dashboard-hero-mascot{width:93px!important;height:108px!important;max-width:93px!important;max-height:108px!important;flex:0 0 93px}
 .pythonlab-v5 .landing-hero-v2{min-height:320px}
 .pythonlab-v5 .landing-hero-v2 .landing-character{position:absolute!important;bottom:5px!important;right:4px!important;width:120px!important;height:120px!important;max-width:120px!important;max-height:120px!important}
 .pythonlab-v5 .footer{font-size:11px}
 .pythonlab-v5 .page-heading .heading-mascot{width:95px!important;height:100px!important;max-width:95px!important;max-height:100px!important}
}
@media(prefers-reduced-motion:reduce){.pythonlab-v5 a.app-card{transition:none}.pythonlab-v5 a.app-card:hover{transform:none}}

/* V5.2 – consistente accountpagina's: registratieopties en mailhulp */
.pythonlab-v5 .auth-card-login{width:min(100%,540px);max-width:540px;padding:32px clamp(23px,4vw,42px) 34px}
.pythonlab-v5 .auth-card-login .auth-mascot{display:block;width:118px!important;height:118px!important;max-width:118px!important;max-height:118px!important;object-fit:contain;margin:0 auto 12px}
.pythonlab-v5 .auth-card-login h1{margin-bottom:6px}
.pythonlab-v5 .auth-card-login .auth-intro{margin-bottom:18px}
.pythonlab-v5 .auth-login-form label:not(.inline-check){margin-top:14px;margin-bottom:7px}
.pythonlab-v5 .auth-login-form .inline-check{margin:17px 0 6px}
.pythonlab-v5 .auth-login-form .auth-submit{margin-top:17px;min-height:47px}
.pythonlab-v5 .auth-register{margin-top:27px;padding-top:23px;border-top:1px solid #e0e9f1}
.pythonlab-v5 .auth-register h2{font-size:17px;letter-spacing:-.02em;margin:0 0 14px;color:#1c3957}
.pythonlab-v5 .auth-register-link{display:flex;align-items:center;gap:13px;width:100%;min-height:81px;margin:0 0 10px;padding:13px 14px;background:#f6faff;border:1px solid #d4e2ef;border-radius:12px;text-decoration:none;color:#1b3854;transition:background .16s,border-color .16s,box-shadow .16s}
.pythonlab-v5 .auth-register-link:hover,.pythonlab-v5 .auth-register-link:focus-visible{background:#ecf6ff;border-color:#77aede;text-decoration:none;box-shadow:0 4px 12px #153b6114}
.pythonlab-v5 .auth-register-link img{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;object-fit:contain;flex:none}
.pythonlab-v5 .auth-register-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.pythonlab-v5 .auth-register-copy strong{font-size:13px;font-weight:800;color:#1b3854;line-height:1.35}
.pythonlab-v5 .auth-register-copy small{font-size:11.5px;font-weight:400;line-height:1.45;color:#647e96}
.pythonlab-v5 .auth-register-arrow{font-size:20px;font-weight:650;color:#2d78ab;flex:none}
.pythonlab-v5 .auth-card-login .auth-class-note{font-size:12px;line-height:1.55;color:#667f96;margin:15px 0 0}
.pythonlab-v5 .school-mail-help{border-top:1px solid #dce6f0;margin-top:28px;padding-top:18px}
.pythonlab-v5 .school-mail-help summary{font-size:13px;color:#286fa9;font-weight:750;cursor:pointer}
.pythonlab-v5 .school-mail-help p{margin-top:11px}
.pythonlab-v5 .school-mail-help form{margin-top:10px}
@media(max-width:560px){
 .pythonlab-v5 .auth-card-login{padding:24px 19px 28px}
 .pythonlab-v5 .auth-register-link{padding:11px 10px;gap:10px}
 .pythonlab-v5 .auth-register-link img{width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important}
 .pythonlab-v5 .auth-register-copy strong{font-size:12.5px}
 .pythonlab-v5 .auth-register-copy small{font-size:11px}
}
