:root{--primary:#1b3a52;--primary-dark:#132a3d;--primary-light:#2d4e68;--primary-pale:#e8edf2;--secondary:#d4af7a;--secondary-dark:#b8975f;--secondary-light:#e3c99a;--accent:#b85f5f;--accent-light:#d17777;--cream:#efe4d1;--bg-main:#f8f7f5;--bg-card:#fff;--bg-hover:#f0efe8;--bg-light:#fafaf8;--bg-secondary:#e8edf2;--text-primary:#1b3a52;--text-secondary:#4a5f73;--text-muted:#7a8b9a;--text-light:#efe4d1;--border:#d4af7a33;--border-light:#1b3a5215;--border-color:#e5ded0;--shadow-sm:0 1px 2px 0 #1b3a520d;--shadow-md:0 4px 6px -1px #1b3a5214,0 2px 4px -1px #1b3a520a;--shadow-lg:0 10px 15px -3px #1b3a521a,0 4px 6px -2px #1b3a520d;--shadow-xl:0 20px 25px -5px #1b3a521f,0 10px 10px -5px #1b3a520a;--shadow-warm:0 4px 12px #d4af7a26;--shadow-glow:0 0 20px #d4af7a40;--gradient-primary:linear-gradient(135deg,#1b3a52,#2d4e68);--gradient-secondary:linear-gradient(135deg,#d4af7a,#e3c99a);--gradient-warm:linear-gradient(135deg,#d4af7a,#b85f5f);--gradient-glass:linear-gradient(135deg,#ffffffe6,#ffffffb3);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s ease;--transition-bounce:all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--bottom-nav-height:80px;--header-height:70px}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;background-color:#f8f7f5;background-color:var(--bg-main);background-image:radial-gradient(circle at 20% 30%,#d4af7a14 0,#0000 50%),radial-gradient(circle at 80% 70%,#1b3a520d 0,#0000 50%),url("data:image/svg+xml;charset=utf-8,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 40q10-10 20 0t20 0 20 0' stroke='%23D4AF7A' stroke-width='2' fill='none' opacity='.15'/%3E%3C/svg%3E");background-position:0 0,0 0,0 0;background-size:100% 100%,100% 100%,200px 200px;color:#1b3a52;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;overflow-x:hidden;position:relative}body:before{animation:pawMove 20s linear infinite;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='10' y='40' font-size='30' opacity='.03'%3E🐾%3C/text%3E%3C/svg%3E");background-position:0 0;background-size:120px 120px;bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6{color:#1b3a52;color:var(--text-primary);font-weight:600;line-height:1.2}button,input,select,textarea{font-family:inherit}.login-container{align-items:center;animation:pawMove 25s linear infinite;background:linear-gradient(135deg,#1b3a52,#2d4e68 50%,#1b3a52);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='20' y='50' font-size='40' opacity='.08'%3E🐾%3C/text%3E%3C/svg%3E");background-position:0 0;background-size:150px 150px;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.login-container:before{animation:pulse 4s ease-in-out infinite;background:radial-gradient(circle,#d4af7a26 0,#0000 70%);height:500px;right:-10%;top:-50%;width:500px}.login-container:after,.login-container:before{border-radius:50%;content:"";pointer-events:none;position:absolute;z-index:0}.login-container:after{animation:pulse 4s ease-in-out 2s infinite;background:radial-gradient(circle,#d4af7a1f 0,#0000 70%);bottom:-30%;height:400px;left:-5%;width:400px}@keyframes pawMove{0%{background-position:0 0}to{background-position:150px 150px}}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:460px;overflow:hidden;position:relative;width:100%;z-index:1}.login-header{background:linear-gradient(135deg,#d4af7a14,#efe4d11f);border-bottom:1px solid var(--border-color);padding:48px 32px 32px;text-align:center}.logo{align-items:center;display:flex;flex-direction:column;gap:16px}.logo-image{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 4px 12px rgba(212,175,122,.3));height:80px;object-fit:contain;transition:var(--transition);width:auto}.logo-image:hover{filter:drop-shadow(0 6px 16px rgba(212,175,122,.5))}.logo-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0}.logo-text p{color:var(--text-secondary);font-size:14px;font-weight:500;margin:4px 0 0}.login-content{padding:40px 32px 48px}.login-content h2{color:var(--text-primary);font-size:26px;font-weight:700;letter-spacing:-.3px;margin:0 0 8px}.login-subtitle{color:var(--text-secondary);font-size:15px;line-height:1.5;margin:0 0 32px}.login-form{display:flex;flex-direction:column;gap:24px}.form-group{gap:10px}.form-group label{letter-spacing:-.1px}.form-input{background:var(--bg-card);border:2px solid var(--border);font-size:15px}.form-input:hover{border-color:var(--primary-light)}.form-input:focus{background:#fff}.user-type-selector{display:flex;flex-direction:column;gap:12px}.user-type-selector label{color:var(--text-primary);font-size:14px;font-weight:600;letter-spacing:-.1px}.type-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.type-btn{background:var(--bg-card);border:2px solid var(--border);font-weight:500;gap:6px;justify-content:center}.type-btn:hover{background:var(--bg-hover);border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.type-btn.active{font-weight:700}.btn-primary{font-size:16px;letter-spacing:.3px;padding:16px 24px}.btn-primary:hover{box-shadow:var(--shadow-lg)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{transform:none}.login-btn{margin-top:8px}.register-options{border-top:1px solid var(--border-light);margin-top:32px;padding-top:32px;text-align:center}.register-options p{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:16px}.register-buttons{display:flex;flex-direction:column;gap:12px}.btn-secondary{background:var(--bg-hover);border:2px solid var(--primary);color:var(--primary)}.btn-secondary:hover{background:var(--gradient-secondary);border-color:var(--secondary);box-shadow:var(--shadow-warm);transform:translateY(-2px)}.back-to-login{margin-top:24px;text-align:center}.btn-text{background:none;border:none;color:var(--primary);cursor:pointer;font-size:14px;font-weight:600;padding:8px;transition:var(--transition)}.btn-text:hover{color:var(--primary-dark);transform:translateX(-4px)}.error-message{animation:slideIn .3s ease;background:linear-gradient(135deg,#fee,#ffebee);border-left:4px solid #dc2626;font-size:14px;margin-bottom:20px;padding:14px 16px}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.login-card{margin:20px;padding:24px}.logo-image{height:60px}.logo-text h1{font-size:24px}.logo-text p{font-size:13px}.login-content,.login-header{padding:24px 20px}h2{font-size:22px}.type-buttons{flex-direction:column}.type-btn{font-size:14px;width:100%}}@media (max-width:480px){.login-card{margin:10px;padding:20px}.logo-image{height:50px}.logo-text h1{font-size:20px}.logo-text p{font-size:12px}}.modal-overlay{padding:0}.modal{animation:slideUp .3s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;max-height:92vh;max-height:92dvh;max-width:500px;overflow:hidden;width:100%}.modal:before{background:var(--border-color);border-radius:2px;content:"";display:block;flex-shrink:0;height:4px;margin:12px auto 0;width:40px}.modal-header{align-items:center;background:linear-gradient(135deg,#d4af7a14,#efe4d11f);border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.modal-header h3{color:var(--text-primary);font-size:18px;font-weight:700;margin:0}.modal-close{align-items:center;background:var(--bg-hover);border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;transition:var(--transition);width:36px}.modal-close:active{background:var(--primary-pale);transform:scale(.95)}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto;padding:var(--space-lg)}.form-input,.form-select,.form-textarea{-webkit-appearance:none;appearance:none;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;padding:14px 16px;transition:var(--transition);width:100%}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 4px #d4af7a26;outline:none}.form-textarea{min-height:100px;resize:vertical}.form-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%237A8B9A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;padding-right:44px}.form-checkbox,.form-radio{align-items:center;cursor:pointer;display:flex;gap:var(--space-sm);padding:var(--space-sm) 0}.form-checkbox input,.form-radio input{accent-color:var(--primary);cursor:pointer;height:20px;width:20px}.modal-footer{background:var(--bg-light);border-top:1px solid var(--border-light);display:flex;flex-shrink:0;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom, 0px))}.modal-footer .btn-primary,.modal-footer .btn-secondary{flex:1 1;justify-content:center}.btn-primary{font-size:15px}.btn-secondary{font-size:15px;padding:14px 20px}.type-selector{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.type-btn{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:var(--space-xs);padding:14px 12px;transition:var(--transition)}.type-btn:active{transform:scale(.97)}.type-btn.active{background:var(--gradient-secondary);border-color:var(--secondary);box-shadow:var(--shadow-warm);color:var(--primary)}.type-btn .type-icon{font-size:24px}.severity-selector{display:flex;gap:var(--space-sm)}.severity-btn{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:12px;text-align:center;transition:var(--transition)}.severity-btn:active{transform:scale(.97)}.severity-btn.mild.active{background:#f0fdf4;border-color:#22c55e;color:#166534}.severity-btn.moderate.active{background:#fffbeb;border-color:#f59e0b;color:#92400e}.severity-btn.severe.active{background:#fef2f2;border-color:#ef4444;color:#dc2626}.file-upload{background:var(--bg-light);border:2px dashed var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:var(--space-xl);text-align:center;transition:var(--transition)}.file-upload:active{background:#d4af7a0d;border-color:var(--secondary)}.file-upload-icon{font-size:40px;margin-bottom:var(--space-sm)}.file-upload-text{color:var(--text-secondary);font-size:14px}.file-upload-hint{color:var(--text-muted);font-size:12px;margin-top:var(--space-xs)}.success-message{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-left:4px solid #22c55e;border-radius:var(--radius-md);color:#166534}.error-message,.success-message{align-items:center;display:flex;font-weight:500;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-md)}.error-message{background:linear-gradient(135deg,#fef2f2,#fff5f5);border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:var(--radius-md);color:#dc2626}@media (min-width:768px){.modal-overlay{align-items:center;padding:var(--space-lg)}.modal{border-radius:var(--radius-xl);max-height:85vh}.modal:before{display:none}.modal-close:hover{background:var(--primary-pale);color:var(--primary)}.btn-primary:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary:hover{border-color:var(--primary-light);color:var(--primary)}.type-btn:hover:not(.active){background:var(--bg-hover)}.severity-btn:hover:not(.active),.type-btn:hover:not(.active){border-color:var(--primary-light)}.file-upload:hover{background:#d4af7a0d;border-color:var(--secondary)}}@media (min-width:500px){.form-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.form-row .form-group{margin-bottom:0}}.pet-profile-view{background:var(--bg-main);min-height:100vh;min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + 20px)}.profile-header{background:#fff;box-shadow:0 2px 20px #1b3a520f;gap:var(--space-md);justify-content:space-between;padding:var(--space-md);position:-webkit-sticky;position:sticky;top:0;z-index:100}.btn-back,.profile-header{align-items:center;display:flex}.btn-back{background:var(--bg-hover);border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:20px;height:44px;justify-content:center;padding:0;transition:var(--transition);width:44px}.btn-back:active{background:var(--primary-pale);transform:scale(.95)}.btn-edit{align-items:center;background:var(--gradient-secondary);border:none;border-radius:var(--radius-md);color:var(--primary);cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:var(--space-sm);padding:10px 16px;transition:var(--transition)}.btn-edit:active{transform:scale(.97)}.pet-info-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:var(--space-md);overflow:hidden}.pet-hero{align-items:center;background:linear-gradient(135deg,#d4af7a26,#efe4d133);display:flex;flex-direction:column;padding:var(--space-xl) var(--space-lg);text-align:center}.pet-photo-large{border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 0 4px #fff,0 0 0 6px #d4af7a4d;height:140px;margin-bottom:var(--space-md);width:140px}.pet-photo-img-large,.pet-photo-large img{height:100%;object-fit:cover;width:100%}.pet-photo-placeholder,.pet-photo-placeholder-large{filter:drop-shadow(0 4px 12px rgba(212,175,122,.3));font-size:70px}.pet-details{width:100%}.pet-details h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 var(--space-xs) 0}.pet-species{color:var(--text-secondary);font-size:16px;font-weight:500;margin:0 0 var(--space-lg) 0}.pet-info-grid{grid-gap:var(--space-md);background:#fff;display:grid;gap:var(--space-md);grid-template-columns:repeat(2,1fr);padding:var(--space-lg)}.info-item{background:var(--bg-hover);border-radius:var(--radius-md);gap:4px;padding:var(--space-md)}.info-label{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.info-value{color:var(--text-primary);font-size:15px;font-weight:600}.status-badge{align-items:center;display:inline-flex;font-size:12px;gap:4px}.status-badge.healthy{color:#065f46}.quick-actions{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;justify-content:center;margin:0 var(--space-md);margin-bottom:var(--space-md);padding:var(--space-md)}.quick-action-btn{background:var(--bg-hover);border:none;border-radius:var(--radius-md);gap:6px;min-width:80px;padding:var(--space-md)}.quick-action-btn:active{transform:scale(.95)}.quick-action-btn .action-label{color:var(--text-primary);font-size:11px;font-weight:700;text-align:center}.daycare-assignments-banner{background:linear-gradient(135deg,#22c55e1a,#16a34a26);border-left:4px solid #22c55e;border-radius:var(--radius-lg);margin:0 var(--space-md) var(--space-md);padding:var(--space-md)}.banner-header{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.banner-icon{font-size:20px}.banner-title{color:#166534;font-size:14px;font-weight:700}.assignments-list{display:flex;flex-direction:column;gap:var(--space-xs)}.assignment-item{align-items:center;background:#fff;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:var(--space-sm) var(--space-md)}.daycare-name{color:var(--text-primary);font-size:14px;font-weight:600}.daycare-phone{color:#166534;font-size:13px;font-weight:600;text-decoration:none}.profile-tabs{-webkit-overflow-scrolling:touch;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-sm);margin:0 var(--space-md);overflow-x:auto;padding:var(--space-md);scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.tab{background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;min-width:-webkit-fit-content;min-width:fit-content;padding:14px 20px;transition:var(--transition);white-space:nowrap}.tab:active{transform:scale(.97)}.tab.active{background:var(--gradient-primary);box-shadow:var(--shadow-md);color:#fff}.tab-content{padding:var(--space-md)}.emergency-tab,.info-tab,.medical-tab{display:flex;flex-direction:column;gap:var(--space-md)}.section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg)}.section h3{align-items:center;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;gap:var(--space-sm);margin:0 0 var(--space-md) 0}.empty-state{background:var(--bg-hover);border:2px dashed var(--border-color);padding:var(--space-xl) var(--space-lg)}.empty-state p{font-size:15px;line-height:1.5;margin:0 0 var(--space-md) 0}.btn-large{font-size:16px;padding:16px 28px}.qr-section{padding:var(--space-lg);text-align:center}.qr-section p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:var(--space-lg)}.qr-preview-info{background:var(--bg-hover);border-radius:var(--radius-md);flex-direction:column;margin:var(--space-lg) 0;padding:var(--space-lg)}.qr-info-item,.qr-preview-info{display:flex;gap:var(--space-md)}.qr-info-item{align-items:center;color:var(--text-secondary);font-size:14px}.qr-icon{font-size:24px}.data-list{display:flex;flex-direction:column;gap:var(--space-md)}.data-item{background:var(--bg-light);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);transition:var(--transition)}.data-item:active{transform:scale(.99)}.data-item-header{align-items:flex-start;border-bottom:1px solid var(--border-light);display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-sm);padding-bottom:var(--space-sm)}.data-item-header>div{align-items:center;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--space-sm)}.data-item-header strong{color:var(--text-primary);font-size:15px}.btn-delete{background:#0000;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:18px;opacity:.5;padding:var(--space-sm);transition:var(--transition)}.btn-delete:active{background:#fee2e2;opacity:1}.data-item p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:var(--space-sm) 0}.data-item p.notes{background:#fff;border-left:3px solid var(--secondary);border-radius:var(--radius-sm);font-style:italic;margin-top:var(--space-md);padding:var(--space-md)}.data-item p.date{color:var(--text-muted);font-size:12px;font-weight:600;margin-top:var(--space-md)}.badge{border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.badge.primary{background:var(--gradient-primary);color:#fff}.badge.active,.badge.severity-mild{background:#dcfce7;color:#16a34a}.badge.severity-moderate{background:#fef3c7;color:#d97706}.badge.severity-severe{background:#fee2e2;color:#dc2626}.data-item.allergy-severe{background:linear-gradient(135deg,#fef2f2,#fff);border-left:4px solid #dc2626}.data-item.allergy-moderate{background:linear-gradient(135deg,#fffbeb,#fff);border-left:4px solid #d97706}.data-item.allergy-mild{background:linear-gradient(135deg,#f0fdf4,#fff);border-left:4px solid #16a34a}.data-list .btn-secondary{margin-top:var(--space-sm);width:100%}@media (min-width:768px){.pet-profile-view{padding:var(--space-lg);padding-bottom:var(--space-xl)}.profile-header{background:#0000;box-shadow:none;margin:0 auto var(--space-lg);max-width:1200px;position:relative}.btn-back{background:#fff;border:2px solid var(--border);padding:12px 20px;width:auto}.btn-back:hover{border-color:var(--primary);color:var(--primary);transform:translateX(-4px)}.btn-edit:hover{box-shadow:var(--shadow-warm);transform:translateY(-2px)}.pet-info-card{display:flex;flex-direction:row;margin:0 auto var(--space-xl);max-width:1200px}.pet-hero{flex:0 0 300px;padding:var(--space-2xl)}.pet-photo-large{height:180px;width:180px}.pet-info-grid{align-content:center;flex:1 1;grid-template-columns:repeat(3,1fr)}.pet-details h1{font-size:32px}.profile-tabs{margin:0 auto var(--space-lg);max-width:1200px}.tab:hover{background:var(--bg-hover);color:var(--primary)}.tab-content{margin:0 auto;max-width:1200px}.section{padding:var(--space-xl)}.data-item:hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.btn-delete:hover{background:#fee2e2;opacity:1;transform:scale(1.1)}}@media (min-width:1024px){.pet-info-grid{grid-template-columns:repeat(4,1fr)}}.daycare-tab .daycare-assignment{border-left:4px solid #22c55e}.daycare-tab .daycare-assignment .dates{color:var(--text-muted);font-size:12px}.visits-summary-section{border-radius:var(--radius-lg);padding:var(--space-lg)}.visits-stats-grid{grid-template-columns:repeat(2,1fr)}@media (min-width:600px){.visits-stats-grid{grid-template-columns:repeat(4,1fr)}}.visit-details,.visit-header{flex-wrap:wrap;gap:var(--space-xs)}.visit-info{display:flex;flex-direction:column;gap:2px}.visit-daycare{color:var(--text-primary);font-size:.85rem;font-weight:500}.visit-service{font-size:.8rem}.empty-state .hint{color:var(--text-muted);font-size:.85rem;margin-top:var(--space-xs)}.calendar-modal{max-height:95vh!important;max-height:95dvh!important}.calendar-container{padding:var(--space-md)}.calendar-navigation{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between;margin-bottom:var(--space-md)}.nav-btn{background:var(--bg-hover);border-radius:var(--radius-md);color:var(--primary);font-size:18px;font-weight:700;height:44px;transition:var(--transition);width:44px}.nav-btn:active{background:var(--primary-pale);transform:scale(.95)}.current-month{color:var(--text-primary);flex:1 1;font-size:18px;font-weight:700;margin:0;text-align:center}.today-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:14px;font-weight:700;margin-bottom:var(--space-md);padding:12px;transition:var(--transition);width:100%}.today-btn:active{transform:scale(.98)}.calendar-weekdays{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-sm)}.weekday{color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;padding:var(--space-sm);text-align:center;text-transform:uppercase}.calendar-days{grid-gap:3px;display:grid;gap:3px;grid-template-columns:repeat(7,1fr);margin-bottom:var(--space-lg)}.calendar-day{align-items:center;aspect-ratio:1;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;justify-content:flex-start;min-height:44px;padding:4px;position:relative;transition:var(--transition)}.calendar-day.empty{background:#0000;border:none;cursor:default}.calendar-day:not(.empty):active{background:var(--bg-hover);transform:scale(.95)}.calendar-day.today{background:linear-gradient(135deg,#1b3a5214,#2d4e681a);border:2px solid var(--primary)}.calendar-day.past{opacity:.4}.calendar-day.has-reminders{background:linear-gradient(135deg,#d4af7a14,#fff);border-left:3px solid var(--secondary)}.day-number{color:var(--text-primary);font-size:12px;font-weight:600;line-height:1}.calendar-day.today .day-number{color:var(--primary);font-weight:700}.day-reminders{display:flex;flex-wrap:wrap;gap:2px;justify-content:center;margin-top:3px}.reminder-dot{border-radius:50%;flex-shrink:0;height:6px;width:6px}.reminder-dot.deworming{background:#f59e0b}.reminder-dot.vaccine{background:#3b82f6}.reminder-dot.checkup{background:#22c55e}.calendar-legend{background:var(--bg-hover);border-radius:var(--radius-md);margin-bottom:var(--space-lg);padding:var(--space-md)}.calendar-legend h4{color:var(--text-primary);font-size:13px;font-weight:700;margin:0 0 var(--space-sm) 0}.legend-items{display:flex;flex-wrap:wrap;gap:var(--space-md)}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;font-weight:500;gap:var(--space-sm)}.legend-dot{font-size:16px}.reminders-summary{background:linear-gradient(135deg,#d4af7a1a,#efe4d126);border-left:4px solid var(--secondary);border-radius:var(--radius-md);padding:var(--space-md)}.reminders-summary h4{color:var(--text-primary);font-size:14px;font-weight:700;margin:0 0 var(--space-md) 0}.summary-item{align-items:center;border-radius:var(--radius-sm);display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-sm) var(--space-md);transition:var(--transition)}.summary-item:last-child{margin-bottom:0}.summary-item:active{background:var(--bg-hover);transform:scale(.98)}.summary-icon{flex-shrink:0;font-size:18px}.summary-text{color:var(--text-primary);flex:1 1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-date{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.no-reminders{color:var(--text-secondary);font-size:14px;padding:var(--space-xl);text-align:center}@media (min-width:768px){.calendar-modal{max-width:800px!important}.calendar-container{padding:var(--space-lg)}.nav-btn:hover{background:var(--primary);color:#fff}.today-btn:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.calendar-day{aspect-ratio:auto;min-height:70px;padding:var(--space-sm)}.calendar-day:not(.empty):hover{border-color:var(--primary-light);box-shadow:var(--shadow-sm)}.day-number{font-size:14px}.reminder-dot{align-items:center;border-radius:4px;display:flex;font-size:10px;gap:4px;height:auto;padding:3px 6px;width:auto}.reminder-dot.deworming{background:#fef3c7;color:#92400e}.reminder-dot.vaccine{background:#dbeafe;color:#1e40af}.reminder-dot.checkup{background:#dcfce7;color:#166534}.day-reminders{align-items:stretch;flex-direction:column}.summary-item:hover{box-shadow:var(--shadow-sm);transform:translateX(4px)}}.add-pet-modal .modal{max-height:95vh;max-height:95dvh}.add-pet-modal .modal-body{padding:var(--space-lg)}.steps-indicator{gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-xl)}.step,.steps-indicator{align-items:center;display:flex}.step{gap:var(--space-xs)}.step-number{align-items:center;background:var(--bg-hover);border-radius:50%;color:var(--text-muted);display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;transition:var(--transition);width:32px}.step.active .step-number{background:var(--gradient-secondary);box-shadow:var(--shadow-warm);color:var(--primary)}.step.completed .step-number{background:var(--gradient-primary);color:#fff}.step-line{background:var(--border-color);border-radius:2px;height:3px;width:40px}.step-line.active,.step.completed+.step-line{background:var(--gradient-secondary)}.form-title{color:var(--text-primary);font-size:20px;font-weight:700;margin-bottom:var(--space-lg);text-align:center}.photo-upload-section{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--space-xl)}.photo-preview{align-items:center;background:var(--bg-hover);border:3px dashed var(--border-color);border-radius:var(--radius-xl);cursor:pointer;display:flex;height:120px;justify-content:center;overflow:hidden;position:relative;transition:var(--transition);width:120px}.photo-preview:active{border-color:var(--secondary);transform:scale(.98)}.photo-preview.has-photo{border-color:var(--secondary);border-style:solid;box-shadow:var(--shadow-warm)}.photo-preview img{height:100%;object-fit:cover;width:100%}.photo-placeholder{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:var(--space-xs)}.photo-placeholder-icon{font-size:40px}.photo-placeholder-text{font-size:12px;font-weight:600}.photo-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.btn-photo{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:var(--space-xs);padding:10px 16px;transition:var(--transition)}.btn-photo:active{background:var(--bg-hover);transform:scale(.97)}.btn-photo.primary{background:var(--gradient-secondary);border-color:#0000;color:var(--primary)}.species-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,1fr);margin-bottom:var(--space-lg)}.species-btn{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);transition:var(--transition)}.species-btn:active{transform:scale(.97)}.species-btn.active{background:linear-gradient(135deg,#d4af7a1a,#efe4d126);border-color:var(--secondary);box-shadow:var(--shadow-warm)}.species-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));font-size:36px}.species-name{color:var(--text-primary);font-size:14px;font-weight:600}.gender-selector{margin-bottom:var(--space-lg)}.gender-btn,.gender-selector{display:flex;gap:var(--space-sm)}.gender-btn{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:14px;font-weight:600;justify-content:center;padding:var(--space-md);transition:var(--transition)}.gender-btn:active{transform:scale(.97)}.gender-btn.active{background:var(--gradient-secondary);border-color:var(--secondary);color:var(--primary)}.gender-icon{font-size:20px}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;margin-bottom:var(--space-sm)}.form-group .required{color:var(--accent)}.form-input{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;padding:14px 16px;transition:var(--transition);width:100%}.form-input::placeholder{color:var(--text-muted)}.form-input:focus{border-color:var(--secondary);box-shadow:0 0 0 4px #d4af7a26;outline:none}.input-with-unit{position:relative}.input-with-unit .form-input{padding-right:50px}.input-unit{color:var(--text-muted);font-size:14px;font-weight:600;position:absolute;right:16px;top:50%;transform:translateY(-50%)}.form-input[type=date]{-webkit-appearance:none;appearance:none}.form-row .form-group{margin-bottom:0}.add-pet-modal .modal-footer{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom, 0px))}.btn-prev{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:600;padding:14px 20px;transition:var(--transition)}.btn-prev:active{background:var(--bg-hover);transform:scale(.97)}.btn-next,.btn-submit{background:var(--gradient-secondary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-warm);color:var(--primary);cursor:pointer;flex:1 1;font-size:15px;font-weight:700;padding:14px 20px;transition:var(--transition)}.btn-next:active,.btn-submit:active{transform:scale(.97)}.btn-submit{background:var(--gradient-primary);color:#fff}.btn-next:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.5}@media (min-width:768px){.species-grid{grid-template-columns:repeat(4,1fr)}.gender-btn:hover:not(.active),.species-btn:hover:not(.active){background:var(--bg-hover);border-color:var(--primary-light)}.photo-preview:hover{border-color:var(--secondary);transform:scale(1.02)}.btn-photo:hover{background:var(--bg-hover);border-color:var(--primary-light)}.btn-prev:hover{border-color:var(--primary);color:var(--primary)}.btn-next:hover,.btn-submit:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}}.bottom-navigation{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffffa;border-top:1px solid #1b3a5214;bottom:0;box-shadow:0 -4px 30px #1b3a5214;left:0;overflow:visible;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:1000}.nav-container{align-items:flex-end;display:flex;justify-content:space-around;margin:0 auto;max-width:100%;overflow:visible;padding:8px 8px 12px;width:100%}.nav-item{border-radius:16px;flex:1 1;flex-direction:column;gap:4px;justify-content:center;min-width:0;padding:8px 4px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-item:active{transform:scale(.92)}.nav-icon{align-items:center;display:flex;height:28px;justify-content:center;position:relative;width:28px}.nav-icon,.nav-label{color:var(--text-muted);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-label{font-size:11px;font-weight:600;letter-spacing:.2px}.nav-item.active .nav-icon{color:var(--primary);transform:scale(1.1)}.nav-item.active .nav-label{color:var(--primary);font-weight:700}.nav-item.active:before{background:var(--gradient-secondary);border-radius:0 0 4px 4px;content:"";height:3px;left:50%;position:absolute;top:0;transform:translateX(-50%);width:32px}.nav-item.main-action{flex:1 1;min-width:0;padding:0;position:relative;top:-20px}.nav-icon-main{align-items:center;background:var(--gradient-secondary);border-radius:50%;box-shadow:0 4px 20px #d4af7a66,0 0 0 4px #d4af7a26;color:var(--primary);display:flex;height:56px;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:56px}.nav-item.main-action:focus .nav-icon-main,.nav-item.main-action:hover .nav-icon-main{box-shadow:0 6px 25px #d4af7a80,0 0 0 6px #d4af7a33;transform:scale(1.08)}.nav-item.main-action:active .nav-icon-main{transform:scale(.95)}.nav-item.main-action.active .nav-icon-main{background:var(--gradient-primary);box-shadow:0 4px 20px #1b3a5266,0 0 0 4px #1b3a5226;color:#fff}.nav-badge{align-items:center;animation:pulse 2s infinite;background:var(--accent);border-radius:10px;box-shadow:0 2px 8px #b85f5f66;color:#fff;display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px;position:absolute;right:-8px;top:-4px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (hover:hover){.nav-item:hover:not(.main-action){background:var(--bg-hover)}.nav-item:hover:not(.active):not(.main-action) .nav-icon{color:var(--primary-light);transform:translateY(-2px)}.nav-item:hover:not(.active):not(.main-action) .nav-label{color:var(--primary-light)}}@media (min-width:768px){.bottom-navigation{display:none}}@media (max-width:400px){.nav-container{padding:8px 4px 10px}.nav-label{font-size:9px}.nav-icon-main{height:48px;width:48px}.nav-item.main-action{top:-14px}.nav-item{padding:6px 2px}}@supports (padding-bottom:env(safe-area-inset-bottom)){.bottom-navigation{padding-bottom:max(12px,env(safe-area-inset-bottom))}}.owner-dashboard{background:var(--bg-main);min-height:100vh;min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + 20px);position:relative}.error-indicator,.loading-indicator{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:var(--space-md);padding:var(--space-md) var(--space-lg);text-align:center}.loading-indicator{align-items:center;background:var(--primary-pale);border:2px solid var(--primary);color:var(--primary);display:flex;font-weight:600;gap:var(--space-sm);justify-content:center}.loading-indicator:before{animation:spin .8s linear infinite;border:3px solid var(--primary-pale);border-radius:50%;border-top-color:var(--primary);content:"";height:20px;width:20px}.error-indicator{background:#fef2f2;border:2px solid #dc2626;color:#dc2626;font-weight:600}.dashboard-header{background:#fff;box-shadow:0 2px 20px #1b3a520f;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{justify-content:space-between;max-width:100%;padding:var(--space-md) var(--space-lg)}.header-content,.user-info{align-items:center;display:flex}.user-info{flex:1 1;gap:var(--space-md)}.user-avatar{border-radius:50%;box-shadow:var(--shadow-md);font-size:20px;height:44px;width:44px}.user-details{flex:1 1;min-width:0}.user-details h2{color:var(--text-primary);font-size:16px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-details p{color:var(--text-muted);font-size:12px;font-weight:500;margin:2px 0 0}.user-actions{align-items:center}.btn-logout{background:#fff;border:2px solid var(--accent);color:var(--accent);display:flex;font-size:12px;padding:8px 14px}.btn-logout:active,.btn-logout:hover{background:var(--accent);color:#fff}.notification-bell{align-items:center;background:var(--bg-hover);border:none;border-radius:var(--radius-full);cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;position:relative;transition:var(--transition);width:40px}.notification-bell:active{background:var(--primary-pale);transform:scale(.95)}.dashboard-main{max-width:100%;padding:var(--space-md)}.container{display:flex;flex-direction:column;gap:var(--space-lg)}.quick-stats{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-sm);overflow-x:auto;padding:var(--space-xs) 0;scrollbar-width:none}.quick-stats::-webkit-scrollbar{display:none}.stat-card{border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex:0 0 auto;min-width:100px;padding:var(--space-md);text-align:center}.stat-number{color:var(--primary);display:block;font-size:24px}.stat-label{color:var(--text-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.quick-actions-owner{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);overflow-x:auto;padding-bottom:var(--space-sm)}.quick-action-btn{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:var(--space-xs);min-width:100px;padding:var(--space-md) var(--space-lg);transition:var(--transition)}.quick-action-btn:hover{background:var(--primary-pale);border-color:var(--primary)}.quick-action-btn .action-icon{font-size:24px}.quick-action-btn .action-label{color:var(--text-secondary);font-size:13px;font-weight:600}.reminders-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg)}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.section-header h3{align-items:center;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;gap:var(--space-sm);margin:0}.section-header .btn-primary{font-size:13px;padding:var(--space-sm) var(--space-md)}.reminders-compact{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-sm);margin:0 calc(var(--space-lg)*-1);overflow-x:auto;padding:var(--space-xs) 0 var(--space-sm);padding-left:var(--space-lg);padding-right:var(--space-lg);scrollbar-width:none}.reminders-compact::-webkit-scrollbar{display:none}.reminder-item-compact{align-items:flex-start;background:var(--bg-light);border-left:4px solid var(--border);border-radius:var(--radius-md);display:flex;flex:0 0 auto;gap:var(--space-sm);max-width:250px;min-width:200px;padding:var(--space-md);transition:var(--transition)}.reminder-item-compact:active{transform:scale(.98)}.reminder-item-compact.urgent{background:linear-gradient(135deg,#fef2f2,#fff5f5);border-left-color:#dc2626}.reminder-item-compact.warning{background:linear-gradient(135deg,#fffbeb,#fefce8);border-left-color:#f59e0b}.reminder-item-compact.info{background:linear-gradient(135deg,var(--primary-pale) 0,#f0f4f8 100%);border-left-color:var(--primary)}.reminder-item-compact.normal{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-left-color:#10b981}.reminder-icon-compact{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));flex-shrink:0;font-size:24px}.reminder-info-compact{flex:1 1;min-width:0}.reminder-title-compact{color:var(--text-primary);display:block;font-size:14px;font-weight:600;line-height:1.3}.reminder-time-compact{color:var(--text-muted);display:block;font-size:12px;font-weight:600;margin-top:4px}.no-reminders-compact{color:var(--text-secondary);padding:var(--space-xl);text-align:center;width:100%}.no-reminders-compact p{font-size:14px;margin:0}.pets-section{background:#0000;box-shadow:none;padding:0}.pets-section h3{color:var(--text-primary);font-size:18px;margin:0 0 var(--space-md) 0}.pets-grid{display:flex;flex-direction:column}.pet-card{background:#fff;border:1px solid #1b3a520d;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;padding:0;transition:var(--transition)}.pet-card:active{box-shadow:var(--shadow-lg);transform:scale(.98)}.pet-header{background:linear-gradient(135deg,#d4af7a0d,#efe4d114);border-bottom:1px solid #d4af7a26;gap:var(--space-md);padding:var(--space-lg)}.pet-header,.pet-photo{align-items:center;display:flex}.pet-photo{background:#fff;border:3px solid #fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-warm);flex-shrink:0;height:72px;justify-content:center;overflow:hidden;width:72px}.pet-photo-img{height:100%;object-fit:cover;width:100%}.pet-photo-placeholder{filter:drop-shadow(0 2px 8px rgba(0,0,0,.1));font-size:36px}.pet-header-info{flex:1 1;min-width:0}.pet-header-info h4{color:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 4px}.pet-breed{font-size:14px;font-weight:500}.pet-status{flex-shrink:0}.status-badge{font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.status-badge.healthy{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#166534}.status-badge.new{background:var(--gradient-secondary);color:var(--primary)}.pet-info{padding:var(--space-md) var(--space-lg)}.pet-details{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.pet-details span{background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;padding:8px 12px}.pet-reminders{margin-bottom:var(--space-md);padding:0 var(--space-lg)}.reminder-item{border-left:3px solid #0000;font-size:13px;gap:var(--space-sm);margin-bottom:var(--space-xs)}.reminder-item.urgent{background:#fef2f2;border-left-color:#dc2626}.reminder-item.warning{background:#fffbeb;border-left-color:#f59e0b}.reminder-item.info{background:var(--primary-pale);border-left-color:var(--primary)}.reminder-item.normal{background:#f0fdf4;border-left-color:#10b981}.reminder-icon{flex-shrink:0;font-size:16px}.reminder-text{font-size:12px;font-weight:500}.pet-actions{-webkit-overflow-scrolling:touch;display:flex;gap:var(--space-sm);overflow-x:auto;padding:var(--space-md) var(--space-lg) var(--space-lg);scrollbar-width:none}.pet-actions::-webkit-scrollbar{display:none}.pet-actions .btn-primary,.pet-actions .btn-secondary{flex:0 0 auto;font-size:13px;padding:12px 16px;white-space:nowrap}.btn-primary{align-items:center;box-shadow:var(--shadow-warm);display:inline-flex;gap:var(--space-sm);justify-content:center;padding:14px 20px}.btn-primary:active{box-shadow:var(--shadow-md);transform:scale(.97)}.btn-secondary{align-items:center;color:var(--text-primary);display:inline-flex;gap:var(--space-sm);justify-content:center;padding:12px 18px}.btn-secondary:active{background:var(--bg-hover);border-color:var(--primary);transform:scale(.97)}.no-pets{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-2xl) var(--space-lg);text-align:center}.no-pets-icon{animation:float 3s ease-in-out infinite;filter:drop-shadow(0 8px 16px rgba(212,175,122,.2));font-size:80px;margin-bottom:var(--space-lg)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.no-pets h3{color:var(--text-primary);font-size:22px;margin:0 0 var(--space-sm) 0}.no-pets p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin:0 0 var(--space-xl) 0}.no-pets .btn-primary{font-size:16px;padding:16px 28px}.modal-overlay{align-items:flex-end;animation:fadeIn .2s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideUp .3s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);padding:var(--space-lg);width:100%}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-content:before{background:var(--border-color);border-radius:2px;content:"";display:block;height:4px;margin:0 auto var(--space-md);width:40px}.modal-content h3{font-size:20px;margin:0 0 var(--space-md) 0;text-align:center}.modal-content p{color:var(--text-secondary);margin:0 0 var(--space-lg) 0;text-align:center}.info-banner{background:linear-gradient(135deg,#d4af7a1f,#efe4d126);border:1px solid #d4af7a4d;border-radius:var(--radius-lg);padding:var(--space-lg)}.banner-content{align-items:flex-start;display:flex;gap:var(--space-md)}.banner-icon{flex-shrink:0;font-size:32px}.banner-text h4{color:var(--text-primary);font-size:16px;margin:0 0 var(--space-xs) 0}.banner-text p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.profile-section{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-lg)}.profile-section h3{align-items:center;color:var(--text-primary);display:flex;font-size:18px;gap:var(--space-sm);margin:0 0 var(--space-lg) 0}.profile-item{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:var(--space-md);padding:var(--space-md) 0}.profile-item:last-child{border-bottom:none}.profile-icon{align-items:center;background:var(--bg-hover);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:20px;height:44px;justify-content:center;width:44px}.profile-info{flex:1 1}.profile-label{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.profile-value{color:var(--text-primary);font-size:15px;font-weight:600}.profile-logout{margin-top:var(--space-xl)}.profile-logout .btn-logout-mobile{align-items:center;background:#fff;border:2px solid var(--accent);border-radius:var(--radius-md);color:var(--accent);cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:var(--space-sm);justify-content:center;padding:16px;transition:var(--transition);width:100%}.profile-logout .btn-logout-mobile:active{background:var(--accent);color:#fff}@media (min-width:768px){.owner-dashboard{padding-bottom:var(--space-xl)}.header-content{margin:0 auto;max-width:1200px;padding:var(--space-lg) var(--space-xl)}.btn-logout{background:#fff;border:2px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-weight:600;padding:10px 20px;transition:var(--transition)}.btn-logout:hover{border-color:var(--primary);color:var(--primary)}.dashboard-main{margin:0 auto;max-width:1200px;padding:var(--space-xl)}.pets-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.pet-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.reminders-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:0;overflow:visible;padding:0}.modal-overlay{align-items:center}.modal-content{border-radius:var(--radius-xl);max-height:85vh}.modal-content:before{display:none}.pet-actions{flex-wrap:wrap;overflow:visible}.pet-actions .btn-primary,.pet-actions .btn-secondary{flex:1 1;min-width:140px}}@media (min-width:1024px){.pets-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}}.admin-dashboard{background:var(--bg-main);min-height:100vh}.admin-header{background:var(--gradient-primary);box-shadow:var(--shadow-lg);color:#fff;padding:var(--space-md) var(--space-lg)}.admin-header .header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1400px}.header-left{gap:var(--space-md)}.header-left h1{font-size:24px}.admin-badge{background:var(--secondary);border-radius:var(--radius-full);color:var(--primary);font-size:12px;font-weight:700;padding:4px 12px}.header-right{gap:var(--space-md)}.btn-logout,.user-name{font-weight:600}.btn-logout{background:#ffffff26;border:1px solid #ffffff4d;border-radius:var(--radius-md);color:#fff;cursor:pointer;padding:8px 16px;transition:var(--transition)}.btn-logout:hover{background:#ffffff40}.admin-layout{display:flex;margin:0 auto;max-width:1400px;min-height:calc(100vh - 70px)}.admin-sidebar{background:#fff;box-shadow:var(--shadow-md);flex-direction:column;gap:var(--space-xs);width:240px}.admin-sidebar,.nav-item{display:flex;padding:var(--space-md)}.nav-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:15px;font-weight:600;gap:var(--space-md);text-align:left;transition:var(--transition)}.nav-item:hover{background:var(--bg-hover);color:var(--primary)}.nav-item.active{background:var(--gradient-secondary);color:var(--primary)}.nav-icon{font-size:20px}.admin-main{flex:1 1;overflow-y:auto;padding:var(--space-lg)}.admin-dashboard-content h2{color:var(--text-primary);margin:0 0 var(--space-lg) 0}.stats-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:var(--space-xl)}.stat-card{background:#fff;border-left:4px solid var(--primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);transition:var(--transition)}.stat-card.clickable{cursor:pointer}.stat-card.clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card.expanded{background:linear-gradient(135deg,var(--primary-pale) 0,#fff 100%)}.stat-card.primary{border-left-color:var(--primary)}.stat-card.secondary{border-left-color:var(--secondary)}.stat-card.accent{border-left-color:#22c55e}.stat-card.warning{border-left-color:#f59e0b}.stat-header{align-items:flex-start;display:flex;gap:var(--space-md)}.stat-card .stat-icon{font-size:32px}.stat-info{display:flex;flex:1 1;flex-direction:column}.expand-icon{color:var(--text-muted);font-size:12px;transition:var(--transition)}.stat-number{color:var(--text-primary);font-size:36px;font-weight:700;line-height:1}.stat-label{color:var(--text-secondary);font-size:14px;font-weight:600;margin-top:var(--space-xs)}.stat-details{border-top:1px solid var(--border-light);color:var(--text-muted);display:flex;flex-direction:column;font-size:13px;gap:4px;margin-top:var(--space-md);padding-top:var(--space-md)}.expanded-panel{animation:slideDown .3s ease;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:var(--space-lg);padding:var(--space-lg)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.panel-header{align-items:center;border-bottom:2px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:var(--space-md);padding-bottom:var(--space-md)}.panel-header h3{color:var(--text-primary);font-size:18px;margin:0}.btn-close{background:var(--bg-hover);border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;font-size:16px;height:32px;transition:var(--transition);width:32px}.btn-close:hover{background:var(--accent);color:#fff}.users-quick-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:400px;overflow-y:auto}.user-quick-item{align-items:center;background:var(--bg-hover);border-radius:var(--radius-md);display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md);transition:var(--transition)}.user-quick-item:hover{background:var(--primary-pale)}.user-quick-item.no-pets{background:#fffbeb;border-left:3px solid #f59e0b}.user-quick-item.inactive{opacity:.5}.user-quick-avatar{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;font-size:20px;height:36px;justify-content:center;width:36px}.user-quick-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.user-quick-name{color:var(--text-primary);font-size:14px;font-weight:600}.user-quick-email,.user-quick-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-quick-email{color:var(--text-muted);font-size:12px}.user-quick-pets{align-items:center;display:flex;min-width:100px}.pets-count{color:var(--text-secondary);font-size:13px;font-weight:600}.no-pets-badge{background:#fef3c7;border-radius:var(--radius-full);color:#b45309;font-size:11px;font-weight:600;padding:2px 8px}.role-select-mini{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:12px;padding:4px 8px}.pets-filters{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.pets-table-container{border:1px solid var(--border-light);border-radius:var(--radius-md);overflow-x:auto}.pets-table-container.full{background:#fff;box-shadow:var(--shadow-md)}.pets-table{border-collapse:collapse;font-size:14px;width:100%}.pets-table th{background:var(--bg-hover);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:700;padding:var(--space-md);text-align:left;white-space:nowrap}.pets-table td{border-bottom:1px solid var(--border-light);padding:var(--space-md);vertical-align:middle}.pets-table tbody tr:hover{background:var(--bg-hover)}.pet-cell{align-items:center;display:flex;gap:var(--space-sm)}.pet-cell .pet-emoji{font-size:20px}.pet-cell .pet-name{color:var(--text-primary);font-weight:600}.pet-photo-mini{border-radius:50%;height:32px;object-fit:cover;width:32px}.owner-name{color:var(--text-secondary)}.status-pill{border-radius:var(--radius-full);display:inline-block;font-size:12px;font-weight:600;padding:4px 10px}.status-pill.active{background:#dcfce7;color:#166534}.status-pill.lost{background:#fef3c7;color:#b45309}.chip-yes{color:#166534;font-weight:600}.chip-no{color:#991b1b}.no-results{color:var(--text-muted);padding:var(--space-xl);text-align:center}.table-footer{background:var(--bg-hover);border-radius:0 0 var(--radius-md) var(--radius-md);color:var(--text-muted);font-size:13px;padding:var(--space-md);text-align:right}.alert-description{color:var(--text-secondary);margin-bottom:var(--space-md)}.users-without-pets-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.user-no-pet-card{align-items:center;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;gap:var(--space-sm);padding:var(--space-sm)}.user-avatar-small{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;width:36px}.user-no-pet-info{display:flex;flex-direction:column;min-width:0}.user-no-pet-info .name{color:var(--text-primary);font-size:13px;font-weight:600}.user-no-pet-info .email,.user-no-pet-info .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-no-pet-info .email{color:var(--text-muted);font-size:11px}.role-badge.small{font-size:9px;margin-top:2px;padding:2px 6px}.more-users{align-items:center;background:var(--bg-hover);border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-weight:600;justify-content:center;padding:var(--space-md)}.admin-pets-content h2{color:var(--text-primary);margin:0}.pets-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.pets-count-badge{background:var(--gradient-secondary);border-radius:var(--radius-full);color:var(--primary);font-size:14px;font-weight:700;padding:8px 16px}.user-card.no-pets-highlight{border-left:4px solid #f59e0b}.status-badge.warning{background:#fef3c7;color:#b45309}.stat-mini.warning .stat-value{color:#b45309}.section-card.alert{background:linear-gradient(135deg,#fffbeb,#fff);border-left:4px solid #f59e0b}.role-distribution{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(4,1fr)}.role-item{background:var(--bg-hover);border-radius:var(--radius-md);padding:var(--space-lg);text-align:center}.role-item.owner{border-bottom:3px solid var(--primary)}.role-item.daycare{border-bottom:3px solid #22c55e}.role-item.vet{border-bottom:3px solid #3b82f6}.role-item.admin{border-bottom:3px solid #f59e0b}.role-count{color:var(--text-primary);display:block;font-size:32px;font-weight:700}.role-name{color:var(--text-secondary);font-size:13px;font-weight:600}.admin-users-content h2{color:var(--text-primary);margin:0}.users-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-lg)}.btn-primary{background:var(--gradient-secondary);border:none;border-radius:var(--radius-md);color:var(--primary);cursor:pointer;font-size:14px;font-weight:700;padding:12px 20px;transition:var(--transition)}.btn-primary:hover{box-shadow:var(--shadow-warm);transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.search-input:focus{border-color:var(--primary)}.users-list{display:flex;flex-direction:column;gap:var(--space-md)}.user-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);transition:var(--transition)}.user-card:hover{box-shadow:var(--shadow-lg)}.user-card.inactive{background:var(--bg-hover);opacity:.6}.user-main{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.user-avatar{align-items:center;background:var(--gradient-primary);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:24px;height:50px;justify-content:center;width:50px}.user-info h4{color:var(--text-primary);font-size:16px;margin:0 0 4px}.user-email{color:var(--text-muted);font-size:13px;margin:0 0 var(--space-sm) 0}.user-meta{display:flex;gap:var(--space-sm)}.role-badge{border-radius:var(--radius-full);font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.role-badge.role-owner{background:var(--primary-pale);color:var(--primary)}.role-badge.role-daycare{background:#dcfce7;color:#166534}.role-badge.role-vet{background:#dbeafe;color:#1e40af}.role-badge.role-admin{background:#fef3c7;color:#92400e}.status-badge{border-radius:var(--radius-full);font-size:11px;font-weight:600;padding:4px 10px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#fee2e2;color:#991b1b}.user-stats{border-bottom:1px solid var(--border-light);border-top:1px solid var(--border-light);display:flex;gap:var(--space-lg);margin-bottom:var(--space-md);padding:var(--space-md) 0}.stat-mini{text-align:center}.stat-mini .stat-value{color:var(--text-primary);display:block;font-size:20px;font-weight:700}.stat-mini .stat-label{color:var(--text-muted);font-size:11px;text-transform:uppercase}.stat-mini.urgent .stat-value{color:#dc2626}.user-pets{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.mini-pet{align-items:center;background:var(--bg-hover);border-radius:var(--radius-full);display:flex;font-size:13px;gap:4px;padding:4px 10px}.mini-pet .check{color:#22c55e;font-weight:700}.more-pets{background:var(--primary-pale);border-radius:var(--radius-full);color:var(--primary);font-size:12px;font-weight:600;padding:4px 10px}.user-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.role-select{padding:8px 12px}.btn-toggle,.role-select{border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:13px}.btn-toggle{background:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:var(--transition)}.btn-toggle:hover{border-color:var(--primary)}.btn-toggle.active{border-color:#dc2626;color:#dc2626}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b3a5299;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:var(--radius-xl);max-height:90vh;max-width:500px;overflow-y:auto;padding:var(--space-xl);width:90%}.modal-content h3{color:var(--text-primary);margin:0 0 var(--space-lg) 0}.create-user-form{display:flex;flex-direction:column;gap:var(--space-md)}.form-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.form-group input,.form-group select{border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;padding:12px 14px}.form-group input:focus,.form-group select:focus{border-color:var(--primary);outline:none}.form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-md)}.btn-secondary{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:var(--transition)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary)}@media (max-width:1024px){.admin-layout{flex-direction:column}.admin-sidebar{flex-direction:row;overflow-x:auto;width:100%}.nav-item{flex-direction:column;min-width:100px;text-align:center}.nav-label{font-size:12px}.role-distribution{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.admin-header .header-content{flex-direction:column;gap:var(--space-md);text-align:center}.filters-bar{flex-direction:column}.user-card{padding:var(--space-md)}.user-main{align-items:center;flex-direction:column;text-align:center}.user-meta{justify-content:center}.user-actions{flex-direction:column}.form-row{grid-template-columns:1fr}}.daycare-dashboard{background:var(--bg-main);min-height:100vh}.daycare-header{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #00000026;color:#fff;padding:16px 24px}.daycare-header .header-content{justify-content:space-between;margin:0 auto;max-width:1200px}.daycare-header .header-content,.header-left{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.header-left h1{align-items:center;color:#fff;display:flex;font-size:20px;font-weight:700;gap:8px;margin:0}.header-left .role-badge{background:#ffffff40;border-radius:20px;color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;padding:6px 14px;text-transform:uppercase}.header-right{align-items:center;display:flex;gap:16px}.header-right .user-name{font-size:14px;font-weight:600}.header-right .btn-logout{background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s ease}.header-right .btn-logout:hover{background:#ffffff40}.daycare-nav{background:#fff;box-shadow:0 2px 8px #00000014;padding:12px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.daycare-nav .nav-container{-webkit-overflow-scrolling:touch;display:flex;gap:10px;justify-content:flex-start;margin:0 auto;max-width:1200px;overflow-x:auto;padding:4px 0;scrollbar-width:none}.daycare-nav .nav-container::-webkit-scrollbar{display:none}.nav-btn{align-items:center;background:#f3f4f6;border:none;border-radius:10px;color:#4b5563;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.nav-btn .nav-icon{flex-shrink:0;font-size:16px;line-height:1}.nav-btn .nav-text{font-size:13px;font-weight:600;white-space:nowrap}.nav-btn:hover{background:#22c55e26;color:#16a34a}.nav-btn.active{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 4px 12px #22c55e4d;color:#fff}.daycare-main{margin:0 auto;max-width:1200px;padding:var(--space-lg)}.error,.loading{font-size:16px;padding:var(--space-2xl);text-align:center}.error{color:var(--accent)}.welcome-banner{align-items:center;background:linear-gradient(135deg,#22c55e1a,#16a34a26);border-left:4px solid #22c55e;border-radius:var(--radius-lg);display:flex;justify-content:space-between;margin-bottom:var(--space-lg);padding:var(--space-xl)}.welcome-text h2{color:var(--text-primary);margin:0 0 var(--space-xs) 0}.welcome-text p{color:var(--text-secondary);margin:0}.welcome-actions{display:flex;gap:var(--space-sm)}.btn-action{background:#fff;border:2px solid #22c55e;border-radius:var(--radius-md);color:#16a34a;cursor:pointer;font-weight:600;padding:10px 20px;transition:var(--transition)}.btn-action:hover{background:#22c55e;color:#fff}.quick-actions{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-lg)}.action-card{align-items:center;background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);transition:var(--transition)}.action-card:hover{background:#22c55e0d;border-color:#22c55e;transform:translateY(-2px)}.action-icon{font-size:28px}.action-text{color:var(--text-secondary);font-size:14px;font-weight:600;text-align:center}.quick-stats{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-lg)}.quick-stat{background:#fff;border-bottom:3px solid #22c55e;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);text-align:center;transition:var(--transition)}.quick-stat.clickable{cursor:pointer}.quick-stat.clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.quick-stat.clickable:active{transform:translateY(-2px)}.quick-stat.warning{border-bottom-color:#f59e0b}.quick-stat .stat-icon{display:block;font-size:28px;margin-bottom:var(--space-sm)}.quick-stat .stat-value{color:var(--text-primary);display:block;font-size:32px;font-weight:700}.quick-stat .stat-label{color:var(--text-muted);font-size:13px;font-weight:600}.section-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-lg);padding:var(--space-lg)}.section-card h3{color:var(--text-primary);font-size:18px;margin:0 0 var(--space-md) 0}.section-card.urgent-section{background:linear-gradient(135deg,#fef2f2,#fff);border-left:4px solid #dc2626}.urgent-list{display:flex;flex-direction:column;gap:var(--space-sm)}.reminder-card{align-items:center;background:#fff;border-left:4px solid var(--primary);border-radius:var(--radius-md);display:flex;gap:var(--space-md);padding:var(--space-md)}.reminder-card.overdue{background:#fef2f2;border-left-color:#dc2626}.reminder-card.urgent{background:#fffbeb;border-left-color:#f59e0b}.reminder-card .reminder-icon{font-size:24px}.reminder-card .reminder-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.reminder-pet{color:var(--text-primary);font-weight:700}.reminder-message{color:var(--text-secondary);font-size:13px}.reminder-owner{color:var(--text-muted);font-size:12px}.days-badge{background:var(--bg-hover);border-radius:var(--radius-full);font-size:13px;font-weight:700;padding:6px 12px}.days-badge.overdue{background:#dc2626;color:#fff}.reminders-list{display:flex;flex-direction:column;gap:var(--space-xs)}.reminder-item{align-items:center;background:var(--bg-light);border-radius:var(--radius-sm);display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-md)}.reminder-item.overdue{background:#fef2f2}.reminder-item.urgent{background:#fffbeb}.reminder-type{font-size:18px}.reminder-pet-name{font-weight:600;min-width:120px}.reminder-text{color:var(--text-secondary);flex:1 1;font-size:13px}.reminder-time{font-size:13px;font-weight:700}.reminder-time.overdue{color:#dc2626}.reminder-time.urgent{color:#f59e0b}.filters-bar{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.search-input{border:2px solid var(--border-color);border-radius:var(--radius-md);flex:1 1;font-size:15px;padding:12px 16px}.search-input:focus{border-color:#22c55e;outline:none}.filter-select{border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;min-width:180px;padding:12px 16px}.pets-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.pet-card-daycare{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-lg);transition:var(--transition)}.pet-card-daycare:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.pet-header-dc{display:flex;gap:var(--space-md);margin-bottom:var(--space-md);position:relative}.pet-photo-dc{align-items:center;background:var(--bg-hover);border-radius:var(--radius-md);display:flex;flex-shrink:0;height:70px;justify-content:center;overflow:hidden;width:70px}.pet-photo-dc img{height:100%;object-fit:cover;width:100%}.photo-placeholder{font-size:36px}.pet-basic-info h4{color:var(--text-primary);font-size:18px;margin:0 0 4px}.pet-breed{color:var(--text-secondary);font-size:13px;margin:0 0 4px}.pet-owner{color:var(--text-muted);font-size:12px;margin:0}.urgent-badge{align-items:center;background:#dc2626;border-radius:50%;color:#fff;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:0;top:0;width:24px}.pet-details-dc{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.pet-details-dc span{background:var(--bg-hover);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;padding:4px 10px}.pet-health-alerts{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.health-alert{background:var(--bg-hover);border-radius:var(--radius-sm);font-size:13px;font-weight:600;padding:8px 12px}.health-alert.warning{background:#fffbeb;color:#92400e}.health-alert.overdue{background:#fef2f2;color:#dc2626}.pet-actions-dc{display:flex;gap:var(--space-sm)}.btn-view{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:10px 16px;transition:var(--transition)}.btn-view:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-call{background:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--primary);font-size:13px;font-weight:600;padding:10px 16px;text-decoration:none;transition:var(--transition)}.btn-call:hover{border-color:var(--primary)}.empty-state{background:#fff;border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center}.empty-icon{display:block;font-size:64px;margin-bottom:var(--space-md)}.empty-state h3{color:var(--text-primary);margin:0 0 var(--space-sm) 0}.empty-state p{color:var(--text-secondary);margin:0}.reminders-summary{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr);margin-bottom:var(--space-lg)}.summary-item{background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-lg);text-align:center}.summary-item.overdue{border-bottom:3px solid #dc2626}.summary-item.urgent{border-bottom:3px solid #f59e0b}.summary-item.upcoming{border-bottom:3px solid #22c55e}.summary-count{display:block;font-size:32px;font-weight:700}.summary-label{color:var(--text-muted);font-size:13px}.reminder-section{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--space-lg);padding:var(--space-lg)}.reminder-section h3{font-size:16px;margin:0 0 var(--space-md) 0}.reminder-section.overdue{border-left:4px solid #dc2626}.reminder-section.urgent{border-left:4px solid #f59e0b}.reminder-section.upcoming{border-left:4px solid #22c55e}.reminder-row{align-items:center;border-bottom:1px solid var(--border-light);display:flex;gap:var(--space-md);padding:var(--space-sm) 0}.reminder-row:last-child{border-bottom:none}.r-icon{font-size:18px}.r-pet{font-weight:600;min-width:100px}.r-message{color:var(--text-secondary);flex:1 1;font-size:13px}.r-days{font-size:13px;font-weight:700;min-width:60px;text-align:right}.r-days.overdue{color:#dc2626}.r-days.urgent{color:#f59e0b}.r-owner{color:var(--text-muted);font-size:12px;min-width:120px}.pet-detail-modal .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1b3a5299;bottom:0;display:flex;justify-content:center;left:0;padding:var(--space-md);position:fixed;right:0;top:0;z-index:1000}.pet-detail-modal .modal-content{background:#fff;border-radius:var(--radius-xl);max-height:90vh;max-width:600px;overflow-y:auto;position:relative;width:100%}.pet-detail-modal .modal-content.large{max-width:700px}.close-btn{align-items:center;background:var(--bg-hover);border:none;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;position:absolute;right:var(--space-md);top:var(--space-md);width:36px;z-index:10}.pet-detail-header{background:linear-gradient(135deg,#22c55e1a,#16a34a26);border-bottom:1px solid var(--border-light);display:flex;gap:var(--space-lg);padding:var(--space-xl)}.pet-photo-large{align-items:center;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;height:100px;justify-content:center;overflow:hidden;width:100px}.pet-photo-large img{height:100%;object-fit:cover;width:100%}.photo-placeholder-lg{font-size:50px}.pet-info-header h2{color:var(--text-primary);margin:0 0 var(--space-xs) 0}.pet-info-header p{color:var(--text-secondary);margin:0 0 var(--space-sm) 0}.pet-meta{color:var(--text-muted);display:flex;font-size:13px;gap:var(--space-md)}.detail-section{border-bottom:1px solid var(--border-light);padding:var(--space-lg)}.detail-section:last-child{border-bottom:none}.detail-section h3{color:var(--text-primary);font-size:16px;margin:0 0 var(--space-md) 0}.detail-section.allergies{background:#fef2f2}.owner-info{display:flex;flex-direction:column;gap:var(--space-sm)}.owner-name{font-size:16px;font-weight:600}.owner-email,.owner-phone{color:var(--text-secondary);font-size:14px;text-decoration:none}.owner-phone:hover{color:var(--primary)}.reminders-mini{display:flex;flex-direction:column;gap:var(--space-xs)}.reminder-mini{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);display:flex;font-size:13px;justify-content:space-between;padding:var(--space-sm) var(--space-md)}.reminder-mini.overdue{background:#fef2f2;color:#dc2626}.reminder-mini.urgent{background:#fffbeb;color:#92400e}.reminder-mini .days{font-weight:700}.allergies-list{flex-wrap:wrap;gap:var(--space-sm)}.allergy-item{border-radius:var(--radius-md);font-size:13px;padding:8px 14px}.allergy-item.mild{border-left:3px solid #22c55e}.allergy-item.moderate{border-left:3px solid #f59e0b}.allergy-item.severe{border-left:3px solid #dc2626}.feeding-item{background:var(--bg-hover);border-radius:var(--radius-md);margin-bottom:var(--space-sm);padding:var(--space-md)}.feeding-item strong{color:var(--text-primary)}.feeding-item p{color:var(--text-secondary);font-size:13px;margin:var(--space-xs) 0 0}.feeding-item .notes{color:var(--text-muted);font-style:italic}.records-list{display:flex;flex-direction:column;gap:var(--space-xs)}.record-item{background:var(--bg-hover);border-radius:var(--radius-sm);display:flex;font-size:13px;justify-content:space-between;padding:var(--space-sm) var(--space-md)}.record-name{font-weight:600}.record-date{color:var(--text-muted)}.next-due{color:#f59e0b;font-weight:600}.visits-summary-section{background:linear-gradient(135deg,#22c55e14,#16a34a1f);border-left:4px solid #22c55e}.visits-stats-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-sm)}.visit-stat{background:#fff;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000001a;padding:var(--space-md);text-align:center}.visit-stat.highlight{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.visit-stat .stat-number{color:var(--text-primary);display:block;font-size:1.5rem;font-weight:700;line-height:1.2}.visit-stat.highlight .stat-number{color:#fff}.visit-stat .stat-label{color:var(--text-muted);display:block;font-size:.7rem;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.visit-stat.highlight .stat-label{color:#ffffffe6}.visits-dates{color:var(--text-secondary);font-size:.85rem;margin:var(--space-sm) 0 0;text-align:center}.visits-dates strong{color:var(--text-primary)}.visits-history-section{background:#fafafa}.visits-list{display:flex;flex-direction:column;gap:var(--space-sm);max-height:300px;overflow-y:auto}.visit-item{background:#fff;border:1px solid var(--border-color);border-left:4px solid #6b7280;border-radius:var(--radius-md);padding:var(--space-md);transition:var(--transition)}.visit-item:hover{box-shadow:0 2px 8px #00000014}.visit-item.completed{border-left-color:#22c55e}.visit-item.confirmed{border-left-color:#3b82f6}.visit-item.pending{border-left-color:#f59e0b}.visit-item.cancelled{border-left-color:#ef4444;opacity:.7}.visit-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-xs)}.visit-dates{display:flex;flex-direction:column;gap:2px}.visit-date-range{color:var(--text-primary);font-size:.9rem;font-weight:600}.visit-days{color:var(--text-muted);font-size:.75rem}.visit-status-badge{border-radius:12px;color:#fff;font-size:.7rem;font-weight:600;padding:3px 10px;text-transform:uppercase}.visit-details{align-items:center;display:flex;justify-content:space-between;margin-top:var(--space-xs)}.visit-service{color:var(--text-secondary);font-size:.85rem}.visit-price{color:#22c55e;font-size:1rem;font-weight:700}.visit-notes{border-top:1px dashed var(--border-color);color:var(--text-muted);font-size:.8rem;font-style:italic;margin:var(--space-xs) 0 0;padding-top:var(--space-xs)}@media (max-width:600px){.visits-stats-grid{grid-template-columns:repeat(2,1fr)}.visit-stat .stat-number{font-size:1.2rem}.visit-header{flex-direction:column;gap:var(--space-xs)}.visit-status-badge{align-self:flex-start}}@media (max-width:768px){.daycare-header{padding:16px}.daycare-header .header-content{flex-direction:column;gap:12px;text-align:center}.header-left h1{font-size:18px;justify-content:center}.header-right{flex-wrap:wrap;justify-content:center}.daycare-nav{padding:8px 12px}.daycare-nav .nav-container{gap:6px;justify-content:flex-start;padding:2px 0}.nav-btn{border-radius:8px;font-size:12px;gap:6px;padding:8px 12px}.nav-btn .nav-icon{font-size:14px}.nav-btn .nav-text{font-size:11px;white-space:nowrap}.daycare-main{padding:var(--space-md)}.quick-actions{gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}.action-card{padding:var(--space-md)}.action-icon{font-size:22px}.action-text{font-size:12px}.quick-stats{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.quick-stat{padding:var(--space-md)}.quick-stat .stat-icon{font-size:22px;margin-bottom:var(--space-xs)}.quick-stat .stat-value{font-size:24px}.quick-stat .stat-label{font-size:10px;text-transform:uppercase}.welcome-banner{padding:var(--space-md)}.welcome-text h2{font-size:18px}.pets-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column}.reminders-summary{gap:var(--space-sm);grid-template-columns:repeat(3,1fr)}.summary-item{padding:var(--space-md)}.summary-count{font-size:24px}.summary-label{font-size:10px}.pet-detail-header{align-items:center;flex-direction:column;text-align:center}.pet-meta{justify-content:center}.reminder-row{flex-wrap:wrap;gap:var(--space-sm)}.r-owner,.r-pet{min-width:auto}.r-owner{margin-top:var(--space-xs);width:100%}}.emergency-view{background:var(--gradient-primary);min-height:100vh;padding:20px}.emergency-view.error,.emergency-view.loading{align-items:center;color:#fff;display:flex;flex-direction:column;justify-content:center}.spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.emergency-header{margin:0 auto 20px;max-width:800px}.emergency-logo{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;display:flex;gap:15px;padding:20px}.emergency-logo .logo-icon{font-size:48px}.emergency-logo .logo-text h1{color:var(--secondary);font-size:28px;margin:0}.emergency-logo .logo-text p{color:#666;font-size:14px;margin:5px 0 0}.emergency-content{margin:0 auto;max-width:800px}.emergency-card{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;overflow:hidden}.pet-header-section{background:var(--gradient-secondary);color:#fff;padding:40px;text-align:center}.pet-photo-emergency{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.emergency-pet-img{background:#fff;border:6px solid #ffffff4d;border-radius:50%;box-shadow:0 8px 24px #0003;height:180px;object-fit:cover;width:180px}.pet-icon-large{font-size:80px;margin-bottom:20px}.pet-basic-info h2{color:var(--primary);font-size:36px;margin:0 0 10px;text-shadow:0 2px 4px #0000001a}.pet-species{font-size:18px;margin:0 0 5px;opacity:.9}.pet-breed{font-size:16px;margin:0;opacity:.8}.info-sections{padding:30px}.info-section{background:var(--bg-light);border-left:4px solid var(--secondary);border-radius:12px;margin-bottom:30px;padding:20px}.info-section h3{color:#2d3748;font-size:20px;margin:0 0 15px}.info-section.emergency-contact{background:#fef3c7;border-left-color:#f59e0b}.info-section.allergies{background:#fee2e2;border-left-color:#ef4444}.info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:5px}.info-item .label{color:#666;font-size:12px;font-weight:600}.info-item .value{color:#2d3748;font-size:16px}.contact-card,.vet-card{background:#fff;border-radius:8px;padding:15px}.contact-name,.vet-name{align-items:center;display:flex;font-size:18px;gap:10px;margin:0 0 10px}.contact-phone,.vet-phone{font-size:20px;font-weight:600;margin:10px 0}.contact-phone a,.vet-phone a{color:#f59e0b;text-decoration:none}.contact-relationship{color:#666;font-size:14px;margin:5px 0 0}.allergies-list{display:flex;flex-direction:column;gap:15px}.allergy-item{background:#fff;border-left:4px solid #ef4444;border-radius:8px;padding:15px}.allergy-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.severity-badge{border-radius:20px;font-size:12px;font-weight:600;padding:4px 12px}.severity-badge.severe{background:#fee2e2;color:#991b1b}.severity-badge.moderate{background:#fef3c7;color:#92400e}.severity-badge.mild{background:#d1fae5;color:#065f46}.allergy-desc{color:#666;font-size:14px;margin:5px 0 0}.badge{background:var(--primary);border-radius:12px;color:var(--text-light);font-size:12px;font-weight:600;padding:4px 10px}.emergency-footer{background:#f8f9fa;border-top:2px solid #e2e8f0;padding:20px 30px}.footer-info{margin-bottom:15px;text-align:center}.footer-info p:first-child{color:#dc2626;font-size:18px;margin:0 0 10px}.footer-info p:last-child{color:#666;margin:0}.powered-by{border-top:1px solid #e2e8f0;padding-top:15px;text-align:center}.powered-by p{color:#999;font-size:13px;margin:0}@media (max-width:768px){.emergency-view{padding:10px}.pet-header-section{padding:30px 20px}.emergency-pet-img{border:4px solid #ffffff4d;height:140px;width:140px}.pet-icon-large{font-size:60px}.pet-basic-info h2{font-size:28px}.info-sections{padding:20px}.info-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.5febdbc4.css.map*/