.ui-sidebar{width:260px;background-color:var(--surface-card);border-right:1px solid var(--border-default);display:flex;flex-direction:column;height:100vh;position:sticky;top:0}.ui-sidebar-header{padding:1rem 1.5rem;display:flex;align-items:center;gap:.75rem;border-bottom:1px solid var(--border-default);margin:1rem;border-radius:12px;transition:all .3s ease;justify-content:flex-start}.ui-sidebar-header.centered{justify-content:center;gap:.75rem}.ui-sidebar-header.brand-dark{background-color:#fff;box-shadow:0 2px 8px #0000000d}.ui-sidebar-header.brand-light{background-color:var(--action-primary);color:var(--on-primary)}.ui-sidebar-header.brand-light .ui-sidebar-brand{color:var(--on-primary)}.ui-sidebar-header.brand-light .ui-sidebar-logo{background-color:#fff;color:var(--action-primary)}.ui-sidebar-logo{width:40px;height:40px;background-color:var(--action-primary);color:var(--on-primary, white);border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;overflow:hidden;flex-shrink:0;transition:all .3s ease}.sidebar-logo-img{width:100%;height:100%;object-fit:contain;padding:2px}.ui-sidebar-header.brand-light .ui-sidebar-logo,.ui-sidebar-header.brand-dark .ui-sidebar-logo{background-color:transparent!important}.ui-sidebar-brand{font-weight:700;font-size:1.125rem;color:var(--action-primary)}.ui-sidebar-nav{flex:1;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:.5rem}.ui-sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--text-secondary);text-decoration:none;font-weight:600;border-radius:var(--radius-sm);transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.ui-sidebar-link:hover{background-color:#4a3aff0a;color:var(--action-primary);transform:translate(4px)}.ui-sidebar-link.active{background-color:var(--surface-subtle);color:var(--action-primary)}.ui-sidebar-link.active:before{content:"";position:absolute;left:0;top:20%;height:60%;width:4px;background-color:var(--action-primary);border-radius:0 4px 4px 0}.ui-sidebar-footer{padding:1.5rem 1rem;border-top:1px solid var(--border-default)}@media(max-width:1023px){.ui-sidebar{display:none}}.ui-card{background-color:var(--surface-card);border-radius:var(--radius-md);padding:1.5rem;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000005;border:1px solid rgba(226,232,240,.8);transition:all .3s cubic-bezier(.4,0,.2,1)}.ui-card--dark{background-color:var(--action-strong);color:#fff;border-color:#ffffff1a;box-shadow:0 10px 25px -5px #0000004d}.ui-card:hover{box-shadow:0 10px 20px -5px #0000000a,0 8px 16px -8px #0000000a;border-color:#e2e8f0}.motivational-overlay{position:fixed;inset:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.motivational-content{width:100%;max-width:420px;padding:3rem 2.5rem 2.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.75rem;border-radius:32px;background-color:#fff;position:relative;box-shadow:0 25px 50px -12px #00000026;animation:motivationalPopup .6s cubic-bezier(.34,1.56,.64,1)}@keyframes motivationalPopup{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.motivational-close{position:absolute;top:20px;right:20px;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s}.motivational-icon-circle{width:80px;height:80px;background:linear-gradient(135deg,#4a3aff,#6366f1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 25px #4a3aff4d}.motivational-text h2{font-size:1.25rem;font-weight:900;color:var(--text-primary);margin-bottom:.5rem;text-transform:uppercase}.motivational-text p{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.motivational-quote-box{background-color:#f5f3ff;padding:1rem;border-radius:16px;display:flex;align-items:center;gap:.75rem;color:var(--action-primary);font-style:italic;font-size:.8125rem;width:100%}.motivational-action-btn{width:100%;background:linear-gradient(135deg,var(--action-primary),#6366f1);color:#fff;border:none;padding:1rem;border-radius:16px;font-weight:800;font-size:.875rem;cursor:pointer;transition:transform .2s,box-shadow .2s;letter-spacing:1px}.motivational-action-btn:hover{transform:none;box-shadow:0 10px 25px #4a3aff4d}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:800;font-size:.825rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.ui-button:active:not(:disabled){transform:scale(.96)}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button--primary{background-color:var(--action-primary);color:var(--on-primary, white);box-shadow:var(--shadow-sm)}.ui-button--secondary{background-color:var(--surface-subtle);color:var(--action-primary)}.ui-button--ghost{background-color:transparent;color:var(--text-secondary)}.ui-button--danger{background-color:var(--status-error);color:#fff}.ui-button:hover:not(:disabled){filter:brightness(.92);box-shadow:0 4px 12px #00000014}.ui-button--ghost:hover:not(:disabled){background-color:#0000000a;filter:none}.ui-button--sm{padding:.5rem 1rem;font-size:.875rem;border-radius:6px}.ui-button--md{padding:.75rem 1.5rem;font-size:1rem;border-radius:var(--radius-sm)}.ui-button--lg{padding:1rem 2rem;font-size:1.125rem;border-radius:var(--radius-md)}.ui-button--full-width{width:100%}.confirm-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.confirm-modal-content{background-color:var(--surface-card);border-radius:var(--radius-md);width:100%;max-width:400px;padding:2.5rem;position:relative;box-shadow:0 10px 40px #0003;text-align:center}.confirm-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:50%}.confirm-modal-close:hover{background-color:transparent;color:var(--text-secondary)}.confirm-modal-icon{margin:0 auto 1.5rem;color:#ef4444;background:#fee2e2;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-modal-body h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.confirm-modal-body p{font-size:.875rem;color:var(--text-secondary);margin-bottom:2rem}.confirm-modal-footer{display:flex;gap:1rem;justify-content:center}.confirm-modal-footer button{flex:1}.btn-danger{background-color:#ef4444!important;border-color:#ef4444!important}.btn-danger:hover{background-color:#ef4444!important}.ui-header{height:64px;background-color:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem}@media(max-width:768px){.ui-header{padding:0 .875rem;height:60px}.ui-header-actions{gap:.75rem}}.ui-header-actions{display:flex;align-items:center;gap:1.5rem}.ui-header-btn{background:#fff;border:1px solid var(--border-default);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.ui-header-btn:hover{background-color:#fff;color:var(--action-primary);border-color:var(--action-primary);box-shadow:0 4px 12px #4a3aff1a;transform:translateY(-2px)}.ui-header-btn:active{transform:scale(.95)}.ui-header-btn.logout:hover{color:var(--danger, #ef4444)}.ui-header-badge{position:absolute;top:5px;right:5px;width:16px;height:16px;background-color:var(--status-error);color:#fff;font-size:.625rem;font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 0 0 2px #ef444433}.notification-wrapper{position:relative}.notification-dropdown{position:absolute;top:calc(100% + 15px);right:-10px;width:300px;max-width:calc(100vw - 2rem);background-color:#fff;border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000001f;border:1px solid var(--border-default);z-index:1000;overflow:hidden;animation:slideDown .3s cubic-bezier(.16,1,.3,1)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:1.25rem;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center}.notification-header h3{font-size:.875rem;font-weight:800;color:var(--text-primary)}.close-notif-btn{background:#f1f5f9;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all .2s}.close-notif-btn:hover{background:#e2e8f0;color:var(--text-primary)}.delete-notif-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:8px;opacity:0;transition:all .2s;border-radius:6px}.notification-item:hover .delete-notif-btn{opacity:1}.delete-notif-btn:hover{background:#fee2e2;color:#ef4444}.notification-list{max-height:400px;overflow-y:auto}.notification-item{padding:1rem 1.25rem;display:flex;gap:1rem;align-items:flex-start;cursor:pointer;transition:background .2s;border-bottom:1px solid var(--border-default);position:relative}.notification-item:hover{background-color:#f8f9fc}.notification-item.unread{background-color:#4a3aff0a}.notification-item.unread:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background-color:var(--action-primary)}.notif-icon{font-size:1.25rem;padding-top:2px}.notif-content{flex:1;display:flex;flex-direction:column;gap:.25rem}.notif-title{font-size:.8125rem;font-weight:800;color:var(--text-primary)}.notif-text{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.notif-time{font-size:.625rem;color:var(--text-muted);font-weight:700;margin-top:.25rem}.unread-dot{width:8px;height:8px;background-color:var(--action-primary);border-radius:50%;margin-top:5px}.empty-notifications{padding:3rem 1.5rem;text-align:center;color:var(--text-muted);font-size:.8125rem}.ui-header-profile{display:flex;align-items:center;gap:.75rem;cursor:pointer}.ui-header-profile-info{display:flex;flex-direction:column;align-items:flex-end}.ui-header-name{font-weight:700;font-size:.875rem;color:var(--text-primary)}.ui-header-role{font-size:.75rem;color:var(--text-secondary)}.ui-header-avatar{color:var(--action-primary)}.ui-therapist-bottom-nav{display:none}@media(max-width:1023px){.ui-therapist-bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:70px;background-color:var(--surface-card);border-top:1px solid var(--border-default);display:flex;justify-content:space-around;align-items:center;z-index:200;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -2px 12px #0000000f}.t-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--text-muted);text-decoration:none;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;flex:1;height:100%;transition:color .2s ease}.t-nav-item.active{color:var(--action-primary)}.t-nav-item:hover{color:var(--text-muted)}.t-nav-item.active:hover{color:var(--action-primary)}}.ui-therapist-layout{display:flex;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;background-color:var(--surface-page)}.ui-therapist-main{flex:1;display:flex;flex-direction:column;min-width:0;width:100%}.ui-therapist-content{flex:1;padding:0 1.5rem 2rem;overflow-y:auto;max-width:1400px;width:100%;box-sizing:border-box;margin:0 auto}@media(min-width:1024px){.session-mode-active{width:100%!important;margin:0!important}}@media(max-width:1023px){.ui-therapist-layout{display:block;position:relative}.ui-therapist-main{width:100%;max-width:100vw;margin-left:0;padding-left:0}.ui-therapist-content{padding:0 .875rem 90px;width:100%;max-width:100vw;box-sizing:border-box}}.ui-bottom-nav{position:fixed;bottom:0;left:0;width:100%;height:70px;background-color:var(--surface-card);border-top:1px solid var(--border-default);display:flex;justify-content:space-around;align-items:center;z-index:100;padding-bottom:env(safe-area-inset-bottom)}.ui-bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;color:var(--text-muted);text-decoration:none;font-size:.625rem;font-weight:700;transition:color .2s;flex:1;height:100%}.ui-bottom-nav .nav-item.active,.ui-bottom-nav .nav-item:hover{color:var(--action-primary)}@media(min-width:1024px){.ui-bottom-nav{display:none}}.page-skeleton{padding:24px;height:100vh;display:flex;flex-direction:column;gap:24px;position:relative}.skeleton-header{display:flex;flex-direction:column;gap:8px}.skeleton-title{height:32px;width:200px;background:#e2e8f0;border-radius:8px}.skeleton-subtitle{height:16px;width:300px;background:#e2e8f0;border-radius:4px}.skeleton-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.skeleton-card{height:160px;background:#f1f5f9;border-radius:12px;border:1px solid #e2e8f0}.skeleton-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px}.pulse{animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media(max-width:768px){.page-skeleton{padding:16px}.skeleton-content{grid-template-columns:1fr}}.pwa-prompt-banner{position:fixed;bottom:20px;left:20px;right:20px;background-color:#fff;border-radius:var(--radius-md);padding:1rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10px 40px #0000001a;z-index:99999;border:1px solid var(--border-default);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pwa-prompt-content{display:flex;gap:1rem;align-items:center}.pwa-prompt-icon{width:44px;height:44px;background-color:var(--surface-subtle);border-radius:12px;display:flex;align-items:center;justify-content:center}.pwa-prompt-icon img{width:80%;height:80%;object-fit:contain}.pwa-prompt-text{display:flex;flex-direction:column}.pwa-prompt-text strong{font-size:.8125rem;color:var(--text-primary);font-weight:800}.pwa-prompt-text span{font-size:.6875rem;color:var(--text-secondary)}.pwa-prompt-actions{display:flex;gap:.5rem;align-items:center}.pwa-install-btn{background-color:var(--action-primary);color:#fff;border:none;padding:8px 16px;border-radius:50px;font-size:.75rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;box-shadow:0 4px 12px #11225033;transition:all .2s}.pwa-install-btn:hover{background-color:var(--primary-hover);transform:translateY(-2px)}.pwa-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;display:flex}.pwa-close-btn:hover{color:var(--text-primary)}@media(max-width:600px){.pwa-prompt-banner{flex-direction:column;gap:1rem;align-items:stretch;bottom:15px;left:15px;right:15px;text-align:center}.pwa-prompt-content{flex-direction:column;gap:.5rem;align-items:center}.pwa-prompt-actions{justify-content:center;gap:1rem}.pwa-install-btn{flex:1;justify-content:center}}.error-boundary-container{display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;background-color:var(--bg-main, #f8f9fc);padding:2rem}.error-boundary-card{max-width:500px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 2rem;gap:1.5rem;background:#fff;box-shadow:0 10px 25px #0000000d;border-radius:24px}.error-icon{color:var(--danger, #ff4d4d);margin-bottom:.5rem}.error-boundary-card h2{color:var(--text-primary, #1e2029);font-size:1.5rem;font-weight:800}.error-desc{color:var(--text-secondary, #71778e);font-size:1rem;line-height:1.5}.error-details{width:100%;margin-top:1rem;padding:1rem;background-color:#f1f5f9;border-radius:12px;text-align:left;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}.error-details strong{color:var(--text-primary);font-weight:700}.error-details code{font-family:Consolas,Monaco,monospace;color:var(--status-error);background:transparent;padding:0;word-break:break-all;white-space:pre-wrap}.error-reset-btn{margin-top:1rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--text-primary: #1e2029;--text-secondary: #71778e;--text-muted: #a0a4b8;--text-on-dark: #ffffff;--text-on-brand: #ffffff;--surface-page: #f8f9fc;--surface-section: #f1f5f9;--surface-card: #ffffff;--surface-subtle: #f8fafc;--surface-elevated: #ffffff;--action-primary: #112250;--action-primary-hover: #0c1a3b;--action-primary-active: #081126;--action-secondary: #ffffff;--action-strong: #141721;--action-strong-hover: #0d0f15;--border-default: #eaeaf1;--border-subtle: #f1f5f9;--border-focus: rgba(17, 34, 80, .2);--status-success: #1eb980;--status-warning: #f59e0b;--status-error: #ff4d4d;--success-bg: #e6f7ec;--success-text: #168a5f;--danger-bg: #ffebeb;--danger-text: #cc0000;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--text-5xl: 48px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .02);--shadow-md: 0 4px 12px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .05);--shadow-card: 0 4px 24px rgba(0, 0, 0, .04);--shadow-card-hover: 0 12px 32px rgba(0, 0, 0, .08);--shadow-button-primary: 0 4px 12px rgba(0, 0, 0, .1)}body{font-family:var(--font-sans);background-color:var(--surface-page);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}.app-container{display:block;min-height:100vh;width:100%;overflow-x:hidden}.view-mode-mobile{background-color:#1a1a2e;display:flex;align-items:center;justify-content:center;height:100vh;padding:20px;overflow:hidden}.view-mode-mobile .app-container{width:375px!important;height:812px!important;min-height:812px!important;max-width:375px!important;max-height:812px!important;border-radius:40px;border:12px solid #222;box-shadow:0 25px 50px -12px #00000080;position:relative;overflow:hidden;margin:auto;flex-direction:column}.view-toggler-container{position:fixed;bottom:20px;right:20px;background-color:#fff;padding:6px;border-radius:50px;display:flex;gap:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:9999;border:1px solid var(--border-default)}.toggler-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:50px;border:none;background-color:transparent;color:var(--text-secondary);font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s}.toggler-btn.active{background-color:var(--surface-subtle);color:var(--action-primary)}.toggler-btn:hover:not(.active){background-color:#f1f5f9}.splash-screen{position:fixed;inset:0;background-color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;gap:2rem}.splash-logo-loader{width:140px;height:auto;margin-bottom:2rem;animation:logoPulse 2s cubic-bezier(.4,0,.6,1) infinite;filter:drop-shadow(0 0 20px rgba(17,34,80,.1))}@keyframes logoPulse{0%,to{transform:scale(.92);opacity:.7}50%{transform:scale(1);opacity:1}}.splash-text{font-weight:700;color:var(--action-primary);letter-spacing:2px;font-size:.75rem;text-transform:uppercase;opacity:.5}.modal-overlay{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;background-color:#0006!important;-webkit-backdrop-filter:blur(4px)!important;backdrop-filter:blur(4px)!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:9999!important;padding:1rem!important}.modal-overlay>*{animation:modalEnter .3s cubic-bezier(.34,1.56,.64,1)!important}@keyframes modalEnter{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.ui-toast-container{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;z-index:10000;pointer-events:none}.ui-toast{pointer-events:auto;min-width:320px;padding:1.15rem 1.5rem;border-radius:16px;background:#ffffffd9;-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);box-shadow:0 20px 40px #00000014,0 1px 3px #00000005;display:flex;align-items:center;gap:14px;animation:toast-in .5s cubic-bezier(.19,1,.22,1);border:1px solid rgba(255,255,255,.5);overflow:hidden;position:relative}.ui-toast--success{border-left-color:#10b981}.ui-toast--error{border-left-color:#ef4444}.ui-toast--info{border-left-color:var(--action-primary)}.ui-toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:#fff}.ui-toast--success .ui-toast-icon{background:#10b981}.ui-toast--error .ui-toast-icon{background:#ef4444}.ui-toast--info .ui-toast-icon{background:var(--action-primary)}.ui-toast-message{font-weight:600;color:#1e2029;font-size:.9375rem}.ui-toast-progress{position:absolute;bottom:0;left:0;height:3px;background:#0000001a;width:100%;animation:toast-progress 3s linear forwards}@keyframes toast-in{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-progress{0%{width:100%}to{width:0%}}
