:root{--bg: var(--background-color, #F8F1E7);--accent: var(--accent-color, #E2B964);--text: var(--primary-text, #2C3E50);--btn: var(--button-color, #E67E22);--white: var(--white, #FFF);--shadow: var(--shadow-color, rgba(0,0,0,.15));--muted: #6b6b6b;--border: rgba(0,0,0,.06);--success-bg:#eef7ee;--success:#1b6e1b;--fail-bg:#fff2f0;--fail:#a8071a}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Helvetica Neue,Arial,Noto Sans,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.with-navbar{padding-top:90px}.dash-hero{position:relative;overflow:hidden;border-radius:22px;min-height:clamp(220px,34vw,380px);box-shadow:0 30px 80px #00000026;isolation:isolate;background:radial-gradient(1100px 520px at 10% -10%,#20303a22 0,#0000 55%),var(--white);border:1px solid var(--border)}.dash-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px) brightness(.85) saturate(1.1);transform:scale(1.1);opacity:.28;pointer-events:none}.dash-hero .shade{position:absolute;inset:0;background:radial-gradient(1200px 600px at 10% -10%,#0000001f,#00000052);mix-blend-mode:multiply;opacity:.55}.dash-hero .inner{position:relative;z-index:1;height:100%;display:flex;align-items:center;gap:clamp(16px,3vw,28px);padding:clamp(16px,2.4vw,28px)}.dash-hero .cover{background:#0c1216;border-radius:16px;padding:clamp(6px,1.5vw,12px);box-shadow:inset 0 0 0 1px #ffffff0f,0 16px 40px #00000040}.dash-hero .cover img{height:clamp(180px,28vw,320px);aspect-ratio:3/4;object-fit:contain;border-radius:12px}.dash-hero .copy h1{margin:0 0 6px;font-weight:800;letter-spacing:.2px;font-size:clamp(1.5rem,3.2vw,2.2rem);color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.25)}.dash-hero .copy p{margin:0;color:#e9eef5;max-width:60ch}.dash-hero .actions{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap}.btn-cta{background:var(--btn);color:var(--white);font-weight:700;border:none;border-radius:12px;padding:10px 16px;box-shadow:0 10px 26px #e67e2247}.btn-ghost{background:var(--white);color:var(--text);border:1px solid #e7e7e7;border-radius:12px;padding:10px 16px;font-weight:600}.btn-cta:hover{filter:brightness(.96)}.btn-ghost:hover{background:#fafafa}.page h2{font-weight:800;letter-spacing:.2px}.courses-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;margin:0}@media (max-width: 992px){.courses-grid{grid-template-columns:1fr}}.courses-grid>li{list-style:none;background:var(--white);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 14px 32px var(--shadow);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.courses-grid>li:hover{transform:translateY(-2px);box-shadow:0 18px 42px #0000002e;border-color:#0000001f}.courses-grid .meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;margin-bottom:6px}.courses-grid .title{font-weight:800;letter-spacing:.2px}.courses-grid .name{opacity:.9}.courses-grid .status{font-size:12px;padding:3px 10px;border-radius:999px;background:var(--success-bg);color:var(--success)}.courses-grid .status.fail{background:var(--fail-bg);color:var(--fail)}.courses-grid small{color:var(--muted)}.courses-grid .actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}.courses-grid .actions .dl,.courses-grid .actions .email{appearance:none;border:0;cursor:pointer;border-radius:12px;font-weight:700;padding:10px 14px}.courses-grid .actions .dl{background:var(--btn);color:var(--white);box-shadow:0 6px 18px #e67e2247}.courses-grid .actions .email{background:var(--white);color:var(--text);border:1px solid #e7e7e7}.courses-grid .actions .dl:hover{filter:brightness(.95)}.courses-grid .actions .email:hover{background:#fafafa}.skel{position:relative;overflow:hidden;border-radius:12px;background:#f3f3f3;height:14px}.skel.lg{height:18px}.skel.img{height:140px;border-radius:10px}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff0,#ffffffa6,#fff0);transform:translate(-100%);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.empty{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:22px;text-align:center;color:var(--muted);box-shadow:0 14px 32px var(--shadow)}.empty h3{margin:0 0 6px;color:var(--text);font-weight:800}.empty p{margin:0 0 12px}.courses-grid{list-style:none;padding:0;margin:0;display:grid;gap:16px}.courses-grid .course{display:grid;grid-template-columns:140px 1fr;grid-template-areas:"img meta" "img desc" "img actions";gap:10px;padding:12px;border:1px solid rgba(0,0,0,.06);border-radius:14px;background:#fff;box-shadow:0 10px 24px #0000000f}.courses-grid .course .img{grid-area:img;width:100%;height:100%;object-fit:cover;border-radius:10px;background:#f6f6f6;min-height:120px}.courses-grid .course .meta{grid-area:meta}.courses-grid .course .title{display:flex;align-items:center;gap:8px}.courses-grid .course .desc{grid-area:desc;margin:6px 0 0;color:#444;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.courses-grid .course .actions{grid-area:actions;display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media (max-width: 640px){.courses-grid .course{grid-template-columns:1fr;grid-template-areas:"img" "meta" "desc" "actions"}.courses-grid .course .img{max-height:220px}}#appModal .modal-header{background:linear-gradient(135deg,#1f2937,#0f172a);color:#fff}.navbar .container-fluid{display:flex;align-items:center}.navbar .navbar-brand{flex:1 1 auto;min-width:0;white-space:normal!important;overflow-wrap:anywhere;line-height:1.2}.navbar .navbar-brand img{height:28px;width:auto}.navbar .navbar-toggler{flex:0 0 auto;margin-left:.5rem}#nav-user .nav-link{white-space:normal;overflow-wrap:anywhere;max-width:100%;padding-top:.5rem;padding-bottom:.5rem}.with-navbar{padding-top:96px}@media (max-width: 540px){.with-navbar{padding-top:120px}}#userEmail{overflow-wrap:anywhere;word-break:break-word}.btn-cta{display:inline-block;padding:.75rem 1.1rem;border-radius:12px;background:linear-gradient(135deg,#5560ff,#7a80ff);color:#fff;text-decoration:none;box-shadow:0 10px 22px #0000002e;transition:transform .15s,box-shadow .15s}.btn-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px #00000038}.btn-ghost{display:inline-block;padding:.72rem 1.05rem;border-radius:12px;border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent;text-decoration:none;transition:.15s}.btn-ghost:hover{background:#ffffff1f}.navbar{--nav-bg-1: rgba(12,21,30,.9);--nav-bg-2: rgba(12,21,30,.86)}.navbar{background:linear-gradient(180deg,var(--nav-bg-1) 0%,var(--nav-bg-2) 100%)!important;backdrop-filter:blur(6px);box-shadow:0 8px 24px var(--shadow);transition:background-color .35s ease,box-shadow .35s ease,padding .35s ease;padding-block:.6rem}.navbar.scrolled{background:#0c151ef5!important;box-shadow:0 10px 28px #0000002e;padding-block:.5rem}.navbar .navbar-brand{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;white-space:normal!important;overflow-wrap:anywhere;line-height:1.2;color:#fff!important;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:600;letter-spacing:.2px;font-size:clamp(16px,2vw,18px)}.navbar .navbar-brand img{height:32px;width:auto;border-radius:12px}.navbar .navbar-brand b{font-family:Sora,sans-serif;font-weight:700;letter-spacing:.3px;color:var(--accent)}.navbar .navbar-toggler{border:0;margin-left:.5rem}.navbar .navbar-toggler:focus{box-shadow:none}.navbar .nav-link{color:#cfd8e3!important;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:500;letter-spacing:.15px;padding:.6rem 1rem!important;border-radius:12px;position:relative;opacity:.95;transition:opacity .2s ease,transform .15s ease,background .25s ease}.navbar .nav-link:after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:1.5px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--btn));transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.navbar .nav-link:hover,.navbar .nav-link:focus{color:#fff!important;opacity:1;transform:translateY(-1px)}.navbar .nav-link:hover:after,.navbar .nav-link:focus:after{transform:scaleX(1)}.navbar .nav-link.active{color:#fff!important;background:#ffffff12;box-shadow:inset 0 6px 16px #0000001a}.navbar .nav-link.active:after{transform:scaleX(1)}.navbar .nav-link:focus-visible{outline:0;box-shadow:0 0 0 3px #e2b96459}@media (max-width: 991.98px){.navbar .collapse.show{background:linear-gradient(180deg,var(--nav-bg-1) 0%,var(--nav-bg-2) 100%)!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:.35rem 0!important}.navbar .navbar-nav{background:transparent!important;border:0!important;box-shadow:none!important;margin:0!important;padding:.25rem .5rem!important}.navbar .navbar-nav .nav-link{padding:.65rem 1rem!important;border-radius:12px;background:transparent!important}.navbar .nav-link:hover,.navbar .nav-link:focus{background:#ffffff0f!important}}.menu-footer{margin:8px 10px 6px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:10px}.btn-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:.55rem .9rem;border-radius:12px;font-weight:600;color:#ffd9d9;background:#ff4d4d1a;border:1px solid rgba(255,99,99,.35);box-shadow:0 6px 16px #0000001a;transition:transform .12s,box-shadow .2s,background .22s,color .22s,border-color .22s;text-decoration:none}.btn-logout:hover,.btn-logout:focus{transform:translateY(-1px);color:#fff;background:linear-gradient(180deg,#ff6b6b,#ff5252);border-color:#ff5252e6;box-shadow:0 10px 24px #ff525247}.email-pill{display:block;text-align:center;padding:.55rem .75rem;border-radius:12px;color:#cbd5e1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-weight:500;letter-spacing:.1px}.dash-hero.pro{position:relative;isolation:isolate;border-radius:22px;overflow:hidden;min-height:clamp(240px,36vw,420px);border:1px solid var(--border);box-shadow:0 28px 80px #00000024;background:var(--white)}.dh-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(16px) brightness(.92) saturate(1.05);transform:scale(1.08);opacity:.42;pointer-events:none}.dh-vignette{position:absolute;inset:0;background:radial-gradient(1100px 520px at 8% -10%,rgba(32,48,58,.25),transparent 60%),linear-gradient(180deg,#00000024,#0000 24%),linear-gradient(0deg,#0000001a,#0000 36%);mix-blend-mode:multiply;opacity:.55;pointer-events:none}.dh-inner{position:relative;z-index:1;display:grid;gap:14px;padding:clamp(14px,3.5vw,22px)}.dh-media{background:#0c1216;border-radius:16px;padding:clamp(6px,1.4vw,12px);box-shadow:inset 0 0 0 1px #ffffff0f,0 16px 40px #00000047}.dh-media img{width:100%;aspect-ratio:3/4;object-fit:contain;display:block;border-radius:12px;background:#0c1216;filter:drop-shadow(0 12px 26px rgba(0,0,0,.28))}.dh-glass{background:linear-gradient(180deg,#ffffffeb,#ffffffdb);-webkit-backdrop-filter:saturate(1.05) blur(4px);backdrop-filter:saturate(1.05) blur(4px);border:1px solid rgba(16,20,23,.08);border-radius:16px;padding:clamp(12px,2.6vw,20px);box-shadow:0 12px 34px #0c12161a}.dh-eyebrow{margin:0 0 6px;font-weight:700;letter-spacing:.3px;color:#2b3946;font-size:.9rem}.dh-glass h1{margin:0 0 6px;font-weight:800;letter-spacing:.2px;color:#0b1220;font-size:clamp(1.22rem,4.8vw,1.7rem);text-wrap:balance}.dh-sub{margin:0;color:#3b4a5c;line-height:1.5;font-size:clamp(.96rem,3.6vw,1.02rem)}.dh-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.dh-cta .btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:12px;font-weight:800;text-decoration:none;background:var(--btn);color:#fff;box-shadow:0 10px 26px #e67e2247;transition:transform .06s ease,filter .12s ease}.dh-cta .btn-primary:active{transform:translateY(1px)}.dh-cta .btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:12px;font-weight:700;text-decoration:none;background:#fff;color:var(--text);border:1.5px solid #e7e7e7;transition:background .15s ease}.dh-cta .btn-ghost:hover{background:#fafafa}.dh-badges{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px}.dh-badges li{padding:6px 10px;border-radius:999px;font-weight:700;font-size:.88rem;color:#223042;background:#eef2f6;border:1px solid rgba(16,20,23,.08)}@media (min-width: 768px){.dh-inner{grid-template-columns:320px 1fr;gap:18px;padding:clamp(16px,3vw,26px)}.dh-glass{align-self:center}}@media (min-width: 1200px){.dash-hero.pro{min-height:420px}.dh-inner{grid-template-columns:360px 1fr}}@media (max-width: 768px){.dash-hero.pro{min-height:auto;padding:12px 0 24px}.dh-inner{grid-template-columns:1fr;justify-items:center;gap:12px;padding:14px 16px}.dh-media{padding:6px;border-radius:14px;max-width:180px;margin-bottom:6px;box-shadow:inset 0 0 0 1px #ffffff0d,0 10px 26px #00000040}.dh-media img{max-height:160px;aspect-ratio:auto;object-fit:contain}.dh-glass{padding:16px;text-align:center;box-shadow:0 10px 28px #0000001a}.dh-glass h1{font-size:1.3rem;line-height:1.3}.dh-sub{font-size:.95rem}.dh-cta{grid-template-columns:1fr;gap:8px}.dh-badges{justify-content:center}}
