.check-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.check-field small{flex-basis:100%;padding-left:26px}.check-field input{width:17px;height:17px;padding:0;margin:0}.task-group+.task-group,.expense-group+.expense-group{margin-top:24px}.task-group h3,.expense-group h3{margin:10px 0;color:#792b28}.task-group:first-child h3{color:#a43e36}.calendar-help{margin-top:18px;line-height:1.5}.calendar-period{margin-bottom:18px;text-align:center}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.week-day{min-height:260px;padding:9px;border-right:1px solid var(--line)}.week-day:last-child{border:0}.week-day h3{font-size:16px;padding-bottom:10px;border-bottom:1px solid var(--line);text-align:center}.trip-event{background:#e1e9ce!important}.calendar-list section+section{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.calendar-list .event{padding:12px;display:inline-block;width:calc(50% - 8px);vertical-align:top;margin-right:8px}.today-number{background:var(--accent);color:white;padding:4px 7px;border-radius:50%}.bar-chart{display:flex;align-items:flex-end;gap:9px;height:175px;margin:18px 0 5px}.bar-column{flex:1;text-align:center;min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:13px}.bar-column small{font-size:10px;white-space:nowrap}.bar-track{height:120px;display:flex;align-items:flex-end;width:55%;min-width:12px}.bar-track span{display:block;min-height:1px;width:100%;background:linear-gradient(#aeb583,#7c9659);border-radius:3px 3px 0 0}.bar-column:last-child .bar-track span{background:linear-gradient(#dc9c85,#b86b60)}.donut{width:118px;height:118px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.donut>div{width:76px;height:76px;background:#fff1eb;border-radius:50%;display:grid;place-items:center}.donut strong{font-size:24px}.finance-saving{display:flex;gap:25px;align-items:center}.finance-progress{flex:1;min-width:0}.breakdown{display:flex;align-items:center;gap:20px;min-height:210px}.chart-legend{flex:1;min-width:0}.chart-legend p{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:10px 0;font-size:14px}.chart-legend strong{margin-left:auto}.chart-legend small{flex-basis:100%;padding-left:17px}.swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.expense-icon{font-size:23px;width:30px;text-align:center;flex-shrink:0}.house-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.house-summary button{display:flex;justify-content:space-between;align-items:center;padding:20px;border-radius:10px}.house-summary span{font-size:27px;color:var(--accent)}.document-link{display:inline-block;margin:0 0 10px 30px}.timeline{position:relative;max-width:800px;margin:20px auto;padding-left:31px}.timeline:before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:#d9887c}.timeline-item{position:relative;margin-bottom:20px}.timeline-dot{position:absolute;left:-29px;top:25px;width:14px;height:14px;border:3px solid #ffe8e0;border-radius:50%;background:#c65e55;box-shadow:0 0 0 1px #d9887c}.timeline-item h2{margin:12px 0}.timeline-item .photo{max-height:245px;object-fit:cover}.timeline-item .photo-open{border-radius:9px}.timeline-item .muted{white-space:pre-line;line-height:1.5}.memory-map{width:100%;height:380px;border:1px solid var(--line);border-radius:10px;background:#f2e5dd}.retro-photos{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:15px 0}.retro-photos .photo{height:110px}.text-button{padding:0;color:var(--accent);background:none;border:0;box-shadow:none;text-align:left}.bubble-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.bubble-tiles button{border-radius:12px;padding:23px 16px;text-align:left;white-space:normal}.bubble-icon{font-size:26px;display:block;color:#c45c53;margin-bottom:12px}.bubble-tiles h2{font-size:23px}.bubble-tiles p{font-weight:400;line-height:1.4;color:var(--muted);min-height:40px}.bubble-note{white-space:pre-line;line-height:1.5}.mood-value{font-size:25px}.photo-choice input[type=checkbox]{position:absolute;left:5px;top:5px}.photo-choice:has(input:checked){border-color:#b85e56;box-shadow:0 0 0 2px #edb0a6}.bubble-tiles .card{background:linear-gradient(140deg,#fff7f1,#ffe6df)}
@media(max-width:1000px){.finance-saving{flex-wrap:wrap}.finance-progress{flex-basis:100%}.breakdown{gap:12px}.donut{width:100px;height:100px}.donut>div{width:68px;height:68px}.week-grid{grid-template-columns:repeat(7,minmax(100px,1fr));overflow-x:auto}.week-day{min-height:220px}.bubble-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.calendar-list .event{width:100%;margin-right:0}.week-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.week-day{flex:0 0 145px;scroll-snap-align:start}.week-day .event{font-size:13px}.calendar-period strong{font-size:13px}.calendar-period button{padding:7px 12px}.finance-saving{gap:14px}.finance-saving>.donut{width:85px;height:85px}.finance-saving>.donut>div{width:58px;height:58px}.donut strong{font-size:20px}.breakdown{flex-wrap:wrap}.chart-legend{min-width:120px}.bar-chart{gap:5px}.bar-column small{font-size:9px}.bar-track{width:65%}.house-summary{grid-template-columns:1fr 1fr;gap:7px}.house-summary button{padding:12px;font-size:14px}.house-summary span{font-size:23px}.timeline{padding-left:23px}.timeline:before{left:4px}.timeline-dot{left:-25px}.timeline-item .card{padding:12px}.memory-map{height:280px}.bubble-tiles{grid-template-columns:1fr 1fr;gap:8px}.bubble-tiles button{padding:16px 10px}.bubble-tiles h2{font-size:20px}.bubble-tiles p{font-size:13px}.retro-photos .photo{height:80px}.check-field{font-size:14px}}
.collection-goals .goal-thumbnail{padding:0;border-radius:10px}.collection-goals .goal-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;border-radius:10px}
.calendar .event,.week-grid .event,.calendar-list .event{background:var(--event-bg,#f7cbbd)!important;border-left:4px solid var(--event-color,#b8655d);color:#402823}.calendar-legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:0 0 18px;font-size:14px}.calendar-legend>span{display:inline-flex;align-items:center;gap:6px}.calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:50%}.color-setting{display:flex;align-items:center;gap:12px}.color-setting input[type=color]{width:54px;height:38px;padding:3px;margin:0;cursor:pointer}.calendar-legend a{margin-left:auto}
