/* Approved A: compact, always-visible context beneath the existing day tabs. */
.ip-context,.ip-dinner{margin:0 0 20px;padding:20px;background:var(--card,#fff);border:1px solid var(--line,rgba(41,54,74,.12));border-radius:16px;color:var(--ink,#29364a)}
.ip-context h2,.ip-dinner h2{font:700 1rem/1.4 'Gotham','Work Sans',Arial,sans-serif;margin:0}
.ip-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.ip-head>div{display:flex;align-items:center;gap:12px}.ip-head h2 small{display:inline-block;font-size:.8rem;font-weight:400}
.ip-context p,.ip-dinner p{font-size:.875rem;line-height:1.6;max-width:75ch;margin:12px 0 0}
.ip-context a{color:var(--copper-text,#297678);font-weight:600;font-size:.8125rem;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
.ip-context button,.ip-dinner button{font:600 .8125rem/1.4 'Gotham','Work Sans',Arial,sans-serif;min-height:44px;border:1px solid #a8babc;border-radius:10px;background:#fff;color:#29364a;padding:10px 16px;cursor:pointer}
.ip-context button:hover,.ip-dinner button:hover{background:#edf4f4}.ip-dinner button.ip-primary{background:var(--copper-text,#297678);color:#fff;border-color:var(--copper-text,#297678)}.ip-dinner button.ip-primary:hover{background:#1f5b5d}
.ip-context button:disabled,.ip-dinner button:disabled{cursor:not-allowed;background:#e0e6e5;color:#505c63;border-color:#b7c2c3}
.ip-context :focus-visible,.ip-dinner :focus-visible{outline:3px solid #29364a;outline-offset:3px}
.ip-items{list-style:none;margin:14px 0 0;padding:0}.ip-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 24px;padding:14px 0;border-top:1px solid var(--line,rgba(41,54,74,.12));font-size:.875rem;line-height:1.5}
.ip-item>*{min-width:0;overflow-wrap:anywhere}.ip-origin,.ip-time span{display:block;font-size:.8125rem;color:#526269;margin-top:4px}.ip-time b{display:inline-block;margin-left:12px;font-size:.8125rem;color:#215e61;background:#e6f3f3;border-radius:6px;padding:2px 8px}
.ip-location{grid-column:1/-1;color:#526269}.ip-warning{color:#92442e!important;font-size:.8125rem;line-height:1.5}.ip-foot{color:#526269!important;font-size:.8125rem!important}
.ip-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;margin:16px 0 20px}.ip-suggestion>strong{font-size:1.75rem;line-height:1.3;color:#215e61}.ip-suggestion p{margin:0}
.ip-dinner fieldset{border:0;border-top:1px solid var(--line,rgba(41,54,74,.12));padding:16px 0 0;margin:0;min-width:0}.ip-dinner legend{font-size:.8125rem;font-weight:600;padding:0 8px 0 0}
.ip-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ip-dinner label{display:grid;gap:7px;font-size:.8125rem;min-width:0}.ip-dinner input{width:100%;box-sizing:border-box;min-width:0;min-height:44px;border:1px solid #a8babc;border-radius:10px;padding:10px 12px;background:#fff;color:#29364a;font:inherit}
.ip-actions{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}.ip-actions button{flex:1}.ip-picked{max-width:360px}.ip-context,.ip-dinner{overflow-wrap:anywhere}
@media(max-width:600px){.ip-context,.ip-dinner{padding:16px}.ip-item,.ip-suggestion,.ip-fields{grid-template-columns:minmax(0,1fr);gap:12px}.ip-head{gap:8px}.ip-time b{margin-left:8px}.ip-actions{flex-direction:column}.ip-picked{max-width:none}}
/* W3 (N386): one line until opened — the summary carries the day's count and the dinner time; the two cards live inside. */
.ip-disclosure{margin:0 0 14px;border:1px solid var(--line,rgba(41,54,74,.12));border-radius:14px;background:var(--card,#fff);color:var(--ink,#29364a)}
.ip-summary{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 16px;cursor:pointer;list-style:none;font:600 .875rem/1.4 'Gotham','Work Sans',Arial,sans-serif}
.ip-summary::-webkit-details-marker{display:none}.ip-summary::before{content:'';flex:none;width:8px;height:8px;border-right:2px solid #297678;border-bottom:2px solid #297678;transform:rotate(-45deg);transition:transform .15s}
.ip-disclosure[open] .ip-summary::before{transform:rotate(45deg)}.ip-summary span{min-width:0;flex:1;overflow-wrap:anywhere}.ip-summary small{flex:none;font-weight:400;font-size:.75rem;color:#526269}
.ip-summary:focus-visible{outline:3px solid #29364a;outline-offset:-3px;border-radius:14px}
.ip-disclosure-body{padding:0 16px 4px}.ip-disclosure-body .ip-context,.ip-disclosure-body .ip-dinner{margin:0 0 16px;border-radius:12px}
@media(prefers-reduced-motion:reduce){.ip-summary::before{transition:none}}
