@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--primary:#6c63ff;--primary-light:#8b83ff;--primary-dark:#5a52e0;--primary-bg:#6c63ff14;--secondary:#00c896;--secondary-light:#33e4bc;--secondary-bg:#00c89614;--accent:#ff6b6b;--accent-bg:#ff6b6b14;--warning:#f5a623;--warning-bg:#f5a62314;--bg:#f5f7fa;--bg-white:#fff;--bg-card:#fff;--bg-card-hover:#f8f9fc;--bg-sidebar:#fff;--bg-input:#f0f2f7;--border:#e8ecf2;--border-light:#d8dde6;--text:#1a1d26;--text-secondary:#5f6b7a;--text-muted:#9aa5b4;--glass:#00000005;--glass-border:#0000000f;--shadow:0 2px 12px #0000000f;--shadow-lg:0 8px 32px #00000014;--shadow-card:0 1px 4px #0000000a;--radius:16px;--radius-sm:10px;--radius-xs:8px;--font:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--sidebar-width:260px;--topbar-height:70px;--bottomnav-height:72px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font);color:var(--text);background:0 0;border:none}input,textarea{font-family:var(--font)}ul{list-style:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.btn-primary{border-radius:var(--radius-xs);background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 4px 15px #6c63ff40}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6c63ff59}.btn-primary:active{transform:translateY(0)}.btn-outline{border-radius:var(--radius-xs);border:1px solid var(--border);color:var(--text-secondary);align-items:center;gap:8px;padding:10px 20px;font-size:.875rem;font-weight:500;transition:all .3s;display:inline-flex}.btn-outline:hover{border-color:var(--primary);color:var(--primary)}.btn-icon{border-radius:var(--radius-xs);width:38px;height:38px;color:var(--text-secondary);justify-content:center;align-items:center;transition:all .2s;display:flex}.btn-icon:hover{background:var(--bg-input);color:var(--text)}.btn-text{color:var(--primary);font-size:.8rem;font-weight:500;transition:opacity .2s}.btn-text:hover{opacity:.7}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:24px;transition:all .3s}.card:hover{box-shadow:var(--shadow)}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-header h3{color:var(--text);font-size:1rem;font-weight:600}.filter-tabs{background:var(--bg-input);border-radius:var(--radius-xs);gap:4px;padding:3px;display:flex}.filter-tab{color:var(--text-secondary);border-radius:7px;padding:7px 16px;font-size:.8rem;font-weight:500;transition:all .2s}.filter-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #6c63ff33}.filter-tab:hover:not(.active){color:var(--text)}.filter-tabs.small .filter-tab{padding:5px 12px;font-size:.75rem}.page-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(2deg)}}.animate-in{animation:.5s forwards fadeIn}.login-page{background:linear-gradient(135deg,#e8ecff 0%,#f5f7fa 30%,#e6fff6 60%,#fff5f5 100%);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-bg{z-index:0;position:fixed;inset:0}.gradient-orb{filter:blur(120px);opacity:.35;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.orb-1{background:var(--primary-light);width:500px;height:500px;top:-10%;left:-10%}.orb-2{background:var(--secondary);width:400px;height:400px;animation-delay:-3s;bottom:-10%;right:-10%}.orb-3{background:var(--accent);opacity:.15;width:300px;height:300px;animation-delay:-5s;top:50%;left:50%}.login-card{z-index:1;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#ffffffd9;border:1px solid #fff9;border-radius:24px;width:100%;max-width:420px;padding:48px 36px;animation:.8s fadeIn;position:relative;box-shadow:0 20px 60px #00000014}.login-logo{text-align:center;margin-bottom:36px}.logo-icon{margin-bottom:12px;display:inline-flex}.logo-text{letter-spacing:-1px;color:var(--text);font-size:2rem;font-weight:800}.logo-text span{color:var(--primary)}.logo-tagline{color:var(--text-secondary);margin-top:4px;font-size:.85rem}.input-group{margin-bottom:20px}.input-group label{color:var(--text-secondary);margin-bottom:8px;font-size:.8rem;font-weight:500;display:block}.input-wrapper{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);align-items:center;gap:10px;padding:0 14px;transition:border-color .3s;display:flex}.input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff1a}.input-icon{color:var(--text-muted);flex-shrink:0}.input-wrapper input{color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:.9rem}.input-wrapper input::placeholder{color:var(--text-muted)}.role-selector{margin:24px 0}.role-label{color:var(--text-secondary);margin-bottom:10px;font-size:.8rem;font-weight:500}.role-buttons{gap:10px;display:flex}.role-btn{border-radius:var(--radius-xs);border:1.5px solid var(--border);color:var(--text-secondary);background:0 0;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.85rem;font-weight:500;transition:all .3s;display:flex}.role-btn.active{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.role-btn:hover:not(.active){border-color:var(--border-light);color:var(--text)}.login-btn{justify-content:center;width:100%;margin-top:8px;padding:14px;font-size:.95rem}.login-footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.8rem}.login-footer a{color:var(--primary);font-weight:500}.trainer-layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:100;flex-direction:column;height:100vh;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-header{align-items:center;gap:10px;padding:20px 20px 16px;display:flex}.sidebar-title{letter-spacing:-.5px;font-size:1.2rem;font-weight:800}.sidebar-title span{color:var(--primary)}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:8px 12px;display:flex}.nav-item{border-radius:var(--radius-xs);color:var(--text-secondary);align-items:center;gap:12px;padding:11px 14px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex;position:relative}.nav-item:hover{background:var(--bg-input);color:var(--text)}.nav-item.active{background:var(--primary-bg);color:var(--primary)}.nav-item.active:before{content:"";background:var(--primary);border-radius:2px;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-badge{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:10px;margin-left:auto;padding:2px 8px;font-size:.65rem;font-weight:700}.sidebar-footer{border-top:1px solid var(--border);padding:16px 16px 20px}.trainer-profile{align-items:center;gap:10px;margin-bottom:10px;display:flex}.avatar{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:700;display:flex}.trainer-info{flex-direction:column;display:flex}.trainer-name{font-size:.8rem;font-weight:600}.trainer-role{color:var(--text-muted);font-size:.7rem}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{height:var(--topbar-height);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:50;background:#f5f7fad9;align-items:center;gap:16px;padding:0 28px;display:flex;position:sticky;top:0}.mobile-menu-btn{display:none}.topbar-title{flex:1}.topbar-title h2{font-size:1.2rem;font-weight:700}.topbar-subtitle{color:var(--text-muted);margin-top:2px;font-size:.8rem}.topbar-actions{align-items:center;gap:8px;display:flex}.search-wrapper{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--text-muted);align-items:center;gap:8px;padding:0 14px;display:flex}.search-input{color:var(--text);background:0 0;border:none;outline:none;width:180px;padding:9px 0;font-size:.85rem}.search-input::placeholder{color:var(--text-muted)}.notification-btn{position:relative}.notification-dot{background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px}.content-area{flex:1;padding:28px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:22px;transition:all .3s;animation:.5s forwards fadeIn;display:flex}.stat-card:nth-child(2){animation-delay:.1s}.stat-card:nth-child(3){animation-delay:.2s}.stat-card:nth-child(4){animation-delay:.3s}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon.clients{background:var(--primary-bg);color:var(--primary)}.stat-icon.programs{background:var(--secondary-bg);color:var(--secondary)}.stat-icon.sessions{background:var(--warning-bg);color:var(--warning)}.stat-icon.revenue{background:var(--accent-bg);color:var(--accent)}.stat-value{letter-spacing:-1px;color:var(--text);font-size:1.8rem;font-weight:800}.stat-label{color:var(--text-secondary);font-size:.8rem}.stat-trend{font-size:.75rem;font-weight:500}.stat-trend.up{color:var(--secondary)}.stat-trend.neutral{color:var(--warning)}.stat-trend.down{color:var(--accent)}.dashboard-grid{grid-template-columns:1.5fr 1fr;gap:20px;display:grid}.activity-item{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{background:var(--primary-bg);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-text{flex:1}.activity-text p{color:var(--text);font-size:.85rem}.activity-text span{color:var(--text-muted);font-size:.75rem}.activity-time{color:var(--text-muted);white-space:nowrap;font-size:.75rem}.session-item{border-radius:var(--radius-xs);background:var(--bg-input);align-items:center;gap:14px;margin-bottom:8px;padding:12px;transition:background .2s;display:flex}.session-item:hover{background:var(--bg-card-hover)}.session-time-badge{text-align:center;background:var(--primary-bg);border-radius:8px;min-width:56px;padding:6px 10px}.session-time-badge .time{color:var(--primary);font-size:.85rem;font-weight:700}.session-info{flex:1}.session-info .name{font-size:.85rem;font-weight:600}.session-info .type{color:var(--text-muted);font-size:.75rem}.clients-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.client-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px;transition:all .3s;animation:.4s forwards fadeIn}.client-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 8px 30px #6c63ff1f}.client-card-top{align-items:center;gap:14px;margin-bottom:16px;display:flex}.client-avatar{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:48px;height:48px;font-size:.9rem;font-weight:700;display:flex}.client-name{font-size:.95rem;font-weight:600}.client-status{margin-top:2px;font-size:.75rem}.client-status.active{color:var(--secondary)}.client-status.inactive{color:var(--text-muted)}.client-stats{border-top:1px solid var(--border);gap:16px;padding-top:14px;display:flex}.client-stat{text-align:center;flex:1}.client-stat-val{color:var(--text);font-size:1.1rem;font-weight:700}.client-stat-label{color:var(--text-muted);font-size:.7rem}.progress-ring{flex-shrink:0;width:44px;height:44px;margin-left:auto;position:relative}.progress-ring svg{transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--border);stroke-width:4px}.progress-ring-fill{fill:none;stroke:var(--secondary);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset 1s}.progress-ring-text{justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex;position:absolute;inset:0}.workout-program-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:12px;padding:22px;transition:all .3s;animation:.4s forwards fadeIn}.workout-program-card:hover{box-shadow:var(--shadow)}.workout-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:14px;display:flex}.workout-card-title{font-size:1rem;font-weight:600}.workout-card-client{color:var(--text-secondary);margin-top:4px;font-size:.8rem}.workout-tag{background:var(--primary-bg);color:var(--primary);border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:600}.workout-exercises{flex-wrap:wrap;gap:6px;display:flex}.exercise-chip{background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:.75rem}.schedule-header{justify-content:center;align-items:center;gap:20px;margin-bottom:24px;display:flex}.schedule-header h3{text-align:center;min-width:160px;font-size:1.1rem;font-weight:700}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-day-name{text-align:center;color:var(--text-muted);padding:8px;font-size:.75rem;font-weight:600}.calendar-day{aspect-ratio:1;border-radius:var(--radius-xs);color:var(--text);border:1px solid #0000;flex-direction:column;align-items:center;padding:8px;font-size:.85rem;transition:all .2s;display:flex}.calendar-day:hover{background:var(--bg-input)}.calendar-day.today{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:700}.calendar-day.has-session:after{content:"";background:var(--secondary);border-radius:50%;width:6px;height:6px;margin-top:4px}.calendar-day.other-month{opacity:.3}.payments-summary{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}.payment-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-card);padding:20px}.payment-stat-value{font-size:1.6rem;font-weight:800;display:block}.payment-stat-label{color:var(--text-secondary);margin-top:4px;font-size:.8rem;display:block}.payment-stat.paid .payment-stat-value{color:var(--secondary)}.payment-stat.pending .payment-stat-value{color:var(--warning)}.payment-stat.overdue .payment-stat-value{color:var(--accent)}.table-container{overflow-x:auto}.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;color:var(--text-muted);border-bottom:2px solid var(--border);padding:12px;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border);padding:14px 12px;font-size:.85rem}.data-table tr:hover td{background:var(--bg-input)}.status-badge{border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-block}.status-badge.paid{background:var(--secondary-bg);color:var(--secondary)}.status-badge.pending{background:var(--warning-bg);color:var(--warning)}.status-badge.overdue{background:var(--accent-bg);color:var(--accent)}.ai-container{height:calc(100vh - var(--topbar-height) - 56px);flex-direction:column;display:flex}.ai-chat-area{flex-direction:column;flex:1;display:flex}.ai-messages{flex-direction:column;flex:1;gap:16px;padding:16px 0;display:flex;overflow-y:auto}.ai-message{gap:12px;animation:.3s fadeIn;display:flex}.ai-message.user{flex-direction:row-reverse}.ai-avatar{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ai-message.user .ai-avatar{background:linear-gradient(135deg, var(--accent), var(--warning))}.ai-bubble{background:var(--bg-input);border:1px solid var(--border);max-width:70%;color:var(--text);border-radius:14px;padding:14px 18px;font-size:.875rem;line-height:1.6}.ai-bubble ul{margin:8px 0;padding-left:20px;list-style:outside}.ai-bubble li{color:var(--text-secondary);margin:4px 0}.ai-message.user .ai-bubble{background:var(--primary-bg);border-color:#6c63ff26}.ai-input-area{border-top:1px solid var(--border);padding-top:12px}.ai-suggestions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ai-suggestion-chip{background:var(--bg-white);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:8px 14px;font-size:.78rem;transition:all .2s}.ai-suggestion-chip:hover{border-color:var(--primary);color:var(--primary)}.ai-input-wrapper{gap:10px;display:flex}.ai-input{background:var(--bg-white);border:1px solid var(--border);color:var(--text);border-radius:12px;outline:none;flex:1;padding:14px 18px;font-size:.9rem;transition:border-color .3s}.ai-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff14}.btn-send{border-radius:12px;padding:0 18px}.client-layout{flex-direction:column;min-height:100vh;display:flex}.client-main{padding:20px 20px calc(var(--bottomnav-height) + 20px);flex:1;width:100%;max-width:600px;margin:0 auto}.client-header{justify-content:space-between;align-items:center;margin-bottom:24px;padding-top:10px;display:flex}.client-greeting h2{color:var(--text-muted);font-size:.9rem;font-weight:400}.client-greeting h1{color:var(--text);margin-top:2px;font-size:1.6rem;font-weight:800}.client-avatar-large{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;font-size:1rem;font-weight:700;display:flex}.today-workout-card{border-radius:var(--radius);background:linear-gradient(135deg,#6c63ff0f,#00c8960f);border:1px solid #6c63ff1f;margin-bottom:20px;padding:24px;animation:.5s fadeIn}.today-label{color:var(--text-secondary);align-items:center;gap:6px;margin-bottom:10px;font-size:.78rem;display:flex}.today-workout-card h3{color:var(--text);margin-bottom:8px;font-size:1.2rem;font-weight:700}.today-meta{color:var(--text-secondary);gap:8px;margin-bottom:16px;font-size:.8rem;display:flex}.today-progress-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.today-progress-fill{background:linear-gradient(90deg, var(--primary), var(--secondary));border-radius:3px;height:100%;transition:width 1s}.today-progress-text{color:var(--text-secondary);margin-top:8px;font-size:.78rem}.btn-continue{justify-content:center;width:100%;margin-top:16px}.quick-stats-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px;display:grid}.quick-stat{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;box-shadow:var(--shadow-card);padding:16px}.qs-value{color:var(--text);font-size:1.4rem;font-weight:800;display:block}.qs-value small{font-size:.8rem;font-weight:500}.qs-label{color:var(--text-secondary);margin-top:2px;font-size:.78rem;display:block}.qs-sub{color:var(--text-muted);margin-top:2px;font-size:.65rem;display:block}.week-activity{justify-content:space-between;align-items:flex-end;height:120px;padding:10px 0;display:flex}.day-col{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex}.day-bar{background:linear-gradient(to top, var(--primary), var(--primary-light));border-radius:6px;width:24px;min-height:4px;transition:height 1s}.day-col span{color:var(--text-muted);font-size:.7rem}.day-col.active-day .day-bar{background:linear-gradient(to top, var(--secondary), var(--secondary-light))}.day-col.active-day span{color:var(--secondary);font-weight:600}.client-page-header{margin-bottom:24px}.client-page-header h2{color:var(--text);font-size:1.4rem;font-weight:800}.client-page-header p{color:var(--text-muted);margin-top:4px;font-size:.85rem}.client-page-header .progress-period{margin-top:12px}.c-workout-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:12px;padding:20px;transition:all .3s;animation:.4s forwards fadeIn}.c-workout-card:hover{border-color:var(--primary);box-shadow:var(--shadow)}.c-workout-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.c-workout-title{font-weight:600}.c-workout-meta{color:var(--text-secondary);font-size:.8rem}.c-workout-day{background:var(--primary-bg);color:var(--primary);border-radius:6px;padding:4px 10px;font-size:.7rem;font-weight:600}.c-exercise-list{flex-direction:column;gap:8px;display:flex}.c-exercise-item{border-radius:var(--radius-xs);background:var(--bg-input);align-items:center;gap:12px;padding:10px 14px;transition:background .2s;display:flex}.c-exercise-item:hover{background:var(--bg-card-hover)}.c-exercise-num{background:var(--primary-bg);width:28px;height:28px;color:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.c-exercise-name{flex:1;font-size:.85rem;font-weight:500}.c-exercise-detail{color:var(--text-muted);font-size:.75rem}.progress-cards{flex-direction:column;gap:16px;display:flex}.progress-metric-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:22px}.metric-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.metric-title{color:var(--text-secondary);font-size:.85rem;font-weight:600}.metric-change{font-size:.78rem;font-weight:600}.metric-change.down,.metric-change.up{color:var(--secondary)}.metric-value-large{color:var(--text);margin-bottom:8px;font-size:2rem;font-weight:800}.metric-value-large small{color:var(--text-secondary);font-size:1rem;font-weight:400}.sparkline{width:100%;height:60px}.bmi-scale{border-radius:4px;height:8px;margin-top:12px;display:flex;position:relative;overflow:hidden}.bmi-zone{flex:1}.bmi-zone.underweight{background:#4ecdc4}.bmi-zone.normal{background:#45b7d1}.bmi-zone.overweight{background:#ffb347}.bmi-zone.obese{background:#ff6b6b}.bmi-indicator{background:var(--text);border-radius:2px;width:4px;height:16px;position:absolute;top:-4px;transform:translate(-50%)}.body-measurements{flex-direction:column;gap:10px;margin-top:12px;display:flex}.measurement-item{background:var(--bg-input);border-radius:var(--radius-xs);align-items:center;padding:10px 14px;display:flex}.m-label{color:var(--text-secondary);flex:1;font-size:.85rem}.m-value{color:var(--text);margin-right:12px;font-size:.9rem;font-weight:600}.m-change{font-size:.75rem;font-weight:600}.m-change.down,.m-change.up{color:var(--secondary)}.ai-coach-container{flex-direction:column;gap:16px;display:flex}.camera-view{border:1px solid var(--border);border-radius:var(--radius);aspect-ratio:3/4;background:#1a1d26;max-height:400px;position:relative;overflow:hidden}.camera-placeholder{color:#ffffff80;flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100%;display:flex}.camera-placeholder p{color:#ffffff80;font-size:.85rem}.pose-overlay{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.skeleton-svg{width:80%;height:80%}.ai-feedback-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:20px}.exercise-info{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.exercise-info h3{font-size:1.1rem;font-weight:700}.rep-counter{align-items:baseline;gap:4px;display:flex}.rep-count{color:var(--primary);font-size:1.8rem;font-weight:800}.rep-label{color:var(--text-muted);font-size:.85rem}.form-score-ring{text-align:center;flex-direction:column;align-items:center;width:100%;margin-bottom:16px;display:inline-flex;position:relative}.score-ring{width:100px;height:100px}.score-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-65%)}.score-value{color:var(--text);font-size:1.8rem;font-weight:800}.score-unit{color:var(--text-secondary);font-size:.9rem;font-weight:500}.score-label{color:var(--text-muted);margin-top:-8px;font-size:.75rem}.ai-tips{flex-direction:column;gap:8px;display:flex}.tip{border-radius:var(--radius-xs);align-items:center;gap:10px;padding:10px 14px;font-size:.82rem;display:flex}.tip.good{background:var(--secondary-bg);color:#059669}.tip.warning{background:var(--warning-bg);color:#b45309}.tip.error{background:var(--accent-bg);color:var(--accent)}.profile-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:16px;overflow:hidden}.profile-top{text-align:center;background:linear-gradient(135deg,#6c63ff0f,#00c8960a);padding:30px 20px 20px}.profile-avatar-large{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin-bottom:12px;font-size:1.4rem;font-weight:800;display:inline-flex}.profile-top h3{color:var(--text);font-size:1.2rem;font-weight:700}.profile-email{color:var(--text-muted);margin-top:4px;font-size:.8rem}.profile-badge{border-radius:20px;margin-top:10px;padding:4px 14px;font-size:.75rem;font-weight:600;display:inline-block}.profile-badge.active{background:var(--secondary-bg);color:var(--secondary)}.profile-details{padding:16px 20px}.profile-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:12px 0;display:flex}.profile-row:last-child{border-bottom:none}.profile-key{color:var(--text-muted);font-size:.83rem}.profile-val{color:var(--text);font-size:.83rem;font-weight:500}.notifications-card{margin-bottom:16px}.notification-item{border-bottom:1px solid var(--border);gap:12px;padding:14px 0;display:flex}.notification-item:last-child{border-bottom:none}.notif-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notif-icon.workout{background:var(--primary-bg);color:var(--primary)}.notif-icon.payment{background:var(--warning-bg);color:var(--warning)}.notif-icon.message{background:var(--secondary-bg);color:var(--secondary)}.notif-content p{color:var(--text);font-size:.85rem}.notif-content .notif-time{color:var(--text-muted);font-size:.72rem}.btn-logout{width:100%;color:var(--accent);border-color:#ff6b6b33;justify-content:center;padding:14px}.btn-logout:hover{background:var(--accent-bg)}.bottom-nav{height:var(--bottomnav-height);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:100;background:#ffffffeb;justify-content:space-around;align-items:center;padding:0 8px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--text-muted);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;font-size:.65rem;font-weight:500;transition:all .2s;display:flex;position:relative}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.ai-nav .ai-nav-icon{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:44px;height:44px;margin-top:-16px;display:flex;box-shadow:0 4px 15px #6c63ff4d}.messages-container{height:calc(100vh - var(--topbar-height) - 56px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);grid-template-columns:320px 1fr;display:grid;overflow:hidden}.conversations-panel{border-right:1px solid var(--border);background:var(--bg-white);flex-direction:column;display:flex}.conversations-header{border-bottom:1px solid var(--border);padding:20px 20px 12px}.conversations-header h3{font-size:1.1rem;font-weight:700}.conversations-search{background:var(--bg-input);border-radius:var(--radius-xs);color:var(--text-muted);align-items:center;gap:8px;margin:12px 16px;padding:8px 14px;display:flex}.conversations-search input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-size:.85rem}.conversations-search input::placeholder{color:var(--text-muted)}.conversations-list{flex:1;overflow-y:auto}.conversation-item{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:14px 16px;transition:background .2s;display:flex}.conversation-item:hover{background:var(--bg-input)}.conversation-item.active{background:var(--primary-bg);border-left:3px solid var(--primary)}.conversation-avatar{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:.8rem;font-weight:700;display:flex}.conversation-info{flex:1;min-width:0}.conversation-name{margin-bottom:2px;font-size:.85rem;font-weight:600}.conversation-last{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.conversation-meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.conversation-time{color:var(--text-muted);font-size:.7rem}.conversation-unread{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:.65rem;font-weight:700;display:flex}.chat-panel{flex-direction:column;display:flex}.chat-header{border-bottom:1px solid var(--border);background:var(--bg-white);align-items:center;gap:12px;padding:16px 20px;display:flex}.chat-header-name{font-size:.9rem;font-weight:600}.chat-header-status{color:var(--secondary);font-size:.75rem}.chat-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.chat-msg{animation:.3s fadeIn;display:flex}.chat-msg.sent{justify-content:flex-end}.chat-bubble{border-radius:14px;max-width:65%;padding:12px 16px;font-size:.875rem;line-height:1.5;position:relative}.chat-msg.received .chat-bubble{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.chat-msg.sent .chat-bubble{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;border-bottom-right-radius:4px}.chat-time{opacity:.6;text-align:right;margin-top:6px;font-size:.65rem;display:block}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-white);gap:10px;padding:16px 20px;display:flex}.chat-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text);border-radius:12px;outline:none;flex:1;padding:12px 16px;font-size:.875rem;transition:border-color .3s}.chat-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6c63ff14}.client-chat-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);height:calc(100vh - var(--bottomnav-height) - 120px);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.client-chat-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:16px 20px;display:flex}.client-chat-messages{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex;overflow-y:auto}.nutrition-client-select{gap:12px;margin-bottom:24px;padding-bottom:8px;display:flex;overflow-x:auto}.nutrition-client-chip{background:var(--bg-white);border:1px solid var(--border);white-space:nowrap;border-radius:20px;align-items:center;gap:8px;padding:8px 16px 8px 8px;transition:all .2s;display:flex}.nutrition-client-chip:hover{border-color:var(--primary);background:var(--bg-input)}.nutrition-client-chip.active{background:var(--primary-bg);border-color:var(--primary)}.ncc-avatar{background:linear-gradient(135deg, var(--primary), var(--secondary));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;font-weight:700;display:flex}.ncc-name{color:var(--text);font-size:.85rem;font-weight:500}.macro-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.macro-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-card);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.macro-ring{width:80px;height:80px;margin-bottom:12px;display:inline-block;position:relative}.macro-ring-val{color:var(--text);justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex;position:absolute;inset:0}.macro-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;line-height:1.2}.macro-label small{color:var(--text-muted);font-size:.7rem;font-weight:400}.macro-bar{background:var(--bg-input);border-radius:4px;width:100%;height:8px;margin:12px 0 8px;position:relative;overflow:hidden}.macro-bar-fill{border-radius:4px;height:100%}.macro-bar-fill.protein{background:var(--secondary)}.macro-bar-fill.carb{background:var(--warning)}.macro-bar-fill.fat{background:var(--accent)}.macro-bar-val{color:var(--text);font-size:1.4rem;font-weight:800}.meal-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.meal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);opacity:0;padding:20px;animation:.4s forwards fadeIn;transform:translateY(10px)}.meal-card-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;display:flex}.meal-icon{background:var(--primary-bg);width:40px;height:40px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;display:flex}.meal-info{flex:1}.meal-type{color:var(--text);font-size:.95rem;font-weight:700}.meal-time{color:var(--text-muted);font-size:.8rem}.meal-cal{color:var(--secondary);font-size:.9rem;font-weight:800}.meal-items{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.meal-items li{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:.85rem;display:flex}.meal-items li:before{content:"•";color:var(--primary);font-weight:800}.nutrition-summary-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-card);margin-bottom:20px;padding:24px}.ns-main{align-items:center;gap:24px;margin-bottom:24px;display:flex}.ns-ring{flex-shrink:0;width:100px;height:100px;position:relative}.ns-ring-inner{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ns-consumed{color:var(--text);font-size:1.4rem;font-weight:800;line-height:1}.ns-target{color:var(--text-muted);margin-top:4px;font-size:.75rem}.ns-remaining{text-align:center;flex:1}.ns-remaining-val{color:var(--secondary);font-size:2rem;font-weight:800;display:block}.ns-remaining-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.ns-macros{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.ns-macro-header{color:var(--text-secondary);justify-content:space-between;margin-bottom:6px;font-size:.75rem;font-weight:600;display:flex}.ns-macro-bar{background:var(--bg-input);border-radius:3px;height:6px;overflow:hidden}.ns-macro-fill{border-radius:3px;height:100%;transition:width 1s}.ns-macro-fill.protein{background:var(--secondary)}.ns-macro-fill.carb{background:var(--warning)}.ns-macro-fill.fat{background:var(--accent)}.photo-upload-card{background:var(--bg-white);border:1px dashed var(--primary);border-radius:var(--radius);text-align:center;cursor:pointer;margin-bottom:20px;padding:24px;transition:all .2s}.photo-upload-card:hover{background:var(--primary-bg)}.photo-upload-icon{background:var(--primary-bg);width:56px;height:56px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;margin-bottom:16px;display:inline-flex}.photo-upload-text h4{color:var(--text);margin-bottom:4px;font-size:1rem;font-weight:700}.photo-upload-text p{color:var(--text-muted);margin-bottom:16px;font-size:.85rem}.ai-analyzing-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:16px;margin-bottom:20px;padding:20px;animation:2s infinite pulse;display:flex}.analyzing-spinner{border:3px solid var(--bg-input);border-top-color:var(--primary);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-analyzing-card h4{margin-bottom:2px;font-size:.95rem;font-weight:700}.ai-analyzing-card p{color:var(--text-muted);font-size:.8rem}.ai-result-card{border:1px solid var(--secondary);border-radius:var(--radius);background:linear-gradient(135deg,#00c8961a,#00c89605);margin-bottom:20px;padding:16px;animation:.4s slideInUp}.ai-result-header{color:var(--secondary);align-items:center;gap:8px;margin-bottom:12px;font-size:.95rem;font-weight:700;display:flex}.ai-confidence{background:var(--secondary);color:#fff;border-radius:12px;margin-left:auto;padding:2px 8px;font-size:.75rem}.ai-result-macros{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ai-rm{text-align:center;background:var(--bg-white);border-radius:var(--radius-xs);padding:8px 4px}.ai-rm-val{color:var(--text);font-size:.9rem;font-weight:800;display:block}.ai-rm span:last-child{color:var(--text-secondary);font-size:.7rem}.meals-timeline{flex-direction:column;gap:16px;padding-left:24px;display:flex;position:relative}.meals-timeline:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:11px}.meal-timeline-item{opacity:.7;transition:opacity .3s;position:relative}.meal-timeline-item.logged{opacity:1}.meal-timeline-dot{background:var(--bg-input);border:2px solid var(--bg-card);width:24px;height:24px;color:var(--text-muted);z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;transition:all .3s;display:flex;position:absolute;top:12px;left:-24px}.meal-timeline-item.logged .meal-timeline-dot{background:var(--secondary);color:#fff;border-color:var(--secondary-bg)}.meal-timeline-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;transition:all .3s}.meal-timeline-item.logged .meal-timeline-content{border-color:var(--secondary-bg);box-shadow:var(--shadow-card)}.mtc-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.mtc-icon{background:var(--primary-bg);width:36px;height:36px;color:var(--primary);border-radius:10px;justify-content:center;align-items:center;display:flex}.meal-timeline-item.logged .mtc-icon{background:var(--secondary-bg);color:var(--secondary)}.mtc-info{flex-direction:column;flex:1;display:flex}.mtc-type{color:var(--text);font-size:.95rem;font-weight:700}.mtc-time{color:var(--text-muted);font-size:.75rem}.mtc-cal{color:var(--text);font-size:.85rem;font-weight:800}.meal-timeline-item.logged .mtc-cal{color:var(--secondary)}.mtc-items{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.mtc-item{color:var(--text-secondary);background:var(--bg-input);border-radius:8px;padding:4px 10px;font-size:.75rem}.mtc-ai-badge{color:var(--primary);background:var(--primary-bg);border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:flex}.mtc-actions{border-top:1px dashed var(--border);border-top-style:dashed;gap:8px;margin-top:12px;padding-top:12px;display:flex}.btn-sm{padding:6px 12px;font-size:.75rem}@media (width<=1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.messages-container{grid-template-columns:260px 1fr}}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0}.mobile-menu-btn{display:flex}.search-wrapper{display:none}.stats-grid{grid-template-columns:1fr 1fr}.payments-summary,.clients-grid,.messages-container{grid-template-columns:1fr}.conversations-panel{display:none}}@media (width<=480px){.stats-grid{grid-template-columns:1fr}.login-card{margin:16px;padding:36px 24px}.quick-stats-row{grid-template-columns:1fr}}
