:root {
    --bg: #f5efe8;
    --panel: rgba(255, 250, 245, 0.82);
    --panel-strong: rgba(255, 255, 255, 0.94);
    --ink: #46372d;
    --muted: #8d7a69;
    --brand: #d7ba9d;
    --brand-soft: #edf3ea;
    --brand-deep: #8a6244;
    --brand-forest: #6d8774;
    --line: rgba(138, 98, 68, 0.12);
    --line-strong: rgba(138, 98, 68, 0.2);
    --shadow-soft: 0 24px 60px rgba(103, 76, 54, 0.08);
    --shadow-strong: 0 28px 80px rgba(92, 63, 42, 0.14);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Manrope', sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at 0% 10%, rgba(255, 255, 255, 0.95), transparent 30%),
        radial-gradient(circle at 100% 0%, rgba(225, 235, 225, 0.68), transparent 24%),
        radial-gradient(circle at 85% 100%, rgba(222, 206, 191, 0.42), transparent 26%),
        linear-gradient(180deg, #fcf7f2 0%, #f5ede5 46%, #f2ebe4 100%);
}

.therapy-noise {
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.9;
    background:
        radial-gradient(circle at 12% 18%, rgba(194, 168, 144, 0.12), transparent 20%),
        radial-gradient(circle at 88% 14%, rgba(187, 206, 186, 0.16), transparent 18%),
        radial-gradient(circle at 83% 82%, rgba(214, 196, 180, 0.2), transparent 20%);
}

.therapy-aura {
    position: fixed;
    z-index: 0;
    border-radius: 999px;
    filter: blur(36px);
    pointer-events: none;
    opacity: 0.5;
}

.therapy-aura-one {
    top: 90px;
    left: 32px;
    width: 220px;
    height: 220px;
    background: rgba(229, 213, 193, 0.7);
}

.therapy-aura-two {
    right: 40px;
    bottom: 90px;
    width: 280px;
    height: 280px;
    background: rgba(219, 230, 220, 0.58);
}

.therapy-shell {
    align-items: start;
}

.therapy-sidebar,
.therapy-topbar,
.therapy-panel,
.therapy-card,
.therapy-auth-aside,
.therapy-auth-card {
    border: 1px solid rgba(255, 255, 255, 0.74);
    background: var(--panel);
    backdrop-filter: blur(20px);
    box-shadow: var(--shadow-soft);
}

.therapy-sidebar {
    position: sticky;
    top: 12px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    overflow: hidden;
}

.therapy-brand-panel {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.55), rgba(255,255,255,0.2)),
        linear-gradient(145deg, rgba(244,236,228,0.95), rgba(251,247,242,0.6));
    border: 1px solid rgba(255,255,255,0.78);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.5), var(--shadow-soft);
}

.therapy-brand-panel::after {
    content: "";
    position: absolute;
    inset: auto -35px -55px auto;
    width: 150px;
    height: 150px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(109,135,116,0.12), transparent 68%);
}

.therapy-brand-lockup {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.therapy-auth-brand-lockup {
    align-items: center;
    text-align: center;
}

.therapy-auth-brand-title {
    font-size: clamp(2rem, 2.4vw, 2.75rem);
    line-height: 0.95;
}

.therapy-auth-brand-subtitle {
    font-size: 0.95rem;
    letter-spacing: 0.02em;
}

.therapy-auth-brand-copy {
    max-width: 15rem;
    text-align: center;
    font-size: 0.96rem;
    line-height: 1.6;
}

.therapy-brand-logo-image {
    display: block;
    object-fit: contain;
    object-position: center;
}

.therapy-brand-logo-login {
    max-width: 220px;
    width: 100%;
    max-height: 110px;
}

.therapy-brand-logo-sidebar {
    max-width: 180px;
    width: 100%;
    max-height: 92px;
}

.therapy-brand-panel.has-brand-art {
    padding: 0.85rem;
    min-height: 300px;
    display: flex;
    align-items: stretch;
}

.therapy-brand-panel-art {
    width: 100%;
    height: 100%;
    min-height: 268px;
    display: block;
    object-fit: cover;
    object-position: center;
    border-radius: 1.55rem;
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 40px rgba(115, 85, 60, 0.08);
}

.therapy-brand-panel-art-login {
    max-width: 100%;
    min-height: 190px;
}

.therapy-brand-panel-art-login-unified {
    width: 100%;
    max-width: 320px;
    min-height: 220px;
    margin-inline: auto;
    object-position: center center;
}

.therapy-settings-preview {
    width: 100%;
    height: 132px;
    object-fit: cover;
    border-radius: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.82);
    box-shadow: var(--shadow-soft);
    background: rgba(255,255,255,0.8);
}

.therapy-settings-preview-logo {
    height: 110px;
    object-fit: contain;
    padding: 0.85rem;
}

.therapy-admin-hero.has-cover {
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.55), var(--shadow-soft);
}

.therapy-verse-rotator {
    position: relative;
    min-height: 92px;
}

.therapy-verse-item {
    display: none;
    border: 1px solid rgba(255,255,255,0.78);
    box-shadow: var(--shadow-soft);
}

.therapy-verse-item.is-active {
    display: block;
}

.therapy-verse-inline {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}

.therapy-dashboard-verse {
    max-width: 54rem;
    font-size: 1.2rem;
    line-height: 1.7;
    color: var(--muted);
}

.therapy-patient-edit-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 140px;
    gap: 1rem;
    align-items: start;
}

.therapy-patient-actions-sticky {
    position: sticky;
    top: 92px;
    display: grid;
    gap: 0.6rem;
}

.therapy-patient-actions .therapy-chip {
    width: 100%;
    min-height: 42px;
}

.therapy-patient-floating-shell {
    position: relative;
}

.therapy-team-thumb {
    width: 100%;
    height: 148px;
    object-fit: cover;
    border-radius: 1.2rem;
    border: 1px solid rgba(255,255,255,0.82);
}

.therapy-lotus-mark {
    position: relative;
    width: 64px;
    height: 52px;
    color: rgba(138, 98, 68, 0.9);
}

.therapy-lotus-mark-sidebar {
    width: 56px;
    height: 46px;
}

.therapy-lotus-center,
.therapy-lotus-petal {
    position: absolute;
    left: 50%;
    border: 2px solid currentColor;
    border-radius: 999px 999px 999px 999px / 75% 75% 125% 125%;
    background: rgba(255,255,255,0.18);
    transform-origin: center bottom;
}

.therapy-lotus-center {
    width: 16px;
    height: 22px;
    margin-left: -8px;
    top: 14px;
}

.therapy-lotus-petal {
    width: 18px;
    height: 24px;
    margin-left: -9px;
    top: 10px;
}

.therapy-lotus-petal-top {
    transform: translateY(-10px);
}

.therapy-lotus-petal-left {
    transform: translateX(-14px) rotate(-26deg);
}

.therapy-lotus-petal-right {
    transform: translateX(14px) rotate(26deg);
}

.therapy-lotus-petal-bottom-left {
    width: 16px;
    height: 20px;
    top: 20px;
    transform: translateX(-24px) rotate(-48deg);
}

.therapy-lotus-petal-bottom-right {
    width: 16px;
    height: 20px;
    top: 20px;
    transform: translateX(24px) rotate(48deg);
}

.therapy-brand-mark {
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    background: linear-gradient(145deg, #f6ede4, #ffffff);
    border: 1px solid rgba(138, 98, 68, 0.1);
    color: var(--brand-deep);
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    box-shadow: 0 16px 30px rgba(138, 98, 68, 0.08);
}

.therapy-brand-branch {
    position: absolute;
    left: -18px;
    bottom: 28px;
    width: 120px;
    height: 180px;
    opacity: 0.24;
    background:
        radial-gradient(circle at 72% 12%, rgba(138,98,68,0.78) 0 4px, transparent 5px),
        radial-gradient(circle at 58% 26%, rgba(138,98,68,0.72) 0 4px, transparent 5px),
        radial-gradient(circle at 76% 38%, rgba(138,98,68,0.62) 0 4px, transparent 5px),
        linear-gradient(90deg, transparent 47%, rgba(138,98,68,0.42) 48%, rgba(138,98,68,0.42) 50%, transparent 51%);
}

.therapy-nav-item {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    border-radius: 1.15rem;
    padding: 0.95rem 1rem;
    color: var(--ink);
    text-decoration: none;
    background: rgba(255,255,255,0.42);
    border: 1px solid transparent;
    transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.therapy-nav-dot {
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(215,186,157,0.95), rgba(109,135,116,0.75));
    box-shadow: 0 0 0 5px rgba(255,255,255,0.68);
    flex: 0 0 auto;
}

.therapy-nav-item:hover,
.therapy-nav-item.is-active {
    transform: translateX(4px);
    background: rgba(255,255,255,0.92);
    border-color: var(--line);
    box-shadow: 0 14px 26px rgba(97, 77, 57, 0.08);
}

.therapy-profile-panel {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.74), rgba(255,255,255,0.42)),
        linear-gradient(145deg, rgba(245,238,231,0.88), rgba(252,248,244,0.6));
    border: 1px solid rgba(255,255,255,0.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.44), var(--shadow-soft);
}

.therapy-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: sticky;
    top: 12px;
    z-index: 5;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,251,247,0.7)),
        rgba(255, 251, 247, 0.65);
    border: 1px solid rgba(255,255,255,0.8);
}

.therapy-topbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.therapy-status-pill,
.therapy-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.55rem;
    border-radius: 999px;
    padding: 0 1rem;
    border: 1px solid var(--line);
    text-decoration: none;
    color: var(--ink);
}

.therapy-chip {
    background: rgba(255,255,255,0.82);
}

.therapy-status-pill {
    background: linear-gradient(135deg, rgba(233,240,228,0.95), rgba(248,241,232,0.95));
    color: var(--brand-forest);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.therapy-panel,
.therapy-card {
    position: relative;
    overflow: hidden;
}

.therapy-panel::before,
.therapy-card::before,
.therapy-kpi::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.22), transparent 36%);
}

.therapy-kpi {
    position: relative;
    overflow: hidden;
    border-radius: 1.8rem;
    padding: 1.35rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.88), rgba(255,255,255,0.72)),
        var(--panel-strong);
    border: 1px solid rgba(255,255,255,0.74);
    box-shadow: 0 20px 42px rgba(97, 77, 57, 0.06);
}

.therapy-grid {
    display: grid;
    gap: 1rem;
}

.therapy-auth-shell {
    display: grid;
    grid-template-columns: minmax(0, 410px) minmax(0, 1fr);
    min-height: calc(100vh - 3rem);
    gap: 1rem;
}

.therapy-auth-unified {
    position: relative;
    min-height: calc(100vh - 3rem);
    grid-template-columns: 1fr;
    overflow: hidden;
    border-radius: 2rem;
    background:
        linear-gradient(180deg, rgba(255, 249, 243, 0.28), rgba(241, 229, 218, 0.44)),
        rgba(255,255,255,0.32);
}

.therapy-auth-unified-content {
    position: relative;
    z-index: 2;
    min-height: calc(100vh - 3rem);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.2rem;
    width: 100%;
}

.therapy-auth-unified-backdrop {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 18%, rgba(255,255,255,0.36), transparent 16%),
        radial-gradient(circle at 82% 82%, rgba(214,197,180,0.28), transparent 18%);
    pointer-events: none;
    z-index: 1;
}

.therapy-auth-aside {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(254,251,247,0.92), rgba(242,232,223,0.88));
}

.therapy-auth-hero {
    min-height: 100%;
    background:
        linear-gradient(180deg, rgba(255, 249, 243, 0.58), rgba(241, 229, 218, 0.72)),
        url('therapy-reference-bg.jpeg') center center / cover no-repeat;
}

.therapy-auth-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.02)),
        radial-gradient(circle at 12% 88%, rgba(255, 245, 236, 0.68), transparent 24%);
    pointer-events: none;
}

.therapy-auth-aside::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 92%, rgba(214,197,180,0.65), transparent 24%),
        radial-gradient(circle at 18% 25%, rgba(226,205,186,0.32), transparent 16%),
        radial-gradient(circle at 78% 16%, rgba(222,232,223,0.4), transparent 18%);
}

.therapy-auth-logo-mark {
    display: inline-flex;
    width: 76px;
    height: 76px;
    align-items: center;
    justify-content: center;
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,0.92), rgba(247,238,230,0.82));
    border: 1px solid rgba(138, 98, 68, 0.1);
    box-shadow: 0 18px 40px rgba(115, 85, 60, 0.12);
    color: var(--brand-deep);
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.4rem;
}

.therapy-auth-softcard {
    background: linear-gradient(180deg, rgba(255,255,255,0.76), rgba(255,247,241,0.68));
    border: 1px solid rgba(255,255,255,0.74);
    box-shadow: 0 22px 50px rgba(102, 74, 51, 0.1);
    backdrop-filter: blur(10px);
}

.therapy-auth-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.76), rgba(255,250,246,0.7)),
        rgba(255,255,255,0.56);
}

.therapy-login-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,248,243,0.84)),
        rgba(255,255,255,0.82);
    border: 1px solid rgba(255,255,255,0.82);
    box-shadow: 0 28px 80px rgba(94, 68, 47, 0.12);
    backdrop-filter: blur(14px);
}

.therapy-login-card-unified {
    background:
        linear-gradient(180deg, rgba(255,255,255,0.86), rgba(255,248,243,0.74)),
        rgba(255,255,255,0.78);
    box-shadow: 0 30px 90px rgba(94, 68, 47, 0.14);
    margin-inline: auto;
    width: min(620px, calc(100vw - 3rem));
}

.therapy-input,
.therapy-select,
.therapy-textarea {
    width: 100%;
    border-radius: 1.15rem;
    border: 1px solid rgba(140, 108, 83, 0.16);
    background: rgba(255,255,255,0.94);
    padding: 0.95rem 1rem;
    color: var(--ink);
    outline: none;
    transition: border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

.therapy-input:focus,
.therapy-select:focus,
.therapy-textarea:focus,
input:focus,
select:focus,
textarea:focus {
    border-color: rgba(138, 98, 68, 0.35);
    box-shadow: 0 0 0 4px rgba(215, 186, 157, 0.16);
    transform: translateY(-1px);
}

.therapy-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.15rem;
    border-radius: 999px;
    padding: 0 1.2rem;
    font-weight: 800;
    letter-spacing: 0.01em;
}

.therapy-button-primary {
    background: linear-gradient(135deg, #d0ad8a 0%, #a57653 100%);
    color: white;
    box-shadow: 0 18px 34px rgba(110, 80, 57, 0.18);
}

.therapy-button-secondary {
    background: linear-gradient(135deg, #edf3ea 0%, #dde9d8 100%);
    color: #4f6655;
}

.therapy-hero-card {
    position: relative;
    overflow: hidden;
    min-height: 320px;
    background:
        linear-gradient(90deg, rgba(255,250,246,0.82) 0%, rgba(255,249,244,0.74) 48%, rgba(244,233,223,0.42) 100%),
        url('therapy-reference-bg.jpeg') right center / cover no-repeat;
    border: 1px solid rgba(255,255,255,0.82);
    box-shadow: 0 24px 56px rgba(96, 69, 48, 0.1);
}

.therapy-hero-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,248,242,0.24), transparent 55%),
        radial-gradient(circle at 84% 18%, rgba(255,255,255,0.32), transparent 24%);
    pointer-events: none;
}

.therapy-next-session-card {
    position: relative;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.92), rgba(253,247,241,0.82));
    border: 1px solid rgba(255,255,255,0.82);
    box-shadow: 0 18px 42px rgba(95, 69, 49, 0.08);
}

.therapy-progress-feature {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1.1rem;
    border-radius: 1.6rem;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(255,255,255,0.84);
}

.therapy-progress-ring {
    --progress-angle: calc(var(--progress) * 3.6deg);
    display: grid;
    place-items: center;
    width: 108px;
    height: 108px;
    border-radius: 999px;
    background:
        conic-gradient(var(--brand-deep) 0deg var(--progress-angle), rgba(224, 211, 198, 0.65) var(--progress-angle) 360deg);
    box-shadow: inset 0 0 0 8px rgba(255,255,255,0.18);
}

.therapy-progress-ring-inner {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    border-radius: 999px;
    background: rgba(255, 251, 247, 0.96);
    color: var(--brand-deep);
    font-weight: 800;
    font-size: 1.2rem;
}

.therapy-dashboard-tile {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.9), rgba(255,248,241,0.78));
    border: 1px solid rgba(255,255,255,0.82);
    box-shadow: 0 18px 44px rgba(95, 69, 49, 0.08);
}

.therapy-dashboard-plant::after {
    content: "";
    position: absolute;
    right: -12px;
    bottom: -8px;
    width: 120px;
    height: 140px;
    opacity: 0.22;
    background:
        radial-gradient(circle at 42% 28%, rgba(109,135,116,0.95) 0 16px, transparent 17px),
        radial-gradient(circle at 68% 34%, rgba(109,135,116,0.95) 0 18px, transparent 19px),
        radial-gradient(circle at 54% 55%, rgba(109,135,116,0.8) 0 14px, transparent 15px),
        linear-gradient(90deg, transparent 49%, rgba(138,98,68,0.42) 50%, transparent 51%);
}

.therapy-modern-calendar {
    border-radius: 1.75rem;
    background: linear-gradient(180deg, rgba(255,255,255,0.86), rgba(252,245,239,0.8));
    border: 1px solid rgba(255,255,255,0.84);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.74);
    padding: 1.2rem;
}

.therapy-calendar-head,
.therapy-calendar-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.65rem;
}

.therapy-calendar-head {
    margin-bottom: 0.9rem;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
}

.therapy-calendar-day {
    display: grid;
    place-items: center;
    min-height: 64px;
    border-radius: 1.2rem;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(140,108,83,0.08);
    color: var(--brand-deep);
    font-weight: 700;
}

.therapy-calendar-day.is-active {
    background: linear-gradient(135deg, rgba(215,186,157,0.92), rgba(165,118,83,0.92));
    color: white;
    box-shadow: 0 18px 34px rgba(110, 80, 57, 0.2);
}

.therapy-calendar-appointment {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 1.3rem;
    background: rgba(255,255,255,0.74);
    border: 1px solid rgba(255,255,255,0.82);
}

.therapy-reminder-card {
    background:
        linear-gradient(135deg, rgba(255,255,255,0.9), rgba(247,239,231,0.84));
    border: 1px solid rgba(255,255,255,0.8);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.72);
}

.therapy-admin-hero {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    background:
        linear-gradient(90deg, rgba(255,249,244,0.9) 0%, rgba(255,248,242,0.82) 48%, rgba(242,231,220,0.42) 100%),
        url('therapy-reference-bg.jpeg') right center / cover no-repeat;
    border: 1px solid rgba(255,255,255,0.84);
    box-shadow: 0 24px 58px rgba(94, 68, 47, 0.1);
}

.therapy-admin-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(255,248,242,0.18), transparent 58%),
        radial-gradient(circle at 86% 18%, rgba(255,255,255,0.34), transparent 24%);
    pointer-events: none;
}

.therapy-soft-stat,
.therapy-soft-card {
    position: relative;
    overflow: hidden;
    border-radius: 1.6rem;
    background:
        linear-gradient(180deg, rgba(255,255,255,0.88), rgba(252,245,239,0.76));
    border: 1px solid rgba(255,255,255,0.84);
    box-shadow: 0 16px 38px rgba(96, 69, 48, 0.08);
}

.therapy-soft-stat {
    padding: 1.2rem;
}

.therapy-soft-stat-compact {
    min-height: 92px;
    padding: 0.75rem 0.9rem !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.therapy-soft-card::before,
.therapy-soft-stat::before,
.therapy-table-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255,255,255,0.2), transparent 40%);
}

.therapy-spark-card {
    padding: 0.85rem;
}

.therapy-sparkline {
    width: 100%;
    height: 72px;
    display: block;
    overflow: visible;
}

.therapy-table-wrap {
    position: relative;
    border-radius: 1.6rem;
    background: rgba(255,255,255,0.56);
    border: 1px solid rgba(255,255,255,0.76);
    padding: 0.35rem;
}

.therapy-panel form {
    position: relative;
}

.therapy-panel form[class*="grid"] {
    border-radius: 1.6rem;
}

.therapy-panel article[class*="bg-white/85"],
.therapy-panel div[class*="bg-white/85"] {
    border: 1px solid rgba(255,255,255,0.82);
    box-shadow: 0 14px 32px rgba(97, 77, 57, 0.06);
}

.therapy-panel input[type="text"]:not(.therapy-input),
.therapy-panel input[type="number"]:not(.therapy-input),
.therapy-panel input[type="date"]:not(.therapy-input),
.therapy-panel select:not(.therapy-input):not(.therapy-select),
.therapy-panel textarea:not(.therapy-input):not(.therapy-textarea) {
    width: 100%;
    border-radius: 0.95rem;
    border: 1px solid rgba(140, 108, 83, 0.16);
    background: rgba(255,255,255,0.9);
    color: var(--ink);
    padding: 0.7rem 0.85rem;
}

.therapy-panel button:not(.therapy-button) {
    border-radius: 0.95rem;
    border: 1px solid rgba(138, 98, 68, 0.12);
    box-shadow: 0 10px 24px rgba(94, 68, 47, 0.08);
}

.therapy-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.therapy-table thead th {
    position: sticky;
    top: 0;
    background: rgba(250, 245, 239, 0.96);
    backdrop-filter: blur(12px);
}

.therapy-table th,
.therapy-table td {
    padding: 1rem 0.85rem;
    border-bottom: 1px solid rgba(140, 108, 83, 0.08);
    text-align: left;
    font-size: 0.93rem;
    vertical-align: top;
}

.therapy-table tbody tr {
    transition: background 140ms ease;
}

.therapy-table tbody tr:hover {
    background: rgba(255,255,255,0.46);
}

.therapy-row-link {
    cursor: pointer;
}

.therapy-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 0.38rem 0.78rem;
    font-size: 0.72rem;
    font-weight: 800;
    background: rgba(255,255,255,0.88);
    border: 1px solid var(--line);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.therapy-flash {
    border-radius: 1.5rem;
    border: 1px solid rgba(255,255,255,0.8);
    background:
        linear-gradient(180deg, rgba(255,255,255,0.84), rgba(251,247,243,0.78));
    box-shadow: 0 18px 40px rgba(91,78,59,0.08);
}

html {
    font-size: 12px;
}

.therapy-shell {
    max-width: 1420px;
}

.therapy-sidebar {
    padding: 1rem !important;
}

.therapy-topbar,
.therapy-panel,
.therapy-auth-card,
.therapy-auth-aside {
    padding: 0.9rem !important;
}

.therapy-brand-panel,
.therapy-profile-panel,
.therapy-login-card,
.therapy-next-session-card,
.therapy-dashboard-tile,
.therapy-soft-stat,
.therapy-soft-card {
    padding: 0.8rem !important;
}

.therapy-nav-item {
    border-radius: 1rem;
    padding: 0.62rem 0.72rem;
}

.therapy-brand-mark {
    width: 54px;
    height: 54px;
    font-size: 1.75rem;
}

.therapy-chip,
.therapy-button {
    min-height: 2.3rem;
    font-size: 0.84rem;
}

.therapy-button {
    padding: 0 0.85rem;
}

.therapy-input,
.therapy-select,
.therapy-textarea {
    border-radius: 0.85rem;
    padding: 0.58rem 0.72rem;
    font-size: 0.92rem;
}

.therapy-kpi {
    border-radius: 1.4rem;
    padding: 0.8rem;
}

.therapy-soft-stat,
.therapy-soft-card,
.therapy-table-wrap,
.therapy-modern-calendar {
    border-radius: 1.3rem;
}

.therapy-progress-feature {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.72rem;
    border-radius: 1.1rem;
}

.therapy-progress-ring {
    width: 88px;
    height: 88px;
}

.therapy-progress-ring-inner {
    width: 62px;
    height: 62px;
    font-size: 1rem;
}

.therapy-hero-card {
    min-height: 205px;
}

.therapy-admin-hero {
    min-height: 168px;
}

.therapy-calendar-day {
    min-height: 42px;
    border-radius: 0.85rem;
}

.therapy-calendar-appointment {
    padding: 0.68rem 0.8rem;
    border-radius: 0.95rem;
}

.therapy-table th,
.therapy-table td {
    padding: 0.56rem 0.52rem;
    font-size: 0.82rem;
}

.therapy-badge {
    padding: 0.22rem 0.52rem;
    font-size: 0.62rem;
}

.therapy-panel h2 {
    font-size: clamp(1.55rem, 1.8vw, 2rem) !important;
}

.therapy-panel h3 {
    font-size: clamp(1.2rem, 1.45vw, 1.5rem) !important;
}

.therapy-topbar h1 {
    font-size: clamp(1.8rem, 2.4vw, 2.2rem) !important;
}

.therapy-brand-panel > p:first-of-type {
    font-size: clamp(2.3rem, 2.8vw, 3rem) !important;
}

.therapy-panel textarea {
    min-height: 64px;
}

.therapy-panel textarea.min-h-\[120px\] {
    min-height: 76px !important;
}

.therapy-panel textarea.min-h-\[140px\] {
    min-height: 84px !important;
}

.therapy-panel textarea.min-h-\[100px\] {
    min-height: 68px !important;
}

.therapy-panel .grid.gap-3,
.therapy-panel .grid.gap-4,
.therapy-panel .grid.gap-5 {
    gap: 0.5rem !important;
}

.therapy-compact-form label {
    margin-bottom: 0.35rem !important;
}

.therapy-compact-form .therapy-input,
.therapy-compact-form .therapy-select,
.therapy-compact-form .therapy-textarea {
    min-height: 2.2rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.therapy-compact-textarea {
    min-height: 54px !important;
}

.therapy-medium-textarea {
    min-height: 72px !important;
}

.therapy-summary-band {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.45rem;
}

.therapy-summary-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    min-height: 2.6rem;
    padding: 0.45rem 0.7rem;
    border-radius: 999px;
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(255,255,255,0.84);
    box-shadow: 0 10px 24px rgba(96, 69, 48, 0.06);
}

.therapy-summary-pill span {
    color: var(--muted);
    font-size: 0.74rem;
    white-space: nowrap;
}

.therapy-summary-pill strong {
    color: var(--brand-deep);
    font-size: 0.86rem;
    white-space: nowrap;
}

.therapy-accordion {
    border: 1px solid rgba(255,255,255,0.82);
    border-radius: 1rem;
    background: rgba(255,255,255,0.42);
    padding: 0.35rem 0.55rem 0.55rem;
}

.therapy-accordion > summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--brand-deep);
    padding: 0.15rem 0 0.1rem;
}

.therapy-accordion > summary::-webkit-details-marker {
    display: none;
}

.therapy-accordion:not([open]) {
    padding-bottom: 0.2rem;
}

.therapy-accordion:not([open]) > form {
    display: none;
}

.therapy-panel p,
.therapy-panel label,
.therapy-panel li,
.therapy-panel td,
.therapy-panel th,
.therapy-panel input,
.therapy-panel select,
.therapy-panel textarea,
.therapy-topbar p,
.therapy-sidebar p,
.therapy-sidebar a {
    font-size: 0.92rem;
}

.therapy-grid {
    gap: 0.75rem;
}

.therapy-auth-shell {
    min-height: calc(100vh - 1rem);
}

@media (min-width: 1025px) and (max-width: 1440px) {
    .therapy-shell {
        grid-template-columns: 280px minmax(0,1fr) !important;
    }

    .therapy-auth-shell {
        grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
        min-height: calc(100vh - 2rem);
    }

    .therapy-auth-unified {
        grid-template-columns: 1fr;
    }
}

a,
button {
    transition: transform 140ms ease, box-shadow 140ms ease, opacity 140ms ease;
}

a:hover,
button:hover {
    opacity: 0.96;
}

button:hover,
.therapy-button:hover {
    transform: translateY(-1px);
}

@media (max-width: 1200px) {
    .therapy-topbar {
        position: static;
    }

    .therapy-sidebar {
        position: static;
    }
}

@media (max-width: 1024px) {
    .therapy-summary-band {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .therapy-auth-shell,
    .therapy-grid,
    .therapy-shell {
        grid-template-columns: 1fr;
    }

    .therapy-auth-unified-content {
        padding: 1.4rem;
    }

    .therapy-topbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .therapy-topbar-actions {
        justify-content: flex-start;
    }

    .therapy-progress-feature {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

@media (max-width: 720px) {
    .therapy-summary-band {
        grid-template-columns: 1fr;
    }

    .therapy-brand-panel,
    .therapy-panel,
    .therapy-card,
    .therapy-topbar,
    .therapy-sidebar,
    .therapy-auth-aside,
    .therapy-auth-card,
    .therapy-auth-unified,
    .therapy-login-card-unified {
        border-radius: 1.5rem;
    }

    .therapy-kpi {
        border-radius: 1.35rem;
    }

    .therapy-hero-card {
        min-height: 280px;
        background-position: 72% center;
    }

    .therapy-admin-hero {
        min-height: 240px;
        background-position: 72% center;
    }

    .therapy-calendar-head,
    .therapy-calendar-days {
        gap: 0.4rem;
    }

    .therapy-calendar-day {
        min-height: 52px;
        border-radius: 0.95rem;
    }

    .therapy-calendar-appointment {
        flex-direction: column;
        align-items: flex-start;
    }
}

.therapy-thread-card {
    display: block;
    border: 1px solid rgba(162, 128, 102, 0.14);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.82);
    padding: 0.95rem 1rem;
    text-decoration: none;
    transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.therapy-thread-card:hover {
    transform: translateY(-1px);
    border-color: rgba(162, 128, 102, 0.3);
    box-shadow: 0 16px 32px rgba(162, 128, 102, 0.1);
}

.therapy-thread-card.is-active {
    border-color: rgba(162, 128, 102, 0.38);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(243, 231, 216, 0.92));
}

.therapy-menu-count {
    margin-left: auto;
    display: inline-flex;
    min-width: 1.5rem;
    height: 1.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--brand-deep);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1;
}

.therapy-menu-count.is-hidden {
    display: none;
}

.therapy-thread-badge {
    display: inline-flex;
    min-width: 1.6rem;
    height: 1.6rem;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--brand-deep);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
}

.therapy-chat-shell {
    display: grid;
    gap: 1rem;
}

.therapy-chat-messages {
    display: grid;
    gap: 0.85rem;
    max-height: 34rem;
    overflow-y: auto;
    padding-right: 0.25rem;
}

.therapy-chat-bubble {
    max-width: min(42rem, 92%);
    border: 1px solid rgba(162, 128, 102, 0.14);
    border-radius: 1.35rem 1.35rem 1.35rem 0.5rem;
    background: rgba(255, 255, 255, 0.9);
    padding: 0.9rem 1rem;
    box-shadow: 0 12px 26px rgba(162, 128, 102, 0.08);
}

.therapy-chat-bubble.is-own {
    margin-left: auto;
    border-radius: 1.35rem 1.35rem 0.5rem 1.35rem;
    background: linear-gradient(135deg, rgba(226, 202, 180, 0.92), rgba(248, 239, 228, 0.98));
}

.therapy-chat-form {
    border-top: 1px solid rgba(162, 128, 102, 0.12);
    padding-top: 1rem;
}

.therapy-chat-textarea {
    min-height: 6.6rem;
}

.therapy-tabbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.therapy-tab-button {
    border: 1px solid rgba(162, 128, 102, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--muted);
    padding: 0.55rem 0.95rem;
    font-size: 0.78rem;
    font-weight: 700;
    transition: all 0.18s ease;
}

.therapy-tab-button.is-active {
    border-color: rgba(162, 128, 102, 0.34);
    background: rgba(225, 205, 184, 0.42);
    color: var(--brand-deep);
}

.therapy-tab-panel {
    display: none;
    gap: 0.75rem;
}

.therapy-tab-panel.is-active {
    display: grid;
}

.therapy-chip.has-alert {
    background: rgba(208, 169, 136, 0.26);
    border-color: rgba(162, 128, 102, 0.35);
    color: var(--brand-deep);
    font-weight: 700;
}

.therapy-live-toast {
    position: fixed;
    right: 1.2rem;
    bottom: 1.2rem;
    z-index: 90;
    width: min(24rem, calc(100vw - 2rem));
    border: 1px solid rgba(162, 128, 102, 0.18);
    border-radius: 1.3rem;
    background: rgba(255, 251, 246, 0.96);
    box-shadow: 0 24px 60px rgba(108, 77, 51, 0.18);
    padding: 0.95rem 1rem;
    backdrop-filter: blur(12px);
}

.therapy-live-toast.is-hidden {
    display: none;
}

.therapy-live-toast-title {
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--brand-deep);
}

.therapy-live-toast-body {
    margin-top: 0.4rem;
    font-size: 0.84rem;
    line-height: 1.55;
    color: var(--ink);
}

@media (max-width: 720px) {
    .therapy-chat-bubble {
        max-width: 100%;
    }

    .therapy-chat-messages {
        max-height: none;
    }

    .therapy-live-toast {
        right: 0.8rem;
        left: 0.8rem;
        width: auto;
        bottom: 0.8rem;
    }
}
