:root{--bg-color:#f2f2f7;--surface-color:#fff;--surface-secondary:#f2f2f7;--text-primary:#000;--text-secondary:#8e8e93;--border-color:#e5e5ea;--color-pee:#fc0;--color-poo:#a2845e;--color-milk:#007aff;--color-bath:#5ac8fa;--color-tummy:#ff2d55;--color-nap:#5856d6;--color-custom:#34c759;--shadow-soft:0 4px 20px #0000000d;--shadow-card:0 2px 10px #00000008}body{background:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}.apple-card{background:var(--surface-color);box-shadow:var(--shadow-card);border-radius:20px}.app-container{max-width:600px;margin:0 auto;padding:3rem 1.5rem 4rem}.header{margin-bottom:1.5rem}.header-row{justify-content:space-between;align-items:flex-start;display:flex}.header h1{letter-spacing:.02em;color:var(--text-primary);margin:0;font-size:2.25rem;font-weight:700}.header p{color:var(--text-secondary);margin-top:.25rem;font-size:1.05rem;font-weight:500}.refresh-btn{background:var(--surface-color);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-card);border:none;border-radius:50%;justify-content:center;align-items:center;margin-top:4px;transition:transform .15s;display:flex}.refresh-btn:active{transform:scale(.9)}.section-title{color:var(--text-primary);margin:0 0 .75rem;font-size:1.25rem;font-weight:700}.tallies-section{margin-bottom:2rem}.tallies-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.tally-card{background:var(--surface-color);box-shadow:var(--shadow-card);border-radius:18px;flex-direction:column;align-items:center;gap:.3rem;padding:1rem .75rem .85rem;transition:transform .2s cubic-bezier(.2,.8,.2,1);display:flex}.tally-card:active{transform:scale(.96)}.tally-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.tally-value{letter-spacing:-.02em;color:var(--text-primary);align-items:baseline;gap:.25rem;font-size:1.5rem;font-weight:700;line-height:1.1;display:flex}.tally-oz{color:var(--text-secondary);font-size:.8rem;font-weight:600}.tally-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.nap-insight-card{background:var(--surface-color);box-shadow:var(--shadow-card);border-radius:18px;margin-bottom:2rem;padding:1rem 1.25rem}.nap-insight-header{color:var(--color-nap);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.85rem;font-weight:700;display:flex}.nap-insight-body{flex-direction:column;gap:.75rem;display:flex}.nap-insight-row{background:color-mix(in srgb, var(--color-nap) 10%, transparent);border-radius:12px;justify-content:space-between;align-items:center;padding:.6rem .75rem;display:flex}.nap-insight-row.overdue{background:#ff3b301a}.nap-insight-row.overdue .nap-insight-label,.nap-insight-row.overdue .nap-insight-value{color:#ff3b30}.nap-insight-label{color:var(--color-nap);font-size:.9rem;font-weight:600}.nap-insight-value{color:var(--color-nap);font-size:1.1rem;font-weight:700}.nap-insight-stats{gap:1rem;display:flex}.nap-insight-stat{flex-direction:column;flex:1;align-items:center;gap:.15rem;display:flex}.nap-stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.nap-stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.timeline-section{flex-direction:column;gap:.75rem;margin-bottom:2rem;display:flex}.timeline-header{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700;display:flex}.day-timeline{background:var(--surface-color);box-shadow:var(--shadow-card);border-radius:20px;padding:.75rem 0;overflow:hidden}.day-timeline-grid{min-height:300px;position:relative}.hour-row{align-items:flex-start;display:flex;position:absolute;left:0;right:0}.hour-label{width:58px;color:var(--text-secondary);text-align:right;flex-shrink:0;padding-right:10px;font-size:.7rem;font-weight:500;line-height:1;transform:translateY(-50%)}.hour-line{background:var(--border-color);flex-grow:1;height:1px}.now-indicator{z-index:10;pointer-events:none;align-items:center;display:flex;position:absolute;left:52px;right:0}.now-dot{background:#ff3b30;border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-left:-4px}.now-line{background:#ff3b30;flex-grow:1;height:1.5px}.timeline-event{z-index:5;cursor:default;border-radius:8px;min-height:44px;display:flex;position:absolute;left:64px;right:12px}.timeline-event.pee{background:color-mix(in srgb, var(--color-pee) 18%, transparent)}.timeline-event.poo{background:color-mix(in srgb, var(--color-poo) 18%, transparent)}.timeline-event.breast_milk,.timeline-event.formula{background:color-mix(in srgb, var(--color-milk) 15%, transparent)}.timeline-event.nap{background:color-mix(in srgb, var(--color-nap) 15%, transparent)}.timeline-event.bath{background:color-mix(in srgb, var(--color-bath) 15%, transparent)}.timeline-event.tummy_time{background:color-mix(in srgb, var(--color-tummy) 15%, transparent)}.timeline-event.custom{background:color-mix(in srgb, var(--color-custom) 15%, transparent)}.timeline-event-accent{border-radius:4px 0 0 4px;flex-shrink:0;width:4px}.timeline-event-body{flex-direction:column;justify-content:center;gap:1px;padding:4px 8px;display:flex;overflow:hidden}.timeline-event-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.timeline-event-time{color:var(--text-secondary);font-size:.7rem;font-weight:500}.timeline-event-meta{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.calendar-section{background:var(--surface-color);box-shadow:var(--shadow-card);border-radius:20px;padding:1.25rem 1rem 1rem}.calendar-nav{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.calendar-month-label{color:var(--text-primary);font-size:1.1rem;font-weight:700}.cal-nav-btn{color:var(--color-milk);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;transition:background .15s;display:flex}.cal-nav-btn:active{background:var(--surface-secondary)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px 0;display:grid}.cal-weekday{text-align:center;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);padding-bottom:.4rem;font-size:.7rem;font-weight:600}.cal-day{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:.3rem 0;transition:background .15s;display:flex;position:relative}.cal-day:active{background:var(--surface-secondary)}.cal-day-number{width:32px;height:32px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;display:flex}.cal-day--outside .cal-day-number{color:var(--text-secondary);opacity:.4}.cal-day--today .cal-day-number{color:var(--color-milk);font-weight:700}.cal-day--selected .cal-day-number{background:var(--color-milk);color:#fff;font-weight:700}.cal-dots{justify-content:center;gap:2.5px;min-height:6px;display:flex}.cal-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.empty-state{text-align:center;color:var(--text-secondary);padding:2.5rem 0}.loading{text-align:center;color:var(--text-secondary);padding:2rem;font-weight:500;animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.spin{animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.auth-card{background:var(--surface-color);box-shadow:var(--shadow-soft);text-align:center;border-radius:20px;width:100%;max-width:380px;padding:2.5rem 2rem}.auth-title{margin:0 0 .25rem;font-size:1.75rem;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.95rem}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-form input{border:1px solid var(--border-color);background:var(--surface-secondary);color:var(--text-primary);border-radius:12px;outline:none;padding:.85rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.auth-form input:focus{border-color:var(--color-milk)}.auth-form button{background:var(--color-milk);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:600;transition:opacity .15s}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#ff3b30;background:#fff0f0;border-radius:10px;padding:.6rem .75rem;font-size:.85rem;font-weight:500}.auth-link{color:var(--text-secondary);margin-top:1.25rem;font-size:.85rem}.auth-link a{color:var(--color-milk);font-weight:600;text-decoration:none}.auth-loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.baby-selector{align-items:center;gap:.5rem;margin-top:.25rem;display:flex;position:relative}.baby-selector-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-family:inherit;display:flex}.baby-name{color:var(--color-milk);font-size:1.05rem;font-weight:600}.baby-selector-btn svg{color:var(--color-milk)}.settings-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.baby-dropdown{background:var(--surface-color);z-index:100;border-radius:14px;min-width:180px;margin-top:.5rem;padding:.4rem;position:absolute;top:100%;left:0;box-shadow:0 4px 24px #0000001f}.baby-option{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.4rem;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;font-weight:500;display:flex}.baby-option:active,.baby-option.active{background:var(--surface-secondary)}.baby-option.active{color:var(--color-milk);font-weight:700}.baby-option.add{color:var(--color-milk);font-weight:600}.baby-dropdown-divider{background:var(--border-color);height:1px;margin:.25rem .5rem}.baby-add-inline{gap:.4rem;padding:.4rem;display:flex}.baby-add-inline input{border:1px solid var(--border-color);background:var(--surface-secondary);border-radius:8px;outline:none;flex:1;padding:.5rem .65rem;font-family:inherit;font-size:.85rem}.baby-add-inline button{background:var(--color-milk);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem .75rem;font-family:inherit;font-size:.85rem;font-weight:600}.baby-onboarding{text-align:center;color:var(--text-secondary);padding:2rem 0}.baby-onboarding .baby-add-inline{justify-content:center;margin-top:.75rem}.settings-overlay{z-index:200;background:#0000004d;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.settings-panel{background:var(--surface-color);border-radius:20px 20px 0 0;width:100%;max-width:600px;max-height:85vh;padding:1.5rem;overflow-y:auto}.settings-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.settings-header h2{margin:0;font-size:1.35rem;font-weight:700}.settings-close{background:var(--surface-secondary);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.settings-section{margin-bottom:1.5rem}.settings-section h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.settings-email{margin:0;font-size:.95rem}.settings-hint{color:var(--text-secondary);margin:0 0 .5rem;font-size:.8rem}.settings-hint code{background:var(--surface-secondary);border-radius:4px;padding:.1rem .3rem;font-size:.75rem}.token-display{background:var(--surface-secondary);border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.token-value{color:var(--text-secondary);flex:1;font-size:.8rem}.token-btn{color:var(--color-milk);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.25rem;padding:.3rem .4rem;font-family:inherit;font-size:.75rem;font-weight:600;display:flex}.token-btn:active{background:var(--surface-color)}.settings-baby-row{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.settings-baby-row span{font-size:.95rem;font-weight:500}.delete-btn{color:#ff3b30;cursor:pointer;background:0 0;border:none;align-items:center;padding:.3rem;display:flex}.logout-btn{color:#fff;cursor:pointer;background:#ff3b30;border:none;border-radius:12px;width:100%;margin-top:.5rem;padding:.85rem;font-family:inherit;font-size:1rem;font-weight:600}
