*{margin:0;padding:0;box-sizing:border-box}:root{--primary-green: #22c55e;--primary-green-dark: #16a34a;--primary-green-light: #4ade80;--primary-green-lighter: #86efac;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-sidebar: #1f2937;--text-primary: #111827;--text-secondary: #6b7280;--border-color: #e5e7eb;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary-green);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-green-dark)}.layout{display:flex;min-height:100vh;background-color:var(--bg-secondary)}.sidebar{width:260px;background-color:var(--bg-sidebar);color:#fff;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:1000;box-shadow:var(--shadow-lg);transition:width .3s ease}.sidebar.collapsed{width:80px}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);position:relative;display:flex;align-items:center;justify-content:space-between;min-height:70px}.sidebar.collapsed .sidebar-header{padding:1rem;justify-content:center;min-height:60px}.collapse-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .3s ease;z-index:10}.collapse-toggle:hover{background:#fff3}.sidebar.collapsed .collapse-toggle{right:50%;transform:translate(50%,-50%)}.logo{display:flex;align-items:center;gap:.75rem;width:100%;justify-content:center;position:relative}.sidebar:not(.collapsed) .logo{justify-content:flex-start}.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.sidebar.collapsed .logo-icon{width:28px;height:28px;font-size:1rem}.logo h2{font-size:1.25rem;font-weight:700;color:#fff}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto}.nav-item-wrapper{position:relative;margin-bottom:.5rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:10px;color:#ffffffb3;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden;width:100%;justify-content:flex-start}.nav-item-icon{width:20px;height:20px;flex-shrink:0;display:block}.nav-item.collapsed{justify-content:center;padding:.875rem}.nav-item.collapsed span{display:none}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;box-shadow:0 4px 12px #22c55e4d}.nav-indicator{position:absolute;left:0;top:0;bottom:0;width:4px;background:#fff;border-radius:0 4px 4px 0}.sidebar.collapsed .nav-indicator{width:3px}.nav-tooltip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#000000e6;color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:.875rem;white-space:nowrap;pointer-events:none;opacity:0;z-index:2000;box-shadow:0 4px 12px #0000004d}.nav-tooltip:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#000000e6}.nav-item-wrapper:hover .nav-tooltip{opacity:1;transition:opacity .2s ease .3s}.sidebar-footer{padding:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar.collapsed .sidebar-footer{padding:1rem;display:flex;justify-content:center}.user-info{display:flex;align-items:center;gap:.75rem;width:100%;justify-content:center}.sidebar.collapsed .user-info{justify-content:center}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.user-details{flex:1}.user-name{font-weight:600;color:#fff;font-size:.875rem}.user-role{font-size:.75rem;color:#fff9}.mobile-menu-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;background:var(--primary-green);color:#fff;border:none;width:40px;height:40px;border-radius:8px;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-lg)}.mobile-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999}.layout-main{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh;transition:margin-left .3s ease}.layout-main.sidebar-collapsed{margin-left:80px}.header{background:var(--bg-primary);padding:1rem 2rem;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:100}.header-search{flex:1;max-width:500px;position:relative}.search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem;transition:all .3s ease;background:var(--bg-secondary)}.search-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.header-actions{display:flex;align-items:center;gap:1rem}.header-btn{position:relative;background:var(--bg-secondary);border:none;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all .3s ease}.header-btn:hover{background:var(--primary-green);color:#fff}.notification-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:600;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.layout-content{flex:1;padding:2rem}@media(max-width:768px){.mobile-menu-btn{display:flex}.mobile-overlay{display:block}.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.mobile-open{transform:translate(0)}.layout-main{margin-left:0}.header{padding:1rem}.header-search{max-width:none}.layout-content{padding:1rem}.sidebar{width:280px}}@media(max-width:480px){.header-search{display:none}.layout-content{padding:.75rem}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);padding:2rem;color:#fff}.login-background{position:absolute;inset:0;overflow:hidden;z-index:0}.bg-circle{position:absolute;border-radius:50%;background:linear-gradient(135deg,#22c55e1a,#22c55e0d);filter:blur(60px)}.circle-1{width:400px;height:400px;top:-100px;left:-100px}.circle-2{width:500px;height:500px;bottom:-150px;right:-150px}.circle-3{width:350px;height:350px;top:50%;left:50%;transform:translate(-50%,-50%)}.login-container{position:relative;z-index:1;width:100%;max-width:450px}.login-card{background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:3rem;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1)}.login-logo{text-align:center;margin-bottom:2.5rem}.logo-icon{width:80px;height:80px;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));border-radius:20px;color:#fff;box-shadow:0 8px 24px #22c55e66}.login-title{font-size:2rem;font-weight:700;color:#fff;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#fffc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:.875rem;color:#fff9}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.login-page .form-group label,.login-card .form-group label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#22c55e!important}.form-group label svg{color:var(--primary-green)}.form-group input{width:100%;padding:.875rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;font-size:.875rem;transition:all .3s ease}.form-group input::placeholder{color:#fff6}.form-group input:focus{outline:none;border-color:var(--primary-green);background:#ffffff14;box-shadow:0 0 0 3px #22c55e33}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .3s ease;padding:.25rem}.password-toggle:hover{color:var(--primary-green)}.form-options{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.remember-me{display:flex;align-items:center;gap:.5rem;color:#ffffffb3;cursor:pointer}.remember-me input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-green)}.forgot-password{color:var(--primary-green);text-decoration:none;font-weight:600;transition:all .3s ease}.forgot-password:hover{color:var(--primary-green-dark);text-decoration:underline}.login-button{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .3s ease;box-shadow:0 4px 16px #22c55e66;margin-top:.5rem}.login-button:hover:not(:disabled){box-shadow:0 6px 24px #22c55e80;transform:translateY(-2px)}.login-button:disabled{opacity:.7;cursor:not-allowed}.loading-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%}.login-footer{margin-top:2rem;text-align:center;font-size:.875rem;color:#fff9}.signup-link{color:var(--primary-green);text-decoration:none;font-weight:600;transition:all .3s ease}.signup-link:hover{color:var(--primary-green-dark);text-decoration:underline}@media(max-width:768px){.login-page{padding:1rem}.login-card{padding:2rem 1.5rem}.login-title{font-size:1.75rem}.logo-icon{width:64px;height:64px}.logo-icon svg{width:36px;height:36px}.circle-1,.circle-2,.circle-3{width:300px;height:300px}}@media(max-width:480px){.login-card{padding:1.5rem 1rem}.login-title{font-size:1.5rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem}}.dashboard{max-width:1400px;margin:0 auto}.page-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.page-subtitle{color:var(--text-secondary);margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:var(--bg-primary);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:1rem;transition:all .3s ease;cursor:pointer}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-title{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.stat-change{font-size:.75rem;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.dashboard-card{background:var(--bg-primary);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow)}.card-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.checkins-list{display:flex;flex-direction:column;gap:.75rem}.checkin-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:10px;transition:all .3s ease;cursor:pointer}.checkin-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.checkin-info{flex:1;min-width:0}.checkin-member-name{font-weight:600;color:var(--text-primary);font-size:.875rem;margin-bottom:.25rem}.checkin-stats{display:flex;align-items:center;gap:.375rem;font-size:.75rem;flex-wrap:wrap}.checkin-stat{color:var(--text-secondary);font-weight:500}.checkin-separator{color:var(--text-secondary);opacity:.5;font-size:.625rem}.checkin-date-wrapper{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.checkin-icon{color:var(--primary-green);width:14px;height:14px}.checkin-date{font-size:.75rem;color:var(--text-secondary);font-weight:500}.activity-list{display:flex;flex-direction:column;gap:1.5rem;position:relative;padding-left:2rem}.activity-list:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:var(--border-color)}.activity-item{display:flex;align-items:center;gap:1rem;position:relative}.activity-time{font-size:.875rem;font-weight:600;color:var(--primary-green);min-width:60px}.activity-dot{width:12px;height:12px;border-radius:50%;background:var(--primary-green);border:3px solid var(--bg-primary);position:absolute;left:-1.75rem;z-index:1}.activity-text{flex:1;color:var(--text-primary)}@media(max-width:768px){.stats-grid,.dashboard-grid{grid-template-columns:1fr}.page-title{font-size:1.5rem}}.members-page{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.members-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn-primary{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 12px #22c55e4d}.btn-primary:hover{box-shadow:0 6px 16px #22c55e66}.btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary-green);color:var(--primary-green)}.members-table-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;overflow-x:auto}.members-table{width:100%;border-collapse:collapse}.members-table thead{background:var(--bg-secondary)}.members-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.members-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.member-cell{display:flex;align-items:center;gap:.75rem}.member-cell.clickable:hover{color:var(--primary-green)}.member-avatar-small{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.status-badge.active{background:#22c55e1a;color:var(--primary-green)}.status-badge.inactive{background:#ef44441a;color:#ef4444}.action-buttons{display:flex;gap:.5rem}.action-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.view-btn{background:#22c55e1a;color:var(--primary-green)}.view-btn:hover{background:var(--primary-green);color:#fff}.edit-btn{background:#3b82f61a;color:#3b82f6}.edit-btn:hover{background:#3b82f6;color:#fff}.delete-btn{background:#ef44441a;color:#ef4444}.delete-btn:hover{background:#ef4444;color:#fff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-content{background:var(--bg-primary);border-radius:16px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.modal-subtitle{color:var(--text-secondary);margin-bottom:1.5rem}.member-form{display:flex;flex-direction:column;gap:1.25rem}.form-group input{padding:.75rem;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem;transition:all .3s ease;background:var(--bg-secondary)}.form-actions{display:flex;gap:1rem;margin-top:.5rem}.form-actions button{flex:1}@media(max-width:768px){.members-table{font-size:.75rem}.members-table th,.members-table td{padding:.75rem .5rem}.page-header,.members-filters{flex-direction:column}.search-box{min-width:100%}}.member-detail-page{max-width:1400px;margin:0 auto}.member-detail-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .3s ease;font-weight:600}.back-btn:hover{background:var(--primary-green);color:#fff;border-color:var(--primary-green)}.member-detail-content{display:grid;grid-template-columns:400px 1fr;gap:2rem}.member-info-panel{display:flex;flex-direction:column;gap:1.5rem}.member-info-card{background:var(--bg-primary);border-radius:16px;padding:2rem;box-shadow:var(--shadow);text-align:center}.member-avatar-large{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:3rem;font-weight:700;color:#fff;box-shadow:var(--shadow-lg)}.member-avatar-large img{width:100%;height:100%;border-radius:50%;object-fit:cover}.member-name{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.member-status-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600;margin-bottom:2rem}.member-status-badge.active{background:#22c55e1a;color:var(--primary-green)}.member-status-badge.inactive{background:#ef44441a;color:#ef4444}.member-info-list{display:flex;flex-direction:column;gap:1.25rem;text-align:left;margin-bottom:2rem}.info-item{display:flex;align-items:flex-start;gap:1rem}.info-icon{color:var(--primary-green);flex-shrink:0;margin-top:.25rem}.info-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-weight:600}.info-value{font-size:.875rem;color:var(--text-primary);font-weight:500}.edit-member-btn{width:100%;padding:.75rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease}.edit-member-btn:hover{box-shadow:0 4px 12px #22c55e66}.member-tabs-panel{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.member-tabs{display:flex;border-bottom:2px solid var(--border-color);background:var(--bg-secondary)}.member-tab{flex:1;padding:1rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease;border-bottom:2px solid transparent;margin-bottom:-2px}.member-tab:hover{color:var(--text-primary);background:var(--bg-primary)}.member-tab.active{color:var(--primary-green);border-bottom-color:var(--primary-green);background:var(--bg-primary)}.member-tab-content{padding:2rem;min-height:500px}.tab-header{margin-bottom:1.5rem}.tab-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.tab-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.overview-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-bottom:2rem}.overview-chart-card{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.overview-chart-card:hover{border-color:var(--primary-green);box-shadow:var(--shadow)}.chart-card-header{margin-bottom:1rem}.chart-card-header h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.chart-subtitle{font-size:.75rem;color:var(--text-secondary);margin:0}.overview-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-card{background:var(--bg-secondary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color);display:flex;align-items:center;gap:1rem;transition:all .3s ease}.summary-card:hover{border-color:var(--primary-green);box-shadow:var(--shadow);transform:translateY(-2px)}.summary-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.summary-icon.weight-icon{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff}.summary-icon.bmi-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.summary-icon.workout-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.summary-content{flex:1}.summary-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-weight:600}.summary-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.summary-value.positive{color:var(--primary-green)}.summary-period{font-size:.75rem;color:var(--text-secondary)}.table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.detail-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.detail-table thead{background:var(--bg-secondary)}.detail-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:2px solid var(--border-color)}.detail-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.table-row{transition:all .3s ease}.table-row:hover{background:var(--bg-secondary)}.contract-type-cell{font-weight:600;color:var(--text-primary)}.price-cell,.paid-cell{font-weight:600;color:var(--primary-green)}.contract-status{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600}.contract-status.active{background:#22c55e1a;color:var(--primary-green)}.contract-status.expired{background:#ef44441a;color:#ef4444}.payment-status{display:inline-block;padding:.5rem 1rem;border-radius:8px;font-size:.75rem;font-weight:600}.payment-status.paid{background:#22c55e1a;color:var(--primary-green)}.payment-status.partial{background:#f59e0b1a;color:#f59e0b}.payment-status.unpaid{background:#ef44441a;color:#ef4444}.row-span-cell{vertical-align:middle;text-align:center;font-weight:700;color:var(--primary-green)}.date-cell,.exercise-name-cell{font-weight:600;color:var(--text-primary)}.exercise-type-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background:#22c55e1a;color:var(--primary-green)}.exercise-detail-cell{color:var(--text-secondary)}.weight-cell,.height-cell{font-weight:600;color:var(--text-primary)}.bmi-cell{font-weight:700;color:var(--primary-green)}.images-badge{display:inline-block;padding:.375rem .75rem;background:#22c55e1a;color:var(--primary-green);border-radius:20px;font-size:.75rem;font-weight:600}.notes-cell{color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workouts-collapse-container{display:flex;flex-direction:column;gap:1rem}.workout-collapse-item{background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);overflow:hidden;transition:all .3s ease}.workout-collapse-item:hover{border-color:var(--primary-green);box-shadow:var(--shadow)}.workout-collapse-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;background:var(--bg-primary);transition:all .3s ease}.workout-collapse-header:hover{background:var(--bg-secondary)}.workout-header-left{display:flex;align-items:center;gap:1rem}.workout-number{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;flex-shrink:0}.calendar-icon{color:var(--primary-green);flex-shrink:0}.workout-date{font-weight:700;font-size:1rem;color:var(--text-primary)}.workout-exercises-count{font-size:.875rem;color:var(--text-secondary)}.workout-collapse-header svg:last-child{color:var(--text-secondary);flex-shrink:0}.workout-collapse-content{overflow:hidden}.workout-exercises-table-container{padding:1.5rem;background:var(--bg-secondary)}.workout-exercises-table{width:100%;border-collapse:collapse}.workout-exercises-table thead{background:var(--bg-primary)}.workout-exercises-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.workout-exercises-table td{padding:.75rem 1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.exercise-table-row:hover{background:var(--bg-primary)}@media(max-width:1024px){.member-detail-content,.overview-charts-grid,.overview-summary{grid-template-columns:1fr}.member-info-panel{order:2}.member-tabs-panel{order:1}}@media(max-width:768px){.member-tabs{flex-direction:column}.member-tab{width:100%;justify-content:flex-start}.member-tab-content{padding:1.5rem}}.contracts-page{max-width:1400px;margin:0 auto}.contracts-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.contract-stat-card{background:var(--bg-primary);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem;transition:all .3s ease}.contract-stat-icon{width:48px;height:48px;border-radius:12px;background:#22c55e1a;color:var(--primary-green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contract-stat-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.contract-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.contracts-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-btn{padding:.625rem 1.25rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);color:var(--text-primary);font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.875rem}.filter-btn:hover{border-color:var(--primary-green);color:var(--primary-green)}.filter-btn.active{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;border-color:transparent;box-shadow:0 4px 12px #22c55e4d}.contracts-table-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;overflow-x:auto}.contracts-table{width:100%;border-collapse:collapse}.contracts-table thead{background:var(--bg-secondary)}.contracts-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.contracts-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.contract-table-row{transition:all .3s ease}.contract-table-row:hover{background:var(--bg-secondary)}.contract-member-cell{display:flex;align-items:center;gap:.75rem}.contract-avatar-small{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.contract-member-name{font-weight:600;color:var(--text-primary)}.contract-type-text{color:var(--text-primary);font-weight:500}.contract-date-cell{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.contract-date-cell svg{color:var(--text-secondary);flex-shrink:0}.contract-price-cell{display:flex;align-items:center;gap:.5rem}.contract-price-cell svg{color:var(--primary-green);flex-shrink:0}.contract-price{font-weight:600;color:var(--text-primary)}.contract-paid-cell{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.contract-paid-amount{display:flex;align-items:center;gap:.5rem}.contract-paid-amount svg{color:var(--text-secondary);flex-shrink:0}.contract-paid-amount .paid-full{font-weight:600;color:var(--primary-green)}.contract-paid-amount .paid-partial{font-weight:600;color:#f59e0b}.contract-paid-amount .paid-unpaid{font-weight:600;color:#ef4444}.contract-paid-progress{display:flex;align-items:center;gap:.5rem}.contract-paid-progress-bar{flex:1;height:6px;background:var(--bg-secondary);border-radius:3px;overflow:hidden}.contract-paid-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#fbbf24);border-radius:3px;transition:width .3s ease}.contract-paid-percentage{font-size:.75rem;font-weight:600;color:#f59e0b;min-width:35px}.contract-paid-status-badge{display:inline-block;padding:.25rem .625rem;border-radius:12px;font-size:.625rem;font-weight:600;white-space:nowrap}.contract-paid-status-badge.paid{background:#22c55e1a;color:var(--primary-green)}.contract-paid-status-badge.partial{background:#f59e0b1a;color:#f59e0b}.contract-paid-status-badge.unpaid{background:#ef44441a;color:#ef4444}.contract-status-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.contract-status-badge.active{background:#22c55e1a;color:var(--primary-green)}.contract-status-badge.expired{background:#ef44441a;color:#ef4444}.contract-action-buttons{display:flex;gap:.5rem;align-items:center}.contract-action-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;background:var(--bg-secondary)}.contract-action-btn.view-btn{color:var(--primary-green)}.contract-action-btn.view-btn:hover{background:var(--primary-green);color:#fff}.contract-action-btn.edit-btn{color:#3b82f6}.contract-action-btn.edit-btn:hover{background:#3b82f6;color:#fff}.contract-action-btn.delete-btn{color:#ef4444}.contract-action-btn.delete-btn:hover{background:#ef4444;color:#fff}@media(max-width:768px){.contracts-stats{grid-template-columns:repeat(2,1fr)}.contracts-table{font-size:.75rem}.contracts-table th,.contracts-table td{padding:.75rem .5rem}.contract-action-buttons{flex-direction:column;gap:.25rem}.contract-action-btn{width:28px;height:28px}}.schedule-page{max-width:1400px;margin:0 auto}.session-types-filter{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.filter-type-btn{padding:.5rem 1rem;border:2px solid;border-radius:20px;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease}.filter-type-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.week-view-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem;overflow-x:auto}.week-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.week-grid{display:grid;grid-template-columns:80px repeat(7,1fr);grid-template-rows:auto repeat(17,60px);gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.week-grid-header-empty{background:var(--bg-secondary);border-bottom:2px solid var(--border-color)}.week-day-header{background:var(--bg-secondary);padding:1rem;text-align:center;border-bottom:2px solid var(--border-color);position:relative}.week-day-header.today{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-bottom-color:var(--primary-green)}.week-day-name{font-weight:600;color:var(--text-primary);font-size:.875rem;margin-bottom:.25rem}.week-day-number{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.week-day-header.today .week-day-number{color:var(--primary-green)}.today-indicator{position:absolute;top:.5rem;right:.5rem;background:var(--primary-green);color:#fff;font-size:.625rem;font-weight:600;padding:.25rem .5rem;border-radius:12px}.week-time-label{background:var(--bg-secondary);padding:.5rem;text-align:center;font-weight:600;color:var(--text-secondary);font-size:.75rem;border-right:2px solid var(--border-color);display:flex;align-items:center;justify-content:center}.week-cell{background:var(--bg-primary);min-height:60px;padding:.25rem;position:relative;cursor:pointer;transition:all .2s ease;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);overflow:visible}.week-cell:hover{background:#22c55e08}.week-session-block{position:absolute;left:.25rem;right:.25rem;top:.25rem;border-radius:8px;padding:.5rem;color:#fff;font-size:.75rem;cursor:pointer;box-shadow:0 2px 8px #0003;z-index:2;display:flex;flex-direction:column;gap:.25rem;overflow:hidden;word-wrap:break-word}.session-block-student{font-weight:700;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-block-type{font-weight:600;font-size:.75rem;opacity:.9}.session-block-time{font-size:.625rem;opacity:.8;margin-top:auto}.calendar-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem}.calendar-day{aspect-ratio:1;min-height:70px;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;position:relative;overflow:hidden}.calendar-day:hover{background:#22c55e0d;border-color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--shadow)}.calendar-day.today{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-color:var(--primary-green);font-weight:700}.calendar-day.today .calendar-day-number{color:var(--primary-green);font-weight:700}.calendar-day.selected{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));border-color:var(--primary-green);color:#fff}.calendar-day.selected .calendar-day-number{color:#fff;font-weight:700}.calendar-day.has-sessions{border-color:var(--primary-green)}.calendar-day.empty{cursor:default;background:transparent;border:none}.calendar-day.empty:hover{background:transparent;transform:none;box-shadow:none}.calendar-day-number{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.calendar-sessions-preview{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;margin-top:auto}.session-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.session-more{font-size:.625rem;font-weight:600;color:var(--text-secondary);margin-left:.25rem}.calendar-day.selected .session-more{color:#fffc}.session-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.session-modal-content{background:var(--bg-primary);border-radius:16px;padding:2rem;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.session-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.session-modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.session-modal-date{color:var(--text-secondary);font-size:.875rem}.session-modal-body{min-height:200px}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-item{background:var(--bg-secondary);border-left:4px solid;border-radius:12px;padding:1.25rem;transition:all .3s ease;cursor:pointer}.session-item:hover{background:#22c55e0d;box-shadow:var(--shadow)}.session-time{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:1rem}.session-time svg{color:var(--primary-green)}.session-duration{font-size:.875rem;color:var(--text-secondary);font-weight:400}.session-info{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.session-student{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-weight:500}.session-student svg{color:var(--text-secondary)}.session-type{font-weight:600;font-size:.875rem;padding:.375rem .75rem;border-radius:20px;background:#22c55e1a}.no-sessions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-secondary)}.no-sessions svg{margin-bottom:1rem;opacity:.5}.no-sessions p{margin-bottom:1.5rem;font-size:1rem}@media(max-width:768px){.page-header-actions{flex-direction:column;width:100%}.view-mode-toggle{width:100%;justify-content:stretch}.view-mode-btn{flex:1}.session-types-filter{flex-direction:column;align-items:flex-start}.filter-buttons{width:100%}.filter-type-btn{flex:1}.calendar-container,.week-view-container{padding:1rem}.calendar-header,.week-header{flex-direction:column;align-items:stretch}.calendar-month-year,.week-range{justify-content:center;order:-1}.today-btn{margin-left:0;width:100%}.week-nav-btn{flex:1}.calendar-day{min-height:60px;padding:.375rem}.calendar-day-number{font-size:.75rem}.week-grid{grid-template-columns:60px repeat(7,1fr);grid-template-rows:auto repeat(17,50px)}.week-time-label{font-size:.625rem;padding:.25rem}.week-day-header{padding:.75rem .5rem}.week-day-name{font-size:.75rem}.week-day-number{font-size:1.25rem}.week-session-block{padding:.375rem;font-size:.625rem}.session-block-student{font-size:.75rem}.session-modal-content{padding:1.5rem}.session-item{padding:1rem}}@media(max-width:480px){.calendar-day{min-height:50px;padding:.25rem}.calendar-day-header{padding:.5rem .25rem;font-size:.625rem}.calendar-day-number{font-size:.625rem}.session-dot{width:6px;height:6px}.week-grid{grid-template-columns:50px repeat(7,1fr);grid-template-rows:auto repeat(17,40px)}.week-time-label{font-size:.5rem}.week-day-header{padding:.5rem .25rem}.week-day-name{font-size:.625rem}.week-day-number{font-size:1rem}.today-indicator{font-size:.5rem;padding:.125rem .25rem;top:.25rem;right:.25rem}.week-session-block{padding:.25rem;font-size:.5rem}.session-block-student{font-size:.625rem}.session-block-type,.session-block-time{font-size:.5rem}}.exercises-page{max-width:1400px;margin:0 auto}.exercises-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.exercises-table-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;overflow-x:auto}.exercises-table{width:100%;border-collapse:collapse}.exercises-table thead{background:var(--bg-secondary)}.exercises-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.exercises-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.exercise-table-row{transition:all .3s ease}.exercise-table-row:hover{background:var(--bg-secondary)}.exercise-name-cell{display:flex;align-items:center;gap:.5rem}.exercise-name-cell svg{color:var(--primary-green);flex-shrink:0}.exercise-description{color:var(--text-secondary);max-width:300px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-type-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.exercise-type-badge.strength{background:#3b82f61a;color:#3b82f6}.exercise-type-badge.cardio{background:#ef44441a;color:#ef4444}.exercise-type-badge.yoga{background:#22c55e1a;color:var(--primary-green)}.exercise-type-badge.pilates{background:#8b5cf61a;color:#8b5cf6}.exercise-type-badge.core{background:#f59e0b1a;color:#f59e0b}.exercise-type-badge.flexibility{background:#06b6d41a;color:#06b6d4}.exercise-difficulty-badge{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.exercise-difficulty-badge.dễ{background:#22c55e1a;color:var(--primary-green)}.exercise-difficulty-badge.trung-bình{background:#f59e0b1a;color:#f59e0b}.exercise-difficulty-badge.khó{background:#ef44441a;color:#ef4444}.exercise-muscle-groups{display:flex;flex-wrap:wrap;gap:.375rem}.muscle-group-tag{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:12px;font-size:.75rem;color:var(--text-primary);font-weight:500}.video-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary-green);font-weight:600;text-decoration:none;transition:all .3s ease;font-size:.875rem}.video-link:hover{color:var(--primary-green-dark);text-decoration:underline}.no-video{color:var(--text-secondary);font-size:.875rem}.exercise-action-buttons{display:flex;gap:.5rem;align-items:center}.exercise-action-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;background:var(--bg-secondary)}.exercise-action-btn.edit-btn{color:#3b82f6}.exercise-action-btn.edit-btn:hover{background:#3b82f6;color:#fff}.exercise-action-btn.delete-btn{color:#ef4444}.exercise-action-btn.delete-btn:hover{background:#ef4444;color:#fff}.no-exercises{text-align:center;padding:3rem;color:var(--text-secondary)}.exercise-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.exercise-dialog-content{background:var(--bg-primary);border-radius:16px;padding:2rem;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.dialog-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.exercise-form{display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group input,.form-group textarea,.form-group select{padding:.75rem;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.form-group textarea{resize:vertical;min-height:80px}.form-actions{display:flex;gap:1rem;margin-top:.5rem;justify-content:flex-end}@media(max-width:768px){.exercises-filters{flex-direction:column}.search-box{min-width:100%}.exercises-table{font-size:.75rem}.exercises-table th,.exercises-table td{padding:.75rem .5rem}.exercise-description{max-width:200px}.form-row{grid-template-columns:1fr}.exercise-dialog-content{padding:1.5rem}.form-actions{flex-direction:column}.form-actions button{width:100%}}@media(max-width:480px){.exercise-action-buttons{flex-direction:column;gap:.25rem}.exercise-action-btn{width:28px;height:28px}.exercise-muscle-groups{flex-direction:column}}.add-exercise-btn{padding:.75rem 1.5rem;border:2px dashed var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-size:.875rem}.add-exercise-btn:hover{border-color:var(--primary-green);background:#22c55e0d;color:var(--primary-green)}.exercise-form-container{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.exercise-form{display:flex;flex-direction:column;gap:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.875rem}.form-group input,.form-group select{padding:.625rem;border:1px solid var(--border-color);border-radius:8px;font-size:.875rem;transition:all .3s ease;background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.disabled-input{background:var(--bg-secondary)!important;color:var(--text-secondary)!important;cursor:not-allowed}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.btn-cancel,.btn-submit{padding:.625rem 1.25rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.btn-cancel{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-cancel:hover{background:var(--bg-secondary);color:var(--text-primary)}.btn-submit{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff}.btn-submit:hover{box-shadow:0 4px 12px #22c55e4d}.exercise-form-preview{background:var(--bg-secondary);border-left:4px solid var(--primary-green);border-radius:12px;padding:1.25rem;transition:all .3s ease}.preview-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.preview-info{flex:1}.preview-info h4{font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.preview-details{display:flex;gap:1rem;flex-wrap:wrap}.preview-details span{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-primary);border-radius:12px}.preview-actions{display:flex;gap:.5rem}.preview-btn{width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.preview-btn.edit-btn{background:#3b82f61a;color:#3b82f6}.preview-btn.edit-btn:hover{background:#3b82f6;color:#fff}.preview-btn.delete-btn{background:#ef44441a;color:#ef4444}.preview-btn.delete-btn:hover{background:#ef4444;color:#fff}@media(max-width:768px){.form-row{grid-template-columns:1fr}.preview-content{flex-direction:column;align-items:flex-start}.preview-actions{width:100%;justify-content:flex-end}}.workout-day-card{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.workout-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.workout-member-info{display:flex;align-items:center;gap:1rem}.workout-member-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.workout-member-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.workout-date-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.workout-date-info svg{flex-shrink:0}.workout-card-actions{display:flex;gap:.5rem}.workout-action-btn{width:40px;height:40px;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.workout-action-btn.edit-btn{background:#3b82f61a;color:#3b82f6}.workout-action-btn.edit-btn:hover{background:#3b82f6;color:#fff}.workout-action-btn.delete-btn{background:#ef44441a;color:#ef4444}.workout-action-btn.delete-btn:hover{background:#ef4444;color:#fff}.workout-exercises{padding:1.5rem}.exercises-header{margin-bottom:1.5rem}.exercises-header h4{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.exercises-list{display:flex;flex-direction:column;gap:1rem}.workout-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.workout-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.workout-table thead{background:var(--bg-secondary)}.workout-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:2px solid var(--border-color)}.workout-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.workout-table-row{transition:all .3s ease}.workout-table-row:hover{background:var(--bg-secondary)}.table-cell-number{font-weight:700;color:var(--primary-green);text-align:center;width:50px}.table-cell-exercise{display:flex;align-items:center;gap:.5rem}.table-cell-exercise svg{color:var(--primary-green);flex-shrink:0}.exercise-name{font-weight:600;color:var(--text-primary)}.exercise-type-cell{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:#22c55e1a;border-radius:20px;font-weight:600;font-size:.875rem;color:var(--primary-green)}.exercise-type-cell.to-failure{background:#f59e0b1a;color:#f59e0b}.exercise-type-cell svg{flex-shrink:0}.table-cell-value{font-weight:600;color:var(--text-primary)}@media(max-width:768px){.workout-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.workout-card-actions{width:100%;justify-content:flex-end}}.workout-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.workout-dialog-content{background:var(--bg-primary);border-radius:16px;padding:2rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.dialog-header-actions{display:flex;gap:.5rem;align-items:center}.dialog-action-btn{padding:.5rem 1rem;border:none;border-radius:8px;font-weight:600;font-size:.875rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.dialog-action-btn.edit-btn{background:#3b82f61a;color:#3b82f6}.dialog-action-btn.edit-btn:hover{background:#3b82f6;color:#fff}.workout-dialog-content.view-mode{max-width:900px}.workout-view-content{max-height:70vh;overflow-y:auto}.workout-dialog-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:2px solid var(--border-color)}.workout-tab{padding:.75rem 1.5rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.875rem;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;border-bottom:2px solid transparent;margin-bottom:-2px;position:relative}.workout-tab:hover{color:var(--text-primary)}.workout-tab.active{color:var(--primary-green);border-bottom-color:var(--primary-green)}.workout-tab-content{min-height:300px}.workout-records-container{display:flex;flex-direction:column;gap:1.5rem}.records-header{margin-bottom:1rem}.records-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.records-subtitle{font-size:.875rem;color:var(--text-secondary)}.workout-records-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.workout-records-table{width:100%;border-collapse:collapse;background:var(--bg-primary)}.workout-records-table thead{background:var(--bg-secondary)}.workout-records-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-bottom:2px solid var(--border-color)}.workout-records-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;vertical-align:top}.workout-record-row{transition:all .3s ease}.workout-record-row:hover{background:var(--bg-secondary)}.record-exercise-name{font-weight:600}.exercise-name-bold{font-weight:700;color:var(--text-primary)}.record-planned{color:var(--text-secondary);font-size:.875rem}.record-actual{display:flex;flex-direction:column;gap:.5rem}.actual-reps,.actual-time{display:flex;flex-direction:column;gap:.25rem}.rep-badge,.time-badge{display:inline-block;padding:.25rem .5rem;background:#22c55e1a;color:var(--primary-green);border-radius:8px;font-size:.75rem;font-weight:600;width:fit-content}.incomplete-badge{display:inline-block;padding:.25rem .5rem;background:#f59e0b1a;color:#f59e0b;border-radius:8px;font-size:.75rem;font-weight:600;width:fit-content}.record-notes{color:var(--text-secondary);font-size:.875rem;max-width:200px;display:block}.record-time{color:var(--text-secondary);font-size:.75rem;white-space:nowrap}.record-status{display:inline-block;padding:.375rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;white-space:nowrap}.record-status.completed{background:#22c55e1a;color:var(--primary-green)}.record-status.incomplete{background:#ef44441a;color:#ef4444}.no-records-message{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.no-records-message svg{margin-bottom:1rem;opacity:.5;color:var(--text-secondary)}.no-records-message p{font-size:1rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:600}.no-records-subtitle{font-size:.875rem;color:var(--text-secondary);font-weight:400}@media(max-width:768px){.workout-dialog-tabs{flex-direction:column}.workout-tab{width:100%;justify-content:center}.workout-records-table{font-size:.75rem}.workout-records-table th,.workout-records-table td{padding:.75rem .5rem}.record-notes{max-width:150px;font-size:.75rem}}.dialog-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.dialog-date{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.dialog-date svg{flex-shrink:0}.dialog-close-btn{width:36px;height:36px;border:none;border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.dialog-close-btn:hover{background:#ef4444;color:#fff}.workout-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:1rem}.section-title{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.875rem;display:flex;align-items:center;gap:.5rem}.form-group label svg{flex-shrink:0}.form-group input{padding:.75rem;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit}.form-group input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.exercises-form-list{display:flex;flex-direction:column;gap:1rem}.add-exercise-wrapper{margin-bottom:1rem}.no-exercises-message{padding:2rem;text-align:center;background:var(--bg-secondary);border-radius:12px;color:var(--text-secondary)}.form-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border-color)}.form-actions button{padding:.75rem 1.5rem;border-radius:10px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.875rem}@media(max-width:768px){.workout-dialog-content{padding:1.5rem}.section-header{flex-direction:column;align-items:stretch}.form-actions{flex-direction:column}.form-actions button{width:100%}}.workout-plan-page{max-width:1400px;margin:0 auto}.page-header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.view-mode-toggle{display:flex;gap:.5rem;background:var(--bg-secondary);padding:.25rem;border-radius:10px}.view-mode-btn{padding:.5rem 1rem;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-size:.875rem}.view-mode-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.view-mode-btn.active{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;box-shadow:0 2px 8px #22c55e4d}.workout-calendar-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem}.workout-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.calendar-month-year{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:center}.calendar-month-year h2{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.calendar-nav-btn{width:40px;height:40px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.calendar-nav-btn:hover{background:var(--primary-green);color:#fff;border-color:var(--primary-green)}.today-btn{margin-left:auto}.workout-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.375rem}.calendar-day-header{padding:.75rem .5rem;text-align:center;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.workout-calendar-day{aspect-ratio:1;min-height:100px;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;position:relative;overflow:hidden}.workout-calendar-day:hover{background:#22c55e0d;border-color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--shadow)}.workout-calendar-day.today{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-color:var(--primary-green);font-weight:700}.workout-calendar-day.today .workout-day-number{color:var(--primary-green);font-weight:700}.workout-calendar-day.has-workouts{border-color:var(--primary-green)}.workout-calendar-day.empty{cursor:default;background:transparent;border:none}.workout-calendar-day.empty:hover{background:transparent;transform:none;box-shadow:none}.workout-day-number{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.workout-chips-container{display:flex;flex-direction:column;gap:.375rem;margin-top:auto;max-height:60px;overflow-y:auto}.workout-member-chip{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #22c55e33}.workout-member-chip:hover{box-shadow:0 4px 8px #22c55e66;transform:translateY(-1px)}.workout-member-chip svg{flex-shrink:0}.workout-member-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.workout-more-chip{padding:.25rem .5rem;background:#22c55e33;color:var(--primary-green);border-radius:12px;font-size:.625rem;font-weight:700;text-align:center}.workout-week-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);padding:2rem;margin-bottom:2rem}.workout-week-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.week-range{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:center}.week-range h2{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.week-nav-btn{padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;font-weight:600;font-size:.875rem}.week-nav-btn:hover{background:var(--primary-green);color:#fff;border-color:var(--primary-green)}.workout-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1rem}.workout-week-day{background:var(--bg-secondary);border-radius:12px;padding:1rem;min-height:200px;border:2px solid transparent;transition:all .3s ease}.workout-week-day.today{background:linear-gradient(135deg,#22c55e1a,#22c55e0d);border-color:var(--primary-green)}.workout-week-day-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color);position:relative}.workout-week-day-name{font-weight:600;color:var(--text-primary);font-size:.875rem;margin-bottom:.25rem}.workout-week-day-number{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.workout-week-day.today .workout-week-day-number{color:var(--primary-green)}.today-badge{position:absolute;top:0;right:0;background:var(--primary-green);color:#fff;font-size:.625rem;font-weight:600;padding:.25rem .5rem;border-radius:12px}.workout-week-chips{display:flex;flex-direction:column;gap:.5rem;min-height:120px}.workout-member-chip.week-chip{padding:.625rem .75rem;font-size:.875rem;justify-content:space-between}.chip-exercises-count{font-size:.75rem;opacity:.9;background:#fff3;padding:.125rem .5rem;border-radius:10px}.no-workouts-week{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem .5rem;text-align:center;color:var(--text-secondary);min-height:120px}.no-workouts-week svg{margin-bottom:.5rem;opacity:.5}.no-workouts-week p{font-size:.75rem;margin-bottom:.75rem}.btn-primary.small{padding:.5rem 1rem;font-size:.75rem}@media(max-width:768px){.page-header-actions{flex-direction:column;width:100%}.view-mode-toggle{width:100%;justify-content:stretch}.view-mode-btn{flex:1}.workout-calendar-container,.workout-week-container{padding:1rem}.workout-calendar-header,.workout-week-header{flex-direction:column;align-items:stretch}.calendar-month-year,.week-range{justify-content:center;order:-1}.today-btn{margin-left:0;width:100%}.workout-calendar-day{min-height:80px;padding:.375rem}.workout-week-grid{grid-template-columns:1fr}.workout-week-day{min-height:150px}}@media(max-width:480px){.workout-calendar-day{min-height:60px;padding:.25rem}.workout-day-number{font-size:.75rem}.workout-member-chip{font-size:.625rem;padding:.25rem .375rem}.workout-member-chip svg{width:10px;height:10px}}.checkin-page{max-width:1400px;margin:0 auto}.checkin-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{flex:1;min-width:300px;position:relative}.search-box .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-secondary)}.search-box .search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;border:1px solid var(--border-color);border-radius:10px;font-size:.875rem;transition:all .3s ease;background:var(--bg-primary)}.search-box .search-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.filter-group{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary)}.filter-select{border:none;background:transparent;color:var(--text-primary);font-weight:600;font-size:.875rem;cursor:pointer;outline:none}.checkin-table-container{background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;overflow-x:auto}.checkin-table{width:100%;border-collapse:collapse}.checkin-table thead{background:var(--bg-secondary)}.checkin-table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.checkin-table td{padding:1rem;border-top:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem}.checkin-table-row{transition:all .3s ease;cursor:pointer}.checkin-table-row:hover{background:var(--bg-secondary)}.checkin-member-cell{display:flex;align-items:center;gap:.75rem}.checkin-member-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.checkin-member-name{font-weight:600;color:var(--text-primary)}.checkin-date-cell{display:flex;align-items:center;gap:.5rem;color:var(--text-primary)}.checkin-date-cell svg{color:var(--text-secondary);flex-shrink:0}.checkin-weight-cell,.checkin-height-cell{display:flex;align-items:center;gap:.5rem}.checkin-weight-cell svg{color:var(--primary-green);flex-shrink:0}.checkin-height-cell svg{color:#3b82f6;flex-shrink:0}.weight-value,.height-value{font-weight:600;color:var(--text-primary)}.checkin-bmi-cell{display:flex;flex-direction:column;gap:.25rem}.bmi-value{font-weight:700;color:var(--text-primary);font-size:1rem}.bmi-category{font-size:.75rem;font-weight:600}.checkin-images-count{display:flex;align-items:center;gap:.5rem;color:var(--primary-green);font-weight:600}.checkin-images-count svg{flex-shrink:0}.checkin-notes{color:var(--text-secondary);max-width:200px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-checkins{text-align:center;padding:3rem;color:var(--text-secondary)}.checkin-image-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:3000;padding:1rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.checkin-image-modal-content{background:var(--bg-primary);border-radius:16px;padding:2rem;max-width:1000px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.image-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color)}.image-modal-header h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.image-modal-date{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.image-modal-date svg{flex-shrink:0}.image-modal-body{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}.image-modal-left{display:flex;flex-direction:column;gap:1rem}.image-modal-right{display:flex;flex-direction:column;gap:1.5rem}.image-modal-stats{display:flex;flex-direction:column;gap:1rem}.stat-card{background:var(--bg-secondary);border-radius:12px;padding:1.25rem;display:flex;align-items:center;gap:1rem;border:2px solid transparent;transition:all .3s ease}.stat-card:hover{border-color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--shadow)}.stat-card.weight-card{background:linear-gradient(135deg,#22c55e1a,#22c55e0d)}.stat-card.height-card{background:linear-gradient(135deg,#3b82f61a,#3b82f60d)}.stat-card.bmi-card{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d)}.stat-icon{width:56px;height:56px;border-radius:12px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary-green);box-shadow:var(--shadow)}.stat-card.weight-card .stat-icon{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff}.stat-card.height-card .stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.bmi-icon-text{font-weight:700;font-size:.875rem}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-weight:600}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.stat-unit{font-size:1rem;font-weight:600;color:var(--text-secondary)}.stat-category{font-size:.75rem;font-weight:600;margin-top:.25rem}.image-modal-notes{background:var(--bg-secondary);border-radius:12px;padding:1.25rem;border:1px solid var(--border-color)}.image-modal-notes h4{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.image-modal-notes p{color:var(--text-primary);font-size:.875rem;margin:0;line-height:1.6}.image-modal-main{position:relative;width:100%;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--bg-secondary);aspect-ratio:1}.main-image{width:100%;height:100%;object-fit:contain;display:block;background:var(--bg-secondary)}.main-image-number{position:absolute;bottom:1rem;right:1rem;background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.875rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.image-thumbnail-gallery{display:flex;gap:.75rem;overflow-x:auto;padding:.5rem 0;scrollbar-width:thin;scrollbar-color:var(--primary-green) var(--bg-secondary)}.image-thumbnail-gallery::-webkit-scrollbar{height:6px}.image-thumbnail-gallery::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:10px}.image-thumbnail-gallery::-webkit-scrollbar-thumb{background:var(--primary-green);border-radius:10px}.thumbnail-item{position:relative;width:100px;height:100px;border-radius:12px;overflow:hidden;cursor:pointer;border:3px solid transparent;transition:all .3s ease;flex-shrink:0;box-shadow:var(--shadow)}.thumbnail-item:hover{transform:scale(1.1);box-shadow:var(--shadow-lg)}.thumbnail-item.active{border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e33}.thumbnail-item img{width:100%;height:100%;object-fit:cover;display:block}.thumbnail-active-indicator{position:absolute;inset:0;border:3px solid var(--primary-green);border-radius:12px;pointer-events:none}.modal-close-btn{width:36px;height:36px;border:none;border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.modal-close-btn:hover{background:#ef4444;color:#fff}@media(max-width:768px){.checkin-filters{flex-direction:column}.search-box{min-width:100%}.checkin-table{font-size:.75rem}.checkin-table th,.checkin-table td{padding:.75rem .5rem}.checkin-notes{max-width:150px}.checkin-image-modal-content{padding:1.5rem}.image-modal-body{grid-template-columns:1fr;gap:1.5rem}.image-modal-stats{flex-direction:column}.stat-card{padding:1rem}.stat-value{font-size:1.5rem}.image-modal-main{aspect-ratio:1}.thumbnail-item{width:80px;height:80px}}@media(max-width:480px){.image-modal-gallery{grid-template-columns:1fr}.image-modal-info{flex-direction:column;align-items:flex-start;gap:.5rem}.image-modal-info span:not(:last-child):after{content:""}}.revenue-page{max-width:1400px;margin:0 auto}.revenue-filters{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;background:var(--bg-primary);border-radius:16px;box-shadow:var(--shadow);margin-bottom:2rem;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:1rem}.filter-group svg{color:var(--text-secondary)}.filter-label{font-weight:600;color:var(--text-primary);font-size:.875rem}.time-filter-buttons{display:flex;gap:.5rem;background:var(--bg-secondary);padding:.25rem;border-radius:10px}.time-filter-btn{padding:.5rem 1rem;border:none;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease}.time-filter-btn:hover{color:var(--text-primary);background:var(--bg-primary)}.time-filter-btn.active{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff;box-shadow:0 2px 8px #22c55e4d}.date-range-picker{display:flex;align-items:center;gap:.75rem}.date-range-picker svg{color:var(--text-secondary)}.date-input{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .3s ease}.date-input:focus{outline:none;border-color:var(--primary-green);box-shadow:0 0 0 3px #22c55e1a}.revenue-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.revenue-stat-card{background:var(--bg-primary);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:center;gap:1rem;border:2px solid transparent;transition:all .3s ease}.revenue-stat-card:hover{border-color:var(--primary-green);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow)}.stat-icon.revenue-icon{background:linear-gradient(135deg,var(--primary-green),var(--primary-green-dark));color:#fff}.stat-icon.contracts-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.stat-icon.avg-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.stat-icon.growth-icon{background:var(--bg-secondary)}.stat-icon.growth-icon.positive{color:var(--primary-green)}.stat-icon.growth-icon.negative{color:#ef4444}.stat-content{flex:1}.stat-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-weight:600}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;line-height:1.2}.stat-value.positive{color:var(--primary-green)}.stat-value.negative{color:#ef4444}.revenue-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem;margin-bottom:2rem}.top-customers-table{margin-top:1.5rem;overflow-x:auto}.customers-table{width:100%;border-collapse:collapse;font-size:.875rem}.customers-table thead{background:var(--bg-secondary)}.customers-table th{padding:.75rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.customers-table td{padding:.75rem;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.customers-table tbody tr:hover{background:var(--bg-secondary)}.customer-name{font-weight:600;color:var(--text-primary)}.revenue-cell{font-weight:700;color:var(--primary-green)}.avg-cell{color:var(--text-secondary);font-size:.8125rem}.chart-card{background:var(--bg-primary);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow)}.chart-header{margin-bottom:1.5rem}.chart-header h3{font-size:1.125rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.chart-header p{font-size:.875rem;color:var(--text-secondary)}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-color);opacity:.3}.recharts-text{fill:var(--text-secondary);font-size:.75rem}.recharts-legend-wrapper{padding-top:1rem}.recharts-legend-item-text{color:var(--text-primary);font-size:.875rem}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{background:var(--bg-primary)!important;border:1px solid var(--border-color)!important;border-radius:8px!important;box-shadow:var(--shadow)!important}.recharts-tooltip-label{color:var(--text-primary)!important;font-weight:600!important}.recharts-tooltip-item{color:var(--text-primary)!important}@media(max-width:1024px){.revenue-charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.revenue-filters,.filter-group{flex-direction:column;align-items:stretch}.time-filter-buttons{width:100%;justify-content:stretch}.time-filter-btn{flex:1}.date-range-picker{flex-direction:column;align-items:stretch}.date-input{width:100%}.revenue-stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.25rem}}@media(max-width:480px){.chart-card{padding:1rem}.chart-header h3{font-size:1rem}}
