/* Partner-local plans: a quiet date rail, using the existing theme and Dialog. */
.partner-week { min-width:0; }
.partner-week header { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.partner-week h2 { margin:0; }
.partner-week header p { margin:4px 0 0; font-size:.85rem; color:var(--color-ink-muted); }
#scheduleStatus:empty { display:none; }
.partner-week header button { flex-shrink:0; }
.schedule-stream { max-height:290px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.schedule-stream h3 { font-size:.8rem; margin:14px 0 6px; color:var(--identity-partner,var(--color-ink)); }
.schedule-stream p { font-size:.85rem; color:var(--color-ink-muted); }
.schedule-row { display:grid; grid-template-columns:62px minmax(0,1fr); gap:10px; text-align:left; width:100%; padding:9px 10px; margin:5px 0; border:1px solid var(--surface-border); border-radius:13px; background:var(--surface-soft); color:var(--color-ink); font:inherit; min-height:48px; }
.schedule-row time { font-size:.8rem; color:var(--identity-partner,var(--color-ink)); }
.schedule-row strong,.schedule-row small { display:block; overflow-wrap:anywhere; }
.schedule-row small { font-size:.8rem; color:var(--color-ink-muted); margin-top:3px; }
.schedule-row:focus-visible,.schedule-stream:focus-visible { outline:2px solid var(--identity-partner,var(--color-accent)); outline-offset:2px; }
.schedule-own-item { border-bottom:1px solid var(--surface-border); padding:8px 0; }
.schedule-own-item .ui-actions { margin:4px 0; }
.schedule-own-item p { margin:4px 0; overflow-wrap:anywhere; }
.schedule-dialog { width:min(440px,calc(100% - 24px)); }
.schedule-dialog h2 { margin:0 0 18px; }
.schedule-dialog form { width:100%; }
.schedule-dialog fieldset { border:0; padding:0; margin:0; min-width:0; display:grid; gap:14px; }
.schedule-dialog label { min-width:0; font-size:.85rem; display:grid; gap:6px; }
#scheduleForm input,#scheduleForm select,#scheduleForm textarea { box-sizing:border-box; width:100%; font-size:16px; min-height:44px; max-width:100%; border-radius:12px; }
.schedule-dialog .schedule-input-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.schedule-dialog .schedule-privacy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }
.schedule-privacy legend { margin-bottom:6px; grid-column:1/-1; }
.schedule-dialog .schedule-privacy label { display:flex; justify-content:center; align-items:center; gap:4px; padding:5px; border:1px solid var(--surface-border); border-radius:12px; min-height:44px; white-space:nowrap; }
#scheduleForm .schedule-privacy input[type=radio] { width:16px; height:16px; min-height:16px; flex:0 0 16px; margin:0; padding:0; accent-color:var(--identity-self); }
.schedule-dialog .schedule-privacy label:has(:checked) { background:var(--surface-soft); border-color:var(--identity-self); }
.schedule-dialog [hidden] { display:none!important; }
.schedule-dialog details { min-width:0; }
.schedule-dialog summary { cursor:pointer; padding:8px 0; }
.schedule-dialog small { color:var(--color-ink-muted); }
#scheduleZoneSummary { display:grid; gap:2px; padding:2px 1px; color:var(--color-ink); }
#scheduleZoneSummary span:last-child { color:var(--color-ink-muted); font-size:.8rem; }
.schedule-dialog button { min-height:44px; }
.schedule-dialog p { overflow-wrap:anywhere; white-space:pre-wrap; }
@media(max-width:350px) { dialog.schedule-dialog { padding:16px; }.schedule-dialog .schedule-privacy label { padding:4px; gap:3px; }.partner-week header { gap:6px; } }
.partner-week { --board-base:var(--sky-accent,#a63962); }
.schedule-week-nav { display:flex; align-items:center; justify-content:space-between; gap:4px; margin-top:8px; }
.schedule-week-nav button { border:0; background:transparent; color:var(--color-ink); min-height:44px; min-width:44px; font:inherit; }
#scheduleWeekLabel { font-size:.8rem; flex:1; }
.schedule-board { display:flex; align-items:flex-start; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; scrollbar-width:none; min-height:282px; border-radius:16px; background:color-mix(in srgb,var(--surface-raised) 55%,transparent); transition:height .18s ease; }
.schedule-board:empty { display:none; }
.schedule-week { flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always; }
.schedule-week.is-overflowing { max-height:min(760px,78vh); overflow-y:auto; overscroll-behavior-y:contain; }
.schedule-days,.schedule-lane { display:grid; grid-template-columns:42px repeat(7,minmax(0,1fr)); }
.schedule-days { height:40px; align-items:center; text-align:center; font-size:10px; }
.schedule-days strong,.schedule-days span { display:block; }
.schedule-days strong { font-size:12px; }
.schedule-lane { align-items:stretch; border-top:1px solid var(--surface-border); min-height:48px; }
.schedule-lane-name { display:flex; align-items:center; justify-content:center; padding:4px 2px; color:var(--color-ink-muted); font-size:9px; line-height:1; white-space:nowrap; writing-mode:vertical-rl; transform:rotate(180deg); }
.schedule-lane-cell { min-width:0; display:grid; align-content:start; gap:3px; padding:3px 2px; border-left:1px solid var(--surface-border); }
.schedule-board .schedule-event { display:flex; flex-direction:column; align-items:stretch; min-width:0; min-height:42px; width:100%; padding:0; margin:0; border:1px solid color-mix(in srgb,var(--event-tone) 30%,transparent); border-radius:7px; overflow:hidden; background:color-mix(in srgb,var(--event-tone) 15%,var(--surface-raised)); color:var(--color-ink); font:10px/1.2 var(--font-body,system-ui); text-align:left; }
.schedule-event-time { display:block; background:var(--event-tone); color:white; padding:3px 2px; font-size:9px; line-height:1.1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.schedule-board .schedule-event strong { display:-webkit-box; min-height:25px; padding:3px 2px; font-size:10px; line-height:1.2; font-weight:600; overflow:hidden; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.schedule-event[data-privacy=busy] { --event-tone:#4b5158; }
.schedule-week-note { height:28px; margin:0; padding:6px 4px; font-size:10px; color:var(--color-ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.schedule-event:focus-visible,.schedule-week-nav button:focus-visible { outline:2px solid var(--identity-partner); outline-offset:-2px; }
@media(prefers-reduced-motion:reduce) { .schedule-board { transition:none; } }
@media(max-width:350px) { .schedule-board .schedule-event strong { display:block; min-height:22px; white-space:nowrap; text-overflow:ellipsis; } }
.schedule-board .schedule-event{min-height:44px}
