.table-date {border-radius: 8px;overflow: hidden;background: #fff}.table-date thead th {background: #17a2b8;color: #fff !important;padding: 12px;font-weight: 500;border: none;width: 14.285714%}.table-date td {padding: 4px 2px;border: 1px solid #eee;transition: all 0.3s ease;width: 14.285714%;height: 80px;position: relative}.table-date td:hover {background-color: #e3f2fd;transform: scale(1.02)}.table-date td p:first-child {font-size: 1.1em;font-weight: 500;margin-bottom: 2px}.table-date td p:last-child {color: #666}.td-gotoday {background-color: #fff8dc;border: 2px solid #17a2b8 !important}#select_riqi {font-weight: 500;letter-spacing: 1px}.text-details {line-height: 1.6;color: #555}.badge {font-size: 0.75rem;padding: 0.4em 0.6em;margin-right: 8px}.card-body h5 {color: #17a2b8;font-weight: 500;margin-bottom: 1rem;padding-bottom: 0.5rem;border-bottom: 2px solid #eee}.card-body p {margin-bottom: 0.8rem}@media(max-width:767px) {.container {padding: 0}.table-date td p:first-child {font-size: 1em}.table-date td p:last-child {font-size: 0.75em}.card-body h5 {font-size: 1.1rem}}.card {max-width: 650px !important;margin-left: auto !important;margin-right: auto !important;margin-top: 10px !important;margin-bottom: 10px !important}@media (max-width: 767px) {.table-date td p:first-child {font-size: 0.9em}.table-date td p:last-child {font-size: 0.7em}.card-body h5 {font-size: 1.1rem}.text-details {font-size: 0.8rem;line-height: 1.4}.badge {font-size: 0.7rem}.card-body p {font-size: 0.85rem;margin-bottom: 0.6rem}}@media (min-width: 768px) and (max-width: 1023px) {.table-date td p:first-child {font-size: 1em}.table-date td p:last-child {font-size: 0.8em}.card-body h5 {font-size: 1.2rem}.text-details {font-size: 0.9rem;line-height: 1.5}.badge {font-size: 0.8rem}.card-body p {font-size: 0.95rem;margin-bottom: 0.7rem}}@media (min-width: 1024px) {.table-date td p:first-child {font-size: 1.1em}.table-date td p:last-child {font-size: 0.85em}.card-body h5 {font-size: 1.3rem}.text-details {font-size: 1rem;line-height: 1.6}.badge {font-size: 0.85rem}.card-body p {font-size: 1rem;margin-bottom: 0.8rem}}@media (max-width: 767px) {#select_riqi {font-size: 0.9rem;padding: 0.3rem}.input-group .btn {padding: 0.3rem 0.6rem}}@media (min-width: 768px) {#select_riqi {font-size: 1rem;padding: 0.375rem}.input-group .btn {padding: 0.375rem 0.75rem}}.title-ganzhili {display: inline-block;color: #17a2b8;font-weight: 500;padding: 2px 8px;border-radius: 4px;background-color: rgba(23, 162, 184, 0.1);margin-right: 4px}@media (max-width: 767px) {.title-ganzhili {font-size: 0.9em;padding: 1px 6px}}.calendar-constellation,.calendar-zodiac,.calendar-weekday,.calendar-days-from {display: inline-flex;align-items: center;justify-content: center;min-height: 24px;padding: 2px 10px;margin: 0 4px;border-radius: 15px;font-size: 0.9em;transition: all 0.3s ease;line-height: 1.2}.calendar-constellation {background-color: #e3f2fd;color: #1976d2;border: 1px solid #bbdefb}.calendar-zodiac {background-color: #f3e5f5;color: #7b1fa2;border: 1px solid #e1bee7}.calendar-weekday {background-color: #e8f5e9;color: #2e7d32;border: 1px solid #c8e6c9}.calendar-days-from {background-color: #fff3e0;color: #e65100;border: 1px solid #ffe0b2}.calendar-constellation:hover,.calendar-zodiac:hover,.calendar-weekday:hover,.calendar-days-from:hover {transform: translateY(-2px);box-shadow: 0 2px 4px rgba(0,0,0,0.1)}@media (max-width: 767px) {.calendar-constellation,.calendar-zodiac,.calendar-weekday,.calendar-days-from {padding: 4px 8px;margin: 2px;font-size: 0.8em;min-height: 22px}.calendar-info-container {display: flex;flex-wrap: wrap;align-items: center;gap: 4px;justify-content: center}.calendar-info-container a {width: 100%;margin-top: 4px}.calendar-info-container a button {width: 100%;padding: 6px}}@media (max-width: 400px) {.calendar-constellation,.calendar-zodiac,.calendar-weekday,.calendar-days-from {padding: 3px 6px;font-size: 0.75em;min-height: 20px}.calendar-info-container {gap: 3px}}.calendar-festivals {display: flex;flex-wrap: wrap;gap: 4px;margin: 4px 0}.festival-solar {background-color: #fff7ed;color: #c2410c;border: 1px solid #fed7aa;padding: 2px 10px;border-radius: 15px;font-size: 0.9em;display: inline-flex;align-items: center;transition: all 0.3s ease}.festival-lunar {background-color: #f5f3ff;color: #6d28d9;border: 1px solid #ddd6fe;padding: 2px 10px;border-radius: 15px;font-size: 0.9em;display: inline-flex;align-items: center;transition: all 0.3s ease}.festival-solar:hover,.festival-lunar:hover {transform: translateY(-2px);box-shadow: 0 2px 4px rgba(0,0,0,0.1)}@media (max-width: 767px) {.calendar-festivals {width: 100%;justify-content: center;margin: 6px 0}.festival-solar,.festival-lunar {padding: 3px 8px;font-size: 0.8em}}@media (max-width: 400px) {.festival-solar,.festival-lunar {padding: 2px 6px;font-size: 0.75em}}.festival-jieqi {background-color: #ecfdf5;color: #059669;border: 1px solid #a7f3d0;padding: 2px 10px;border-radius: 15px;font-size: 0.9em;display: inline-flex;align-items: center;transition: all 0.3s ease}.festival-solar:hover,.festival-lunar:hover,.festival-jieqi:hover {transform: translateY(-2px);box-shadow: 0 2px 4px rgba(0,0,0,0.1)}@media (max-width: 767px) {.calendar-festivals {width: 100%;justify-content: center;margin: 6px 0}.festival-solar,.festival-lunar,.festival-jieqi {padding: 3px 8px;font-size: 0.8em}}@media (max-width: 400px) {.festival-solar,.festival-lunar,.festival-jieqi {padding: 2px 6px;font-size: 0.75em}}.table-date td {padding: 4px 2px;border: 1px solid #eee;transition: all 0.3s ease;width: 14.285714%;height: 80px;position: relative}.calendar-list-p-day {font-size: 1.1em;font-weight: 500;margin: 0 0 2px 0;line-height: 1.2}.calendar-list-p-lunar {font-size: 0.85em;color: #666;margin: 0 0 2px 0;line-height: 1.2;min-height: 1.2em;word-break: break-all;overflow-wrap: break-word;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;text-overflow: ellipsis;max-height: 2.4em}.calendar-list-p-ganzhi {font-size: 0.75em;color: #888;margin: 0;line-height: 1.1;position: absolute;right: 6px;bottom: -21px;opacity: 0.8}.calendar-festival-mark {position: absolute;top: 2px;left: 2px;font-size: 12px;color: #dc3545;line-height: 1}.calendar-holiday-mark {position: absolute;top: 2px;font-size: 12px;color: #0d6efd;line-height: 1;right: 0; left: auto}@media (max-width: 767px) {.table-date td {height: 70px;padding: 3px 1px}.calendar-list-p-day {font-size: 0.95em}.calendar-list-p-lunar {font-size: min(0.85em, calc(10vw / var(--char-count, 4))) !important;line-height: 1.1;min-height: 1.1em;max-height: 2.2em}.calendar-list-p-ganzhi {font-size: 0.7em;right: 1px;bottom: -16px}.calendar-festival-mark {font-size: 10px}.calendar-holiday-mark {font-size: 10px}}@media (max-width: 480px) {.calendar-list-p-lunar {font-size: min(0.8em, calc(9vw / var(--char-count, 4))) !important;line-height: 1;min-height: 1em;max-height: 2em}}@media (max-width: 400px) {.table-date td {height: 60px}.calendar-list-p-day {font-size: 0.9em}.calendar-list-p-lunar {font-size: min(0.75em, calc(8vw / var(--char-count, 4))) !important;line-height: 1;min-height: 1em;margin: 0 0 1px 0;max-height: 2em}.calendar-list-p-ganzhi {font-size: 0.65em;right: 0px;bottom: -13px}}.calendar-vertical-list {display: flex;flex-direction: column;gap: 8px;padding: 10px;background: #fff;border-radius: 8px;margin-bottom: 15px}.calendar-vertical-item {width: 100%;padding: 12px 15px;border: 1px solid #eee;border-radius: 8px;transition: all 0.3s ease;position: relative}.calendar-vertical-item:hover {background-color: #e3f2fd;transform: translateX(4px)}.calendar-vertical-item.active {background-color: #fff8dc;border: 2px solid #17a2b8}.vertical-date {display: flex;flex-direction: row;align-items: flex-start;flex-wrap: wrap;gap: 8px 15px}.vertical-solar {font-size: 1.2em;font-weight: 500;color: #333;min-width: 22px}.vertical-lunar {font-size: 0.9em;color: #666;min-width: 32px}.vertical-ganzhi {font-size: 0.85em;color: #888}.vertical-festival {display: flex;flex-wrap: wrap;gap: 4px;margin-left: auto;padding-left: 10px}.vertical-festival .festival-jieqi,.vertical-festival .festival-lunar,.vertical-festival .festival-solar {padding: 2px 8px;border-radius: 12px;font-size: 0.85em;white-space: normal; max-width: 100%; word-break: break-all; line-height: 1.3; display: inline-flex;align-items: center}.vertical-festival .festival-jieqi {background-color: #ecfdf5;color: #059669;border: 1px solid #a7f3d0}.vertical-festival .festival-lunar {background-color: #f5f3ff;color: #6d28d9;border: 1px solid #ddd6fe}.vertical-festival .festival-solar {background-color: #fff7ed;color: #c2410c;border: 1px solid #fed7aa}@media (max-width: 767px) {.vertical-festival {width: 100%;margin-left: 0;padding-left: 0;margin-top: 4px;gap: 4px}.vertical-festival .festival-jieqi,.vertical-festival .festival-lunar,.vertical-festival .festival-solar {font-size: 0.8em;padding: 1px 6px;max-width: calc(100% - 4px); }}@media (max-width: 400px) {.vertical-festival {gap: 3px}.vertical-festival .festival-jieqi,.vertical-festival .festival-lunar,.vertical-festival .festival-solar {font-size: 0.75em;padding: 1px 5px;max-width: calc(100% - 3px)}}#viewToggleBtn {padding: 0.25rem 0.5rem;margin-top: -2px;border-width: 1px;transition: all 0.3s ease}#viewToggleBtn:hover {background-color: rgba(255, 255, 255, 0.1)}#viewToggleBtn i {font-size: 1rem}@media (max-width: 767px) {#viewToggleBtn {padding: 0.2rem 0.4rem}#viewToggleBtn i {font-size: 0.9rem}}.vertical-holiday {margin-left: auto; }.vertical-holiday .festival-holiday {display: inline-flex;align-items: center;background-color: #e6f4ff;color: #0d6efd;border: 1px solid #91caff;padding: 2px 8px;border-radius: 12px;font-size: 0.85em;font-weight: 500;white-space: nowrap; transition: all 0.2s ease}.vertical-holiday .festival-holiday:hover {background-color: #bae0ff;transform: translateY(-1px);box-shadow: 0 2px 4px rgba(13, 110, 253, 0.1)}@media (max-width: 767px) {.vertical-holiday {width: 100%;margin-left: 0;margin-top: 4px;text-align: right; }.vertical-holiday .festival-holiday {font-size: 0.8em;padding: 1px 6px}}@media (max-width: 400px) {.vertical-holiday .festival-holiday {font-size: 0.75em;padding: 1px 5px}}