:root, [data-theme="dark"] {
  --hh-dark: #0C1110;
  --hh-dark-card: #1A2220;
  --hh-dark-line: #263330;
  --hh-sage: #7C938D;
  --hh-sage-dk: #697C76;
  --hh-sage-lt: #A0B0AC;
  --hh-cream: #FDF7FA;
  --hh-success: #27AE60;
  --hh-error: #C0392B;
  --hh-warning: #F5A623;
  --hh-text: #F2F5F4;
  --hh-text-muted: #A0B0AC;
  --hh-bg: var(--hh-dark);
  --hh-bg-card: var(--hh-dark-card);
  --hh-border: var(--hh-dark-line);
  --hh-accent: var(--hh-sage);
  --hh-mid: #131918;
  --hh-text-70: rgba(242,245,244,.70);
  --hh-text-45: rgba(242,245,244,.45);
  --hh-text-25: rgba(242,245,244,.25);
  --font: Helvetica, 'Helvetica Neue', Arial, sans-serif;
  --radius: 12px;
  --hh-nav-bg: #0e1614;
  --hh-on-accent: #FFFFFF;
  --hh-success-tint: #BCE8C9;
  --hh-error-tint: #F2B9B9;
  --sim-bg: #F4F6F5;
  --sim-panel: #FFFFFF;
  --sim-border: #E8EEEC;
  --sim-text: #0C1110;
  --sim-text-muted: #5A6B65;
  --sim-accent: #697C76;
  --sim-nav-active-bg: #F0F4F3;
  --sim-warning-bg: #FFF3E0;
  --sim-warning: #E65100;
  --sim-success-bg: #E8F5EE;
  --sim-success: #2E7D55;
}
[data-theme="light"] {
  --hh-bg: var(--hh-cream);
  --hh-bg-card: #FFFFFF;
  --hh-border: #D0D7E2;
  --hh-text: #1B2A4A;
  --hh-text-muted: #4A5568;
  --hh-mid: #F4F6F5;
  --hh-text-70: rgba(27,42,74,.75);
  --hh-text-45: rgba(27,42,74,.50);
  --hh-text-25: rgba(27,42,74,.28);
  --hh-nav-bg: #FFFFFF;
}
*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:var(--hh-bg);color:var(--hh-text);font-family:var(--font);overflow-x:hidden}body:after{content:'';position:fixed;right:-80px;top:50%;transform:translateY(-50%);width:68vh;height:68vh;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 115"><polygon points="10,5 35,5 35,50 65,50 65,5 90,5 90,110 65,110 65,65 35,65 35,110 10,110" fill="%237C938D"/></svg>') center/contain no-repeat;opacity:.07;mix-blend-mode:screen;pointer-events:none;z-index:0}.app-shell{position:relative;z-index:1;min-height:100vh}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--hh-text-45)}.spinner{width:28px;height:28px;border:2px solid var(--hh-border);border-top-color:var(--hh-accent);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
nav{height:56px;background:var(--hh-nav-bg);border-bottom:1px solid var(--hh-border);display:flex;align-items:center;padding:0 28px;gap:14px;position:sticky;top:0;z-index:50}.nav-back{display:flex;align-items:center;gap:7px;text-decoration:none;opacity:.68;color:var(--hh-accent);font-size:12px;font-weight:700;letter-spacing:.05em}.nav-back:hover{opacity:1}.divider{width:1px;height:18px;background:var(--hh-border)}.brand{font-size:12px;font-weight:700;letter-spacing:.06em}.brand span{color:var(--hh-accent)}.nav-spacer{flex:1}.nav-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--hh-text-25)}.badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:4px 8px;border:1px solid var(--hh-border);color:var(--hh-text-45)}.badge.demo{border-color:rgba(200,133,74,.4);color:var(--hh-warning);background:rgba(200,133,74,.1)}.avatar{width:30px;height:30px;border-radius:50%;background:var(--hh-accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}
.layout{display:grid;grid-template-columns:290px 1fr;gap:24px;max-width:1460px;margin:0 auto;padding:28px}.sidebar{height:calc(100vh - 112px);position:sticky;top:84px;background:rgba(26,34,32,.88);border:1px solid var(--hh-border);border-radius:var(--radius);padding:18px;overflow:auto}.side-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--hh-accent);margin-bottom:14px}.course-card{border:1px solid var(--hh-border);background:var(--hh-mid);border-radius:10px;padding:14px;margin-bottom:12px;cursor:pointer}.course-card.active{border-color:var(--hh-accent);box-shadow:0 0 0 1px rgba(124,147,141,.3)}.course-name{font-size:14px;font-weight:700}.course-meta{font-size:12px;color:var(--hh-text-45);margin-top:6px;line-height:1.4}.progress-bar{height:7px;border-radius:8px;background:var(--hh-border);overflow:hidden;margin-top:12px}.progress-fill{height:100%;background:var(--hh-accent);width:0;transition:.2s}.side-actions{display:grid;gap:8px;margin-top:16px}
.main{min-width:0}.hero{background:linear-gradient(135deg,rgba(26,34,32,.96),rgba(19,25,24,.94));border:1px solid var(--hh-border);border-radius:18px;padding:28px;margin-bottom:20px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--hh-accent);margin-bottom:10px}.hero h1{font-size:32px;letter-spacing:-.03em;line-height:1.05}.hero p{font-size:15px;line-height:1.6;color:var(--hh-text-70);max-width:860px;margin-top:12px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.btn{border:none;border-radius:8px;padding:10px 16px;font-size:13px;font-weight:700;letter-spacing:.03em;cursor:pointer;font-family:var(--font);transition:.15s;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-primary{background:var(--hh-accent);color:var(--hh-on-accent)}.btn-primary:hover{background:var(--hh-sage-dk)}.btn-ghost{background:transparent;color:var(--hh-text-70);border:1px solid var(--hh-border)}.btn-ghost:hover{border-color:var(--hh-accent);color:var(--hh-text)}.btn-danger{background:var(--hh-error);color:var(--hh-on-accent)}.btn-small{padding:7px 10px;font-size:11px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.metric{background:var(--hh-bg-card);border:1px solid var(--hh-border);border-radius:12px;padding:16px}.metric-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--hh-text-45)}.metric-value{font-size:30px;font-weight:700;margin-top:8px}.metric-sub{font-size:12px;color:var(--hh-text-45);margin-top:5px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:20px;align-items:start}.panel{background:var(--hh-bg-card);border:1px solid var(--hh-border);border-radius:14px;overflow:hidden}.pathway-panel{position:sticky;top:84px}.panel-head{padding:16px 18px;border-bottom:1px solid var(--hh-border);display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-title{font-size:14px;font-weight:700}.panel-sub{font-size:12px;color:var(--hh-text-45);margin-top:3px}.panel-body{padding:18px}.module{border:1px solid var(--hh-border);border-radius:12px;padding:16px;margin-bottom:12px;background:var(--hh-mid)}.module.done{border-color:rgba(92,184,122,.45)}.module.current{border-color:var(--hh-accent);box-shadow:0 0 0 1px rgba(124,147,141,.26)}.module.locked{opacity:.45}.module-row{display:flex;gap:14px;align-items:flex-start}.module-number{width:34px;height:34px;border-radius:50%;background:var(--hh-border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--hh-text-70);flex-shrink:0}.module.done .module-number{background:var(--hh-success);color:var(--hh-on-accent)}.module.current .module-number{background:var(--hh-accent);color:var(--hh-on-accent)}.module h3{font-size:16px;margin-bottom:6px}.module p{font-size:13px;color:var(--hh-text-70);line-height:1.55}.module-action{margin-top:10px;padding:10px 12px;border-radius:9px;background:rgba(124,147,141,.10);border:1px solid rgba(124,147,141,.24);font-size:12px;color:var(--hh-text-70);line-height:1.45}.module-action strong{color:var(--hh-accent);display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px}.module-cta{margin-top:12px;display:flex;justify-content:space-between;align-items:center;gap:10px}.module-state{font-size:11px;color:var(--hh-text-45);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--hh-border);color:var(--hh-text-45);padding:4px 8px;border-radius:999px}.lesson-title{font-size:24px;letter-spacing:-.02em;margin-bottom:10px}.lesson-copy{font-size:15px;color:var(--hh-text-70);line-height:1.7;margin-bottom:18px}.callout{border-left:3px solid var(--hh-accent);background:rgba(124,147,141,.1);padding:14px 16px;border-radius:8px;margin:16px 0;color:var(--hh-text-70);line-height:1.55}.choice{border:1px solid var(--hh-border);background:var(--hh-mid);border-radius:10px;padding:14px;margin:10px 0;cursor:pointer}.choice:hover{border-color:var(--hh-accent)}.choice.correct{border-color:var(--hh-success);background:rgba(92,184,122,.12)}.choice.wrong{border-color:var(--hh-error);background:rgba(200,74,74,.12)}.choice strong{display:block;font-size:14px;margin-bottom:5px}.choice span{font-size:13px;color:var(--hh-text-70);line-height:1.4}.feedback{display:none;margin-top:12px;border-radius:8px;padding:12px;font-size:13px;line-height:1.55}.feedback.show{display:block}.feedback.ok{background:rgba(92,184,122,.12);border:1px solid rgba(92,184,122,.35);color:var(--hh-success-tint)}.feedback.bad{background:rgba(200,74,74,.12);border:1px solid rgba(200,74,74,.35);color:var(--hh-error-tint)}
.app-sim{border:1px solid var(--hh-border);border-radius:12px;overflow:hidden;background:var(--sim-bg);color:var(--sim-text);margin:18px 0}.sim-top{height:42px;background:var(--sim-panel);border-bottom:1px solid var(--sim-border);display:flex;align-items:center;padding:0 14px;gap:8px}.sim-logo{width:26px;height:26px;background:var(--sim-accent);border-radius:6px;color:var(--hh-on-accent);display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.sim-body{display:grid;grid-template-columns:150px 1fr;min-height:260px}.sim-nav{background:var(--sim-panel);border-right:1px solid var(--sim-border);padding:12px 0}.sim-nav button{display:block;width:100%;text-align:left;background:transparent;border:0;font-family:var(--font);font-size:12px;color:var(--sim-text-muted);padding:8px 14px;border-left:2px solid transparent;cursor:pointer}.sim-nav button.active{background:var(--sim-nav-active-bg);border-left-color:var(--sim-accent);color:var(--sim-accent);font-weight:700}.sim-main{padding:16px}.sim-card{background:var(--sim-panel);border:1px solid var(--sim-border);border-radius:10px;margin-bottom:10px;padding:12px}.sim-card h4{font-size:13px;margin-bottom:6px}.sim-card p{font-size:12px;color:var(--sim-accent)}.sim-btn{font-size:11px;padding:6px 10px;border-radius:6px;border:0;background:var(--sim-accent);color:var(--hh-on-accent);cursor:pointer;margin-right:6px}.sim-btn.secondary{background:var(--sim-warning)}.status{display:inline-flex;font-size:10px;font-weight:700;text-transform:uppercase;border-radius:999px;padding:4px 8px}.pending{background:var(--sim-warning-bg);color:var(--sim-warning)}.approved{background:var(--sim-success-bg);color:var(--sim-success)}.certificate{border:1px solid var(--hh-accent);border-radius:16px;padding:24px;text-align:center;background:linear-gradient(135deg,rgba(124,147,141,.18),rgba(26,34,32,.9));display:none}.certificate.show{display:block}.cert-title{font-size:13px;color:var(--hh-accent);font-weight:700;text-transform:uppercase;letter-spacing:.12em}.cert-name{font-size:26px;font-weight:700;margin:12px 0}.cert-course{font-size:15px;color:var(--hh-text-70)}.small{font-size:12px;color:var(--hh-text-45);line-height:1.5}.hidden{display:none!important}
.lm-actions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.management-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.lm-table{width:100%;border-collapse:collapse;min-width:850px}.lm-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--hh-accent);padding:10px;text-align:left;border-bottom:1px solid var(--hh-border)}.lm-table td{font-size:13px;padding:12px 10px;border-bottom:1px solid rgba(242,245,244,.07);color:var(--hh-text-70)}.lm-name{font-weight:700;color:var(--hh-text)}.lm-role{font-size:11px;color:var(--hh-text-45);margin-top:3px}.lm-progress{display:flex;align-items:center;gap:8px}.lm-progress-track{height:7px;width:120px;background:var(--hh-border);border-radius:999px;overflow:hidden}.lm-progress-fill{height:100%;background:var(--hh-accent)}.lm-status{font-size:10px;font-weight:700;border-radius:999px;padding:4px 8px;text-transform:uppercase;letter-spacing:.06em}.lm-certified{background:rgba(92,184,122,.14);color:var(--hh-success)}.lm-progressing{background:rgba(200,133,74,.14);color:var(--hh-warning)}.lm-notstarted{background:rgba(242,245,244,.08);color:var(--hh-text-45)}.lm-risk{color:var(--hh-warning)!important;font-weight:700}.management-note{font-size:12px;color:var(--hh-text-45);line-height:1.55;margin-top:14px}.presentation .layout{max-width:1680px}.presentation body,.presentation .lesson-copy,.presentation .module p{font-size:115%}@media (max-width:1100px){.layout{grid-template-columns:1fr}.sidebar,.pathway-panel{position:static;height:auto}.content-grid{grid-template-columns:1fr}.metrics,.management-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){nav{padding:0 14px}.layout{padding:16px}.metrics,.management-grid{grid-template-columns:1fr}.hero h1{font-size:26px}.sim-body{grid-template-columns:1fr}.sim-nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid var(--sim-border)}.sim-nav button{white-space:nowrap;width:auto}.nav-label{display:none}}

/* Toast container + hhToast() styles */
#hh-toast-container{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.hh-toast{pointer-events:auto;background:var(--hh-bg-card);border:1px solid var(--hh-border);color:var(--hh-text);border-radius:10px;padding:12px 16px;font-size:13px;font-family:var(--font);box-shadow:0 12px 40px rgba(0,0,0,.35);min-width:220px;text-align:center}
.hh-toast-info{border-color:var(--hh-accent)}
.hh-toast-success{border-color:var(--hh-success);color:var(--hh-success)}
.hh-toast-warning{border-color:var(--hh-warning);color:var(--hh-warning)}
.hh-toast-error{border-color:var(--hh-error);color:var(--hh-error)}
