.dashboard-container{width:90%;max-width:1200px;margin:0 auto;padding-bottom:80px}.dashboard-banner{background:linear-gradient(135deg, var(--brand-purple) 0%, #4a004c 100%);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-lg);justify-content:space-between;align-items:center;margin-bottom:40px;padding:40px;transition:background-image .5s ease-in-out;display:flex;position:relative;overflow:hidden}.dashboard-banner-glow{background:var(--brand-amethyst);filter:blur(100px);opacity:.3;z-index:1;border-radius:50%;width:400px;height:400px;position:absolute;top:-50%;right:-20%}.dashboard-banner-content{z-index:2;position:relative}.dashboard-banner-tag{color:#fff;text-transform:uppercase;letter-spacing:.08em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#ffffff26;border-radius:20px;margin-bottom:12px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.dashboard-banner h1{color:#fff;letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:800}.dashboard-banner-subtitle{color:var(--brand-lavender);max-width:500px;margin:0;font-size:1.05rem}.dashboard-layout{grid-template-columns:240px 1fr;align-items:start;gap:40px;display:grid}.dashboard-sidebar{flex-direction:column;gap:8px;display:flex}.dashboard-nav-item{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:14px 20px;font-size:.95rem;font-weight:600;transition:all .2s;display:flex}.dashboard-nav-item:hover{background-color:var(--bg-surface-hover);color:var(--text-main)}.dashboard-nav-item--active{color:var(--brand-purple);background-color:#7300750f;border-color:#73007526}.dashboard-nav-item--subtle{color:var(--text-muted);font-size:.9rem}.account-settings-link{color:var(--brand-purple);text-underline-offset:4px;font-size:.85rem;font-weight:700;text-decoration:underline}.account-settings-link:hover{color:var(--brand-amethyst)}.profile-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.dashboard-content-area{flex-direction:column;gap:30px;display:flex}.dashboard-grid-2{grid-template-columns:1fr 1fr;gap:30px;display:grid}.dashboard-card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:30px;display:flex}.dashboard-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;display:flex}.dashboard-card-header h2{color:var(--text-main);margin:0;font-size:1.35rem;font-weight:700}.metrics-summary-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.metric-highlight-box{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;padding:16px}.metric-highlight-value{color:var(--brand-purple);font-size:1.6rem;font-weight:800;display:block}.metric-highlight-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.8rem;font-weight:600;display:block}.feeling-card{gap:18px}.feeling-display{border-radius:var(--radius-sm);background:#a3a5c31f;border:1px solid #947eb047;grid-template-columns:auto 1fr;align-items:center;gap:14px;padding:18px;display:grid}.feeling-emoji{border-radius:var(--radius-sm);width:56px;height:56px;box-shadow:var(--shadow-sm);background:#fff;place-items:center;font-size:2rem;display:grid}.feeling-display strong{color:var(--brand-purple);font-family:var(--font-outfit), sans-serif;font-size:1.35rem;line-height:1.1}.feeling-slider-label{color:var(--text-muted);font-size:.92rem;font-weight:650}.feeling-slider{width:100%;accent-color:var(--brand-purple);cursor:pointer}.feeling-scale{justify-content:space-between;gap:8px;font-size:clamp(1.4rem,7vw,2rem);line-height:1;display:flex}.feeling-message{border-radius:var(--radius-sm);padding:10px 12px;font-size:.88rem;font-weight:650}.feeling-message--success{color:#047857;background:#10b9811a;border:1px solid #10b9813d}.feeling-message--error{color:#b91c1c;background:#dc26261a;border:1px solid #dc26263d}.feeling-submit{width:100%;margin-top:auto}.nutritionist-profile-row{align-items:center;gap:16px;margin-bottom:20px;display:flex}.nutritionist-avatar{background-color:var(--brand-amethyst);color:#fff;border:2px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.2rem;font-weight:700;display:flex}.nutritionist-info h3{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700}.nutritionist-info p{color:var(--text-muted);margin:2px 0 0;font-size:.85rem}.specialist-profile-link{width:fit-content;color:var(--brand-purple);align-items:center;margin-top:6px;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.specialist-profile-link:hover{color:var(--brand-amethyst);text-decoration:underline}.nutritionist-guidance-box{border-radius:var(--radius-md);color:var(--text-main);background-color:#947eb014;border:1px solid #947eb033;margin-bottom:24px;padding:18px;font-size:.95rem;line-height:1.5}.nutritionist-guidance-box strong{color:#1d0f2b;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.9rem;display:block}.specialist-cta-row{gap:12px;width:100%;margin-top:auto;display:flex}.specialist-cta-button{text-align:center;flex:1 1 0;justify-content:center;align-items:center;width:100%;min-width:0;min-height:46px;padding:10px 16px;font-size:.95rem;font-weight:700;line-height:1.2;display:inline-flex}.session-option-grid{grid-template-columns:repeat(auto-fit,minmax(220px,260px));align-items:stretch;gap:12px;display:grid}.session-option-card{flex-direction:column;justify-content:center;gap:6px;width:100%;min-height:122px;padding:20px 16px;display:flex}.session-option-title{font-size:.95rem;font-weight:700;line-height:1.25}.session-option-description{opacity:.8;font-size:.8rem;font-weight:400;line-height:1.35}.call-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.call-format-card{border:1.5px solid var(--border-color);border-radius:var(--radius-md);min-height:128px;color:var(--text-main);text-align:center;cursor:pointer;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 14px;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s;display:flex}.call-format-card:hover{border-color:var(--brand-amethyst);background-color:var(--bg-surface-hover);transform:translateY(-1px)}.call-format-card--selected{border-color:var(--brand-purple);background-color:#73007514;box-shadow:0 10px 24px #7300751f}.call-format-icon{background-color:#7300751a;border-radius:16px;place-items:center;width:48px;height:48px;font-size:1.75rem;line-height:1;display:grid}.call-format-title{color:var(--text-main);font-size:.96rem;font-weight:700}.call-format-subtitle{color:var(--text-muted);font-size:.8rem;font-weight:500}.booking-date-time-stack{flex-direction:column;gap:24px;width:100%;display:flex}.date-slider{grid-template-columns:46px minmax(0,1fr) 46px;align-items:stretch;gap:10px;width:100%;display:grid}.date-slider-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;min-width:0;display:grid;overflow:hidden}.date-slider-card,.date-slider-more{border:1.5px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-main);cursor:pointer;background-color:#fff;transition:border-color .2s,background-color .2s,box-shadow .2s,transform .2s}.date-slider-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:92px;padding:10px 8px;display:flex}.date-slider-card:hover,.date-slider-more:hover{border-color:var(--brand-amethyst);background-color:var(--bg-surface-hover)}.date-slider-card--selected{border-color:var(--brand-purple);background-color:#73007514;box-shadow:0 10px 24px #7300751f}.date-slider-card--unavailable{opacity:.58}.date-slider-weekday,.date-slider-month{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:700}.date-slider-day{color:var(--text-main);font-size:1.35rem;font-weight:800;line-height:1}.date-slider-availability{color:var(--text-muted);font-size:.68rem;font-weight:800;line-height:1}.date-slider-card--selected .date-slider-availability{color:var(--brand-purple)}.date-slider-more{min-height:92px;color:var(--brand-purple);place-items:center;font-size:1.3rem;font-weight:800;display:grid}.date-slider-more:disabled{color:#5e5a6a59;cursor:not-allowed;border-color:var(--border-color);box-shadow:none;background-color:#fff;transform:none}.scheduler-time-grid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin-top:14px;display:grid}.scheduler-time-slot{border:1.5px solid var(--border-color);background-color:var(--bg-main);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;text-align:center;padding:10px 8px;font-size:.85rem;font-weight:600;transition:all .2s}.scheduler-time-slot:hover{border-color:var(--brand-amethyst);background-color:var(--bg-surface-hover)}.scheduler-time-slot--selected{border-color:var(--brand-purple);color:var(--brand-purple);background-color:#73007514}.booking-confirm-box{border-radius:var(--radius-md);text-align:center;background-color:#10b9810f;border:1.5px solid #10b98133;padding:20px;animation:.4s slideUpFade}.appointment-list{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.appointment-item{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-main);justify-content:space-between;gap:16px;padding:16px;display:flex}.appointment-item strong,.appointment-item span{display:block}.appointment-item strong{color:var(--text-main);margin-bottom:4px}.appointment-item span{color:var(--text-muted);font-size:.85rem}.appointment-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.appointment-status{color:#1d0f2b;text-transform:capitalize;background-color:#947eb01f;border-radius:4px;padding:5px 9px;font-weight:700}.appointment-status--confirmed,.appointment-status--accepted{color:#065f46;background-color:#10b9811f}.appointment-status--pending{color:#12121c;background-color:#a3a5c32e}.appointment-status--reschedule_requested{color:#1d0f2b;background-color:#947eb02e}.appointment-status--cancelled,.appointment-status--declined{color:#991b1b;background-color:#dc262614}.empty-session-panel{border:1px dashed var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-main);margin-bottom:8px;padding:22px}.empty-session-panel h3{color:var(--text-main);margin:0 0 6px}.empty-session-panel p{color:var(--text-muted);margin:0;font-size:.92rem}.modal-backdrop{z-index:1000;background-color:#18161d7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirmation-modal{border:1px solid var(--border-color);border-radius:var(--radius-md);width:min(100%,440px);box-shadow:var(--shadow-lg);background-color:#fff;padding:24px}.confirmation-modal h3{color:var(--text-main);margin:0 0 8px;font-size:1.2rem}.confirmation-modal p{color:var(--text-muted);margin:0 0 20px;line-height:1.5}.confirmation-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.reschedule-proposal-note{margin-top:8px;font-weight:700;color:var(--brand-purple)!important}.reschedule-modal-grid{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.reschedule-modal-grid label{color:var(--text-main);flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;display:flex}.resource-list{flex-direction:column;gap:12px;display:flex}.resource-item{background-color:var(--bg-main);border:1px solid var(--border-color);border-radius:var(--radius-md);justify-content:space-between;align-items:center;padding:14px 18px;transition:border-color .2s,transform .2s;display:flex;color:inherit!important;text-decoration:none!important}.resource-item:hover{border-color:var(--brand-amethyst);transform:translate(4px)}.resource-details h4{color:var(--text-main);margin:0;font-size:.95rem;font-weight:700}.resource-details p{color:var(--text-muted);margin:2px 0 0;font-size:.8rem}.resource-download-badge{color:var(--brand-purple);text-transform:uppercase;background-color:#73007514;border-radius:4px;padding:4px 10px;font-size:.75rem;font-weight:700}.profile-details-table{flex-direction:column;gap:16px;display:flex}.profile-details-row{border-bottom:1px dashed var(--border-color);grid-template-columns:200px 1fr;gap:20px;padding-bottom:12px;font-size:.95rem;display:grid}.profile-details-row:last-child{border-bottom:none;padding-bottom:0}.profile-details-label{color:var(--text-muted);font-weight:600}.profile-details-value{color:var(--text-main);word-break:break-word}@media (max-width:992px){.dashboard-layout{grid-template-columns:1fr;gap:24px}.dashboard-sidebar{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:0;display:grid;overflow:visible}.dashboard-nav-item{white-space:normal;border-color:var(--border-color);min-height:52px;box-shadow:var(--shadow-sm);background-color:#fff;flex-shrink:1;justify-content:flex-start;padding:12px 14px;line-height:1.25}.dashboard-nav-item--active{background-color:#73007512;border-color:#73007547;box-shadow:0 8px 20px #73007514}}@media (max-width:768px){.dashboard-grid-2{grid-template-columns:1fr;gap:20px}.dashboard-banner{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 20px}.profile-details-row{grid-template-columns:1fr;gap:6px;padding-bottom:10px}.profile-header-actions{justify-content:flex-start}.profile-details-label{font-size:.85rem}}@media (max-width:480px){.dashboard-sidebar{grid-template-columns:1fr}.dashboard-nav-item{min-height:50px;padding:12px 16px;font-size:.95rem}.dashboard-card{padding:20px 16px}.metrics-summary-grid{grid-template-columns:1fr;gap:12px}.feeling-display{text-align:center;grid-template-columns:1fr;justify-items:center}.call-format-grid{gap:10px}.specialist-cta-row,.session-option-grid{grid-template-columns:1fr}.specialist-cta-row{flex-direction:column}.specialist-cta-button{flex-basis:auto;width:100%}.call-format-card{min-height:116px;padding:14px 10px}.call-format-icon{border-radius:14px;width:44px;height:44px}.call-format-subtitle{font-size:.75rem}.date-slider{grid-template-columns:40px minmax(0,1fr) 40px;gap:8px}.date-slider-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:hidden}.date-slider-card{min-height:82px;padding:8px 6px}.date-slider-day{font-size:1.18rem}.date-slider-weekday,.date-slider-month{font-size:.66rem}.date-slider-more{min-height:82px}.scheduler-time-grid{grid-template-columns:repeat(2,1fr)}.appointment-item{flex-direction:column}.appointment-actions{justify-content:stretch}.appointment-actions .btn{width:100%}.confirmation-modal{padding:20px 16px}.reschedule-modal-grid{grid-template-columns:1fr}.confirmation-actions .btn{width:100%}}
