:root{color:#12383c;background:#fff;--uplift-teal: #12b8bf;--uplift-teal-dark: #07828d;--uplift-sky: #64baf4;--uplift-sky-soft: #edf8ff;--uplift-violet: #7a45e8;--uplift-violet-soft: #f3efff;--uplift-ink: #12383c;--uplift-muted: #587278;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{background:#fff}.advisorPage,.authPage{min-height:100vh;display:grid;grid-template-columns:minmax(0,780px);align-content:center;justify-content:center;gap:30px;padding:32px}.topLink{position:fixed;top:22px;right:24px;z-index:10;min-height:38px;padding:0 14px;border:1px solid rgba(18,184,191,.26);background:#fff;color:var(--uplift-teal-dark);box-shadow:0 10px 32px #12383c14}.topLink:hover,.topLink:focus-visible{color:var(--uplift-ink);background:var(--uplift-sky-soft)}.topMenu{position:fixed;top:22px;right:24px;z-index:10}.topMenu summary{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid rgba(18,184,191,.26);border-radius:8px;background:#fff;color:var(--uplift-teal-dark);box-shadow:0 10px 32px #12383c14;cursor:pointer;font-weight:650;list-style:none}.topMenu summary:after{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;content:""}.topMenu summary::-webkit-details-marker{display:none}.topMenu summary:hover,.topMenu summary:focus-visible{color:var(--uplift-ink);background:var(--uplift-sky-soft);outline:none}.topMenuPanel{position:absolute;top:calc(100% + 8px);right:0;width:160px;display:grid;gap:4px;padding:6px;border:1px solid rgba(18,184,191,.24);border-radius:8px;background:#fff;box-shadow:0 18px 44px #12383c24}.topMenuPanel button{min-height:38px;padding:0 10px;background:transparent;color:var(--uplift-ink);text-align:left}.topMenuPanel button:hover,.topMenuPanel button:focus-visible{background:var(--uplift-sky-soft)}.introPanel{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.logoButton{height:auto;min-height:0;padding:0;background:transparent;line-height:0}.logoButton:hover,.logoButton:focus-visible{background:transparent;outline:3px solid rgba(18,184,191,.18);outline-offset:8px}.logo{width:min(260px,70vw);height:auto;display:block}.slogan{margin:0;color:var(--uplift-teal-dark);font-size:clamp(1.45rem,3vw,2.25rem);font-weight:600;line-height:1.25;text-align:center}.authPageLayout{display:grid;grid-template-columns:minmax(280px,420px);justify-content:center}.chatShell{width:100%;min-height:min(620px,calc(100vh - 220px));display:grid;grid-template-rows:minmax(260px,1fr) auto auto;gap:16px;padding:18px;border:0;border-radius:8px;background:#fff;box-shadow:0 24px 80px #12b8bf29}.knowledgePanel{min-height:min(620px,calc(100vh - 220px));display:flex;flex-direction:column;gap:18px;padding:22px;border:1px solid rgba(100,186,244,.3);border-radius:8px;background:#fbfeff;box-shadow:0 18px 60px #12383c14}.authForm{display:grid;gap:10px}.authForm h1,.accountSummary h1,.workspacePreview h2{margin:0;color:var(--uplift-ink);letter-spacing:0}.authForm h1{font-size:1.35rem;line-height:1.15}.authForm label{margin-top:4px;color:var(--uplift-muted);font-size:.9rem;font-weight:650}input{width:100%;min-height:44px;padding:11px 12px;border:1px solid rgba(100,186,244,.55);border-radius:8px;color:var(--uplift-ink);font:inherit}input:focus{border-color:var(--uplift-teal);box-shadow:0 0 0 3px #12b8bf29;outline:none}.authForm button,.secondaryButton{width:100%;padding:0 16px;background:var(--uplift-ink);color:#fff}.authForm button:hover,.authForm button:focus-visible,.secondaryButton:hover,.secondaryButton:focus-visible{background:#0b2a2e}.linkButton.linkButton{min-height:34px;padding:0;background:transparent;color:var(--uplift-teal-dark);font-size:.94rem;text-align:left}.linkButton.linkButton:hover,.linkButton.linkButton:focus-visible{background:transparent;color:var(--uplift-ink);text-decoration:underline}.authError,.authSuccess{margin:0;padding:11px 12px;border-radius:8px;font-size:.92rem;line-height:1.4}.authError{border:1px solid #f1beb8;background:#fff4f2;color:#9d2f22}.authSuccess{border:1px solid rgba(18,184,191,.32);background:#effdfc;color:#07656e}.accountSummary{display:grid;gap:6px}.accountSummary h1{font-size:1.45rem;line-height:1.15}.accountSummary p,.workspacePreview p{margin:0;color:var(--uplift-muted);line-height:1.45}.eyebrow{color:var(--uplift-teal-dark)!important;font-size:.78rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.accountEmail{overflow-wrap:anywhere}.workspacePreview{display:grid;gap:8px;padding:16px;border:1px dashed rgba(18,184,191,.42);border-radius:8px;background:#fff}.workspacePreview h2{font-size:1.08rem;line-height:1.2}.chatLog{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:4px}.message{width:min(86%,620px);padding:14px 16px;border-radius:8px}.message-assistant{align-self:flex-start;background:linear-gradient(135deg,var(--uplift-sky-soft),#f5fffd);color:var(--uplift-ink);border:0}.message-user{align-self:flex-end;background:linear-gradient(135deg,var(--uplift-teal),var(--uplift-teal-dark));color:#fff}.errorMessage{margin:0;font-size:.98rem;line-height:1.55;white-space:pre-wrap}.messageContent{font-size:.98rem;line-height:1.55}.messageContent>:first-child{margin-top:0}.messageContent>:last-child{margin-bottom:0}.messageContent p,.messageContent ul,.messageContent ol{margin:0 0 .75rem}.messageContent ul,.messageContent ol{padding-left:1.3rem}.messageContent li+li{margin-top:.28rem}.messageContent a{color:inherit;font-weight:700}.messageContent code{padding:.12rem .28rem;border-radius:4px;background:#7a45e81a;font-size:.92em}.message-user .messageContent code{background:#ffffff29}.progressMessage{display:flex;align-items:center;gap:10px;color:var(--uplift-muted);font-size:.96rem;line-height:1.45}.progressDots{display:inline-flex;gap:4px;flex:0 0 auto}.progressDots span{width:6px;height:6px;border-radius:50%;background:var(--uplift-teal);animation:progressPulse 1.2s ease-in-out infinite}.progressDots span:nth-child(2){animation-delay:.15s}.progressDots span:nth-child(3){animation-delay:.3s}@keyframes progressPulse{0%,80%,to{opacity:.34;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.cardStack{display:grid;gap:14px;margin-top:16px}.serviceCard{display:grid;gap:14px;padding:18px;border:1px solid rgba(18,184,191,.18);border-radius:8px;background:linear-gradient(180deg,#edf8ffb8,#fff0 86px),#fff;box-shadow:0 14px 34px #12383c17}.opportunityCard{border-color:#7a45e833;background:linear-gradient(180deg,#f4eeffb8,#fff0 86px),#fff}.opportunityCard .cardType{border-color:#12b8bf33;background:#12b8bf1a;color:var(--uplift-teal-dark)}.serviceCard h3,.serviceCard p,.serviceCard dl{margin:0}.serviceCardHeader{display:grid;gap:7px}.serviceCard h3{color:var(--uplift-ink);font-size:1.06rem;line-height:1.28}.cardType{justify-self:start;max-width:100%;padding:4px 8px;border:1px solid rgba(122,69,232,.16);border-radius:999px;background:#7a45e814;color:var(--uplift-violet);font-size:.72rem;font-weight:750;line-height:1.25}.cardOrganisation,.cardRelevance{color:var(--uplift-muted);font-size:.88rem;line-height:1.45}.cardOrganisation{font-weight:650}.cardDescription{color:var(--uplift-ink);font-size:.94rem;line-height:1.55}.serviceCard dl{display:grid;grid-template-columns:minmax(92px,max-content) minmax(0,1fr);gap:0;overflow:hidden;border:1px solid rgba(18,184,191,.16);border-radius:8px;background:#edf8ff6b;font-size:.88rem;line-height:1.45}.serviceCard dt{padding:9px 10px;color:var(--uplift-muted);font-weight:700}.serviceCard dd{margin:0;min-width:0;padding:9px 10px;color:var(--uplift-ink)}.serviceCard dt:not(:last-of-type),.serviceCard dd:not(:last-of-type){border-bottom:1px solid rgba(18,184,191,.12)}.cardRelevance{padding-top:2px}.serviceCard a{justify-self:start;display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(18,184,191,.26);border-radius:999px;background:#fff;color:var(--uplift-teal-dark);font-size:.9rem;font-weight:700;text-decoration:none}.serviceCard a:hover,.serviceCard a:focus-visible{background:var(--uplift-sky-soft);color:var(--uplift-ink);outline:none}button{min-height:44px;border:0;border-radius:8px;font:inherit;font-weight:600;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.errorMessage{padding:12px 14px;border:1px solid #f1beb8;border-radius:8px;background:#fff4f2;color:#9d2f22}.chatActions{display:flex;justify-content:flex-end;margin:-4px 0 -2px}.resetChatButton{min-height:34px;padding:0 12px;border:1px solid rgba(18,184,191,.24);background:#fff;color:var(--uplift-teal-dark);font-size:.88rem}.resetChatButton:hover,.resetChatButton:focus-visible{background:var(--uplift-sky-soft);color:var(--uplift-ink);outline:none}.composer{display:grid;grid-template-columns:1fr;gap:10px}textarea{width:100%;min-height:76px;resize:vertical;padding:13px 14px;border:1px solid rgba(100,186,244,.55);border-radius:8px;color:var(--uplift-ink);font:inherit;line-height:1.3}textarea:focus{border-color:var(--uplift-teal);box-shadow:0 0 0 3px #12b8bf29;outline:none}.composer button{width:100%;padding:0 18px;background:linear-gradient(135deg,var(--uplift-teal),var(--uplift-teal-dark));color:#fff}.composer button:hover,.composer button:focus-visible{background:linear-gradient(135deg,#14c6cd,#067681)}.composer button:disabled{cursor:not-allowed;opacity:.48}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:900px){.advisorPage,.authPage{min-height:auto;align-content:start;gap:24px;padding:24px}.authPageLayout{grid-template-columns:1fr}.logo{width:min(210px,58vw)}.chatShell,.knowledgePanel{min-height:auto}}@media(max-width:560px){.advisorPage,.authPage{min-height:auto;align-content:start;padding:72px 18px 18px}.topLink,.topMenu{top:16px;right:18px}.chatShell{min-height:auto;padding:12px}.chatLog{max-height:58vh}.knowledgePanel{padding:16px}.message{width:100%}.cardStack{gap:12px}.serviceCard{padding:15px}.serviceCard dl{grid-template-columns:1fr}.serviceCard dt{padding-bottom:2px}.serviceCard dd{padding-top:0}.serviceCard dt:not(:last-of-type){border-bottom:0}.composer button{width:100%}}
