/* Daily meals stay on the calendar independently of common availability. */
.frame .planning-availability-column { position:relative; }
.frame .rencontre-daily-layer { position:absolute; inset:0; z-index:4; pointer-events:none; }
.frame .planning-panel .rencontre-daily-slot { position:absolute; left:50%; transform:translate(-50%,-50%); display:flex; align-items:center; justify-content:center; gap:2px; width:32px; height:29px; min-width:0; min-height:0; padding:2px; border:1px solid #ceb56c; border-radius:7px; background:#fff8df; box-shadow:0 1px 3px #3b392022; pointer-events:auto; }
.frame .rencontre-kind-icon { display:inline-grid; place-items:center; flex:none; font-size:20px; width:25px; height:25px; line-height:1; }
.frame .rencontre-daily-count { position:absolute; right:-5px; bottom:-4px; min-width:12px; padding:1px 2px; border-radius:8px; background:#3b6950; color:white; font:9px/12px sans-serif; }
.frame .planning-panel .rencontre-daily-slot:disabled { opacity:.42; }
.frame .planning-rendezvous-views { gap:10px; flex-wrap:wrap; margin-bottom:10px; }
.frame .planning-panel .planning-rendezvous-views > :is(.rencontre-create-meal,.rencontre-create-outing) { width:40px; min-width:40px; padding:4px; font-size:24px; }
.frame .planning-rendezvous-list { gap:4px; }
.frame .planning-rendezvous-entry,.frame .planning-rendezvous-entry:first-child { margin:0; padding:5px 7px; border-radius:5px; }
.frame .planning-rendezvous-entry-heading { grid-template-columns:auto minmax(0,1fr) auto; gap:7px; }
.frame .planning-panel .planning-rendezvous-inspect { font-size:11px; gap:1px 7px; min-height:26px; line-height:1.25; }
.frame .planning-rendezvous-inspect .rencontre-kind-icon { width:20px; height:20px; font-size:17px; }
.frame .rencontre-kind-label { font-weight:600; }
.frame .planning-rendezvous-entry .planning-rendezvous-actions { gap:4px; }
.frame .planning-panel .planning-rendezvous-actions button { width:25px; min-width:25px; height:25px; min-height:25px; padding:3px; font-size:20px; }
.frame .planning-rendezvous-actions svg { width:17px; height:17px; }
.frame .planning-panel .planning-rendezvous-actions .is-confirming { color:#3f784b; border-color:#75a87d; background:#edf6e9; }
.frame .planning-rendezvous-entry .planning-rendezvous-people { gap:3px; max-width:180px; }
.frame .planning-panel .planning-rendezvous-entry .planning-rendezvous-person { width:20px; gap:0; }
.frame .planning-rendezvous-entry .planning-rendezvous-person .mono { width:19px; height:19px; font-size:11px; box-shadow:none; }
.frame .planning-rendezvous-entry .planning-rendezvous-person .lbl { display:none; }
.frame .planning-rendezvous-entry.is-meeting-open .planning-rendezvous-person { width:23px; }
.frame .rencontre-seat-count { color:var(--ink-soft); font-size:9px; white-space:nowrap; }
.frame .planning-rendezvous-dishes { margin-top:5px; padding:0; gap:5px; }
.frame .planning-rendezvous-entry .planning-rendezvous-recipe { position:relative; display:block; width:45px; padding:0; margin:0; border:0; }
.frame .planning-rendezvous-entry .planning-rendezvous-recipe-name.card { display:block; width:45px; min-width:0; padding:0; border:1px solid #ddd7ca; border-radius:4px; overflow:hidden; background:#fff; color:#3a352f; text-decoration:none; }
.frame .planning-rendezvous-entry .planning-rendezvous-photo { display:block; width:45px; height:34px; border-radius:0; object-fit:cover; }
.frame .planning-rendezvous-entry .planning-rendezvous-dish-title.ct { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:14px; max-height:18px; padding:2px 3px; font:6px/7px sans-serif; text-align:center; }
.frame .planning-panel .planning-rendezvous-recipe .planning-rendezvous-remove { position:absolute; top:-4px; right:-4px; display:grid; place-items:center; width:17px; height:17px; min-width:17px; min-height:17px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--paper); font-size:15px; }
.frame .planning-panel .planning-rendezvous-recipe .planning-rendezvous-remove[hidden] { display:none; }
.frame .planning-rendezvous-form.is-inline { gap:8px; padding-top:8px; }
.frame .planning-rendezvous-form.is-inline .planning-field { margin:0; font-size:10px; }
.frame .planning-rendezvous-form.is-inline .planning-rendezvous-hours { gap:6px; }
.frame .rencontre-seats { width:65px; box-sizing:border-box; }
.frame .rencontre-types { display:flex; gap:6px; }
.frame .planning-panel .rencontre-type { padding:4px 9px; min-height:30px; font-size:12px; }
.frame .rencontre-type[aria-pressed=true] { background:#eef4e4; border-color:#8aa875; }
.frame .rencontre-activities { display:grid; grid-template-columns:repeat(auto-fill,minmax(65px,1fr)); gap:6px; width:100%; }
.frame .planning-panel .rencontre-activity { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-width:0; min-height:72px; padding:6px 3px; border:1px solid var(--line); border-radius:7px; background:var(--paper); }
.frame .rencontre-activity[aria-pressed=true] { background:#f2e8cc; outline:2px solid #b79755; }
.frame .rencontre-activity-icon { font-size:29px; line-height:1.2; }
.frame .rencontre-activity-name { font-size:9px; line-height:1.2; }
.frame .rencontre-recipe-picker { margin-top:7px; font-size:11px; }
.frame .rencontre-recipe-picker summary { cursor:pointer; color:var(--ink-soft); }
.frame .rencontre-recipe-search { box-sizing:border-box; width:100%; margin:6px 0; padding:6px; }
.frame .rencontre-recipe-results { display:flex; flex-wrap:wrap; gap:6px; max-height:190px; overflow:auto; }
.frame .planning-panel .rencontre-recipe-choice { display:flex; flex-direction:column; width:65px; min-width:0; min-height:0; padding:0; gap:0; background:white; border:1px solid var(--line); border-radius:4px; overflow:hidden; }
.frame .rencontre-recipe-choice img { width:65px; height:48px; object-fit:cover; }
.frame .rencontre-recipe-choice span { padding:3px; font-size:8px; line-height:1.15; color:#352f28; }
.frame .rencontre-incoming { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 10px; margin:0 0 7px; border:1px solid #a9bfa0; border-radius:5px; background:#eff5e8; font-size:12px; }
.frame .planning-panel .rencontre-incoming-close { width:25px; min-width:25px; min-height:25px; padding:0; }
.frame .planning-panel .rencontre-add-incoming { color:#3e7647; border-color:#91b484; }
.frame .rencontre-types[hidden],.frame .rencontre-activities[hidden],.frame .rencontre-incoming[hidden] { display:none; }
@media(max-width:650px) {
 .frame .planning-rendezvous-entry-heading { grid-template-columns:auto minmax(0,1fr); gap:5px; }
 .frame .planning-rendezvous-entry-heading > .planning-rendezvous-people { grid-column:2; justify-content:flex-start; max-width:none; }
 .frame .planning-panel .planning-rendezvous-inspect { font-size:10px; }
 .frame .planning-rendezvous-entry,.frame .planning-rendezvous-entry:first-child { padding:4px 5px; }
 .frame .planning-rendezvous-views { gap:7px; }
 .frame .planning-panel .planning-rendezvous-views > button { width:89px; min-width:89px; gap:5px; }
 .frame .planning-panel .rencontre-daily-slot { width:26px; height:26px; }
 .frame .rencontre-daily-slot .rencontre-kind-icon { font-size:18px; }
 .frame .rencontre-activities { grid-template-columns:repeat(auto-fill,minmax(60px,1fr)); }
}
html[data-display=paper] .frame .planning-rendezvous-entry { background:#fff; }
.frame .planning-rendezvous-form .planning-rendezvous-person .lbl { white-space:nowrap; font-size:11px; }
