:root{--font-family-primary:"Segoe UI", SegoeUI, system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;--color-bg:#f5f7ff;--color-surface:#fff;--color-card:#fff;--color-border:#e3e7f5;--color-border-soft:#eef1fb;--color-text:#23263a;--color-text-soft:#666d86;--color-text-muted:#8a91ab;--color-primary-700:#6e7ff5;--color-primary-600:#5f6ee6;--color-primary-100:#eef1ff;--color-accent:#5a4fd3;--color-brand-1:#eef1ff;--color-brand-2:#fff;--color-brand-3:#f3efff;--shadow-xs:none;--shadow-card:none;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:20px;--space-5:24px;--space-6:32px;--font-size-xs:12px;--font-size-sm:13px;--font-size-base:14px;--font-size-md:15px;--font-size-lg:16px;--font-size-xl:18px;--font-size-2xl:20px;--font-size-3xl:24px;--line-height-xs:16px;--line-height-sm:18px;--line-height-base:20px;--line-height-md:22px;--line-height-lg:24px;--line-height-xl:26px;--line-height-2xl:28px;--line-height-3xl:32px;--transition-base:.18s ease;--control-height:40px;--control-height-sm:36px;--control-padding-x:16px}*,:before,:after{box-sizing:border-box}*{min-width:0;margin:0;padding:0}html,body{min-height:100%}body{color:var(--color-text);font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:400}.ui-skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#eceff8 0%,#f6f8fd 45%,#e9edf8 100%) 0 0/220% 100%;width:100%;animation:1.3s ease-in-out infinite ui-skeleton-shimmer;display:inline-flex}.ui-skeleton--circle{border-radius:50%}.ui-skeleton-title{width:min(420px,62%);height:30px;margin-bottom:var(--space-1)}.ui-skeleton-inline{width:180px;height:16px}.ui-skeleton-inline--sm{width:120px;height:12px}.ui-skeleton-pill{width:260px;height:var(--control-height);border-radius:var(--radius-pill)}.ui-skeleton-chip{width:100px;height:var(--control-height-sm);border-radius:var(--radius-pill)}.ui-skeleton-button{width:156px;height:var(--control-height);border-radius:var(--radius-pill)}.ui-skeleton-button--full{width:100%}.ui-skeleton-field{border-radius:var(--radius-md);width:100%;height:44px}.ui-skeleton-block{border-radius:var(--radius-lg);width:100%;height:180px}.ui-skeleton-table{width:100%;padding:var(--space-3)}.ui-skeleton-table__header{width:100%;height:44px;margin-bottom:var(--space-2);border-radius:var(--radius-md)}.ui-skeleton-table__row{gap:var(--space-2);border-bottom:1px solid var(--color-border-soft);grid-template-columns:1.5fr 1fr 1fr .8fr;padding:10px 0;display:grid}.ui-skeleton-table__row:last-child{border-bottom:none}.ui-skeleton-table__cell{border-radius:var(--radius-sm);height:14px}.ui-skeleton-table__cell--lg{width:90%}.ui-skeleton-table__cell--sm{width:70%}.ui-skeleton-session-card{border-radius:var(--radius-lg);height:110px}@keyframes ui-skeleton-shimmer{0%{background-position:100%}to{background-position:-100%}}@media (prefers-reduced-motion:reduce){.ui-skeleton{background:#eceff8;animation:none}}img,picture,svg,video,canvas{max-width:100%;display:block}a,a:visited{text-decoration:none}button,input,select,textarea{font:inherit}ul,ol{list-style:none}.app-shell{background:var(--color-bg);min-height:100vh;display:flex}.app-shell__content{background:radial-gradient(circle at 15% -10%, #e6ebff 0%, transparent 45%), radial-gradient(circle at 85% -10%, #efe9ff 0%, transparent 40%), var(--color-bg);flex-direction:column;flex:1;min-width:0;display:flex}.app-shell__main{padding:var(--space-5)}.page-layout,.patients-page,.sessions-page,.goals-page,.patient-record,.patient-edit{width:100%;max-width:1240px;margin:0 auto}.page-layout,.patients-section,.sessions-container,.patient-record,.patient-edit{gap:var(--space-4);flex-direction:column;display:flex}.assistant-page,.assistant-container{width:100%}.page-header,.patients-section__header,.sessions-header,.patient-edit__header,.patient-record__header{flex-direction:column;gap:2px;display:flex}.patients-section__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-flow:wrap}.patients-section__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.patients-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.patients-filters__expanded{display:contents}.patients-filters__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.patients-filter-chip{border:1px solid var(--color-border);min-height:42px;color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);cursor:pointer;transition:all var(--transition-base);box-shadow:none;background:#ffffffe6;border-radius:999px;align-items:center;gap:10px;padding:0 14px;font-weight:600;display:inline-flex}.patients-filter-chip strong{min-width:24px;height:24px;color:var(--color-primary-700);font-size:var(--font-size-xs);line-height:var(--line-height-xs);background:#eef2ff;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.patients-filter-chip:hover{color:var(--color-text);background:#f7f9ff;border-color:#d7def5}.patients-filter-chip--active{border-color:var(--color-primary-700);background:var(--color-primary-700);color:#fff;box-shadow:none}.patients-filter-chip--active strong{color:#fff;background:#ffffff2e}.patients-card,.patients-empty{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none}.patients-filter-toggle{border:1px solid var(--color-border);min-width:134px;height:42px;color:var(--color-primary-700);font-size:var(--font-size-sm);line-height:var(--line-height-sm);cursor:pointer;transition:all var(--transition-base);background:#ffffffe6;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 14px;font-weight:700;display:inline-flex}.patients-filter-toggle strong{min-width:24px;height:24px;color:var(--color-primary-700);font-size:var(--font-size-xs);line-height:var(--line-height-xs);background:#eef2ff;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.patients-filter-toggle:hover{background:#f7f9ff;border-color:#d7def5}.patients-filter-toggle--open{background:var(--color-primary-700);border-color:var(--color-primary-700);color:#fff}.patients-filter-toggle--open strong{color:#fff;background:#ffffff2e}.home-header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-flow:wrap}.home-header__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.home-metrics{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.home-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.home-metric-card{padding:var(--space-3);background:radial-gradient(circle at top right, #6e7ff524, transparent 42%), var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none;flex-direction:column;gap:6px;display:flex}.home-metric-card span{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft)}.home-metric-card strong{color:var(--color-text);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;line-height:1}.home-panel{padding:var(--space-4);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);gap:var(--space-3);flex-direction:column;display:flex}.home-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.home-panel__header h2{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:700}.home-panel__header p,.home-empty{color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.home-list{gap:var(--space-2);flex-direction:column;display:flex}.home-list__item{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);color:var(--color-text);background:#fbfcff;display:flex}.home-list__item div{flex-direction:column;gap:2px;display:flex}.home-list__item strong{font-size:var(--font-size-md);line-height:var(--line-height-md)}.home-list__item span{color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.home-pending-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.patients-search{align-items:center;display:inline-flex}.patients-search__input{height:var(--control-height);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-card);padding:0 var(--control-padding-x);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);outline:none;min-width:220px}.patients-search__input:focus{border-color:var(--color-primary-700);box-shadow:none}.patients-toggle{align-items:center;gap:var(--space-1);cursor:pointer;font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);display:inline-flex;position:relative}.patients-toggle__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.patients-toggle__track{border:1px solid var(--color-border);width:46px;height:26px;transition:all var(--transition-base);background:#e8ebfb;border-radius:999px;align-items:center;display:inline-flex;position:relative}.patients-toggle__thumb{width:20px;height:20px;box-shadow:none;transition:transform var(--transition-base);background:#fff;border-radius:50%;transform:translate(2px)}.patients-toggle__input:checked+.patients-toggle__track{background:var(--color-primary-700);border-color:var(--color-primary-700)}.patients-toggle__input:checked+.patients-toggle__track .patients-toggle__thumb{transform:translate(22px)}.patients-toggle__label{font-weight:500}.patient-record__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-direction:row}.page-title,.patient-record__title{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);letter-spacing:0;font-weight:600}.page-subtitle,.patient-record__subtitle,.patient-edit__subtitle,.patient-record__eyebrow,.patient-edit__eyebrow{font-size:var(--font-size-md);line-height:var(--line-height-md);color:var(--color-text-soft)}.sidebar{background:radial-gradient(circle at 12% 8%,#ffffff42 0 12%,#0000 36%),linear-gradient(160deg,#5c4cff 0%,#969dff 32%,#747ff5 66%,#6250d6 100%);border-right:1px solid #ffffff2e;width:280px;min-height:100vh}.sidebar__brand{min-height:86px;padding:0 var(--space-4);border-bottom:1px solid #ffffff2e;align-items:center;display:flex}.sidebar__logo{aspect-ratio:1415/168;background:#fff;width:220px;max-width:100%;display:block;-webkit-mask:url(../media/FLPsicoFlow-Logo.3eaefoymw1u5k.svg) 50%/contain no-repeat;mask:url(../media/FLPsicoFlow-Logo.3eaefoymw1u5k.svg) 50%/contain no-repeat}.sidebar__title{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);color:var(--color-text);font-weight:600}.sidebar__subtitle{font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text-soft);margin-top:2px}.sidebar__nav{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.sidebar__link{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-base);line-height:var(--line-height-base);color:#ffffffe0;transition:background var(--transition-base), color var(--transition-base);align-items:center;font-weight:500;display:flex}.sidebar__link:hover{color:#fff;background:#ffffff24}.sidebar__link--active,.sidebar__link[aria-current=page]{color:#fff;background:#ffffff38}.topbar{min-height:86px;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.topbar__intro{align-items:center;gap:var(--space-3);min-width:0;display:flex}.topbar__greeting-block{flex-direction:column;min-width:0;display:flex}.topbar__menu-button{border:1px solid var(--color-border);background:var(--color-card);width:44px;height:44px;color:var(--color-text-soft);border-radius:999px;justify-content:center;align-items:center;display:none}.topbar__menu-button svg{width:20px;height:20px}.topbar__menu-button:hover{background:#f0f2ff}.mobile-menu{z-index:40;opacity:0;pointer-events:none;transition:opacity var(--transition-base);position:fixed;inset:0}.mobile-menu--open{opacity:1;pointer-events:auto}.mobile-menu__backdrop{background:#0c101673;border:none;position:absolute;inset:0}.mobile-menu__panel{width:min(84vw,320px);transition:transform var(--transition-base);background:radial-gradient(circle at 12% 8%,#ffffff42 0 12%,#0000 36%),linear-gradient(160deg,#d8d4ff 0%,#969dff 32%,#747ff5 66%,#6250d6 100%);border-right:1px solid #ffffff2e;flex-direction:column;display:flex;position:absolute;inset:0 auto 0 0;transform:translate(-100%)}.mobile-menu--open .mobile-menu__panel{transform:translate(0)}.mobile-menu__brand{padding:var(--space-5) var(--space-4) var(--space-4);border-bottom:1px solid var(--color-border)}.mobile-menu .sidebar__nav{padding:var(--space-3)}.mobile-menu__actions{gap:var(--space-2);padding:var(--space-3);border-top:1px solid #ffffff2e;flex-direction:column;margin-top:auto;display:flex}.mobile-menu__actions .topbar__email,.mobile-menu__actions .topbar__logout{color:#fff;background:#ffffff24;border-color:#ffffff3d}.mobile-menu__actions .topbar__logout:hover{background:#ffffff38}.topbar__greeting{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);font-weight:600}.topbar__meta{font-size:var(--font-size-md);line-height:var(--line-height-md);color:var(--color-text-soft);margin-top:2px}.topbar__actions{align-items:center;gap:var(--space-2);display:flex}.topbar__email,.topbar__logout{height:40px;padding:0 var(--space-3);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);box-shadow:none;align-items:center;display:inline-flex}.topbar__logout{cursor:pointer}.topbar__logout:hover{background:#f0f2ff}.patient-record__button,.patient-form__button,.patient-record__contact-button,.patient-record__new-button,.new-session-button,.sessions-actions button,.sessions-view-buttons button,.patients-action-button,.patients-card__quick-button,.patients-card__quick-menu-list button{height:var(--control-height);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-card);padding:0 var(--control-padding-x);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);cursor:pointer;transition:all var(--transition-base);box-shadow:none;justify-content:center;align-items:center;font-weight:500;display:inline-flex}.patient-record__contact-button--icon{width:var(--control-height);padding:0}.patient-record__contact-button i,.patients-action-button i{justify-content:center;align-items:center;display:flex}.patients-action-button--icon{width:var(--control-height);padding:0}.patients-action-button.patients-action-button--danger{color:#d21f3c;background:#fff1f3;border-color:#ffd1d9}.patients-action-button.patients-action-button--danger:hover{color:#b9152f;background:#ffe3e8;border-color:#ffb6c3}.patient-form__button--danger{color:#d21f3c;background:#fff1f3;border-color:#ffd1d9}.patient-form__button--danger:hover{color:#b9152f;background:#ffe3e8;border-color:#ffb6c3}.patient-record__contact-icon{justify-content:center;align-items:center;width:18px;height:18px;font-size:16px;display:inline-flex}.patient-record__button:hover,.patient-form__button:hover,.patient-record__contact-button:hover,.patient-record__new-button:hover,.new-session-button:hover,.sessions-actions button:hover,.sessions-view-buttons button:hover,.patients-action-button:hover,.patients-card__quick-button:hover,.patients-card__quick-menu-list button:hover{color:var(--color-text);background:#f0f2ff;border-color:#d7def5}.patient-record__button:disabled,.patient-form__button:disabled,.patient-record__contact-button:disabled,.patient-record__new-button:disabled,.new-session-button:disabled,.sessions-actions button:disabled,.sessions-view-buttons button:disabled,.patients-action-button:disabled,.patients-card__quick-button:disabled,.patients-card__quick-menu-list button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.patient-record__button--primary,.patient-form__button--primary,.patient-record__contact-button--primary,.new-session-button,.sessions-view-buttons button.active,.patients-action-button--primary,.patients-card__quick-button{border-color:var(--color-primary-700);background:var(--color-primary-700);color:#fff;box-shadow:none}.patients-action-button--whatsapp,.patient-record__contact-button--whatsapp{color:#fff;background:#25d366;border-color:#25d366}.patients-action-button--primary:hover,.patients-card__quick-button:hover{color:#fff;background:#6170dd;border-color:#6170dd}.patient-record__actions,.patient-form__actions,.patient-record__contact-actions,.sessions-actions,.sessions-view-buttons,.patients-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.patient-form__error{color:#b9152f;width:100%;font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:600}.patients-table-wrapper,.patient-record__section,.patient-form,.sessions-toolbar,.calendar-week,.sessions-placeholder{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none;padding:var(--space-3)}.patients-table-wrapper{padding:0;overflow:hidden}.admin-page{gap:var(--space-4)}.admin-table-card{padding:var(--space-3);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:980px}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border-soft);text-align:left;vertical-align:top;font-size:var(--font-size-sm);line-height:var(--line-height-sm);padding:12px 14px}.admin-table th{color:var(--color-text);background:#f7f8fc;font-weight:700}.admin-table td{color:var(--color-text-soft)}.admin-table tr:last-child td{border-bottom:none}.admin-participants-header{padding:18px 18px 0}.admin-participants-table tbody tr{cursor:default}.admin-participants-table tbody tr.selected td{background:#f3f5ff}.admin-participant-button{color:#5142c8;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-weight:800}.admin-participant-button:hover{text-decoration:underline}.admin-participant-details{margin-top:18px}.admin-participant-details .onboarding-button{min-width:92px}.admin-participant-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-participant-detail-grid article{background:#fff;border:1px solid #dde3ef;border-radius:12px;padding:14px}.admin-participant-detail-grid h3{color:#172033;font-size:14px;font-weight:800;line-height:20px}.admin-participant-detail-grid p{color:#4c566b;margin-top:8px;font-size:13px;line-height:19px}.admin-participant-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-participant-section h2{color:#172033;font-size:18px;font-weight:800;line-height:24px}.admin-participant-section dl{gap:12px;margin-top:14px;display:grid}.admin-participant-section dl div{border-bottom:1px solid #e5eaf3;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:10px;display:flex}.admin-participant-section dl div:last-child{border-bottom:none;padding-bottom:0}.admin-participant-section dt{color:#5b6578;font-size:13px;font-weight:700;line-height:18px}.admin-participant-section dd{color:#172033;text-align:right;font-size:15px;font-weight:800;line-height:20px}.admin-participant-empty{color:#5b6578;margin-top:14px;font-size:14px;line-height:20px}.patients-card-grid{gap:var(--space-3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.patients-card{padding:var(--space-4);background:linear-gradient(180deg, #f7f9fffa 0%, #fff 72%), var(--color-card);min-height:100%}.patients-card__layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.patients-card__left,.patients-card__right{gap:var(--space-2);flex-direction:column;display:flex}.patients-card__right{text-align:right;align-items:flex-end}.patients-card__header,.patients-card__footer{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.patients-card__identity{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.patients-card__header-actions{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.patients-card__action-group{align-items:center;gap:var(--space-2);display:flex}.patients-card__name{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);color:var(--color-text);font-weight:600}.patients-card__title-block{flex-direction:column;gap:10px;display:flex}.patients-card__meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.patients-card__mode,.patients-card__status-text{border-radius:var(--radius-pill);min-height:28px;font-size:var(--font-size-xs);line-height:var(--line-height-xs);align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.patients-card__mode{color:#4257c7;background:#edf2ff}.patients-card__status-text--active{color:#18794e;background:#e7f7ef}.patients-card__status-text--inactive{color:#c2410c;background:#fff1ee}.patients-card__right-details p{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);margin:0}.patients-card__right-details{padding:var(--space-2);border-radius:var(--radius-md);background:#f7f9ffd1;border:1px solid #e5eaf8;flex-direction:column;gap:4px;display:flex}.patients-card__financial-alert{color:#9a3412;font-weight:700}.patients-card__badges{flex-wrap:wrap;gap:8px;display:flex}.patients-card__badge{min-height:30px;font-size:var(--font-size-xs);line-height:var(--line-height-xs);letter-spacing:.01em;border-radius:999px;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.patients-card__badge--active{color:#18794e;background:#e7f7ef}.patients-card__badge--paused{color:#b45309;background:#fff3dc}.patients-card__badge--mode{color:#4257c7;background:#edf2ff}.patients-card__badge--paid{color:#237d4b;background:#eaf8ee}.patients-card__badge--pending{color:#c2410c;background:#fff1ee}.patients-card__badge--exempt{color:#4b5563;background:#eef2f7}.records-card{padding:var(--space-4)}.records-card__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.records-card__actions{align-items:center;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.records-card__accordion{opacity:0;max-height:0;transition:max-height .24s,opacity .18s,transform .24s;overflow:hidden;transform:translateY(-6px)}.records-card__accordion--open{opacity:1;max-height:900px;margin-top:var(--space-2);transform:translateY(0)}.records-card__last-record{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-3);background:#fbfcff;display:grid}.records-card__last-record-title{color:var(--color-text);font-size:var(--font-size-md);line-height:var(--line-height-md);margin:0 0 6px;font-weight:700}.records-card__last-record p{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-md);margin:0}.records-card__ai-report{border-top:1px solid var(--color-border-soft);padding-top:var(--space-3);gap:var(--space-2);display:grid}.records-card__ai-report h3{color:var(--color-text);font-size:var(--font-size-md);line-height:var(--line-height-md);margin:0;font-weight:700}.records-card__ai-section{gap:6px;display:grid}.records-card__ai-section strong{color:#24365f}.records-card__ai-section ul{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-md);gap:2px;margin:0;padding-left:16px;list-style:none;display:grid}.records-card__ai-section li{margin:0}.records-card__ai-section a{color:#3b6bf2;font-weight:700}.records-card__ai-empty{border-top:1px solid var(--color-border-soft);padding-top:var(--space-3);color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.patients-card__pending-block{flex-direction:column;gap:8px;display:flex}.patients-card__pending-status{padding:var(--space-3);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:var(--space-2);background:#f5f7fff5;border:1px solid #e5eaf8;display:flex}.patients-card__pending-status div{flex-direction:column;gap:6px;display:flex}.patients-card__pending-status span{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.patients-card__pending-status strong{font-size:var(--font-size-md);line-height:var(--line-height-md);color:var(--color-text)}.patients-card__pending-status--open{background:#fff8f4;border-color:#ffe3d6}.patients-card__pending-status--open strong{color:#9a3412}.patients-card__quick-button{letter-spacing:0;gap:12px;min-width:184px;padding-inline:18px 16px;font-weight:700;text-decoration:none;box-shadow:0 8px 18px #6975f02e}.patients-card__quick-button:hover{box-shadow:0 10px 22px #6975f03d}.patients-card__quick-button:focus-visible{outline-offset:2px;outline:3px solid #6975f038}.patients-card__quick-chevron{opacity:.9;justify-content:center;align-items:center;width:12px;height:12px;font-size:11px;display:inline-flex}.patients-card__quick-menu{display:inline-flex;position:relative}.patients-card__quick-menu-list{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;min-width:220px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 36px #212d5e29}.patients-card__quick-menu-list button{border-radius:var(--radius-md);width:100%;height:36px;color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm);background:0 0;border-color:#0000;justify-content:flex-start;padding:0 12px;font-weight:600}.patients-card__quick-menu-list button:hover{color:var(--color-primary-700);background:#edf2ff;border-color:#edf2ff}.patients-card__pending-item{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);background:#fff8f4;border:1px solid #ffe3d6;padding:10px 12px;display:flex}.patients-card__pending-item strong{color:#9a3412;font-size:var(--font-size-sm);line-height:var(--line-height-sm);display:block}.patients-card__pending-item p{color:var(--color-text-soft);font-size:var(--font-size-xs);line-height:var(--line-height-xs);margin-top:2px}.patients-card__pending-link{border-radius:var(--radius-pill);background:var(--color-primary-700);color:#fff;min-height:32px;font-size:var(--font-size-xs);line-height:var(--line-height-xs);flex-shrink:0;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.patients-empty{padding:var(--space-5);text-align:center}.patients-empty__title{font-size:var(--font-size-xl);line-height:var(--line-height-xl);color:var(--color-text);font-weight:600}.patients-empty__text{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-soft);line-height:1.6}.patient-record__empty{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none;padding:var(--space-5)}.patient-record__section,.patient-form,.sessions-toolbar{padding:var(--space-5)}.patients-table{border-collapse:collapse;width:100%;min-width:820px}.patients-table thead th{text-align:left;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-base);line-height:var(--line-height-base);letter-spacing:0;color:var(--color-text);background:#f2f4ff;font-weight:600}.patients-table__sort{align-items:center;gap:var(--space-1);font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.patients-table__sort-icon{color:var(--color-text-muted);font-size:12px}.patients-table tbody td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text)}.patients-table tbody tr:last-child td{border-bottom:none}.patients-table__row{cursor:pointer;transition:background var(--transition-base)}.patients-table__row:hover{border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl);background:#f4f6ff}.patients-table__row:last-child{border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.patients-total{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);padding:var(--space-2) 0 0}.patient-record__section-header,.patient-form__section-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.patient-form__section{margin-bottom:var(--space-4)}.patient-record__section-title,.patient-form__section-title,.patient-record__empty-title{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:600}.patient-record__section-subtitle,.patient-form__section-subtitle,.patient-record__empty-text,.sessions-placeholder p{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft)}.patient-form__notice{margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--color-border);color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);background:#fbfcff}.patient-form__notice strong{color:var(--color-text);margin-bottom:4px;display:block}.patient-form__notice--warning{background:#fff8f4;border-color:#ffe3d6}.patient-form__notice--warning strong{color:#9a3412}.patient-form__notice--compact{padding:var(--space-2);background:#f8faff}.patient-form__metadata{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.patient-form__metadata div{padding:var(--space-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);background:#fbfcff;flex-direction:column;gap:4px;display:flex}.patient-form__metadata span{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.patient-form__metadata strong{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.patient-record__grid,.patient-form__grid,.patient-summary__grid{margin-top:var(--space-2);gap:0 var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.patient-summary__grid--unified{grid-template-columns:repeat(3,minmax(0,1fr))}.patient-record__note-text{margin:var(--space-2) 0 0;padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-sm);white-space:pre-wrap;background:#f7f9ffd1;border:1px solid #e5eaf8;line-height:1.6}.patient-summary__pending{margin-top:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.patient-summary__pending--top{padding:var(--space-3);border-radius:var(--radius-lg);background:#fff9f6;border:1px solid #ffd8c2;margin-top:0}.patient-summary__pending-heading{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.patient-summary__pending-heading strong{font-size:var(--font-size-base);line-height:var(--line-height-base);color:#9a3412;margin-top:4px;display:block}.patient-summary__pending-title{font-size:var(--font-size-base);line-height:var(--line-height-base);font-weight:700}.patient-summary__pending-list{gap:var(--space-2);flex-direction:column;display:flex}.patient-summary__pending-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:#fbfcff;display:flex}.patient-summary__pending-category{border-radius:var(--radius-pill);color:#b45309;font-size:var(--font-size-xs);line-height:var(--line-height-xs);background:#fff4e5;align-items:center;padding:4px 10px;font-weight:700;display:inline-flex}.patient-summary__pending-text{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);margin-top:6px}.patient-record-row{padding:var(--space-2) 0;flex-direction:column;gap:2px;display:flex}.patient-record-row__label,.patient-record__item-label,.patient-form__field label{font-size:var(--font-size-xs);line-height:var(--line-height-xs);letter-spacing:0;color:var(--color-text-muted);font-weight:600}.patient-form__required{color:#f59e0b;margin-left:4px}.patient-record-row__value{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:600}.patient-record-row__link{color:var(--color-primary-700);text-decoration:none}.patient-record-row__link:hover{text-decoration:underline}.patient-record__list{margin-top:var(--space-2);gap:var(--space-2);flex-direction:column;display:flex}.patient-record__legend{margin-top:var(--space-2);gap:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs);flex-wrap:wrap;font-weight:600;display:flex}.patient-record__filters{gap:var(--space-2);flex-wrap:wrap;align-items:flex-end;display:flex}.patient-record__filter{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted);flex-direction:column;gap:4px;font-weight:600;display:flex}.patient-record__filter input,.patient-record__filter select{min-height:var(--control-height);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:0 var(--control-padding-x);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);background:#fff;outline:none}.patient-record__filter input:focus,.patient-record__filter select:focus{border-color:var(--color-primary-700)}.patient-record__filter-clear{height:var(--control-height);border-radius:var(--radius-pill);border:1px solid var(--color-border);padding:0 var(--control-padding-x);background:var(--color-card);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);cursor:pointer;transition:all var(--transition-base);font-weight:500}.patient-record__filter-clear:hover{background:#f2f2f2;border-color:#d6d6d6}.patient-record__legend-item{align-items:center;gap:var(--space-1);display:inline-flex}.patient-record__legend-dot{background:var(--color-border);border-radius:999px;width:10px;height:10px}.patient-record__legend-dot--scheduled{background:#2563eb}.patient-record__legend-dot--completed{background:#3863a6}.patient-record__legend-dot--cancelled{background:#dc2626}.patient-record__legend-dot--overdue{background:#f59e0b}.patient-record__item{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);background:#fff;border-left:4px solid #0000}.patient-record__item--scheduled{background:#fff;border-color:#bfdbfe #bfdbfe #bfdbfe #2563eb}.patient-record__item--completed{background:#edf2ff;border-color:#cfd8f5 #cfd8f5 #cfd8f5 #3863a6}.patient-record__item--cancelled{background:#fff0f0;border-color:#f2c5c5}.patient-record__item--missed,.patient-record__item--overdue{background:#fff4e5;border-color:#f7d49b}.patient-record__item--pending-record{background:#fff8f4;border-color:#ffe3d6}.patient-record__item-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.patient-record__item-date{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted)}.patient-record__item-title{font-size:var(--font-size-md);line-height:var(--line-height-md);font-weight:600}.patient-record__item-button{height:var(--control-height);border-radius:var(--radius-pill);border:1px solid var(--color-border);padding:0 var(--control-padding-x);background:var(--color-card);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);cursor:pointer;text-align:center;transition:all var(--transition-base);justify-content:center;align-items:center;gap:8px;font-weight:500;display:inline-flex}.patient-record__button-spinner{border:2px solid #ffffff7a;border-top-color:#fff;border-radius:999px;width:14px;height:14px;animation:.8s linear infinite button-spinner-rotate}@keyframes button-spinner-rotate{to{transform:rotate(360deg)}}.patient-record__item-actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.patient-record__item-button--primary{color:#fff;background:#4b7bff;border-color:#4b7bff}.patient-record__item-button--primary:hover{background:#3b6bf2;border-color:#3b6bf2}.patient-record__item-button--danger{color:#d21f3c;background:#fff1f3;border-color:#ffd1d9}.patient-record__item-button--danger:hover{color:#b9152f;background:#ffe3e8;border-color:#ffb6c3}.patient-record__item-button:disabled{cursor:wait;opacity:.86}.patient-record__item-button--primary:disabled,.patient-record__item-button--primary:disabled:hover{color:#fff;background:#4b7bff;border-color:#4b7bff}.patient-record__item-button:hover{background:#f2f2f2;border-color:#d6d6d6}.patient-record__item-content{margin-top:var(--space-2);gap:var(--space-1);display:grid}.patient-record__ai-panel{margin-top:var(--space-2);border-radius:var(--radius-md);padding:var(--space-3);gap:var(--space-3);background:#f8faff;border:1px solid #d8e0f2;grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.patient-record__ai-copy{min-width:0}.patient-record__ai-title{font-size:var(--font-size-base);line-height:var(--line-height-base);color:#24365f;font-weight:700}.patient-record__ai-text{font-size:var(--font-size-base);color:#465368;margin-top:6px;line-height:1.6}.patient-record__ai-report{padding-top:var(--space-3);gap:var(--space-2);border-top:1px solid #d8e0f2;grid-column:1/-1;grid-template-columns:1fr;display:grid}.patient-record__ai-section{border-radius:var(--radius-md);padding:var(--space-3);background:#fff;border:1px solid #dce4f4}.patient-record__ai-error{border-radius:var(--radius-md);padding:var(--space-2);font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:#9f1d1d;background:#fff0f0;border:1px solid #f2c5c5;grid-column:1/-1}.patient-record__ai-toggle{width:var(--control-height);min-width:var(--control-height);font-size:var(--font-size-sm);justify-self:end;padding:0;line-height:1}.patient-record__ai-heading{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:#24365f;text-transform:uppercase;font-weight:700}.patient-record__ai-list{margin-top:var(--space-1);font-size:var(--font-size-base);color:#343c49;gap:8px;padding-left:22px;line-height:1.6;display:grid}.patient-record__ai-list li{padding-left:2px}.patient-record__ai-reference{color:#5f6f89}.patient-record__ai-reference a{color:#315fd6;font-weight:700;text-decoration:underline}.patient-record__ai-risk{border-radius:var(--radius-md);padding:var(--space-3);background:#fff8ed;border:1px solid #f7d49b}.patient-record__item-text{font-size:var(--font-size-base);line-height:var(--line-height-md);color:#343c49;margin-top:8px}.patient-record__item-text--clamp{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.patient-record__pagination{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.patient-record__pagination-button{height:var(--control-height);border-radius:var(--radius-pill);border:1px solid var(--color-border);padding:0 var(--control-padding-x);background:var(--color-card);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);cursor:pointer;transition:all var(--transition-base);font-weight:500}.patient-record__pagination-button:hover{background:#f2f2f2;border-color:#d6d6d6}.patient-record__pagination-button:disabled{cursor:not-allowed;opacity:.6}.patient-record__pagination-label{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);font-weight:600}.patient-form__field{margin-bottom:var(--space-2);flex-direction:column;gap:6px;display:flex}.patient-form__label-row{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.patient-form__record-status{border-radius:var(--radius-pill);min-height:26px;font-size:var(--font-size-xs);line-height:var(--line-height-xs);align-items:center;padding:0 10px;font-weight:700;display:inline-flex}.patient-form__record-status--filled{color:#237d4b;background:#eaf8ee}.patient-form__record-status--empty{color:#b45309;background:#fff3dc}.patient-form__field input,.patient-form__field select,.patient-form__field textarea{min-height:var(--control-height);border-radius:var(--radius-md);border:1px solid var(--color-border);padding:0 var(--control-padding-x);color:var(--color-text);font-size:var(--font-size-base);line-height:var(--line-height-base);background:#fff;outline:none}.patient-form__field input:focus,.patient-form__field select:focus,.patient-form__field textarea:focus{border-color:var(--color-primary-700);box-shadow:none}.patient-form__field textarea{min-height:120px;padding:var(--space-2);resize:vertical}.patient-form__textarea--readonly{cursor:default}.patient-form__textarea--filled.patient-form__textarea--readonly{color:var(--color-text);background:#f6fbf8;border-color:#bfe6cf}.patient-form__textarea--empty.patient-form__textarea--readonly{color:#9a3412;background:#fff8f4;border-color:#ffd9c7}.patient-form__textarea--filled:not(.patient-form__textarea--readonly){border-color:#8fd1ab}.patient-form__textarea--empty:not(.patient-form__textarea--readonly){border-color:#f7c59f}.patient-form__record-readonly{min-height:160px;padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--font-size-base);background:#f6fbf8;border:1px solid #bfe6cf;line-height:1.7}.patient-form__record-readonly p+p{margin-top:var(--space-2)}.patient-form__record-empty-state{padding:var(--space-4);border-radius:var(--radius-lg);background:#fff8f4;border:1px dashed #f7c59f}.patient-form__record-empty-state strong{color:#9a3412;font-size:var(--font-size-md);line-height:var(--line-height-md);margin-bottom:6px;display:block}.patient-form__record-empty-state p{color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.patient-form__field--full{grid-column:1/-1}.new-session-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.new-session-grid__patient{grid-column:1/-1}.new-session-grid__date{grid-column:1}.new-session-grid__time{grid-column:2}.new-session-grid__duration{grid-column:3}.new-session-grid__modality{grid-column:4}.new-session-grid__recurring{grid-area:4/1/auto/3}.new-session-grid__frequency{grid-area:4/3/auto/5}.new-session-grid__recurrence-notice{color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);margin-top:8px;font-weight:500}.new-session-grid__meeting-link{grid-area:3/1/auto/4}.new-session-grid__link-sent{grid-area:3/4}.patient-form__checkbox-field{min-height:var(--control-height);align-self:end;align-items:center;gap:var(--space-1);color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm);cursor:pointer;font-weight:600;display:inline-flex}.new-session-grid__recurring{margin-bottom:calc(var(--control-height) / 2 - 9px)}.patient-form__checkbox-field input{width:18px;height:18px;accent-color:var(--color-primary-700)}.patient-form__divider{margin:var(--space-2) 0;border-top:1px solid var(--color-border-soft)}.break-card__list{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.break-current-list{gap:var(--space-1);display:grid}.break-current-list__item{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);background:#fbfcff;display:flex}.break-current-list__item div{flex-direction:column;gap:4px;min-width:0;display:flex}.break-current-list__item strong{font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:700}.break-current-list__item span{color:var(--color-text-soft);font-size:var(--font-size-xs);line-height:var(--line-height-xs)}.break-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);background:#fff;flex-direction:column;display:flex}.break-card__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.break-card__title{font-size:var(--font-size-md);line-height:var(--line-height-md);font-weight:600}.break-card__remove{color:var(--color-text-soft);font-size:var(--font-size-xs);line-height:var(--line-height-xs);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px}.break-card__remove:hover{color:var(--color-text);background:#f3f4f6}.break-card__grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.break-card__date{gap:var(--space-1);flex-direction:column;display:flex}.break-card__days{gap:var(--space-1);flex-wrap:wrap;display:flex}.break-card__day{border:1px solid var(--color-border-soft);color:var(--color-text-soft);cursor:pointer;background:#f6f7fa;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:600;line-height:12px;display:inline-flex}.break-card__day input{accent-color:var(--color-primary-700)}.break-card__day--active{color:#2e3a55;background:#e9eefb;border-color:#cbd6f5}.sessions-toolbar{justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.sessions-toolbar--in-section{background:0 0;border:0;border-radius:0;justify-content:flex-end;margin-left:auto;padding:0}.sessions-section-toolbar{padding:var(--space-3);border-bottom:1px solid var(--color-border);background:#f6f8fd;justify-content:flex-end;display:flex}.sessions-actions__nav{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.sessions-actions__icon{width:44px;padding:0}.sessions-placeholder{text-align:center;min-height:220px;padding:var(--space-3);justify-content:center;align-items:center;display:flex}.sessions-day{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.sessions-day__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.sessions-day__date{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);text-transform:capitalize}.sessions-day__empty{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft)}.sessions-day__list{gap:var(--space-2);flex-direction:column;display:flex}.sessions-day__card{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);justify-content:space-between;align-items:flex-start;gap:var(--space-2);text-align:left;cursor:default;transition:background var(--transition-base);background:#fff;display:flex}.sessions-day__card[role=button]{cursor:pointer}.sessions-day__card:hover{background:#f7f8fb}.sessions-day__meta{flex-direction:column;flex:1;gap:2px;display:flex}.sessions-day__meta strong{font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:600}.sessions-day__toasts{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.sessions-day__headline{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sessions-day__name{font-size:var(--font-size-md);line-height:var(--line-height-md);font-weight:600}.session-toast{border-radius:var(--radius-pill);font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft);background:#f2f2f2;align-items:center;gap:4px;padding:4px 10px;font-weight:600;display:inline-flex}.session-toast--scheduled{color:#2563eb;background:#eaf2ff}.session-toast--completed{color:#3863a6;background:#eef7ff}.session-toast--overdue{color:#b45309;background:#fff4e5}.session-toast--cancelled,.session-toast--cancelled{color:#dc2626;background:#ffecec}.session-toast--time{color:#3f4f9a;background:#eef1ff}.sessions-day__status{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft)}.sessions-day__details{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text);margin-top:4px;font-weight:600}.sessions-day__summary{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft);margin-top:4px}.sessions-day__summary--canceled{color:#dc2626}.sessions-day__time{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.sessions-day__time-text{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text);font-weight:600}.sessions-day__actions{justify-content:flex-end;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.assistant-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.assistant-card{border-radius:var(--radius-xl);border:1px solid var(--color-border-soft);background:var(--color-card);padding:var(--space-4);gap:var(--space-3);box-shadow:none;flex-direction:column;display:flex}.assistant-card__header{flex-direction:column;gap:6px;display:flex}.assistant-card__title{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:600}.assistant-card__subtitle{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft)}.assistant-card__body{gap:var(--space-2);flex-direction:column;display:flex}.assistant-metrics{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.assistant-metric{border-radius:var(--radius-lg);padding:var(--space-2);background:#f5f6fb;flex-direction:column;gap:4px;display:flex}.assistant-metric strong{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:600}.assistant-metric span{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft)}.assistant-list{gap:var(--space-2);color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.assistant-list li{gap:var(--space-1);align-items:flex-start;display:flex}.assistant-list li:before{content:"•";color:var(--color-text-muted);margin-top:2px}.about-list li{column-gap:var(--space-1);grid-template-columns:auto minmax(0,1fr);row-gap:4px;display:grid}.about-list li:before{grid-row:1/span 2}.about-list strong,.about-list span{display:block}.about-list strong{font-weight:700}.about-list span{color:var(--color-text-soft);line-height:1.55}.assistant-link{color:inherit;font-weight:600;text-decoration:none}.assistant-link:hover{text-decoration:underline}.today-timeline{gap:var(--space-3);flex-direction:column;display:flex}.today-timeline__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.today-timeline__title{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:600}.today-timeline__date{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted)}.today-timeline__list{gap:var(--space-3);flex-direction:column;display:flex;position:relative}.timeline-item{gap:var(--space-2);grid-template-columns:72px 20px minmax(0,1fr);align-items:flex-start;display:grid;position:relative}.timeline-time{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-muted);text-align:right;padding-top:6px;font-weight:600}.timeline-marker{justify-content:center;align-items:flex-start;height:100%;display:flex;position:relative}.timeline-marker:after{content:"";background:var(--color-border-soft);width:2px;position:absolute;top:12px;bottom:-24px}.timeline-item:last-child .timeline-marker:after{display:none}.timeline-dot{background:#aab4c5;border:2px solid #fff;border-radius:999px;width:10px;height:10px;margin-top:6px}.timeline-now{color:#fff;background:#2f6bff;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600;line-height:12px;position:absolute;top:-2px;left:16px}.timeline-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);box-shadow:none;background:#fff;flex-direction:column;display:flex}.timeline-card__header{justify-content:space-between;align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.timeline-card__title{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);font-weight:600}.timeline-card__title-row{align-items:baseline;gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.timeline-card__datetime{color:var(--color-text-soft);font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:600}.timeline-card__summary{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft)}.timeline-card__summary--canceled{color:#b23434}.timeline-card__actions{gap:var(--space-1);flex-wrap:wrap;align-items:flex-start;width:100%;max-width:100%;display:flex}.timeline-card__actions-menu{justify-content:flex-start;align-items:flex-start;gap:var(--space-1);flex-wrap:wrap;max-width:100%;display:flex}.timeline-card__actions-menu--open{max-width:100%}.timeline-card__actions-toggle span{font-size:var(--font-size-sm);line-height:1}.timeline-card__actions-toggle{justify-self:start;width:max-content}.timeline-card__actions-panel{width:0;min-width:0;max-width:100%;min-height:var(--control-height);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .26s,visibility 0s linear .22s;overflow:hidden;transform:translate(-12px)}.timeline-card__actions-panel--open{opacity:1;visibility:visible;pointer-events:auto;width:auto;transition:opacity .18s,transform .26s;transform:translate(0)}.timeline-card__next-session{min-height:var(--control-height);border-radius:var(--radius-pill);color:#25386e;max-width:100%;font-size:var(--font-size-base);line-height:var(--line-height-base);padding:0 var(--control-padding-x);white-space:normal;background:#f5f7ff;border:1px solid #dbe4ff;align-items:center;font-weight:600;display:inline-flex}.timeline-card--break{background:#f4f6fb;border-color:#d9e0f0}.timeline-card--now{background:#f5f7ff;border-style:dashed;border-color:#9bb5ff}.timeline-item--now .timeline-dot{background:#2f6bff}.timeline-item--break .timeline-dot{background:#5c6f94}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-4);z-index:50;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{border-radius:var(--radius-xl);border:1px solid var(--color-border);width:min(420px,100%);padding:var(--space-4);gap:var(--space-3);box-shadow:none;background:#fff;flex-direction:column;display:flex}.modal-card--session{width:min(860px,100%);max-height:calc(100vh - 2rem);overflow:auto}.modal-card--record{width:min(760px,100%);max-height:calc(100vh - 2rem);overflow:auto}.modal-card--patient{width:min(920px,100%);max-height:calc(100vh - 2rem);overflow:auto}.modal-card--patient-notes{width:min(720px,100%);max-height:calc(100vh - 2rem);overflow:auto}.patient-edit--modal{width:100%}.patient-edit--modal .patient-edit__header{margin-bottom:0}.modal-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.modal-header h1{font-size:var(--font-size-2xl);line-height:var(--line-height-2xl);font-weight:600}.modal-close{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-card);width:36px;height:36px;color:var(--color-text-soft);cursor:pointer;font-size:var(--font-size-lg);justify-content:center;align-items:center;line-height:1;display:inline-flex}.modal-close:hover{color:var(--color-text);background:#f0f2ff;border-color:#d7def5}.modal-form{gap:var(--space-2);flex-direction:column;display:flex}.modal-copy{color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:1.6}.modal-confirm{align-items:flex-start;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm);cursor:pointer;background:#fbfcff;font-weight:600;display:flex}.modal-confirm input{width:18px;height:18px;accent-color:var(--color-primary-700);flex-shrink:0;margin-top:1px}.modal-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.session-record-modal{gap:var(--space-3);display:grid}.session-record-modal__timeline{gap:var(--space-2);display:grid}.session-record-modal__item{gap:var(--space-2);grid-template-columns:20px minmax(0,1fr);display:grid;position:relative}.session-record-modal__marker{justify-content:center;display:flex;position:relative}.session-record-modal__marker:after{content:"";top:14px;bottom:calc(-1 * var(--space-2));background:var(--color-border-soft);width:2px;position:absolute}.session-record-modal__item:last-child .session-record-modal__marker:after{display:none}.session-record-modal__marker span{z-index:1;background:#6b78f0;border:2px solid #fff;border-radius:999px;width:10px;height:10px;margin-top:12px;position:relative}.session-record-modal__entry{gap:var(--space-1);display:grid}.session-record-modal__entry-header{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.session-record-modal__content{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);color:var(--color-text);font-size:var(--font-size-base);white-space:pre-wrap;background:#fbfcff;line-height:1.7}.session-record-modal__content p+p{margin-top:var(--space-2)}.today-header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.today-summary{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.today-summary__header{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.today-summary__title{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:600}.today-summary__status{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft);border-radius:var(--radius-pill);background:#f2f4f8;padding:6px 10px;font-weight:600}.today-summary__status--canceled{color:#b23434;background:#fff2f2}.today-summary__body{gap:var(--space-1);flex-direction:column;display:flex}.today-summary__meta{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft);flex-direction:column;gap:2px;display:flex}.today-summary__meta strong{color:var(--color-text);font-size:var(--font-size-sm);line-height:var(--line-height-sm)}.today-summary__text{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:#343c49}.today-summary__empty{font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text-soft)}.calendar-week{padding:0;overflow:hidden}.calendar-month{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none;overflow:hidden}.calendar-month__header{padding:var(--space-3);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:var(--space-2);background:#f6f8fd;flex-wrap:wrap;display:flex}.calendar-month__title{font-size:var(--font-size-xl);line-height:var(--line-height-xl);text-transform:capitalize;font-weight:600}.calendar-month__weekdays,.calendar-month__grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-month__weekday{min-height:40px;padding:var(--space-2);border-right:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs);background:#fbfcff;font-weight:600}.calendar-month__weekday:last-child{border-right:none}.calendar-month__day{min-height:136px;padding:var(--space-2);border-right:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft);gap:var(--space-1);background:#fff;flex-direction:column;display:flex}.calendar-month__day:nth-child(7n){border-right:none}.calendar-month__day--today{background:#f7f8fa}.calendar-month__day--muted{color:var(--color-text-muted);background:#fbfcff}.calendar-month__day-number{border-radius:var(--radius-pill);width:32px;height:32px;color:inherit;font-size:var(--font-size-sm);line-height:var(--line-height-sm);cursor:pointer;background:0 0;border:1px solid #0000;font-weight:600}.calendar-month__day--today .calendar-month__day-number{background:var(--color-primary-700);color:#fff}.calendar-month__sessions{flex-direction:column;gap:6px;display:flex}.calendar-month__session,.calendar-month__more{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;min-height:32px;color:var(--color-text);cursor:pointer;text-align:left;background:#fff;grid-template-columns:auto 1fr;align-items:center;gap:6px;padding:5px 7px;display:grid}.calendar-month__session span{color:var(--color-text-soft);font-size:10px;font-weight:600;line-height:12px}.calendar-month__session strong,.calendar-month__more{font-size:var(--font-size-xs);line-height:var(--line-height-xs);font-weight:600}.calendar-month__session strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-month__session--scheduled{border-color:#bfdbfe}.calendar-month__session--completed{background:#edf2ff;border-color:#cfd8f5}.calendar-month__session--overdue{background:#fff4e5;border-color:#f7d49b}.calendar-month__session--missed,.calendar-month__session--cancelled{background:#fff0f0;border-color:#f2c5c5}.calendar-month__more{color:var(--color-primary-700);background:var(--color-primary-100);justify-content:center;display:inline-flex}.calendar-header,.calendar-body{grid-template-columns:76px repeat(7,minmax(0,1fr));display:grid}.calendar-header{border-bottom:1px solid var(--color-border);background:#f6f8fd}.calendar-time-column-header,.calendar-time-column{border-right:1px solid var(--color-border)}.calendar-day-header,.calendar-day-column{border-right:1px solid var(--color-border-soft)}.calendar-day-header:last-child,.calendar-day-column:last-child{border-right:none}.calendar-day-header{padding:var(--space-2)}.calendar-day-header--today{background:#eef1f7}.sessions-legend{gap:var(--space-1);margin-bottom:var(--space-2);color:var(--color-text-soft);font-size:var(--font-size-xs);line-height:var(--line-height-xs);flex-wrap:wrap;align-items:center;display:flex}.sessions-legend__label{color:var(--color-text-muted);margin-right:var(--space-1);font-weight:600}.sessions-legend__item{color:var(--color-text);border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:11px;font-weight:500;line-height:14px;display:inline-flex}.sessions-legend__item--scheduled{background:#fff;border-color:#bfdbfe}.sessions-legend__item--completed{background:#edf2ff;border-color:#cfd8f5}.sessions-legend__item--overdue{background:#fff4e5;border-color:#f7d49b}.sessions-legend__item--canceled{background:#fff0f0;border-color:#f2c5c5}.calendar-day-header .weekday{font-size:var(--font-size-xs);line-height:var(--line-height-xs);letter-spacing:0;color:var(--color-text-muted)}.calendar-day-header .date{font-size:var(--font-size-sm);line-height:var(--line-height-sm);font-weight:600}.calendar-time-column,.calendar-day-column{background:#fff;position:relative}.calendar-day-column--today{background:#f7f8fa}.calendar-blocked-slot{opacity:.7;pointer-events:none;background:#f0f2f6;border-top:1px dashed #d7dbe6;border-bottom:1px dashed #d7dbe6;position:absolute;left:0;right:0}.calendar-blocked-slot__label{color:#4b5364;background:#e5e8f2;border-radius:999px;align-items:center;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:600;line-height:12px;display:inline-flex;position:sticky;top:6px}.calendar-blocked-slot__meta{color:#5f6677;margin-top:6px;margin-left:8px;font-size:10px;font-weight:500;line-height:12px;display:block}.calendar-blocked-slot__days{margin-left:2px}.calendar-hour-line,.calendar-day-line{border-top:1px solid var(--color-border-soft);position:absolute;left:0;right:0}.calendar-now-line{height:2px;box-shadow:none;pointer-events:none;z-index:2;background:#2f6bff;position:absolute;left:0;right:0}.calendar-now-line__label{color:#fff;background:#2f6bff;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:600;line-height:12px;position:absolute;top:-9px;left:6px}.calendar-hour-label{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-xs);background:#fff;padding:0 3px;position:absolute;top:-8px;left:6px}.session-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2);text-align:left;box-shadow:none;cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;gap:2px;height:auto;display:flex;position:absolute;left:6px;right:6px;overflow:visible}.session-card[data-dragging=true]{opacity:.7;transform:scale(.98)}.session-card strong{font-size:var(--font-size-sm);line-height:var(--line-height-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.session-card span,.session-card small{color:var(--color-text-soft);font-size:10px;line-height:10px}.session-tooltip{color:#fff;opacity:0;pointer-events:none;z-index:3;box-shadow:none;background:#1f2430;border-radius:12px;flex-direction:column;gap:4px;padding:10px 12px;font-size:11px;line-height:14px;transition:opacity .2s,transform .2s;display:flex;position:absolute;bottom:calc(100% + 8px);left:8px;right:8px;transform:translateY(4px)}.session-tooltip__title{font-size:12px;font-weight:600}.session-tooltip__meta{color:#ffffffc7}.session-card:hover .session-tooltip,.session-card:focus-visible .session-tooltip{opacity:1;transform:translateY(0)}.session-card.scheduled{background:#fff;border-color:#bfdbfe}.session-card.completed{background:#edf2ff;border-color:#cfd8f5}.session-card.overdue{background:#fff4e5;border-color:#f7d49b}.session-card.canceled{background:#fff0f0;border-color:#f2c5c5}.auth-page{background:radial-gradient(circle at 18% 12%,#fff 0%,#f4f7fb 48%,#eaf0f8 100%);flex-direction:column;justify-content:center;align-items:stretch;min-height:100vh;padding:28px;display:flex}.auth-nav{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100%);margin:0 auto;display:flex}.auth-nav__logo{width:232px;max-width:58vw;height:auto;display:block}.auth-nav__menu{background:#ffffffd1;border:1px solid #dfe5ef;border-radius:999px;align-items:center;gap:8px;padding:6px;display:inline-flex}.auth-nav__link{color:#4c566b;cursor:pointer;background:0 0;border:none;border-radius:999px;min-height:38px;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .2s,color .2s}.auth-nav__link:hover,.auth-nav__link--active{background:var(--color-accent);color:#fff}.auth-hero{grid-template-columns:minmax(0,1fr) minmax(360px,420px);align-items:center;gap:72px;width:min(1120px,100%);margin:auto;padding:56px 0 28px;display:grid}.auth-hero__content{max-width:580px}.auth-kicker{color:var(--color-accent);margin-bottom:14px;font-size:14px;font-weight:700}.auth-card{width:min(420px,100%);box-shadow:none;background:#fff;border:1px solid #e3e7ef;border-radius:24px;padding:36px 32px}.auth-brand{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.auth-title{color:#1b2233;font-size:26px;font-weight:600;line-height:32px}.auth-subtitle{color:#5a6476;font-size:14px;line-height:20px}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-field{color:#3a4458;flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.auth-required{color:#f97316;font-weight:700}.auth-field input{color:#1f2633;background:#fafbfc;border:1px solid #d9dee7;border-radius:12px;height:44px;padding:0 14px;font-size:14px;transition:border-color .2s,box-shadow .2s}.auth-field input:focus{box-shadow:none;background:#fff;border-color:#7aa0ff;outline:none}.auth-checkbox{color:#3a4458;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;line-height:18px;display:flex}.auth-checkbox input{width:18px;height:18px;accent-color:var(--color-accent);flex:none;margin-top:1px}.auth-submit{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;cursor:pointer;border-radius:999px;height:46px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s,background-color .2s,border-color .2s,color .2s}.auth-submit:hover{box-shadow:none;transform:translateY(-1px)}.auth-submit--secondary{color:var(--color-accent);box-shadow:none;background:0 0}.auth-submit--secondary:hover{color:var(--color-accent);box-shadow:none;background:#f3efff;border-color:#7569e1}.auth-submit:disabled{opacity:.75;cursor:not-allowed;transform:none}.auth-submit:disabled:hover{box-shadow:none;transform:none}.auth-links{flex-direction:column;align-items:center;gap:8px;display:flex}.auth-link{color:var(--color-accent);text-align:center;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.auth-link:hover{color:#4f43c7;text-decoration:underline}.auth-error{color:#dc2626;font-size:12px;font-weight:600;line-height:16px}.auth-success{color:#15803d;font-size:12px;font-weight:600;line-height:16px}.auth-hint{color:#7b8497;margin-top:4px;font-size:12px;line-height:18px}.auth-beta-note{color:#5f4730;background:#fff8ed;border:1px solid #fde2bd;border-radius:16px;margin-top:18px;padding:14px 16px}.auth-beta-note strong{color:#9a5b10;margin-bottom:4px;font-size:13px;font-weight:700;line-height:18px;display:block}.auth-beta-note p{font-size:12px;line-height:18px}.onboarding-page{background:radial-gradient(circle at 14% 12%,#ffffff47 0 12%,#0000 34%),linear-gradient(145deg,#d8d4ff 0%,#969dff 34%,#747ff5 68%,#6250d6 100%);place-items:center;min-height:100vh;padding:clamp(24px,5vw,56px);display:grid}.onboarding-card{background:#fffffff0;border:1px solid #ffffff85;border-radius:24px;flex-direction:column;width:min(920px,100%);min-height:620px;padding:clamp(24px,4vw,44px);display:flex;box-shadow:0 24px 80px #2b308733}.onboarding-card--loading{color:#3a4458;justify-content:center;align-items:center;min-height:180px;font-weight:600}.onboarding-card__top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.onboarding-logo{aspect-ratio:1415/168;background:#747ff5;width:min(260px,64%);-webkit-mask:url(../media/FLPsicoFlow-Logo.3eaefoymw1u5k.svg) 50%/contain no-repeat;mask:url(../media/FLPsicoFlow-Logo.3eaefoymw1u5k.svg) 50%/contain no-repeat}.onboarding-logout{color:#4c566b;cursor:pointer;background:#fff;border:1px solid #d7deeb;border-radius:999px;height:38px;padding:0 16px;font-size:13px;font-weight:700}.onboarding-logout:hover{color:#6250d6;border-color:#747ff5}.onboarding-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:32px;display:grid}.onboarding-progress__item{color:#596478;background:#e2e6f0;border-radius:999px;justify-content:center;align-items:center;min-height:34px;font-size:13px;font-weight:700;line-height:18px;display:inline-flex}.onboarding-progress__item.active{color:#fff;background:linear-gradient(90deg,#747ff5 0%,#6250d6 100%)}.onboarding-step{flex:1}.onboarding-eyebrow{color:#6250d6;margin-bottom:10px;font-size:13px;font-weight:700;line-height:18px}.onboarding-step h1{color:#141b2d;max-width:720px;font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.08}.onboarding-step p{color:#4c566b;max-width:760px;margin-top:16px;font-size:16px;line-height:26px}.onboarding-step .onboarding-intro-copy{color:#172033;max-width:780px;font-size:14px;font-weight:600;line-height:22px}.onboarding-step__scroll{max-height:min(52vh,520px);padding-right:10px;overflow-y:auto}.onboarding-question{border-bottom:1px solid #e5eaf3;padding:18px 0}.onboarding-question:last-child{border-bottom:none}.onboarding-question h2{color:#172033;font-size:18px;font-weight:700;line-height:24px}.onboarding-question h3{color:#172033;margin-top:18px;font-size:15px;font-weight:700;line-height:20px}.onboarding-question p{margin-top:6px;font-size:14px;line-height:20px}.onboarding-checkbox-grid,.onboarding-radio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.onboarding-checkbox-grid label,.onboarding-radio-grid label{color:#30394d;background:#fff;border:1px solid #dde3ef;border-radius:12px;align-items:flex-start;gap:10px;min-height:44px;padding:12px;font-size:13px;font-weight:600;line-height:18px;display:flex}.onboarding-checkbox-grid input,.onboarding-radio-grid input{accent-color:#6250d6;flex:none;width:17px;height:17px;margin-top:1px}.onboarding-scale-list{flex-direction:column;gap:12px;margin-top:14px;display:flex}.onboarding-scale{background:#fff;border:1px solid #dde3ef;border-radius:14px;padding:14px}.onboarding-scale>span{color:#30394d;font-size:14px;font-weight:700;line-height:20px;display:block}.onboarding-scale>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.onboarding-scale label{color:#30394d;border:1px solid #dde3ef;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:38px;font-size:13px;font-weight:700;display:flex}.onboarding-scale input{accent-color:#6250d6}.onboarding-followup{margin-top:16px}.onboarding-question textarea{color:#172033;resize:vertical;background:#fff;border:1px solid #d7deeb;border-radius:12px;width:100%;min-height:96px;margin-top:12px;padding:11px 13px;font-size:14px;line-height:20px}.onboarding-question textarea:focus{border-color:#747ff5;outline:none}.onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;display:grid}.onboarding-grid label,.onboarding-consents label{color:#30394d;flex-direction:column;gap:7px;font-size:13px;font-weight:600;line-height:18px;display:flex}.onboarding-grid input,.onboarding-grid select,.onboarding-grid textarea{color:#172033;background:#fff;border:1px solid #d7deeb;border-radius:12px;width:100%;padding:0 13px;font-size:14px;line-height:20px}.onboarding-grid input,.onboarding-grid select{height:44px}.onboarding-grid textarea{resize:vertical;min-height:96px;padding-top:11px}.onboarding-grid input:focus,.onboarding-grid select:focus,.onboarding-grid textarea:focus{border-color:#747ff5;outline:none}.search-select{position:relative}.search-select__control{align-items:stretch;display:flex}.search-select__control input{border-right:none;border-radius:12px 0 0 12px}.search-select__control button{color:#5b6578;cursor:pointer;background:#fff;border:1px solid #d7deeb;border-left:none;border-radius:0 12px 12px 0;width:44px}.search-select__control button:disabled{cursor:not-allowed;opacity:.65}.search-select:focus-within .search-select__control input,.search-select:focus-within .search-select__control button{border-color:#747ff5}.search-select__menu{z-index:20;background:#fff;border:1px solid #d7deeb;border-radius:14px;max-height:220px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 40px #1f263324}.search-select__menu button{color:#172033;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;width:100%;min-height:36px;padding:0 10px;font-size:14px}.search-select__menu button:hover,.search-select__menu button[aria-selected=true]{color:#5142c8;background:#eef1ff}.search-select__empty{color:#6b7486;padding:10px;font-size:13px;display:block}.onboarding-grid__full{grid-column:1/-1}.onboarding-consents{flex-direction:column;gap:12px;margin-top:24px;display:flex}.onboarding-consents label{color:#3c465c;background:#f8faff;border:1px solid #dde3ef;border-radius:14px;flex-direction:row;align-items:flex-start;gap:10px;padding:14px 16px;font-weight:500}.onboarding-consents input{accent-color:#6250d6;flex:none;width:18px;height:18px;margin-top:1px}.onboarding-consents input:disabled{cursor:not-allowed;opacity:.45}.onboarding-consent-read{color:#6250d6;cursor:pointer;background:#fff;border:1px solid #747ff5;border-radius:999px;flex:none;min-width:48px;height:26px;margin-top:-3px;font-size:12px;font-weight:700;line-height:1}.onboarding-consent-read:hover{background:#eef1ff}.onboarding-policy-links{color:#7b8497;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:13px;font-weight:700;line-height:18px;display:none}.onboarding-policy-links button{color:#6250d6;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.onboarding-policy-links button:hover{text-decoration:underline}.onboarding-policy-modal{z-index:80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.onboarding-policy-modal__backdrop{background:#0d122385;border:none;position:absolute;inset:0}.onboarding-policy-modal__card{z-index:1;background:#fff;border:1px solid #e1e6f0;border-radius:20px;width:min(620px,100%);max-height:min(72vh,620px);position:relative;overflow-y:auto;box-shadow:0 24px 80px #141b2d3d}.onboarding-policy-modal__card header{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.onboarding-policy-modal__card h2{color:#172033;font-size:20px;font-weight:700;line-height:26px}.onboarding-policy-modal__card header button{color:#4c566b;cursor:pointer;background:#fff;border:1px solid #d7deeb;border-radius:999px;width:34px;height:34px;font-size:22px;line-height:1}.onboarding-policy-modal__card>div{flex-direction:column;gap:14px;padding:20px 22px 24px;display:flex}.onboarding-policy-modal__card p{color:#4c566b;font-size:14px;line-height:22px}.onboarding-error{color:#dc2626;margin-top:18px;font-size:13px;font-weight:700;line-height:18px}.onboarding-actions{justify-content:flex-end;gap:12px;margin-top:32px;display:flex}.onboarding-button{color:#fff;cursor:pointer;background:#6250d6;border:1px solid #6250d6;border-radius:999px;min-width:132px;height:44px;font-size:14px;font-weight:700}.onboarding-button--secondary{color:#6250d6;background:#fff}.onboarding-button:disabled{opacity:.52;cursor:not-allowed}.exit-survey-card{min-height:min(860px,100vh - 48px)}.exit-survey-panel{margin-top:24px}.exit-survey-scale{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))}.exit-survey-scale--nps{grid-template-columns:repeat(auto-fit,minmax(48px,1fr))}.exit-survey-nps{margin-top:14px}.exit-survey-textarea-list{gap:14px;margin-top:14px;display:grid}.exit-survey-textarea-list label{color:#30394d;flex-direction:column;gap:8px;font-size:14px;font-weight:700;line-height:20px;display:flex}.exit-survey-success{color:#15803d;margin-top:18px;font-size:13px;font-weight:700;line-height:18px}.exit-survey-banner{background:#f3f5ff;border:1px solid #d8ddff;border-radius:16px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;padding:18px 20px;display:flex}.exit-survey-banner strong{color:#172033;font-size:16px;line-height:22px;display:block}.exit-survey-banner p{color:#5b6578;margin-top:4px;font-size:14px;line-height:20px}.exit-survey-banner .onboarding-button{flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.admin-rules-panel{margin-bottom:24px}.admin-methodology-grid{gap:18px;margin-bottom:24px;display:grid}.admin-dashboard-panel,.admin-cohort-panel{margin-bottom:24px}.admin-cohort-controls{justify-content:space-between;align-items:end;gap:16px;display:flex}.admin-cohort-panel label{color:#30394d;flex:1;gap:7px;font-size:13px;font-weight:800;line-height:18px;display:grid}.admin-cohort-panel select{color:#172033;background:#fff;border:1px solid #d7deeb;border-radius:12px;width:min(420px,100%);height:42px;padding:0 12px;font-size:14px;line-height:20px}.admin-cohort-controls .onboarding-button{flex:none}.admin-snapshot-message{color:#15803d;margin-top:12px;font-size:13px;font-weight:800;line-height:18px}.admin-cohort-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.admin-cohort-meta span{color:#4c566b;background:#f8faff;border:1px solid #dde3ef;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:800;line-height:16px;display:inline-flex}.admin-dashboard-metrics+.admin-dashboard-metrics{margin-top:14px}.admin-methodology-panel .home-metrics{margin-top:0}.admin-rules-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;display:grid}.admin-rules-grid label{color:#30394d;flex-direction:column;gap:7px;font-size:13px;font-weight:700;line-height:18px;display:flex}.admin-rules-grid input{color:#172033;background:#fff;border:1px solid #d7deeb;border-radius:12px;height:42px;padding:0 12px;font-size:14px;line-height:20px}.admin-rules-grid input:focus{border-color:#747ff5;outline:none}.admin-rules-grid .onboarding-button{width:100%}.admin-comparison-panel{margin-bottom:24px}.admin-comparison-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.admin-comparison-card{background:#fff;border:1px solid #dde3ef;border-radius:12px;padding:14px}.admin-comparison-card h3{color:#172033;font-size:14px;font-weight:800;line-height:20px}.admin-comparison-card dl{gap:10px;margin-top:12px;display:grid}.admin-comparison-card div{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.admin-comparison-card dt{color:#5b6578;font-size:12px;font-weight:700;line-height:17px}.admin-comparison-card dd{color:#172033;text-align:right;font-size:13px;font-weight:800;line-height:18px}.auth-page{background:#f3f6fb;min-height:100vh;padding:0}.auth-hero{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:0;width:100%;min-height:100vh;margin:0;padding:0;display:grid}.auth-hero__content{color:#fff;background:radial-gradient(circle at 16% 18%,#ffffff3d 0 12%,#0000 36%),linear-gradient(145deg,#f1edff 0%,#9ea4ff 38%,#747ff5 72%,#6250d6 100%);flex-direction:column;justify-content:center;max-width:none;min-height:100vh;padding:clamp(40px,7vw,96px);display:flex}.auth-hero__logo{aspect-ratio:1415/168;background:#fff;width:min(468px,82%);margin-bottom:clamp(40px,8vw,92px);-webkit-mask:url(../media/FLPsicoFlow-Logo.3eaefoymw1u5k.svg) 50%/contain no-repeat;mask:url(../media/FLPsicoFlow-Logo.3eaefoymw1u5k.svg) 50%/contain no-repeat}.auth-hero__content h2{color:#fff;max-width:620px;font-size:clamp(40px,5.6vw,72px);font-weight:700;line-height:1.05}.auth-hero__content p:not(.auth-kicker){color:#ffffffdb;max-width:560px;margin-top:24px;font-size:18px;line-height:30px}.auth-card{place-self:center;width:min(420px,100% - 48px)}.auth-card .auth-brand{display:none}@media (max-width:860px){.onboarding-page{align-items:start;padding:16px}.onboarding-card{min-height:auto;padding:22px}.onboarding-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-grid,.onboarding-checkbox-grid,.onboarding-radio-grid{grid-template-columns:1fr}.onboarding-step__scroll{max-height:none;padding-right:0;overflow:visible}.onboarding-actions{flex-direction:column-reverse}.onboarding-button{width:100%}.auth-hero{grid-template-columns:1fr}.auth-hero__content{min-height:auto;padding:40px 24px}.auth-hero__logo{width:min(338px,76%);margin-bottom:36px}.auth-card{width:min(420px,100% - 32px);margin:32px auto}}.goals-summary{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.goals-summary__card,.goals-indicator-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:none;padding:var(--space-3);flex-direction:column;gap:4px;display:flex}.goals-summary__card span,.goals-indicator-card span,.goals-results__item span{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted);font-weight:600}.goals-summary__card strong,.goals-indicator-card strong,.goals-results__item strong{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:600}.goals-results{margin-top:var(--space-2);gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.goals-results__item{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);background:#fff;flex-direction:column;gap:4px;display:flex}.goals-tabs{gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-card);width:fit-content;box-shadow:none;align-items:center;padding:4px;display:inline-flex}.goals-tabs__button{height:var(--control-height-sm);border-radius:var(--radius-pill);padding:0 var(--space-3);color:var(--color-text-soft);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;font-weight:600}.goals-tabs__button--active{background:var(--color-primary-700);color:#fff}.goals-table-section{padding-bottom:var(--space-3)}.goals-table-wrapper{overflow-x:auto}.goals-table{border-collapse:collapse;width:100%;min-width:760px}.goals-table th{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border);font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;background:#f2f4ff}.goals-table td{padding:var(--space-2);border-bottom:1px solid var(--color-border-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);color:var(--color-text)}.goals-table tbody tr:last-child td{border-bottom:none}.goals-indicators{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.goals-insights{border:1px solid #dfe4ff;border-left:5px solid var(--color-primary-700);border-radius:var(--radius-xl);box-shadow:none;padding:var(--space-4);gap:var(--space-2);background:linear-gradient(#f9faff 0%,#f4f7ff 100%);flex-direction:column;display:flex}.goals-insights h2{font-size:var(--font-size-xl);line-height:var(--line-height-xl);font-weight:600}.goals-insights p{color:var(--color-text-soft);font-size:var(--font-size-base);line-height:var(--line-height-base)}.goals-insights strong{color:var(--color-text)}.goals-goal-list{gap:var(--space-2);flex-direction:column;display:flex}.goals-goal-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);gap:var(--space-2);background:#fff;flex-direction:column;display:flex}.goals-goal-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.goals-goal-card__title{font-size:var(--font-size-md);line-height:var(--line-height-md);font-weight:600}.goals-goal-card__meta{color:var(--color-text-soft);font-size:var(--font-size-sm);line-height:var(--line-height-sm);text-transform:capitalize}.goals-goal-card__badge{border-radius:var(--radius-pill);height:28px;font-size:var(--font-size-xs);line-height:var(--line-height-xs);border:1px solid #0000;justify-content:center;align-items:center;padding:0 12px;font-weight:600;display:inline-flex}.goals-goal-card__badge--active{color:#265ac7;background:#eef4ff;border-color:#c9dafe}.goals-goal-card__badge--achieved{color:#0f7a3f;background:#ecfdf3;border-color:#bdeacb}.goals-goal-card__badge--paused{color:#8b5d00;background:#fff8e7;border-color:#f3dea5}.goals-goal-card__grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.goals-goal-card__grid div{flex-direction:column;gap:3px;display:flex}.goals-goal-card__grid span{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted);font-weight:600}.goals-goal-card__grid strong{font-size:var(--font-size-lg);line-height:var(--line-height-lg);font-weight:600}.goals-goal-card__progress{flex-direction:column;gap:6px;display:flex}.goals-goal-card__progress-bar{background:#e8ecfb;border-radius:999px;width:100%;height:10px;overflow:hidden}.goals-goal-card__progress-fill{background:linear-gradient(90deg,#6f82ff 0%,#8d6ffc 100%);border-radius:999px;height:100%}.goals-goal-card__progress span{font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-soft);font-weight:600}.goals-goal-card__actions{justify-content:space-between;align-items:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.goals-goal-card__actions .patient-form__field{min-width:180px;margin-bottom:0}@media (max-width:1024px){.app-shell{flex-direction:column}.sidebar--desktop{display:none}.topbar{min-height:auto;padding:var(--space-3);flex-direction:column;align-items:flex-start}.topbar__menu-button{display:inline-flex}.topbar__intro{width:100%}.topbar__actions{display:none}.app-shell__main{padding:var(--space-3)}.patient-record__header{flex-direction:column}.patient-record__grid,.patient-form__metadata,.patient-form__grid,.patient-summary__grid{grid-template-columns:1fr}.patient-summary__pending-item{flex-direction:column;align-items:flex-start}.patient-record__ai-panel,.patient-record__ai-report{grid-template-columns:1fr}.patients-card__pending-item{flex-direction:column;align-items:flex-start}.patients-card-grid,.home-metrics,.home-grid,.home-pending-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.patients-card__layout{grid-template-columns:1fr}.patients-card__right{text-align:left;align-items:flex-start}.goals-summary,.goals-indicators,.goals-results,.goals-goal-card__grid{grid-template-columns:repeat(1,minmax(0,1fr))}.break-card__grid{grid-template-columns:1fr}}@media (max-width:768px){.new-session-grid,.new-session-grid__patient,.new-session-grid__date,.new-session-grid__time,.new-session-grid__duration,.new-session-grid__modality,.new-session-grid__recurring,.new-session-grid__frequency,.new-session-grid__meeting-link,.new-session-grid__link-sent{grid-column:1/-1}.topbar__meta{font-size:var(--font-size-sm);line-height:var(--line-height-sm)}input,select,textarea{font-size:16px}.patients-section__actions,.patients-filters__actions,.sessions-actions,.sessions-view-buttons,.patient-record__actions,.patient-form__actions,.patient-record__contact-actions,.patients-section__actions .patients-search{width:100%}.patients-filters__actions{justify-content:stretch;margin-left:0}.patients-filters__actions .patients-search{width:100%}.patients-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.patients-search__input,.patient-record__button,.patient-form__button,.patient-record__item-button,.patients-action-button,.patients-card__quick-button,.patients-card__quick-menu,.patients-card__footer .patients-action-button--primary{width:100%}.patients-card__quick-menu-list{min-width:100%;left:0;right:0}.patients-card-grid{grid-template-columns:1fr}.patients-card__pending-status{flex-direction:column;align-items:flex-start}.patients-filter-chip{justify-content:space-between;width:100%}.patients-card__header,.patients-card__footer{flex-direction:column;align-items:stretch}.patients-card__header-actions{align-items:stretch}.patients-card__action-group,.sessions-toolbar{flex-direction:column;align-items:stretch}.assistant-grid,.goals-summary,.goals-indicators,.goals-results,.goals-goal-card__grid{grid-template-columns:1fr}.goals-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.goals-table{min-width:620px}.sessions-view-buttons{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sessions-view-buttons button{width:100%}.sessions-actions{flex-direction:column;align-items:stretch}.sessions-actions__nav{gap:var(--space-2);grid-template-columns:auto 1fr auto;width:100%;display:grid}.sessions-actions__today,.sessions-actions .new-session-button{width:100%}.patients-table{min-width:0}.patients-table thead{display:none}.patients-table tbody{gap:var(--space-2);padding:var(--space-2);flex-direction:column;display:flex}.patients-table tbody tr{gap:var(--space-1);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-3);background:#fff;flex-direction:column;display:flex}.patients-table tbody td{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;border:none;display:flex}.patients-table tbody td:before{content:attr(data-label);font-size:var(--font-size-xs);line-height:var(--line-height-xs);color:var(--color-text-muted);font-weight:600}.patients-table tbody td[data-label=Ações]{justify-content:flex-end}.patients-table tbody td[data-label=Ações]:before{display:none}.calendar-header,.calendar-body{grid-template-columns:64px repeat(7,minmax(120px,1fr));min-width:980px}.calendar-month__weekdays,.calendar-month__grid{min-width:920px}.calendar-week,.calendar-month{overflow-x:auto}.timeline-item{gap:var(--space-1);grid-template-columns:56px 16px 1fr}}
