*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Arial,sans-serif;background:#f4f6f8;color:#222}.pantalla-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1565c0,#0d47a1);padding:20px}.tarjeta-login{background:#fff;border-radius:14px;padding:32px 28px;width:100%;max-width:380px;box-shadow:0 8px 30px #0000004d}.tarjeta-login h1{font-size:22px;margin-bottom:6px;color:#0d47a1}.tarjeta-login p{color:#777;font-size:13px;margin-bottom:20px}.tarjeta-login input,.tarjeta-login select{width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:8px;font-size:15px;margin-bottom:12px}.tarjeta-login button{width:100%;padding:13px;border:none;border-radius:8px;background:#1565c0;color:#fff;font-weight:700;font-size:15px;cursor:pointer}.tarjeta-login button:disabled{opacity:.6}.link-cambiar{text-align:center;margin-top:14px;font-size:13px;color:#1565c0;cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.barra-superior{background:#1565c0;color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.barra-superior h2{font-size:17px}.barra-superior button{background:#ffffff26;border:none;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer}.contenido{flex:1;padding:16px;max-width:900px;margin:0 auto;width:100%}.nav-tabs{display:flex;gap:6px;background:#fff;padding:8px;border-bottom:1px solid #ddd;overflow-x:auto}.nav-tabs button{border:none;background:#f0f2f5;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;color:#555}.nav-tabs button.activo{background:#1565c0;color:#fff}.tarjeta{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000012;margin-bottom:14px;overflow:hidden}.tarjeta-header{background:#1565c0;color:#fff;padding:12px 16px;font-weight:700;font-size:14px}.tarjeta-body{padding:16px}.grid-perros{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.perro-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer}.perro-card img{width:100%;height:130px;object-fit:cover;background:#e0e0e0}.perro-card .info{padding:10px}.perro-card .nombre{font-weight:700;font-size:14px}.perro-card .direccion{font-size:11px;color:#888;margin-top:2px}.badge-estatus{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;margin-top:6px}.badge-docil{background:#e8f5e9;color:#2e7d32}.badge-bravo{background:#fff3e0;color:#e65100}.badge-peligroso{background:#ffebee;color:#c62828}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:12px;font-weight:700;color:#555;margin-bottom:5px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px}.form-group textarea{resize:vertical;min-height:70px}.btn{padding:10px 20px;border:none;border-radius:7px;font-weight:700;font-size:13px;cursor:pointer}.btn-primary{background:#1565c0;color:#fff}.btn-success{background:#2e7d32;color:#fff}.btn-danger{background:#c62828;color:#fff}.btn-dark{background:#37474f;color:#fff}.btn:disabled{opacity:.6}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{background:#1565c0;color:#fff;padding:8px 10px;text-align:left;font-size:11px;text-transform:uppercase}.data-table td{padding:8px 10px;border-bottom:1px solid #eee}.foto-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.foto-preview img{width:70px;height:70px;object-fit:cover;border-radius:6px}.fab{position:fixed;bottom:20px;right:20px;background:#1565c0;color:#fff;border:none;border-radius:50px;padding:14px 22px;font-weight:700;box-shadow:0 4px 12px #0000004d;cursor:pointer;z-index:200}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:500;padding:16px}.modal-box{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}
