@import"https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap";@font-face{font-family:Brittany;src:url(/assets/BrittanySignature-X8HHbdIR.ttf) format("truetype");font-weight:400;font-style:normal}html,body,#root{margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);height:100dvh;width:100dvw;box-sizing:border-box;background:var(--bg-color);transition:background-color .3s ease}:root{font-family:Patrick Hand,cursive;line-height:1.5;font-weight:400;--bg-color: #ffebe5;--card-bg: #ffffff;--badge-bg: #fff2d9;--text-color: #8d6e63;--subtext-color: #a1887f;--badge-text: #8d6e63;--button-bg: #f5a8a8;--button-hover-bg: #f8bbd0;--navbar-bg: white;--navbar-text: #a1887f;--navbar-active: #f5a8a8;--shadow-color: rgba(0, 0, 0, .1);--border-color: #e0e0e0;--health-color: #f5a8a8;--supplement-color: #ffe082;--household-color: #a5d6a7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-color: #433c4c;--card-bg: #534d5c;--badge-bg: #665e70;--text-color: #ffdcd2;--subtext-color: #d7ccc8;--badge-text: #ffffff;--button-bg: #f8bbd0;--button-hover-bg: #f48fb1;--navbar-bg: #3e3748;--navbar-text: #d7ccc8;--navbar-active: #f8bbd0;--shadow-color: rgba(0, 0, 0, .3);--border-color: #5d5464}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;width:100%;background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{margin-bottom:.5em;font-weight:700;line-height:1.2}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}p{margin-bottom:1rem}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-bg);cursor:pointer;transition:border-color .25s;color:#fff}button:hover{background-color:var(--button-hover-bg)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.navbar{position:fixed;bottom:0;left:0;width:100%;height:60px;padding-bottom:env(safe-area-inset-bottom,0);background-color:var(--navbar-bg, white);border-top:1px solid var(--border-color, #ccc);display:flex;justify-content:space-around;align-items:center;font-family:Patrick Hand,cursive;z-index:1000;box-shadow:0 -2px 10px #0000001a}.nav-item{display:flex;justify-content:center;align-items:center;width:25%;height:100%;color:var(--navbar-text)}.nav-icon{width:26px;height:26px;opacity:.7;transition:all .2s ease}.nav-item.active .nav-icon{opacity:1;transform:scale(1.1)}[data-theme=dark] .nav-icon{filter:brightness(.9)}.welcome-container{background:var(--bg-color, #ffebe5);height:100dvh;width:100dvw;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 5dvw;box-sizing:border-box;overflow:hidden}.welcome-title{font-family:Brittany,cursive;color:var(--button-bg, #f5a8a8);text-align:center;font-size:20dvw;font-weight:700}.welcome-buttons{display:flex;gap:4dvw;flex-wrap:wrap;justify-content:center}.welcome-buttons button{background:var(--button-bg, #f5a8a8);color:#fff;font-family:Patrick Hand,cursive;font-size:4dvw;font-weight:700;padding:1.5dvh 4dvw;border:none;border-radius:9999px;box-shadow:0 4px 8px var(--shadow-color, rgba(0, 0, 0, .2));transition:background .2s ease,transform .1s ease}.welcome-buttons button:hover{background:var( --button-hover-bg, #f8bbd0 );transform:translateY(-1px)}.welcome-logo{width:275px;height:auto;margin:2dvh 0 3dvh}[data-theme=dark] .welcome-container{background:var(--bg-color, #433c4c)}[data-theme=dark] .welcome-title{color:var(--text-color, #ffdcd2)}.login-container{background-color:var(--bg-color, #fff0f6);min-height:100dvh;width:100dvw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4dvw;box-sizing:border-box}.login-title{font-size:8dvw;font-weight:700;margin-bottom:5dvh;color:var(--text-color, #800080);text-align:center;font-family:Patrick Hand,cursive}.login-form{width:100%;max-width:85dvw;display:flex;flex-direction:column;gap:3dvh}.login-form label{font-size:4dvw;font-weight:600;color:var(--text-color, #800080)}.login-form input{width:100%;padding:1.8dvh 3dvw;border-radius:2dvw;border:1px solid var(--border-color, #ccc);font-size:4dvw;background-color:var(--card-bg, #ffd1e2);color:var(--text-color, #800080);box-sizing:border-box}.login-form button{background-color:var(--button-bg, #da70d6);color:#fff;font-size:4.5dvw;font-weight:700;padding:2dvh 0;border:none;border-radius:9999px;margin-top:2dvh;cursor:pointer;box-shadow:0 3px 6px var(--shadow-color, rgba(0, 0, 0, .15));transition:background-color .2s ease,transform .1s ease}.login-form button:hover{background-color:var(--button-hover-bg, #c060d6);transform:translateY(-1px)}.login-form button:active{transform:translateY(0)}.login-divider{width:100%;text-align:center;border-bottom:1px solid var(--border-color, #ccc);line-height:.1em;margin:2dvh 0 3dvh}.login-divider span{background:var(--bg-color, #fff0f6);padding:0 2dvw;color:var(--subtext-color, #555);font-size:3.5dvw}.forgot-password{text-align:center;margin-top:3dvh;font-size:3.5dvw;color:var(--text-color, #800080);text-decoration:underline;cursor:pointer}.login-signup-prompt{margin-top:5dvh;font-size:3.5dvw;color:var(--subtext-color, #555);text-align:center}.login-signup-link{color:var(--text-color, #800080);font-weight:700;text-decoration:underline;cursor:pointer}.signup-container{background-color:var(--bg-color, #fff0f6);min-height:100dvh;width:100dvw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4dvw;box-sizing:border-box}.signup-title{font-size:8dvw;font-weight:700;margin-bottom:4dvh;color:var(--text-color, #800080);text-align:center;font-family:Patrick Hand,cursive}.signup-form{width:100%;max-width:85dvw;display:flex;flex-direction:column;gap:2.5dvh}.signup-form label{font-size:4dvw;font-weight:600;color:var(--text-color, #800080)}.signup-form input{width:100%;padding:1.8dvh 3dvw;border-radius:2dvw;border:1px solid var(--border-color, #ccc);font-size:4dvw;background-color:var(--card-bg, #ffd1e2);color:var(--text-color, #800080);box-sizing:border-box}.signup-form button{background-color:var(--button-bg, #da70d6);color:#fff;font-size:4.5dvw;font-weight:700;padding:2dvh 0;border:none;border-radius:9999px;margin-top:2dvh;cursor:pointer;box-shadow:0 3px 6px var(--shadow-color, rgba(0, 0, 0, .15));transition:background-color .2s ease,transform .1s ease}.signup-form button:hover{background-color:var(--button-hover-bg, #c060d6);transform:translateY(-1px)}.signup-form button:active{transform:translateY(0)}.form-group{display:flex;flex-direction:column;gap:1dvh}.terms-checkbox{display:flex;align-items:center;gap:2dvw;margin-top:1dvh}.terms-checkbox input[type=checkbox]{width:4dvw;height:4dvw;cursor:pointer}.terms-checkbox label{font-size:3.5dvw;color:var(--subtext-color, #555);cursor:pointer}.terms-link{color:var(--text-color, #800080);text-decoration:underline}.error-message{color:#e53935;font-size:3.5dvw;text-align:center;margin-bottom:2dvh}.signup-login-prompt{margin-top:4dvh;font-size:3.5dvw;color:var(--subtext-color, #555);text-align:center}.signup-login-link{color:var(--text-color, #800080);font-weight:700;text-decoration:underline;cursor:pointer}html,body,#root{margin:0;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);height:100dvh;overflow-y:auto;box-sizing:border-box}.home-container{background:var(--bg-color, #fff0f6);min-height:100dvh;padding:20px 16px 80px;max-width:600px;margin:0 auto;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}h1{font-size:6dvw;font-weight:700;margin-bottom:2dvh;color:var(--text-color, #800080);width:100%;text-align:center}.items{min-width:95%}.add-btn{background:var(--button-bg, #da70d6);color:#fff;font-weight:700;font-size:4dvw;padding:1.5dvh 3dvw;border:none;border-radius:9999px;margin-bottom:2dvh;box-shadow:0 2px 5px var(--shadow-color, rgba(0, 0, 0, .2));transition:background .2s ease,transform .1s ease;cursor:pointer}.home-header{display:flex;align-items:center;justify-content:center;margin-bottom:24px}.welcome-text{font-size:32px;color:var(--text-color);margin:0;font-weight:400;text-align:center}.items-section{margin-bottom:24px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0}.bunny-mascot{width:120px;height:auto;margin-bottom:20px}.empty-state p{color:var(--text-color);font-size:18px;margin-bottom:20px}.add-btn{background:var(--button-bg);color:#fff;text-decoration:none;padding:10px 20px;border-radius:24px;font-size:18px;font-family:Patrick Hand,cursive;border:none;box-shadow:0 2px 5px var(--shadow-color, rgba(0, 0, 0, .2));transition:background .2s ease,transform .1s ease;cursor:pointer}.add-btn:hover{background:var(--button-hover-bg)}.loading,.signin-message{text-align:center;color:var(--text-color);padding:40px 0;font-size:18px}.items-container{margin-top:20px;overflow-y:visible}.navbar{position:fixed;bottom:0;left:0;width:100%;height:60px;z-index:1000}.app-container{display:flex;flex-direction:column;min-height:100%;position:relative;overflow-y:auto}.card{background:var(--card-bg);border-radius:16px;padding:16px;margin-bottom:16px;box-shadow:0 4px 8px #00000014;display:grid;grid-template-columns:70px 1fr auto;grid-template-areas:"bunny content badge" "bunny content ." "actions actions actions";gap:8px;position:relative}.bunny-container{grid-area:bunny;display:flex;align-items:center;justify-content:center;padding-right:8px}.bunny-image{width:60px;height:auto}.card-content{grid-area:content;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.item-name{font-size:20px;font-weight:400;margin:0 0 4px;color:var(--text-color)}.item-usage,.item-quantity{font-size:16px;color:var(--subtext-color);margin:2px 0}.days-badge{grid-area:badge;background:var(--badge-bg);color:var(--badge-text);padding:6px 12px;border-radius:20px;font-size:14px;white-space:nowrap}.card-actions{grid-area:actions;display:flex;gap:10px;margin-top:8px}.reorder-button,.view-button{flex:1;background:var(--button-bg);color:#fff;border:none;border-radius:20px;padding:10px 16px;font-family:Patrick Hand,cursive;font-size:16px;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:600}[data-theme=dark] .bunny-image{filter:brightness(.9)}h2{color:var(--text-color, #fff0f6)}.category-section{margin-bottom:24px}.section-title{font-size:24px;color:var(--text-color);margin-bottom:2px;font-weight:400}.items-divider{border-top:2px dashed var(--text-color);opacity:.3;margin:8px 0 16px}.items-list{display:flex;flex-direction:column;gap:12px}.add-item-container{padding:4dvw;background-color:var(--bg-color, #fff0f6);min-height:100dvh;width:100dvw;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;padding-bottom:90px}.add-item-form{width:100%;max-width:90dvw;display:flex;flex-direction:column;gap:2dvh}.add-item-form label{font-size:4dvw;font-weight:700;color:var(--text-color, #800080)}.add-item-form input{padding:1.5dvh 3dvw;border-radius:2dvw;border:1px solid var(--border-color, #ccc);font-size:4dvw;box-sizing:border-box;background-color:var(--card-bg, #ffd1e2);color:var(--text-color, #800080)}.add-item-form button{background-color:var(--button-bg, #ff6ec7);color:#fff;font-size:4dvw;font-weight:700;padding:1.8dvh 4dvw;border:none;border-radius:9999px;cursor:pointer;box-shadow:0 3px 6px var(--shadow-color, rgba(0, 0, 0, .15));transition:background-color .2s ease}.add-item-form button:hover{background-color:var(--button-hover-bg, #ff89d6)}.map-container{background:var(--bg-color, #fff0f6);height:100dvh;width:100%;display:flex;flex-direction:column;align-items:center;position:relative;padding:10px 10px 80px;box-sizing:border-box;overflow:hidden;position:fixed;top:0;left:0}.map-container h1{font-size:6dvw;font-weight:700;color:var(--text-color, #800080);margin:10px 0 15px;text-align:center}.leaflet-map{width:100%;height:68dvh;border-radius:12px;overflow:hidden;box-shadow:0 4px 10px var(--shadow-color, rgba(0, 0, 0, .2));position:relative;z-index:1;margin-bottom:20px;touch-action:none}.leaflet-container{width:100%;height:100%;touch-action:none!important}.location-button{position:fixed;bottom:12dvh;right:4dvw;background:var(--button-bg, #da70d6);color:#fff;width:50px;height:50px;min-width:50px;min-height:50px;max-width:50px;max-height:50px;border:none;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 2px 6px var(--shadow-color, rgba(0, 0, 0, .3));cursor:pointer;z-index:1500;overflow:hidden;flex-shrink:0}.location-button:active{transform:scale(.95)}.user-location-marker{display:flex!important;justify-content:center!important;align-items:center!important;background:transparent!important}.marker-inner{width:14px;height:14px;background:var(--button-bg, #da70d6);border:2px solid white;border-radius:50%;box-shadow:0 0 0 2px #da70d64d}.leaflet-control-container{z-index:1000!important}.leaflet-bottom{bottom:20px!important;touch-action:none}.leaflet-bottom.leaflet-right{right:90px!important}.leaflet-control-attribution{font-size:10px!important;background-color:#ffffffb3!important;max-width:80%!important;white-space:normal!important;line-height:1.2!important}@media (max-height: 600px){.leaflet-map{height:65dvh}.location-button{bottom:100px}}.map-controls{display:flex;justify-content:center;margin-bottom:1rem;width:100%}.map-controls button{padding:.75rem 1.5rem;font-size:4dvw;background-color:var(--button-bg, #da70d6);color:#fff;border:none;border-radius:25px;box-shadow:0 2px 6px var(--shadow-color, rgba(0, 0, 0, .3));cursor:pointer;font-family:Patrick Hand,cursive;transition:transform .2s}.map-controls button:active{transform:scale(.95)}select{padding:.5rem;font-size:1rem;border-radius:8px;border:1px solid #ccc}.clinic-popup{padding:5px;max-width:250px;font-family:Patrick Hand,cursive}.clinic-popup strong{display:block;font-size:16px;color:var(--text-color, #800080);margin-bottom:5px}.clinic-popup p{margin:5px 0;font-size:14px}.settings-container{background:var(--bg-color, #fff0f6);min-height:100dvh;max-height:100dvh;width:100dvw;padding:20px 20px 90px;box-sizing:border-box;overflow-y:auto;display:flex;flex-direction:column;gap:24px;max-width:600px;margin:0 auto}.settings-container h1{font-size:7dvw;font-weight:700;margin-bottom:16px;color:var(--text-color);width:100%;text-align:center}.settings-section{background-color:var(--card-bg);border-radius:16px;padding:16px;box-shadow:0 2px 8px var(--shadow-color)}.settings-section h2{font-size:5dvw;color:var(--text-color);margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:8px}.settings-option{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.setting-label{font-size:4.5dvw;color:var(--text-color)}.toggle-switch{position:relative;display:inline-block;width:52px;height:26px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--button-bg)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.logout-btn{background-color:#e53935;color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:4.5dvw;font-weight:700;width:100%;margin-top:12px;cursor:pointer;transition:background-color .3s}.logout-btn:hover{background-color:#d32f2f}.logout-btn:active{transform:scale(.98)}#root{max-width:100%;margin:0;padding:0;text-align:center;height:100%;width:100%}.app-container{position:relative;width:100%;min-height:100dvh;overflow-x:hidden;background:var(--bg-color);transition:background-color .3s ease}.page-container{width:100%;min-height:100%;display:flex;flex-direction:column;background-color:var(--bg-color)}.framer-motion-page{width:100%;height:100%;background-color:var(--bg-color);position:absolute;top:0;left:0;right:0;bottom:0}:root{--primary-color: #7c3aed;--primary-light: #a78bfa;--primary-dark: #5b21b6;--secondary-color: #ec4899;--secondary-light: #f9a8d4;--secondary-dark: #be185d;--accent-color: #14b8a6;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--bg-color: #f5f7fa;--card-bg: #ffffff;--text-color: #1f2937;--text-muted: #6b7280;--border-color: #e5e7eb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px}[data-theme=dark]{--bg-color: #111827;--card-bg: #2a313a;--text-color: #f9fafb;--text-muted: #9ca3af;--border-color: #374151;--primary-light: #8b5cf6;--secondary-light: #ec4899}button{background-color:var(--primary-color);color:#fff;font-weight:600;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-full);cursor:pointer;box-shadow:var(--shadow-md);transition:transform .15s ease,background-color .2s ease;font-family:inherit}button:hover{background-color:var(--primary-dark);transform:translateY(-2px)}button:active{transform:translateY(0)}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}input{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--text-color);transition:border-color .2s ease,box-shadow .2s ease}input:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #7c3aed33}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.logo{height:60px;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 1em var(--primary-light))}@media (prefers-reduced-motion: no-preference){.logo.spin{animation:logo-spin infinite 20s linear}}
