/* Variables de Design System RYM */ :root { --rym-main: #004a99; --rym-dark: #121416; --rym-accent: #00d1b2; --rym-premium: #ffd700; --rym-bg: #f0f2f5; } /* Base App Layout */ body { background-color: var(--rym-bg); font-family: 'Inter', sans-serif; font-size: 0.9rem; } /* Navigation & Sidebar UI */ .sidebar { min-height: 100vh; background: var(--rym-dark); color: white; } .sidebar-heading { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; color: #495057; margin-top: 1.5rem; padding-bottom: 5px; border-bottom: 1px solid #343a40; } .nav-link { color: #8a8d91; border-radius: 10px; padding: 10px 15px; margin-bottom: 4px; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; } .nav-link:hover { color: white; background: rgba(255, 255, 255, 0.05); } .nav-link.active { background: var(--rym-main); color: white; } /* UI Components */ .card-rym { border: none; border-radius: 18px; box-shadow: 0 4px 20px rgba(0,0,0,0.05); background: white; } .premium-zone { border: 2px solid var(--rym-premium); position: relative; } /* Agenda Components */ .agenda-scroll { max-height: 250px; overflow-y: auto; } .hour-row { border-bottom: 1px solid #eee; min-height: 40px; display: flex; align-items: center; } /* Router / Navigation Tabs States */ .tab-content { display: none; } .tab-content.active { display: block; animation: fadeIn 0.3s forwards; } /* Animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } } /* --- CONFIGURATION DES SPINNERS (OPTION 2) --- */ .rym-spinner-wrapper { position: relative; width: 90px; height: 90px; margin: 0 auto; } .rym-spinner-svg { width: 100%; height: 100%; transform: rotate(-90deg); } .circle-bg { fill: none; stroke: #e6e6e6; stroke-width: 2.8; } .circle-stroke { fill: none; stroke-width: 2.8; stroke-linecap: round; transition: stroke-dasharray 0.5s ease; } .rym-spinner-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; } /* --- DRAG AND DROP KANBAN (OPTION 1) --- */ .drop-zone { min-height: 140px; transition: background-color 0.2s ease, border-color 0.2s ease; } .drop-zone.drag-over { background-color: #e2e8f0 !important; border: 2px dashed #0dcaf0 !important; } .rym-draggable-workout { cursor: grab; transition: transform 0.1s ease, opacity 0.1s ease; user-select: none; } .rym-draggable-workout:active { cursor: grabbing; opacity: 0.5; }