:root { --rym-bg: #f8fafc; --rym-surface: #ffffff; --rym-accent: #2563eb; --rym-text: #0f172a; --rym-muted: #64748b; --rym-stroke: #e2e8f0; } body { background-color: var(--rym-bg); color: var(--rym-text); font-family: 'Inter', -apple-system, sans-serif; letter-spacing: -0.01em; } /* Nav & Tabs Switcheur du haut */ .nav-view-switcher { background: #e2e8f0; padding: 4px; border-radius: 12px; display: inline-flex; } .nav-view-switcher .nav-link { border-radius: 10px; color: var(--rym-muted); font-weight: 600; font-size: 0.85rem; padding: 8px 16px; border: none; background: none; transition: all 0.2s ease; } .nav-view-switcher .nav-link.active { background: var(--rym-surface); color: var(--rym-text); box-shadow: 0 2px 4px rgba(0,0,0,0.05); } /* Cockpit Spinners Originaux */ .spinner-container { width: 60px; height: 60px; position: relative; } .spinner-container svg { transform: rotate(-90deg); } .spinner-container circle { transition: stroke-dashoffset 0.3s ease; } .spinner-value { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 0.75rem; font-weight: 700; } /* Timeline Hebdo Défilante */ .timeline-scroll { display: flex; gap: 1.25rem; overflow-x: auto; padding: 10px 0 20px; scroll-snap-type: x mandatory; } .day-card { min-width: 280px; background: var(--rym-surface); border: 1px solid var(--rym-stroke); border-radius: 20px; padding: 1.5rem; scroll-snap-align: start; transition: background-color 0.2s ease, border-color 0.2s ease; } .day-card.today { border-color: var(--rym-accent); border-width: 2px; } /* Drag & Drop Zones visual feedback */ .drop-zone.drag-over { background-color: #f1f5f9 !important; border: 2px dashed var(--rym-accent) !important; } .rym-draggable-workout { cursor: grab; user-select: none; } .rym-draggable-workout:active { cursor: grabbing; opacity: 0.4; } /* Vue Journalière (Matin/Midi/Soir) */ .day-part-card { border-left: 3px solid var(--rym-stroke); padding-left: 15px; margin-bottom: 20px; position: relative; } .day-part-card::before { content: ''; position: absolute; left: -6px; top: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--rym-stroke); } .day-part-active { border-left-color: var(--rym-accent); } .day-part-active::before { background: var(--rym-accent); } /* Badges de Séances d'endurance */ .workout { border-radius: 12px; padding: 10px; font-size: 0.9rem; margin-top: 10px; font-weight: 500; } .run { background: #fff7ed; color: #9a3412; } .bike { background: #f0f9ff; color: #075985; } .swim { background: #f0fdfa; color: #115e59; } /* Carte Macro Annu */ .macro-card { background: linear-gradient(135deg, #1e293b, #0f172a); color: white; border-radius: 20px; padding: 2rem; } /* --- MOTEUR DE NAVIGATION SOUVERAIN (FIX DE L'AFFICHAGE) --- */ .tab-pane { display: none !important; opacity: 0; } /* Force l'affichage et l'opacité à 1 quand l'onglet est actif */ .tab-pane.active { display: block !important; opacity: 1 !important; animation: rymFadeIn 0.25s ease-out forwards; } @keyframes rymFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }