:root{--navy:#0b1f3a;--navy-800:#10294b;--navy-700:#16345c;--anthracite:#1f2733;--anthracite-2:#2a3441;--ink:#0e1521;--paper:#f5f7fa;--white:#ffffff;--line:#e2e8f0;--line-dark:#24303f;--electric:#2f80ed;--electric-600:#1f6fe0;--teal:#17b0a6;--teal-600:#12938b;--text:#0e1521;--text-soft:#48566a;--text-muted:#7a8699;--text-invert:#eaf1fb;--text-invert-soft:#a9bad4;--good:#17a673;--warn:#e0a325;--risk:#e0574a;--type-strategist:#2f80ed;--type-visionary:#8b5cf6;--type-builder:#17b0a6;--type-connector:#e08a3c;--type-highperformer:#e0574a;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px rgba(11,31,58,0.06),0 8px 24px rgba(11,31,58,0.06);--shadow-lg:0 12px 40px rgba(11,31,58,0.12);--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;color:var(--text);letter-spacing:-.01em}.app{display:grid;grid-template-columns:264px 1fr;min-height:100vh}.sidebar{background:var(--navy);color:var(--text-invert);padding:24px 18px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--line-dark)}.brand{display:flex;gap:12px;align-items:flex-start;margin-bottom:6px}.brand-logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--electric),var(--teal));display:grid;place-items:center;color:white;font-weight:700;flex-shrink:0}.brand-name{font-weight:700;font-size:15px;color:var(--white);line-height:1.25}.brand-sub{font-size:11px;color:var(--text-invert-soft);margin-top:2px}.nav-group{margin-top:26px}.nav-group-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;margin:0 8px 8px;font-weight:600}.nav-group-title,.nav-link{color:var(--text-invert-soft)}.nav-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:2px;transition:background .15s,color .15s}.nav-link.active,.nav-link:hover{background:var(--navy-700);color:var(--white)}.nav-link.active{box-shadow:inset 3px 0 0 var(--teal)}.nav-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.7}.sidebar-footer{margin-top:30px;padding:14px 12px;border-top:1px solid var(--line-dark);font-size:11px;color:var(--text-invert-soft);line-height:1.5}.main{min-width:0;display:flex;flex-direction:column}.topbar{background:var(--white);border-bottom:1px solid var(--line);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20}.topbar-title{font-size:18px;font-weight:700}.topbar-sub{font-size:12.5px;color:var(--text-muted)}.content{padding:28px 32px 64px;max-width:1280px;width:100%}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px 22px}.card-head{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title{font-size:15px;font-weight:700}.card-desc{font-size:12.5px;color:var(--text-muted);margin-top:2px}.grid{display:grid;grid-gap:18px;gap:18px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1100px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.app{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.kpi-label{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.kpi-value{font-size:30px;font-weight:700;margin-top:6px;letter-spacing:-.02em}.kpi-foot{margin-top:4px}.badge,.kpi-foot{font-size:12px;color:var(--text-soft)}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-weight:600;background:var(--paper);border:1px solid var(--line)}.badge-dot{width:8px;height:8px;border-radius:50%}.badge.good{background:rgba(23,166,115,.1);color:var(--good);border-color:rgba(23,166,115,.25)}.badge.warn{background:rgba(224,163,37,.12);color:#b07d10;border-color:rgba(224,163,37,.3)}.badge.risk{background:rgba(224,87,74,.1);color:var(--risk);border-color:rgba(224,87,74,.28)}.badge.accent{background:rgba(47,128,237,.1);color:var(--electric-600);border-color:rgba(47,128,237,.25)}.pill{display:inline-block;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:600;color:white}.scorebar{display:flex;align-items:center;gap:10px;margin:7px 0}.scorebar-label{width:108px;font-size:12.5px;color:var(--text-soft);flex-shrink:0}.scorebar-track{flex:1 1;height:8px;background:var(--paper);border-radius:999px;overflow:hidden;border:1px solid var(--line)}.scorebar-fill{height:100%;border-radius:999px}.scorebar-value{width:34px;text-align:right;font-size:12.5px;font-weight:600;color:var(--text-soft)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--line);background:var(--white);color:var(--text);transition:all .15s}.btn:hover{color:var(--electric-600)}.btn-primary,.btn:hover{border-color:var(--electric)}.btn-primary{background:var(--electric);color:white}.btn-primary:hover{background:var(--electric-600);color:white}.btn-teal{background:var(--teal);border-color:var(--teal);color:white}.btn-teal:hover{background:var(--teal-600);color:white}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-soft)}.btn-sm{padding:7px 12px;font-size:13px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:22px}.tab{padding:11px 16px;font-size:13.5px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--electric-600);border-bottom-color:var(--electric)}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:600;color:var(--text-soft);margin-bottom:6px}.input,.select,.textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px;font-family:inherit;background:var(--white);color:var(--text)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--electric);box-shadow:0 0 0 3px rgba(47,128,237,.12)}.textarea{resize:vertical;min-height:84px}.member-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:white;font-weight:700;font-size:14px;flex-shrink:0}.member-head{display:flex;gap:12px;align-items:center}.member-name{font-weight:700;font-size:14.5px}.member-role{font-size:12px;color:var(--text-muted)}.table{width:100%;border-collapse:collapse;font-size:13px}.table td,.table th{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line)}.table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:700}.matrix-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}.matrix{border-collapse:collapse;font-size:12px;min-width:900px}.matrix td,.matrix th{border:1px solid var(--line);padding:0;text-align:center}.matrix thead th{background:var(--navy);color:var(--text-invert);font-size:10.5px;font-weight:600;padding:8px 6px;vertical-align:bottom;top:0}.matrix tbody th,.matrix thead th{position:-webkit-sticky;position:sticky}.matrix tbody th{background:var(--paper);text-align:left;padding:8px 12px;font-weight:700;color:var(--text);white-space:nowrap;left:0;z-index:1}.matrix-cell{width:100%;height:100%;padding:9px 4px;cursor:pointer;font-weight:700;font-size:11px;transition:filter .12s}.matrix-cell:hover{filter:brightness(.94)}.fit-high{background:rgba(23,166,115,.16);color:#0d7a52}.fit-medium{background:rgba(224,163,37,.16);color:#9a6c0c}.fit-risk{background:rgba(224,87,74,.14);color:#b23a2f}.overlay{position:fixed;inset:0;background:rgba(11,31,58,.35);z-index:40;display:flex;justify-content:flex-end}.panel{width:460px;max-width:92vw;background:var(--white);height:100%;overflow-y:auto;box-shadow:var(--shadow-lg);animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translateX(30px);opacity:.6}to{transform:translateX(0);opacity:1}}.panel-head{border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:var(--white)}.panel-body,.panel-head{padding:20px 22px}.panel-section{margin-bottom:18px}.panel-section h4{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:6px}.stack{flex-direction:column;gap:18px}.row,.stack{display:flex}.row{gap:10px;align-items:center;flex-wrap:wrap}.muted{color:var(--text-muted)}.soft{color:var(--text-soft)}.sep{height:1px;background:var(--line);margin:16px 0}.list-clean{margin:0;padding-left:18px}.list-clean li{margin:4px 0}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.callout{background:linear-gradient(135deg,rgba(47,128,237,.06),rgba(23,176,166,.06));border:1px solid rgba(47,128,237,.18);border-radius:var(--radius);padding:16px 18px}.callout-risk{background:rgba(224,87,74,.06);border-color:rgba(224,87,74,.22)}.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px}.donut-legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.legend-swatch{width:12px;height:12px;border-radius:3px}.pre{white-space:pre-wrap;font-family:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-size:13.5px;line-height:1.6;color:var(--text)}.hero{background:linear-gradient(135deg,var(--navy),var(--anthracite));color:var(--text-invert);border-radius:var(--radius);padding:28px 30px}.hero h1{color:white;font-size:24px}.hero p{color:var(--text-invert-soft);margin:8px 0 0;max-width:720px}.step-num{width:22px;height:22px;border-radius:50%;background:var(--electric);color:white;font-size:12px;font-weight:700;display:inline-grid;place-items:center;flex-shrink:0}.chat{display:flex;flex-direction:column;gap:14px;padding:8px 2px;min-height:320px}.bubble{max-width:80%;padding:12px 15px;border-radius:14px;font-size:14px;white-space:pre-wrap;line-height:1.55}.bubble.user{align-self:flex-end;background:var(--electric);color:white;border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:4px}.quick-prompts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.quick-prompt{padding:7px 13px;border:1px solid var(--line);border-radius:999px;font-size:12.5px;cursor:pointer;background:var(--white);color:var(--text-soft);transition:all .15s}.quick-prompt:hover{border-color:var(--electric);color:var(--electric-600)}.likert{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.likert-opt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;transition:all .12s;text-align:center}.likert-opt.active,.likert-opt:hover{border-color:var(--electric)}.likert-opt.active{background:rgba(47,128,237,.08);box-shadow:0 0 0 2px rgba(47,128,237,.15)}.likert-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--paper);color:var(--text-soft)}.likert-opt.active .likert-num{background:var(--electric);color:white}.likert-label{font-size:10.5px;color:var(--text-muted);line-height:1.25}@media (max-width:620px){.likert-label{display:none}}.print-only{display:none}@media print{.no-print,.sidebar,.topbar{display:none!important}.app{display:block}.content{padding:0;max-width:none}body{background:white;font-size:12px}.report-page{page-break-after:always;padding:24px 8px}.card{box-shadow:none;border-color:#ccc}.print-only{display:block}}