@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&family=Nunito:wght@300;400;500;600;700&display=swap";:root{--brand:#ae6f3f;--brand-light:#d4956a;--gold:#c9a84c;--bg:#fdfbf7;--bg2:#f5edd8;--surface:#fff;--border:#e8d8bb;--text:#3d2410;--text2:#7a5535;--text3:#a88055;--sidebar-w:220px;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Nunito,sans-serif;font-size:1rem;line-height:1.7}.loading-screen{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.loading-paw{font-size:3rem;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-backdrop{pointer-events:none;background:radial-gradient(at 30% 20%,#ae6f3f20 0%,#0000 60%),radial-gradient(at 70% 80%,#c4a35a18 0%,#0000 60%);position:fixed;inset:0}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:380px;padding:2.5rem;position:relative;box-shadow:0 20px 60px #ae6f3f12}.login-brand{text-align:center;margin-bottom:2rem}.login-mark{background:linear-gradient(135deg, var(--brand), var(--brand-light));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:600;display:flex}.login-brand h1{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:500}.login-brand p{color:var(--text2);letter-spacing:.05em;text-transform:uppercase;font-size:.85rem}.login-form{flex-direction:column;gap:1rem;display:flex}.field{flex-direction:column;gap:.35rem;display:flex}.field label{color:var(--text2);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:600}.field input{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);outline:none;padding:.65rem .9rem;font-family:Nunito,sans-serif;font-size:.95rem;transition:border-color .2s}.field input:focus{border-color:var(--brand);background:#fff}.btn-primary{background:var(--brand);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;margin-top:.25rem;padding:.75rem;font-family:Nunito,sans-serif;font-size:.95rem;font-weight:600;transition:background .2s,transform .1s}.btn-primary:hover{background:#8b5220}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--text2);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.6rem;font-family:Nunito,sans-serif;font-size:.85rem;transition:all .2s}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}.error-msg{color:#dc2626;background:#fee2e2;border-radius:8px;padding:.6rem .8rem;font-size:.85rem}.success-msg{color:#16a34a;background:#dcfce7;border-radius:8px;padding:.6rem .8rem;font-size:.85rem}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border);z-index:100;background:linear-gradient(#fffdf9 0%,#fbf5e8 100%);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:2px 0 12px #ae6f3f0f}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:1.5rem 1.25rem 1.25rem;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand), var(--gold));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:600;display:flex;box-shadow:0 2px 8px #ae6f3f59}.brand-text{flex-direction:column;display:flex}.brand-name{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.05rem;font-weight:600;line-height:1.2}.brand-sub{color:var(--text3);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem}.sidebar-nav{flex-direction:column;flex:1;gap:.2rem;padding:1rem .75rem;display:flex}.nav-item{color:var(--text2);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:.7rem;width:100%;padding:.65rem .85rem;font-family:Nunito,sans-serif;font-size:.92rem;font-weight:500;text-decoration:none;transition:all .18s;display:flex}.nav-item:hover{color:var(--text);background:#ae6f3f14;transform:translate(2px)}.nav-item.active{color:var(--brand);border-left:3px solid var(--brand);background:linear-gradient(90deg,#ae6f3f24,#ae6f3f0f);padding-left:calc(.85rem - 3px);font-weight:700}.nav-icon{text-align:center;width:18px;font-size:1rem}.sidebar-footer{border-top:1px solid var(--border);padding:1rem .75rem}.sign-out-btn{border:1px solid var(--border);width:100%;color:var(--text3);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem;font-family:Nunito,sans-serif;font-size:.8rem;transition:all .15s}.sign-out-btn:hover{color:#dc2626;border-color:#dc2626}.main-content{margin-left:var(--sidebar-w);background:var(--bg);flex:1;min-width:0;min-height:100vh;overflow-x:hidden}.page{max-width:1100px;padding:2rem 2.5rem}.page-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem;display:flex}.page-header h1{color:var(--text);letter-spacing:-.01em;font-family:Cormorant Garamond,serif;font-size:2.6rem;font-weight:600;line-height:1.1}.page-header p{color:var(--text2);margin-top:.3rem;font-size:.95rem}.page-loading{text-align:center;color:var(--text3);padding:4rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:all .22s;box-shadow:0 1px 4px #ae6f3f0a}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 24px #ae6f3f1a}.stat-icon{color:var(--brand);margin-bottom:.75rem;font-size:1.6rem}.stat-value{color:var(--text);font-family:Cormorant Garamond,serif;font-size:2.7rem;font-weight:600;line-height:1}.stat-label{color:var(--text);margin-top:.3rem;font-size:.88rem;font-weight:600}.stat-sub{color:var(--text3);margin-top:.15rem;font-size:.78rem}.dash-stat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.dash-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;padding:1.5rem;font-family:inherit;transition:all .2s;position:relative;overflow:hidden}.dash-stat-card:before{content:"";background:var(--accent,var(--brand));opacity:0;height:3px;transition:opacity .2s;position:absolute;top:0;left:0;right:0}.dash-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #ae6f3f17}.dash-stat-card:hover:before{opacity:1}.dash-stat-icon{margin-bottom:.75rem;font-size:1.5rem}.dash-stat-value{color:var(--text);font-family:Cormorant Garamond,serif;font-size:2.5rem;font-weight:500;line-height:1}.dash-stat-money{font-size:1.8rem}.dash-stat-label{color:var(--text);margin-top:.25rem;font-size:.85rem;font-weight:600}.dash-stat-sub{color:var(--text3);font-size:.75rem}@media (width<=500px){.dash-stat-grid{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.25rem}.dash-stat-card{padding:.85rem .9rem}.dash-stat-icon{margin-bottom:.35rem;font-size:1.1rem}.dash-stat-value{font-size:1.75rem}.dash-stat-money{font-size:1.4rem}.dash-stat-label{margin-top:.15rem;font-size:.78rem}.dash-stat-sub{font-size:.68rem}}.dash-sections{flex-direction:column;gap:2rem;display:flex}.dash-two-col{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.dash-col{flex-direction:column;gap:2rem;display:flex}@media (width<=860px){.dash-two-col{grid-template-columns:1fr}}.dash-quick-actions{flex-wrap:wrap;gap:.75rem;padding:.25rem 0 1rem;display:flex}.dash-action-btn{cursor:pointer;background:var(--surface);border:1.5px solid var(--border);color:var(--text);border-radius:10px;align-items:center;gap:.45rem;padding:.55rem 1rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.dash-action-btn:hover{background:var(--bg2);border-color:var(--brand);color:var(--brand);transform:translateY(-1px)}.dash-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.dash-section-header h2{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.4rem;font-weight:500}.dash-section-link{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:0;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:600;transition:opacity .15s}.dash-section-link:hover{opacity:.7}.dash-empty{color:var(--text3);padding:1rem 0;font-size:.875rem;font-style:italic}.dash-nursery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}@media (width<=500px){.dash-nursery-grid{grid-template-columns:1fr;gap:.6rem}.dash-nursery-card{padding:.8rem 1rem}}.dash-nursery-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:1.1rem 1.25rem;transition:all .2s}.dash-nursery-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ae6f3f17}.dash-nursery-top{align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.dash-nursery-dot{background:#60a5fa;border-radius:50%;flex-shrink:0;width:8px;height:8px}.dash-nursery-name{flex:1;font-size:.95rem;font-weight:700}.dash-nursery-age{color:var(--text3);background:var(--bg2);border-radius:10px;padding:.1rem .5rem;font-size:.72rem}.dash-nursery-parents{color:var(--text2);margin-bottom:.2rem;font-size:.8rem}.dash-nursery-born{color:var(--text3);margin-bottom:.5rem;font-size:.75rem}.dash-nursery-kittens{color:var(--text2);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.dash-k-available{color:#16a34a;background:#dcfce7;border-radius:8px;padding:.1rem .45rem;font-weight:600}.dash-k-reserved{color:#d97706;background:#fef3c7;border-radius:8px;padding:.1rem .45rem;font-weight:600}.dash-upcoming-list{flex-direction:column;gap:.4rem;display:flex}.dash-upcoming-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.85rem;padding:.75rem 1rem;transition:all .15s;display:flex}.dash-upcoming-row:hover{transform:translate(2px);box-shadow:0 2px 10px #ae6f3f12}.dash-upcoming-row.dash-upcoming-urgent{background:#fff8ec;border-color:#c9a84c}.dash-upcoming-dot{background:#c9a84c;border-radius:50%;flex-shrink:0;width:8px;height:8px}.dash-upcoming-info{flex:1;min-width:0}.dash-upcoming-name{font-size:.9rem;font-weight:700}.dash-upcoming-parents{color:var(--text2);margin-top:.1rem;font-size:.78rem}.dash-upcoming-date{text-align:right;color:var(--text2);flex-shrink:0;font-size:.8rem}.dash-upcoming-nodate{color:var(--text3);font-size:.78rem;font-style:italic}.dash-upcoming-countdown{color:var(--text3);margin-top:.15rem;font-size:.72rem}.dash-upcoming-countdown.urgent{color:#ae6f3f;font-weight:700}.dash-contacts-list{flex-direction:column;gap:.4rem;display:flex}.dash-contact-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.85rem;padding:.65rem 1rem;transition:all .15s;display:flex}.dash-contact-row:hover{transform:translate(2px);box-shadow:0 2px 8px #ae6f3f0f}.dash-contact-avatar{width:36px;height:36px;color:var(--brand);background:linear-gradient(135deg,#ae6f3f15,#d4956a15);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.dash-contact-info{flex:1;min-width:0}.dash-contact-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.dash-contact-meta{color:var(--text3);flex-wrap:wrap;gap:.6rem;margin-top:.05rem;font-size:.75rem;display:flex}.dash-contact-type{color:var(--text3);background:var(--bg2);text-transform:capitalize;border-radius:8px;flex-shrink:0;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3d241080;justify-content:center;align-items:flex-start;padding:2rem 1rem;animation:.18s both fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;max-width:520px;padding:2rem;position:relative;box-shadow:0 24px 80px #ae6f3f2e,0 4px 16px #ae6f3f14}@media (width<=600px){.modal-backdrop{align-items:flex-end;padding:0}.modal-card{border-radius:20px 20px 0 0;max-width:100%;padding:1.5rem 1.25rem 2rem;animation:.32s cubic-bezier(.22,1,.36,1) both slideUp}}.modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;display:flex}.modal-header h2{color:var(--text);font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500;line-height:1.2}.modal-close-btn{cursor:pointer;color:var(--text3);background:0 0;border:none;border-radius:6px;flex-shrink:0;margin-top:.1rem;padding:.2rem;font-size:1.2rem;line-height:1;transition:color .15s}.modal-close-btn:hover{color:var(--text)}.modal-section{margin-bottom:1.25rem}.modal-section-title{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem;font-size:.75rem;font-weight:700}.modal-field{flex-direction:column;gap:.3rem;margin-bottom:.75rem;display:flex}.modal-label{color:var(--text2);font-size:.78rem;font-weight:600}.modal-input{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);outline:none;padding:.6rem .85rem;font-family:Nunito,sans-serif;font-size:.9rem;transition:border-color .2s}.modal-input:focus{border-color:var(--brand);background:#fff}.modal-input-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.sex-selector{gap:.5rem;display:flex}.sex-btn{border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.7rem .5rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600;transition:all .15s;display:flex}.sex-btn.male.selected{color:#1d4ed8;background:#dbeafe;border-color:#3b82f6}.sex-btn.female.selected{color:#be185d;background:#fce7f3;border-color:#ec4899}.sex-btn:not(.selected):hover{border-color:var(--text2);color:var(--text)}.kitten-staging-list{flex-direction:column;gap:.35rem;margin-top:.75rem;display:flex}.kitten-staging-row{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.kitten-staging-badge{border-radius:6px;flex-shrink:0;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.kitten-staging-badge.M{color:#1d4ed8;background:#dbeafe}.kitten-staging-badge.F{color:#be185d;background:#fce7f3}.kitten-staging-name{color:var(--text);flex:1}.kitten-staging-detail{color:var(--text3);font-size:.78rem}.kitten-staging-remove{cursor:pointer;color:var(--text3);background:0 0;border:none;border-radius:4px;padding:.1rem .25rem;font-size:.85rem;line-height:1;transition:color .15s}.kitten-staging-remove:hover{color:#dc2626}.kitten-add-form{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;padding:1rem}.btn-add-kitten{border:1.5px dashed var(--border);border-radius:var(--radius);width:100%;color:var(--brand);cursor:pointer;background:0 0;padding:.6rem;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:600;transition:all .15s}.btn-add-kitten:hover{border-color:var(--brand);background:#ae6f3f08}.btn-add-kitten:disabled{opacity:.4;cursor:not-allowed}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.btn-save{background:var(--brand);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:.7rem 1.5rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600;transition:background .2s}.btn-save:hover{background:#8b5220}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{color:var(--text2);border:1.5px solid var(--border);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.7rem 1.25rem;font-family:Nunito,sans-serif;font-size:.9rem;transition:all .15s}.btn-cancel:hover{border-color:var(--text2);color:var(--text)}.btn-log-birth-inline{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#c9a84c,#ae6f3f);border:none;border-radius:999px;flex-shrink:0;padding:.3rem .75rem;font-family:Nunito,sans-serif;font-size:.78rem;font-weight:700;transition:all .15s;box-shadow:0 1px 6px #a78bfa4d}.btn-log-birth-inline:hover{transform:translateY(-1px);box-shadow:0 3px 10px #a78bfa73}.btn-log-birth-card{color:#fff;border-radius:var(--radius);cursor:pointer;background:linear-gradient(135deg,#c9a84c,#ae6f3f);border:none;width:100%;margin-top:.6rem;padding:.45rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:700;transition:all .15s;display:block;box-shadow:0 1px 6px #a78bfa4d}.btn-log-birth-card:hover{transform:translateY(-1px);box-shadow:0 3px 10px #a78bfa73}.btn-record-birth{color:#fff;border-radius:var(--radius);cursor:pointer;background:linear-gradient(135deg,#c9a84c,#ae6f3f);border:none;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 2px 12px #a78bfa59}.btn-record-birth:hover{transform:translateY(-1px);box-shadow:0 4px 18px #a78bfa73}.btn-add-another-kitten{border:1.5px solid var(--border);border-radius:var(--radius);color:var(--brand);cursor:pointer;background:0 0;align-items:center;gap:.4rem;padding:.4rem .9rem;font-family:Nunito,sans-serif;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-add-another-kitten:hover{border-color:var(--brand);background:#ae6f3f08}.birth-recorded-banner{border-radius:var(--radius);color:#166534;background:#f0fdf4;border:1px solid #86efac;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.birth-mode-toggle{border:1.5px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;display:flex;overflow:hidden}.birth-mode-btn{cursor:pointer;color:var(--text2);background:0 0;border:none;flex:1;padding:.55rem .5rem;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:600;transition:all .15s}.birth-mode-btn+.birth-mode-btn{border-left:1.5px solid var(--border)}.birth-mode-btn.active{background:var(--brand);color:#fff}.birth-mode-btn:not(.active):hover{background:var(--bg2);color:var(--text)}.btn-kitten-born{color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#7c3aed,#a78bfa);border:none;width:100%;padding:1.5rem;font-family:Nunito,sans-serif;font-size:1.2rem;font-weight:700;transition:all .2s;box-shadow:0 4px 20px #7c3aed4d}.btn-kitten-born:hover{transform:scale(1.02);box-shadow:0 6px 28px #7c3aed66}.btn-kitten-born:active{transform:scale(.98)}.live-kitten-form{border-radius:var(--radius);background:#fff8ec;border:2px solid #a78bfa;padding:1rem;animation:.15s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.filter-bar{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.filter-btn{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:20px;padding:.4rem 1rem;font-family:Nunito,sans-serif;font-size:.85rem;font-weight:500;transition:all .15s}.filter-btn:hover{border-color:var(--brand);color:var(--brand)}.filter-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.cat-grid-sm{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem;display:grid}.cat-card-sm{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;border-radius:10px;transition:all .2s cubic-bezier(.22,1,.36,1);overflow:hidden;box-shadow:0 1px 3px #ae6f3f0a}.cat-card-sm:hover{transform:translateY(-2px);box-shadow:0 5px 18px #ae6f3f24}.cat-card-sm-thumb{aspect-ratio:1;background:var(--bg2);overflow:hidden}.cat-card-sm-thumb img{object-fit:cover;width:100%;height:100%}.cat-card-sm-thumb-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;display:flex}.cat-card-sm-info{padding:.35rem .45rem .45rem}.cat-card-sm-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:700;overflow:hidden}.cat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .22s cubic-bezier(.22,1,.36,1);overflow:hidden;box-shadow:0 1px 4px #ae6f3f0d}.cat-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #ae6f3f24}.cat-avatar{aspect-ratio:1;background:var(--bg2);overflow:hidden}.cat-avatar img{object-fit:cover;width:100%;height:100%}.cat-avatar-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.cat-info{padding:.85rem}.cat-name{color:var(--text);font-size:.95rem;font-weight:700}.cat-reg-name{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.75rem;font-style:italic;overflow:hidden}.cat-status{margin-top:.35rem;font-size:.75rem;font-weight:600}.cat-dob{color:var(--text3);margin-top:.2rem;font-size:.72rem}.cat-photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;display:grid}.cat-photo-item{cursor:pointer;aspect-ratio:1;background:var(--bg2);border-radius:12px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.cat-photo-item:hover{z-index:1;transform:scale(1.03);box-shadow:0 8px 24px #0000002e}.cat-photo-item img{object-fit:cover;width:100%;height:100%;display:block}.cat-photo-overlay{color:#fff;background:linear-gradient(#0000,#1e0f05b8);padding:1.5rem .6rem .5rem;font-size:.82rem;font-weight:700;line-height:1.2;position:absolute;bottom:0;left:0;right:0}.cat-photo-overlay-status{opacity:.85;margin-top:.1rem;font-size:.68rem;font-weight:600}.cat-photo-grid-sm{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem;display:grid}.cat-photo-item-sm{cursor:pointer;aspect-ratio:1;background:var(--bg2);border-radius:9px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.cat-photo-item-sm:hover{z-index:1;transform:scale(1.04);box-shadow:0 6px 18px #0000002e}.cat-photo-item-sm img{object-fit:cover;width:100%;height:100%;display:block}.cat-photo-overlay-sm{color:#fff;background:linear-gradient(#0000,#1e0f05b8);padding:1.2rem .45rem .35rem;font-size:.7rem;font-weight:700;line-height:1.2;position:absolute;bottom:0;left:0;right:0}.page-hero{will-change:background-position;background-position:50% 40%;background-size:cover;height:300px;margin:-2rem -2.5rem 2rem;position:relative;overflow:hidden}.page-hero:after{content:"";background:linear-gradient(#2a16080d 0%,#2a160859 50%,#2a1608e0 100%);position:absolute;inset:0}.page-hero-content{z-index:1;padding:1.5rem 2.5rem 1.75rem;position:absolute;bottom:0;left:0;right:0}.page-hero-content h1{color:#fff;letter-spacing:-.01em;text-shadow:0 2px 20px #00000073;margin:0 0 .2rem;font-family:Cormorant Garamond,serif;font-size:3rem;font-weight:600;line-height:1.1}.page-hero-content .hero-sub{color:#ffffffd1;margin:0;font-family:Nunito,sans-serif;font-size:1rem}.page-hero-content .hero-sub a{color:#ffdca0eb;font-weight:600;text-decoration:none}.page-hero-content .hero-sub a:hover{text-decoration:underline}.page-hero-back{z-index:2;color:#ffffffeb;-webkit-backdrop-filter:blur(6px);cursor:pointer;background:#00000047;border:1px solid #ffffff38;border-radius:20px;padding:.35rem .9rem;font-family:Nunito,sans-serif;font-size:.88rem;transition:background .2s;position:absolute;top:1rem;left:1.5rem}.page-hero-back:hover{background:#00000073}.page-hero-actions{z-index:2;flex-wrap:wrap;gap:.5rem;display:flex;position:absolute;top:1rem;right:1.5rem}.hero-avatar-ring{background:var(--bg2);border:3px solid #ffffffb3;border-radius:50%;flex-shrink:0;width:88px;height:88px;margin-bottom:.6rem;overflow:hidden;box-shadow:0 4px 20px #00000059}.hero-avatar-ring img{object-fit:cover;width:100%;height:100%}.hero-avatar-ring .hero-avatar-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:2.4rem;display:flex}@media (width<=600px){.page-hero{height:230px;margin:-1.25rem -1rem 1.5rem}.page-hero-content{padding:1rem 1rem 1.25rem}.page-hero-content h1{font-size:2.1rem}.hero-avatar-ring{width:68px;height:68px}}.back-btn{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.4rem;margin-bottom:1.5rem;padding:.4rem .75rem;font-family:Nunito,sans-serif;font-size:.85rem;transition:all .15s;display:inline-flex}.back-btn:hover{border-color:var(--brand);color:var(--brand)}.profile-header{align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}.profile-avatar{border-radius:var(--radius);background:var(--bg2);flex-shrink:0;width:120px;height:120px;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:3rem;display:flex}.profile-info h1{font-family:Cormorant Garamond,serif;font-size:2rem;font-weight:500}.profile-reg{color:var(--text2);margin-top:.25rem;font-size:.9rem;font-style:italic}.profile-status-badge{border-radius:20px;margin-top:.5rem;padding:.2rem .7rem;font-size:.75rem;font-weight:600;display:inline-block}.profile-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;transition:box-shadow .2s;box-shadow:0 1px 4px #ae6f3f0d}.profile-section.full-width{grid-column:1/-1}.profile-section h3{color:var(--text);border-bottom:1px solid var(--border);margin-bottom:.9rem;padding-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:600}.detail-list{flex-direction:column;gap:.5rem;display:flex}.detail-row{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.875rem;display:flex}.detail-row span:first-child{color:var(--text3);flex-shrink:0;font-size:.8rem}.detail-row span:last-child{color:var(--text);text-align:right}.notes-text{color:var(--text2);font-size:.875rem;line-height:1.7}.litter-list{flex-direction:column;gap:.5rem;display:flex}.litter-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:1rem;padding:.9rem 1.1rem;transition:all .15s;display:flex}.litter-row:hover{transform:translate(2px);box-shadow:0 3px 12px #ae6f3f12}.litter-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.litter-main{flex:1;min-width:0}.litter-name{font-size:.95rem;font-weight:700}.litter-parents{color:var(--text2);margin-top:.1rem;font-size:.8rem}.litter-meta{text-align:right}.litter-date{color:var(--text2);font-size:.8rem}.litter-count{color:var(--text3);font-size:.75rem}.litter-status-badge{text-transform:capitalize;text-align:right;min-width:60px;font-size:.75rem;font-weight:600}.kitten-table{flex-direction:column;display:flex}.kitten-header{color:var(--text3);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);grid-template-columns:1.2rem 2fr 1.3fr 1.8rem .9fr 1.4fr 1.3fr 1.1fr;gap:.5rem;margin-bottom:.25rem;padding:.4rem 0;font-size:.72rem;font-weight:600;display:grid}.kitten-row{border-bottom:1px solid var(--border);grid-template-columns:1.2rem 2fr 1.3fr 1.8rem .9fr 1.4fr 1.3fr 1.1fr;align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem;display:grid}.kitten-row:last-child{border-bottom:none}.kitten-row-clickable{cursor:pointer;border-radius:6px;transition:background .12s}.kitten-row-clickable:hover{background:var(--bg2)}.kitten-drag-handle{cursor:grab;color:var(--text3);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:0 2px;font-size:1rem;display:flex}.kitten-row.is-dragging{opacity:.4}.kitten-row.drag-over{border-top:2px solid var(--brand)}.kitten-context-menu{background:var(--bg);border:1px solid var(--border);z-index:9999;border-radius:8px;min-width:130px;position:fixed;overflow:hidden;box-shadow:0 4px 20px #00000026}.kitten-context-menu button{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:none;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;transition:background .12s;display:block}.kitten-context-menu button:hover{background:var(--bg2)}.kitten-context-menu button.danger{color:#dc2626}.kitten-context-menu button.danger:hover{background:#fee2e2}.litter-drag-wrapper{align-items:center;display:flex;position:relative}.litter-drag-wrapper.is-dragging{opacity:.4}.litter-drag-wrapper.drag-over{border-top:2px solid var(--brand)}.litter-drag-handle{cursor:grab;color:var(--text3);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;font-size:1rem;display:flex}.cat-list-row.is-dragging{opacity:.4}.cat-list-row.drag-over{border-top:2px solid var(--brand)}.contact-drag-wrapper.is-dragging{opacity:.4}.contact-drag-wrapper.drag-over{border-top:2px solid var(--brand)}.inline-action-btn{cursor:pointer;color:var(--text3);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.2rem .3rem;font-size:.82rem;line-height:1;transition:color .12s,background .12s}.inline-action-btn:hover{background:var(--bg2);color:var(--text)}.inline-action-btn.danger:hover{color:#dc2626;background:#fee2e2}.btn-danger{color:#fff;border-radius:var(--radius);cursor:pointer;background:#ef4444;border:none;padding:.55rem 1.1rem;font-family:Nunito,sans-serif;font-size:.9rem;font-weight:700;transition:background .15s}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.6;cursor:default}.kitten-collar-chip{color:var(--text2);align-items:center;gap:3px;font-size:.75rem;display:inline-flex}.weight-chart-section{margin-top:.5rem}.btn-outline-sm{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .75rem;font-family:Nunito,sans-serif;font-size:.8rem;font-weight:600;transition:all .15s}.btn-outline-sm:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light,#f5f0ff)}.sex-log-chip{border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.kitten-profile-avatar{background:var(--bg2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;display:flex}.kitten-status{font-size:.75rem;font-weight:600}.kitten-status.available{color:#16a34a}.kitten-status.reserved{color:#d97706}.kitten-status.sold{color:#ae6f3f}.kitten-status.pending_waitlist{color:#6b7280}.kitten-status.available_early{color:#0891b2}.kitten-status.pending{color:#f59e0b}.kitten-status.placed{color:#2563eb}.kitten-status.passed{color:#374151}.sex-slider-wrap{flex-direction:column;align-items:center;gap:3px;min-width:90px;display:flex}.sex-slider-label{letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-size:.75rem;font-weight:700;line-height:1}.sex-slider{appearance:none;cursor:pointer;background:linear-gradient(90deg,#ec4899,#a855f7,#3b82f6);border:2px solid #ffffff8c;border-radius:6px;outline:none;width:88px;height:10px;box-shadow:0 2px 6px #a855f733,0 0 0 1px #a855f71a}.sex-slider.sex-slider-large{border-radius:8px;width:100%;height:14px;box-shadow:0 3px 14px #a855f747,0 0 0 1px #a855f726}.sex-slider::-webkit-slider-thumb{-webkit-appearance:none;border:3px solid var(--thumb-color,#a855f7);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .1s;box-shadow:0 2px 6px #0000002e}.sex-slider:active::-webkit-slider-thumb{transform:scale(1.12)}.sex-slider.sex-slider-large::-webkit-slider-thumb{border-width:3.5px;width:28px;height:28px;box-shadow:0 3px 10px #0003}.sex-slider::-moz-range-thumb{border:3px solid var(--thumb-color,#a855f7);cursor:pointer;background:#fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 6px #0000002e}.sex-slider.sex-slider-large::-moz-range-thumb{border-width:3.5px;width:28px;height:28px}.search-bar{margin-bottom:1.25rem}.search-input{border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;max-width:400px;color:var(--text);outline:none;padding:.65rem 1rem;font-family:Nunito,sans-serif;font-size:.9rem;transition:border-color .2s}.search-input:focus{border-color:var(--brand)}.contact-list{flex-direction:column;gap:.4rem;display:flex}.contact-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:.85rem;padding:.65rem 1rem;transition:all .15s;display:flex}.contact-row:hover{box-shadow:0 2px 8px #ae6f3f0d}.contact-avatar{width:38px;height:38px;color:var(--brand);background:linear-gradient(135deg,#ae6f3f15,#d4956a15);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.contact-info{flex:1;min-width:0}.contact-name{font-size:.9rem;font-weight:600}.contact-email{color:var(--text2);margin-top:.05rem;font-size:.78rem}.contact-location{color:var(--text3);font-size:.75rem}.contact-phone{color:var(--text2);flex-shrink:0;font-size:.78rem}.balance-badge{color:#dc2626;background:#fef2f2;border-radius:4px;flex-shrink:0;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.load-more-btn{border:1.5px dashed var(--border);border-radius:var(--radius);color:var(--text2);cursor:pointer;background:0 0;margin-top:.5rem;padding:.65rem;font-family:Nunito,sans-serif;font-size:.85rem;transition:all .15s}.load-more-btn:hover{border-color:var(--brand);color:var(--brand)}.empty-state{text-align:center;color:var(--text3);padding:3rem;font-size:.9rem}.user-nav-btn{overflow:hidden}.user-initials-avatar{background:linear-gradient(135deg, var(--brand), var(--brand-light));color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.65rem;font-weight:700;display:flex}.user-email-label{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.settings-profile-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.settings-avatar{background:linear-gradient(135deg, var(--brand), var(--brand-light));color:#fff;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.1rem;font-weight:700;display:flex}.settings-email{color:var(--text);font-size:.95rem;font-weight:600}.settings-since{color:var(--text3);margin-top:.15rem;font-size:.8rem}.alpha-layout{align-items:flex-start;gap:1.5rem;display:flex}.alpha-list{flex:1;min-width:0}.alpha-letter-nav{flex-direction:column;gap:2px;padding:.5rem 0;display:flex;position:sticky;top:1rem}.alpha-letter-nav a{color:var(--text3);text-align:center;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:700;line-height:1.6;text-decoration:none;transition:all .1s}.alpha-letter-nav a:hover{color:var(--brand);background:var(--bg2)}.alpha-section{margin-bottom:.75rem}.alpha-section-header{color:var(--brand);border-bottom:1px solid var(--border);background:var(--bg);z-index:2;margin-bottom:.4rem;padding:.4rem 0 .35rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:600;position:sticky;top:0}.contact-card-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:1.1rem;transition:all .15s}.contact-card:hover{transform:translateY(-1px);box-shadow:0 4px 16px #ae6f3f17}.contact-card-avatar{width:44px;height:44px;color:var(--brand);background:linear-gradient(135deg,#ae6f3f15,#d4956a15);border-radius:11px;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:.8rem;font-weight:700;display:flex}.contact-card-name{color:var(--text);font-size:.9rem;font-weight:700}.contact-card-email{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;margin-top:.2rem;font-size:.75rem;overflow:hidden}.contact-card-location{color:var(--text3);margin-top:.15rem;font-size:.72rem}.contact-card-type{text-transform:capitalize;background:var(--bg2);color:var(--text2);border-radius:4px;margin-top:.5rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.contact-row-compact{cursor:pointer;border-radius:8px;align-items:center;gap:.65rem;padding:.3rem .5rem;transition:background .15s;display:flex}.contact-row-compact:hover{background:var(--bg2)}.contact-avatar-sm{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.7rem;font-weight:700;display:flex;box-shadow:0 2px 6px #ae6f3f40}.contact-name-compact{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.9rem;font-weight:500;overflow:hidden}.contact-card-grid-compact{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.5rem;display:grid}.contact-card-compact{text-align:center;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:.4rem;padding:.7rem .3rem .5rem;transition:transform .18s;display:flex}.contact-card-compact:hover{transform:translateY(-3px)}.contact-card-compact:hover .contact-card-avatar-lg{box-shadow:0 6px 20px #ae6f3f59}.contact-card-avatar-lg{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:62px;height:62px;font-size:1.2rem;font-weight:700;transition:box-shadow .18s;display:flex;box-shadow:0 3px 10px #ae6f3f38}.contact-card-compact-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 .2rem;font-size:.78rem;font-weight:600;line-height:1.3;overflow:hidden}.litter-photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;display:grid}.litter-photo-item{cursor:pointer;aspect-ratio:4/3;background:var(--bg2);border-radius:12px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.litter-photo-item:hover{z-index:1;transform:scale(1.03);box-shadow:0 8px 24px #0000002e}.litter-photo-item img{object-fit:cover;width:100%;height:100%;display:block}.litter-photo-overlay{color:#fff;background:linear-gradient(#0000,#1e0f05bf);padding:1.5rem .6rem .5rem;position:absolute;bottom:0;left:0;right:0}.litter-photo-overlay-name{font-size:.8rem;font-weight:700}.litter-photo-overlay-meta{opacity:.85;margin-top:.1rem;font-size:.68rem}.litter-photo-grid-sm{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.litter-photo-item-sm{cursor:pointer;aspect-ratio:4/3;background:var(--bg2);border-radius:9px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.litter-photo-item-sm:hover{z-index:1;transform:scale(1.04);box-shadow:0 6px 18px #0000002e}.litter-photo-item-sm img{object-fit:cover;width:100%;height:100%;display:block}.litter-photo-overlay-sm{color:#fff;background:linear-gradient(#0000,#1e0f05bf);padding:1.1rem .45rem .35rem;position:absolute;bottom:0;left:0;right:0}.litter-photo-overlay-sm-name{white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:700;overflow:hidden}.litter-photo-overlay-sm-meta{opacity:.85;margin-top:.05rem;font-size:.6rem}.litter-card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;display:grid}.litter-card-grid-sm{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;display:grid}.litter-card-sm{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;color:inherit;border-radius:10px;text-decoration:none;transition:all .2s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden;box-shadow:0 1px 3px #ae6f3f0a}.litter-card-sm:hover{transform:translateY(-2px);box-shadow:0 5px 18px #ae6f3f24}.litter-card-sm-thumb{aspect-ratio:1;background:var(--bg2);overflow:hidden}.litter-card-sm-thumb img{object-fit:cover;width:100%;height:100%}.litter-card-sm-info{padding:.35rem .45rem .45rem}.litter-card-sm-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:700;overflow:hidden}.litter-card-sm-meta{color:var(--text3);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.68rem;overflow:hidden}.litter-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:.8rem;transition:all .22s cubic-bezier(.22,1,.36,1);box-shadow:0 1px 4px #ae6f3f0d}.litter-card:hover{transform:translateY(-3px);box-shadow:0 8px 28px #ae6f3f21}.litter-card-name{color:var(--text);font-size:.95rem;font-weight:700}.litter-card-parents{color:var(--text2);font-size:.78rem}.litter-card-date{color:var(--text3);font-size:.72rem}.litter-card-count{color:var(--text3);margin-top:.2rem;font-size:.72rem}.view-toggle{gap:.3rem;margin-left:auto;display:flex}.view-toggle-btn{border:1.5px solid var(--border);width:32px;height:32px;color:var(--text3);cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;font-size:.85rem;transition:all .15s;display:flex}.view-toggle-btn.active{background:var(--brand);border-color:var(--brand);color:#fff}.filter-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.filter-select{border:1.5px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:20px;outline:none;padding:.35rem .75rem;font-family:Nunito,sans-serif;font-size:.85rem;transition:all .15s}.filter-select:focus{border-color:var(--brand);color:var(--text)}.sort-select{border:1.5px solid var(--border);background:var(--bg);color:var(--text2);cursor:pointer;border-radius:20px;outline:none;flex-shrink:0;padding:.32rem .65rem;font-family:Nunito,sans-serif;font-size:.8rem;transition:all .15s}.sort-select:focus{border-color:var(--brand);color:var(--text)}.cat-location-badge{background:color-mix(in srgb, var(--brand) 12%, transparent);color:var(--brand);letter-spacing:.03em;border-radius:10px;margin-top:.25rem;padding:1px 6px;font-size:.68rem;font-weight:700;display:inline-block}.anticipated-banner{border-radius:var(--radius);color:#92400e;background:#fef9ec;border:1px solid #fbbf2460;margin-bottom:1.25rem;padding:.65rem 1rem;font-size:.82rem}.litter-row-anticipated,.litter-card-anticipated{opacity:.85;border-style:dashed}.litter-anticipated-note{color:var(--text3);margin-top:.15rem;font-size:.72rem}.contact-profile-avatar{background:var(--brand);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.6rem;font-weight:700;display:flex}.contact-profile-type-badge{background:var(--brand-light,#ede9fe);color:var(--brand);text-transform:capitalize;border-radius:20px;padding:.2rem .65rem;font-size:.78rem;font-weight:600}.contact-profile-current-badge{color:#92400e;background:#fef9c3;border-radius:20px;padding:.2rem .65rem;font-size:.78rem;font-weight:600}.contact-tag-list{flex-wrap:wrap;gap:.4rem;display:flex}.contact-tag-chip{background:var(--bg2);border:1px solid var(--border);color:var(--text2);border-radius:20px;padding:.2rem .6rem;font-size:.78rem}.contact-invoice-list{flex-direction:column;gap:.3rem;display:flex}.contact-invoice-row{background:var(--bg2);border-radius:8px;align-items:center;gap:1rem;padding:.5rem .85rem;font-size:.85rem;display:flex}.contact-invoice-num{flex:1;min-width:0;font-weight:600}.contact-invoice-date{color:var(--text2);flex-shrink:0}.contact-invoice-status{text-transform:capitalize;color:var(--text3);flex-shrink:0;font-size:.73rem;font-weight:600}.contact-invoice-amount{color:var(--brand);flex-shrink:0;margin-left:auto;font-weight:700}.contact-invoice-total{color:var(--text2);margin-left:.75rem;font-size:.82rem;font-weight:400}.contact-invoice-clickable{cursor:pointer;transition:background .12s}.contact-invoice-clickable:hover{background:var(--border)}.invoice-card-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.invoice-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:1rem;transition:box-shadow .15s}.invoice-card:hover{box-shadow:0 2px 10px #ae6f3f17}.invoice-card-num{color:var(--text2);margin-bottom:.35rem;font-size:.78rem}.invoice-card-amount{color:var(--brand);margin-bottom:.25rem;font-size:1.25rem;font-weight:700}.invoice-card-date{color:var(--text2);margin-bottom:.2rem;font-size:.78rem}.invoice-card-status{text-transform:capitalize;margin-top:.35rem;font-size:.75rem;font-weight:700}.invoice-card-balance{color:#d97706;margin-top:.2rem;font-size:.75rem;font-weight:600}.invoice-detail-icon{flex-shrink:0;font-size:2.5rem;line-height:1}.litter-history-list{flex-direction:column;gap:.35rem;display:flex}.litter-history-row{background:var(--bg2);border-radius:8px;align-items:center;gap:.75rem;padding:.55rem .85rem;display:flex}.litter-history-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.litter-history-row-clickable{cursor:pointer;transition:background .12s}.litter-history-row-clickable:hover{background:var(--border);border-radius:8px}.litter-history-name{flex:1;min-width:0;font-size:.88rem;font-weight:600}.litter-history-meta{color:var(--text2);flex-shrink:0;align-items:center;gap:.65rem;font-size:.78rem;display:flex}.litter-history-status{text-transform:capitalize;flex-shrink:0;font-size:.75rem;font-weight:600}.cat-list{flex-direction:column;gap:.4rem;display:flex}.cat-list-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:.85rem;padding:.65rem 1rem;transition:all .15s;display:flex}.cat-list-row:hover{box-shadow:0 2px 8px #ae6f3f0d}.cat-list-thumb{background:var(--bg2);border-radius:8px;flex-shrink:0;width:38px;height:38px;overflow:hidden}.cat-list-thumb img{object-fit:cover;width:100%;height:100%}.cat-list-thumb-placeholder{justify-content:center;align-items:center;width:100%;height:100%;font-size:1.2rem;display:flex}.cat-list-info{flex:1;min-width:0}.cat-list-name{font-size:.9rem;font-weight:700}.cat-list-reg{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-style:italic;overflow:hidden}.cat-list-meta{flex-shrink:0;align-items:center;gap:1rem;display:flex}.cat-list-status{font-size:.78rem;font-weight:600}.cat-list-dob{color:var(--text3);font-size:.75rem}.mobile-nav{display:none}@media (width<=640px){.sidebar{display:none}.main-content{padding-bottom:72px;margin-left:0!important}.page{padding:1.25rem 1rem}.mobile-nav{z-index:200;background:var(--surface);border-top:1px solid var(--border);padding:0 .25rem;padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav-item{cursor:pointer;color:var(--text3);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:.5rem .25rem;transition:color .15s;display:flex}.mobile-nav-item.active{color:var(--brand)}.mobile-nav-icon{justify-content:center;align-items:center;height:22px;font-size:1.1rem;line-height:1;display:flex}.mobile-nav-label{font-family:Nunito,sans-serif;font-size:.65rem;font-weight:600}.filter-row{gap:.4rem}.filter-btn{padding:.35rem .7rem;font-size:.8rem}.filter-bar{gap:.35rem}.search-input{max-width:100%}.stat-grid{grid-template-columns:repeat(2,1fr)}.alpha-letter-nav{display:none}.litter-card-grid{grid-template-columns:1fr 1fr}.litter-card-grid-sm,.litter-photo-grid-sm{grid-template-columns:repeat(3,1fr)}.contact-card-grid,.cat-grid{grid-template-columns:1fr 1fr}.cat-grid-sm{grid-template-columns:repeat(3,1fr)}.cat-photo-grid-sm{grid-template-columns:repeat(4,1fr)}}@keyframes pageIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes ctxFadeIn{0%{opacity:0;transform:scale(.93)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.page{animation:.3s both pageIn}.modal-card{animation:.28s cubic-bezier(.22,1,.36,1) both slideUp}.stagger-children>*{animation:.3s both slideUp}.stagger-children>:first-child{animation-delay:30ms}.stagger-children>:nth-child(2){animation-delay:60ms}.stagger-children>:nth-child(3){animation-delay:90ms}.stagger-children>:nth-child(4){animation-delay:.12s}.stagger-children>:nth-child(5){animation-delay:.15s}.stagger-children>:nth-child(6){animation-delay:.18s}.stagger-children>:nth-child(7){animation-delay:.21s}.stagger-children>:nth-child(8){animation-delay:.24s}.stagger-children>:nth-child(9){animation-delay:.27s}.stagger-children>:nth-child(10){animation-delay:.3s}.stagger-children>:nth-child(n+11){animation-delay:.33s}.profile-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:box-shadow .2s;box-shadow:0 1px 4px #ae6f3f0d}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:var(--bg2)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}.cal-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;margin-bottom:1rem;overflow:hidden;box-shadow:0 2px 20px #00000012}.cal-wrap-year{overflow:visible}.cal-nav{background:var(--gold);color:#fff;align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.cal-nav-btn{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;line-height:1;transition:background .15s;display:flex}.cal-nav-btn:hover{background:#ffffff61}.cal-title-btn{color:#fff;cursor:pointer;text-align:center;background:0 0;border:none;flex:1;padding:0;font-family:inherit;font-size:1.05rem;font-weight:700}.cal-title-btn:hover{opacity:.85}.cal-today-btn,.cal-view-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff2e;border:none;border-radius:20px;padding:.22rem .65rem;font-family:inherit;font-size:.74rem;font-weight:600;transition:background .15s}.cal-today-btn:hover,.cal-view-btn:hover{background:#ffffff59}.cal-subscribe-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff2e;border:1.5px solid #ffffff80;border-radius:20px;flex-shrink:0;margin-left:auto;padding:.22rem .75rem;font-family:inherit;font-size:.72rem;font-weight:700;transition:background .15s}.cal-subscribe-btn:hover{background:#ffffff52}.cal-sub-card{max-width:420px;padding:1.4rem 1.2rem 1.2rem}.cal-sub-title{color:var(--text);margin-bottom:1rem;padding-right:1.5rem;font-family:Cormorant Garamond,serif;font-size:1.2rem;font-weight:700}.cal-sub-section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text3);margin:1rem 0 .45rem;font-size:.68rem;font-weight:700}.cal-sub-radio{color:var(--text);cursor:pointer;align-items:center;gap:.55rem;padding:.2rem 0;font-size:.84rem;line-height:1.35;display:flex}.cal-sub-radio input[type=radio]{accent-color:var(--gold);cursor:pointer;flex-shrink:0;width:15px;height:15px}.cal-sub-checkboxes{flex-direction:column;gap:.25rem;margin:.35rem 0 .35rem 1.7rem;display:flex}.cal-sub-check{color:var(--text);cursor:pointer;align-items:center;gap:.5rem;font-size:.8rem;line-height:1.3;display:flex}.cal-sub-check input[type=checkbox],.cal-sub-check input[type=radio]{accent-color:var(--gold);cursor:pointer;flex-shrink:0;width:14px;height:14px}.cal-sub-check-date{color:var(--text3);font-size:.72rem}.cal-sub-divider{background:var(--border);height:1px;margin:1rem 0 0}.cal-sub-method{border-bottom:1px solid var(--border);padding:.75rem 0}.cal-sub-method:last-child{border-bottom:none;padding-bottom:0}.cal-sub-method-title{color:var(--text);margin-bottom:.3rem;font-size:.82rem;font-weight:700}.cal-sub-method-desc{color:var(--text2);margin-bottom:.5rem;font-size:.74rem;line-height:1.45}.cal-sub-method-desc strong{color:var(--text);font-weight:700}.cal-sub-action{background:var(--gold);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.4rem .9rem;font-family:inherit;font-size:.78rem;font-weight:700;line-height:1.5;text-decoration:none;transition:opacity .15s;display:inline-block}.cal-sub-action:hover{opacity:.88}.cal-sub-url-row{background:var(--bg2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;margin-top:.3rem;padding:.4rem .6rem;display:flex}.cal-sub-url-text{color:var(--text2);word-break:break-all;flex:1;font-family:Courier New,monospace;font-size:.68rem;line-height:1.4}.cal-sub-copy-sm{background:var(--gold);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:.25rem .55rem;font-family:inherit;font-size:.7rem;font-weight:700;transition:opacity .15s}.cal-sub-copy-sm:hover{opacity:.85}.cal-sub-empty-hint{color:var(--text3);margin-top:.25rem;font-size:.74rem;font-style:italic}.cal-grid{border-left:1.5px solid var(--border);border-top:1.5px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.cal-dow-hdr{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:var(--text2);background:var(--bg2);border-right:1.5px solid var(--border);border-bottom:1.5px solid var(--border);padding:.35rem 0;font-size:.7rem;font-weight:700}.cal-cell{border-right:1.5px solid var(--border);border-bottom:1.5px solid var(--border);background:var(--surface);height:120px;min-height:120px;position:relative;overflow:hidden}.cal-cell:hover .cal-event-img{opacity:1}.cal-cell-has-events{background:var(--surface)}.cal-cell-empty{opacity:.7;pointer-events:none;border-right:1.5px solid var(--border);border-bottom:1.5px solid var(--border);background:#c9a84c17;min-height:96px}.cal-cell-today{outline:2px solid var(--gold);outline-offset:-2px}.cal-date-num{z-index:10;width:22px;height:22px;color:var(--text2);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:5px;right:6px}.cal-cell-has-events .cal-date-num{color:#ffffffeb;text-shadow:0 1px 4px #000c}.cal-date-today{font-weight:800;background:var(--gold)!important;color:#fff!important;text-shadow:none!important}.cal-events-list{flex-direction:column;display:flex;position:absolute;inset:0}.cal-events-list>span{flex-direction:column!important;flex:1!important;display:flex!important}.cal-event{cursor:pointer;background:0 0;border:none;border-radius:0;flex:1;transition:opacity .15s;position:relative;overflow:hidden}.cal-events-list>span+span>.cal-event{border-top:1.5px solid #ffffff59}.cal-event:hover{opacity:.9}.cal-event-born,.cal-event-expected,.cal-event-anticipated,.cal-event-selection_early,.cal-event-selection_regular,.cal-event-vaccine,.cal-event-go_home{background:0 0;border:none}.cal-event-img-wrap{width:100%;height:100%;position:absolute;inset:0}.cal-event-img{object-fit:contain;opacity:.9;width:100%;height:100%;transition:opacity .15s;display:block}.cal-event-payment{z-index:6;bottom:5px;right:5px;min-height:unset!important;background:#0000008c!important;border:none!important;border-radius:5px!important;flex:none!important;position:absolute!important}.cal-payment-pill{color:#fcd34d;padding:.15rem .3rem;font-size:.6rem;font-weight:700;display:block}.cal-event-payment-dot{color:#fff;z-index:2;background:#d97706;border:1.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:.58rem;font-weight:800;display:flex;position:absolute;top:3px;right:3px;box-shadow:0 1px 3px #0003}.cal-event-body{-webkit-backdrop-filter:blur(4px);z-index:3;pointer-events:none;background:#00000070;padding:.12rem .3rem .14rem;line-height:1;position:absolute;bottom:0;left:0;right:0}.cal-event-bar-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:.6rem;font-weight:700;display:block;overflow:hidden}.cal-event-litter,.cal-event-name,.cal-event-badge,.cal-info-btn{display:none}@media (hover:none){.cal-info-btn{z-index:8;color:#ffffffeb;cursor:pointer;-webkit-backdrop-filter:blur(3px);pointer-events:auto;background:#00000075;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.78rem;display:flex;position:absolute;top:4px;left:4px}}.cal-key-btn{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:.25rem;margin-left:auto;padding:.2rem .65rem;font-size:.7rem;font-weight:600;transition:background .15s,color .15s;display:flex}.cal-key-btn:hover{background:var(--bg2);color:var(--gold)}.cal-key-btn-icon{font-size:.85rem}.cal-legend-hint{color:var(--text3);align-self:center;font-size:.68rem;display:none}@media (width>=640px){.cal-legend-hint{display:inline}}.cal-lightbox-backdrop{z-index:9000;-webkit-backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cal-lightbox-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;width:100%;max-width:340px;max-height:90vh;padding:1.2rem 1.1rem 1rem;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000038}.cal-lightbox-close{color:var(--text3);cursor:pointer;background:0 0;border:none;padding:.2rem;font-size:1.1rem;line-height:1;position:absolute;top:.6rem;right:.7rem}.cal-lightbox-close:hover{color:var(--text)}.cal-lightbox-action{background:var(--gold);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:8px;width:100%;margin-top:.9rem;padding:.55rem;font-size:.85rem;font-weight:700;transition:opacity .15s;display:block}.cal-lightbox-action:hover{opacity:.88}.cal-key-card{max-width:380px}.cal-key-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.45rem 0;display:flex}.cal-key-row:last-child{border-bottom:none}.cal-key-icon{object-fit:contain;background:var(--bg2);border-radius:6px;flex-shrink:0;width:48px;height:48px}.cal-key-label{color:var(--text);margin-bottom:.1rem;font-size:.82rem;font-weight:700}.cal-key-desc{color:var(--text2);font-size:.72rem;line-height:1.35}.cal-legend{background:var(--bg2);border-top:1.5px solid var(--border);color:var(--text2);gap:1.2rem;padding:.5rem 1rem;font-size:.72rem;display:flex}.cal-legend-item{align-items:center;gap:.3rem;display:flex}.cal-legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.cal-dot-born{background:var(--gold)}.cal-dot-expected{background:#7c3aed}.cal-dot-anticipated{background:#d97706}.cal-split-wrap{background:var(--surface);border-radius:0;position:absolute;inset:0;overflow:hidden}.cal-split-half{justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;inset:0;overflow:hidden}.cal-split-half:hover{opacity:.88}.cal-split-a{clip-path:polygon(0 0,100% 0,0 100%);justify-content:flex-start;align-items:flex-start;padding:6px 0 0 6px}.cal-split-b{clip-path:polygon(100% 0,100% 100%,0 100%);justify-content:flex-end;align-items:flex-end;padding:0 6px 6px 0}.cal-split-img{object-fit:contain;opacity:.82;width:64%;height:64%;position:absolute;inset:18%}.cal-split-label{z-index:2;color:#fff;text-shadow:0 1px 3px #000000b3,0 0 6px #00000080;text-overflow:ellipsis;white-space:nowrap;max-width:48%;font-size:.6rem;font-weight:700;line-height:1.1;position:relative;overflow:hidden}.cal-split-divider{pointer-events:none;z-index:3;position:absolute;inset:0}.cal-split-divider:after{content:"";opacity:.9;transform-origin:50%;background:#fff;width:120%;height:2px;position:absolute;top:50%;left:-10%;transform:rotate(-45deg);box-shadow:0 0 4px #0000004d}.cal-year-grid{grid-template-columns:repeat(4,1fr);gap:.9rem;padding:1rem;display:grid}@media (width<=900px){.cal-year-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=600px){.cal-year-grid{grid-template-columns:repeat(2,1fr)}}.cal-mini-month{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;border-radius:10px;padding:.55rem;transition:box-shadow .15s,border-color .15s}.cal-mini-month:hover{border-color:var(--gold);box-shadow:0 4px 14px #0000001f}.cal-mini-name{color:var(--text2);text-align:center;margin-bottom:.3rem;font-size:.78rem;font-weight:700}.cal-mini-name.has-events{color:var(--gold)}.cal-mini-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.cal-mini-hdr{text-align:center;color:var(--text3,var(--text2));opacity:.6;font-size:.52rem;font-weight:700}.cal-mini-cell{text-align:center;color:var(--text2);border-radius:50%;padding:1.5px 0;font-size:.6rem}.cal-mini-empty{opacity:0}.cal-mini-today{background:var(--gold);color:#fff;font-weight:800}.cal-mini-born{color:#8a6a1a;background:#c9a84c47;font-weight:700}.cal-mini-expected{color:#7c3aed;background:#7c3aed2e;font-weight:700}.cal-mini-anticipated{color:#b45309;background:#d977062e;font-weight:700}::selection{color:var(--text);background:#ae6f3f2e}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.login-wrapper{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:var(--surface);text-align:center;border-radius:16px;width:100%;max-width:400px;padding:2.5rem 2rem;box-shadow:0 4px 24px #0000001f}.login-logo{margin-bottom:.5rem;font-size:2.5rem}.login-title{color:var(--text1);margin:0 0 .25rem;font-size:1.3rem;font-weight:700}.login-subtitle{color:var(--text2);margin:0 0 1.75rem;font-size:.85rem}.login-field{text-align:left;margin-bottom:1rem}.login-field label{color:var(--text2);margin-bottom:.35rem;font-size:.82rem;font-weight:600;display:block}.login-field input{border:1.5px solid var(--border);background:var(--bg);width:100%;color:var(--text1);box-sizing:border-box;border-radius:8px;padding:.6rem .75rem;font-size:.95rem}.login-field input:focus{border-color:var(--brand);outline:none}.login-btn{background:var(--brand);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.7rem;font-size:1rem;font-weight:600;transition:opacity .15s}.login-btn:hover{opacity:.88}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-error{color:#e53e3e;text-align:left;margin:.5rem 0;font-size:.85rem}.login-links{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin-top:.25rem;display:flex}.link-btn{color:var(--brand);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:Nunito,sans-serif;font-size:.82rem;text-decoration:underline;transition:opacity .15s}.link-btn:hover{opacity:.7}.forgot-hint{color:var(--text2);text-align:center;margin-bottom:.5rem;font-size:.85rem}
