.family-planner{--plan-line:#e4e6e7;--plan-muted:#586a7d;--plan-blue:#eaf0f7;--plan-visitor:#fff1d6;--plan-event:#fff0e9;--plan-chore:#eaf3ed;min-width:0}
.family-planner button,.family-planner input,.family-planner select,.planner-form input,.planner-form select{min-height:40px}
.family-planner h2{font-size:1.15rem;margin:0}.family-planner h3{font-size:1rem;margin:0}.family-planner p{margin:5px 0;color:var(--plan-muted)}
.planner-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.planner-nav{display:flex;align-items:center;gap:7px;border-bottom:1px solid var(--plan-line);margin-bottom:22px;padding-bottom:10px;flex-wrap:wrap}.planner-nav>button{display:flex;align-items:center;gap:7px;background:transparent;border:0;border-radius:9px;font-size:.85rem}.planner-nav>button[aria-pressed=true]{background:var(--plan-blue);color:#183b63}.planner-more{position:relative;margin-left:auto;font-size:.85rem}.planner-more summary{padding:10px;cursor:pointer}.planner-more>div{position:absolute;right:0;top:100%;display:grid;background:#fff;box-shadow:0 6px 25px #183b631a;padding:8px;border-radius:10px;z-index:5;min-width:185px;border:1px solid var(--plan-line)}.planner-more button{text-align:left;background:transparent;border:0;font-size:.85rem}
.planner-toolbar,.planner-section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.planner-toolbar button[data-delta]{padding:6px 12px}.planner-toolbar h2{margin-right:8px;font-size:1.25rem}.planner-toolbar select,.planner-section-head select{width:auto;max-width:180px;font-size:.8rem;padding:8px 28px 8px 9px}.planner-segment{display:flex;gap:2px;border:1px solid var(--plan-line);border-radius:9px;padding:3px;background:#fff}.planner-segment button{padding:5px 10px;border:0;background:transparent;border-radius:6px;font-size:.8rem}.planner-segment button[aria-pressed=true]{background:var(--plan-blue);color:#183b63}.planner-filters{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 15px}.planner-filters .checkline{font-size:.8rem;padding:0;background:transparent;border:0}.planner-filter{display:flex;gap:6px;align-items:center;font-size:.75rem;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:7px}.planner-filter[aria-pressed=true]{background:#fff;border-color:var(--plan-line)}
.planner-dot,.planner-dots i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#67788a;flex-shrink:0}.planner-dot.appointment,.planner-dots .appointment{background:#42658e}.planner-dot.visitor,.planner-dots .visitor{background:#c28a26}.planner-dot.event,.planner-dots .event,.planner-dots .birthday{background:#dc614a}.planner-dots .chore,.planner-dots .reminder{background:#2e6b52}.planner-dots .bill{background:#8f6e9c}.planner-dots i.done{opacity:.35}
.planner-month{background:#fff;border:1px solid var(--plan-line);border-radius:14px;overflow:hidden}.planner-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f4f5f6;color:var(--plan-muted);font-size:.75rem;text-align:center;padding:10px 0}.planner-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.planner-month-grid .planner-date{border:0;border-radius:0;border-top:1px solid var(--plan-line);border-right:1px solid var(--plan-line);background:#fff;min-height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;padding:9px 2px}.planner-month-grid .planner-date:nth-child(7n){border-right:0}.planner-month-grid .planner-date.outside{color:#78818e;background:#fafafa}.planner-month-grid .planner-date.today .planner-date-number{background:#183b63;color:white}.planner-date-number{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;font-size:.9rem}.planner-month-grid .planner-date[aria-pressed=true]{background:#fff1d6;box-shadow:inset 0 0 0 2px #c78c23}.planner-dots{display:flex;align-items:center;justify-content:center;gap:3px;min-height:9px}.planner-dots small{font-size:.7rem}.planner-day-detail{margin-top:24px}
.planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--plan-line);background:#fff;border-radius:12px;overflow:hidden}.planner-week-column{min-width:0;border-right:1px solid var(--plan-line);min-height:290px}.planner-week-column:last-child{border:0}.planner-week-column.today{background:#fffcf5}.planner-week-column header{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 3px;border-bottom:1px solid var(--plan-line);font-size:.75rem;color:var(--plan-muted)}.planner-week-column>div{padding:6px}.planner-week-number{border:0;background:transparent;padding:4px;min-width:34px;border-radius:50%;min-height:34px!important}.today .planner-week-number{background:#183b63;color:white}.planner-week-number[aria-pressed=true]{outline:2px solid #ec6b50;outline-offset:1px}.planner-week .planner-event{width:100%;display:flex;align-items:flex-start;flex-direction:column;gap:5px;border:0;background:var(--plan-event);border-radius:7px;text-align:left;padding:9px 7px;margin-bottom:7px;overflow-wrap:anywhere}.planner-event.appointment{background:var(--plan-blue)}.planner-event.visitor{background:var(--plan-visitor)}.planner-event.chore,.planner-event.reminder{background:var(--plan-chore)}.planner-event small,.planner-event span{font-size:.7rem;color:var(--plan-muted)}.planner-event b{font-size:.78rem;font-weight:600}.planner-event.is-done{opacity:.55}.planner-week-selected{display:none}.planner-week-mobile{display:none}
.planner-row{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--plan-line);min-width:0}.planner-row:last-child{border-bottom:0}.planner-row-copy{flex:1;min-width:0}.planner-row-copy .planner-title{display:block;max-width:100%;padding:0;min-height:0;font-size:.85rem;text-align:left;white-space:normal;overflow-wrap:anywhere}.planner-row small{display:block;font-size:.73rem;color:var(--plan-muted);margin-top:5px}.planner-row.is-done .planner-title{text-decoration:line-through;color:var(--plan-muted)}.planner-check{width:26px;min-width:26px;min-height:26px!important;height:26px;padding:0;background:#fff;border:1.5px solid #cdd5d9;border-radius:7px;color:#2e6b52;flex-shrink:0}.is-done .planner-check{background:var(--plan-chore);border-color:#2e6b52}.planner-type-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--plan-event);border-radius:8px;flex-shrink:0}.appointment .planner-type-icon{background:var(--plan-blue)}.visitor .planner-type-icon{background:var(--plan-visitor)}.planner-assigned{font-size:.73rem;color:var(--plan-muted);max-width:105px;overflow-wrap:anywhere}.planner-calendar-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:23px;margin-top:24px}.planner-dinner{display:flex;gap:13px;border-radius:12px;padding:19px;background:var(--plan-visitor);align-items:flex-start;min-width:0}.planner-dinner>.icon{width:25px;height:25px;flex-shrink:0}.planner-dinner small{font-size:.65rem;letter-spacing:.08em;color:var(--plan-muted)}.planner-dinner h3{margin:6px 0}.planner-dinner .link{font-size:.8rem;padding:8px 0}.planner-dinner p{font-size:.8rem}
.planner-chore-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planner-chore-board>section{background:#fff;border:1px solid var(--plan-line);padding:14px;border-radius:12px;min-width:0}.planner-chore-board header{display:flex;gap:8px;padding-bottom:13px;border-bottom:1px solid var(--plan-line);align-items:center}.planner-chore-board header small{font-size:.72rem;color:var(--plan-muted)}.planner-avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;font-size:.68rem;background:var(--plan-blue);flex-shrink:0}.planner-chore-board .planner-row{align-items:flex-start;gap:7px}.planner-chore-board .planner-row-copy .planner-title{font-size:.78rem}.planner-chore-board .planner-assigned{display:none}.planner-pickup{margin:24px 0 15px;border-top:1px solid var(--plan-line);padding-top:20px}.planner-pickup .planner-section-head p{font-size:.8rem}
.planner-list-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.planner-list-panel{padding:20px;border:1px solid var(--plan-line);border-radius:12px;background:#fff;min-width:0}.planner-list-panel h2{display:flex;align-items:center;gap:7px}.planner-meal{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--plan-line)}.planner-meal small{display:block;font-size:.72rem;color:var(--plan-muted)}.planner-meal .planner-title{display:block;padding:7px 0;min-height:0;text-align:left;font-size:.85rem}.planner-meal .small{font-size:.72rem}.planner-shopping-add{display:flex;gap:8px;margin-top:16px}.planner-shopping-add input{min-width:0;flex:1;width:100%;font-size:.85rem}.planner-shopping-add button{font-size:.8rem}
.planner-tablet-heading{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:23px;flex-wrap:wrap}.planner-tablet-heading small{letter-spacing:.08em;font-size:.7rem;color:var(--plan-muted)}.planner-tablet-heading h2{font-size:1.8rem;margin-top:6px}.planner-tablet-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:23px}.planner-next{background:var(--plan-blue);padding:24px;border-radius:15px}.planner-next small{font-size:.73rem;color:var(--plan-muted)}.planner-next h2{font-size:1.7rem;margin:13px 0}.planner-next button{margin-top:15px}.planner-later{margin:24px 0 8px!important}.planner-tablet-tasks{padding:20px;background:#fff;border:1px solid var(--plan-line);border-radius:15px}.planner-tablet-tasks .planner-dinner{margin-top:18px}.planner-shared-note{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--plan-line);font-size:.75rem;color:var(--plan-muted)}.planner-tablet>.page-heading p{display:none}.planner-tablet .planner-row-copy .planner-title{font-size:1rem}.planner-empty{padding:20px 0;font-size:.85rem;color:var(--plan-muted)}.planner-undo{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--plan-blue);padding:12px;border-radius:10px;margin-top:18px;font-size:.85rem}.planner-undo button{font-size:.85rem}
.planner-repeat{border-top:1px solid #e4e6e7;padding-top:17px}.planner-repeat [data-planner-repeat-fields]{margin-top:14px}.planner-repeat .planner-row-actions input{width:70px}.planner-repeat .planner-row-actions select{width:auto}.planner-repeat-days{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.planner-repeat-days .checkline{padding:6px;font-size:.75rem}.planner-detail>p{margin:16px 0}.planner-detail .row-actions{margin-top:20px}.planner-category{display:inline-flex;align-items:center;gap:7px;background:#eaf0f7;padding:7px 10px;border-radius:8px;font-size:.8rem}.planner-category.visitor{background:#fff1d6}.planner-category.chore{background:#eaf3ed}.planner-form fieldset{margin:0}.planner-form .checkline{font-size:.8rem}.planner-form .field>small{font-size:.72rem}.planner-form [hidden],.family-planner [hidden]{display:none!important}
@media(min-width:1100px){.planner-chore-board{grid-template-columns:repeat(auto-fit,minmax(195px,1fr))}}
@media(max-width:900px){.planner-chore-board{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-week .planner-event span{display:none}.planner-week .planner-event b{font-size:.73rem}}
@media(max-width:700px){.family-planner .page-heading{align-items:flex-start;gap:12px}.family-planner .page-heading h1{font-size:1.55rem}.family-planner .page-heading .planner-row-actions{width:100%;justify-content:space-between}.planner-nav{gap:3px;margin-bottom:17px}.planner-nav>button{padding:8px;font-size:.78rem;gap:5px}.planner-nav>button .icon{width:16px}.planner-more{font-size:.75rem}.planner-toolbar{align-items:flex-start}.planner-toolbar h2{font-size:1.1rem}.planner-toolbar select{max-width:145px}.planner-filters .planner-row-actions{gap:2px}.planner-filter{font-size:.7rem;padding:6px}.planner-week{display:none}.planner-week-mobile{display:block}.planner-week-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin:10px 0 20px}.planner-week-picker button{display:flex;flex-direction:column;align-items:center;gap:5px;border:0;background:transparent;padding:8px 0;font-size:.75rem;min-width:0}.planner-week-picker button[aria-pressed=true]{background:#183b63;color:#fff}.planner-week-picker small{font-size:.65rem}.planner-calendar-bottom,.planner-list-columns,.planner-tablet-grid{grid-template-columns:1fr;gap:18px}.planner-month-grid .planner-date{min-height:62px;gap:5px;padding:7px 0}.planner-date-number{font-size:.8rem;width:25px;height:25px}.planner-dots{gap:2px}.planner-dots i{width:5px;height:5px}.planner-dots small{font-size:.65rem}.planner-weekdays{font-size:.65rem}.planner-day-detail{margin-top:19px}.planner-list-panel{padding:16px}.planner-month{border-radius:10px}.planner-assigned{max-width:70px;font-size:.7rem}.planner-tablet-heading h2{font-size:1.5rem}.planner-next h2{font-size:1.5rem}.planner-chore-board>section{padding:11px}.planner-chore-board .planner-row{flex-wrap:wrap}.planner-meal{gap:8px}.planner-meal .small{padding:7px;font-size:.7rem}}
@media(max-width:380px){.planner-nav{gap:1px}.planner-nav>button{font-size:.7rem;padding:8px 5px}.planner-nav .icon{display:none}.planner-chore-board{grid-template-columns:1fr}.planner-row{gap:8px}.planner-assigned{max-width:58px}.planner-filter{padding:5px}.planner-filters{gap:5px}.planner-nav .planner-more{margin-left:auto}.planner-toolbar select{max-width:135px}.planner-row-actions{gap:5px}}
@media(pointer:coarse){.family-planner button,.family-planner select,.planner-form select,.planner-form input{min-height:44px}.planner-check{min-width:40px;min-height:40px!important;height:40px}.planner-form input,.planner-form select,.planner-form textarea,.family-planner input,.family-planner select{font-size:16px}.planner-date{min-height:62px!important}.planner-nav>button{min-height:44px}.planner-row-copy .planner-title{min-height:40px}.planner-dot,.planner-dots i{pointer-events:none}}
/* Compact planner: the date and day list lead; filters open only when needed. */
.family-planner{max-width:1160px;margin:auto}
.family-planner>.page-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.family-planner>.page-heading h1{font-size:26px;margin:0;line-height:1.2}
.family-planner>.page-heading>.planner-row-actions{width:auto;justify-content:flex-end;gap:6px}
.family-planner>.page-heading button{min-height:44px;padding:9px 14px;font-size:14px}
.family-planner .planner-nav{background:#edf3f1;border:1px solid #dce5e1;border-radius:12px;padding:4px;margin-bottom:12px;gap:3px;flex-wrap:nowrap}
.family-planner .planner-nav>button,.family-planner .planner-more summary{min-height:44px;box-sizing:border-box;font-size:14px;padding:9px 12px;border-radius:8px}
.family-planner .planner-nav>button[aria-pressed=true],.family-planner .planner-more summary.is-current{background:#183b63;color:#fff}
.family-planner .planner-nav>button{flex:1;justify-content:center;gap:5px}
.family-planner .planner-nav>button .icon{width:17px;height:17px}
.family-planner .planner-more{margin-left:0;flex:none}
.planner-workspace{padding:14px;border:1px solid #dce3e5;border-radius:15px;background:#fff;min-width:0}
.planner-context:not(.sr-only){padding:0 0 10px;margin-bottom:10px;border-bottom:1px solid var(--plan-line)}
.family-planner .planner-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;align-items:center;gap:8px;margin:0 0 10px;padding:0;border:0;position:relative;z-index:2}
.planner-date-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;min-width:0}
.family-planner .planner-date-nav h2{font-size:18px;text-align:center;margin:0;line-height:1.3}
.family-planner .planner-date-nav button{min-width:44px;min-height:44px;padding:7px}
.planner-view-controls{display:flex;align-items:center;gap:8px;min-width:0}
.family-planner .planner-view-controls>.link{min-height:44px;font-size:14px;padding:8px}
.family-planner .planner-segment{padding:2px;border-radius:9px;gap:2px}
.family-planner .planner-segment button{min-height:40px;font-size:14px;padding:7px 12px}
.family-planner .planner-segment button[aria-pressed=true]{background:#183b63;color:#fff}
.planner-filter-menu{position:relative;justify-self:end}
.planner-filter-menu>summary{box-sizing:border-box;min-height:44px;display:flex;align-items:center;gap:6px;cursor:pointer;font-size:14px;padding:9px 12px;border:1px solid #ccd8d5;border-radius:9px;background:#f4f7f5;color:#183b63;list-style:none}
.planner-filter-menu>summary:after{content:'⌄';font-size:16px}
.planner-filter-menu>summary::-webkit-details-marker{display:none}
.planner-filter-menu[open]>summary{background:#e4eeea;border-color:#86a99e}
.family-planner .planner-filter-menu>.planner-filters{position:absolute;right:0;top:calc(100% + 6px);width:min(320px,calc(100vw - 64px));box-sizing:border-box;display:grid;gap:12px;padding:14px;margin:0;border:1px solid #cfdcd7;border-radius:12px;background:#fff;box-shadow:0 8px 24px #183b631a;z-index:6}
.planner-filter-menu .planner-person{display:grid;gap:5px;font-size:13px}
.planner-filter-menu select{font-size:16px;width:100%;min-height:44px}
.family-planner .planner-filters>.planner-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px}
.family-planner .planner-filter{font-size:13px;min-height:44px;padding:8px;justify-content:center}
.family-planner .planner-filter[aria-pressed=true]{border-color:#9eb5ae;background:#edf3f1}
.family-planner .planner-filters .checkline{font-size:14px;min-height:44px;margin:0}
.family-planner .planner-day-detail{padding:12px;border:1px solid #dce5e1;border-radius:12px;background:#f8faf8;margin-top:10px}
.family-planner .planner-day-detail .planner-section-head{margin-bottom:4px;gap:8px}
.family-planner .planner-day-detail h2{font-size:17px}
.family-planner .planner-week-picker{border:1px solid var(--plan-line);background:#f7f9f8;border-radius:10px;padding:3px;gap:2px;margin:0 0 10px}
.family-planner .planner-week-picker button{border-radius:7px;min-height:56px;font-size:14px;gap:3px;padding:6px 0}
.family-planner .planner-week-picker small{font-size:12px}
.family-planner .planner-week-picker button[aria-pressed=true] small,.family-planner .planner-week-picker button[aria-pressed=true] b{color:#fff}
.family-planner .planner-calendar-bottom{gap:12px;margin-top:12px}
.planner-helping-hand{border:1px solid #dce5e1;border-radius:12px;padding:12px;background:#f8faf8;min-width:0}
.planner-helping-hand .planner-section-head{margin-bottom:4px}
.planner-helping-hand .planner-section-head p{font-size:12px;margin-top:3px}
.family-planner .planner-dinner{border:1px solid #eaddbf;border-radius:12px;padding:12px}
.family-planner .planner-dinner small{font-size:11px;line-height:1.5;display:block}
.family-planner .planner-dinner p,.family-planner .planner-dinner .link{font-size:14px}
.family-planner .planner-row{padding:9px 0;gap:9px}
.family-planner .planner-row-copy .planner-title{font-size:14px;line-height:1.4;min-height:40px;display:flex;align-items:center}
.family-planner .planner-row small,.family-planner .planner-assigned{font-size:12px;line-height:1.45;margin-top:1px}
.family-planner .planner-empty{font-size:14px;line-height:1.5;margin:0;padding:10px 0}
.family-planner .planner-pickup{padding:12px;border:1px solid #dce5e1;border-radius:12px;background:#f8faf8}
.family-planner .planner-list-panel{padding:12px}
.family-planner .planner-list-columns{gap:12px}
@media(max-width:900px){
 .family-planner .planner-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:6px}
 .planner-date-nav{grid-column:1/-1}
 .planner-view-controls{grid-column:1;justify-content:space-between;max-width:235px}
 .planner-filter-menu{grid-column:2}
}
@media(max-width:700px){
 .family-planner>.page-heading h1{font-size:23px}
 .family-planner .planner-nav>button{padding:8px 7px;font-size:13px}
 .family-planner .planner-more summary{padding:9px 8px;font-size:13px}
 .planner-workspace{padding:10px;border-radius:13px}
 .family-planner .planner-row{flex-wrap:wrap}
 .family-planner .planner-row-copy{flex-basis:calc(100% - 55px)}
 .family-planner .planner-assigned{margin-left:37px;max-width:100%}
 .family-planner .planner-calendar-bottom{grid-template-columns:1fr}
}
@media(max-width:380px){
 .family-planner .planner-nav>button{font-size:12px;padding:8px 5px}
 .family-planner .planner-nav>button .icon{display:none}
 .family-planner .planner-date-nav h2{font-size:16px}
 .family-planner .planner-segment button{padding:7px 10px}
 .family-planner .planner-week-picker small{font-size:11px}
 .planner-view-controls{gap:4px}
}
@media(pointer:coarse){.family-planner .planner-filter,.family-planner .planner-segment button{min-height:44px}}
