.view-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:8px 10px;border-bottom:1px solid var(--line);flex-shrink:0;background:#fbfcfd}.view-modes button{font-size:11px;padding:10px 2px;background:transparent;color:#637886;white-space:nowrap;border-radius:6px}.view-modes button[aria-pressed=true]{background:#e5eff7;color:#126b9e;box-shadow:inset 0 -2px #248bd0}.calendar-month{padding:22px 12px 20px;border-bottom:1px solid var(--line)}.calendar-month h2{margin:0 0 16px;font-size:17px;font-weight:600;color:#3c5261}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{margin-bottom:9px;text-align:center;font-size:10px;color:#7c8993}.calendar-week span:first-child{color:#b66a69}.calendar-week span:last-child{color:#5183ac}.calendar-cell{min-width:0;min-height:42px}.calendar-date{width:100%;min-height:35px;aspect-ratio:1;border-radius:7px;color:#66747e;background:transparent;padding:3px;font-size:13px;position:relative;font-weight:500}.calendar-date.has-entries{color:white;text-shadow:0 1px 3px #0008;font-weight:700}.calendar-date small{position:absolute;bottom:1px;right:2px;font-size:8px;line-height:1.1;padding:1px 3px;border-radius:4px;background:#0005;color:white}.calendar-date[aria-current=date]{box-shadow:inset 0 0 0 2px #2c8cc8}.calendar-date.selected{outline:2px solid #244d68;outline-offset:2px}.calendar-anniversary{display:block;width:100%;padding:2px 0;background:transparent;color:#a25e36;border-radius:0;text-align:center;font-size:9px;overflow-wrap:anywhere;line-height:1.4;margin:2px 0}.calendar-day-pane{padding:28px 32px}.calendar-day-pane h2{font-size:23px;margin:0 0 8px}.calendar-day-pane>p{font-size:12px;color:#788b99}.calendar-day-entry{display:flex;flex-direction:column;gap:8px;width:100%;background:#f5f8fb;color:var(--ink);text-align:left;padding:18px;margin:15px 0}.calendar-day-entry strong{font-size:16px}.calendar-day-entry small{font-size:11px;color:#608095}.calendar-day-entry span{font-size:12px;line-height:1.8;font-weight:400;white-space:pre-wrap}.mode-hint{font-size:11px;line-height:1.8;margin:14px;color:#788b99}.photo-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px}.gallery-card{min-width:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white}.gallery-image{width:100%;aspect-ratio:1;display:grid;place-items:center;padding:0;border-radius:0;background:#edf2f5;color:#789;font-size:11px;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:cover}.gallery-card>small{display:block;padding:7px;font-size:10px;color:#789}.gallery-retrieve{display:block;margin:0 6px 7px;padding:7px;font-size:10px;background:#e7f0f7;color:#2474a6}.location-plot{position:relative;height:210px;margin:14px;border:1px solid #d7e3e8;border-radius:10px;background:linear-gradient(#e3edf2 1px,transparent 1px),linear-gradient(90deg,#e3edf2 1px,transparent 1px),#f5f8fa;background-size:25% 25%;overflow:hidden}.location-plot>small{position:absolute;top:8px;left:9px;font-size:10px;color:#678}.location-pin{position:absolute;border-radius:50%;padding:0;min-width:25px;height:25px;font-size:10px;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0002}.location-card{padding:14px;border-bottom:1px solid var(--line)}.location-entry{display:block;width:100%;text-align:left;background:transparent;color:#3d596b;font-size:13px;padding:0;line-height:1.7}.location-card a{display:inline-block;color:#247aaa;font-size:11px;margin-top:8px}.calendar-day-pane[hidden]{display:none!important}@media(max-width:760px){.view-modes{padding:8px 14px}.view-modes button{font-size:12px;min-height:42px}.calendar-month{padding:22px 18px}.calendar-grid,.calendar-week{gap:7px}.calendar-date{min-height:40px;font-size:15px}.calendar-day-pane{padding:24px 20px}.calendar-anniversary{font-size:10px}.photo-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.view-modes,.calendar-day-pane{display:none!important}}
.calendar-month .calendar-week{position:sticky;top:0;background:#fbfcfd;padding:8px 0;z-index:2}
@media screen and (min-width:1200px){.app-shell:has(.view-modes [data-mode=calendar][aria-pressed=true]){grid-template-columns:246px minmax(390px,480px) minmax(0,1fr)}}
