body,html{scroll-behavior:auto!important}html{scroll-padding-top:0}body{background:linear-gradient(to bottom right,#f8fafc,#e2e8f0);min-height:100vh;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;padding:calc(1rem * 4)}.check-in-container{min-height:100vh;display:flex;flex-direction:column}.check-in-header{background:0 0;padding:1rem 0;border-bottom:1px solid rgba(34,197,94,.1)}.logo-section{text-align:center}.clinic-name{color:#15803d;font-size:2rem;font-weight:700;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.05)}.check-in-content{flex:1;display:flex;align-items:center;justify-content:center}.form-section{background:rgba(255,255,255,.95);backdrop-filter:blur(15px);border-radius:20px;padding:3rem;box-shadow:0 20px 40px rgba(0,0,0,.1);max-width:800px;width:100%;margin:0 auto}.form-title{color:#2c3e50;font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:1rem}.form-description{color:#6c757d;text-align:center;font-size:1.1rem;margin-bottom:2rem;font-weight:500}.form-section-title{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;padding:.75rem 1.5rem;border-radius:50px;font-weight:700;text-align:center;margin:2rem 0 1.5rem 0;font-size:1.1rem;box-shadow:0 4px 15px rgba(76,175,80,.3)}.form-section-title:first-of-type{margin-top:0}.form-label{font-weight:600;color:#2c3e50;margin-bottom:.5rem}.form-label.required::after{content:' *';color:#e74c3c;font-weight:700}.form-control,.form-select{border:2px solid #e9ecef;border-radius:10px;padding:.75rem 1rem;font-size:1rem;transition:all .3s ease;background:rgba(255,255,255,.9)}.form-control:focus,.form-select:focus{border-color:#4caf50;box-shadow:0 0 0 .2rem rgba(76,175,80,.25);background:#fff}.form-control.is-invalid,.form-select.is-invalid{border-color:#e74c3c;box-shadow:0 0 0 .2rem rgba(231,76,60,.25)}.invalid-feedback{display:block;width:100%;margin-top:.25rem;font-size:.875rem;color:#e74c3c;font-weight:500}.form-check{padding:1rem;background:rgba(76,175,80,.05);border-radius:10px;border:2px solid #e9ecef;transition:all .3s ease;display:flex;align-items:flex-start;gap:.75rem}.form-check:hover{border-color:#4caf50;background:rgba(76,175,80,.1)}.form-check-input{margin:0;margin-top:.125rem;flex-shrink:0;width:1.25rem;height:1.25rem}.form-check-input:checked{background-color:#4caf50;border-color:#4caf50}.form-check-label{font-size:.95rem;line-height:1.5;color:#495057;margin:0;flex:1}.form-check-label a{color:#4caf50;text-decoration:none;font-weight:600}.form-check-label a:hover{text-decoration:underline}.btn-primary{background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:50px;padding:1rem 2rem;font-size:1.25rem;font-weight:700;transition:all .3s ease;box-shadow:0 4px 15px rgba(34,197,94,.15);text-transform:uppercase;letter-spacing:1px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(34,197,94,.25);background:linear-gradient(135deg,#16a34a,#15803d)}.btn-primary:disabled{transform:none;box-shadow:0 2px 8px rgba(34,197,94,.1);opacity:.7}.spinner-border-sm{width:1rem;height:1rem;margin-right:.5rem}.alert{border-radius:10px;border:none;font-weight:500;margin-bottom:1.5rem}.alert-danger{background:rgba(231,76,60,.1);color:#c0392b;border-left:4px solid #e74c3c}.alert-success{background:rgba(39,174,96,.1);color:#27ae60;border-left:4px solid #2ecc71}.modal-content{border-radius:20px;border:none;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal-header{border-bottom:1px solid #e9ecef;border-radius:20px 20px 0 0;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.modal-title{font-weight:700}.btn-close{filter:brightness(0) invert(1)}.modal-body{padding:2rem}.modal-body .text-success{color:#27ae60!important}.modal-body h3{color:#2c3e50;font-weight:700;margin-bottom:1rem}.modal-body p{color:#6c757d;font-size:1.1rem;line-height:1.6}.modal-lg .modal-body h6{color:#2c3e50;font-weight:700;margin-top:1.5rem;margin-bottom:.5rem}.modal-lg .modal-body h6:first-child{margin-top:0}.modal-lg .modal-body p{margin-bottom:1rem;line-height:1.6}@media (max-width:768px){body{padding:calc(1rem * 2)}.form-section{padding:2rem 1.5rem;margin:1rem 0;border-radius:15px}.form-title{font-size:2rem}.clinic-name{font-size:1.5rem}.form-section-title{font-size:1rem;padding:.6rem 1rem}.btn-primary{font-size:1.1rem;padding:.875rem 1.5rem}}@media (max-width:576px){body{padding:calc(1rem * 1)}.check-in-content{padding:1rem 0}.form-section{padding:1.5rem 1rem;margin:.5rem 0}.form-title{font-size:1.75rem}.form-description{font-size:1rem}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.form-section{animation:fadeInUp .6s ease-out}.form-section-title{transition:all .3s ease}.form-section-title:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(76,175,80,.4)}.form-control:focus,.form-select:focus{transform:translateY(-1px)}#phone{font-family:'Courier New',monospace;letter-spacing:1px}input[type=date]{position:relative}input[type=date]::-webkit-calendar-picker-indicator{background:linear-gradient(135deg,#4caf50,#66bb6a);border-radius:3px;cursor:pointer}.form-loading{pointer-events:none;opacity:.7}.form-loading *{cursor:wait!important}#loadingModal .spinner-border{border-width:.4rem;animation:spinner-pulse 1.5s ease-in-out infinite}@keyframes spinner-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}#loadingModal .modal-content{border:none;background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}#loadingModal h3{color:#2c3e50;font-weight:600}#loadingModal p{color:#6c757d;font-size:1rem}.form-check .form-check-input{margin:0}#breedSuggestions{background:#fff;border:1px solid #e9ecef;border-top:none;border-radius:0 0 10px 10px;box-shadow:0 4px 15px rgba(0,0,0,.1);max-height:200px;overflow-y:auto;z-index:1000}#breedSuggestions .suggestion-item{padding:.75rem 1rem;border-bottom:1px solid #f8f9fa;cursor:pointer;transition:all .2s ease;font-size:.95rem}#breedSuggestions .suggestion-item:last-child{border-bottom:none}#breedSuggestions .suggestion-item.bg-primary,#breedSuggestions .suggestion-item:hover{background-color:#4caf50!important;color:#fff!important}#breedSuggestions .suggestion-item:hover{transform:translateX(2px)}#breedSuggestions::-webkit-scrollbar{width:6px}#breedSuggestions::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}#breedSuggestions::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}#breedSuggestions::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.connection-status{position:fixed;top:15px;right:15px;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:50px;font-size:.85rem;font-weight:600;z-index:9999;box-shadow:0 2px 10px rgba(0,0,0,.15);transition:all .3s ease}.connection-status .status-dot{width:10px;height:10px;border-radius:50%;transition:all .3s ease}.connection-status.online{background:rgba(34,197,94,.15);border:2px solid #22c55e;color:#15803d}.connection-status.online .status-dot{background:#22c55e;box-shadow:0 0 8px #22c55e;animation:pulse-green 2s infinite}.connection-status.offline{background:rgba(239,68,68,.15);border:2px solid #ef4444;color:#b91c1c}.connection-status.offline .status-dot{background:#ef4444;box-shadow:0 0 8px #ef4444;animation:pulse-red 1s infinite}.connection-status.reconnecting{background:rgba(251,191,36,.15);border:2px solid #fbbf24;color:#b45309}.connection-status.reconnecting .status-dot{background:#fbbf24;box-shadow:0 0 8px #fbbf24;animation:pulse-yellow .5s infinite}@keyframes pulse-green{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes pulse-red{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes pulse-yellow{0%,100%{opacity:1}50%{opacity:.5}}@media (max-width:576px){.connection-status{top:10px;right:10px;padding:6px 12px;font-size:.75rem}.connection-status .status-dot{width:8px;height:8px}}