.mini-calendar{padding:var(--spacing-md)var(--spacing-lg);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light)}.calendar-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.calendar-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text-primary);text-align:center;flex:1;margin:0}.calendar-nav-btn{padding:var(--spacing-xs);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.calendar-nav-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.calendar-weekdays{gap:var(--spacing-xs);text-align:center;margin-bottom:var(--spacing-xs);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekday-label{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);padding:var(--spacing-xs)0}.calendar-grid{gap:var(--spacing-xs);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-day{aspect-ratio:1;font-size:var(--font-sm);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.calendar-day.empty{cursor:default}.calendar-day.no-appointment{color:var(--color-text-tertiary)}.calendar-day.has-appointment{color:var(--color-text-primary);font-weight:700}.calendar-day.today{border:2px solid var(--color-accent);font-weight:600}.calendar-day.calendar-day.selected{background:var(--color-accent);color:var(--color-text-inverse);font-weight:600}.calendar-day:hover:not(.empty):not(.selected){background:var(--color-bg-hover)}.calendar-actions{margin-top:var(--spacing-sm);padding-top:var(--spacing-xs);justify-content:space-between;align-items:center;display:flex}.calendar-view-toggle{align-items:center;gap:2px;display:flex}.view-toggle-btn{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--color-text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:4px 6px}.view-toggle-btn:hover{color:var(--color-text-secondary)}.view-toggle-btn.btn-ghost:hover:not(:disabled),.view-toggle-btn.btn-ghost:active:not(:disabled){background:0 0;transform:none}.view-toggle-btn.active{color:var(--color-accent);font-weight:var(--font-semibold)}.view-toggle-divider{color:var(--color-text-tertiary);font-size:var(--font-xs)}.calendar-today-btn{font-size:var(--font-sm);color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:4px 8px}.calendar-today-btn:hover{text-decoration:underline}.calendar-today-btn.btn-ghost:hover:not(:disabled),.calendar-today-btn.btn-ghost:active:not(:disabled){background:0 0;transform:none}.calendar-selection-hint{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm);background:var(--color-accent-light);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-accent);padding:6px;display:flex}.calendar-clear-btn{color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-sm);background:0 0;border:none;padding:2px 4px;line-height:1}.calendar-clear-btn:hover{color:var(--color-error)}.calendar-day{flex-direction:column;gap:1px;padding:2px}.calendar-day .day-number{font-size:var(--font-sm);line-height:1.2}.calendar-day .day-lunar{color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;line-height:1.2;overflow:hidden}.calendar-day .day-lunar.special{color:var(--color-warning);font-weight:var(--font-medium)}.calendar-day.special-day{background:var(--color-warning-faint)}.calendar-day.special-day:not(.selected):hover{background:var(--color-warning-light)}.calendar-day.selected .day-lunar{color:var(--color-text-inverse-muted)}.calendar-day.selected .day-lunar.special{color:var(--color-text-inverse)}@media (max-width:375px){.mini-calendar{padding:var(--spacing-md)}.calendar-day{padding:1px}.calendar-day .day-number{font-size:12px}.calendar-day .day-lunar{font-size:8px}.calendar-view-toggle .toggle-btn{padding:3px 6px;font-size:10px}}