/* 家庭切换、分享目标和日期选择改用自绘控件：原生 select / input[type=date]
   样式无法定制，手机上还会弹系统滚轮，跟整体质感不搭。 */

/* 只有一个家庭时不必显示切换入口；[hidden] 要压过下面的 display 声明 */
[hidden]{display:none!important}

/* 顶栏家庭切换按钮 */
.family-switch{display:flex;align-items:center;gap:6px;max-width:150px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:#fffaf3;color:var(--ink);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.family-switch:hover{background:#efe2d3}
.family-switch #family-switcher-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.family-switch .caret{flex:0 0 auto;width:7px;height:7px;margin-top:-3px;border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);transform:rotate(45deg);transition:transform .18s}
.family-switch[aria-expanded="true"] .caret{margin-top:2px;transform:rotate(-135deg)}

/* 通用选择面板：桌面居中卡片，手机底部抽屉，跟通知弹层保持一致 */
.picker-backdrop{align-items:center}
.picker-panel{width:min(400px,calc(100% - 28px));max-height:min(600px,86vh);overflow:hidden auto;border-radius:26px;background:var(--paper);box-shadow:0 30px 90px rgba(46,29,19,.28)}
.picker-panel>header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.picker-panel h2{margin:0;font:700 23px "Songti SC",serif}
.picker-panel>header button{border:0;border-radius:99px;padding:8px 12px;background:#eee4d8;color:var(--muted);font:inherit;font-size:11px;cursor:pointer}

/* 家庭列表 */
.picker-list{display:grid;padding:8px}
.picker-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-radius:18px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.picker-option:hover{background:#f7ede1}
.picker-option[aria-selected="true"]{background:#fff0eb}
.picker-option__mark{display:grid;flex:0 0 auto;place-items:center;width:38px;height:38px;border-radius:14px;background:#eee2ce;font:700 15px "Songti SC",serif;color:var(--coral-dark)}
.picker-option[aria-selected="true"] .picker-option__mark{background:var(--coral);color:#fff}
.picker-option__body{min-width:0;flex:1}
.picker-option__body strong{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px}
.picker-option__body small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.picker-option__tick{flex:0 0 auto;color:var(--coral);font-size:14px;font-weight:700;opacity:0}
.picker-option[aria-selected="true"] .picker-option__tick{opacity:1}

/* 日期范围只保留一个入口，避免筛选后再长出第二个按钮。 */
.date-trigger{display:grid;grid-template-columns:44px minmax(0,1fr) auto 10px;align-items:center;gap:12px;width:100%;min-height:70px;padding:11px 16px 11px 12px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fffdf9,#f8efe4);color:var(--ink);font:inherit;text-align:left;box-shadow:0 8px 24px rgba(71,50,35,.055);cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}
.date-trigger:hover{border-color:rgba(233,99,73,.32);box-shadow:0 10px 28px rgba(71,50,35,.09);transform:translateY(-1px)}.date-trigger:focus-visible{outline:3px solid rgba(233,99,73,.22);outline-offset:3px}
.date-trigger__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f0dfd0;color:var(--coral-dark);font:700 15px "Songti SC",serif}
.date-trigger__copy{display:flex;min-width:0;flex-direction:column;gap:3px}.date-trigger__copy small{color:var(--muted);font-size:10px;letter-spacing:.08em}.date-trigger__copy strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.date-trigger__summary{padding:6px 9px;border-radius:99px;background:rgba(86,115,84,.09);color:var(--leaf);font-size:10px;font-weight:700;white-space:nowrap}.date-trigger__chevron{width:7px;height:7px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg) translateY(-2px)}.date-trigger[aria-expanded="true"] .date-trigger__chevron{transform:rotate(225deg) translate(-2px,-2px)}.date-trigger.is-filtered{border-color:rgba(233,99,73,.28)}

/* 月历 */
.calendar-panel{width:min(372px,calc(100% - 28px));overflow:hidden;border:1px solid rgba(90,65,47,.08);box-shadow:0 28px 80px rgba(55,38,27,.2)}
.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 18px 13px;padding:9px 10px;border-radius:16px;background:#faf3e9}
.calendar-nav strong{font:700 17px "Songti SC",serif}
.calendar-arrow{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:12px;background:var(--paper);color:var(--ink);font-size:19px;line-height:1;cursor:pointer}
.calendar-arrow:hover{background:#efe2d3}
.calendar-arrow[disabled]{opacity:.35;cursor:default}
.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 18px}
.calendar-week{margin-bottom:6px;color:var(--muted);font-size:10px;text-align:center}
.calendar-day{position:relative;display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:14px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer}
.calendar-day:hover:not([disabled]){background:#f7ede1}
.calendar-day[disabled]{color:#cbc2b8;cursor:default}
.calendar-day.is-empty{pointer-events:none}
.calendar-day.is-today{box-shadow:inset 0 0 0 1.5px rgba(233,99,73,.45);font-weight:700}
.calendar-day.is-selected{background:var(--coral);color:#fff;font-weight:700;box-shadow:0 6px 14px rgba(201,71,49,.24)}
.calendar-day.has-meal:after{content:"";position:absolute;bottom:6px;width:4px;height:4px;border-radius:50%;background:var(--coral)}
.calendar-day.is-selected.has-meal:after{background:#fff}
.calendar-foot{display:flex;gap:10px;padding:16px 18px max(16px,env(safe-area-inset-bottom))}
.calendar-foot .ghost{flex:1;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--coral-dark);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.calendar-foot .ghost:first-child{border-color:transparent;background:#f4e4d8}
.calendar-foot .ghost:hover{background:#fff0eb}

/* 发布弹窗里的「分享到」：家庭不多，直接平铺成一排可点的标签 */
.share-field{display:grid;gap:8px;margin-top:16px}
.share-field__label{font-size:12px;font-weight:700}
.share-field small{color:var(--muted);font-size:11px;font-weight:400}
.chip-group{display:flex;flex-wrap:wrap;gap:8px}
.chip{max-width:100%;overflow:hidden;padding:9px 15px;border:1px solid var(--line);border-radius:99px;background:#fffaf3;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font:inherit;font-size:12px;cursor:pointer}
.chip:hover{background:#f7ede1}
.chip[aria-checked="true"]{border-color:transparent;background:var(--coral);color:#fff;font-weight:700}

@media(max-width:580px){
 .picker-backdrop{align-items:flex-end}
 .picker-panel{width:100%;max-height:84dvh;border-radius:26px 26px 0 0;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .family-switch{max-width:118px;padding:0 10px}
 .date-trigger{min-width:0}
 .calendar-panel{width:100%}
 .calendar-week,.calendar-grid{gap:3px;padding:0 14px}
 .calendar-day{font-size:15px}
}
