:root{--primary: #c9a227;--secondary: #1a1a1a;--bg-dark: #0f0f0f;--text: #ffffff;--text-muted: #a0a0a0;--glass: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-highlight: rgba(255, 255, 255, .15);--transition: all .3s ease;--shadow: 0 4px 6px rgba(0, 0, 0, .3);--tango-color: #ff6b6b;--salsa-color: #feca57;--bachata-color: #48dbfb;--mazurka-color: #1dd1a1}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:var(--bg-dark);background-image:radial-gradient(circle at 10% 20%,rgba(201,162,39,.05) 0%,transparent 20%),radial-gradient(circle at 90% 80%,rgba(201,162,39,.05) 0%,transparent 20%);color:var(--text);line-height:1.6}a{text-decoration:none;color:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}header{padding:1rem 0;background:rgba(15,15,15,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--glass-border)}.logo.centered{text-align:center}.logo-text{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;letter-spacing:2px}.accent{color:var(--primary)}.main-content{padding-top:2rem;padding-bottom:4rem}.filter-bar{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-muted);padding:.6rem 1.2rem;border-radius:20px;cursor:pointer;transition:var(--transition);font-size:.9rem}.filter-btn:hover{background:var(--glass-highlight);color:var(--text)}.filter-btn.active{background:var(--primary);color:#000;border-color:var(--primary);font-weight:600}.today-section{margin-bottom:4rem}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;border-bottom:1px solid var(--glass-border);padding-bottom:1rem}.section-header h2{font-family:Playfair Display,serif;font-size:2rem;display:flex;align-items:center;gap:.8rem}.today-date{color:var(--primary);font-weight:600;text-transform:capitalize}.today-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.today-card{background:rgba(30,30,30,.6);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;transition:var(--transition)}.today-card:hover{transform:translateY(-5px);border-color:var(--primary);background:rgba(40,40,40,.8)}.card-badge{position:absolute;top:1rem;right:1rem;background:var(--primary);color:#000;font-size:.7rem;padding:.2rem .6rem;border-radius:4px;font-weight:700;text-transform:uppercase}.today-card h3{font-size:1.3rem;margin-bottom:1rem;padding-right:2rem;line-height:1.3}.today-card .meta{display:flex;flex-direction:column;gap:.5rem;color:var(--text-muted);font-size:.9rem;margin-bottom:1.5rem}.today-card .meta span{display:flex;align-items:center;gap:.5rem}.today-card .actions{margin-top:auto}.btn-icon{display:inline-flex;align-items:center;gap:.5rem;color:var(--primary);font-weight:500;transition:var(--transition)}.btn-icon:hover{color:#fff}.calendar-section{background:rgba(20,20,20,.4);border-radius:20px;padding:2rem;border:1px solid var(--glass-border)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.calendar-header h2{font-family:Playfair Display,serif;text-transform:capitalize;font-size:2rem}.nav-btn{background:none;border:1px solid var(--glass-border);color:var(--text);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.nav-btn:hover{background:var(--glass-highlight);border-color:var(--primary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--glass-border);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden}.weekday-header{background:rgba(30,30,30,.9);padding:1rem;text-align:center;font-weight:600;text-transform:uppercase;font-size:.8rem;color:var(--text-muted)}.calendar-day{background:rgba(15,15,15,.8);min-height:120px;padding:.5rem;position:relative;transition:background .2s}.calendar-day:hover{background:rgba(25,25,25,.9)}.calendar-day.other-month{opacity:.3;pointer-events:none}.calendar-day.current-day{background:rgba(201,162,39,.05);box-shadow:inset 0 0 0 1px var(--primary)}.day-number{font-weight:700;margin-bottom:.5rem;display:flex;justify-content:space-between}.event-count-badge{font-size:.6rem;background:var(--glass-highlight);padding:0 4px;border-radius:4px;color:var(--text-muted)}.day-events{display:flex;flex-direction:column;gap:4px}.mini-event{display:flex;align-items:center;gap:4px;font-size:.7rem;background:rgba(255,255,255,.05);padding:2px 4px;border-radius:3px;cursor:pointer;overflow:hidden;white-space:nowrap}.mini-event:hover{background:rgba(255,255,255,.1)}.mini-event .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background-color:var(--text-muted)}.mini-event .dot.tango{background-color:var(--tango-color)}.mini-event .dot.salsa{background-color:var(--salsa-color)}.mini-event .dot.bachata{background-color:var(--bachata-color)}.mini-event .dot.mazurka{background-color:var(--mazurka-color)}.mini-event .time{color:var(--text-muted);font-size:.65rem}.mini-event .title{overflow:hidden;text-overflow:ellipsis}.more-events{font-size:.65rem;text-align:center;color:var(--text-muted);padding-top:2px}.animate-up{animation:fadeInUp .6s ease forwards;opacity:0;transform:translateY(20px)}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.calendar-grid{display:flex;flex-direction:column;gap:.5rem;background:transparent;border:none}.weekday-header{display:none}.calendar-day{min-height:auto;border-radius:8px;background:var(--glass);border:1px solid var(--glass-border)}.calendar-day.other-month{display:none}.day-number{border-bottom:1px solid var(--glass-border);padding-bottom:.5rem;margin-bottom:.5rem}}body{margin:0}
