.task-meta{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:11px;color:#53665b;margin-top:9px;line-height:1.5}.task-meta .overdue{color:#943b2d;font-weight:700}.priority{background:#fff1d6;color:#774b10;border-radius:4px;padding:0 6px}.task-actions{display:flex;gap:8px;flex-shrink:0}.task-actions button{font-size:12px;padding:8px 10px}.planning-filters{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 0 16px;border-bottom:1px solid #edf0e9}.planning-filters select,.event-filter select{font-size:13px}.event-filter{margin-bottom:20px;max-width:220px}.agenda-day{font-size:12px;font-weight:600;letter-spacing:.4px;color:#607357;padding-top:14px;margin-top:12px;border-top:1px solid #edf0e9}@media(max-width:700px){.task-row{align-items:flex-start;flex-direction:column}.task-actions{align-self:flex-end}.planning-filters{grid-template-columns:1fr}}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.calendar-toolbar label{max-width:12rem}.calendar-scroll{overflow-x:auto;padding:2px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:1px;background:#d7ded6;border:1px solid #d7ded6}.calendar-cell{background:#fffefa;min-height:130px;padding:10px;overflow-wrap:anywhere}.calendar-cell h4{margin:0 0 10px;font-size:.8rem}.muted-day{background:#f0f2ec}.today-cell{box-shadow:inset 0 0 0 2px #45624e}.calendar-event,.calendar-task{padding:7px;margin:5px 0;border-radius:6px;font-size:.8rem;background:#e4ede2}.calendar-task{background:#f5ebd8}.calendar-cell strong,.calendar-cell small{display:block}.calendar-cell small{font-size:.7rem;line-height:1.4}
.wish-form{border-top:1px solid #d7ded6;margin-top:1.5rem;padding-top:1rem}textarea{font:inherit;padding:.8rem;border:1px solid #bcc8bc;border-radius:8px;min-height:90px;width:100%;box-sizing:border-box}.row a{font-size:.85rem;color:#294b38}.row{gap:1rem}

.moments-feed{max-width:760px;margin:2rem auto}.moments-feed>article{margin-bottom:1rem}.moment-reactions{display:flex;gap:.5rem;flex-wrap:wrap}.moment-reactions [aria-pressed="true"]{background:#d9eee4}.media-picker{padding:1rem;border:2px dashed #9dbeb1;border-radius:12px}.media-picker input{margin-top:.5rem}

.moment-photo,.moment-video,.moment-preview{display:block;max-width:100%;width:auto;object-fit:contain;margin:0 auto 1rem}.moment-photo{max-height:480px}.moment-video{max-height:480px}.moment-preview{max-height:300px}details>summary{cursor:pointer;padding:.7rem 0;font-weight:600}details[open]>summary{margin-bottom:.5rem}button:disabled{cursor:wait}input[type=file]{max-width:100%;min-width:0}.moment-reactions button{min-height:44px;min-width:44px}.moments-feed .pill{margin-top:.5rem}
@media(max-width:600px){.moment-reactions{gap:.25rem}.moment-reactions button{padding:.65rem}.moments-feed>article{padding:1rem}.moment-photo,.moment-video{max-height:65vh}}
.media-error{padding:.8rem;background:#fff1d9;color:#614016;border-radius:8px;line-height:1.5}

/* Keyboard focus and compact-screen safeguards across household tools. */
textarea:focus-visible,summary:focus-visible{outline:3px solid #b27824;outline-offset:4px}
summary{min-height:44px}
.content,.card,.stat,.row>div,form,label{min-width:0}
.card h2,.card h3,.row strong,.row small,.stat strong{overflow-wrap:anywhere}
aside{overflow-y:auto}
@media(max-width:600px){
 .stats{grid-template-columns:1fr}
 .row{flex-wrap:wrap}
 .row>div{flex:1 1 180px}
 .row form{flex:0 0 auto}
 button{min-height:44px}
 textarea,input:not([type=checkbox]),select{font-size:16px}
}
.upkeep-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;align-items:start}.upkeep-card{margin-bottom:0;padding:18px}.upkeep-card h3{margin:12px 0 8px}.upkeep-card>p{font-size:13px}.upkeep-card details form{margin:16px 0}
@media(max-width:600px){
 .task-row>div{flex:0 1 auto;width:100%}
 .task-row .task-actions{justify-content:flex-end;align-items:flex-start;flex-wrap:wrap}
 .task-row .task-actions button{flex:0 0 auto}
}
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px;max-width:420px;margin:8px 0 14px}.emoji-grid button{font-size:24px;min-height:44px;padding:6px}.moment-reactions{row-gap:8px}
