.calendar-day{position:relative}.calendar-day .tooltip-content{pointer-events:none;opacity:0;transition:opacity .2s ease-in-out}.calendar-day:hover .tooltip-content{display:block !important;opacity:1;animation:fadeInZoom .2s ease-in-out}@keyframes fadeInZoom{0%{opacity:0;transform:translateX(-50%) scale(.95)}100%{opacity:1;transform:translateX(-50%) scale(1)}}.calendar-nav{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-green-50);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg)}.calendar-nav-title{font-size:1.5rem;font-weight:700;color:var(--color-green-800);margin:0}.calendar-nav-controls{display:flex;gap:var(--spacing-sm)}.calendar-selector{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:#fff;border:1px solid var(--color-green-300);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-base)}.calendar-selector:hover{background:var(--color-green-50);border-color:var(--color-green-600)}.day-info-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md);margin-top:var(--spacing-lg)}@media(min-width:768px){.day-info-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.day-info-grid{grid-template-columns:repeat(3,1fr)}}.lunar-display{background:linear-gradient(135deg,var(--color-green-50) 0%,var(--color-green-100) 100%);padding:var(--spacing-lg);border-radius:var(--radius-lg);border:2px solid var(--color-green-600);text-align:center}.lunar-day-number{font-size:3rem;font-weight:700;color:var(--color-green-800);line-height:1}.lunar-month-year{font-size:1.125rem;color:var(--color-green-700);margin-top:var(--spacing-sm)}.canchi-display{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.canchi-item{flex:1;min-width:120px;padding:var(--spacing-sm);background:#fff;border:1px solid var(--color-stone-200);border-radius:var(--radius-md);text-align:center}.canchi-label{font-size:.75rem;color:var(--color-stone-500);text-transform:uppercase;letter-spacing:.05em}.canchi-value{font-size:1.125rem;font-weight:600;color:var(--color-green-800);margin-top:var(--spacing-xs)}.hours-section{margin-top:var(--spacing-lg)}.hours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-md)}.hour-item{padding:var(--spacing-sm);border-radius:var(--radius-md);text-align:center;font-size:.875rem;font-weight:500;transition:all var(--transition-base)}.hour-item.good{background:var(--color-green-100);color:var(--color-green-800);border:1px solid var(--color-green-300)}.hour-item.bad{background:var(--color-primary-100);color:var(--color-primary-800);border:1px solid var(--color-primary-300)}.hour-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.holiday-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-golden-100);color:var(--color-golden-800);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;border:1px solid var(--color-golden-300)}.mini-calendar{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.mini-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-green-200)}.mini-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.mini-calendar-day:hover{background:var(--color-green-50)}.mini-calendar-day.today{background:var(--color-green-600);color:#fff;font-weight:700}.mini-calendar-day.selected{background:var(--color-primary-600);color:#fff}.year-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.year-month-card{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-stone-200);transition:all var(--transition-base)}.year-month-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--color-green-600)}.year-month-title{font-size:1.125rem;font-weight:600;color:var(--color-green-800);margin-bottom:var(--spacing-md);text-align:center}.sticky{position:sticky}.top-4{top:1rem}.calendar-cell{position:relative;transition:all .2s}.calendar-cell:hover{transform:translateY(-2px);box-shadow:0 4px 6px rgba(0,0,0,.1)}.calendar-day{position:relative;overflow:visible}.calendar-day::before{content:'';position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 0 0;border-color:transparent;transition:all .3s ease-out;z-index:1;pointer-events:none}.calendar-day::after{content:'';position:absolute;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 0 0;border-color:transparent;transition:all .3s ease-out;z-index:0;pointer-events:none;filter:drop-shadow(-1px -1px 2px rgba(0,0,0,.15))}.calendar-day:hover::before{border-width:0 0 20px 20px;border-color:transparent transparent #f9fafb transparent}.calendar-day:hover::after{border-width:0 0 20px 20px;border-color:transparent transparent #e5e7eb transparent}.calendar-day:hover{border-color:inherit !important;transform:none !important;box-shadow:none !important}@media(max-width:640px){.calendar-nav{flex-direction:column;gap:var(--spacing-md)}.calendar-nav-title{font-size:1.25rem}.lunar-day-number{font-size:2rem}.hours-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}