.adult-planner { margin: 2rem 0 3rem; padding: clamp(1rem,3vw,2rem); border: 1px solid #c5d5d8; border-radius: 1.4rem; background: #f0f6f5; color: #193d48; scroll-margin-top: 6rem; }
.adult-planner h2 { margin: 0 0 .8rem; font: 500 clamp(1.8rem,3vw,2.6rem)/1.1 Georgia,serif; }
.adult-planner p { max-width: 65ch; line-height: 1.6; }
.adult-planner__privacy, .adult-planner__hint { font-size: .9rem; }
.adult-planner__privacy { border-left: 3px solid #538779; padding-left: 1rem; }
.adult-planner label { display: grid; gap: .4rem; font-weight: 650; }
.adult-planner input:not([type=checkbox]), .adult-planner textarea { width:100%; min-width:0; min-height: 2.8rem; padding: .7rem; border: 1px solid #819ba4; border-radius: .6rem; background: white; color: #162d39; font: 400 1rem/1.4 system-ui,sans-serif; }
.adult-planner select { width:100%; min-width:0; min-height:2.8rem; padding:.6rem; border:1px solid #819ba4; border-radius:.6rem; background:white; color:#162d39; font:400 1rem/1.4 system-ui,sans-serif; }
.adult-planner textarea { resize: vertical; }
.adult-planner__label { max-width: 34rem; margin-block: 1.5rem; }
.adult-planner__items { display:grid; gap:.65rem; margin-bottom:1rem; }
.adult-planner__item { display:grid; grid-template-columns:2.6rem minmax(0,1fr) auto; align-items:center; gap:.5rem; }
.adult-planner input[type=checkbox] { width:1.5rem; height:1.5rem; margin:.5rem; accent-color:#286554; cursor:pointer; }
.adult-planner button, .baby-planner-print__controls button { min-height:2.8rem; padding:.65rem 1rem; border:1px solid #315e6a; border-radius:999px; background:white; color:#193d48; font:650 .95rem/1.3 system-ui,sans-serif; cursor:pointer; }
.adult-planner [data-planner-preview] { background:#234f5b; color:white; }
.adult-planner button:disabled { opacity:.5; cursor:default; }
.adult-planner :is(button,input,textarea,select,summary):focus-visible, .baby-planner-print button:focus-visible { outline:3px solid #ad732b; outline-offset:3px; }
.adult-planner__week { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.adult-planner fieldset { min-width:0; padding:1rem; margin:0; border:1px solid #b4c9cc; border-radius:.8rem; background:white; }
.adult-planner legend { padding:0 .4rem; font-size:1.2rem; font-weight:700; }
.adult-planner fieldset label + label { margin-top:.9rem; }
.adult-planner__field-count { font-size:.85rem; font-weight:400; color:#315e6a; }
.adult-planner [hidden] { display:none!important; }
.adult-planner__week-tools { margin-bottom:1.5rem; }
.adult-planner__week-bar { display:flex; flex-wrap:wrap; align-items:end; gap:.6rem; }
.adult-planner__week-bar label { max-width:15rem; }
.adult-planner__people { padding:1rem; border:1px solid #b4c9cc; border-radius:.8rem; background:white; }
.adult-planner__people h3 { margin:0 0 .5rem; }
.adult-planner__person-add { display:flex; flex-wrap:wrap; align-items:end; gap:.6rem; margin:.6rem 0; }
.adult-planner__person-add label { flex:1 1 12rem; }
.adult-planner__people-manage { list-style:none; margin:.7rem 0; padding:0; }
.adult-planner__people-manage li { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.3rem 0; overflow-wrap:anywhere; }
.adult-planner__person-chips { display:flex; flex-wrap:wrap; gap:.5rem; margin:.8rem 0; }
.adult-planner__drag-tray { position:sticky; top:var(--planner-drag-top,1rem); z-index:3; display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; padding:.7rem; margin-bottom:1rem; border:1px solid #b4c9cc; border-radius:.8rem; background:#f3f8f5; box-shadow:0 3px 10px #162d3915; }
.adult-planner__drag-tray[hidden] { display:none; }
@media (max-width:650px), (pointer:coarse) { .adult-planner__drag-tray { display:none; } }
.adult-planner__person-chip { padding:.4rem .8rem; border:1px solid #538779; border-radius:999px; background:#edf5f0; font-weight:650; cursor:grab; overflow-wrap:anywhere; max-width:100%; }
.adult-planner .adult-planner__day-heading { margin:1.2rem 0 .5rem; font:700 1.2rem/1.3 system-ui,sans-serif; }
.adult-planner__task-choices { margin-bottom:.8rem; }
.adult-planner__task-choices details { margin-top:.3rem; }
.adult-planner__task-choices summary { font-size:.9rem; overflow-wrap:anywhere; }
.adult-planner__choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
.adult-planner .adult-planner__choice { display:flex; align-items:center; gap:.25rem; margin:0; padding:.25rem; min-height:2.75rem; border-radius:.4rem; font-size:.9rem; line-height:1.3; font-weight:500; overflow-wrap:anywhere; }
.adult-planner .adult-planner__choice input { flex:0 0 1.2rem; width:1.2rem; height:1.2rem; margin:.25rem; }
.adult-planner .adult-planner__choice--own-time { background:#dceee2; color:#185332; font-weight:700; }
.adult-planner .adult-planner__choice-heading { margin:.7rem 0 .4rem; font-size:.9rem; font-weight:700; }
.adult-planner__assignees { margin:.7rem 0; padding:.5rem; border:1px dashed #819ba4; border-radius:.5rem; }
.adult-planner__assignees.is-dragover { background:#dceee4; outline:2px solid #286554; }
.adult-planner__companion { margin-top:1rem; padding:1rem; border:1px solid #c3b384; border-radius:.8rem; background:#fffaf0; }
.adult-planner__companion h3 { margin:0; font:700 1.3rem/1.3 Georgia,serif; }
.adult-planner__companion-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.adult-planner__companion-card { margin:.8rem 0; }
.adult-planner__companion-card h4 { margin:.5rem 0; }
.adult-planner__companion-card p { margin:.4rem 0; }
.adult-planner__chosen-idea { margin:.7rem 0; padding:.6rem; border-left:3px solid #b49a59; background:#fffaf0; }
.adult-planner__chosen-idea p { margin:.3rem 0; }
.adult-planner__chosen-idea > a { display:block; font-size:.9rem; margin:.3rem 0; }
@media(max-width:650px) { .adult-planner__companion-controls { grid-template-columns:1fr; } }
.adult-planner__actions { display:flex; flex-wrap:wrap; align-items:start; gap:.8rem; }
.adult-planner__import { max-width:100%; font-size:.9rem; }
.adult-planner__import input { max-width:23rem; }
.adult-planner [role=status] { min-height:1.6em; font-weight:650; }
.adult-planner__reset { margin-top:1.5rem; border-top:1px solid #c5d5d8; padding-top:1rem; }
.adult-planner summary { cursor:pointer; padding:.6rem 0; }
.adult-planner__count { font-weight:700; }
.baby-planner-print { display:none; }
.baby-planner-print.is-preview { display:block; margin:2rem auto; padding:1rem; max-width:52rem; color:#162d39; background:white; }
.baby-planner-print__controls { padding:1rem; background:#eef5f4; }
.baby-planner-print__controls button { margin:0 .5rem .5rem 0; }
.baby-planner-print__page { padding:1.5rem; border:1px solid #a6b7bd; margin-top:1rem; font: 15px/1.4 Arial,sans-serif; overflow-wrap:anywhere; }
.baby-planner-print__page h1 { font:700 25px/1.1 Georgia,serif; margin:0 0 .5rem; }
.baby-planner-print__brand { font-weight:700; letter-spacing:.06em; }
.baby-planner-print__day { margin:1rem 0; padding:0 0 .6rem; border-bottom:1px solid #a6b7bd; }
.baby-planner-print__day h2 { font:700 18px/1.2 Georgia,serif; margin:0 0 .5rem; }
.baby-planner-print__day p { margin:.35rem 0; white-space:pre-wrap; }
.baby-planner-print__field strong, .baby-planner-print__value { display:block; }
.baby-planner-print__field--owner strong, .baby-planner-print__field--owner .baby-planner-print__value { display:inline; }
.baby-planner-print__field--prepOwner strong, .baby-planner-print__field--prepOwner .baby-planner-print__value { display:inline; }
.baby-planner-print__value { white-space:pre-wrap; overflow-wrap:anywhere; }
.baby-planner-print__value.is-empty { display:block; min-height:1.3em; border-bottom:1px solid #a6b7bd; }
.baby-planner-print__list { list-style:none; padding:0; }
.baby-planner-print__list li { display:flex; align-items:flex-start; gap:.6rem; margin:.6rem 0; }
.baby-planner-print__box { flex:0 0 1.1em; width:1.1em; height:1.1em; border:1px solid #162d39; line-height:1; text-align:center; }
.baby-planner-print__source { font-size:.75rem; margin-top:1rem; }
@media(max-width:650px) { .adult-planner__week { grid-template-columns:1fr; } .adult-planner__item { grid-template-columns:2rem minmax(0,1fr) auto; gap:.3rem; } .adult-planner__item button { padding:.5rem; font-size:.8rem; } }
/* A4: 297 - 24 mm margins - 10 mm reserve = 263 mm working budget.
   Week: 4 + 3 days, 140/60/140 characters. Deliberate newlines may flow
   onto extra sheets; brand uses day ranges rather than a false page total.
   Pack: <=20 x 90 chars.
   No clipping, fixed heights or positioned footer. */
.adult-planner .adult-planner__person-vacant { color:#a11924; background:#fff0f1; border:1px solid #b32632; font-weight:700; }
.adult-planner__person-vacant input { accent-color:#a11924; }
.baby-planner-print__vacant { color:#a11924!important; font-weight:700; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
@page baby-planner-sheet { size:A4 portrait; margin:12mm; }
@media print {
  html:has(body.baby-planner-print-ready), body.baby-planner-print-ready { margin:0!important; padding:0!important; }
  body.baby-planner-print-ready > :not(.baby-planner-print) { display:none!important; }
  body.baby-planner-print-ready > .baby-planner-print { display:block!important; page:baby-planner-sheet; margin:0!important; padding:0!important; width:auto!important; max-width:none!important; color:#162d39!important; background:white!important; }
  .baby-planner-print__controls { display:none!important; }
  .baby-planner-print__page { display:block; border:0; padding:0; margin:0; font:10.5pt/1.35 Arial,sans-serif; overflow:visible; height:auto; min-height:0; }
  .baby-planner-print__page + .baby-planner-print__page { break-before:page; }
  .baby-planner-print__brand { margin:0 0 3mm; font-size:10pt; }
  .baby-planner-print__page h1 { margin:0 0 2mm; font:700 23pt/1.1 Georgia,serif; color:#162d39!important; }
  .baby-planner-print__label { margin:0 0 4mm; }
  .baby-planner-print__day { margin:4mm 0; padding:0 0 2mm; break-inside:avoid; }
  .baby-planner-print__day h2 { margin:0 0 2mm; font:700 13pt/1.2 Georgia,serif; color:#162d39!important; }
  .baby-planner-print__day p { margin:1.5mm 0; }
  .baby-planner-print__list { margin:3mm 0; }
  .baby-planner-print__list li { margin:0 0 2.5mm; break-inside:avoid; }
  .baby-planner-print__box { border:1pt solid #162d39; color:#162d39; background:white; }
  .baby-planner-print__source { margin:4mm 0 0; font:8pt/1.3 Arial,sans-serif; }
  .baby-planner-print__page:has(.baby-planner-print__day) { line-height:1.25; }
  .baby-planner-print__page:has(.baby-planner-print__day) .baby-planner-print__brand { margin-bottom:2mm; }
  .baby-planner-print__page:has(.baby-planner-print__day) h1 { margin-bottom:1mm; }
  .baby-planner-print__page:has(.baby-planner-print__day) .baby-planner-print__label { margin-bottom:2mm; }
  .baby-planner-print__day { margin:2mm 0; padding-bottom:1mm; }
  .baby-planner-print__day h2 { margin-bottom:1mm; }
  .baby-planner-print__day p { margin:.5mm 0; }
}
