:root{color:#232323;background:#f7f5f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}a{color:inherit}.login-page,.loading-screen,.access-denied{align-items:center;background:#f7f5f0;display:flex;min-height:100vh;justify-content:center;padding:24px}.login-panel,.access-denied section{background:#fff;border:1px solid #dad6cc;border-radius:8px;box-shadow:0 18px 55px #2323231a;max-width:440px;padding:32px;width:100%}.eyebrow{color:#1f4e4a;font-size:.75rem;font-weight:700;letter-spacing:0;margin:0 0 6px;text-transform:uppercase}h1,h2,p{margin-top:0}h1{font-size:2rem;line-height:1.15;margin-bottom:10px}h2{font-size:1.2rem;line-height:1.25;margin-bottom:8px}.muted,.empty-state p{color:#5f625c}.form-stack{display:grid;gap:18px;margin-top:28px}.field{display:grid;gap:8px}.field span{color:#3e403c;font-size:.9rem;font-weight:700}.field input,.field select,.field textarea{background:#fff;border:1px solid #d8d8d8;border-radius:8px;color:#232323;outline:none;padding:0 14px}.field input,.field select{min-height:48px}.field textarea{min-height:92px;padding-bottom:12px;padding-top:12px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#1f4e4a;box-shadow:0 0 0 3px #1f4e4a24}.field-static-value{align-items:center;background:#f7f5f0;border:1px solid #d8d8d8;border-radius:8px;color:#232323;display:flex;margin:0;min-height:48px;padding:0 14px}.field-help{color:#6f6d64;font-size:.82rem}.error-text{color:#9a3412}.form-error{color:#9a3412;font-size:.9rem;font-weight:700;margin-bottom:0}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.primary-button,.secondary-button,.icon-text-button{align-items:center;border:0;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:44px;padding:0 16px;text-decoration:none}.primary-button{background:#1f4e4a;color:#fff}.primary-button:disabled{cursor:not-allowed;opacity:.65}.secondary-button,.icon-text-button{background:#edf3f1;color:#1f4e4a}.app-shell{background:#f7f5f0;display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid #dad6cc;display:flex;flex-direction:column;gap:28px;padding:22px 16px}.sidebar-brand{align-items:center;display:flex;gap:12px;padding:0 8px}.sidebar-brand div{display:grid;gap:1px}.sidebar-brand span:last-child{color:#6f6d64;font-size:.85rem}.brand-mark{align-items:center;background:#1f4e4a;border-radius:8px;color:#fff;display:inline-flex;font-weight:900;height:38px;justify-content:center;width:38px}.sidebar-nav{display:grid;gap:6px}.sidebar-link{align-items:center;border-radius:8px;color:#3e403c;display:flex;gap:10px;min-height:42px;padding:0 12px;text-decoration:none}.sidebar-link.active,.sidebar-link:hover{background:#edf3f1;color:#1f4e4a}.app-main{min-width:0}.topbar{align-items:center;background:#fff;border-bottom:1px solid #dad6cc;display:flex;justify-content:space-between;min-height:76px;padding:0 28px}.topbar strong{color:#232323;display:block;font-size:.95rem}.content-page{padding:28px}.page-header{align-items:center;display:flex;gap:18px;justify-content:space-between;margin-bottom:24px}.page-header h1{margin-bottom:0}.header-actions{display:flex;gap:12px}.empty-state{background:#fff;border:1px solid #dad6cc;border-radius:8px;padding:28px}.empty-state p{margin-bottom:0;max-width:680px}.module-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.module-card{align-items:flex-start;background:#fff;border:1px solid #dad6cc;border-radius:8px;color:#232323;display:flex;gap:16px;min-height:150px;padding:22px;text-decoration:none}.module-card:hover{border-color:#1f4e4a;box-shadow:0 10px 30px #23232314}.module-card.disabled{color:#6f6d64}.module-card h2,.module-card p{margin-bottom:0}.module-card p{color:#5f625c}.table-panel,.form-panel,.error-panel{background:#fff;border:1px solid #dad6cc;border-radius:8px}.table-panel{overflow-x:auto}table{border-collapse:collapse;min-width:1040px;width:100%}th,td{border-bottom:1px solid #ece7dc;padding:14px 16px;text-align:left;vertical-align:top}th{color:#5f625c;font-size:.78rem;text-transform:uppercase}td{font-size:.92rem}.table-subtext{color:#6f6d64;display:block;font-size:.78rem;margin-top:3px}.table-empty{border:0;border-radius:0}.status-badge{border-radius:999px;display:inline-flex;font-size:.76rem;font-weight:800;margin-bottom:4px;padding:3px 9px}.status-badge.draft{background:#fff7d6;color:#854d0e}.status-badge.published{background:#dcfce7;color:#166534}.status-badge.archived,.status-badge.not_started{background:#eee;color:#525252}.status-badge.in_progress{background:#fff7d6;color:#854d0e}.status-badge.completed{background:#dcfce7;color:#166534}.status-badge.not_ready{background:#fff7d6;color:#854d0e}.status-badge.ready,.status-badge.connected,.status-badge.succeeded{background:#dcfce7;color:#166534}.status-badge.disconnected,.status-badge.skipped{background:#eee;color:#525252}.status-badge.expired,.status-badge.revoked,.status-badge.sync_failed,.status-badge.failed{background:#fee2e2;color:#991b1b}.status-badge.started{background:#dbeafe;color:#1d4ed8}.row-actions{display:flex;gap:8px;justify-content:flex-end}.icon-button{align-items:center;background:#edf3f1;border:0;border-radius:8px;color:#1f4e4a;cursor:pointer;display:inline-flex;height:36px;justify-content:center;width:36px}.icon-button.danger{background:#fff1ed;color:#9a3412}.icon-button:disabled,.icon-button.disabled{cursor:not-allowed;opacity:.4;pointer-events:none}.form-panel{display:grid;gap:20px;max-width:880px;padding:24px}.question-form-panel{max-width:1040px}.compact-form{margin-bottom:24px;max-width:none}.form-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-invite-grid{align-items:end;grid-template-columns:minmax(280px,1fr) 180px auto}.admin-members-table table{min-width:860px}.training-plans-table table{min-width:920px}.users-table table{min-width:1080px}.wearables-table table{min-width:1240px}.assessment-definitions-table table{min-width:1040px}.movement-exercises-table table{min-width:1120px}.movement-prompts-table table{min-width:1040px}.movement-demo-videos-table table{min-width:960px}.exercises-filter-panel{align-items:end;grid-template-columns:minmax(280px,1fr) 180px}.exercises-table table{min-width:1180px}.search-input{align-items:center;background:#fff;border:1px solid #d8d8d8;border-radius:8px;display:flex;min-height:48px;padding:0 12px}.search-input:focus-within{border-color:#1f4e4a;box-shadow:0 0 0 3px #1f4e4a24}.search-input input{border:0;box-shadow:none;flex:1;min-height:0;min-width:0;padding:0 0 0 10px}.search-input input:focus{box-shadow:none}.field select[multiple]{min-height:132px;padding:8px}.field select[multiple] option{border-radius:6px;padding:8px}.recorded-trainings-table{margin-bottom:24px}.recorded-trainings-table .section-heading{padding:8px 16px 18px}.recorded-trainings-table table{min-width:980px}.compact-button{min-height:36px;padding:0 12px}.wide-modal-sheet{max-width:820px}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.selection-pill{background:#fff;border:1px solid #d8d8d8;border-radius:999px;color:#3e403c;cursor:pointer;font:inherit;font-weight:800;min-height:36px;padding:0 12px}.selection-pill.selected{background:#edf3f1;border-color:#1f4e4a;color:#1f4e4a}.admin-members-table select,.training-plans-table select{background:#fff;border:1px solid #d8d8d8;border-radius:8px;color:#232323;min-height:38px;min-width:128px;padding:0 10px}.admin-members-table select:disabled,.training-plans-table select:disabled{background:#f3f1eb;color:#6f6d64;cursor:not-allowed}.checkbox-field{align-items:center;align-self:end;display:inline-flex;font-weight:800;gap:10px;min-height:48px}.checkbox-field input{accent-color:#1f4e4a;height:18px;width:18px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.error-panel{border-color:#fed7aa;color:#9a3412;margin-top:16px;padding:16px}.error-panel p{margin:4px 0 0}.notice-state{margin-bottom:24px}.modal-backdrop{align-items:center;background:#2323236b;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:20}.modal-sheet{background:#fff;border:1px solid #dad6cc;border-radius:8px;box-shadow:0 22px 70px #23232338;max-width:620px;width:100%}.modal-form{display:grid;gap:20px;padding:24px}.video-preview-sheet{max-width:860px}.video-preview-player{aspect-ratio:16 / 9;background:#141414;border-radius:8px;width:100%}.file-picker-row{align-items:center;display:flex;gap:14px}.file-picker-name{color:#5f625c;font-size:.92rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast{align-items:center;background:#fff;border:1px solid #fed7aa;border-radius:8px;box-shadow:0 14px 40px #23232329;color:#9a3412;display:flex;gap:16px;justify-content:space-between;left:50%;max-width:min(560px,calc(100vw - 32px));padding:14px 16px;position:fixed;top:24px;transform:translate(-50%);width:max-content;z-index:30}.toast p{margin:0}.spinner{animation:spin .8s linear infinite;border:3px solid #dad6cc;border-radius:999px;border-top-color:#1f4e4a;height:28px;margin-right:12px;width:28px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #dad6cc;border-right:0}.sidebar-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.topbar,.page-header,.header-actions,.form-grid{align-items:flex-start;flex-direction:column}.form-grid,.header-actions,.exercises-filter-panel{display:flex}.module-grid{grid-template-columns:1fr}.topbar{padding:18px 20px}.content-page{padding:20px}}
