:root{--bg:#020817;--panel:rgba(15,23,42,.88);--panel2:hsla(0,0%,100%,.055);--line:rgba(103,232,249,.35);--cyan:#67e8f9;--text:#f8fafc;--muted:#cbd5e1;--soft:#a5f3fc;--danger:#fecaca;--dangerBg:rgba(127,29,29,.72)}*{box-sizing:border-box}body,html{padding:0;margin:0;min-height:100%;background:#020817;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{background:radial-gradient(circle at 80% 8%,rgba(34,211,238,.22),transparent 26%),radial-gradient(circle at 12% 90%,rgba(20,184,166,.16),transparent 28%),linear-gradient(135deg,#020817,#061527 48%,#020817)}button,input,textarea{font-family:inherit}.page{width:min(1240px,calc(100% - 36px));margin:0 auto;min-height:100vh;padding:28px 0;display:grid;grid-template-columns:.95fr 1.05fr;grid-gap:24px;gap:24px;align-items:start}.logo{width:min(320px,88vw);height:auto;display:block;margin-bottom:22px;filter:drop-shadow(0 0 14px rgba(103,232,249,.25))}.eyebrow{margin:0 0 8px;color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:800}h1{font-size:clamp(42px,5vw,70px);line-height:.98;margin:0 0 16px;letter-spacing:-.055em}.subcopy{color:#dbeafe;font-size:clamp(18px,2vw,24px);line-height:1.35;margin:0 0 20px;max-width:740px}.chatbox,.consent,.doctorCard,.fileError,.fileSelected,.mini,.module,.notice,.uploadBox{border:1px solid var(--line);background:var(--panel2);border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.25)}.doctorCard{padding:18px;margin:18px 0 14px}.doctorCard h2{margin:0 0 4px;font-size:clamp(30px,4vw,46px);letter-spacing:-.035em}.doctorCard p{margin:0;color:var(--cyan);font-size:clamp(19px,2.2vw,25px)}.notice{padding:14px 16px;color:#e2e8f0;line-height:1.45;font-size:14px;background:rgba(15,23,42,.74)}.moduleHeader{margin:24px 0 12px}.moduleHeader h3{margin:0 0 4px;font-size:22px}.moduleHeader p{margin:0;color:var(--muted)}.modules{display:grid;grid-template-columns:1fr 1fr;grid-gap:11px;gap:11px}.module{border-radius:18px;color:var(--text);padding:13px;display:flex;gap:12px;align-items:center;text-align:left;cursor:pointer;transition:.15s ease}.module.active,.module:hover{background:rgba(103,232,249,.12);border-color:rgba(103,232,249,.72);transform:translateY(-1px)}.moduleIcon{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:rgba(103,232,249,.12);font-size:20px;flex:none}.module b{display:block;font-size:15px;margin-bottom:2px}.module small{display:block;color:var(--muted);line-height:1.25}.assistantPanel{position:-webkit-sticky;position:sticky;top:18px}.chatbox{overflow:hidden;background:var(--panel)}.chathead{padding:18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.chathead h2{margin:0;font-size:22px}.chathead p{margin:3px 0 0;color:var(--soft);font-size:14px}.status{color:#061527;background:var(--cyan);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.uploadBox{margin:14px 16px 0;padding:12px;display:flex;align-items:center;gap:12px;justify-content:space-between}.uploadBox b{display:block;margin-bottom:2px}.uploadBox span{display:block;color:var(--muted);font-size:13px}.fileInput{display:none}.fileSelected button,.uploadBox button{border:0;border-radius:14px;background:var(--cyan);color:#061527;padding:10px 13px;font-weight:800;cursor:pointer;white-space:nowrap}.consent{margin:10px 16px 0;padding:10px 12px;display:flex;gap:9px;align-items:flex-start;color:#e2e8f0;font-size:12px;line-height:1.4;background:rgba(15,23,42,.68)}.consent input{margin-top:3px;accent-color:var(--cyan)}.fileSelected{margin:10px 16px 0;padding:10px 12px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#e2e8f0;font-size:14px}.fileSelected button{padding:7px 10px;background:hsla(0,0%,100%,.12);color:#fff;border:1px solid hsla(0,0%,100%,.18)}.fileError{margin:10px 16px 0;padding:10px 12px;color:var(--danger);background:var(--dangerBg);font-size:14px}.messages{height:390px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.message{max-width:92%;padding:13px 15px;border-radius:20px;line-height:1.52;font-size:15px;white-space:pre-line}.message.assistant{align-self:flex-start;background:hsla(0,0%,100%,.09);border:1px solid hsla(0,0%,100%,.1)}.message.user{align-self:flex-end;background:var(--cyan);color:#061527;font-weight:650;white-space:pre-wrap}.message.urgent{background:var(--dangerBg);color:var(--danger);border:1px solid hsla(0,91%,71%,.55)}.actionBar{padding:12px 16px 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}.actionBar button,.utilityRow button{border:1px solid var(--line);background:rgba(103,232,249,.08);color:#cffafe;border-radius:999px;padding:8px 11px;cursor:pointer;font-size:13px}.actionBar button:disabled{opacity:.5;cursor:not-allowed}.composer{padding:14px 16px 16px}.quick{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:13px}.quick button{border:1px solid var(--line);background:transparent;color:#cffafe;border-radius:999px;padding:7px 10px;cursor:pointer;font-size:13px}.actionBar button:hover,.quick button:hover,.utilityRow button:hover{background:rgba(103,232,249,.14)}.inputrow{display:flex;gap:10px;align-items:stretch}.inputrow textarea{flex:1 1;border-radius:18px;border:1px solid var(--line);background:hsla(0,0%,100%,.08);color:#fff;padding:14px 15px;font-size:16px;outline:none;resize:vertical;min-height:74px}.inputrow textarea:focus{border-color:var(--cyan)}.send{border:none;border-radius:18px;background:var(--cyan);color:#061527;font-weight:900;padding:0 18px;cursor:pointer;font-size:18px}.send:disabled{opacity:.55;cursor:not-allowed}.utilityRow{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.miniGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px;margin-top:14px}.mini{padding:14px;color:#e2e8f0;font-size:13px}.mini b{color:var(--cyan);display:block;margin-bottom:5px}.mini span{color:var(--muted)}@media (max-width:980px){.page{width:min(100% - 28px,760px);grid-template-columns:1fr;padding:20px 0}.assistantPanel{position:static}.miniGrid,.modules{grid-template-columns:1fr}.messages{height:360px}.uploadBox{align-items:stretch;flex-direction:column}}.footerLinks{margin-top:18px;display:flex;gap:14px;flex-wrap:wrap;font-size:13px}.footerLinks a{color:#a5f3fc;text-decoration:none;border-bottom:1px solid rgba(103,232,249,.35)}.footerLinks a:hover{color:#fff}.legalPage{width:min(860px,calc(100% - 32px));margin:0 auto;padding:42px 0 70px;color:#e2e8f0}.legalPage h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.04em;margin:18px 0 24px}.legalPage h2{color:#67e8f9;margin:30px 0 8px;font-size:22px}.legalPage p{line-height:1.7;color:#cbd5e1;font-size:17px}.backLink{color:#a5f3fc;text-decoration:none}.adminLogin,.patientIntakeCard,.sessionCard{border:1px solid var(--line);background:hsla(0,0%,100%,.055);border-radius:22px;box-shadow:0 22px 60px rgba(0,0,0,.25)}.patientIntakeCard{margin-top:18px;padding:16px}.intakeHeader h3{margin:0 0 4px;font-size:20px}.intakeHeader p{margin:0 0 12px;color:var(--muted);font-size:13px}.intakeGrid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.adminLogin input,.intakeGrid input,.intakeGrid select{width:100%;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.08);color:#fff;padding:11px 12px;outline:none}.intakeGrid select option{color:#061527}.conditionChips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{border:1px solid var(--line);background:transparent;color:#cffafe;border-radius:999px;padding:7px 10px;cursor:pointer;font-size:13px}.chip.active{background:var(--cyan);color:#061527;font-weight:800}.saveConsent{display:flex;gap:9px;align-items:flex-start;color:#e2e8f0;font-size:12px;line-height:1.4}.saveConsent input{margin-top:3px;accent-color:var(--cyan)}.saveStatus{margin:10px 0 0;color:var(--cyan);font-size:13px;font-weight:700}.adminPage{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:42px 0 70px;color:#e2e8f0}.adminPage h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.04em;margin:18px 0 12px}.adminPage>p{color:var(--muted);line-height:1.6}.adminLogin{padding:16px;display:flex;gap:10px;margin:18px 0;align-items:center;flex-wrap:wrap}.adminLogin input{max-width:280px}.adminLogin button{border:0;border-radius:14px;background:var(--cyan);color:#061527;padding:11px 14px;font-weight:900;cursor:pointer}.adminError{border:1px solid hsla(0,91%,71%,.55);color:var(--danger);background:var(--dangerBg);border-radius:16px;padding:12px;margin-bottom:14px}.adminList{display:grid;grid-gap:14px;gap:14px}.sessionCard{padding:16px}.sessionCard header{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px}.sessionCard h2{margin:0 0 4px;font-size:22px}.sessionCard header p,.sessionMeta{color:var(--muted);line-height:1.6}.sessionCard header span{color:var(--cyan);font-size:13px;font-weight:800}.sessionCard summary{cursor:pointer;color:var(--cyan);margin-top:12px;font-weight:800}.sessionMessages{margin-top:12px;display:grid;grid-gap:10px;gap:10px}.adminMsg{border-radius:14px;padding:12px;white-space:pre-line}.adminMsg.patient{background:rgba(103,232,249,.14)}.adminMsg.assistant{background:hsla(0,0%,100%,.08)}.adminMsg p{margin:6px 0 0;color:#e2e8f0;line-height:1.5}@media (max-width:980px){.intakeGrid{grid-template-columns:1fr}}.headerControls{display:flex;gap:8px;align-items:center}.headerControls select{border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.08);color:#fff;padding:7px 9px;outline:none}.headerControls select option{color:#061527}.sessionTools{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.sessionTools button{border:1px solid var(--line);background:rgba(103,232,249,.08);color:#cffafe;border-radius:999px;padding:8px 11px;cursor:pointer;font-size:13px}.feedbackBox{margin-top:10px;border:1px solid var(--line);border-radius:18px;padding:10px;background:hsla(0,0%,100%,.05)}.feedbackBox textarea{width:100%;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.08);color:#fff;padding:10px;outline:none;resize:vertical}.feedbackBox div{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.feedbackBox button{border:1px solid var(--line);background:rgba(103,232,249,.08);color:#cffafe;border-radius:999px;padding:7px 10px;cursor:pointer}.feedbackStatus{margin:8px 0 0;color:var(--cyan);font-size:13px}.statsGrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:16px 0}.adminSearch,.statsGrid div{border:1px solid var(--line);background:hsla(0,0%,100%,.055);border-radius:18px;padding:14px}.statsGrid b{display:block;color:var(--cyan);font-size:30px;line-height:1;margin-bottom:6px}.statsGrid span{color:var(--muted);font-size:13px}.adminSearch{display:flex;gap:12px;align-items:center;margin-bottom:14px}.adminSearch input{flex:1 1;border-radius:14px;border:1px solid var(--line);background:hsla(0,0%,100%,.08);color:#fff;padding:11px 12px;outline:none}.adminSearch span{color:var(--cyan);font-weight:800;white-space:nowrap}@media (max-width:980px){.headerControls{align-items:flex-start;flex-direction:column}.statsGrid{grid-template-columns:1fr 1fr}.adminSearch{flex-direction:column;align-items:stretch}}