.login-container{align-items:center;background:#f7fafc;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{background:#fff;border-radius:.5rem;box-shadow:0 4px 20px #0000001a;max-width:400px;padding:2rem;text-align:center;width:100%}.login-logo{display:block;height:auto;margin:0 auto 1rem;max-width:150px}.login-title{font-size:1.5rem;font-weight:700;margin-bottom:1rem}.login-form{display:flex;flex-direction:column;text-align:left}.login-form label{font-weight:600;margin-bottom:.5rem}.login-form input{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;margin-bottom:1rem;padding:.5rem}.login-form button{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-weight:700;padding:.75rem;transition:background-color .2s ease}.login-form button:hover{background-color:#2563eb}.mobile-menu-btn span{transition:all .3s cubic-bezier(.4,0,.2,1);width:24px}.mobile-menu-btn.active span:first-child,.mobile-menu-btn.active span:nth-child(3){background-color:#1e40af}.nav-icon{display:inline-block;font-size:1.125rem;line-height:1;margin-right:.5rem;vertical-align:middle}@media (min-width:769px){.nav-links{background:#0000!important;border:none!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;max-height:none!important;overflow:visible!important;position:static!important}.nav-icon{font-size:1rem;margin-right:.375rem}.mobile-menu-btn{display:none!important}.navbar{flex-wrap:nowrap!important}.user-area{border-top:none!important;margin-top:0!important;order:0!important;padding-top:0!important;width:auto!important}}@media (max-width:768px){.navbar{background:#fff;border-bottom:none;box-shadow:0 2px 10px #0000001a;flex-wrap:nowrap;padding:.75rem 1rem;position:relative}.mobile-menu-btn{border-radius:.375rem;display:flex;margin-left:auto;order:3;padding:.5rem;transition:background-color .2s}.mobile-menu-btn:hover{background-color:#f3f4f6}.nav-logo{height:28px;order:1}.user-area{align-items:center;border:none;display:flex;gap:.75rem;margin:0 1rem 0 auto;order:2;padding:0;width:auto}.user-role{background:linear-gradient(135deg,#10b981,#059669);border-radius:.375rem;color:#fff;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.25rem .5rem;text-transform:uppercase}.logout-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;font-size:.8125rem;padding:.375rem .75rem;transition:all .2s}.logout-btn:hover{background:#e5e7eb;color:#1f2937}.nav-links{background:#fff;border-radius:0 0 .75rem .75rem;border-top:1px solid #e5e7eb;box-shadow:0 8px 25px #00000026;display:none!important;flex-direction:column;left:0;max-height:0;order:4;overflow:hidden;position:absolute;right:0;top:100%;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000}.nav-links.mobile-open{display:flex!important;max-height:400px;padding:.5rem 0}.nav-links li{margin:0}.nav-links li,.nav-links li:last-child a{border-bottom:none}.nav-links a,.nav-links span{align-items:center;border-bottom:1px solid #f3f4f6;color:#374151;display:flex;font-size:1.125rem;font-weight:600;padding:1.25rem 1.5rem;position:relative;text-decoration:none;transition:all .2s;width:100%}.nav-links a:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#1e40af;transform:translateX(.25rem)}.nav-links a:active{background:#e0e7ff;transform:scale(.98)}.nav-icon{align-items:center;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:.5rem;display:inline-flex;flex-shrink:0;font-size:1.375rem;height:2rem;justify-content:center;margin-right:1rem;text-align:center;transition:all .2s;width:2rem}.nav-links a:hover .nav-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:scale(1.05)}html{font-size:16px}body{line-height:1.5}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.form-container{padding:1rem}.form-group{margin-bottom:1rem}.form-group label{color:#374151;display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.375rem;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.form-actions .btn{border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1rem;transition:all .2s;width:100%}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover{background-color:#4b5563}.btn-cancel{background-color:#9ca3af;color:#fff}.btn-cancel:hover{background-color:#6b7280}.btn-edit{background-color:#0ea5e9;color:#fff}.btn-edit:hover{background-color:#0284c7}.btn-delete{background-color:#ef4444;color:#fff}.btn-delete:hover{background-color:#dc2626}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}table{font-size:.875rem;min-width:600px;width:100%}td,th{padding:.5rem;text-align:left;white-space:nowrap}.table-responsive{display:none}.table-cards{display:block}.table-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;padding:1rem}.table-card-header{border-bottom:1px solid #e5e7eb;font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem}.table-card-item{align-items:center;display:flex;justify-content:space-between;padding:.25rem 0}.table-card-label{color:#6b7280;font-size:.875rem;font-weight:500}.table-card-value{color:#374151;font-weight:400;text-align:right}.card-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1rem}.card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.card-title{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.card-content{color:#4b5563;font-size:.9375rem;line-height:1.5}.card-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.card-actions .btn{font-size:.875rem;padding:.5rem;width:100%}.alert,.error-message,.message,.success-message{border-radius:.5rem;font-size:.9375rem;line-height:1.4;margin:1rem;padding:1rem}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.close-btn{background:none;border:none;color:inherit;cursor:pointer;float:right;font-size:1.25rem;opacity:.7}.close-btn:hover{opacity:1}.loading,.no-data{color:#6b7280;font-style:italic;padding:2rem 1rem;text-align:center}.no-data{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:.5rem}.mobile-hidden{display:none!important}.mobile-only{display:block!important}.mobile-center{text-align:center!important}.mobile-full-width{width:100%!important}.mobile-no-padding{padding:0!important}.mobile-small-padding{padding:.5rem!important}.mobile-small-margin{margin:.5rem!important}.container{margin:0 auto;max-width:100%;padding:0 1rem}.main-content{padding:1rem}.page-title{font-size:1.5rem}.page-title,.section-header{margin-bottom:1rem;text-align:center}}@media (max-width:480px){html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-size:14px}body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}[contenteditable],input,textarea{-webkit-user-select:text;user-select:text}.navbar{padding:.5rem .75rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-logo{height:24px}.mobile-menu-btn{padding:.375rem;touch-action:manipulation}.mobile-menu-btn span{height:2.5px;width:20px}.user-role{font-size:.6875rem;padding:.1875rem .375rem}.logout-btn{font-size:.75rem;padding:.3125rem .625rem}.nav-links a{font-size:1rem;font-weight:600;padding:1rem 1.25rem;touch-action:manipulation}.nav-icon{flex-shrink:0;font-size:1.25rem;height:1.75rem;margin-right:.875rem;width:1.75rem}.container{padding:0 .75rem}.form-container,.main-content{padding:.75rem}.card{padding:.875rem}.card-title{font-size:1rem}.page-title{font-size:1.375rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}.form-actions .btn{font-size:.9375rem;min-height:44px;padding:.8125rem;touch-action:manipulation}.btn,[role=button],button{min-height:44px;min-width:44px;touch-action:manipulation}.nav-links{-webkit-overflow-scrolling:touch}.navbar{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right));padding-top:max(.5rem,env(safe-area-inset-top))}}@media (max-width:375px){.navbar{padding:.375rem .5rem}.nav-logo{height:22px}.user-area{gap:.5rem;margin:0 .5rem 0 auto}.user-role{font-size:.625rem;padding:.125rem .25rem}.logout-btn{font-size:.6875rem;padding:.25rem .5rem}.nav-links a{font-size:.9375rem;font-weight:600;padding:.875rem 1rem}.nav-icon{flex-shrink:0;font-size:1.125rem;height:1.5rem;margin-right:.75rem;width:1.5rem}}.dashboard-container{display:flex;flex-direction:column;min-height:100vh}.nav-logo{transition:opacity .2s ease}.nav-logo:hover{opacity:.8}@media (min-width:769px){.nav-links{background:#0000!important;border:none!important;box-shadow:none!important;display:flex!important;flex-direction:row!important;max-height:none!important;overflow:visible!important;position:static!important}.mobile-menu-btn{display:none!important}}.dashboard-main{background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:calc(100vh - 80px)}.welcome-section{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 20px #00000014;margin-bottom:3rem;padding:2rem;text-align:center}.welcome-section h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6 50%,#06b6d4);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:2.5rem;font-weight:700;margin:0 0 1rem}.welcome-subtitle{color:#64748b;font-size:1.25rem;font-weight:500;margin:0 0 1.5rem}.user-info{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:.5rem;color:#475569;display:inline-block;font-size:1rem;margin:0;padding:.75rem 1.5rem}.user-info strong{color:#0f172a;font-weight:600}.main-navigation{margin-top:2rem}.main-navigation h2{color:#1e293b;font-size:1.875rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.dashboard-cards{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-left:auto;margin-right:auto;margin-top:2rem;max-width:1000px}.main-card-link{color:inherit;display:block;height:140px;text-decoration:none;transition:transform .2s ease}.main-card-link:hover{transform:scale(1.02)}.main-card{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 20px #00000014;box-sizing:border-box;cursor:pointer;display:flex;gap:1.5rem;height:140px!important;max-height:140px!important;min-height:140px!important;overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.main-card:before{background:linear-gradient(135deg,#3b82f6,#8b5cf6);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.main-card:hover:before{transform:scaleX(1)}.main-card:hover{border-color:#cbd5e1;box-shadow:0 12px 40px #0000001f;transform:translateY(-4px)}.card-icon{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:1rem;display:flex;flex-shrink:0;font-size:3rem;height:4rem;justify-content:center;line-height:1;transition:all .3s ease;width:4rem}.main-card:hover .card-icon{background:linear-gradient(135deg,#dbeafe,#e0e7ff);border-color:#c7d2fe;transform:scale(1.1) rotate(5deg)}.card-content{display:flex;flex:1 1;flex-direction:column;height:100%;justify-content:center;min-width:0;overflow:hidden}.card-content h3{color:#1e293b;font-size:1.375rem;font-weight:600;line-height:1.2;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.main-card:hover .card-content h3{color:#3b82f6}.card-content p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#64748b;display:-webkit-box;font-size:.875rem;line-height:1.4;margin:0;overflow:hidden;text-overflow:ellipsis}.card-arrow{color:#cbd5e1;font-size:1.5rem;font-weight:600;transform:translateX(0);transition:all .3s ease}.main-card:hover .card-arrow{color:#3b82f6;transform:translateX(.25rem)}.dogs-card:hover:before{background:linear-gradient(135deg,#f59e0b,#d97706)}.dogs-card:hover .card-icon{background:linear-gradient(135deg,#fef3c7,#fed7aa);border-color:#fbbf24}.dogs-card:hover .card-arrow,.dogs-card:hover .card-content h3{color:#f59e0b}.daycare-card:hover:before{background:linear-gradient(135deg,#ec4899,#be185d)}.daycare-card:hover .card-icon{background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-color:#f472b6}.daycare-card:hover .card-arrow,.daycare-card:hover .card-content h3{color:#ec4899}.hotel-card:hover:before{background:linear-gradient(135deg,#6366f1,#4f46e5)}.hotel-card:hover .card-icon{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#818cf8}.hotel-card:hover .card-arrow,.hotel-card:hover .card-content h3{color:#6366f1}.vet-card:hover:before{background:linear-gradient(135deg,#10b981,#059669)}.vet-card:hover .card-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-color:#34d399}.vet-card:hover .card-arrow,.vet-card:hover .card-content h3{color:#10b981}.mobile-menu-btn{background:none;border:none;cursor:pointer;display:none;flex-direction:column;padding:4px;z-index:1001}.mobile-menu-btn span{background-color:#374151;border-radius:2px;height:3px;margin:3px 0;transition:.3s;width:25px}.mobile-menu-btn.active span:first-child{transform:rotate(-45deg) translate(-5px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width:768px){.navbar{flex-wrap:wrap;position:relative}.mobile-menu-btn{display:flex;order:2}.nav-logo{margin-right:auto;order:1}.user-area{justify-content:space-between;margin-top:1rem;order:3;padding-top:1rem;width:100%}.nav-links,.user-area{border-top:1px solid #e5e7eb}.nav-links{background:#fff;box-shadow:0 4px 8px #0000001a;display:none!important;flex-direction:column;left:0;max-height:0;order:4;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .3s ease;z-index:1000}.nav-links.mobile-open{display:flex!important;max-height:400px}.nav-links li{border-bottom:1px solid #e5e7eb;margin:0}.nav-links li:last-child{border-bottom:none}.nav-links a,.nav-links span{display:block;padding:1rem;text-align:left;width:100%}.dropdown-menu{background:#f9fafb;border:none;box-shadow:none;display:block;padding-left:2rem;position:static}.dashboard-main{padding:1rem}.welcome-section{margin-bottom:2rem;padding:1.5rem}.welcome-section h1{font-size:2rem}.welcome-subtitle{font-size:1.125rem}.main-navigation h2{font-size:1.5rem}.dashboard-cards{gap:1rem;grid-template-columns:1fr;margin-top:1rem}.main-card{flex-direction:column;gap:1rem;height:180px;max-height:180px;min-height:180px;padding:1.5rem;text-align:center}.card-icon{font-size:2.5rem;height:3.5rem;margin:0 auto;width:3.5rem}.card-content h3{font-size:1.375rem}.card-content p{font-size:.875rem}.card-arrow{margin-top:.5rem;transform:rotate(90deg)}.main-card:hover .card-arrow{transform:rotate(90deg) translateX(.25rem)}.user-role{margin-right:0}.logout-btn{padding:.5rem 1rem}}@media (max-width:480px){.navbar{padding:.5rem}.nav-logo{height:28px}.dashboard-main{padding:.75rem}.welcome-section{margin-bottom:1.5rem;padding:1.25rem}.welcome-section h1{font-size:1.75rem}.welcome-subtitle{font-size:1rem}.user-info{font-size:.875rem;padding:.5rem 1rem}.main-navigation h2{font-size:1.375rem}.main-card{height:160px;max-height:160px;min-height:160px;padding:1.25rem}.card-icon{font-size:2.25rem;height:3rem;width:3rem}.card-content h3{font-size:1.25rem}.card-content p{font-size:.8125rem}}.dashboard-overview{margin-top:3rem}.overview-section{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem}.overview-section h2{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;font-weight:600;gap:.5rem;margin:0 0 1.5rem}.overview-section h3{border-bottom:2px solid #e2e8f0;color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem}.error-message{background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #f87171;border-radius:.5rem;margin-bottom:2rem}.error-message,.loading-message{font-weight:500;text-align:center}.loading-message{background:linear-gradient(135deg,#f0f9ff,#dbeafe);border:1px solid #60a5fa;border-radius:1rem;color:#2563eb;margin-top:2rem;padding:2rem}.todos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.todo-card{color:inherit;text-decoration:none;transition:transform .2s ease}.todo-card:hover{transform:translateY(-2px)}.todo-card-content{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.75rem;display:flex;gap:1rem;overflow:hidden;padding:1.25rem;position:relative;transition:all .3s ease}.todo-card-content:before{content:"";height:3px;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.todo-card-content.high:before{background:linear-gradient(135deg,#ef4444,#dc2626)}.todo-card-content.medium:before{background:linear-gradient(135deg,#f59e0b,#d97706)}.todo-card-content.low:before{background:linear-gradient(135deg,#10b981,#059669)}.todo-card:hover .todo-card-content{border-color:#cbd5e1;box-shadow:0 8px 25px #0000001a}.todo-icon{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:.75rem;display:flex;flex-shrink:0;font-size:2rem;height:3rem;justify-content:center;transition:all .3s ease;width:3rem}.todo-card:hover .todo-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#93c5fd;transform:scale(1.05)}.todo-text{flex:1 1;min-width:0}.todo-text h4{color:#1e293b;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 .25rem}.todo-text p{color:#64748b;font-size:.875rem;line-height:1.4;margin:0}.todo-arrow{color:#cbd5e1;font-size:1.25rem;font-weight:600;transform:translateX(0);transition:all .3s ease}.todo-card:hover .todo-arrow{color:#3b82f6;transform:translateX(.25rem)}.vet-appointments{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.vet-appointments-group{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:.75rem;padding:1.5rem}.appointments-list{display:flex;flex-direction:column;gap:.75rem}.appointment-item{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;display:flex;gap:1rem;padding:1rem;transition:all .2s ease}.appointment-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #00000014}.appointment-date,.appointment-time{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #34d399;border-radius:.375rem;color:#059669;flex-shrink:0;font-size:.875rem;font-weight:600;min-width:80px;padding:.25rem .75rem;text-align:center}.appointment-details{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.appointment-details strong{color:#1e293b;font-size:.875rem;font-weight:600}.appointment-details span{color:#64748b;font-size:.8125rem;line-height:1.3}.appointment-details .owner-name{color:#7c3aed;font-weight:500}.daycare-list,.hotel-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.daycare-item,.hotel-item{align-items:flex-start;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:.75rem;display:flex;gap:1rem;justify-content:space-between;padding:1.25rem;transition:all .2s ease}.daycare-item:hover,.hotel-item:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 4px 12px #0000001a}.dog-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.dog-info strong{color:#1e293b;font-size:1rem;font-weight:600}.dog-info span{color:#64748b;font-size:.875rem;line-height:1.3}.dog-info .owner-name{color:#7c3aed;font-weight:500}.booking-info,.checkin-info{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem;text-align:right}.booking-dates,.checkin-time{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #34d399;border-radius:.375rem;color:#059669;font-size:.8125rem;font-weight:600;padding:.25rem .5rem}.booking-notes,.visit-notes{color:#6b7280;font-size:.75rem;font-style:italic;line-height:1.3;max-width:150px}.hotel-overview{display:flex;flex-direction:column;gap:2rem}@media (max-width:768px){.dashboard-overview{margin-top:2rem}.overview-section{margin-bottom:1.5rem;padding:1.5rem}.overview-section h2{font-size:1.375rem}.todos-grid{grid-template-columns:1fr}.todo-card-content{gap:.75rem;padding:1rem}.todo-icon{font-size:1.5rem;height:2.5rem;width:2.5rem}.vet-appointments{gap:1.5rem;grid-template-columns:1fr}.vet-appointments-group{padding:1.25rem}.appointment-item{align-items:stretch;flex-direction:column;gap:.75rem;padding:.75rem}.appointment-date,.appointment-time{align-self:flex-start;min-width:auto}.daycare-list,.hotel-list{grid-template-columns:1fr}.daycare-item,.hotel-item{align-items:stretch;flex-direction:column;gap:.75rem;padding:1rem}.booking-info,.checkin-info{align-items:flex-start;text-align:left}}@media (max-width:480px){.overview-section{padding:1.25rem}.overview-section h2{font-size:1.25rem}.todo-text h4{font-size:.9375rem}.todo-text p{font-size:.8125rem}.vet-appointments-group{padding:1rem}.appointment-item{padding:.75rem}.daycare-item,.hotel-item{padding:.875rem}}.owners-container{margin:2rem auto;max-width:900px;padding:0 1rem}.owners-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.owner-form{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.owner-form label{display:block;font-weight:600;margin-bottom:.25rem}.owner-form input{border:1px solid #d1d5db;border-radius:.375rem;margin-bottom:1rem;padding:.5rem;width:100%}.owner-form button{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.owner-form button:hover{background-color:#2563eb}.owners-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.owner-card{border-radius:.5rem;box-shadow:0 2px 8px #0000000d;padding:1rem}.owner-card h3{font-size:1.125rem;margin:0 0 .5rem}.owner-card p{color:#4b5563;font-size:.9rem;margin:.25rem 0}.owner-card .actions{display:flex;justify-content:flex-end;margin-top:.75rem}.owner-card .actions button{background:#a73636;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem}.owner-card .actions button:hover{background:#dc2626}.owner-card .actions .edit-btn{background:#052378;color:#fff!important}.owner-card .actions .edit-btn:hover{background:#1a5ec6;color:#fff!important}.owner-card .actions .delete-btn{background:#ef4444;color:#fff}.owner-card .actions .delete-btn:hover{background:#dc2626}.image-upload-section{background-color:#fafafa;border:2px dashed #ddd;border-radius:8px;margin-top:10px;padding:20px;text-align:center}.image-preview-container{position:relative}.image-preview{border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;margin:0 auto 15px;max-height:200px;max-width:200px;object-fit:cover}.image-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.btn-change-image,.btn-remove-image,.btn-upload-image{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:8px 16px;transition:background-color .3s ease}.btn-remove-image{background-color:#dc3545;color:#fff}.btn-remove-image:hover:not(:disabled){background-color:#c82333}.btn-remove-image:disabled{background-color:#6c757d;cursor:not-allowed}.btn-change-image,.btn-upload-image{background-color:#007bff;color:#fff}.btn-change-image:hover,.btn-upload-image:hover{background-color:#0056b3}.image-upload-placeholder{color:#6c757d;padding:40px 20px}.upload-icon{font-size:48px;margin-bottom:15px}.image-upload-placeholder p{color:#6c757d;font-size:16px;margin:10px 0}.image-upload-info{margin-top:10px}.image-upload-info small{color:#6c757d;font-style:italic}.dog-header{align-items:flex-start;flex-wrap:wrap;gap:15px}.dog-picture{flex-shrink:0}.dog-picture-img{border:2px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;height:80px;object-fit:cover;width:80px}.dog-title{flex:1 1;min-width:200px}.dog-breed-badge{align-self:flex-start;flex-shrink:0}@media (max-width:768px){.dog-header{align-items:center;flex-direction:column;text-align:center}.dog-picture-img{height:100px;width:100px}.image-preview{max-height:150px;max-width:150px}.image-actions{align-items:center;flex-direction:column}.btn-change-image,.btn-remove-image,.btn-upload-image{max-width:200px;width:100%}}.form-group.full-width .image-upload-section{margin-top:5px}.image-upload-section.error{background-color:#fff5f5;border-color:#dc3545}.error+.image-upload-info{margin-top:5px}.age-mode-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.age-mode-toggle{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;display:flex;gap:4px;padding:2px}.age-mode-btn{background:#0000;border:none;border-radius:4px;color:#666;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.age-mode-btn:hover{background:#e9ecef;color:#333}.age-mode-btn.active{background:#007bff;box-shadow:0 1px 3px #007bff4d;color:#fff}.age-display{background:#e8f4fd;border:1px solid #b8daff;border-radius:4px;color:#004085;margin-top:6px;padding:8px 12px}.age-display small{align-items:center;display:flex;font-weight:500}.age-display small:before{content:"🎂";margin-right:6px}.weight-header{justify-content:space-between;margin-bottom:8px}.size-tag,.weight-header{align-items:center;display:flex}.size-tag{gap:8px}.size-tag-badge{align-items:center;border-radius:50%;color:#fff;cursor:help;display:inline-flex;font-size:12px;font-weight:700;height:28px;justify-content:center;transition:all .2s ease;width:28px}.size-tag-badge[title*=Unknown]{background:#6c757d}.size-tag-badge[title*="0kg - 10.9kg"]{background:#28a745}.size-tag-badge[title*="11kg - 20kg"]{background:#ffc107;color:#333}.size-tag-badge[title*="21kg - 35kg"]{background:#fd7e14}.size-tag-badge[title*="More than 35kg"]{background:#dc3545}.size-tag-label{color:#495057;font-size:12px;font-weight:500}.weight-info{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;color:#6c757d;margin-top:6px;padding:6px 12px}.weight-info small{align-items:center;display:flex}.weight-info small:before{content:"📏";margin-right:6px}@media (max-width:768px){.age-mode-header,.weight-header{align-items:flex-start;flex-direction:column;gap:8px}.age-mode-toggle{align-self:stretch;justify-content:center}.age-mode-btn{flex:1 1;text-align:center}.size-tag{align-self:flex-start}}.form-group .age-mode-header label,.form-group .weight-header label{color:#333;font-weight:600;margin-bottom:0}input[type=date]{border:1px solid #ddd;border-radius:4px;font-size:14px;padding:10px 12px;transition:border-color .2s ease;width:100%}input[type=date]:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.size-tag-badge,.size-tag-label{transition:all .3s ease}.size-tag-badge:hover{transform:scale(1.1)}@media (prefers-color-scheme:dark){.age-mode-toggle{background:#343a40;border-color:#495057}.age-mode-btn{color:#adb5bd}.age-mode-btn:hover{background:#495057;color:#fff}.age-display{background:#1e3a5f;border-color:#2c5aa0;color:#b8daff}.weight-info{background:#343a40;border-color:#495057;color:#adb5bd}}.age-info-display{align-items:center;display:flex;gap:8px;margin-top:4px}.calculated-age{color:#28a745;font-weight:500}.legacy-age{color:#6c757d;font-style:italic}.puppy-badge{background:#ffc107;border-radius:12px;color:#333;font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 8px;text-transform:uppercase}.weight-item .weight-display{align-items:center;display:flex;gap:12px;margin-top:4px}.weight-item .size-tag{margin-left:auto}@media (max-width:768px){.weight-item .weight-display{align-items:flex-start;flex-direction:column;gap:6px}.weight-item .size-tag{margin-left:0}.age-info-display{align-items:flex-start;flex-direction:column;gap:4px}}.size-tag-display,.size-tag-placeholder{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;display:flex;gap:12px;margin-top:8px;padding:12px}.size-tag-badge-large{align-items:center;border-radius:50%;color:#fff;cursor:help;display:inline-flex;flex-shrink:0;font-size:16px;font-weight:700;height:40px;justify-content:center;transition:all .2s ease;width:40px}.size-tag-badge-large.placeholder{background:#6c757d;color:#fff}.size-tag-badge-large[title*="0kg - 10.9kg"]{background:#28a745}.size-tag-badge-large[title*="11kg - 20kg"]{background:#ffc107;color:#333}.size-tag-badge-large[title*="21kg - 35kg"]{background:#fd7e14}.size-tag-badge-large[title*="More than 35kg"]{background:#dc3545}.size-tag-info{display:flex;flex-direction:column;gap:4px}.size-tag-label-large{color:#333;font-size:14px;font-weight:600;margin:0}.size-tag-range{color:#6c757d;font-size:12px;margin:0}.age-input-wrapper{align-items:flex-start;display:flex;gap:12px;position:relative}.age-number-input{flex:3 1;min-width:0}.age-unit-select{background:#fff;border:2px solid #e9ecef;border-radius:4px;cursor:pointer;flex:1 1;font-size:13px;max-width:85px;min-width:70px;padding:12px 6px;text-align:center;transition:border-color .2s ease}.age-unit-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.age-unit-select.calculated-field{background-color:#e9ecef!important;border-color:#dee2e6;color:#6c757d;cursor:not-allowed}.age-calculation-display{align-items:center;background:#e8f4fd;border:1px solid #b8daff;border-radius:4px;color:#004085;display:flex;gap:8px;margin-top:6px;padding:6px 12px}.puppy-badge-small{background:#ffc107;border-radius:10px;color:#333;font-size:10px;font-weight:700;padding:2px 6px}.calculated-field{background-color:#e9ecef!important;color:#6c757d;cursor:not-allowed}.field-info{color:#6c757d;font-style:italic;margin-top:4px}.field-info small{font-size:11px}.dog-form .form-grid{grid-gap:25px 40px!important;align-items:start;display:grid!important;gap:25px 40px!important;grid-template-columns:1fr 1fr!important;margin-bottom:20px;width:100%}.dog-form .form-grid .form-group.full-width{grid-column:1/-1!important;margin-bottom:20px}.dog-form .form-group.col-left{grid-column:1!important;margin-bottom:20px}.dog-form .form-group.col-right{grid-column:2!important;margin-bottom:20px}.dog-form .form-group{display:flex;flex-direction:column;margin-bottom:20px;min-height:auto}.dog-form .form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.dog-form .form-group input,.dog-form .form-group select,.dog-form .form-group textarea{margin-bottom:6px}.dog-form .form-group .size-display-header{margin-bottom:8px}.size-tag-display,.size-tag-placeholder{margin-bottom:10px;margin-top:0}.dog-form .age-input-wrapper{margin-bottom:8px}.dog-form .field-info{margin-bottom:8px;margin-top:8px}.dog-form .age-calculation-display{margin-bottom:8px}.dog-form .form-group{box-sizing:border-box;padding-bottom:10px}.dog-form .form-grid .form-group{margin-bottom:25px!important}.dog-form .form-group input,.dog-form .form-group select,.dog-form .form-group textarea{box-sizing:border-box;width:100%}@media (max-width:1024px){.dog-form .form-grid{gap:20px 25px!important}}@media (max-width:768px){.dog-form .form-grid{gap:20px!important;grid-template-columns:1fr!important}.dog-form .form-group.col-left,.dog-form .form-group.col-right{grid-column:1!important;margin-left:0;margin-right:0}.size-tag-display,.size-tag-placeholder{align-items:flex-start;flex-direction:column;gap:8px}.size-tag-badge-large{font-size:14px;height:32px;width:32px}.age-input-wrapper{flex-direction:column;gap:12px}.age-unit-select{align-self:stretch;width:100%}}.size-tag-inline{align-items:center;display:inline-flex;gap:6px;margin-left:8px}.size-tag-badge-small{align-items:center;border-radius:50%;color:#fff;cursor:help;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;height:24px;justify-content:center;transition:all .2s ease;width:24px}.size-tag-badge-small[title*=Unknown]{background:#6c757d}.size-tag-badge-small[title*="0kg - 10.9kg"]{background:#28a745}.size-tag-badge-small[title*="11kg - 20kg"]{background:#ffc107;color:#333}.size-tag-badge-small[title*="21kg - 35kg"]{background:#fd7e14}.size-tag-badge-small[title*="More than 35kg"]{background:#dc3545}.size-tag-label-inline{color:#495057;font-size:13px;font-weight:500}.size-tag-weight{color:#6c757d;font-size:12px;font-weight:400;margin-left:2px}.size-tag-badge-small:hover{transform:scale(1.1)}@media (max-width:768px){.size-tag-inline{flex-wrap:wrap;gap:4px;margin-left:4px}.size-tag-badge-small{font-size:10px;height:20px;width:20px}.size-tag-label-inline{font-size:12px}.size-tag-weight{font-size:11px}}.audit-label{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#64748b;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-label-small{font-size:.75rem;line-height:1.2;padding:2px 8px}.audit-label-medium{font-size:.8125rem;line-height:1.3;padding:4px 10px}.audit-label-large{font-size:.875rem;line-height:1.4;padding:6px 12px}.audit-single{align-items:center;display:flex;gap:4px}.audit-single .audit-action{color:#94a3b8;font-weight:400}.audit-single .audit-user{color:#475569;font-weight:600}.audit-single .audit-date{color:#94a3b8;font-weight:400;margin-left:2px}.audit-both{display:flex;flex-direction:column;gap:2px}.audit-item{align-items:center;display:flex;gap:4px}.audit-item .audit-action{color:#94a3b8;font-weight:400}.audit-item .audit-user{color:#475569;font-weight:600}.audit-item .audit-date{color:#94a3b8;font-weight:400;margin-left:2px}.audit-label.audit-green{background-color:#f0fdf4;border-color:#bbf7d0}.audit-label.audit-green .audit-user{color:#059669}.audit-label.audit-pink{background-color:#fdf2f8;border-color:#fbb6ce}.audit-label.audit-pink .audit-user{color:#be185d}.audit-label.audit-blue{background-color:#eff6ff;border-color:#bfdbfe}.audit-label.audit-blue .audit-user{color:#2563eb}.audit-label:hover{background-color:#f1f5f9;border-color:#cbd5e1}@media (max-width:768px){.audit-label-small{font-size:.6875rem;padding:1px 6px}.audit-label-medium{font-size:.75rem;padding:3px 8px}.audit-label-large{font-size:.8125rem;padding:5px 10px}.audit-item .audit-date,.audit-single .audit-date{display:none}}.daycare-visit-card .audit-label,.dog-card .audit-label,.grooming-booking-card .audit-label,.hotel-stay-item .audit-label{align-self:flex-start;margin-top:8px}.daycare-visit-card .audit-label{background-color:#f0fdf4;border-color:#bbf7d0}.daycare-visit-card .audit-label .audit-user{color:#059669}.grooming-booking-card .audit-label{background-color:#eff6ff;border-color:#bfdbfe}.grooming-booking-card .audit-label .audit-user{color:#2563eb}.dog-card .audit-label{background-color:#fdf2f8;border-color:#fbb6ce}.dog-card .audit-label .audit-user{color:#be185d}.modal-content .audit-label{align-self:flex-start;margin-bottom:16px}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.dog-details-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:900px;overflow:hidden;width:100%}.modal-header{align-items:center;background-color:#fce4ec;border-bottom:1px solid #f8bbd9;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h2{color:#ad1457;font-size:1.5rem;font-weight:600;margin:0}.header-content{display:flex;flex-direction:column;gap:4px}.dog-id-header{align-self:flex-start;background-color:#fff;border-radius:4px;color:#6c757d;font-size:.9rem;font-weight:500;padding:2px 8px}.close-btn{background:none;border:none;border-radius:6px;color:#ad1457;cursor:pointer;font-size:24px;padding:5px;transition:all .2s}.close-btn:hover{background-color:#f8bbd9;color:#880e4f}.error-message{background-color:#fee2e2;border-left:4px solid #dc2626;color:#dc2626;margin:0;padding:12px 24px}.tabs{background-color:#fce4ec;border-bottom:1px solid #f8bbd9;display:flex;overflow-x:auto}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#ad1457;cursor:pointer;font-weight:500;padding:12px 20px;transition:all .2s;white-space:nowrap}.tab:hover{background-color:#f8bbd9;color:#880e4f}.tab.active{background-color:#fff;border-bottom-color:#e91e63;color:#e91e63}.modal-content{flex:1 1;overflow-y:auto;padding:0}.tab-content{padding:24px}.info-grid{grid-gap:16px;display:grid;gap:16px;margin-top:16px}.info-item{background-color:#fce4ec;border:1px solid #f8bbd9;border-radius:8px;padding:12px}.info-item strong{color:#ad1457}.dog-profile-picture-section{align-items:center;background-color:#fce4ec;border:1px solid #f8bbd9;border-radius:12px;display:flex;flex-direction:column;margin:20px 0;padding:16px}.dog-profile-picture{align-items:center;background-color:#fff;border:3px solid #e91e63;border-radius:12px;box-shadow:0 4px 12px #e91e6333;display:flex;height:150px;justify-content:center;overflow:hidden;width:150px}.dog-profile-img{border-radius:8px;height:100%;object-fit:cover;width:100%}.profile-picture-label{color:#ad1457;font-size:.9rem;font-weight:500;margin-top:12px;text-align:center}.audit-section{border-top:1px solid #f8bbd9;display:flex;justify-content:flex-start;margin-top:24px;padding-top:16px}.particular-signs-section{background-color:#fce4ec;border:1px solid #f8bbd9;border-radius:8px;margin-top:24px;padding:16px}.particular-signs-section h4{color:#880e4f;font-size:1.1rem;font-weight:600;margin:0 0 12px}.particular-signs-content{word-wrap:break-word;color:#ad1457;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.owners-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.owner-card{background-color:#fce4ec;border:1px solid #f8bbd9;border-radius:8px;padding:16px}.owner-card h4{color:#880e4f;font-size:1rem;margin:0 0 12px}.owner-card p{color:#ad1457;margin:4px 0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#880e4f;margin:0}.navigate-btn{background-color:#e91e63;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.navigate-btn:hover{background-color:#ad1457}.subsection{margin-bottom:32px}.subsection h4{color:#ad1457;font-weight:600;margin:0 0 16px}.packages-list{display:flex;flex-direction:column;gap:12px}.package-item{background-color:#fff;border:1px solid #f8bbd9;border-radius:8px;padding:12px}.package-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.package-header strong{color:#880e4f;text-transform:capitalize}.days-left{background-color:#fce4ec;border-radius:4px;font-weight:500;padding:2px 8px}.days-left,.package-item p{color:#ad1457;font-size:.875rem}.package-item p{margin:4px 0}.visits-list{display:flex;flex-direction:column;gap:12px}.visit-item{background-color:#fff;border:1px solid #f8bbd9;border-radius:8px;padding:12px}.visit-header{margin-bottom:8px}.visit-item p{color:#ad1457;font-size:.875rem;margin:4px 0}.hotel-stays-list{display:flex;flex-direction:column;gap:16px}.hotel-stay-item{background-color:#fff;border:1px solid #f8bbd9;border-radius:8px;padding:16px}.stay-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.vet-info{background-color:#fce4ec;border-left:3px solid #e91e63;border-radius:6px;margin:12px 0;padding:12px}.vet-info h5{color:#ad1457;font-size:.875rem;font-weight:600;margin:0 0 8px}.vet-info p{color:#c2185b;font-size:.875rem;margin:4px 0}.simple-appointments-list{display:flex;flex-direction:column;gap:12px}.simple-appointment-item{background-color:#fff;border:1px solid #f8bbd9;border-radius:8px;padding:16px;transition:all .2s ease}.simple-appointment-item:hover{box-shadow:0 2px 4px #e91e6326;transform:translateY(-2px)}.simple-appointment-header{align-items:center;border-bottom:1px solid #f8bbd9;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.simple-date{color:#880e4f;font-size:.875rem;font-weight:600}.simple-status{border-radius:12px;font-size:.75rem;font-weight:500;padding:2px 8px;text-transform:capitalize}.simple-appointment-content{display:flex;flex-direction:column;gap:8px}.simple-appointment-content p{color:#ad1457;font-size:.875rem;line-height:1.4;margin:0}.simple-appointment-content strong{color:#880e4f}.simple-metrics{display:flex;gap:16px;margin-top:4px}.simple-metrics span{background-color:#fce4ec;border-radius:4px;color:#ad1457;font-size:.8125rem;font-weight:500;padding:4px 8px}.follow-up-note{background-color:#fce4ec;border-left:3px solid #e91e63;border-radius:6px;margin-top:4px;padding:8px 12px}.follow-up-note strong{color:#c2185b}.follow-up-note span{color:#880e4f}@media (min-width:769px){.simple-appointments-list{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.simple-appointment-item{border-radius:12px;box-shadow:0 1px 3px #e91e631a;padding:20px}.simple-appointment-item:hover{box-shadow:0 4px 12px #e91e6326;transform:translateY(-2px)}.simple-appointment-header{margin-bottom:16px;padding-bottom:12px}.simple-date{font-size:1rem}.simple-appointment-content{gap:10px}.simple-appointment-content p{font-size:.9375rem}.simple-metrics{gap:20px;margin-top:8px}.simple-metrics span{font-size:.875rem;padding:6px 12px}}.follow-up{background-color:#fce4ec;border-left:4px solid #e91e63;border-radius:8px;box-shadow:0 1px 3px #e91e631a;margin-top:16px;padding:16px}.follow-up-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.follow-up-icon{font-size:1rem;line-height:1}.follow-up-header strong{color:#ad1457;font-size:.875rem;font-weight:600}.follow-up-date{color:#880e4f;font-size:.8125rem;font-weight:500;margin-left:24px}.follow-up p{color:#ad1457;font-size:.875rem;margin:4px 0}.status{border-radius:12px;font-size:.75rem;font-weight:500;padding:2px 8px;text-transform:capitalize}.status.completed{background-color:#e8f5e9;color:#2e7d32}.status.active{background-color:#e3f2fd;color:#1565c0}.status.scheduled{background-color:#fce4ec;color:#ad1457}.status.in-progress{background-color:#fff3e0;color:#ef6c00}.status.cancelled{background-color:#ffebee;color:#c62828}.status.booked{background-color:#fce4ec;color:#ad1457}.status.checked-in{background-color:#e3f2fd;color:#1565c0}.status.checked-out{background-color:#e8f5e9;color:#2e7d32}.more-items{color:#c2185b;font-style:italic;margin-top:16px;text-align:center}@media (max-width:768px){.modal-overlay{padding:10px}.dog-details-modal{max-height:95vh}.modal-header,.tab-content{padding:16px}.tabs{flex-wrap:wrap}.tab{flex:1 1;font-size:.875rem;min-width:-webkit-fit-content;min-width:fit-content;padding:10px 12px}.section-header{align-items:flex-start;flex-direction:column;gap:12px}.info-grid{grid-template-columns:1fr}.appointment-header,.package-header,.stay-header,.visit-header{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width:480px){.modal-header h2{font-size:1.25rem}.tab{font-size:.8rem;padding:8px 10px}.dog-profile-picture{height:120px;width:120px}.dog-profile-picture-section{margin:15px 0;padding:12px}}.dogs-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.dogs-header{margin-bottom:30px;text-align:center}.dogs-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:10px}.message.success{border:1px solid #f8bbd9;color:#880e4f}.message.success,.tab-button:hover{background-color:#fce4ec}.tab-button.active{border-bottom-color:#e91e63;color:#e91e63}.overview-search-section{display:flex;justify-content:center;margin-bottom:30px}.search-bar{display:flex;flex-direction:column;gap:10px;max-width:600px;width:100%}.search-input-wrapper{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #0000001a;display:flex;padding:0;position:relative;transition:all .3s ease}.search-input-wrapper:focus-within{border-color:#e91e63;box-shadow:0 4px 20px #e91e6333;transform:translateY(-1px)}.search-icon{color:#6c757d;font-size:1.2rem;padding:15px 16px;pointer-events:none}.search-input{background:#0000;border:none;color:#495057;flex:1 1;font-size:1rem;outline:none;padding:15px 12px}.search-input::placeholder{color:#adb5bd;font-style:italic}.clear-search-btn{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;margin-right:8px;padding:8px 12px;transition:all .2s ease;width:32px}.clear-search-btn:hover{background:#f8f9fa;color:#495057;transform:scale(1.1)}.search-results-info{background:#f8bbd9;border-radius:20px;box-shadow:0 2px 8px #e91e6326;color:#4a148c;font-size:.9rem;font-weight:500;margin:0 auto;max-width:-webkit-fit-content;max-width:fit-content;padding:8px 16px;text-align:center}@media (max-width:768px){.overview-search-section{margin-bottom:20px}.search-bar{max-width:100%}.search-input-wrapper{border-radius:8px}.search-icon,.search-input{padding:12px}.search-results-info{font-size:.8rem;padding:6px 12px}}.stat-card{background:linear-gradient(135deg,#f8bbd9,#e1bee7);color:#4a148c}.dog-form,.owner-form{background:#fff;border-radius:12px;box-shadow:0 2px 20px #0000001a;margin:0 auto;max-width:800px;padding:30px}.dog-form h3,.owner-form h3{color:#2c3e50;font-size:1.8rem;margin-bottom:10px}.form-grid{grid-template-columns:repeat(2,1fr);width:100%}.form-grid .form-group{display:flex;flex-direction:column;width:100%}.owner-form .form-grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.owner-form .form-grid .form-group{display:flex;flex-direction:column;margin-bottom:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e91e63;box-shadow:0 0 0 3px #e91e631a}.readonly-field{background-color:#f8f9fa!important;border-color:#dee2e6!important;color:#6c757d!important;cursor:not-allowed;font-weight:600}.owner-form-preview,.selected-owners-info{background:#fce4ec;border:1px solid #f8bbd9;border-radius:8px;margin-top:20px;padding:20px}.form-preview-section h4,.selected-owners-info h4{color:#495057;margin-bottom:15px}.owners-info-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.owner-info{background:#fff;border:1px solid #f8bbd9;border-radius:6px;padding:15px}.owner-info p{color:#495057;font-size:.9rem;margin:5px 0}.form-preview-section{background:#fff;border:1px solid #f8bbd9;border-radius:6px;padding:15px}.preview-content p{color:#495057;font-size:.95rem;margin:8px 0}.preview-content strong{color:#880e4f}.error-message{background-color:#ffebee;border:1px solid #f8bbd9;border-radius:8px;color:#c62828;font-size:.95rem;margin-bottom:20px;padding:12px 16px}.owners-list-section{border-top:2px solid #f8bbd9;margin-top:40px;padding-top:30px}.owners-list-header{align-items:center;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:25px}.owners-list-header h4{color:#880e4f;flex:1 1;font-size:1.4rem;margin:0}.owners-search{flex:0 0 auto;width:320px}@media (min-width:900px){.owners-search{max-width:400px;min-width:300px;width:calc(33.33333% - 13.33333px)}}@media (min-width:1200px){.owners-search{max-width:350px;min-width:300px;width:calc(25% - 15px)}}.owners-search .search-input{background-color:#fff;border:2px solid #f8bbd9;border-radius:8px;box-shadow:0 1px 3px #e91e631a;font-size:.95rem;padding:12px 15px;transition:border-color .3s ease;width:100%}.owners-search .search-input:focus{border-color:#e91e63;box-shadow:0 0 0 3px #e91e631a;outline:none}.owners-search .search-input::placeholder{color:#ad1457;opacity:.7}.no-owners{background:#fce4ec;border:1px solid #f8bbd9;border-radius:12px;color:#ad1457;padding:40px 20px;text-align:center}.no-owners p{font-size:1.1rem;margin:0}.owners-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.owner-card{background:#fff;border:2px solid #f8bbd9;border-radius:12px;padding:20px;position:relative;transition:all .3s ease}.owner-card:hover{box-shadow:0 4px 20px #e91e6326;transform:translateY(-2px)}.owner-card.editing{background:#fce4ec;border-color:#e91e63;box-shadow:0 0 0 3px #e91e6333}.owner-card.editing:before{background:#e91e63;border-radius:12px;color:#fff;content:"✏️ Editing";font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:4px 10px;position:absolute;right:15px;text-transform:uppercase;top:-10px}.owner-card .owner-info h5{color:#880e4f;font-size:1.2rem;font-weight:600;margin:0 0 12px}.owner-card .owner-info p{color:#ad1457;font-size:.95rem;margin:8px 0}.owner-card .owner-info strong{color:#880e4f}.owner-actions{border-top:1px solid #f8bbd9;display:flex;gap:10px;margin-top:15px;padding-top:15px}.delete-owner-btn,.edit-owner-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:8px 16px;transition:all .3s ease}.edit-owner-btn{background:#e91e63;color:#fff}.edit-owner-btn:hover:not(:disabled){background:#ad1457;transform:translateY(-1px)}.delete-owner-btn{background:#dc3545;color:#fff}.delete-owner-btn:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.delete-owner-btn:disabled,.edit-owner-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background:linear-gradient(135deg,#e91e63,#ad1457)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px #e91e634d}.info{color:#17a2b8;font-size:.875rem;margin-top:5px}.character-count{color:#ad1457;font-size:.8rem;margin-top:4px;opacity:.8;text-align:right}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.form-row .form-field{margin-bottom:0}.dogs-display{margin:0 auto;max-width:1200px}.dogs-section{margin-bottom:40px}.dogs-section h2{color:#2c3e50;font-size:1.8rem;margin-bottom:10px}.no-dogs{background:#fce4ec;border-radius:12px;color:#6c757d;padding:60px 20px;text-align:center}.no-dogs p{font-size:1.1rem;margin:10px 0}.dogs-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.breed-group{margin-bottom:30px}.breed-header{align-items:center;border-bottom:2px solid #f8bbd9;color:#495057;display:flex;font-size:1.3rem;gap:15px;margin-bottom:15px;padding-bottom:8px}.dog-count{background:#e91e63;border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:4px 12px}.age-groups-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:20px}.age-stat{background:linear-gradient(135deg,#f8bbd9,#e1bee7);border-radius:12px;color:#4a148c;padding:20px;text-align:center;transition:transform .3s ease}.age-stat:hover{transform:translateY(-3px)}.age-stat-number{font-size:2rem;font-weight:700;line-height:1;margin-bottom:5px}.age-stat-label{font-size:.85rem;opacity:.9}.dog-card{background:#fff;border:1px solid #f8bbd9;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:20px;transition:all .3s ease}.dog-card:hover{box-shadow:0 4px 20px #e91e6326;transform:translateY(-2px)}.dog-header{align-items:center;border-bottom:1px solid #f8bbd9;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.dog-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.dog-title{display:flex;flex-direction:column;gap:4px}.dog-id{color:#6c757d;font-size:.8rem;font-weight:500}.dog-breed-badge{background:#fce4ec;border-radius:20px;color:#880e4f;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.dog-info{margin-bottom:15px}.dog-info p{color:#495057;font-size:.95rem;margin:8px 0}.dog-weight{color:#28a745!important;font-weight:600}.dog-particular-signs{color:#6c757d!important;font-size:.9rem!important;font-style:italic;line-height:1.4}.dog-contacts{background:#fce4ec;border-radius:6px;color:#495057;font-size:.9rem;margin-bottom:12px;padding:10px}.owner-contact{display:flex;flex-wrap:wrap;gap:8px;margin:5px 0}.contact-name{font-weight:600}.contact-email,.contact-phone{background:#e1bee7;border-radius:12px;color:#4a148c;font-size:.8rem;padding:2px 8px}.card-actions{border-top:1px solid #f8bbd9}.delete-btn,.edit-btn,.view-details-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .3s ease}.view-details-btn{background:#4caf50;color:#fff}.view-details-btn:hover{background:#388e3c}.edit-btn{background:#e91e63}.edit-btn:hover{background:#ad1457}.dogs-header-section{margin-bottom:25px}.dogs-header-section h2{margin-bottom:20px}.dogs-filters{align-items:end;background:#fce4ec;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;padding:20px}.filter-group input,.filter-group select{border:2px solid #f8bbd9}@media (max-width:768px){.dogs-container{padding:15px}.dogs-header h1{font-size:2rem}.tab-navigation{align-items:center;flex-direction:column}.tab-button{max-width:300px;text-align:center;width:100%}.form-grid{gap:15px;grid-template-columns:1fr}.form-grid .form-group{width:100%}.form-row,.owner-form .form-grid{gap:15px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.dogs-grid,.quick-stats{grid-template-columns:1fr}.dogs-filters{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}.breed-header{align-items:flex-start;gap:10px}.breed-header,.card-actions{flex-direction:column}.delete-btn,.edit-btn,.view-details-btn{text-align:center;width:100%}.age-groups-overview{grid-template-columns:repeat(2,1fr)}.owners-info-grid{grid-template-columns:1fr}.owners-list-header{align-items:stretch;flex-direction:column;gap:15px}.owners-list-header h4{flex:none;text-align:left}.owners-search{width:100%}.owners-grid{grid-template-columns:1fr}.owner-actions{flex-direction:column;gap:8px}.delete-owner-btn,.edit-owner-btn{width:100%}}.daycare-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.daycare-header{margin-bottom:30px;text-align:center}.daycare-header h1{color:#047857;font-size:2.5rem;margin-bottom:10px}.page-subtitle{color:#6b7280}.tab-button:hover{background-color:#f9fafb;color:#374151}.tab-button.active{border-bottom-color:#10b981;color:#10b981}.packages-button{background:linear-gradient(135deg,#10b981,#047857)!important;border-bottom:3px solid #10b981!important;border-radius:8px!important;color:#fff!important}.packages-button:hover{background:linear-gradient(135deg,#059669,#065f46)!important;color:#fff!important;transform:translateY(-2px)}.stat-card{background:linear-gradient(135deg,#10b981,#047857);box-shadow:0 4px 15px #10b98133}.daycare-form{border-radius:12px;box-shadow:0 2px 20px #10b9811a;margin:0 auto;max-width:800px;padding:30px}.daycare-form h3{color:#047857;font-size:1.8rem;margin-bottom:10px}.form-description{color:#6b7280}.form-group input,.form-group select,.form-group textarea{border:2px solid #e5e7eb}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a}.selected-dog-info{background:#ecfdf5;border:1px solid #a7f3d0}.selected-dog-info h4{color:#047857}.selected-dog-content{align-items:flex-start;display:flex;gap:20px}.selected-dog-picture{align-items:center;background-color:#fff;border:3px solid #10b981;border-radius:12px;box-shadow:0 4px 12px #10b98133;display:flex;flex-shrink:0;height:120px;justify-content:center;overflow:hidden;width:120px}.selected-dog-img{height:100%;object-fit:cover;width:100%}.dog-info-grid{flex:1 1}.dog-info-grid p{color:#047857}.package-section{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:20px;padding:20px}.package-section h4{color:#047857;margin-bottom:10px}.section-description{color:#6b7280}.btn-primary{background:linear-gradient(135deg,#10b981,#047857)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px #10b9814d}.daycare-visits-display{margin:0 auto;max-width:1200px}.visits-section{margin-bottom:40px}.visits-section h2{color:#047857;font-size:1.8rem;margin-bottom:10px}.no-visits,.section-subtitle{color:#6b7280}.no-visits{background:#f9fafb;border-radius:12px;padding:60px 20px;text-align:center}.no-visits p{font-size:1.1rem;margin:10px 0}.visits-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.attendance-summary{display:flex;justify-content:center;margin-bottom:30px}.summary-card{align-items:center;background:linear-gradient(135deg,#34d399,#10b981);border-radius:50px;box-shadow:0 4px 15px #10b9814d;color:#fff;display:flex;gap:15px;padding:20px 30px;text-align:center}.summary-number{font-size:2rem;font-weight:700}.summary-label{font-size:1.1rem;opacity:.9}.activity-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:30px}.stat-item{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.stat-item:hover{border-color:#10b981;box-shadow:0 4px 15px #10b98133;transform:translateY(-3px)}.stat-icon{font-size:2rem;margin-bottom:10px}.stat-content{display:flex;flex-direction:column;gap:5px}.stat-content .stat-number{color:#047857;font-size:1.8rem;font-weight:700}.stat-content .stat-label{color:#6b7280;font-size:.9rem}.package-stats{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:30px}.package-summary{text-align:center}.package-stat{align-items:center;display:flex;gap:15px;justify-content:center;margin-bottom:20px}.package-number{color:#047857;font-size:2.5rem;font-weight:700}.package-label{color:#065f46;font-size:1.1rem}.package-note p{color:#059669;font-style:italic;margin:0}.emergency-section{background:#fef7ff;border:2px solid #e879f9;border-radius:12px;padding:20px}.emergency-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.info-card{background:#fff;border-left:4px solid #d946ef;border-radius:8px;padding:15px}.info-card h4{color:#a21caf;margin-bottom:10px}.info-card p{color:#6b7280;font-size:.9rem;margin:0}.daycare-visit-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #10b98114;padding:20px;transition:all .3s ease}.daycare-visit-card:hover{box-shadow:0 4px 20px #10b98126;transform:translateY(-2px)}.visit-header{border-bottom:1px solid #f3f4f6;gap:15px;margin-bottom:15px;padding-bottom:10px}.visit-header-content{align-items:center;display:flex;flex:1 1;justify-content:space-between}.visit-header h3{color:#047857;font-size:1.3rem}.dog-picture-small{align-items:center;background-color:#f9fafb;border:2px solid #10b981;border-radius:8px;display:flex;flex-shrink:0;height:60px;justify-content:center;overflow:hidden;width:60px}.dog-picture-img-small{height:100%;object-fit:cover;width:100%}.status-badge.active{background:#d1fae5;color:#047857}.status-badge.completed{background:#e5e7eb;color:#374151}.status-badge.pending{background:#fef3c7;color:#d97706}.visit-info{margin-bottom:15px}.visit-info p{color:#374151;font-size:.95rem;margin:8px 0}.visit-info .checked-in-by{background-color:#f0fdf4;border-left:3px solid #10b981;border-radius:4px;color:#059669;font-size:.9rem;font-style:italic;font-weight:500;margin-top:10px;padding:4px 8px}.package-info,.visit-notes{background:#f9fafb;border-radius:6px;color:#374151;font-size:.9rem;margin-bottom:12px;padding:10px}.package-info h4{color:#047857;font-size:.95rem;margin-bottom:10px}.package-info p{font-size:.85rem;margin:5px 0}.card-actions{border-top:1px solid #f3f4f6}.checkout-btn,.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .3s ease}.edit-btn{background:#10b981}.edit-btn:hover{background:#059669}.visits-header{margin-bottom:25px}.visits-header h2{margin-bottom:20px}.visits-filters{align-items:end;background:#f9fafb;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;padding:20px}.filter-group input,.filter-group select{border:2px solid #e5e7eb}@media (max-width:768px){.daycare-container{padding:15px}.daycare-header h1{font-size:2rem}.tab-navigation{align-items:center;flex-direction:column}.tab-button{width:100%}.dog-picture-small{height:50px;width:50px}.visit-header{gap:10px}.visit-header h3{font-size:1.1rem;max-width:300px;text-align:center}.form-grid{gap:15px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.quick-stats,.visits-grid{grid-template-columns:1fr}.visits-filters{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}.activity-stats,.emergency-info{grid-template-columns:1fr}.card-actions{flex-direction:column}.checkout-btn,.delete-btn,.edit-btn{text-align:center;width:100%}.package-stat,.summary-card{flex-direction:column;gap:10px}.selected-dog-content{align-items:center;flex-direction:column;gap:15px}.selected-dog-picture{height:100px;width:100px}.dog-info-grid{grid-template-columns:1fr;text-align:center}}.hotel-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.hotel-header{margin-bottom:30px;text-align:center}.hotel-header h1{color:#1e3a8a;font-size:2.5rem;margin-bottom:10px}.page-subtitle{color:#64748b}.message.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#047857}.message.error{background-color:#fee2e2;border:1px solid #fca5a5}.tab-navigation{border-bottom:2px solid #e2e8f0}.tab-button{color:#64748b}.tab-button:hover{background-color:#f1f5f9;color:#334155}.tab-button.active{border-bottom-color:#0ea5e9;color:#0ea5e9}.stat-card{background:linear-gradient(135deg,#0891b2,#1e40af);box-shadow:0 4px 15px #0891b233}.hotel-booking-form{background:#fff;border-radius:12px;box-shadow:0 2px 20px #0891b21a;margin:0 auto;max-width:800px;padding:30px}.hotel-booking-form h3{color:#1e3a8a;font-size:1.8rem;margin-bottom:10px}.form-group label{color:#334155}.form-group input,.form-group select,.form-group textarea{border:2px solid #e2e8f0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.vet-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:20px;padding:20px}.vet-section h4{color:#1e3a8a;margin-bottom:10px}.section-description{color:#64748b;font-size:.9rem;margin-bottom:15px}.selected-dog-info{background:#f0f9ff;border:1px solid #bae6fd}.dog-info-grid p,.selected-dog-info h4{color:#0c4a6e}.no-options-warning{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;margin-top:20px;padding:15px}.form-actions{border-top:1px solid #e2e8f0}.btn-primary{background:linear-gradient(135deg,#0ea5e9,#0284c7)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px #0ea5e94d}.btn-secondary{background:#64748b}.btn-secondary:hover{background:#475569}.error{color:#dc2626}.hotel-bookings-display{margin:0 auto;max-width:1200px}.bookings-section h2{color:#1e3a8a}.section-subtitle{color:#64748b}.activity-subsection{margin-bottom:30px}.activity-header{border-bottom:2px solid #e0f2fe;color:#0c4a6e;font-size:1.3rem;margin-bottom:15px;padding-bottom:8px}.no-bookings{background:#f8fafc;color:#64748b}.date-header{border-bottom:2px solid #e2e8f0;color:#334155}.booking-count{background:#0ea5e9}.hotel-booking-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 10px #0891b214;padding:20px;transition:all .3s ease}.hotel-booking-card:hover{box-shadow:0 4px 20px #0891b226;transform:translateY(-2px)}.booking-header{border-bottom:1px solid #f1f5f9}.booking-header h3{color:#1e3a8a}.status-badge.booked{background:#dbeafe;color:#1d4ed8}.status-badge.checked-in{background:#d1fae5;color:#047857}.status-badge.checked-out{background:#f3f4f6;color:#374151}.status-badge.cancelled{background:#fee2e2;color:#dc2626}.booking-info p{color:#334155}.booking-notes,.vet-checkin-info,.vet-checkout-info{background:#f8fafc;border-radius:6px;color:#334155;font-size:.9rem;margin-bottom:12px;padding:10px}.vet-checkin-info h4,.vet-checkout-info h4{color:#0c4a6e;font-size:.95rem;margin-bottom:10px}.vet-checkin-info p,.vet-checkout-info p{font-size:.85rem;margin:5px 0}.card-actions{border-top:1px solid #f1f5f9}.checkin-btn,.checkout-btn,.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .3s ease}.edit-btn{background:#0ea5e9}.edit-btn:hover{background:#0284c7}.delete-btn{background:#dc2626}.delete-btn:hover{background:#b91c1c}.checkin-btn{background:#059669;color:#fff}.checkin-btn:hover{background:#047857}.checkout-btn{background:#7c3aed;color:#fff}.checkout-btn:hover{background:#6d28d9}.filter-group label{color:#334155}.filter-group input,.filter-group select{border:2px solid #e2e8f0}.clear-filters-btn{background:#dc2626}.clear-filters-btn:hover{background:#b91c1c}.loading{color:#64748b}@media (max-width:768px){.hotel-container{padding:15px}.hotel-header h1{font-size:2rem}.tab-navigation{align-items:center;flex-direction:column}.tab-button{max-width:300px;text-align:center;width:100%}.form-grid{gap:15px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.bookings-grid,.quick-stats{grid-template-columns:1fr}.bookings-filters{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}.date-header{align-items:flex-start;gap:10px}.card-actions,.date-header{flex-direction:column}.checkin-btn,.checkout-btn,.delete-btn,.edit-btn{text-align:center;width:100%}}.bookings-grouped-display{margin-top:20px}.year-header{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-bottom:3px solid #0ea5e9;border-radius:12px;box-shadow:0 4px 15px #0ea5e933;margin-bottom:30px;padding:20px 0;text-align:center}.year-header h2{color:#1e3a8a;font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000001a}.month-section{margin-bottom:40px}.month-header{align-items:center;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-left:5px solid #0ea5e9;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.month-header h3{color:#1e3a8a;font-size:1.5rem;font-weight:600;margin:0}.bookings-count{background:#0ea5e9;border-radius:20px;box-shadow:0 2px 6px #0ea5e94d;color:#fff;font-size:.9rem;font-weight:500;padding:6px 12px}.bookings-filters{grid-gap:15px;background:#f8fafc;box-shadow:0 2px 8px #0000000d;display:grid;gap:15px;grid-template-columns:2fr 1fr 1fr 1.5fr auto;margin-bottom:20px}@media (max-width:1024px){.bookings-filters{gap:15px;grid-template-columns:1fr}.year-header h2{font-size:2rem}.month-header{flex-direction:column;gap:10px;text-align:center}}@media (max-width:768px){.year-header{margin-bottom:20px;padding:15px 0}.year-header h2{font-size:1.8rem}.month-header h3{font-size:1.3rem}.month-section{margin-bottom:30px}}.daycare-container{margin:2rem auto;max-width:900px;padding:0 1rem}.daycare-header{margin-bottom:1rem}.daycare-header,.page-header{align-items:center;display:flex;justify-content:space-between}.page-header{border-bottom:2px solid #e5e7eb;margin-bottom:2rem;padding-bottom:1rem}.page-title-section{display:flex;flex-direction:column;gap:.5rem}.page-title{color:#1f2937;margin:0}.page-date{color:#6b7280;font-size:1.125rem;font-weight:500;margin:0}.assign-packages-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:.5rem;box-shadow:0 4px 15px #10b98140;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;min-width:160px;padding:.875rem 1.5rem;transition:all .3s ease}.assign-packages-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 25px #10b98159;transform:translateY(-2px)}.assign-packages-btn:active{transform:translateY(0)}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1.5rem}.page-title{font-size:1.75rem}.page-date{font-size:1rem}.assign-packages-btn{font-size:1rem;padding:1rem 1.5rem;width:100%}}.daycare-form{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.daycare-form h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;margin-top:0}.daycare-form label{display:block;font-weight:600;margin-bottom:.25rem}.daycare-form input,.daycare-form select,.daycare-form textarea{border:1px solid #d1d5db;border-radius:.375rem;font-size:1rem;margin-bottom:1rem;padding:.5rem;width:100%}.daycare-form button{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.daycare-form button:hover{background-color:#2563eb}.daycare-link{color:#3b82f6;display:inline-block;font-weight:500;margin-top:1rem;text-decoration:none}.daycare-link:hover{text-decoration:underline}.daycare-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-bottom:2rem}.daycare-card{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;padding:1rem}.daycare-card h3{font-size:1.125rem;margin:0 0 .5rem}.daycare-card p{color:#4b5563;font-size:.9rem;margin:.25rem 0}.daycare-card .actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.daycare-card .actions button{border:none;border-radius:.375rem;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background-color .2s}.daycare-card .actions .edit-btn{background:#facc15;color:#1f2937}.daycare-card .actions .edit-btn:hover{background:#eab308}.daycare-card .actions .delete-btn{background:#ef4444;color:#fff}.daycare-card .actions .delete-btn:hover{background:#dc2626}.pagination{display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0}.pagination button{background:#fff;border:1px solid #d1d5db;border-radius:.25rem;cursor:pointer;min-width:2rem;padding:.25rem .5rem;transition:background-color .2s}.pagination button:hover{background-color:#f3f4f6}.pagination button.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.pagination .arrow-btn{font-weight:600;padding:.25rem .75rem}.pagination span{display:inline-block;padding:.25rem .5rem}.navbar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:.5rem 1rem}.nav-logo{height:32px;margin-right:1rem;width:auto}.nav-links{display:flex;list-style:none;margin:0;padding:0}.nav-links li{margin-right:1.5rem;position:relative}.nav-links li:last-child{margin-right:0}.nav-links a,.nav-links span{color:#374151;cursor:pointer;font-weight:500;padding:.5rem;text-decoration:none}.nav-links a:hover,.nav-links span:hover{color:#1f2937}.dropdown-menu{background:#fff;border:1px solid #e5e7eb;box-shadow:0 4px 8px #0000001a;display:none;left:0;list-style:none;margin:0;padding:.5rem 0;position:absolute;top:100%;z-index:10}.dropdown:hover .dropdown-menu{display:block}.dropdown-menu li{margin:0}.dropdown-menu a{color:#374151;display:block;padding:.5rem 1rem;white-space:nowrap}.dropdown-menu a:hover{background-color:#f3f4f6}.user-area{align-items:center;display:flex}.user-role{color:#6b7280;font-weight:500;margin-right:1rem}.logout-btn{background:#0000;border:1px solid #d1d5db;border-radius:.375rem;color:#374151;cursor:pointer;padding:.25rem .75rem;transition:background .2s}.logout-btn:hover{background:#f9fafb}.dashboard-main{background:#f3f4f6;flex:1 1;padding:2rem}.daycare-management{margin:0 auto;max-width:1200px;padding:2rem}.page-title{color:#2d3748;font-size:2rem}.page-date,.page-title{font-weight:700;margin-bottom:2rem;text-align:center}.page-date{color:#4a5568;font-size:1.1rem}.section-tabs{border-bottom:2px solid #e2e8f0;display:flex;justify-content:center;margin-bottom:2rem}.tab-btn{background:none;border:none;border-bottom:3px solid #0000;color:#718096;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.tab-btn:hover{background-color:#f7fafc;color:#2d3748}.tab-btn.active{background-color:#ebf8ff;border-bottom-color:#3182ce;color:#3182ce}.section-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.section-content h2{border-bottom:2px solid #e2e8f0;color:#2d3748;font-size:1.5rem;padding-bottom:.5rem}.form-group,.section-content h2{margin-bottom:1.5rem}.form-group label{color:#4a5568;margin-bottom:.5rem}.form-group select,.form-group textarea{border:2px solid #e2e8f0;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group select:focus,.form-group textarea:focus{border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a;outline:none}.btn{border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .3s ease}.btn-success{background-color:#48bb78;color:#fff}.btn-success:hover{background-color:#38a169;transform:translateY(-1px)}.btn-danger{background-color:#f56565}.btn-danger:hover{background-color:#e53e3e;transform:translateY(-1px)}.btn-secondary{background-color:#718096}.btn-secondary:hover{background-color:#4a5568;transform:translateY(-1px)}.error-message{background-color:#fed7d7;border-left:4px solid #e53e3e;color:#c53030}.error-message,.success-message{border-radius:6px;margin-bottom:1rem;padding:1rem}.success-message{background-color:#c6f6d5;border-left:4px solid #38a169;color:#2f855a}.no-data{background-color:#f7fafc;border-radius:6px;color:#718096;font-style:italic;padding:2rem;text-align:center}.visits-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.visit-card{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .3s ease}.visit-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.visit-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.visit-header h3{color:#2d3748;font-size:1.2rem;margin:0}.status{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status.checked-in{background-color:#c6f6d5;color:#2f855a}.status.checked-out{background-color:#fed7d7;color:#c53030}.visit-details p{color:#4a5568;margin:.5rem 0}.visit-details strong{color:#2d3748}.refresh-section{margin-bottom:1.5rem;text-align:center}@media (max-width:768px){.daycare-management{padding:1rem}.section-tabs{flex-direction:column}.tab-btn{border-bottom:none;border-right:3px solid #0000;padding:.75rem 1rem}.tab-btn.active{border-bottom:none;border-right-color:#3182ce}.visits-grid{grid-template-columns:1fr}.visit-header{align-items:flex-start;flex-direction:column;gap:.5rem}}.user-management-container{background:#f3f4f6;min-height:100vh;padding:2rem}.user-management-container h1{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.user-management-container p{color:#6b7280;font-size:1rem;margin-bottom:2rem}.user-form{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem;padding:1.5rem}.user-form h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-primary{background:#3b82f6;border:none;border-radius:.375rem;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.btn-primary:hover{background:#2563eb}.users-table{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.users-table table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e5e7eb;padding:.75rem;text-align:left}.users-table th{color:#374151;font-weight:600}.users-table th,.users-table tr:hover{background:#f9fafb}.btn-secondary{background:#6b7280;border:none;border-radius:.25rem;cursor:pointer;font-size:.75rem;margin-right:.5rem;padding:.25rem .5rem;transition:background-color .2s}.btn-secondary:hover{background:#4b5563}.btn-danger{background:#ef4444;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:background-color .2s}.btn-danger:hover{background:#dc2626}.settings-container{margin:2rem auto;max-width:1200px;padding:0 1rem}.settings-header{border-bottom:2px solid #e5e7eb;margin-bottom:3rem;padding-bottom:1.5rem;text-align:center}.settings-header h1{color:#1f2937;font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.settings-header p{color:#6b7280;font-size:1.125rem;margin:0}.settings-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.settings-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.settings-card:hover:not(.disabled){border-color:#d1d5db;box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-4px)}.settings-card.disabled{cursor:not-allowed;opacity:.6}.settings-card-content{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.settings-card-icon{flex-shrink:0;font-size:2rem;line-height:1}.settings-card-info h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.settings-card-info p{color:#6b7280;font-size:.9rem;line-height:1.5;margin:0}.settings-card-btn{background:linear-gradient(135deg,#3b82f6,#1e40af);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;text-align:center;transition:all .3s ease;width:100%}.settings-card-btn:hover:not(.disabled){background:linear-gradient(135deg,#1e40af,#1e3a8a);transform:translateY(-1px)}.settings-card-btn.disabled{cursor:not-allowed}.settings-card-btn.disabled,.settings-card-btn.disabled:hover{background:#9ca3af;transform:none}.current-user-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.5rem}.current-user-info h3{color:#374151;font-size:1.125rem;font-weight:600;margin:0 0 1rem}.user-badge{align-items:center;display:flex;gap:1rem}.user-role-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:.375rem;color:#fff;font-size:.875rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.user-status{color:#059669;font-size:.9rem;font-weight:500}.user-status:before{color:#10b981;content:"●";font-size:.75rem;margin-right:.5rem}@media (max-width:768px){.settings-container{margin:1rem auto;padding:0 1rem}.settings-header{margin-bottom:2rem}.settings-header h1{font-size:2rem}.settings-header p{font-size:1rem}.settings-grid{gap:1.5rem;grid-template-columns:1fr;margin-bottom:2rem}.settings-card{padding:1.25rem}.settings-card-content{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;text-align:center}.settings-card-icon{align-self:center;font-size:2.5rem}.user-badge{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:480px){.settings-header h1{font-size:1.75rem}.settings-card{padding:1rem}.settings-card-info h3{font-size:1.125rem}.settings-card-info p{font-size:.875rem}}.vet-container{margin:0 auto;max-width:1200px;padding:2rem}.form-description{background:#f8fafc;border-left:4px solid #3b82f6;border-radius:.5rem;color:#64748b;font-size:.875rem;line-height:1.5;margin-bottom:2rem;padding:1rem}.exam-form{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:1rem;padding:2rem}.exam-header{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.exam-header h2{align-items:center;color:#1e293b;display:flex;font-size:1.5rem;gap:.5rem;margin:0 0 1rem}.exam-header h2:before{content:"🩺";font-size:1.25rem}.appointment-info{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.appointment-info p{background:#f8fafc;border-left:3px solid #3b82f6;border-radius:.375rem;font-size:.875rem;margin:0;padding:.5rem}.appointment-info strong{color:#374151;font-weight:600}.exam-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.exam-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.view-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.view-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.vet-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.vet-header h1{color:#1f2937;font-size:1.75rem;font-weight:600}.tab-navigation{border-bottom:2px solid #e5e7eb;margin-bottom:1.5rem}.tab-button{border-bottom:2px solid #0000;color:#6b7280;font-weight:600;margin-right:1rem;padding:.75rem 1.5rem;transition:all .2s}.tab-button:hover{color:#3b82f6}.tab-button.active{border-bottom-color:#3b82f6;color:#3b82f6}.vet-filters{align-items:center;background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.filter-group{gap:.25rem}.filter-group label{color:#374151;font-size:.875rem}.filter-group input,.filter-group select{border:1px solid #d1d5db;border-radius:.375rem;min-width:200px;padding:.5rem}.clear-filters-btn{background-color:#6b7280;border-radius:.375rem;font-size:.875rem;margin-left:auto;padding:.5rem 1rem;transition:background-color .2s}.clear-filters-btn:hover{background-color:#4b5563}.vet-form{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;margin-bottom:2rem;padding:1.5rem}.vet-form h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem;margin-top:0}.form-grid{grid-gap:1rem;gap:1rem;margin-bottom:1rem}.form-group label{color:#374151;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:80px;resize:vertical}.form-group .error{color:#dc2626;font-size:.875rem;margin-top:.25rem}.checkbox-group{align-items:center;display:flex;gap:.5rem;margin:1rem 0}.checkbox-group input[type=checkbox]{width:auto}.form-actions{border-top:1px solid #e5e7eb;gap:1rem;margin-top:1.5rem;padding-top:1rem}.form-actions button{border:none;border-radius:.375rem;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background-color .2s}.btn-primary{background-color:#3b82f6}.btn-primary:hover{background-color:#2563eb}.btn-secondary{background-color:#6b7280}.btn-secondary:hover{background-color:#4b5563}.appointments-section{background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.appointments-section h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:1rem;margin-top:0}.appointments-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.appointment-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;transition:all .2s}.appointment-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a}.appointment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.appointment-header h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin:0}.appointment-date{color:#6b7280;font-size:.875rem;font-weight:500}.appointment-info{margin-bottom:.75rem}.appointment-info p{color:#4b5563;font-size:.9rem;margin:.25rem 0}.appointment-info .dog-name{color:#1f2937;font-weight:600}.appointment-info .owner-names{color:#6b7280}.appointment-cause{background:#f3f4f6;font-size:.875rem;font-style:italic;padding:.5rem}.appointment-cause,.vet-details{border-radius:.25rem;margin:.5rem 0}.vet-details{background:#f9fafb;border-left:3px solid #3b82f6;padding:.75rem}.vet-details h4{color:#1f2937;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.vet-details p{color:#4b5563;font-size:.8rem;margin:.25rem 0}.status-badge{border-radius:9999px;display:inline-block;font-size:.75rem;letter-spacing:.025em;padding:.25rem .5rem}.status-scheduled{background-color:#dbeafe;color:#1d4ed8}.status-in-progress{background-color:#fef3c7;color:#d97706}.status-completed{background-color:#d1fae5;color:#065f46}.status-cancelled{background-color:#fee2e2;color:#dc2626}.card-actions{border-top:1px solid #e5e7eb;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:.75rem}.card-actions button{border:none;border-radius:.25rem;cursor:pointer;font-size:.8rem;font-weight:500;padding:.4rem .8rem;transition:background-color .2s}.edit-btn{background-color:#052378}.edit-btn:hover{background-color:#1a5ec6}.delete-btn{background-color:#ef4444}.delete-btn:hover{background-color:#dc2626}.status-btn{background-color:#10b981;color:#fff}.status-btn:hover{background-color:#059669}.loading{align-items:center;color:#6b7280;display:flex;justify-content:center;padding:2rem}.message{border-radius:.375rem;margin-bottom:1rem;padding:.75rem}.message.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.message.success{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.no-appointments{color:#6b7280;font-style:italic;padding:3rem 0;text-align:center}.no-appointments p{font-size:1rem;margin:0}.follow-up-required{background-color:#fef3c7;border-radius:.25rem;color:#92400e;display:inline-block;font-size:.75rem;font-weight:600;margin-top:.5rem;padding:.25rem .5rem}@media (max-width:768px){.vet-container{padding:0 .5rem}.vet-header{gap:1rem}.vet-filters,.vet-header{align-items:stretch;flex-direction:column}.filter-group input,.filter-group select{min-width:auto}.clear-filters-btn{align-self:flex-start;margin-left:0}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;justify-content:stretch}.appointments-list{grid-template-columns:1fr}.tab-navigation{flex-wrap:nowrap;overflow-x:auto}.tab-button{white-space:nowrap}}.grooming-container{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.grooming-header{margin-bottom:30px;text-align:center}.grooming-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:10px}.page-subtitle{color:#7f8c8d;font-size:1.1rem;margin:0}.message{border-radius:8px;font-weight:500;margin-bottom:20px;padding:15px}.message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.tab-navigation{border-bottom:2px solid #e9ecef;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:30px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 20px;transition:all .3s ease}.tab-button:hover{background-color:#f8f9fa;color:#495057}.tab-button.active{background-color:#fff;border-bottom-color:#007bff;color:#007bff}.quick-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0000001a;color:#fff;padding:25px;text-align:center;transition:transform .3s ease}.stat-card:hover{transform:translateY(-5px)}.stat-card h3{font-size:1.1rem;margin:0 0 15px;opacity:.9}.stat-number{font-size:2.5rem;font-weight:700;line-height:1;margin:0}.stat-label{font-size:.9rem;margin:5px 0 0;opacity:.8}.grooming-booking-form{background:#fff;border-radius:12px;box-shadow:0 2px 20px #0000001a;margin:0 auto;max-width:800px;padding:30px}.grooming-booking-form h3{color:#2c3e50;font-size:1.8rem;margin-bottom:10px}.form-description{color:#6c757d;font-size:1rem;margin-bottom:25px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{color:#495057;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.checkbox-group{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}.checkbox-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .3s ease}.checkbox-label:hover{background-color:#f8f9fa}.checkbox-label input[type=checkbox]{margin:0;transform:scale(1.2)}.selected-dog-info{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin-top:20px;padding:20px}.selected-dog-info h4{color:#495057;margin-bottom:15px}.dog-info-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.dog-info-grid p{color:#495057;margin:0;padding:5px 0}.form-actions{border-top:1px solid #dee2e6;display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:500;padding:12px 25px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px #007bff4d;transform:translateY(-2px)}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#545b62;transform:translateY(-2px)}.btn-primary:disabled,.btn-secondary:disabled{cursor:not-allowed;opacity:.6}.error{color:#dc3545;font-size:.875rem;margin-top:5px}.grooming-bookings-display{margin:0 auto;max-width:1200px}.bookings-section{margin-bottom:40px}.bookings-section h2{color:#2c3e50;font-size:1.8rem;margin-bottom:10px}.section-subtitle{color:#6c757d;font-size:1rem;margin-bottom:25px}.no-bookings{background:#f8f9fa;border-radius:12px;color:#6c757d;padding:60px 20px;text-align:center}.no-bookings p{font-size:1.1rem;margin:10px 0}.bookings-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.date-group{margin-bottom:30px}.date-header{align-items:center;border-bottom:2px solid #e9ecef;color:#495057;display:flex;font-size:1.3rem;gap:15px;margin-bottom:15px;padding-bottom:8px}.booking-count{background:#007bff;border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:4px 12px}.grooming-booking-card{background:#fff;border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:20px;transition:all .3s ease}.grooming-booking-card:hover{box-shadow:0 4px 20px #0000001a;transform:translateY(-2px)}.booking-header{align-items:center;border-bottom:1px solid #f1f3f4;display:flex;justify-content:space-between;margin-bottom:15px;padding-bottom:10px}.booking-header h3{color:#2c3e50;font-size:1.3rem;margin:0}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.scheduled{background:#e3f2fd;color:#1565c0}.status-badge.in-progress{background:#fff3e0;color:#ef6c00}.status-badge.completed{background:#e8f5e8;color:#2e7d32}.status-badge.cancelled{background:#ffebee;color:#c62828}.booking-info{margin-bottom:15px}.booking-info p{color:#495057;font-size:.95rem;margin:8px 0}.booking-notes,.booking-services,.completed-info,.grooming-notes{background:#f8f9fa;border-radius:6px;color:#495057;font-size:.9rem;margin-bottom:12px;padding:10px}.card-actions{border-top:1px solid #f1f3f4;display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;padding-top:15px}.delete-btn,.edit-btn,.status-btn{border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:6px 12px;transition:all .3s ease}.edit-btn{background:#007bff;color:#fff}.edit-btn:hover{background:#0056b3}.delete-btn{background:#dc3545;color:#fff}.delete-btn:hover{background:#c82333}.status-actions{display:flex;flex-wrap:wrap;gap:8px}.status-btn{font-size:.8rem;padding:5px 10px}.start-btn{background:#28a745;color:#fff}.start-btn:hover{background:#218838}.complete-btn{background:#17a2b8;color:#fff}.complete-btn:hover{background:#138496}.cancel-btn{background:#6c757d;color:#fff}.cancel-btn:hover{background:#545b62}.bookings-header{margin-bottom:25px}.bookings-header h2{margin-bottom:20px}.bookings-filters{align-items:end;background:#f8f9fa;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;padding:20px}.filter-group{display:flex;flex-direction:column;min-width:200px}.filter-group label{color:#495057;font-size:.9rem;font-weight:600;margin-bottom:8px}.filter-group input,.filter-group select{border:2px solid #e9ecef;border-radius:6px;font-size:.95rem;padding:10px}.clear-filters-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;height:-webkit-fit-content;height:fit-content;padding:10px 15px;transition:background-color .3s ease}.clear-filters-btn:hover{background:#c82333}.loading{color:#6c757d;font-size:1.1rem;padding:40px;text-align:center}@media (max-width:768px){.grooming-container{padding:15px}.grooming-header h1{font-size:2rem}.tab-navigation{align-items:center;flex-direction:column}.tab-button{max-width:300px;text-align:center;width:100%}.form-grid{gap:15px}.checkbox-group,.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.bookings-grid,.quick-stats{grid-template-columns:1fr}.bookings-filters{align-items:stretch;flex-direction:column}.filter-group{min-width:auto}.date-header{align-items:flex-start;gap:10px}.card-actions,.date-header{flex-direction:column}.delete-btn,.edit-btn,.status-btn{text-align:center;width:100%}.status-actions{flex-direction:column;width:100%}}
/*# sourceMappingURL=main.3b788bc4.css.map*/