/* manager.page.css — restored verbatim from v62 ground-truth stylesheet, plus any post-v62 additions */

:root {
  --green:#274640;--green-dark:#1C3832;--green-light:#E8F0EE;
  --gold:#C9970C;--gold-dark:#A07A08;--gold-light:#FDF6E3;
  --white:#FFFFFF;--off-white:#F8F6F1;
  --gray-light:#EDEBE6;--gray-mid:#B8B4AC;--gray-dark:#6B6660;
  --success:#2D7A4F;--success-light:#EAF5EE;
  --danger:#C0392B;--danger-light:#FEF0EE;
  --blue:#3B5ECC;--blue-light:#EEF4FF;
  --text:#1A2E1E;--text-muted:#6B6660;
  --radius:10px;--font:'Nunito',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:var(--font);background:var(--off-white);color:var(--text);}
nav{background:var(--green);padding:0 1.5rem;height:64px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.nav-brand img{height:44px;width:auto;display:block;}
.nav-right{display:flex;align-items:center;gap:1rem;}
.nav-user{font-size:13px;color:rgba(255,255,255,0.7);}
.nav-user strong{color:white;}
.btn-nav{background:rgba(255,255,255,0.1);color:white;border:1px solid rgba(255,255,255,0.2);border-radius:6px;padding:0.4rem 1rem;font-size:13px;font-family:var(--font);cursor:pointer;min-height:36px;touch-action:manipulation;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:1.2;}

/* Hero */
.hero{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 60%,#2D6B58 100%);padding:1.75rem 1.5rem;}
.hero-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;}
.hero-left h1{color:white;font-size:22px;font-weight:800;margin-bottom:0.2rem;}
.hero-welcome-kicker{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.78);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .55rem;margin-bottom:.45rem;}
.manager-library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin:.9rem 0 1rem;}
.manager-library-search{flex:1;min-width:240px;position:relative;}
.manager-library-search input{width:100%;border:1.5px solid var(--gray-light);border-radius:14px;padding:.78rem .9rem .78rem 2.35rem;background:#fff;font-size:14px;box-shadow:0 5px 14px rgba(17,24,39,.035);}
.manager-library-search span{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:15px;}
.manager-library-count{font-size:12px;font-weight:800;color:var(--text-muted);background:var(--cream);border:1px solid var(--gray-light);border-radius:999px;padding:.35rem .65rem;white-space:nowrap;}
.hero-left p{color:rgba(255,255,255,0.7);font-size:13px;}
.hero-org{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);border-radius:10px;padding:0.875rem 1.25rem;min-width:180px;text-align:center;}
.hero-org-num{font-size:28px;font-weight:800;color:var(--gold);line-height:1;}
.hero-org-label{font-size:10px;color:rgba(255,255,255,0.6);text-transform:uppercase;letter-spacing:0.07em;margin-top:0.25rem;}
.hero-org-bar{height:5px;background:rgba(255,255,255,0.2);border-radius:999px;overflow:hidden;margin-top:0.5rem;}
.hero-org-fill{height:100%;background:var(--gold);border-radius:999px;transition:width 0.6s;}

/* Staff code banner */
.code-banner{background:var(--green-dark);border-radius:12px;padding:1.125rem 1.25rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.code-banner-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:rgba(255,255,255,0.6);margin-bottom:0.2rem;}
.code-banner-val{font-size:24px;font-weight:800;letter-spacing:0.18em;color:var(--gold);font-family:monospace;}
.code-banner-sub{font-size:11px;color:rgba(255,255,255,0.55);margin-top:0.2rem;}
.btn-copy{background:var(--gold);color:white;border:none;border-radius:6px;padding:0.5rem 1rem;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--font);min-height:36px;touch-action:manipulation;}

main{max-width:1100px;margin:0 auto;padding:1.5rem 1rem 3rem;}
.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0.75rem;margin-bottom:1.5rem;}
.stat-card{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);padding:1rem;text-align:center;}
.stat-num{font-size:28px;font-weight:700;color:var(--gold);line-height:1;}
.stat-label{font-size:11px;color:var(--text-muted);margin-top:0.35rem;text-transform:uppercase;letter-spacing:0.06em;}

.tabs{display:flex;flex-wrap:nowrap;margin-bottom:1.25rem;border:1px solid var(--gray-light);border-radius:var(--radius);background:var(--white);overflow-x:auto;scrollbar-width:none;}
.tabs::-webkit-scrollbar{display:none;}
.tab{padding:0.65rem 0.9rem;font-size:12.5px;font-weight:600;color:var(--text-muted);cursor:pointer;border-right:1px solid var(--gray-light);font-family:var(--font);min-height:44px;display:flex;align-items:center;flex:0 0 auto;white-space:nowrap;touch-action:manipulation;}
.tab:last-child{border-right:none;}
.tab.active{background:var(--gold-light);color:var(--gold-dark);}
/* v240: the My Learning sub-nav (Assigned/Library/Practical/Journey) previously had no
   dedicated styling at all — just the generic .tabs/.tab rules — and switching between its
   own sub-tabs used to scroll it out of view above the fold (see showTab() in manager.html).
   Pinning it just below the main nav (sticky, same z-index tier) means it can never be
   scrolled past no matter how long a sub-tab's own content runs, and the larger/bolder tab
   text makes it easier to spot at a glance, as requested. Desktop/tablet only — nav's height
   becomes unpredictable ("auto") below 760px, so the subnav reverts to normal static flow
   there rather than risk it overlapping the main nav on small screens. */
.learning-subnav{position:sticky;top:64px;z-index:90;background:var(--white);box-shadow:0 4px 14px rgba(28,56,50,.08);}
.learning-subnav .tab{font-size:13.5px;font-weight:800;padding:.8rem 1.15rem;}
@media(max-width:760px){.learning-subnav{position:static;top:auto;box-shadow:none;}}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.card{background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;}
.card h3{font-size:15px;font-weight:700;color:var(--green);margin-bottom:0.35rem;}
.card p{font-size:13px;color:var(--text-muted);margin-bottom:1rem;line-height:1.6;}
.form-group{margin-bottom:1rem;}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:0.4rem;}
.form-group label span{font-weight:400;color:var(--text-muted);font-size:11px;}
.form-group input,.form-group select{width:100%;padding:0.7rem 0.9rem;border:1.5px solid var(--gray-mid);border-radius:var(--radius);font-size:14px;font-family:var(--font);outline:none;background:var(--white);}
.form-group input:focus,.form-group select:focus{border-color:var(--gold);}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.btn-primary{background:var(--gold);color:white;border:none;border-radius:8px;padding:0.75rem 1.5rem;font-size:14px;font-weight:700;font-family:var(--font);cursor:pointer;min-height:44px;touch-action:manipulation;}
.btn-sm{padding:0.35rem 0.8rem;font-size:12px;font-weight:600;border-radius:6px;cursor:pointer;font-family:var(--font);min-height:36px;touch-action:manipulation;}
.btn-gold{background:var(--gold);color:white;border:none;}
.btn-danger{background:var(--danger-light);color:var(--danger);border:1px solid #F5C6C2;}
.btn-outline{background:transparent;color:var(--text-muted);border:1px solid var(--gray-mid);}
.msg{font-size:13px;margin-top:0.75rem;padding:0.6rem 0.875rem;border-radius:8px;display:none;}
.msg.success{background:var(--success-light);color:var(--success);}
.msg.error{background:var(--danger-light);color:var(--danger);}

.data-table{width:100%;background:var(--white);border:1px solid var(--gray-light);border-radius:var(--radius);border-collapse:collapse;}
.data-table th{background:var(--gray-light);padding:0.75rem 1rem;text-align:left;font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.05em;}
.data-table td{padding:0.9rem 1rem;font-size:14px;border-top:1px solid var(--gray-light);vertical-align:middle;}
.badge{font-size:10px;font-weight:700;padding:0.2rem 0.6rem;border-radius:20px;text-transform:uppercase;letter-spacing:0.04em;}
.badge-passed{background:var(--success-light);color:var(--success);}
.badge-retry{background:var(--gold-light);color:var(--gold-dark);}
.badge-progress{background:var(--blue-light);color:var(--blue);}
.badge-pending{background:var(--gray-light);color:var(--gray-dark);}
.badge-overdue{background:var(--danger-light);color:var(--danger);}
.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;border-radius:var(--radius);}
.staff-avatar{width:30px;height:30px;border-radius:50%;background:var(--green-light);color:var(--green);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;margin-right:8px;vertical-align:middle;flex-shrink:0;}
.progress-mini{display:flex;align-items:center;gap:8px;}
.progress-mini-bar{flex:1;height:6px;background:var(--gray-light);border-radius:3px;overflow:hidden;min-width:50px;}
.progress-mini-fill{height:100%;border-radius:3px;background:var(--gold);}
.progress-mini-fill.full{background:var(--success);}


.assign-mode{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin:0.75rem 0 1rem;}
.assign-option{border:1.5px solid var(--gray-light);background:var(--white);border-radius:10px;padding:0.875rem;cursor:pointer;min-height:74px;touch-action:manipulation;}
.assign-option.active{border-color:var(--gold);background:var(--gold-light);}
.assign-option-title{font-weight:800;color:var(--green);font-size:14px;margin-bottom:0.2rem;}
.assign-option-text{font-size:12px;color:var(--text-muted);line-height:1.35;}
.mandatory-pathway-box{border:1.5px solid var(--gold);background:var(--gold-light);border-radius:12px;padding:1rem;margin:0 0 1rem;}
.mandatory-pathway-box h4{margin:0 0 .35rem;color:var(--green);font-size:15px;}
.mandatory-pathway-box p{margin:0 0 .75rem;font-size:13px;color:var(--text-muted);line-height:1.45;}

.signup-code-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1rem;align-items:start;}
.onboarding-blue-box{background:#EFF6FF;border:1.5px solid #BBD7FF;border-radius:14px;padding:1rem 1.1rem;margin:0 0 1rem;color:#1F3B57;}
.onboarding-blue-box h4{margin:0 0 .35rem;color:#1C3832;font-size:15px;}
.onboarding-blue-box p{margin:0;font-size:13px;line-height:1.5;color:#486176;}

.applied-stepup-box{border:1.5px solid #CFE0FF;background:linear-gradient(180deg,#F8FBFF 0%,#FFFFFF 100%);border-radius:18px;padding:1rem;margin:0 0 1rem;box-shadow:0 10px 24px rgba(17,24,39,.045);}
.applied-stepup-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;}
.applied-stepup-kicker{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#1D4ED8;margin-bottom:.25rem;}
.applied-stepup-title{font-size:16px;font-weight:900;color:var(--green);margin:0 0 .25rem;}
.applied-stepup-copy{font-size:13px;line-height:1.5;color:var(--text-muted);margin:0;max-width:720px;}
.applied-stepup-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.85rem;}
.applied-choice-btn{border:1.5px solid var(--gray-light);background:#fff;color:var(--green);border-radius:999px;padding:.55rem .85rem;font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 4px 12px rgba(17,24,39,.045);transition:transform .12s ease,background .12s ease,border-color .12s ease;}
.applied-choice-btn:hover{transform:translateY(-1px);border-color:#BBD7FF;background:#F8FBFF;}
.applied-choice-btn.active{border-color:var(--gold);background:var(--gold);color:#fff;}
.applied-status-pill{display:inline-flex;align-items:center;border-radius:999px;background:#EAF2FF;color:#23476A;font-size:11px;font-weight:900;padding:.25rem .55rem;white-space:nowrap;}
.applied-stepup-box.is-active{border-color:rgba(209,151,0,.55);background:linear-gradient(180deg,#FFFBEB 0%,#FFFFFF 100%);}
.code-created-box{display:none;background:var(--success-light);border:1.5px solid rgba(45,122,79,.25);border-radius:14px;padding:1rem;margin-top:1rem;}
.code-created-value{font-size:24px;font-family:monospace;letter-spacing:.16em;font-weight:900;color:var(--green);margin:.25rem 0 .4rem;}
.code-list-card{border:1px solid var(--gray-light);border-radius:12px;padding:.9rem;background:var(--cream);margin-bottom:.65rem;}
.code-list-card.is-collapsed{padding:.65rem .9rem;}
.code-list-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap;}
.code-list-value{font-family:monospace;font-weight:900;letter-spacing:.12em;color:var(--gold-dark);font-size:18px;}
.code-list-meta{font-size:12px;color:var(--text-muted);line-height:1.45;margin-top:.25rem;}
/* Collapse/delete for registration codes — codes accumulate over time and not every one
   needs to stay fully expanded, and some get created by mistake and should just go away. */
.code-collapse-toggle{flex:0 0 auto;width:24px;height:24px;border-radius:8px;border:1px solid var(--gray-light);background:#fff;color:var(--green);font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-top:.15rem;}
.code-collapse-toggle:hover{background:var(--green-light);}
.package-preview{display:none;background:linear-gradient(180deg,#F8FBFF 0%,#FFFFFF 100%);border:1px solid #CFE1FF;border-radius:18px;padding:1rem;font-size:13px;color:var(--text-muted);line-height:1.45;margin-top:.85rem;box-shadow:0 10px 24px rgba(17,24,39,.05);}
.package-preview strong{color:var(--green);}
.pathway-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:.45rem;}
.pathway-preview-title{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;color:var(--green);font-size:16px;font-weight:900;}
.pathway-preview-copy{margin:.25rem 0 .85rem;color:var(--text-muted);font-size:13px;line-height:1.5;}
.pathway-group-title{margin:1rem 0 .45rem;font-size:12px;font-weight:900;color:var(--green);text-transform:uppercase;letter-spacing:.04em;}
.pathway-course-list{margin:0;padding:0;display:grid;gap:.5rem;color:var(--text);list-style:none;}
.pathway-course-list li{display:flex;align-items:center;justify-content:space-between;gap:.85rem;background:#fff;border:1px solid var(--gray-light);border-radius:15px;padding:.78rem .85rem;font-size:13px;line-height:1.35;box-shadow:0 4px 12px rgba(17,24,39,.035);transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease;}
.pathway-course-list li:hover{border-color:#CFE0FF;box-shadow:0 10px 22px rgba(17,24,39,.06);transform:translateY(-1px);}
.pathway-course-main{min-width:0;}
.pathway-course-title{font-size:13.5px;font-weight:900;color:var(--green);line-height:1.25;}
.pathway-course-synopsis{font-size:12px;color:var(--text-muted);line-height:1.42;margin-top:.22rem;max-width:820px;}
.pathway-course-meta{display:flex;gap:.35rem;align-items:center;flex-wrap:wrap;color:var(--text-muted);font-size:11px;margin-top:.35rem;}
.pathway-group-detail{border:1px solid var(--gray-light);border-radius:16px;background:#fff;margin:.65rem 0;overflow:hidden;box-shadow:0 5px 14px rgba(17,24,39,.035);} 
.pathway-group-detail summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;font-size:13px;font-weight:900;color:var(--green);background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);} 
.pathway-group-detail summary::-webkit-details-marker{display:none;} 
.pathway-group-detail summary:after{content:'⌄';width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--off-white);border:1px solid var(--gray-light);transition:transform .15s ease;flex:0 0 auto;} 
.pathway-group-detail[open] summary:after{transform:rotate(180deg);} 
.pathway-group-count{font-size:11px;font-weight:900;color:#244840;background:#eef6f2;border:1px solid #d7e8e0;border-radius:999px;padding:.2rem .55rem;white-space:nowrap;margin-left:.35rem;} 
.pathway-group-body{padding:.7rem;display:grid;gap:.5rem;} 

.pathway-meta-pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--cream);border:1px solid var(--gray-light);padding:.12rem .45rem;color:var(--text-muted);font-size:11px;font-weight:700;}
.pathway-remove{flex:0 0 auto;width:32px;height:32px;border-radius:999px;border:1px solid #F5C2C7;background:#FFF5F5;color:#B42318;font-size:19px;font-weight:900;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 10px rgba(180,35,24,.08);transition:transform .12s ease,background .12s ease,border-color .12s ease;}
.pathway-remove:hover{background:#FEE2E2;border-color:#FCA5A5;transform:translateY(-1px);}
.pathway-count-pill{display:inline-flex;align-items:center;border-radius:999px;background:#EAF2FF;color:#1D4ED8;font-weight:900;padding:.25rem .6rem;font-size:12px;}
.pathway-count-pill{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;background:#E8F1FF;color:#23476A;padding:.18rem .55rem;font-size:11px;font-weight:800;margin-left:.35rem;}
.extra-module-box{margin-top:1rem;border:1px solid var(--gray-light);border-radius:14px;background:#fff;padding:1rem;}
.extra-module-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.7rem;}
.extra-module-head h4{margin:0;color:var(--green);font-size:15px;}
.extra-module-head p{margin:.2rem 0 0;color:var(--text-muted);font-size:12px;line-height:1.4;}
.extra-module-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.35fr);gap:.5rem;margin-bottom:.65rem;}
.extra-module-list{max-height:240px;overflow:auto;border:1px solid var(--gray-light);border-radius:12px;background:var(--cream);padding:.45rem;}
.extra-module-item{display:flex;gap:.55rem;align-items:flex-start;background:white;border:1px solid transparent;border-radius:10px;padding:.55rem .6rem;margin-bottom:.35rem;cursor:pointer;}
.extra-module-item:hover{border-color:#BBD7FF;background:#F8FBFF;}
.extra-module-item input{margin-top:.15rem;}
.extra-module-title{font-size:13px;font-weight:800;color:var(--text);line-height:1.25;}
.extra-module-meta{font-size:11px;color:var(--text-muted);margin-top:.12rem;}
.missing-training-box{margin-top:1rem;background:#EFF6FF;border:1.5px solid #BBD7FF;border-radius:14px;padding:1rem;}
.missing-training-box h4{margin:0 0 .35rem;color:var(--green);font-size:15px;}
.missing-training-box p{margin:0 0 .75rem;color:#486176;font-size:13px;line-height:1.45;}
.missing-training-form{display:none;margin-top:.8rem;border-top:1px solid #CFE0FF;padding-top:.8rem;}
.missing-training-form textarea{min-height:88px;}
@media(max-width:700px){.extra-module-toolbar{grid-template-columns:1fr}}
@media(max-width:860px){.signup-code-grid{grid-template-columns:1fr;}}

.mandatory-actions{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;}
@media(max-width:640px){.mandatory-actions{grid-template-columns:1fr}}
.demo-compliance-banner,.preview-panel{background:#F3F8FF;border:1px solid #CFE0FF;border-radius:18px;padding:1.25rem;margin-bottom:1.25rem;}
.preview-panel .demo-preview-head{margin-bottom:1rem;}
.demo-compliance-banner{background:#F3F8FF;border:1px solid #CFE0FF;border-radius:18px;padding:1.25rem;margin-bottom:1.25rem;}
.demo-compliance-banner strong{color:var(--green);}
.demo-compliance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0.75rem;margin-top:0.85rem;}
.demo-mini-card{background:white;border:1px solid var(--gray-light);border-radius:12px;padding:1rem;min-height:170px;display:flex;flex-direction:column;}
.demo-mini-head{display:flex;align-items:center;justify-content:space-between;gap:0.6rem;margin-bottom:0.7rem;}
.demo-tags{display:flex;flex-wrap:wrap;gap:0.3rem;}
.demo-tag{font-size:10px;font-weight:700;padding:0.18rem 0.45rem;border-radius:999px;}

/* Manager insight upgrades */
.insight-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;}
.insight-card{background:white;border:1px solid var(--gray-light);border-radius:12px;padding:.95rem;}
.insight-card .num{font-size:24px;font-weight:800;color:var(--green);line-height:1;}
.insight-card .label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:.25rem;}
.heatmap-legend{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0 1rem;}
.legend-pill{font-size:11px;font-weight:700;border-radius:999px;padding:.25rem .55rem;}
.manager-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.9rem;align-items:stretch;}
/* v240 (superseding the previous v240 note): the real mismatch was card design, not box width
   — see managerModuleCardHtml's opts.plainToolboxCard branch. #mypractical-list's markup now
   carries .pathway-card-grid instead of .manager-library-grid (same class the Learning
   Library's own pathway tiles use), so no width override is needed here any more. */
.manager-module-card{background:var(--off-white);border:1px solid var(--gray-light);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.65rem;min-height:155px;height:100%;}
.manager-module-card h4{font-size:15px;color:var(--green);margin:0;}
.manager-module-meta{font-size:12px;color:var(--text-muted);line-height:1.45;}
.manager-module-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:auto;}
.manager-module-actions a,.manager-module-actions button{text-decoration:none;}
.manager-library-intro{background:linear-gradient(135deg,var(--green-light),#fff);}
.hm-overdue{background:var(--danger-light)!important;color:var(--danger)!important;font-weight:800;}
.hm-completed{background:var(--success-light)!important;color:var(--success)!important;font-weight:800;}
.hm-in_progress{background:var(--blue-light)!important;color:var(--blue)!important;font-weight:800;}
.hm-retry{background:var(--gold-light)!important;color:var(--gold-dark)!important;font-weight:800;}
.hm-not_started{background:var(--gray-light)!important;color:var(--gray-dark)!important;}

.team-tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;}
.team-card{background:white;border:1px solid var(--gray-light);border-radius:12px;padding:1rem;min-height:170px;display:flex;flex-direction:column;gap:.65rem;}
.team-card h4{margin:0;color:var(--green);font-size:16px;}
.team-member-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem;}
.team-member-pill{font-size:11px;font-weight:700;border-radius:999px;background:var(--green-light);color:var(--green);padding:.22rem .55rem;}
.check-list{display:grid;gap:.4rem;max-height:210px;overflow:auto;border:1px solid var(--gray-light);border-radius:10px;padding:.6rem;background:var(--off-white);}
.check-row{display:flex;align-items:center;gap:.45rem;font-size:13px;color:var(--text);} 

.library-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem;}
.filter-chip{border:1px solid var(--gray-mid);background:white;color:var(--text-muted);border-radius:999px;padding:.45rem .8rem;font-size:12px;font-weight:800;font-family:var(--font);cursor:pointer;min-height:36px;}
.filter-chip.active{background:var(--green);border-color:var(--green);color:white;}
.learning-journey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1rem;}
.learning-stat-card{background:white;border:1px solid var(--gray-light);border-radius:12px;padding:1rem;text-align:center;}
.learning-stat-card .big{font-size:28px;font-weight:900;color:var(--gold);line-height:1;}
.learning-stat-card .small{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:.35rem;}
.badge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-top:.75rem;}
.learning-badge-card{background:var(--off-white);border:1px solid var(--gray-light);border-radius:12px;padding:1rem;display:flex;gap:.65rem;align-items:flex-start;min-height:92px;}
.learning-badge-icon{font-size:24px;line-height:1;}
.learning-badge-title{font-weight:900;color:var(--green);font-size:14px;margin-bottom:.15rem;}
.learning-badge-text{font-size:12px;color:var(--text-muted);line-height:1.35;}
.learning-badge-card.locked{opacity:.55;}
.journey-list{display:grid;gap:.55rem;}
.journey-row{background:var(--off-white);border:1px solid var(--gray-light);border-radius:10px;padding:.75rem;display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap;}
.journey-row-title{font-weight:800;color:var(--green);font-size:13px;}
.journey-row-meta{font-size:12px;color:var(--text-muted);margin-top:.15rem;}

@media(max-width:640px){.assign-mode{grid-template-columns:1fr}.demo-compliance-grid{grid-template-columns:1fr}.manager-library-grid{grid-template-columns:1fr}}

/* Compliance cards (mobile) */
.compliance-card{background:var(--white);border:1px solid var(--gray-light);border-radius:10px;padding:0.875rem;margin-bottom:0.6rem;}
.compliance-name{font-weight:600;font-size:13px;}
.compliance-pct{font-size:18px;font-weight:800;}

.loading{text-align:center;padding:3rem;color:var(--text-muted);}
.loading-brand{display:inline-flex;flex-direction:column;align-items:center;gap:.8rem;color:var(--green);font-size:13px;font-weight:800;letter-spacing:.02em;}
.loading-dragonfly-logo{width:92px;height:auto;object-fit:contain;animation:dragonflyPulse 1.55s ease-in-out infinite;filter:drop-shadow(0 10px 28px rgba(28,56,50,.16));}
.spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--gray-mid);border-top-color:var(--gold);border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes dragonflyPulse{0%,100%{transform:scale(.96);opacity:.68;}50%{transform:scale(1.08);opacity:1;}}

.heatmap-wrap{overflow:auto;padding:0.5rem;}
.heatmap{border-collapse:separate;border-spacing:4px;min-width:600px;}
.heatmap th{font-size:10px;color:var(--text-muted);text-align:center;padding:0.35rem;font-weight:600;}
.heatmap td{font-size:11px;padding:0.45rem;border-radius:6px;text-align:center;min-width:80px;}
.hm-name{text-align:left!important;min-width:140px!important;background:transparent!important;color:var(--text)!important;font-weight:600;}
.hm-not_started{background:var(--gray-light);color:var(--gray-dark);}
.hm-in_progress{background:var(--blue-light);color:var(--blue);}
.hm-retry{background:var(--gold-light);color:var(--gold-dark);}
.hm-completed{background:var(--success-light);color:var(--success);}
.hm-overdue{background:var(--danger-light);color:var(--danger);}

/* Mobile */
@media(max-width:640px){
  nav{padding:0 1rem;height:56px;}
  .nav-brand img{height:36px!important;}
  .nav-user{display:none;}
  main{padding:1rem 0.875rem;}
  .hero{padding:1.25rem 1rem;}
  .hero-inner{flex-direction:column;align-items:flex-start;gap:0.875rem;}
  .hero-org{width:100%;}
  .tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;box-shadow:inset -22px 0 14px -14px rgba(28,56,50,.16);}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{white-space:nowrap;flex:0 0 auto;font-size:12px;padding:0.65rem 0.875rem;}
  .form-row-2{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:repeat(2,1fr);gap:0.6rem;}
  .stats-row .stat-card:last-child:nth-child(odd){grid-column:1/-1;}
  .stat-num{font-size:22px;}
  .data-table{min-width:500px;}
  .code-banner{flex-direction:column;align-items:flex-start;}
  .code-banner-val{font-size:20px;}
}
input,select,textarea{font-size:16px!important;touch-action:manipulation;}

/* === Global mobile/accessibility optimisation === */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-height:100svh;overflow-x:hidden;}
img{max-width:100%;height:auto;}
button,.btn,.btn-primary,.btn-secondary,.btn-nav,.btn-sm,.tab,a[role="button"]{min-height:44px;touch-action:manipulation;}
input,select,textarea{font-size:16px!important;max-width:100%;}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.table-scroll table{min-width:720px;}
@media (max-width:700px){
  body{font-size:16px;}
  main,.container,.wrap,.page{width:100%;max-width:100%;}
  nav{height:auto;min-height:56px;padding:0.65rem 0.85rem;gap:0.75rem;}
  .nav-brand img{height:34px!important;max-width:190px;object-fit:contain;}
  .nav-right{gap:0.5rem;}
  .nav-user{display:none!important;}
  .btn-nav{padding:0.55rem 0.75rem;font-size:13px;}
  .card,.stat-card,.module-card,.org-card,.profile-card{border-radius:14px;}
  .tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;box-shadow:inset -22px 0 14px -14px rgba(28,56,50,.16);}
  .tab{white-space:nowrap;flex:0 0 auto;scroll-snap-align:start;}
  .form-row-2,.form-row-3,.form-row-4,.profile-grid,.competency-grid{grid-template-columns:1fr!important;}
  .btn-row,.action-row,.transcript-actions{flex-direction:column!important;align-items:stretch!important;}
  .btn-row button,.action-row button,.transcript-actions button{width:100%;}
  h1{line-height:1.12;}
}
@media (max-width:420px){
  .card{padding:1rem!important;}
  .logo-wrap{margin-bottom:1rem!important;}
  .steps{font-size:11px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:0.01ms!important;}
}


.seat-status-card{background:var(--white);border:1px solid var(--gray-light);border-radius:14px;padding:1rem 1.1rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.seat-status-card strong{font-size:22px;color:var(--success);}
.seat-status-card.warning strong{color:var(--gold-dark);}
.seat-status-card.full{background:var(--danger-light);border-color:#F5C6C2;}
.seat-status-card.full strong{color:var(--danger);}
.seat-status-text{font-size:13px;color:var(--text-muted);line-height:1.5;}
.code-guidance{font-size:12px;color:rgba(255,255,255,0.72);line-height:1.5;max-width:680px;margin-top:0.5rem;}
.code-guidance strong{color:white;}
@media(max-width:700px){.code-banner{align-items:flex-start}.code-banner-val{font-size:20px;word-break:break-all}.seat-status-card{display:block}.seat-status-card strong{display:block;margin-bottom:.25rem}.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll-wrap table{min-width:720px}}


/* Demo learner preview */
.demo-preview{background:linear-gradient(135deg,#EEF4FF 0%,#FFFFFF 60%);border:1px solid #D8E4FF;border-radius:14px;padding:1rem;margin-bottom:1rem;display:none;}
.demo-preview-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:0.75rem;}
.demo-kicker{font-size:10px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.25rem;}
.demo-title{font-size:16px;font-weight:800;color:var(--green-dark);}
.demo-text{font-size:13px;color:var(--text-muted);line-height:1.5;margin-top:0.25rem;max-width:720px;}
.demo-card{background:white;border:1px solid #D8E4FF;border-radius:12px;padding:0.875rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0.8rem;cursor:pointer;transition:transform .15s,box-shadow .15s;touch-action:manipulation;}
.demo-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.preview-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;}
.preview-hide-note{font-size:11px;color:var(--text-muted);margin-top:.45rem;}
.demo-card:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(39,70,64,.08);}
.demo-avatar{width:42px;height:42px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:800;}
.demo-name{font-weight:800;font-size:14px;color:var(--text);}
.demo-meta{font-size:12px;color:var(--text-muted);margin-top:0.1rem;}
.demo-arrow{font-size:18px;color:var(--blue);font-weight:800;}
.demo-modal-backdrop{display:none;position:fixed;inset:0;background:rgba(28,56,50,.55);z-index:999;align-items:flex-start;justify-content:center;padding:4.5rem 1rem 1rem;overflow:auto;}
.demo-modal{background:white;border-radius:16px;max-width:880px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden;}
.demo-modal-head{background:var(--green-dark);color:white;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.demo-modal-head h3{font-size:17px;margin:0;color:white;}
.demo-close{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;border-radius:8px;padding:.45rem .7rem;cursor:pointer;font-family:var(--font);font-weight:700;}
.demo-modal-body{padding:1rem 1.25rem 1.25rem;}

.clickable-staff-row{cursor:pointer;transition:background .15s ease, box-shadow .15s ease;}
.clickable-staff-row:hover{background:rgba(37,82,74,.055);}
.real-journey-empty{padding:1rem;border:1px dashed var(--border);border-radius:14px;background:var(--cream);color:var(--text-muted);}
.real-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.85rem 0;}
.real-analysis-card{padding:.85rem;border:1px solid var(--border);border-radius:14px;background:linear-gradient(180deg,#fff,#fbfaf5);}
.real-analysis-card strong{display:block;color:var(--green);margin-bottom:.2rem;}
@media(max-width:640px){.real-analysis-grid{grid-template-columns:1fr;}}

.demo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem;}
.demo-stat{background:var(--off-white);border:1px solid var(--gray-light);border-radius:10px;padding:.85rem;text-align:center;}
.demo-stat-num{font-size:22px;font-weight:900;color:var(--gold-dark);}
.demo-stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700;}
.demo-section-title{font-size:13px;font-weight:900;color:var(--green);margin:.85rem 0 .5rem;}
.demo-journey{display:grid;gap:.5rem;}
.demo-module{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;border:1px solid var(--gray-light);border-radius:10px;padding:.7rem .8rem;background:white;}
.demo-module-title{font-weight:700;font-size:13px;}
.demo-module-sub{font-size:11px;color:var(--text-muted);margin-top:.1rem;}
.demo-analysis{background:var(--gold-light);border:1px solid #F1D58A;border-radius:10px;padding:.85rem;font-size:13px;line-height:1.55;color:#5D4706;}
@media(max-width:640px){.demo-card{grid-template-columns:auto 1fr}.demo-card-grid{grid-template-columns:1fr}.demo-arrow{display:none}.demo-modal-backdrop{padding:3.8rem .75rem .75rem}.demo-grid{grid-template-columns:1fr}.demo-modal-body{padding:.85rem}.demo-module{grid-template-columns:1fr}.demo-preview{padding:.85rem}}


/* Dragonfly UX upgrade: manager attention panel */
.attention-panel{background:linear-gradient(135deg,var(--green-dark),var(--green));color:white;border-radius:20px;padding:1.25rem;margin:0 0 1.25rem;box-shadow:var(--shadow);}
.attention-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:1rem;}
.attention-kicker{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.attention-title{font-size:22px;font-weight:900;margin:.2rem 0;color:white;}
.attention-sub{font-size:13px;color:rgba(255,255,255,.78);line-height:1.5;max-width:760px;}
.attention-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:.75rem;}
.attention-card{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:1rem;backdrop-filter:blur(8px);}
.attention-card strong{display:block;font-size:28px;line-height:1;color:var(--gold);margin-bottom:.35rem;}
.attention-card span{display:block;font-size:12px;color:rgba(255,255,255,.78);line-height:1.35;}
.attention-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem;}
.attention-actions button{background:white;color:var(--green);border:none;border-radius:999px;padding:.55rem .9rem;font-size:12px;font-weight:900;font-family:var(--font);cursor:pointer;}
.priority-list{display:grid;gap:.55rem;margin-bottom:1rem;}
.priority-item{display:flex;justify-content:space-between;gap:.75rem;align-items:center;background:var(--off-white);border:1px solid var(--gray-light);border-radius:12px;padding:.8rem .9rem;}
.priority-item-title{font-weight:800;color:var(--green);font-size:13px;}
.priority-item-meta{font-size:12px;color:var(--text-muted);margin-top:.15rem;}
.priority-pill{font-size:11px;font-weight:900;border-radius:999px;padding:.28rem .6rem;white-space:nowrap;}
.priority-pill.red{background:var(--danger-light);color:var(--danger);}.priority-pill.amber{background:var(--gold-light);color:var(--gold-dark);}.priority-pill.blue{background:var(--blue-light);color:var(--blue);}


/* Optional rankings table */
.rankings-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end;margin:1rem 0;}
.rankings-toolbar .form-group{margin:0;min-width:180px;}
.rank-badge{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:var(--green-light);color:var(--green);font-weight:900;}
.rank-badge.top{background:var(--gold-light);color:var(--gold-dark);}
.rank-risk{font-size:11px;font-weight:900;border-radius:999px;padding:.24rem .55rem;display:inline-block;}
.rank-risk.high{background:var(--danger-light);color:var(--danger);}
.rank-risk.medium{background:var(--gold-light);color:var(--gold-dark);}
.rank-risk.low{background:var(--success-light);color:var(--success);}
.data-table th.sortable{cursor:pointer;user-select:none;}
.data-table th.sortable:hover{color:var(--gold);}

/* Scalable manager list controls */
.list-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end;margin:0 0 1rem 0;background:var(--off-white);border:1px solid var(--gray-light);border-radius:12px;padding:1rem;}
.list-toolbar .form-group{margin:0;min-width:180px;flex:1;}
.list-toolbar .form-group.compact{max-width:210px;flex:0 1 210px;}
.sortable{cursor:pointer;}
@media(max-width:700px){.list-toolbar .form-group{min-width:100%;}}

/* Elegant pill-style search field */
.elegant-search{position:relative;}
.elegant-search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);font-size:12px;opacity:.5;pointer-events:none;line-height:1;}
.elegant-search input{border-radius:999px !important;padding:.7rem 1rem .7rem 2.15rem !important;background:var(--white) !important;}
.elegant-search input:focus{box-shadow:0 0 0 3px rgba(201,151,12,.14);}

/* Team status colour key */
.staff-status-key{display:flex;flex-wrap:wrap;gap:.5rem 1.15rem;margin:0 0 .85rem;padding:0 .1rem;}
.status-key-chip{display:inline-flex;align-items:center;gap:.4rem;font-size:12px;font-weight:700;color:var(--text-muted);}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.status-dot.status-attention{background:var(--danger);}
.status-dot.status-in_progress{background:var(--blue);}
.status-dot.status-complete{background:var(--success);}
.status-dot.status-not_started{background:var(--gray-mid);}

/* Team member row colour coding (red/green/blue/grey progress states) */
.clickable-staff-row.status-attention{background:rgba(192,57,43,.09);}
.clickable-staff-row.status-attention:hover{background:rgba(192,57,43,.16);}
.clickable-staff-row.status-complete{background:rgba(45,122,79,.08);}
.clickable-staff-row.status-complete:hover{background:rgba(45,122,79,.15);}
.clickable-staff-row.status-in_progress{background:rgba(59,94,204,.07);}
.clickable-staff-row.status-in_progress:hover{background:rgba(59,94,204,.14);}
.clickable-staff-row.status-not_started{background:rgba(107,102,96,.06);}
.clickable-staff-row.status-not_started:hover{background:rgba(107,102,96,.12);}
@media(max-width:700px){.staff-status-key{gap:.4rem .85rem;}.status-key-chip{font-size:11px;}}



/* ═══════════════════════════════════════════════
   DRAGONFLY MOBILE OPTIMISATION v8 — app/platform
   Targets learner, manager, admin, builder, module and demo pages.
   ═══════════════════════════════════════════════ */
html, body { max-width: 100%; overflow-x: hidden; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-height: 100svh; }
img, svg, video, canvas { max-width: 100%; height: auto; }
button, a, input, select, textarea { font-family: inherit; }
button, .btn-primary, .btn-secondary, .btn-nav, .btn-nav-ghost, .btn-sm, .tab, .lib-tab, .opt-btn, .continue-btn, .cert-btn, .btn-gold, .btn-outline { min-height: 44px; touch-action: manipulation; }
input, select, textarea { font-size: 16px !important; max-width: 100%; }
.table-scroll-wrap, .completed-table-wrap, .demo-table, .transcript-card { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-scroll-wrap table, .completed-table-wrap table, .demo-table table, .transcript-card table, table.data-table { min-width: 680px; }

@media (max-width: 900px) {
  main, .page, .container, .builder-wrap { width: 100%; max-width: 100%; padding-left: 1rem; padding-right: 1rem; }
  .dashboard-grid, .journey-grid, .profile-grid, .learning-journey-grid, .demo-grid, .drill-grid, .tower-grid, .org-summary-main, .form-row-4, .form-row-3, .form-row-2, .assign-mode { grid-template-columns: 1fr !important; }
  .stats-row, .summary-stat-grid, .journey-stats-grid, .competency-grid, .attention-grid, .demo-compliance-grid, .manager-library-grid, .modules-grid, .module-stack, .locked-grid, .pathway-grid, .next-action-grid, .achievement-grid, .badge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .hero-inner, .hero > div:first-child, .panel-head, .panel-head-space, .transcript-actions, .level-card, .code-banner, .seat-status-card, .demo-module, .demo-card { flex-wrap: wrap; }
  .hero-org { width: 100%; margin-top: 1rem; }
  .library-controls, .list-toolbar { grid-template-columns: 1fr !important; }
  .rankings-toolbar { flex-direction: column !important; align-items: stretch !important; }
  .rankings-toolbar .form-group { min-width: 100% !important; width: 100%; }
  .list-toolbar .form-group, .library-search, .library-filter { min-width: 0; width: 100%; }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  nav { height: auto !important; min-height: 58px; padding: .65rem .85rem !important; gap: .6rem; align-items: center; }
  .nav-brand { min-width: 0; }
  .nav-brand img { max-width: 160px; height: auto !important; object-fit: contain; }
  .nav-right { margin-left: auto; gap: .45rem; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
  .nav-user { display: none !important; }
  .btn-nav, .btn-nav-ghost { white-space: nowrap; padding: .55rem .7rem; font-size: 12px; flex: 0 0 auto; }
  main, .page, .container { padding: 1rem .9rem !important; }
  .page-title { font-size: 22px; margin-bottom: 1rem; }
  .hero, .next-action-panel, .attention-panel { border-radius: 18px !important; padding: 1rem !important; margin-bottom: 1rem !important; }
  .hero-greeting, .attention-title, .next-action-panel h2, .hero h1 { font-size: clamp(1.45rem, 7vw, 2rem) !important; line-height: 1.12; }
  .hero-sub, .attention-sub, .demo-mode-banner, .example-banner, .manager-example-banner { font-size: 14px; line-height: 1.5; }
  .tabs, .lib-tabs, .review-tabs, .stage-nav, .step-nav, .library-category-strip, .library-filters { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: .35rem; padding-bottom: .15rem; scroll-snap-type: x mandatory; }
  .tab, .lib-tab, .review-tab, .stage-btn, .step, .library-pill, .filter-chip { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
  .stats-row, .summary-stat-grid, .journey-stats-grid, .competency-grid, .attention-grid, .demo-compliance-grid, .manager-library-grid, .modules-grid, .module-stack, .pathway-grid, .next-action-grid, .achievement-grid, .badge-grid { grid-template-columns: 1fr !important; gap: .85rem !important; }
  .module-card, .manager-module-card, .learning-badge-card, .profile-card, .card, .panel, .achievement-panel, .pathway-card, .stat-card, .summary-stat-card, .journey-stat-card, .competency-card, .demo-preview, .demo-mini-card, .upgrade-card { padding: 1rem !important; border-radius: 14px !important; }
  .module-card-top, .module-top, .mcc-top, .pathway-top, .demo-preview-head, .seat-status-card { flex-direction: column; align-items: flex-start !important; gap: .55rem !important; }
  .module-title, .mcc-title, .manager-module-card h3, .pathway-title { font-size: 16px !important; line-height: 1.25; }
  .module-desc, .manager-module-meta, .module-meta, .pathway-list { font-size: 13px; line-height: 1.5; }
  .module-footer, .module-actions, .manager-module-actions, .attention-actions, .result-actions, .btn-row, .editor-actions, .tower-actions, .org-actions, .demo-modal-head { display: flex; flex-direction: column !important; align-items: stretch !important; gap: .65rem !important; }
  .module-footer a, .module-footer button, .module-actions a, .module-actions button, .manager-module-actions a, .manager-module-actions button, .attention-actions button, .result-actions a, .result-actions button, .btn-row button, .btn-row a, .editor-actions button, .tower-actions button, .org-actions button { width: 100% !important; text-align: center; justify-content: center; }
  .badge, .module-badge, .demo-pill, .pathway-pill { white-space: normal; text-align: center; }
  .achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .badge-tile { min-width: 0; padding: .75rem .55rem !important; }
  .badge-title { overflow-wrap: anywhere; }
  .heatmap-wrap, .heatmap, .hm-name { min-width: 0; }
  .hm-name { font-size: 12px; }
  .progress-mini, .progress-wrap, .hero-progress { width: 100%; }
  .demo-modal-backdrop { padding: 4rem .75rem .75rem !important; }
  .demo-modal { width: min(100%, 96vw); max-height: 88svh; overflow: auto; }
}

@media (max-width: 420px) {
  main, .page, .container { padding-left: .75rem !important; padding-right: .75rem !important; }
  .nav-brand img { max-width: 135px; }
  .btn-nav, .btn-nav-ghost { padding: .5rem .6rem; font-size: 11px; }
  .stat-num, .summary-stat-value, .journey-stat-value, .competency-score, .impact-score .num { font-size: 28px !important; }
  .achievement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .badge-icon { font-size: 19px !important; }
  .badge-title { font-size: 10px !important; }
  .module-meta, .module-footer { flex-direction: column; gap: .35rem; align-items: flex-start; }
  .cpd-ring { width: 104px; height: 104px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* Compact compliance heatmap */
.heatmap-wrap{max-width:100%;overflow-x:auto}.heatmap{width:100%;min-width:min(720px,100%)!important;table-layout:fixed;border-spacing:5px}.heatmap th{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heatmap td{min-width:0!important;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hm-name{min-width:120px!important;max-width:150px!important}.manager-insight-box{background:#FFF8E3;border:1px solid #E8C86A;border-radius:14px;padding:1rem;margin:1rem 0;color:var(--green);line-height:1.55}@media(max-width:760px){.heatmap{font-size:11px}.heatmap td,.heatmap th{padding:.4rem .35rem}}

.attention-actions button{cursor:pointer;transition:transform .16s ease, box-shadow .16s ease, background .16s ease;}
.attention-actions button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.16);}
.attention-actions button:active{transform:translateY(0);}


/* v41 People & Teams polish */
.people-teams-shell{display:grid;gap:1rem;}
.people-teams-hero{background:linear-gradient(135deg,#fff 0%,#F7FBFA 100%);border:1px solid var(--gray-light);border-radius:16px;padding:1.2rem 1.35rem;box-shadow:0 12px 30px rgba(28,56,50,.055);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;}
.people-teams-kicker{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.25rem;}
.people-teams-title{font-size:20px;font-weight:900;color:var(--green);line-height:1.15;}
.people-teams-copy{font-size:13px;color:var(--text-muted);line-height:1.55;max-width:680px;margin-top:.35rem;}
.people-subnav{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem;}
.people-subnav button{border:1px solid var(--gray-light);background:#fff;color:var(--green);border-radius:999px;padding:.55rem .9rem;font-size:13px;font-weight:850;font-family:var(--font);cursor:pointer;box-shadow:0 5px 14px rgba(17,24,39,.035);}
.people-subnav button:hover{border-color:var(--gold);background:var(--gold-light);}
.people-block{scroll-margin-top:90px;}
.people-block-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.65rem 0 .8rem;}
.people-block-title h3{font-size:16px;color:var(--green);margin:0;}
.people-block-title p{margin:.15rem 0 0;color:var(--text-muted);font-size:13px;line-height:1.45;}
.team-setup-card{background:#fff;border:1px solid var(--gray-light);border-radius:16px;padding:1.15rem;box-shadow:0 10px 24px rgba(28,56,50,.045);}
.team-setup-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr);gap:1rem;align-items:start;}
.team-create-panel{border:1px solid var(--gray-light);border-radius:14px;padding:1rem;background:var(--off-white);}
.team-code-hint{border:1px solid #D8E5FF;background:var(--blue-light);border-radius:14px;padding:1rem;color:#29417d;font-size:13px;line-height:1.5;}
.team-card-v41{border:1px solid var(--gray-light);border-radius:16px;background:#fff;padding:1rem;box-shadow:0 8px 22px rgba(28,56,50,.04);}
.team-card-v41 h4{margin:0;color:var(--green);font-size:15px;font-weight:900;}
.team-card-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.8rem;}
.team-select-card{border:1.5px solid #D8E5FF;background:linear-gradient(135deg,#F7FAFF 0%,#EEF4FF 100%);border-radius:16px;padding:1rem;margin:0 0 1rem;}
.team-select-card h4{margin:0 0 .25rem;color:var(--green);font-size:15px;font-weight:900;}
.team-select-card p{margin:0 0 .75rem;color:var(--text-muted);font-size:13px;line-height:1.45;}
.team-inline-create{display:none;margin-top:.75rem;border-top:1px solid rgba(59,94,204,.18);padding-top:.75rem;}
.onboard-summary-card{background:var(--green-dark);color:white;border-radius:16px;padding:1rem;margin:.2rem 0 1rem;box-shadow:0 12px 24px rgba(28,56,50,.12);}
.onboard-summary-card .summary-kicker{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.58);margin-bottom:.25rem;}
.onboard-summary-card .summary-main{font-size:14px;font-weight:800;line-height:1.45;}
.onboard-summary-card strong{color:var(--gold);}
.code-team-pill{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:800;padding:.25rem .55rem;margin-top:.35rem;}
@media(max-width:760px){.team-setup-grid{grid-template-columns:1fr}.people-teams-hero{padding:1rem}.people-teams-title{font-size:18px}}
/* v54 real manager supervision prompts */
.supervision-hero{background:linear-gradient(135deg,#F2FBF6 0%,#F7FBFF 100%);border:1px solid #CFE7D7;border-radius:18px;padding:1.2rem 1.35rem;margin-bottom:1rem;box-shadow:0 12px 28px rgba(28,56,50,.055);display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;}
.supervision-hero .kicker{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark);margin-bottom:.25rem;}
.supervision-hero h3{margin:0 0 .35rem;color:var(--green);font-size:21px;font-weight:950;}
.supervision-hero p{margin:0;color:#315C4C;font-size:14px;line-height:1.55;max-width:780px;}
.supervision-stat-strip{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.9rem;}
.supervision-stat{background:white;border:1px solid rgba(28,56,50,.09);border-radius:14px;padding:.65rem .85rem;min-width:120px;box-shadow:0 8px 20px rgba(28,56,50,.04);}
.supervision-stat strong{display:block;font-size:20px;color:var(--green);line-height:1;}
.supervision-stat span{display:block;font-size:11px;color:var(--text-muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;}
.supervision-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start;}
/* v240: one column, not auto-fit(280px) — that packed two (sometimes more) narrow supervision
   cards per row, and these cards carry enough content (evidence, insight, suggested manager
   actions) that they read better full-width, one per row. Single rule, so this applies
   identically for every manager and senior/team_lead — there's no separate senior view here. */
.supervision-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
.supervision-card{background:white;border:1px solid var(--gray-light);border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(28,56,50,.045);position:relative;overflow:hidden;}
.supervision-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--success);}
.supervision-card.high:before{background:var(--danger);}.supervision-card.medium:before{background:var(--gold);}.supervision-card.low:before{background:var(--success);}
.supervision-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.75rem;flex-wrap:wrap;}
.supervision-person{display:flex;gap:.65rem;align-items:center;min-width:0;flex:1 1 180px;}
.supervision-person>div{min-width:0;}
.supervision-person .name{font-weight:950;color:var(--green);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.supervision-person .meta{font-size:12px;color:var(--text-muted);margin-top:.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.supervision-score-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.75rem 0;}
.supervision-mini{background:var(--off-white);border-radius:12px;padding:.55rem;text-align:center;min-width:0;}
.supervision-mini strong{display:block;color:var(--green);font-size:16px;line-height:1.05;}
.supervision-mini span{display:block;color:var(--text-muted);font-size:10px;font-weight:800;text-transform:uppercase;margin-top:.2rem;}
.supervision-prompt{background:#FFF8E3;border:1px solid #E8C86A;border-radius:14px;padding:.8rem;margin:.75rem 0;color:#3D4B28;font-size:13px;line-height:1.55;}
.supervision-prompt strong{display:block;color:var(--green);margin-bottom:.25rem;}
.supervision-evidence{background:#F7FBFF;border:1px solid #D6E8FF;border-radius:14px;padding:.8rem;margin:.7rem 0;color:#315C4C;font-size:13px;line-height:1.55;}
.supervision-evidence-row{display:grid;grid-template-columns:92px 1fr;gap:.55rem;padding:.35rem 0;border-bottom:1px solid rgba(28,56,50,.06);}
.supervision-evidence-row:last-child{border-bottom:0;}
.supervision-evidence-row strong{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-dark);}
.real-journey-groups{display:grid;gap:.7rem;margin:.5rem 0 1rem;}
.real-journey-group{background:#fff;border:1px solid var(--gray-light);border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(28,56,50,.035);}
.real-journey-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:.8rem;align-items:center;padding:.85rem 1rem;font-weight:950;color:var(--green);}
.real-journey-group summary::-webkit-details-marker{display:none;}
.real-journey-group summary:after{content:'+';width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--off-white);color:var(--green);font-weight:950;flex:0 0 auto;}
.real-journey-group[open] summary:after{content:'–';background:var(--green);color:white;}
.real-journey-group-meta{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;font-size:11px;font-weight:850;color:var(--text-muted);}
.real-journey-pill{background:var(--off-white);border:1px solid rgba(28,56,50,.07);border-radius:999px;padding:.22rem .45rem;}
.real-journey-group-body{padding:0 .8rem .85rem;}
.supervision-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem;}
.supervision-side-card{background:linear-gradient(135deg,#F7FBFF 0%,#F9FCF8 100%);border:1px solid #D6E8FF;border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(28,56,50,.045);}
.supervision-side-card h4{margin:0 0 .45rem;color:var(--green);font-size:15px;font-weight:950;}
.supervision-side-card p,.supervision-side-card li{font-size:13px;line-height:1.5;color:#315C4C;}
.supervision-side-card ul{margin:.5rem 0 0;padding-left:1.1rem;}
.supervision-empty{background:white;border:1px dashed #CFE0FF;border-radius:18px;padding:1rem;color:var(--text-muted);line-height:1.55;}
@media(max-width:920px){.supervision-layout{grid-template-columns:1fr}.supervision-score-row{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){
  .supervision-card{padding:.85rem;}
  .supervision-card-head{gap:.5rem;margin-bottom:.6rem;}
  .supervision-person{gap:.5rem;flex-basis:100%;}
  .supervision-person .name{font-size:14px;}
  .rank-risk{white-space:nowrap;}
  .supervision-score-row{gap:.35rem;margin:.6rem 0;}
  .supervision-mini{padding:.45rem .3rem;}
  .supervision-mini strong{font-size:14px;}
  .supervision-mini span{font-size:9px;letter-spacing:.02em;}
  .supervision-evidence{padding:.65rem;}
  .supervision-evidence-row{grid-template-columns:1fr;gap:.15rem;padding:.5rem 0;}
  .supervision-evidence-row strong{font-size:10.5px;}
  .supervision-evidence-row span{display:block;font-size:12.5px;line-height:1.45;}
}
/* v61 shared live/demo preview framework */
.supervision-preview-live{display:none;margin:0 0 1rem;background:linear-gradient(135deg,#F3F8FF 0%,#FFFFFF 64%);border:1px solid #CFE0FF;border-radius:18px;padding:1.1rem;box-shadow:0 12px 28px rgba(31,60,92,.055);}
.supervision-preview-live .preview-title{font-weight:950;color:var(--green);font-size:18px;margin:0 0 .25rem;}
.supervision-preview-live .preview-copy{color:#315C4C;font-size:13px;line-height:1.5;margin:0 0 1rem;}
.supervision-preview-live .supervision-grid{margin-top:.75rem;}
.supervision-preview-live .preview-tag{font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#315FBE;margin-bottom:.25rem;}





/* v42 Manager Experience Polish - first taste is with the eye */
.manager-soft-panel{background:linear-gradient(135deg,#F7FBFF 0%,#F3F8FF 100%);border:1px solid #CFE0FF;border-radius:18px;padding:1.15rem 1.25rem;margin-bottom:1rem;box-shadow:0 12px 28px rgba(59,94,204,.06);}
.manager-green-guide{background:linear-gradient(135deg,#F2FBF6 0%,#EAF5EE 100%);border:1.5px solid #BFE3CC;border-radius:16px;padding:1rem;margin:.85rem 0 1rem;color:var(--green);}
.manager-green-guide h4{margin:0 0 .25rem;font-size:15px;font-weight:900;color:var(--green);}
.manager-green-guide p{margin:0;font-size:13px;line-height:1.55;color:#315C4C;}
.manager-side-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:1rem;align-items:start;}
.manager-side-stack{display:grid;gap:1rem;}
.support-card{background:linear-gradient(135deg,#F2FBF6 0%,#F9F6EA 100%);border:1.5px solid #CFE7D7;border-radius:16px;padding:1rem;box-shadow:0 10px 22px rgba(28,56,50,.045);}
.support-card h4{margin:0 0 .35rem;color:var(--green);font-size:15px;font-weight:900;}
.support-card p{margin:0 0 .75rem;color:#315C4C;font-size:13px;line-height:1.5;}
.wizard-step-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;background:var(--green-light);color:var(--green);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:.32rem .65rem;margin:.35rem 0 .75rem;}
.staff-code-builder-card{border-radius:18px!important;box-shadow:0 14px 30px rgba(28,56,50,.06);}
.compliance-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.75rem;margin:0 0 1rem;}
.compliance-summary-card{background:#fff;border:1px solid var(--gray-light);border-radius:16px;padding:.95rem;box-shadow:0 8px 22px rgba(28,56,50,.04);}
.compliance-summary-card .label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);}
.compliance-summary-card .value{font-size:26px;font-weight:900;color:var(--green);line-height:1;margin:.35rem 0 .25rem;}
.compliance-summary-card .meta{font-size:12px;color:var(--text-muted);line-height:1.35;}
.compliance-panel{background:linear-gradient(135deg,#F7FBFF 0%,#FFFDF6 100%);border:1px solid #DCE7F8;border-radius:18px;padding:1.15rem;margin-bottom:1rem;box-shadow:0 12px 28px rgba(28,56,50,.055);}
.compliance-panel-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;margin-bottom:.85rem;}
.compliance-panel-head h3{margin:0;color:var(--green);font-size:16px;font-weight:900;}
.compliance-panel-head p{margin:.25rem 0 0;font-size:13px;color:var(--text-muted);line-height:1.45;max-width:720px;}
.compliance-grid-wrap{overflow:auto;border:1px solid var(--gray-light);border-radius:14px;background:#fff;max-height:560px;}
.compliance-grid-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;}
.compliance-grid-table th{position:sticky;top:0;z-index:3;background:#F8F6F1;border-bottom:1px solid var(--gray-light);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.65rem .45rem;text-align:center;min-width:44px;max-width:44px;}
.compliance-grid-table th.staff-head{left:0;z-index:4;min-width:180px;max-width:220px;text-align:left;padding-left:.85rem;}
.compliance-grid-table td{border-bottom:1px solid #F0EEE8;padding:.45rem;text-align:center;min-width:44px;max-width:44px;}
.compliance-grid-table td.staff-cell{position:sticky;left:0;z-index:2;background:#fff;text-align:left;min-width:180px;max-width:220px;padding:.65rem .85rem;font-weight:850;color:var(--green);}
.compliance-cell{width:24px;height:24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:0;cursor:pointer;border:1px solid rgba(0,0,0,.06);box-shadow:0 3px 8px rgba(0,0,0,.04);transition:transform .14s ease, box-shadow .14s ease;}
.compliance-cell:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 8px 18px rgba(28,56,50,.12);}
.compliance-cell.completed{background:var(--success);}
.compliance-cell.in_progress{background:var(--blue);}
.compliance-cell.retry{background:var(--gold);}
.compliance-cell.overdue{background:var(--danger);}
.compliance-cell.not_started{background:#D8D5CE;}
.compliance-cell.unassigned{background:#fff;border:1px dashed #D8D5CE;}
.compliance-module-key{font-weight:900;color:var(--green);font-size:10px;display:block;max-width:34px;overflow:hidden;text-overflow:ellipsis;margin:0 auto;}
.journey-hero-card{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green) 68%,#315C4C 100%);color:#fff;border-radius:20px;padding:1.35rem;margin-bottom:1rem;box-shadow:0 16px 32px rgba(28,56,50,.16);}
.journey-hero-card h3{color:#fff;margin:0 0 .25rem;font-size:20px;font-weight:950;}
.journey-hero-card p{color:rgba(255,255,255,.76);margin:0;font-size:13px;line-height:1.5;}
.journey-timeline{background:#fff;border:1px solid var(--gray-light);border-radius:16px;padding:1rem;margin-bottom:1rem;}
.timeline-item{display:flex;gap:.7rem;align-items:flex-start;padding:.65rem 0;border-bottom:1px solid #F0EEE8;}
.timeline-item:last-child{border-bottom:none;}
.timeline-dot{width:28px;height:28px;border-radius:50%;background:var(--green-light);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;flex:0 0 28px;}
.timeline-title{font-size:13px;font-weight:900;color:var(--green);}
.timeline-meta{font-size:12px;color:var(--text-muted);line-height:1.4;margin-top:.1rem;}
@media(max-width:860px){.manager-side-grid{grid-template-columns:1fr}.compliance-grid-table th.staff-head,.compliance-grid-table td.staff-cell{min-width:145px;max-width:170px}.compliance-panel{padding:.9rem}.compliance-cell{width:22px;height:22px}}



/* v43 visual trust pass */
#tab-codes .manager-soft-panel{background:linear-gradient(135deg,#F7FBFF 0%,#F9FCF8 100%);border:1px solid #D6E8FF;border-radius:18px;padding:1.15rem 1.35rem;margin-bottom:1rem;box-shadow:0 10px 28px rgba(28,56,50,.045)}
#tab-codes .manager-soft-panel h3{font-size:20px;margin:0 0 .35rem;color:var(--green)}
#tab-codes .manager-soft-panel p{font-size:15px;line-height:1.55;max-width:950px;margin:0;color:var(--text)}
#tab-codes .onboarding-blue-box{background:var(--white);border:1px solid #DCE7F8;border-left:6px solid var(--blue);border-radius:16px;padding:1rem 1.2rem;margin-bottom:1.05rem;box-shadow:0 8px 20px rgba(28,56,50,.035)}
#tab-codes .onboarding-blue-box h4{font-size:15px;margin:0 0 .25rem;color:var(--green)}
#tab-codes .onboarding-blue-box p{font-size:13px;line-height:1.5;color:var(--text-muted);margin:0}
.staff-code-builder-card{border-radius:18px;box-shadow:0 12px 32px rgba(28,56,50,.06);border-color:#E1DFD8;padding:1.7rem!important}
.wizard-step-pill{display:inline-flex;align-items:center;width:auto!important;border-radius:999px;background:var(--green-light);color:var(--green);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:.45rem .8rem;margin:1rem 0 .75rem}
.team-select-card,.extra-module-box,.applied-stepup-box{border-radius:16px!important;box-shadow:0 8px 22px rgba(28,56,50,.035)}
.onboard-summary-card{background:linear-gradient(135deg,var(--green-dark),var(--green))!important;border:0!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(28,56,50,.16);}
.support-card{border-radius:18px!important;background:linear-gradient(135deg,#F9FCF8 0%,#FFFDF6 100%)!important;box-shadow:0 10px 26px rgba(28,56,50,.05)}
.code-list-card{border-radius:16px!important;box-shadow:0 8px 20px rgba(28,56,50,.045)}
.compliance-panel{background:linear-gradient(135deg,#F7FBFF 0%,#FFFDF6 100%)!important;border:1px solid #DCE7F8!important;}
.compliance-grid-table th{height:52px;vertical-align:bottom;}
.compliance-module-key{background:#fff;border:1px solid var(--gray-light);border-radius:8px;padding:.2rem .25rem;min-width:30px;color:var(--green);}
.compliance-cell{width:26px!important;height:26px!important;border-radius:9px!important;}
.demo-compliance-banner{background:linear-gradient(135deg,#F3F8FF 0%,#F9FCF8 100%)!important;border:1px solid #CFE0FF!important;box-shadow:0 12px 28px rgba(43,75,158,.06)}
.manager-library-intro{background:linear-gradient(135deg,#F3F8FF 0%,#F9FCF8 100%)!important;border:1px solid #D6E8FF!important;box-shadow:0 10px 28px rgba(28,56,50,.045)}
.polished-library-card{background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF6 100%)!important;border:1px solid #E4E1D8!important;border-radius:18px!important;box-shadow:0 12px 30px rgba(28,56,50,.055);min-height:245px!important;}
.library-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.25rem;}
.library-card-icon{width:44px;height:44px;border-radius:14px;background:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:20px;border:1px solid #F0DEAA;}
/* Icon tint follows the same green/blue/gold/red/grey status key used for staff rows in the
   Team list and Compliance grid — so a card's colour tells you its state at a glance, whether
   it's your own assigned learning, a staff member's journey, or the Library. */
.polished-library-card.status-completed .library-card-icon{background:var(--success-light);border-color:#BFE0CC;}
.polished-library-card.status-in_progress .library-card-icon{background:var(--blue-light);border-color:#C7D4F2;}
.polished-library-card.status-retry .library-card-icon{background:var(--gold-light);border-color:#F0DEAA;}
.polished-library-card.status-overdue .library-card-icon{background:var(--danger-light);border-color:#F1C6BE;}
.polished-library-card.status-not_started .library-card-icon{background:var(--gray-light);border-color:#DAD6CC;}
/* .polished-library-card and .library-card-icon above are now unused by any markup manager.html
   emits (myAssignedCard/realJourneyModuleCard/renderMyTraining all switched to the shared
   .library-module-card system below, ported verbatim from dashboard.page.css). Left in place
   as inert dead code rather than risk deleting something still referenced elsewhere. */
.library-card-synopsis{font-size:13px!important;line-height:1.48!important;color:var(--text-muted)!important;margin:.15rem 0 .4rem!important;}

/* ===== Ported verbatim from dashboard.page.css so manager/senior Learning Library and
   Assigned Learning use the literal same pathway-grouped, premium card system as the learner
   dashboard — full structural + visual parity, not just similar colours. ===== */
.learning-section-list{display:flex;flex-direction:column;gap:1rem;width:100%;}
.learn-section{border:1px solid #E4DED2;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 8px 24px rgba(39,70,64,.055);}
.learn-section-head{width:100%;border:0;background:linear-gradient(135deg,#fff 0%,#FFFCF4 100%);display:flex;align-items:center;gap:.9rem;text-align:left;padding:1rem 1.1rem;cursor:pointer;font-family:var(--font);border-bottom:1px solid #EFE7DA;}
.learn-section-head:hover{background:#FFFBED;}
.learn-section-icon{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#FDF6E3;color:#7A5418;font-size:21px;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(232,200,106,.25);}
.learn-section-copy{min-width:0;flex:1;}
.learn-section-title{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;color:#24493F;font-size:17px;font-weight:950;line-height:1.15;}
.learn-section-count{font-size:11px;font-weight:950;background:#EAF1EE;color:#24493F;border-radius:999px;padding:.18rem .55rem;}
.learn-section-desc{display:block;margin-top:.22rem;color:#6a675f;font-size:13px;font-weight:650;line-height:1.35;}
.learn-section-progress{font-size:11px;color:#8a7d64;font-weight:950;text-transform:uppercase;letter-spacing:.04em;margin-top:.28rem;}
.learn-section-chevron{width:34px;height:34px;border-radius:999px;border:1px solid #E3DED2;background:#fff;display:grid;place-items:center;color:#8a7d64;font-weight:900;flex:0 0 auto;}
.learn-section-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.85rem;padding:1rem;background:#FDFBF7;}
.library-module-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:linear-gradient(160deg,#fff 0%,#FFFDF6 100%);border:1px solid #E4DED2;border-radius:20px;padding:1.1rem;box-shadow:0 8px 20px rgba(39,70,64,.055);transition:transform .12s, box-shadow .15s;min-width:0;}
.library-module-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(39,70,64,.11);text-decoration:none;}
.library-module-card.status-locked{opacity:.72;}
.library-module-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#FDF6E3;color:#7A5418;font-size:20px;flex:0 0 auto;box-shadow:inset 0 0 0 1px rgba(232,200,106,.25);}
.library-module-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.7rem;}
.library-module-title{font-size:15px;line-height:1.28;color:#193D33;font-weight:950;overflow-wrap:anywhere;margin-top:.65rem;}
.library-module-status{font-size:10px;font-weight:950;border-radius:999px;padding:.28rem .6rem;background:#F4F1E8;color:#665f55;white-space:nowrap;}
.library-module-card.status-completed .library-module-status{background:#E3EEE9;color:#2F6B4F;}
.library-module-card.status-completed .library-module-icon{background:#E3EEE9;color:#2F6B4F;}
.library-module-card.status-in_progress .library-module-status{background:#EAF1FC;color:#2C4E9A;}
.library-module-card.status-in_progress .library-module-icon{background:#EAF1FC;color:#2C4E9A;}
.library-module-card.status-retry .library-module-status{background:#FFF3D6;color:#8A5A00;}
.library-module-card.status-retry .library-module-icon{background:#FFF3D6;color:#8A5A00;}
.library-module-card.status-overdue .library-module-status{background:#F7E5E0;color:#B84A3A;}
.library-module-card.status-overdue .library-module-icon{background:#F7E5E0;color:#B84A3A;}
.library-module-card.status-locked .library-module-status,.library-module-card.status-not_started .library-module-status{background:#F1EFEA;color:#8a8378;}
.library-module-desc{font-size:12.8px;color:#6b655d;line-height:1.4;margin:.25rem 0 .75rem;}
.library-module-meta{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin-top:auto;}
.library-module-pill{font-size:10.5px;letter-spacing:.035em;text-transform:uppercase;background:#F4F1E8;color:#746c61;border-radius:999px;padding:.25rem .55rem;font-weight:950;}
.library-module-pill.gold{background:#FFF8DF;color:#7A5418;border:1px solid #F1D685;}
.assigned-premium-grid{display:grid !important;flex-direction:unset;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;}
.assigned-premium-grid .empty-state{grid-column:1/-1;}
/* #myassigned-list now renders pathway-cards (shared learning-groups.js) instead of a flat
   list of module cards, so — like #assigned-grid in dashboard.page.css — it needs to let its
   single .pathway-card-grid child manage its own columns rather than forcing a fixed 2-up grid
   on top of it. */
#myassigned-list.assigned-premium-grid{display:block !important;width:100%;}
@media(max-width:640px){.assigned-premium-grid{grid-template-columns:1fr;}}
/* Grouped Library view (pathway tiles) sizing — matches dashboard.page.css's "v50 learner
   learning-library polish" block so an opened pathway looks identical whether you're a
   learner, manager, or senior. */
.learning-section-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;}
.learn-section{min-width:0;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#FFFCF6 100%);}
.learn-section-head{min-height:150px;align-items:flex-start;border-bottom:0!important;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#FFFBED 100%);}
.learn-section.open .learn-section-head{border-bottom:1px solid #EFE7DA!important;border-radius:24px 24px 0 0;}
.learn-section-icon{width:52px;height:52px;border-radius:18px;font-size:24px;}
.learn-section-title{font-size:18px;}
.learn-section-desc{font-size:13px;max-width:440px;}
.learn-section-body{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));background:#fffdf8;border-top:1px solid #F0E8D9;}
.library-module-card{border-radius:18px;min-height:156px;}
.library-module-title{font-size:16px;}
.library-module-desc{font-size:13px;}
@media(max-width:980px){.learn-section-body,.learning-section-list{grid-template-columns:1fr;}.library-module-top{flex-direction:column;}.library-module-status{white-space:normal;}}
@media(max-width:640px){.learn-section-head{padding:.9rem;}.learn-section-icon{width:36px;height:36px;border-radius:13px;font-size:18px;}}
/* v221 (ported): Applied modules are visible but locked until the matching Foundation is
   complete — same treatment as the learner Library so a manager/senior's own Applied module
   reads as "locked, here's why" instead of just looking clickable and then bouncing to a
   locked page once opened. */
.library-module-card.status-locked{border-style:dashed !important;border-color:rgba(28,56,50,.28) !important;background:linear-gradient(180deg,rgba(248,246,241,.92),rgba(255,255,255,.96)) !important;cursor:not-allowed !important;}
.library-module-card.status-locked:hover{transform:none !important;box-shadow:none !important;}
.library-lock-note{margin:.65rem 0 .25rem;padding:.65rem .75rem;border-radius:10px;background:#F8F6F1;border:1px solid #E8E1D3;color:#274640;font-size:12.5px;line-height:1.35;}
.library-module-card.status-locked .library-module-status{background:#F8F6F1;color:#274640;border:1px solid #D8D2C5;}
/* v232: same padlock-badge + hover tooltip treatment as dashboard.html, replacing the
   permanent "Complete X first" sentence — kept identical between learner and manager view. */
.library-lock-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#F1EFEA;color:#5C5548;font-size:13px;cursor:default;}
.library-lock-tip{position:absolute;top:calc(100% + 9px);right:0;min-width:190px;max-width:230px;background:#1C3832;color:#FFFDF7;font-size:11.5px;font-weight:750;line-height:1.4;padding:.6rem .75rem;border-radius:11px;box-shadow:0 12px 28px rgba(0,0,0,.24);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .14s ease,transform .14s ease,visibility .14s;z-index:6;pointer-events:none;text-align:left;}
.library-lock-tip strong{color:#F8EBC6;}
.library-module-card.status-locked:hover .library-lock-tip,
.library-module-card.status-locked:focus-within .library-lock-tip,
.library-lock-badge:hover .library-lock-tip,
.library-lock-badge:focus .library-lock-tip{
  opacity:1;visibility:visible;transform:translateY(0);
}
/* v233: toolbox favouriting star — same corner/treatment as dashboard.html's, now that
   toolboxes get a real, working favourite here too (see toggleManagerToolboxFavourite). */
.library-fav-star{position:relative;flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:0;background:#F1EFEA;color:#8a8378;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease;}
.library-fav-star:hover{transform:scale(1.08);background:#FDF3DA;color:#B98247;}
.library-fav-star.is-fav{background:#FDF3DA;color:#B98247;box-shadow:inset 0 0 0 1px rgba(185,130,71,.35);}
/* ===== end ported dashboard.page.css block ===== */
.manager-badge-wall{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;}
.badge-tile{border:1px solid var(--gray-light);border-radius:10px;padding:.7rem .55rem;background:var(--off-white);opacity:.55;text-align:center;min-height:112px;}
.badge-tile.unlocked{background:var(--gold-light);border-color:#E8C86A;opacity:1;box-shadow:0 8px 22px rgba(201,151,12,.10)}
.badge-icon{width:42px;height:42px;border-radius:50%;background:#FFFFFF;display:flex;align-items:center;justify-content:center;margin:0 auto .35rem;font-size:22px;line-height:1;box-shadow:0 2px 8px rgba(28,56,50,.14);}
.badge-tile:not(.unlocked) .badge-icon{background:var(--gray-light);box-shadow:none;}
.badge-title{font-weight:900;color:var(--green);font-size:12px;line-height:1.15}.badge-status{font-size:10px;font-weight:900;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:.28rem 0}.badge-tile.unlocked .badge-status{color:var(--success)}.badge-desc{font-size:10.5px;color:var(--text-muted);line-height:1.25}
.journey-hero-card{background:linear-gradient(135deg,var(--green-dark),var(--green))!important;color:white!important;border-radius:18px!important;box-shadow:0 16px 38px rgba(28,56,50,.18)}
.journey-hero-card h3,.journey-hero-card p{color:white!important}
@media(max-width:900px){#tab-codes .manager-soft-panel p{font-size:14px}.staff-code-builder-card{padding:1.1rem!important}.polished-library-card{min-height:unset!important}}

/* v47 staff login code wizard - TFTIWTE */
.code-wizard-intro{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:linear-gradient(135deg,#F6FBFF 0%,#F8FCF8 100%)!important;}
.soft-kicker{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);margin-bottom:.25rem;}
.wizard-mini-summary{border-radius:999px;background:#fff;border:1px solid #DCE7F8;color:var(--blue);font-weight:900;font-size:12px;padding:.45rem .75rem;white-space:nowrap;}
.code-wizard-layout{align-items:start;}
.code-wizard-card{overflow:hidden;}
.code-wizard-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem;margin-bottom:1.25rem;background:var(--off-white);border:1px solid var(--gray-light);border-radius:16px;padding:.45rem;}
.code-step-dot{border:0;background:transparent;border-radius:12px;padding:.55rem .25rem;display:flex;flex-direction:column;align-items:center;gap:.2rem;cursor:pointer;color:var(--text-muted);font-weight:900;transition:.16s ease;}
.code-step-dot span{width:28px;height:28px;border-radius:999px;background:#fff;border:1px solid var(--gray-light);display:flex;align-items:center;justify-content:center;font-size:12px;}
.code-step-dot small{font-size:10px;text-transform:uppercase;letter-spacing:.05em;}
.code-step-dot.active{background:var(--green-light);color:var(--green);box-shadow:0 6px 14px rgba(28,56,50,.06);}
.code-step-dot.active span{background:var(--green);color:#fff;border-color:var(--green);}
.code-step-dot.done span{background:var(--gold);color:#fff;border-color:var(--gold);}
.code-wizard-step{display:none;animation:wizardFade .18s ease;}
.code-wizard-step.is-active{display:block;}
@keyframes wizardFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.code-wizard-step h3{font-size:22px;color:var(--green);margin:.1rem 0 .35rem;font-weight:950;}
.wizard-step-copy{font-size:14px;line-height:1.55;color:var(--text-muted);margin:0 0 1rem;max-width:760px;}
.wizard-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin:1rem 0;}
.wizard-choice-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr));}
.wizard-choice-card{border:1.5px solid var(--gray-light);background:linear-gradient(180deg,#fff 0%,#FFFDF6 100%);border-radius:18px;padding:1rem;text-align:left;cursor:pointer;min-height:142px;display:flex;flex-direction:column;gap:.35rem;box-shadow:0 10px 22px rgba(28,56,50,.035);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;}
.wizard-choice-card:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(28,56,50,.08);}
.wizard-choice-card.active,.wizard-choice-card.is-selected{border-color:#9EC7FF;background:linear-gradient(135deg,#F3F8FF 0%,#F8FCF8 100%);box-shadow:0 14px 32px rgba(59,94,204,.09);}
.choice-icon{width:42px;height:42px;border-radius:14px;background:var(--gold-light);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:.15rem;}
.wizard-choice-card strong{font-size:15px;color:var(--green);font-weight:950;line-height:1.2;}
.wizard-choice-card small{font-size:12px;color:var(--text-muted);line-height:1.45;}
.wizard-helper-note{background:var(--green-light);border:1px solid #CDE8D6;color:var(--green);border-radius:14px;padding:.8rem .95rem;font-size:13px;font-weight:800;line-height:1.45;margin:.75rem 0;}
.wizard-nav-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--gray-light);}
.wizard-applied-box{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.wizard-applied-box .applied-status-pill{display:inline-flex;margin-top:.35rem;}
.wizard-team-card{padding:1rem!important;}
.team-pill-section{margin:.65rem 0 .85rem;}
.team-pill-label{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin:0 0 .4rem;}
.suggested-team-chips,.existing-team-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.2rem 0 .75rem;}
.suggested-team-chips button,.existing-team-chips button{border:1px solid #CFE0FF;background:#F6FAFF;color:var(--blue);font-weight:850;border-radius:999px;padding:.42rem .7rem;font-size:12px;cursor:pointer;transition:all .15s ease;}
.existing-team-chips button{border-color:#CDE8D6;background:#F8FCF8;color:var(--green);}
.suggested-team-chips button:hover,.existing-team-chips button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(28,56,50,.08);}
.suggested-team-chips button:hover{background:#EAF3FF;}
.existing-team-chips button:hover{background:#ECF8F0;}
.empty-team-pill-note{font-size:12px;color:var(--text-muted);line-height:1.45;background:#fff;border:1px dashed #D9E2DE;border-radius:12px;padding:.6rem .7rem;margin:.2rem 0 .7rem;}
.current-codes-card{max-height:760px;overflow:auto;}
@media(max-width:900px){.code-wizard-intro{display:block}.wizard-mini-summary{display:inline-flex;margin-top:.75rem}.code-wizard-progress{grid-template-columns:repeat(3,1fr)}.wizard-choice-grid,.wizard-choice-grid.two-col{grid-template-columns:1fr}.wizard-choice-card{min-height:auto}.code-step-dot small{font-size:9px}}


/* v57 compliance grid polish */
.live-compliance-banner{background:linear-gradient(135deg,#F3F8FF 0%,#F9FCF8 100%);border:1px solid #CFE0FF;border-radius:18px;padding:1.25rem;margin:0 0 1.25rem;box-shadow:0 12px 28px rgba(43,75,158,.06)}
.live-compliance-title{font-size:20px;font-weight:950;color:var(--green);margin:0 0 .3rem;}
.live-compliance-text{font-size:14px;color:#315C4C;line-height:1.55;max-width:880px;margin:0;}
.live-compliance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.8rem;margin-top:1rem;}
.live-learner-card{background:white;border:1px solid #DFE9F6;border-radius:16px;padding:1rem;box-shadow:0 10px 24px rgba(28,56,50,.045);}
.live-learner-card .top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.7rem;}
.live-learner-card .name{font-weight:950;color:var(--green);font-size:16px;}
.live-learner-card .meta{font-size:12px;color:var(--text-muted);margin-top:.12rem;}
.live-learner-card .pct{font-weight:950;font-size:24px;color:var(--green);line-height:1;}
.live-learner-card .progress-line{height:5px;background:var(--gray-light);border-radius:999px;overflow:hidden;margin:.6rem 0 .7rem;}
.live-learner-card .progress-line span{display:block;height:100%;background:var(--success);border-radius:999px;}
.live-learner-card.high .progress-line span{background:var(--danger);}.live-learner-card.medium .progress-line span{background:var(--gold);}
.live-learner-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.45rem 0 .65rem;}
.live-learner-tags span{font-size:11px;font-weight:850;border-radius:999px;padding:.22rem .48rem;background:var(--success-light);color:var(--success);}
.live-learner-tags span.due_soon{background:#EAF2FF;color:#315f9e}.live-learner-tags span.in_progress{background:var(--blue-light);color:var(--blue)}.live-learner-tags span.retry{background:var(--gold-light);color:var(--gold-dark)}.live-learner-tags span.overdue,.live-learner-tags span.expired{background:var(--danger-light);color:var(--danger)}.live-learner-tags span.not_started{background:var(--gray-light);color:var(--gray-dark)}
.compliance-cell.due_soon{background:#EAF2FF;border-color:#CFE0FF;}.compliance-cell.expired{background:var(--danger);}.compliance-cell.completed{background:var(--success-light);border-color:#C7EAD2;}.compliance-cell.in_progress{background:var(--blue-light);border-color:#CFE0FF;}.compliance-cell.retry{background:var(--gold-light);border-color:#E8C86A;}.compliance-cell.overdue{background:var(--danger-light);border-color:#F0C2BC;}.compliance-cell.not_started{background:#F1EFE9;border:1px dashed #D8D5CE;}
.compliance-cell.completed:after{content:'✓';font-size:13px;font-weight:950;color:var(--success);}.compliance-cell.in_progress:after{content:'•';font-size:18px;font-weight:950;color:var(--blue);}.compliance-cell.retry:after{content:'!';font-size:13px;font-weight:950;color:var(--gold-dark);}.compliance-cell.overdue:after,.compliance-cell.expired:after{content:'!';font-size:13px;font-weight:950;color:var(--danger);}.compliance-cell.due_soon:after{content:'↻';font-size:13px;font-weight:950;color:#315f9e;}.compliance-cell.not_started:after{content:'';}
.compliance-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin:.85rem 0;}
.compliance-detail-card{background:var(--off-white);border:1px solid var(--gray-light);border-radius:14px;padding:.75rem;}
.compliance-detail-card strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.2rem;}.compliance-detail-card span{font-weight:850;color:var(--green);}
.compliance-detail-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem;}


/* v60 live evidence pack and risk-aware compliance polish */
.evidence-hero{background:linear-gradient(135deg,#F2FBF6 0%,#F7FBFF 100%);border:1px solid #CFE7D7;border-radius:18px;padding:1.2rem 1.35rem;margin-bottom:1rem;box-shadow:0 12px 28px rgba(28,56,50,.055);display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap;}
.evidence-hero .kicker{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--gold-dark);margin-bottom:.25rem;}
.evidence-hero h3{margin:0 0 .35rem;color:var(--green);font-size:21px;font-weight:950;}
.evidence-hero p{margin:0;color:#315C4C;font-size:14px;line-height:1.55;max-width:850px;}
.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1rem;margin-top:1rem;}
.evidence-card{background:#fff;border:1px solid var(--gray-light);border-radius:18px;padding:1rem;box-shadow:0 10px 24px rgba(28,56,50,.045);position:relative;overflow:hidden;}
.evidence-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--green);opacity:.9;}
.evidence-card.warning:before{background:var(--gold)}.evidence-card.danger:before{background:var(--danger)}.evidence-card.blue:before{background:#315f9e}
.evidence-card h4{color:var(--green);margin:0 0 .35rem;font-size:15px;font-weight:950;}
.evidence-card p{color:var(--text-muted);font-size:13px;line-height:1.5;margin:0 0 .85rem;}
.evidence-card button{background:var(--green);color:white;border:none;border-radius:10px;padding:.58rem .9rem;font-size:12px;font-weight:850;cursor:pointer;}
.evidence-card button.gold{background:var(--gold);color:var(--green)}
.evidence-mini-strip{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.9rem;}
.evidence-mini{background:white;border:1px solid rgba(28,56,50,.09);border-radius:14px;padding:.65rem .85rem;min-width:120px;box-shadow:0 8px 20px rgba(28,56,50,.04);}
.evidence-mini strong{display:block;font-size:20px;color:var(--green);line-height:1;}
.evidence-mini span{display:block;font-size:11px;color:var(--text-muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;}
.compliance-cell.overdue,.compliance-cell.expired{background:#FBE7E4!important;border-color:#F0C2BC!important;box-shadow:0 0 0 2px rgba(190,54,42,.08),0 5px 12px rgba(190,54,42,.08)!important;}
.live-learner-card.high{border-color:#F0C2BC;background:linear-gradient(135deg,#FFF 0%,#FFF6F4 100%)}
.live-learner-card.medium{border-color:#E8C86A;background:linear-gradient(135deg,#FFF 0%,#FFF8E3 100%)}
.live-learner-card.low{border-color:#C7EAD2;background:linear-gradient(135deg,#FFF 0%,#F7FCF8 100%)}
.live-learner-card.high .pct{color:var(--danger)}.live-learner-card.medium .pct{color:var(--gold-dark)}



/* -- new since v62: demo blur/paywall + supervision toggle + evidence actions -- */
.blur-lock,.demo-tools-blur,.demo-lib-blur-content,.demo-tab-blur-content{position:relative;filter:blur(1px);opacity:.7;pointer-events:none;user-select:none}
.demo-tab-blur-wrap,.demo-tab-blur-card{position:relative}
.demo-lib-lock-strip,.demo-tab-blur-cta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;background:var(--gold-light);border:1px solid rgba(201,151,12,.32);border-radius:14px;padding:.85rem 1.1rem;margin-top:.75rem;font-size:.86rem;color:var(--gold-dark);font-weight:800}
.demo-lib-locked{opacity:.6;pointer-events:none;user-select:none;filter:grayscale(.15)}
.blur-cta-btns{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}
.blur-btn-primary,.evidence-btn-primary{background:var(--gold);color:#fff;border:0;border-radius:var(--radius,10px);padding:.7rem 1.2rem;font-weight:700;font-family:var(--font);font-size:.85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 3px 10px rgba(201,151,12,.28);transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}
.blur-btn-primary:hover,.evidence-btn-primary:hover{background:var(--gold-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(201,151,12,.32)}
.blur-btn-secondary,.evidence-btn-gold{background:#fff;color:var(--green);border:1.5px solid var(--gray-light);border-radius:var(--radius,10px);padding:.7rem 1.2rem;font-weight:700;font-family:var(--font);font-size:.85rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 1px 3px rgba(26,46,30,.06);transition:border-color .14s ease,background-color .14s ease}
.blur-btn-secondary:hover,.evidence-btn-gold:hover{border-color:var(--gold);background:var(--green-light)}
.evidence-card-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--gray-light)}
.supervision-toggle{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;width:100%;padding:.65rem 1rem;font-weight:700;font-family:var(--font);font-size:.85rem;color:var(--green-dark);background:var(--off-white,#F8F6F1);border:1.5px solid var(--gray-light);border-radius:var(--radius,10px);transition:border-color .14s ease,background-color .14s ease}
.supervision-toggle:hover{border-color:var(--gold);background:var(--gold-light)}
.supervision-toggle-label{font-size:.85rem}
.supervision-toggle-arrow{color:var(--gold);transition:transform .2s;flex-shrink:0}
.supervision-card.is-expanded .supervision-toggle-arrow{transform:rotate(180deg)}
.supervision-card.is-expanded .supervision-toggle{border-color:var(--gold);background:var(--gold-light)}
.supervision-expandable{display:none;padding-top:.5rem}
.supervision-card.is-expanded .supervision-expandable{display:block}
.extra-module-check{width:auto;min-height:auto;accent-color:var(--gold);margin-right:.5rem}
.wizard-support-card{background:var(--green-light);border:1px solid rgba(39,70,64,.14);border-radius:14px;padding:1.1rem 1.25rem}
.wizard-support-card h3,.wizard-support-card h4{color:var(--green-dark)}

/* -- risk-coded left accent on People & Teams rows -- */
.clickable-staff-row td:first-child{border-left:4px solid transparent;transition:border-color .14s ease}
.clickable-staff-row.risk-high td:first-child{border-left-color:var(--danger,#C0392B)}
.clickable-staff-row.risk-medium td:first-child{border-left-color:var(--gold,#C9970C)}
.clickable-staff-row.risk-low td:first-child{border-left-color:var(--success,#2D7A4F)}

/* -- lock background scroll while any modal/paywall overlay is open -- */
body.modal-open{overflow:hidden;height:100vh}

/* -- hover affordance for now-clickable attention cards, compliance summary cards, and learner rows -- */
.attention-card[onclick]:hover,.compliance-summary-card[onclick]:hover{background:rgba(255,255,255,.18);transform:translateY(-1px);transition:transform .14s ease,background-color .14s ease}
.compliance-summary-card[onclick]:hover{background:var(--gold-light);border-color:var(--gold)}
.staff-cell[onclick]:hover,#rankings-tbody td[onclick]:hover{background:var(--gold-light)}

/* -- clickability affordances for live compliance cards + insight stat cards, and the +N more tag -- */
.live-learner-card[onclick]:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(28,56,50,.1)}
.insight-card[onclick]:hover{border-color:var(--gold);background:var(--gold-light);transform:translateY(-1px)}
.live-learner-tags .more-tag{background:var(--gray-light);color:var(--text-muted);font-weight:800;border-radius:999px;padding:.2rem .55rem;font-size:11px;display:inline-flex;align-items:center}

/* v178 manager learning quality */
.manager-quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.manager-quality-hero{background:linear-gradient(135deg,#F2FBF6 0%,#FFF8E3 100%)}.rating-bars{display:flex;flex-direction:column;gap:.6rem}.rating-bar-row{display:grid;grid-template-columns:42px 1fr 34px;gap:.65rem;align-items:center;font-size:13px;font-weight:850;color:var(--green)}.rating-bar-track{height:12px;border-radius:999px;background:var(--gray-light);overflow:hidden;border:1px solid rgba(28,56,50,.06)}.rating-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--green),var(--gold));min-width:3px}.feedback-watch-list{display:grid;gap:.65rem}.feedback-watch-item{display:flex;align-items:center;justify-content:space-between;gap:.7rem;border:1px solid var(--gray-light);border-radius:14px;background:#fff;padding:.75rem .9rem}.feedback-watch-item strong{color:var(--green);font-weight:900}.feedback-watch-item span{color:var(--text-muted);font-size:12px;margin-right:auto}.quality-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.28rem .58rem;font-size:11px;font-weight:900;white-space:nowrap}.quality-badge.excellent{background:var(--success-light);color:var(--success)}.quality-badge.strong{background:#EAF7EF;color:#27694A}.quality-badge.watch{background:var(--gold-light);color:var(--gold-dark)}.quality-badge.review{background:var(--danger-light);color:var(--danger)}.quality-badge.muted{background:var(--gray-light);color:var(--text-muted)}.feedback-stars{color:var(--gold-dark);letter-spacing:.06em;white-space:nowrap}.empty-quality{border:1px dashed var(--gray-mid);border-radius:14px;padding:1rem;color:var(--text-muted);font-weight:800;text-align:center;background:var(--off-white)}
@media(max-width:700px){.manager-quality-grid{grid-template-columns:1fr}.feedback-watch-item{align-items:flex-start;flex-direction:column}.rating-bar-row{grid-template-columns:36px 1fr 28px}.feedback-quality-table{min-width:690px}}

/* ═══════════════════════════════════════════════
   v179 — Premium mobile manager dashboard pass
   Compact, app-like manager experience without damaging desktop.
   ═══════════════════════════════════════════════ */
@media (max-width: 760px) {
  .seat-status-card, .code-banner {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: .75rem !important;
  }
  .seat-status-card strong, #registrations-left { font-size: 30px !important; }
  .seat-status-text, .code-banner-sub, .code-guidance { font-size: 12px !important; line-height: 1.35 !important; }
  .code-banner-val { font-size: 18px !important; word-break: break-all; }
  .btn-copy { width: 100% !important; }

  .attention-panel {
    padding: 1rem !important;
    border-radius: 23px !important;
    margin-bottom: .85rem !important;
  }
  .attention-title { font-size: 22px !important; letter-spacing: -.02em; }
  .attention-sub { font-size: 13px !important; line-height: 1.35 !important; }
  .attention-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap:.5rem !important; }
  .attention-card { min-height: 82px !important; padding:.68rem .6rem !important; }
  .attention-card strong { font-size: 25px !important; }
  .attention-card span { font-size: 10.5px !important; line-height:1.15 !important; }
  .attention-actions { display:grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap:.45rem !important; }
  .attention-actions button { width:100% !important; min-height:42px !important; font-size:11.5px !important; padding:.5rem .42rem !important; }

  .stats-row { grid-template-columns: repeat(5,minmax(64px,1fr)) !important; gap:.38rem !important; margin-bottom:.8rem !important; }
  .stats-row .stat-card { padding:.58rem .28rem !important; min-height:68px !important; border-radius:16px !important; }
  .stat-num { font-size:21px !important; }
  .stat-label { font-size:8.8px !important; line-height:1.1 !important; letter-spacing:.03em !important; }

  .tabs {
    display:flex !important;
    overflow-x:auto !important;
    padding:.28rem !important;
    margin:.75rem 0 !important;
    gap:.25rem !important;
    scroll-snap-type:x proximity;
  }
  .tabs .tab {
    flex:0 0 auto !important;
    min-width: max-content !important;
    max-width: 180px;
    white-space: nowrap !important;
    scroll-snap-align:start;
    font-size:12px !important;
    padding:.58rem .72rem !important;
  }

  .people-teams-hero, .demo-preview, .preview-panel, .manager-soft-panel {
    border-radius: 22px !important;
    padding: 1rem !important;
  }
  .people-teams-title, .demo-title, .preview-title { font-size: 20px !important; line-height:1.12 !important; }
  .people-teams-copy, .demo-text, .preview-copy { font-size: 12.5px !important; line-height:1.38 !important; }
  .people-subnav { display:grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap:.35rem !important; }
  .people-subnav button { min-height:42px !important; padding:.45rem .25rem !important; font-size:12px !important; }

  .team-card-v41, .learner-card, .manager-library-card, .package-card, .module-card {
    border-radius: 19px !important;
    padding:.9rem !important;
  }
  .team-grid, .manager-library-grid, .module-grid, .package-grid { grid-template-columns: 1fr !important; gap:.68rem !important; }
  .team-card-v41 h3, .learner-card h3 { font-size:15px !important; }

  .supervision-stat-strip, .evidence-mini-strip, #manager-quality-stats {
    display:grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap:.5rem !important;
  }
  .supervision-stat, .evidence-mini {
    border-radius:16px !important;
    padding:.7rem .55rem !important;
    min-height:72px !important;
  }
  .supervision-stat strong, .evidence-mini strong { font-size:22px !important; }
  .supervision-stat span, .evidence-mini span { font-size:10px !important; line-height:1.15 !important; }

  .heatmap-wrap, .table-scroll-wrap, .table-scroll { border-radius:16px !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch; }
  .heatmap-wrap::after, .table-scroll-wrap::after {
    content:'Swipe sideways for more';
    display:block;
    text-align:center;
    color:var(--text-muted);
    font-size:10px;
    font-weight:800;
    padding:.42rem 0 .1rem;
  }
  .data-table, .heatmap, table { min-width: 660px; }
  .feedback-chart-grid, .quality-chart-grid { grid-template-columns: 1fr !important; }
  .feedback-watch-item { border-radius:16px !important; padding:.72rem !important; }
}
@media (max-width: 420px) {
  .attention-actions { grid-template-columns:1fr !important; }
  .stats-row { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
}

/* ═══════════════════════════════════════════════
   v181 — Compact mobile sorting/filtering for Manager dashboards
   ═══════════════════════════════════════════════ */
@media (max-width:760px){
  .list-toolbar,
  .review-toolbar,
  .manager-library-toolbar,
  .library-toolbar,
  .team-toolbar,
  .quality-toolbar,
  .filter-toolbar{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:.5rem !important;
    padding:.65rem !important;
    border-radius:18px !important;
    background:rgba(255,253,247,.92) !important;
    border:1px solid rgba(39,70,64,.10) !important;
    box-shadow:0 8px 22px rgba(39,70,64,.045) !important;
    align-items:end !important;
  }
  .manager-library-search,
  .library-search,
  .list-toolbar .form-group:first-child,
  .review-toolbar .form-group:first-child,
  .team-toolbar .form-group:first-child,
  .quality-toolbar .form-group:first-child,
  .filter-toolbar .form-group:first-child{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-width:0 !important;
  }
  .list-toolbar .form-group,
  .review-toolbar .form-group,
  .manager-library-toolbar .form-group,
  .library-toolbar .form-group,
  .team-toolbar .form-group,
  .quality-toolbar .form-group,
  .filter-toolbar .form-group{
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
  }
  .list-toolbar label,
  .review-toolbar label,
  .manager-library-toolbar label,
  .library-toolbar label,
  .team-toolbar label,
  .quality-toolbar label,
  .filter-toolbar label{
    font-size:10px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    margin:0 0 .22rem !important;
    color:rgba(28,56,50,.72) !important;
  }
  .list-toolbar select,.list-toolbar input,
  .review-toolbar select,.review-toolbar input,
  .manager-library-toolbar select,.manager-library-toolbar input,
  .library-toolbar select,.library-toolbar input,
  .team-toolbar select,.team-toolbar input,
  .quality-toolbar select,.quality-toolbar input,
  .filter-toolbar select,.filter-toolbar input,
  .manager-library-search input{
    min-height:42px !important;
    height:42px !important;
    border-radius:13px !important;
    padding:.52rem .66rem !important;
    font-size:13px !important;
    background:#fff !important;
  }
  .library-filters{
    display:flex !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    gap:.35rem !important;
    padding:.2rem .05rem .35rem !important;
    margin-bottom:.65rem !important;
    scrollbar-width:none;
  }
  .library-filters::-webkit-scrollbar{display:none;}
  .filter-chip{min-height:38px !important;padding:.45rem .7rem !important;font-size:12px !important;flex:0 0 auto !important;}
}
@media (max-width:390px){
  .list-toolbar,.review-toolbar,.manager-library-toolbar,.library-toolbar,.team-toolbar,.quality-toolbar,.filter-toolbar{grid-template-columns:1fr !important;}
}

/* ═══════════════════════════════════════════════
   v181 — Mobile menu wins over older page overrides + compact controls
   ═══════════════════════════════════════════════ */
@media (max-width:760px){
  nav{min-height:62px!important;padding:.58rem .78rem!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:.55rem!important;overflow:visible!important;}
  nav .nav-brand{flex:1 1 auto!important;justify-content:center!important;min-width:0!important;}
  nav .nav-brand img{height:32px!important;max-width:176px!important;object-fit:contain!important;}
  nav .nav-menu-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;border-radius:999px!important;border:1px solid rgba(255,255,255,.22)!important;background:rgba(255,255,255,.10)!important;color:#FFFDF7!important;font-size:0!important;}
  nav .nav-menu-toggle::before{content:'☰';font-size:24px;line-height:1;font-weight:950;}
  nav.menu-open .nav-menu-toggle::before{content:'×';font-size:28px;}
  nav .nav-right{display:none!important;position:absolute!important;top:calc(100% + .45rem)!important;left:.72rem!important;right:.72rem!important;width:auto!important;z-index:1000!important;padding:.62rem!important;border-radius:20px!important;background:rgba(28,56,50,.98)!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important;flex-direction:column!important;align-items:stretch!important;gap:.44rem!important;}
  nav.menu-open .nav-right{display:flex!important;}
  nav .nav-user{display:block!important;order:-1;width:100%!important;padding:.55rem .65rem .7rem!important;margin:0 0 .12rem!important;border-bottom:1px solid rgba(255,255,255,.10)!important;color:rgba(255,253,247,.72)!important;font-size:12px!important;line-height:1.25!important;}
  nav .nav-user strong{display:block!important;color:#FFFDF7!important;font-size:13px!important;}
  nav .btn-nav,nav .btn-nav-ghost,nav .nav-back{width:100%!important;height:auto!important;min-height:46px!important;font-size:14px!important;border-radius:14px!important;padding:.72rem .85rem!important;display:flex!important;justify-content:flex-start!important;text-align:left!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;color:#FFFDF7!important;box-shadow:none!important;}
  nav .btn-nav-ghost::before,nav button.btn-nav::before{content:none!important;}

  .list-toolbar,.rankings-toolbar,.review-toolbar,.manager-library-toolbar,.library-toolbar,.team-toolbar,.quality-toolbar,.filter-toolbar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.46rem!important;align-items:end!important;padding:.62rem!important;border-radius:17px!important;background:rgba(255,253,247,.82)!important;border:1px solid rgba(39,70,64,.10)!important;box-shadow:0 8px 20px rgba(39,70,64,.045)!important;margin:.55rem 0 .72rem!important;}
  .list-toolbar .form-group,.rankings-toolbar .form-group,.review-toolbar .form-group,.manager-library-toolbar .form-group,.library-toolbar .form-group,.team-toolbar .form-group,.quality-toolbar .form-group,.filter-toolbar .form-group{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;}
  .list-toolbar .form-group:first-child,.rankings-toolbar .form-group:first-child,.review-toolbar .form-group:first-child,.quality-toolbar .form-group:first-child,.filter-toolbar .form-group:first-child{grid-column:1 / -1!important;}
  .list-toolbar label,.rankings-toolbar label,.review-toolbar label,.manager-library-toolbar label,.library-toolbar label,.team-toolbar label,.quality-toolbar label,.filter-toolbar label{font-size:9px!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin:0 0 .18rem!important;color:rgba(28,56,50,.70)!important;font-weight:950!important;}
  .list-toolbar input,.list-toolbar select,.rankings-toolbar input,.rankings-toolbar select,.review-toolbar input,.review-toolbar select,.manager-library-toolbar input,.manager-library-toolbar select,.library-toolbar input,.library-toolbar select,.team-toolbar input,.team-toolbar select,.quality-toolbar input,.quality-toolbar select,.filter-toolbar input,.filter-toolbar select{min-height:40px!important;border-radius:12px!important;padding:.52rem .62rem!important;font-size:12px!important;background:#fff!important;}
  .library-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:.38rem!important;padding:.1rem .05rem .4rem!important;margin:.45rem 0 .7rem!important;scrollbar-width:none;}
  .library-filters::-webkit-scrollbar{display:none;}
  .filter-chip{min-height:34px!important;border-radius:999px!important;padding:.38rem .62rem!important;font-size:11px!important;flex:0 0 auto!important;}
}
@media (max-width:390px){.list-toolbar,.rankings-toolbar,.review-toolbar,.manager-library-toolbar,.library-toolbar,.team-toolbar,.quality-toolbar,.filter-toolbar{grid-template-columns:1fr!important;}}

/* v182 — remove hamburger button circle and tighten mobile filters further */
@media (max-width:760px){
  nav .nav-menu-toggle{width:42px!important;height:42px!important;min-width:42px!important;border:none!important;background:transparent!important;box-shadow:none!important;border-radius:10px!important;padding:0!important;}
  nav .nav-menu-toggle:active{background:rgba(255,255,255,.08)!important;}
  .list-toolbar,.rankings-toolbar,.review-toolbar,.manager-library-toolbar,.library-toolbar,.team-toolbar,.quality-toolbar,.filter-toolbar{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.34rem!important;
    padding:.48rem!important;
    border-radius:15px!important;
    margin:.4rem 0 .58rem!important;
    box-shadow:0 5px 14px rgba(39,70,64,.035)!important;
  }
  .list-toolbar label,.rankings-toolbar label,.review-toolbar label,.manager-library-toolbar label,.library-toolbar label,.team-toolbar label,.quality-toolbar label,.filter-toolbar label{display:none!important;}
  .list-toolbar input,.list-toolbar select,.rankings-toolbar input,.rankings-toolbar select,.review-toolbar input,.review-toolbar select,.manager-library-toolbar input,.manager-library-toolbar select,.library-toolbar input,.library-toolbar select,.team-toolbar input,.team-toolbar select,.quality-toolbar input,.quality-toolbar select,.filter-toolbar input,.filter-toolbar select{min-height:36px!important;border-radius:11px!important;padding:.42rem .52rem!important;font-size:11.5px!important;}
  .library-filters{gap:.3rem!important;margin:.3rem 0 .5rem!important;padding-bottom:.25rem!important;}
  .filter-chip{min-height:32px!important;padding:.32rem .56rem!important;font-size:10.5px!important;}
}
@media (max-width:390px){.list-toolbar,.rankings-toolbar,.review-toolbar,.manager-library-toolbar,.library-toolbar,.team-toolbar,.quality-toolbar,.filter-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}


/* v184 — final full-screen mobile menu override */
@media (max-width:760px){
  nav .nav-menu-toggle{border:0!important;background:transparent!important;box-shadow:none!important;border-radius:10px!important;width:42px!important;height:42px!important;min-width:42px!important;font-size:0!important;position:relative!important;z-index:1201!important;}
  nav .nav-menu-toggle::before{content:'☰'!important;font-size:29px!important;line-height:1!important;}
  nav.menu-open .nav-menu-toggle::before{content:'×'!important;font-size:34px!important;}
  nav .nav-right{display:none!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:1200!important;padding:calc(env(safe-area-inset-top,0px) + 72px) 18px calc(env(safe-area-inset-bottom,0px) + 22px)!important;margin:0!important;border:0!important;border-radius:0!important;background:linear-gradient(180deg,#17362F 0%,#102E29 100%)!important;box-shadow:none!important;overflow-y:auto!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important;}
  nav.menu-open .nav-right{display:flex!important;}
  nav .nav-right::before{content:'Dragonfly menu'!important;position:static!important;display:block!important;margin:0 0 2px!important;color:rgba(255,253,247,.86)!important;font-size:12px!important;letter-spacing:.17em!important;text-transform:uppercase!important;font-weight:950!important;}
  nav .app-menu-links{display:flex!important;flex-direction:column!important;gap:8px!important;order:1!important;width:100%!important;}
  nav .app-menu-link{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:50px!important;border-radius:15px!important;font-size:15.5px!important;padding:0 14px!important;background:rgba(255,255,255,.065)!important;border:1px solid rgba(255,255,255,.12)!important;color:#FFFDF7!important;text-decoration:none!important;font-weight:850!important;}
  nav .app-menu-link::after{content:'›'!important;opacity:.55!important;font-size:21px!important;font-weight:800!important;}
  nav .nav-user{display:block!important;order:0!important;padding:0 0 12px!important;margin:0 0 8px!important;border-bottom:1px solid rgba(255,255,255,.12)!important;color:rgba(255,253,247,.72)!important;font-size:12px!important;line-height:1.2!important;}
  nav .nav-user strong{display:block!important;color:#FFFDF7!important;font-size:15px!important;margin-top:2px!important;font-weight:900!important;}
  nav .btn-nav,nav .btn-nav-ghost,nav .nav-back{order:2!important;width:100%!important;min-height:50px!important;padding:0 14px!important;border-radius:15px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;font-size:15.5px!important;font-weight:850!important;background:rgba(255,255,255,.065)!important;border:1px solid rgba(255,255,255,.12)!important;color:#FFFDF7!important;box-shadow:none!important;}
  nav .nav-signout{margin-top:6px!important;background:#FFFDF7!important;color:#17362F!important;border-color:#FFFDF7!important;justify-content:center!important;}
}


/* ═══════════════════════════════════════════════
   v185 — Manager mobile compact fixes
   ═══════════════════════════════════════════════ */
@media (max-width:760px){
  /* Never show public sales links inside manager app menu */
  nav a[href*="pricing.html"], nav #nav-get-access, nav .btn-nav:not(.nav-signout), nav .btn-nav-ghost, nav .nav-back{display:none!important;}
  nav .app-menu-links{display:flex!important;flex-direction:column!important;gap:7px!important;width:100%!important;order:1!important;}
  nav .app-menu-link{min-height:46px!important;border-radius:13px!important;font-size:14.5px!important;padding:0 13px!important;}
  nav .nav-signout{display:flex!important;justify-content:center!important;}

  /* People & Teams: compact create-team experience */
  #people-teams-section .people-block-title{margin:.4rem 0 .45rem!important;}
  #people-teams-section .people-block-title h3{font-size:15px!important;}
  #people-teams-section .people-block-title p{font-size:11.8px!important;line-height:1.35!important;margin:.08rem 0 0!important;}
  .team-setup-card{padding:.62rem!important;border-radius:15px!important;box-shadow:0 6px 16px rgba(28,56,50,.035)!important;margin-bottom:.6rem!important;}
  .team-setup-grid{grid-template-columns:1fr!important;gap:.48rem!important;}
  .team-create-panel{padding:.68rem!important;border-radius:13px!important;background:#fff!important;}
  .team-create-panel h3{font-size:16px!important;margin:0 0 .12rem!important;}
  .team-create-panel p{font-size:11.5px!important;line-height:1.32!important;margin:0 0 .45rem!important;}
  .team-create-panel .form-group{margin-bottom:.46rem!important;}
  .team-create-panel label{font-size:10px!important;letter-spacing:.07em!important;text-transform:uppercase!important;margin-bottom:.16rem!important;}
  .team-create-panel input{min-height:38px!important;border-radius:11px!important;font-size:13px!important;padding:.48rem .58rem!important;}
  .team-create-panel .check-list{max-height:128px!important;overflow:auto!important;border-radius:11px!important;padding:.28rem!important;background:#F9F8F3!important;border:1px solid #ECE7DA!important;}
  .team-create-panel .btn-primary{min-height:42px!important;border-radius:12px!important;font-size:13px!important;padding:.55rem .75rem!important;margin-top:.12rem!important;}
  .team-code-hint{font-size:11.5px!important;line-height:1.35!important;padding:.55rem .62rem!important;border-radius:12px!important;margin:0!important;}
  .team-code-hint strong{display:block!important;margin-bottom:.12rem!important;font-size:12px!important;}
  .team-card-v41{padding:.75rem!important;border-radius:14px!important;}

  /* Manager learning library: calm and consistent with learner library */
  #tab-mytraining .manager-side-grid{grid-template-columns:1fr!important;gap:.55rem!important;margin-bottom:.55rem!important;}
  #tab-mytraining .manager-library-intro{padding:.82rem!important;border-radius:16px!important;background:#fff!important;border:1px solid #E7E2D7!important;box-shadow:0 8px 20px rgba(28,56,50,.035)!important;}
  #tab-mytraining .manager-library-intro h3{font-size:20px!important;line-height:1.15!important;margin:0 0 .22rem!important;color:var(--green)!important;}
  #tab-mytraining .manager-library-intro p{font-size:12.5px!important;line-height:1.42!important;margin:0!important;color:var(--text-muted)!important;}
  #tab-mytraining .support-card{padding:.72rem!important;border-radius:15px!important;box-shadow:0 6px 16px rgba(28,56,50,.035)!important;}
  #tab-mytraining .support-card h4{font-size:13.5px!important;margin:0 0 .12rem!important;}
  #tab-mytraining .support-card p{font-size:11.5px!important;line-height:1.35!important;margin:0 0 .4rem!important;}
  .manager-library-toolbar{display:grid!important;grid-template-columns:1fr auto!important;padding:.42rem!important;gap:.38rem!important;margin:.35rem 0 .45rem!important;border-radius:15px!important;background:#fff!important;border:1px solid #E7E2D7!important;box-shadow:0 5px 14px rgba(28,56,50,.03)!important;}
  .manager-library-search{min-width:0!important;border:0!important;background:#F8F6EF!important;border-radius:12px!important;padding:0 .55rem!important;box-shadow:none!important;}
  .manager-library-search span{left:.65rem!important;font-size:13px!important;}
  .manager-library-search input{min-height:36px!important;font-size:12.5px!important;padding:.42rem .4rem .42rem 1.65rem!important;background:transparent!important;}
  .manager-library-count{align-self:center!important;font-size:10.5px!important;padding:.32rem .48rem!important;border-radius:999px!important;white-space:nowrap!important;background:#F4F1E8!important;}
  #tab-mytraining .library-filters{display:flex!important;gap:.3rem!important;overflow-x:auto!important;flex-wrap:nowrap!important;margin:.25rem 0 .5rem!important;padding:.05rem 0 .25rem!important;scrollbar-width:none!important;}
  #tab-mytraining .library-filters::-webkit-scrollbar{display:none!important;}
  #tab-mytraining .filter-chip{min-height:31px!important;font-size:10.5px!important;padding:.3rem .52rem!important;border-radius:999px!important;flex:0 0 auto!important;}
  .manager-library-grid{grid-template-columns:1fr!important;gap:.6rem!important;}
  .polished-library-card{min-height:0!important;border-radius:16px!important;padding:.85rem!important;box-shadow:0 7px 18px rgba(28,56,50,.035)!important;background:#fff!important;}
  .library-card-top{align-items:center!important;margin-bottom:.12rem!important;}
  .library-card-icon{width:34px!important;height:34px!important;min-width:34px!important;border-radius:11px!important;font-size:16px!important;}
  .polished-library-card h3{font-size:16px!important;line-height:1.2!important;margin:.08rem 0 .15rem!important;}
  .library-card-synopsis{font-size:12px!important;line-height:1.35!important;margin:.1rem 0 .32rem!important;}
  .polished-library-card .mod-meta,.polished-library-card .module-meta{gap:.28rem!important;margin:.35rem 0!important;}
  .polished-library-card .mod-meta span,.polished-library-card .module-meta span{font-size:10px!important;padding:.22rem .45rem!important;}
  .polished-library-card .btn-row,.polished-library-card .module-actions{gap:.35rem!important;margin-top:.5rem!important;}
  .polished-library-card .btn-sm,.polished-library-card button{min-height:38px!important;border-radius:11px!important;font-size:12px!important;padding:.44rem .58rem!important;}
}


/* ═══════════════════════════════════════════════
   v186 — Manager mobile: compact create team + no sideways ranking scroll
   ═══════════════════════════════════════════════ */
@media (max-width:760px){
  /* Create team should feel like a quick action, not a giant form panel */
  #people-teams-section .people-block-title{display:none!important;}
  #people-teams-section .team-setup-card{
    padding:.5rem!important;
    border-radius:16px!important;
    margin:.35rem 0 .55rem!important;
    background:rgba(255,253,247,.92)!important;
    border:1px solid rgba(39,70,64,.10)!important;
    box-shadow:0 6px 16px rgba(28,56,50,.035)!important;
  }
  #people-teams-section .team-setup-grid{display:block!important;}
  #people-teams-section .team-create-panel{
    padding:.62rem!important;
    border-radius:14px!important;
    border:1px solid rgba(39,70,64,.08)!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  #people-teams-section .team-create-panel h3{
    font-size:15px!important;
    line-height:1.15!important;
    margin:0 0 .08rem!important;
  }
  #people-teams-section .team-create-panel > p{
    display:none!important;
  }
  #people-teams-section .team-name-group{margin:0 0 .44rem!important;}
  #people-teams-section .team-create-panel label{
    display:none!important;
  }
  #people-teams-section #team-name{
    min-height:40px!important;
    border-radius:12px!important;
    font-size:13px!important;
    padding:.48rem .62rem!important;
    background:#F9F8F3!important;
    border-color:#E9E3D7!important;
  }
  #people-teams-section .team-add-staff-details,
  #people-teams-section .team-code-hint-compact{
    margin:.34rem 0!important;
    border:1px solid rgba(39,70,64,.10)!important;
    border-radius:12px!important;
    background:#F8F6EF!important;
    overflow:hidden!important;
  }
  #people-teams-section .team-add-staff-details summary,
  #people-teams-section .team-code-hint-compact summary{
    list-style:none!important;
    cursor:pointer!important;
    min-height:36px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:.5rem!important;
    padding:0 .62rem!important;
    font-size:12px!important;
    font-weight:900!important;
    color:var(--green)!important;
  }
  #people-teams-section .team-add-staff-details summary::-webkit-details-marker,
  #people-teams-section .team-code-hint-compact summary::-webkit-details-marker{display:none!important;}
  #people-teams-section .team-add-staff-details summary::after,
  #people-teams-section .team-code-hint-compact summary::after{content:'+';font-size:18px;font-weight:900;color:var(--gold-dark);}
  #people-teams-section .team-add-staff-details[open] summary::after,
  #people-teams-section .team-code-hint-compact[open] summary::after{content:'–';}
  #people-teams-section .team-add-staff-details summary span{
    font-size:10px!important;
    color:var(--text-muted)!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    margin-left:auto!important;
  }
  #people-teams-section .compact-check-list{
    max-height:118px!important;
    overflow:auto!important;
    padding:.34rem!important;
    background:#fff!important;
    border-top:1px solid rgba(39,70,64,.08)!important;
    border-radius:0!important;
  }
  #people-teams-section .compact-check-list label,
  #people-teams-section .check-list label{
    display:flex!important;
    align-items:center!important;
    gap:.42rem!important;
    font-size:12px!important;
    line-height:1.2!important;
    padding:.34rem .25rem!important;
    margin:0!important;
  }
  #people-teams-section .create-team-action{
    width:100%!important;
    min-height:40px!important;
    border-radius:12px!important;
    font-size:13px!important;
    padding:.48rem .65rem!important;
    margin:.38rem 0 0!important;
  }
  #people-teams-section .team-code-hint-compact{
    font-size:0!important;
    line-height:1!important;
    padding:0!important;
    background:#F3F0E8!important;
  }
  #people-teams-section .team-code-hint-compact p{
    margin:0!important;
    padding:0 .65rem .62rem!important;
    font-size:11.5px!important;
    line-height:1.35!important;
    color:var(--text-muted)!important;
    border-top:1px solid rgba(39,70,64,.08)!important;
  }
  #people-teams-section + .team-tools-grid,
  #people-teams-section .team-tools-grid{gap:.55rem!important;}

  /* Rankings: no horizontal table on phones. Turn rows into compact cards. */
  #people-rankings-section .card{padding:.72rem!important;border-radius:16px!important;}
  #people-rankings-section .card > h3{font-size:18px!important;margin:0 0 .16rem!important;}
  #people-rankings-section .card > p{font-size:12px!important;line-height:1.35!important;margin:0 0 .45rem!important;}
  #people-rankings-section .rankings-toolbar{grid-template-columns:1fr 1fr!important;margin:.32rem 0 .55rem!important;padding:.42rem!important;}
  #people-rankings-section .table-scroll-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
  }
  #people-rankings-section .data-table,
  #people-rankings-section .data-table tbody,
  #people-rankings-section .data-table tr,
  #people-rankings-section .data-table td{display:block!important;width:100%!important;min-width:0!important;}
  #people-rankings-section .data-table thead{display:none!important;}
  #people-rankings-section .data-table{border-collapse:separate!important;border-spacing:0!important;background:transparent!important;}
  #people-rankings-section .data-table tbody{display:grid!important;gap:.5rem!important;}
  #people-rankings-section .data-table tr{
    border:1px solid rgba(39,70,64,.10)!important;
    border-radius:15px!important;
    background:#fff!important;
    box-shadow:0 6px 16px rgba(28,56,50,.035)!important;
    padding:.6rem!important;
  }
  #people-rankings-section .data-table td{
    border:0!important;
    padding:.18rem 0!important;
    font-size:12px!important;
  }
  #people-rankings-section .data-table td:nth-child(1){
    float:right!important;
    width:auto!important;
    padding:0!important;
  }
  #people-rankings-section .data-table td:nth-child(2){
    padding-right:44px!important;
    min-height:36px!important;
  }
  #people-rankings-section .data-table td:nth-child(n+3){
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:.7rem!important;
    border-top:1px solid rgba(39,70,64,.07)!important;
    padding:.34rem 0!important;
  }
  #people-rankings-section .data-table td:nth-child(3)::before{content:'Avg score';}
  #people-rankings-section .data-table td:nth-child(4)::before{content:'Completion';}
  #people-rankings-section .data-table td:nth-child(5)::before{content:'Attempts';}
  #people-rankings-section .data-table td:nth-child(6)::before{content:'Overdue';}
  #people-rankings-section .data-table td:nth-child(7)::before{content:'CPD hrs';}
  #people-rankings-section .data-table td:nth-child(8)::before{content:'Risk';}
  #people-rankings-section .data-table td:nth-child(n+3)::before{
    font-size:10px!important;
    letter-spacing:.08em!important;
    text-transform:uppercase!important;
    font-weight:950!important;
    color:rgba(28,56,50,.56)!important;
  }
  #people-rankings-section .rank-badge{min-width:30px!important;height:30px!important;font-size:12px!important;}
  #people-rankings-section .staff-avatar{width:30px!important;height:30px!important;min-width:30px!important;font-size:11px!important;}
  #people-rankings-section .progress-mini{min-width:116px!important;max-width:150px!important;}
  #people-rankings-section .rank-risk{font-size:10px!important;padding:.22rem .46rem!important;white-space:nowrap!important;}

  /* Team members table: use cards on phones to avoid sideways scroll in rankings/team views */
  #people-section .table-scroll-wrap{
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }
  #people-section .data-table,
  #people-section .data-table tbody,
  #people-section .data-table tr,
  #people-section .data-table td{display:block!important;width:100%!important;min-width:0!important;}
  #people-section .data-table thead{display:none!important;}
  #people-section .data-table tbody{display:grid!important;gap:.5rem!important;}
  #people-section .data-table tr{background:#fff!important;border:1px solid rgba(39,70,64,.10)!important;border-radius:15px!important;padding:.6rem!important;box-shadow:0 6px 16px rgba(28,56,50,.035)!important;}
  #people-section .data-table td{border:0!important;padding:.18rem 0!important;font-size:12px!important;}
  #people-section .data-table td:nth-child(n+2){display:flex!important;justify-content:space-between!important;align-items:center!important;border-top:1px solid rgba(39,70,64,.07)!important;padding:.34rem 0!important;}
  #people-section .data-table td:nth-child(2)::before{content:'Assigned';}
  #people-section .data-table td:nth-child(3)::before{content:'Completion';}
  #people-section .data-table td:nth-child(4)::before{content:'Overdue';}
  #people-section .data-table td:nth-child(5)::before{content:'Avg score';}
  #people-section .data-table td:nth-child(6)::before{content:'CPD hrs';}
  #people-section .data-table td:nth-child(n+2)::before{font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;font-weight:950!important;color:rgba(28,56,50,.56)!important;}
}

/* ═══════════════════════════════════════════════
   v187 — Manager create-team checkbox cleanup
   ═══════════════════════════════════════════════ */
@media (max-width:760px){
  /* Stop checkbox inputs inheriting full-width form input styles inside Add current staff */
  #people-teams-section .compact-check-list{
    max-height:96px!important;
    padding:.22rem .34rem!important;
  }
  #people-teams-section .compact-check-list .check-row,
  #people-teams-section .check-list .check-row,
  #people-teams-section .compact-check-list label,
  #people-teams-section .check-list label{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:.5rem!important;
    min-height:34px!important;
    padding:.25rem .2rem!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.15!important;
    letter-spacing:.04em!important;
    text-transform:none!important;
    color:var(--green)!important;
  }
  #people-teams-section .compact-check-list input[type="checkbox"],
  #people-teams-section .check-list input[type="checkbox"],
  #team-member-checks input[type="checkbox"]{
    appearance:none!important;
    -webkit-appearance:none!important;
    flex:0 0 18px!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    max-height:18px!important;
    padding:0!important;
    margin:0!important;
    border:1.5px solid rgba(39,70,64,.34)!important;
    border-radius:5px!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  #people-teams-section .compact-check-list input[type="checkbox"]:checked,
  #people-teams-section .check-list input[type="checkbox"]:checked,
  #team-member-checks input[type="checkbox"]:checked{
    background:var(--green)!important;
    border-color:var(--green)!important;
  }
  #people-teams-section .compact-check-list input[type="checkbox"]:checked::after,
  #people-teams-section .check-list input[type="checkbox"]:checked::after,
  #team-member-checks input[type="checkbox"]:checked::after{
    content:'✓';
    display:block;
    color:#fff;
    font-size:13px;
    line-height:17px;
    text-align:center;
    font-weight:900;
  }
  /* These areas are now mobile-card layouts, so do not show the old sideways-scroll hint. */
  #people-section .table-scroll-wrap::after,
  #people-rankings-section .table-scroll-wrap::after{
    display:none!important;
    content:''!important;
  }
}


/* v190 — delegated oversight / team lead hierarchy */
.team-lead-create-group{margin-top:.65rem}
.team-oversight-card{position:relative}
.team-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.55rem}
.team-card-count{font-size:12px;color:var(--text-muted);margin-top:.15rem}
.team-lead-picker,.team-lead-display{display:flex;align-items:center;justify-content:space-between;gap:.65rem;background:rgba(255,255,255,.58);border:1px solid rgba(28,56,50,.10);border-radius:14px;padding:.55rem .65rem;margin:.65rem 0;font-size:12px;color:var(--text-muted);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.team-lead-picker select{width:auto;max-width:62%;min-height:38px;border-radius:10px;padding:.4rem .65rem;font-size:13px;background:#fff;text-transform:none;letter-spacing:0;font-weight:800;color:var(--green)}
.team-lead-display strong{text-transform:none;letter-spacing:0;color:var(--green);font-size:13px;text-align:right}
body[data-manager-scope="team_lead"] .seat-status-card,
body[data-manager-scope="team_lead"] #code-banner,
body[data-manager-scope="team_lead"] .team-setup-card{display:none!important}
body[data-manager-scope="team_lead"] .people-teams-hero .btn-gold{display:none!important}
@media(max-width:700px){
  .team-lead-picker,.team-lead-display{padding:.5rem .55rem;margin:.5rem 0;border-radius:12px;align-items:flex-start;flex-direction:column;gap:.35rem}
  .team-lead-picker select{width:100%;max-width:none;font-size:13px;min-height:40px}
  .team-card-actions{gap:.45rem}
}

/* ═══════════════════════════════════════════════
   v191 — Organisation map + staff-code mobile calm pass
   ═══════════════════════════════════════════════ */
.org-map-card{
  background:linear-gradient(135deg,#FFFFFF 0%,#F8FBF9 100%);
  border:1px solid rgba(28,56,50,.10);
  border-radius:20px;
  padding:1.1rem;
  box-shadow:0 14px 32px rgba(28,56,50,.06);
  margin:0 0 1rem;
}
.org-map-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;}
.org-map-kicker{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);margin-bottom:.25rem;}
.org-map-head h3{margin:0;color:var(--green);font-size:22px;font-weight:950;line-height:1.12;}
.org-map-head p{margin:.35rem 0 0;color:var(--text-muted);font-size:13px;line-height:1.45;max-width:760px;}
.org-root-node{display:flex;justify-content:space-between;align-items:center;gap:.8rem;background:var(--green);color:#fff;border-radius:18px;padding:.9rem 1rem;margin-bottom:1rem;box-shadow:0 12px 30px rgba(28,56,50,.18);}
.org-root-node span{display:block;font-size:10px;font-weight:950;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.58);}
.org-root-node strong{display:block;font-size:18px;font-weight:950;letter-spacing:.02em;}
.org-root-node small{font-size:12px;font-weight:850;color:rgba(255,255,255,.72);text-align:right;}
.org-map-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1rem;align-items:start;}
.org-map-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.9rem;}
.org-team-node,.org-unassigned-zone,.org-map-empty{
  border:1px solid rgba(28,56,50,.10);background:#fff;border-radius:18px;padding:.85rem;box-shadow:0 8px 22px rgba(28,56,50,.045);
}
.org-map-empty{text-align:center;padding:1.2rem;}
.org-map-empty h4{margin:0 0 .3rem;color:var(--green);font-size:18px;}
.org-map-empty p{margin:0 0 .8rem;color:var(--text-muted);font-size:13px;line-height:1.45;}
.org-team-top{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.75rem;}
.org-team-top h4{margin:0;color:var(--green);font-size:16px;font-weight:950;}
.org-team-top p{margin:.15rem 0 0;font-size:12px;color:var(--text-muted);font-weight:750;}
.org-team-metrics{text-align:right;background:var(--off-white);border:1px solid rgba(28,56,50,.07);border-radius:14px;padding:.5rem .55rem;min-width:70px;}
.org-team-metrics span{display:block;color:var(--gold-dark);font-size:18px;line-height:1;font-weight:950;}
.org-team-metrics small{display:block;color:var(--text-muted);font-size:10px;font-weight:850;margin-top:.2rem;text-transform:uppercase;letter-spacing:.05em;}
.org-drop-zone,.org-unassigned-zone{transition:border-color .14s ease, background .14s ease, box-shadow .14s ease;}
.org-drop-zone{border:1px dashed rgba(28,56,50,.18);background:#FBFAF7;border-radius:16px;padding:.65rem;margin:.45rem 0;}
.org-drop-zone.drag-over,.org-unassigned-zone.drag-over{border-color:var(--gold)!important;background:#FFF8E3!important;box-shadow:0 0 0 3px rgba(201,163,40,.12)!important;}
.org-zone-label{font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.11em;color:rgba(28,56,50,.58);margin:0 0 .45rem;}
.org-tree-stem{width:2px;height:16px;background:rgba(28,56,50,.12);margin:.1rem auto;}
.org-member-list{display:grid;gap:.45rem;}
.org-person-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.55rem;background:#fff;border:1px solid rgba(28,56,50,.10);border-radius:14px;padding:.52rem .55rem;cursor:grab;box-shadow:0 5px 14px rgba(28,56,50,.035);}
.org-person-card:active{cursor:grabbing;}
.org-person-card.lead{background:linear-gradient(135deg,#FFF8E3 0%,#FFFFFF 100%);border-color:rgba(201,163,40,.38);}
.org-person-card.unassigned{background:#F7FBFF;}
.org-person-avatar{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:var(--green);color:#fff;font-size:11px;font-weight:950;letter-spacing:.04em;}
.org-person-card.lead .org-person-avatar{background:var(--gold);color:var(--green);}
.org-person-main{min-width:0;}
.org-person-main strong{display:block;color:var(--green);font-size:13px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.org-person-main small{display:block;color:var(--text-muted);font-size:10.5px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.1rem;}
.org-person-main em{display:block;color:rgba(28,56,50,.62);font-style:normal;font-size:10px;font-weight:850;margin-top:.15rem;}
.org-person-flag{background:var(--danger-light);color:var(--danger);font-size:10px;font-weight:900;border-radius:999px;padding:.22rem .42rem;white-space:nowrap;}
.org-empty-slot{border:1px dashed rgba(28,56,50,.18);border-radius:12px;padding:.7rem;text-align:center;color:var(--text-muted);font-size:12px;background:rgba(255,255,255,.56);}
.org-map-mobile-tools{display:none;}
.org-map-quick{border:1px solid rgba(28,56,50,.10);border-radius:16px;background:#fff;margin:0 0 .85rem;overflow:hidden;}
.org-map-quick summary{list-style:none;cursor:pointer;padding:.7rem .8rem;font-size:13px;font-weight:950;color:var(--green);display:flex;justify-content:space-between;align-items:center;}
.org-map-quick summary::-webkit-details-marker{display:none;}
.org-map-quick summary:after{content:'–';font-weight:950;color:var(--gold-dark);}
.org-map-quick:not([open]) summary:after{content:'+';}
.org-map-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:0 .8rem .8rem;}
.org-map-quick-grid label{display:block;font-size:11px;color:var(--text-muted);font-weight:900;text-transform:uppercase;letter-spacing:.06em;}
.org-map-quick-grid label span{display:block;margin:0 0 .2rem;}
.org-map-quick-grid select{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--gray-light);padding:.55rem .65rem;font-size:13px;color:var(--green);background:#fff;}
.org-map-mobile-note{border:1px solid rgba(201,163,40,.25);background:#FFF8E3;border-radius:14px;padding:.7rem .8rem;color:#47532F;font-size:12px;line-height:1.4;margin-bottom:.75rem;}

/* Make the staff-login-code page feel like one compact flow on phones. */
@media(max-width:700px){
  #tab-codes .code-wizard-intro{
    display:block!important;padding:.78rem .86rem!important;border-radius:17px!important;margin-bottom:.7rem!important;
  }
  #tab-codes .code-wizard-intro .soft-kicker{font-size:10px!important;letter-spacing:.12em!important;margin-bottom:.14rem!important;}
  #tab-codes .code-wizard-intro h3{font-size:20px!important;line-height:1.1!important;margin:.05rem 0 .25rem!important;}
  #tab-codes .code-wizard-intro p{font-size:12.5px!important;line-height:1.35!important;margin:0!important;}
  #tab-codes .wizard-mini-summary{margin-top:.45rem!important;padding:.32rem .58rem!important;font-size:11px!important;}
  #tab-codes .code-wizard-layout,
  #tab-codes .manager-side-grid,
  #tab-codes .signup-code-grid{display:block!important;grid-template-columns:1fr!important;gap:0!important;}
  #tab-codes .staff-code-builder-card,
  #tab-codes .code-wizard-card{padding:.72rem!important;border-radius:17px!important;margin-bottom:.7rem!important;}
  #tab-codes .code-wizard-progress{
    display:grid!important;grid-template-columns:repeat(6,1fr)!important;gap:.25rem!important;padding:.32rem!important;border-radius:14px!important;margin-bottom:.7rem!important;
  }
  #tab-codes .code-step-dot{min-height:42px!important;padding:.22rem .08rem!important;border-radius:12px!important;gap:.08rem!important;}
  #tab-codes .code-step-dot span{width:28px!important;height:28px!important;font-size:13px!important;}
  #tab-codes .code-step-dot small{display:none!important;}
  #tab-codes .wizard-step-pill{font-size:10px!important;padding:.34rem .58rem!important;border-radius:999px!important;margin-bottom:.45rem!important;}
  #tab-codes .code-wizard-step h3{font-size:22px!important;line-height:1.12!important;margin:.05rem 0 .28rem!important;}
  #tab-codes .wizard-step-copy{font-size:13px!important;line-height:1.4!important;margin:0 0 .65rem!important;}
  #tab-codes .wizard-choice-grid,
  #tab-codes .wizard-choice-grid.two-col{grid-template-columns:1fr!important;gap:.55rem!important;}
  #tab-codes .wizard-choice-card{min-height:0!important;padding:.72rem!important;border-radius:15px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;column-gap:.6rem!important;text-align:left!important;align-items:center!important;}
  #tab-codes .wizard-choice-card .choice-icon{font-size:20px!important;grid-row:1 / span 2!important;}
  #tab-codes .wizard-choice-card strong{font-size:14px!important;line-height:1.2!important;}
  #tab-codes .wizard-choice-card small{font-size:11.5px!important;line-height:1.3!important;margin-top:.15rem!important;}
  #tab-codes .wizard-nav-row{margin-top:.65rem!important;gap:.45rem!important;}
  #tab-codes .wizard-nav-row .btn-primary,
  #tab-codes .wizard-nav-row .btn-sm,
  #tab-codes .btn-primary{min-height:44px!important;border-radius:13px!important;font-size:13px!important;padding:.6rem .75rem!important;}
  #tab-codes .team-select-card,
  #tab-codes .extra-module-box,
  #tab-codes .onboard-summary-card{padding:.72rem!important;border-radius:15px!important;margin-bottom:.7rem!important;}
  #tab-codes .team-pill-section{margin-top:.45rem!important;}
  #tab-codes .suggested-team-chips{gap:.35rem!important;}
  #tab-codes .suggested-team-chips button,
  #tab-codes .existing-team-chips button{font-size:11.5px!important;padding:.42rem .55rem!important;border-radius:999px!important;}
  #tab-codes .form-row-2{grid-template-columns:1fr!important;gap:.5rem!important;}
  #tab-codes input,
  #tab-codes select,
  #tab-codes textarea{min-height:42px!important;border-radius:12px!important;font-size:14px!important;}
  #tab-codes .manager-side-stack{display:block!important;}
  #tab-codes .wizard-support-card{
    padding:0!important;border-radius:16px!important;margin:.55rem 0!important;overflow:hidden!important;background:#fff!important;
  }
  #tab-codes .wizard-support-card h4{font-size:15px!important;margin:0!important;padding:.72rem .8rem .15rem!important;}
  #tab-codes .wizard-support-card p{font-size:12px!important;line-height:1.35!important;margin:0!important;padding:0 .8rem .65rem!important;}
  #tab-codes .wizard-support-card > button{margin:0 .8rem .75rem!important;width:calc(100% - 1.6rem)!important;min-height:42px!important;border-radius:13px!important;}
  #tab-codes .current-codes-card{padding:.76rem!important;border-radius:17px!important;margin-top:.65rem!important;}
  #tab-codes .current-codes-card h3{font-size:17px!important;margin:0 0 .15rem!important;}
  #tab-codes .current-codes-card > p{font-size:11.5px!important;line-height:1.32!important;margin:0 0 .5rem!important;}
}

@media(max-width:760px){
  #people-map-section .org-map-card{padding:.75rem!important;border-radius:17px!important;margin-bottom:.7rem!important;}
  #people-map-section .org-map-head{display:block!important;margin-bottom:.65rem!important;}
  #people-map-section .org-map-head h3{font-size:20px!important;}
  #people-map-section .org-map-head p{font-size:12.5px!important;line-height:1.35!important;margin-top:.25rem!important;}
  #people-map-section .org-map-head .btn-gold{display:none!important;}
  .org-map-mobile-tools{display:block!important;}
  .org-map-quick-grid{grid-template-columns:1fr!important;}
  .org-root-node{padding:.7rem .78rem!important;border-radius:15px!important;margin-bottom:.65rem!important;}
  .org-root-node strong{font-size:15px!important;}
  .org-root-node small{font-size:10.5px!important;}
  .org-map-grid{grid-template-columns:1fr!important;gap:.6rem!important;}
  .org-map-teams{grid-template-columns:1fr!important;gap:.6rem!important;}
  .org-team-node,.org-unassigned-zone{padding:.62rem!important;border-radius:16px!important;}
  .org-team-top{margin-bottom:.45rem!important;}
  .org-team-top h4{font-size:15px!important;}
  .org-team-top p{font-size:11.5px!important;}
  .org-team-metrics{padding:.42rem .48rem!important;min-width:62px!important;}
  .org-team-metrics span{font-size:16px!important;}
  .org-drop-zone{padding:.52rem!important;border-radius:14px!important;margin:.38rem 0!important;}
  .org-member-list{gap:.35rem!important;}
  .org-person-card{grid-template-columns:30px minmax(0,1fr) auto!important;padding:.44rem .48rem!important;border-radius:13px!important;gap:.45rem!important;cursor:pointer!important;}
  .org-person-card[draggable="true"]{cursor:pointer!important;}
  .org-person-avatar{width:30px!important;height:30px!important;font-size:10px!important;}
  .org-person-main strong{font-size:12.5px!important;}
  .org-person-main small{font-size:10px!important;}
  .org-person-main em{font-size:9.5px!important;}
  .org-person-flag{font-size:9.5px!important;padding:.18rem .36rem!important;}
  .org-empty-slot{font-size:11.5px!important;padding:.55rem!important;}
}


/* v193 — organisation map clarity and method guidance */
.org-map-method-strip{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}
.org-map-method-strip span{display:inline-flex;align-items:center;gap:.35rem;border:1px solid rgba(28,56,50,.10);background:rgba(255,255,255,.72);border-radius:999px;padding:.34rem .55rem;font-size:11.5px;font-weight:850;color:var(--text-muted)}
.org-map-method-strip strong{color:var(--green);font-weight:950}
.org-team-node{position:relative;outline:0 solid transparent;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.org-team-node:before{content:'';position:absolute;top:-.9rem;left:50%;height:.9rem;width:2px;background:rgba(28,56,50,.10);display:none}
.org-map-teams .org-team-node:before{display:block}
.org-team-node.drag-over{border-color:var(--gold)!important;background:#FFFDF3!important;box-shadow:0 0 0 3px rgba(201,163,40,.10)!important;transform:translateY(-1px)}
.org-lead-zone{background:linear-gradient(135deg,#FFF8E3 0%,#FFFEFA 100%)}
.org-member-zone{background:#FBFAF7}
.org-empty-slot{font-weight:850}
@media(max-width:700px){.org-map-method-strip{margin-top:.45rem}.org-map-method-strip span{width:100%;justify-content:space-between;border-radius:13px}.org-map-teams .org-team-node:before{display:none}.org-team-node{transform:none!important}.org-drop-zone{min-height:58px!important}.org-empty-slot{padding:.55rem!important}}

/* v194 — clearer real organisation map */
.org-map-connector{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:-.35rem 0 .85rem;
  color:rgba(28,56,50,.58);
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.org-map-connector:before,
.org-map-connector:after{
  content:'';
  height:1px;
  flex:1;
  background:linear-gradient(90deg, transparent, rgba(28,56,50,.14));
}
.org-map-connector:after{background:linear-gradient(90deg, rgba(28,56,50,.14), transparent);}
.org-map-connector span{padding:0 .7rem;white-space:nowrap;}
.org-map-main{min-width:0;}
.org-map-column-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:.75rem;
  margin:0 0 .55rem;
  padding:0 .1rem;
}
.org-map-column-title strong{
  color:var(--green);
  font-size:13px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.org-map-column-title span{
  color:var(--text-muted);
  font-size:12px;
  line-height:1.25;
  text-align:right;
  max-width:420px;
}
.org-team-label{
  display:block;
  font-size:9.5px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(28,56,50,.48);
  margin:0 0 .18rem;
}
.org-team-node{
  border-left:4px solid rgba(201,163,40,.55)!important;
}
.org-chain-row{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:.45rem;
  align-items:center;
  margin:.52rem 0 .35rem;
  color:var(--green);
}
.org-chain-number{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(201,163,40,.16);
  color:var(--gold-dark);
  font-size:12px;
  font-weight:950;
}
.org-chain-row strong{
  display:block;
  font-size:12px;
  font-weight:950;
  line-height:1.1;
}
.org-chain-row span{
  display:block;
  margin-top:.08rem;
  color:var(--text-muted);
  font-size:11px;
  font-weight:750;
  line-height:1.2;
}
.org-tree-stem{
  display:flex!important;
  justify-content:center;
  align-items:center;
  width:100%!important;
  height:22px!important;
  margin:.1rem 0!important;
  background:none!important;
}
.org-tree-stem span,
.org-tree-stem:before{
  content:'';
  display:block;
  width:2px;
  height:22px;
  background:linear-gradient(180deg, rgba(201,163,40,.36), rgba(28,56,50,.12));
}
.org-lead-zone{border-color:rgba(201,163,40,.32)!important;}
.org-member-zone{border-color:rgba(28,56,50,.14)!important;}
.org-unassigned-zone{
  position:sticky;
  top:.75rem;
  border-left:4px solid rgba(72,116,160,.28)!important;
}
.org-unassigned-help{
  margin:-.2rem 0 .55rem;
  color:var(--text-muted);
  font-size:11.5px;
  line-height:1.35;
}
.org-drop-zone.drag-over .org-empty-slot,
.org-team-node.drag-over .org-empty-slot,
.org-unassigned-zone.drag-over .org-empty-slot{
  background:#FFF8E3!important;
  color:var(--green)!important;
  border-color:var(--gold)!important;
}

@media(max-width:760px){
  .org-map-connector{margin:-.15rem 0 .55rem;font-size:10px;}
  .org-map-connector span{padding:0 .45rem;}
  .org-map-column-title{display:block;margin-bottom:.45rem;}
  .org-map-column-title span{display:block;text-align:left;font-size:11.5px;margin-top:.15rem;}
  .org-team-node{border-left-width:3px!important;}
  .org-chain-row{grid-template-columns:22px minmax(0,1fr);gap:.38rem;margin:.42rem 0 .28rem;}
  .org-chain-number{width:22px;height:22px;font-size:11px;}
  .org-chain-row strong{font-size:11.5px;}
  .org-chain-row span{display:none;}
  .org-tree-stem{height:15px!important;}
  .org-tree-stem span,.org-tree-stem:before{height:15px;}
  .org-unassigned-zone{position:static;border-left-width:3px!important;}
  .org-unassigned-help{font-size:11px;margin:-.15rem 0 .42rem;}
}


/* v199 — senior practitioner code toggle */
.team-lead-code-toggle{display:flex;gap:.75rem;align-items:flex-start;border:1px solid rgba(28,56,50,.14);background:rgba(250,248,240,.72);border-radius:16px;padding:.85rem .95rem;margin:.65rem 0 1rem;cursor:pointer}
.team-lead-code-toggle input{width:18px;height:18px;margin-top:.15rem;accent-color:#C9A227}
.team-lead-code-toggle strong{display:block;color:var(--green);font-weight:800;font-size:.95rem;line-height:1.25}
.team-lead-code-toggle small{display:block;color:var(--text-muted);font-size:.78rem;line-height:1.35;margin-top:.2rem}
@media(max-width:700px){.team-lead-code-toggle{padding:.7rem .75rem;border-radius:14px}.team-lead-code-toggle strong{font-size:.9rem}.team-lead-code-toggle small{font-size:.74rem}}

/* v205 — explicit organisation-map save workflow */
.org-map-actions{display:flex;gap:.55rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.org-map-save-btn{background:#fffdf7;border-color:rgba(195,157,38,.45);color:var(--green);font-weight:800}
.org-map-save-status{margin:.65rem 0 0;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}
.org-map-save-status.pending{color:#9b7a00}
.org-map-save-status.success{color:var(--success)}
.org-map-save-status.warning{color:#9b4a2f;text-transform:none;letter-spacing:0;font-size:13px;line-height:1.45;background:#fff4ef;border:1px solid rgba(170,80,50,.22);border-radius:12px;padding:.6rem .75rem}
@media(max-width:700px){
  .org-map-actions{width:100%;justify-content:stretch;display:grid;grid-template-columns:1fr 1fr}
  .org-map-actions .btn-sm{width:100%;min-height:42px}
  .org-map-save-status{font-size:11px;margin-top:.5rem}
}

/* v207: Organisation map live-save through backend */
.org-map-head .org-map-save-btn{display:none!important}
.org-map-card{position:relative}
.org-map-save-panel[hidden]{display:none!important}
.org-map-save-panel{
  position:sticky;
  bottom:14px;
  margin:18px 0 0 auto;
  width:min(520px,100%);
  z-index:20;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(195,157,38,.35);
  border-radius:18px;
  background:rgba(255,253,247,.96);
  box-shadow:0 18px 45px rgba(14,45,37,.18);
  backdrop-filter:blur(10px);
}
.org-map-save-panel strong{display:block;color:var(--green);font-size:14px;line-height:1.2}
.org-map-save-panel span{display:block;color:var(--text-muted);font-size:12px;line-height:1.35;margin-top:2px}
.org-map-save-panel .btn-sm{min-height:38px;white-space:nowrap}
.org-map-save-status.success{color:var(--success);background:#f3faf6;border:1px solid rgba(44,122,82,.18);border-radius:12px;padding:.6rem .75rem;text-transform:none;letter-spacing:0;font-size:13px;line-height:1.45}
@media(max-width:700px){
  .org-map-save-panel{grid-template-columns:1fr;bottom:10px;padding:12px;border-radius:16px;margin-top:12px}
  .org-map-save-panel .btn-sm{width:100%}
}

/* v217 — senior/team-lead restricted manager chrome */
body[data-manager-scope="team_lead"] .tab[onclick*="showTab('codes')"],
body[data-manager-scope="team_lead"] .tab[onclick*="showTab('assign')"],
body[data-manager-scope="team_lead"] .app-menu-link[onclick*="showTab('codes')"],
body[data-manager-scope="team_lead"] .app-menu-link[onclick*="showTab('assign')"],
body[data-manager-scope="team_lead"] .app-menu-link[onclick*="showPeopleTeamsSection('map')"],
body[data-manager-scope="team_lead"] #tab-codes,
body[data-manager-scope="team_lead"] #tab-assign,
body[data-manager-scope="team_lead"] #people-map-section,
body[data-manager-scope="team_lead"] .people-subnav button[onclick*="showPeopleTeamsSection('map')"] {
  display:none!important;
}


/* v222 — senior/team-lead gold required-training card */
.senior-required-panel{
  margin:1.1rem 0 1.15rem;
  padding:1.1rem;
  border:1px solid rgba(195,157,38,.38);
  border-radius:24px;
  background:linear-gradient(135deg,#fff9df 0%,#fffdf5 54%,#f7f2df 100%);
  box-shadow:0 18px 48px rgba(75,58,12,.12);
}
.senior-required-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.9rem}
.senior-required-kicker{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#9b7a00;margin-bottom:.25rem}
.senior-required-head h2{margin:0;color:var(--green);font-size:1.35rem;line-height:1.15;font-weight:950}
.senior-required-head p{margin:.35rem 0 0;color:#5f5640;font-size:.92rem;line-height:1.5;max-width:720px}
.senior-required-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.75rem}
.senior-required-card{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;color:inherit;background:rgba(255,255,255,.82);border:1px solid rgba(195,157,38,.28);border-radius:18px;padding:.9rem;box-shadow:0 10px 26px rgba(39,70,64,.08);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.senior-required-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(39,70,64,.14);border-color:rgba(195,157,38,.55)}
.senior-required-card-top{display:flex;justify-content:space-between;gap:.55rem;align-items:center;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.055em;color:#9b7a00}
.senior-required-card h3{margin:0;color:var(--green);font-size:1rem;font-weight:900;line-height:1.25}
.senior-required-card p{margin:0;color:#4f4a3b;font-size:.84rem;line-height:1.42}
.senior-required-meta{margin-top:auto;padding-top:.35rem;color:var(--text-muted);font-size:.76rem;font-weight:700;line-height:1.35}
.senior-required-card.status-overdue{border-color:rgba(176,55,55,.38);background:#fff7f1}
.senior-required-card.status-retry{border-color:rgba(195,157,38,.48);background:#fffaf0}
.senior-required-card.status-completed{background:#f8fcf7;border-color:rgba(45,121,72,.25);opacity:.82}
.senior-required-empty{grid-column:1/-1;background:rgba(255,255,255,.72);border:1px dashed rgba(195,157,38,.45);border-radius:18px;padding:1rem;color:#5f5640;display:flex;flex-direction:column;gap:.25rem}
.senior-required-empty strong{color:var(--green);font-weight:900}
.senior-required-more{border:1px solid rgba(195,157,38,.35);background:#fff;color:var(--green);font-weight:900;border-radius:16px;padding:.85rem;cursor:pointer;text-align:center}
@media(max-width:760px){.senior-required-panel{padding:.9rem;border-radius:20px}.senior-required-head{display:block}.senior-required-head .btn-sm{margin-top:.75rem;width:100%}.senior-required-grid{grid-template-columns:1fr}.senior-required-head h2{font-size:1.18rem}}


/* v223 — compact senior module prompt + one-line senior stats */
body[data-manager-scope="team_lead"] .stats-row{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:.55rem !important;
}
body[data-manager-scope="team_lead"] .stats-row .stat-card:nth-child(5){display:none !important;}
.senior-required-grid{display:block;}
.senior-required-compact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(195,157,38,.34);
  border-radius:18px;
  padding:1rem 1.05rem;
  box-shadow:0 10px 26px rgba(39,70,64,.08);
}
.senior-required-compact.needs-attention{background:linear-gradient(135deg,#FFF7D6 0%,#FFFDF4 100%);border-color:rgba(195,157,38,.52);}
.senior-required-compact.complete{background:linear-gradient(135deg,#F7FCF8 0%,#FFFFFF 100%);border-color:rgba(45,122,79,.25);}
.senior-required-compact.empty{background:rgba(255,255,255,.72);border-style:dashed;}
.senior-required-compact-main{display:flex;flex-direction:column;gap:.18rem;min-width:0;}
.senior-required-compact-label{font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:#9b7a00;}
.senior-required-compact strong{font-size:1.18rem;line-height:1.2;color:var(--green);font-weight:950;}
.senior-required-compact span{font-size:.88rem;line-height:1.35;color:#5f5640;font-weight:700;}
.senior-required-cta{
  border:none;
  background:var(--gold);
  color:#fff;
  border-radius:999px;
  padding:.72rem 1rem;
  min-height:44px;
  cursor:pointer;
  font-weight:900;
  font-family:var(--font);
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(195,151,12,.22);
}
@media(max-width:700px){
  body[data-manager-scope="team_lead"] .stats-row{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:.35rem !important;}
  body[data-manager-scope="team_lead"] .stats-row .stat-card{padding:.55rem .18rem !important;min-height:66px !important;}
  body[data-manager-scope="team_lead"] .stats-row .stat-num{font-size:20px !important;}
  body[data-manager-scope="team_lead"] .stats-row .stat-label{font-size:8px !important;letter-spacing:.02em !important;}
  .senior-required-compact{align-items:stretch;flex-direction:column;padding:.9rem;border-radius:18px;gap:.75rem;}
  .senior-required-compact strong{font-size:1.03rem;}
  .senior-required-cta{width:100%;}
}
@media(max-width:360px){
  body[data-manager-scope="team_lead"] .stats-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}

/* v224: mobile dashboard tidy-up for senior/team lead view */
@media(max-width:700px){
  body[data-manager-scope="team_lead"] .manager-side-grid{grid-template-columns:1fr!important;gap:.6rem!important;margin-bottom:.75rem!important;}
  body[data-manager-scope="team_lead"] #tab-journey .manager-library-intro,
  body[data-manager-scope="team_lead"] #tab-journey .support-card{padding:.75rem!important;border-radius:14px!important;}
  body[data-manager-scope="team_lead"] #tab-journey .manager-library-intro h3{font-size:1rem!important;margin-bottom:.15rem!important;}
  body[data-manager-scope="team_lead"] #tab-journey .manager-library-intro p,
  body[data-manager-scope="team_lead"] #tab-journey .support-card p{font-size:.82rem!important;line-height:1.35!important;margin:.2rem 0!important;}
  body[data-manager-scope="team_lead"] .journey-hero-card{padding:.85rem!important;border-radius:16px!important;margin-bottom:.65rem!important;}
  body[data-manager-scope="team_lead"] .journey-hero-card h3{font-size:1.05rem!important;margin-bottom:.1rem!important;}
  body[data-manager-scope="team_lead"] .journey-hero-card p{font-size:.78rem!important;line-height:1.3!important;}
  body[data-manager-scope="team_lead"] .learning-journey-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:.35rem!important;margin-bottom:.65rem!important;}
  body[data-manager-scope="team_lead"] .learning-stat-card{padding:.5rem .18rem!important;border-radius:12px!important;min-height:58px!important;}
  body[data-manager-scope="team_lead"] .learning-stat-card .big{font-size:18px!important;}
  body[data-manager-scope="team_lead"] .learning-stat-card .small{font-size:7.5px!important;letter-spacing:.02em!important;line-height:1.1!important;margin-top:.2rem!important;}
  body[data-manager-scope="team_lead"] .journey-timeline{display:none!important;}
  body[data-manager-scope="team_lead"] .manager-badge-wall{display:flex!important;gap:.45rem!important;overflow-x:auto!important;padding:.15rem .05rem .4rem!important;scroll-snap-type:x proximity;}
  body[data-manager-scope="team_lead"] .manager-badge-wall .badge-tile{flex:0 0 82px!important;min-height:76px!important;padding:.55rem .35rem!important;border-radius:14px!important;scroll-snap-align:start;}
  body[data-manager-scope="team_lead"] .manager-badge-wall .badge-icon{font-size:20px!important;margin-bottom:.22rem!important;}
  body[data-manager-scope="team_lead"] .manager-badge-wall .badge-title{font-size:9px!important;line-height:1.05!important;}
  body[data-manager-scope="team_lead"] .manager-badge-wall .badge-status{font-size:7.5px!important;margin:.16rem 0 0!important;}
  body[data-manager-scope="team_lead"] .manager-badge-wall .badge-desc{display:none!important;}
  body[data-manager-scope="team_lead"] #tab-journey .card:has(.manager-badge-wall){padding:.75rem!important;border-radius:14px!important;}
  body[data-manager-scope="team_lead"] #tab-journey .card:has(.manager-badge-wall) h3{font-size:1rem!important;margin-bottom:.1rem!important;}
  body[data-manager-scope="team_lead"] #tab-journey .card:has(.manager-badge-wall) p{display:none!important;}
  body[data-manager-scope="team_lead"] #tab-journey .journey-list .journey-row{padding:.62rem!important;border-radius:12px!important;}
}
@media(max-width:390px){
  body[data-manager-scope="team_lead"] .learning-journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}

/* v225 — learner-style badge board for manager/senior learning journey */
.manager-badge-card{overflow:hidden}
.manager-badge-card .recent-badge-card{display:flex;align-items:center;gap:1.1rem;border-radius:18px;padding:1rem 1.1rem;margin-top:.8rem;margin-bottom:.25rem;border:1px solid rgba(28,56,50,.08)}
.recent-badge-card.tier-bronze{background:linear-gradient(135deg,#EDD9C4,#B98F65)}
.recent-badge-card.tier-silver{background:linear-gradient(135deg,#F2F4F6,#8E9BA8)}
.recent-badge-card.tier-gold{background:linear-gradient(135deg,#FCE9AE,#A67C00)}
.recent-badge-card.tier-platinum{background:linear-gradient(135deg,#FFFFFF,#7C93BE);box-shadow:0 6px 22px rgba(124,147,190,.28)}
.recent-badge-trophy{width:54px;height:54px;border-radius:50%;background:#FFFFFF;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;box-shadow:0 3px 10px rgba(0,0,0,.16);border:0;cursor:pointer}
.recent-badge-info{flex:1;min-width:0;text-align:left;background:transparent;border:0;padding:0;cursor:pointer;color:inherit;font-family:var(--font)}
.recent-badge-label{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;opacity:.75;margin-bottom:.2rem}
.recent-badge-title{font-size:1.05rem;font-weight:900;line-height:1.25;color:#1C3832}
.recent-badge-empty{background:var(--off-white);border:1.5px dashed var(--gray-mid);color:var(--text-muted);text-align:center;padding:1.1rem;border-radius:var(--radius-lg);font-size:.88rem;margin-top:.8rem}
/* v229 fix: give "See all badges" its own premium gold-gradient pill instead of the
   generic flat .btn-outline look every plain secondary button shares — matches the
   same treatment applied to dashboard.html's badge link for platform-wide consistency. */
.recent-badge-link{background:linear-gradient(135deg,#C89B5C,#E8C86A)!important;color:#3E2712!important;border:0!important;font-weight:900!important;box-shadow:0 4px 14px rgba(184,130,71,.35)!important;transition:transform .14s ease,box-shadow .14s ease!important;}
.recent-badge-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(184,130,71,.45)!important;background:linear-gradient(135deg,#E8C86A,#C89B5C)!important;text-decoration:none!important;}
.badge-tile{position:relative;overflow:hidden;appearance:none;-webkit-appearance:none;cursor:pointer;font-family:var(--font)}
.badge-tile.tier-bronze.unlocked{background:linear-gradient(155deg,#EDD9C4 0%,#D3AD86 45%,#B98F65 100%);border-color:#C0996D;opacity:1}
.badge-tile.tier-silver.unlocked{background:linear-gradient(155deg,#F2F4F6 0%,#C7CDD4 45%,#8E9BA8 100%);border-color:#A7B1BC;opacity:1}
.badge-tile.tier-gold.unlocked{background:linear-gradient(155deg,#FCE9AE 0%,#E8B93C 45%,#A67C00 100%);border-color:#C9970C;opacity:1}
.badge-tile.tier-platinum.unlocked{background:linear-gradient(155deg,#FFFFFF 0%,#DCE6F5 35%,#A9BEDE 70%,#7C93BE 100%);border-color:#8FA3C7;box-shadow:0 4px 18px rgba(124,147,190,.35);opacity:1}
.badge-tile.tier-bronze.unlocked .badge-title,.badge-tile.tier-bronze.unlocked .badge-status{color:#4A3421}
.badge-tile.tier-silver.unlocked .badge-title,.badge-tile.tier-silver.unlocked .badge-status{color:#2E3438}
.badge-tile.tier-gold.unlocked .badge-title,.badge-tile.tier-gold.unlocked .badge-status{color:#3E2E00}
.badge-tile.tier-platinum.unlocked .badge-title,.badge-tile.tier-platinum.unlocked .badge-status{color:#1E2A42}
.badge-tile.unlocked::after{content:'';position:absolute;top:-60%;left:-20%;width:60%;height:220%;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.55) 48%,transparent 66%);transform:rotate(20deg);pointer-events:none}
.badge-gallery-overlay,.badge-detail-overlay,.missing-training-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1.5rem;overflow-y:auto}
.badge-gallery-backdrop,.badge-detail-backdrop,.missing-training-backdrop{position:fixed;inset:0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:rgba(28,56,50,.62);z-index:-1}
.badge-gallery-card,.missing-training-card{background:var(--off-white);border-radius:24px;padding:2.1rem;max-width:900px;width:100%;box-shadow:0 40px 100px rgba(0,0,0,.4);position:relative;margin-bottom:2rem}
.badge-gallery-close,.missing-training-close{position:absolute;top:1.1rem;right:1.1rem;background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:.5rem;font-weight:900}
.badge-gallery-head{text-align:center;margin-bottom:1.5rem}.badge-gallery-icon{font-size:2.5rem;margin-bottom:.4rem}.badge-gallery-head h2{color:var(--green-dark);margin-bottom:.35rem}.badge-gallery-head p{color:var(--text-muted);font-size:.92rem}.manager-badge-section{margin-bottom:1.6rem}.manager-badge-section h3{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.manager-badge-section h3 small{font-size:.78rem;text-transform:none;letter-spacing:0;font-weight:800;color:var(--green)}
.badge-detail-card{background:var(--off-white);border-radius:26px;padding:2rem;max-width:420px;width:100%;box-shadow:0 40px 100px rgba(0,0,0,.42);position:relative;text-align:center;margin-top:4vh;border:2px solid rgba(28,56,50,.08)}
.badge-detail-card.tier-bronze{background:linear-gradient(155deg,#FFFBF6,#EDD9C4)}.badge-detail-card.tier-silver{background:linear-gradient(155deg,#FFFFFF,#D7DCE2)}.badge-detail-card.tier-gold{background:linear-gradient(155deg,#FFF8DA,#E8B93C)}.badge-detail-card.tier-platinum{background:linear-gradient(155deg,#FFFFFF,#DCE6F5,#A9BEDE)}.badge-detail-close{position:absolute;top:.8rem;right:.9rem;border:0;background:rgba(255,255,255,.45);border-radius:999px;width:34px;height:34px;font-size:24px;cursor:pointer}.badge-detail-icon{width:78px;height:78px;border-radius:50%;background:#FFFFFF;display:flex;align-items:center;justify-content:center;margin:0 auto .5rem;font-size:2.7rem;box-shadow:0 4px 14px rgba(28,56,50,.16)}.badge-detail-tier{font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:.5rem}.badge-detail-card h2{color:var(--green-dark);margin-bottom:.55rem}.badge-detail-card p{color:#3b3b35;line-height:1.55}.badge-detail-meta{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.badge-detail-meta span{background:rgba(255,255,255,.5);border-radius:999px;padding:.42rem .7rem;font-size:12px;font-weight:900;color:var(--green-dark)}
.missing-training-card{max-width:520px}.missing-training-card h2{color:var(--green-dark);margin-bottom:.35rem}.missing-training-card p{color:var(--text-muted);font-size:.92rem;margin-bottom:1rem}.missing-training-card label{display:block;font-weight:900;color:var(--green);font-size:.86rem;margin:.8rem 0 .28rem}.missing-training-card input,.missing-training-card textarea{width:100%;border:1px solid var(--gray-light);border-radius:10px;padding:.75rem;font-family:var(--font);font-size:14px}.missing-training-card textarea{min-height:90px;resize:vertical}.missing-training-card .btn-primary{width:100%;justify-content:center;margin-top:1rem}
@media(max-width:640px){
  .manager-badge-card p{font-size:12.5px!important;margin-bottom:.5rem!important}.manager-badge-card .recent-badge-card{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;align-items:center!important;gap:.58rem!important;padding:.62rem!important;border-radius:16px!important;min-height:58px!important}.recent-badge-trophy{width:38px!important;height:38px!important;font-size:20px!important}.recent-badge-label{font-size:8px!important;letter-spacing:.08em!important;margin:0 0 .05rem!important;line-height:1.05!important}.recent-badge-title{font-size:12.5px!important;line-height:1.1!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}.recent-badge-link{width:auto!important;min-height:38px!important;white-space:nowrap!important;padding:.48rem .62rem!important;border-radius:999px!important;font-size:0!important;background:linear-gradient(135deg,#C89B5C,#E8C86A)!important;color:#3E2712!important}.recent-badge-link::after{content:'All →';font-size:12px;font-weight:950;color:#3E2712}.badge-gallery-overlay,.badge-detail-overlay,.missing-training-overlay{padding:.8rem}.badge-gallery-card,.missing-training-card{padding:1.25rem;border-radius:18px}.badge-gallery-close,.missing-training-close{top:.55rem;right:.55rem}.badge-gallery-head{margin-bottom:.9rem}.badge-gallery-icon{font-size:2rem}.manager-badge-wall{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.42rem!important}.manager-badge-wall .badge-tile{min-height:78px!important;border-radius:14px!important;padding:.42rem .2rem!important}.manager-badge-wall .badge-icon{font-size:20px!important}.manager-badge-wall .badge-title{font-size:10px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.manager-badge-wall .badge-desc{display:none!important}.manager-badge-wall .badge-status{font-size:8px!important;line-height:1.1}.badge-detail-card{margin-top:8vh;padding:1.45rem;border-radius:20px}.badge-detail-icon{font-size:2.5rem}
}
