/* ============ 母婴护理工作台 · 全局视觉规范 ============ */
:root{
  --bg:        #FDF7F0;   /* 米白 / 浅奶杏底色 */
  --bg-deep:   #F7EEE4;
  --card:      #FFFFFF;
  --text:      #3E3639;
  --text-2:    #6E6467;
  --sub:       #A9A0A3;
  --line:      #F1E8E1;
  --radius:    18px;
  --radius-sm: 12px;
  --shadow:    0 2px 10px rgba(183,152,138,.10);
  --shadow-lg: 0 8px 26px rgba(183,152,138,.18);

  --c-daily:   #F79FBC;  --s-daily:   #FDEDF3;
  --c-feed:    #86BFEC;  --s-feed:    #E9F3FC;
  --c-growth:  #74D3AC;  --s-growth:  #E4F7EF;
  --c-edu:     #B3A2E8;  --s-edu:     #EFEBFC;
  --c-health:  #F79684;  --s-health:  #FDECE8;
  --c-vac:     #D98D9F;  --s-vac:     #F9EBEF;
  --c-shop:    #F3AC61;  --s-shop:    #FDF0E1;

  --accent:      var(--c-daily);
  --accent-soft: var(--s-daily);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  margin:0;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  background:linear-gradient(160deg,#F3E7DC 0%,#EADFD6 100%);
  color:var(--text);display:flex;align-items:center;justify-content:center;
  font-size:14px;line-height:1.5;overflow:hidden;
}
button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit;padding:0;}
input,select,textarea{font-family:inherit;font-size:14px;color:var(--text);}
svg{display:block;}

/* ---------- 手机外框 ---------- */
.phone{width:min(100vw,440px);height:min(100vh,940px);background:var(--bg);border-radius:34px;overflow:hidden;
  box-shadow:0 24px 60px rgba(120,90,80,.28);position:relative;}
@media (max-width:600px){ .phone{width:100vw;height:100vh;height:100dvh;border-radius:0;box-shadow:none;} }
.app{display:flex;height:100%;position:relative;overflow:hidden;}

/* ---------- 左侧导航 ---------- */
.sidebar{width:76px;flex:0 0 76px;background:linear-gradient(180deg,#FFFDFB 0%,#FBF3EA 100%);
  border-right:1px solid var(--line);padding:10px 7px 12px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;}
.sidebar::-webkit-scrollbar{display:none;}
.nav-brand{text-align:center;padding:6px 0 10px;margin-bottom:2px;border-bottom:1px dashed var(--line);}
.nav-brand .logo{font-size:20px;line-height:1;}
.nav-brand .name{font-size:10px;color:var(--sub);letter-spacing:1px;margin-top:3px;}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 2px;border-radius:14px;
  color:var(--text-2);transition:.22s;position:relative;}
.nav-item .ni-ico{width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:18px;}
.nav-item .ni-txt{font-size:11px;letter-spacing:.5px;}
.nav-item:active{transform:scale(.94);}
.nav-item.on{background:#4A4143;color:#fff;box-shadow:0 4px 12px rgba(74,65,67,.28);}
.nav-item.on .ni-txt{font-weight:600;}

/* ---------- 主区 ---------- */
.main{flex:1;display:flex;flex-direction:column;position:relative;min-width:0;}
.topbar{height:56px;flex:0 0 56px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;
  background:rgba(255,255,255,.72);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);gap:8px;}
.tb-left{min-width:0;}
.tb-date{font-size:16px;font-weight:700;letter-spacing:.3px;}
.tb-week{font-size:12px;color:var(--sub);margin-left:3px;}
.tb-lunar{font-size:10.5px;color:var(--sub);margin-top:1px;}
.tb-right{display:flex;align-items:center;gap:7px;}
.tb-baby{display:flex;align-items:center;gap:5px;background:var(--bg-deep);border-radius:14px;padding:5px 9px;transition:.2s;}
.tb-baby:active{transform:scale(.96);}
.tb-baby-ava{font-size:16px;}
.tb-baby-name{font-size:13px;font-weight:700;}
.tb-baby-age{font-size:9px;color:var(--sub);background:#fff;padding:1px 6px;border-radius:7px;}
.tb-sel{display:flex;align-items:center;background:var(--accent-soft);border-radius:14px;padding:5px 4px 5px 10px;transition:.25s;}
.tb-sel-sel{appearance:none;border:none;background:transparent;font-size:12px;font-weight:700;color:var(--text);padding:0 2px;outline:none;cursor:pointer;}

.content{flex:1;overflow-y:auto;overflow-x:hidden;padding:13px 13px 110px;scroll-behavior:smooth;}
.content::-webkit-scrollbar{width:0;}

/* ---------- 卡片 ---------- */
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-bottom:12px;
  border-left:4px solid var(--ca, var(--accent));animation:rise .32s cubic-bezier(.2,.8,.3,1) both;}
@keyframes rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.card:nth-child(2){animation-delay:.04s;} .card:nth-child(3){animation-delay:.08s;}
.card:nth-child(4){animation-delay:.12s;} .card:nth-child(5){animation-delay:.16s;} .card:nth-child(6){animation-delay:.20s;}
.card-h{display:flex;align-items:center;gap:8px;margin-bottom:11px;}
.ch-ico{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:flex;align-items:center;justify-content:center;
  font-size:15px;background:color-mix(in srgb,var(--ca,var(--accent)) 16%,#fff);}
.ch-title{font-size:15px;font-weight:700;letter-spacing:.3px;flex:1;min-width:0;}
.ch-right{font-size:12px;color:var(--sub);display:flex;align-items:center;gap:6px;}
.ch-add{border:1.5px solid color-mix(in srgb,var(--ca,var(--accent)) 45%,#fff);color:var(--ca,var(--accent));background:#fff;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:9px;cursor:pointer;white-space:nowrap;}
.ch-add:active{background:color-mix(in srgb,var(--ca,var(--accent)) 12%,#fff);}
.tag-month{font-size:10px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,#fff);padding:3px 9px;border-radius:9px;}

/* ---------- 宝宝状态卡 ---------- */
.bb-state{display:flex;align-items:center;gap:11px;}
.bb-ava{width:52px;height:52px;flex:0 0 52px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:0 3px 10px rgba(200,160,150,.2);}
.bb-info{flex:1;min-width:0;}
.bb-name{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px;}
.tag-status{font-size:11px;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,#fff);padding:3px 9px;border-radius:9px;}
.bb-desc{font-size:11.5px;color:var(--text-2);margin-top:2px;}
.bb-bars{margin-top:9px;display:flex;flex-direction:column;gap:6px;}
.bb-bar{display:flex;align-items:center;gap:7px;}
.bb-bar>span{font-size:10px;color:var(--sub);width:50px;flex:0 0 50px;}
.bb-hand{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 3px 10px rgba(200,160,150,.2);transition:.2s;}
.bb-hand:active{transform:scale(.88) rotate(-12deg);}

/* ---------- 待办 ---------- */
.todo{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.todo:last-of-type{border-bottom:none;}
.todo.done .todo-txt{color:var(--sub);text-decoration:line-through;}
.ck{width:21px;height:21px;flex:0 0 21px;border-radius:50%;border:2px solid #E2D6CC;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;transition:.2s;}
.ck.on{background:var(--accent);border-color:var(--accent);}
.todo-main{flex:1;min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.todo-txt{font-size:13.5px;font-weight:600;}
.cat{font-size:9.5px;padding:1.5px 7px;border-radius:7px;font-weight:600;}
.cat-护理{background:#FDECE8;color:#E0714F;} .cat-早教{background:#EFEBFC;color:#8A76D6;} .cat-成长{background:#E4F7EF;color:#2FA277;}
.mini-x{width:24px;height:24px;flex:0 0 24px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#CDC1B8;font-size:13px;transition:.2s;}
.mini-x:active{background:#FDECE8;color:#E0714F;}

.empty{font-size:12px;color:var(--sub);text-align:center;padding:16px 0;}
.empty.sm{padding:8px 0;}
.dash{width:100%;border:1.5px dashed #E3D6CB;border-radius:12px;padding:10px;font-size:12.5px;color:var(--sub);font-weight:600;
  display:flex;align-items:center;justify-content:center;gap:5px;margin-top:10px;transition:.2s;}
.dash:active{background:color-mix(in srgb,var(--accent) 10%,#fff);border-color:var(--accent);color:var(--accent);}
.link{font-size:12px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:3px;background:none;}
.link.sm{font-size:11px;}
.link:active{opacity:.6;}

/* ---------- 数据概览块 ---------- */
.ov-grid{display:flex;gap:8px;}
.ov{flex:1;background:var(--bg);border-radius:13px;padding:11px 6px;text-align:center;}
.ov-n{font-size:20px;font-weight:700;line-height:1.1;letter-spacing:-.4px;}
.ov-n small{font-size:11px;font-weight:600;margin-left:1px;color:var(--text-2);}
.ov-l{font-size:11px;color:var(--text-2);margin-top:4px;}
.ov-target{margin-top:11px;}
.ov-t-row{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2);margin-bottom:5px;font-weight:600;}
.ov-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:11.5px;color:var(--text-2);}
.ov-actions{display:flex;gap:8px;margin-top:10px;}
.ov-actions .dash{flex:1;padding:9px;font-size:12px;}
.mt8{margin-top:10px;}

.big-num{font-size:30px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:baseline;gap:6px;}
.big-num small{font-size:13px;font-weight:600;color:var(--text-2);}
.badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:10px;}
.badge.norm{background:#E4F7EF;color:#2FA277;} .badge.low{background:#E9F3FC;color:#4E92C9;} .badge.high{background:#FDECE8;color:#E0714F;}

/* ---------- 参考列表 / 备注 ---------- */
.ref-range{font-size:11.5px;color:var(--text-2);margin-top:6px;font-weight:600;}
.ref-list>div{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);}
.ref-list>div:last-child{border-bottom:none;}
.ref-list span{font-size:12.5px;color:var(--text-2);}
.ref-list b{font-size:13.5px;font-weight:700;color:var(--accent);}
.ref-note{font-size:11.5px;color:var(--text-2);margin-top:9px;line-height:1.6;background:var(--bg);border-radius:10px;padding:9px 10px;}
.tip-box{font-size:11.5px;color:var(--text-2);line-height:1.6;background:color-mix(in srgb,var(--accent) 9%,#fff);border-radius:10px;padding:9px 10px;margin-top:9px;}
.mini-note{font-size:10.5px;color:var(--sub);line-height:1.6;margin-top:8px;}

/* ---------- 分段进度条（奶量） ---------- */
.segbar{position:relative;height:10px;background:var(--bg-deep);border-radius:6px;margin-top:12px;}
.seg-fill{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--c-feed),#A9D2F2);border-radius:6px;}
.seg-mark{position:absolute;top:14px;font-size:9px;color:var(--sub);transform:translateX(-50%);white-space:nowrap;}
.seg-mark.hi{color:var(--c-health);}
.seg-dot{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;border:3.5px solid var(--c-feed);transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.14);transition:left .6s;}

/* ---------- 通用进度条 ---------- */
.pbar{position:relative;height:7px;background:var(--bg-deep);border-radius:5px;overflow:hidden;margin-top:7px;}
.pf{height:100%;border-radius:5px;transition:width .6s cubic-bezier(.2,.8,.3,1);}
.pl{position:absolute;right:0;top:-16px;font-size:10px;color:var(--sub);font-weight:600;}

/* ---------- 记录列表 ---------- */
.rec-list{display:flex;flex-direction:column;}
.rec{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);}
.rec:last-of-type{border-bottom:none;}
.rec-ico{font-size:15px;flex:0 0 18px;text-align:center;}
.rec-main{flex:1;min-width:0;}
.rec-t{font-size:13px;font-weight:600;line-height:1.35;}
.rec-sub{font-size:11px;color:var(--sub);margin-top:2px;}

/* ---------- 早教：月龄栏 / 重点 / 活动 / 道具 ---------- */
.months{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;margin-bottom:10px;}
.months::-webkit-scrollbar{display:none;}
.m-chip{flex:0 0 auto;padding:7px 13px;border-radius:13px;background:#fff;color:var(--text-2);font-size:12.5px;font-weight:600;box-shadow:var(--shadow);transition:.2s;}
.m-chip.on{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 40%,transparent);}
.m-hint{font-size:11px;color:var(--sub);align-self:center;flex:0 0 auto;padding-left:2px;}
.focus{margin:0;padding-left:18px;font-size:12.5px;color:var(--text-2);line-height:1.85;}
.focus li{margin-bottom:2px;}
.act-list{display:flex;flex-direction:column;gap:8px;}
.act{background:var(--bg);border-radius:13px;padding:11px;position:relative;}
.act-n{font-size:13px;font-weight:700;}
.act-d{font-size:11.5px;color:var(--text-2);margin-top:5px;line-height:1.6;}
.act-f{font-size:10.5px;color:var(--accent);font-weight:600;margin-top:5px;}
.act .mini-x{position:absolute;top:8px;right:8px;}
.prop-wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.prop{display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--accent) 13%,#fff);border-radius:12px;padding:8px 12px;font-size:12.5px;font-weight:600;transition:.2s;}
.prop:active{transform:scale(.95);}
.prop .px{color:var(--sub);font-size:11px;margin-left:2px;}
.prop.add{border:1.5px dashed #E3D6CB;color:var(--sub);background:none;}

/* ---------- 音效播放器 ---------- */
.sounds{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.sound{display:flex;align-items:center;gap:9px;background:var(--bg);border-radius:13px;padding:10px;transition:.2s;}
.sound.on{background:#fff;box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 24%,transparent);outline:1.5px solid var(--accent);}
.sound-ico{font-size:20px;flex:0 0 22px;text-align:center;}
.sound-info{flex:1;min-width:0;}
.sound-n{font-size:12.5px;font-weight:700;}
.sound-d{font-size:9.5px;color:var(--sub);margin-top:1px;line-height:1.35;}
.sound-btn{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,#fff);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;transition:.2s;}
.sound-btn.on{background:var(--accent);color:#fff;}
.vol-row{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:11px;color:var(--text-2);font-weight:600;}
.vol-row input[type=range]{flex:1;-webkit-appearance:none;height:5px;border-radius:4px;background:var(--bg-deep);outline:none;}
.vol-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;}
.vol-v{font-size:11px;color:var(--sub);width:34px;text-align:right;}

/* ---------- 健康：护理提醒 / 知识库 ---------- */
.care-list{display:flex;flex-direction:column;}
.care{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--line);position:relative;}
.care:last-of-type{border-bottom:none;}
.care-ico{font-size:15px;flex:0 0 18px;text-align:center;}
.care-main{flex:1;min-width:0;}
.care-t{font-size:13px;font-weight:700;}
.care-d{font-size:11px;color:var(--text-2);margin-top:2px;line-height:1.5;}
.kb-list{display:flex;flex-direction:column;gap:7px;}
.kb{display:flex;align-items:center;gap:9px;background:var(--bg);border-radius:12px;padding:10px 12px;transition:.2s;}
.kb:active{background:#fff;box-shadow:var(--shadow);}
.kb-tag{font-size:10px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,#fff);padding:2px 8px;border-radius:8px;}
.kb-title{flex:1;font-size:13px;font-weight:600;min-width:0;}
.kb-arrow{color:var(--sub);font-size:16px;}
.kb-searchrow{display:flex;gap:8px;margin-bottom:10px;}
.kb-search{flex:1;min-width:0;border:1px solid var(--line);background:var(--bg);border-radius:11px;padding:9px 12px;font-size:13px;color:var(--text);outline:none;transition:.15s;}
.kb-search:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent);}
.kb-web{flex:0 0 auto;border:none;border-radius:11px;padding:0 13px;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#5b8def,#7c6cf0);cursor:pointer;white-space:nowrap;}
.kb-web:active{transform:scale(.96);}
.kb-go{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:9px;width:30px;height:30px;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#5b8def;}
.kb-go:active{transform:scale(.92);background:#eef3ff;}
.kb-empty{font-size:12.5px;color:var(--sub);text-align:center;padding:14px 8px;line-height:1.6;}

/* ---------- 疫苗 ---------- */
.vac-list,.plan{display:flex;flex-direction:column;gap:7px;}
.vac{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--bg);}
.vac>summary{list-style:none;display:flex;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;}
.vac>summary::-webkit-details-marker{display:none;}
.vac-ck{width:21px;height:21px;flex:0 0 21px;border-radius:50%;border:2px solid #E2D6CC;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;transition:.2s;}
.vac-ck.on{background:var(--c-growth);border-color:var(--c-growth);}
.vac-name{flex:1;font-size:13px;font-weight:700;min-width:0;}
.vac-name small{font-weight:500;color:var(--text-2);font-size:11px;margin-left:4px;}
.vac-tag{font-size:9.5px;font-weight:600;padding:1.5px 7px;border-radius:7px;background:var(--bg-deep);color:var(--sub);white-space:nowrap;}
.vac-arrow{color:var(--sub);font-size:12px;transition:.3s;}
.vac[open] .vac-arrow{transform:rotate(180deg);}
.vac-body{padding:0 12px 11px;font-size:11.5px;color:var(--text-2);line-height:1.6;}
.vac-note{background:#fff;border-radius:9px;padding:8px 10px;margin-top:4px;}
.vac-ops{display:flex;gap:12px;margin-top:8px;}
.plan-grp{background:var(--bg);border-radius:13px;padding:4px 12px;}
.plan-h{font-size:11px;font-weight:700;color:var(--c-growth);padding:7px 0 4px;}

/* ---------- 购物 ---------- */
.shop-stat{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border-radius:12px;padding:10px 12px;margin-bottom:10px;font-size:12.5px;font-weight:600;color:var(--text-2);}
.shop-stat b{color:var(--accent);font-size:15px;}
.shop-list{display:flex;flex-direction:column;}
.shop{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:11px;transition:.2s;position:relative;}
.shop.done{background:color-mix(in srgb,var(--accent) 10%,#fff);}
.shop.done .shop-name{color:var(--sub);text-decoration:line-through;}
.shop-main{flex:1;min-width:0;}
.shop-name{font-size:13.5px;font-weight:600;}
.shop-qty{font-size:11px;color:var(--sub);background:var(--bg-deep);padding:2px 7px;border-radius:7px;}

/* ---------- 开支记录 ---------- */
.exp-summary{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px;}
.exp-total{display:flex;flex-direction:column;}
.exp-total-label{font-size:11px;color:var(--sub);margin-bottom:2px;}
.exp-total-val{font-size:24px;font-weight:800;color:var(--accent);line-height:1;}
.exp-all{font-size:11px;color:var(--sub);padding-bottom:3px;}
.exp-cats{display:flex;flex-direction:column;gap:7px;margin-bottom:12px;}
.exp-cat{display:flex;align-items:center;gap:8px;font-size:11.5px;}
.exp-cat-name{flex:0 0 78px;color:var(--text-2);font-weight:600;}
.exp-cat-bar{flex:1;height:7px;background:var(--bg-deep);border-radius:4px;overflow:hidden;}
.exp-cat-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .4s ease;}
.exp-cat-amt{flex:0 0 auto;font-weight:700;color:var(--text);}
.exp-cat-pct{flex:0 0 34px;text-align:right;color:var(--sub);}
.exp-list{display:flex;flex-direction:column;}
.exp-item{display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:11px;transition:.2s;cursor:pointer;}
.exp-item:active{background:var(--bg);}
.exp-ico{font-size:17px;flex:0 0 auto;}
.exp-main{flex:1;min-width:0;}
.exp-t{font-size:13px;font-weight:600;}
.exp-sub{font-size:11px;color:var(--sub);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.exp-amt{flex:0 0 auto;font-size:14px;font-weight:800;color:var(--accent);}

/* ---------- 产妇模块 ---------- */
.mom-tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;}
.mom-tabs::-webkit-scrollbar{display:none;}
.mom-tab{flex:1;min-width:max-content;padding:8px 6px;border-radius:12px;background:var(--bg);color:var(--text-2);font-size:12px;font-weight:600;transition:.2s;}
.mom-tab.on{background:var(--c-vac);color:#fff;}

/* ---------- 月子餐打卡 ---------- */
.meal-set{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--bg);border-radius:12px;padding:9px 11px;margin-bottom:12px;font-size:11.5px;color:var(--text-2);}
.meal-set .ms-l{font-weight:600;color:var(--text);}
.mini-input{border:1.5px solid #E8D9CE;border-radius:8px;padding:5px 7px;font-size:11.5px;background:#fff;color:var(--text);}
.meal-set .ms-week{font-weight:700;color:var(--c-vac);background:color-mix(in srgb,var(--c-vac) 13%,#fff);padding:3px 9px;border-radius:9px;}
.meal-set .ms-week.on{color:#fff;background:var(--c-vac);}
.const-box{margin-top:10px;background:var(--bg);border-radius:10px;padding:9px 10px;}
.const-box .ev-head{color:var(--c-vac);}
.recipe{margin:4px 0 0;padding-left:16px;}
.recipe li{font-size:11px;color:var(--text-2);line-height:1.6;margin-bottom:3px;}
.meal-grid{display:flex;flex-direction:column;gap:8px;}
.meal-row{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:8px 10px;}
.meal-row.done{opacity:.62;}
.meal-meta{flex:0 0 78px;}
.meal-name{font-size:12.5px;font-weight:700;color:var(--text);}
.meal-time{font-size:10.5px;color:var(--sub);}
.meal-input{flex:1;border:1.5px solid #E8D9CE;border-radius:8px;padding:7px 9px;font-size:12px;background:#fff;color:var(--text);min-width:0;}
.meal-input:focus{outline:none;border-color:var(--c-edu);}
.meal-row.done .meal-input{text-decoration:line-through;}

/* ---------- 知识库正文 / 月子餐指南 ---------- */
.kb-body{font-size:13px;line-height:1.85;color:var(--text);white-space:normal;}
.kb-body br{content:'';margin-bottom:2px;}
.mg{max-height:62vh;overflow:auto;font-size:12.5px;line-height:1.75;color:var(--text);}
.mg h4{font-size:13px;color:var(--c-vac);margin:14px 0 6px;}
.mg h4:first-child{margin-top:0;}
.mg-week{border-left:3px solid color-mix(in srgb,var(--c-vac) 45%,#fff);padding:4px 0 4px 10px;margin-bottom:10px;}
.mg-f{color:var(--text-2);margin:3px 0;}
.mg-rec{padding-left:18px;margin:4px 0;}
.mg-rec li{margin-bottom:3px;color:var(--text-2);}

/* ---------- WHO 百分位评估 ---------- */
.ev-head{font-size:11.5px;color:var(--text-2);font-weight:600;margin-bottom:6px;}
.ev{margin-bottom:14px;}
.ev:last-child{margin-bottom:0;}
.ev-h{display:flex;align-items:center;gap:8px;}
.ev-name{font-size:13px;font-weight:600;flex:1;}
.ev-name b{color:var(--accent);font-weight:800;margin-left:4px;}
.whobar{margin:8px 0 4px;}
.wtrack{position:relative;height:30px;background:linear-gradient(90deg,#F3E7DC,var(--bg-deep),#F3E7DC);border-radius:7px;}
.tk{position:absolute;top:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transform:translateX(-50%);}
.tk b{width:2px;height:9px;background:#D9C9BD;border-radius:1px;}
.tk i{font-size:8px;color:var(--sub);font-style:normal;margin-top:1px;}
.tk em{font-size:8px;color:var(--text-2);font-style:normal;font-weight:600;position:absolute;top:11px;}
.cur{position:absolute;top:50%;width:14px;height:14px;border-radius:50%;background:#fff;border:3.5px solid var(--accent);transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.16);transition:left .6s;}
.ev-foot{font-size:11px;color:var(--text-2);line-height:1.5;margin-top:18px;}

/* ---------- 底部悬浮操作栏 ---------- */
.dock{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;
  background:rgba(38,32,34,.84);backdrop-filter:blur(16px);border-radius:26px;padding:6px 8px;box-shadow:0 10px 28px rgba(50,38,36,.34);z-index:40;}
.dock-btn{width:42px;height:42px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:rgba(255,255,255,.88);transition:.2s;}
.dock-btn svg{width:18px;height:18px;}
.dock-btn .dl{font-size:8px;letter-spacing:.3px;opacity:.68;}
.dock-btn:active{background:rgba(255,255,255,.16);transform:scale(.9);}
.dock-btn.playing{background:var(--accent);color:#fff;}
.dock-btn.playing .dl{opacity:.95;}

/* ---------- 弹窗 / 表单 ---------- */
.modal-ov{position:fixed;inset:0;background:rgba(50,40,42,.42);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s both;}
@keyframes fade{from{opacity:0;}to{opacity:1;}}
.modal{width:min(100vw,440px);background:#fff;border-radius:22px 22px 0 0;max-height:88%;display:flex;flex-direction:column;animation:up .3s cubic-bezier(.2,.8,.3,1) both;}
.modal.wide{max-width:560px;}
@keyframes up{from{transform:translateY(100%);}to{transform:translateY(0);}}
.modal-h{display:flex;align-items:center;justify-content:space-between;padding:15px 16px 10px;font-size:15.5px;font-weight:700;border-bottom:1px solid var(--line);}
.modal-x{width:28px;height:28px;border-radius:50%;background:var(--bg-deep);display:flex;align-items:center;justify-content:center;color:var(--sub);font-size:14px;}
.modal-b{padding:14px 16px;overflow-y:auto;}
.modal-f{display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);}
.frm{display:flex;flex-direction:column;gap:11px;}
.fl{display:flex;flex-direction:column;gap:5px;}
.fl>span{font-size:11.5px;color:var(--sub);font-weight:600;}
.fl input,.fl select,.fl textarea{width:100%;background:var(--bg);border:1.5px solid var(--line);border-radius:11px;padding:10px 12px;outline:none;transition:.2s;font-family:inherit;}
.fl input:focus,.fl select:focus,.fl textarea:focus{border-color:var(--accent);background:#fff;}
.fl textarea{resize:vertical;line-height:1.55;}
.fl-check{flex-direction:row;align-items:center;gap:8px;}
.fl-check input{width:18px;height:18px;}
.btn{flex:1;padding:12px;border-radius:14px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;transition:.2s;}
.btn:active{transform:scale(.98);}
.btn.ghost{background:var(--bg-deep);color:var(--text-2);}
.btn.sm{padding:7px 12px;font-size:12px;flex:0 0 auto;}
.cfm{font-size:13px;color:var(--text-2);line-height:1.6;}
.report{white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;line-height:1.6;color:var(--text-2);background:var(--bg);border-radius:10px;padding:12px;max-height:50vh;overflow:auto;}

/* 扫码 */
.scan{display:flex;flex-direction:column;gap:2px;}
.scan-prev{height:150px;border-radius:16px;background:#2B2426;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:8px;}
.scan-prev video{width:100%;height:100%;object-fit:cover;}
.scan-ph{color:rgba(255,255,255,.6);font-size:12px;}

/* 宝宝信息配置 */
.baby-list{display:flex;flex-direction:column;gap:9px;margin-bottom:11px;}
.baby-row{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:13px;padding:11px;}
.baby-row.cur{outline:1.5px solid var(--accent);}
.baby-ava{font-size:22px;}
.baby-meta{flex:1;min-width:0;}
.baby-n{font-size:14px;font-weight:700;}
.baby-n small{font-size:10px;color:var(--sub);font-weight:500;margin-left:4px;}
.baby-b{font-size:11px;color:var(--sub);margin-top:1px;}
.baby-ops{display:flex;align-items:center;gap:6px;}
.cur-tag{font-size:10px;color:var(--accent);font-weight:700;background:color-mix(in srgb,var(--accent) 13%,#fff);padding:3px 8px;border-radius:8px;}

/* Toast */
.toast{position:fixed;left:50%;bottom:104px;transform:translate(-50%,14px);background:rgba(38,32,34,.92);color:#fff;font-size:12.5px;font-weight:600;padding:9px 16px;border-radius:20px;opacity:0;pointer-events:none;transition:.28s;z-index:200;max-width:80vw;text-align:center;}
.toast.show{opacity:1;transform:translate(-50%,0);}

/* ---------- 月子餐：按真实时间高亮 ---------- */
.meal-sum{font-size:11.5px;color:var(--text-2);margin-bottom:9px;line-height:1.6;}
.meal-sum b{color:var(--accent);font-size:13px;}
.meal-row{flex-wrap:wrap;}
.meal-sts{flex:0 0 auto;font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:8px;margin-left:2px;}
.sts-done{background:#E4F7EF;color:#2FA277;}
.sts-past{background:#F1E8E1;color:#A9A0A3;}
.sts-next{background:color-mix(in srgb,var(--c-edu) 20%,#fff);color:#7a63d8;}
.sts-future{background:var(--bg-deep);color:var(--sub);}
.meal-tip{flex-basis:100%;font-size:10px;color:var(--sub);margin-top:3px;padding-left:32px;}
.meal-row.ms-next{background:color-mix(in srgb,var(--c-edu) 9%,#fff);}

/* ---------- 恶露状况分析 ---------- */
.ana-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.ana-phase{font-size:13px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,#fff);padding:3px 10px;border-radius:9px;}
.ana-day{font-size:11px;color:#fff;background:var(--c-vac);padding:3px 9px;border-radius:9px;}
.ana-count{font-size:11px;color:var(--sub);margin-left:auto;}
.ana-exp{font-size:11.5px;color:var(--text-2);margin-bottom:8px;line-height:1.6;}
.ana-msg{font-size:12px;line-height:1.7;padding:9px 11px;border-radius:10px;}

/* ---------- 恢复操视频跟练 ---------- */
.ex-list{display:flex;flex-direction:column;gap:8px;}
.ex-item{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:9px 11px;}
.ex-item.ex-no{opacity:.7;}
.ex-info{flex:1;min-width:0;}
.ex-name{font-size:13px;font-weight:700;}
.ex-plat{font-size:10px;color:var(--sub);margin-top:1px;}
.ex-ops{display:flex;gap:6px;}
.ex-play{flex:0 0 auto;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:6px 12px;border-radius:10px;transition:.2s;}
.ex-edit{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--bg-deep);color:var(--text-2);font-size:13px;transition:.2s;}
.ex-play:active,.ex-edit:active{transform:scale(.94);}
.video-wrap{position:relative;width:100%;padding-top:56.25%;border-radius:14px;overflow:hidden;background:#000;margin-bottom:8px;}
.video-iframe{position:absolute;inset:0;width:100%;height:100%;border:none;}
.video-link{text-align:center;font-size:12.5px;color:var(--text-2);line-height:1.7;padding:4px 0;}
.video-link .btn{margin:10px auto 0;display:inline-flex;}

/* ---------- 智能提醒 / 智能待办标签 ---------- */
.sr-list{display:flex;flex-direction:column;gap:8px;}
.sr-item{display:flex;align-items:flex-start;gap:9px;padding:9px 11px;border-radius:12px;font-size:12.5px;line-height:1.6;}
.sr-ico{font-size:16px;flex:0 0 18px;}
.sr-txt{flex:1;min-width:0;}
.lv-alert,.lv-warn{background:#FDECE8;color:#E0714F;border-left:3px solid #E0714F;}
.lv-watch{background:#FDF0E1;color:#C8821F;border-left:3px solid #F3AC61;}
.lv-normal,.lv-info{background:#EAF5FF;color:#3E7FB0;border-left:3px solid #86BFEC;}
.cat-smart{background:#EFEBFC;color:#8A76D6;}

/* ---------- 购物推荐 ---------- */
.reco-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px;}
.reco-item{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:12px;padding:9px 11px;}
.reco-item.added{opacity:.7;}
.reco-main{flex:1;min-width:0;}
.reco-name{font-size:13px;font-weight:600;}
.reco-qty{font-size:11px;color:var(--sub);margin-top:1px;}
.reco-add{flex:0 0 auto;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:6px 13px;border-radius:10px;transition:.2s;}
.reco-add:active{transform:scale(.94);}
.reco-done{flex:0 0 auto;font-size:11px;color:var(--sub);}

/* ---------- 顶栏操作按钮（桌面隐藏，手机端显示，替代底部悬浮栏） ---------- */
.tb-actions{display:none;align-items:center;gap:5px;}
.tb-act{width:32px;height:32px;flex:0 0 32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-deep);color:var(--text-2);transition:.2s;}
.tb-act:active{transform:scale(.92);background:var(--accent-soft);color:var(--accent);}
.tb-act svg{width:17px;height:17px;}
.tb-act.playing{background:var(--accent);color:#fff;}

/* ============================================================
   手机端适配（≤600px）：左侧导航→底部标签栏，悬浮操作→顶栏
   ============================================================ */
@media (max-width:600px){
  /* 桌面悬浮操作栏在手机上隐藏，操作搬入顶栏 */
  .dock{display:none !important;}

  /* 左侧导航 → 底部固定标签栏 */
  .sidebar{
    position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;flex:none;
    flex-direction:row;align-items:stretch;gap:0;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    border-right:none;border-top:1px solid var(--line);
    background:rgba(255,255,255,.94);backdrop-filter:blur(12px);z-index:60;
  }
  .nav-brand{display:none;}
  .nav-item{flex:1 1 0;min-width:0;flex-direction:column;gap:2px;padding:5px 1px;border-radius:11px;}
  .nav-item .ni-ico{width:20px;height:20px;font-size:16px;}
  .nav-item .ni-txt{font-size:9.5px;letter-spacing:0;}
  .nav-item.on{background:var(--accent);color:#fff;box-shadow:none;}
  .nav-item.on .ni-txt{font-weight:700;}

  /* 顶栏：顶部安全区，隐去次要信息省空间 */
  .topbar{min-height:52px;height:auto;flex-wrap:nowrap;
    padding:calc(6px + env(safe-area-inset-top)) 10px 6px 12px;gap:6px;}
  .tb-lunar{display:none;}
  .tb-baby-name{display:none;}
  .tb-baby{padding:4px 7px;gap:4px;}
  .tb-baby-age{font-size:8.5px;}
  .tb-sel{padding:3px 3px 3px 8px;}
  .tb-sel-sel{font-size:11px;}
  .tb-actions{display:flex !important;}
  .tb-date{font-size:15px;}

  /* 内容底部让出标签栏 + 底部安全区 */
  .content{padding:11px 11px calc(76px + env(safe-area-inset-bottom));}
  .modal{width:100vw;border-radius:18px 18px 0 0;}
  .card{padding:13px;margin-bottom:11px;}

  /* 备份二维码画廊 */
  .qr-note{font-size:12.5px;line-height:1.6;color:var(--text-2);background:var(--s-edu);border-radius:12px;padding:10px 12px;margin-bottom:12px;}
  .qr-gallery{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-height:60vh;overflow:auto;padding:2px;}
  .qr-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;}
  .qr-svg{width:150px;height:150px;display:flex;align-items:center;justify-content:center;}
  .qr-svg svg{width:100%!important;height:100%!important;display:block;}
  .qr-cap{font-size:11px;color:var(--text-2);font-weight:600;}
  .qr-status{font-size:12.5px;line-height:1.6;color:var(--c-edu);background:var(--s-edu);border-radius:12px;padding:10px 12px;margin:10px 0;}
  .fl input[readonly]{color:var(--text-2);font-weight:700;}
  .fl input::placeholder{color:var(--sub);font-weight:400;letter-spacing:0;}
}
