:root,[data-theme=dark]{--bg: #0c0e1a;--bg-secondary: #151829;--bg-hover: #1c2038;--bg-input: #1a1e32;--primary: #7c5cfc;--primary-hover: #6a4ae8;--primary-soft: rgba(124, 92, 252, .12);--accent: #00d4aa;--accent-soft: rgba(0, 212, 170, .12);--text: #e8eaf4;--text-secondary: #7e82a0;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .12);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--transition: .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--bg: #f3f4f8;--bg-secondary: #ffffff;--bg-hover: #ecedf3;--bg-input: #ffffff;--primary: #6c4de0;--primary-hover: #5b3dcf;--primary-soft: rgba(108, 77, 224, .08);--accent: #00b894;--accent-soft: rgba(0, 184, 148, .08);--text: #1a1d2e;--text-secondary: #6b6f84;--border: #e2e4ef;--border-strong: #d0d3e0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .1);--success: #059669;--success-soft: rgba(5, 150, 105, .08);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .08);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .08)}*,*:before,*:after{box-sizing:border-box}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1,h2,h3,h4,h5,h6{line-height:1.25;font-weight:700}a{transition:color var(--transition),opacity var(--transition)}img{max-width:100%;height:auto}.layout{display:flex;flex-direction:column;min-height:100vh}.layout-header{display:flex;justify-content:space-between;align-items:center;padding:0 1.5rem;height:60px;background:var(--bg-secondary);border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50}.layout-header-left{display:flex;align-items:center;gap:1.25rem;min-width:0}.header-logo{height:32px;width:auto;display:block}.layout-logo{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;flex-shrink:0}.layout-logo-text{font-weight:700;color:var(--primary);font-size:1rem;letter-spacing:-.01em}.layout-header h1{margin:0;font-size:1.125rem;color:var(--primary)}.layout-main{flex:1;padding:1.5rem;max-width:1200px;width:100%;margin:0 auto}.layout-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.app-footer{padding:1rem 1.5rem;text-align:center;font-size:.8125rem;color:var(--text-secondary);border-top:1px solid var(--border)}.app-footer a{color:var(--primary);text-decoration:none}.app-footer a:hover{text-decoration:underline}.app-footer-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem}.app-footer-sep{color:var(--text-secondary);opacity:.6}.app-footer-pwa-link{background:none;border:none;padding:0;font:inherit;font-size:inherit;color:var(--primary);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.app-footer-pwa-link:hover:not(:disabled){color:var(--primary-hover, var(--primary))}.app-footer-pwa-link:disabled{opacity:.7;cursor:wait}.app-footer-pwa--installed{color:var(--text-secondary);display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem}.app-footer-pwa-check{color:var(--success, #22c55e);font-weight:700}.pwa-help-modal{max-width:26rem;width:calc(100% - 2rem);text-align:left}.pwa-help-modal h3{margin:0 0 .75rem;font-size:1.125rem}.pwa-help-lead{margin:0 0 1rem;font-size:.9rem;color:var(--text-secondary);line-height:1.45}.pwa-help-list{margin:0 0 1rem;padding-left:1.1rem;font-size:.875rem;line-height:1.45;color:var(--text-secondary)}.pwa-help-list li{margin-bottom:.85rem}.pwa-help-list li strong{display:block;color:var(--text-primary);margin-bottom:.25rem}.pwa-help-note{margin:0 0 1rem;font-size:.8rem;color:var(--text-secondary);line-height:1.4}.pwa-help-close{width:100%}.student-layout--workout-exec .app-footer{padding-bottom:calc(5.75rem + env(safe-area-inset-bottom,0px))}.student-layout--workout-exec .app-footer-ticket-link{font-weight:600}@media (max-width: 768px){.student-layout--workout-exec .app-footer{font-size:.875rem}.student-layout--workout-exec .app-footer-ticket-link,.student-layout--workout-exec .app-footer-links>a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}.admin-nav,.professor-nav,.student-nav{display:flex;align-items:center;gap:.25rem}.admin-nav a,.professor-nav a,.student-nav a{color:var(--text-secondary);text-decoration:none;font-size:.875rem;font-weight:500;padding:.375rem .75rem;border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap}.admin-nav a:hover,.professor-nav a:hover,.student-nav a:hover{color:var(--text);background:var(--bg-hover)}.admin-nav a.active,.professor-nav a.active,.student-nav a.active{color:var(--primary);background:var(--primary-soft);font-weight:600}.theme-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition)}.theme-toggle:hover{background:var(--primary-soft);color:var(--primary);border-color:var(--primary)}.academy-select,.context-switcher{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-hover);border:1px solid var(--border);color:var(--text);padding:.5rem 2rem .5rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;min-width:140px;transition:all var(--transition);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%237e82a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.25em;font-family:inherit}.academy-select:hover,.context-switcher:hover{border-color:var(--primary)}.academy-select:focus,.context-switcher:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition);font-family:inherit;box-shadow:0 2px 8px #7c5cfc40}.btn-primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 16px #7c5cfc59;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:transparent;color:var(--primary);border:1px solid var(--primary);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition);font-family:inherit}.btn-secondary:hover:not(:disabled){background:var(--primary-soft)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition);font-family:inherit}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-ghost{background:transparent;color:var(--text-secondary);border:none;cursor:pointer;padding:.375rem .5rem;border-radius:var(--radius-sm);transition:all var(--transition);font-family:inherit}.btn-ghost:hover:not(:disabled){color:var(--primary);background:var(--primary-soft)}.btn-logout{background:transparent;border:1px solid var(--border);color:var(--text-secondary);padding:.5rem .875rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all var(--transition);font-family:inherit}.btn-logout:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.btn-icon{background:transparent;border:1px solid var(--border);color:var(--text-secondary);width:2rem;height:2rem;padding:0;cursor:pointer;border-radius:var(--radius-sm);font-size:.8125rem;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition);margin-right:2px}.btn-icon:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--border-strong)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.login-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 140px);padding:2rem}.login-card{width:100%;max-width:420px;padding:3rem 2.5rem;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center}.login-logo{width:200px;height:auto;margin-bottom:2rem}.login-page form{display:flex;flex-direction:column;gap:1rem}.login-input{padding:.875rem 1rem;font-size:.9375rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);outline:none;transition:all var(--transition);font-family:inherit}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.login-input::placeholder{color:var(--text-secondary)}.login-btn{padding:.875rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all var(--transition);font-family:inherit;box-shadow:0 2px 8px #7c5cfc4d}.login-btn:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 16px #7c5cfc66;transform:translateY(-1px)}.login-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.login-message{margin-top:1rem;font-size:.875rem;font-weight:500}.login-message.success{color:var(--success)}.login-message.error{color:var(--danger)}.login-message.loading{color:var(--text-secondary)}.login-tabs{display:flex;gap:0;margin-bottom:1.5rem;background:var(--bg-input);border-radius:var(--radius-md);padding:4px;border:1px solid var(--border)}.login-tab{flex:1;padding:.625rem 1rem;border:none;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:600;cursor:pointer;border-radius:calc(var(--radius-md) - 2px);transition:all var(--transition);font-family:inherit}.login-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px #7c5cfc4d}.login-tab:not(.active):hover{color:var(--text)}.login-code-section{display:flex;flex-direction:column;align-items:center;gap:1rem}.login-code-hint{color:var(--text-secondary);font-size:.8125rem;margin:0 0 .5rem;line-height:1.4}.login-code-inputs{display:flex;gap:.5rem;justify-content:center}.login-code-input{width:44px;height:52px;text-align:center;font-size:1.25rem;font-weight:700;font-family:SF Mono,Fira Code,monospace;border:2px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);outline:none;transition:all var(--transition);text-transform:uppercase}.login-code-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.login-code-input:disabled{opacity:.5}.auth-relay-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 140px);padding:2rem}.auth-relay-card{width:100%;max-width:420px;padding:2.5rem 2rem;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center}.auth-relay-logo{width:80px;height:80px;border-radius:16px;margin-bottom:1.25rem}.auth-relay-card h2{font-size:1.375rem;margin:0 0 .5rem;color:var(--success)}.auth-relay-name{color:var(--text-secondary);font-size:.9375rem;margin:0 0 1.75rem}.auth-relay-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.auth-relay-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all var(--transition);text-decoration:none;font-family:inherit;border:none}.auth-relay-btn.primary{background:var(--primary);color:#fff;box-shadow:0 2px 8px #7c5cfc4d}.auth-relay-btn.primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.auth-relay-btn.secondary{background:var(--bg-input);color:var(--text);border:1px solid var(--border)}.auth-relay-btn.secondary:hover{border-color:var(--primary);color:var(--primary)}.auth-relay-hint{font-size:.75rem;color:var(--text-secondary);line-height:1.5;margin:0}.pwa-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 8px 32px #0000004d;z-index:10000;max-width:440px;width:calc(100% - 2rem);animation:pwa-slide-up .3s ease}@keyframes pwa-slide-up{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.pwa-toast-content{display:flex;align-items:center;gap:.5rem;flex:1;font-size:.875rem;font-weight:500;color:var(--text)}.pwa-toast-actions{display:flex;gap:.5rem;flex-shrink:0}.pwa-btn-update{padding:.375rem .875rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background var(--transition)}.pwa-btn-update:hover{background:var(--primary-hover)}.pwa-btn-dismiss{padding:.375rem .75rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-md);font-size:.8125rem;cursor:pointer;font-family:inherit;transition:all var(--transition)}.pwa-btn-dismiss:hover{color:var(--text);border-color:var(--text-secondary)}.pwa-offline-ready{border-color:var(--success)}.pwa-offline-ready span{color:var(--success);font-weight:500}.pwa-install{border-color:var(--primary)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.error-boundary{padding:3rem 2rem;text-align:center}.error-boundary button{margin-top:1rem;padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-family:inherit;font-weight:600}.auth-callback-error{padding:3rem 2rem;text-align:center}.auth-callback-error a{color:var(--primary)}.placeholder-page{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.admin-form-page h2{margin-bottom:1.5rem}.admin-form{max-width:520px}.form-field{margin-bottom:1.25rem}.form-field label{display:block;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.form-field input,.form-field textarea,.form-field select{width:100%;padding:.625rem .875rem;font-size:.9375rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);transition:all var(--transition);font-family:inherit}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-field textarea{resize:vertical;min-height:80px}.form-error{color:var(--danger);font-size:.875rem;margin-bottom:1rem;font-weight:500}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.form-hint{font-size:.8125rem;color:var(--text-secondary);margin:-.5rem 0 1rem;max-width:480px}.form-hint-with-action{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-dashboard-header h2{margin:0}.academy-list{display:flex;flex-direction:column;gap:.75rem}.academy-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.academy-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.academy-card-main{display:flex;align-items:center;gap:1rem}.academy-card-logo-wrap{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg);border:1px solid var(--border)}.academy-card-logo{width:100%;height:100%;object-fit:contain}.academy-card-main h3{margin:0 0 .125rem;font-size:1rem}.academy-slug{font-size:.8125rem;color:var(--text-secondary)}.academy-meta{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.academy-card-actions{display:flex;gap:.5rem}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem 2rem;font-size:.9375rem}.academy-detail{max-width:640px}.academy-detail-header{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}.academy-detail-logo-wrap{flex-shrink:0;width:72px;height:72px;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg);border:1px solid var(--border)}.academy-detail-logo{width:100%;height:100%;object-fit:contain}.academy-detail-actions{display:flex;gap:.75rem;margin-bottom:2rem}.academy-detail-section h3{margin:0 0 .5rem;font-size:1rem}.academy-detail-section .text-secondary{color:var(--text-secondary);font-size:.875rem;margin:.5rem 0 0}.add-professor-form{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.add-professor-form input{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);font-family:inherit}.add-professor-form input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.professor-list{list-style:none;padding:0;margin:1rem 0 0}.professor-list-empty{color:var(--text-secondary);font-size:.875rem}.professor-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:.5rem;transition:border-color var(--transition)}.professor-list-item:hover{border-color:var(--border-strong)}.professor-info{display:flex;flex-direction:column}.professor-email{font-size:.8125rem;color:var(--text-secondary)}.branding-form{max-width:560px}.branding-section{margin-bottom:2rem}.branding-section h3{margin-bottom:1rem;font-size:1rem}.color-picker-field{margin-bottom:1rem}.color-picker-field label{display:block;font-size:.8125rem;color:var(--text-secondary);margin-bottom:.375rem;font-weight:500}.color-picker-row{display:flex;gap:.5rem;align-items:center}.color-picker-input{width:48px;height:36px;padding:2px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--bg-input)}.color-picker-text{flex:1;padding:.5rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);font-family:inherit}.logo-upload{margin-top:.5rem}.logo-upload-input{display:none}.logo-preview{margin-bottom:1rem}.logo-preview img{max-width:120px;max-height:80px;object-fit:contain;border-radius:var(--radius-md)}.academy-theme-preview{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.academy-theme-preview h4{margin-bottom:1rem}.theme-preview-cards{display:flex;gap:1rem}.theme-preview-card{flex:1;padding:1rem;border-radius:var(--radius-md);border:2px solid}.error-message{color:var(--danger)}.sync-indicator{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--text-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.sync-indicator .sync-dot{width:7px;height:7px;border-radius:50%;background:var(--text-secondary)}.sync-indicator.sync-online .sync-dot{background:var(--success);box-shadow:0 0 6px #10b98166}.sync-indicator.sync-offline .sync-dot{background:var(--danger)}.sync-indicator.sync-pending .sync-dot,.sync-indicator.sync-syncing .sync-dot{background:var(--warning);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.workout-start-card,.workout-in-progress{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.5rem;text-align:center}.workout-start-card p,.workout-in-progress p{margin:0 0 1rem}.dashboard-subtitle{font-size:.875rem;color:var(--text-secondary);margin:0}.active-sheets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.active-sheet-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:1rem;transition:border-color .15s,box-shadow .15s}.active-sheet-card:hover{border-color:var(--primary);box-shadow:0 4px 16px #6366f11a}.active-sheet-card.next-workout{border-color:var(--primary);border-width:2px}.next-badge{display:inline-block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--primary);color:var(--bg);padding:2px 6px;border-radius:4px;margin-right:6px;vertical-align:middle}.btn-reorder{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.btn-reorder:hover{border-color:var(--primary);color:var(--primary)}.btn-reorder.active{background:var(--primary);color:var(--bg);border-color:var(--primary)}.sheet-reorder-controls{display:flex;align-items:center;gap:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);margin-bottom:.25rem}.sheet-reorder-controls.prof{flex-direction:row;padding-bottom:0;border-bottom:none;margin-bottom:-.5rem;margin-top:-.25rem}.btn-reorder-arrow{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-hover);color:var(--text);cursor:pointer;transition:all .15s;padding:0}.btn-reorder-arrow:hover:not(:disabled){background:var(--primary);color:var(--bg);border-color:var(--primary)}.btn-reorder-arrow:disabled{opacity:.25;cursor:not-allowed}.sheet-order-number{font-size:.8125rem;font-weight:700;color:var(--primary);min-width:24px;text-align:center}.order-badge{display:inline-block;font-size:.6875rem;font-weight:700;color:var(--primary);margin-right:4px}.sheet-order-toolbar{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.sheet-order-hint{font-size:.75rem;color:var(--text-secondary);font-style:italic}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.active-sheet-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.active-sheet-header h3{margin:0;font-size:1.125rem;font-weight:700}.active-sheet-count{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.active-sheet-stats{display:flex;gap:1.5rem}.active-sheet-stat{display:flex;flex-direction:column}.stat-value{font-size:1.125rem;font-weight:700;color:var(--text)}.stat-label{font-size:.6875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.btn-block{display:block;width:100%;text-align:center}.workout-preview{margin-top:1.5rem}.workout-preview h3{margin:0 0 .5rem;font-size:1rem}.workout-preview ul{list-style:none;padding:0;margin:0}.workout-preview li{padding:.25rem 0;color:var(--text-secondary);font-size:.875rem}.workout-preview-group{margin-bottom:1rem}.workout-preview-group .muscle-group-label{margin:0 0 .35rem;font-size:.875rem;color:var(--primary);font-weight:600}.progress-badge{font-size:.8125rem;color:var(--text-secondary)}.workout-active-error-panel{max-width:420px;margin:2rem auto;padding:0 1.25rem;display:flex;flex-direction:column;align-items:stretch;gap:1.25rem;text-align:center}.workout-active-error-panel .error-state{margin:0}.workout-active-page{max-width:640px;margin:0 auto}.workout-active-page--finish-actions{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.workout-actions{display:flex;justify-content:center}.workout-actions--ready{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:640px;padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom,0px));margin:0;background:linear-gradient(to top,var(--bg) 70%,transparent);border-top:1px solid var(--border);box-shadow:0 -8px 32px #00000014;z-index:40;animation:workoutFinishBarIn .45s ease-out}@keyframes workoutFinishBarIn{0%{opacity:0;transform:translate(-50%) translateY(100%)}to{opacity:1;transform:translate(-50%) translateY(0)}}.workout-actions--ready .btn-lg{width:100%;max-width:360px;font-weight:700}.workout-actions--ready .btn-workout-finish{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:3.25rem;padding-left:1.35rem;padding-right:1.35rem;font-size:1.0625rem;letter-spacing:.015em}.workout-actions--ready .btn-workout-finish-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.workout-actions--ready .btn-workout-finish-icon svg{display:block}.workout-actions--plan-complete .btn-workout-finish--complete{position:relative;overflow:hidden;border:none;color:#0f172a;background:linear-gradient(145deg,#fde047,#fbbf24,#f59e0b 70%,#ea580c);background-size:200% 200%;animation:workoutFinishBtnGlow 5s ease-in-out infinite;box-shadow:0 6px 28px #ea580c6b,0 2px 10px #00000024}.workout-actions--plan-complete .btn-workout-finish--complete:hover:not(:disabled){color:#0f172a;background:linear-gradient(145deg,#fef08a,#fcd34d,#fbbf24 70%,#f97316);background-size:200% 200%;filter:brightness(1.02);box-shadow:0 8px 32px #ea580c80,0 2px 12px #00000029;transform:translateY(-1px)}.workout-actions--plan-complete .btn-workout-finish--complete:active:not(:disabled){transform:translateY(0)}@keyframes workoutFinishBtnGlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.workout-actions--plan-pending .btn-workout-finish--early{width:100%;max-width:360px;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-family:inherit;cursor:pointer;transition:all var(--transition);border:2px solid #0f766e;color:#ecfeff;background:linear-gradient(160deg,#2dd4bf,#14b8a6 40%,#0d9488);font-weight:700;box-shadow:0 6px 24px #0d948866,inset 0 1px #fff3}.workout-actions--plan-pending .btn-workout-finish--early:hover:not(:disabled){color:#f0fdfa;background:linear-gradient(160deg,#5eead4,#2dd4bf 40%,#14b8a6);border-color:#115e59;transform:translateY(-1px);box-shadow:0 8px 28px #0d94887a,inset 0 1px #ffffff40}.workout-actions--plan-pending .btn-workout-finish--early:active:not(:disabled){transform:translateY(0)}.workout-active-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem;margin-bottom:1.25rem}.workout-active-header .btn-back-workout{justify-self:start}.workout-active-header .btn-open-timer{justify-self:end}.workout-active-header-main{justify-self:center;min-width:0;max-width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.65rem}.workout-active-header-text{min-width:0;max-width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.1rem}.workout-active-title{margin:0;font-size:1.125rem;font-weight:700;line-height:1.2;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-badge--header{font-size:.78rem;line-height:1.25}.workout-active-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.4rem .5rem;margin-top:.2rem}.btn-add-session-exercise{padding:.4rem .75rem;font-size:.8125rem;font-weight:600;border-radius:var(--radius-md);border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);cursor:pointer;font-family:inherit;transition:all var(--transition)}.btn-add-session-exercise:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 22%,transparent)}.btn-add-session-exercise:disabled{opacity:.45;cursor:not-allowed}.add-session-exercise-overlay{z-index:1100}.add-session-exercise-modal{max-width:min(440px,94vw);max-height:min(86vh,640px);display:flex;flex-direction:column;text-align:left}.add-session-exercise-modal h3{margin:0 0 .35rem;padding-right:2rem}.add-session-exercise-search-label{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.add-session-exercise-search{width:100%;padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.9375rem;font-family:inherit}.add-session-exercise-catalog-actions{margin:.35rem 0 .5rem;display:flex;justify-content:center}.add-session-exercise-list-all{font-size:.8125rem;font-weight:600}.add-session-exercise-list{flex:1;min-height:120px;max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);margin-bottom:.75rem}.add-session-exercise-list-hint{margin:0;padding:1rem;font-size:.875rem;color:var(--text-secondary);text-align:center}.add-session-exercise-ul{list-style:none;margin:0;padding:.25rem}.add-session-exercise-row{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .65rem;margin-bottom:.2rem;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text);font-family:inherit;font-size:.9rem;text-align:left;cursor:pointer;transition:background var(--transition)}.add-session-exercise-row:hover{background:var(--bg-tertiary, rgba(0, 0, 0, .05))}.add-session-exercise-row--selected{background:color-mix(in srgb,var(--primary) 14%,transparent);outline:1px solid var(--primary)}.add-session-exercise-name{font-weight:600}.add-session-exercise-muscle{font-size:.75rem;color:var(--text-secondary)}.add-session-exercise-form{border-top:1px solid var(--border);padding-top:.75rem;margin-top:auto}.add-session-exercise-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:.75rem}.add-session-exercise-fields label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--text-secondary)}.add-session-exercise-fields input{padding:.45rem .5rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.875rem}.add-session-exercise-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}@media (max-width: 380px){.add-session-exercise-fields{grid-template-columns:1fr}}.workout-progress-ring{position:relative;flex-shrink:0;width:52px;height:52px}.workout-progress-ring-svg{display:block}.workout-progress-ring-track{stroke:var(--border-strong, var(--border));opacity:.55}.workout-progress-ring-fill{stroke:var(--primary);transition:stroke-dashoffset .4s ease}.workout-progress-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--text);pointer-events:none;line-height:1}.btn-cancel-workout{margin-top:.3rem;padding:.45rem .95rem;font-size:.74rem;font-weight:700;font-family:inherit;letter-spacing:.01em;color:#fff;background:#dc2626;border:1px solid #b91c1c;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s,transform .1s;box-shadow:0 2px 10px #dc26264d}.btn-cancel-workout:hover{background:#ef4444;border-color:#dc2626;color:#fff;box-shadow:0 3px 14px #dc26266b}.btn-cancel-workout:active{transform:scale(.97);background:#b91c1c;border-color:#991b1b}[data-theme=dark] .btn-cancel-workout{background:#dc2626;border-color:#991b1b;color:#fff;box-shadow:0 2px 14px #dc262673,0 0 0 1px #ffffff0f}[data-theme=dark] .btn-cancel-workout:hover{background:#ef4444;border-color:#dc2626;color:#fff;box-shadow:0 4px 22px #dc26268c,0 0 0 1px #ffffff14}[data-theme=dark] .btn-cancel-workout:active{background:#b91c1c;color:#fff}.workout-by-muscle{margin-bottom:1.5rem}.workout-by-muscle--no-heading .exercise-card-workout:first-child{margin-top:0}.workout-muscle-header{margin:0 0 .75rem;font-size:1rem;color:var(--primary);font-weight:700}.exercise-card-workout{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);padding:1rem 1.25rem;margin-bottom:.75rem;transition:all var(--transition)}.sets-list{display:flex;flex-direction:column;gap:0}@media (max-width: 480px){.exercise-card-workout:not(.exercise-card-collapsed){padding:.85rem .65rem;margin-bottom:.55rem}.exercise-card-top{gap:.65rem;margin-bottom:.5rem}.exercise-card-thumb{width:64px;height:64px}}.exercise-card-done{border-color:var(--success);border-left:3px solid var(--success)}.exercise-card-skipped{border:1px dashed var(--border-strong);background:var(--bg);opacity:.95}.exercise-skipped-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.exercise-skipped-thumb{flex-shrink:0;width:48px;height:48px;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border);background:var(--bg-secondary)}.exercise-skipped-thumb img{width:100%;height:100%;object-fit:contain;display:block}.exercise-skipped-body{flex:1;min-width:0}.exercise-skipped-badge{display:inline-block;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.15rem}.exercise-skipped-title{margin:0;font-size:.9375rem;font-weight:700;line-height:1.2;word-break:break-word}.exercise-skipped-muscle{margin:.15rem 0 0!important}.exercise-skipped-hint{margin:.3rem 0 0;font-size:.72rem;line-height:1.35;color:var(--text-muted, #64748b)}.exercise-skipped-footer{flex:1 1 100%;width:100%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.2rem}.exercise-skipped-reorder-btns{flex-shrink:0}.exercise-unskip-btn{flex-shrink:0;margin-left:0}@media (max-width: 480px){.exercise-skipped-footer{flex-direction:column;align-items:stretch}.exercise-skipped-footer .exercise-reorder-group-inline{justify-content:center}.exercise-unskip-btn{width:100%}}.exercise-card-collapsed{padding:.6rem 1rem;cursor:pointer;border-left:3px solid var(--success);background:var(--success-soft)}.exercise-card-collapsed:hover{background:#10b98126;border-color:var(--success)}.exercise-collapsed-inner{display:flex;flex-direction:column;align-items:stretch;gap:.55rem}.exercise-collapsed-main{display:flex;align-items:flex-start;gap:.75rem;min-width:0;width:100%}.exercise-collapsed-thumb{flex-shrink:0;width:44px;height:44px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg);position:relative}.exercise-collapsed-thumb--done{box-shadow:0 0 0 2px var(--success)}.exercise-collapsed-thumb-check{position:absolute;right:-2px;bottom:-2px;width:18px;height:18px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000040}.exercise-collapsed-thumb img{width:100%;height:100%;object-fit:contain;display:block}.exercise-collapsed-title-row{display:flex;align-items:flex-start;gap:.45rem;min-width:0;width:100%}.exercise-done-icon-circle{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--success);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 5px #10b98173}.exercise-done-icon-circle--lg{width:28px;height:28px}.exercise-collapsed-info{flex:1;display:flex;flex-direction:column;gap:.15rem;min-width:0}.exercise-collapsed-name{flex:1;min-width:0;font-size:.9rem;font-weight:600;color:var(--text);line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word}.exercise-collapsed-done{display:flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:var(--success)}.exercise-collapsed-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;width:100%;padding-top:.1rem;border-top:1px solid rgba(16,185,129,.22)}.exercise-collapsed-actions .btn-secondary.btn-sm{flex:0 1 auto;white-space:nowrap}@media (min-width: 560px){.exercise-collapsed-inner{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.75rem}.exercise-collapsed-main{flex:1;min-width:0}.exercise-collapsed-actions{width:auto;flex-shrink:0;flex-wrap:nowrap;justify-content:flex-end;padding-top:0;border-top:none}}.exercise-redo-section{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border-strong)}.exercise-redo-label{font-size:.78rem;font-weight:600;color:var(--warning);margin:0 0 .35rem}.exercise-redo-hint{font-size:.72rem;line-height:1.35;color:var(--text-muted, #64748b);margin:0 0 .6rem}.exercise-card-top{display:flex;gap:1rem;margin-bottom:.75rem}.exercise-card-thumb{flex-shrink:0;width:80px;height:80px;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:1px solid var(--border);background:var(--bg)}.exercise-card-thumb img{width:100%;height:100%;object-fit:contain;display:block}.exercise-card-info{flex:1;min-width:0}.exercise-card-title-block{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;margin-bottom:.25rem}.exercise-card-title-block h3{margin:0;font-size:1rem;font-weight:700;line-height:1.2;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;flex:1 1 auto;min-width:0}.exercise-done-pill{font-size:.625rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .45rem;border-radius:var(--radius-sm);background:var(--success);color:#fff;line-height:1.2;flex-shrink:0}.exercise-target-done-mark{font-weight:700;color:var(--success)}.exercise-muscle{margin:0 0 .25rem;font-size:.75rem;color:var(--text-secondary)}.exercise-target{margin:0;font-size:.8125rem;color:var(--text-secondary)}.exercise-card-actions-top{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.375rem}.exercise-card-actions-icons{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.exercise-card-actions-text{display:flex;flex-direction:column;gap:.35rem;width:100%}.exercise-card-actions-text .btn-secondary.btn-sm{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:2.25rem;padding:.35rem .5rem;font-size:.8125rem;box-sizing:border-box}.exercise-card-actions-pair{display:flex;flex-direction:row;align-items:stretch;gap:.28rem;width:100%}.exercise-card-actions-pair .btn-secondary.btn-sm{flex:1 1 0;min-width:0;min-height:2rem;padding:.26rem .3rem;font-size:.7rem;font-weight:600;line-height:1.15;gap:.2rem}.exercise-card-actions-pair .btn-aparelho-ocupado{justify-content:center}.exercise-card-actions-pair .exercise-aparelho-icon svg{width:14px;height:14px}.exercise-card-actions-pair .exercise-aparelho-label{display:block;text-align:center;font-size:.68rem;line-height:1.15;word-break:break-word}.exercise-aparelho-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary);filter:drop-shadow(0 0 6px rgba(99,102,241,.35))}.exercise-aparelho-label{line-height:1.2;text-align:left}@media (max-width: 380px){.exercise-aparelho-label{font-size:.75rem}}@media (min-width: 560px){.exercise-card-actions-top{flex-direction:row;flex-wrap:wrap;align-items:center}.exercise-card-actions-icons{flex:0 1 auto}.exercise-card-actions-text{display:flex;flex-direction:row;flex-wrap:wrap;flex:1 1 auto;min-width:0;width:auto;gap:.45rem;align-items:center}.exercise-card-actions-pair{width:auto;flex:0 1 auto;min-width:0;gap:.4rem}.exercise-card-actions-pair .btn-secondary.btn-sm{flex:0 1 auto;min-width:min(148px,40vw);min-height:2.25rem;padding:.35rem .5rem;font-size:.8125rem}.exercise-card-actions-pair .exercise-aparelho-icon svg{width:16px;height:16px}.exercise-card-actions-pair .exercise-aparelho-label{font-size:.8125rem;text-align:left}}.exercise-reorder-group{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.exercise-reorder-group-inline{flex-direction:row;gap:4px;align-items:center}.exercise-reorder-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.btn-icon-sm.exercise-timer-btn{background:var(--accent);color:#fff;box-shadow:0 2px 8px #00d4aa59}.btn-icon-sm.exercise-timer-btn:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 3px 12px #00d4aa73}.btn-icon-sm.exercise-retract-btn{background:var(--success);color:#fff;box-shadow:0 2px 8px #10b98159}.btn-icon-sm.exercise-retract-btn:hover:not(:disabled){filter:brightness(1.06);box-shadow:0 3px 12px #10b98173}.btn-icon-sm{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:var(--primary);color:#fff;cursor:pointer;font-size:.875rem;transition:all .15s;box-shadow:0 2px 6px #6366f14d}.btn-icon-sm:hover{background:var(--primary-hover);box-shadow:0 3px 10px #6366f166}.exercise-detail-modal{max-width:480px;text-align:center;position:relative}.modal-close-btn{position:absolute;top:.75rem;right:.75rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.875rem;color:var(--text-secondary);transition:all .15s;z-index:1}.modal-close-btn:hover{background:var(--bg);color:var(--text)}.exercise-detail-img-wrap{position:relative;width:100%;max-height:320px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem;background:var(--bg);display:flex;align-items:center;justify-content:center}.exercise-detail-img-wrap img{width:100%;max-height:320px;object-fit:contain}.exercise-photo-carousel{position:relative;width:100%;min-height:200px}.exercise-photo-carousel.single .exercise-photo-slide img{width:100%;max-height:320px;object-fit:contain}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#00000080;color:#fff;cursor:pointer;transition:background .2s}.carousel-arrow:hover{background:#000000b3}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-slides{position:relative;width:100%}.exercise-photo-slide{position:relative;display:flex;align-items:center;justify-content:center}.exercise-photo-carousel:not(.single) .exercise-photo-slide{display:none}.exercise-photo-carousel:not(.single) .exercise-photo-slide.active{display:flex}.exercise-photo-slide img{width:100%;max-height:320px;object-fit:contain}.carousel-delete-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ef4444e6;color:#fff;cursor:pointer;transition:transform .15s}.carousel-delete-btn:hover{transform:scale(1.1)}.exercise-detail-modal .carousel-delete-btn{top:auto;right:auto;bottom:12px;left:12px;z-index:3}.carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:8px}.carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--border);cursor:pointer;padding:0;transition:background .2s}.carousel-dot.active{background:var(--primary)}.exercise-detail-modal h3{margin:0 0 .5rem;font-size:1.25rem}.exercise-detail-muscle{display:inline-block;font-size:.75rem;font-weight:600;background:var(--accent-soft);color:var(--accent);padding:.2rem .625rem;border-radius:var(--radius-sm);margin-bottom:.5rem}.exercise-detail-target{font-size:.875rem;color:var(--text-secondary);margin:.5rem 0 0}.exercise-detail-instructions{text-align:left;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.exercise-detail-instructions h4{margin:0 0 .5rem;font-size:.8125rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.exercise-detail-instructions p{margin:0;font-size:.875rem;line-height:1.6;color:var(--text);white-space:pre-line}.exercise-detail-no-instructions{margin-top:1rem;font-size:.8125rem;color:var(--text-secondary);font-style:italic}.student-note-badge{display:inline-flex;align-items:center;color:var(--warning, #f59e0b);cursor:pointer;margin-left:-2px}.student-notes-section{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.student-notes-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.student-notes-header h4{margin:0;font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:.375rem;color:var(--text)}.student-notes-hint{font-size:.6875rem;color:var(--text-secondary);font-style:italic;background:var(--bg-hover);padding:2px 8px;border-radius:999px}.student-notes-view{display:flex;flex-direction:column;gap:.5rem}.student-notes-text{margin:0;font-size:.8125rem;color:var(--text);background:var(--bg-hover);padding:.625rem .75rem;border-radius:var(--radius-md);cursor:pointer;line-height:1.5;white-space:pre-wrap}.student-notes-text:hover{background:var(--bg-secondary)}.student-notes-empty{margin:0;font-size:.8125rem;color:var(--text-secondary);font-style:italic;cursor:pointer;padding:.5rem 0}.student-notes-edit{display:flex;flex-direction:column;gap:.5rem}.student-notes-textarea{width:100%;min-height:60px;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);color:var(--text);font-size:.8125rem;font-family:inherit;resize:vertical;line-height:1.5}.student-notes-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #6366f126}.student-notes-edit-actions{display:flex;gap:.5rem}.student-notes-photo{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.student-notes-photo-preview{position:relative;display:inline-block;max-width:200px}.student-notes-photo-preview img{width:100%;border-radius:var(--radius-md);border:1px solid var(--border)}.student-notes-photo-preview .btn-danger-sm{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:#ef4444e6;color:#fff;cursor:pointer;padding:0;transition:transform .15s}.student-notes-photo-preview .btn-danger-sm:hover{transform:scale(1.1)}.student-notes-upload-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.student-notes-upload-btn{display:inline-flex;align-items:center;gap:.375rem;cursor:pointer}.student-notes-uploading{font-size:.8125rem;color:var(--text-secondary);font-style:italic}.set-row{display:flex;flex-direction:column;gap:.625rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.set-row:last-child{border-bottom:none}.set-row.completed{opacity:.55}.set-row.set-row-completed-compact.completed{opacity:1;padding:.35rem 0;gap:0}.set-row-completed-compact .set-row-compact-toggle{display:flex;align-items:center;justify-content:space-between;gap:.35rem;width:100%;margin:0;padding:.45rem .35rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);font:inherit;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.set-row-completed-compact .set-row-compact-toggle:hover{background:var(--bg-secondary);border-color:var(--primary-soft)}.set-row-compact-main{display:flex;align-items:center;gap:.35rem;min-width:0;flex:1}.set-number--compact{flex-shrink:0;font-size:.72rem}.set-row-compact-check{flex-shrink:0;display:flex;color:var(--success)}.set-row-compact-stats{flex:1;min-width:0;font-size:.8rem;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-row-compact-chevron{flex-shrink:0;display:flex;align-items:center;color:var(--text-secondary);opacity:.85}.set-row-collapse-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:background .12s,color .12s}.set-row-collapse-btn:hover{background:var(--primary-soft);color:var(--primary)}.set-row-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.set-row-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.625rem}@media (max-width: 480px){.set-row-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:.35rem;align-items:start}.set-row{gap:.4rem;padding:.55rem 0}.set-field{gap:.15rem;min-width:0}.set-field-label{font-size:.6rem;letter-spacing:.03em;line-height:1.15;min-height:2.4em;display:flex;align-items:flex-end}.set-row .weight-input{font-size:.95rem;padding:.25rem .2rem;min-height:40px;height:40px;box-sizing:border-box}.set-row .stepper-input{min-height:40px;height:40px;box-sizing:border-box}.set-row .stepper-btn{width:28px;flex:0 0 28px;align-self:stretch;height:auto;min-height:0;font-size:.95rem}.set-row .stepper-value{font-size:.95rem;min-width:1.35rem}.set-row .rpe-selector-disabled,.set-row .rpe-trigger{min-height:40px;height:40px;max-height:40px;padding:.2rem .3rem;font-size:.75rem;box-sizing:border-box}.set-row .rpe-selector-disabled{height:40px}.rpe-placeholder{font-size:.65rem}.btn-complete-set{padding:.55rem .65rem;font-size:.8125rem}.set-done-actions{gap:.35rem}}.set-field{display:flex;flex-direction:column;gap:.25rem}.set-field-label{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.set-field-hint{font-size:.6875rem;color:var(--accent)}.set-row-weight-hint{margin:0;font-size:.65rem;color:var(--accent);line-height:1.3}.set-row .weight-input{width:100%;padding:.5rem;font-size:1.125rem;text-align:center;border:2px solid var(--primary);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);font-weight:700;font-family:inherit;transition:all var(--transition)}.set-row .weight-input:focus{outline:none;box-shadow:0 0 0 3px var(--primary-soft)}.stepper-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-input)}.stepper-btn{display:flex;align-items:center;justify-content:center;width:36px;height:38px;border:none;background:var(--bg-secondary);color:var(--text);font-size:1.125rem;font-weight:700;cursor:pointer;transition:background .12s;font-family:inherit;-webkit-user-select:none;user-select:none}.stepper-btn:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.stepper-btn:disabled{opacity:.35;cursor:default}.stepper-value{flex:1;text-align:center;font-size:1.125rem;font-weight:700;color:var(--text);min-width:2rem;font-variant-numeric:tabular-nums}.rpe-selector{position:relative}.rpe-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.375rem .5rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);cursor:pointer;font-family:inherit;font-size:.875rem;gap:.375rem;transition:border-color .15s;height:38px}.rpe-trigger:hover{border-color:var(--primary)}.rpe-placeholder{color:var(--text-secondary);font-size:.75rem}.rpe-arrow{font-size:.5rem;color:var(--text-secondary)}.rpe-badge,.rpe-badge-sm{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.6875rem;font-weight:800;flex-shrink:0}.rpe-badge-sm{width:22px;height:22px;font-size:.625rem}.rpe-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;max-height:280px;overflow-y:auto;padding:.375rem}.rpe-dropdown-title{font-size:.6875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:.375rem .5rem .25rem}.rpe-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;font-family:inherit;font-size:.8125rem;transition:background .1s;text-align:left}.rpe-option:hover{background:var(--primary-soft)}.rpe-option.selected{background:var(--primary-soft);font-weight:600}.rpe-option-desc{flex:1}.rpe-selector-disabled{display:flex;align-items:center;justify-content:center;height:38px}.btn-complete-set{width:100%;padding:.625rem;font-size:.9375rem;font-weight:700;border-radius:var(--radius-md)}.exercise-bulk-complete-wrap{margin:0 0 .85rem}.btn-complete-all-pending{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.55rem 1rem;font-size:.8125rem;font-weight:600;font-family:inherit;line-height:1.25;color:var(--text);background:var(--warning-soft);border:2px dashed var(--warning);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,border-color .15s,transform .1s}.btn-complete-all-pending:hover{background:#f59e0b33;border-color:var(--warning)}.btn-complete-all-pending:active{transform:scale(.99)}.btn-complete-all-pending-icon{display:flex;flex-shrink:0;color:var(--warning)}.set-done-actions{display:flex;flex-direction:column;align-items:center;gap:.375rem}.set-done-badge{text-align:center;font-size:.8125rem;font-weight:600;color:var(--success);padding:.125rem 0 0}.btn-uncomplete-set{padding:.35rem .75rem;font-size:.8125rem;font-weight:600;color:var(--primary);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);cursor:pointer;font-family:inherit;transition:background var(--transition),border-color var(--transition)}.btn-uncomplete-set:hover{background:var(--primary-soft);border-color:var(--primary)}.set-number{font-weight:700;font-size:.875rem;color:var(--text)}.rest-timer-minimized-bar{position:fixed;top:0;left:0;right:0;z-index:210;display:flex;align-items:center;gap:.75rem;padding:calc(.5rem + env(safe-area-inset-top,0px)) .75rem .5rem;background:var(--primary);color:#fff;box-shadow:0 4px 20px #00000040;font-weight:700;animation:fadeIn .2s ease}.rest-timer-minimized-icon{display:flex;flex-shrink:0;opacity:.9}.rest-timer-minimized-center{flex:1;min-width:0;text-align:center;font-variant-numeric:tabular-nums;font-size:1.25rem;letter-spacing:.02em}.rest-timer-minimized-paused{font-weight:600;font-size:.8125rem;opacity:.85}.rest-timer-minimized-time{font-size:1.35rem}.rest-timer-minimized-expand{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:none;border-radius:var(--radius-md);background:#fff3;color:#fff;cursor:pointer;transition:background .15s}.rest-timer-minimized-expand:hover{background:#ffffff59}.rest-timer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.rest-timer-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 3rem;background:var(--primary);color:#fff;border-radius:var(--radius-xl);font-size:1.5rem;font-weight:700;min-width:260px;box-shadow:0 12px 48px #7c5cfc99}.rest-timer-card.done{background:var(--success);box-shadow:0 12px 48px #10b98199}.rest-timer-progress{position:absolute;top:0;left:0;height:4px;width:var(--progress);background:#ffffff80;transition:width 1s linear}.rest-timer-time{font-size:3rem;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rest-timer-actions{display:flex;gap:.75rem;align-items:center}.btn-rest-action{padding:.5rem 1rem;background:#fff3;border:none;border-radius:var(--radius-md);color:#fff;font-size:1.125rem;cursor:pointer;font-family:inherit;transition:background .15s}.btn-rest-action:hover{background:#ffffff59}.btn-rest-close{font-size:1rem}.rest-timer-config{display:flex;flex-direction:column;align-items:center;gap:.75rem}.rest-timer-config-title{font-size:.9375rem;font-weight:600;opacity:.85;text-transform:uppercase;letter-spacing:.05em}.rest-timer-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.rest-preset-btn{padding:.5rem .75rem;background:#ffffff26;border:2px solid transparent;border-radius:var(--radius-md);color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.rest-preset-btn:hover{background:#ffffff4d}.rest-preset-btn.active{border-color:#fff;background:#ffffff4d}.btn-rest-cancel:hover{background:#ffffff4d}.rest-timer-custom-input{display:flex;gap:.5rem;align-items:center;width:100%;max-width:220px}.rest-custom-seconds{flex:1;padding:.5rem .75rem;border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-md);background:#ffffff1a;color:#fff;font-size:.9375rem;font-weight:600;font-family:inherit;text-align:center}.rest-custom-seconds::placeholder{color:#ffffff80;font-weight:400;font-size:.75rem}.rest-custom-seconds:focus{border-color:#fff;outline:none}.rest-timer-next-exercise{display:flex;align-items:center;gap:.75rem;background:#ffffff1f;padding:.625rem 1rem;border-radius:var(--radius-md);width:100%;max-width:280px}.rest-timer-next-img{width:44px;height:44px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.2)}.rest-timer-next-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.rest-timer-next-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.7}.rest-timer-next-name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-back-workout{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text);cursor:pointer;padding:0;transition:all .15s;flex-shrink:0}.btn-back-workout:hover{background:var(--bg-hover);border-color:var(--primary)}.btn-open-timer{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--primary);border-radius:50%;background:#6366f11a;color:var(--primary);cursor:pointer;padding:0;transition:all .15s;flex-shrink:0}.btn-open-timer:hover{background:var(--primary);color:#fff}.finish-prompt-modal{text-align:center;max-width:360px}.finish-prompt-modal h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--success)}.finish-prompt-modal p{margin:0 0 1.25rem;color:var(--text-secondary);font-size:.9375rem}.finish-prompt-actions{display:flex;flex-direction:column;gap:.5rem}.aparelho-choice-modal{text-align:center;max-width:340px}.aparelho-choice-p{margin:0 0 1.25rem;color:var(--text-secondary);font-size:.9375rem}.aparelho-choice-buttons{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.btn-text{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;padding:.25rem;font-family:inherit}.btn-text:hover{color:var(--text)}.btn-notes-inline{gap:.25rem}.rest-timer-toggles{display:flex;flex-direction:column;gap:.625rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.15)}.rest-toggle-row{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.rest-toggle-label{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.875rem;font-weight:500}.rest-toggle-hint{font-size:.6875rem;opacity:.5;font-weight:400}.toggle-switch{position:relative;width:44px;height:24px;border-radius:12px;background:#fff3;border:none;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle-switch.on{background:var(--primary, #00FFD1)}.toggle-switch.disabled{opacity:.4;cursor:not-allowed}.toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px #0000004d}.toggle-switch.on .toggle-thumb{transform:translate(20px)}.workout-summary{text-align:center;padding:2rem}.workout-summary-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;overflow:hidden}.workout-summary-card{position:relative;z-index:2;background:var(--bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--border);padding:2.5rem 2rem;max-width:400px;width:90%;text-align:center;box-shadow:var(--shadow-lg);animation:workoutSummaryCardIn .5s cubic-bezier(.34,1.2,.64,1)}@keyframes workoutSummaryCardIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.workout-summary-celebrate{margin:0 0 .35rem;font-size:1.75rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(120deg,var(--primary),#f59e0b,#ec4899,var(--primary));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:celebrateShine 3s linear infinite}@keyframes celebrateShine{to{background-position:200% center}}.celebration-fireworks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;overflow:hidden}.celebration-fireworks--subtle{opacity:.82;filter:saturate(.92)}.fw-burst-root{position:absolute;width:0;height:0;transform:translate(-50%,-50%)}.fw-ray{position:absolute;left:0;top:0;width:5px;height:5px;margin-left:-2.5px;margin-top:-2.5px;border-radius:50%;background:hsl(var(--fw-hue),92%,60%);box-shadow:0 0 6px 2px hsla(var(--fw-hue),92%,55%,.85),0 0 14px 4px hsla(var(--fw-hue),92%,50%,.35);animation:fw-ray-out 2.6s ease-out infinite;will-change:transform,opacity}@keyframes fw-ray-out{0%{transform:rotate(var(--fw-angle)) translate(0) scale(1);opacity:0}12%{opacity:1}55%{opacity:.85}to{transform:rotate(var(--fw-angle)) translate(var(--fw-dist)) scale(.15);opacity:0}}.workout-summary-card h2{margin:0 0 1.5rem}.workout-summary-stats{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.workout-summary-stat{display:flex;flex-direction:column}.workout-summary-stat .stat-value{font-size:1.75rem;font-weight:800;color:var(--primary)}.workout-summary-stat .stat-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.workout-summary-message{margin:0 0 1.5rem;color:var(--text-secondary)}.workout-summary-motivation-loading{margin:0 0 1.5rem;font-size:.95rem;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:.65rem;min-height:2.75rem;flex-wrap:wrap}.workout-summary-motivation-dots{display:inline-flex;gap:5px;align-items:center}.workout-summary-motivation-dots:before,.workout-summary-motivation-dots:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);opacity:.35;animation:workoutMotivDot 1.1s ease-in-out infinite}.workout-summary-motivation-dots:after{animation-delay:.2s}.workout-summary-motivation-loading:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);opacity:.35;animation:workoutMotivDot 1.1s ease-in-out .4s infinite}@keyframes workoutMotivDot{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.workout-summary-motivation-ai{margin:0 0 1.5rem;font-size:1.08rem;font-weight:700;line-height:1.5;text-align:center;color:var(--primary);text-shadow:0 0 28px rgba(99,102,241,.4);animation:workoutMotivEntrance .65s cubic-bezier(.22,1,.36,1) forwards,workoutMotivGlow 3.2s ease-in-out infinite;animation-delay:0s,.55s}@keyframes workoutMotivEntrance{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes workoutMotivGlow{0%,to{text-shadow:0 0 20px rgba(99,102,241,.35);filter:brightness(1)}50%{text-shadow:0 0 36px rgba(167,139,250,.55);filter:brightness(1.08)}}.ficha-ocr-flow{max-width:800px}.ficha-ocr-flow h2,.ocr-step{margin-bottom:1.5rem}.upload-input-hidden{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden}.upload-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.upload-error{color:var(--danger);font-size:.875rem;margin:0;font-weight:500}.upload-camera .camera-preview{width:100%;max-width:640px;border-radius:var(--radius-md);background:#000}.camera-canvas-hidden{display:none}.upload-thumbnails{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;align-items:flex-start}.upload-thumb{position:relative}.upload-thumb img{max-width:160px;max-height:120px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border)}.upload-thumb-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.upload-add-more,.upload-process{align-self:flex-end}.upload-skip-frente{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;cursor:pointer;font-size:.875rem;color:var(--text-secondary)}.upload-slot{margin-bottom:1.5rem;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary)}.upload-slot-title{margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.upload-slot-actions{display:flex;gap:.5rem;flex-wrap:wrap}.upload-slot .upload-thumb{margin-top:.75rem}.upload-process-wrap{margin-top:1rem}.upload-camera-hint{margin:0 0 .5rem;font-size:.8125rem;color:var(--text-secondary)}.ocr-preview-images{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.ocr-preview-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.ocr-preview-image{margin-bottom:1rem}.ocr-preview-image img{max-width:100%;max-height:200px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border)}.ocr-form-name{margin-bottom:1.25rem}.ocr-form-name label{display:block;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.ocr-form-name input{width:100%;max-width:320px;padding:.625rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-family:inherit;transition:all var(--transition)}.ocr-form-name input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ocr-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.ocr-review-table{width:100%;border-collapse:collapse}.ocr-order-cell{white-space:nowrap;width:1%}.ocr-review-table th,.ocr-review-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border);font-size:.875rem}.ocr-review-table th{color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.ocr-review-table select{min-width:200px;padding:.4rem .5rem;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:inherit}.ocr-review-table input[type=number]{width:4rem;padding:.4rem;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:inherit}.ocr-review-table input[type=text]{width:6rem;padding:.4rem;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:inherit}.ocr-review-table select:focus,.ocr-review-table input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.ocr-unmatched{font-size:.75rem;color:var(--text-secondary);margin-left:.5rem}.ocr-groups-hint{font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem}.ocr-group-block{margin-bottom:1rem;padding:1.25rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color var(--transition)}.ocr-group-block:hover{border-color:var(--border-strong)}.ocr-group-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.ocr-group-check{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600}.ocr-group-header input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--primary)}.ocr-group-title-wrap{flex:1;display:flex;align-items:center;gap:.5rem;min-width:200px}.ocr-group-title-input{flex:1;min-width:180px;padding:.5rem .75rem;font-size:.9375rem;font-weight:600;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);font-family:inherit;transition:all var(--transition)}.ocr-group-title-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ocr-group-title-input::placeholder{color:var(--text-secondary)}.ocr-group-color-badge{font-size:.6875rem;padding:.2rem .5rem;background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500}.ocr-group-count{font-size:.8125rem;font-weight:400;color:var(--text-secondary)}.ocr-actions{display:flex;gap:1rem;margin-top:1.5rem}.ocr-empty-groups{margin-bottom:1.5rem}.ocr-saving-progress h3{margin:0 0 1rem}.ocr-progress-bar-wrap{position:relative;height:28px;background:var(--bg-hover);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.ocr-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .3s ease;border-radius:var(--radius-md)}.ocr-progress-pct{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ocr-progress-logs{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.ocr-progress-log{padding:.35rem 0;font-size:.8125rem}.ocr-progress-log--ok{color:var(--success)}.ocr-progress-log--error{color:var(--danger)}.ocr-progress-log--running{color:var(--text-secondary)}.exercise-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.exercise-list-header h2{margin:0}.exercise-list-header-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.bulk-reload-buttons{display:flex;align-items:center;gap:.5rem}.bulk-reload-progress{margin-bottom:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border)}.bulk-reload-progress-bar{height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden;margin-bottom:.5rem}.bulk-reload-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:width .2s;border-radius:3px}.bulk-reload-progress-text{margin:0;font-size:.8125rem;color:var(--text-secondary)}.bulk-reload-report{margin-bottom:1.5rem;padding:1.25rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border)}.bulk-reload-report h4{margin:0 0 .75rem;font-size:1rem}.bulk-reload-report ul{margin:0 0 .75rem;padding-left:1.25rem;max-height:200px;overflow-y:auto}.bulk-reload-report li{margin-bottom:.25rem;font-size:.8125rem}.bulk-reload-report li.report-ok{color:var(--success)}.bulk-reload-report li.report-erro{color:var(--danger)}.exercise-list-filters{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.include-inactive-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-secondary);cursor:pointer}.muscle-group-filter{margin-bottom:0}.muscle-group-filter label{margin-right:.5rem;font-size:.8125rem;color:var(--text-secondary);font-weight:500}.muscle-group-filter select{padding:.5rem .75rem;border-radius:var(--radius-md);background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:inherit}.muscle-group-filter select:focus{outline:none;border-color:var(--primary)}.exercise-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.exercise-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.exercise-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.exercise-card-actions{display:flex;gap:.375rem;flex-shrink:0}.exercise-card-link{flex:1;display:flex;align-items:center;gap:1rem;text-decoration:none;color:inherit}.exercise-thumb-wrap{width:56px;height:56px;position:relative;flex-shrink:0}.exercise-thumb-wrap .exercise-thumb,.exercise-thumb-wrap .exercise-thumb-placeholder{position:absolute;left:0;top:0}.exercise-thumb{width:56px;height:56px;object-fit:cover;border-radius:var(--radius-md)}.exercise-thumb-placeholder{width:56px;height:56px;background:var(--bg-hover);border-radius:var(--radius-md)}.exercise-card-main h3{margin:0 0 .125rem;font-size:.9375rem}.exercise-meta{font-size:.8125rem;color:var(--text-secondary)}.exercise-source-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.exercise-source-badge{display:inline-block;font-size:.6875rem;font-weight:600;padding:.15rem .5rem;border-radius:var(--radius-sm);margin-top:.25rem;text-transform:uppercase;letter-spacing:.03em}.exercise-source-badge.source-exercisedb{background:var(--accent-soft);color:var(--accent)}.exercise-source-badge.source-library{background:#6366f126;color:#818cf8}.exercise-source-badge.source-manual{background:var(--success-soft);color:var(--success)}.exercise-source-badge.source-none{background:var(--bg-hover);color:var(--text-secondary)}.badge-inactive{margin-left:.5rem;font-size:.6875rem;font-weight:600;padding:.15rem .5rem;background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.exercise-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.exercise-detail-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.back-link{color:var(--primary);text-decoration:none;font-size:.875rem;font-weight:500}.back-link:hover{text-decoration:underline}.exercise-detail-content{display:flex;gap:2rem;flex-wrap:wrap}.exercise-detail-image{flex-shrink:0;display:flex;flex-direction:column;gap:.75rem}.exercise-detail-image img{max-width:280px;max-height:280px;object-fit:contain;border-radius:var(--radius-lg)}.exercise-detail-image-empty{min-width:200px;padding:1rem;border:1px dashed var(--border);border-radius:var(--radius-lg);justify-content:center;color:var(--text-secondary)}.exercise-image-upload{display:inline-flex}.exercise-image-actions{display:flex;flex-direction:column;gap:.4rem}.exercise-custom-hint{font-size:.72rem;color:var(--text-secondary);font-style:italic;margin:0;opacity:.85}.exercise-instructions-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.exercise-instructions-header h3{margin:1.5rem 0 .5rem;font-size:1rem}.exercise-instructions-edit{display:flex;flex-direction:column;gap:.5rem}.exercise-instructions-edit .form-textarea{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;font-size:.875rem;resize:vertical;font-family:inherit;line-height:1.5}.exercise-instructions-edit .form-textarea:focus{border-color:var(--primary);outline:none}.exercise-instructions-edit-actions{display:flex;gap:.5rem}.exercise-detail-info h1{margin:0 0 .5rem}.exercise-detail-info h3{margin:1.5rem 0 .5rem;font-size:1rem}.exercise-equivalents ul{list-style:none;padding:0}.exercise-equivalents li{margin-bottom:.25rem}.exercise-equivalents a{color:var(--primary);text-decoration:none}.exercise-equivalents a:hover{text-decoration:underline}.loading-state,.error-state{padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.error-state{color:var(--danger)}.dashboard-header,.student-list-header,.sheet-list-header,.sheet-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.dashboard-header h2,.student-list-header h2,.sheet-list-header h2,.sheet-detail-header h2{margin:0}.sheet-list-header .back-link,.sheet-detail-header .back-link{display:block;margin-bottom:.5rem}.sheet-list-actions{display:flex;gap:.75rem;align-items:center}.student-cards{display:flex;flex-direction:column;gap:.75rem}.student-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.student-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.student-card-main h3{margin:0 0 .125rem}.student-email{font-size:.8125rem;color:var(--text-secondary)}.adherence-badge{display:inline-block;font-size:.6875rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm);margin-top:.375rem;text-transform:uppercase;letter-spacing:.03em}.adherence-badge.adherence-verde{background:var(--success-soft);color:var(--success)}.adherence-badge.adherence-amarelo{background:var(--warning-soft);color:var(--warning)}.adherence-badge.adherence-vermelho{background:var(--danger-soft);color:var(--danger)}.sheet-items-list{list-style:none;padding:0;margin:0}.sheet-item-row{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.sheet-item-order{width:1.5rem;font-weight:700;color:var(--text-secondary);text-align:center}.sheet-item-main{flex:1}.sheet-item-meta{font-size:.8125rem;color:var(--text-secondary);margin-left:.5rem}.sheet-form-items{list-style:none;padding:0;margin:.5rem 0 0}.sheet-form-item-order{display:flex;gap:2px;margin-right:.5rem}.sheet-form-item-order .btn-icon{width:1.5rem;height:1.5rem;font-size:.7rem}.sheet-form-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.sheet-form-item select{min-width:180px;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-family:inherit}.sheet-form-item input[type=number],.sheet-form-item input[type=text]{width:80px;padding:.5rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-input);color:var(--text);font-family:inherit}.sheet-form-item select:focus,.sheet-form-item input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-xl);padding:2rem;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-content h3{margin:0 0 .5rem}.confirm-modal-overlay{z-index:1200}.confirm-modal-content{position:relative;padding:1.5rem 1.5rem 1.25rem;max-width:min(420px,92vw)}.confirm-modal-close{position:absolute;top:.5rem;right:.5rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md, 8px);background:transparent;color:var(--text-secondary);font-size:1.125rem;line-height:1;cursor:pointer}.confirm-modal-close:hover{background:var(--bg-tertiary, rgba(0, 0, 0, .06));color:var(--text-primary)}.confirm-modal-title{margin:0 0 .65rem;font-size:1.1rem;padding-right:2rem}.confirm-modal-message{margin:0 0 1.25rem;font-size:.9375rem;line-height:1.45;color:var(--text-secondary);white-space:pre-line}.confirm-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.confirm-modal-btn-danger{background:var(--danger, #dc2626);border-color:transparent}.confirm-modal-btn-danger:hover{filter:brightness(1.08)}.modal-hint{font-size:.8125rem;color:var(--text-secondary);margin:0 0 1rem}.reload-modal-form .modal-checkbox{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;cursor:pointer;font-size:.875rem}.reload-modal-form .modal-error{color:var(--danger);font-size:.875rem;margin:0 0 .5rem}.reload-modal-form .modal-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:flex-end}.modal-close-btn{position:absolute;top:1rem;right:1rem;background:var(--bg-hover);border:1px solid var(--border);font-size:1.25rem;line-height:1;cursor:pointer;color:var(--text-secondary);padding:.375rem;border-radius:var(--radius-sm);width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.modal-close-btn:hover{color:var(--text);background:var(--bg-hover);border-color:var(--border-strong)}.invite-modal .invite-modal-actions,.access-code-modal .invite-modal-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.access-code-modal{text-align:center}.access-code-student-name{color:var(--text-secondary);font-size:.875rem;margin:0 0 1rem}.access-code-display{display:flex;align-items:center;justify-content:center;gap:.75rem;margin:1rem 0}.access-code-value{font-family:SF Mono,Fira Code,Courier New,monospace;font-size:2rem;font-weight:800;letter-spacing:.3em;color:var(--primary);background:var(--bg-input);padding:.75rem 1.5rem;border-radius:var(--radius-md);border:2px dashed var(--primary)}.access-code-empty{color:var(--text-secondary);font-style:italic;font-size:.875rem}.access-code-hint{color:var(--text-secondary);font-size:.75rem;margin:.75rem 0 0;line-height:1.4}.substitute-list{list-style:none;padding:0;margin:1rem 0}.substitute-list li{margin-bottom:.5rem;padding:.5rem .75rem;background:var(--bg-hover);border-radius:var(--radius-sm)}.substitute-source{font-size:.75rem;color:var(--text-secondary);margin-top:1rem}.create-load-sheet-modal{max-width:640px;position:relative}.create-load-options{margin-bottom:1rem}.create-load-buttons{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.load-sheet-list{margin-top:.5rem}.load-sheet-list ul{list-style:none;padding:0;margin:.5rem 0 0}.load-sheet-list li{margin-bottom:.5rem}.load-sheet-btn{width:100%;text-align:left;justify-content:flex-start}.create-load-actions{display:flex;gap:.75rem;margin-top:1rem;justify-content:flex-end}.cycle-alert{background:var(--primary-soft);border:1px solid rgba(124,92,252,.2);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.ai-sheet-preview{list-style:none;padding:0;margin:1rem 0}.ai-sheet-preview li{padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.ai-sheet-actions{display:flex;gap:1rem;margin-top:1rem}.suggest-weight{margin-top:.75rem;padding:.5rem 0}.suggest-weight-visible{background:var(--primary-soft);border:1px solid rgba(124,92,252,.15);border-radius:var(--radius-md);padding:.75rem 1rem}.suggest-weight-text{margin:0 0 .5rem;font-size:.875rem}.ai-tip-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--primary-soft) 0%,var(--accent-soft) 100%);border:1px solid rgba(124,92,252,.15);border-radius:var(--radius-lg);margin-bottom:1.25rem}.ai-tip-loading .ai-tip-skeleton{color:var(--text-secondary);font-size:.875rem}.ai-tip-icon{font-size:1.25rem;line-height:1;flex-shrink:0}.ai-tip-content{flex:1;min-width:0}.ai-tip-title{display:block;font-size:.6875rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.ai-tip-text{margin:0;font-size:.875rem;line-height:1.5;color:var(--text)}.achievements-page{max-width:560px}.achievements-page h2{margin:0 0 1.5rem}.achievements-list h3{margin:0 0 1rem;font-size:1rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.achievement-badge{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.achievement-badge.unlocked{border-color:var(--primary);background:var(--primary-soft)}.achievement-badge.locked{opacity:.5}.achievement-icon{font-size:1.5rem}.achievement-info{display:flex;flex-direction:column;gap:.125rem}.achievement-info strong{font-size:.875rem}.achievement-date{font-size:.6875rem;color:var(--text-secondary)}.toaster-achievement{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--primary);color:#fff;border-radius:var(--radius-xl);z-index:300;box-shadow:0 8px 32px #7c5cfc80;max-width:90vw}.toaster-achievement strong{display:block;font-size:.9375rem}.toaster-achievement p{margin:.25rem 0 0;font-size:.8125rem;opacity:.9}.toaster-icon{font-size:2rem}.toaster-close{margin-left:auto;background:#fff3;border:none;color:inherit;width:28px;height:28px;border-radius:var(--radius-sm);font-size:1.25rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.toaster-close:hover{background:#ffffff4d}.flash-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);z-index:1000;box-shadow:var(--shadow-md);max-width:90vw;animation:flash-toast-in .25s ease-out;font-weight:500;font-size:.875rem}@keyframes flash-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.flash-toast-success{background:var(--success);color:#fff}.flash-toast-error{background:var(--danger);color:#fff}.flash-toast-close{background:#fff3;border:none;color:inherit;width:24px;height:24px;border-radius:var(--radius-sm);font-size:1.25rem;line-height:1;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.flash-toast-close:hover{background:#ffffff4d}.stats-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;margin-bottom:2rem}.stat-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.125rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);transition:all var(--transition)}.stat-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.stat-card-icon{font-size:1.5rem;line-height:1}.stat-card-content{display:flex;flex-direction:column;min-width:0}.stat-card-value{font-size:1.5rem;font-weight:800;color:var(--primary);line-height:1.2}.stat-card-title{font-size:.75rem;color:var(--text-secondary);margin-top:.125rem;font-weight:500}.stat-card-subtitle{font-size:.6875rem;color:var(--text-secondary);opacity:.8}.stat-card-trend{font-size:.6875rem;margin-top:.25rem;font-weight:600}.stat-card-trend.positive{color:var(--success)}.stat-card-trend.negative{color:var(--danger)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;margin-bottom:2rem}.chart-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.25rem;border:1px solid var(--border)}.chart-card-full{grid-column:1 / -1}.chart-card h3{margin:0 0 .25rem;font-size:.9375rem}.chart-hint{font-size:.75rem;color:var(--text-secondary);margin:0 0 1rem}.chart-container{min-height:200px}.chart-empty{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.ranking-section h3{margin:0 0 1rem;font-size:1rem}.ranking-cards{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.ranking-card{display:flex;flex-direction:column;gap:.125rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);text-decoration:none;color:inherit;min-width:160px;border:1px solid var(--border);transition:all var(--transition)}.ranking-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.ranking-rank{font-size:.6875rem;color:var(--primary);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ranking-name{font-weight:600;font-size:.875rem}.ranking-sessions,.ranking-volume{font-size:.75rem;color:var(--text-secondary)}.student-reports-page,.reports-dashboard{max-width:960px;padding:0 1rem}.reports-header{margin-bottom:1.5rem}.reports-header h1{margin:0 0 .25rem}.reports-subtitle{color:var(--text-secondary);font-size:.875rem;margin:0}.evolution-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.evolution-header-links{display:flex;gap:.5rem;flex-shrink:0}.evolution-month-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.75rem}.evolution-month-card{padding:1rem 1.15rem;background:linear-gradient(135deg,var(--primary-soft) 0%,var(--bg-secondary) 100%);border:1px solid var(--border);border-radius:var(--radius-lg)}.evolution-month-card-muted{background:var(--bg-secondary);opacity:.95}.evolution-month-label{display:block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:.35rem}.evolution-month-value{display:block;font-size:1.5rem;font-weight:800;color:var(--primary);line-height:1.2}.evolution-month-delta{display:block;margin-top:.35rem;font-size:.8125rem;font-weight:600;color:var(--text-secondary)}.evolution-month-delta.positive{color:var(--success)}.evolution-month-delta.negative{color:var(--danger)}.evolution-month-ref{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.evolution-rpe-leaders{margin-bottom:2rem}.evolution-rpe-leaders h3{margin:0 0 .25rem;font-size:1rem}.evolution-rpe-leader-list{list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}.evolution-rpe-leader-item{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .85rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.evolution-rpe-leader-name{font-size:.8125rem;font-weight:600;line-height:1.3}.evolution-rpe-leader-stats{font-size:.75rem;color:var(--text-secondary)}.evolution-rpe-leader-n{opacity:.85}.evolution-top-sessions{margin-bottom:2rem}.evolution-top-sessions h3{margin:0 0 .25rem;font-size:1rem}.evolution-top-sessions-table-wrap{margin-top:.75rem;border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto;background:var(--bg-secondary)}.evolution-top-sessions-table{width:100%;border-collapse:collapse;font-size:.8125rem}.evolution-top-sessions-table th,.evolution-top-sessions-table td{padding:.55rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.evolution-top-sessions-table th{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg)}.evolution-top-sessions-table tbody tr:last-child td{border-bottom:none}.pr-grid-wide{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.pr-muscle{font-size:.625rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.pr-section h3{margin:0 0 1rem}.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.pr-card{padding:.875rem 1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border);display:flex;flex-direction:column;gap:.125rem}.pr-exercise{font-size:.8125rem;font-weight:600}.pr-value{font-size:1.25rem;font-weight:800;color:var(--primary)}.pr-reps,.pr-date{font-size:.6875rem;color:var(--text-secondary)}.evolution-chart{margin-top:2rem;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border)}.evolution-chart h4{margin:0 0 1rem;font-size:1rem}.evolution-series{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.evolution-series:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.evolution-series .muscle-group{font-size:.8125rem;color:var(--text-secondary);margin-left:.25rem}.evolution-series ul{list-style:none;padding:0;margin:.5rem 0 0}.evolution-series li{font-size:.8125rem;color:var(--text-secondary);padding:.25rem 0}.evolution-cta{display:inline-block;margin-bottom:1rem;color:var(--primary);text-decoration:none;font-size:.875rem;font-weight:500}.evolution-cta:hover{text-decoration:underline}.reports-footer{margin-top:2rem}.history-dashboard{padding-bottom:2rem}.history-dashboard-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.history-dashboard-header h1{margin:0 0 .35rem;font-size:1.5rem}.history-dashboard-lead{margin:0;max-width:42rem;font-size:.875rem;color:var(--text-secondary);line-height:1.45}.history-dashboard-link{flex-shrink:0;align-self:center;text-decoration:none;white-space:nowrap}.history-sessions-section{margin-top:2rem;margin-bottom:.5rem}.history-sessions-title{margin:0 0 .25rem;font-size:1.125rem}.history-sessions-table-wrap{margin-top:.75rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);overflow-x:auto}.history-sessions-table{width:100%;border-collapse:collapse;font-size:.8125rem}.history-sessions-table th,.history-sessions-table td{padding:.65rem 1rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.history-sessions-table th{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg)}.history-sessions-table tbody tr:last-child td{border-bottom:none}.history-sessions-table tbody tr:hover td{background:var(--bg)}.history-sheet-cell{display:block;font-weight:600;color:var(--text);line-height:1.35}.history-datetime-cell{color:var(--text-secondary);white-space:nowrap}.history-top-exercises{margin-bottom:2rem}.history-top-exercises h3{margin:0 0 .25rem;font-size:.9375rem}.history-top-exercises-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;margin-top:.75rem}.history-top-exercise-chip{display:flex;flex-direction:column;gap:.125rem;padding:.65rem .85rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md)}.history-top-exercise-name{font-size:.8125rem;font-weight:600;line-height:1.3}.history-top-exercise-count{font-size:.6875rem;color:var(--text-secondary);font-weight:600}.history-pr-section{margin-bottom:2rem}.stat-card--tight-value .stat-card-value{font-size:1rem;line-height:1.25}@media (max-width: 520px){.history-sessions-table th:nth-child(3),.history-sessions-table td:nth-child(3){display:none}}.professor-stats,.ranking-section,.report-stats,.report-charts{margin-bottom:1.5rem}.report-page{max-width:960px}.report-page h2{margin:0 0 1.5rem}.report-summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:2rem}.report-card{display:flex;flex-direction:column;align-items:center;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border)}.report-card strong{font-size:1.5rem;font-weight:800;color:var(--primary)}.report-card span{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;font-weight:500}.report-header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.pwa-install-prompt{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:1000;max-width:380px;width:calc(100% - 2rem)}.pwa-install-content{background:var(--bg-secondary);border:1px solid var(--primary);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-lg)}.pwa-install-icon{font-size:2rem;display:block;margin-bottom:.5rem}.pwa-install-content h3{margin:0 0 .5rem;font-size:1rem}.pwa-install-content p{margin:0 0 1rem;font-size:.8125rem;color:var(--text-secondary)}.pwa-install-actions{display:flex;gap:.5rem}@media print{.report-header-actions .btn-secondary,.layout-header,.student-nav,.professor-nav,.admin-nav,.back-link,.btn-logout,.theme-toggle,.sync-indicator,.app-footer,.context-switcher{display:none!important}.report-print-area{max-width:100%}body{background:#fff;color:#000}}@media (max-width: 768px){.layout-header{padding:0 1rem;height:56px}.layout-main{padding:1rem}.admin-nav,.professor-nav,.student-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.admin-nav::-webkit-scrollbar,.professor-nav::-webkit-scrollbar,.student-nav::-webkit-scrollbar{display:none}.admin-nav a,.professor-nav a,.student-nav a{font-size:.8125rem;padding:.3rem .5rem}.context-switcher{max-width:160px;font-size:.75rem}.layout-header-left{gap:.75rem}.layout-header-right{gap:.375rem}.layout-logo-text{display:none}.stats-cards{grid-template-columns:repeat(2,1fr)}.charts-grid{grid-template-columns:1fr}.exercise-detail-content{flex-direction:column}.exercise-detail-image img{max-width:100%}.academy-card{flex-direction:column;align-items:flex-start;gap:.75rem}.academy-card-actions{align-self:flex-end}.student-card{flex-direction:column;align-items:flex-start;gap:.75rem}.ocr-review-table{display:block;overflow-x:auto}}@media (max-width: 480px){.stats-cards{grid-template-columns:1fr 1fr;gap:.5rem}.stat-card{padding:.75rem}.stat-card-value{font-size:1.25rem}.login-card{padding:2rem 1.5rem}.login-logo{width:160px}.login-code-input{width:38px;height:46px;font-size:1.125rem}.login-code-inputs{gap:.375rem}.pwa-toast{bottom:1rem;flex-wrap:wrap}.achievements-grid{grid-template-columns:1fr}}[data-theme=dark] ::-webkit-scrollbar{width:6px;height:6px}[data-theme=dark] ::-webkit-scrollbar-track{background:transparent}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#fff3}.ocr-review-list{display:flex;flex-direction:column;gap:.5rem}.ocr-review-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-hover);border-radius:var(--radius-md);border:1px solid var(--border);transition:border-color var(--transition)}.ocr-review-item:hover{border-color:var(--border-strong)}.ocr-review-item-thumb{flex-shrink:0;width:52px;height:52px;border-radius:var(--radius-md);overflow:hidden;background:var(--bg-secondary)}.ocr-review-item-thumb img{width:100%;height:100%;object-fit:cover}.ocr-review-item-thumb-empty{width:100%;height:100%;background:var(--bg);display:flex;align-items:center;justify-content:center}.ocr-review-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.ocr-review-item-exercise{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.ocr-review-item-exercise select{min-width:180px;max-width:100%;padding:.375rem .5rem;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:inherit;font-size:.8125rem}.ocr-review-item-exercise select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.ocr-review-muscle{font-size:.6875rem;color:var(--accent);font-weight:500;background:var(--accent-soft);padding:.1rem .4rem;border-radius:var(--radius-sm)}.ocr-review-item-params{display:flex;gap:.75rem}.ocr-review-param{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-secondary)}.ocr-review-param input{width:4rem;padding:.3rem .375rem;border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);border:1px solid var(--border);font-family:inherit;font-size:.8125rem;text-align:center}.ocr-review-param input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.ocr-review-item-actions{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.ocr-btn-open{color:var(--primary)!important;border-color:var(--primary)!important}.ocr-btn-open:hover:not(:disabled){background:var(--primary-soft)!important}.ocr-btn-remove{color:var(--danger)!important;border-color:var(--danger)!important}.ocr-btn-remove:hover:not(:disabled){background:var(--danger-soft)!important}.ocr-student-info{background:var(--primary-soft);border:1px solid rgba(124,92,252,.2);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.25rem}.ocr-student-info h3{margin:0 0 .75rem;font-size:.9375rem;color:var(--primary)}.ocr-student-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.ocr-student-info-item{display:flex;flex-direction:column;gap:.125rem}.ocr-student-info-label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.ocr-student-info-value{font-size:.9375rem;font-weight:500;color:var(--text)}.ocr-student-info-highlight{color:var(--primary);font-weight:700}.ocr-student-info-note{margin:.75rem 0 0;font-size:.75rem;color:var(--text-secondary);font-style:italic}.ocr-exercise-modal{max-width:480px;width:90vw;text-align:center}.ocr-exercise-modal-image{margin-bottom:1rem;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg);display:flex;justify-content:center}.ocr-exercise-modal-image img{max-width:100%;max-height:320px;object-fit:contain}.ocr-exercise-modal h3{margin:0 0 .5rem;font-size:1.25rem}.ocr-exercise-modal-muscle{display:inline-block;font-size:.75rem;font-weight:600;background:var(--accent-soft);color:var(--accent);padding:.2rem .625rem;border-radius:var(--radius-sm);margin-bottom:1rem}.ocr-exercise-modal-instructions{text-align:left;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.ocr-exercise-modal-instructions h4{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.ocr-exercise-modal-instructions p{margin:0;font-size:.875rem;line-height:1.6;color:var(--text);white-space:pre-line}.ocr-exercise-modal-no-instructions{margin-top:1rem;font-size:.8125rem;color:var(--text-secondary);font-style:italic}.sheet-title-row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.sheet-badge{display:inline-block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .625rem;border-radius:var(--radius-sm)}.badge-active{background:#10b98126;color:#10b981}.badge-completed{background:#6366f126;color:var(--primary)}.badge-cancelled{background:#ef44441f;color:#ef4444}.sheet-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;font-size:.8125rem;color:var(--text-secondary);margin-top:.25rem}.sheet-finished{opacity:.7}.cycles-info{font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.section-subtitle{font-size:.9375rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.offline-banner{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#f59e0b1f;color:#f59e0b;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;margin-bottom:1rem}.offline-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;flex-shrink:0;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.offline-pending{opacity:.8}.sync-banner{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;margin-bottom:1rem;text-align:center}.sync-pending{background:#6366f11a;color:var(--primary);border:1px solid rgba(99,102,241,.2)}.sync-done{background:#10b9811a;color:#10b981;border:1px solid rgba(16,185,129,.2);animation:fadeOut 3s ease 2s forwards}@keyframes fadeOut{to{opacity:0;height:0;padding:0;margin:0;overflow:hidden}}.student-extra-info{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;font-size:.8125rem;color:var(--text-secondary);margin-top:.125rem}.student-objective{display:inline-block;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:var(--radius-sm);background:#6366f11f;color:var(--primary)}.student-cpf{font-variant-numeric:tabular-nums}.analytics-page{display:flex;flex-direction:column;gap:1.5rem;padding-bottom:2rem}.analytics-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.analytics-header h2{font-size:1.5rem;font-weight:700;color:var(--text)}.analytics-filter-select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:.5rem 1rem;font-size:.875rem;outline:none;cursor:pointer}.analytics-filter-select:focus{border-color:var(--primary)}.analytics-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:1rem}.analytics-grid .span-2{grid-column:1 / -1}.analytics-section{margin-top:.5rem}.analytics-section-title{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;color:var(--text)}.chart-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;transition:box-shadow var(--transition)}.chart-card:hover{box-shadow:var(--shadow-md)}.chart-card-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem;gap:.5rem}.chart-card-title{font-size:.95rem;font-weight:600;color:var(--text);margin:0}.chart-card-subtitle{font-size:.75rem;color:var(--text-secondary)}.chart-card-body{position:relative;min-height:200px}.chart-card-body canvas{max-height:350px}.rest-stats-card{min-height:auto}.rest-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;padding:.5rem 0}.rest-stat-item{display:flex;flex-direction:column;align-items:center;text-align:center}.rest-stat-value{font-size:1.5rem;font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums}.rest-stat-label{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.heatmap-container{overflow-x:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.heatmap-grid{display:flex;flex-direction:column;gap:2px;min-width:700px}.heatmap-row{display:flex;gap:2px;align-items:center}.heatmap-header-row{margin-bottom:4px}.heatmap-label{width:40px;min-width:40px;font-size:.7rem;font-weight:600;color:var(--text-secondary);text-align:right;padding-right:6px}.heatmap-hour-label{flex:1;text-align:center;font-size:.6rem;color:var(--text-secondary)}.heatmap-cell{flex:1;aspect-ratio:1;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:transform .15s ease;cursor:default;min-height:24px}.heatmap-cell:hover{transform:scale(1.2);z-index:2}.heatmap-cell-val{font-size:.55rem;font-weight:700;color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.4)}.heatmap-legend{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;font-size:.7rem;color:var(--text-secondary)}.heatmap-legend-bar{width:120px;height:10px;border-radius:5px;background:linear-gradient(to right,#7c5cfc1a,#7c5cfc4d,#7c5cfc,#f59e0b,#f97316,#ef4444)}.analytics-table-wrap,.academies-table-wrap{overflow-x:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg)}.analytics-table{width:100%;border-collapse:collapse;font-size:.85rem}.analytics-table thead{background:#7c5cfc0f}.analytics-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border)}.analytics-table td{padding:.65rem 1rem;color:var(--text);border-bottom:1px solid var(--border);vertical-align:middle}.analytics-table tbody tr:hover{background:var(--bg-hover)}.analytics-table tbody tr:last-child td{border-bottom:none}.student-name-cell{display:flex;flex-direction:column;gap:.15rem}.student-name-cell small{font-size:.72rem}.text-muted{color:var(--text-secondary)}.academy-name-cell{font-weight:600}.logs-viewer{display:flex;flex-direction:column;gap:1rem}.logs-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.logs-header h2{font-size:1.5rem;font-weight:700;color:var(--text)}.logs-total{font-size:.85rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.3rem .75rem;border-radius:var(--radius-md);border:1px solid var(--border)}.logs-filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.logs-filter-select{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.85rem;outline:none}.logs-filter-select:focus{border-color:var(--primary)}.logs-filter-input{background:var(--bg-input);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.85rem;outline:none;min-width:180px}.logs-filter-input:focus{border-color:var(--primary)}.logs-filter-input::placeholder{color:var(--text-secondary)}.logs-table-wrap{overflow-x:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg)}.logs-table .logs-date{white-space:nowrap;font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.logs-details{font-size:.78rem;color:var(--text-secondary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-badge{display:inline-block;padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.72rem;font-weight:600;white-space:nowrap}.logs-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 0}.pagination-info{font-size:.85rem;color:var(--text-secondary)}.admin-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.admin-quick-links{display:flex;gap:.5rem;flex-wrap:wrap}@media (max-width: 768px){.analytics-grid{grid-template-columns:1fr}.analytics-grid .span-2{grid-column:auto}.analytics-stats{grid-template-columns:repeat(2,1fr)}.heatmap-container{padding:.75rem}.logs-filters{flex-direction:column}.logs-filter-input{min-width:100%}}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem}@media (max-width: 640px){.form-row-2,.form-row-3{grid-template-columns:1fr}}.form-field-hint{display:block;font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.form-input-disabled{opacity:.5;cursor:not-allowed}.form-input-custom{margin-top:.5rem}.btn-toggle-extra{width:100%;padding:.75rem 1rem;background:var(--bg-hover);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--primary);font-size:.8125rem;font-weight:600;cursor:pointer;font-family:inherit;text-align:left;transition:all var(--transition);margin:.5rem 0}.btn-toggle-extra:hover{background:var(--primary-soft);border-color:var(--primary)}.form-extra-section{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-hover);border-radius:var(--radius-md);border:1px solid var(--border)}.form-extra-section textarea{resize:vertical;min-height:60px}.btn-accent{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;cursor:pointer;text-decoration:none;transition:all var(--transition);font-family:inherit}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 4px 16px #7c5cfc66}.ai-wizard-page{max-width:800px;margin:0 auto;padding:1.5rem 1rem}.ai-wizard-header{margin-bottom:1.5rem}.ai-wizard-header h2{margin:0;font-size:1.5rem}.ai-wizard-subtitle{color:var(--text-secondary);font-size:.875rem;margin:.25rem 0 0}.ai-wizard-steps{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem}.ai-wizard-step-dot{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8125rem;font-weight:700;border:2px solid var(--border);color:var(--text-secondary);background:var(--bg-secondary);transition:all var(--transition)}.ai-wizard-step-dot.active{border-color:var(--primary);background:var(--primary);color:#fff;box-shadow:0 0 12px #7c5cfc66}.ai-wizard-step-dot.done{border-color:var(--success);color:var(--success)}.ai-wizard-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem}.ai-wizard-section h3{margin:0 0 .5rem;font-size:1.125rem}.ai-wizard-hint{color:var(--text-secondary);font-size:.8125rem;margin:0 0 1.25rem}.ai-wizard-actions{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.ai-wizard-warning{padding:.75rem 1rem;background:var(--warning-soft);border:1px solid var(--warning);border-radius:var(--radius-md);color:var(--warning);font-size:.8125rem;margin:1rem 0 0}.btn-link{background:none;border:none;color:var(--primary);text-decoration:underline;cursor:pointer;font-size:inherit;font-family:inherit;padding:0}.ai-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ai-profile-item{background:var(--bg-hover);border-radius:var(--radius-md);padding:.75rem}.ai-profile-item.full{grid-column:1 / -1}.ai-profile-label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.25rem}.ai-profile-value{font-size:.875rem;color:var(--text);font-weight:500}.ai-profile-value.warn{color:var(--warning)}@media (max-width: 640px){.ai-profile-grid{grid-template-columns:1fr 1fr}}.ai-num-selector{display:flex;gap:.375rem;flex-wrap:wrap}.ai-num-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-input);color:var(--text);font-weight:700;font-size:.875rem;cursor:pointer;transition:all var(--transition);font-family:inherit}.ai-num-btn.active{border-color:var(--primary);background:var(--primary);color:#fff}.ai-num-btn:hover:not(.active){border-color:var(--primary)}.ai-workouts-config{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.ai-workout-config-card{background:var(--bg-hover);border-radius:var(--radius-md);padding:1rem;border:1px solid var(--border)}.ai-muscle-chips{display:flex;flex-wrap:wrap;gap:.375rem}.ai-chip{padding:.375rem .75rem;border-radius:100px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:inherit}.ai-chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:600}.ai-chip:hover:not(.active){border-color:var(--text-secondary);color:var(--text)}.ai-chip-empty{color:var(--text-secondary);font-size:.75rem;font-style:italic}.ai-wizard-summary{background:var(--bg-hover);border-radius:var(--radius-md);padding:1rem;margin-top:1rem}.ai-wizard-summary h4{margin:0 0 .5rem;font-size:.875rem}.ai-wizard-summary ul{margin:0;padding:0 0 0 1.25rem;font-size:.8125rem;color:var(--text-secondary);line-height:1.6}.ai-wizard-summary strong{color:var(--text)}.btn-generate{font-size:1rem;padding:.875rem 2rem}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ai-result-card{background:var(--bg-hover);border-radius:var(--radius-md);border:1px solid var(--border);margin-bottom:1rem;overflow:hidden}.ai-result-card-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.ai-result-card-header h4{margin:0;font-size:1rem}.ai-result-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-hover);padding:.25rem .75rem;border-radius:100px}.ai-result-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ai-result-table th{text-align:left;padding:.5rem .75rem;color:var(--text-secondary);font-weight:600;font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border)}.ai-result-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border)}.ai-result-table tr:last-child td{border-bottom:none}.ai-result-card>.btn-secondary{margin:.75rem}::selection{background:var(--primary);color:#fff}
