.calendar-details{margin:10px 0 18px}.calendar-entry{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;border-bottom:1px dashed #c9cebd;padding-bottom:10px;color:#596b53}.calendar-entry::-webkit-details-marker{display:none}.calendar-entry svg{width:69px;height:65px;flex-shrink:0;transform:rotate(-4deg)}.calendar-entry span{font-size:13px}.calendar-entry small{display:block;font-size:10px;color:#7d8072;margin-top:3px}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:4px;margin:16px 0 8px}.calendar-panel button,.calendar-controls input,.calendar-controls select,.calendar-jump input,.day-nav button,.calendar-mobile-open{font:inherit;color:#494b40;border:1px solid #c8cebd;border-radius:8px;background:#fffdf6;padding:6px 8px}.calendar-controls>button{font-size:23px;line-height:1;width:31px;min-height:36px;padding:0}.calendar-controls input{width:76px;min-width:0;font-size:13px;padding:6px 2px;text-align:center}.calendar-controls select{width:65px;font-size:13px;padding:6px 2px}.calendar-context{font-size:11px;color:#7d8072;margin:6px 0;overflow-wrap:anywhere}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-week{font-size:10px;color:#7d8072;text-align:center;margin:10px 0 4px}.calendar-grid .calendar-day{position:relative;aspect-ratio:1/1.17;min-width:0;padding:2px 0 10px;border:1px solid transparent;background:transparent;font-size:12px;border-radius:50%;line-height:1.3}.calendar-day:hover{background:#e5ebdf}.calendar-day small{position:absolute;bottom:0;left:0;right:0;font-size:9px;line-height:1;color:#82966f}.calendar-day.has-record{font-weight:600;color:#596b53}.calendar-grid .selected{background:#f5dfdc;border:1px solid #d4aaa6;color:#694b4a}.calendar-grid .is-today:not(.selected){border-color:#9aac8d}.calendar-day:focus-visible{outline:2px solid #82966f;outline-offset:1px}.calendar-legend{display:block;font-size:9px;color:#7d8072;margin:9px 0}.calendar-jump{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;margin:12px 0}.calendar-jump label{grid-column:1/-1;font-size:11px;margin:0}.calendar-jump input{width:100%;min-width:0;font-size:12px;padding:6px 2px}.calendar-jump button{font-size:11px}.calendar-actions{display:flex;flex-wrap:wrap;gap:5px}.calendar-actions button{font-size:10px;background:#e5ebdf}.calendar-mobile-open{display:none}.date-dialog{width:min(420px,94vw)}.date-dialog h2{font-size:20px}.date-dialog .calendar-day{font-size:16px;min-height:42px}.date-dialog .calendar-day small{font-size:11px}.date-dialog .calendar-controls input,.date-dialog .calendar-controls select,.date-dialog .calendar-jump input{font-size:16px}.day-view{background:#fffdf6;border:1px dashed #b7c4aa;border-radius:12px;padding:22px;margin:16px 0;scroll-margin-top:18px}.day-view[hidden]{display:none}.day-view>small{font-size:10px;letter-spacing:1px;color:#7d8072}.day-view h3{font-family:Georgia,"Microsoft YaHei",serif;font-size:23px;color:#596b53;margin:8px 0}.day-view>p{font-size:12px;color:#7d8072}.day-nav{display:flex;gap:7px;flex-wrap:wrap}.day-nav button{font-size:11px;background:#e5ebdf;min-height:36px}.calendar-panel button:disabled,.day-nav button:disabled{opacity:.4;cursor:default}.calendar-panel input:focus-visible,.calendar-panel select:focus-visible{outline:2px solid #82966f;outline-offset:2px}@media(max-width:760px){.years-paper .calendar-details{display:none}.calendar-mobile-open{display:block;width:100%;margin:12px 0;text-align:center;border-style:dashed;background:#e5ebdf;min-height:44px;font-size:14px}.day-view{padding:16px}.day-view h3{font-size:20px}.day-nav button{min-height:42px;flex:1 1 42%}.date-dialog{padding:20px}.calendar-context{font-size:12px}}@media(prefers-reduced-motion:reduce){.day-view{scroll-behavior:auto}}

.calendar-controls{display:grid;grid-template-columns:26px minmax(0,1fr) 58px 26px;gap:3px}.calendar-controls input,.calendar-controls select{width:100%}.calendar-controls>button{width:26px}.date-dialog .calendar-controls{grid-template-columns:40px minmax(0,1fr) 70px 40px}.date-dialog .calendar-controls>button{width:40px;min-height:42px}

.calendar-grid .selected{border-color:transparent;border-radius:8px;background:#e5ebdf;color:#494b40}.calendar-grid .is-today:not(.selected){border-color:transparent;text-decoration:underline;text-underline-offset:3px}.calendar-day small{color:#93978c;font-size:16px;bottom:-1px}.calendar-grid .marked-circle{border:2px solid #d6a2a2;border-radius:48% 55% 46% 52%;color:#775558}.calendar-manual-flower{position:absolute;right:-3px;top:-5px;font-size:12px;line-height:1;pointer-events:none}.date-dialog .calendar-manual-flower{font-size:16px;right:0;top:-3px}.day-nav button:last-child{white-space:normal}.date-mark-dialog{width:min(430px,94vw)}
