.dashboard-grid{display:grid;gap:22px;grid-template-columns:1fr 1fr;max-width:900px;margin:0 auto}
.dashboard-status,.dashboard-logout{grid-column:1 / -1}
@media (max-width:800px){.dashboard-grid{grid-template-columns:1fr}}

/* Overview tab: short status/skill cards pair up on wide screens instead of
   each stretching full-width with mostly empty space; the checklist card
   (more content) always takes the full row. Collapses to one column on
   narrow viewports automatically via auto-fit, no extra media query needed. */
.dash-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;align-items:start}
.dash-overview-grid .dash-checklist{grid-column:1 / -1}
.stuniex-save-state{display:inline-block;margin-left:12px;font-size:13px}
.upload-row{border-top:1px solid var(--border,#E4E8F0);padding:16px 0}
.upload-row:first-of-type{border-top:0;padding-top:4px}
.upload-row label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.upload-progress{display:none;height:6px;border-radius:4px;background:var(--chip-bg-strong,rgba(15,23,42,.07));margin-top:10px;overflow:hidden}
.upload-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#2F7BFF,#61A0FF);transition:width .2s ease}
.upload-result{font-size:13px;margin:10px 0 0;color:var(--muted,#64748B)}
.dashboard-uploads .muted{margin-top:-6px}
.upload-row label{display:flex;align-items:center;gap:8px}
.upload-icon{width:26px!important;height:26px!important;flex:none}

/* --- Trader training / LMS --- */
.lms-course-list{grid-column:1 / -1;display:flex;flex-direction:column;gap:20px}
.lms-course{padding:22px}
.lms-course-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.lms-course-head h3{margin:0 0 4px}
.lms-course-progress{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.lms-progress-ring{--pct:0;position:relative;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;background:conic-gradient(#2F7BFF calc(var(--pct)*1%),var(--chip-bg-strong,rgba(15,23,42,.07)) 0);flex:none}
.lms-progress-ring::before{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--card,#FFFFFF)}
.lms-progress-ring span{position:relative;z-index:1}
.lms-lessons{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.lms-lesson{border:1px solid var(--border,#E4E8F0);border-radius:12px;padding:0;overflow:hidden}
.lms-lesson summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px}
.lms-lesson summary::-webkit-details-marker{display:none}
.lms-lesson-check{width:24px;height:24px;border-radius:50%;background:var(--chip-bg-strong,rgba(15,23,42,.07));display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex:none}
.lms-lesson.is-done .lms-lesson-check{background:linear-gradient(135deg,var(--up,#16A34A),#7CE8A4);color:#08122A}
.lms-lesson-body{padding:0 14px 16px}
.lms-video,.lms-video-embed{margin:10px 0;border-radius:10px;overflow:hidden}
.lms-video-embed iframe{width:100%;aspect-ratio:16/9;border:0;display:block}
video.lms-video{width:100%;display:block}
.lms-video-fallback a{font-weight:600}
.lms-complete-btn{margin-top:8px}
.lms-quiz{border-top:1px solid var(--border,#E4E8F0);margin-top:6px;padding-top:16px}
.lms-quiz.is-locked{opacity:.6}
.lms-quiz-lock-note{margin:0}
.lms-quiz-q{border:0;padding:0;margin:0 0 16px}
.lms-quiz-q legend{font-weight:600;margin-bottom:8px;padding:0}
.lms-quiz-opt{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px}
.lms-quiz-result{display:inline-block;margin-left:12px;font-size:13px}
.lms-empty{grid-column:1 / -1;text-align:center;padding:28px}

/* --- Auth pages: split brand + form layout --- */
.auth-shell{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1040px;margin:0 auto;border-radius:22px;overflow:hidden;border:1px solid var(--border,#E4E8F0);box-shadow:0 40px 90px -40px rgba(0,0,0,.65)}
.auth-panel-brand{position:relative;padding:44px 40px;background:linear-gradient(165deg,var(--card,#FFFFFF),var(--card-2,#FBFCFE));overflow:hidden}
.auth-brand-glow{position:absolute;top:-120px;right:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(47,123,255,.28),transparent 65%);pointer-events:none}
.auth-panel-brand h2{font-size:26px;line-height:1.25;margin:8px 0 24px;position:relative}
.auth-brand-points{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:14px;position:relative}
.auth-brand-points li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--muted,#64748B)}
.auth-brand-points li svg{flex:none;margin-top:2px}
.auth-quote{margin:0;padding-top:20px;border-top:1px solid var(--border,#E4E8F0);position:relative}
.auth-quote p{font-size:14px;font-style:italic;margin:0 0 8px;color:var(--text,#0F1729)}
.auth-quote cite{font-size:12px;color:var(--muted,#64748B);font-style:normal}
.auth-panel-form{display:flex;align-items:center;padding:32px}
.auth-panel-form .form-card{margin:0;width:100%;max-width:none;box-shadow:none;border:0;background:transparent}
.auth-password-wrap{position:relative}
.auth-password-wrap input{width:100%;padding-right:44px}
.auth-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;cursor:pointer;font-size:15px;opacity:.7;line-height:1}
.auth-password-toggle:hover{opacity:1}
.auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;color:var(--muted,#64748B);margin:2px 0 4px}
.auth-remember input{width:auto}
@media(max-width:860px){
  .auth-shell{grid-template-columns:1fr;max-width:520px}
  .auth-panel-brand{display:none}
}

/* --- Advanced dashboard app shell --- */
.dash-app{grid-column:1 / -1;display:grid;grid-template-columns:240px 1fr;gap:0;border:1px solid var(--border,#E4E8F0);border-radius:22px;overflow:hidden;background:var(--card,#FFFFFF)}
.dash-app-sidebar{padding:26px 18px;border-right:1px solid var(--border,#E4E8F0);display:flex;flex-direction:column;gap:24px}
.dash-app-user{display:flex;align-items:center;gap:10px}
.dash-app-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2F7BFF,#7CB2FF);display:flex;align-items:center;justify-content:center;font-weight:700;color:#08122A;flex:none}
.dash-app-user strong{display:block;font-size:13.5px}
.dash-app-nav{display:flex;flex-direction:column;gap:4px}
.dash-app-tab{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:none;border:0;color:var(--muted,#64748B);font-size:13.5px;font-weight:600;text-align:left;cursor:pointer;transition:background .2s,color .2s}
.dash-app-tab:hover{background:var(--chip-bg,rgba(15,23,42,.04));color:var(--text,#0F1729)}
.dash-app-tab.is-active{background:linear-gradient(135deg,rgba(47,123,255,.22),rgba(124,178,255,.1));color:var(--text,#0F1729)}
.dash-app-tab svg{flex:none}
.dash-app-logout{margin-top:auto;text-align:center}
.dash-app-main{padding:28px}
.dash-app-panel{display:none}
.dash-app-panel.is-active{display:flex;flex-direction:column;gap:20px;animation:fieldIn .4s var(--ease) both}
.dash-app-panel .notice{margin:0}
@media(max-width:860px){
  .dash-app{grid-template-columns:1fr}
  .dash-app-sidebar{flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border,#E4E8F0);padding:16px}
  .dash-app-user{width:100%}
  .dash-app-nav{flex-direction:row;flex-wrap:wrap;flex:1}
  .dash-app-logout{margin-top:0;width:100%}
}

/* --- Overview panel: profile-completeness checklist --- */
.dash-checklist-list{list-style:none;margin:14px 0 20px;padding:0;display:flex;flex-direction:column;gap:10px}
.dash-checklist-list li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--muted,#64748B)}
.dash-checklist-list li .lms-lesson-check{width:22px;height:22px;font-size:10px}
.dash-checklist-list li.is-done{color:var(--text,#0F1729)}
.dash-checklist-list li.is-done .lms-lesson-check{background:linear-gradient(135deg,var(--up,#16A34A),#7CE8A4);color:#08122A}
.dash-quick-links{display:flex;flex-wrap:wrap;gap:10px}
.dash-quick-links .btn{flex:1;min-width:160px;justify-content:center}

/* --- Skill tags (course tags + candidate skill summary) --- */
.dash-skills .btn{margin-top:10px}
.lms-skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.lms-skill-tag{display:inline-flex;align-items:center;background:rgba(47,123,255,.12);color:var(--brand-light,#7CB2FF);border:1px solid rgba(47,123,255,.3);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;letter-spacing:.02em}
.lms-course-head .lms-skill-tags{margin:4px 0 10px}
