UNPKG

powerhouse-rp-toolkit

Version:

Renaissance Periodization Training Toolkit for PowerHouseATX

683 lines (588 loc) 12 kB
/* Enhanced Advanced Features CSS */ /* Sophisticated styling for next-level training intelligence */ /* === ADVANCED DASHBOARD STYLES === */ .advanced-dashboard { max-width: 1400px; margin: 20px auto; background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); overflow: hidden; position: relative; } .dashboard-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 20px 30px; display: flex; justify-content: space-between; align-items: center; } .dashboard-header h2 { margin: 0; font-size: 1.8em; font-weight: 600; } .dashboard-controls { display: flex; gap: 12px; } .control-btn { background: rgba(255, 255, 255, 0.15); color: white; border: 1px solid rgba(255, 255, 255, 0.3); padding: 8px 16px; border-radius: 8px; font-size: 0.9em; cursor: pointer; transition: all 0.3s ease; backdrop-filter: blur(10px); } .control-btn:hover { background: rgba(255, 255, 255, 0.25); transform: translateY(-2px); } /* === TAB NAVIGATION === */ .dashboard-navigation { background: white; border-bottom: 1px solid #e2e8f0; padding: 0 30px; } .tab-navigation { display: flex; gap: 0; } .tab-btn { background: transparent; border: none; padding: 16px 24px; font-size: 0.95em; font-weight: 500; cursor: pointer; border-bottom: 3px solid transparent; transition: all 0.3s ease; color: #64748b; position: relative; } .tab-btn:hover { color: #3b82f6; background: rgba(59, 130, 246, 0.05); } .tab-btn.active { color: #3b82f6; border-bottom-color: #3b82f6; background: rgba(59, 130, 246, 0.05); } /* === TAB CONTENT === */ .dashboard-content { padding: 30px; min-height: 600px; } .tab-content { display: none; animation: fadeIn 0.4s ease-in-out; } .tab-content.active { display: block; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* === OVERVIEW TAB === */ .overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; } .metric-panel, .chart-panel, .achievements-panel, .action-panel, .status-panel { background: white; border-radius: 12px; padding: 24px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; transition: all 0.3s ease; } .metric-panel:hover, .chart-panel:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1); } .metrics-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 16px; } .metric-card { text-align: center; padding: 20px; background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border-radius: 10px; border: 1px solid #e2e8f0; } .metric-value { font-size: 2.2em; font-weight: 700; color: #1e293b; margin-bottom: 8px; } .metric-label { font-size: 0.9em; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; } /* === ANALYTICS TAB === */ .analytics-grid { display: flex; flex-direction: column; gap: 30px; } .analytics-section { background: white; border-radius: 12px; padding: 30px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; } .analytics-controls { display: flex; gap: 12px; margin-bottom: 20px; flex-wrap: wrap; } .analytics-btn { background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%); color: white; border: none; padding: 10px 18px; border-radius: 8px; font-size: 0.9em; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3); } .analytics-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(59, 130, 246, 0.4); } .chart-container { position: relative; margin-top: 20px; padding: 20px; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; } .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-top: 20px; } .stat-card { background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%); border: 1px solid #bae6fd; border-radius: 10px; padding: 20px; } .stat-card h4 { margin: 0 0 16px 0; color: #0c4a6e; font-size: 1.1em; } /* === WELLNESS TAB === */ .wellness-grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 24px; } .wellness-input-panel { background: white; border-radius: 12px; padding: 30px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; grid-row: span 2; } .wellness-form .form-section { margin-bottom: 24px; padding: 20px; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; } .wellness-form .form-section h4 { margin: 0 0 16px 0; color: #1e293b; font-size: 1.1em; } .wellness-form .input-group { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } .wellness-form label { font-weight: 500; color: #374151; flex: 1; } .wellness-form input[type="range"] { flex: 2; margin: 0 12px; } .range-value { min-width: 30px; text-align: center; font-weight: 600; color: #3b82f6; } .submit-btn { background: linear-gradient(135deg, #10b981 0%, #059669 100%); color: white; border: none; padding: 12px 24px; border-radius: 8px; font-size: 1em; font-weight: 500; cursor: pointer; width: 100%; transition: all 0.3s ease; } .submit-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3); } .wellness-dashboard { background: white; border-radius: 12px; padding: 24px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; } .wellness-scores { display: flex; gap: 16px; margin-top: 16px; } .score-card { flex: 1; text-align: center; padding: 20px; background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border-radius: 10px; border: 1px solid #f59e0b; } .score-value { font-size: 2em; font-weight: 700; color: #92400e; margin-bottom: 8px; } .score-label { font-size: 0.9em; color: #78350f; text-transform: uppercase; letter-spacing: 0.5px; } /* === PLANNING TAB === */ .planning-grid { display: grid; grid-template-columns: 300px 1fr; grid-template-rows: auto auto; gap: 24px; } .plan-creation-panel { background: white; border-radius: 12px; padding: 30px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; grid-row: span 2; } .planning-form .form-group { margin-bottom: 20px; } .planning-form label { display: block; margin-bottom: 8px; font-weight: 500; color: #374151; } .planning-form select { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 0.95em; background: white; } .generate-btn { background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%); color: white; border: none; padding: 14px 24px; border-radius: 8px; font-size: 1em; font-weight: 500; cursor: pointer; width: 100%; transition: all 0.3s ease; } .generate-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(139, 92, 246, 0.3); } /* === INSIGHTS TAB === */ .insights-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 24px; } .ai-insights-panel, .performance-analysis-panel, .predictions-panel, .risk-assessment-panel { background: white; border-radius: 12px; padding: 30px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border: 1px solid #e2e8f0; } .insights-btn { background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%); color: white; border: none; padding: 10px 18px; border-radius: 8px; font-size: 0.9em; cursor: pointer; transition: all 0.3s ease; margin-right: 12px; margin-bottom: 8px; } .insights-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(6, 182, 212, 0.3); } .insights-content { margin-top: 20px; padding: 20px; background: #f8fafc; border-radius: 8px; border: 1px solid #e2e8f0; } .insight-item { padding: 12px 16px; margin-bottom: 8px; border-radius: 6px; border-left: 4px solid #3b82f6; background: white; } .insight-item.warning { border-left-color: #f59e0b; background: #fffbeb; } .insight-item.success { border-left-color: #10b981; background: #ecfdf5; } .insight-item.error { border-left-color: #ef4444; background: #fef2f2; } /* === NOTIFICATIONS === */ .notification-area { position: fixed; top: 20px; right: 20px; z-index: 1000; width: 320px; } .notification { background: white; border-radius: 8px; padding: 16px; margin-bottom: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15); border: 1px solid #e2e8f0; display: flex; align-items: center; gap: 12px; animation: slideInRight 0.3s ease-out; } @keyframes slideInRight { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .notification.success { border-left: 4px solid #10b981; } .notification.warning { border-left: 4px solid #f59e0b; } .notification.error { border-left: 4px solid #ef4444; } .notification.info { border-left: 4px solid #3b82f6; } .notification-icon { font-size: 1.2em; } .notification-message { flex: 1; font-size: 0.9em; color: #374151; } .notification-close { background: none; border: none; font-size: 1.2em; cursor: pointer; color: #9ca3af; transition: color 0.2s ease; } .notification-close:hover { color: #374151; } /* === RESPONSIVE DESIGN === */ @media (max-width: 1200px) { .overview-grid { grid-template-columns: repeat(2, 1fr); } .planning-grid { grid-template-columns: 1fr; } .wellness-grid { grid-template-columns: 1fr; } } @media (max-width: 768px) { .dashboard-header { flex-direction: column; gap: 16px; } .dashboard-controls { width: 100%; justify-content: center; } .tab-navigation { flex-wrap: wrap; justify-content: center; } .tab-btn { padding: 12px 16px; font-size: 0.9em; } .dashboard-content { padding: 20px; } .overview-grid { grid-template-columns: 1fr; } .metrics-grid { grid-template-columns: 1fr; } .wellness-scores { flex-direction: column; } .insights-grid { grid-template-columns: 1fr; } .analytics-controls { flex-direction: column; } .notification-area { left: 20px; right: 20px; width: auto; } } /* === ACCESSIBILITY ENHANCEMENTS === */ .control-btn:focus, .tab-btn:focus, .analytics-btn:focus, .submit-btn:focus, .generate-btn:focus, .insights-btn:focus { outline: 2px solid #3b82f6; outline-offset: 2px; } /* === LOADING STATES === */ .loading-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.9); display: flex; align-items: center; justify-content: center; border-radius: 12px; z-index: 10; } .loading-spinner { width: 40px; height: 40px; border: 4px solid #e2e8f0; border-top: 4px solid #3b82f6; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* === DARK MODE SUPPORT === */ @media (prefers-color-scheme: dark) { .advanced-dashboard { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); } .metric-panel, .chart-panel, .achievements-panel, .action-panel, .status-panel, .analytics-section, .wellness-input-panel, .wellness-dashboard, .plan-creation-panel, .ai-insights-panel, .performance-analysis-panel, .predictions-panel, .risk-assessment-panel { background: #1e293b; border-color: #334155; color: #f1f5f9; } .notification { background: #1e293b; border-color: #334155; color: #f1f5f9; } }