:root{--sidebar-width: 260px;--sidebar-collapsed-width: 70px;--header-height: 64px;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-color: #667eea;--primary-dark: #764ba2;--success-color: #10b981;--warning-color: #f59e0b;--energy-color: #ef4444;--info-color: #3b82f6;--bg-light: #f5f6fa;--text-dark: #2d3748;--text-muted: #718096;--border-color: #e2e8f0;--card-bg: #ffffff;--card-shadow: 0 2px 12px rgba(0, 0, 0, .06);--card-hover-shadow: 0 8px 30px rgba(102, 126, 234, .18);--sidebar-bg: #ffffff;--sidebar-shadow: 2px 0 12px rgba(0, 0, 0, .06);--transition: .25s ease;--input-bg: #ffffff;--input-text: #2d3748;--input-border: #e2e8f0;--input-focus-shadow: 0 0 0 3px rgba(102, 126, 234, .2);--surface-alt: #f8f9fa;--bg-secondary: #f0f0f0}body.dark-theme{--bg-light: #0f1115;--text-dark: #e2e8f0;--text-muted: #94a3b8;--border-color: #2d3748;--card-bg: #1a1d23;--card-shadow: 0 2px 12px rgba(0, 0, 0, .35);--card-hover-shadow: 0 8px 30px rgba(102, 126, 234, .28);--sidebar-bg: #141720;--sidebar-shadow: 2px 0 16px rgba(0, 0, 0, .4);--input-bg: #1e2230;--input-text: #e2e8f0;--input-border: #3a4460;--input-focus-shadow: 0 0 0 3px rgba(102, 126, 234, .3);--surface-alt: #252a36;--bg-secondary: var(--surface-alt);background:#0f1115;color:#e2e8f0}body.dark-theme input,body.dark-theme textarea,body.dark-theme select{background:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}body.dark-theme input::placeholder,body.dark-theme textarea::placeholder{color:var(--text-muted)}body.dark-theme input:focus,body.dark-theme textarea:focus,body.dark-theme select:focus{box-shadow:var(--input-focus-shadow);border-color:var(--primary-color);outline:none}body.dark-theme ::-webkit-scrollbar-track{background:#1a1d23}body.dark-theme ::-webkit-scrollbar-thumb{background:#3a4460}body.dark-theme ::-webkit-scrollbar-thumb:hover{background:#5a6480}body.dark-theme h1,body.dark-theme h2,body.dark-theme h3{color:var(--text-dark)}body.dark-theme .badge,body.dark-theme [class*=badge]{border-color:var(--border-color)}body.dark-theme .skeleton-card,body.dark-theme .skeleton-row,body.dark-theme .skeleton-limits{background:linear-gradient(90deg,#1e2230 25%,#252a36,#1e2230 75%)!important;background-size:200% 100%!important}body.dark-theme .users-table thead th,body.dark-theme .data-table th,body.dark-theme .data-table thead th,body.dark-theme .ops-table th{background:var(--surface-alt);color:var(--text-muted)}body.dark-theme .table-row:hover,body.dark-theme .data-row.clickable:hover,body.dark-theme .data-table tr:hover td,body.dark-theme .ops-table tr:hover td{background:#667eea0f!important}body.dark-theme .badge-status{background:#f59e0b26;color:#fcd34d}body.dark-theme .status-completed{background:#10b9811f;color:#6ee7b7}body.dark-theme .status-skipped{background:#6b728026;color:#d1d5db}body.dark-theme .badge-type{background:#6d28d933;color:#c4b5fd}body.dark-theme .card-completed{background:#10b9810f;border-color:#4ade8040}body.dark-theme .open-workout-banner{background:#f59e0b1a;border-color:#f59e0b4d;border-left-color:#f59e0b;color:#fcd34d}body.dark-theme .import-workout-inner{background:var(--surface-alt);border-color:var(--border-color)}body.dark-theme .limits-bar{background:var(--border-color)}body.dark-theme .limits-warning{background:#f59e0b1a;border-color:#f59e0b40;color:#fcd34d}body.dark-theme .limits-warning-full{background:#ef44441a;border-color:#ef444440;color:#fca5a5}body.dark-theme .alert-error{background:#ef444414;border-color:#ef444440;color:#fca5a5}body.dark-theme .error-state,body.dark-theme .error-message{background:#ef444414;border-color:#ef44444d;color:#fca5a5}body.dark-theme .data-table tr.row-failed td{background:#ef444412}body.dark-theme .key-hint,body.dark-theme .model-hint{background:var(--surface-alt);color:var(--text-muted)}body.dark-theme .error-hint{background:#ef44441f}body.dark-theme .theme-btn.selected{background:#667eea2e;border-color:var(--primary-color);color:var(--primary-color)}body.dark-theme .toggle-track{background:#3a4460}body.dark-theme .input-sm.input-readonly{background:#6366f11a;border-color:#6366f14d}body.dark-theme .operation-pill{background:var(--surface-alt);color:var(--text-muted)}body.dark-theme .user-badge{background:#4338ca33;color:#a5b4fc}body.dark-theme .event-type-tag{background:#6d28d926;color:#c4b5fd}body.dark-theme .bulk-bar{background:var(--card-bg)}body.dark-theme .plan-trial{background:#10b9811f;color:#6ee7b7}body.dark-theme .btn-secondary,body.dark-theme .btn-ghost:hover,body.dark-theme .btn-xs:hover{background:var(--surface-alt);color:var(--text-dark)}body.dark-theme .btn-ghost:hover:not(:disabled),body.dark-theme .btn-danger-ghost:hover:not(:disabled){background:#ef44441f}body.dark-theme .btn-ghost:hover:not(:disabled){background:var(--surface-alt)}body.dark-theme .badge-affiliate{background:#eab3081f;color:#fbbf24}body.dark-theme .badge-can-affiliate{background:#6655cc24;color:#a78bfa}body.dark-theme .btn-action:hover{background:#6655cc1a}body.dark-theme .btn-edit:hover{background:#3b82f61a}body.dark-theme .btn-deactivate:hover,body.dark-theme .btn-retry:hover{background:#ef44441a}body.dark-theme .btn-activate:hover{background:#10b9811a}body.dark-theme .badge-difficulty{background:#ea580c1f;color:#fb923c}body.dark-theme .badge-advanced{background:#e11d481f;color:#f87171}body.dark-theme .error-label{color:#fca5a5}body.dark-theme .error-msg{color:#fecaca}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#fff;min-height:100vh;overflow-x:hidden}app-root{display:block;width:100%;min-height:100vh}h1,h2,h3{color:#2d3748;font-weight:600}button{cursor:pointer;transition:all .3s ease;font-family:inherit}button:hover{box-shadow:0 4px 12px #00000026}button:active{transform:none}button:disabled{cursor:not-allowed;opacity:.6;transform:none!important}input,textarea{font-family:inherit;font-size:14px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease}
