@charset "UTF-8";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f5f5;color:#333;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea{font-size:16px}html{scroll-behavior:smooth}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 4px #0000001a}.header-content{max-width:1200px;margin:0 auto;padding:1rem 2rem}.header-content h1{font-size:1.5rem;margin-bottom:1rem}.nav-menu{display:flex;gap:2rem}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .3s}.nav-link:hover{background-color:#ffffff1a}.nav-link.active{background-color:#fff3;font-weight:700}.app-main{flex:1;max-width:1200px;width:100%;margin:2rem auto;padding:0 2rem}.app-footer{background-color:#333;color:#fff;text-align:center;padding:1rem;margin-top:auto}.btn{display:inline-block;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;text-decoration:none;transition:all .3s;font-size:.9rem}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover{background-color:#5568d3}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-warning{background-color:#ffc107;color:#333}.btn-warning:hover{background-color:#e0a800}.btn-danger{background-color:#dc3545;color:#fff}.btn-danger:hover{background-color:#c82333}.btn-info{background-color:#17a2b8;color:#fff}.btn-info:hover{background-color:#138496}.btn-sm{padding:.25rem .5rem;font-size:.8rem}.btn:disabled{opacity:.6;cursor:not-allowed}.table-container{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 4px #0000001a}.table{width:100%;border-collapse:collapse}.table thead{background-color:#f8f9fa}.table th,.table td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}.table th{font-weight:600;color:#495057}.table tbody tr:hover{background-color:#f8f9fa}.table .actions{display:flex;gap:.5rem}.form{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group label{font-weight:600;margin-bottom:.5rem;color:#495057}.form-control{padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-size:1rem}.form-control:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 .2rem #667eea40}.form-actions{display:flex;gap:1rem;margin-top:2rem}.error-message{color:#dc3545;font-size:.875rem;margin-top:.25rem}.alert{padding:1rem;border-radius:4px;margin-bottom:1rem}.alert-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.alert-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.loading,.empty-state{text-align:center;padding:3rem;color:#6c757d}.empty-state p{margin-bottom:1rem;font-size:1.1rem}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1{font-size:2rem;color:#333}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.nav-menu{flex-direction:column;gap:.5rem}.header{flex-direction:column;align-items:flex-start;gap:1rem}.header h1{font-size:1.5rem}.header .btn{width:100%}.table{font-size:.875rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table thead,.table tbody,.table tr,.table th,.table td{display:block}.table thead{display:none}.table tr{margin-bottom:1rem;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;background:#fff}.table td{text-align:left;padding:.5rem 0;border:none;display:flex;justify-content:space-between;align-items:center}.table td:before{content:attr(data-label);font-weight:600;color:#666;flex:0 0 40%;text-transform:uppercase;font-size:.75rem}.table td:last-child{border-bottom:none}.table .actions{flex-direction:row;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.table .actions:before{display:none}.table .actions .btn{font-size:.75rem;padding:.5rem .75rem}.pet-list-container,.appointment-list-container,.medical-history-list-container,.client-list-container,.veterinarian-list-container{padding:1rem}.search-container{margin:1rem 0}.search-container .search-input{font-size:14px}}@media (max-width: 480px){.header h1{font-size:1.25rem}.btn{font-size:.875rem;padding:.625rem 1rem}.table td{font-size:.813rem}.table td:before{flex:0 0 45%;font-size:.7rem}}
