:root{font-family:Inter,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#0f172a;background:linear-gradient(180deg,#f8fafc,#eef2ff);line-height:1.45}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:transparent}h1,h2,h3,h4,h5,p{margin:0}ul{margin:0;padding-left:18px}li+li{margin-top:8px}.app-shell{max-width:1200px;margin:0 auto;padding:36px 24px 96px}.page-header{margin-bottom:22px}.eyebrow{margin-bottom:10px;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4f46e5}header h1{font-size:clamp(1.8rem,3vw,2.4rem);letter-spacing:-.03em}header p{margin-top:10px;color:#475569;max-width:72ch}.score-strip{background:linear-gradient(140deg,#020617,#0f172a,#1e293b);color:#f8fafc;border-radius:22px;padding:34px 30px;display:flex;justify-content:space-between;gap:34px;margin:28px 0 14px;box-shadow:0 26px 48px -30px #020617f2}.score-strip .muted{color:#cbd5e1}.score-strip h2{margin-top:12px;font-size:clamp(3.6rem,10vw,5.2rem);line-height:.95;letter-spacing:-.03em}.score-subtext{margin-top:10px;font-size:.92rem;color:#cbd5e1}.score-label{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:#94a3b8}.directive-stack{min-width:min(420px,100%);display:grid;gap:10px}.directive-block{background:#94a3b80f;border-radius:10px;padding:10px 12px;display:grid;gap:4px}.directive-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#94a3b8}.directive-copy{font-size:.98rem;font-weight:600;color:#f1f5f9}.actions{display:flex;gap:10px;align-items:center}.score-strip .actions button:nth-child(n+3){display:none}button{border:1px solid #cbd5e1;background:#fff;color:#0f172a;padding:10px 14px;border-radius:10px;cursor:pointer;font-weight:600;transition:all .14s ease}button:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.6}.button-primary{border-color:#3b82f6;background:linear-gradient(145deg,#3b82f6,#2563eb);color:#fff}.button-primary:hover{border-color:#2563eb;background:linear-gradient(145deg,#2563eb,#1d4ed8)}.button-ghost{border-color:#475569;background:#94a3b824;color:#f8fafc}.button-ghost:hover{border-color:#94a3b8;background:#94a3b83d}.grid{display:grid;gap:34px;grid-template-columns:1fr;margin-top:26px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:0 14px 34px -28px #0f172a73}.card h3{margin-bottom:14px;font-size:1.05rem;letter-spacing:-.01em}.goals-panel{display:grid;gap:16px}.goals-grid{display:grid;gap:14px;grid-template-columns:repeat(1,minmax(0,1fr))}.goal-card{width:100%;text-align:left;margin:0;border:1px solid #dbe5f3;border-radius:14px;padding:16px;display:grid;gap:8px;background:#fff;box-shadow:0 14px 26px -24px #0f172aa6}.goal-card:hover{border-color:#cbd5e1;background:#f8fafc}.goal-card.off_track{background:#fff7f7}.goal-card.on_track{background:#fff}.goal-card.elite{background:#f4fbf6}.goal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.goal-card-line{font-size:.92rem;color:#334155;font-weight:600}.goal-card-summary{margin-top:4px;font-size:.9rem;font-weight:700}.badge{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge.elite{background:#dcfce7;color:#166534}.badge.on_track{background:#e2e8f0;color:#334155}.badge.off_track{background:#fee2e2;color:#991b1b}.success{color:#15803d!important;font-weight:600}.danger{color:#b91c1c!important;font-weight:600}.muted{color:#64748b}.primary-focus{border-radius:16px;background:#fff;border:1px solid #dbeafe;padding:24px 26px;margin-top:16px;display:grid;gap:8px;box-shadow:0 18px 38px -30px #2563eba6}.primary-label{font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#1d4ed8}.primary-copy{font-size:clamp(1.8rem,4.8vw,2.8rem);line-height:1.08;letter-spacing:-.03em;font-weight:800;color:#0f172a}.primary-secondary{color:#64748b;font-size:.94rem}.goals-panel h3{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#475569;margin-bottom:6px}.goal-detail{grid-column:1 / -1;margin-top:14px}.coach-panel{grid-column:1 / -1;display:block}.coach-panel textarea{border:1px solid #d1d5db;border-radius:18px;padding:10px 14px;font:inherit;resize:vertical;min-height:78px;background:#fff}.coach-panel textarea:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}.coach-review-button{width:fit-content}.coach-error{margin:0}.coach-chat-shell{width:100%;max-width:48rem;margin:0 auto;border:1px solid #d8dde6;border-radius:26px;background:#f5f5f7;padding:0;overflow:hidden;overflow-x:hidden;display:grid;gap:0;box-shadow:0 24px 40px -34px #0f172a80}.coach-chat-header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px 10px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.coach-chat-nav{margin:0;color:#007aff;font-size:.95rem}.coach-chat-contact{display:inline-flex;align-items:center;gap:8px}.coach-chat-details{border:none;border-radius:999px;background:transparent;color:#007aff;padding:4px 8px;font-size:.95rem;font-weight:500}.coach-chat-details:hover{background:#e5e7eb;border-color:transparent;transform:none}.coach-chat-avatar{width:24px;height:24px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.62rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.coach-chat-title{margin:0;font-size:.94rem;font-weight:600;color:#0f172a;text-align:center}.coach-chat-subtitle{margin:2px 0 0;font-size:.72rem;color:#94a3b8}.coach-chat-feed{max-height:390px;overflow-y:auto;overflow-x:hidden;display:grid;gap:16px;padding:14px 12px;background:#fff}.coach-chat-empty{margin:0;color:#64748b;font-size:.9rem}.coach-message-row{display:flex}.coach-message-row.user{justify-content:flex-end}.coach-message-row.coach{justify-content:flex-start}.coach-message-bubble{margin:0;width:auto;max-width:75%;background:#e5e5ea;color:#111827;border-radius:20px;padding:10px 14px;line-height:1.45;font-size:.95rem;position:relative;animation:coachMessageFadeIn .24s ease-out both;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap}.coach-message-paragraph+.coach-message-paragraph{margin-top:8px}.coach-message-label{margin:0 0 6px;font-size:.72rem;letter-spacing:.02em;color:#64748b}.coach-message-bubble.user{background:linear-gradient(180deg,#2b96ff,#007aff);color:#fff;border-bottom-right-radius:7px}.coach-message-bubble.coach{border-bottom-left-radius:7px}.coach-message-bubble.user:after{content:"";position:absolute;right:-5px;bottom:0;border-left:8px solid #007aff;border-top:8px solid transparent}.coach-message-bubble.coach:after{content:"";position:absolute;left:-5px;bottom:0;border-right:8px solid #e5e5ea;border-top:8px solid transparent}.coach-composer{display:grid;gap:6px;font-size:.82rem;color:#475569;padding:8px 12px 4px;background:#f9fafb;border-top:1px solid #e5e7eb}.coach-actions{display:flex;gap:8px;flex-wrap:wrap;padding:8px 12px 12px;background:#f9fafb}@keyframes coachMessageFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.goal-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.goal-header-actions{display:inline-flex;align-items:center;gap:8px}.goal-progress-label{color:#334155;font-weight:600;margin-top:8px}.goal-header p{margin-top:6px;color:#64748b}.activity-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;background:#f8fafc}.activity-actions{display:inline-flex;gap:8px}.button-inline{padding:4px 8px;border-radius:8px;font-size:.75rem;border-color:#dbe5f3;background:transparent;color:#475569}.button-inline-danger{border-color:#fecaca;color:#b91c1c}.bar{width:100%;background:#e2e8f0;border-radius:999px;height:11px;overflow:hidden;margin:10px 0 12px}.bar span{display:block;height:100%;background:linear-gradient(90deg,#2563eb,#7c3aed)}.chart-wrap{height:270px;margin:16px 0;padding:14px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff}.chart-label{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin-bottom:8px}.kpi-row{margin-top:14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpi-tile{border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;padding:10px}.kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#64748b}.kpi-value{margin-top:4px;font-size:1rem;font-weight:700;color:#0f172a}.recent-activity{list-style:none;padding-left:0}.goal-detail ul,.goals-panel ul{margin-top:10px;display:grid;gap:6px;color:#334155}.fab{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;font-size:30px;font-weight:500;background:linear-gradient(145deg,#2563eb,#1d4ed8);color:#fff;border:none;box-shadow:0 14px 24px -10px #2563ebb8}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:grid;place-items:center;z-index:40}.modal{background:#fff;width:min(640px,95vw);border-radius:16px;padding:20px;display:grid;gap:12px;max-height:90vh;overflow:auto;border:1px solid #e2e8f0;box-shadow:0 24px 40px -24px #0f172a99}.stepper-head{display:flex;align-items:flex-start;justify-content:space-between}.step-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.step-track span{height:4px;border-radius:999px;background:#e2e8f0}.step-track span.active{background:#2563eb}.step-screen{display:grid;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.step-screen h4{font-size:1.2rem;letter-spacing:-.01em}.timeline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.button-link{width:fit-content;border:none;padding:0;border-radius:0;background:none;color:#2563eb;font-weight:600}.button-link:hover{background:none;border:none;transform:none;text-decoration:underline}.volume-focus{border:1px solid #cbd5e1;border-radius:12px;background:#fff;padding:14px;display:grid;gap:8px;justify-items:center}.volume-label{justify-items:center}.volume-input{width:min(260px,100%);text-align:center;font-size:2.2rem!important;font-weight:700;padding:12px!important}.feedback-box,.baseline-box,.summary-box{border-radius:10px;border:1px solid #cbd5e1;background:#fff;padding:12px}.feedback-box.low{border-color:#fecaca;background:#fef2f2;color:#991b1b}.feedback-box.moderate{border-color:#fde68a;background:#fffbeb;color:#92400e}.feedback-box.high{border-color:#86efac;background:#ecfdf5;color:#166534}.baseline-box p+p,.summary-box p+p{margin-top:4px}.projection{font-weight:600}.projection.high{color:#166534}.projection.low,.projection.moderate{color:#92400e}.modal label{display:grid;gap:6px;font-size:14px;color:#1e293b}.execution-type-option{display:flex!important;align-items:flex-start;gap:10px}.execution-type-option input[type=radio]{margin-top:2px}.execution-type-option span{display:grid;gap:2px}.modal input,.modal select,.modal textarea{border:1px solid #cbd5e1;border-radius:10px;padding:9px 10px;font-size:.95rem;font-family:inherit}.modal input:focus,.modal select:focus,.modal textarea:focus{outline:2px solid #bfdbfe;border-color:#60a5fa}.modal-section-title{margin-top:8px}.motivation-card{margin:12px 0;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fbfdff}.motivation-list{display:grid;gap:8px;color:#334155}.motivation-list p{margin:0;line-height:1.4}.motivation-list span{color:#64748b;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.row{display:flex;gap:8px;flex-wrap:wrap}.challenge{background:#fef2f2;border:1px solid #fecaca;padding:10px;border-radius:10px;color:#991b1b}.big{font-size:2rem;margin:0;font-weight:700}.review-row{padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc}.review-row p{margin-top:6px;color:#334155}.decision-group{border:1px solid #cbd5e1;border-radius:10px;padding:10px;display:grid;gap:8px}.decision-group legend{padding:0 4px;font-weight:700;font-size:.84rem}.decision-group label{display:flex;gap:8px;align-items:center}.decision-option{border:1px solid #cbd5e1;border-radius:8px;padding:8px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.decision-option input{margin:0}.decision-option.selected{border-color:#2563eb;background:#eff6ff}.quick-row button{min-width:62px}.log-feedback{position:fixed;right:22px;bottom:92px;margin:0;background:#052e16;color:#dcfce7;border:1px solid #15803d;border-radius:10px;padding:10px 12px;max-width:min(480px,calc(100vw - 36px))}.review-feedback{position:fixed;right:22px;bottom:136px;margin:0;background:#172554;color:#dbeafe;border:1px solid #1d4ed8;border-radius:10px;padding:10px 12px;max-width:min(480px,calc(100vw - 36px))}@media (max-width: 768px){.app-shell{padding:16px 12px 84px}.score-strip{flex-direction:column;align-items:flex-start}.actions{width:100%;flex-wrap:wrap}.goals-grid,.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-grid{grid-template-columns:1fr}}@media (min-width: 1024px){.goals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.goals-grid,.kpi-row{grid-template-columns:1fr}}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-card{width:min(460px,100%);border:1px solid #27314f;border-radius:14px;background:#121a30;padding:1.25rem;display:grid;gap:.75rem}.auth-card input{width:100%;border:1px solid #39466e;background:#0e162e;border-radius:10px;color:#ecf1ff;padding:.75rem}.auth-copy{margin:0;color:#c6d3ff}.auth-error{margin:0;color:#ff8f8f;font-weight:600}.header-top-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.profile-menu{position:relative}.profile-trigger{min-width:132px;display:inline-flex;align-items:center;gap:8px;border:1px solid #cbd5e1;background:#fff;color:#0f172a}.profile-avatar{width:24px;height:24px;border-radius:999px;background:linear-gradient(145deg,#1d4ed8,#2563eb);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700}.profile-label{font-size:.92rem}.profile-caret{margin-left:auto;color:#64748b;transition:transform .12s ease}.profile-caret.open{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:184px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 18px 34px -24px #0f172ae6;padding:8px;z-index:20}.profile-meta{margin:0 0 4px;padding:4px 8px;font-size:.74rem;color:#64748b;text-transform:uppercase;letter-spacing:.07em}.profile-dropdown-item{width:100%;text-align:left;border:0;border-radius:8px;background:#fff;color:#b91c1c}.profile-dropdown-item:hover{background:#fef2f2}
