:root {
            --primary: #4285f4;
            --secondary: #34a853;
            --accent: #fa9b96; /*#ea4335;*/
            --orange: #f57c00;
            --text: #3c4043;
            --light: #f8f9fa;
            --medium: #dadce0;
            --white: #ffffff;
            --shadow: 0 1px 2px rgba(60,64,67,0.3), 0 2px 6px rgba(60,64,67,0.15);
        }
     
        
        .calendar-header {
            padding: 12px;
            background: linear-gradient(135deg, var(--primary), #5c8bf2);
            color: white;
        }
        
        .header-row {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }
        
        .header-top-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .month-title {
            font-size: 1.3rem;
            font-weight: 500;
        }
        
        .today-btn {
            background: var(--white);
            color: var(--primary);
            border: none;
            padding: 6px 10px;
            border-radius: 6px;
            font-size: 0.8rem;
            font-weight: 500;
            display: flex;
            align-items: center;
            gap: 4px;
            cursor: pointer;
        }
        
        .select-combined-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 4px;
        }
        
        .select-group {
            display: flex;
            align-items: center;
            gap: 4px;
            flex: 1;
        }
        
        .select-wrapper {
            flex: 1;
        }
        
        .year-select, .month-select {
            width: 100%;
            background: rgba(255,255,255,0.9);
            border: 1px solid rgba(255,255,255,0.3);
            border-radius: 6px;
            padding: 6px 10px;
            color: var(--text);
            font-size: 0.8rem;
            cursor: pointer;
        }
        
        .nav-btn {
            background: rgba(255,255,255,0.2);
            border: none;
            color: white;
            width: 28px;
            height: 28px;
            border-radius: 50%;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
        }
        
        .week-header {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            background: var(--light);
            border-bottom: 1px solid var(--medium);
        }
        
        .week-day {
            text-align: center;
            padding: 10px 0;
            font-size: 0.8rem;
        }
        
        .week-day.sun, .week-day.sat {
            color: var(--accent);
        }
        
        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            gap: 1px;
            background: var(--medium);
        }
        
        .calendar-day {
            background: var(--white);
            min-height: 80px;
            padding: 6px;
            position: relative;
            cursor: pointer;
        }
        
        .calendar-day:hover {
            background: #f8fafc;
        }
        
        .calendar-day.selected {
            background: #e3f2fd;
            border: 2px solid var(--primary);
            z-index: 2;
        }
        
        .calendar-day.other-month {
            background: #fafafa;
        }
        
        .calendar-day.other-month .day-number,
        .calendar-day.other-month .lunar-date {
            color: #aaa;
        }
        
        .calendar-day.today {
            background: #e8f0fe;
            border: 1px solid var(--primary);
        }
        
        .calendar-day.weekend {
            background: #fff5f5;
        }
        
        .day-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
        
        .day-number {
            font-size: 1rem;
            font-weight: 500;
            margin-bottom: 2px;
        }
        
        .lunar-date {
            font-size: 0.7rem;
            color: #666;
            margin-bottom: 2px;
        }
        
        .festival-mark {
            font-size: 0.6rem;
            padding: 1px 4px;
            border-radius: 3px;
            margin-top: 2px;
        }
        
        .festival-mark.solar-term {
            color: var(--primary);
            background: rgba(66, 133, 244, 0.1);
        }
        
        .festival-mark.holiday {
            color: #ea4335; /*var(--accent);*/
            background: rgba(234, 67, 53, 0.1);
        }
        
        .today-badge {
            position: absolute;
            top: 4px;
            right: 4px;
            width: 6px;
            height: 6px;
            background: var(--accent);
            border-radius: 50%;
        }
        
        .rest-badge {
            position: absolute;
            top: 4px;
            left: 4px;
            background: var(--secondary);
            color: white;
            font-size: 0.6rem;
            padding: 1px 2px;
            border-radius: 2px;
        }
        
        .weekend-badge {
            position: absolute;
            top: 4px;
            left: 4px;
            background: var(--accent); /*粉红*/
            color: white;
            font-size: 0.6rem;
            padding: 1px 2px;
            border-radius: 2px;
        }
        
        .work-badge {
            position: absolute;
            top: 4px;
            left: 4px;
            background: var(--orange);
            color: white;
            font-size: 0.6rem;
            padding: 1px 2px;
            border-radius: 2px;
        }
        
        .detail-panel {
            padding: 12px;
            background: var(--light);
            border-top: 1px solid var(--medium);
        }
        
        .detail-title {
            font-size: 1rem;
            font-weight: 500;
            margin-bottom: 8px;
            color: var(--text);
        }
        
        .detail-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 8px;
        }
        
        .detail-card {
            background: var(--white);
            padding: 8px;
            border-radius: 6px;
        }
        
        .card-title {
            font-size: 0.7rem;
            color: #666;
            margin-bottom: 4px;
        }
        
        .card-content {
            font-size: 0.9rem;
            font-weight: 500;
        }
        
        .legend {
            display: flex;
            justify-content: center;
            gap: 8px;
            padding: 8px;
            background: var(--white);
            border-top: 1px solid var(--medium);
        }
        
        .legend-item {
            display: flex;
            align-items: center;
            gap: 4px;
            font-size: 0.7rem;
        }
        
        .legend-color {
            width: 12px;
            height: 12px;
            border-radius: 2px;
        }
        
        .legend-color.weekend {
            background: #fff5f5;
            border: 1px solid #ffcdd2;
        }
        
        .legend-color.holiday {
            background: rgba(234, 67, 53, 0.1);
            border: 1px solid #ffcdd2;
        }
        
        .legend-color.rest {
            background: rgba(52, 168, 83, 0.1);
            border: 1px solid #a5d6a7;
        }
        
        .legend-color.work {
            background: rgba(245, 124, 0, 0.1);
            border: 1px solid #ffb74d;
        }