:root{--primary-color: #FF6B6B;--success-color: #4ECDC4;--warning-color: #FFA07A;--text-primary: #333;--text-secondary: #666;--text-tertiary: #999;--bg-page: #f5f5f5;--bg-card: #ffffff;--border-color: #e5e5e5;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12)}.dashboard{--bg-page: #f0f2f5;--bg-header: rgba(255, 255, 255, .8);--bg-card: #ffffff;--bg-sub-card: #f8f9fa;--border-main: #f0f0f0;--text-primary: #1a1a2e;--text-secondary: #666;--text-dimmed: #999;--text-record-time: #0066cc;--status-ok-color: #0d9488;--sleeping-bg: #f3f0ff;--awake-bg: #e6fffa;--feeding-bg: #fffaf0;--night-mode-glow: rgba(0, 0, 0, .02);--scrollbar-thumb: rgba(0, 0, 0, .1);--loading-bg: #f0f2f5;width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-page);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;overflow:hidden}.dashboard.dark{--bg-page: #0a0b14;--bg-header: rgba(15, 17, 26, .8);--bg-card: #121420;--bg-sub-card: rgba(255, 255, 255, .02);--border-main: rgba(255, 255, 255, .05);--text-primary: #e0e0e0;--text-secondary: rgba(255, 255, 255, .5);--text-dimmed: #444;--text-record-time: #4da3ff;--status-ok-color: #4ECDC4;--sleeping-bg: #1a1b3a;--awake-bg: #0a3d2e;--feeding-bg: #3d2b10;--night-mode-glow: rgba(129, 140, 248, .1);--scrollbar-thumb: rgba(255, 255, 255, .1);--loading-bg: #0a0b14}.db-sk{background:var(--bg-sub-card);position:relative;overflow:hidden}.db-sk:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 50%,transparent 100%);transform:translate(-100%);animation:db-shimmer 1.6s ease-in-out infinite}.dashboard.dark .db-sk:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.07) 50%,transparent 100%)}.db-sk-circle{border-radius:50%}@keyframes db-shimmer{to{transform:translate(100%)}}.adm-popover-inner-content{padding:0!important}body.dark .adm-popover-light .adm-popover-inner{--background: #1e1f2e}body.dark .adm-popover-light{--text-primary: #e8e8f0;--border-color: rgba(255, 255, 255, .08);color:var(--text-primary)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:env(safe-area-inset-top,0px) 24px 0;height:calc(64px + env(safe-area-inset-top,0px));background:var(--bg-header);border-bottom:1px solid var(--border-main);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0}.dashboard-clock-container{display:flex;align-items:center;gap:12px;padding:6px 16px;background:#00000008;border-radius:30px}.dark .dashboard-clock-container{background:#0003;border-color:#ffffff0d}.dashboard-clock{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.dashboard-date{font-size:12px;color:var(--text-secondary);font-weight:500}.theme-toggle{background:var(--bg-sub-card);border:1px solid var(--border-main);border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary)}.dashboard-status-indicator{display:flex;align-items:center;gap:6px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--status-ok-color);box-shadow:0 0 8px var(--status-ok-color)}.status-dot.status-dot-error{background:#f44336;box-shadow:0 0 8px #f44336}.refresh-trigger-btn{background:none;border:none;color:var(--text-secondary);font-size:12px;font-weight:600;cursor:pointer}.dashboard-content{flex:1;min-height:0;display:flex;flex-direction:column;height:100%}.swiper-page-indicator{display:flex;justify-content:center;align-items:center;padding:12px 0;gap:6px;flex-shrink:0}.dot-indicator{width:6px;height:6px;border-radius:50%;background:var(--text-dimmed);opacity:.3;transition:all .3s ease}.dot-indicator.active{background:var(--primary-color);opacity:1;width:16px;border-radius:3px}.swiper-container{width:100%;flex:1;min-height:0}.adm-swiper{height:100%!important}.adm-swiper-item{height:100%!important;padding:12px;box-sizing:border-box}.baby-card{height:100%;display:flex;flex-direction:column;gap:16px;background:var(--bg-card);border-radius:20px;padding:24px;box-sizing:border-box;overflow:hidden;box-shadow:0 4px 20px #0000000a;border:1px solid var(--border-main)}.dark .baby-card{box-shadow:0 10px 40px #0003}.baby-card-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--border-main);flex-shrink:0}.baby-gender-icon{font-size:24px;margin-right:12px}.baby-name{font-size:22px;font-weight:800}.baby-name-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.baby-header-badges{display:flex;flex-wrap:wrap;gap:2px}.baby-header-badge{font-size:14px;line-height:1;border-radius:6px;padding:2px 3px;transition:opacity .2s,filter .2s;display:inline-flex;align-items:center}.baby-header-badge.badge-text{font-size:9px;font-weight:800;letter-spacing:.02em;width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;padding:0;justify-content:center}.baby-header-badge.badge-lit{opacity:1;filter:none}.baby-header-badge.badge-text.badge-lit{color:var(--success-color, #4ECDC4)}.baby-header-badge.badge-dim{opacity:.6;filter:grayscale(1)}.header-stats{display:flex;gap:8px;background:var(--bg-sub-card);padding:6px 12px;border-radius:30px;border:1px solid var(--border-main)}.header-stat-item{font-size:13px;font-weight:700;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.timer-container{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.timer-group{display:flex;align-items:stretch;gap:10px;height:72px;min-width:0;overflow:hidden}.timer-card{display:flex;flex-direction:column;justify-content:center;padding:0 16px;border-radius:14px;transition:all .5s ease;border:1px solid transparent}.card-icon{display:none}.card-past .card-icon,.sleep-ongoing .card-icon{display:flex;align-items:center;justify-content:center;font-size:24px;width:40px;height:40px;background:#ffffff0d;border-radius:12px;flex-shrink:0}.card-past.card-with-icon{flex-direction:row;align-items:center;gap:12px}.card-past .card-content{flex:1;min-width:0}.sleep-ongoing.card-with-icon{flex-direction:row;align-items:center;justify-content:center;gap:12px}.card-content{display:flex;flex-direction:column;justify-content:center;min-width:0}.timer-label{font-size:12px;line-height:1.4;opacity:.6;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-value{font-size:18px;font-weight:800;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timer-sub-value{font-size:11px;line-height:1.4;opacity:.7;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-past,.card-predict{background:var(--bg-sub-card);border:1px solid var(--border-main);color:var(--text-primary)}.card-past{flex:0 0 auto;min-width:110px}.card-current{flex:1.5;color:var(--text-primary);border:none!important}.card-predict{flex:0 0 130px;border-style:dashed;position:relative;overflow:hidden}.card-night-sleep{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#818cf8!important;background:transparent!important}.night-moon-icon{font-size:24px;filter:drop-shadow(0 0 8px rgba(129,140,248,.5));animation:moon-pulse 3s infinite ease-in-out}@keyframes moon-pulse{0%,to{opacity:.4;transform:scale(.95)}50%{opacity:.8;transform:scale(1.05)}}.night-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-top:4px;opacity:.6}.card-predict.time-ok{border-color:#4caf50;color:#81c784}.card-predict.time-approaching{border-color:#ff9800;color:#ffb74d}.card-predict.time-overdue{background:#f443361a;border:1px solid #f44336;color:#ff8a80;border-style:solid}.card-predict.pulse{animation:pulse-red 2s infinite}@keyframes pulse-red{0%,to{box-shadow:0 0 #f4433633}50%{box-shadow:0 0 0 8px #f4433600}}.feed-current.ongoing{position:relative}.feed-current.ongoing:after{content:"";position:absolute;bottom:0;left:0;height:3px;background:var(--primary-color);animation:feed-progress 2s infinite linear}@keyframes feed-progress{0%{width:0;opacity:0}50%{width:100%;opacity:1}to{width:100%;opacity:0}}.sleep-current{background:var(--awake-bg)}.sleep-ongoing{background:var(--sleeping-bg);flex:1}.feed-current{background:var(--feeding-bg)}.recent-records{flex:1;min-height:0;background:var(--bg-sub-card);border-radius:16px;padding:12px;border:1px solid var(--border-main);display:flex;flex-direction:column;overflow:hidden}.recent-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.recent-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.recent-more-btn{background:none;border:none;padding:0;font-size:12px;color:var(--text-secondary);cursor:pointer;opacity:.7}.recent-more-btn:active{opacity:1}.recent-list{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.recent-item{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:8px}.recent-day-divider{font-size:11px;font-weight:600;color:var(--text-secondary);opacity:.5;text-align:center;padding:8px 0;position:relative}.recent-day-divider:before,.recent-day-divider:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--border-main)}.recent-day-divider:before{left:0}.recent-day-divider:after{right:0}.recent-time{font-size:13px;font-weight:700;color:var(--text-record-time);min-width:42px}.recent-icon-wrapper{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border-radius:8px;font-size:14px;position:relative;flex-shrink:0;border:1px solid var(--border-main)}.recent-badge{position:absolute;bottom:-4px;right:-4px;background:#444;color:#fff;font-size:9px;font-weight:700;padding:1px 4px;border-radius:4px;min-width:12px}.recent-desc-wrap{display:flex;flex-direction:column;min-width:0}.recent-desc{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-sub{font-size:11px;color:var(--text-secondary);margin-top:1px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;flex:1;height:100%}.dashboard-grid.single{grid-template-columns:minmax(300px,600px);justify-content:center}@media (max-width: 899px) and (min-width: 768px){.dashboard-grid{gap:16px;padding:16px}.baby-card{padding:20px;gap:12px}.timer-group{height:68px}.card-predict{flex:0 0 130px}.card-past{min-width:100px}}@media (max-width: 767px){.dashboard{height:100vh}.dashboard-header{padding:env(safe-area-inset-top,0px) 16px 0;height:calc(56px + env(safe-area-inset-top,0px))}.dashboard-clock{font-size:16px}.dashboard-content{padding:0}.adm-swiper-item{padding:8px}.baby-card{padding:16px;border-radius:16px;gap:12px}.timer-group{height:64px}.timer-value{font-size:16px}.card-predict{flex:0 0 110px;max-width:110px;min-width:0;overflow:hidden}.card-past{min-width:90px;flex-shrink:1}.header-stats .unit-text{display:none}}@media (max-width: 430px){.dashboard-header{padding:env(safe-area-inset-top,0px) 12px 0}.dashboard-clock-container{gap:8px;padding:5px 12px}.adm-swiper-item{padding:6px}.baby-card{padding:12px;gap:10px}.card-predict{flex:0 0 100px;max-width:100px}.card-past{min-width:82px}.timer-label{font-size:11px}.timer-value{font-size:15px}.timer-sub-value{font-size:10px}}@media (max-width: 413px){.adm-swiper-item{padding:5px}.baby-card{padding:10px;gap:8px;border-radius:14px}.timer-group{gap:6px;height:60px}.card-predict{flex:0 0 92px;max-width:92px;padding:0 8px}.card-past{display:none}.card-current.card-with-icon{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:0 10px}.sleep-ongoing.card-with-icon{flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:0 10px}.card-current .card-icon,.sleep-ongoing .card-icon{display:flex;align-items:center;justify-content:center;font-size:18px;width:28px;height:28px;background:#ffffff0d;border-radius:10px;flex-shrink:0}.timer-value{font-size:14px}.timer-sub-value{font-size:9px;margin-top:1px}.recent-time{font-size:12px;min-width:38px}.recent-desc{font-size:12px}.recent-sub{font-size:10px}}.time-quickpick{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.tqp-btn{padding:3px 8px;border-radius:12px;border:1px solid var(--border-color, #e5e5e5);background:var(--bg-page, #f5f5f5);color:var(--text-secondary, #666);font-size:11px;font-weight:600;cursor:pointer;transition:color .12s;white-space:nowrap}.tqp-btn:hover{color:var(--text-primary, #333)}.tqp-btn--clear{color:var(--warning-color, #FFA07A);border-color:var(--warning-color, #FFA07A)}.tqp-btn--clear:hover{color:#e07040;border-color:#e07040}.tqp-btn--next{color:#2196f3;border-color:#2196f3;margin-left:auto}.tqp-btn--next:hover{color:#1565c0;border-color:#1565c0}.ni-wrap{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.ni-input::-webkit-outer-spin-button,.ni-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ni-input[type=number]{-moz-appearance:textfield}.ni-unit{font-size:12px;color:var(--tl-text-secondary);white-space:nowrap}.ni-pills{display:flex;gap:4px}.ni-pill{padding:3px 8px;border-radius:12px;border:1px solid var(--border-color, #e5e5e5);background:var(--bg-page, #f5f5f5);color:var(--text-secondary, #666);font-size:11px;font-weight:600;cursor:pointer;transition:color .12s;white-space:nowrap}.ni-pill:hover{color:var(--text-primary, #333)}.tl-page{--tl-bg: #f0f2f5;--tl-surface: #ffffff;--tl-surface-2: #f8f9fa;--tl-border: #e4e4e4;--tl-text: #1a1a2e;--tl-text-secondary: #888;--tl-text-time: #0066cc;--tl-feeding-color: #4ECDC4;--tl-sleep-color: #818cf8;--tl-diaper-color: #fb923c;--tl-success: #4ECDC4;--tl-ongoing-bg: rgba(78, 205, 196, .06);--tl-ongoing-border: rgba(78, 205, 196, .3);--tl-line-color: #ddd;height:100vh;overflow:hidden;background:var(--tl-bg);color:var(--tl-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding-top:env(safe-area-inset-top,0px)}body.dark .tl-page{--tl-bg: #0a0b14;--tl-surface: #121420;--tl-surface-2: rgba(255, 255, 255, .03);--tl-border: rgba(255, 255, 255, .06);--tl-text: #e0e0e0;--tl-text-secondary: rgba(255, 255, 255, .45);--tl-text-time: #4da3ff;--tl-ongoing-bg: rgba(78, 205, 196, .07);--tl-ongoing-border: rgba(78, 205, 196, .35);--tl-line-color: rgba(255, 255, 255, .08)}.tl-add-panel{background:var(--tl-surface);border-bottom:1px solid var(--tl-border);padding:16px}.tl-add-panel-title{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--tl-text-secondary)}.tl-panel-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.tl-panel-collapse{width:24px;height:24px;border-radius:6px;border:1px solid var(--tl-border);background:transparent;color:var(--tl-text-secondary);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0 0 1px}.tl-panel-collapse:hover{background:var(--tl-surface-2);border-color:#ffffff26;color:var(--tl-text)}.tl-edit-divider{border:none;border-top:1px solid var(--tl-border);margin:8px 0 12px}.tl-baby-selector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tl-baby-sel-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;border:2px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.tl-baby-sel-btn:hover:not(:disabled){border-color:#fff3;color:var(--tl-text)}.tl-baby-sel-btn.active{font-weight:700}.tl-baby-sel-btn:disabled{opacity:.5;cursor:default}.tl-baby-sel-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@keyframes tl-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px)}35%{transform:translate(6px)}55%{transform:translate(-4px)}75%{transform:translate(4px)}90%{transform:translate(-2px)}}.tl-baby-selector--shake{animation:tl-shake .5s ease}.tl-baby-sel-btn--shake{border-color:#ff4d4f!important;color:#ff4d4f!important;background:#ff4d4f14!important}.tl-type-tabs{display:flex;gap:8px;margin-bottom:14px}.tl-type-tab{flex:1;padding:9px 4px;border-radius:10px;border:1px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:3px}.tl-type-tab .tab-emoji{font-size:18px}.tl-type-tab.active-feeding{background:#4ecdc426;border-color:var(--tl-feeding-color);color:var(--tl-feeding-color)}.tl-type-tab.active-sleep{background:#818cf826;border-color:var(--tl-sleep-color);color:var(--tl-sleep-color)}.tl-type-tab.active-diaper{background:#fb923c26;border-color:var(--tl-diaper-color);color:var(--tl-diaper-color)}.tl-type-tab:disabled{opacity:.35;color:var(--tl-text-secondary)!important;background:transparent!important;border-color:var(--tl-border)!important;cursor:default}.tl-form-area{display:flex;flex-direction:column;gap:10px}.tl-form-row{display:flex;gap:8px;align-items:flex-end}.tl-field{flex:1;display:flex;flex-direction:column;gap:5px}.tl-endtime-row{display:flex;flex-wrap:wrap;gap:4px;margin-top:0}.tl-endtime-row .time-quickpick{margin-top:0;flex:1}.tl-field label{font-size:11px;font-weight:700;color:var(--tl-text-secondary);letter-spacing:.04em}.tl-input,.tl-select{background:var(--tl-surface-2);border:1px solid var(--tl-border);border-radius:8px;padding:9px 10px;color:var(--tl-text);font-size:14px;width:100%;outline:none;transition:border-color .2s;font-family:inherit}.tl-input:focus,.tl-select:focus{border-color:#4ecdc499}.tl-textarea{resize:vertical;min-height:52px;line-height:1.5}.tl-select-sm{padding:4px 6px;font-size:12px;width:56px;flex:none}.tl-field-label-row{display:flex;align-items:center;justify-content:space-between}.tl-clear-btn{background:transparent;border:none;color:var(--tl-text-secondary);font-size:11px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.tl-clear-btn:hover{color:#ff6b6b}.tl-submit-btn{width:100%;padding:12px;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;margin-top:4px;letter-spacing:.02em}.tl-submit-btn--feeding{background:var(--tl-feeding-color);color:#fff}.tl-submit-btn--sleep{background:var(--tl-sleep-color);color:#fff}.tl-submit-btn--diaper{background:var(--tl-diaper-color);color:#fff}.tl-submit-btn:disabled{background:#ffffff12;color:var(--tl-text-secondary);cursor:not-allowed}.tl-feeding-row{padding:8px 10px;border:1px solid var(--tl-border);border-radius:10px;background:var(--tl-surface-2);margin-bottom:6px}.tl-feeding-row-inline{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tl-feeding-row-header{display:flex;align-items:center;justify-content:space-between;gap:4px}.tl-feeding-type-pills{display:flex;gap:4px;flex-wrap:wrap}.tl-fpill{flex:1;padding:7px 10px;border-radius:20px;border:1.5px solid var(--tl-border);background:transparent;color:var(--tl-text-secondary);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;text-align:center}.tl-fpill:hover{border-color:#4ecdc466;color:var(--tl-text)}.tl-fpill.active{background:#4ecdc426;border-color:#4ecdc499;color:var(--tl-feeding-color);font-weight:700}.tl-fpill-sm{padding:3px 8px;font-size:12px}.tl-feeding-row-del{width:26px;height:26px;border-radius:50%;border:1px solid var(--tl-border);background:transparent;color:var(--tl-text-secondary);font-size:12px;cursor:pointer;margin-left:auto;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.tl-feeding-row-del:hover{background:#ff6b6b1f;border-color:#ff6b6b80;color:#ff6b6b}.tl-feeding-row-fields{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.tl-side-pills{display:flex;gap:6px}.tl-breast-numeric{padding-left:62px;padding-top:4px}.tl-input-inline{width:52px!important;padding:4px 6px!important;font-size:13px!important;text-align:center}.tl-unit{font-size:12px;color:var(--tl-text-secondary);white-space:nowrap}.tl-unit-or{font-size:11px;color:var(--tl-text-secondary);padding:0 2px}.tl-add-row-btn{width:100%;padding:7px;border:1px dashed var(--tl-border);border-radius:8px;background:transparent;color:var(--tl-text-secondary);font-size:13px;cursor:pointer;margin-bottom:8px;transition:all .15s}.tl-add-row-btn:hover{border-color:#4ecdc480;color:var(--tl-feeding-color);background:#4ecdc40d}.tl-diaper-pills{display:flex;gap:8px}.tl-diaper-pill{flex:1;padding:10px;border-radius:10px;border:1px solid var(--tl-border);background:transparent;color:var(--tl-text-secondary);font-size:15px;cursor:pointer;transition:all .15s;text-align:center}.tl-diaper-pill:hover{border-color:#fff3;color:var(--tl-text)}.tl-diaper-pill.active-urine{background:#4da3ff26;border-color:#4da3ff99;color:#4da3ff;font-weight:600}.tl-diaper-pill.active-stool{background:#fb923c26;border-color:#fb923c99;color:var(--tl-diaper-color);font-weight:600}.tl-baby-hint{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1px solid;font-size:13px;margin-bottom:10px}.tl-baby-hint.warn{border-color:#ffa07a66;background:#ffa07a1a;color:#ffa07a}.tl-filter-bar{display:flex;align-items:center;gap:0;padding:0 12px 0 10px;height:40px;border-bottom:1px solid var(--tl-border);background:var(--tl-surface);overflow:hidden}.tl-track-icon-btn{flex-shrink:0;width:34px;height:28px;border-radius:8px;border:1px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-right:2px}.tl-track-icon-btn:hover:not(.disabled){border-color:#818cf880;color:var(--tl-sleep-color);background:#818cf814}.tl-track-icon-btn.active{border-color:var(--tl-sleep-color);background:#818cf826;color:var(--tl-sleep-color)}.tl-track-icon-btn.disabled{opacity:.28;cursor:not-allowed}.tl-filter-sep{width:1px;height:18px;background:var(--tl-border);flex-shrink:0;margin:0 8px}.tl-filter-right{display:flex;align-items:center;gap:5px;flex:1;min-width:0}.tl-filter-date-toggle{display:flex;align-items:center;gap:3px;padding:4px 8px;border-radius:7px;border:1px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.tl-filter-date-toggle.active{border-color:var(--tl-text-time);background:#4da3ff1f;color:var(--tl-text-time)}.tl-filter-date-toggle.open{border-color:#4da3ff66}.tl-filter-date-arrow{font-size:11px;opacity:.6;line-height:1}.tl-filter-day-btn{padding:4px 9px;border-radius:7px;border:1px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease;flex-shrink:0}.tl-filter-day-btn.active{border-color:var(--tl-text-time);background:#4da3ff1f;color:var(--tl-text-time)}.tl-filter-date-input{background:var(--tl-surface-2);border:1px solid var(--tl-border);border-radius:7px;padding:4px 6px;color:var(--tl-text);font-size:12px;outline:none;font-family:inherit;width:116px;min-width:0;transition:border-color .2s;flex-shrink:0}.tl-filter-date-input:focus{border-color:#4da3ff80}.tl-filter-chip{width:30px;height:26px;border-radius:7px;border:1px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tl-filter-chip:hover{border-color:#ffffff26}.tl-filter-chip.on-feeding{border-color:var(--tl-feeding-color);background:#4ecdc41f}.tl-filter-chip.on-sleep{border-color:var(--tl-sleep-color);background:#818cf81f}.tl-filter-chip.on-diaper{border-color:var(--tl-diaper-color);background:#fb923c1f}.tl-filter-chip--incomplete{width:auto;padding:0 8px;font-size:12px;font-weight:600;color:var(--tl-text-secondary);margin-left:auto}.tl-filter-chip--incomplete.active{border-color:#f87171;background:#f871711f;color:#f87171}.tl-filter-funnel{width:26px;height:26px;border-radius:7px;border:1px solid transparent;background:none;color:var(--tl-text-secondary);font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;opacity:.4}.tl-filter-funnel.has-filter{border-color:var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);opacity:1}.tl-filter-funnel.has-filter:hover{border-color:#ff6b6b80;background:#ff6b6b14;color:#ff6b6b}.tl-filter-funnel-x{font-size:11px;font-weight:700;line-height:1}.tl-filter-reset{width:26px;height:26px;border-radius:7px;border:1px solid transparent;background:none;color:transparent;font-size:11px;cursor:default;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0;pointer-events:none}.tl-filter-reset.has-filter{border-color:var(--tl-border);color:var(--tl-text-secondary);cursor:pointer;pointer-events:auto}.tl-filter-reset.has-filter:hover{border-color:#ff6b6b80;color:#ff6b6b;background:#ff6b6b14}.tl-page-inner{height:100%;display:flex;flex-direction:column}.tl-right-col{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.tl-list{flex:1;overflow-y:auto;padding:0 16px 80px;min-height:0}.tl-date-group{margin-bottom:4px}.tl-date-divider{display:flex;align-items:center;gap:10px;padding:10px 0}.tl-date-divider-label{font-size:11px;font-weight:800;color:var(--tl-text-secondary);white-space:nowrap;letter-spacing:.06em;text-transform:uppercase}.tl-date-divider-line{flex:1;height:1px;background:var(--tl-border)}.tl-track{position:relative;padding-left:0}.tl-track-lines-bg{position:absolute;top:-8px;bottom:-8px;left:0;right:0;display:grid;grid-template-columns:repeat(var(--tl-cols, 1),1fr);gap:8px;pointer-events:none;z-index:1}.tl-track-line-col{position:relative;width:100%;height:100%}.tl-track-line{position:absolute;left:45px;transform:translate(-50%);top:0;bottom:0;width:1.5px;background:var(--tl-line-color);border-radius:1px}.tl-event{position:relative;margin-bottom:12px;display:grid;grid-template-columns:repeat(var(--tl-cols, 1),1fr);gap:8px;align-items:center}.tl-event:last-child{margin-bottom:0}.tl-event-time{position:absolute;left:0;top:50%;transform:translateY(-50%);width:36px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.tl-time-main{font-size:11px;font-weight:700;font-family:SF Mono,Fira Mono,monospace;color:var(--tl-text-time);line-height:1.1}.tl-time-end-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.tl-time-arrow{font-size:9px;color:var(--tl-border);margin-right:12px;opacity:.8}.tl-time-main.fade{color:var(--tl-text-secondary);font-weight:600}.tl-event-card-wrap{position:relative;padding-left:60px;z-index:2}.tl-event-card-wrap:has(.tl-menu-btn.open){z-index:10}.tl-event-dot{position:absolute;left:45px;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;border-radius:50%;border:2.5px solid var(--tl-bg);z-index:2}.tl-event.ongoing .tl-event-dot{animation:tl-dot-pulse 2s infinite ease-in-out}@keyframes tl-dot-pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px #4ecdc433}}.tl-event-card{background:var(--tl-surface);border:1px solid var(--tl-border);border-radius:10px;padding:9px 11px;transition:border-color .2s}.tl-event.ongoing .tl-event-card{background:var(--tl-ongoing-bg);border-color:var(--tl-ongoing-border)}.tl-card-top{display:flex;align-items:center;gap:6px;min-width:0}.tl-card-top--ongoing{flex-wrap:wrap}.tl-card-baby-tag{padding:1px 6px;border-radius:5px;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;white-space:nowrap}.tl-card-icon{font-size:14px;flex-shrink:0;line-height:1}.tl-card-title{font-size:13px;font-weight:600;color:var(--tl-text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-incomplete-badge{flex-shrink:0;font-size:10px;font-weight:600;color:#fff;background:#ffa07a;border-radius:4px;padding:1px 5px;cursor:pointer;white-space:nowrap;line-height:1.6}.tl-incomplete-badge:hover{background:#ff8c5a}.tl-card-sub{font-size:11px;color:var(--tl-text-secondary);margin-top:3px}.tl-card-notes{font-size:11px;color:var(--tl-text-secondary);font-style:italic;margin-top:4px;padding:4px 0 0;border-top:1px solid var(--tl-border);white-space:pre-wrap;word-break:break-word}.tl-ongoing-row{display:contents}.tl-ongoing-badge{font-size:11px;font-weight:700;color:var(--tl-success);letter-spacing:.01em;flex-shrink:0;white-space:nowrap}.tl-ongoing-action{padding:2px 8px;border-radius:5px;border:1px solid var(--tl-border);background:var(--tl-surface-2);color:var(--tl-text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;flex-shrink:0}.tl-ongoing-action:hover{background:#818cf826;border-color:var(--tl-sleep-color);color:var(--tl-sleep-color)}.tl-ongoing-action--stop:hover{background:#fb923c26;border-color:var(--tl-diaper-color);color:var(--tl-diaper-color)}.tl-menu-wrap{position:relative;flex-shrink:0}.tl-menu-btn{width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:none;color:var(--tl-text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;letter-spacing:0;line-height:1}.tl-menu-btn:hover,.tl-menu-btn.open{background:var(--tl-surface-2);border-color:var(--tl-border);color:var(--tl-text)}.tl-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:400;background:var(--tl-surface);border:1px solid var(--tl-border);border-radius:10px;box-shadow:0 8px 24px #0006;min-width:120px;overflow:hidden;animation:tl-dd-in .12s ease}@keyframes tl-dd-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tl-dropdown-item{width:100%;padding:9px 13px;border:none;background:none;color:var(--tl-text);font-size:13px;font-weight:500;text-align:left;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .1s}.tl-dropdown-item:hover{background:var(--tl-surface-2)}.tl-dropdown-item.danger{color:#ff6b6b}.tl-dropdown-item.success{color:var(--tl-success)}.tl-dropdown-sep{height:1px;background:var(--tl-border);margin:2px 0}.tl-empty{text-align:center;padding:60px 20px;color:var(--tl-text-secondary);font-size:14px}.tl-empty-icon{font-size:38px;margin-bottom:12px;opacity:.35}.tl-loading-more-indicator{display:inline-block;width:20px;height:20px;border:2px solid var(--tl-border);border-top-color:var(--tl-feeding-color);border-radius:50%;animation:tl-spin .7s linear infinite}@keyframes tl-spin{to{transform:rotate(360deg)}}.tl-skeleton-item{background:var(--tl-surface);border:1px solid var(--tl-border);border-radius:10px;padding:12px;margin-bottom:10px}.tl-skeleton-line{height:11px;border-radius:6px;background:var(--tl-surface-2);margin-bottom:8px;position:relative;overflow:hidden}.tl-skeleton-line:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.08) 50%,transparent 100%);transform:translate(-100%);animation:tl-shimmer 1.6s ease-in-out infinite}body:not(.dark) .tl-skeleton-line:after{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.05) 50%,transparent 100%)}@keyframes tl-shimmer{to{transform:translate(100%)}}.tl-cancel-edit-btn{width:100%;padding:9px;margin-top:6px;border:1px solid var(--tl-border);border-radius:10px;background:transparent;color:var(--tl-text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.tl-cancel-edit-btn:hover{border-color:#ff6b6b66;color:#ff6b6b;background:#ff6b6b0f}.tl-quick-start{display:flex;flex-direction:column;gap:8px}.tl-expand-btn{width:100%;padding:7px;border:1px dashed var(--tl-border);border-radius:10px;background:transparent;color:var(--tl-text-secondary);font-size:12px;cursor:pointer;transition:all .15s;text-align:center}.tl-expand-btn:hover{border-color:var(--tl-text-secondary);color:var(--tl-text-primary);background:var(--tl-hover)}.tl-diaper-quick-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tl-diaper-quick-btn{padding:11px 8px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.tl-diaper-quick-btn:active{transform:scale(.97)}.tl-diaper-quick-btn:disabled{opacity:.5;cursor:not-allowed}.tl-diaper-quick-btn--urine{background:#e8f4fd;color:#2196f3}.tl-diaper-quick-btn--urine:hover:not(:disabled){background:#d0eaf9}.tl-diaper-quick-btn--stool{background:#fff3e0;color:#e65100}.tl-diaper-quick-btn--stool:hover:not(:disabled){background:#ffe0b2}@media (min-width: 768px){.tl-page-inner{display:grid;grid-template-columns:1fr 0px;height:100%;align-items:start;transition:grid-template-columns .25s ease}.tl-page-inner.panel-open{grid-template-columns:1fr 300px}.tl-right-col{order:1;height:100vh;display:flex;flex-direction:column;overflow:hidden}.tl-panel-sidebar{order:2;width:0;overflow:hidden;transition:width .25s ease;position:sticky;top:0;height:100vh}.tl-panel-sidebar.open{width:300px}.tl-panel-reopen{order:2;position:sticky;top:0;height:100vh;width:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-left:1px solid var(--tl-border);color:var(--tl-text-secondary);font-size:18px;cursor:pointer;transition:background .15s,color .15s;flex-shrink:0;padding:0}.tl-panel-reopen:hover{background:var(--tl-surface-2);color:var(--tl-text)}.tl-add-panel{width:300px;min-height:100vh;border-bottom:none;border-left:1px solid var(--tl-border);overflow-y:auto;max-height:100vh}.tl-panel-modal-overlay{display:none!important}}@keyframes tl-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes tl-overlay-in{0%{opacity:0}to{opacity:1}}@media (max-width: 767px){.tl-panel-sidebar{display:none!important}.tl-panel-modal-overlay{--tl-surface: #ffffff;--tl-surface-2: #f8f9fa;--tl-border: #e4e4e4;--tl-text: #1a1a2e;--tl-text-secondary: #888;--tl-text-time: #0066cc;--tl-feeding-color: #4ECDC4;--tl-sleep-color: #818cf8;--tl-diaper-color: #fb923c;--tl-success: #4ECDC4;--tl-ongoing-bg: rgba(78, 205, 196, .06);--tl-ongoing-border: rgba(78, 205, 196, .3);--tl-line-color: #ddd;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;display:flex;align-items:flex-end;animation:tl-overlay-in .2s ease;touch-action:none;overscroll-behavior:contain}@media (prefers-color-scheme: dark){.tl-panel-modal-overlay{--tl-surface: #121420;--tl-surface-2: rgba(255, 255, 255, .03);--tl-border: rgba(255, 255, 255, .06);--tl-text: #e0e0e0;--tl-text-secondary: rgba(255, 255, 255, .45);--tl-text-time: #4da3ff;--tl-ongoing-bg: rgba(78, 205, 196, .07);--tl-ongoing-border: rgba(78, 205, 196, .35);--tl-line-color: rgba(255, 255, 255, .08)}}.tl-panel-modal{width:100%;min-height:70vh;max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0;background:var(--tl-surface);animation:tl-sheet-up .28s cubic-bezier(.32,.72,0,1);touch-action:pan-y;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px)}.tl-panel-modal:before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:var(--tl-line-color);margin:10px auto 4px;flex-shrink:0}.tl-panel-modal .tl-add-panel{width:100%;min-height:unset;max-height:unset;border-left:none;border-bottom:none}.tl-panel-modal .tl-panel-collapse{display:none}.tl-panel-modal .tl-panel-header{justify-content:center}.tl-event,.tl-track-lines-bg{grid-template-columns:1fr!important}.tl-event-card-wrap{grid-column-start:1!important}}body.dark .tl-panel-modal-overlay{--tl-surface: #121420;--tl-surface-2: rgba(255, 255, 255, .03);--tl-border: rgba(255, 255, 255, .06);--tl-text: #e0e0e0;--tl-text-secondary: rgba(255, 255, 255, .45);--tl-text-time: #4da3ff;--tl-ongoing-bg: rgba(78, 205, 196, .07);--tl-ongoing-border: rgba(78, 205, 196, .35);--tl-line-color: rgba(255, 255, 255, .08)}.tl-panel-reopen{display:none}.tl-fab{position:fixed;right:24px;bottom:88px;width:52px;height:52px;border-radius:50%;border:none;background:var(--tl-feeding-color);color:#fff;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 16px #4ecdc466;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s;z-index:100}.tl-fab:hover{transform:scale(1.08);box-shadow:0 6px 22px #4ecdc48c}@media (min-width: 768px){.tl-fab{bottom:32px}}@media (max-width: 430px){.tl-type-tab{font-size:12px;padding:8px 2px}.tl-list{padding:0 10px 10px}.tl-filter-bar{padding:7px 10px;gap:5px}.tl-filter-day-btn{padding:4px 7px;font-size:11px}.tl-filter-date-input{max-width:100px}}.calendar-page{padding:calc(12px + env(safe-area-inset-top,0px)) 12px 12px;width:100%;box-sizing:border-box;font-family:inherit;display:flex;flex-direction:column;gap:12px;overflow:hidden;height:100%}.calendar-page.desktop{flex-direction:row;align-items:stretch;overflow-y:hidden}.cal-panel{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;border:1px solid var(--border-color);border-radius:14px;overflow:hidden;background:var(--bg-card)}.calendar-page.desktop .cal-panel{flex:1;min-height:0}.calendar-header{display:flex;align-items:center;justify-content:center;position:relative;padding:6px 8px;border-bottom:1px solid var(--border-color);flex-shrink:0}.cal-title-group{display:flex;flex-direction:column;align-items:center;gap:2px;position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.cal-title-group button{pointer-events:auto}.cal-nav-btn{background:none;border:none;width:36px;height:36px;font-size:22px;cursor:pointer;color:#aaa;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s,color .15s;flex-shrink:0}.cal-nav-btn:hover{background:#f0f0f0;color:#555}body.dark .cal-nav-btn{color:#555}body.dark .cal-nav-btn:hover{background:#2a2f3a;color:#aaa}.cal-title-group{display:flex;flex-direction:column;align-items:center;gap:2px}.cal-title{display:flex;align-items:baseline;gap:2px}.cal-title-month{font-size:28px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px;line-height:1}.cal-title-sep{font-size:13px;font-weight:500;color:var(--text-tertiary)}.cal-title-year{font-size:13px;font-weight:400;color:var(--text-tertiary);margin-left:2px}.cal-today-btn{background:none;border:none;font-size:11px;color:#2196f3;cursor:pointer;padding:0;opacity:.8}.cal-today-btn:hover{opacity:1;text-decoration:underline}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--border-color);flex-shrink:0}.cal-weekday{text-align:center;font-size:11px;color:#bbb;padding:4px 0;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.cal-weekday:nth-child(6),.cal-weekday:nth-child(7){color:#d0a0a0}body.dark .cal-weekday{color:#555}body.dark .cal-weekday:nth-child(6),body.dark .cal-weekday:nth-child(7){color:#6a4040}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;flex:1;min-height:0;gap:0;transition:opacity .2s;overflow:hidden}.cal-grid.cal-loading{opacity:.4;pointer-events:none}.calendar-page.desktop .cal-grid{grid-auto-rows:1fr;flex:1;min-height:0}.cal-cell{aspect-ratio:unset;min-height:0;background:var(--bg-card);display:flex;flex-direction:column;align-items:stretch;padding:5px 4px 3px;cursor:pointer;position:relative;transition:background .12s;overflow:hidden;box-sizing:border-box;box-shadow:inset -.5px -.5px 0 var(--border-color)}.calendar-page.desktop .cal-cell{aspect-ratio:unset;min-height:0;max-height:none}.cal-cell:hover:not(.out-of-month):not(.future){background:#f0f4ff}body.dark .cal-cell:hover:not(.out-of-month):not(.future){background:#1e2235}.cal-cell.out-of-month{background:var(--bg-page);cursor:default}.cal-cell.out-of-month .cal-day-num{color:var(--text-tertiary)}.cal-cell.out-of-month .cell-stat-val{opacity:.45}.cal-cell.future{opacity:.38;cursor:default}.cal-cell.selected{background:#eaf2fe!important;box-shadow:inset 0 0 0 1.5px #2196f3,inset -.5px -.5px #2196f3;z-index:1}body.dark .cal-cell.selected{background:#132033!important}.cell-top{display:flex;justify-content:center;margin-bottom:2px}.cal-day-num{font-size:11px;font-weight:600;color:var(--text-secondary);line-height:18px;width:18px;height:18px;text-align:center;border-radius:50%;flex-shrink:0}.cal-day-num.today-num{background:#2196f3;color:#fff;font-weight:700}.cal-day-num.selected-num{box-shadow:0 0 0 1.5px #2196f3;color:#2196f3;font-weight:700}.cell-single{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1;min-height:0}.cell-heat-rows-desktop{display:flex;flex-direction:column;width:100%;gap:2px;padding:1px 2px 2px;box-sizing:border-box}.cell-heat-row-desktop{display:flex;align-items:center;justify-content:flex-end;gap:2px;padding:1px 3px;border-radius:3px}.cell-heat-row-merged{flex-direction:row-reverse;justify-content:flex-start}.cell-heat-row-merged-item{display:flex;align-items:center;gap:1px}.cell-heat-row-icon{font-size:9px;line-height:1;flex-shrink:0}.cell-heat-row-text-badge{font-size:7px;font-weight:800;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;border:1px solid currentColor;color:var(--text-secondary);letter-spacing:.01em}.cell-heat-row-text{font-size:10px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.cell-multi{display:flex;flex-direction:row;flex:1;min-height:0}.cell-baby-col{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:1px 2px 1px 1px;min-width:0;overflow:hidden}.cell-baby-col:before{content:"";display:block;width:100%;height:2px;border-radius:1px;background:var(--baby-color, #ccc);margin-bottom:1px;flex-shrink:0}.cell-baby-dot{display:none}.cell-empty-dash{font-size:10px;color:#ddd;padding-left:1px}body.dark .cell-empty-dash{color:#333}.cell-stat-grid{display:flex;flex-direction:column;align-items:flex-end;gap:3px;width:100%}.cell-stat-item{display:flex;align-items:center;justify-content:flex-end;gap:2px;line-height:1.3;white-space:nowrap;overflow:hidden}.cell-stat-icon{font-size:10px;flex-shrink:0;line-height:1}.cell-stat-val{font-size:11px;color:var(--text-secondary);font-weight:600;overflow:hidden;text-overflow:ellipsis;text-align:right}.cell-heat-row{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;padding:1px 2px}.cell-heat-dot{height:8px;border-radius:2px;flex-shrink:0}.drawer{background:var(--bg-card);border-radius:14px;border:1px solid var(--border-color);width:100%;box-sizing:border-box;overflow-y:auto;display:flex;flex-direction:column}.calendar-page.desktop .drawer{width:300px;height:100%;flex-shrink:0;border-radius:14px;border:1px solid var(--border-color);animation:none;align-self:stretch;max-height:none;padding-bottom:0}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px;border-bottom:1px solid var(--border-color);gap:4px;flex-shrink:0}.drawer-nav-btn{background:none;border:none;width:36px;height:36px;font-size:22px;cursor:pointer;color:#aaa;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.drawer-nav-btn:hover:not(:disabled){background:#f0f0f0;color:#555}.drawer-nav-btn:disabled{opacity:.25;cursor:default}body.dark .drawer-nav-btn{color:#555}body.dark .drawer-nav-btn:hover:not(:disabled){background:#2a2f3a;color:#aaa}.drawer-date{font-size:15px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px;position:relative;flex:1;justify-content:center}.drawer-date-label{cursor:pointer;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none}.drawer-date-label:hover{opacity:.75}.drawer-date-input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.drawer-today-btn{background:none;border:none;font-size:11px;color:#2196f3;cursor:pointer;padding:0 4px;opacity:.8;white-space:nowrap;flex-shrink:0}.drawer-today-btn:hover{opacity:1;text-decoration:underline}body.dark .drawer-today-btn{color:#64b5f6}.today-badge{font-size:10px;background:#2196f3;color:#fff;border-radius:10px;padding:1px 8px;font-weight:600}.drawer-baby-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 20px}.drawer-baby-tab{display:flex;align-items:center;gap:6px;padding:10px 14px;background:none;border:none;border-bottom:2px solid transparent;font-size:14px;color:#aaa;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.drawer-baby-tab.active{font-weight:600}body.dark .drawer-baby-tab{color:#666}.drawer-baby-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.drawer-body{padding:16px 20px;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto}.day-stats-row{display:flex;gap:6px}.day-stat{flex:1;background:var(--bg-page);border-radius:12px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}.day-stat-icon{font-size:18px}.day-stat-label{font-size:10px;color:#aaa}.day-stat-value{font-size:13px;font-weight:700;color:#222}.day-stat-sub{font-size:11px;font-weight:500;color:#888}body.dark .day-stat-value{color:#ddd}body.dark .day-stat-sub{color:#999}.calendar-page:not(.desktop) .drawer{flex:1;min-height:0;overflow-y:auto}.calendar-page:not(.desktop) .day-stats-row{flex-direction:row;gap:4px}.calendar-page:not(.desktop) .day-stat{flex-direction:row;align-items:center;justify-content:center;padding:6px 8px;border-radius:10px;gap:6px;text-align:left}.calendar-page:not(.desktop) .day-stat-icon{font-size:16px}.calendar-page:not(.desktop) .day-stat-label{font-size:9px;display:block}.calendar-page:not(.desktop) .day-stat-text{display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0}.calendar-page:not(.desktop) .day-stat-values{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.calendar-page:not(.desktop) .day-stat-value{font-size:11px;font-weight:700;display:block;white-space:nowrap}.calendar-page:not(.desktop) .day-stat-sub{font-size:10px;font-weight:500;display:block;white-space:nowrap}.calendar-page:not(.desktop) .day-stat-sub:before{content:none}.calendar-page.desktop .day-stat-text,.calendar-page.desktop .day-stat-values{display:contents}.calendar-page.desktop .day-stat-icon{order:0}.calendar-page.desktop .day-stat-label{order:1}.calendar-page.desktop .day-stat-value{order:2}.calendar-page.desktop .day-stat-sub{order:3}.calendar-page:not(.desktop) .drawer-baby-tabs{padding:0 12px}.calendar-page:not(.desktop) .drawer-baby-tab{padding:6px 10px;font-size:13px}.calendar-page:not(.desktop) .drawer-body{padding:10px 12px;gap:10px}.calendar-page:not(.desktop) .checklist-grid{grid-template-columns:repeat(4,1fr);gap:5px}.calendar-page:not(.desktop) .checklist-item{padding:6px 2px;border-radius:10px}.calendar-page:not(.desktop) .checklist-icon{font-size:16px}.calendar-page:not(.desktop) .checklist-label{font-size:9px}.no-records-msg{text-align:center;color:#ccc;font-size:14px;padding:8px 0}.ds-container{display:flex;flex-direction:column;gap:4px}.ds-section{background:var(--bg-page);border-radius:10px;overflow:hidden}.ds-section-header{display:flex;align-items:center;gap:6px;padding:7px 12px 5px;border-bottom:1px solid var(--border-color)}.ds-section-icon{font-size:13px;line-height:1}.ds-section-label{font-size:11px;font-weight:700;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.ds-row{padding:6px 12px;border-bottom:1px solid var(--border-color)}.ds-row:last-child{border-bottom:none}.ds-row-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.ds-row-label{font-size:12px;color:var(--text-secondary)}.ds-row-value-wrap{display:flex;align-items:baseline;gap:2px}.ds-row-value{font-size:13px;font-weight:700;color:var(--text-primary)}.ds-row-ref{font-size:10px;color:var(--text-tertiary);font-weight:400;white-space:nowrap}.ds-bar-track{position:relative;height:4px;background:var(--border-color);border-radius:2px;overflow:visible}.ds-bar-range{position:absolute;top:0;height:100%;background:#4caf502e;border-radius:2px;pointer-events:none}.ds-bar-fill{position:absolute;top:0;left:0;height:100%;border-radius:2px;transition:width .3s ease;max-width:100%}.ds-bar-tick{position:absolute;top:-2px;width:2px;height:calc(100% + 4px);border-radius:1px;transform:translate(-50%);pointer-events:none}.checklist-title{font-size:13px;font-weight:700;color:#888;margin:0 0 10px;text-transform:uppercase;letter-spacing:.5px}body.dark .checklist-title{color:#555}.checklist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.checklist-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;border:1.5px solid #f0f0f0;background:#fafafa;cursor:pointer;position:relative;transition:all .15s}body.dark .checklist-item{background:#212536;border-color:#2a2f3a}.checklist-item.checked{border-color:#4caf50;background:#f1faf2}body.dark .checklist-item.checked{background:#182a1e;border-color:#4caf50}.checklist-item:disabled{opacity:.5;cursor:not-allowed}.checklist-icon{font-size:20px}.checklist-label{font-size:10px;color:#888;text-align:center;line-height:1.2}body.dark .checklist-label{color:#666}.checklist-check{position:absolute;top:4px;right:6px;font-size:10px;color:#4caf50;font-weight:700}.drawer-growth-pills{margin-top:12px;padding-top:10px;border-top:1px solid var(--border-color)}.growth-pills-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.growth-pill{display:inline-flex;align-items:center;gap:3px;background:var(--bg-page);border:1px solid var(--border-color);border-radius:20px;padding:2px 8px 2px 6px;font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap}.growth-pill-icon{font-size:11px;line-height:1}.drawer-footer{padding:8px 12px 12px;border-top:1px solid var(--border-color);flex-shrink:0;display:flex;align-items:center;gap:8px}.growth-fab-wrap{position:relative;display:inline-flex;align-items:center;gap:8px}.gfc-checklist-btns{display:flex;gap:6px;align-items:center}.gfc-checklist-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border-color);background:var(--bg-page);color:var(--text-primary);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,transform .1s;flex-shrink:0}.gfc-checklist-btn:hover:not(:disabled){background:var(--bg-card);border-color:#2196f3}.gfc-checklist-btn.done{background:#e3f2fd;border-color:#2196f3;color:#1565c0}body.dark .gfc-checklist-btn.done{background:#1a3a5c;border-color:#1565c0;color:#64b5f6}.gfc-checklist-btn:disabled{opacity:.5;cursor:default}.drawer-checklist-pills{display:flex;flex-wrap:wrap;gap:6px;padding-top:10px}.checklist-pill{display:inline-flex;align-items:center;gap:4px;background:#e8f5e9;border-radius:20px;padding:3px 10px 3px 6px;font-size:12px}body.dark .checklist-pill{background:#1b3a2a}.checklist-pill-icon{font-size:13px;line-height:1}.checklist-pill-label{color:var(--text-secondary);font-weight:500}.growth-fab-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border-color);background:var(--bg-page);font-size:16px;line-height:1;cursor:pointer;box-shadow:none;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}.growth-fab-btn:hover{background:var(--bg-card)}.growth-fab-btn.active{background:var(--bg-card);border-color:var(--text-tertiary)}body.dark .growth-fab-btn{background:var(--bg-page)}body.dark .growth-fab-btn.active{background:var(--bg-card)}.growth-fab-card{position:absolute;bottom:calc(100% + 8px);left:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:14px 16px;box-shadow:0 8px 32px #00000024;display:flex;flex-direction:column;gap:10px;min-width:220px;animation:fab-card-in .15s ease;z-index:10}@keyframes fab-card-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.gfc-title{font-size:13px;font-weight:700;color:var(--text-secondary);margin-bottom:2px}.gfc-row{display:flex;align-items:center;gap:8px}.gfc-label{font-size:12px;color:var(--text-tertiary);width:56px;flex-shrink:0}.gfc-input{flex:1;padding:5px 8px;border-radius:8px;border:1px solid var(--border-color);font-size:13px;background:var(--bg-page);color:var(--text-primary);min-width:0}.gfc-input:focus{outline:none;border-color:#2196f3}.gfc-num{text-align:right}.gfc-save-btn{background:#2196f3;color:#fff;border:none;border-radius:8px;padding:8px;font-size:13px;font-weight:600;cursor:pointer;margin-top:2px}.gfc-save-btn:hover{background:#1976d2}.gfc-save-btn:disabled{opacity:.6;cursor:not-allowed}body.dark .gfc-save-btn{background:#1565c0}.cal-header-right{display:flex;align-items:center;gap:4px;margin-left:auto}.cal-header-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.cal-header-controls{display:flex;align-items:center;gap:4px}.cal-header-sep{width:1px;height:16px;background:var(--border-color);flex-shrink:0}.cal-view-toggle{display:flex;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;flex-shrink:0}.cal-vt-btn{background:none;border:none;padding:4px 10px;font-size:12px;font-weight:600;color:var(--text-tertiary);cursor:pointer;transition:background .15s,color .15s;line-height:1.4}.cal-vt-btn+.cal-vt-btn{border-left:1px solid var(--border-color)}.cal-vt-btn.active{background:#2196f3;color:#fff}.cal-vt-btn:hover:not(.active){background:#f0f4ff;color:var(--text-primary)}body.dark .cal-vt-btn:hover:not(.active){background:#1e2235}body.dark .cal-vt-btn.active{background:#1565c0}.cal-baby-cycle-btn{flex-shrink:0;height:28px;min-width:34px;padding:0 6px;border-radius:8px;border:1px solid var(--border-color);background:var(--surface-2, #f5f5f5);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;font-size:11px;font-weight:700}.cal-baby-cycle-btn:hover{border-color:#2196f380;color:#2196f3;background:#2196f314}.cal-baby-cycle-btn.active{border-color:#2196f3;background:#2196f326;color:#2196f3}body.dark .cal-baby-cycle-btn{background:#1a1d2e;border-color:#2a2d3e;color:#8b8fa8}body.dark .cal-baby-cycle-btn:hover{border-color:#2196f380;color:#64b5f6;background:#2196f31f}body.dark .cal-baby-cycle-btn.active{border-color:#1565c0;background:#2196f333;color:#64b5f6}.cal-title-week-range{font-size:11px;color:var(--text-tertiary);font-weight:400;margin-left:4px}.cal-mobile-slider{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative}.cal-slide-dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:12px 0;flex-shrink:0}.cal-slide-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dimmed);opacity:.3;cursor:pointer;transition:all .3s ease;flex-shrink:0}.cal-slide-dot.active{background:var(--primary-color);opacity:1;width:16px;border-radius:3px}.cal-mobile-slides{flex:1;min-height:0;position:relative;overflow:hidden}.cal-mobile-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;overflow-y:auto;transition:transform .3s cubic-bezier(.4,0,.2,1);will-change:transform}.cal-mobile-slide:first-child{transform:translate(0)}.cal-mobile-slide:first-child.slide-hidden{transform:translate(-100%)}.cal-mobile-slide:last-child{transform:translate(100%)}.cal-mobile-slide:last-child.slide-visible{transform:translate(0)}.cal-timeline-slide-inner{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-card);border-radius:14px;border:1px solid var(--border-color)}.cal-timeline-slide-header{display:flex;align-items:center;gap:8px;padding:8px 16px 6px;border-bottom:1px solid var(--border-color);flex-shrink:0}.cal-timeline-slide-title{font-size:14px;font-weight:700;color:var(--text-primary)}.cal-timeline-slide-date{font-size:11px;font-weight:400;color:var(--text-tertiary)}.week-view{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;transition:opacity .2s}.week-view.wv-loading{opacity:.4;pointer-events:none}.wv-header-row{display:flex;flex-shrink:0;border-bottom:1px solid var(--border-color)}.wv-time-gutter{width:36px;flex-shrink:0}.wv-col-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;cursor:pointer;gap:2px;border-left:1px solid var(--border-color);transition:background .12s}.wv-col-header:hover:not(.wv-future){background:#f0f4ff}body.dark .wv-col-header:hover:not(.wv-future){background:#1e2235}.wv-col-header.wv-future{opacity:.4;cursor:default}.wv-col-header.wv-selected{background:#eaf2fe}body.dark .wv-col-header.wv-selected{background:#132033}.wv-col-header.wv-today{background:#e3f2fd}body.dark .wv-col-header.wv-today{background:#0d2137}.wv-col-weekday{font-size:10px;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.3px}.wv-col-day{font-size:14px;font-weight:600;color:var(--text-secondary);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%}.wv-col-day.wv-today-num{background:#2196f3;color:#fff;font-weight:700}.wv-col-day.wv-sel-num{box-shadow:0 0 0 1.5px #2196f3;color:#2196f3;font-weight:700}.wv-scroll-body{flex:1;min-height:0;overflow-y:auto}.wv-inner{display:flex;position:relative}.wv-time-gutter{position:relative;width:36px;flex-shrink:0}.wv-hour-label{position:absolute;right:4px;font-size:9px;color:var(--text-tertiary);line-height:1;transform:translateY(-50%);white-space:nowrap;-webkit-user-select:none;user-select:none}.wv-day-col{flex:1;position:relative;border-left:1px solid var(--border-color);cursor:pointer;min-width:0}.wv-day-col.wv-future{opacity:.4;cursor:default}.wv-hour-line{position:absolute;left:0;right:0;height:1px;background:var(--border-color);opacity:.6;pointer-events:none}.wv-hour-line:nth-child(6n+1){opacity:1}.wv-baby-cols{position:absolute;top:0;right:0;bottom:0;left:0;display:flex}.wv-baby-col{flex:1;position:relative;min-width:0;overflow:visible}.wv-baby-col:before{content:"";position:absolute;top:0;left:2px;right:2px;height:2px;background:var(--baby-color, #ccc);border-radius:1px;z-index:1}.wv-baby-divider{position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--border-color);opacity:.8;pointer-events:none}.wv-sleep-block{position:absolute;left:2px;right:2px;border-radius:3px;pointer-events:none;min-height:2px}.wv-sleep-block.wv-ongoing{border:1.5px dashed rgb(124,77,255);box-sizing:border-box}.wv-feed-block{position:absolute;left:2px;right:2px;height:14px;border-radius:2px;pointer-events:none;display:flex;align-items:center;overflow:hidden}.wv-feed-block.wv-ongoing{border:1.5px dashed rgb(33,150,243);background:#2196f366!important;box-sizing:border-box}.wv-feed-label{font-size:9px;font-weight:700;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 2px;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none}.wv-block-label{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1px;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}.wv-block-label span{font-size:9px;font-weight:700;color:#ffffffeb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;text-align:left;max-width:100%}.wv-block-gap{color:#ffffffb3!important;font-weight:600!important}.wv-now-line{position:absolute;left:0;right:0;height:2px;background:#f44336;z-index:4;pointer-events:none}.wv-now-line:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:#f44336}.wv-night-band{position:absolute;left:0;right:0;background:#00001e0b;pointer-events:none;z-index:0}body.dark .wv-night-band{background:#0000002e}.wv-sched-bar{position:absolute;right:0;width:3px;border-radius:1.5px;pointer-events:none;opacity:.7;z-index:2}.wv-sched-nap-bar{min-height:7px}.wv-sched-feed-bar{height:8px}.wv-sched-bar-label{position:absolute;right:4px;top:0;font-size:8px;font-weight:700;color:var(--text-tertiary);white-space:nowrap;text-align:right;line-height:1;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.85}.insights-page{padding:env(safe-area-inset-top,0px) 0 80px;font-family:inherit}.insights-baby-tabs{display:flex;border-bottom:1px solid var(--border-color, #f0f0f0);background:var(--bg-card, white)}body.dark .insights-baby-tabs{background:#1e2330;border-color:#333}.insights-baby-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:10px 0;font-size:14px;font-weight:500;color:var(--text-tertiary, #aaa);cursor:pointer;transition:color .15s,border-color .15s}.insights-baby-tab.active{font-weight:600}body.dark .insights-baby-tab{color:#555}.insights-baby-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.insights-tabs{display:flex;border-bottom:2px solid var(--border-color, #f0f0f0);background:var(--bg-card, white);position:sticky;top:env(safe-area-inset-top,0px);z-index:10}body.dark .insights-tabs{background:#1e2330;border-color:#333}.insights-tab{flex:1;background:none;border:none;padding:12px 0;font-size:14px;font-weight:500;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.insights-tab.active{color:#2196f3;border-bottom-color:#2196f3}body.dark .insights-tab{color:#888}body.dark .insights-tab.active{color:#64b5f6;border-bottom-color:#64b5f6}.tab-content{padding:12px 16px;display:flex;flex-direction:column;gap:12px}.insights-loading{text-align:center;padding:40px;color:#bbb;font-size:14px}.no-baby-msg{text-align:center;padding:48px 24px;color:#aaa;font-size:14px}.no-records-msg{text-align:center;color:#bbb;font-size:14px;padding:24px 0}.days-selector{display:flex;gap:8px}.days-btn{padding:5px 14px;border-radius:20px;border:1.5px solid #e0e0e0;background:none;font-size:13px;color:#555;cursor:pointer;transition:all .15s}.days-btn.active{background:#2196f3;border-color:#2196f3;color:#fff}body.dark .days-btn{border-color:#444;color:#aaa}body.dark .days-btn.active{background:#1565c0;border-color:#1565c0;color:#fff}.summary-cards{display:flex;gap:10px}.summary-card{flex:1;background:#f8f9fa;border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:4px}body.dark .summary-card{background:#252a38}.sc-label{font-size:12px;color:#888}.sc-value{font-size:20px;font-weight:700;color:#333}body.dark .sc-value{color:#eee}.chart-wrap{border-radius:10px;overflow:hidden;background:#fafafa;padding:8px 0}body.dark .chart-wrap{background:#1a1f2e}.chart-section-title{margin:0;font-size:13px;font-weight:600;color:#666}body.dark .chart-section-title{color:#aaa}.insight-box{background:linear-gradient(135deg,#f3e5f5,#e8eaf6);border-radius:12px;padding:14px 16px;border-left:4px solid #9C27B0}body.dark .insight-box{background:#1e1a2a;border-left-color:#ce93d8}.insight-box-title{font-size:12px;color:#9c27b0;font-weight:600;margin-bottom:4px}body.dark .insight-box-title{color:#ce93d8}.insight-box-value{font-size:22px;font-weight:700;color:#6a1b9a;margin-bottom:4px}body.dark .insight-box-value{color:#e1bee7}.insight-box-sub{font-size:11px;color:#888}.growth-summary-cards{display:flex;gap:8px}.growth-summary-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px 8px;border-radius:12px;border:1.5px solid var(--border-color, #eee);background:var(--bg-card, white);cursor:pointer;transition:border-color .15s,background .15s}.growth-summary-card.active{border-color:#2196f3;background:#e3f2fd}body.dark .growth-summary-card{background:#252a38;border-color:#333}body.dark .growth-summary-card.active{background:#0d2a4a;border-color:#64b5f6}.gsc-header{display:flex;align-items:center;gap:4px}.gsc-icon{font-size:11px;line-height:1}.gsc-value{font-size:22px;font-weight:700;color:var(--text-primary, #222);line-height:1.1}.gsc-value{font-size:17px;font-weight:700;color:var(--text-primary, #222);line-height:1.1}.gsc-unit{font-size:11px;font-weight:400;color:var(--text-tertiary, #aaa);margin-left:1px}.gsc-pct{font-size:11px;color:#2196f3;font-weight:600;letter-spacing:.02em}body.dark .gsc-value{color:#eee}body.dark .gsc-pct{color:#64b5f6}.growth-xrange-row{display:flex;align-items:center;justify-content:flex-end;gap:8px}.growth-xrange-label{font-size:12px;color:var(--text-tertiary, #aaa)}.growth-xrange-toggle{display:flex;border-radius:20px;overflow:hidden;border:1.5px solid var(--border-color, #e0e0e0);flex-shrink:0}body.dark .growth-xrange-toggle{border-color:#444}.xrange-btn{padding:5px 10px;background:none;border:none;font-size:11px;color:#888;cursor:pointer;transition:background .15s,color .15s}.xrange-btn+.xrange-btn{border-left:1px solid var(--border-color, #e0e0e0)}.xrange-btn.active{background:#2196f3;color:#fff}body.dark .xrange-btn{color:#666}body.dark .xrange-btn+.xrange-btn{border-color:#444}body.dark .xrange-btn.active{background:#1565c0;color:#fff}.growth-record-list{display:flex;flex-direction:column;gap:4px}.growth-record-row{border-radius:8px;background:var(--bg-page, #f8f9fa);overflow:hidden}body.dark .growth-record-row{background:#252a38}.grr-main{display:flex;align-items:center;gap:8px;padding:5px 8px}.grr-date{font-size:11px;font-weight:600;color:var(--text-tertiary, #aaa);width:32px;flex-shrink:0}.grr-pills{display:flex;gap:4px;flex-wrap:wrap;flex:1}.grr-pill{font-size:11px;color:var(--text-secondary, #666);background:var(--bg-card, white);border:1px solid var(--border-color, #eee);border-radius:10px;padding:1px 6px}.grr-pill.active{background:#e3f2fd;border-color:#90caf9;color:#1565c0;font-weight:600}body.dark .grr-pill{background:#1e2330}body.dark .grr-pill.active{background:#0d2a4a;border-color:#1565c0;color:#90caf9}.grr-pct{font-size:11px;font-weight:600;color:#2196f3;white-space:nowrap;flex-shrink:0}body.dark .grr-pct{color:#64b5f6}.grr-actions{display:flex;gap:2px;flex-shrink:0}.grr-action-btn{background:none;border:none;padding:2px 4px;border-radius:6px;cursor:pointer;font-size:13px;line-height:1;opacity:.5;transition:opacity .15s,background .15s}.grr-action-btn:hover{opacity:1;background:var(--bg-card, #eee)}body.dark .grr-action-btn:hover{background:#333}.grr-inline-edit{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px 10px;border-top:1px solid var(--border-color, #eee);background:var(--bg-card, white)}body.dark .grr-inline-edit{background:#1e2330;border-color:#333}.grr-edit-field{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #555)}.grr-edit-field span{white-space:nowrap}.grr-edit-field input{width:72px;padding:4px 6px;border-radius:6px;border:1px solid var(--border-color, #ddd);font-size:12px;background:var(--bg-page, #f8f9fa);color:var(--text-primary, #222)}body.dark .grr-edit-field input{background:#252a38;border-color:#444;color:#eee}.grr-edit-actions{display:flex;gap:6px;margin-left:auto}.grr-edit-save{padding:4px 12px;border-radius:6px;border:none;background:#2196f3;color:#fff;font-size:12px;cursor:pointer}.grr-edit-save:disabled{opacity:.5;cursor:not-allowed}.grr-edit-cancel{padding:4px 10px;border-radius:6px;border:1px solid var(--border-color, #ddd);background:none;font-size:12px;color:#888;cursor:pointer}.sleep-kpi-row{display:flex;gap:8px}.sleep-kpi-card{flex:1;background:var(--bg-page, #f8f9fa);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}body.dark .sleep-kpi-card{background:#252a38}.sleep-kpi-label{font-size:11px;color:var(--text-tertiary, #aaa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sleep-kpi-value{font-size:20px;font-weight:700;color:var(--text-primary, #222);line-height:1.2}body.dark .sleep-kpi-value{color:#eee}.sleep-kpi-delta{font-size:11px;font-weight:600}.sleep-kpi-delta.good{color:#26a69a}.sleep-kpi-delta.warn{color:#ef5350}.sleep-kpi-ref{font-size:10px;color:var(--text-tertiary, #bbb)}.sleep-kpi-ref.warn{color:#ef5350}.sleep-kpi-sub-row{display:flex;align-items:baseline;gap:4px;margin-top:3px;padding-top:3px;border-top:1px solid var(--border-color)}.sleep-kpi-sub-label{font-size:10px;color:var(--text-tertiary, #aaa);flex-shrink:0}.sleep-kpi-sub-value{font-size:13px;font-weight:700;color:#f06292}body.dark .sleep-kpi-sub-value{color:#f48fb1}.sleep-kpi-sub-ref{font-size:9px;color:var(--text-tertiary, #bbb);margin-left:auto}.sleep-insights-stack{display:flex;flex-direction:column;gap:8px}.sleep-insight-item{display:flex;gap:10px;align-items:flex-start;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5}.sleep-insight-good{background:#e8f5e9;border-left:3px solid #43A047;color:#1b5e20}body.dark .sleep-insight-good{background:#1a2e1a;color:#a5d6a7;border-left-color:#66bb6a}.sleep-insight-warn{background:#fff3e0;border-left:3px solid #FF8F00;color:#4e342e}body.dark .sleep-insight-warn{background:#2a1f10;color:#ffcc80;border-left-color:#ffa726}.sleep-insight-info{background:#e3f2fd;border-left:3px solid #1E88E5;color:#0d47a1}body.dark .sleep-insight-info{background:#0d1f2d;color:#90caf9;border-left-color:#42a5f5}.sleep-insight-icon{font-size:13px;font-weight:700;flex-shrink:0;width:16px;text-align:center;margin-top:1px}.sleep-insight-text{flex:1}.sleep-chart-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 1025px){.sleep-chart-grid{grid-template-columns:1fr 1fr}}.sleep-chart-card{display:flex;flex-direction:column;gap:6px}.feeding-kpi-row{display:flex;gap:8px;padding:12px 12px 0}.feeding-kpi-card{flex:1;background:var(--bg-card, #fff);border-radius:12px;padding:10px 10px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 1px 4px #0000000f;min-width:0}body.dark .feeding-kpi-card{background:#1e2330;box-shadow:none}.feeding-kpi-label{font-size:11px;color:var(--text-secondary, #888);white-space:nowrap}.feeding-kpi-value{font-size:18px;font-weight:700;color:var(--text-primary, #1a1a1a);line-height:1.2}body.dark .feeding-kpi-value{color:#e8eaf6}.feeding-kpi-delta{font-size:10px;font-weight:600;padding:1px 5px;border-radius:8px}.feeding-kpi-delta.good{color:#2e7d32;background:#e8f5e9}.feeding-kpi-delta.warn{color:#c62828;background:#ffebee}body.dark .feeding-kpi-delta.good{color:#a5d6a7;background:#1b3a1f}body.dark .feeding-kpi-delta.warn{color:#ef9a9a;background:#3b1515}.feeding-insights-stack{display:flex;flex-direction:column;gap:6px;padding:12px 12px 0}.feeding-insight-item{display:flex;align-items:flex-start;gap:8px;border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.45}.feeding-insight-item.good{background:#f1f8e9;color:#33691e}.feeding-insight-item.warn{background:#fff3e0;color:#e65100}.feeding-insight-item.info{background:#e3f2fd;color:#0d47a1}body.dark .feeding-insight-item.good{background:#1b3a1f;color:#c5e1a5}body.dark .feeding-insight-item.warn{background:#3e2000;color:#ffcc80}body.dark .feeding-insight-item.info{background:#0d2137;color:#90caf9}.feeding-insight-icon{font-size:13px;font-weight:700;flex-shrink:0;width:16px;text-align:center;margin-top:1px}.feeding-insight-text{flex:1}.adequacy-card{border-radius:12px;background:#f1f8e9;padding:12px 14px;display:flex;flex-direction:column;gap:6px}body.dark .adequacy-card{filter:brightness(.75) saturate(.8)}.adequacy-card-title{font-size:12px;font-weight:700;color:#555;margin-bottom:2px;letter-spacing:.02em}body.dark .adequacy-card-title{color:#bbb}.adequacy-row{display:flex;align-items:baseline;gap:6px;font-size:13px}.adequacy-label{font-size:11px;color:#888;white-space:nowrap;min-width:52px;flex-shrink:0}body.dark .adequacy-label{color:#888}.adequacy-value{color:var(--text-primary, #222);font-weight:600}body.dark .adequacy-value{color:#ddd}.adequacy-target{font-size:11px;font-weight:400;color:#999;margin-left:2px}.adequacy-insufficient{font-size:12px;color:#aaa;font-style:italic}.adequacy-warn-badge{display:inline-block;margin-left:5px;font-size:10px;font-weight:700;color:#c62828;background:#ffebee;border-radius:6px;padding:1px 5px}.adequacy-insight{font-size:12px;font-weight:600;margin-top:2px;line-height:1.4}.adequacy-insufficient-note{font-size:11px;color:#aaa;font-style:italic;margin-top:2px}:root{--nav-width: 240px;--nav-collapsed-width: 72px;--nav-bg: #fcfcfc;--nav-active-bg: rgba(0, 0, 0, .04);--nav-active-color: var(--primary-color);--tab-height: 60px;--header-height: 56px;--nav-border: #f0f0f0}.app-container{display:flex;min-height:100vh;width:100%}.main-content{flex:1;min-width:0;background:var(--bg-page)}.sidebar{width:var(--nav-width);background:var(--nav-bg);border-right:1px solid var(--nav-border);height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:20px 0;z-index:100;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden;align-items:flex-start}.sidebar.collapsed{width:var(--nav-collapsed-width);align-items:center}.sidebar-header{display:flex;align-items:center;gap:12px;padding:0 24px;margin-bottom:28px;height:32px;width:100%;box-sizing:border-box}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0;margin-bottom:24px}.sidebar-logo-container{display:flex;align-items:center;gap:10px;overflow:hidden}.sidebar.collapsed .sidebar-logo-container{justify-content:center}.logo-img{width:24px;height:24px;flex-shrink:0;object-fit:contain;display:block}.sidebar-logo-text{font-size:16px;font-weight:700;color:#333;white-space:nowrap;letter-spacing:-.3px}.nav-links{display:flex;flex-direction:column;gap:2px;width:100%}.nav-item{display:flex;align-items:center;gap:12px;padding:0 12px;margin:0 12px;border-radius:6px;color:#666;text-decoration:none;font-size:14px;font-weight:500;transition:all .2s ease;white-space:nowrap;height:36px;position:relative}.sidebar.collapsed .nav-item{justify-content:center;padding:0;margin:0 12px;width:calc(100% - 24px)}.nav-item:hover{background:#00000008;color:#333}.nav-item.active{background:var(--nav-active-bg);color:var(--primary-color);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;background:var(--primary-color);border-radius:0 2px 2px 0}.sidebar.collapsed .nav-item.active:before{left:-12px}.nav-icon{font-size:18px;width:20px;height:20px;display:flex;justify-content:center;align-items:center;flex-shrink:0;position:relative;overflow:visible}.sidebar-footer{margin-top:auto;padding:12px 0;width:100%;display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--nav-border)}.app-header{height:var(--header-height);background:#fff;border-bottom:1px solid var(--nav-border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:1000}.app-header{display:none}.header-title{font-size:16px;font-weight:600}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .nav-item span:not(.nav-icon):not(.nav-badge-dot):not(.nav-badge-count){display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:auto;background:#fff;display:none;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--nav-border);z-index:1000;padding-bottom:env(safe-area-inset-bottom,0px)}@media (max-width: 1024px){.sidebar{display:none}.bottom-nav{display:grid}.main-content{padding-bottom:calc(var(--tab-height) + env(safe-area-inset-bottom,0px))}}.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#999;text-decoration:none;font-size:10px;height:var(--tab-height)}.tab-item.active{color:var(--primary-color)}.tab-icon{font-size:20px;position:relative;display:inline-flex}:root{--primary-color: #FF6B6B;--success-color: #4ECDC4;--warning-color: #FFA07A;--text-primary: #333;--text-secondary: #666;--text-tertiary: #999;--bg-page: #f5f5f5;--bg-card: #ffffff;--bg-primary: #f5f5f5;--bg-input: #ffffff;--border-color: #e5e5e5;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12)}body.dark{--text-primary: #e8e8f0;--text-secondary: #a0a0b8;--text-tertiary: #606078;--bg-page: #0a0b14;--bg-card: #12131f;--border-color: rgba(255, 255, 255, .08);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);background:var(--bg-page);color:var(--text-primary)}body.dark .adm-card{background:var(--bg-card)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-sm)!important}body.dark .adm-card-header,body.dark .adm-card-header-title{color:var(--text-primary)!important;border-bottom-color:var(--border-color)!important}body.dark .adm-card-body{color:var(--text-primary)!important}body.dark .adm-stepper{--adm-color-fill-content: rgba(255, 255, 255, .08);--adm-color-text: var(--text-primary)}body.dark .adm-stepper-minus,body.dark .adm-stepper-plus{color:var(--text-primary)!important}body.dark .adm-button{border-color:#ffffff26!important;color:var(--text-primary)!important}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%;height:100%;overscroll-behavior-x:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:pan-y;overflow-x:hidden;width:100%;max-width:100vw;position:relative;overscroll-behavior-x:none}#root{min-height:100vh;width:100%;overflow-x:hidden;overscroll-behavior-x:none}.page-container{padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px));padding-bottom:70px;width:100%;max-width:100vw;overflow-x:hidden;background:var(--bg-page);min-height:100%;overscroll-behavior-x:none}.card{background:var(--bg-card);border-radius:12px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:opacity .2s ease-in-out}.card.updating{opacity:.7}.card.updated{opacity:1}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.empty-state{text-align:center;padding:40px 20px;color:var(--text-tertiary)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:active{transform:scale(.98)}input,textarea,select{font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.record-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.btn-edit,.btn-delete{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:#4ecdc4;color:#fff}.btn-edit:hover{background:#45b8b0}.btn-delete{background:#f44;color:#fff}.btn-delete:hover{background:#c00}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-card, white);border-radius:12px;padding:24px;max-width:500px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-title{font-size:20px;font-weight:700;margin:0}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text-tertiary, #999);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.modal-close:hover{background:var(--bg-page, #f0f0f0);color:var(--text-primary, #333)}.modal-actions{display:flex;gap:12px;margin-top:20px}.modal-actions button{flex:1;padding:12px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}@media (max-width: 768px){.card{padding:12px;border-radius:10px}.modal-content{padding:20px}.modal-overlay{padding:12px}}@media (max-width: 480px){.card{padding:10px;margin-bottom:10px}button{font-size:14px}.modal-content{padding:16px;max-height:90vh}.record-actions{flex-direction:column}.btn-edit,.btn-delete{width:100%}.stats-card{padding:12px!important;border-radius:8px!important}.stats-card .emoji{font-size:24px!important;margin-bottom:6px!important}.stats-card .primary-value{font-size:20px!important;margin-bottom:3px!important}.stats-card .label{font-size:12px!important;margin-bottom:3px!important}.stats-card .secondary-value{font-size:16px!important}.stats-card .detail{font-size:11px!important;margin-top:6px!important}.stats-grid{gap:8px!important;grid-template-columns:repeat(3,1fr)!important}.stats-summary{margin-top:12px!important;padding:12px!important;font-size:13px!important}.stats-summary .title{font-size:14px!important;margin-bottom:6px!important}.stats-summary .item{margin-bottom:3px!important}.realtime-status-item{padding:12px!important}.realtime-status-grid{gap:10px!important;grid-template-columns:1fr!important}.date-navigator{flex-wrap:wrap}.date-navigator button{min-width:40px!important;min-height:40px!important;padding:6px 10px!important;font-size:18px!important}.date-navigator h2{font-size:16px!important}.date-navigator .date-display{font-size:13px!important}}.nav-badge-dot{position:absolute;top:-2px;right:-4px;width:8px;height:8px;border-radius:50%;background-color:#ff6b6b;border:1.5px solid var(--bg-card);pointer-events:none}.nav-badge-count{position:absolute;top:-5px;right:-8px;min-width:16px;height:16px;border-radius:8px;background-color:#ff6b6b;border:1.5px solid var(--bg-card);color:#fff;font-size:9px;font-weight:700;line-height:13px;text-align:center;padding:0 3px;pointer-events:none}
