.landing{min-height:100vh;padding:24px}.navbar{border:1px solid var(--color-border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);max-width:1180px;height:72px;box-shadow:var(--shadow-soft);background:#ffffffc7;justify-content:space-between;align-items:center;margin:0 auto;padding:0 22px;display:flex}.brand{align-items:center;gap:10px;font-size:1.1rem;font-weight:800;display:flex}.brandMark{background:var(--color-primary);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.navLinks{color:var(--color-muted);align-items:center;gap:28px;font-weight:500;display:flex}.navLinks a{transition:all .2s}.navLinks a:hover{color:var(--color-primary)}.hero{grid-template-columns:1.02fr .98fr;align-items:center;gap:48px;max-width:1180px;margin:72px auto 0;display:grid}.heroContent h1{letter-spacing:-.06em;margin:18px 0;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.98}.heroContent p{max-width:620px;color:var(--color-muted);font-size:1.15rem;line-height:1.7}.eyebrow{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.heroActions{align-items:center;gap:14px;margin-top:30px;display:flex}.primaryButton,.secondaryButton,.ghostButton{cursor:pointer;white-space:nowrap;appearance:none;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;font-weight:700;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.primaryButton{background:var(--color-primary);color:#fff;padding:15px 24px;box-shadow:0 14px 28px #4f46e540}.primaryButton:hover{background:var(--color-primary-dark);transform:translateY(-2px)}.secondaryButton{background:var(--color-text);color:#fff;min-height:44px;padding:12px 18px}.secondaryButton:hover{opacity:.92;transform:translateY(-2px)}.ghostButton{color:var(--color-text);border:1px solid var(--color-border);background:#fff;padding:15px 22px}.ghostButton:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.heroStats{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px;display:grid}.heroStats div{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:16px}.heroStats strong,.heroStats span{display:block}.heroStats span{color:var(--color-muted);margin-top:6px;font-size:.86rem}.heroPreview{position:relative}.dashboardMock{color:#fff;background:#111827;border-radius:32px;padding:24px;box-shadow:0 32px 80px #11182747}.mockHeader{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.mockHeader span{font-weight:800}.mockHeader small{color:#c7d2fe}.mockGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.mockCard,.patientCard,.timeline{background:#ffffff14;border:1px solid #ffffff1f;border-radius:22px}.mockCard{padding:18px}.mockCard span{color:#cbd5e1;font-size:.9rem;display:block}.mockCard strong{margin-top:10px;font-size:2.2rem;display:block}.patientCard{margin-top:14px;padding:20px}.patientCard span{color:#cbd5e1;margin-top:5px;font-size:.88rem;display:block}.patientCard p{color:#eef2ff;margin:16px 0 0;line-height:1.6}.timeline{margin-top:14px;padding:8px 18px}.timeline div{border-bottom:1px solid #ffffff14;gap:16px;padding:14px 0;display:flex}.timeline div:last-child{border-bottom:0}.timeline p{margin:0}.time{color:#a5b4fc;font-weight:800}.problemSection{text-align:center;max-width:840px;margin:90px auto 44px}.problemSection h2,.cta h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.2rem)}.problemSection p,.cta p{color:var(--color-muted);font-size:1.08rem;line-height:1.7}.features{grid-template-columns:repeat(3,1fr);gap:18px;max-width:1180px;margin:0 auto;display:grid}.featureCard{border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;padding:24px}.featureIcon{background:var(--color-soft);width:48px;height:48px;color:var(--color-primary);border-radius:16px;place-items:center;display:grid}.featureCard h3{margin:20px 0 10px}.featureCard p{color:var(--color-muted);margin:0;line-height:1.6}.cta{text-align:center;border:1px solid var(--color-border);max-width:980px;box-shadow:var(--shadow-soft);background:#fff;border-radius:34px;margin:88px auto 40px;padding:52px}.cta .primaryButton{margin-top:16px}@media (width<=900px){.navbar{flex-wrap:wrap;gap:18px;height:auto;padding:18px}.navLinks{order:3;justify-content:center;gap:16px;width:100%;font-size:.9rem}.hero{grid-template-columns:1fr;margin-top:42px}.heroStats,.features{grid-template-columns:1fr}.heroActions{flex-direction:column;align-items:stretch}.primaryButton,.ghostButton,.secondaryButton{width:100%}.cta{padding:32px 22px}}.loginPage{background:radial-gradient(circle at top left, #4f46e52e, transparent 32%), var(--color-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.loginCard{border:1px solid var(--color-border);width:100%;max-width:440px;box-shadow:var(--shadow-soft);background:#fff;border-radius:30px;padding:34px}.loginBrand{text-align:center}.loginLogo{background:var(--color-primary);color:#fff;border-radius:18px;place-items:center;width:54px;height:54px;margin:0 auto 18px;font-size:1.4rem;font-weight:800;display:grid}.loginBrand h1{letter-spacing:-.04em;margin:0}.loginBrand p{color:var(--color-muted);margin:10px 0 0;line-height:1.6}.loginForm{gap:18px;margin-top:28px;display:grid}.loginForm label{gap:8px;font-weight:700;display:grid}.loginForm input{border:1px solid var(--color-border);border-radius:14px;outline:none;height:48px;padding:0 14px}.loginForm input:focus{border-color:var(--color-primary)}.loginForm button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:999px;height:50px;font-weight:800}.demoAccess{text-align:center;gap:10px;margin-top:22px;display:grid}.demoAccess a{color:var(--color-primary);font-weight:700}.createAccountLinks{border-top:1px solid var(--color-border);text-align:center;gap:8px;margin-top:18px;padding-top:18px;display:grid}.createAccountLinks span{color:var(--color-muted);font-weight:700}.createAccountLinks a{color:var(--color-primary);font-weight:900}.appShell{background:var(--color-bg);grid-template-columns:280px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#111827;padding:24px}.sidebarBrand{align-items:center;gap:12px;margin-bottom:38px;display:flex}.sidebarLogo{background:var(--color-primary);border-radius:16px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.sidebarBrand strong,.sidebarBrand span{display:block}.sidebarBrand span{color:#9ca3af;margin-top:4px;font-size:.86rem}.sidebarNav{gap:8px;display:grid}.sidebarNav a{color:#d1d5db;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;font-weight:700;display:flex}.sidebarNav a:hover,.sidebarNav a.active{color:#fff;background:#ffffff1a}.appContent{padding:32px}.appHeader{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.appHeader h1{letter-spacing:-.05em;margin:0;font-size:2.2rem}.appHeader p{color:var(--color-muted);margin:8px 0 0}.userBadge{border:1px solid var(--color-border);background:#fff;border-radius:999px;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.userBadge strong,.userBadge span{text-align:right;display:block}.userBadge span{color:var(--color-muted);font-size:.82rem}.avatar{background:var(--color-soft);width:42px;height:42px;color:var(--color-primary);border-radius:50%;place-items:center;font-weight:900;display:grid}@media (width<=900px){.appShell{grid-template-columns:1fr}.sidebar{position:static}.appHeader{flex-direction:column;align-items:flex-start}.userBadge strong,.userBadge span{text-align:left}}.dashboardGrid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.metricCard,.panel{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:24px}.metricCard{padding:22px}.metricCard span{color:var(--color-muted);font-weight:700}.metricCard strong{letter-spacing:-.05em;margin:12px 0 8px;font-size:2.4rem;display:block}.metricCard small{color:var(--color-muted)}.dashboardColumns{grid-template-columns:1.2fr .8fr;gap:22px;margin-top:22px;display:grid}.panel{padding:24px}.panelHeader{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.panelHeader h2{letter-spacing:-.03em;margin:0}.panelHeader a{color:var(--color-primary);font-weight:800}.appointmentList,.registerList{gap:12px;display:grid}.appointmentItem{border:1px solid var(--color-border);border-radius:18px;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid}.appointmentTime{color:var(--color-primary);font-weight:900}.appointmentItem strong,.appointmentItem span{display:block}.appointmentItem span{color:var(--color-muted);margin-top:4px}.appointmentItem small{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:6px 10px;font-weight:800}.registerItem{border:1px solid var(--color-border);border-radius:18px;padding:16px}.registerItem p{color:var(--color-muted);margin:8px 0;line-height:1.5}.registerItem span{color:var(--color-muted);font-size:.86rem}@media (width<=1100px){.dashboardGrid,.dashboardColumns{grid-template-columns:1fr}}.patientsToolbar{justify-content:space-between;gap:18px;margin-bottom:22px;display:flex}.searchBox{border:1px solid var(--color-border);height:52px;color:var(--color-muted);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;flex:1;align-items:center;gap:12px;padding:0 18px;display:flex}.searchBox input{width:100%;color:var(--color-text);background:0 0;border:0;outline:none}.newPatientButton{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;height:52px;padding:0 20px;font-weight:800;text-decoration:none;display:flex;box-shadow:0 14px 28px #4f46e538}.patientsSummary{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px;display:grid}.patientsSummary article{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:20px}.patientsSummary strong{letter-spacing:-.05em;font-size:2rem;display:block}.patientsSummary span{color:var(--color-muted);margin-top:6px;font-weight:700;display:block}.patientsGrid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.patientCardItem{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:26px;padding:22px}.patientCardHeader{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.patientAvatar{background:var(--color-soft);width:52px;height:52px;color:var(--color-primary);border-radius:18px;place-items:center;font-size:1.3rem;font-weight:900;display:grid}.patientCardHeader h2{letter-spacing:-.03em;margin:0;font-size:1.15rem}.patientCardHeader p{color:var(--color-muted);margin:5px 0 0}.statusBadge{border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:900}.statusBadge.active{color:#166534;background:#dcfce7}.statusBadge.paused{color:#92400e;background:#fef3c7}.patientInfoBlock,.patientRegisterPreview{border:1px solid var(--color-border);background:#fafafa;border-radius:18px;margin-top:18px;padding:16px}.patientInfoBlock div,.patientRegisterPreview div{color:var(--color-muted);align-items:center;gap:8px;font-size:.9rem;font-weight:800;display:flex}.patientInfoBlock strong{margin-top:10px;font-size:1.05rem;display:block}.patientRegisterPreview p{color:var(--color-text);margin:12px 0 8px;line-height:1.5}.patientRegisterPreview small{color:var(--color-muted)}.patientCardFooter{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.tagBadge{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:8px 12px;font-size:.86rem;font-weight:900}.patientCardFooter a{color:var(--color-primary);font-weight:900}@media (width<=1100px){.patientsSummary,.patientsGrid{grid-template-columns:1fr}.patientsToolbar{flex-direction:column}.newPatientButton{justify-content:center}}.patientDetailsBack{margin-bottom:18px}.patientDetailsBack a{color:var(--color-primary);align-items:center;gap:8px;font-weight:900;display:inline-flex}.patientDetailsGrid{grid-template-columns:320px 1fr;align-items:start;gap:24px;display:grid}.patientProfilePanel,.detailsPanel,.patientQuickCards article{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:26px}.patientProfilePanel{padding:26px;position:sticky;top:24px}.profileAvatar{background:var(--color-soft);width:74px;height:74px;color:var(--color-primary);border-radius:24px;place-items:center;font-size:2rem;font-weight:900;display:grid}.patientProfilePanel h2{letter-spacing:-.04em;margin:18px 0 6px}.patientProfilePanel p{color:var(--color-muted);margin:0}.profileTag{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;margin-top:16px;padding:8px 12px;font-size:.86rem;font-weight:900;display:inline-flex}.profileInfoList{gap:14px;margin-top:24px;display:grid}.profileInfoList div{border-bottom:1px solid var(--color-border);padding-bottom:14px}.profileInfoList div:last-child{border-bottom:0;padding-bottom:0}.profileInfoList span,.profileInfoList strong{display:block}.profileInfoList span{color:var(--color-muted);font-size:.86rem;font-weight:800}.profileInfoList strong{margin-top:5px;font-size:.95rem}.profilePrimaryButton{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;height:48px;margin-top:24px;font-weight:900;display:flex}.patientMainContent{gap:22px;display:grid}.patientQuickCards{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.patientQuickCards article{padding:20px}.patientQuickCards svg{color:var(--color-primary)}.patientQuickCards span,.patientQuickCards strong{display:block}.patientQuickCards span{color:var(--color-muted);margin-top:10px;font-weight:800}.patientQuickCards strong{margin-top:8px;font-size:1.25rem}.detailsColumns{grid-template-columns:1.1fr .9fr;gap:22px;display:grid}.detailsPanel{padding:24px}.detailsPanelHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.detailsPanelHeader h2{letter-spacing:-.04em;margin:0}.detailsPanelHeader p{color:var(--color-muted);margin:6px 0 0;line-height:1.5}.detailsPanelHeader button{background:var(--color-soft);color:var(--color-primary-dark);cursor:pointer;white-space:nowrap;border:0;border-radius:14px;align-items:center;gap:8px;padding:10px 14px;font-weight:900;display:inline-flex}.registerTimeline,.activityList,.sessionList{gap:14px;display:grid}.registerTimelineItem{border:1px solid var(--color-border);background:#fafafa;border-radius:20px;grid-template-columns:92px 1fr;gap:14px;padding:16px;display:grid}.registerMood{color:#92400e;text-align:center;background:#fef3c7;border-radius:999px;height:fit-content;padding:8px 10px;font-size:.82rem;font-weight:900}.registerTimelineItem h3,.sessionItem h3{letter-spacing:-.03em;margin:0}.registerTimelineItem span{color:var(--color-muted);margin-top:5px;font-size:.86rem;display:block}.registerTimelineItem p,.sessionItem p{color:var(--color-muted);margin:10px 0 0;line-height:1.6}.activityItem{border:1px solid var(--color-border);background:#fafafa;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.activityIcon{background:var(--color-soft);width:42px;height:42px;color:var(--color-primary);border-radius:14px;place-items:center;display:grid}.activityItem strong,.activityItem span{display:block}.activityItem span{color:var(--color-muted);margin-top:5px;font-size:.86rem}.activityStatus{border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900}.activityStatus.done{color:#166534;background:#dcfce7}.activityStatus.pending{color:#991b1b;background:#fee2e2}.sessionPanel{margin-bottom:40px}.sessionItem{border:1px solid var(--color-border);background:#fafafa;border-radius:20px;grid-template-columns:120px 1fr;gap:18px;padding:18px;display:grid}.sessionDate{color:var(--color-primary);font-weight:900}@media (width<=1180px){.patientDetailsGrid,.detailsColumns,.patientQuickCards{grid-template-columns:1fr}.patientProfilePanel{position:static}}@media (width<=720px){.detailsPanelHeader{flex-direction:column}.detailsPanelHeader button{justify-content:center;width:100%}.registerTimelineItem,.sessionItem,.activityItem{grid-template-columns:1fr}}.scheduleToolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.scheduleDateControl{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;align-items:center;gap:16px;padding:12px;display:flex}.scheduleDateControl button{background:var(--color-soft);width:42px;height:42px;color:var(--color-primary);cursor:pointer;border:0;border-radius:14px;place-items:center;display:grid}.scheduleDateControl span,.scheduleDateControl strong{display:block}.scheduleDateControl span{color:var(--color-muted);font-size:.86rem;font-weight:800}.scheduleDateControl strong{margin-top:4px}.newAppointmentButton{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;height:54px;padding:0 20px;font-weight:900;text-decoration:none;display:flex;box-shadow:0 14px 28px #4f46e538}.weekStrip{grid-template-columns:repeat(6,1fr);gap:16px;margin-bottom:22px;display:grid}.weekDayCard{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:22px;padding:18px}.weekDayCard span,.weekDayCard strong,.weekDayCard small{display:block}.weekDayCard span{color:var(--color-muted);font-weight:900}.weekDayCard strong{letter-spacing:-.05em;margin-top:8px;font-size:2rem}.weekDayCard small{color:var(--color-muted);margin-top:8px;font-weight:700}.weekDayCard.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.weekDayCard.active span,.weekDayCard.active small{color:#ffffffd1}.scheduleGrid{grid-template-columns:1fr 330px;align-items:start;gap:24px;display:grid}.scheduleMainPanel,.sideCard{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:26px}.scheduleMainPanel{padding:24px}.schedulePanelHeader{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:26px;display:flex}.schedulePanelHeader h2,.sideCard h2{letter-spacing:-.04em;margin:0}.schedulePanelHeader p{color:var(--color-muted);margin:7px 0 0}.scheduleViewButtons{background:#f3f4f6;border-radius:999px;gap:4px;padding:5px;display:flex}.scheduleViewButtons button{color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:9px 14px;font-weight:900}.scheduleViewButtons button.active{color:var(--color-primary);background:#fff;box-shadow:0 8px 18px #0f172a14}.appointmentTimeline{gap:16px;display:grid}.appointmentRow{grid-template-columns:92px 1fr;align-items:start;gap:18px;display:grid}.appointmentHour{padding-top:14px}.appointmentHour strong,.appointmentHour span{display:block}.appointmentHour strong{color:var(--color-primary);font-size:1.15rem}.appointmentHour span{color:var(--color-muted);margin-top:5px;font-size:.86rem;font-weight:700}.appointmentContent{border:1px solid var(--color-border);background:#fafafa;border-radius:22px;padding:18px}.appointmentTop{justify-content:space-between;gap:16px;display:flex}.appointmentTop h3{letter-spacing:-.03em;margin:0}.appointmentTop p{color:var(--color-muted);margin:5px 0 0}.appointmentStatus{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;height:fit-content;padding:7px 10px;font-size:.78rem;font-weight:900;display:inline-flex}.appointmentStatus.confirmed{color:#166534;background:#dcfce7}.appointmentStatus.pending{color:#92400e;background:#fef3c7}.appointmentMeta{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.appointmentMeta span{border:1px solid var(--color-border);color:var(--color-muted);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 10px;font-size:.86rem;font-weight:800;display:inline-flex}.appointmentNote{color:var(--color-muted);margin:14px 0 0;line-height:1.6}.appointmentActions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.appointmentActions button{background:var(--color-soft);color:var(--color-primary-dark);cursor:pointer;border:0;border-radius:12px;padding:9px 12px;font-weight:900}.scheduleSidePanel{gap:18px;display:grid;position:sticky;top:24px}.sideCard{padding:22px}.sideCard.highlight{color:#fff;background:#111827;border-color:#111827}.sideCardIcon{color:#c7d2fe;background:#ffffff1a;border-radius:18px;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid}.sideCard.highlight span,.sideCard.highlight strong{display:block}.sideCard.highlight span{color:#cbd5e1;font-weight:900}.sideCard.highlight strong{letter-spacing:-.05em;margin-top:8px;font-size:2rem}.sideCard.highlight p{color:#cbd5e1;line-height:1.6}.reminderList{gap:12px;margin-top:16px;display:grid}.reminderItem{border:1px solid var(--color-border);background:#fafafa;border-radius:18px;padding:14px}.reminderItem strong,.reminderItem span{display:block}.reminderItem span{color:var(--color-muted);margin-top:6px;font-size:.9rem;line-height:1.4}.weekSummary{gap:12px;margin-top:16px;display:grid}.weekSummary div{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:14px 0;display:flex}.weekSummary div:last-child{border-bottom:0}.weekSummary strong{font-size:1.2rem}.weekSummary span{color:var(--color-muted);font-weight:800}@media (width<=1180px){.scheduleGrid{grid-template-columns:1fr}.scheduleSidePanel{position:static}.weekStrip{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.scheduleToolbar,.schedulePanelHeader,.appointmentTop{flex-direction:column}.scheduleToolbar{align-items:stretch}.scheduleDateControl{justify-content:space-between}.newAppointmentButton{justify-content:center}.weekStrip{grid-template-columns:repeat(2,1fr)}.appointmentRow{grid-template-columns:1fr}.appointmentHour{padding-top:0}.scheduleViewButtons{width:100%}.scheduleViewButtons button{flex:1}}.patientPortal{background:radial-gradient(circle at top left, #4f46e524, transparent 30%), var(--color-bg);min-height:100vh;padding:24px}.patientPortalHeader{border:1px solid var(--color-border);max-width:1120px;height:72px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc7;border-radius:24px;justify-content:space-between;align-items:center;margin:0 auto;padding:0 20px;display:flex}.patientPortalBrand,.patientPortalUser{align-items:center;gap:12px;display:flex}.patientPortalLogo,.patientPortalAvatar{place-items:center;font-weight:900;display:grid}.patientPortalLogo{background:var(--color-primary);color:#fff;border-radius:15px;width:42px;height:42px}.patientPortalAvatar{background:var(--color-soft);width:42px;height:42px;color:var(--color-primary);border-radius:50%}.patientPortalBrand strong,.patientPortalBrand span,.patientPortalUser strong,.patientPortalUser span{display:block}.patientPortalBrand span,.patientPortalUser span{color:var(--color-muted);margin-top:4px;font-size:.84rem;font-weight:700}.patientPortalUser{text-align:right}.patientHero{grid-template-columns:1fr 360px;align-items:stretch;gap:28px;max-width:1120px;margin:52px auto 0;display:grid}.patientHero h1{letter-spacing:-.06em;margin:14px 0;font-size:clamp(2.6rem,5vw,4.4rem);line-height:.98}.patientHero p{max-width:660px;color:var(--color-muted);font-size:1.1rem;line-height:1.7}.patientEyebrow{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:8px 14px;font-weight:900;display:inline-flex}.patientPrimaryAction{background:var(--color-primary);color:#fff;border-radius:999px;align-items:center;gap:10px;width:fit-content;margin-top:24px;padding:15px 20px;font-weight:900;display:inline-flex;box-shadow:0 14px 28px #4f46e538}.nextSessionCard{color:#fff;background:#111827;border-radius:30px;padding:28px;box-shadow:0 32px 80px #11182740}.nextSessionIcon{color:#c7d2fe;background:#ffffff1a;border-radius:20px;place-items:center;width:58px;height:58px;margin-bottom:20px;display:grid}.nextSessionCard span,.nextSessionCard strong,.nextSessionCard small{display:block}.nextSessionCard span{color:#cbd5e1;font-weight:900}.nextSessionCard strong{letter-spacing:-.04em;margin-top:8px;font-size:1.5rem}.nextSessionDetails{flex-wrap:wrap;gap:10px;margin:22px 0;display:flex}.nextSessionDetails p{color:#fff;background:#ffffff1a;border-radius:999px;align-items:center;gap:7px;margin:0;padding:8px 10px;font-size:.9rem;font-weight:800;display:inline-flex}.nextSessionCard small{color:#cbd5e1}.patientPortalGrid{grid-template-columns:1fr 1fr;gap:24px;max-width:1120px;margin:30px auto 60px;display:grid}.patientPanel{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:28px;padding:24px}.patientPanelHeader{justify-content:space-between;gap:16px;margin-bottom:20px;display:flex}.patientPanelHeader svg{color:var(--color-primary)}.patientPanelHeader h2{letter-spacing:-.04em;margin:0}.patientPanelHeader p{color:var(--color-muted);margin:7px 0 0;line-height:1.5}.patientActivityList,.patientRegisterList{gap:14px;display:grid}.patientActivityItem{border:1px solid var(--color-border);background:#fafafa;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px;display:grid}.activityCheckIcon{background:var(--color-soft);width:44px;height:44px;color:var(--color-primary);border-radius:15px;place-items:center;display:grid}.patientActivityItem strong{display:block}.patientActivityItem p{color:var(--color-muted);margin:6px 0 0;font-size:.92rem;line-height:1.45}.patientStatus{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900}.patientStatus.done{color:#166534;background:#dcfce7}.patientStatus.pending{color:#92400e;background:#fef3c7}.patientRegisterItem{border:1px solid var(--color-border);background:#fafafa;border-radius:20px;padding:18px}.registerTopLine{justify-content:space-between;gap:12px;display:flex}.registerTopLine span{color:#92400e;background:#fef3c7;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:900}.registerTopLine small{color:var(--color-muted);font-weight:700}.patientRegisterItem h3{letter-spacing:-.03em;margin:14px 0 8px}.patientRegisterItem p{color:var(--color-muted);margin:0;line-height:1.6}@media (width<=900px){.patientPortalHeader{height:auto;padding:16px}.patientHero,.patientPortalGrid,.patientActivityItem{grid-template-columns:1fr}.patientStatus{width:fit-content}}@media (width<=620px){.patientPortalUser div:first-child{display:none}.patientPrimaryAction{justify-content:center;width:100%}}.patientRegisterPage{background:radial-gradient(circle at top right, #4f46e524, transparent 30%), var(--color-bg);min-height:100vh;padding:24px}.registerShell{max-width:1120px;margin:0 auto}.registerBack{margin-bottom:28px}.registerBack a{color:var(--color-primary);align-items:center;gap:8px;font-weight:900;display:inline-flex}.registerHero{grid-template-columns:1fr 340px;align-items:stretch;gap:28px;margin-bottom:28px;display:grid}.registerEyebrow{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:8px 14px;font-weight:900;display:inline-flex}.registerHero h1{letter-spacing:-.06em;margin:14px 0;font-size:clamp(2.4rem,5vw,4rem);line-height:1}.registerHero p{max-width:680px;color:var(--color-muted);font-size:1.08rem;line-height:1.7}.registerInfoCard{color:#fff;background:#111827;border-radius:28px;padding:26px;box-shadow:0 32px 80px #1118273d}.registerInfoCard svg{color:#c7d2fe;margin-bottom:18px}.registerInfoCard span,.registerInfoCard strong{display:block}.registerInfoCard span{color:#cbd5e1;font-weight:900}.registerInfoCard strong{letter-spacing:-.03em;margin-top:8px;font-size:1.25rem}.registerInfoCard p{color:#cbd5e1;margin:18px 0 0}.registerFormGrid{grid-template-columns:1fr 330px;align-items:start;gap:24px;display:grid}.registerForm,.registerSideTips article{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff}.registerForm{border-radius:30px;gap:22px;padding:26px;display:grid}.registerForm label{gap:10px;font-weight:900;display:grid}.registerForm input,.registerForm textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fafafa;border-radius:18px;outline:none}.registerForm input{height:52px;padding:0 16px}.registerForm textarea{resize:vertical;padding:16px;line-height:1.6}.registerForm input:focus,.registerForm textarea:focus{border-color:var(--color-primary);background:#fff}.moodGrid,.tagGrid{flex-wrap:wrap;gap:10px;display:flex}.moodGrid button,.tagGrid button{border:1px solid var(--color-border);color:var(--color-muted);cursor:pointer;background:#fff;border-radius:999px;font-weight:900}.moodGrid button{align-items:center;gap:7px;padding:10px 13px;display:inline-flex}.tagGrid button{padding:10px 14px}.moodGrid button:hover,.tagGrid button:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-soft)}.registerFormActions{justify-content:flex-end;gap:12px;display:flex}.saveDraftButton,.sendRegisterButton{cursor:pointer;border:0;border-radius:16px;height:48px;padding:0 18px;font-weight:900}.saveDraftButton{color:var(--color-text);background:#f3f4f6}.sendRegisterButton{background:var(--color-primary);color:#fff;align-items:center;gap:8px;display:inline-flex;box-shadow:0 14px 28px #4f46e538}.registerSideTips{gap:16px;display:grid;position:sticky;top:24px}.registerSideTips article{border-radius:24px;align-items:flex-start;gap:14px;padding:20px;display:flex}.registerSideTips svg{color:var(--color-primary);flex:none}.registerSideTips h2{letter-spacing:-.03em;margin:0;font-size:1.05rem}.registerSideTips p{color:var(--color-muted);margin:8px 0 0;font-size:.95rem;line-height:1.55}@media (width<=960px){.registerHero,.registerFormGrid{grid-template-columns:1fr}.registerSideTips{position:static}}@media (width<=620px){.registerFormActions{flex-direction:column}.saveDraftButton,.sendRegisterButton{justify-content:center;width:100%}}.newPatientBack{margin-bottom:18px}.newPatientBack a{color:var(--color-primary);align-items:center;gap:8px;font-weight:900;display:inline-flex}.newPatientGrid{grid-template-columns:1fr 330px;align-items:start;gap:24px;display:grid}.newPatientForm,.sideInfoCard{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:28px}.newPatientForm{gap:22px;padding:26px;display:grid}.newPatientForm label{gap:9px;font-weight:900;display:grid}.newPatientForm input,.newPatientForm select,.newPatientForm textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fafafa;border-radius:16px;outline:none}.newPatientForm input,.newPatientForm select{height:50px;padding:0 14px}.newPatientForm textarea{resize:vertical;padding:14px;line-height:1.6}.newPatientForm input:focus,.newPatientForm select:focus,.newPatientForm textarea:focus{border-color:var(--color-primary);background:#fff}.inviteBox{border:1px solid var(--color-border);background:#fafafa;border-radius:22px;gap:14px;padding:20px;display:grid}.inviteBoxHeader h3{letter-spacing:-.03em;margin:0}.inviteBoxHeader p{color:var(--color-muted);margin:7px 0 0;line-height:1.5}.checkboxRow{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;padding:16px;gap:14px!important;display:grid!important}.checkboxRow input{width:18px;height:18px;accent-color:var(--color-primary)}.checkboxRow strong,.checkboxRow small{display:block}.checkboxRow small{color:var(--color-muted);margin-top:5px;font-weight:700}.checkboxRow svg{color:var(--color-primary)}.newPatientActions{justify-content:flex-end;gap:12px;display:flex}.cancelButton,.savePatientButton{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:900;text-decoration:none;display:inline-flex}.cancelButton{color:var(--color-text);background:#f3f4f6}.savePatientButton{background:var(--color-primary);color:#fff;gap:8px;box-shadow:0 14px 28px #4f46e538}.savePatientButton:hover,.cancelButton:hover{transform:translateY(-1px)}.newPatientSide{gap:16px;display:grid;position:sticky;top:24px}.sideInfoCard{padding:22px}.sideInfoCard.dark{color:#fff;background:#111827;border-color:#111827}.sideInfoCard.dark svg{color:#c7d2fe}.sideInfoCard h2{letter-spacing:-.04em;margin:12px 0 8px}.sideInfoCard p{color:var(--color-muted);margin:0;line-height:1.6}.sideInfoCard.dark p{color:#cbd5e1}@media (width<=1100px){.newPatientGrid{grid-template-columns:1fr}.newPatientSide{position:static}}@media (width<=720px){.formGridTwo{grid-template-columns:1fr}.newPatientActions{flex-direction:column}.cancelButton,.savePatientButton{width:100%}.checkboxRow{grid-template-columns:auto 1fr}.checkboxRow svg{display:none}}.newAppointmentBack{margin-bottom:18px}.newAppointmentBack a{color:var(--color-primary);align-items:center;gap:8px;font-weight:900;display:inline-flex}.newAppointmentGrid{grid-template-columns:1fr 330px;align-items:start;gap:24px;display:grid}.newAppointmentForm,.appointmentSideCard{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:#fff;border-radius:28px}.newAppointmentForm{gap:22px;padding:26px;display:grid}.formSectionHeader{align-items:flex-start;gap:14px;display:flex}.sectionIcon{background:var(--color-soft);width:48px;height:48px;color:var(--color-primary);border-radius:16px;place-items:center;display:grid}.formSectionHeader h2{letter-spacing:-.04em;margin:0}.formSectionHeader p{color:var(--color-muted);margin:7px 0 0;line-height:1.5}.formGridTwo{grid-template-columns:1fr 1fr;gap:18px;display:grid}.newAppointmentForm label{gap:9px;font-weight:900;display:grid}.newAppointmentForm input,.newAppointmentForm select,.newAppointmentForm textarea{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:#fafafa;border-radius:16px;outline:none}.newAppointmentForm input,.newAppointmentForm select{height:50px;padding:0 14px}.newAppointmentForm textarea{resize:vertical;padding:14px;line-height:1.6}.newAppointmentForm input:focus,.newAppointmentForm select:focus,.newAppointmentForm textarea:focus{border-color:var(--color-primary);background:#fff}.recurrenceBox{border:1px solid var(--color-border);background:#fafafa;border-radius:22px;gap:16px;padding:20px;display:grid}.recurrenceHeader{align-items:flex-start;gap:12px;display:flex}.recurrenceHeader svg{color:var(--color-primary)}.recurrenceHeader h3{letter-spacing:-.03em;margin:0}.recurrenceHeader p{color:var(--color-muted);margin:7px 0 0;line-height:1.5}.recurrenceOptions{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.recurrenceOptions label{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:18px;grid-template-columns:auto 1fr;align-items:flex-start;gap:12px;padding:16px;display:grid}.recurrenceOptions input{width:18px;height:18px;accent-color:var(--color-primary);margin-top:2px}.recurrenceOptions strong,.recurrenceOptions small{display:block}.recurrenceOptions small{color:var(--color-muted);margin-top:5px;font-weight:700;line-height:1.4}.appointmentActions{justify-content:flex-end;gap:12px;display:flex}.cancelAppointmentButton,.saveAppointmentButton{cursor:pointer;border:0;border-radius:16px;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-weight:900;text-decoration:none;display:inline-flex}.cancelAppointmentButton{color:var(--color-text);background:#f3f4f6}.saveAppointmentButton{background:var(--color-primary);color:#fff;gap:8px;box-shadow:0 14px 28px #4f46e538}.saveAppointmentButton:hover,.cancelAppointmentButton:hover{transform:translateY(-1px)}.appointmentSide{gap:16px;display:grid;position:sticky;top:24px}.appointmentSideCard{padding:22px}.appointmentSideCard.dark{color:#fff;background:#111827;border-color:#111827}.appointmentSideCard.dark svg{color:#c7d2fe}.appointmentSideCard h2{letter-spacing:-.04em;margin:12px 0 8px}.appointmentSideCard p{color:var(--color-muted);margin:0;line-height:1.6}.appointmentSideCard.dark p{color:#cbd5e1}.sideLine{border-bottom:1px solid var(--color-border);color:var(--color-muted);align-items:center;gap:12px;padding:14px 0;font-weight:800;display:flex}.sideLine:last-child{border-bottom:0}.sideLine svg{color:var(--color-primary)}@media (width<=1100px){.newAppointmentGrid{grid-template-columns:1fr}.appointmentSide{position:static}}@media (width<=760px){.formGridTwo,.recurrenceOptions{grid-template-columns:1fr}.appointmentActions{flex-direction:column}.cancelAppointmentButton,.saveAppointmentButton{width:100%}}.psychologistRegisterPage{background:radial-gradient(circle at top left, #4f46e526, transparent 32%), var(--color-bg);min-height:100vh;padding:24px}.registerAuthShell{max-width:1120px;margin:0 auto}.authBackLink{margin-bottom:24px}.authBackLink a{color:var(--color-primary);align-items:center;gap:8px;font-weight:900;display:inline-flex}.registerAuthGrid{grid-template-columns:1fr 390px;align-items:stretch;gap:28px;display:grid}.registerAuthCard,.registerAuthAside{box-shadow:var(--shadow-soft);border-radius:32px}.registerAuthCard{border:1px solid var(--color-border);background:#fff;gap:18px;padding:34px;display:grid}.registerAuthHeader{margin-bottom:6px}.registerAuthLogo{background:var(--color-primary);color:#fff;border-radius:18px;place-items:center;width:54px;height:54px;margin-bottom:18px;font-size:1.35rem;font-weight:900;display:grid}.registerAuthHeader span{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:900;display:inline-flex}.registerAuthHeader h1{letter-spacing:-.06em;margin:14px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.registerAuthHeader p{color:var(--color-muted);margin:0;line-height:1.6}.registerFormGridTwo{grid-template-columns:1fr 1fr;gap:16px;display:grid}.registerAuthCard label{gap:9px;font-weight:900;display:grid}.registerAuthCard input,.registerAuthCard select{border:1px solid var(--color-border);width:100%;height:50px;color:var(--color-text);background:#fafafa;border-radius:16px;outline:none;padding:0 14px}.registerAuthCard input:focus,.registerAuthCard select:focus{border-color:var(--color-primary);background:#fff}.authCheckbox{color:var(--color-muted);align-items:flex-start;line-height:1.5;grid-template-columns:none!important;gap:10px!important;font-weight:700!important;display:flex!important}.authCheckbox input{width:18px;height:18px;accent-color:var(--color-primary);margin-top:2px}.registerPrimaryButton{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:18px;height:52px;font-weight:900;box-shadow:0 14px 28px #4f46e538}.registerPrimaryButton:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.authSwitchText{text-align:center;color:var(--color-muted);margin:0;font-weight:700}.authSwitchText a{color:var(--color-primary);font-weight:900}.registerAuthAside{color:#fff;background:#111827;flex-direction:column;justify-content:space-between;padding:34px;display:flex}.asideBadge{color:#c7d2fe;background:#ffffff1a;border-radius:999px;width:fit-content;padding:8px 12px;font-weight:900}.registerAuthAside h2{letter-spacing:-.06em;margin:32px 0;font-size:2.25rem;line-height:1.05}.asideBenefits{gap:16px;display:grid}.asideBenefits div{color:#e5e7eb;align-items:flex-start;gap:12px;line-height:1.5;display:flex}.asideBenefits svg{color:#c7d2fe;flex:none}@media (width<=980px){.registerAuthGrid{grid-template-columns:1fr}.registerAuthAside{min-height:360px}}@media (width<=680px){.registerFormGridTwo{grid-template-columns:1fr}.registerAuthCard,.registerAuthAside{padding:24px}}.patientInvitePage{background:radial-gradient(circle at top right, #4f46e526, transparent 32%), var(--color-bg);min-height:100vh;padding:24px}.patientInviteShell{max-width:1120px;margin:0 auto}.patientInviteGrid{grid-template-columns:1fr 390px;align-items:stretch;gap:28px;display:grid}.patientInviteCard,.patientInviteAside{box-shadow:var(--shadow-soft);border-radius:32px}.patientInviteCard{border:1px solid var(--color-border);background:#fff;gap:20px;padding:34px;display:grid}.patientInviteHeader{margin-bottom:4px}.patientInviteLogo{background:var(--color-primary);color:#fff;border-radius:18px;place-items:center;width:54px;height:54px;margin-bottom:18px;font-size:1.35rem;font-weight:900;display:grid}.patientInviteHeader span{background:var(--color-soft);color:var(--color-primary-dark);border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:900;display:inline-flex}.patientInviteHeader h1{letter-spacing:-.06em;margin:14px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1}.patientInviteHeader p{color:var(--color-muted);margin:0;line-height:1.6}.inviteSummaryBox{grid-template-columns:1fr 1fr;gap:14px;display:grid}.inviteSummaryBox div,.confirmedDataBox,.passwordBox{border:1px solid var(--color-border);background:#fafafa;border-radius:22px;padding:18px}.inviteSummaryBox small,.inviteSummaryBox strong,.inviteSummaryBox span{display:block}.inviteSummaryBox small{color:var(--color-muted);font-weight:900}.inviteSummaryBox strong{letter-spacing:-.03em;margin-top:7px}.inviteSummaryBox span{color:var(--color-muted);margin-top:5px;font-size:.88rem;line-height:1.4}.confirmedDataBox,.passwordBox{gap:16px;display:grid}.confirmedDataBox h2,.passwordBox h2{letter-spacing:-.04em;margin:0}.confirmedDataBox p{color:var(--color-muted);margin:-6px 0 0;line-height:1.5}.patientInviteCard label{gap:9px;font-weight:900;display:grid}.patientInviteCard input{border:1px solid var(--color-border);width:100%;height:50px;color:var(--color-text);background:#fff;border-radius:16px;outline:none;padding:0 14px}.patientInviteCard input:focus{border-color:var(--color-primary)}.inputWithIcon{position:relative}.inputWithIcon svg{color:var(--color-muted);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.inputWithIcon input{padding-left:44px}.patientInviteTwoColumns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.patientInviteCheckbox{color:var(--color-muted);align-items:flex-start;line-height:1.5;gap:10px!important;font-weight:700!important;display:flex!important}.patientInviteCheckbox input{width:18px;height:18px;accent-color:var(--color-primary);margin-top:2px}.patientInvitePrimaryButton{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:18px;height:52px;font-weight:900;box-shadow:0 14px 28px #4f46e538}.patientInvitePrimaryButton:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.patientInviteLoginText{text-align:center;color:var(--color-muted);margin:0;font-weight:700}.patientInviteLoginText a{color:var(--color-primary);font-weight:900}.patientInviteAside{color:#fff;background:#111827;flex-direction:column;justify-content:space-between;padding:34px;display:flex}.patientInviteAsideTop svg{color:#c7d2fe}.patientInviteAside h2{letter-spacing:-.06em;margin:22px 0 12px;font-size:2.15rem;line-height:1.05}.patientInviteAside p{color:#cbd5e1;margin:0;line-height:1.6}.patientInviteBenefits{gap:16px;margin-top:32px;display:grid}.patientInviteBenefits div{color:#e5e7eb;align-items:flex-start;gap:12px;line-height:1.5;display:flex}.patientInviteBenefits svg{color:#c7d2fe;flex:none}@media (width<=980px){.patientInviteGrid{grid-template-columns:1fr}.patientInviteAside{min-height:360px}}@media (width<=680px){.patientInviteTwoColumns,.inviteSummaryBox{grid-template-columns:1fr}.patientInviteCard,.patientInviteAside{padding:24px}}:root{--color-bg:#f6f7fb;--color-surface:#fff;--color-primary:#4f46e5;--color-primary-dark:#3730a3;--color-text:#171717;--color-muted:#6b7280;--color-border:#e5e7eb;--color-soft:#eef2ff;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 18px 45px #0f172a14;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}
