*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}html,body,#root{height:100%}:root{--primary-color: #64b5f6;--secondary-color: #4caf50;--accent-color: #ff9800;--danger-color: #f44336;--warning-color: #ffc107;--info-color: #2196f3;--success-color: #4caf50;--dark-color: #333;--light-color: #f8f9fa;--border-color: #dee2e6;--text-muted: #666;--shadow: 0 2px 10px rgba(0,0,0,.1);--border-radius: 8px;--transition: all .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:var(--light-color)}.loading-spinner{font-size:18px;color:var(--primary-color);padding:2rem;border-radius:var(--border-radius);background:#fff;box-shadow:var(--shadow)}.btn{display:inline-block;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius);cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;transition:var(--transition);background:var(--primary-color);color:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--primary-color)}.btn-secondary{background:var(--info-color)}.btn-success{background:var(--success-color)}.btn-danger{background:var(--danger-color)}.btn-warning{background:var(--warning-color);color:var(--dark-color)}.card{background:#fff;border-radius:var(--border-radius);box-shadow:var(--shadow);overflow:hidden}.card-header{padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--light-color)}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);background:var(--light-color)}html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}.table-container,.tabla-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 768px){.container{padding:0 .5rem}.btn{padding:.5rem 1rem;font-size:13px}}@media (max-width: 600px){.stats-grid,.quick-stats,.admin-stats,.cards-grid,.metrics-grid,.info-grid,.form-row{grid-template-columns:1fr!important}.card-header,.card-body{padding:1rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.toast-viewport{position:fixed;z-index:99999;display:flex;flex-direction:column;gap:12px;width:min(380px,calc(100vw - 32px));padding:16px;pointer-events:none;box-sizing:border-box}.toast-viewport--top-right{top:0;right:0;align-items:flex-end}.toast-viewport--bottom-right{bottom:0;right:0;align-items:flex-end}.toast-viewport--top-left{top:0;left:0;align-items:flex-start}.toast-viewport--bottom-left{bottom:0;left:0;align-items:flex-start}.toast-viewport--top-center{top:0;left:50%;transform:translate(-50%);align-items:center}.toast-viewport--bottom-center{bottom:0;left:50%;transform:translate(-50%);align-items:center}.toast-viewport--bottom-right,.toast-viewport--bottom-left,.toast-viewport--bottom-center{flex-direction:column-reverse}.toast{--toast-accent: #2563eb;--toast-icon-bg: #eff6ff;--toast-tint: #f8fafc;position:relative;pointer-events:auto;width:100%;box-sizing:border-box;display:flex;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;background:#fff;border:1px solid rgba(15,23,42,.06);border-left:4px solid var(--toast-accent);border-radius:12px;box-shadow:0 6px 16px -4px #0f172a2e,0 2px 6px -2px #0f172a1f;overflow:hidden;font-family:inherit}.toast--success{--toast-accent: #16a34a;--toast-icon-bg: #dcfce7;--toast-tint: #f2fdf5}.toast--error{--toast-accent: #dc2626;--toast-icon-bg: #fee2e2;--toast-tint: #fef4f4}.toast--warning{--toast-accent: #d97706;--toast-icon-bg: #fef3c7;--toast-tint: #fffcf3}.toast--info{--toast-accent: #2563eb;--toast-icon-bg: #dbeafe;--toast-tint: #f5f9ff}.toast{background:linear-gradient(180deg,var(--toast-tint),#ffffff 60%)}.toast__icon{flex-shrink:0;width:44px;height:44px;object-fit:contain;margin-top:1px;filter:drop-shadow(0 1px 1px rgba(15,23,42,.12));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.toast__content{flex:1 1 auto;min-width:0;padding-top:1px}.toast__title{margin:0;font-size:.9rem;font-weight:700;line-height:1.25;color:#0f172a}.toast__message{margin:3px 0 0;font-size:.83rem;line-height:1.4;color:#475569;word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.toast__close{flex-shrink:0;display:grid;place-items:center;width:26px;height:26px;margin:-3px -3px 0 0;padding:0;border:none;border-radius:7px;background:transparent;color:#94a3b8;cursor:pointer;transition:background-color .15s ease,color .15s ease}.toast__close:hover{background:#0f172a0f;color:#334155}.toast__close:focus-visible{outline:2px solid var(--toast-accent);outline-offset:1px}.toast__progress{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--toast-accent);opacity:.55;transform-origin:left center;animation-name:toast-progress;animation-timing-function:linear;animation-fill-mode:forwards}.toast:hover .toast__progress{animation-play-state:paused}.toast--entering{animation:toast-in .32s cubic-bezier(.21,1.02,.73,1) both}.toast--leaving{animation:toast-out .28s cubic-bezier(.55,0,.75,.35) both}@keyframes toast-in{0%{opacity:0;transform:translate(120%) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0) scale(1);max-height:200px;margin-bottom:0}to{opacity:0;transform:translate(120%) scale(.98)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast-viewport--top-left .toast--entering,.toast-viewport--bottom-left .toast--entering{animation-name:toast-in-left}.toast-viewport--top-left .toast--leaving,.toast-viewport--bottom-left .toast--leaving{animation-name:toast-out-left}@keyframes toast-in-left{0%{opacity:0;transform:translate(-120%) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-out-left{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-120%) scale(.98)}}@media (max-width: 480px){.toast-viewport{width:100%;padding:10px}.toast-viewport--top-center,.toast-viewport--bottom-center{transform:none;left:0;align-items:stretch}}@media (prefers-reduced-motion: reduce){.toast--entering,.toast--leaving{animation-duration:.01ms}.toast__progress{display:none}}.ps-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:grid;place-items:center;padding:20px;background:#14384f6b;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:ps-confirm-fade .18s ease both}.ps-confirm{width:min(400px,100%);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 26px 22px;background:linear-gradient(180deg,#f3f9fd,#fff 55%);border:1px solid rgba(15,23,42,.08);border-radius:20px;box-shadow:0 24px 60px -12px #14384f73;animation:ps-confirm-pop .24s cubic-bezier(.21,1.02,.73,1) both}.ps-confirm__mascot{width:120px;height:120px;object-fit:contain;margin-top:-4px;filter:drop-shadow(0 3px 5px rgba(15,23,42,.14));-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ps-confirm__title{margin:6px 0 0;font-size:1.2rem;font-weight:800;color:#14384f;letter-spacing:-.01em;text-wrap:balance}.ps-confirm__message{margin:4px 0 0;font-size:.92rem;line-height:1.45;color:#4a6274;text-wrap:pretty}.ps-confirm__actions{display:flex;gap:12px;width:100%;margin-top:20px}.ps-confirm__btn{flex:1;padding:11px 16px;font-family:inherit;font-size:.95rem;font-weight:700;border-radius:11px;border:1.5px solid transparent;cursor:pointer;transition:transform .12s ease,filter .12s ease,background-color .12s ease}.ps-confirm__btn:hover{transform:translateY(-1px)}.ps-confirm__btn:active{transform:translateY(0)}.ps-confirm__btn:focus-visible{outline:3px solid #29a3d4;outline-offset:2px}.ps-confirm__btn--cancel{background:#eef4f8;border-color:#0f172a1a;color:#45607a}.ps-confirm__btn--cancel:hover{background:#e3edf3}.ps-confirm__btn--ok{background:#1f8fc4;color:#fff}.ps-confirm__btn--ok:hover{filter:brightness(1.06)}.ps-confirm__btn--ok.is-danger{background:#dc2626}@keyframes ps-confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes ps-confirm-pop{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.ps-confirm-backdrop,.ps-confirm{animation-duration:.01ms}.ps-confirm__btn:hover{transform:none}}.role-selection-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:#d6f1f8;background-image:url(https://i.ibb.co/W9NRzQV/Fondo-Huellitas2-Comprimida.png);background-repeat:no-repeat;background-size:cover;background-position:center}.role-selection-card{background:#fff;padding:3rem;border-radius:15px;box-shadow:0 15px 35px #0000001a;width:100%;max-width:600px;text-align:center;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.role-header{margin-bottom:2rem}.role-header h1{font-family:Lilita One,sans-serif;color:#008cb1;margin-bottom:.1rem;font-size:4rem;font-weight:600;text-shadow:-2px -2px 0 #013644,2px -2px 0 #013644,-2px 2px 0 #013644,2px 2px 0 #013644}.role-header h2{font-family:Lilita One,sans-serif;color:#2b2b2b;font-weight:400;font-size:2rem}.role-header-img{margin-top:.2rem;max-width:300px;height:auto;display:block;margin-left:auto;margin-right:auto}.textoEscritura{overflow:hidden;white-space:nowrap;width:fit-content;margin:0 auto;font-size:1.5rem;font-weight:500;color:#333;animation:typing 2s steps(32,end)}@keyframes typing{0%{width:0}to{width:32ch}}.role-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.role-btn{padding:1rem 2rem;border:2px solid transparent;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.role-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.role-btn:hover:before{left:100%}.role-btn.recepcionista{background:#a4ebff;color:#02627c;border-color:#02627c;border-width:3px;font-family:Fjalla One,sans-serif;font-size:1.5rem;display:flex;align-items:center;justify-content:center;height:55px;padding:0 1.5rem}.role-btn.recepcionista:hover{background:#46974a;color:#fff;border-color:#29642c;border-width:3px;transform:translateY(-2px);box-shadow:0 8px 25px #1976d24d}.role-btn.veterinario{background:#a4ebff;color:#02627c;border-color:#02627c;border-width:3px;font-family:Fjalla One,sans-serif;font-size:1.5rem;display:flex;align-items:center;justify-content:center;height:55px;padding:0 1.5rem}.role-btn.veterinario:hover{background:#46974a;color:#fff;border-color:#29642c;border-width:3px;transform:translateY(-2px);box-shadow:0 8px 25px #1976d24d}.role-btn.administrador{background:#a4ebff;color:#02627c;border-color:#02627c;border-width:3px;font-family:Fjalla One,sans-serif;font-size:1.5rem;display:flex;align-items:center;justify-content:center;height:55px;padding:0 1.5rem}.role-btn.administrador:hover{background:#46974a;color:#fff;border-color:#29642c;border-width:3px;transform:translateY(-2px);box-shadow:0 8px 25px #1976d24d}.role-info{padding-top:1.5rem;border-top:1px solid #eee;color:#666;font-size:1rem;font-style:italic}@media (max-width: 768px){.role-selection-container{padding:1rem}.role-selection-card{padding:2rem}.role-header h1{font-size:1.8rem}.role-header h2{font-size:1.1rem}.role-btn{padding:.8rem 1.5rem;font-size:1rem}}@media (max-width: 480px){.role-selection-card{padding:1.5rem}.role-header h1{font-size:1.5rem}.role-content h3{font-size:1rem}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:#d6f1f8;background-image:url(https://i.ibb.co/W9NRzQV/Fondo-Huellitas2-Comprimida.png);background-repeat:no-repeat;background-size:cover;background-position:center}.login-card{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 10px 25px #0000001a;width:100%;max-width:450px;animation:fadeIn .5s ease-out;position:relative}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.login-title{font-family:Lilita One,sans-serif;color:#008cb1;font-size:2.5rem;font-weight:700;margin-bottom:.1rem;text-align:center;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.login-role-title{font-family:Lilita One,sans-serif;color:#06242c;font-size:1.5rem;font-weight:500;margin-top:.1rem;text-align:center}.login-divider{height:3px;background-color:#5fbed8;width:0;margin:1rem auto;animation:expandDivider 1s ease-out forwards}@keyframes expandDivider{0%{width:0;opacity:0}to{width:90%;opacity:1}}.back-button{background:#bef1ff;border:2px solid transparent;border-color:#83bbca;border-width:2.5px;color:#222;font-weight:700;cursor:pointer;padding:.5rem .75rem;border-radius:4px;transition:all .2s ease;font-size:14px;margin-bottom:.4rem;margin-top:-.5rem;align-self:flex-start}.back-button:hover{background:#c94944;color:#fff;border-color:#802421;border-width:3px;transform:translateY(-2px);box-shadow:0 8px 25px #1976d24d}.login-form{display:flex;flex-direction:column}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555;font-size:14px}.form-group input{width:100%;padding:.75rem;border:2px solid #ddd;border-radius:5px;font-size:16px;transition:all .3s ease;background:#fff}.form-group input:focus{outline:none;border-color:#008cb1;box-shadow:0 0 0 3px #64b5f61a;transform:translateY(-1px)}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.7}.form-group input::placeholder{color:#aaa;font-style:italic}.error-message{background:#ffebee;color:#c62828;padding:.75rem;border-radius:5px;margin-bottom:1rem;border:1px solid #ffcdd2;font-size:14px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.login-button{background:#bef1ff;color:#057a9b;border:2px solid transparent;border-color:#83bbca;border-width:3px;font-family:Lilita One,sans-serif;padding:.75rem;border-radius:5px;font-size:18px;font-weight:500;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.login-button:hover:not(:disabled){background:#1093b8;color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #64b5f64d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.login-help{margin-top:2rem;padding-top:1rem;border-top:1px solid #eee;font-size:.9rem;color:#666}.login-help p{margin-bottom:.5rem;font-weight:500}.login-help ul{list-style:none;margin-top:.5rem}.login-help li{padding:.25rem 0;display:flex;justify-content:space-between;align-items:center}.login-help li strong{color:#333}@media (max-width: 768px){.login-container{padding:1rem}.login-card{padding:1.5rem}.login-header h1{font-size:1.5rem}.login-header h2{font-size:1rem}.form-group input{font-size:16px}}@media (max-width: 480px){.login-help{font-size:.8rem}.back-button{font-size:12px}}.app-bar{background:#7fd1e7;color:#fff;padding:1rem 2rem;display:flex;align-items:center;box-shadow:0 2px 10px #0000001a;position:relative;z-index:100}.app-bar-content{display:flex;justify-content:space-between;align-items:center;width:100%}.app-bar-titles{flex:1}.app-bar-titles h1{color:#303030;font-size:1.4rem;margin:0;font-weight:700}.app-bar-titles h2{color:#fff;font-size:1.9rem;font-weight:700;margin:0;margin-top:.25rem;opacity:.8;text-shadow:-1px -1px 0 #000d11,1px -1px 0 #000d11,-1px 1px 0 #000d11,1px 1px 0 #000d11;text-transform:uppercase}.app-bar-actions{display:flex;align-items:center}.cerrar-sesion-btn{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;padding:.7rem 1.4rem;border:2px solid transparent;border-radius:5px;border-color:#32859c;border-width:2.5px;cursor:pointer;transition:all .4s ease;font-weight:700;font-size:.9rem;text-transform:lowercase;letter-spacing:.3px;font-size:1rem;text-transform:uppercase}.cerrar-sesion-btn:hover{background:#c94944;border:2px solid transparent;border-color:#802421;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.cerrar-sesion-btn:active{transform:translateY(0)}@media (max-width: 768px){.app-bar{padding:1rem}.app-bar-titles h1{font-size:1.2rem}.app-bar-titles h2{font-size:.9rem}.cerrar-sesion-btn{padding:.4rem .8rem;font-size:.8rem}}@media (max-width: 480px){.app-bar{padding:.75rem}.app-bar-content{flex-direction:row;align-items:center;gap:.75rem}.app-bar-titles{text-align:left;flex:1;min-width:0}.app-bar-titles h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-bar-actions{justify-content:flex-end;flex-shrink:0}.cerrar-sesion-btn{white-space:nowrap}}.dashboard-layout{display:flex;height:100vh;background-color:#f8f9fa}.sidebar{width:250px;background:#d6f1f8;border-right:1.5px solid #91E4FB;display:flex;flex-direction:column;box-shadow:2px 0 10px #0000000d}.sidebar-header{padding:1rem;border-bottom:1.5px solid #91E4FB;background:#d6f1f8}.logo{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem}.logo-text{font-family:Lilita One,sans-serif;font-size:1.2rem;color:#06242c}.logo-subtext{font-family:Lilita One,sans-serif;color:#008cb1;font-size:1.7rem;font-weight:700;margin-bottom:.1rem;text-align:center;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.logo-image{margin-top:.2rem;max-width:160px;object-fit:contain}.sidebar-nav{flex:1;padding:1rem 0}.nav-list{list-style:none}.nav-item{margin-bottom:.25rem}.nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:none;color:#666;text-decoration:none;width:100%;text-align:left;cursor:pointer;transition:all .2s ease;border-radius:0 25px 25px 0;margin-right:1rem}.nav-link:hover{background:#f0f8ff;color:#64b5f6;transform:translate(5px)}.nav-link.active{background:#64b5f6;color:#fff;box-shadow:0 4px 12px #64b5f64d}.nav-icon{font-size:1.2rem;width:20px;text-align:center}.mobile-nav-fab,.mobile-nav-overlay,.cell-mobile-title{display:none}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.dashboard-content{flex:1;padding:2rem;overflow-y:auto;background:#f8f9fa}.welcome-content{background:#fff;padding:2rem;border-radius:10px;margin-bottom:2rem;box-shadow:0 2px 10px #0000001a}.welcome-header h2{color:#333;margin-bottom:.5rem;font-size:1.8rem}.welcome-header p{color:#666;margin-bottom:2rem}.quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.stat-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000001a;border-left:4px solid #64b5f6}.attention-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{padding:.5rem 1rem;border:none;background:#f5f5f5;color:#666;border-radius:5px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.tab.active,.tab:hover{background:#64b5f6;color:#fff}.attention-list{display:flex;flex-direction:column;gap:.5rem}.attention-item{padding:.5rem;background:#f8f9fa;border-radius:5px;font-size:.9rem;color:#666}.dashboard-recepcionista{display:flex;flex-direction:column;gap:2rem}.welcome-section{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000001a}.welcome-content{display:flex;justify-content:space-between;align-items:center}.welcome-image .vet-icon{font-size:4rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 2px 10px #0000001a;transition:transform .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000026}.stat-card.stat-blue{border-left:4px solid #54b7d3}.stat-card.stat-green{border-left:4px solid #499ac0}.stat-card.stat-purple{border-left:4px solid #3b7ba0}.stat-card.stat-orange{border-left:4px solid #5abbe2}.stat-content{display:flex;flex-direction:column}.stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stat-icon{font-size:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h2{color:#333;font-size:1.5rem;margin:0}.section-header h3{color:#333;font-size:1.2rem;margin:0}.btn-add{background:#4caf50;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:5px;cursor:pointer;font-weight:500;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-add:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-secondary{background:#2196f3;color:#fff;padding:.75rem 1.5rem;border:none;border-radius:5px;cursor:pointer;font-weight:500;transition:all .2s ease}.btn-secondary:hover{background:#1976d2;transform:translateY(-1px)}.filters{display:flex;align-items:center;gap:1rem}.filters label{color:#666;font-weight:500}.filters select,.search-input{padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .2s ease}.filters select:focus,.search-input:focus{outline:none;border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.filters-row,.header-buttons{display:flex;gap:1rem;flex-wrap:wrap}.table-container{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:1rem}.data-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}.data-table td{padding:1rem;border-bottom:1px solid #eee;font-size:.9rem;word-break:break-word}.vet-management .data-table,.receptionist-management .data-table{min-width:880px}.vet-management .data-table th:first-child,.vet-management .data-table td:first-child,.receptionist-management .data-table th:first-child,.receptionist-management .data-table td:first-child{width:54px;text-align:center}.vet-management .data-table th:last-child,.vet-management .data-table td:last-child,.receptionist-management .data-table th:last-child,.receptionist-management .data-table td:last-child{width:170px}.vet-management .action-buttons,.receptionist-management .action-buttons{flex-wrap:nowrap;justify-content:center}.action-btn.edit{background:#ffa856;color:#fff}.action-btn.edit:hover{background:#e2964f}.action-btn.view{background:#59bfdb;color:#fff}.action-btn.view:hover{background:#45abc7}.action-btn.delete{background:#e75f55;color:#fff}.action-btn.delete:hover{background:#c42e2e}.action-btn.activate{background:#c8e6c9;color:#2e7d32}.action-btn.activate:hover{background:#a5d6a7}.action-btn.deactivate{background:#ffe0b2;color:#e65100}.action-btn.deactivate:hover{background:#ffcc80}.status-badge{padding:.25rem .75rem;border-radius:15px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-active,.status-libre{background:#c8e6c9;color:#2e7d32}.status-inactive,.status-ocupado{background:#ffcdd2;color:#c62828}.status-asignada{background:#fff3e0;color:#ef6c00}.status-pendiente{background:#fff3cd;color:#856404}.status-atendida{background:#d4edda;color:#155724}.admin-inicio{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000001a}.admin-inicio h2{color:#333;margin-bottom:2rem;font-size:1.8rem}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.admin-stats .stat-card{text-align:center;border-left:none;border-top:4px solid #64b5f6}.admin-stats .stat-card h3{color:#666;font-size:1rem;margin-bottom:1rem}.stat-number{font-size:2.5rem;font-weight:700;color:#64b5f6}.reportes-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.reportes-section{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000001a}.reportes-section h3{color:#333;margin-bottom:1.5rem;text-align:center;font-size:1.2rem}.chart-container{height:300px;display:flex;align-items:end;justify-content:center;padding:1rem;background:#f8f9fa;border-radius:8px}.bar-chart{display:flex;align-items:end;gap:1rem;height:100%;width:100%;justify-content:center}.bar-item{display:flex;flex-direction:column;align-items:center;height:100%;min-width:40px}.bar{width:30px;min-height:20px;border-radius:4px 4px 0 0;transition:all .3s ease;margin-bottom:.5rem}.bar:hover{opacity:.8;transform:scaleY(1.05)}.bar-item label{font-size:.9rem;color:#666;font-weight:500}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.info-grid div{padding:.5rem;background:#f8f9fa;border-radius:5px;font-size:.9rem}.calendario-citas{max-width:500px;margin:0 auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-header h3{color:#333;margin:0}.calendar-nav{display:flex;align-items:center;gap:1rem}.calendar-nav button{background:#64b5f6;color:#fff;border:none;padding:.5rem;border-radius:3px;cursor:pointer;transition:background-color .2s}.calendar-nav button:hover{background:#42a5f5}.calendar-nav span{font-weight:600;color:#333}.calendar-grid{border:1px solid #ddd;border-radius:8px;overflow:hidden}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);background:#f8f9fa}.calendar-days div{padding:.75rem;text-align:center;font-weight:600;color:#666;border-right:1px solid #ddd;font-size:.8rem}.calendar-days div:last-child{border-right:none}.calendar-dates{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-date{padding:1rem;text-align:center;border-right:1px solid #eee;border-bottom:1px solid #eee;cursor:pointer;transition:all .2s ease;min-height:45px;display:flex;align-items:center;justify-content:center}.calendar-date:hover{background:#e3f2fd}.calendar-date.selected{background:#64b5f6;color:#fff;font-weight:700}.calendar-date:nth-child(7n){border-right:none}@media (max-width: 768px){.mobile-nav-fab{display:flex;align-items:center;justify-content:center;position:fixed;right:18px;bottom:18px;z-index:300;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2.5px solid #32859c;box-shadow:0 6px 18px #01364459;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease}.mobile-nav-fab:active{transform:scale(.94)}.mobile-nav-overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:350;background:#031e2647;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}.mobile-nav-overlay.open{opacity:1;visibility:visible}.mobile-nav-panel{width:min(72%,300px);display:flex;flex-direction:column;gap:14px;transform-origin:bottom right;transform:translate(38%,42%) scale(.12);opacity:0;transition:transform .36s cubic-bezier(.22,1,.36,1),opacity .26s ease}.mobile-nav-overlay.open .mobile-nav-panel{transform:translate(0) scale(1);opacity:1}.mobile-nav-pages{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-nav-pages::-webkit-scrollbar{display:none}.mobile-nav-page{flex:0 0 100%;scroll-snap-align:center;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,112px);row-gap:22px;column-gap:10px;align-content:center}.mobile-nav-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;background:#fffffff5;border:2px solid rgba(255,255,255,.6);border-radius:14px;padding:.5rem .4rem;color:#06242c;font-weight:700;cursor:pointer;box-shadow:none;transition:transform .12s ease,background .2s ease}.mobile-nav-card:active{transform:scale(.96)}.mobile-nav-card.active{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border-color:#32859c}.mobile-nav-card-icon{font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;height:30px}.mobile-nav-card-icon svg{width:28px;height:28px}.mobile-nav-card-label{font-size:.76rem;text-align:center;line-height:1.1}.mobile-nav-dots{position:absolute;left:0;right:0;bottom:calc(1.6rem + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;gap:8px;padding:0}.mobile-nav-dot{width:9px;height:9px;border-radius:50%;background:#ffffff73}.mobile-nav-dot.active{background:#fff;width:22px;border-radius:5px}}@media (max-width: 768px){.table-container{background:transparent;box-shadow:none!important;overflow-x:visible;margin-top:.5rem}.data-table,.vet-management .data-table,.receptionist-management .data-table{min-width:0!important}.data-table thead{display:none!important}.data-table,.data-table tbody{display:block!important;width:100%!important}.data-table tbody{background:transparent}.data-table tr{display:block!important;width:auto!important;background:#fff;border:1px solid #e3eef2;border-radius:14px;margin-bottom:14px;box-shadow:0 2px 10px #01364414;overflow:hidden}.data-table td{display:flex!important;justify-content:space-between;align-items:center;gap:12px;width:auto!important;min-width:0!important;padding:10px 14px;border-bottom:1px solid #f0f4f6;font-size:.9rem;text-align:right;word-break:break-word}.data-table td:before{content:attr(data-label);flex:0 0 40%;text-align:left;font-weight:700;font-size:.7rem;letter-spacing:.3px;text-transform:uppercase;color:#4a6b76}.data-table tr td:last-child{border-bottom:none}.data-table td:first-child,.vet-management .data-table td:first-child,.receptionist-management .data-table td:first-child{width:auto!important;min-width:0!important;justify-content:flex-start;gap:8px;background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;font-weight:700;font-size:1.02rem;text-align:left!important;padding:12px 14px;border-bottom:none;cursor:pointer}.data-table td:first-child:before{display:none}.data-table td:first-child:after{content:"▾";margin-left:auto;font-size:1rem;transition:transform .2s ease}.data-table tr.expanded td:first-child:after{transform:rotate(180deg)}.data-table tr:not(.expanded) td:not(:first-child){display:none!important}.data-table td .action-buttons{flex-direction:row;justify-content:flex-end;flex-wrap:wrap;gap:.4rem}.cell-desktop-value{display:inline}.has-mobile-title .cell-desktop-value{display:none}.cell-mobile-title{display:flex;flex:1;min-width:0;align-items:center;gap:10px;line-height:1.2}.card-hd-main,.card-hd-mid{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-hd-mid{font-weight:600;text-align:center}.card-hd-side{flex:0 0 auto;white-space:nowrap}.card-hd-right{margin-left:auto}.data-table td.empty-message{display:block;text-align:center;background:#fff;border-radius:14px}.data-table td.empty-message:before{display:none}}@media (max-width: 1024px){.sidebar{width:200px}.dashboard-content{padding:1.5rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width: 768px){.dashboard-layout{flex-direction:column}.sidebar{display:none}.dashboard-content{padding:1rem}.section-header{flex-direction:column;align-items:stretch}.filters-row{justify-content:stretch}.filters-row>*{flex:1;min-width:0}.stats-grid,.quick-stats{grid-template-columns:1fr}.welcome-content{flex-direction:column;text-align:center;gap:1rem}.admin-stats{grid-template-columns:repeat(2,1fr)}.reportes-content{grid-template-columns:1fr}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:.5rem}}@media (max-width: 480px){.dashboard-content{padding:.5rem}.welcome-section,.stat-card,.table-container,.reportes-section{margin-bottom:1rem}.admin-stats{grid-template-columns:1fr}.action-buttons{flex-direction:column}.form-row{grid-template-columns:1fr}}.stat-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.stat-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.stat-highlight{font-size:1.3rem;font-weight:700;color:#1976d2;margin:.3rem 0}.stat-number{font-size:2.4rem;font-weight:800;color:#ef6c00;margin:.2rem 0;line-height:1}.attention-item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid #f0f0f0;font-size:.9rem}.estado-badge{padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:700;white-space:nowrap;background:#eee;color:#555}.estado-pendiente{background:#fff3e0;color:#e65100}.estado-en-triaje{background:#e3f2fd;color:#1565c0}.estado-en-atencion{background:#ede7f6;color:#5e35b1}.estado-completada{background:#e8f5e9;color:#2e7d32}.estado-cancelada{background:#ffebee;color:#c62828}.vet-dashboard{display:flex;flex-direction:column;gap:1.5rem;background:#d6f1f8;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000001a}.vet-dashboard-header h2{color:#1976d2;margin-bottom:.3rem}.vet-dashboard-header p{color:#555}.vet-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:start}@media (max-width: 768px){.vet-cards{grid-template-columns:1fr}}.dashboard-admin{padding:2rem;background:linear-gradient(135deg,#fff,#fff);min-height:100vh}.dashboard-admin .welcome-section{background:linear-gradient(135deg,#c3f2ff,#54b7d3);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #0000001a;overflow:hidden;position:relative;transition:all .4s ease-out}.dashboard-admin .welcome-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 80%);animation:float 6s ease-in-out infinite}.dashboard-admin .welcome-section:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000026}.dashboard-admin .welcome-content{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;position:relative;z-index:1;background:#e7f0ff;padding:2rem;border-radius:14px}.dashboard-admin .welcome-text{color:#fff;flex:1}.dashboard-admin .welcome-title{font-size:2.5rem;font-weight:800;font-family:Lilita One,sans-serif;color:#65c4e0;text-shadow:-1px -1px 0 #1e293b,1px -1px 0 #1e293b,-1px 1px 0 #1e293b,1px 1px 0 #1e293b;margin:0;letter-spacing:2px}.dashboard-admin .user-name{font-family:Lilita One,sans-serif;font-size:2.2rem;margin:.5rem 0;color:#5ba8c0;text-shadow:-1px -1px 0 #1e293b,1px -1px 0 #1e293b,-1px 1px 0 #1e293b,1px 1px 0 #1e293b}.dashboard-admin .role-description{font-weight:700;font-size:1.3rem;margin:0;opacity:.9;color:#3b3b3b}.dashboard-admin .welcome-image{display:flex;align-items:center;justify-content:center;min-width:150px}.dashboard-admin .pet-icon{max-width:120px;max-height:120px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));transition:transform .3s ease}.dashboard-admin .welcome-section:hover .pet-icon{transform:scale(1.1) rotate(5deg)}.dashboard-admin .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-admin .stat-card{background:#f2fcff;border-radius:15px;padding:1.15rem;box-shadow:0 8px 25px #0000001a;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.dashboard-admin .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:height .3s ease}.dashboard-admin .stat-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000026}.dashboard-admin .stat-card:hover:before{height:8px}.dashboard-admin .stat-blue:before{background:linear-gradient(90deg,#54b7d3,#7fd1e7)}.dashboard-admin .stat-green:before{background:linear-gradient(90deg,#499ac0,#4ca6be)}.dashboard-admin .stat-purple:before{background:linear-gradient(90deg,#3b7ba0,#5293b9)}.dashboard-admin .stat-orange:before{background:linear-gradient(90deg,#5abbe2,#4ba8cc)}.dashboard-admin .stat-cyan:before{background:linear-gradient(90deg,#62c9d6,#8ee3ec)}.dashboard-admin .stat-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative;z-index:1}.dashboard-admin .two-columns{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.dashboard-admin .left-column{display:flex;flex-direction:column;justify-content:center;flex:1}.dashboard-admin .right-column{display:flex;align-items:center;justify-content:center}.dashboard-admin .stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.dashboard-admin .stat-title{font-size:1.15rem;font-weight:700;color:#364f53;margin:0;line-height:1.3;flex:1}.dashboard-admin .stat-icon-container{flex-shrink:0;padding:.35rem;border-radius:10px;background:#d5f2ff;transition:all .3s ease}.dashboard-admin .stat-card:hover .stat-icon-container{background:#7ec7e9;transform:scale(1.1)}.dashboard-admin .stat-icon{width:72px;height:72px;object-fit:contain;opacity:.8;transition:all .3s ease}.dashboard-admin .stat-card:hover .stat-icon{opacity:1;transform:rotate(5deg)}.dashboard-admin .stat-value{font-family:Lilita One,sans-serif;font-size:3rem;margin:0;text-align:center;color:#62bbd6;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644;transition:all .3s ease}.dashboard-admin .stat-card:hover .stat-value{transform:scale(1.05)}.dashboard-admin .error-message{background:linear-gradient(135deg,#fef2f2,#fecaca);border:1px solid #f87171;border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center}.dashboard-admin .error-message p{color:#dc2626;font-weight:500;margin-bottom:1rem}.dashboard-admin .retry-button{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer;transition:all .3s ease}.dashboard-admin .retry-button:hover{background:linear-gradient(135deg,#b91c1c,#991b1b);transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.dashboard-admin .dashboard-footer{text-align:center;padding:1.5rem;margin-top:2rem;border-top:1px solid #e2e8f0}.dashboard-admin .dashboard-footer p{color:#64748b;font-size:.875rem;font-weight:500;margin:0;font-family:Inter,sans-serif}@media (max-width: 768px){.dashboard-admin{padding:1rem}.dashboard-admin .welcome-section{padding:1.5rem}.dashboard-admin .welcome-content{flex-direction:column;text-align:center;gap:1rem}.dashboard-admin .welcome-title{font-size:2rem}.dashboard-admin .user-name{font-size:1.8rem}.dashboard-admin .role-description{font-size:1.2rem}.dashboard-admin .stats-grid{grid-template-columns:1fr;gap:1rem}.dashboard-admin .stat-value{font-size:2rem}}.ps-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px 20px}.ps-loader__stage{position:relative;display:grid;place-items:center}.ps-loader__mascot{display:block;height:auto;transform-origin:center bottom;animation:ps-run .7s ease-in-out infinite;will-change:transform}.ps-loader__shadow{position:absolute;bottom:-4px;width:58%;height:12px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(20,56,79,.28),transparent 70%);animation:ps-shadow .7s ease-in-out infinite;will-change:transform,opacity}.ps-loader__text{margin:0;font-weight:700;font-size:1rem;color:#2a6a8c;letter-spacing:.01em}.ps-loader__dots i{font-style:normal;opacity:0;animation:ps-dot 1.3s infinite}.ps-loader__dots i:nth-child(2){animation-delay:.2s}.ps-loader__dots i:nth-child(3){animation-delay:.4s}.ps-loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;display:grid;place-items:center;background:#dff0fbb8;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.ps-loader__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes ps-run{0%,to{transform:translateY(0) rotate(-2.5deg)}50%{transform:translateY(-12px) rotate(2.5deg)}}@keyframes ps-shadow{0%,to{transform:scaleX(1);opacity:.3}50%{transform:scaleX(.72);opacity:.16}}@keyframes ps-dot{0%,60%,to{opacity:0}30%{opacity:1}}@media (prefers-reduced-motion: reduce){.ps-loader__mascot,.ps-loader__shadow,.ps-loader__dots i{animation:none}.ps-loader__dots i{opacity:1}}.ps-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:40px 24px}.ps-empty__mascot{height:auto;object-fit:contain;opacity:.96;margin-bottom:6px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ps-empty__title{margin:0;font-size:1.08rem;font-weight:800;color:#2a5a76;letter-spacing:-.01em}.ps-empty__message{margin:2px 0 0;max-width:42ch;font-size:.9rem;line-height:1.5;color:#7c95a8}.ps-empty__action{margin-top:16px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:10px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 25px #0003;animation:slideUp .3s ease-out;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-medium{max-width:600px}.modal-large{max-width:900px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #dee2e6;background:#f8f9fa;border-radius:10px 10px 0 0}.modal-header h3{margin:0;color:#333;font-size:1.3rem;font-weight:600}.close-modal{background:none;border:none;font-size:1.8rem;cursor:pointer;color:#666;padding:0;width:35px;height:35px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;line-height:1}.close-modal:hover{background:#0000001a;color:#333;transform:rotate(90deg)}.modal-content{padding:1.5rem;max-height:calc(90vh - 120px);overflow-y:auto}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}@media (max-width: 768px){.modal-overlay{padding:.5rem}.modal{max-height:95vh}.modal-medium,.modal-large{max-width:100%}.modal-header{padding:1rem}.modal-header h3{font-size:1.1rem}.modal-content{padding:1rem;max-height:calc(95vh - 100px)}.close-modal{width:30px;height:30px;font-size:1.5rem}}@media (max-width: 480px){.modal-overlay{padding:0}.modal{border-radius:0;max-height:100vh;height:100vh}.modal-header{border-radius:0}.modal-content{max-height:calc(100vh - 80px)}}.users-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.users-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.search-input{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:.9rem;width:280px;transition:all .3s ease;background:#fff}.search-input::placeholder{color:#6c757d;font-style:italic}.filter-select{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer;transition:all .3s ease;min-width:150px}.clear-filters-btn{background:#6c757d;color:#fff;border:none;padding:10px 15px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.clear-filters-btn:hover{background:#495057;transform:translateY(-1px)}.user-view{max-height:70vh;overflow-y:auto}.user-form{max-height:70vh;overflow-y:auto}@media (max-width: 768px){.users-management{padding:15px}.section-header{flex-direction:column;gap:15px;text-align:center}.section-header h2{font-size:1.8rem}.users-table-section{padding:15px}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{justify-content:center;flex-direction:column;align-items:stretch}.search-input{width:100%;max-width:none}.filter-select{width:100%;min-width:auto}.clear-filters-btn{width:100%}.form-row{grid-template-columns:1fr;gap:15px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{width:100%}}@media (max-width: 480px){.section-header h2{font-size:1.5rem}.table-header h3{font-size:1.1rem}.info-grid{grid-template-columns:1fr}}.vet-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.vet-management .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:0 10px}.vet-management .section-header h2{font-family:Lilita One,sans-serif;color:#2aabcf;font-size:2.1rem;font-weight:600;margin:0;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.vet-management .btn-add{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid transparent;border-color:#32859c;border-width:2px;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #4181ac4d}.vet-management .btn-add:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-2px);box-shadow:0 6px 12px #4fb45466;border-color:#347a37;border-width:2px}.vet-management .btn-add:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.vet-management .vet-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.vet-management .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.vet-management .table-header h3{color:#2c3e50;font-size:1.3rem;font-weight:750;margin:0;background:#008cb1;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.vet-management .filters-container{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.vet-management .search-input{padding:10px 15px;border:2px solid #c1d7dd;border-radius:8px;font-size:.9rem;width:250px;transition:all .3s ease;background:#f8f9fa}.vet-management .search-input:focus{outline:none;border-color:#008cb1;background:#fff;box-shadow:0 0 0 3px #3498db1a}.vet-management .search-input::placeholder{color:#757f88}.vet-management .filter-select{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;background:#f8f9fa;cursor:pointer;transition:all .3s ease;min-width:140px}.vet-management .filter-select:focus{outline:none;border-color:#c1d7dd;background:#fff;box-shadow:0 0 0 3px #3498db1a}.vet-management .clear-filters-btn{background:#c94944;color:#fff;border:2px solid transparent;border-color:#802421;border-width:2.5px;padding:10px 15px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease;font-weight:500}.vet-management .clear-filters-btn:hover{background:#b84336;transform:translateY(-1px)}.vet-management .results-info{margin-bottom:15px;padding:10px 15px;background:#e8f4f8;border-radius:6px;border-left:4px solid #47b3d1}.vet-management .results-info span{color:#2c3e50;font-size:.9rem;font-weight:500}.vet-management .loading-container{text-align:center;padding:50px;color:#6c757d;font-size:1.1rem}.vet-management .error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:15px;border-radius:8px;margin:15px 0}.vet-management .btn-retry{background:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;margin-top:10px}.vet-management .btn-retry:hover{background:#0056b3}.vet-management .pagination{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px;background:#f8f9fa;border-top:1px solid #dee2e6}.vet-management .pagination-btn{background:#007bff;color:#fff;border:none;padding:10px 15px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.vet-management .pagination-btn:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.vet-management .pagination-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.vet-management .pagination-info{font-weight:600;color:#495057}.vet-management .vet-view{max-height:70vh;overflow-y:auto}.vet-management .form-section{margin-bottom:30px}.vet-management .form-section h3{color:#008cb1;font-size:1.2rem;font-weight:700;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #72b9cc}.vet-management .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:25px}.vet-management .info-grid div{padding:12px;background:#f8f9fa;border-radius:8px;border-left:4px solid #008CB1}.vet-management .info-grid strong{color:#233344;font-weight:600}.vet-management .vet-form{max-height:70vh;overflow-y:auto}.vet-management .form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.vet-management .form-group{display:flex;flex-direction:column}.vet-management .form-group.full-width{grid-column:1 / -1}.vet-management .form-group label{color:#2c3e50;font-weight:600;margin-bottom:8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.vet-management .form-group input,.vet-management .form-group select{padding:12px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.vet-management .form-group input:focus,.vet-management .form-group select:focus{outline:none;border-color:#68c1da;background:#fff;box-shadow:0 0 0 3px #68c1da1a}.vet-management .form-group input.error,.vet-management .form-group select.error{border-color:#e74c3c!important;box-shadow:0 0 0 3px #e74c3c1a!important}.vet-management .error-message{color:#e74c3c;font-size:.8rem;margin-top:5px;display:block;font-weight:500}.vet-management .form-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:25px;border-top:2px solid #e9ecef;margin-top:30px}.vet-management .btn-cancel{background:#6c757d;color:#fff;border:none;padding:12px 25px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase}.vet-management .btn-cancel:hover:not(:disabled){background:#5a6268;transform:translateY(-1px)}.vet-management .btn-submit{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid transparent;border-color:#32859c;border-width:2px;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 6px #33c0ca4d}.vet-management .btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-1px);box-shadow:0 6px 12px #28a74566;border-color:#347a37}.vet-management .btn-cancel:disabled,.vet-management .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (max-width: 768px){.vet-management{padding:15px}.vet-management .section-header{flex-direction:column;gap:15px;align-items:stretch}.vet-management .section-header h2{text-align:center;font-size:1.5rem}.vet-management .table-header{flex-direction:column;align-items:stretch;gap:15px}.vet-management .filters-container{flex-direction:column;gap:10px}.vet-management .search-input,.vet-management .filter-select{width:100%}.vet-management .form-row{grid-template-columns:1fr;gap:15px}.vet-management .form-actions{flex-direction:column;gap:10px}.vet-management .btn-cancel,.vet-management .btn-submit{width:100%;text-align:center}.vet-management .info-grid{grid-template-columns:1fr;gap:10px}}@media (max-width: 480px){.vet-management .vet-table-section{padding:15px}.vet-management .section-header h2{font-size:1.3rem}.vet-management .table-header h3{font-size:1.1rem}.vet-management .search-input,.vet-management .filter-select{font-size:.8rem;padding:8px 12px}.vet-management .btn-add{padding:10px 20px;font-size:.9rem}}.vet-management .vet-table-section{animation:fadeIn .5s ease-out}.vet-management .results-info{animation:fadeIn .3s ease-out}.vet-management .vet-view::-webkit-scrollbar,.vet-management .vet-form::-webkit-scrollbar{width:8px}.vet-management .vet-view::-webkit-scrollbar-track,.vet-management .vet-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.vet-management .vet-view::-webkit-scrollbar-thumb,.vet-management .vet-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.vet-management .vet-view::-webkit-scrollbar-thumb:hover,.vet-management .vet-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.vet-management .search-input:not(:placeholder-shown){background:#fff;border-color:#3498db}.vet-management .filter-select:not([value=""]){background:#fff;border-color:#3498db}.receptionist-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.btn-add{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #4181ac4d}.btn-add:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-2px);box-shadow:0 6px 12px #4fb45466;border-color:#347a37}.search-input{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:.9rem;width:280px;background:#fff}.search-input:focus{outline:none;border-color:#5ec1dd;box-shadow:0 0 0 3px #5ec1dd1a}.filter-select{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:.9rem;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#5ec1dd;box-shadow:0 0 0 3px #5ec1dd1a}.btn-clear{background:#6c757d;color:#fff;border:none;padding:10px 15px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-clear:hover{background:#495057;transform:translateY(-1px)}.status-info{margin-bottom:15px;padding:10px 15px;background:#e8f4f8;border-radius:6px;border-left:4px solid #47b3d1}.status-info span{color:#2c3e50;font-size:.9rem;font-weight:500}.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:20px}.pagination-btn{padding:8px 16px;background:#5ec1dd;color:#fff;border:none;border-radius:6px;cursor:pointer}.pagination-btn:disabled{background:#ccc;cursor:not-allowed}.pagination-info{font-weight:500}.modal-form{max-height:70vh;overflow-y:auto}.form-group input,.form-group select{padding:12px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff}.form-group input:focus,.form-group select:focus{outline:none;border-color:#5ec1dd;box-shadow:0 0 0 3px #5ec1dd1a}.form-group input.error,.form-group select.error{border-color:#dc3545;box-shadow:0 0 0 3px #dc35451a}.form-group input::placeholder{color:#6c757d;font-style:italic}.error-message{color:#dc3545;font-size:.8rem;margin-top:5px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:1px solid #e9ecef}.btn-cancel{background:#6c757d;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#495057;transform:translateY(-1px)}.btn-submit{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-1px);box-shadow:0 4px 12px #4fb45466;border-color:#347a37}.btn-submit:disabled{background:#ccc;border-color:#999;cursor:not-allowed;transform:none}@media (max-width: 768px){.section-header{flex-direction:column;gap:15px;text-align:center}.search-input,.filter-select,.btn-clear{width:100%}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.services-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.services-management .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.services-management .section-header h2{font-family:Lilita One,sans-serif;color:#2aabcf;font-size:2.1rem;font-weight:600;margin:0;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.services-management .btn-add{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #4181ac4d}.services-management .btn-add:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-2px);box-shadow:0 6px 12px #4fb45466;border-color:#347a37}.services-management .btn-add:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.services-management .services-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.services-management .table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.services-management .table-header h3{color:#2c3e50;font-size:1.3rem;font-weight:750;margin:0;background:#008cb1;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.services-management .filters-container{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.services-management .search-input{padding:10px 15px;border:2px solid #c1d7dd;border-radius:8px;font-size:.9rem;width:250px;background:#f8f9fa;transition:all .3s ease}.services-management .search-input:focus{outline:none;border-color:#008cb1;background:#fff;box-shadow:0 0 0 3px #3498db1a}.services-management .filter-select{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;background:#f8f9fa;cursor:pointer;transition:all .3s ease;min-width:140px}.services-management .filter-select:focus{outline:none;border-color:#c1d7dd;background:#fff;box-shadow:0 0 0 3px #3498db1a}.services-management .results-info{margin-bottom:15px;padding:10px 15px;background:#e8f4f8;border-radius:6px;border-left:4px solid #47b3d1;font-size:.9rem;font-weight:500;color:#2c3e50;display:flex;flex-wrap:wrap;gap:10px}.services-management .loading-container{text-align:center;padding:50px;color:#6c757d;font-size:1.1rem}.services-management .error-message{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:15px;border-radius:8px;margin:15px 0}.services-management .btn-retry{background:#007bff;color:#fff;border:none;padding:8px 15px;border-radius:5px;cursor:pointer;margin-top:10px}.services-management .btn-retry:hover{background:#0056b3}.services-management .pagination{display:flex;justify-content:center;align-items:center;gap:15px;padding:20px;background:#f8f9fa;border-top:1px solid #dee2e6}.services-management .pagination-btn{background:#007bff;color:#fff;border:none;padding:10px 15px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.services-management .pagination-btn:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.services-management .pagination-btn:disabled{background:#6c757d;cursor:not-allowed}.services-management .pagination-info{font-weight:600;color:#495057}.services-management .service-form{display:flex;flex-direction:column;gap:20px}.services-management .form-group{display:flex;flex-direction:column;gap:8px}.services-management .form-group label{color:#2c3e50;font-weight:600;font-size:.9rem;text-transform:uppercase}.services-management .form-group input,.services-management .form-group select{padding:12px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;background:#f8f9fa;transition:all .3s ease}.services-management .form-group input:focus,.services-management .form-group select:focus{outline:none;border-color:#68c1da;background:#fff;box-shadow:0 0 0 3px #68c1da1a}.services-management .form-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:25px;border-top:2px solid #e9ecef}.services-management .btn-submit{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.services-management .btn-submit:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-2px)}@media (max-width: 768px){.services-management{padding:15px}.services-management .section-header{flex-direction:column;gap:15px;align-items:stretch}.services-management .section-header h2{text-align:center;font-size:1.5rem}.services-management .table-header{flex-direction:column;gap:15px;align-items:stretch}.services-management .filters-container{flex-direction:column;gap:10px}.services-management .search-input,.services-management .filter-select{width:100%}}.services-management table th{background:#68c1da!important;color:#fff!important;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.reports-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.reports-management .section-header{margin-bottom:30px}.reports-management .section-header h2{font-family:Lilita One,sans-serif;color:#2aabcf;font-size:2.1rem;font-weight:600;margin:0;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:20px}.report-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;align-items:center;text-align:center;border-top:4px solid #2aabcf;transition:transform .2s ease,box-shadow .2s ease}.report-card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a;border:1px solid #e0e0e0}.report-icon{font-size:3rem;margin-bottom:15px;color:#2aabcf}.report-card h3{color:#2aabcf;margin-bottom:10px;font-size:1.5rem}.report-card p{color:#666;font-size:.95rem;margin-bottom:20px;line-height:1.5;flex-grow:1}.report-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;width:100%}.filter-group{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.filter-group label{font-size:.85rem;font-weight:700;color:#444}.report-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:.9rem;outline:none;transition:border-color .2s ease}.report-input:focus{border-color:#2aabcf}.btn-download-pdf{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;width:100%;justify-content:center}.btn-download-pdf:hover{background:linear-gradient(135deg,#c0392b,#a53125);transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.btn-download-pdf:disabled{background:#bdc3c7;cursor:not-allowed;transform:none;box-shadow:none}.analytics-dashboard{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.analytics-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.analytics-title{font-size:1.4rem;font-weight:700;color:#06242c;margin:0}.analytics-refresh{padding:.4rem 1rem;background:#4f86c6;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:background .2s}.analytics-refresh:hover{background:#3a6eaa}.analytics-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.analytics-summary-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1.5px solid #91e4fb;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 2px 8px #0000000f}.analytics-summary-icon{font-size:2rem;line-height:1}.analytics-summary-label{margin:0;font-size:.78rem;color:#6c757d;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.analytics-summary-value{margin:0;font-size:1.8rem;font-weight:700;color:#06242c;line-height:1.1}.analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.analytics-card{background:#fff;border:1.5px solid #e9ecef;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.analytics-card--wide{grid-column:1 / -1}.analytics-card-title{margin:0 0 1rem;font-size:.95rem;font-weight:600;color:#344054;text-transform:uppercase;letter-spacing:.04em}.analytics-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:300px;color:#6c757d;font-size:1rem}.analytics-state--error{color:#e74c3c}.analytics-spinner{width:40px;height:40px;border:4px solid #e9ecef;border-top-color:#4f86c6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.analytics-retry{padding:.5rem 1.25rem;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s}.analytics-retry:hover{background:#c0392b}.kpi-cards-section .stat-icon{max-width:110px;max-height:110px;width:auto;height:auto}.kpi-cards-section .stat-value{font-family:Lilita One,sans-serif;font-size:2.4rem;color:#62bbd6;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.kpi-cards-section .stat-title{font-family:Lilita One,sans-serif;color:#364f53}.flujo-caja{padding:20px}.flujo-caja .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.flujo-caja .section-header h2{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.filtros{display:flex;gap:8px;margin-bottom:16px}.filtro-btn{padding:8px 16px;border:1px solid #dcdde1;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#2c3e50;transition:all .2s}.filtro-btn:hover{background:#f5f6fa}.filtro-btn.active{background:#3498db;color:#fff;border-color:#3498db}.tabla-movimientos{width:100%;border-collapse:collapse}.tabla-movimientos th{background:#f8f9fa;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #eef0f4}.tabla-movimientos td{padding:12px 16px;border-bottom:1px solid #eef0f4;font-size:14px;color:#2c3e50}.tabla-movimientos tr:hover{background:#f8f9fa}.tipo-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.tipo-ingreso{background:#e8f8f0;color:#27ae60}.tipo-egreso{background:#fde8e8;color:#e74c3c}.concepto-cell{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fila-ingreso td:first-child{border-left:3px solid #27ae60}.fila-egreso td:first-child{border-left:3px solid #e74c3c}.empty-message{text-align:center;padding:40px!important;color:#95a5a6;font-style:italic}.loading-text{text-align:center;padding:40px;color:#7f8c8d}.error-message{background:#fde8e8;color:#e74c3c;padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;gap:12px}.error-message p{margin:0;flex:1}.btn-retry{padding:6px 12px;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.header-actions{display:flex;gap:10px}.btn-registrar{padding:10px 20px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;background:#27ae60;color:#fff;transition:background .2s}.btn-registrar:hover{background:#219a52}.btn-registrar.egreso{background:#e74c3c}.btn-registrar.egreso:hover{background:#c0392b}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-container{background:#fff;border-radius:12px;width:100%;max-width:480px;box-shadow:0 10px 40px #0003;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.modal-header h3{margin:0;font-size:20px;color:#2c3e50}.modal-close{background:none;border:none;font-size:28px;color:#95a5a6;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#2c3e50}.modal-form{padding:20px 24px 24px}.form-error{background:#fde8e8;color:#e74c3c;padding:10px 14px;border-radius:6px;margin-bottom:16px;font-size:14px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:600;color:#2c3e50;margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:10px 12px;border:1px solid #dcdde1;border-radius:6px;font-size:14px;color:#2c3e50;background:#fff;box-sizing:border-box;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.btn-cancelar{padding:10px 20px;border:1px solid #dcdde1;background:#fff;border-radius:6px;cursor:pointer;font-size:14px;color:#7f8c8d;transition:all .2s}.btn-cancelar:hover{background:#f5f6fa}.btn-guardar{padding:10px 20px;border:none;background:#3498db;color:#fff;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:background .2s}.btn-guardar:hover{background:#2980b9}.btn-guardar:disabled{background:#95a5a6;cursor:not-allowed}@media (max-width: 768px){.flujo-caja{padding:14px}.resumen-cards{grid-template-columns:1fr;gap:14px}.flujo-caja .section-header{flex-direction:column;align-items:stretch;gap:12px}.header-actions{width:100%}.btn-registrar{width:100%;justify-content:center}.filtros{flex-wrap:wrap}.modal-container{width:92%}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-cancelar,.modal-actions .btn-guardar{width:100%}}.balance-financiero{padding:20px}.balance-financiero .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.balance-financiero .section-header h2{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.periodo-selector{display:flex;align-items:flex-end;gap:16px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;margin-bottom:24px;flex-wrap:wrap}.fecha-group{display:flex;flex-direction:column;gap:6px}.fecha-group label{font-size:12px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.fecha-group input{padding:10px 12px;border:1px solid #dcdde1;border-radius:6px;font-size:14px;color:#2c3e50;transition:border-color .2s}.fecha-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.preset-buttons{display:flex;gap:6px}.preset-buttons button{padding:8px 14px;border:1px solid #dcdde1;background:#fff;border-radius:6px;cursor:pointer;font-size:13px;color:#2c3e50;transition:all .2s}.preset-buttons button:hover{background:#f5f6fa;border-color:#3498db;color:#3498db}.btn-consultar{padding:10px 24px;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;background:#3498db;color:#fff;transition:background .2s}.btn-consultar:hover{background:#2980b9}.btn-consultar:disabled{background:#95a5a6;cursor:not-allowed}.resumen-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.resumen-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;text-align:center}.resumen-card h3{margin:0 0 8px;font-size:14px;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px}.resumen-card .monto{margin:0;font-size:28px;font-weight:700}.resumen-card.ingreso{border-left:4px solid #27ae60}.resumen-card.ingreso .monto{color:#27ae60}.resumen-card.egreso{border-left:4px solid #e74c3c}.resumen-card.egreso .monto{color:#e74c3c}.resumen-card.saldo-positivo{border-left:4px solid #2980b9}.resumen-card.saldo-positivo .monto{color:#2980b9}.resumen-card.saldo-negativo{border-left:4px solid #e74c3c}.resumen-card.saldo-negativo .monto{color:#e74c3c}.desglose-section{margin-bottom:24px}.desglose-section h3{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 12px}.tabla-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow-x:auto}.tabla-desglose{width:100%;border-collapse:collapse}.tabla-desglose th{background:#f8f9fa;padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#7f8c8d;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #eef0f4}.tabla-desglose td{padding:12px 16px;border-bottom:1px solid #eef0f4;font-size:14px;color:#2c3e50}.tabla-desglose tr:hover{background:#f8f9fa}.tabla-desglose .fila-ingreso td:first-child{border-left:3px solid #27ae60}.tabla-desglose .fila-egreso td:first-child{border-left:3px solid #e74c3c}.monto-cell{font-weight:600;font-family:Courier New,monospace}.porcentaje-bar{display:flex;align-items:center;gap:10px}.porcentaje-fill{height:8px;border-radius:4px;min-width:4px;transition:width .3s ease}.porcentaje-fill.ingreso{background:#27ae60}.porcentaje-fill.egreso{background:#e74c3c}.porcentaje-bar span{font-size:13px;font-weight:600;color:#7f8c8d;min-width:45px}.empty-text{text-align:center;padding:20px;color:#95a5a6;font-style:italic}.placeholder{text-align:center;padding:60px 20px;color:#95a5a6}.placeholder p{font-size:16px;margin:0}.error-message{background:#fde8e8;color:#e74c3c;padding:12px 16px;border-radius:8px;margin-bottom:16px}.error-message p{margin:0}@media (max-width: 768px){.periodo-selector{flex-direction:column;align-items:stretch}.preset-buttons{justify-content:center}.resumen-cards{grid-template-columns:1fr}}.cro-tabs{display:flex;gap:6px;margin:10px 0 4px;flex-wrap:wrap}.cro-tab{padding:8px 16px;border:none;background:#eceff1;color:#555;border-radius:6px 6px 0 0;cursor:pointer;font-weight:600;transition:all .2s}.cro-tab.active{background:#64b5f6;color:#fff}.cro-tab:hover:not(.active){background:#dfe6ea}.cro-toolbar{display:flex;align-items:center;gap:1rem;margin:1rem 0;flex-wrap:wrap}.cro-toolbar label{font-weight:700;display:flex;align-items:center;gap:8px}.cro-toolbar input[type=date]{padding:6px;border:1px solid #ccc;border-radius:5px}.cro-nav{background:#64b5f6;color:#fff;border:none;border-radius:5px;padding:8px 14px;cursor:pointer;font-weight:600;transition:background .2s}.cro-nav:hover{background:#1976d2}.cro-grid-wrap{overflow-x:auto}.cro-grid{border-collapse:collapse;width:100%;min-width:760px}.cro-grid th,.cro-grid td{border:1px solid #d7dde3}.cro-corner{background:#2d3e50;width:90px}.cro-dia-head{background:#64b5f6;color:#fff;padding:8px;text-align:center;text-transform:uppercase;font-size:.85rem}.cro-dia-head small{font-weight:400;opacity:.9}.cro-turno-head{background:#2d3e50;color:#fff;padding:10px;text-align:center;writing-mode:horizontal-tb;font-size:.9rem;width:90px}.cro-cell{vertical-align:top;padding:6px;min-width:92px;background:#fff}.cro-vet{background:#e3f2fd;color:#1565c0;border-radius:6px;padding:3px 6px;margin-bottom:4px;font-size:.8rem;font-weight:600}.cro-vet-exc{background:#fff3e0;color:#e65100}.cro-vet-inactivo{background:#ffebee;color:#c62828;text-decoration:line-through}.cro-cal{max-width:720px;margin:0 auto}.cro-cal-head,.cro-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cro-cal-hcell{background:#2d3e50;color:#fff;text-align:center;padding:6px 0;border-radius:5px;font-size:.85rem;font-weight:600}.cro-cal-grid{margin-top:4px}.cro-cal-cell{min-height:62px;border:1px solid #e0e0e0;border-radius:6px;padding:4px;background:#fafafa;display:flex;flex-direction:column;justify-content:space-between}.cro-cal-empty{background:transparent;border:none}.cro-cal-activo{background:#e3f2fd;border-color:#90caf9}.cro-cal-num{font-weight:700;color:#333;font-size:.9rem}.cro-cal-badge{align-self:flex-start;background:#64b5f6;color:#fff;border-radius:10px;padding:1px 8px;font-size:.72rem;font-weight:700}.cro-cal-lg{max-width:1040px}.cro-cal-lg .cro-cal-hcell{padding:12px 0;font-size:1rem}.cro-cal-lg .cro-cal-cell{min-height:116px;padding:8px;cursor:default}.cro-cal-lg .cro-cal-num{font-size:1.15rem}.cro-cal-lg .cro-cal-badge{font-size:.82rem;padding:2px 10px}.cro-cal-lg .cro-cal-activo:hover{background:#bbdefb;border-color:#64b5f6}.cro-cal-tip{position:fixed;z-index:1000;background:#fff;border:1px solid #64b5f6;border-radius:8px;box-shadow:0 8px 24px #00000038;padding:10px 12px;max-width:260px;font-size:.85rem;pointer-events:none}.cro-cal-tip-head{font-weight:700;color:#1565c0;margin-bottom:6px;border-bottom:1px solid #eee;padding-bottom:4px}.cro-cal-tip-row{margin:3px 0;color:#333}.cro-cal-tip-turno{font-weight:700;color:#555}.form-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px;background-color:#fff;border-radius:10px;box-shadow:0 4px 10px #0000001a}.form-group{display:flex;flex-direction:column;gap:5px;font-weight:700}.form-group input{padding:10px;font-size:1rem;border:1px solid #ccc;border-radius:5px;background-color:#f9f9f9;color:#333;transition:border-color .3s ease}.form-group input:focus{border-color:#64b5f6;outline:none;background-color:#e3f2fd}@media (max-width: 768px){.form-container{grid-template-columns:1fr;padding:15px}.form-group input{font-size:.9rem}}.btn-close{background-color:#ff3b3b;color:#fff;padding:10px 20px;font-size:1rem;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease;margin-top:20px}.btn-close:hover{background-color:#d32f2f}.consulta-list{margin-top:20px}.consulta-list table{width:100%;border-collapse:collapse;margin-top:10px;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px}.consulta-list th,.consulta-list td{padding:12px;text-align:left;border:1px solid #ddd;font-size:1rem}.consulta-list th{background-color:#64b5f6;color:#fff;font-weight:700;text-transform:uppercase}.consulta-list tr:nth-child(2n){background-color:#f9f9f9}.consulta-list tr:hover{background-color:#f0f0f0;cursor:pointer}.consulta-list td{color:#333}.consulta-list button{background-color:#2196f3;color:#fff;padding:6px 12px;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background-color .3s ease}.consulta-list button:hover{background-color:#1976d2}@media (max-width: 768px){.consulta-list table{font-size:.9rem}.consulta-list th,.consulta-list td{padding:8px}}.consulta-list tr.consulta-row-active{background-color:#bbdefb;font-weight:700}.consulta-list tr.consulta-row-active:hover{background-color:#bbdefb}.historial-diagnostico-action{grid-column:1 / -1;align-items:flex-start}.btn-diagnostico{background-color:#2196f3;color:#fff;padding:10px 18px;font-size:1rem;border:none;border-radius:5px;cursor:pointer;transition:background-color .3s ease}.btn-diagnostico:hover:not(:disabled){background-color:#1976d2}.btn-diagnostico:disabled{background-color:#b0bec5;cursor:not-allowed}.diagnostico-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.diagnostico-modal{background-color:#fff;border-radius:10px;padding:24px;max-width:640px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 24px #0003}.diagnostico-modal h3{margin-top:0}.diagnostico-card{border:1px solid #e0e0e0;border-radius:8px;padding:14px 16px;margin-bottom:14px;background-color:#fafafa}.diagnostico-card p{margin:4px 0}.diagnostico-patologia{margin-top:10px;padding-top:10px;border-top:1px dashed #cfcfcf}.solicitudes-atencion{padding:20px;background-color:#f8f9fa;min-height:calc(100vh - 80px)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 0}.section-header h2{color:#2d3748;font-size:28px;font-weight:600;margin:0}.header-actions{display:flex;align-items:center;gap:20px}.filters{display:flex;align-items:center;gap:10px}.filters label{font-weight:500;color:#4a5568;font-size:14px}.filters select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;background-color:#fff;font-size:14px;color:#2d3748;cursor:pointer;transition:border-color .2s}.filters select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-secondary{background-color:#e2e8f0;color:#4a5568}.btn-secondary:hover{background-color:#cbd5e0}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block;min-width:80px;text-align:center;transition:all .2s}.status-pendiente{background-color:#fef5e7;color:#d69e2e;border:1px solid #f6e05e}.status-en-triaje{background-color:#e6fffa;color:#319795;border:1px solid #81e6d9}.status-en-atencion{background-color:#ebf4ff;color:#3182ce;border:1px solid #90cdf4}.status-completada{background-color:#f0fff4;color:#38a169;border:1px solid #9ae6b4}.status-cancelada{background-color:#fed7d7;color:#e53e3e;border:1px solid #feb2b2}.loading-message,.error-message{text-align:center;padding:40px 20px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.loading-message p{color:#4a5568;font-size:16px;margin:0}.error-message p{color:#e53e3e;font-size:16px;margin-bottom:16px}.status-badge:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.solicitudes-atencion{animation:fadeIn .3s ease-out}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:space-between}.filters{flex-direction:column;align-items:flex-start;gap:8px}.status-badge{font-size:10px;padding:4px 8px;min-width:60px}}.status-badge:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.status-pendiente:before{background-color:#d69e2e}.status-en-triaje:before{background-color:#319795}.status-en-atencion:before{background-color:#3182ce}.status-completada:before{background-color:#38a169}.status-cancelada:before{background-color:#e53e3e}.listado-mascotas{padding:2rem;background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 10px #0000001a}.section-header .filters-row,.filters-row{display:flex;gap:1rem;flex-wrap:wrap}.filters-row input,.filters-row select{padding:.5rem;border:1px solid #ddd;border-radius:5px;font-size:14px;transition:border-color .2s ease}.filters-row input:focus,.filters-row select:focus{outline:none;border-color:#64b5f6;box-shadow:0 0 0 2px #64b5f633}.table-container{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-top:1rem}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#f8f9fa;padding:1rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:1rem;border-bottom:1px solid #eee;font-size:.9rem}.data-table tr:hover{background:#f8f9fa}.data-table tr:last-child td{border-bottom:none}.empty-message{text-align:center;color:#666;font-style:italic;padding:2rem}.action-buttons{display:flex;gap:.5rem}.action-btn{padding:.5rem .75rem;border:none;border-radius:3px;cursor:pointer;font-size:.9rem;transition:all .2s ease;min-width:35px;display:flex;align-items:center;justify-content:center}.action-btn.primary{background:#4caf50;color:#fff}.action-btn.primary:hover{background:#45a049}.action-btn.edit{background:#ff9800;color:#fff}.action-btn.edit:hover{background:#f57c00}.action-btn.view{background:#2196f3;color:#fff}.action-btn.view:hover{background:#1976d2}.action-btn.delete{background:#f44336;color:#fff}.action-btn.delete:hover{background:#d32f2f}.btn-primary{background-color:#4caf50;color:#fff;padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.btn-primary:hover{background-color:#4caf50}.filter-select{min-width:150px}.search-input{flex:1;min-width:150px}.historial-modal{background:#fff;padding:2rem;border-radius:10px;box-shadow:0 2px 10px #0000001a}.historial-modal .modal-header{display:flex;justify-content:space-between;align-items:center}.historial-modal .modal-header h2{margin:0;font-size:1.8rem;color:#333}.historial-modal .modal-body{margin-top:1rem;font-size:1rem;color:#666}.historial-modal .close-btn{background:#f43;color:#fff;padding:.5rem 1rem;border:none;border-radius:5px;cursor:pointer;font-size:.9rem}.historial-modal .close-btn:hover{background:#ff1a00}.dashboard-recepcionista{padding:2rem;background:linear-gradient(135deg,#fff,#fff);min-height:100vh}.dashboard-recepcionista .welcome-section{background:linear-gradient(135deg,#c3f2ff,#54b7d3);border-radius:20px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #0000001a;overflow:hidden;position:relative;transition:all .4s ease-out}.dashboard-recepcionista .welcome-section:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 80%);animation:float 6s ease-in-out infinite}.dashboard-recepcionista .welcome-section:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000026}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.dashboard-recepcionista .welcome-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;background:#e7faff}.dashboard-recepcionista .welcome-text{color:#fff;flex:1}.dashboard-recepcionista .welcome-title{font-size:2.5rem;font-weight:800;font-family:Lilita One,sans-serif;color:#65c4e0;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644;margin:0;letter-spacing:2px}.dashboard-recepcionista .user-name{font-family:Lilita One,sans-serif;font-size:2.2rem;margin:.5rem 0;color:#5ba8c0;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644;font-weight:250}.dashboard-recepcionista .role-description{font-weight:700;font-size:1.3rem;margin:0;opacity:.9;color:#3b3b3b}.dashboard-recepcionista .welcome-image{display:flex;align-items:center;gap:1rem;position:relative}.dashboard-recepcionista .pet-icon{width:170px;height:170px;animation:bounce 2s infinite}.dashboard-recepcionista .pet-icon{animation-delay:.5s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.dashboard-recepcionista .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-recepcionista .stat-card{background:#f2fcff;border-radius:15px;padding:1.5rem;box-shadow:0 8px 25px #0000001a;transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer}.dashboard-recepcionista .stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;transition:height .3s ease}.dashboard-recepcionista .stat-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #00000026}.dashboard-recepcionista .stat-card:hover:before{height:8px}.dashboard-recepcionista .stat-blue:before{background:linear-gradient(90deg,#54b7d3,#7fd1e7)}.dashboard-recepcionista .stat-green:before{background:linear-gradient(90deg,#499ac0,#4ca6be)}.dashboard-recepcionista .stat-purple:before{background:linear-gradient(90deg,#3b7ba0,#5293b9)}.dashboard-recepcionista .stat-orange:before{background:linear-gradient(90deg,#5abbe2,#4ba8cc)}.dashboard-recepcionista .stat-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative;z-index:1}.dashboard-recepcionista .two-columns{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.dashboard-recepcionista .left-column{display:flex;flex-direction:column;justify-content:center;flex:1}.dashboard-recepcionista .right-column{display:flex;align-items:center;justify-content:center}.dashboard-recepcionista .stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.dashboard-recepcionista .stat-title{font-size:1.5rem;font-weight:700;color:#364f53;margin:0;line-height:1.3;flex:1}.dashboard-recepcionista .stat-icon-container{flex-shrink:0;padding:.5rem;border-radius:10px;background:#d5f2ff;transition:all .3s ease}.dashboard-recepcionista .stat-card:hover .stat-icon-container{background:#7ec7e9;transform:scale(1.1)}.dashboard-recepcionista .stat-icon{width:150px;height:150px;object-fit:contain;opacity:.8;transition:all .3s ease}.dashboard-recepcionista .stat-card:hover .stat-icon{opacity:1;transform:rotate(5deg)}.dashboard-recepcionista .stat-value{font-family:Lilita One,sans-serif;font-size:6rem;margin:0;text-align:center;color:#62bbd6;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644;transition:all .3s ease}.dashboard-recepcionista .stat-card:hover .stat-value{transform:scale(1.05)}.dashboard-recepcionista .loading-indicator{font-size:.8rem;color:#666;text-align:center;margin-top:.5rem;font-style:italic;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dashboard-recepcionista .error-message{background:linear-gradient(135deg,#ffebee,#ffcdd2);border:1px solid #f44336;border-radius:10px;padding:1rem;margin-bottom:1.5rem;text-align:center;color:#c62828}.dashboard-recepcionista .error-message p{margin:0 0 .5rem;font-weight:500}.dashboard-recepcionista .retry-button{background:#f44336;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;transition:background .3s ease}.dashboard-recepcionista .retry-button:hover{background:#d32f2f}.dashboard-recepcionista .dashboard-footer{text-align:center;margin-top:2rem;padding:1rem;background:#95d9ec;border-radius:10px;color:#4b4b4b;font-size:1rem;font-weight:700}.dashboard-recepcionista .dashboard-footer p{margin:0}@media (max-width: 768px){.dashboard-recepcionista{padding:1rem}.dashboard-recepcionista .welcome-content{flex-direction:column;text-align:center;gap:1rem}.dashboard-recepcionista .welcome-title{font-size:2rem}.dashboard-recepcionista .user-name{font-size:1.5rem}.dashboard-recepcionista .stats-grid{grid-template-columns:1fr;gap:1rem}.dashboard-recepcionista .stat-value{font-size:2.5rem}.dashboard-recepcionista .welcome-image{justify-content:center}}@media (max-width: 480px){.dashboard-recepcionista .welcome-title{font-size:1.8rem}.dashboard-recepcionista .user-name{font-size:1.3rem}.dashboard-recepcionista .stat-card{padding:1rem}.dashboard-recepcionista .stat-value{font-size:2rem}.dashboard-recepcionista .vet-icon,.dashboard-recepcionista .pet-icon{width:60px;height:60px}}.clientes-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.clients-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.action-icon{width:20px;height:20px;transition:all .3s ease;filter:brightness(1)}.action-icon:hover{filter:brightness(1.2) scale(1.1);transform:scale(1.1)}.action-icon[alt=Editar]:hover{filter:brightness(1.2) hue-rotate(45deg)}.action-icon[alt=Ver]:hover{filter:brightness(1.3) contrast(1.1)}.action-icon[alt=Eliminar]:hover{filter:brightness(1.2) hue-rotate(320deg)}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#caf0d7;color:#16752c;border:1.2px solid #86bb92;font-weight:700}.status-inactive{background:#f8d7da;color:#a52e3a;border:1.2px solid #ce979d;font-weight:700}.cliente-view{max-height:70vh;overflow-y:auto}.cliente-form{max-height:70vh;overflow-y:auto}.mascotas-table{margin-top:15px;overflow-x:auto}.mascotas-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px #0000001a}.mascotas-table th{background:#68c1da;color:#fff;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.mascotas-table td{padding:12px 15px;border-bottom:1px solid #e9ecef;color:#2c3e50}.mascotas-table tbody tr:hover{background:#cae6f1}.mascotas-table tbody tr:last-child td{border-bottom:none}.btn-submit{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid transparent;border-color:#32859c;border-width:2px;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 6px #33c0ca4d}.btn-submit:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-1px);box-shadow:0 6px 12px #28a74566;border-color:#347a37;border-width:2px}@media (max-width: 768px){.clientes-management{padding:15px}.section-header{flex-direction:column;gap:15px;align-items:stretch}.section-header h2{text-align:center;font-size:1.5rem}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{flex-direction:column;gap:10px}.search-input,.filter-select{width:100%}.form-row{grid-template-columns:1fr;gap:15px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{width:100%;text-align:center}.info-grid{grid-template-columns:1fr;gap:10px}.clientes-management .data-table td:first-child{color:#fff;position:relative}.clientes-management .cell-mobile-title{flex:1;min-width:0}.clientes-management .card-hd-main{flex:1 1 0;text-align:left}.clientes-management .card-hd-side{flex:1 1 0;min-width:0;text-align:left}.clientes-management .data-table td:first-child:after{position:absolute;right:14px;top:50%;margin-left:0;transform:translateY(-50%)}.clientes-management .data-table tr.expanded td:first-child:after{transform:translateY(-50%) rotate(180deg)}.clients-table-section{padding:15px}}@media (max-width: 480px){.clients-table-section{padding:15px}.section-header h2{font-size:1.3rem}.table-header h3{font-size:1.1rem}.search-input,.filter-select{font-size:.8rem;padding:8px 12px}.btn-add{padding:10px 20px;font-size:.9rem}}.clients-table-section{animation:fadeIn .5s ease-out}.mascotas-table tbody tr{transition:background-color .2s ease}.cliente-view::-webkit-scrollbar,.cliente-form::-webkit-scrollbar{width:8px}.cliente-view::-webkit-scrollbar-track,.cliente-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cliente-view::-webkit-scrollbar-thumb,.cliente-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.cliente-view::-webkit-scrollbar-thumb:hover,.cliente-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.clientes-management table th{background:#68c1da!important;color:#fff!important;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.mascotas-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.mascotas-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.filter-select{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;background:#f8f9fa;cursor:pointer;transition:all .3s ease;min-width:140px}.mascota-view{max-height:70vh;overflow-y:auto}.form-section{margin-bottom:30px}.form-section h3{color:#008cb1;font-size:1.2rem;font-weight:700;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #72b9cc}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:25px}.info-grid div{padding:12px;background:#f8f9fa;border-radius:8px;border-left:4px solid #008CB1}.info-grid .full-width{grid-column:1 / -1}.info-grid strong{color:#233344;font-weight:600}.mascota-image-container{text-align:center;padding:20px;background:#f8f9fa;border-radius:8px;border:2px dashed #008CB1}.mascota-image{max-width:300px;max-height:300px;width:auto;height:auto;border-radius:8px;box-shadow:0 4px 8px #0000001a}.mascota-form{max-height:70vh;overflow-y:auto}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:#2c3e50;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem}.btn-cancel{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid transparent;border-color:#32859c;border-width:2px;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-cancel:hover{background:linear-gradient(135deg,#c05551,#a3423f);transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d;border-color:#833330;border-width:2px}.btn-cancel:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.btn-submit{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid transparent;border-color:#32859c;border-width:2px;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-submit:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-1px);box-shadow:0 4px 8px #4fb4544d;border-color:#347a37;border-width:2px}.btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.mascotas-table-section{animation:fadeIn .5s ease-out}.mascota-view::-webkit-scrollbar,.mascota-form::-webkit-scrollbar{width:8px}.mascota-view::-webkit-scrollbar-track,.mascota-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.mascota-view::-webkit-scrollbar-thumb,.mascota-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.mascota-view::-webkit-scrollbar-thumb:hover,.mascota-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.mascotas-management table th{background:#68c1da!important;color:#fff!important;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.section-header{flex-direction:column;gap:15px;text-align:center}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{justify-content:center}.search-input{width:100%;max-width:300px}.form-row{grid-template-columns:1fr;gap:15px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{width:100%}.info-grid{grid-template-columns:1fr}}.solicitudes-management{padding:20px 25px;background:linear-gradient(135deg,#e3f2fd,#f8f9fa);min-height:100vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px 0;border-bottom:3px solid #56b5ca}.section-header h2{color:#008cb1;font-size:1.8rem;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:1px}.btn-add{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 6px #33c0ca4d}.btn-add:hover:not(:disabled){background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-1px);box-shadow:0 6px 12px #28a74566;border-color:#347a37}.btn-add:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none;border-color:#999}.solicitudes-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 12px #0000001a;border:1px solid #e3f2fd}.table-header h3{color:#008cb1;font-size:1.4rem;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.8px}.filters-container{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.search-input{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:.9rem;width:250px;transition:all .3s ease;background:#f8f9fa}.filter-select{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:.9rem;background:#f8f9fa;cursor:pointer;transition:all .3s ease;min-width:150px}.btn-clear{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:10px 16px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.3px}.btn-clear:hover{background:linear-gradient(135deg,#c05551,#a3423f);border-color:#833330;transform:translateY(-1px)}.status-pendiente{background:#ffcfcd;color:#92231f;border:1.2px solid #c44b4b}.status-en-triaje{background:#d1ecf1;color:#0c5460;border:1.2px solid #72a4ac}.status-en-atencion{background:#fff3cd;color:#856404;border:1.2px solid #d6c385}.status-completada{background:#caf0d7;color:#16752c;border:1.2px solid #86bb92}.solicitud-form{display:flex;flex-direction:column;gap:20px;max-height:60vh;overflow-y:auto}.form-group{display:flex;flex-direction:column;gap:8px}.form-group input,.form-group select{padding:12px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.form-group input:disabled{background:#e9ecef;color:#6c757d;cursor:not-allowed}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid #44a5c0}.btn-cancel{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-cancel:hover:not(:disabled){background:linear-gradient(135deg,#c05551,#a3423f);transform:translateY(-1px);box-shadow:0 4px 8px #6c757d4d;border-color:#833330}.btn-cancel:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none;border-color:#999}.btn-submit{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 6px #33c0ca4d}.btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-1px);box-shadow:0 6px 12px #28a74566;border-color:#347a37}.btn-submit:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none;border-color:#999}.solicitudes-management table th{background:#68c1da!important;color:#fff!important;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.solicitudes-management table td{padding:12px 15px;border-bottom:1px solid #e9ecef;color:#2c3e50}.solicitudes-management table tbody tr:hover{background:#cae6f1}@media (max-width: 768px){.solicitudes-management{padding:15px}.section-header{flex-direction:column;gap:15px;align-items:stretch}.section-header h2{text-align:center;font-size:1.5rem}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{flex-direction:column;gap:10px}.search-input,.filter-select{width:100%}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{width:100%;text-align:center}}@media (max-width: 480px){.solicitudes-table-section{padding:15px}.section-header h2{font-size:1.3rem}.table-header h3{font-size:1.1rem}.search-input,.filter-select{font-size:.8rem;padding:8px 12px}.btn-add{padding:10px 20px;font-size:.9rem}}.solicitudes-table-section{animation:fadeIn .5s ease-out}.solicitudes-management table tbody tr{transition:background-color .2s ease}.form-group input:invalid:not(:placeholder-shown){border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.form-group select:invalid{border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.form-group select:valid:not([value=""]){border-color:#28a745}.solicitud-form::-webkit-scrollbar{width:8px}.solicitud-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.solicitud-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.solicitud-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.error-message{color:#e74c3c;font-size:.8rem;margin-top:5px;display:block;font-weight:500}.form-group input.error,.form-group select.error{border-color:#e74c3c!important;box-shadow:0 0 0 3px #e74c3c1a!important}.form-group input.error:focus,.form-group select.error:focus{border-color:#e74c3c!important;box-shadow:0 0 0 3px #e74c3c33!important}.citas-management{padding:20px;background-color:#f8f9fa;min-height:100vh}.btn-add{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid transparent;border-color:#32859c;border-width:2px;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #4181ac4d}.btn-add:hover{background:linear-gradient(135deg,#56b35b,#4caf50);transform:translateY(-2px);box-shadow:0 6px 12px #4fb45466;border-color:#347a37;border-width:2px}.btn-add:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.citas-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef;animation:fadeIn .5s ease-out}.search-input{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;background:#f8f9fa;transition:all .3s ease;width:250px}.search-input:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.filter-select{padding:10px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;background:#f8f9fa;transition:all .3s ease;min-width:150px}.filter-select:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.btn-clear-filters{background:#e74c3c;color:#fff;border:none;padding:10px 15px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-clear-filters:hover{background:#c0392b;transform:translateY(-1px)}.results-info{margin-bottom:15px;padding:10px 15px;background:#e8f4f8;border-radius:8px;border-left:4px solid #008CB1;animation:fadeIn .3s ease-out}.results-info p{margin:0;color:#2c3e50;font-weight:600;font-size:.9rem}.vet-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:.78rem;font-weight:600;letter-spacing:.3px;white-space:nowrap}.vet-badge--asignado{background:#e8f5e9;color:#2e7d32;border:1.2px solid #81c784}.vet-badge--sin-asignar{background:#f5f5f5;color:#757575;border:1.2px solid #bdbdbd;font-style:italic}.vet-info-msg{display:block;margin-top:6px;font-size:.8rem;color:#e67e22;font-weight:500}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block;text-align:center;min-width:80px}.status-programada{background:#d1ecf1;color:#0c5460;border:1.2px solid #72a4ac}.status-atendida{background:#caf0d7;color:#16752c;border:1.2px solid #86bb92}.status-cancelada{background:#ffcfcd;color:#92231f;border:1.2px solid #c44b4b}.loading{text-align:center;padding:40px;color:#7f8c8d;font-size:1.1rem;font-weight:500}.cita-form{max-height:70vh;overflow-y:auto}.form-section{margin-bottom:25px}.form-section h3{color:#2c3e50;font-size:1.1rem;font-weight:700;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #008CB1;text-transform:uppercase;letter-spacing:.5px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1 / -1}.form-group label{color:#2c3e50;font-weight:600;margin-bottom:8px;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.textarea-input{padding:12px 15px;border:2px solid #d3e8f5;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f8f9fa}.form-group input:focus,.form-group select:focus,.textarea-input:focus{outline:none;border-color:#3498db;background:#fff;box-shadow:0 0 0 3px #3498db1a}.form-group input:disabled,.form-group select:disabled{background:#e9ecef;cursor:not-allowed;color:#6c757d}.readonly-input{background:#e9ecef!important;cursor:not-allowed!important;color:#6c757d!important}.textarea-input{resize:vertical;min-height:80px;font-family:inherit}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:#2c3e50;text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;margin-top:10px}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#008CB1}.form-group input.error,.form-group select.error,.textarea-input.error{border-color:#e74c3c;background:#fdf2f2}.error-message{color:#e74c3c;font-size:.8rem;margin-top:5px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;border-top:2px solid #008CB1}.btn-cancel{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;border:none;padding:12px 25px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-cancel:hover{background:linear-gradient(135deg,#7f8c8d,#6c757d);transform:translateY(-2px);box-shadow:0 4px 8px #7f8c8d4d}.btn-submit{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:12px 25px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-submit:hover{background:linear-gradient(135deg,#229954,#1e7e4c);transform:translateY(-2px);box-shadow:0 4px 8px #27ae604d}.btn-submit:disabled,.btn-cancel:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.citas-table-section{animation:fadeIn .5s ease-out}.form-group label:after{content:""}.form-group label:has(+input[required]):after,.form-group label:has(+select[required]):after{content:" *";color:#e74c3c;font-weight:700}.form-group input:valid:not(:placeholder-shown){border-color:#28a745}.cita-form::-webkit-scrollbar{width:8px}.cita-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.cita-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.cita-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.citas-management table th{background:#68c1da!important;color:#fff!important;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.citas-management table td{padding:12px 15px;vertical-align:middle}.citas-management table tr:hover{background-color:#f8f9fa}@media (max-width: 768px){.section-header{flex-direction:column;gap:15px;text-align:center}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{justify-content:center;flex-direction:column;align-items:stretch}.search-input{width:100%;max-width:300px}.filter-select{width:100%;max-width:200px}.form-row{grid-template-columns:1fr;gap:15px}.form-actions{flex-direction:column;gap:10px}.btn-cancel,.btn-submit{width:100%}.citas-management{padding:10px}.citas-table-section{padding:15px}.section-header h2{font-size:1.8rem}}.veterinarios-view{padding:20px;background-color:#f8f9fa;min-height:100vh}.veterinarios-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.status-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block;min-width:80px;text-align:center}.status-libre{background:#caf0d7;color:#16752c;border:1.2px solid #86bb92;font-weight:700}.status-ocupado{background:#f8d7da;color:#a52e3a;border:1.2px solid #ce979d;font-weight:700}.status-fuera-turno{background:#f8eaba;color:#a88210;border:1.2px solid #c7b065;font-weight:700}.veterinarios-table-section{animation:fadeIn .5s ease-out}@media (max-width: 768px){.section-header{flex-direction:column;gap:15px;text-align:center}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{justify-content:center;flex-direction:column;align-items:stretch}.search-input{width:100%;max-width:none}.filter-select{width:100%;min-width:auto}.clear-filters-btn{width:100%}.veterinarios-view .data-table td:first-child{color:#fff}.veterinarios-view .cell-mobile-title{flex:1;min-width:0}.veterinarios-view .card-hd-main{flex:1 1 0;text-align:left}.veterinarios-view .card-hd-side{flex:1 1 0;min-width:0;text-align:left}.veterinarios-view .data-table td:first-child{position:relative}.veterinarios-view .data-table td:first-child:after{position:absolute;right:14px;top:50%;margin-left:0;transform:translateY(-50%)}.veterinarios-view .data-table tr.expanded td:first-child:after{transform:translateY(-50%) rotate(180deg)}.veterinarios-view .veterinarios-table-section{background:transparent;padding:0;border:none;box-shadow:none;border-radius:0}.veterinarios-view .table-container,.veterinarios-view .data-table{background:transparent}}.veterinarios-view table{width:100%;border-collapse:collapse}.veterinarios-view th{background:#68c1da;color:#fff;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.veterinarios-view td{padding:12px 15px;border-bottom:1px solid #e9ecef;color:#2c3e50;vertical-align:middle}.veterinarios-view tbody tr:hover{background:#cae6f1;transition:background-color .2s ease}.veterinarios-view tbody tr:last-child td{border-bottom:none}.veterinarios-view td:first-child{font-weight:600;color:#008cb1}.veterinarios-view td:nth-child(2){font-family:Courier New,monospace;font-weight:500}.veterinarios-view td:nth-child(3){font-family:Courier New,monospace;font-weight:500;color:#6c757d}.servicios-view{padding:20px;background-color:#f8f9fa;min-height:100vh}.servicios-table-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:15px}.table-header h3{color:#2c3e50;font-size:1.3rem;font-weight:750;margin:0;background:#008cb1;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.filters-container{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.search-container{display:flex;align-items:center;position:relative}.search-input{padding:10px 15px;border:2px solid #c1d7dd;border-radius:8px;font-size:.9rem;width:250px;transition:all .3s ease;background:#f8f9fa}.search-input:focus{outline:none;border-color:#008cb1;background:#fff;box-shadow:0 0 0 3px #3498db1a}.search-input::placeholder{color:#757f88}.search-btn{background:#47b3d1;color:#fff;border:none;padding:10px 12px;border-radius:8px;margin-left:8px;cursor:pointer;transition:all .3s ease;font-size:1rem}.search-btn:hover{background:#008cb1;transform:scale(1.05)}.filter-container{position:relative}.filter-select{padding:10px 15px;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;background:#f8f9fa;cursor:pointer;transition:all .3s ease;min-width:180px}.filter-select:focus{outline:none;border-color:#c1d7dd;background:#fff;box-shadow:0 0 0 3px #3498db1a}.clear-filters-btn{background:#c94944;color:#fff;border:2px solid transparent;border-color:#802421;border-width:2.5px;padding:10px 15px;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease;font-weight:500}.clear-filters-btn:hover{background:#b84336;transform:translateY(-1px)}.results-info{margin-bottom:15px;padding:10px 15px;background:#e8f4f8;border-radius:6px;border-left:4px solid #47b3d1}.results-info span{color:#2c3e50;font-size:.9rem;font-weight:500}.precio-container{display:flex;justify-content:center;align-items:center}.precio-badge{background:linear-gradient(135deg,#78d38f,#5cbb72);color:#fff;padding:8px 16px;border-radius:20px;font-size:.7rem;font-weight:700;text-align:center;box-shadow:0 2px 8px #28a7454d;border:2px solid #29ad55;min-width:70px;display:inline-block;transition:all .3s ease}.precio-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #28a74566}.loading-container{text-align:center;padding:50px;color:#6c757d;font-size:1.1rem}.search-icon{width:16px;height:16px;transition:all .3s ease}.search-btn:hover .search-icon{transform:scale(1.1);filter:brightness(1.2)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.servicios-table-section{animation:fadeIn .5s ease-out}.results-info{animation:fadeIn .3s ease-out}.search-input:not(:placeholder-shown){background:#fff;border-color:#3498db}.filter-select:not([value=todos]){background:#fff;border-color:#3498db}@media (max-width: 768px){.section-header{flex-direction:column;gap:15px;text-align:center}.table-header{flex-direction:column;align-items:stretch;gap:15px}.filters-container{justify-content:center;flex-direction:column;align-items:stretch}.search-input{width:100%;max-width:none}.filter-select{width:100%;min-width:auto}.clear-filters-btn{width:100%}.precio-badge{font-size:.8rem;padding:6px 12px;min-width:70px}}.servicios-view table{width:100%;border-collapse:collapse}.servicios-view th{background:#68c1da;color:#fff;padding:12px 15px;text-align:left;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.servicios-view td{padding:12px 15px;border-bottom:1px solid #e9ecef;color:#2c3e50;vertical-align:middle}.servicios-view tbody tr:hover{background:#cae6f1;transition:background-color .2s ease}.servicios-view tbody tr:last-child td{border-bottom:none}.servicios-view td:first-child{font-weight:600;color:#008cb1;text-align:center;width:60px}.servicios-view td:nth-child(2){font-weight:500;color:#2c3e50}.servicios-view td:nth-child(3){color:#6c757d;font-style:italic}.servicios-view td:nth-child(4){text-align:center;width:120px}.servicios-view th:first-child,.servicios-view th:nth-child(4){text-align:center}.reportes{padding:20px;background-color:#f8f9fa;min-height:100vh}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:0 10px}.section-header h2{font-family:Lilita One,sans-serif;color:#2aabcf;font-size:2.1rem;font-weight:600;margin:0;text-shadow:-1px -1px 0 #013644,1px -1px 0 #013644,-1px 1px 0 #013644,1px 1px 0 #013644}.btn-refresh{background:linear-gradient(135deg,#5ec1dd,#47b3d1);color:#fff;border:2px solid #32859c;padding:12px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 6px #4181ac4d}.btn-refresh:hover{background:linear-gradient(135deg,#4caf50,#45a049);transform:translateY(-2px);box-shadow:0 6px 12px #4fb45466;border-color:#347a37}.btn-refresh:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none;border-color:#999}.reportes-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:25px;margin-bottom:30px}.reportes-section{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef;transition:all .3s ease;animation:fadeIn .6s ease-out}.reportes-section:hover{transform:translateY(-2px);box-shadow:0 8px 15px #0000001a}.section-title{margin-bottom:20px;text-align:center}.section-title h3{color:#2c3e50;font-size:1.2rem;font-weight:700;margin:0 0 5px;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#008cb1,#2aabcf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{color:#7f8c8d;font-size:.85rem;font-style:italic;font-weight:500}.chart-container{height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:10px;border:2px solid #dee2e6}.bar-chart{display:flex;align-items:flex-end;justify-content:center;gap:15px;height:220px;width:100%;padding:0 10px}.bar-item{display:flex;flex-direction:column;align-items:center;height:100%;min-width:50px;max-width:80px;flex:1}.bar-info{display:flex;flex-direction:column;align-items:center;margin-bottom:5px;min-height:35px;justify-content:flex-end}.bar-value{font-size:.9rem;font-weight:700;color:#2c3e50;background:#fff;padding:2px 6px;border-radius:4px;box-shadow:0 2px 4px #0000001a;border:1px solid #dee2e6}.bar-percentage{font-size:.75rem;color:#7f8c8d;font-weight:600;margin-top:2px}.bar{width:100%;min-height:20px;border-radius:6px 6px 0 0;transition:all .3s ease;margin-bottom:8px;position:relative;box-shadow:0 2px 4px #0000001a}.bar:hover{opacity:.8;transform:scaleY(1.05);box-shadow:0 4px 8px #00000026}.bar-label{font-size:.8rem;color:#2c3e50;font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.3px;line-height:1.2;word-wrap:break-word;max-width:100%}.servicios-bar{background:linear-gradient(135deg,#2aabcf,#45c8ec);border-left:3px solid #229cbe}.sexo-chart .bar-item{min-width:80px;max-width:120px}.macho-bar{background:linear-gradient(135deg,#2aabcf,#1f95b6);border-left:3px solid #1987a5}.hembra-bar{background:linear-gradient(135deg,#f165a6,#e274a7);border-left:3px solid #e274a7}.genero-chart .bar-item{min-width:80px;max-width:120px}.femenino-bar{background:linear-gradient(135deg,#f165a6,#e274a7);border-left:3px solid #e274a7}.masculino-bar{background:linear-gradient(135deg,#2aabcf,#1f95b6);border-left:3px solid #1987a5}.razas-bar{background:linear-gradient(135deg,#fc934d,#f5a057);border-left:3px solid #bd6f26}.chart-summary{margin-top:15px;text-align:center;padding:10px;background:#96e2f7;border-radius:6px;border:2px solid #2eaacc}.chart-summary p{margin:0;color:#1c2936;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:#fff;border-radius:12px;box-shadow:0 4px 6px #00000012;margin:20px 0}.loading-spinner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-container p,.error-message p{color:#7f8c8d;font-size:1.1rem;font-weight:500;margin:0}.error-message{text-align:center}.retry-button{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:15px;text-transform:uppercase;letter-spacing:.5px}.retry-button:hover{background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.no-data{display:flex;align-items:center;justify-content:center;height:200px;color:#7f8c8d;font-style:italic;font-size:1rem;background:#f8f9fa;border-radius:8px;border:2px dashed #dee2e6}.reportes-footer{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding:20px;background:#b5e7f5;border-radius:12px;box-shadow:0 4px 6px #00000012;border:1px solid #e9ecef;flex-wrap:wrap;gap:15px}.update-info p,.system-info p{margin:0;color:#7f8c8d;font-size:.85rem;font-weight:500}.update-info p{color:#2c3e50}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reportes-section:nth-child(1){animation-delay:.1s}.reportes-section:nth-child(2){animation-delay:.2s}.reportes-section:nth-child(3){animation-delay:.3s}.reportes-section:nth-child(4){animation-delay:.4s}@media (max-width: 1200px){.reportes-content{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:20px}}@media (max-width: 768px){.reportes{padding:15px}.section-header{flex-direction:column;gap:15px;text-align:center}.section-header h2{font-size:1.8rem}.reportes-content{grid-template-columns:1fr;gap:20px}.reportes-section{padding:20px}.chart-container{height:280px;padding:10px}.bar-chart{gap:10px;height:200px}.bar-item{min-width:40px;max-width:60px}.bar-label{font-size:.7rem}.bar-value{font-size:.8rem;padding:1px 4px}.bar-percentage{font-size:.7rem}.reportes-footer{flex-direction:column;text-align:center;gap:10px}}@media (max-width: 480px){.reportes{padding:10px}.section-header h2{font-size:1.6rem}.btn-refresh{padding:10px 15px;font-size:.8rem}.reportes-section{padding:15px}.section-title h3{font-size:1rem}.section-subtitle{font-size:.8rem}.chart-container{height:250px;padding:8px}.bar-chart{gap:8px;height:180px}.bar-item{min-width:35px;max-width:50px}.bar-label{font-size:.65rem;line-height:1.1}.bar-value{font-size:.75rem;padding:1px 3px}.bar-percentage{font-size:.65rem}.chart-summary p{font-size:.8rem}.loading-container,.error-container{padding:40px 15px}.loading-spinner{width:40px;height:40px;border-width:3px}}.bar-item:hover .bar-label{color:#2980b9;font-weight:700}.bar-item:hover .bar-value{background:#2980b9;color:#fff;transform:scale(1.05)}.bar[title]:hover:after{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:5px 8px;border-radius:4px;font-size:.7rem;white-space:nowrap;z-index:1000;pointer-events:none}.bar{animation:barGrow .8s ease-out;animation-fill-mode:both}@keyframes barGrow{0%{height:0!important;opacity:0}50%{opacity:.5}to{opacity:1}}.bar-item:nth-child(1) .bar{animation-delay:.1s}.bar-item:nth-child(2) .bar{animation-delay:.2s}.bar-item:nth-child(3) .bar{animation-delay:.3s}.bar-item:nth-child(4) .bar{animation-delay:.4s}.bar-item:nth-child(5) .bar{animation-delay:.5s}.bar-item:nth-child(6) .bar{animation-delay:.6s}.reportes::-webkit-scrollbar{width:8px}.reportes::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.reportes::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.reportes::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.btn-refresh:active{transform:translateY(0);box-shadow:0 2px 4px #4181ac4d}.retry-button:active{transform:translateY(0);box-shadow:0 2px 4px #e74c3c4d}.bar:focus{outline:2px solid #3498db;outline-offset:2px}.btn-refresh:focus,.retry-button:focus{outline:2px solid #ffffff;outline-offset:2px}@media (prefers-contrast: high){.bar{border:2px solid #000}.section-title h3{color:#000;text-shadow:none}.bar-label,.bar-value{color:#000;font-weight:700}}
