/* Vainilla Academy 4.9 | dashboard, auth, sticky header clearance and atmospheric patterns */
:root{--va49-violet:#694ed5;--va49-ink:#211a3b}
body{background-color:#fbfaff;background-image:radial-gradient(circle at 20% 12%,rgba(130,98,234,.085),transparent 27%),radial-gradient(circle at 89% 31%,rgba(44,193,206,.075),transparent 27%),radial-gradient(rgba(111,83,178,.075) .75px,transparent .75px);background-size:auto,auto,26px 26px;background-attachment:fixed;color:var(--va49-ink)}
.va-main-content{background:transparent;isolation:isolate}
.va-main-content>.shell.section:first-child,.va-main-content>.shell.reading:first-child{padding-top:125px!important}
/* Floating navigation is fixed; all routes need clearance from the viewport top. */
body.va49-page-dashboard .va-main-content,body.va49-page-login .va-main-content,body.va49-page-register .va-main-content{padding-top:128px!important}
body.va49-page-dashboard .va-main-content>.shell:first-child,body.va49-page-login .va-main-content>.shell:first-child,body.va49-page-register .va-main-content>.shell:first-child{margin-top:0!important}
body.va49-page-course .va-main-content>.va27-visual-hero:first-child{margin-top:120px!important}
body.va49-page-dashboard .va-main-content>.va27-visual-hero:first-child{margin-top:0!important}
.va49-dashboard-shell{padding-bottom:88px}
.va49-dashboard-hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:355px;overflow:hidden;border:1px solid #e4def6;border-radius:32px;background:linear-gradient(112deg,rgba(255,255,255,.98),rgba(244,239,255,.98) 58%,rgba(237,250,253,.96));box-shadow:0 22px 70px rgba(52,39,106,.075)}
.va49-dashboard-copy{padding:clamp(28px,4vw,57px);align-self:center;position:relative;z-index:1}
.va49-dashboard-copy .eyebrow{margin-bottom:15px;color:#7651ce}
.va49-dashboard-copy h1{font-size:clamp(30px,3.5vw,49px);letter-spacing:-.045em;line-height:1.12;margin:0 0 16px}
.va49-dashboard-copy>p{font-size:15px;color:#655d7a;line-height:1.72;max-width:520px;margin:0}
.va49-dashboard-photo{min-height:330px;position:relative;background:linear-gradient(125deg,#e8e0fe,#c9f2f6)}
.va49-dashboard-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,242,255,.12),transparent 35%);pointer-events:none}
.va49-dashboard-photo img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.va49-dashboard-stats{display:flex;flex-wrap:wrap;gap:11px;margin:26px 0}
.va49-dashboard-stats>div{background:#ffffffb8;border:1px solid #dfd7f6;border-radius:17px;padding:12px 14px;min-width:113px;flex:1}
.va49-dashboard-stats strong{display:block;font:800 23px Montserrat,sans-serif;color:#5b3ec8;line-height:1.2}
.va49-dashboard-stats span{font-size:10px;color:#6c6285;display:block;margin-top:5px;font-weight:600;line-height:1.5}
.va49-dashboard-cta{display:flex;flex-wrap:wrap;gap:9px}.va49-dashboard-cta .btn{font-size:12px;padding:11px 18px}
.va49-section-header{display:flex;gap:20px;justify-content:space-between;align-items:end;margin:58px 0 23px}
.va49-section-header .eyebrow{margin-bottom:11px}.va49-section-header h2{font-size:clamp(26px,3vw,37px);margin:0 0 10px}
.va49-section-header p{color:#736b88;line-height:1.75;margin:0;max-width:720px}.va49-section-header>a{color:#624bb9;font-weight:800;white-space:nowrap}
.va49-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.va49-learning-card{min-width:0;background:linear-gradient(135deg,#fff 13%,#faf7ff);border:1px solid #e5def4;border-radius:27px;padding:clamp(22px,3vw,31px);box-shadow:0 15px 45px rgba(66,45,120,.045);display:flex;flex-direction:column}
.va49-course-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-weight:700;font-size:11px;color:#6f61a0}.va49-course-meta span{background:#f4f0fe;border-radius:25px;padding:5px 11px}.va49-course-meta strong{color:#5d48c3}
.va49-learning-card h3{font-size:clamp(18px,1.8vw,23px);line-height:1.34;margin:21px 0 22px;min-height:2.5em}
.va49-progress{width:100%;height:8px;border-radius:10px;background:#eae5f5;overflow:hidden}
.va49-progress span{display:block;height:100%;background:linear-gradient(90deg,#7956ef,#2dcbd1);border-radius:10px}
.va49-learning-card>p{margin:12px 0 0;color:#776f8b;font-size:12px}
.va49-course-status{margin-top:19px;background:#f4f0fc;border:1px solid #e5dcf7;color:#5f5280;border-radius:14px;padding:13px 15px;font-size:12px;line-height:1.65;flex:1}
.va49-course-status.is-awarded{background:#eafaf4;border-color:#b6e8d2;color:#187d5c}.va49-course-status.is-ready{background:#eaf5ff;color:#3053a0}
.va49-learning-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin-top:20px;font-weight:800;font-size:12px;color:#5c47b6}
/* Auth routes: no header/body collisions, mobile-first inputs, decorative accessible panel. */
.va49-auth-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:28px;align-items:stretch;max-width:1100px;padding-bottom:100px}
.va49-auth-aside{position:relative;min-height:550px;overflow:hidden;border-radius:31px;padding:clamp(32px,4vw,57px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(65,212,224,.42),transparent 38%),radial-gradient(circle at 0% 90%,rgba(236,105,218,.38),transparent 43%),linear-gradient(125deg,#271a51,#5840ae 67%,#446db9)}
.va49-auth-aside:before,.va49-auth-aside:after{content:'';position:absolute;pointer-events:none;border:1px solid #ffffff3a;border-radius:50%;width:290px;height:290px;right:-90px;bottom:-120px}.va49-auth-aside:after{width:200px;height:200px;right:-35px;bottom:-75px}
.va49-auth-aside .eyebrow{color:#d8eafb}.va49-auth-aside h2{font-size:clamp(30px,3.7vw,48px);line-height:1.14;margin:0 0 22px;color:#fff}
.va49-auth-aside p{line-height:1.85;font-size:15px;color:#e4ddfc;max-width:390px}
.va49-auth-sparks{display:flex;flex-wrap:wrap;gap:9px;margin-top:33px}.va49-auth-sparks span{border:1px solid #ffffff4a;border-radius:30px;padding:8px 11px;font-size:11px;background:#ffffff16;font-weight:600}
.formbox.va49-auth-form{width:100%;max-width:none;margin:0;background:#fffffff4;border:1px solid #e5ddf4;padding:clamp(27px,4vw,46px);align-self:stretch;box-shadow:0 25px 70px #39216b0f}
.va49-auth-form h1{font-size:clamp(27px,3vw,38px);line-height:1.22}.va49-auth-form>p{line-height:1.75;font-size:13px}
.va49-auth-form form{gap:16px;margin-top:26px}.va49-auth-form input:not([type=checkbox]){min-height:48px;min-width:0;max-width:100%}
.va49-auth-form label{font-size:12px;color:#493d67}.va49-password-control{display:flex;align-items:center;position:relative}.va49-password-control input{padding-right:90px!important}.va49-reveal{border:0;background:transparent;color:#6543b8;font-weight:800;font-size:11px;position:absolute;right:8px;padding:8px;line-height:1.4}.va49-reveal:focus-visible{outline:2px solid #6a51d5;border-radius:8px}
.va49-auth-form .va49-privacy{display:flex;gap:11px;align-items:flex-start;font-size:11px;line-height:1.65}.va49-privacy input{margin:4px 0 0;width:16px;height:16px;flex:0 0 16px;accent-color:#7153d8}.va49-privacy a{font-weight:800;color:#6145bd;text-decoration:underline}
.va49-auth-submit{width:100%;min-height:48px}.va49-auth-form>p:last-child{margin-top:23px;text-align:center}.va49-auth-form>p:last-child a{color:#6945c8;font-weight:800}.va49-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* Extra depth on regular listing screens and credential detail pages. */
.va-main-content .contentcard,.va-main-content .va-badge-tile,.va-main-content .courseaside,.va-main-content .formbox,.va-main-content .va12-map,.va-main-content .va4-page{box-shadow:0 18px 44px rgba(69,45,134,.055)}
.va-main-content .va27-catalog-feature{background:linear-gradient(115deg,#f4edff,#edfaff 62%,#fff)}
.va-main-content .contentcard{background:linear-gradient(150deg,#fff,#fbf9ff 74%)}
#va-footer{position:relative}
@media(max-width:950px){.va49-auth-layout{grid-template-columns:1fr}.va49-auth-aside{min-height:230px}.va49-dashboard-hero{grid-template-columns:1fr 1fr}}
@media(max-width:720px){body.va49-page-dashboard .va-main-content,body.va49-page-login .va-main-content,body.va49-page-register .va-main-content{padding-top:104px!important}.va49-dashboard-hero{grid-template-columns:1fr}.va49-dashboard-photo{min-height:210px;order:-1}.va49-dashboard-photo img{object-position:center 35%}.va49-dashboard-copy{padding:24px}.va49-dashboard-stats{gap:8px}.va49-dashboard-stats>div{min-width:90px;padding:10px}.va49-dashboard-stats strong{font-size:19px}.va49-dashboard-cta .btn{flex:1}.va49-dashboard-grid{grid-template-columns:1fr}.va49-section-header{display:block;margin-top:40px}.va49-section-header>a{display:inline-flex;margin-top:14px}.va49-learning-card h3{min-height:0}.va49-auth-layout{gap:15px;padding-bottom:65px}.va49-auth-aside{min-height:180px;padding:27px}.va49-auth-aside h2{font-size:27px}.va49-auth-sparks{margin-top:15px}.va-main-content>.shell.section:first-child,.va-main-content>.shell.reading:first-child{padding-top:104px!important}body.va49-page-course .va-main-content>.va27-visual-hero:first-child{margin-top:105px!important}}
/* Keep a single earned badge from stretching across the entire viewport. */
.va-badges .va-badge-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,286px),355px));justify-content:start;align-items:stretch}
.va-badges .va-badge-tile{min-height:255px;background:linear-gradient(148deg,#fff 25%,#f7f2ff 82%,#effbfe);box-shadow:0 16px 42px rgba(56,31,117,.075)}
.va49-credential-explainer{padding:16px 20px;margin:12px 0 20px;color:#534574;line-height:1.75;border:1px solid #ded4f5;border-radius:18px;background:linear-gradient(105deg,#faf7ff,#f0fcfd)}
@media(max-width:650px){.va-badges .va-badge-grid{grid-template-columns:1fr}}
@media(max-width:720px){.va49-auth-form{order:-1}.va49-auth-aside{min-height:0}.va49-auth-aside p{margin-bottom:0}}
