:root{--bg-color:#0b0f19;--text-color:#f8fafc;--text-muted:#94a3b8;--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-gradient:linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--danger-color:#ef4444;--success-color:#10b981;--glass-bg:#1e293b66;--glass-border:#ffffff14;--card-bg:#0f172a99;--input-bg:#0f172a66;--input-bg-focus:#1e293bcc;--border-light:#ffffff14;--border-lighter:#ffffff0a;--hover-bg:#ffffff0f;--overlay-bg:#020617d9;--shadow-color:#0006;--black-white:#000;--white-black:#fff}:root[data-theme=light]{--bg-color:#f8fafc;--text-color:#0f172a;--text-muted:#64748b;--primary-color:#4f46e5;--primary-hover:#4338ca;--primary-gradient:linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);--glass-bg:#ffffffb3;--glass-border:#ffffffe6;--card-bg:#ffffffd9;--input-bg:#f1f5f999;--input-bg-focus:#fff;--border-light:#0f172a14;--border-lighter:#0f172a0a;--hover-bg:#0f172a0a;--overlay-bg:#f8fafcd9;--shadow-color:#0f172a0f;--black-white:#fff;--white-black:#000}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}body{background-color:var(--bg-color);color:var(--text-color);background-image:radial-gradient(circle at 15%,#3b82f626,#0000 25%),radial-gradient(circle at 85% 30%,#10b9811a,#0000 25%);background-attachment:fixed;min-height:100vh}h1,h2,h3,h4{letter-spacing:-.02em;margin-bottom:.5rem;font-weight:600}p{color:var(--text-muted);line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s ease-out forwards fadeIn}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin,.spinning{animation:1s linear infinite spin}.app-container{min-height:100vh;display:flex}.main-content{flex:1;margin-left:280px;padding:40px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);position:relative}body.sidebar-collapsed .main-content{margin-left:88px}.page-header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 8px 32px var(--shadow-color);border-radius:16px}.glass-card{padding:24px;transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s,box-shadow .3s}.glass-card:hover{border-color:var(--primary-color);box-shadow:0 12px 48px var(--shadow-color);transform:translateY(-4px)scale(1.01)}.input-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.input-group label{color:var(--text-muted);font-size:.875rem;font-weight:600}input,select,textarea{background:var(--input-bg);border:1px solid var(--border-light);width:100%;color:var(--text-color);border-radius:10px;outline:none;padding:12px 16px;font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1)}input:focus,select:focus,textarea:focus{border-color:var(--primary-color);background:var(--input-bg-focus);transform:translateY(-1px);box-shadow:0 0 0 3px #6366f133}.btn{cursor:pointer;border:none;border-radius:10px;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 4px 14px #6366f14d}.btn-primary:hover{filter:brightness(110%);transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #6366f14d}.btn-secondary{background:var(--border-light);color:var(--text-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:var(--hover-bg);transform:translateY(-1px)}.btn-danger{color:var(--danger-color);background:#ef44441a;border:1px solid #ef444433}.btn-danger:hover{background:#ef444433;transform:translateY(-1px)}.photo-review-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px;display:grid}.photo-review-card{background:var(--card-bg);border:1px solid var(--border-light);border-radius:16px;flex-direction:column;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.photo-review-card:hover{box-shadow:0 12px 32px var(--shadow-color);border-color:var(--primary-color);transform:translateY(-4px)}.photo-review-card-header{border-bottom:1px solid var(--border-light);align-items:center;gap:12px;padding:16px;display:flex}.client-avatar{object-fit:cover;border:2px solid var(--primary-color,#4f46e5);border-radius:50%;width:48px;height:48px}.client-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.client-info strong{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.client-info span{color:var(--primary-color);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.client-info small{color:var(--text-muted);font-size:.75rem}.photo-review-card-body{aspect-ratio:4/3;background:var(--input-bg);position:relative;overflow:hidden}.meal-photo-preview{object-fit:cover;width:100%;height:100%;transition:transform .5s}.photo-review-card-body:hover .meal-photo-preview{transform:scale(1.05)}.photo-review-overlay{opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.photo-review-card-body:hover .photo-review-overlay{opacity:1}.icon-link-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background:#fff3;border-radius:50%;padding:12px;transition:all .2s;display:flex}.icon-link-btn:hover{background:var(--primary-color,#4f46e5);transform:scale(1.1)}.photo-review-actions{grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.btn-approve{color:#4ade80;cursor:pointer;background:#22c55e1a;border:1px solid #22c55e33;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:600;transition:all .2s;display:flex}.btn-approve:hover:not(:disabled){color:#fff;background:#22c55e}.btn-reject{color:#f87171;cursor:pointer;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:10px;font-weight:600;transition:all .2s;display:flex}.btn-reject:hover:not(:disabled){color:#fff;background:#ef4444}.brand-logo-box{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.brand-logo-box img{width:40px;height:40px;display:block}.login-logo{justify-content:center;align-items:center;width:88px;height:88px;margin-bottom:18px;display:inline-flex}.login-logo img{filter:drop-shadow(0 18px 30px #3b82f647);width:88px;height:88px;display:block}@keyframes logoHeartbeat{0%,to{filter:drop-shadow(0 0 #3b82f600);transform:scale(1)}18%{filter:drop-shadow(0 8px 18px #3b82f647);transform:scale(1.12)}32%{transform:scale(.96)}48%{filter:drop-shadow(0 8px 18px #10b98138);transform:scale(1.08)}68%{transform:scale(1)}}.logo-loader{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;font-weight:600;display:inline-flex}.logo-loader img{transform-origin:50%;animation:1.35s ease-in-out infinite logoHeartbeat;display:block}.logo-loader-sm{gap:0}.logo-loader-sm img{width:22px;height:22px}.logo-loader-md img{width:44px;height:44px}.logo-loader-lg img{width:58px;height:58px}.logo-loader-inline{color:inherit;flex-direction:row;gap:8px}.logo-loader-inline img{width:20px;height:20px}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;background:#0f172aad;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);border:1px solid var(--border-light);border-radius:16px;width:100%;max-width:600px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-content.glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.clients-modal{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-color);border-radius:16px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 80px #0f172a59}:root[data-theme=light] .clients-modal{background:#f1f5f9b8;border-color:#ffffffb8}:root:not([data-theme=light]) .clients-modal{background:#0f1115c7}.clients-modal-lg{max-width:1120px}.clients-modal-md{max-width:800px}.clients-modal-sm{max-width:450px}.clients-modal-xs{max-width:400px}.clients-modal .btn:not(.btn-primary){background:var(--border-light);color:var(--text-color)}.clients-modal .btn:not(.btn-primary):hover{background:var(--hover-bg)}.inline-link{color:var(--text-muted);align-items:center;gap:8px;font-size:.9rem;text-decoration:none;display:inline-flex}.inline-link:hover{color:var(--primary-color)}.client-actions{justify-content:flex-end;align-items:center;gap:8px;display:inline-flex;position:relative}.client-detail-link,.client-actions-trigger{border:1px solid var(--border-light);background:var(--border-light);min-height:36px;color:var(--text-color);border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.client-detail-link{padding:0 12px;font-size:.86rem}.client-actions-trigger{cursor:pointer;width:36px;padding:0}.client-detail-link:hover,.client-actions-trigger:hover{background:var(--hover-bg)}.client-actions-menu{z-index:20;border:1px solid var(--border-light);background:var(--card-bg);width:180px;box-shadow:0 16px 40px var(--shadow-color);border-radius:8px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.client-actions-menu button{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:10px;font-size:.9rem;display:flex}.client-actions-menu button:hover{background:var(--hover-bg)}.clients-mobile-list{display:none}.clients-mobile-card{border-top:1px solid var(--border-lighter);gap:14px;padding:16px;display:grid}.clients-mobile-card strong,.clients-mobile-card span,.clients-mobile-card small{display:block}.clients-mobile-card span,.clients-mobile-card small{color:var(--text-muted)}.clients-mobile-actions{flex-wrap:wrap;gap:8px;display:flex}.clients-mobile-actions button{border:1px solid var(--border-light);background:var(--border-light);min-height:36px;color:var(--text-color);border-radius:8px;padding:0 12px}.dashboard-filters,.segmented-control{align-items:center;gap:10px;display:flex}.admin-page-header{align-items:flex-end}.admin-page-header h1{margin:3px 0 7px;font-size:2rem}.admin-page-header p{color:var(--text-muted);margin:0}.admin-page-eyebrow{color:var(--primary-color);text-transform:uppercase;font-size:.75rem;font-weight:800}.admin-refresh-button{border:1px solid var(--border-light);background:var(--input-bg);min-height:42px;color:var(--text-color);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:0 16px;font-weight:700;display:inline-flex}.admin-refresh-button:hover{border-color:var(--primary-color);color:var(--primary-color)}.admin-refresh-button:disabled{opacity:.55;cursor:wait}.admin-refresh-button .is-spinning{animation:.9s linear infinite adminSpin}@keyframes adminSpin{to{transform:rotate(360deg)}}.admin-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.admin-stat-card{border:1px solid var(--border-light);background:var(--card-bg);border-radius:8px;align-items:center;gap:14px;min-width:0;padding:16px;display:flex}.admin-stat-card>div:last-child{min-width:0}.admin-stat-card span,.admin-stat-card strong{display:block}.admin-stat-card span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:.8rem;overflow:hidden}.admin-stat-card strong{font-size:1.45rem}.admin-stat-icon{border-radius:8px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.admin-stat-icon-blue{color:#3b82f6;background:#3b82f624}.admin-stat-icon-green{color:#10b981;background:#10b98124}.admin-stat-icon-violet{color:#a855f7;background:#a855f724}.admin-stat-icon-red{color:#ef4444;background:#ef444424}.admin-nav-tabs{border-bottom:1px solid var(--border-light);gap:28px;min-width:0;display:flex}.admin-nav-tabs button{min-height:50px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 2px;font-weight:700;display:inline-flex;position:relative}.admin-nav-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.admin-nav-tabs button:hover,.admin-nav-tabs button.is-active{color:var(--text-color)}.admin-nav-tabs button.is-active:after{background:var(--primary-color)}.admin-nav-tabs button.is-active svg{color:var(--primary-color)}.admin-nav-tabs small{background:var(--border-light);min-width:24px;color:var(--text-muted);text-align:center;border-radius:999px;padding:2px 7px;font-size:.7rem}.admin-nav-tabs button.is-active small{color:var(--primary-color);background:#6366f124}.admin-tab-surface{min-width:0;padding:28px 0 8px}.admin-section-header,.admin-tab-surface>.section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.admin-section-header h2,.admin-tab-surface>.section-heading h2{margin:0;font-size:1.35rem}.admin-section-header p,.admin-tab-surface>.section-heading p{color:var(--text-muted);margin:5px 0 0}.admin-section-title{align-items:center;gap:10px;display:flex}.admin-section-title span{background:var(--border-light);min-width:28px;color:var(--text-muted);text-align:center;border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:700}.admin-solid-primary{background:var(--primary-color);box-shadow:none;border-radius:8px}.admin-solid-primary:hover{background:var(--primary-hover);box-shadow:none;filter:none}.admin-list-toolbar,.admin-library-toolbar{align-items:center;gap:12px;margin-bottom:18px;display:flex}.admin-list-toolbar select{flex:0 0 190px;width:190px}.admin-search-control{flex:1;min-width:0;display:block;position:relative}.admin-search-control svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.admin-search-control input{padding-left:42px}.admin-users-table{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);margin-bottom:22px}.admin-users-table-head,.admin-user-row{grid-template-columns:minmax(260px,1.4fr) minmax(130px,.55fr) minmax(180px,.75fr) 92px;align-items:center;gap:18px;display:grid}.admin-users-table-head{min-height:42px;color:var(--text-muted);text-transform:uppercase;padding:0 14px;font-size:.74rem;font-weight:800}.admin-user-row{border-top:1px solid var(--border-lighter);min-height:72px;padding:10px 14px;transition:background .14s}.admin-user-row:hover{background:var(--hover-bg)}.admin-user-identity{align-items:center;gap:12px;min-width:0;display:flex}.admin-user-avatar{color:#60a5fa;background:#3b82f61f;border:1px solid #3b82f63d;border-radius:8px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;font-size:.78rem;font-weight:800;display:inline-flex}.admin-user-identity div{min-width:0}.admin-user-identity strong,.admin-user-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-user-identity small,.admin-user-trainer{color:var(--text-muted);margin-top:3px;font-size:.82rem}.admin-role-badge{border-radius:999px;width:fit-content;padding:5px 9px;font-size:.75rem;font-weight:700}.admin-role-superadmin{color:#c084fc;background:#a855f724}.admin-role-trainer{color:#34d399;background:#10b98124}.admin-role-user{color:#60a5fa;background:#3b82f624}.admin-row-actions{justify-content:flex-end;gap:7px;display:inline-flex}.admin-row-actions button{border:1px solid var(--border-light);background:var(--input-bg);width:34px;height:34px;color:var(--text-muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.admin-row-actions button:hover{border-color:var(--primary-color);color:var(--primary-color)}.admin-row-actions button:last-child:hover{color:var(--danger-color);background:#ef44441a;border-color:#ef444459}.admin-library-toolbar{justify-content:space-between}.admin-library-toolbar .admin-search-control{max-width:360px}.admin-library-tabs{border:1px solid var(--border-light);background:var(--input-bg);border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex}.admin-library-tabs button{min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:0 12px;font-weight:700;display:inline-flex}.admin-library-tabs button.is-active{background:var(--border-light);color:var(--text-color)}.admin-library-tabs button.is-active svg{color:var(--primary-color)}.admin-library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px;display:grid}.admin-library-card{border:1px solid var(--border-light);background:var(--card-bg);border-radius:8px;align-items:flex-start;gap:12px;min-width:0;min-height:100px;padding:14px;display:flex}.admin-library-card-icon{color:#60a5fa;background:#3b82f61f;border-radius:7px;flex:0 0 36px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.admin-library-card>div:last-child{min-width:0}.admin-library-card strong,.admin-library-card span,.admin-library-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-library-card span{color:var(--text-muted);margin-top:4px;font-size:.8rem}.admin-library-card small{color:var(--primary-color);margin-top:7px;font-weight:700}.admin-user-modal-form,.admin-form-section{gap:16px;display:grid}.admin-form-section{border-bottom:1px solid var(--border-light);padding-bottom:18px}.admin-form-section h4{color:var(--text-muted);text-transform:uppercase;margin:0;font-size:.82rem}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.admin-form-grid-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-select-field{color:var(--text-muted);gap:8px;font-size:.9rem;display:grid}.admin-select-field small{color:var(--danger-color);font-size:.75rem}.audit-panel{min-width:0}.audit-panel .section-heading h2{align-items:center;gap:9px;display:flex}.audit-record-count{color:var(--text-muted);align-items:center;gap:7px;font-weight:600;display:inline-flex}.audit-filter-form{grid-template-columns:minmax(260px,1.2fr) minmax(190px,.8fr) minmax(145px,.5fr) minmax(145px,.5fr) auto;align-items:end;gap:12px;margin-bottom:18px;display:grid}.audit-filter-form label{min-width:0;color:var(--text-muted);gap:7px;font-size:.82rem;font-weight:600;display:grid}.audit-search-field>div{position:relative}.audit-search-field svg{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.audit-search-field input{width:100%;padding-left:40px}.audit-filter-actions{gap:8px;display:flex}.audit-filter-actions .btn{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.audit-table{border:1px solid var(--border-lighter);border-radius:8px;margin-bottom:18px;transition:opacity .16s;display:grid;overflow:hidden}.audit-table.is-fetching{opacity:.58}.audit-table-header,.audit-log-row{grid-template-columns:minmax(150px,.65fr) minmax(190px,1fr) minmax(170px,.9fr) minmax(170px,.9fr) 42px;align-items:center;gap:12px;display:grid}.audit-table-header{background:var(--border-lighter);color:var(--text-muted);text-transform:uppercase;padding:10px 14px;font-size:.78rem;font-weight:700}.audit-log-row{border-top:1px solid var(--border-lighter);background:var(--input-bg);padding:12px 14px}.audit-log-row time{color:var(--text-muted);font-size:.88rem}.audit-event-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.audit-event-cell{gap:3px;min-width:0;display:grid}.audit-event-cell>span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.audit-event-cell code{color:var(--primary-color);text-overflow:ellipsis;white-space:nowrap;font-family:inherit;font-size:.7rem;overflow:hidden}.audit-user-cell{min-width:0}.audit-user-cell strong,.audit-user-cell span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.audit-user-cell span{color:var(--text-muted);margin-top:2px;font-size:.78rem}.audit-expand-button{background:var(--border-light);width:34px;height:34px;color:var(--text-color);cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.audit-expand-button:disabled{opacity:.35;cursor:default}.audit-detail-panel{border-top:1px solid var(--border-light);grid-column:1/-1;gap:16px;padding:16px 0 4px;display:grid}.audit-detail-section{gap:10px;display:grid}.audit-detail-section h3{color:var(--text-muted);text-transform:uppercase;margin:0;font-size:.76rem}.audit-change-list{gap:8px;display:grid}.audit-change-row{grid-template-columns:minmax(130px,.55fr) minmax(120px,1fr) 18px minmax(120px,1fr);align-items:center;gap:10px;min-width:0;font-size:.84rem;display:grid}.audit-change-row>span{border:1px solid var(--border-lighter);overflow-wrap:anywhere;border-radius:6px;min-width:0;padding:8px 10px}.audit-change-row>span:last-child{border-color:color-mix(in srgb, var(--success-color) 35%, var(--border-lighter));background:color-mix(in srgb, var(--success-color) 8%, transparent)}.audit-change-row svg{color:var(--text-muted)}.audit-technical-details{border-top:1px solid var(--border-lighter)}.audit-technical-details summary{color:var(--text-muted);cursor:pointer;padding-top:12px;font-size:.8rem;font-weight:600}.audit-technical-details[open] summary{margin-bottom:10px}.audit-metadata{border:1px solid var(--border-lighter);background:var(--bg-color);border-radius:6px;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:2px 0 0;padding:12px;display:grid}.audit-metadata div{min-width:0}.audit-metadata dt{color:var(--text-muted);text-transform:capitalize;margin-bottom:3px;font-size:.75rem}.audit-metadata dd{overflow-wrap:anywhere;margin:0;font-size:.86rem}.audit-empty-state{min-height:180px;color:var(--text-muted);text-align:center;place-content:center;justify-items:center;gap:10px;display:grid}.dashboard-filters{flex-wrap:wrap;justify-content:space-between;margin:-20px 0 28px}.segmented-control{border:1px solid var(--border-light);background:var(--input-bg);border-radius:10px;padding:4px}.segmented-control button{min-height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 12px;font-weight:600}.segmented-control button.is-active{background:var(--primary-color);color:#fff}.plan-calendar-board{border:1px solid var(--border-light);background:var(--input-bg);border-radius:12px;margin-bottom:18px;overflow:hidden}.plan-calendar-toolbar{border-bottom:1px solid var(--border-lighter);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.plan-calendar-toolbar h3,.plan-calendar-toolbar p{margin:0}.plan-calendar-toolbar h3{text-transform:capitalize;font-size:1.05rem}.plan-calendar-toolbar p{margin-top:2px;font-size:.84rem}.plan-calendar-nav{gap:8px;display:inline-flex}.plan-calendar-nav button{border:1px solid var(--border-lighter);background:var(--card-bg);width:36px;height:36px;color:var(--text-color);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.plan-calendar-nav button:hover{background:var(--hover-bg)}.plan-calendar-weekdays,.plan-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.plan-calendar-weekdays{border-bottom:1px solid var(--border-lighter)}.plan-calendar-weekdays span{color:var(--text-muted);text-align:center;padding:10px;font-size:.78rem;font-weight:700}.plan-calendar-day{border:0;border-right:1px solid var(--border-lighter);border-bottom:1px solid var(--border-lighter);min-height:96px;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;flex-direction:column;gap:6px;padding:10px;display:flex;position:relative}.plan-calendar-day:nth-child(7n){border-right:0}.plan-calendar-day:hover{background:var(--hover-bg)}.plan-calendar-day.is-muted{opacity:.42}.plan-calendar-day.is-selected{background:#3b82f61f;box-shadow:inset 0 0 0 1px #3b82f68c}.plan-calendar-day-number{font-size:.9rem;font-weight:700}.plan-calendar-events{gap:4px;min-width:0;display:grid}.plan-event-pill{text-overflow:ellipsis;white-space:nowrap;border-radius:6px;padding:4px 6px;font-size:.73rem;font-weight:700;display:block;overflow:hidden}.plan-event-meal{color:var(--primary-color);background:#3b82f629}.plan-event-exercise{color:#a855f7;background:#a855f729}.plan-event-cardio{color:#14b8a6;background:#14b8a629}.plan-event-pill.is-complete{opacity:.6;text-decoration:line-through}.plan-calendar-list{border:1px solid var(--border-light);background:var(--input-bg);border-radius:12px;gap:12px;padding:16px;display:grid}.plan-calendar-list-empty{text-align:center;color:var(--text-muted);padding:32px 16px;font-size:.9rem}.plan-list-item{border:1px solid var(--border-lighter);background:var(--card-bg);border-radius:8px;gap:8px;padding:12px;display:grid}.plan-list-item-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.plan-list-item-title{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.plan-list-item-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.plan-list-item-badge.meal{color:var(--primary-color);background:#3b82f629}.plan-list-item-badge.exercise{color:#a855f7;background:#a855f729}.plan-list-item-badge.cardio{color:#14b8a6;background:#14b8a629}.plan-list-item-actions{align-items:center;gap:6px;display:flex}.plan-list-item-actions button{background:var(--border-light);width:28px;height:28px;color:var(--text-color);cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.plan-list-item-actions button:hover{background:var(--hover-bg)}.plan-list-item-actions button.is-danger:hover{color:var(--danger-color);background:#ef444424}.plan-list-item-details{color:var(--text-muted);gap:4px;padding-left:24px;font-size:.85rem;display:grid}.plan-list-item-details p{font-size:inherit;color:inherit;margin:0}.plan-list-item-details strong{color:var(--text-color)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}:root[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}@media (width<=1024px){.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-form-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users-table-head,.admin-user-row{grid-template-columns:minmax(240px,1.2fr) minmax(120px,.5fr) minmax(150px,.7fr) 84px}.audit-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-actions{grid-column:1/-1;justify-content:flex-end}.audit-table-header,.audit-log-row{grid-template-columns:minmax(135px,.7fr) minmax(180px,1fr) minmax(160px,.9fr) 42px}.audit-table-header span:nth-child(4),.audit-target-cell{display:none}}@media (width<=768px){.main-content{margin-left:88px;padding:24px 16px}.dashboard-filters{margin-top:0}.segmented-control{width:100%;overflow-x:auto}.segmented-control button{white-space:nowrap;flex:1}.admin-page-header{align-items:flex-start}.admin-nav-tabs{gap:22px;overflow-x:auto}.admin-nav-tabs button{white-space:nowrap;flex:none}.admin-section-header{align-items:center}.admin-list-toolbar,.admin-library-toolbar{flex-direction:column;align-items:stretch}.admin-list-toolbar select,.admin-library-toolbar .admin-search-control{flex-basis:auto;width:100%;max-width:none}.admin-library-tabs{overflow-x:auto}.admin-library-tabs button{white-space:nowrap;flex:1;justify-content:center}.admin-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-users-table-head{display:none}.admin-user-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:14px 8px}.admin-user-identity,.admin-role-badge,.admin-user-trainer{grid-column:1}.admin-row-actions{grid-area:1/2/span 3;align-self:center}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-form{grid-template-columns:1fr}.audit-filter-actions{grid-column:auto}.audit-filter-actions .btn{flex:1;justify-content:center}.audit-table-header{display:none}.audit-log-row{grid-template-columns:1fr auto;gap:8px 12px}.audit-log-row time,.audit-event-cell,.audit-log-row>.audit-user-cell{grid-column:1}.audit-expand-button{grid-area:1/2/span 4}.audit-target-cell{display:block}.audit-metadata{grid-column:1/-1}.clients-desktop-table{display:none}.clients-mobile-list{display:block}.plan-calendar-toolbar{flex-direction:column;align-items:flex-start}.plan-calendar-nav{justify-content:space-between;width:100%}.plan-calendar-day{min-height:72px;padding:4px}.plan-event-pill{padding:2px 4px;font-size:.65rem}}@media (width<=480px){.main-content{margin-left:0;padding-bottom:80px}.sidebar-collapsed .main-content{margin-left:0}.admin-page-header{flex-direction:row}.admin-page-header h1{font-size:1.65rem}.admin-refresh-button{width:42px;padding:0}.admin-refresh-button span{display:none}.admin-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-stat-card{gap:9px;padding:12px}.admin-stat-icon{flex-basis:36px;width:36px;height:36px}.admin-nav-tabs{gap:18px}.admin-nav-tabs small{display:none}.admin-section-header{flex-direction:column;align-items:flex-start}.admin-section-header .btn{width:100%}.admin-library-grid{grid-template-columns:1fr}.admin-library-tabs button{padding:0 9px}.admin-library-tabs button svg{display:none}.admin-form-grid-compact{grid-template-columns:1fr}}.itp-panel{margin-bottom:24px}.itp-panel:hover{transform:none}.itp-header{align-items:center;gap:14px;margin-bottom:20px;display:flex}.itp-header-icon{width:40px;height:40px;color:var(--danger-color);background:#ef44441f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.itp-title{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700}.itp-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:.82rem}.itp-count-badge{min-width:28px;height:28px;color:var(--danger-color);background:#ef444424;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 8px;font-size:.8rem;font-weight:700;display:inline-flex}.itp-list{flex-direction:column;gap:10px;display:flex}.itp-client{border:1px solid var(--border-light);background:var(--card-bg);border-radius:14px;transition:border-color .25s,box-shadow .25s;overflow:hidden}.itp-client:hover{border-color:#ffffff1f}.itp-client.is-open{border-color:#6366f14d;box-shadow:0 4px 24px #6366f114}.itp-client-trigger{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:14px;padding:14px 18px;transition:background .2s;display:flex}.itp-client-trigger:hover{background:var(--hover-bg)}.itp-avatar{background:var(--primary-gradient);color:#fff;letter-spacing:.5px;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8rem;font-weight:700;display:flex;overflow:hidden}.itp-client-info{flex:1;min-width:0}.itp-client-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;display:block;overflow:hidden}.itp-client-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.itp-missing-pill{color:var(--danger-color);background:#ef44441f;border-radius:999px;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.itp-type-dot{color:var(--text-muted);align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.itp-type-dot:before{content:"";background:var(--dot-color,var(--text-muted));border-radius:50%;width:6px;height:6px;display:inline-block}.itp-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}.itp-chevron.is-rotated{transform:rotate(180deg)}.itp-details{padding:0 18px 16px;animation:.25s ease-out itpSlideDown}@keyframes itpSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.itp-task-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:14px;display:grid}.itp-task-card{border:1px solid var(--border-lighter);border-left:3px solid var(--task-accent,var(--primary-color));background:#ffffff08;border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .2s,border-color .2s;display:flex}.itp-task-card:hover{border-color:var(--border-light);border-left-color:var(--task-accent,var(--primary-color));background:#ffffff0f}.itp-task-icon{background:color-mix(in srgb, var(--task-accent,var(--primary-color)) 14%, transparent);width:30px;height:30px;color:var(--task-accent,var(--primary-color));border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.itp-task-body{flex:1;min-width:0}.itp-task-body strong{white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.88rem;font-weight:600;display:block;overflow:hidden}.itp-task-body span{color:var(--text-muted);font-size:.76rem;line-height:1.4}.itp-detail-link{color:var(--primary-color);align-items:center;gap:6px;padding:6px 0;font-size:.82rem;font-weight:600;text-decoration:none;transition:gap .2s,opacity .2s;display:inline-flex}.itp-detail-link:hover{opacity:.85;gap:10px}@media (width<=640px){.itp-task-grid{grid-template-columns:1fr}.itp-client-trigger{padding:12px 14px}.itp-avatar{width:34px;height:34px;font-size:.72rem}}.measurement-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;margin-bottom:24px;display:grid}@media (width>=640px){.measurement-grid{grid-template-columns:repeat(4,1fr)}}.measurement-grid>div{border:1px solid var(--border-color);background:#ffffff08;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;transition:transform .2s,border-color .2s;display:flex}.measurement-grid>div:hover{border-color:var(--primary-color);background:#ffffff0d;transform:translateY(-2px)}.measurement-grid span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:500}.measurement-grid strong{color:var(--text-color);background:var(--primary-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.compact-list{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.compact-list-row{border-left:3px solid var(--primary-color);background:#0003;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.9rem;display:flex}.compact-list-row span{color:var(--text-muted)}.compact-list-row strong{color:var(--text-color);font-weight:600}.measurement-chart{border-top:1px dashed var(--border-color);align-items:flex-end;gap:12px;height:140px;padding-top:20px;padding-bottom:8px;display:flex;overflow-x:auto}.measurement-chart::-webkit-scrollbar{height:4px}.measurement-chart::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.measurement-chart-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:40px;height:100%;display:flex}.measurement-chart-bar>div{background:var(--primary-gradient);opacity:.85;border-radius:6px 6px 0 0;width:100%;max-width:32px;transition:opacity .2s,height .5s ease-out}.measurement-chart-bar:hover>div{opacity:1}.measurement-chart-bar span{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.fc-theme-standard th{color:var(--text-color,#f8fafc);background:0 0;border-color:#ffffff1a;padding:8px 0}.fc-theme-standard td,.fc-theme-standard th{border-color:#ffffff1a}.fc .fc-col-header-cell-cushion{color:var(--text-color,#f8fafc);text-decoration:none}.meal-event-main{transition:transform .2s,box-shadow .2s;background:linear-gradient(135deg,#4f46e5 0%,#6366f1 100%)!important;border:none!important;border-radius:8px!important;box-shadow:0 4px 12px #4f46e540!important}.meal-event-snack{transition:transform .2s,box-shadow .2s;background:linear-gradient(135deg,#10b981 0%,#34d399 100%)!important;border:none!important;border-radius:8px!important;box-shadow:0 4px 12px #10b98140!important}.meal-event-main:hover,.meal-event-snack:hover{transform:translateY(-2px);z-index:5!important;box-shadow:0 6px 16px #0000004d!important}.fc-theme-standard th,.fc-theme-standard td,.fc-scrollgrid,.fc-scrollgrid-section-header>th{border-color:#ffffff14!important}.fc-theme-standard th{background:#ffffff08!important;padding:12px 0!important}.fc .fc-col-header-cell-cushion{color:var(--text-color,#f8fafc)!important;padding:4px 8px!important;font-weight:600!important}.fc .fc-timegrid-slot-label-cushion{color:var(--text-muted)!important;font-weight:500!important}.fc .fc-timegrid-now-indicator-line,.fc .fc-timegrid-now-indicator-arrow{border-color:var(--primary-color)!important}.fc-theme-standard .fc-timegrid-slot{height:3cqmin!important}
