/* JFR Gateway V4.3 — colorful premium dashboard + Academy UX */
:root{--v43-ink:#08182f;--v43-blue:#2263ff;--v43-cyan:#08b9d6;--v43-violet:#7257ff;--v43-pink:#ee5aa7;--v43-green:#14b884;--v43-gold:#f5b63d}
body.jfr-smart-dashboard{background:radial-gradient(circle at 82% 0,rgba(91,108,255,.12),transparent 28%),radial-gradient(circle at 20% 30%,rgba(0,190,213,.10),transparent 32%),#f4f7fc}
#page-dashboard .v255-dashboard-shell{position:relative;padding:6px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.75),rgba(242,247,255,.55));overflow:hidden}
#page-dashboard .v255-dashboard-shell:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-210px;top:80px;background:radial-gradient(circle,rgba(111,81,255,.17),transparent 68%);animation:v43Float 8s ease-in-out infinite;pointer-events:none}
#page-dashboard .v255-hero-banner{border:0!important;border-radius:26px!important;color:#fff!important;background:linear-gradient(125deg,#071a38 0%,#183e91 36%,#5d4ee8 72%,#d74b9e 115%)!important;box-shadow:0 28px 60px rgba(20,46,116,.24)!important;position:relative;overflow:hidden}
#page-dashboard .v255-hero-banner:after{content:"";position:absolute;inset:-80%;background:conic-gradient(from 180deg,transparent,rgba(255,255,255,.13),transparent 24%);animation:v43Spin 12s linear infinite;pointer-events:none}
#page-dashboard .v255-hero-banner *{position:relative;z-index:1}
#page-dashboard .v255-hero-banner h1,#page-dashboard .v255-hero-banner p,#page-dashboard .v255-hero-banner small{color:#fff!important}
#page-dashboard .v255-mini-card,#page-dashboard .v255-mid-card,#page-dashboard .v255-big-card{border:0!important;border-radius:20px!important;box-shadow:0 14px 34px rgba(13,37,80,.10)!important;overflow:hidden;position:relative;transition:.3s cubic-bezier(.2,.8,.2,1)!important;background:#fff!important}
#page-dashboard .v255-mini-card:nth-child(4n+1),#page-dashboard .v255-mid-card:nth-child(4n+1),#page-dashboard .v255-big-card:nth-child(4n+1){background:linear-gradient(145deg,#eef5ff,#fff)!important}
#page-dashboard .v255-mini-card:nth-child(4n+2),#page-dashboard .v255-mid-card:nth-child(4n+2),#page-dashboard .v255-big-card:nth-child(4n+2){background:linear-gradient(145deg,#effcff,#fff)!important}
#page-dashboard .v255-mini-card:nth-child(4n+3),#page-dashboard .v255-mid-card:nth-child(4n+3),#page-dashboard .v255-big-card:nth-child(4n+3){background:linear-gradient(145deg,#f6f1ff,#fff)!important}
#page-dashboard .v255-mini-card:nth-child(4n),#page-dashboard .v255-mid-card:nth-child(4n),#page-dashboard .v255-big-card:nth-child(4n){background:linear-gradient(145deg,#fff1f7,#fff)!important}
#page-dashboard .v255-mini-card:hover,#page-dashboard .v255-mid-card:hover,#page-dashboard .v255-big-card:hover{transform:translateY(-7px) scale(1.015)!important;box-shadow:0 24px 48px rgba(13,37,80,.16)!important}
#page-dashboard .v255-mini-card:after,#page-dashboard .v255-mid-card:after,#page-dashboard .v255-big-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-35px;bottom:-40px;background:linear-gradient(135deg,rgba(34,99,255,.15),rgba(238,90,167,.12));transition:.3s}
#page-dashboard .v255-mini-card:hover:after,#page-dashboard .v255-mid-card:hover:after,#page-dashboard .v255-big-card:hover:after{transform:scale(1.45)}
#page-dashboard .v32-sync{border-radius:16px!important;border:1px solid rgba(52,125,255,.13)!important;background:linear-gradient(90deg,#fff,rgba(234,242,255,.92))!important;box-shadow:0 10px 30px rgba(18,58,120,.08)!important}
#page-dashboard .v255-promo{background:linear-gradient(145deg,#162d70,#6f56e8)!important;color:#fff!important;border:0!important}
#page-dashboard .v255-quote{background:linear-gradient(145deg,#fff3f9,#fff)!important;border-color:#ffd3e6!important}
#page-dashboard .panel{border:0!important;border-radius:22px!important;box-shadow:0 16px 36px rgba(17,48,92,.08)!important}
@keyframes v43Spin{to{transform:rotate(360deg)}}@keyframes v43Float{50%{transform:translate(-28px,24px) scale(1.08)}}

/* Academy admin */
.v43-academy-shell{display:grid;gap:16px;color:var(--v43-ink)}
.v43-academy-hero{min-height:330px;border-radius:30px;padding:42px;display:grid;grid-template-columns:1.35fr .65fr;align-items:center;position:relative;overflow:hidden;color:#fff;background:radial-gradient(circle at 72% 22%,rgba(255,255,255,.18),transparent 22%),linear-gradient(125deg,#071c3d 0%,#1246a8 40%,#6b50e6 72%,#df5198 112%);box-shadow:0 28px 70px rgba(26,57,128,.24)}
.v43-academy-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to right,black,transparent)}
.v43-hero-copy{position:relative;z-index:2}.v43-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);font-size:9px;font-weight:900;letter-spacing:1.8px}.v43-academy-hero h1{font-size:45px;line-height:1.04;margin:18px 0 13px;letter-spacing:-2px}.v43-academy-hero h1 em{font-style:normal;color:#8ff1ff}.v43-academy-hero p{max-width:690px;color:#dce8ff;font-size:12px;line-height:1.8}.v43-hero-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}.v43-glow,.v43-glass{border:0;border-radius:14px;padding:12px 18px;font-weight:900;cursor:pointer}.v43-glow{background:#fff;color:#1648a2;box-shadow:0 10px 30px rgba(255,255,255,.24)}.v43-glass{background:rgba(255,255,255,.11);color:#fff;border:1px solid rgba(255,255,255,.22)}
.v43-hero-orbit{width:230px;height:230px;justify-self:center;position:relative;display:grid;place-items:center}.orb-main{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:950;font-size:33px;line-height:.9;background:linear-gradient(145deg,#fff,#cbeeff);color:#174399;box-shadow:0 22px 50px rgba(2,18,65,.25);animation:v43Orb 5s ease-in-out infinite}.orb-main span{display:block;font-size:10px;letter-spacing:2px;margin-top:7px}.v43-hero-orbit i{position:absolute;border:1px solid rgba(255,255,255,.28);border-radius:50%;inset:8px;animation:v43Orbit 9s linear infinite}.v43-hero-orbit i:nth-child(2){inset:28px;animation-direction:reverse;animation-duration:7s}.v43-hero-orbit i:nth-child(3){inset:-14px;animation-duration:13s}.v43-hero-orbit i:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:#8ff1ff;top:16%;left:3%}@keyframes v43Orb{50%{transform:translateY(-9px)}}@keyframes v43Orbit{to{transform:rotate(360deg)}}
.v43-academy-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v43-academy-stat{border-radius:20px;padding:18px;background:#fff;display:flex;gap:13px;align-items:center;box-shadow:0 14px 35px rgba(18,53,101,.08);border:1px solid #e6edf8;transition:.25s}.v43-academy-stat:hover{transform:translateY(-5px)}.v43-academy-stat>span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#e8f1ff,#f7edff);color:#315bca;font-weight:950}.v43-academy-stat small{font-size:8px;color:#7d8da6}.v43-academy-stat strong{display:block;font-size:23px;margin:3px 0}.v43-academy-stat p{margin:0;font-size:8px;color:#8390a3}
.v43-course-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v43-course-card{min-height:190px;border-radius:23px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;overflow:hidden;position:relative;box-shadow:0 18px 40px rgba(13,41,86,.11)}.v43-course-card.n5{background:linear-gradient(135deg,#eaf9ff,#f4f7ff 55%,#fff)}.v43-course-card.n4{background:linear-gradient(135deg,#f3eeff,#fff0f8 55%,#fff)}.v43-course-level{font-size:42px;font-weight:950;letter-spacing:-3px;color:#2456c4}.v43-course-card.n4 .v43-course-level{color:#784ad1}.v43-course-card small{font-size:8px;letter-spacing:1.3px;color:#7185a4}.v43-course-card h3{margin:5px 0;font-size:17px}.v43-course-card p{font-size:9px;color:#667b94;line-height:1.6}.v43-course-meta{display:flex;gap:6px;flex-wrap:wrap}.v43-course-meta span{font-size:7.5px;background:#fff;border:1px solid #e2eaf4;padding:6px 8px;border-radius:999px}.v43-course-card button{align-self:end}
.v43-roster{padding:20px!important}.v43-roster .panel-head{align-items:center}.v43-search{display:flex;gap:8px}.v43-search input{min-width:230px;border:1px solid #dce6f2;border-radius:11px;padding:9px 11px}.v43-level{display:inline-flex;padding:6px 9px;border-radius:9px;font-weight:950}.v43-level.n5{background:#e7f8ff;color:#087b9d}.v43-level.n4{background:#f0eaff;color:#6840ba}.v43-att{width:90px;height:7px;border-radius:999px;background:#edf1f7;overflow:hidden}.v43-att i{display:block;height:100%;background:linear-gradient(90deg,#13b5d1,#6557e9);border-radius:inherit}.v43-att.large{width:100%;height:9px;margin-top:12px}.v43-row-actions{display:flex;gap:5px;flex-wrap:wrap}.v43-academy-table td small{display:block;color:#8a98aa;font-size:7.5px;margin-top:3px}.v43-empty,.v43-loading{padding:45px;text-align:center;background:#f8fbff;border-radius:16px;color:#73839a}.v43-loading i{display:inline-block;width:22px;height:22px;border:3px solid #dbe8f8;border-top-color:#3464de;border-radius:50%;animation:v43Spin 1s linear infinite}.v43-academy-error{border-radius:17px;padding:14px 17px;background:#fff2e6;border:1px solid #ffd6af;color:#8a4b16}.v43-academy-error p{margin:4px 0;font-size:10px}
/* dialogs */
.v43-dialog{width:min(840px,94vw);max-height:92vh;border:0;border-radius:24px;padding:0;box-shadow:0 36px 100px rgba(3,19,48,.36)}.v43-dialog::backdrop{background:rgba(5,16,37,.66);backdrop-filter:blur(7px)}.v43-dialog-form header{padding:22px 24px;color:#fff;background:linear-gradient(120deg,#0c2d67,#5d4ed9);display:flex;justify-content:space-between}.v43-dialog-form header small{font-size:8px;letter-spacing:1.6px}.v43-dialog-form h2{margin:4px 0;font-size:21px}.v43-dialog-form header p{margin:0;color:#d9e4ff;font-size:9px}.v43-x{border:0;background:rgba(255,255,255,.13);color:#fff;width:34px;height:34px;border-radius:10px;font-size:20px}.v43-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:22px 24px}.v43-form-grid label{font-size:8.5px;font-weight:850;color:#61718a}.v43-form-grid input,.v43-form-grid select,.v43-form-grid textarea{width:100%;margin-top:5px;border:1px solid #dce5ef;border-radius:10px;padding:10px;background:#fff}.v43-form-grid textarea{min-height:80px}.v43-form-grid .span2{grid-column:1/-1}.v43-dialog-form footer{display:flex;justify-content:flex-end;gap:8px;padding:15px 24px;border-top:1px solid #edf0f5}.v43-dialog-status{min-height:16px;margin:0 24px;color:#b33a44;font-size:9px}.v43-account-banner{margin:20px 24px 0;border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#eef6ff,#f5efff)}.v43-account-banner>span{width:48px;height:48px;border-radius:13px;background:#315ccb;color:#fff;display:grid;place-items:center;font-weight:950}.v43-account-banner small{display:block;color:#7b88a0}.v43-security-note{margin:0 24px 18px;padding:12px;border-radius:12px;background:#ecfbf7;color:#327462;font-size:9px}.v43-credentials{padding:36px;text-align:center}.v43-credentials>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:auto;background:#e2fbf1;color:#0a9f6f;font-size:29px}.v43-credentials label{display:flex;justify-content:space-between;gap:12px;max-width:480px;margin:10px auto;padding:12px 14px;border-radius:12px;background:#f5f8fc}.v43-credentials button{margin:7px 4px}
/* Academy student portal */
.v43-student-portal{display:grid;gap:15px}.v43-student-hero{border-radius:30px;padding:38px;display:grid;grid-template-columns:1fr auto;align-items:center;color:#fff;background:linear-gradient(125deg,#071c3d,#174aa8 48%,#6854df);box-shadow:0 25px 65px rgba(15,54,132,.22)}.v43-student-hero h1{font-size:34px;margin:14px 0 7px}.v43-student-hero p{color:#d8e7ff}.v43-student-tags{display:flex;gap:7px;margin-top:15px;flex-wrap:wrap}.v43-student-tags span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:7px 10px;border-radius:999px;font-size:8px}.v43-progress-ring{--p:0;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at center,#113778 56%,transparent 57%),conic-gradient(#7ff3ff calc(var(--p)*1%),rgba(255,255,255,.15) 0);box-shadow:0 15px 35px rgba(0,0,0,.18)}.v43-progress-ring b{font-size:27px}.v43-progress-ring small{font-size:7px;color:#cce5ff}.v43-student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.v43-student-grid article{background:#fff;border:1px solid #e6edf6;border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(16,49,94,.08)}.v43-student-grid article>span{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:linear-gradient(145deg,#e7f5ff,#f0ebff);color:#3457bd;font-weight:950}.v43-student-grid small{display:block;margin-top:14px;color:#8694a9;letter-spacing:1.1px;font-size:7.5px}.v43-student-grid h3{margin:5px 0;font-size:18px}.v43-student-grid p{font-size:9px;color:#718198;min-height:26px}.v43-learning-path{background:#fff;border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(16,49,94,.07)}.v43-learning-path h3{margin:4px 0 15px}.v43-path-track{height:9px;background:#edf1f6;border-radius:999px;overflow:hidden}.v43-path-track i{display:block;height:100%;background:linear-gradient(90deg,#0db8d1,#6657e7,#e35c9f)}.v43-path-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:7.5px;color:#7f8fa6}.v43-academy-learning-head{margin-bottom:14px;padding:16px 20px;border-radius:18px;color:#fff;background:linear-gradient(110deg,#0e3477,#6252dc);display:flex;gap:11px;align-items:center;flex-wrap:wrap}.v43-academy-learning-head span{font-size:7.5px;letter-spacing:1.5px}.v43-academy-learning-head b{font-size:15px}.v43-academy-learning-head small{margin-left:auto;color:#dce6ff}
@media(max-width:1100px){.v43-academy-stats{grid-template-columns:repeat(3,1fr)}.v43-course-grid{grid-template-columns:1fr}.v43-academy-hero{grid-template-columns:1fr}.v43-hero-orbit{display:none}}
@media(max-width:720px){.v43-academy-hero{padding:27px 22px;min-height:auto}.v43-academy-hero h1{font-size:34px}.v43-academy-stats{grid-template-columns:1fr 1fr}.v43-course-card{grid-template-columns:auto 1fr}.v43-course-card button{grid-column:1/-1}.v43-search{width:100%;flex-direction:column}.v43-search input{min-width:0;width:100%}.v43-form-grid{grid-template-columns:1fr}.v43-form-grid .span2{grid-column:auto}.v43-student-hero{grid-template-columns:1fr;padding:27px 22px}.v43-progress-ring{margin-top:20px;width:115px;height:115px}.v43-student-grid{grid-template-columns:1fr}.v43-academy-stats{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.v43-academy-stats{grid-template-columns:1fr}.v43-student-hero h1{font-size:27px}}
@media(prefers-reduced-motion:reduce){.v43-academy-shell *,#page-dashboard *{animation-duration:.001ms!important;animation-iteration-count:1!important}}
/* Login Preview inside authenticated app */
#page-login .login-box{max-width:680px;border:0;border-radius:28px;padding:34px;background:radial-gradient(circle at 88% 10%,rgba(116,87,239,.16),transparent 28%),linear-gradient(145deg,#fff,#f3f7ff);box-shadow:0 24px 65px rgba(18,48,101,.16)}
#page-login .login-brand .logo{width:68px;height:68px;border-radius:20px;background:linear-gradient(145deg,#1c61df,#7257ef);color:#fff;display:grid;place-items:center;box-shadow:0 15px 30px rgba(73,82,210,.24)}
#page-login .login-box h2{font-size:28px;letter-spacing:-1px;color:#10213f}
#page-login .login-box .primary{border-radius:13px;padding:13px;background:linear-gradient(110deg,#1c61df,#6654e8,#c84f9a);box-shadow:0 12px 28px rgba(64,78,205,.22)}
