:root{--bg: #faf5ef;--bg-2: #f3ebe2;--surface: #ffffff;--surface-2: #fbf7f2;--text: #4a4350;--text-strong: #322c3b;--muted: #9b93a1;--border: #efe7dd;--milk: #5f9fd6;--milk-ink: #2e6ca3;--milk-bg: #e9f3fb;--sleep: #9b8bdb;--sleep-ink: #5f4fb0;--sleep-bg: #efeafb;--stool: #d99a63;--stool-ink: #a86c33;--stool-bg: #fbefe1;--primary: #f0998a;--primary-ink: #ffffff;--primary-deep: #e07e6d;--success: #2f8f5b;--success-bg: #e7f6ed;--info: #3f6fb0;--info-bg: #e9f1fb;--danger: #db6258;--danger-bg: #fcebe9;--danger-deep: #c84a40;--radius: 20px;--radius-sm: 13px;--radius-pill: 999px;--shadow: 0 6px 22px rgba(90, 66, 55, .08);--shadow-lg: 0 16px 44px rgba(70, 50, 45, .2);--ring: 0 0 0 3px rgba(240, 153, 138, .35);--font: "Nunito", ui-rounded, "Segoe UI", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);color:var(--text);background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{color:var(--text-strong);font-weight:800;letter-spacing:-.01em}button{font-family:inherit}.app{max-width:480px;margin:0 auto;padding:1.25rem 1.1rem calc(2.5rem + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:1rem}.app-bar{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.app-title{font-size:1.5rem;margin:0}.app-title .logo{margin-right:.35rem}.app-user{color:var(--muted);font-size:.85rem;text-align:right}.center{text-align:center;margin-top:22vh;color:var(--muted);font-size:1.5rem}.auth-shell{min-height:100%;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-shell a{color:var(--primary-deep);font-weight:800}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.2rem;display:flex;flex-direction:column;gap:.85rem}.card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.card-title{margin:0;font-size:1.05rem;display:flex;align-items:center;gap:.45rem}.subtitle{margin:.2rem 0 0;font-size:.9rem;color:var(--muted);font-weight:700}.baby-card{background:linear-gradient(135deg,#fff 0%,var(--surface-2) 100%);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.2rem;display:flex;align-items:center;gap:.9rem}.avatar{width:52px;height:52px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;background:var(--milk-bg);box-shadow:inset 0 0 0 2px #fff,var(--shadow)}.avatar--female{background:#fceaf2}.avatar--male{background:var(--milk-bg)}.baby-id{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.baby-name{margin:0;font-size:1.25rem}.baby-meta{margin:0;color:var(--muted);font-size:.85rem}.baby-actions{display:flex;gap:.4rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--radius-pill);padding:.6rem 1.15rem;font-size:.95rem;font-weight:800;cursor:pointer;color:var(--text-strong);background:var(--surface-2);box-shadow:inset 0 0 0 1.5px var(--border);transition:transform .06s ease,box-shadow .15s ease,background .15s ease}.btn:hover{background:#fff}.btn:active{transform:translateY(1px) scale(.99)}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn:disabled{opacity:.55;cursor:default}.btn--primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 6px 16px #e07e6d59}.btn--primary:hover{background:var(--primary-deep)}.btn--milk{background:var(--milk);color:#fff;box-shadow:0 6px 16px #5f9fd652}.btn--sleep{background:var(--sleep);color:#fff;box-shadow:0 6px 16px #9b8bdb52}.btn--stool{background:var(--stool);color:#fff;box-shadow:0 6px 16px #d99a6352}.btn--milk:hover,.btn--sleep:hover,.btn--stool:hover{filter:brightness(.96);background-clip:padding-box}.btn--ghost{background:var(--surface-2)}.btn--danger{background:var(--danger);color:#fff;box-shadow:0 6px 16px #db62584d}.btn--danger:hover{background:var(--danger-deep)}.btn--block{width:100%}.btn--lg{padding:.8rem 1.25rem;font-size:1rem}.btn--sm{padding:.4rem .8rem;font-size:.85rem}.linkbtn{background:none;border:0;padding:0;color:var(--primary-deep);font:inherit;font-weight:800;cursor:pointer}.linkbtn:hover{text-decoration:underline}.linkbtn--muted{color:var(--muted);font-weight:700}.linkbtn--danger{color:var(--danger-deep)}.quick-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}.quick-btn{position:relative;border:0;cursor:pointer;border-radius:var(--radius);padding:.95rem .5rem .8rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;font-family:inherit;font-weight:800;color:var(--text-strong);box-shadow:var(--shadow);transition:transform .07s ease,box-shadow .15s ease}.quick-btn:active{transform:translateY(2px) scale(.98)}.quick-btn:focus-visible{outline:none;box-shadow:var(--ring)}.quick-btn .emoji{font-size:1.9rem;line-height:1}.quick-btn .label{font-size:.92rem}.quick-btn--milk{background:var(--milk-bg);color:var(--milk-ink)}.quick-btn--sleep{background:var(--sleep-bg);color:var(--sleep-ink)}.quick-btn--stool{background:var(--stool-bg);color:var(--stool-ink)}.quick-badge{position:absolute;top:.5rem;right:.5rem;background:var(--sleep);color:#fff;font-size:.65rem;font-weight:800;padding:.1rem .45rem;border-radius:var(--radius-pill);display:inline-flex;align-items:center;gap:.25rem;box-shadow:0 2px 6px #0000001f}.quick-badge .dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.form{display:flex;flex-direction:column;gap:.85rem}.field{display:flex;flex-direction:column;gap:.35rem}.field-label{font-size:.82rem;font-weight:800;color:var(--text)}.field-hint{font-size:.78rem;color:var(--muted)}.input,.select{width:100%;padding:.7rem .85rem;font-size:1rem;font-family:inherit;color:var(--text-strong);border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface-2);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.input:focus,.select:focus{outline:none;background:#fff;border-color:var(--primary);box-shadow:var(--ring)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239b93a1' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.2rem}.error-text{color:var(--danger-deep);font-size:.85rem;font-weight:700;margin:0}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;border-radius:var(--radius-pill);font-size:.85rem;font-weight:700;background:var(--surface-2)}.chip strong{font-weight:800;color:var(--text-strong)}.chip--milk{background:var(--milk-bg);color:var(--milk-ink)}.chip--sleep{background:var(--sleep-bg);color:var(--sleep-ink)}.chip--stool{background:var(--stool-bg);color:var(--stool-ink)}.event-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.45rem}.event-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.9rem}.event-row .grow{flex:1;min-width:0}.event-time{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700;min-width:2.8rem}.event-tag{font-size:.72rem;font-weight:800;padding:.12rem .5rem;border-radius:var(--radius-pill);white-space:nowrap}.event-tag--milk{background:var(--milk-bg);color:var(--milk-ink)}.event-tag--sleep{background:var(--sleep-bg);color:var(--sleep-ink)}.event-tag--stool{background:var(--stool-bg);color:var(--stool-ink)}.event-detail{color:var(--text)}.event-detail strong{color:var(--text-strong)}.flag{color:var(--stool-ink);font-weight:700}.icon-btn{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:1rem;line-height:1;transition:background .15s ease,color .15s ease}.icon-btn:hover{background:var(--danger-bg);color:var(--danger-deep)}.icon-btn:focus-visible{outline:none;box-shadow:var(--ring)}.muted{color:var(--muted);margin:0}.empty{color:var(--muted);margin:0;text-align:center;padding:.6rem 0;font-size:.9rem}.daynav{display:flex;align-items:center;gap:.5rem}.daynav-btn{width:34px;height:34px;flex:0 0 auto;border:0;border-radius:50%;background:var(--surface-2);color:var(--text-strong);font-size:1.2rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--border)}.daynav-btn:hover{background:#fff}.daynav-btn:focus-visible{outline:none;box-shadow:var(--ring)}.daynav-label{flex:1;text-align:center;font-weight:800;text-transform:capitalize;font-size:.95rem;color:var(--text-strong)}.seg{display:flex;gap:.25rem;padding:.25rem;background:var(--surface-2);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1.5px var(--border)}.seg-btn{flex:1;border:0;border-radius:var(--radius-pill);padding:.45rem .5rem;font-family:inherit;font-size:.85rem;font-weight:800;color:var(--muted);background:transparent;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.seg-btn:hover{color:var(--text)}.seg-btn:focus-visible{outline:none;box-shadow:var(--ring)}.seg-btn--active{background:var(--surface);color:var(--text-strong);box-shadow:var(--shadow)}.trend-grid{display:flex;flex-direction:column;gap:.9rem}.trend-chart{background:var(--surface-2);border-radius:var(--radius-sm);padding:.7rem .6rem .5rem}.trend-title{margin:0 0 .35rem .3rem;font-size:.9rem;display:flex;align-items:center;gap:.4rem}.nap-state{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 1rem;border-radius:var(--radius-sm);background:var(--sleep-bg)}.nap-live{display:flex;align-items:center;gap:.5rem;margin:0;font-weight:700;color:var(--sleep-ink)}.nap-live .dot{width:8px;height:8px;border-radius:50%;background:var(--sleep);animation:pulse 1.4s ease-in-out infinite}.notice{margin:0;padding:.6rem .85rem;border-radius:var(--radius-sm);font-size:.88rem;font-weight:700}.notice--success{background:var(--success-bg);color:var(--success)}.notice--info{background:var(--info-bg);color:var(--info)}.notice--danger{background:var(--danger-bg);color:var(--danger-deep)}.confirm-inline{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem}.confirm-inline .prompt{color:var(--text);font-weight:700}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#32262366;display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fade-in .18s ease}.sheet{width:100%;max-width:480px;background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--shadow-lg);padding:.75rem 1.2rem calc(1.5rem + env(safe-area-inset-bottom));max-height:88vh;overflow-y:auto;animation:slide-up .24s cubic-bezier(.22,1,.36,1)}.sheet-grip{width:40px;height:5px;border-radius:var(--radius-pill);background:var(--border);margin:.15rem auto .7rem}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}.sheet-title{margin:0;font-size:1.15rem;display:flex;align-items:center;gap:.45rem}.sheet-close{width:32px;height:32px;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);font-size:1.1rem;cursor:pointer;display:grid;place-items:center}.sheet-close:hover{background:var(--danger-bg);color:var(--danger-deep)}.sheet-body{display:flex;flex-direction:column;gap:.85rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#32262366;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in .18s ease}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:1.3rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:1rem;animation:pop-in .2s cubic-bezier(.22,1,.36,1)}.modal p{margin:0}.modal-row{display:flex;gap:.6rem;justify-content:flex-end}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pop-in{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important}}
