body{font-family:Arial,sans-serif;background:#f6f7fb;margin:0;padding:20px}.calendar{width:460px;margin:auto;background:#fff;border-radius:16px;padding:18px;box-shadow:0 6px 20px rgba(0,0,0,0.08)}.header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;gap:16px}.header-left select{text-align:left;text-align-last:left;padding-left:8px}.header-center{display:flex;align-items:center;gap:8px}select,button{height:36px;border-radius:8px}select{padding:0 10px;border:1px solid #ddd}button{cursor:pointer}.btn-change{border:none;background:#1677ff;color:#fff}.btn-goto{background:#fff;padding:0 10px;border:1px solid #ddd}#holidaySelect:disabled{background:#f5f5f5;color:#aaa}.week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:#666;margin-bottom:8px}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.cell{position:relative;height:58px;padding:4px;border-radius:10px;text-align:center;font-size:13px;cursor:pointer;transition:0.2s}.cell:hover{filter:brightness(0.98)}.day{margin-top:13px;font-size:15px;font-weight:600}.lunar{margin-top:2px;font-size:10px;color:#999}.cell.today .day,.cell.today .lunar{color:#1677ff!important;font-weight:bold}.cell.holiday{background:#fff1f0}.cell.holiday .day{color:#f44336;font-weight:bold}.cell.holiday .lunar{color:#ff4d4f}.cell.workday{background:transparent}.cell.workday .day{color:#ccc;font-weight:bold}.cell.weekend:not(.holiday):not(.today){background:#f5f5f5}.cell.weekend:not(.holiday):not(.today) .day{color:#ff4d4f}.cell.other-month{color:#ccc}.cell.selected{box-shadow:inset 0 0 0 2px #1677ff}.term{color:#1677ff;font-weight:bold}.badge{position:absolute;top:4px;right:4px;padding:2px 5px;border-radius:4px;font-size:10px;line-height:1;color:#fff}.badge.holiday{background:#c40000}.badge.work{background:#999}.today-badge{background:#1677ff}.holiday-tip{margin-top:16px;padding:12px;border-radius:10px;background:#f5f7ff;text-align:center;font-size:14px}