:root{--gp-teal:#0a5e66;--gp-teal-deep:#084850;--gp-navy:#0a1e33;--gp-coral:#e46a4b;--gp-coral-deep:#d2583a;--gp-sage:#89b88c;--gp-ink:#16323d;--gp-muted:#5b7682;--gp-faint:#8aa1ab;--gp-line:#e4edee;--gp-surface:#fff;--gp-bg:#f4f9fa;--gp-tint:#f0f6f6;--gp-shadow:0 1px 2px #0a1e330a, 0 8px 24px -12px #0a5e6629;--gp-shadow-lift:0 4px 10px #0a1e330d, 0 18px 40px -16px #0a5e6638}body{background-color:var(--gp-bg);color:var(--gp-ink);-webkit-font-smoothing:antialiased;font-family:Nunito,sans-serif}.dash-wrap{max-width:880px;margin:0 auto;padding:0 20px 72px}.dash-icon{vertical-align:-.12em;flex-shrink:0;width:1em;height:1em;display:inline-block}.dash-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;padding:40px 0 24px;display:flex}.dash-greeting-block{flex:1;min-width:0}.dash-greeting-label{color:var(--gp-teal);letter-spacing:.09em;text-transform:uppercase;opacity:.9;margin-bottom:6px;font-size:12px;font-weight:800}.dash-greeting-name{color:var(--gp-navy);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:30px;font-weight:800;line-height:1.1;overflow:hidden}.dash-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.dash-btn-icon{border:1px solid var(--gp-line);background:var(--gp-surface);width:42px;height:42px;color:var(--gp-muted);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;font-size:18px;text-decoration:none;transition:background .18s,color .18s,border-color .18s,transform .12s;display:inline-flex}.dash-btn-icon:hover{background:var(--gp-tint);color:var(--gp-teal);border-color:#cfe0e1}.dash-btn-icon:active{transform:translateY(1px)}.dash-btn-icon.danger:hover{color:var(--gp-coral);background:#fdf3f0;border-color:#f3d5cc}.dash-quick-links{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.dash-quick-links a{color:var(--gp-teal);background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:99px;align-items:center;gap:7px;padding:8px 14px;font-size:13px;font-weight:800;text-decoration:none;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.dash-quick-links a:hover{background:var(--gp-tint);border-color:#cfe0e1;transform:translateY(-1px)}.dash-quick-links a .dash-icon{color:var(--gp-teal);opacity:.85}.dash-section{background:var(--gp-surface);border:1px solid var(--gp-line);box-shadow:var(--gp-shadow);border-radius:20px;margin-bottom:18px;padding:26px 28px}.dash-section-title{color:var(--gp-muted);text-transform:uppercase;letter-spacing:.07em;margin:0 0 18px;font-size:13px;font-weight:800}.dash-sub-free{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.dash-sub-free p{color:var(--gp-muted);margin:0;font-size:14px;font-weight:700}.dash-sub-upgrade{background:var(--gp-coral);color:#fff;white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:800;text-decoration:none;transition:background .2s,transform .12s;display:inline-flex}.dash-sub-upgrade:hover{background:var(--gp-coral-deep);transform:translateY(-1px)}#credits-badge{margin-bottom:20px}.credits-banner{background:oklch(95% .03 155);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.credits-banner-info{flex:1}.credits-banner-count{color:oklch(30% .1 155);font-size:15px;font-weight:900}.credits-banner-sub{color:oklch(45% .06 155);margin-top:2px;font-size:12px}.credits-buy-link{color:oklch(38% .09 195);white-space:nowrap;font-size:13px;font-weight:800;text-decoration:none}.credits-buy-link:hover{text-decoration:underline}.credits-empty-banner{color:oklch(55% .04 185);background:oklch(97% .005 185);border:1.5px dashed oklch(82% .02 185);border-radius:16px;padding:14px 18px;font-size:13px;font-weight:700;text-decoration:none;display:block}.credits-empty-banner span{color:oklch(38% .09 195);font-weight:800}.credits-empty-banner:hover{border-color:oklch(68% .05 185)}.session-card{background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:16px;align-items:center;gap:16px;margin-bottom:10px;padding:16px 18px;display:flex}.session-card:last-child{margin-bottom:0}.session-card.is-next{background:linear-gradient(#f7fbfb 0%,#fff 60%);border:1px solid #cfe6e4;border-radius:18px;padding:22px 24px;position:relative;overflow:hidden;box-shadow:0 10px 30px -18px #0a5e6659}.session-card.is-next:before{content:"";background:linear-gradient(180deg, var(--gp-teal), var(--gp-sage));width:4px;position:absolute;top:0;bottom:0;left:0}.session-avatar{object-fit:cover;background:var(--gp-tint);width:48px;height:48px;box-shadow:0 0 0 1px var(--gp-line);color:var(--gp-teal);border:2px solid #fff;border-radius:50%;flex-shrink:0}.session-card.is-next .session-avatar{width:58px;height:58px}.session-info{flex:1;min-width:0}.session-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--gp-teal);align-items:center;gap:5px;margin-bottom:5px;font-size:11px;font-weight:800;display:inline-flex}.session-therapist{color:var(--gp-navy);letter-spacing:-.01em;font-size:15px;font-weight:800}.session-card.is-next .session-therapist{font-size:19px}.session-datetime{color:var(--gp-ink);align-items:center;gap:7px;margin-top:4px;font-size:14px;font-weight:700;display:flex}.session-datetime .dash-icon{color:var(--gp-teal);opacity:.8}.session-card:not(.is-next) .session-datetime{color:var(--gp-muted);font-size:13px;font-weight:600}.session-duration{color:var(--gp-faint);margin-top:3px;font-size:12.5px;font-weight:600}.session-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:10px;display:flex}.session-status{letter-spacing:.01em;border-radius:99px;align-items:center;gap:5px;padding:5px 12px;font-size:11.5px;font-weight:800;display:inline-flex}.session-status:before{content:"";opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.session-meet-btn{background:var(--gp-teal);color:#fff;border-radius:11px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:800;text-decoration:none;transition:background .2s,transform .12s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px -8px #0a5e6699}.session-meet-btn:hover{background:var(--gp-teal-deep);transform:translateY(-1px)}.session-meet-btn:active{transform:translateY(0)}.session-cancel-btn{color:var(--gp-faint);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:2px 0;font-size:12.5px;font-weight:700;text-decoration:underline;transition:color .15s}.session-cancel-btn:hover{color:var(--gp-coral)}.session-reschedule-btn{border:1.5px solid var(--gp-teal);color:var(--gp-teal);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:6px;padding:8px 15px;font-size:13px;font-weight:800;transition:background .15s,color .15s,transform .12s;display:inline-flex}.session-reschedule-btn:hover{background:var(--gp-teal);color:#fff;transform:translateY(-1px)}.session-reschedule-btn:active{transform:translateY(0)}.session-empty{text-align:center;padding:28px 20px}.session-empty .session-empty-icon{background:var(--gp-tint);width:46px;height:46px;color:var(--gp-teal);border-radius:14px;justify-content:center;align-items:center;margin:0 auto 14px;display:flex}.session-empty .session-empty-icon .dash-icon{width:24px;height:24px}@media (width<=560px){.session-card{flex-wrap:wrap;gap:12px}.session-info{flex:calc(100% - 64px)}.session-right{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:10px 14px;width:100%;margin-top:2px}.session-card.is-next .session-avatar,.session-avatar{width:48px;height:48px}}#gamification-widgets{margin-bottom:20px}.course-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;display:grid}.course-card{background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:16px;flex-direction:column;transition:box-shadow .25s,transform .2s,border-color .2s;display:flex;overflow:hidden}.course-card:hover{box-shadow:var(--gp-shadow-lift);border-color:#cfe0e1;transform:translateY(-2px)}.course-thumbnail{object-fit:cover;background:var(--gp-tint);width:100%;height:172px}.course-info{flex-direction:column;flex-grow:1;padding:20px;display:flex}.course-title{color:var(--gp-navy);letter-spacing:-.01em;margin:0 0 8px;font-size:17px;font-weight:800}.course-desc{color:var(--gp-muted);flex-grow:1;margin-bottom:20px;font-size:14px;line-height:1.55}.btn-course{text-align:center;background:var(--gp-coral);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:12px 20px;font-size:14.5px;font-weight:800;text-decoration:none;transition:background .2s,transform .12s;display:inline-flex}.btn-course:hover{background:var(--gp-coral-deep);transform:translateY(-1px)}.btn-course:active{transform:translateY(0)}.empty-state{text-align:center;color:var(--gp-muted);padding:40px 20px;font-size:14.5px;font-weight:600}.empty-state .empty-icon{background:var(--gp-tint);width:52px;height:52px;color:var(--gp-teal);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.empty-state .empty-icon .dash-icon{width:26px;height:26px}.empty-state h3{color:var(--gp-navy);margin:0 0 6px;font-size:17px;font-weight:800}.empty-state p{max-width:36ch;margin:0 auto}.empty-state .btn-course{margin-top:18px;display:inline-flex}.loading{text-align:center;color:var(--gp-faint);padding:28px;font-size:14px;font-weight:600}@media (width<=600px){.dash-header{padding:28px 0 18px}.dash-greeting-name{font-size:25px}.dash-section{border-radius:18px;padding:20px 18px}}
