:root{--ink:#0f172a;--ink-soft:#1e293b;--brand:#2563eb;--brand-strong:#1d4ed8;--brand-tint:#eff6ff;--gold:#d97706;--gold-strong:#b45309;--gold-tint:#fffbeb;--paper:#f6f7f9;--surface:#fff;--surface-sunken:#eef1f5;--border:#e2e5eb;--border-strong:#cbd1db;--text:#101828;--text-muted:#5c6479;--text-faint:#98a1b3;--text-on-ink:#f8fafc;--text-on-ink-muted:#94a3b8;--success:#15803d;--success-tint:#ecfdf3;--warning:#b45309;--warning-tint:#fffbeb;--danger:#b91c1c;--danger-tint:#fef2f2;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-sm:7px;--radius-md:10px;--radius-lg:14px;--shell-max:900px;--chat-max:720px;--shadow-card:0 1px 2px #1018280d, 0 1px 3px #1018280f;--shadow-float:0 12px 28px -10px #10182838}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{font-family:var(--font-ui);background:var(--paper);color:var(--text);margin:0;font-size:15px;line-height:1.5}button,input,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:no-preference){.sector-card,.dimension-card__bar-fill{transition:border-color .15s,background-color .15s,box-shadow .15s}.dimension-card__bar-fill{transition-property:width;transition-duration:.6s;transition-timing-function:cubic-bezier(.16,1,.3,1)}}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1.5rem;padding:.8rem 1.5rem;display:flex}.app-brand{align-items:center;gap:.55rem;display:flex}.app-brand__mark{background:var(--brand);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.app-brand__mark svg{width:17px;height:17px}.app-header h1{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.1rem;font-weight:700}.app-nav{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.app-nav__user{color:var(--text-muted);border-right:1px solid var(--border);align-items:center;gap:.45rem;margin-right:.15rem;padding-right:.6rem;display:flex}.app-nav button.link-button{color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:7px;padding:.4rem .8rem;font-size:.83rem;font-weight:600;text-decoration:none}.app-nav button.link-button:hover{background:var(--surface-sunken);color:var(--ink)}.app-main{width:100%;max-width:var(--shell-max);flex:1;margin:0 auto;padding:1.75rem 1.5rem 3rem}.app-shell--boot{justify-content:center;align-items:center}.spinner-row{color:var(--text-muted);align-items:center;gap:.6rem;padding:.5rem 0;font-size:.9rem;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.muted-text{color:var(--text-muted)}.error-text{color:var(--danger);background:var(--danger-tint);border-radius:var(--radius-sm);border:1px solid #fecaca;margin-top:.6rem;padding:.6rem .85rem;font-size:.88rem}.auth-page{text-align:center;flex-direction:column;gap:1rem;max-width:380px;margin:2.5rem auto 0;display:flex}.auth-journey{justify-content:center;align-items:center;margin:0 auto;display:flex}.auth-journey__step{align-items:center;display:flex}.auth-journey__icon{background:var(--brand-tint);width:40px;height:40px;color:var(--brand-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-journey__icon svg{width:19px;height:19px}.auth-journey__line{background:var(--border-strong);width:22px;height:1px;margin:0 .15rem}.auth-page__eyebrow{color:var(--brand-strong);margin:0;font-size:.95rem;font-weight:600}.intro-text{color:var(--text-muted);margin:0 0 1rem}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;box-shadow:var(--shadow-card);flex-direction:column;gap:.9rem;padding:1.5rem;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:600;display:flex}.auth-form input{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.62rem .75rem}.auth-form input:focus-visible{border-color:var(--brand)}.auth-form button{font:inherit;background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin-top:.3rem;padding:.7rem 1.1rem;font-weight:700}.auth-form button:hover:not(:disabled){background:var(--brand-strong)}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.hint-text{color:var(--text-faint);margin:0;font-size:.78rem}.link-button{color:var(--brand-strong);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.sector-select__heading{color:var(--ink);letter-spacing:-.01em;margin:0 0 .3rem;font-size:1.35rem;font-weight:700}.sector-select__sub{color:var(--text-muted);margin:0 0 1.5rem}.sector-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;display:grid}.sector-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font:inherit;box-shadow:var(--shadow-card);align-items:flex-start;gap:.85rem;padding:1.1rem;display:flex}.sector-card:hover:not(:disabled){border-color:var(--brand);box-shadow:0 4px 12px -2px #2563eb26}.sector-card:disabled{opacity:.55;cursor:not-allowed}.sector-card__icon{border-radius:var(--radius-sm);background:var(--brand-tint);width:42px;height:42px;color:var(--brand-strong);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sector-card__icon svg{width:22px;height:22px}.sector-card h3{color:var(--ink);margin:0 0 .3rem;font-size:1rem;font-weight:700}.sector-card p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.45}.chat-page{max-width:var(--chat-max);flex-direction:column;gap:.9rem;margin:0 auto;display:flex}.stage-stepper{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:center;padding:.75rem 1rem;display:flex}.stage-stepper__item{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.stage-stepper__dot{background:var(--surface-sunken);width:24px;height:24px;color:var(--text-faint);border:1px solid var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.stage-stepper__label{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:600;overflow:hidden}.stage-stepper__connector{background:var(--border-strong);flex:.6;height:1px;margin:0 .35rem}.stage-stepper__item--done .stage-stepper__dot{background:var(--success);border-color:var(--success);color:#fff}.stage-stepper__item--done .stage-stepper__label{color:var(--text-muted)}.stage-stepper__item--current .stage-stepper__dot{background:var(--brand);border-color:var(--brand);color:#fff}.stage-stepper__item--current .stage-stepper__label{color:var(--ink)}.coach-tip{background:var(--brand-tint);border-radius:var(--radius-md);border:1px solid #bfdbfe;align-items:flex-start;gap:.6rem;padding:.7rem .9rem;display:flex}.coach-tip__icon{width:20px;height:20px;color:var(--brand-strong);flex-shrink:0;margin-top:.1rem}.coach-tip__icon svg{width:100%;height:100%}.coach-tip p{color:var(--ink-soft);margin:0;font-size:.86rem;line-height:1.5}.coach-tip strong{color:var(--brand-strong)}.chat-meta{align-items:center;gap:.7rem;padding:0 .15rem;display:flex}.chat-meta__info{flex-direction:column;min-width:0;display:flex}.chat-meta__name{color:var(--ink);font-size:.92rem;font-weight:700}.chat-meta__role{color:var(--text-muted);font-size:.8rem}.voice-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);white-space:nowrap;align-items:center;gap:.35rem;margin-left:auto;font-size:.82rem;display:flex}.voice-toggle input{accent-color:var(--brand);cursor:pointer;width:15px;height:15px}.chat-turns{flex-direction:column;gap:.7rem;min-height:200px;padding-bottom:5.5rem;display:flex}.chat-row{align-items:flex-end;gap:.55rem;display:flex}.chat-row--advisor{justify-content:flex-end}.chat-bubble{border-radius:var(--radius-md);max-width:78%;padding:.6rem .85rem}.chat-bubble p{white-space:pre-wrap;margin:0;line-height:1.48}.chat-bubble--customer{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-bottom-left-radius:4px}.chat-bubble--advisor{background:var(--brand);color:#fff;border-bottom-right-radius:4px}.chat-bubble--pending{color:var(--text-faint);font-style:italic}.chat-bubble--pending p{align-items:center;gap:.3rem;display:flex}.typing-dots{gap:3px;display:inline-flex}.typing-dots span{opacity:.5;background:currentColor;border-radius:50%;width:5px;height:5px;animation:1.1s ease-in-out infinite typing-bounce}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}.chat-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);gap:.55rem;padding:.6rem;display:flex;position:sticky;bottom:.75rem}.chat-form textarea{font:inherit;resize:none;color:var(--text);background:0 0;border:none;flex:1;padding:.45rem .55rem}.chat-form textarea:focus-visible{outline:none}.chat-form__actions{align-items:flex-end;gap:.4rem;display:flex}.chat-form button{font:inherit;background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;border:none;padding:.6rem 1.15rem;font-weight:700}.chat-form button:hover:not(:disabled){background:var(--brand-strong)}.chat-form .mic-button{background:var(--surface-sunken);color:var(--brand-strong);padding:.6rem .75rem}.chat-form .mic-button--active{background:var(--danger);color:#fff}.chat-form button:disabled{opacity:.55;cursor:not-allowed}.report-page{flex-direction:column;gap:1.5rem;display:flex}.report-hero{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--brand);color:var(--text);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem 2.5rem;padding:1.75rem 2rem;display:flex}.report-hero__persona{flex:1;min-width:220px}.report-hero__persona-head{align-items:center;gap:.7rem;margin-bottom:.9rem;display:flex}.report-hero__persona-name{color:var(--ink);letter-spacing:-.01em;margin:0 0 .1rem;font-size:1.45rem;font-weight:700}.report-hero__persona-role{color:var(--text-muted);margin:0;font-size:.9rem}.report-hero__summary{color:var(--text-muted);max-width:46ch;margin:0;font-size:.92rem;line-height:1.6}.report-hero__score{text-align:center;flex-shrink:0}.report-hero__score-num{color:var(--brand);letter-spacing:-.02em;font-size:3.4rem;font-weight:800;line-height:1}.report-hero__score-num span{color:var(--text-faint);font-size:1.3rem;font-weight:600}.report-hero__score-label{color:var(--text-muted);margin:.3rem 0 0;font-size:.8rem;font-weight:600}.report-lists{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.report-section-intro{margin-top:.25rem}.report-section-intro h3{color:var(--ink);letter-spacing:-.01em;margin:0 0 .3rem;font-size:1.1rem;font-weight:700}.report-section-intro p{color:var(--text-muted);max-width:68ch;margin:0;font-size:.9rem;line-height:1.55}.report-list-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.1rem 1.25rem}.report-list-card h3{color:var(--ink);margin:0 0 .6rem;font-size:.95rem;font-weight:700}.report-list-card ul{color:var(--text);flex-direction:column;gap:.4rem;margin:0;padding-left:1.1rem;font-size:.9rem;line-height:1.45;display:flex}.report-list-card--strengths{border-left:3px solid var(--success)}.report-list-card--improvements{border-left:3px solid var(--gold)}.dimension-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.dimension-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.1rem 1.25rem}.dimension-card--strong{border-left-color:var(--success)}.dimension-card--developing{border-left-color:var(--gold)}.dimension-card--needs-work{border-left-color:var(--danger)}.dimension-card__header{align-items:center;gap:.55rem;margin-bottom:.6rem;display:flex}.dimension-card__header h4{color:var(--ink);flex:1;margin:0;font-size:.98rem;font-weight:700}.dimension-card__icon{background:var(--paper);width:30px;height:30px;color:var(--text-muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dimension-card__icon svg{width:16px;height:16px}.dimension-card--strong .dimension-card__icon{color:var(--success)}.dimension-card--developing .dimension-card__icon{color:var(--gold-strong)}.dimension-card--needs-work .dimension-card__icon{color:var(--danger)}.dimension-card__score{letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.dimension-card--strong .dimension-card__score{color:var(--success)}.dimension-card--developing .dimension-card__score{color:var(--gold-strong)}.dimension-card--needs-work .dimension-card__score{color:var(--danger)}.dimension-card__bar{background:var(--surface-sunken);border-radius:3px;height:6px;margin:0 0 .75rem;overflow:hidden}.dimension-card__bar-fill{border-radius:3px;height:100%}.dimension-card--strong .dimension-card__bar-fill{background:var(--success)}.dimension-card--developing .dimension-card__bar-fill{background:var(--gold)}.dimension-card--needs-work .dimension-card__bar-fill{background:var(--danger)}.dimension-card__feedback{margin:0 0 .6rem;font-size:.9rem;line-height:1.5}.dimension-card__quote{background:var(--paper);border-left:3px solid var(--border-strong);color:var(--text-muted);border-radius:0 6px 6px 0;margin:0 0 .6rem;padding:.5rem .7rem;font-size:.86rem;font-style:italic}.dimension-card__better{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.5}.dimension-card__better strong{color:var(--text)}.restart-button{font:inherit;background:var(--brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-self:flex-start;padding:.65rem 1.3rem;font-weight:700}.restart-button:hover{background:var(--brand-strong)}.history-page{flex-direction:column;gap:.9rem;display:flex}.history-page h3{color:var(--ink);margin:.6rem 0 0;font-size:1.05rem;font-weight:700}.trend-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:1.1rem 1.25rem}.trend-chart__legend{color:var(--text-muted);flex-wrap:wrap;gap:.4rem 1.1rem;margin-bottom:.7rem;font-size:.8rem;font-weight:600;display:flex}.trend-chart__legend-item{align-items:center;gap:.35rem;display:inline-flex}.trend-chart__dot{border-radius:50%;width:8px;height:8px;display:inline-block}.trend-chart__svg{width:100%;height:auto;display:block}.trend-chart__baseline{stroke:var(--border);stroke-width:1px}.trend-chart__xaxis{color:var(--text-faint);justify-content:space-between;margin-top:.3rem;padding:0 12px;font-size:.72rem;display:flex}.history-list{flex-direction:column;gap:.6rem;display:flex}.history-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:.9rem 1.1rem}.history-item__header{color:var(--ink);justify-content:space-between;margin-bottom:.4rem;font-size:.88rem;font-weight:700;display:flex}.history-item__date{color:var(--text-faint);font-weight:500}.history-item__summary{color:var(--text-muted);margin:0 0 .6rem;font-size:.88rem;line-height:1.5}.history-item__scores{flex-wrap:wrap;gap:.4rem .6rem;display:flex}.history-item__score{color:var(--text-muted);background:var(--paper);border-radius:999px;padding:.25rem .65rem;font-size:.78rem}.history-item__score strong{color:var(--text)}.empty-state{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-md);text-align:center;color:var(--text-muted);padding:2rem 1.5rem}@media (width<=640px){.app-header{padding:.7rem 1rem}.app-main{padding:1.25rem 1rem 2.5rem}.stage-stepper__label{display:none}.stage-stepper__connector{flex:1}.report-hero{flex-direction:column;align-items:flex-start;padding:1.4rem}.report-hero__score{align-self:center}.chat-bubble{max-width:88%}.chat-form{flex-direction:column}.chat-form__actions{justify-content:flex-end}.app-nav__email{display:none}.app-nav__user{padding-right:.35rem}}
