:root{font-family:system-ui,sans-serif;color:#46252a;background:#fff7f6;font-size:16px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:1050px;margin:auto;padding:24px}h1{font-size:clamp(24px,4vw,36px);margin:4px 0 20px}h2{font-size:26px}h3{font-size:18px}p{line-height:1.5;color:#775e62}.card{background:#fff;border:1px solid #efdadc;border-radius:20px;padding:22px;margin:16px 0}.login{max-width:440px;margin:5vh auto;text-align:center}.login form{text-align:left}.sagres{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center 17%;margin-bottom:16px}label{display:block;font-size:14px;font-weight:600;margin-bottom:14px;flex:1}input,select,button{font:inherit;border-radius:10px;min-height:46px}input,select{display:block;width:100%;padding:10px;border:1px solid #d8b7bc;margin-top:7px;color:#46252a;background:#fff}button{border:0;background:#a52b35;color:white;padding:10px 18px;font-weight:600;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.login button{width:100%;margin-top:10px}.secondary{background:#f7e7e9;color:#a52b35}header,.brand{display:flex;align-items:center;gap:16px}header{justify-content:space-between}.brand p{margin:0}.brand h1{margin-bottom:0}.avatar{width:60px;height:60px;object-fit:cover;object-position:center 17%;border-radius:50%}nav{display:flex;gap:8px;overflow:auto;padding:24px 0}nav button{background:#f7e7e9;color:#a52b35;white-space:nowrap}nav button[aria-current=true]{background:#a52b35;color:#fff}.row{display:flex;gap:16px;align-items:end}.row>button{margin-bottom:14px}.item{display:flex;gap:14px;align-items:center;background:white;border:1px solid #efdadc;border-radius:12px;padding:15px;margin:10px 0}.item .body{flex:1;overflow-wrap:anywhere}.item p{margin:4px 0;font-size:14px}.item input[type=checkbox]{width:22px;min-height:22px;margin:0;flex:none}.done{text-decoration:line-through;opacity:.65}.remove{background:transparent;color:#a32935;font-size:14px;min-height:44px;padding:8px}.note,footer{font-size:13px;line-height:1.5;color:#795e63}footer{margin:24px 0}.days{display:flex;gap:16px}.days label{display:flex;align-items:center;gap:5px}.days input{width:auto;min-height:20px;margin:0}fieldset{border:1px solid #d8b7bc;border-radius:12px}#message{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#a52b35;color:white;padding:16px 22px;border-radius:12px;max-width:92vw;box-shadow:0 4px 20px #0003}#message.error{background:#912331}:focus-visible{outline:3px solid #db7d86;outline-offset:3px}@media(max-width:600px){main{padding:16px}.row{display:block}.row>button{width:100%}header{align-items:flex-start}header>button{padding:8px}.brand{gap:10px}.brand h1{font-size:23px}.avatar{width:48px;height:48px}.card{padding:18px}.days{gap:7px}.days label{display:block}.days input{margin:auto}.item{gap:10px}}
textarea{display:block;width:100%;font:inherit;color:inherit;border:1px solid #d8b7bc;border-radius:10px;padding:10px;margin-top:7px;resize:vertical}dialog{max-width:min(700px,95vw);max-height:90vh;border:0;border-radius:20px;color:#46252a;padding:24px}dialog::backdrop{background:#0007}pre{white-space:pre-wrap;font:inherit;line-height:1.5}.photo-thumb{width:70px;height:70px;object-fit:cover;border-radius:12px}.review{border-top:1px solid #efdadc;margin-top:20px;padding-top:16px}.review-line{display:flex;gap:8px;align-items:center}.review-line input[type=checkbox]{width:22px;min-height:22px}.review-line input{min-width:0}.member-photo-control{max-width:220px;font-size:12px}.item{flex-wrap:wrap}#push-status:empty{display:none}.dish{background:#fff7f6;padding:16px;border-radius:14px;margin:16px 0}#receipt-review label{margin-top:12px}

.week-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.week-toolbar h3{margin:8px 0 8px 8px}.week-scroll{overflow-x:auto;margin:16px 0 28px;border:1px solid #efdadc;border-radius:16px;background:white}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(115px,1fr));min-height:230px}.week-day{min-width:0;padding:10px;border-right:1px solid #efdadc}.week-day:last-child{border:0}.week-day h4{margin:0 0 14px;text-transform:capitalize;font-size:14px}.week-day.is-today{background:#fff0f1}.week-day.is-today h4{color:#a52b35;text-decoration:underline;text-underline-offset:5px}.week-event{display:block;width:100%;text-align:left;margin:8px 0;padding:9px;background:#f7e7e9;color:#a52b35;font-size:13px;overflow-wrap:anywhere}.week-event span{display:block;font-size:12px;margin-bottom:5px}.week-add{background:transparent;color:#a52b35;font-size:12px;padding:8px 0}.week-empty{font-size:12px;color:#80676c}.week-mobile-note{display:none}@media(max-width:850px){.week-mobile-note{display:block}.week-toolbar h3{width:100%;margin-left:0}}

.sagres{width:170px;height:210px;border-radius:0;object-fit:contain;object-position:center}.avatar{object-fit:contain;object-position:center;border-radius:0}.comparison-table{width:100%;border-collapse:collapse;text-align:left}.comparison-table th,.comparison-table td{padding:12px 8px;border-bottom:1px solid #efdadc}.comparison-table th:last-child,.comparison-table td:last-child{text-align:right;white-space:nowrap}.expense-summary>h3:first-child{margin-top:0}input[type=checkbox]{accent-color:#a52b35}

@media(max-width:600px){#expenses-list .item .body{flex-basis:100%}#expenses-list .item{align-items:flex-start}#expenses-list .item strong{display:block}}

.week-calendar{grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;gap:3px;padding:8px}.week-day{background:#fff7f6;color:#a52b35;border:0!important;padding:10px 2px;border-radius:10px;text-align:center;min-width:0}.week-day span,.week-day strong,.week-day small{display:block}.week-day span{font-size:12px}.week-day strong{font-size:21px;margin:4px 0}.week-day small{font-size:10px;font-weight:400;line-height:1.7;white-space:nowrap}.week-day[aria-pressed=true]{background:#a52b35;color:white}.week-day.is-today span{text-decoration:underline;text-underline-offset:3px}.week-mobile-note{display:block}.agenda-day-detail{padding:16px;border-top:1px solid #efdadc}.agenda-day-detail h3{text-transform:capitalize}.agenda-day-detail h4{margin-top:24px}.agenda-meal{border:1px solid #efdadc;padding:14px;border-radius:12px;margin:12px 0}.agenda-meal button{font-size:13px;margin:4px 6px 0 0}.agenda-day-detail .week-event{font-size:16px}.agenda-day-detail .week-event span{font-size:14px}

.agenda-day-detail h3{text-transform:none}.agenda-day-detail h3::first-letter{text-transform:uppercase}

.product-suggestions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}.product-suggestions button{font-size:14px}#event-form>.row{flex-wrap:wrap}#event-form>.row>label{min-width:180px}

.product-picker{position:relative;flex:1;display:flex;align-items:end;gap:8px;min-width:0}.product-picker>label{flex:1;min-width:0}.product-picker>.product-suggestions{position:absolute;top:100%;left:0;right:0;z-index:10;display:block;max-height:280px;overflow:auto;background:white;border:1px solid #dca0a5;border-radius:12px;box-shadow:0 8px 20px #46252a22;padding:6px}.product-suggestions[hidden]{display:none!important}.product-picker .product-suggestions button{display:block;width:100%;text-align:left;background:white;color:#46252a;margin:0;border-radius:6px}.product-picker .product-suggestions button:hover,.product-picker .product-suggestions button:focus{background:#f7e1e3}.product-picker #product-toggle{width:48px;flex-shrink:0}summary{cursor:pointer;font-weight:bold}#calendar-form{margin-top:16px}

.agenda-day-detail .week-event,.agenda-day-detail .week-event span,.agenda-day-detail .week-event strong{color:#000}

.participant-choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.participant-choices label{display:flex;align-items:center;gap:6px}.participant-choices input{width:auto}.week-event small{display:block;margin-top:6px;font-weight:400;color:#000}

/* Una semana, con todo el contenido dentro del día. */
.week-calendar{gap:8px;padding:8px;align-items:stretch}.week-day{text-align:left;padding:10px;color:#000;overflow-wrap:anywhere}.week-day h3{text-align:center;margin:0 0 16px;color:#a52b35}.week-day h3 span{font-size:13px}.week-day h3 strong{font-size:25px}.week-day h4{font-size:13px;margin:16px 0 8px}.week-day .week-event,.week-day .week-event span,.week-day .week-event strong{color:#000}.week-day .week-event strong{font-size:14px;line-height:1.35}.week-day .week-event small{white-space:normal;font-size:12px}.week-day .week-event{padding:9px;font-size:13px}.week-day>button.secondary{font-size:12px;padding:8px;width:100%}.week-day .agenda-meal{padding:8px;background:white}.week-day .agenda-meal strong{font-size:13px}.week-day .agenda-meal p{font-size:13px;line-height:1.4}.week-day .agenda-meal button{font-size:12px;margin:4px 0;padding:7px}.week-day>p{font-size:12px}.week-day.is-today{outline:2px solid #a52b35;outline-offset:-2px}.expense-day{margin:20px 0}.expense-day h4{color:#000}#shopping-entry .row{margin:14px 0}#shopping-entry [hidden]{display:none!important}
@media(max-width:950px){.week-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}.week-day:last-child{grid-column:1/-1}}
#shopping-form .product-picker{display:grid;grid-template-columns:minmax(0,1fr) 48px;width:100%}#shopping-form .product-suggestions{position:static;grid-column:1/-1;margin:0;width:100%}#shopping-form{align-items:start}.week-day.is-today span{text-decoration:none}.week-day.is-today h3 span{text-decoration:underline}.week-day.is-today h4{color:#000;text-decoration:none}

.photo-open{padding:0;background:transparent;flex-shrink:0;cursor:zoom-in}.photo-open .photo-thumb{display:block;object-fit:contain}#photo-dialog{width:min(1000px,96vw);max-width:96vw;padding:16px}#photo-large{overflow:auto;max-height:70vh;margin-top:12px}#photo-large img{display:block;max-width:none;height:auto;object-fit:contain}#shopping-preview .photo-thumb{width:120px;height:120px}

.photo-open{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:90px;min-height:90px;touch-action:manipulation}.photo-open span{display:block;font-size:12px;color:#a52b35;padding:4px}.photo-open img{pointer-events:none}#photo-dialog[open]{position:fixed;inset:0;box-sizing:border-box;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0;overflow:auto}#photo-large{height:calc(100dvh - 210px);max-height:none;min-height:180px;touch-action:pan-x pan-y pinch-zoom}#photo-large img{min-width:100%;max-width:none}#photo-close{position:sticky;top:0;z-index:1}
