:root{--primary: 209 100% 29%;--primary-dark: 209 100% 22%;--secondary: 199 100% 46%;--background: 207 33% 97%;--surface: 0 0% 100%;--surface-elevated: 0 0% 100%;--text-main: 218 29% 19%;--text-muted: 215 13% 44%;--border: 210 24% 90%;--danger: 0 84% 60%;--warning: 38 92% 50%;--success: 142 71% 45%;--shadow-sm: 0 1px 3px 0 rgb(0 77 150 / .06), 0 1px 2px -1px rgb(0 77 150 / .04);--shadow-md: 0 4px 12px -2px rgb(0 77 150 / .1), 0 2px 4px -2px rgb(0 77 150 / .06);--shadow-lg: 0 12px 24px -4px rgb(0 77 150 / .12), 0 4px 8px -4px rgb(0 77 150 / .06);--shadow-glow: 0 6px 16px rgba(0, 162, 233, .25);--radius: 16px;--radius-lg: 20px;--font-sans: "Open Sans", "Segoe UI", Roboto, sans-serif;--font-body: "Open Sans", "Segoe UI", Roboto, sans-serif;--transition-theme: background-color .3s ease, color .3s ease, border-color .3s ease, box-shadow .3s ease}[data-theme=dark]{--background: 215 28% 7%;--surface: 215 25% 12%;--surface-elevated: 215 22% 16%;--text-main: 210 40% 96%;--text-muted: 215 18% 62%;--border: 215 20% 20%;--shadow-sm: 0 1px 3px 0 rgb(0 20 50 / .4);--shadow-md: 0 4px 12px -2px rgb(0 20 50 / .5);--shadow-lg: 0 12px 24px -4px rgb(0 20 50 / .6);--shadow-glow: 0 6px 20px rgba(0, 162, 233, .35)}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;width:100%}body{font-family:var(--font-body);background-color:hsl(var(--background));color:hsl(var(--text-main));line-height:1.5;transition:var(--transition-theme);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-sans);font-weight:700;color:hsl(var(--text-main));letter-spacing:-.01em}.app-container{width:100%;margin:0 auto;padding:1rem .75rem 5rem;min-height:100vh;display:flex;flex-direction:column}.view-container{flex:1;animation:fadeIn .25s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.context-banner{background:hsl(var(--surface));border-left:4px solid hsl(var(--warning));padding:1rem;border-radius:var(--radius);margin-bottom:1rem;box-shadow:var(--shadow-md);font-weight:500;animation:slideDown .3s cubic-bezier(.175,.885,.32,1.275);transition:var(--transition-theme)}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.profile-nudge{background:hsl(var(--secondary) / .08);border:1px solid hsl(var(--secondary) / .25);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;font-size:.85rem;color:hsl(var(--text-main));display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:background .2s,border-color .2s}.profile-nudge:hover,.profile-nudge:active{background:hsl(var(--secondary) / .14);border-color:hsl(var(--secondary) / .4)}.potty-prompt{background:hsl(var(--warning) / .1);border:2px solid hsl(var(--warning) / .6);border-radius:var(--radius);padding:1rem 1.25rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:.95rem;color:hsl(var(--warning));animation:pottyPulse 3s ease-in-out infinite}.potty-prompt-icon{font-size:1.5rem;flex-shrink:0}@keyframes pottyPulse{0%,to{transform:scale(1);box-shadow:0 0 hsl(var(--warning) / .15)}50%{transform:scale(1.003);box-shadow:0 0 10px 2px hsl(var(--warning) / .08)}}.bathroom-clock-section{margin-bottom:1.5rem;background:hsl(var(--surface));border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-md);border:1px solid hsl(var(--border));border-top:3px solid hsl(var(--secondary));transition:var(--transition-theme)}.clock-header{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;position:relative}.clock-header h2{font-size:1.1rem;margin:0;text-align:center}.info-btn{width:24px;height:24px;border-radius:50%;border:1px solid hsl(var(--border));background:hsl(var(--background));color:hsl(var(--text-muted));font-size:.75rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-tap-highlight-color:transparent}.info-btn:hover,.info-btn:active{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.clock-info-tooltip{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:hsl(var(--surface-elevated));border:1px solid hsl(var(--border));border-radius:12px;padding:.75rem 1rem;font-size:.82rem;line-height:1.5;color:hsl(var(--text-main));box-shadow:var(--shadow-lg);z-index:50;max-width:calc(100vw - 3rem);width:max-content;animation:fadeIn .15s ease-out}.dial-sample-size{font-size:.65rem;color:hsl(var(--text-muted));text-align:center;margin-top:.1rem;font-style:italic}.clock-dual{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.clock-card{display:flex;flex-direction:column;align-items:center}.dial-label{font-size:.85rem;font-weight:700;color:hsl(var(--text-main));margin-top:.3rem;text-align:center}.dial-avg{font-size:.7rem;color:hsl(var(--text-muted));text-align:center;margin-top:.15rem}.dial-correlation{font-size:.68rem;color:hsl(var(--secondary));text-align:center;margin-top:.1rem;font-style:italic}.dial-ring{position:relative;width:min(130px,35vw);height:min(130px,35vw)}.dial-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.dial-track{fill:none;stroke:hsl(var(--border));stroke-width:7}.dial-progress{fill:none;stroke:hsl(var(--primary));stroke-width:7;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset .8s ease-out,stroke .4s}.dial-progress.soon{stroke:hsl(var(--warning))}.dial-progress.urgent{stroke:hsl(var(--danger))}.dial-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem}.dial-emoji{font-size:1.4rem}.dial-countdown{font-family:var(--font-sans);font-size:1.4rem;font-weight:700;color:hsl(var(--text-main));line-height:1.2}.dial-status{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--text-muted));transition:color .3s}.dial-status.ok{color:hsl(var(--success))}.dial-status.soon{color:hsl(var(--warning))}.dial-status.urgent{color:hsl(var(--danger))}.dial-time{font-size:.8rem;color:hsl(var(--text-muted));margin-top:.4rem;text-align:center}@keyframes pulse-urgent{0%,to{opacity:1}50%{opacity:.6}}.clock-card.pulsing .dial-countdown{animation:pulse-urgent 1.2s ease-in-out infinite}.clock-card.ghosted{opacity:.3;filter:grayscale(.6);transition:opacity .3s,filter .3s;position:relative}.clock-card.ghosted:hover,.clock-card.ghosted:active{opacity:.5}.clock-tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:hsl(var(--text-main));color:hsl(var(--background));padding:.5rem .75rem;border-radius:8px;font-size:.75rem;font-weight:500;line-height:1.4;white-space:nowrap;z-index:10;pointer-events:none;box-shadow:var(--shadow-md)}.clock-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:hsl(var(--text-main))}.clock-card.ghosted:hover .clock-tooltip,.clock-card.ghosted:active .clock-tooltip{display:block}.next-up-section{margin-bottom:1.5rem}.next-up-section h2{font-size:1.1rem;margin-bottom:.75rem}.next-up-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}.next-up-card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:12px;padding:.75rem;text-align:center;transition:transform .2s,box-shadow .2s,border-color .3s}.next-up-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.next-up-card .next-emoji{font-size:1.5rem}.next-up-card .next-label{font-size:.75rem;text-transform:uppercase;color:hsl(var(--text-muted));letter-spacing:.05em;margin-top:.25rem}.next-up-card .next-time{font-size:1.1rem;font-weight:700;margin-top:.25rem}.next-up-card .next-countdown{font-size:.8rem;color:hsl(var(--text-muted));margin-top:.15rem}.next-up-card.status-ok{border-left:3px solid hsl(var(--primary))}.next-up-card.status-soon{border-left:3px solid hsl(var(--warning))}.next-up-card.status-overdue{border-left:3px solid hsl(var(--danger))}.welcome-card{text-align:center;padding:3rem 2rem;margin-top:10vh;border:none;box-shadow:var(--shadow-lg);background:hsl(var(--surface));position:relative;overflow:hidden}.welcome-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--secondary)))}.logo-container.large{margin-bottom:1.5rem}.app-logo-large{height:80px;width:auto}.profile-form{margin-top:2rem;display:flex;flex-direction:column;gap:1.5rem}.date-type-toggle{display:flex;gap:.5rem;margin-top:.25rem}.toggle-btn{flex:1;padding:.75rem;border:1px solid hsl(var(--border));border-radius:12px;background:hsl(var(--background));color:hsl(var(--text-main));font-size:.95rem;font-weight:500;cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent}.toggle-btn.active{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary));box-shadow:0 2px 8px hsl(var(--primary) / .3)}.hint-text{font-size:.8rem;color:hsl(var(--text-muted));margin-top:.25rem}.btn-large{margin-top:1rem;padding:1rem;font-size:1.1rem}.more-details-section{margin-top:.5rem}.more-details-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background:hsl(var(--background));border:1px dashed hsl(var(--border));border-radius:12px;color:hsl(var(--text-muted));font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.more-details-toggle:hover,.more-details-toggle:active{border-color:hsl(var(--primary));color:hsl(var(--primary))}.toggle-arrow{font-size:.7rem;transition:transform .2s}.more-details-section.expanded .toggle-arrow{transform:rotate(180deg)}.more-details-content{display:flex;flex-direction:column;gap:1.5rem;overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .3s ease,margin .3s ease;margin-top:0}.more-details-section.expanded .more-details-content{max-height:800px;opacity:1;margin-top:1.5rem}.app-header{margin-bottom:1.5rem}.header-top{display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;align-items:center;gap:.75rem}.app-logo{height:48px;width:auto}.app-header h1{font-size:1.4rem;line-height:1.2}.subtitle-small{font-size:.85rem;color:hsl(var(--text-muted))}.header-actions{display:flex;gap:.5rem;align-items:center}.header-accent{height:3px;margin-top:.75rem;border-radius:2px;background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--secondary)),transparent);opacity:.6}.sos-btn{background:transparent!important;border:none!important;padding:.15rem}.sos-icon{height:32px;width:auto;display:block}.resource-dropdown-wrap{position:relative}.resource-dropdown{position:absolute;top:calc(100% + .5rem);right:0;z-index:100;min-width:240px;max-width:calc(100vw - 2rem);background:hsl(var(--surface-elevated));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.resource-link{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;text-decoration:none;color:hsl(var(--text-main));transition:background .15s}.resource-link:hover{background:hsl(var(--secondary) / .08)}.resource-link+.resource-link{border-top:1px solid hsl(var(--border))}.resource-icon{font-size:1.5rem;flex-shrink:0}.resource-logo{height:36px;width:auto;flex-shrink:0;border-radius:4px}.resource-link strong{display:block;font-size:.88rem;line-height:1.3}.resource-link small{display:block;font-size:.75rem;color:hsl(var(--text-muted));margin-top:.1rem}button.resource-link{border:none;cursor:pointer;width:100%;text-align:left;font:inherit}.vet-overlay{position:fixed;inset:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.vet-modal{background:hsl(var(--surface-elevated));border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.vet-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.vet-modal-header h2{font-size:1.1rem;margin:0}.vet-modal-close{background:none;border:none;font-size:1.3rem;cursor:pointer;color:hsl(var(--text-muted));padding:.25rem}.vet-card{padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border))}.vet-card:last-child{border-bottom:none}.vet-card h3{font-size:.95rem;margin:0 0 .4rem;color:hsl(var(--text-main));line-height:1.3}.vet-detail{display:flex;align-items:baseline;gap:.5rem;font-size:.82rem;color:hsl(var(--text-muted));margin-top:.3rem;line-height:1.4}.vet-detail span:first-child{flex-shrink:0}.vet-detail a{color:hsl(var(--secondary));text-decoration:none}.vet-detail a:hover{text-decoration:underline}.icon-btn{background:hsl(var(--surface));border:1px solid hsl(var(--border));cursor:pointer;font-size:1.2rem;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;color:hsl(var(--text-main))}.icon-btn:hover{background-color:hsl(var(--border));transform:translateY(-1px)}.icon-btn:active{transform:scale(.95)}.lang-toggle{display:flex;border:1px solid hsl(var(--border));border-radius:20px;overflow:hidden;height:32px}.lang-btn{background:transparent;border:none;color:hsl(var(--text-muted));font-size:.7rem;font-weight:700;padding:0 8px;cursor:pointer;transition:all .2s;letter-spacing:.02em}.lang-btn.active{background:hsl(var(--primary));color:#fff}.lang-btn:hover:not(.active){background:hsl(var(--border))}.quick-log-section{margin-bottom:1.5rem}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:.75rem}.action-btn{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:.85rem .25rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;cursor:pointer;transform:translateZ(0);transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .2s,box-shadow .2s,border-color .2s;box-shadow:var(--shadow-sm);min-height:72px;-webkit-tap-highlight-color:transparent;border-left:3px solid transparent}.action-btn:hover{transform:translateY(-2px) translateZ(0);box-shadow:var(--shadow-md)}.action-btn:active{transform:scale(.93) translateZ(0);box-shadow:var(--shadow-sm)}.action-btn.type-pee{border-left-color:#4fc3f7;background:linear-gradient(135deg,hsl(var(--surface)),#f1fafe)}.action-btn.type-poop{border-left-color:#a1887f;background:linear-gradient(135deg,hsl(var(--surface)),#f8f3f2)}.action-btn.type-meal{border-left-color:#ffb74d;background:linear-gradient(135deg,hsl(var(--surface)),#fef6ec)}.action-btn.type-water{border-left-color:#4dd0e1;background:linear-gradient(135deg,hsl(var(--surface)),#eefafc)}.action-btn.type-meds{border-left-color:#ce93d8;background:linear-gradient(135deg,hsl(var(--surface)),#f8f1f9)}.action-btn.type-behaviour{border-left-color:#ef9a9a;background:linear-gradient(135deg,hsl(var(--surface)),#fbefef)}.action-btn.type-wake{border-left-color:#ffd54f;background:linear-gradient(135deg,hsl(var(--surface)),#fdf9ec)}.action-btn.type-sleep{border-left-color:#7986cb;background:linear-gradient(135deg,hsl(var(--surface)),#f1f2f9)}[data-theme=dark] .action-btn.type-pee{background:linear-gradient(135deg,hsl(var(--surface)),#152932)}[data-theme=dark] .action-btn.type-poop{background:linear-gradient(135deg,hsl(var(--surface)),#2b201d)}[data-theme=dark] .action-btn.type-meal{background:linear-gradient(135deg,hsl(var(--surface)),#302517)}[data-theme=dark] .action-btn.type-water{background:linear-gradient(135deg,hsl(var(--surface)),#192c2e)}[data-theme=dark] .action-btn.type-meds{background:linear-gradient(135deg,hsl(var(--surface)),#2a1b2d)}[data-theme=dark] .action-btn.type-behaviour{background:linear-gradient(135deg,hsl(var(--surface)),#2d1b1b)}[data-theme=dark] .action-btn.type-wake{background:linear-gradient(135deg,hsl(var(--surface)),#2e2919)}[data-theme=dark] .action-btn.type-sleep{background:linear-gradient(135deg,hsl(var(--surface)),#1b1d2d)}.action-btn .emoji{font-size:1.8rem;line-height:1}.action-btn .label{font-size:.8rem;font-weight:600;color:hsl(var(--text-main))}.action-btn .btn-count{font-size:.65rem;font-weight:700;color:hsl(var(--text-muted));min-height:.85rem}.action-btn .btn-count:empty{display:none}.modifier-container{background:hsl(var(--surface));padding:1rem;border-radius:var(--radius);border:1px solid hsl(var(--border));margin-bottom:.75rem;animation:slideDown .2s ease-out;transition:var(--transition-theme)}.modifier-title{font-size:.85rem;color:hsl(var(--text-muted));margin-bottom:.75rem;font-weight:500}.modifier-chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{background:hsl(var(--background));border:1px solid hsl(var(--border));padding:.4rem .8rem;border-radius:20px;font-size:.85rem;font-weight:500;color:hsl(var(--text-main));cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.chip:hover{border-color:hsl(var(--secondary));background:hsl(var(--secondary) / .06)}.chip:active{transform:scale(.95);background:hsl(var(--border))}.firmness-container{background:hsl(var(--surface));padding:1rem;border-radius:var(--radius);border:1px solid hsl(var(--border));margin-bottom:.75rem;animation:slideDown .2s ease-out}.firmness-hint{font-size:.8rem;color:hsl(var(--text-muted));margin-bottom:.75rem;line-height:1.4}.firmness-scale{display:flex;gap:.4rem}.firmness-btn{flex:1;border:1px solid hsl(var(--border));border-radius:10px;padding:.5rem .25rem;background:hsl(var(--background));cursor:pointer;text-align:center;transition:all .15s;-webkit-tap-highlight-color:transparent}.firmness-btn .f-num{display:block;font-weight:700;font-size:1.1rem;color:hsl(var(--text-main))}.firmness-btn .f-label{display:block;font-size:.65rem;color:hsl(var(--text-muted));margin-top:.15rem}.firmness-btn.ideal{border-color:hsl(var(--success));background:#e9fbf0}[data-theme=dark] .firmness-btn.ideal{background:#173622}.firmness-btn:active{transform:scale(.95)}.firmness-btn.selected{background:hsl(var(--primary));border-color:hsl(var(--primary))}.firmness-btn.selected .f-num,.firmness-btn.selected .f-label{color:#fff}.poop-extras{margin-top:.75rem;display:flex;gap:.5rem}.edu-note{margin-top:.75rem;padding:.75rem 1rem;background:hsl(var(--secondary) / .08);border-left:3px solid hsl(var(--secondary));border-radius:8px;font-size:.82rem;line-height:1.5;color:hsl(var(--text-main));animation:fadeIn .3s ease-out}.edu-note strong{color:hsl(var(--secondary))}.firmness-trend{display:flex;align-items:flex-end;gap:.35rem;height:80px;padding-top:.5rem}.firmness-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;height:100%;justify-content:flex-end}.firmness-bar{width:100%;max-width:24px;border-radius:4px 4px 0 0;transition:height .3s}.firmness-bar-label{font-size:.6rem;color:hsl(var(--text-muted))}.quick-note-container{margin-top:.5rem}.note-input{width:100%;padding:.875rem;border-radius:12px;border:1px solid hsl(var(--border));background:hsl(var(--surface));font-size:1rem;color:hsl(var(--text-main));transition:border-color .2s,box-shadow .2s}.note-input:focus{outline:none;border-color:hsl(var(--secondary));box-shadow:0 0 0 3px hsl(var(--secondary) / .12)}.card{background:hsl(var(--surface));border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid hsl(var(--border));margin-bottom:1.5rem;transition:var(--transition-theme)}.card h2{font-size:1.15rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;text-align:left}label{font-weight:500;font-size:.95rem;color:hsl(var(--text-main));margin-left:.25rem}input{padding:.875rem;border:1px solid hsl(var(--border));border-radius:12px;font-size:1rem;background-color:hsl(var(--background));color:hsl(var(--text-main));transition:border-color .2s,box-shadow .2s}input:focus{outline:none;border-color:hsl(var(--secondary));box-shadow:0 0 0 3px hsl(var(--secondary) / .12)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;border-radius:var(--radius-lg);font-weight:700;cursor:pointer;transition:all .2s;border:none;font-family:var(--font-sans);-webkit-tap-highlight-color:transparent}.btn-primary{background-color:hsl(var(--primary));color:#fff;box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #00a2e959}.btn-primary:active{transform:scale(.98);box-shadow:var(--shadow-sm)}.btn-outline{background-color:transparent;border:1px solid hsl(var(--border));color:hsl(var(--text-main))}.btn-outline:hover{border-color:hsl(var(--secondary));color:hsl(var(--secondary));background:hsl(var(--secondary) / .04)}.btn-sm{padding:.4rem .8rem;font-size:.85rem;border-radius:12px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.history-section .section-header{flex-direction:column;align-items:stretch;gap:.5rem}.history-section .section-header>div:last-child{justify-content:flex-end}.day-nav{display:flex;align-items:center;justify-content:center;gap:.5rem}.day-nav h2{margin:0;white-space:nowrap;font-size:1rem}.day-nav-btn{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:8px;color:hsl(var(--text-main));font-size:1rem;padding:.4rem .65rem;cursor:pointer;line-height:1;-webkit-tap-highlight-color:transparent;transition:background .15s,transform .15s}.day-nav-btn:hover{background:hsl(var(--border))}.day-nav-btn:active{background:hsl(var(--border));transform:scale(.95)}.day-nav-btn:disabled{opacity:.3;cursor:default}.predictions-grid{display:flex;flex-direction:column;gap:.75rem}.prediction-card{background-color:hsl(var(--background));padding:1rem;border-radius:12px;border-left:4px solid hsl(var(--primary));transition:var(--transition-theme)}.prediction-card.warning{border-left-color:hsl(var(--warning))}.prediction-card.danger{border-left-color:hsl(var(--danger))}.insight-text{font-size:1.05rem;font-weight:600;margin-bottom:.25rem;color:hsl(var(--text-main))}.insight-subtext{font-size:.85rem;color:hsl(var(--text-muted))}.loading-skeleton{border-left:4px solid hsl(var(--border))}.shimmer-line{height:1rem;background:linear-gradient(90deg,hsl(var(--border)),hsl(var(--background)) 50%,hsl(var(--border)));background-size:200% 100%;animation:shimmer 1.5s infinite linear;border-radius:4px;margin-bottom:.5rem}.shimmer-line.title{height:1.2rem;width:70%;margin-bottom:.75rem}.shimmer-line.short{width:40%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.table-container{overflow-x:hidden}table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:fixed}th{text-align:left;padding:.6rem .35rem;border-bottom:2px solid hsl(var(--border));color:hsl(var(--text-muted));font-weight:600;font-size:.75rem;text-transform:uppercase}th:nth-child(1){width:25%}th:nth-child(2){width:25%}th:nth-child(3){width:auto}th:nth-child(4){width:32px}td{padding:.7rem .35rem;border-bottom:1px solid hsl(var(--border));color:hsl(var(--text-main));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}tr:last-child td{border-bottom:none}tr:nth-child(2n) td{background:hsl(var(--background) / .5)}[data-theme=dark] tr:nth-child(2n) td{background:#13182080}.delete-cell{width:36px;text-align:center;padding:.5rem .25rem}.delete-event-btn{background:none;border:none;color:hsl(var(--text-muted));font-size:1rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:color .2s,background .2s}.delete-event-btn:hover,.delete-event-btn:active{color:hsl(var(--danger));background:hsl(var(--danger) / .1)}.empty-state{text-align:center;padding:2.5rem 1rem;color:hsl(var(--text-main));font-weight:500}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border-radius:8px;font-size:.78rem;font-weight:600;text-transform:capitalize;background:hsl(var(--surface));border:1px solid hsl(var(--border))}.undo-snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(100px);background:hsl(var(--text-main));color:hsl(var(--background));padding:.75rem 1rem .75rem 1.25rem;border-radius:var(--radius);display:flex;align-items:center;gap:1rem;font-weight:500;font-size:.95rem;box-shadow:var(--shadow-lg);z-index:1000;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.undo-snackbar.show{transform:translate(-50%) translateY(0)}.undo-btn{background:transparent;color:hsl(var(--warning));border:none;font-weight:700;font-size:.95rem;cursor:pointer;padding:.25rem .5rem;text-transform:uppercase}.patterns-list{display:flex;flex-direction:column;gap:.6rem}.pattern-card{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;background:hsl(var(--background));border-radius:12px;transition:transform .2s,box-shadow .2s}.pattern-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pattern-icon{font-size:1.3rem;flex-shrink:0;margin-top:.1rem}.pattern-text{font-size:.9rem;font-weight:600;color:hsl(var(--text-main));line-height:1.4}.pattern-subtext{font-size:.8rem;color:hsl(var(--text-muted));margin-top:.15rem}.report-overlay{position:fixed;inset:0;background:#0009;z-index:2000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease-out}.report-sheet{background:hsl(var(--surface-elevated));border-radius:20px 20px 0 0;padding:.5rem 1.5rem 1.5rem;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.275)}.drag-handle{width:36px;height:4px;background:hsl(var(--border));border-radius:2px;margin:.5rem auto .75rem}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.report-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.report-header h2{font-size:1.2rem;margin:0}.report-close{background:hsl(var(--background));border:1px solid hsl(var(--border));width:36px;height:36px;border-radius:50%;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:hsl(var(--text-main));transition:background .15s}.report-close:hover{background:hsl(var(--border))}.report-body{font-size:.9rem;line-height:1.6;color:hsl(var(--text-main));white-space:pre-wrap;font-family:var(--font-body)}.report-actions{display:flex;gap:.5rem;margin-top:1rem}.report-actions .btn{flex:1}.error-banner{background:hsl(var(--danger) / .1);border:1px solid hsl(var(--danger) / .3);border-radius:12px;padding:.75rem 1rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:hsl(var(--danger));font-weight:500;animation:slideDown .2s ease-out}.error-banner button{background:hsl(var(--danger));color:#fff;border:none;padding:.35rem .75rem;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;flex-shrink:0;margin-left:.5rem}tr.optimistic td{opacity:.6}tr.optimistic.confirmed td{opacity:1;transition:opacity .3s}.action-btn.saving{opacity:.7;pointer-events:none}.section-divider{height:1px;background:hsl(var(--border));margin:.5rem 0}.clock-empty-state{text-align:center;padding:1.5rem 1rem;color:hsl(var(--text-muted));font-size:.85rem;line-height:1.5}.clock-empty-state .empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.clock-empty-state .empty-progress{font-size:.75rem;color:hsl(var(--secondary));margin-top:.5rem;font-weight:500}.confirm-overlay{position:fixed;inset:0;background:#0006;z-index:3000;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .15s ease-out}.confirm-dialog{background:hsl(var(--surface-elevated));border-radius:var(--radius);padding:1.5rem;max-width:calc(100vw - 2rem);width:320px;box-shadow:var(--shadow-lg);text-align:center}.confirm-dialog p{font-size:1rem;font-weight:500;margin-bottom:1.25rem;color:hsl(var(--text-main))}.confirm-actions{display:flex;gap:.75rem}.confirm-actions .btn{flex:1}.btn-danger{background:hsl(var(--danger));color:#fff;border:none;box-shadow:0 4px 12px hsl(var(--danger) / .3)}.btn-danger:hover{transform:translateY(-1px);box-shadow:0 6px 16px hsl(var(--danger) / .4)}:focus-visible{outline:2px solid hsl(var(--secondary));outline-offset:2px}.action-btn:focus-visible,.btn:focus-visible,.icon-btn:focus-visible,.chip:focus-visible,.firmness-btn:focus-visible{outline:2px solid hsl(var(--secondary));outline-offset:2px;box-shadow:0 0 0 4px hsl(var(--secondary) / .15)}.resources-card{border-top:3px solid hsl(var(--primary))}.resource-image-card{display:block;border-radius:12px;overflow:hidden;background:hsl(var(--background));text-decoration:none;color:hsl(var(--text-main));transition:transform .15s,box-shadow .15s}.resource-image-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.resource-training-img{width:100%;height:auto;display:block;border-radius:12px 12px 0 0}.resource-image-label{padding:.6rem .75rem;font-size:.85rem;font-weight:600;color:hsl(var(--text-main));text-align:center}.resource-pdf-card{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;margin-top:.75rem;border-radius:12px;background:hsl(var(--background));border:1px solid hsl(var(--border));text-decoration:none;color:hsl(var(--text-main));transition:background .15s,border-color .15s,transform .15s}.resource-pdf-card:hover{border-color:hsl(var(--secondary));background:hsl(var(--secondary) / .06);transform:translateY(-1px)}.resource-pdf-icon{font-size:1.5rem;flex-shrink:0}.resource-pdf-card strong{display:block;font-size:.9rem}.resource-pdf-card small{display:block;font-size:.75rem;color:hsl(var(--text-muted));margin-top:.1rem}.resource-group{margin-top:.75rem}.resource-group-label{font-size:.9rem;font-weight:700;color:hsl(var(--text-main));margin-bottom:.5rem;padding-left:.25rem}.resource-group-links{display:flex;flex-direction:column;gap:.5rem}.resource-group-links .resource-pdf-card{margin-top:0}.resources-cta{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:1.25rem;padding:1.1rem 1.5rem;font-size:1.1rem;text-decoration:none}.resources-cta-sub{display:block;font-size:.78rem;font-weight:500;opacity:.85;margin-top:.25rem}.collapsible-header{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.collapse-toggle-btn{font-size:.8rem;font-weight:600;color:hsl(var(--primary));background:hsl(var(--primary) / .1);border:1px solid hsl(var(--primary) / .25);border-radius:999px;padding:.3rem .85rem;min-height:32px;min-width:56px;text-align:center;flex-shrink:0;cursor:pointer;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.collapse-toggle-btn:hover,.collapse-toggle-btn:active{background:hsl(var(--primary) / .18);border-color:hsl(var(--primary) / .4)}.collapsible-body{overflow:hidden;max-height:2000px;opacity:1;transition:max-height .35s ease,opacity .25s ease,margin-top .25s ease;margin-top:1rem}.collapsible.collapsed .collapsible-body{max-height:0;opacity:0;margin-top:0}.feeding-times-container{display:flex;flex-direction:column;gap:.5rem}.feeding-time-row{display:flex;align-items:center;gap:.5rem}.feeding-time-row input[type=time]{flex:1;padding:.6rem .75rem;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--surface));color:hsl(var(--text-main));font-size:1rem;min-height:44px}.feeding-time-row input[type=time]:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsla(var(--primary) / .15)}.btn-delete-feeding{width:36px;height:36px;min-width:36px;border:none;background:hsl(var(--danger, 0 70% 55%) / .12);color:hsl(var(--danger, 0 70% 55%));border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.btn-delete-feeding:hover,.btn-delete-feeding:active{background:hsl(var(--danger, 0 70% 55%) / .25)}.btn-add-feeding{display:inline-flex;align-items:center;gap:.25rem;margin-top:.35rem;padding:.5rem .85rem;border:1px dashed hsl(var(--border));border-radius:var(--radius);background:transparent;color:hsl(var(--primary));font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.btn-add-feeding:hover,.btn-add-feeding:active{background:hsl(var(--primary) / .08);border-color:hsl(var(--primary) / .4)}@media (max-width: 380px){.action-grid{grid-template-columns:repeat(2,1fr)}.action-btn{min-height:80px;padding:1.25rem .5rem}.action-btn .emoji{font-size:2rem}.action-btn .label{font-size:.85rem}.card,.bathroom-clock-section{padding:1rem}.btn-sm{padding:.35rem .6rem;font-size:.8rem}.clock-dual{gap:.5rem}.dial-countdown,.dial-emoji{font-size:1.2rem}}@media (min-width: 480px){.action-grid{grid-template-columns:repeat(4,1fr)}}
