/* Import public styles or copy them here */
.member-dashboard .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem; }
.info-card { background-color: #1f2937; padding: 1.5rem; border-radius: 0.5rem; border: 1px solid #374151; }
.info-card h4 { color: #9ca3af; font-weight: 500; display: flex; align-items: center; }
.info-card h4 i { margin-right: 0.5rem; }
.info-card p { font-size: 1.5rem; font-weight: bold; color: #fff; margin-top: 0.5rem; }
/* ... Add more specific styles for member dashboard ... */

.ascension-container { max-width: 1200px; margin: 0 auto; padding: 2rem 1rem; }
.ascension-title { font-family: 'Anton', sans-serif; font-size: 2.5rem; text-transform: uppercase; text-align: center; color: #fff; }
.ascension-subtitle { max-width: 600px; margin: 0.5rem auto 2rem; text-align: center; color: #d1d5db; }
.timetable-wrapper { background-color: #1f2937; border-radius: 0.5rem; overflow: hidden; }
.timetable-nav { display: grid; grid-template-columns: repeat(7, 1fr); border-bottom: 1px solid #4b5563; }
.timetable-btn { background: none; border: none; padding: 1rem 0.5rem; color: #d1d5db; cursor: pointer; transition: all 0.2s; }
.timetable-btn:hover { background-color: #dc2626; }
.timetable-btn.active { background-color: #b91c1c; color: #fff; font-weight: bold; }
.schedule-container { padding: 1.5rem; }
.schedule-item { display: grid; grid-template-columns: 1fr 2fr 1fr; align-items: center; background-color: #374151; padding: 1rem; border-radius: 0.5rem; margin-bottom: 1rem; }
.schedule-item .time { color: #ef4444; font-weight: bold; }
.schedule-item .class-name { color: #fff; font-weight: 600; }
.schedule-item .coach { color: #d1d5db; text-align: right; }